Вся цифровая фазовая петля


9

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

  1. Не настраивается (устанавливается во время синтеза).
  2. Дрожит.
  3. Не поддерживайте частоту, которая мне нужна.

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

Цифровая схема или даже подсказка в правильном направлении были бы полезны (я бился головой об это некоторое время), проверенная реализация FPGA была бы замечательной, но не ожидаемой.

ДОБАВЛЕНО 10-27-2010

Фактический дизайн DPLL, который я использовал, имеет «Фильтр случайного обхода» в качестве фильтра контура (а не «перехвата импульса», описанного ранее, просматривая мои записи, которые не сработали хорошо), который затем направляет тактовые импульсы в DCO , Диапазон блокировки устанавливается через делитель в DCO. Чувствительность петли устанавливается путем варьирования длины случайного блуждания.

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

Ямамото, Х .; Mori, S .; , "Производительность бинарного квантования всей цифровой фазовой автоподстройки частоты с новым классом последовательного фильтра", Связь, транзакции 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
Пожалуйста, сделайте ссылку на дизайн «Pulse Steal» - нет никаких причин, чтобы не делать этого.
Кевин Вермеер

Ответы:


6

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

Если вы довольны цифровым «генератором» (т. Е. Переполненным аккумулятором) и его джиттером, то остальная часть схемы может быть довольно простой:

  • счетчик (PFD), подсчитывающий количество циклов между опорным и (необязательно разделенным) выходом ФАПЧ,
  • цифровой фильтр - все, что нужно делать, предполагая, что он выполняет интеграцию (аккумулятор) и имеет нулевой (минус (или плюс?) масштабированный выходной сигнал PFD) для стабилизации контура, необязательно один или несколько полюсов выше полосы пропускания контура для уменьшения контрольное значение «пульсации» на опорной частоте (имеет значение только в том случае FREF
  • старшие значащие биты выхода цифрового фильтра (управляющее значение DVCO) передаются в качестве входа в переполненный аккумулятор (DVCO).

Что касается полосы пропускания контура, если она не обеспечивается временем установления, решите ее на основе шумовых вкладов всех компонентов.

  • Если дрожание происходит в основном от эталона или от PFD - используйте меньшую полосу пропускания,
  • Если шум исходит от генератора - увеличьте его.

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

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


Если кто-то хочет, например, умножить частоту стабильного входящего сигнала на 16, и у него есть такт, который является быстрым относительно этого, то какое преимущество имеет использование цифрового фильтра по сравнению с измерением количества тактов между каждым фронтом и предыдущим один, и выяснить, какую частоту следует вывести, чтобы выходной импульс, который должен совпадать со следующим входным фронтом тактовой частоты, делал это? Если джиттер входного тактового сигнала не больше такта, выходной джиттер должен быть примерно таким же хорошим. Такая схема может начать производить чистый выход, как только он получит второй входной импульс.
суперкат

1

Если вы можете терпеть небольшую дрожь, но в большинстве случаев вам просто нужно точное тактирование против дремотных часов для восстановления данных, вы можете реализовать что-то вроде CAN Standard PLL (начинается на странице 67 этого PDF). Это работает на основе счетчика переполнения, который должен быть номинально настроен правильно, но синхронизируется по фронту во входящем импульсном потоке.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.