реклама на сайте
подробности

 
 
> Spartan-6 и АЦП 210MSPS., Valid data window?
Voloh
сообщение Jan 19 2012, 14:41
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 11-12-06
Пользователь №: 23 370



Всем привет.
Необходимо использовать АЦП на 210МГц вместе со Spartan-6. Выбор пал на AD9613-210.
DS: http://www.analog.com/static/imported-file...eets/AD9613.pdf
Мне не понятны параметры времянок(

Data Propagation Delay (tPD) 4.8 ns
DCO Propagation Delay (tDCO) 5.5 ns
DCO to Data Skew (tSKEW) 0.3 ... 0.7 ... 1.1 ns

Чтобы АЦП подходило по времянкам, я должен видеть, что окно валидных данных на выходе АЦП больше, чем Tsetup + Thold на входе ПЛИС. Не забываем также и про всевозможные джиттеры.
А какое оно, это окно? Допустим, данные станут валидными за 1.1ns (либо за 0.3ns) до переключения сопровождающего их клока. Но здесь не указано через сколько ns после фронта данные перестанут быть валидны и начнут переключаться на следующее слово.

Смотрел Техасовские АЦП. У них иная система параметров - указываются выходные Tsetup и Thold, которые обеспечивает микросхема относительно фронта своего клока.
А тут вот непонятно..

И второй вопрос:
Какой запас по сетапу и холду на входе ПЛИС необходимо иметь, чтобы был гарантированный прием от АЦП. +/- 10% от периода достаточно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
BlackOps
сообщение Jan 26 2012, 08:09
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



В спартан6 например ести примитива ИДДР2, это флип-флоп работающий в режиме ДДР. Ставите ПЛЛ, регенерируете клоки входные, подаете эти клоки на ИДДР2 (или аналогичную примитиву в виртексе), задаете равнение по первому или второму клоку, а дальше тот клок по которому задано равнение подключаете к памяти итд.

Прикрепляю картинку для наглядности.

clk_p и clk_n это клоки поступающие от АЦП, затем первая строка это данные поступающие на 0.5нс раньше, вторая строка если они поступают на 0.5нс позже, третья строка это промежуток времени который включает в себя верные данные вне зависимости от максимальной задержки.

ПЛЛ генерирует смещенные клоки C0 и C1, для захвата данных. C0 и C1 подаются на ИДДР2 как и сами данные (первое слово и второе).

красное поле это промежуток полученный из Даташит Репорт, вобщем он должен быть короче чем зеленый промежуток (валид дата как вы назвали), это означает что ФПГА осиливает АЦП данной скорости.

желтая линия показывает смещение относительно референс клока для того чтобы правильно задать констрейны. Констрейны чтобы правильно задать нужно сгруппировать клоки C0 и C1 и указать смещение их пиков относительно clk_p. А вот сами констрейны:

NET "adc1_clk_p" TNM_NET = "adc1_clk_p";
TIMESPEC TS_adc1_clk_p = PERIOD "adc1_clk_p" 5 ns HIGH 50 %;

NET "adc1_data*" TNM = "IN_DDR";

NET "C0" TNM_NET = "clk0_grp";
NET "C1" TNM_NET = "clk180_grp";
TIMEGRP "IN_DDR" OFFSET = IN -500 ps VALID 1500 ps BEFORE "adc1_clk_p" TIMEGRP "clk0_grp";
TIMEGRP "IN_DDR" OFFSET = IN -3000 ps VALID 1500 ps BEFORE "adc1_clk_p" TIMEGRP "clk180_grp";



Теперь обраите внимание на следующих отрывок из Даташит Репорт:
Data Sheet report:
-----------------
All values displayed in nanoseconds (ns)

Setup/Hold to clock adc1_clk_p
------------+------------+------------+------------+------------+------------------+--------+
|Max Setup to| Process |Max Hold to | Process | | Clock |
Source | clk (edge) | Corner | clk (edge) | Corner |Internal Clock(s) | Phase |
------------+------------+------------+------------+------------+------------------+--------+
adc1_data_n | -0.515®| SLOW | 1.831®| FAST |C0 | 1.250|
| -3.010®| SLOW | 4.257®| FAST |C1 | 3.750|
adc1_data_p | -0.516®| SLOW | 1.831®| FAST |C0 | 1.250|
| -3.011®| SLOW | 4.257®| FAST |C1 | 3.750|
------------+------------+------------+------------+------------+------------------+--------+


Из этого даташит репорта можно определить требование Setup/Hold, и то каким образом ИСЕ сгенерирует Слэки:

1.250ns - 0.515ns = 0.735ns Setup time, поэтому Setup Slack для группы "C0" укасзан как: 0.75ns-0.735ns = 0.015ns

1.831ns - 1.250ns = 0.581ns Hold time, поэтому Hold Slack для группы "C0" указан как: 0.75ns-0.581ns = 0.169ns



3.750ns - 3.010ns = 0.740ns Setup time, поэтому Setup Slack для группы "C1" указан как: 0.75ns-0.740ns = 0.010ns

4.257ns - 3.750ns = 0.507ns Hold time, поэтому Hold Slack для группы "C1" указан как: 0.75ns-0.507ns = 0.243ns


Исходя из выделенных цифр и составлена красное поле на диаграмме.


Я вижу у вас АЦП немного другой, но если принцип уже ясен то разобратся можно очень быстро.


А с варьированием Delay думаю не стоит вообще связыватся.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 19:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.0136 секунд с 7
ELECTRONIX ©2004-2016