Полная версия этой страницы:
Устоичивость работы DLL
Стоит на одной платке Spartan2 и ADSP21065L, запитаны от епсоновского генератора SG8002 - 30МГц. Внутри спартана тактовый сигнал посредством DLL учетверяется. На одной из 5 плат пороявляется следующее: если портить тактовый сигнал вторая DLL-ка перестает умножать. Как ни крутил, при сбоях по тактовой частоте, умножение на два (одна DLL) нормально функционирует, умножение на 4 (две DLL) сбивается. Чтобы приводить DLL-ки в чувства ничего в голову не пришло как разместить в кристалл небольшой частотомер и на основании его измерений приводить DLL-ки в чувства посредством сброса.
ilya79
Nov 17 2004, 18:37
Портиться при старте ПЛИС? тогда:
А SRL на RST 2-й DLL стоит?
Чтобы вторая DLL не хваталась за кривые такты первой DLL нужно сигнал LOCK оной задержать на какое-то время и подать на RST второй DLL (возможно нужно проинвертировать ).
А если во время работы то частотомер единственное средство

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

Основная гипотеза происходящего. По земле аддитируется шумок с тактовым сигналом, причем процессор это воспринимает нормально, а учетверитель не выживает. В итоге хоть я и поставил частотомер со схемой сброса, с моей платы на другие уходят синхросигналы и чем все скажется пока не знаю
ilya79
Nov 18 2004, 19:13
Есть у DLL (если в FPGA Editor посмотреть) какие-то числа которые можно редактировать(Factory settings по-моему) попробуй их подергать. По обьяснениям инженеров Xilinx можно увеличить дрожание вносимое самой DLL, но и увиличить устойчивость к внешнему jitter:)
Попробуй поставить другой генератор (не программируемый, а с фиксированной частотой).
ilya79
Спасибо за наводку, надо попробовать.
Styv
Это не возможно.
berberber
Feb 4 2005, 10:19
Цитата(3.14 @ Nov 17 2004, 20:00)
Стоит на одной платке Spartan2 и ADSP21065L, запитаны от епсоновского генератора SG8002 - 30МГц. Внутри спартана тактовый сигнал посредством DLL учетверяется. На одной из 5 плат пороявляется следующее: если портить тактовый сигнал вторая DLL-ка перестает умножать. Как ни крутил, при сбоях по тактовой частоте, умножение на два (одна DLL) нормально функционирует, умножение на 4 (две DLL) сбивается. Чтобы приводить DLL-ки в чувства ничего в голову не пришло как разместить в кристалл небольшой частотомер и на основании его измерений приводить DLL-ки в чувства посредством сброса.
SG8002 внутри имеет свой фапч от этого и грабли, надо ставить обычный тактовый генератор (не программируемый).
Причиной ваших проблем может быть 1) плохое качество входного сигнала если он идет по несогласованной линии (это имеет очень большое значение - знаю на своей шкуре). попробуйте подать нвход ФПГА сигнал с предельно короткого расстояния без захода на других потребителей клока. 2) несоответствие джиттера генератора требованиям DLL - она штука капризная. Попробуйте выяснить по документации стыкуются ли они по этому параметру. Хоршей проверкой этого может служить использование обычного внешнего генератора. Если от него заработает - причина в вашем генераторе (если я не ошибаюсь у них там чего-то внутри наварочено типа ФАПЧ. т.е. качество его сигнала - вещь в себе). Удачи
<... SG8002 внутри имеет свой фапч от этого и грабли ...>
Первоначально, меня это тоже очень смущало.
Тем не менее, устроствах в 50 работает нормально.
<... несоответствие джиттера генератора ...>
Соответствует.
В общем. Вылечил я это прибавкой по питанию +0.2В (раньше было 3.1, стало 3.3). Основное предположение - хилая согласованность линий + шумы по питанию. Но частотомер я добавил, так что теперь что б этот умножитель "остановить" нужно ОЧЕНЬ постараться.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.