|
переключение тактовых на PLL сыклон 3, о пользе чтения даташитов. |
|
|
|
Aug 23 2011, 12:16
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Потребовалось мне на входе ПЛЛ тактовую переключать. Каюсь грешен, не полез в даташит, а поверил заверениям мегавизарда The clkswitch input will behave as an input clock selection control input. Мой перевод : clkswitch будет вести себя как вход сигнала выбора входной частоты. Но проект нормально не заработал, путем копания в сигнал тапе были интересные симптомы, как будто клок не переключается обратно. Полез в даташит, а там: Цитата Manual Clock Switchover PLLs of Cyclone III family devices support manual switchover, in which the clkswitch signal controls whether inclk0 or inclk1 is the input clock to the PLL. The characteristics of a manual switchover is similar to the manual override feature in an automatic clock switchover, in which the switchover circuit is edge-sensitive. When the clkswitch signal goes high, the switchover sequence starts. The falling edge of the clkswitch signal does not cause the circuit to switch back to the previous input clock. Выведя сигнал activeclock в сигнал тап убедился в этом, переключения тактовой происходят на положительных фронтах сигнала clkswitch, о чем мегавизард меня не предупредил %( Мораль : на заборе тоже много что написано, а даташиты никто не отменял %)
Эскизы прикрепленных изображений
--------------------
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 17)
|
Aug 24 2011, 10:03
|
Знающий
   
Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107

|
Ну вот меня терзают смутные опасения, что при смене клока с меньшей частотой на клок с бОльшей частотой, но с сохранением старых настроек коэффициентов умножения можно временно вылететь за пределы внутренней максимальной частоты PLL. Это может чем-нибудь грозить необратимым? Или просто оно никогда не защелкнет фазу в таком виде, пока не появятся вменяемые настройки коэффициентов? Сами то частоты у меня невысокие, до 200 МГц, но иногда у них довольно дурацкие дробные части, так что приходится их получать делением больших частот, которые получаются за счет больших коэффициентов умножения. Например, частота для развертки 1920x1080 равна 182.5 МГц. За основу удобно брать 10МГц, так как из нее можно получить и кучу частот других режимов. Так вот, 10 МГц входных нужно умножить на 73/4, чтобы получить 182.5. Если второй кварц будет, скажем, 27 МГц, то при умножении 27 на 73 возникнет внутренняя частота 1971 МГц, что больше максимальной частоты в 1300 МГц, указанной в даташите.
Может, переключение, равно как и перезагрузку параметров можно делать, пока сама PLL выведена в сброс?
|
|
|
|
|
Aug 24 2011, 11:10
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Hoodwin @ Aug 24 2011, 04:03)  Может, переключение, равно как и перезагрузку параметров можно делать, пока сама PLL выведена в сброс? вот что говорит даташит Цитата Use the clkswitch input for user- or system-controlled switch conditions. This is possible for same-frequency switchover or to switch between inputs of different frequencies. For example, if inclk0 is 66 MHz and inclk1 is 200 MHz, you must control the switchover because the automatic clock-sense circuitry cannot monitor primary and secondary clock frequencies with a frequency difference of more than 20%. This feature is useful when clock sources can originate from multiple cards on the backplane, requiring a system-controlled switchover between frequencies of operation. Choose the secondary clock frequency so the VCO operates in the recommended frequency range. Also, set the M, N, and C counters accordingly to keep the VCO operating frequency in the recommended range
.... When using manual clock switchover, the difference between inclk0 and inclk1 can be more than 20%. However, differences between the two clock sources (frequency, phase, or both) can cause the PLL to lose lock. Resetting the PLL ensures that the correct phase relationships are maintained between the input and output clocks. ждать ресинхронизации ПЛЛ нужно будет в любом случае. так что ИМХО без разницы %) ЗЫ. боюсь что при сбросе ПЛЛ, может потерятся выбор активного клока
--------------------
|
|
|
|
|
Dec 11 2011, 14:11
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Reanimator++ @ Dec 11 2011, 06:55)  Мда. Меня бы глитчевая коммутация устроила вполне. Благо 1 раз всего надо сделать при включении и клок на выходе плл задействуется только иногда, для всего остального есть свой, набортный..
Завести оба на стандартные I/O скоммутить тупым assign-ом, вывести наружу и завести на клок инпут? )) предлагаю вам поставить экспиремент Цитата When the current reference clock is not present, the clock-sense block automatically switches to the backup clock for PLL reference. The clock switchover circuit also sends out three status signals—clkbad[0], clkbad[1], and activeclock—from the PLL to implement a custom switchover circuit. You can select a clock source at the backup clock by connecting it to the inclk1 port of the PLL in your design. вроде как должно работать, попробуйте и сообщите общественности
--------------------
|
|
|
|
|
Dec 11 2011, 20:52
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(des00 @ Dec 11 2011, 15:15)  Там переключалка сделана безглитчевая, она требует наличия двух тактовых частот, для синхронизации сигнала включения в каждом тактовом домене. Если мне память не изменяет, в автоматическом режиме там тоже самое В автоматическом режиме скорее всего нет, иначе смысл теряется. В даташитах видел процедуру определения отсутствующего клока - где-то к третьему такту определяется что клока нет и идет переключение на запасной. Кстати, всегда есть клок VCO и его скорее всего и задействуют для детектора badclk.
|
|
|
|
|
Nov 16 2012, 09:28
|
Местный
  
Группа: Свой
Сообщений: 399
Регистрация: 1-01-06
Из: Волгоград
Пользователь №: 12 763

|
Цитата(Reanimator++ @ Dec 9 2011, 19:45)  Меня смущает одна весч в даташите. Циклон 3 хендбук, стр 5-21: Both inclk0 and inclk1 must be running when the clkswitch signal goes high to start the manual clock switchover event. Failing to meet this requirement causes the clock switchover to malfunction. Как сие понимать?
У меня задача такая - у дочерней платы есть два разъема, основной и резервный. Ее могут воткнуть либо тем, либо другим, соответственно на одном из входов будет клок, на другом неизвестно что (мб наводки). Выбор клока хотел сделать с помощью мониторинга какого-нибудь пина питания в разъеме который вставили (оба одновременно невозможно).
По тексту выше непонятно смогу ли я переключиться на активный клок если второго не будет? Отвечаю на свой вопрос относительно циклона 2 - собрали девайсы на нем. Переключалка работает по фронту ClkSwitch. Одного клока нет, второй есть. Сделал код который смотрит на сигнал PLL - locked. Если не locked то передергивает clkswitch. При таком раскладе плата всегда стартует. Clkswitch корректно отрабатывает при переходе с неактивного клока на активный и зависает при переходе с активного на неактивный. (если просто дергать clkswitch с некоторым достаточно большим периодом то сигнал locked не появляется после первого же перехода на неактивный клок). Вот такая вот петрушка, мож пригодится кому.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|