|
Генератор прямоугольных импульсов, На каком контроллере лучше собрать под 24 Mhz |
|
|
|
Oct 12 2010, 20:49
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 3-03-09
Пользователь №: 45 596

|
Подскажите, пожалуйста,
на каком микроконтроллере проще всего собрать генератор прямоугольных импульсов, чтобы иметь возможность генерировать частоты
30 / 24 / 18 / 12 мегагерц.
Нужно для замены обычному генератору, для запуска микроконтроллеров.
|
|
|
|
|
Oct 12 2010, 21:43
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 3-03-09
Пользователь №: 45 596

|
Цитата(rezident @ Oct 13 2010, 00:13)  Гораздо проще поставить несколько кварцевых генераторов на требуемые частоты. Согласен, сейчас стоит как раз генератор на кварце, но хочется иметь возможность переключать частоты программно из софта для разных режимов. В связим с чем и вопрос
|
|
|
|
|
Oct 13 2010, 04:13
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
Цитата(MCZ @ Oct 13 2010, 00:49)  Подскажите, пожалуйста,
на каком микроконтроллере проще всего собрать генератор прямоугольных импульсов, чтобы иметь возможность генерировать частоты
30 / 24 / 18 / 12 мегагерц.
Нужно для замены обычному генератору, для запуска микроконтроллеров. На контроллере, у которого тактовая как минимум в два раза больше вашей верхней частоты. И для генерации использовать либо сигнал SCK шины SPI, либо выход совпадения таймера, работающего в режиме переключения вывода при совпадении. Например вам должен подойти LPC13xx.
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
Oct 13 2010, 09:05
|

Гуру
     
Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287

|
Цитата(dimka76 @ Oct 13 2010, 06:13)  На контроллере, у которого тактовая как минимум в два раза больше вашей верхней частоты. И для генерации использовать либо сигнал SCK шины SPI, либо выход совпадения таймера, работающего в режиме переключения вывода при совпадении. Например вам должен подойти LPC13xx. Я не в курсе, а сколько тактовых периодов у них длится машинный цикл, один? Всё равно ведь целочисленного деления не получится. Выйдет не тактовая, а пародия. На контроллере делать такой генератор расточительно, имхо. Можно нагородить PLL с делителями, переключаемыми программно, но выйдет тоже громоздко и недёшево.... Логичнее, как советовал rezident, переключаемые генераторы применить. Или искать высокочастотную логику.
|
|
|
|
|
Oct 13 2010, 11:13
|

Практикующий маг
     
Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576

|
Цитата(MCZ @ Oct 13 2010, 00:49)  Подскажите, пожалуйста,
на каком микроконтроллере проще всего собрать генератор прямоугольных импульсов, чтобы иметь возможность генерировать частоты
30 / 24 / 18 / 12 мегагерц.
Нужно для замены обычному генератору, для запуска микроконтроллеров. У AT91SAM7SExx (возможно есть и у других, не проверял) есть выходы "PCK", на них можно вывести частоту PLL генератора (после PLL имеется также делитель от 1 до 64 по степени двойки). PLL работает в диапазоне от 80 до 220МГц с возможностью установки дробного коэффициента. Так что можно получить все нужные частоты с одним кварцевым резонатором. И можно одновременно выводить сразу 3 тактовых сигнала, только отличаться они должны степенью 2ки.
|
|
|
|
|
Oct 13 2010, 12:45
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
Цитата(Herz @ Oct 13 2010, 13:05)  Я не в курсе, а сколько тактовых периодов у них длится машинный цикл, один? Делается все аппаратно. Цитата Всё равно ведь целочисленного деления не получится. Пример для LPC13xx. У него имеется внутренняя PLL, диапазон входных частот 10-25МГц. И максимальная частота ядра LPC13xx - 72 МГц. 24 / 18 / 12 мегагерц кратны 72 МГц 30 мегагерц кратно 60 МГц для 60 и 72 МГц будет кратный кварц 12 МГц. У LPC13xx имеется выходы Код Up to three (CT16B0) or two (CT16B1) external outputs corresponding to match registers with the following capabilitie: – Set LOW on match. – Set HIGH on match. – Toggle on match. – Do nothing on match. Так вот настраивает выходы совпадения таймера на переключение при совпадении и получаем необходимые значения выходной частоты, меняя содержимое регистра совпадения. Для переключения частоты ядра между 60 и 72 МГц меняем настройку PLL. Цитата На контроллере делать такой генератор расточительно, имхо. Стоимость такого решения не больше 2$.
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
Oct 13 2010, 14:14
|

Гуру
     
Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287

|
Цитата(dimka76 @ Oct 13 2010, 14:45)  Так вот настраивает выходы совпадения таймера на переключение при совпадении и получаем необходимые значения выходной частоты, меняя содержимое регистра совпадения.
Для переключения частоты ядра между 60 и 72 МГц меняем настройку PLL.
Стоимость такого решения не больше 2$. Что ж, красиво. А он умеет менять настройку PLL изнутри? Цитата(yakub_EZ @ Oct 13 2010, 15:11)  "БМГ плюс" торгуют программируемыми генераторами американской фирмы Cardinal Components. Есть одна модель с тремя частотами ГК-156П - http://www.bmgplus.ru/images/pdf/pdf156.pdf . Заказать на частоты 30 24 18 мегагерц и приделать к нему управляемый делитель на два, получим дополнительные 15 12 9 МГц. Так не получается. Внутренний делитель делит либо на 1, либо на 2, либо на 4.
|
|
|
|
|
Oct 13 2010, 15:39
|
Участник
  
Группа: Свой
Сообщений: 462
Регистрация: 2-04-07
Из: Иркутск
Пользователь №: 26 695

|
Можно не делить, а умножать. 12, 18, 24, 30 это 6*(2, 3, 4, 5). Если взять контроллер с PLL, работающей от 6 МГц, и имеющей выход тактовой частоты, то остаётся только менять множитель 2, 3, 4, 5.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|