|
|
  |
DPLL (ADPLL) в FPGA. Как уменьшить джиттер?, Уменьшить джиттер до одного периода Fsystem. |
|
|
|
Oct 14 2009, 13:28
|
Местный
  
Группа: Свой
Сообщений: 339
Регистрация: 27-08-05
Пользователь №: 8 013

|
Нашел описание ADPLL ( цифровая ФАПЧ с цифровым ГУНом ), набросал на Verilog'e. Запустил моделирование на Modelsim'e, кое-как заставил работать и призадумался. Использованный вариант реализации допускает изменение положения фронта выходной частоты на несколько периодов высокой ( системной ) частоты. Но системная частота хоть и высокая, да не очень - около 250 МГц. Один период, это 4 нсек, а если их несколько, уже много будет. Конечно, в установившемся режиме, и при стабильной входной частоте фронты выходной частоты прыгают на один-два периода системной частоты, но это, видимо, будет не всегда так. В интернете немного есть упоминаний про структуры ADPLL, решающих эти проблемы, но скудно описанные и без формул. Так-что разобраться в нюансах их работы, проверить, может в других местах там вылезут проблемы, трудно. Кто-нибудь занимался подобными вопросами? Подскажите, куда смотреть, в какую сторону думать.
|
|
|
|
|
Oct 14 2009, 20:26
|
iBuilder©
   
Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322

|
Цитата(DmitryR @ Oct 14 2009, 16:59)  То, что вы называете цифровым ГУН обычно называют DDS (Direct Digital Synthesizer) или NCO (Numerically Controlled Oscillator). Они есть готовые, у Xilinx, Altera и Opencores. Посмотрите, мне казалось что фирменные реализации дают джиттер строго в пределах одного периода входной частоты. Хотя я и могу ошибаться, но посмотреть готовое думаю не повредит в любом случае. Не факт что так. NCO и DDS выдают синус/косинус, а судя по вопросу речь идёт о цифровом ФАПЧ (ALL DIGITAL PHASE LOCK LOOPS (ADPLL) ). Если я прав, и нужна DPLL, то посмотрите поиском по форуму, например: http://electronix.ru/forum/lofiversion/index.php/t61744.html
|
|
|
|
|
Oct 15 2009, 09:00
|
Местный
  
Группа: Свой
Сообщений: 339
Регистрация: 27-08-05
Пользователь №: 8 013

|
Builder, спасибо за ссылку, Вы поняли, что мне нужно, но поиск-то по форуму я провел, и не только по форуму. А пост написал, когда посмотрел, что-же я нашел. Есть более-менее типовые структуры ADPLL, но те, которые хорошо расписаны, снабжены формулами, не позволяют уменьшить дрожание фронтов выходной частоты до одного такта системной ( высокой ) частоты. Есть и вроде подходящие, но обычно это что-то типа короткой заметки или описания патента, и развернутых описаний и расчетов не содержат. Может я просто не разобрался с устоявшимися вариантами и задача вполне решаема в их рамках. В конце-концов все зависит от требуемых параметров в каждом конкретном случае. В общем, надо, имея системную частоту 256 МГц ( точнее 262,144 МГц ) и синхронизируясь от частоты 8,192 МГц, получить предельное дрожание фронтов выходной частоты 6,144 МГц менее 10 нсек. Наверное, надо мне еще почитать толковую литературу по этой теме, может кто присоветует, какую лучше?
|
|
|
|
|
Oct 15 2009, 10:44
|

.
     
Группа: Участник
Сообщений: 2 424
Регистрация: 25-12-08
Пользователь №: 42 757

|
у Вас общая кратная частота от 3 указанных частот 2.048Мгц. На ней надо проводить сравнение фаз, например построить фазовый детектор на D триггере.
2.048 получается также из 262.144(clock) делением на 128. Но чтобы работало с подгонкой фазы под 8.192 делитель от 262.144 должен работать с коэффициентом 127 либо 129 (на периоде частоты 2048кгц ошибка в 1 clock) . таким образом напрашивается ДПКД на 42 и 43 , работающим так: 42+42 +43=127 периода clock , а в следующий раз 43+43 +43. Выход этого ДПДК и будет выдавать частоту 6.144 мгц с точностью около 1 clock. на синхровход "С" триггера подаете деленный на 3 сигнал с выхода ДПДК , а на вход "D" подаете делённый на 4 от 8.192. Q выход триггера управляет сменой коэффициента деления ДПДК.
можно сделать и точнее , если шум от 8.192 невелик (менее 1 nS) , и особенно если он каким то образом сформирован из 262, то по идее можно сделать с джиттером менее 1 clock . Используя усложненный фазовый детектор с "окном синхронизации" на задержках внутренних вентилей порядка 0,3 clock , когда во время совпадения фронтов 2.048MHz внутри окна, ДПДК будет строго пилить в цикле 42+43+43=128
Сообщение отредактировал тау - Oct 15 2009, 10:45
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|