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

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

|
Подскажите, пожалуйста,
на каком микроконтроллере проще всего собрать генератор прямоугольных импульсов, чтобы иметь возможность генерировать частоты
30 / 24 / 18 / 12 мегагерц.
Нужно для замены обычному генератору, для запуска микроконтроллеров.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 19)
|
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.
|
|
|
|
|
Oct 13 2010, 19:26
|
     
Группа: Участник
Сообщений: 3 650
Регистрация: 1-02-09
Из: Киев
Пользователь №: 44 237

|
Цитата(ae_ @ Oct 13 2010, 18:39)  Можно не делить, а умножать. 12, 18, 24, 30 это 6*(2, 3, 4, 5). Если взять контроллер с PLL, работающей от 6 МГц, и имеющей выход тактовой частоты, то остаётся только менять множитель 2, 3, 4, 5. А, кстати вспомнились ICS501, ICS502, ICS512 и их клоны, уже наверное в качестве прикола (из-за цены). Если взять кварц на 12МГц, http://search.digikey.com/scripts/DkSearch...=NB3N502DGOS-ND или http://search.digikey.com/scripts/DkSearch...e=800-1035-5-ND , потом поставить одногейтовый триггер, чтобы поделить на 2 (все из-за того, что минимальные частоты у этих чипов по выходу 13-14МГц) - все бы могло работать. Да и для реализации управления от м/к (точнее ДСП) приходилось брать одногейтовые 4053, чтобы получить состояния 0,1,М. С джамперами все просто.
Сообщение отредактировал ledum - Oct 13 2010, 19:43
|
|
|
|
|
Oct 18 2010, 11:24
|
Участник

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

|
УФ! Сколько вариантов, спасибо. Вдогонку еще вопрос, а если надо сделать генерацию вида: ___________| |________| |_| |_| |________| |________, т.е. программно задать форму и длительность ? Наверно только синтезатором получится? Ибо девайсы, которые так умеют стоят более 1.5 К евров... Судя по даташиту: http://gravitech.us/MicroResearch/I2C/I2C-OSC/LTC6904.pdfБыстрое переключение частот можно реализовать, чтобы менять режим работы на лету. Вот непнятно только, сколько всего длится переключение частоты. Цитата(rezident @ Oct 13 2010, 01:05)  Дык, а м/с (де)мультиплексора aka clock distributer применить нельзя что ли? Какие у вас имеются требования к джиттеру и "плавности" переключения? Джиттер особо не важен, а вот плавность, хочу переключаться за время не более 50 наносекунд. Может не мучаться, а попробовать взять вот это: http://www.spincore.com/products/PulseBlas...erDDS-100.shtml
Сообщение отредактировал MCZ - Oct 18 2010, 11:24
|
|
|
|
|
Oct 18 2010, 12:32
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(MCZ @ Oct 18 2010, 10:24)  Вдогонку еще вопрос, а если надо сделать генерацию вида: ___________| |________| |_| |_| |________| |________, т.е. программно задать форму и длительность ?
Джиттер особо не важен, а вот плавность, хочу переключаться за время не более 50 наносекунд.
Может не мучаться, а попробовать взять PulseBlasterDDS-100 Аппарат слишком наворочен для вас. Попробуйте взять микросхему DDS от аналоговых девиц и сделать собственный генератор. Возможно, для вас это будет проще и много дешевле. Единственное НО - нужен быстрый компаратор, работающий до 30 МГц. Зато можно установить любую частоту с точностью в доли герц и время переключения - практически мгновенно.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|