реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> DPLL (ADPLL) в FPGA. Как уменьшить джиттер?, Уменьшить джиттер до одного периода Fsystem.
bsp
сообщение Oct 14 2009, 13:28
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 27-08-05
Пользователь №: 8 013



Нашел описание ADPLL ( цифровая ФАПЧ с цифровым ГУНом ), набросал на Verilog'e. Запустил моделирование на Modelsim'e, кое-как заставил работать и призадумался. Использованный вариант реализации допускает изменение положения фронта выходной частоты на несколько периодов высокой ( системной ) частоты. Но системная частота хоть и высокая, да не очень - около 250 МГц. Один период, это 4 нсек, а если их несколько, уже много будет. Конечно, в установившемся режиме, и при стабильной входной частоте фронты выходной частоты прыгают на один-два периода системной частоты, но это, видимо, будет не всегда так. В интернете немного есть упоминаний про структуры ADPLL, решающих эти проблемы, но скудно описанные и без формул. Так-что разобраться в нюансах их работы, проверить, может в других местах там вылезут проблемы, трудно. Кто-нибудь занимался подобными вопросами? Подскажите, куда смотреть, в какую сторону думать.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 14 2009, 13:59
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



То, что вы называете цифровым ГУН обычно называют DDS (Direct Digital Synthesizer) или NCO (Numerically Controlled Oscillator). Они есть готовые, у Xilinx, Altera и Opencores. Посмотрите, мне казалось что фирменные реализации дают джиттер строго в пределах одного периода входной частоты. Хотя я и могу ошибаться, но посмотреть готовое думаю не повредит в любом случае.
Go to the top of the page
 
+Quote Post
Builder
сообщение Oct 14 2009, 20:26
Сообщение #3


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
Go to the top of the page
 
+Quote Post
bsp
сообщение Oct 15 2009, 09:00
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 27-08-05
Пользователь №: 8 013



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


.
******

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 12:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.0149 секунд с 7
ELECTRONIX ©2004-2016