Перейти к содержанию
    

Генератор прямоугольных импульсов

Подскажите, пожалуйста,

 

на каком микроконтроллере проще всего собрать генератор прямоугольных импульсов, чтобы

иметь возможность генерировать частоты

 

30 / 24 / 18 / 12 мегагерц.

 

Нужно для замены обычному генератору, для запуска микроконтроллеров.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гораздо проще поставить несколько кварцевых генераторов на требуемые частоты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гораздо проще поставить несколько кварцевых генераторов на требуемые частоты.

Согласен, сейчас стоит как раз генератор на кварце, но хочется иметь возможность переключать частоты программно из софта для разных режимов. В связим с чем и вопрос :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хочется иметь возможность переключать частоты программно из софта для разных режимов.
Дык, а м/с (де)мультиплексора aka clock distributer применить нельзя что ли? Какие у вас имеются требования к джиттеру и "плавности" переключения?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, пожалуйста,

 

на каком микроконтроллере проще всего собрать генератор прямоугольных импульсов, чтобы

иметь возможность генерировать частоты

 

30 / 24 / 18 / 12 мегагерц.

 

Нужно для замены обычному генератору, для запуска микроконтроллеров.

 

На контроллере, у которого тактовая как минимум в два раза больше вашей верхней частоты. И для генерации использовать либо сигнал SCK шины SPI, либо выход совпадения таймера, работающего в режиме переключения вывода при совпадении.

Например вам должен подойти LPC13xx.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На контроллере, у которого тактовая как минимум в два раза больше вашей верхней частоты. И для генерации использовать либо сигнал SCK шины SPI, либо выход совпадения таймера, работающего в режиме переключения вывода при совпадении.

Например вам должен подойти LPC13xx.

Я не в курсе, а сколько тактовых периодов у них длится машинный цикл, один? Всё равно ведь целочисленного деления не получится. Выйдет не тактовая, а пародия. На контроллере делать такой генератор расточительно, имхо. Можно нагородить PLL с делителями, переключаемыми программно, но выйдет тоже громоздко и недёшево.... Логичнее, как советовал rezident, переключаемые генераторы применить. Или искать высокочастотную логику.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или искать высокочастотную логику.

Да-а очень высокочастотную. 360 вроде наименьшее общее кратное. Лучше ИМХО все-таки оставить несколько генераторов.

Или Хотя бы генераторы на 30 и 72МГц(где ж такой найти?)

 

Изменено пользователем ledum

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, пожалуйста,

 

на каком микроконтроллере проще всего собрать генератор прямоугольных импульсов, чтобы

иметь возможность генерировать частоты

 

30 / 24 / 18 / 12 мегагерц.

 

Нужно для замены обычному генератору, для запуска микроконтроллеров.

У AT91SAM7SExx (возможно есть и у других, не проверял) есть выходы "PCK", на них можно вывести частоту PLL генератора (после PLL имеется также делитель от 1 до 64 по степени двойки).

PLL работает в диапазоне от 80 до 220МГц с возможностью установки дробного коэффициента.

Так что можно получить все нужные частоты с одним кварцевым резонатором. И можно одновременно выводить сразу 3 тактовых сигнала, только отличаться они должны степенью 2ки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не в курсе, а сколько тактовых периодов у них длится машинный цикл, один?

Делается все аппаратно.

Всё равно ведь целочисленного деления не получится.

 

Пример для 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$.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стоимость такого решения не больше 2$.

Можно синтезатор частоты приспособить, однако стоить будет чуть больше 2$ и контроллер всё равно понадобится (зато любой подойдёт)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"БМГ плюс" торгуют программируемыми генераторами американской фирмы Cardinal Components. Есть одна модель с тремя частотами ГК-156П - http://www.bmgplus.ru/images/pdf/pdf156.pdf . Заказать на частоты 30 24 18 мегагерц и приделать к нему управляемый делитель на два, получим дополнительные 15 12 9 МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так вот настраивает выходы совпадения таймера на переключение при совпадении и получаем необходимые значения выходной частоты, меняя содержимое регистра совпадения.

 

Для переключения частоты ядра между 60 и 72 МГц меняем настройку PLL.

 

Стоимость такого решения не больше 2$.

Что ж, красиво. А он умеет менять настройку PLL изнутри?

 

"БМГ плюс" торгуют программируемыми генераторами американской фирмы Cardinal Components. Есть одна модель с тремя частотами ГК-156П - http://www.bmgplus.ru/images/pdf/pdf156.pdf . Заказать на частоты 30 24 18 мегагерц и приделать к нему управляемый делитель на два, получим дополнительные 15 12 9 МГц.

Так не получается. Внутренний делитель делит либо на 1, либо на 2, либо на 4.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно не делить, а умножать. 12, 18, 24, 30 это 6*(2, 3, 4, 5).

Если взять контроллер с PLL, работающей от 6 МГц, и имеющей выход тактовой частоты, то остаётся только менять множитель 2, 3, 4, 5.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так не получается. Внутренний делитель делит либо на 1, либо на 2, либо на 4.

Точно, проглядел. А этот вроде подходит http://www.cardinalxtal.com/docs/series/CCE4C.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...