Перейти к содержанию
    

Cyclone IV PLL теряет захват

Коллеги, сталкивался ли кто-нибудь с такой проблемой:

Есть два сигнала проходящих через сдвоенный LVDS->LVTTL буфер и заходящих на соседние клоковые пины (24 и 25 пины EP4CE22E22I7).

Один из них клок 100МГц, второй - последовательные данные 200Мбит/с DDR. Расстояние от буфера до ПЛИС всего 0.5 см.

Сигнал locked с PLL выведен на светодиод.

Когда на линии данных ничего нет, сигнал locked в норме (светодиод горит непрерывно).

Как только на линии данных появляется активность (для простоты я просто даю туда меандр 100МГц), сигнал locked начинает моргать или вообще исчезает.

Причем проблема только с этим единственным сигналом. Остальные сигналы приходящие на ПЛИС никак не влияют на работоспособность PLL.

Конденсаторы по питанию проверил - как и должно быть 0,1мкФ на каждый пин. 1мкФ по питанию буфера.

Источник питания стоит на 2А (TPS82084). По идее должно хватить с запасом, тем более что ПЛИС заполнена всего на несколько процентов.

По началу я грешил на LVDS->LVTTL буфер, но сигнал на выходе совершенно чистый.

Все что можно уже проверил. Уже не знаю что и думать... В первый раз такое...

Может ли быть, что если на два соседних клоковых пина заходят довольно высокочастотные сигналы, один сигнал очень сильно наводится на другой внутри самой ПЛИС?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так Quartus не зря не дает размещать рядом такие сигналы, а вы его обманули.

0.1 мкФ - уверены, что должно быть именно так? Сомневаюсь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так Quartus не зря не дает размещать рядом такие сигналы, а вы его обманули.

0.1 мкФ - уверены, что должно быть именно так? Сомневаюсь.

Я его не обманывал. Со стороны Quartus не было никакой ругани на размещение данных пинов. Был только Warning по поводу отсутствия на данном пине DDIO буфера.

Даже если этот пин не задействовать в проекте, проблема не исчезает.

И чем не устраивает 0,1мкФ? На большинстве отладочных плат сделано именно так. И на всех предыдущих проектах я ставил 0,1 или 0,22 и проблем не было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

100 MHz и 200 Mbps дает разместить рядом? Вы частоты сигналов указывали?

Конденсаторов нужно ставить разных, особенно в цепь питания PLL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

100 MHz и 200 Mbps дает разместить рядом? Вы частоты сигналов указывали?

Конденсаторов нужно ставить разных, особенно в цепь питания PLL.

Да. Указывал. Никак не ругается.

PLL запитана от отдельного LDO. На каждый пин стоит пара 0,1мкФ и 0,01мкФ.

Пока не включаю 200Мбит/с PLL прекрасно работает при том, что в проекте есть 20, 48, 100 и 400МГц.

Даже если забить ПЛИС на 50% проблем нет. Проблемы начинаются только при подаче 200Мбит/с.

Наверно стоит пожертвовать единственным светодиодом и перекинуть 200Мбит/с на другой пин...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для простоты я просто даю туда меандр 100МГц

А можно плавно менять частоту меандра, чтобы посмотреть, в каком диапазоне есть влияние?

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно еще посмотреть чистоту питания банка _внутри_ плис - через GPIO пин этого-же банка.

Замечал звон из-за резонансного контура внешняя С -- индуктивность выводов питания -- внутренняя С.

 

Может, земли-питания плохо разведены?

Даже при хорошо разведенном питании - остается влияние индуктивности выводов и _внутренней_ емкости питания.

Изменено пользователем Leka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По началу я грешил на LVDS->LVTTL буфер, но сигнал на выходе совершенно чистый.

То, что Вы посмотрели сигнал на выходе буфера, как то не убедительно...

Я бы поднял выходную ножку (данных) на LVDS->LVTTL буфере, и подал бы на вход ПЛИС постоянный ноль.

Т.е. создал бы ситуацию, когда на ПЛИС не поступает сигнал данных, а на LVDS приемник поступает.

Так можно точно убедиться, что виновата именно ПЛИС.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То, что Вы посмотрели сигнал на выходе буфера, как то не убедительно...

Я бы поднял выходную ножку (данных) на LVDS->LVTTL буфере, и подал бы на вход ПЛИС постоянный ноль.

Т.е. создал бы ситуацию, когда на ПЛИС не поступает сигнал данных, а на LVDS приемник поступает.

Так можно точно убедиться, что виновата именно ПЛИС.

Перерезал дорожку от буфера к ПЛИС. Вход данных соплей закоротил на соседний пин (там статический сигнал).

Ситуация улучшилась, но иногда все равно происходит срыв захвата ФАПЧ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перерезал дорожку от буфера к ПЛИС. Вход данных соплей закоротил на соседний пин (там статический сигнал).

Ситуация улучшилась, но иногда все равно происходит срыв захвата ФАПЧ.

Напрашивается следующий шаг:

подать на ПЛИС сигнал данных через другой LVDS приемник,

убрав его с того, через который принимается тактовая.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не могу утверждать, но сложилось впечатление, что pll у Альтер (циклон 3-4, стратикс 3) достаточно "слабая" - чувствительна к шумам и т.д.

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

еще советую продублировать lock (хотя бы для проверки во время отладки) - он не всегда срабатывает: например, запустить два достаточно длинных счетчика, один от гарантированного такта, другой с этой pll и проверять их отношение

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Раз оба сигнала проходят через один буфер, и разрыв второго сигнала лишь уменьшает вероятность проблемы, то вывод очевиден - проблема в работе этого буфера. А как устроено у вас питание этого буфера?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не могу утверждать, но сложилось впечатление, что pll у Альтер (циклон 3-4, стратикс 3) достаточно "слабая" - чувствительна к шумам и т.д.

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

еще советую продублировать lock (хотя бы для проверки во время отладки) - он не всегда срабатывает: например, запустить два достаточно длинных счетчика, один от гарантированного такта, другой с этой pll и проверять их отношение

Да, замечал такое - идентичная плата, различие только в ПЛИС, локация ПЛИС на плате та же.

Spartan-6 работал без сбоев, а Cyclone-3/4 редко но сбоили pll и иногда загадочным образом детектировалось SEU, похоже слетала прошивка. Качество питания проверяли, sso также. А всеравно, в похожих условиях Spartan-ы ни разу не сбоили

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Cyclone-3/4 редко но сбоили pll

А частота входного клока pll какая была?

 

У меня сложилось впечатление, что для входных клоков <50МГц мегавизард неправильно конфигурирует pll,

в таком случае укзываю 50МГц, нормально получается.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...