Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: фильтрация тактового сигнала c помощью PLL (Cyclone 3)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
yes
то есть на вход плис попала пила, которая из-за шумов и прочего вообще черт знает что - то есть основной период присутствует, но "по краям" присутствуют иголки

пропустив сигнал через PLL (1/1) получил сигнал LOCK очень часто падающий (как кажется, на каждую иголку)

после этого переделал тактовый вход на компараторный стандарт (SSTL) ну и "частота" unlock-ов стала маленькая

вопрос :
есть где-нибудь характеристики фильтра (LF/loop filter) PLL?
может есть готовое приложение (app. note) для фильтрации внешнего клока от иголок?

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

запаять внешний драйвер на тактовый сигнал невозможно
DmitryR
В FPGA нет никаких аналоговых фильтров, соответственно appnote быть не может. Если не можете разрезать дорожку и впаять нормальный тактовый генератор - переделывайте плату.
yes
Цитата(DmitryR @ Nov 16 2009, 15:50) *
В FPGA нет никаких аналоговых фильтров, соответственно appnote быть не может. Если не можете разрезать дорожку и впаять нормальный тактовый генератор - переделывайте плату.


ну PLL без аналогового фильтра не бывает - это типа принцип работы
в ксайлинсах стоят цифровые DLL-ки, где без фильтра,
а в альтерах честная ПЛЛ, ну и в документации упоминаются биты управляющие источником тока и емкостью/сопротивлением, только там даны некие попугаи N*R и M*C, с заданием коэффициентов N, M, а значения единичных номиналов я не нашел
EvgenyNik
Насколько разнесены в частотном диапазоне основная гармоника "пилы" и иголки? Может быть, простенький внешний RC-фильтр решит ваши проблемы?
DmitryR
На самом деле не думаю, что PLL на пиле будет надежно держаться, даже если удастся срезать иголки.
yes
Цитата(Евгений Николаев @ Nov 16 2009, 16:53) *
Насколько разнесены в частотном диапазоне основная гармоника "пилы" и иголки? Может быть, простенький внешний RC-фильтр решит ваши проблемы?

а куда вешать RC фильтр? входной сигнал имеет гладкие, но зашумленные фронты (иголки возникают внутри ПЛИС после прохождения этого сигнала через буфер)

наверно, возможно вывести уже оцифрованный сигнал наружу и через RC завести на другой тактовый вход, но из-за организационных проблем хотелось бы паять в самую последьнюю очередь (плата у программистов и там паять нечем и некому)


Цитата(DmitryR @ Nov 16 2009, 18:56) *
На самом деле не думаю, что PLL на пиле будет надежно держаться, даже если удастся срезать иголки.


согласен.
может после перехода на SSTL вход иголки изчезли и lock срывается из-за джиттера, а не из-за иголок, я после этого исправления забыл посмотреть "цифровой" клок на предмет иголок

но "теория" не мешает PLL держаться и с иголками или при некотором джитере входного такта (то есть я считаю, что RC фильтр не поможет, так как из-за джитера возмущение входного клока (вернее выхода FD) будет такое же как и с иголками)
выход lock (по картинке в даташите) генерится непосредственно с выхода фазового детектора (а не с фильтра), поэтому не является реально сигналом потери слежения, и тактовый сигнал никак не деградирует (наблюдал на осциллографе с синхронизацией по lock)

петлевой фильтр это защита выхода PLL от входного шума и его полоса должна быть весьма узкой (я бы предполагал единицы герц)

мне казалось, что фильтрация тактового сигнала вобщем-то нормальная задача для PLL, но может я не понимаю проблемы
может есть какие-то приложения по улучшению джитера и т.п?
EvgenyNik
Не сразу понял - кто источник иголок, потому про фильтр написал.
Какова частота следования "пилы"? Может быть, Вы в допустимый частотный диапазон не попадаете? Сколько у циклона3 минимум - 5МГц? Или по скважности проблемы...
Если частота "пилы" - десятки МГц, то можно организовать триггер Шмидта (внешний, к сожалению), поделить сигнал на логике ПЛИС в несколько раз, чтобы относительное дрожание фазы снизилось, а потом компенсировать деление умножением на PLL.
"Пила" какого вида? _/|_ или _|\_ или же _/\_ ? Если первого, то его на внешнем ОУ надо проинвертировать и привести к виду _|\_ - так передний фронт будет лучше, а именно он, как я подозреваю, PLLке и нужен.
dvladim
Цитата(yes @ Nov 16 2009, 14:26) *
вопрос :
есть где-нибудь характеристики фильтра (LF/loop filter) PLL?
может есть готовое приложение (app. note) для фильтрации внешнего клока от иголок?

loop filter как правило подстраиваемый, но на падение lock это не влияет. Влияет только на время захвата.
А вот порог срабатывания lock как правило не подстраивается.

Цитата(yes @ Nov 16 2009, 20:35) *
но "теория" не мешает PLL держаться и с иголками или при некотором джитере входного такта (то есть я считаю, что RC фильтр не поможет, так как из-за джитера возмущение входного клока (вернее выхода FD) будет такое же как и с иголками)

Мешает, если рассинхронизация больше чем порог lock. Причем с иголками ситуация значительно хуже.

Цитата(yes @ Nov 16 2009, 20:35) *
выход lock (по картинке в даташите) генерится непосредственно с выхода фазового детектора (а не с фильтра), поэтому не является реально сигналом потери слежения, и тактовый сигнал никак не деградирует (наблюдал на осциллографе с синхронизацией по lock)

С точки зрения PFD деградирует. PFD-то невдомек, что деградирует входной клок.
Сигнал lock формируется так: с PFD идут два сигнала на источники тока. Эти источники заряжают или разряжают конденсаторы loop filter-а. При совпадении частот, управление источниками тока вырождается в две узкие иголки. Если ширина любой из этих иголок больше порога, lock падает.
yes
спасибо, за обсуждение - вобщем решили перепаять, это проще smile.gif

но с точки зрения "разобраться" некий интерес остался

практически -
сигнал 25МГц, иголки смотрел осциллографом выведя сигнал CLK на ножку - осцилограф (и ЛА тоже) ловил перепады в 2нс, но возможно более "тонкие" фильтровались щупом/выводом, "провал" между основным импульсом и иголкой также несколько нс
собственно было замечено, что синхронная схема глючит недетски, поэтому и с тактом начали разбираться

-------------

полоса петли определяет не только время захвата, но и устойчивость к шумам,
то есть - если дольше захватывает, то и сложнее потерять слежение.
вроде бы детали реализации (устройство FD, фильтра, VCO и т.п.) не важны, можно заменить "идеальной" PLL
это можно посчитать - когда-то с этим сталкивался, ничего там сложного нет, так сразу не помню (типа, порядок фильтра в петле на 1 больше и т.п.), но знаю, где посмотреть

но как часто бывает на практике, может теория (в моем понимании) что-то упускает.
опять же, когдато слышал краем уха, что RF-шики, используя PLL, улучшают тактовые сигналы (за счет фильтра и выходного делителя)
SM
Как я понимаю, для решения этой задачи PFD, работающий по фронтам, принципиально не подходит. Самое лучшее - детектор типа XOR. Где иголка на входе даст иголку на выходе, и иголка отфильтруется. Но в ПЛИСах нет такого FD.
yes
Цитата(SM @ Nov 17 2009, 12:47) *
Как я понимаю, для решения этой задачи PFD, работающий по фронтам, принципиально не подходит. Самое лучшее - детектор типа XOR. Где иголка на входе даст иголку на выходе, и иголка отфильтруется. Но в ПЛИСах нет такого FD.


на иголку сигнал ошибки PFD будет не длиннее полпериода (но такие ошибки происходят весьма редко), выведет ли это PLL из захвата?
ну то есть от иголки отличие небольшое smile.gif при достаточно узком фильтре

скорее всего, такие провалы в полпериода проскакивали на lock, я когда смотрел не увидел уменьшения периода генерируемого такта при синхронизации по lock
я бы предположил, что полоса дефолтного фильтра в циклоне - килогерцы, может ее можно уменьшить

вобщем разбираться с железом нет возможности, но придется признать, что с фильтрацией PLL тактового сигнала я заблуждался - на практике так не делают
DmitryR
Вообще-то, если остался интерес разобраться, то первый вопрос, которым бы задался я - откуда внутри ПЛИС берутся иголки?
SM
Цитата(DmitryR @ Nov 17 2009, 15:15) *
которым бы задался я - откуда внутри ПЛИС берутся иголки?

Я думаю, что ответ на этот вопрос содержится в первом посте...
Цитата
то есть на вход плис попала ...

Ну попала на вход... И все тут. Условие задачи такое.
DmitryR
Цитата(yes @ Nov 16 2009, 19:35) *
а куда вешать RC фильтр? входной сигнал имеет гладкие, но зашумленные фронты (иголки возникают внутри ПЛИС после прохождения этого сигнала через буфер)
Я ни разу не слышал, чтобы буфер внутри ПЛИС вносил иголки.
SM
Цитата(DmitryR @ Nov 17 2009, 16:21) *
Я ни разу не слышал, чтобы буфер внутри ПЛИС вносил иголки.

Значит у Вас опыта работы с ПЛИС маловато. Подайте на вход буфера (без триггера шмитта) сигнал с медленным нарастанием и шумами, и увидите во всей своей красе.
EvgenyNik
От шустрых иголок (вот как раз таких, которые генерируются входным каскадом) можно отстраиваться логикой.
образно:
S = X & lcell (X & lcell (X & lcell (X)))
R = X | lcell (X | lcell (X | lcell (X)))
if (S) trig <= 1
else if (~R) trig <= 0
Shivers
Я с такими вещами борюсь усилением внешних фильтров: емкости потолще, катушки, земли утолщить и т.д.
А когда боролся с выбросами на слишком длинном PCI 33Mhz, не стесняясь паял емкости прямо на управляющие сигналы и клок. Номинал, если не запамятовал, в районе 10-50пик, запросто режет выбросы по 1-2 нс. В общем, не стоит бояться валить фронты. Тем более, если дальше PLL стоит.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.