|
|
  |
Cyclone и тактирование внешних устройств, Как лучше "вытащить" наружу? |
|
|
|
Apr 9 2007, 22:46
|
Местный
  
Группа: Свой
Сообщений: 368
Регистрация: 16-11-06
Из: Тверь
Пользователь №: 22 379

|
Стандартная задача - тактировать внешнее устройство (ЦАП, например). Выводим наружу данные, выводим тактовую частоту. Если делать совсем хорошо, то надо прицепить тактовый вход ЦАП к специальному выходу от PLL, но обычно это очень неудобно реализовать на плате. Поэтому задача усложняется - выход самый обычный. Квартус ругается - джиттер, однако... Все вроде понятно. Но выходы можно здорово настраивать. Для выходных данных можно использовать Fast OutPut Rtgister. А для клокового выхода может тоже есть чего?  Может кто эту задачу уже решал?
|
|
|
|
|
Apr 10 2007, 15:15
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(Andr2I @ Apr 9 2007, 23:46)  Стандартная задача - тактировать внешнее устройство (ЦАП, например). Выводим наружу данные, выводим тактовую частоту. Если делать совсем хорошо, то надо прицепить тактовый вход ЦАП к специальному выходу от PLL, но обычно это очень неудобно реализовать на плате. Поэтому задача усложняется - выход самый обычный. Квартус ругается - джиттер, однако... Все вроде понятно. Но выходы можно здорово настраивать. Для выходных данных можно использовать Fast OutPut Rtgister. А для клокового выхода может тоже есть чего?  Может кто эту задачу уже решал? дупустим нужно 50 мгц подать на выход тогда с PLL берёте 100 мгц и подаёте на D триггер. в результате на выходе D триггера получите свои 50. и чтобы результат не зависел "от синтеза до синтеза" этот триггер размещаете в IO cell тоесть как Fast OutPut Rеgister. Метод не мой у кого то тут на никсе и подглядел. Но после применения этого метода кварутс матерится не будет Ну а jitter у тактовой будет всегда, и родной pll его не давит. И тут ещё нужно смотреть с каким джиттером допустимо тактировать ваш ацп. могут быть проблемы
--------------------
Cogito ergo sum
|
|
|
|
|
Apr 10 2007, 20:05
|
Местный
  
Группа: Свой
Сообщений: 368
Регистрация: 16-11-06
Из: Тверь
Пользователь №: 22 379

|
Harbour Цитата Оно ж от разводки зависеть будет, да и сомневаюсь что диапазон подстроек у пина шибко большой. Это все из славянской серии "зачем делать по datasheet'у, когда можно через задницу". На счет славянской серии - святая правда! Но что делать если у каждой PLL только 2 нормальных выхода на пины? Вот и приходится использовать обычные пины для тактирования. Евгений Николаев Цитата Во-первых, всё зависит от частоты... Если частота небольшая (1-20МГц), то при небольшой длинне проводников этой проблемой можно себя не озадачивать. Разве что, согласовать линии резисторами (последовательный у передатчика, параллельный у приемника), чтобы не было "колебанки" и высставить ток выводов в настройках циклоновского проекта. Если же частоты выше, то борьбу надо разворачивать на поле PCB-дизайна, потому что даже идеально подогнанные времена пинов, могут быть безнадёжно "исправлены" проводниками на плате Частота 70 МГц. Дорожки все короткие (около 1 см). Тактовая включена через резистор 50 Ом последовательно. Все нормально работает. Вопрос был - можно ли что-то улучшить? Есть смысл играться выходным током, заваливая или выпрмляя фронты? Postoroniy_V Цитата дупустим нужно 50 мгц подать на выход тогда с PLL берёте 100 мгц и подаёте на D триггер. в результате на выходе D триггера получите свои 50. и чтобы результат не зависел "от синтеза до синтеза" этот триггер размещаете в IO cell тоесть как Fast OutPut Rеgister. Метод не мой у кого то тут на никсе и подглядел. Но после применения этого метода кварутс матерится не будет Ну а jitter у тактовой будет всегда, и родной pll его не давит. И тут ещё нужно смотреть с каким джиттером допустимо тактировать ваш ацп. могут быть проблемы В принципе согласен! Но есть несколько вопросов чайника - чем D-триггер лучше подачи частоты PLL на отдельный пин. Может лучше подать через lcell (на задержку плевать, но есть экономия по энергопотреблению триггера) и объявить выход Fast OutPut Rеgister. И наконец, в чем разница между Fast OutPut Rеgister и Fast Enable OutPut Rеgister (у Квартуса есть оба варианта)? То что Квартус ругается - ерунда, можно и потерпеть. То что джиттер будет всегда - понятно. Если величина джиттера в ps не зависит от частоты, то D-триггер, уменьшает его относительную величину в 2 раза (как и простое уменьшение частоты PLL).
|
|
|
|
|
Apr 10 2007, 20:45
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(Andr2I @ Apr 10 2007, 21:05)  В принципе согласен! Но есть несколько вопросов чайника - чем D-триггер лучше подачи частоты PLL на отдельный пин. Может лучше подать через lcell (на задержку плевать, но есть экономия по энергопотреблению триггера) и объявить выход Fast OutPut Rеgister. И наконец, в чем разница между Fast OutPut Rеgister и Fast Enable OutPut Rеgister (у Квартуса есть оба варианта)? То что Квартус ругается - ерунда, можно и потерпеть. То что джиттер будет всегда - понятно. Если величина джиттера в ps не зависит от частоты, то D-триггер, уменьшает его относительную величину в 2 раза (как и простое уменьшение частоты PLL). а лучше он тем о чём я вам уже написал и чтобы результат не зависел "от синтеза до синтеза"Fast OutPut Rеgister и Fast Enable OutPut Rеgister относится только к тригерам, и откуда у вас он возмётся если вы хотите просто с выхода pll подать на выход я не знаю И в случае когда у вас будет тригер на выходе можно легко поменять фазировку выходного сигнала а без триггера будете иметь гемор с выставлением нужной вам фазы. ЭЭЭ....Простите не понял а как триггером вы можете уменьшить джиттер? джиттер есть во входном сигнале и pll 1)этот джиттер не давит 2) вносит свой.
--------------------
Cogito ergo sum
|
|
|
|
|
Apr 11 2007, 08:53
|

Знающий
   
Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402

|
Цитата Есть смысл играться выходным током, заваливая или выпрмляя фронты? Поиграться током и Slow slew rate'ом может быть полезно, т.к. это в некоторой степени равноценно изменению фазы тактового выходного сигнала, т.к. меняет момент времени, когда приёмник будет реагировать на фронт сигнала. --- Небольшой офф: когда в линии согласующие резисторы включены (относительно букв приёмник слево, источник - справа) Г-образно или П-образно (для двунаправленной линии), то интересных эффектов для формирования фронта можно добиться последовательным переводом выхода в разные состояния. Пример: Надо плавно перейти из лог. "1" к лог. "0". Выводим "0" - выход резко дёргается вниз, переводим вывод в третье состояние - выход плавно идёт к нулю, снова выводим "0" - выход окончательно притягивается к земле. Комбинирую длительность и очерёдность таких состояний можно добиваться красивых фронтов. Подобная методика используется в выходных каскадах некоторых МК.
--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
|
|
|
|
|
Apr 11 2007, 09:23
|
Местный
  
Группа: Свой
Сообщений: 368
Регистрация: 16-11-06
Из: Тверь
Пользователь №: 22 379

|
Postoroniy_V Цитата а лучше он тем о чём я вам уже написал и чтобы результат не зависел "от синтеза до синтеза" Может не правильно понял, но плюсы состоят в том, что "Квартус не матерится" и результат не меняется в процессе синтеза? Про фазировку согласен - иногда нужна. А в чем все таки разница между Fast OutPut Rеgister и Fast Enable OutPut Rеgister ? Неужели в возможности запрета переключения триггера? Цитата ЭЭЭ....Простите не понял а как триггером вы можете уменьшить джиттер? джиттер есть во входном сигнале и pll 1)этот джиттер не давит 2) вносит свой. Разговор шел про относительную величину джиттера, т.е. отношение времени дрожания к периоду частоты. Абсолютная величина не уменьшится, но может даже увеличиться. Если питание D-триггера дергается (за счет работы соседей), то и порог срабатывания будет дергаться - дополнительный джиттер. Т.е. иногда D-триггер может ухудшить ситуация с джиттером (также как и lcell). sazh Цитата Но что делать если у каждой PLL только 2 нормальных выхода на пины? Вот и приходится использовать обычные пины для тактирования. //////////////////////////// Обычно гораздо больше. Даже если не хватает, можно размножить клок, использовать clock buffer с нулевой задержкой типа idt2305, idt2309. Работаю с EP2C5 - у него, как я понял, 2 PLL и у каждой по 2 выхода наружу PLL1_OUTp и PLL1_OUTn (или по 1 дифференциальному). Внешние примочки пока ставить не хочу - и так все нормально. Было желание немного улучшить ситуацию за счет многочисленных настроек Квартуса. Евгений Николаев Цитата Пример: Надо плавно перейти из лог. "1" к лог. "0". Выводим "0" - выход резко дёргается вниз, переводим вывод в третье состояние - выход плавно идёт к нулю, снова выводим "0" - выход окончательно притягивается к земле. Комбинирую длительность и очерёдность таких состояний можно добиваться красивых фронтов. Спасибо за советы! Буду пробовать. На счет "формирования красивых фронтов" - как я понял, это что-то вроде ШИМ модуляции - меняя время можно изменять откачиваемый заряд?
|
|
|
|
|
Apr 11 2007, 09:29
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(Andr2I @ Apr 11 2007, 10:17)  Postoroniy_V Может не правильно понял, но плюсы состоят в том, что "Квартус не матерится" и результат не меняется в процессе синтеза? Про фазировку согласен - иногда нужна. А в чем все таки разница между Fast OutPut Rеgister и Fast Enable OutPut Rеgister ? Неужели в возможности запрета переключения триггера? Разговор шел про относительную величину джиттера, т.е. отношение времени дрожания к периоду частоты. Абсолютная величина не уменьшится, но может даже увеличиться. Если питание D-триггера дергается (за счет работы соседей), то и порог срабатывания будет дергаться - дополнительный джиттер. Т.е. иногда D-триггер может ухудшить ситуация с джиттером (также как и lcell). 1)Поняли верно 2)Fast OutPut Rеgister - это сам триггер Fast Enable OutPut Rеgister - это enable для этого триггера Fast Enable OutPut Rеgister - это то что управляет третьим состоянием смотрите в cyclone2_handbook рисунок Figure 2–32. Cyclone IOE in Bidirectional I/O Configuration
--------------------
Cogito ergo sum
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|