|
Поделить частоту на 2.5 |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 27)
|
Dec 5 2009, 08:44
|
Местный
  
Группа: Свой
Сообщений: 352
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769

|
Цитата(Vishv @ Dec 4 2009, 22:11)  Предупреждаю сразу - о точности фазовых соотношений с исходным клоком можно забыть. Логика 1554 должна потянуть. Насколько я понял - эта точность не хуже пол-периода исходного сигнала? Но тогда для полученного это будет уже 1/5 периода, что не так уж плохо. Для тактирования AVR думаю сойдет.
|
|
|
|
|
Dec 7 2009, 02:02
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(paskal @ Dec 5 2009, 04:57)  Нужно цифровой клок около 30 МГц поделить на 2.5 (из 30 должно получится 12 МГц). Умножить частоту на 2 и поделить на 5. Или умножить на 4 и поделить на 10. И т.д. Цитата(paskal @ Dec 5 2009, 04:57)  Желательно сделать на стандартной логике 1554, хотя в крайнем случае можно на ПЛИС. Помогите придумать схему попроще, чтоб микросхем не слишком много получалось. Ищите специализированные чипы у National Semiconductors, Analog devices, Texas Instruments, Cypress, и т.д. Таких чипов много, поэтому придется потратить время, чтобы выбрать наиболее подходящий под вашу задачу.
|
|
|
|
|
Dec 7 2009, 02:56
|

Знающий
   
Группа: Свой
Сообщений: 792
Регистрация: 9-08-05
Из: Транай
Пользователь №: 7 474

|
Цитата(paskal @ Dec 4 2009, 21:27)  Нужно цифровой клок около 30 МГц поделить на 2.5 (из 30 должно получится 12 МГц). Если мне память не изменяет, такая схема была в книжке "Handbuch TTL und СMOS " Eberhard Kuehn - но сейчас у меня её нету и в сети тоже не видно, помню, что там два тригера и логика.
Причина редактирования: Нарушение п.3.4 Правил форума.
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 7 2009, 11:50
|

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

|
Цитата(MrYuran @ Dec 7 2009, 14:12)  А можно ничего не умножать, а просто учесть, что передний фронт новой частоты ставится по переднему входной, а задний - по заднему. Это если симметричный меандр нужен. А если не обязательно - тогда ещё проще. Положительный импульс - 2 такта, нулевой - три. Так вы поделите на 5, а надо на 2.5. Если подкорректировать вашу идею, то надо так: положительный импульс - 2 фронта, нулевой - три.
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
Dec 7 2009, 18:08
|
Местный
  
Группа: Свой
Сообщений: 352
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769

|
Цитата(sazh @ Dec 7 2009, 14:41)  Прикрепленный файл UnusualClockDeviders.zip ( 31.78 килобайт ) Вот это самый подходящий вариант, а то умножать до 60 МГц, да еще короткими пичками выглядит слишком жестоко. Я и сам уже начал изобретать нечто подобное, но у меня слишком сложно получилось. Цитата(MrYuran @ Dec 7 2009, 15:07)  Сорри, я на приложенную картинку посмотрел. А ведь там действительно на 5 делится! Да, тут я неправ, на картинке деление на 5 нарисовал по ошибке.
|
|
|
|
|
Dec 12 2009, 12:30
|
Частый гость
 
Группа: Свой
Сообщений: 170
Регистрация: 12-02-08
Из: г.Минск (РБ)
Пользователь №: 34 969

|
В любом случае фронт дрожать будет, с точностью до ассиметрии входного меандра, и разброса задержек элементов. В 74 серии для этой цели микросхема есть, пролистайте датабуку на 74HC/HCT4046A (SN74LV4046 пошустрее, но texas поленился схему включения нарисовать). Пару резисторов и конденсаторов навесить, и счётчики добавить.
Если можно плис использовать и выходная ассиметрия допустима, кроме FPGA со встроенными синтезаторами есть Xilinx CoolRunner CPLD, малюпусенькие с DDR триггерами, остается делитель на 5 собрать, типа закольцованного сдвигового регистра 5 битного с 2 установленными битами например.
|
|
|
|
|
Dec 12 2009, 17:10
|
Местный
  
Группа: Свой
Сообщений: 352
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769

|
Этот клок мне нужен для тактирования ATMEGA. Думаю дрожание фронта на несколько наносекунд не должно мешать. Полуинтуитивно накатал одну схему. Входная частота подается на clk, выходная деленная на 2.5 снимается с out. Выходит 2 корпуса + инвертор:  Но при моделровании в максплюсе наблюдаются иголки 5 нс. А если я ее делаю на рассыпной логике, иголок не будет?
|
|
|
|
|
Dec 12 2009, 17:50
|
Местный
  
Группа: Участник
Сообщений: 310
Регистрация: 11-07-09
Из: Екатеринбург
Пользователь №: 51 154

|
Если сделаете на "рассыпухе" может быть и не будет (особенно если плату сделаете откровенно плохо!). Если позволите  замечание "старого ворчуна" - приложенная схема абсолютно "нечитабельная" - соответственно при запуске в производство (я конечно догадываюсь, что это Вы делаете для себя, однако к четкости документации лучше привыкать "с младых ногтей") получите массу лестных замечаний.....увы!
|
|
|
|
|
Dec 12 2009, 20:16
|
Местный
  
Группа: Свой
Сообщений: 352
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769

|
Цитата(Herz @ Dec 12 2009, 20:37)  Будут. Скажите уже правду  - зачем всё это нужно? Зачем МК именно эта определённая частота тактирования и почему её нужно получать непременно из 30МГц? Если уж говорить правду, то не 30 МГц, а 29.97  Я делаю пульт для проверки электронной схемы лазерного дальномера. У пульта 2 основных функции: выдача тестовых импульсов с заданным временным интервалом, и обмен по UARTу на скорости 115.200. В пульте есть готовый генератор 29.97 МГц. Хочу обойтись только контроллером (авр), без ПЛИС. Так вот. Если затактовать авр частотой 29.97/2.5, он сможет выдавать импульсы с таким временным интервалом, что будут кратны 25 метрам. Что касается УАРТа, то если эту же частоту делить на 8 (это аппаратный делитель), потом программным делителем на 13, то получится с огромной точностью 115.2. Таким образом я обойдусь только контроллером и некоторой обвязкой из логики. А теперь вы скажите правду. Про иголки вы говорите исходя из опыта, или только из учебника? Вопрос этот не праздный, потому что я было дело пытался получить короткие пички задерживая фронты вентилями и сталкивая затем через 2И-НЕ. Если по учебнику, так можно подать на один вход фронт без задержки, на другой через инвертор. Инвертор чуть задержит фронт, на выходе 2И-НЕ будет короткий всплеск. А делал я это на логике 74АС. Так фиг вам. Даже 3 инвертора на задержку не дают импульса, хотя на осциллографе видно что задержка имеется. Учебник что вы показали старый. ТТЛ там понимается 155, 555 серии, а КМОП - 176, в лучшем случае 561. А современная скоростная логика возможно и по другому себя поведет. Цитата(Vishv @ Dec 12 2009, 20:50)  Если позволите  замечание "старого ворчуна" - приложенная схема абсолютно "нечитабельная" - соответственно при запуске в производство (я конечно догадываюсь, что это Вы делаете для себя, однако к четкости документации лучше привыкать "с младых ногтей") получите массу лестных замечаний.....увы! Схема как раз идет в производство  А то что она так выглядит - это потому что рисовал в максплюсе для логического моделирования. А "боевой" вариант я рисую на работе уже в соответствии с гостами.
|
|
|
|
|
Dec 12 2009, 21:01
|

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

|
Цитата(paskal @ Dec 12 2009, 22:16)  Так вот. Если затактовать авр частотой 29.97/2.5, он сможет выдавать импульсы с таким временным интервалом, что будут кратны 25 метрам. Что касается УАРТа, то если эту же частоту делить на 8 (это аппаратный делитель), потом программным делителем на 13, то получится с огромной точностью 115.2. Таким образом я обойдусь только контроллером и некоторой обвязкой из логики. Понятно. Только у меня серьёзное подозрение, что требуемый временной интервал Вы сможете сформировать контроллером и при другой тактовой. Например, половинной от 29.97  Геморрою же будет не в пример меньше. Об УАРТе я уж и не говорю... Цитата А теперь вы скажите правду. Про иголки вы говорите исходя из опыта, или только из учебника? Смею Вас заверить - и не только из своего.  Если в схемке есть неопределённость относительно того, какой из фронтов появится раньше - гарантия. Это коварная вещь: их можно не видеть осциллографом, они могут даже проявляться не всегда, так что головная боль обеспечена.
Сообщение отредактировал Herz - Dec 12 2009, 21:04
|
|
|
|
|
Dec 13 2009, 11:51
|
Местный
  
Группа: Свой
Сообщений: 352
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769

|
Цитата(Herz @ Dec 13 2009, 00:01)  Понятно. Только у меня серьёзное подозрение, что требуемый временной интервал Вы сможете сформировать контроллером и при другой тактовой. Например, половинной от 29.97  Геморрою же будет не в пример меньше. Об УАРТе я уж и не говорю... А как с УАРТом тогда быть? В АВР частота УАРТа получается из 1/8 тактовой поделенной на UBRRn регистр. 15 МГц/8=1,875. Из этой частоты 115 200 что то не получается. Цитата(Herz @ Dec 13 2009, 00:01)  Это коварная вещь: их можно не видеть осциллографом, они могут даже проявляться не всегда, так что головная боль обеспечена. Но раз они такие маленькие, может пропустить их через какой нибудь медленный вентиль, 74HC, например и дальше они не пройдут?
|
|
|
|
|
Dec 13 2009, 19:37
|

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

|
Цитата(paskal @ Dec 13 2009, 13:51)  А как с УАРТом тогда быть? В АВР частота УАРТа получается из 1/8 тактовой поделенной на UBRRn регистр. 15 МГц/8=1,875. Из этой частоты 115 200 что то не получается. Получится. Я не очень-то знаком с АВР-ками, но принцип общий. Дело в том, что УАРТ допускает отклонение тактовой частоты в несколько процентов, главное, чтобы набег таймингов не был слишком большим при передаче длинных сообщений. В общем случае, по стартовым битам идёт новая синхронизация и при передаче байта расхождения получаются незаметными. Почитайте в доке требования к тактированию УАРТа. Практически при любой тактовой частоте МК есть возможность подобрать значения внутренних регистров, ответственных за УАРТ, для стабильного обмена. На больших скоростях, само собой, будут жёстче требования, но, может, высокая скорость УАРТа не так уж важна? Цитата Но раз они такие маленькие, может пропустить их через какой нибудь медленный вентиль, 74HC, например и дальше они не пройдут? Можно, конечно, и фильтрами их задавить, но это борьба со следствиями, а не с причинами. Крайний случай, одним словом.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|