Весь цифровий цикл блокування фаз


9

Я хочу реалізувати блокування фаз у FPGA без використання зовнішніх компонентів (крім АЦП). Для простоти блокування простого бінарного імпульсу є достатнім. Частота сигналів становить ~ 0,1-1% тактової частоти. Я не можу використовувати PLL бортового годинника, оскільки вони:

  1. Не настроюється (встановлюється під час синтезу).
  2. Жалюгідність.
  3. Не підтримуйте потрібну мені частоту.

Я сортував літературу і знайшов кілька замкнених циклів бінарних фаз. Найпомітніший дизайн "викрадення імпульсу", на який я можу розмістити посилання на бажання. Я реалізував і синтезував з певним успіхом, але його діапазон тремтіння та блокування не був таким хорошим, як рекламований. Я також мав успіх у використанні зовнішнього DVCO, але я вважаю за краще, якщо я можу реалізувати все на чіпі.

Дизайн цифрової схеми або навіть підказка в правильному напрямку буде корисним (я деякий час б'є головою проти цього), перевірена реалізація FPGA була б чудовою, але не очікуваною.

ДОДАТО 10-27-2010

Фактичний дизайн DPLL, який я використав, має "фільтр випадкової прогулянки" як фільтр циклу (а не описаний раніше "імпульс крадіжки", переглядаючи мої нотатки, які не спрацювали добре), який потім спрямовує тактові імпульси на DCO . Діапазон блокування встановлюється через роздільник у DCO. Чутливість петлі встановлюється шляхом зміни довжини випадкової прогулянки.

Папір, в якій це знайдено, цитується в кінці цієї публікації. Сам реалізувавши його частини, я виявив, що він вже реалізований на OpenCores, однак виявляється, що за останні кілька місяців проект був видалений, але у мене збережені файли Verilog, якщо хтось хоче.

Ямамото, Н .; Морі, С .; , "Виконання двійкової квантованої всієї цифрової фазово-фіксованої петлі з новим класом послідовного фільтра", комунікації, транзакції IEEE, т.26, №1, с. 35- 45, січень 1978

doi: 10.1109 / TCOM.1978.1093972

URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1093972&isnumber=23895


1
Будь ласка, перейдіть за посиланням на дизайн "викрасти імпульс" - немає причин цього не робити.
Кевін Вермер

Відповіді:


6

Чи можете ви розмістити докладніші відомості про цільову частоту, смугу пропускання та пропускну здатність циклу (необхідний час відстеження)? Крім того, який осцилятор ви хочете використовувати (зовнішній з ЦАП, з / без збивання ?, на мікросхемі / акумуляторі мікросхеми)?

Якщо ви задоволені цифровим «генератором» (тобто переповненим акумулятором) та його тремтінням, то решта ланцюга може бути досить простою:

  • лічильник (PFD), що підраховує кількість циклів між опорним і (необов'язково розділеним) виходом PLL,
  • цифровий фільтр - все, що буде робити, якщо зробити інтеграцію (акумулятор), і він має нуль (мінус (або плюс?) масштабований вихід PFD) для стабілізації циклу, необов'язково один або кілька полюсів над пропускною здатністю петлі для зменшення контрольне значення "пульсація" на контрольній частоті (має значення лише якщо fref
  • найбільш значущі біти виходу цифрового фільтра (значення керування DVCO) подаються як вхід до переливного акумулятора (DVCO).

Що стосується пропускної здатності петлі, якщо вона не застосовується шляхом встановлення часу, вирішіть її на основі шумових внесків усіх компонентів.

  • Якщо тремтіння відбувається в основному за посиланням або від PFD - використовуйте меншу пропускну здатність,
  • Якщо шум надходить від генератора - збільште його.

У випадку, якщо опорний сигнал є фазовим або частотним модульованим - використовуйте ширину смуги циклу, меншу за найменшу частоту сигналу, що модулює опорний стан.

Більш складні методи застосовуються, якщо вихідна частота близька або дорівнює тактовій частоті та / або якщо потрібен низький тремтіння або дуже швидкий діапазон блокування. Можливо, у вашому випадку вони не потрібні, до того ж вони не дуже підходять для реалізації програми FPGA.


Якщо хочеться, наприклад, помножити частоту стабільного вхідного сигналу на 16, і у нього є тактовий годинник, який є швидким відносно цього, яка перевага може використовувати цифровий фільтр на відміну від вимірювання кількості годин між кожним краєм і попереднім один, і з'ясовуючи, яку частоту слід виводити, щоб вихідний імпульс, який повинен збігатися з наступним краєм вхідного годинника, зробив це? Якщо тремтіння вхідного тактового сигналу не більше ніж тактовий цикл, вихідний тремтіння повинен бути приблизно таким же хорошим. Така схема може почати виробляти чистий вихід, як тільки він отримає другий вхідний імпульс.
supercat

1

Якщо ви можете терпіти трохи тремтіння, але здебільшого просто потрібне точне встановлення годинника проти дрімотного годинника для відновлення даних, можливо, ви захочете реалізувати щось на зразок CAN PL Standard (починається на сторінці 67 цього PDF). Це працює на основі лічильника переповнення, який має бути налаштований номінально правильно, але синхронізується до країв потоку вхідного імпульсу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.