Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Почему падает сигнал LOCK блока DCM?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
maphin
Кристал Virtex2-3000-4c, степень заполнения 99%, из них 93% тгиггеры.
Блок DCM на входе 25МГц, на выходе 100МГц, обратная связь по CLK0, сброс не использован.
При работе схемы, т.е. при после сигнала запуска схемы, гаснет светодиод LOCK и потребление тока схемой становится ниже, значения после загрузки конфигурации в ПЛИС.
Кто сталкивался с подобным и каковы возможные причины останова тактовой частоты(сигнал LOCK в "нуле") блока DCM?
RobFPGA
У меня было такое на XCV2-1000 . При работе LVDS приемника (вход DCM- 60 MHz выход 420 MHZ). Проблема оказалась в напряжении питании ядра. Микросхема стабилизатора (LP3966) которая использовалась периодически выключалась на 10-50 мкс под действием импульсных помех со стороны ВХОДНОГО напряжения 3.3 В !!! При этом напряжение питания ядра снижалось на 100-200 мВ. Прошивка при этом не сбрасывалась, а вот LOCK у DCM слетал со всеми вытекающими последствиями :-(. Вылечилось заменой стабилизатора на LT-1764.

Как оказалось ВСЕ микросхемы LP3966 (8 шт) которые стояли на платах вели себя аналогично :-(.

Успехов! Rob.
kilgor
Цитата(maphin @ Jul 1 2005, 10:57)
Блок DCM на входе 25МГц, на выходе 100МГц, обратная связь по CLK0, сброс не использован.
Кто сталкивался с подобным и каковы возможные причины останова тактовой частоты(сигнал LOCK в "нуле") блока DCM?
*


Как уже упоминалось, сбои в работе DCM, отражающиеся в сбросе LOCK могут быть вызваны проблемами с питанием (уровни, помехи).
Уверены ли Вы в качестве входного сигнала (с точки зрения дрожания?) и работает ли нормально синтезатор в "пустой" микросхеме?
maphin
Кстати в системе есть вторая тактовая частота 35МГц, так вот проект, отлично работает при 35*3=105МГц, генератор 35 Мгц и 25 МГц, одного типа, но надо получить ровно 100МГц!

Почему падает DCM именно при 25*4=100МГц, непонятно!

Проект при 25*2=50МГц-работает, сейчас разводиться 25*5=125МГц, но это если разведется, т.к заполнение 99%.

Синтезатор, работате нормально, т.к. проект разведенный по объему на 3/4 от исходного работает великолепно!
kilgor
Цитата(maphin @ Jul 4 2005, 14:34)
Кстати в системе есть вторая тактовая частота 35МГц, так вот проект, отлично работает при 35*3=105МГц, генератор 35 Мгц и 25 МГц, одного типа, но надо получить ровно 100МГц!

*

а если разделить на 7 и умножить на 20?
maphin
Цитата(kilgor @ Jul 4 2005, 18:00)
а если разделить на 7 и умножить на 20?
*

Да, забыл сказать, такой вариант просто не разводиться, на заданную частоту(100МГц), хотя больше изменений в проекте не делается.
Сейчас проблему обошли таким образом: стоит 2 DCM блока 2*25=50МГц*2=100МГц, пока работает, но ИМХО попахивает шаманством <_<
Uuftc
Цитата(maphin @ Jul 1 2005, 10:57)
Кто сталкивался с подобным и каковы возможные причины останова тактовой частоты(сигнал LOCK в "нуле") блока DCM?
*

Закончил аналогичные мучения со Spartan3 - DCM начинал генерить, а потом замолкал... дело было в питании - спасла дополнительная керамика.
Люди! берегите VCCAUX! cool.gif
leevv
Цитата(Uuftc @ Jul 29 2005, 06:30)
Цитата(maphin @ Jul 1 2005, 10:57)
Кто сталкивался с подобным и каковы возможные причины останова тактовой частоты(сигнал LOCK в "нуле") блока DCM?
*

Закончил аналогичные мучения со Spartan3 - DCM начинал генерить, а потом замолкал... дело было в питании - спасла дополнительная керамика.
Люди! берегите VCCAUX! cool.gif
*




Gde to ja chital chto dlja DCM vagno chtoby input clk imel 50 % duty cycle.
Osobenno dlja V2. V S3 i dalee v V4 oni tam chto to uluchshali, v tom chisle i po vospriimchivosti k pomexam na pitanii.
eteP
А разве DCM in Virtex II может залочить 25 МГц?
Вроде как минимум у него 28 МГц. Я могу ошибаться, завтра гляну в даташит.
И еще иногда бывают проблемы, если стоит опция duty cycle correction. Если вам это не кретично, то лучше убрать. Иногда DCM не стартует. Бывает очень редко, но бывает. Может у меня борт кривой или еще что, но случается.
DmitryR
Цитата(maphin @ Jul 1 2005, 11:57)
Блок DCM на входе 25МГц,  сброс не использован.

1. У него граничная частота 24 МГц, поэтому 25 я бы использовать не стал. Просто на всякий случай. Уж больно впритык.
2. Xilinx при использовании CLKFB категорически рекомендует использовать сброс. Я сделал так: поставил счетчик, который тактируется прямо входным сигналом (CLKIN), и, если LOCK=0, то на RST подается импульс. И так пока не залочится. Это может и нехорошо, так как вносит дополнительный скос между реальной частотой и CLKIN (так как увеличивается нагрузка на него), однако не всем важна синхронизация с внешними устройствами, да и выровнять этот скос можно с помощью фиксированного сдвига фазы той же PLL.
maphin
Цитата(DmitryR @ Aug 23 2005, 14:21)
Цитата(maphin @ Jul 1 2005, 11:57)
Блок DCM на входе 25МГц,  сброс не использован.

1. У него граничная частота 24 МГц, поэтому 25 я бы использовать не стал. Просто на всякий случай. Уж больно впритык.
2. Xilinx при использовании CLKFB категорически рекомендует использовать сброс. Я сделал так: поставил счетчик, который тактируется прямо входным сигналом (CLKIN), и, если LOCK=0, то на RST подается импульс. И так пока не залочится. Это может и нехорошо, так как вносит дополнительный скос между реальной частотой и CLKIN (так как увеличивается нагрузка на него), однако не всем важна синхронизация с внешними устройствами, да и выровнять этот скос можно с помощью фиксированного сдвига фазы той же PLL.
*


1. При использовании вывода CLKFX как было использовано (см. 1-й пост), работает Digital Frequency Synthesizer (DFS), а унего входная частоста с 1 МГц!
К тому-же плата чужая, перепаивать исходный генератор нельзя.
2. Xilinx категорически рекомендует использовать сброс только при external feedback, о чем выводится предупреждениие при создании DCM с помощью CoreGen, если feedback внутренний, как в данном случае, то выводится сообщение(не предупреждение) что он будет сброшен только после конфигурации.
Идея со сбросом с помощью счетчика мне понравилась! Однако думаю проблема не в этом, т.к. DCM блок заводиться всегда!, но падает LOCK, только в процессе работы схемы и то не сразу.
Скорее всего, действительно проблема в не совсем качесвенном питании, т.к. схема очень много потребляет энергии, что в итоге приводит возможно к некоторой просадке питания.
DmitryR
Цитата(maphin @ Aug 24 2005, 11:33)
1. При использовании вывода CLKFX как было использовано (см. 1-й пост), работает Digital Frequency Synthesizer (DFS), а унего входная частоста с 1 МГц!

Первый пост гласит
Цитата(maphin @ Jul 4 2005, 14:34)
обратная связь по CLK0

а она делается через DLL, у которой 24МГц. 1МГц можно давать, если используется ТОЛЬКО CLKFX.

Цитата(maphin @ Aug 24 2005, 11:33)
К тому-же плата чужая, перепаивать исходный генератор нельзя.

Можно поставить каскадом две PLL внутри, в одной через CLKFX без обратной связи поднять эти 25МГц до чего-нибудь надежного, а второй делать все остальное. Я бы, по крайней мере, попробовал, чтобы удостоверится, что проблема не в этом.

Цитата(maphin @ Aug 24 2005, 11:33)
но падает LOCK, только в процессе работы схемы и то не сразу.
Скорее всего, действительно проблема в не совсем качесвенном питании, т.к. схема очень много потребляет энергии

А может, греется и теряет LOCK при 25МГц. Ведь при нагреве параметры уплывают существенно.
То, что схема потребляет много энергии в статике, к просадке питания обычно само по себе не приводит. Питание просаживают резкие скачки в потреблении (при одновременном переключении большой шины из все 0 во все 1 или обратно, например). Также это ведет к такому эффекту, как ground bouncing (который не убирается с помощью конденсаторов, как просадка питания). Так как земля у Вас, наверное, на всех одна, ее прыжок из-за IO может действительно убить все остальное, включая и прошивку.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.