|
Проблема приема данных Spartan-6 от АЦП |
|
|
|
Nov 26 2013, 13:39
|
Местный
  
Группа: Участник
Сообщений: 229
Регистрация: 16-11-09
Пользователь №: 53 649

|
Требуется принять поток данных в SPARTAN-6 с двухканальной АЦП LTC2195. Частота 100 МГц, режим DDR 4 lane, т.е данные в АЦП приходят с частотой 200 МГц по переднему и заднему фронту.
Это второй релиз платы (разводка сильно не менялась). В первом релизе, потратив много времени, удалось подобрать смещение фазы DCO (такт с АЦП) с помощью DCM (PHASE_SHIFT). В последнем релизе сделать это не удается. Видно искажение входного сигнала. Пытались подобрать фазу DCO, закреплять в PlanAhead, но безрезультатно. Бывает, что при определенном значении Phase Shift данные принимаются верно, но достаточно что-нибудь поменять в проекте, как все "уезжает". В чем может таиться ошибка? Как лучше организовать прием? Файл с исходным кодом:
ADC2195_receiver.vhd ( 9.53 килобайт )
Кол-во скачиваний: 638
|
|
|
|
|
 |
Ответов
|
Dec 20 2013, 13:01
|
Частый гость
 
Группа: Участник
Сообщений: 78
Регистрация: 5-07-11
Пользователь №: 66 068

|
Здравствуйте. В ПЛИС новичок. Изучаю вопрос подключения АЦП к ПЛИС (V6) по LVDS. Сигнал DCO+/- предполагается 448 МГц (не дотягивает до GTH). FCO+/- - 64 МГц (т.е. 14 битов данных в режиме DDR по одному каналу). Надо , видимо, принимать на IO Tile и делать преобразователь из последовательных данных в параллельные. Нашел документ xapp1071_v6_adc_dac_lvds.pdf там для сохранения временных соотношений между DCO, FCO и D предлагается схема с автоподстройкой временной задержки тактового сигнала согласно следующему рисунку (прикрепил) А в документе ds152_DC_and_Switching_Characteristics для IODELAY указан параметр T_IODELAY_CLK_MAX = 300 МГц (у меня speed grade -1). Означает ли это, что ПЛИС с таким показателем скорости не подойдет для приема сигнала с указанной тактовой частотой (448 МГц)? Спасибо.
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 22 2013, 05:01
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(Mityan @ Dec 20 2013, 20:01)  Здравствуйте. В ПЛИС новичок. Изучаю вопрос подключения АЦП к ПЛИС (V6) по LVDS. Сигнал DCO+/- предполагается 448 МГц (не дотягивает до GTH). FCO+/- - 64 МГц (т.е. 14 битов данных в режиме DDR по одному каналу). Надо , видимо, принимать на IO Tile и делать преобразователь из последовательных данных в параллельные.
Нашел документ xapp1071_v6_adc_dac_lvds.pdf
там для сохранения временных соотношений между DCO, FCO и D предлагается схема с автоподстройкой временной задержки тактового сигнала согласно следующему рисунку (прикрепил)
А в документе ds152_DC_and_Switching_Characteristics для IODELAY указан параметр T_IODELAY_CLK_MAX = 300 МГц (у меня speed grade -1). Означает ли это, что ПЛИС с таким показателем скорости не подойдет для приема сигнала с указанной тактовой частотой (448 МГц)?
Спасибо. Это немного другие 300МГц. Дело в том, что макросу IODELAY для работы ещё необходим блок упарвления IODELAY_CTRL, которому как раз для успешной работы нужны независимые клоки в районе 200МГц. Ну а цифра 300 - это похоже верхний предел для этих клоков.
|
|
|
|
|
Dec 22 2013, 18:31
|
Частый гость
 
Группа: Участник
Сообщений: 78
Регистрация: 5-07-11
Пользователь №: 66 068

|
Цитата(Bad0512 @ Dec 22 2013, 07:01)  Это немного другие 300МГц. Дело в том, что макросу IODELAY для работы ещё необходим блок упарвления IODELAY_CTRL, которому как раз для успешной работы нужны независимые клоки в районе 200МГц. Ну а цифра 300 - это похоже верхний предел для этих клоков. То есть правильно ли я понимаю, что внутри IODELAY линия задержки с 32 отводами обеспечивает задержку входного сигнала от 1/64 до 1/2 периода опорной тактовой частоты? Если я не могу завести на тактовый вход 448 непосредственно, как примере, то можно, разделив ее на 2 (в BUFR), завести 224 МГц и получить 32 отвода ЛЗ уже не на полпериода, а на целый период интересующей частоты 448 (от 1/32 до 1)?
|
|
|
|
Сообщений в этой теме
maxics Проблема приема данных Spartan-6 от АЦП Nov 26 2013, 13:39 TRILLER А вы входные триггеры в "лапы" поместили... Nov 26 2013, 13:59 maxics Цитата(TRILLER @ Nov 26 2013, 16:59) А вы... Nov 26 2013, 14:21  Maverick Цитата(maxics @ Nov 26 2013, 16:21) Что е... Nov 26 2013, 14:33   elzaro Цитата(Maverick @ Nov 26 2013, 17:33) лап... Nov 26 2013, 16:27  o_khavin Цитата(maxics @ Nov 26 2013, 18:21) Что е... Nov 26 2013, 16:35   maxics Сделал все как было написано выше. Такт пускаю чер... Dec 6 2013, 06:33    o_khavin Цитата(maxics @ Dec 6 2013, 10:33) Сделал... Dec 8 2013, 08:43     XVR Цитата(o_khavin @ Dec 8 2013, 12:43) А на... Dec 8 2013, 14:00      o_khavin Цитата(XVR @ Dec 8 2013, 18:00) Смотрел, ... Dec 8 2013, 15:20       XVR Цитата(o_khavin @ Dec 8 2013, 19:20) Во п... Dec 9 2013, 09:44        o_khavin Цитата(XVR @ Dec 9 2013, 13:44) Пока ТС н... Dec 10 2013, 19:56 dmitry-tomsk Цитата(maxics @ Nov 26 2013, 16:39) Требу... Nov 26 2013, 14:07 Bad0512 Цитата(maxics @ Nov 26 2013, 20:39) Требу... Nov 26 2013, 16:34 XVR Судя по этим строкам в отчете -
ЦитатаData Path De... Dec 6 2013, 09:48 TRILLER Извините, со спартанами не работал, но.. каким обр... Dec 9 2013, 10:19 maxics Между IDDR2 и данными никакой доп. логики нет. Это... Dec 11 2013, 10:27 TRILLER Хм.. А в обратной связи, значит, оставили? Может п... Dec 12 2013, 06:20   Bad0512 Цитата(Mityan @ Dec 23 2013, 01:31) То ес... Dec 23 2013, 04:51    Mityan Цитата(Bad0512 @ Dec 23 2013, 06:51) Не с... Dec 23 2013, 06:35     Timmy Цитата(Mityan @ Dec 23 2013, 10:35) По по... Dec 23 2013, 07:22     Bad0512 Цитата(Mityan @ Dec 23 2013, 13:35) ПЛИС ... Dec 23 2013, 08:09 Mityan Большое спасибо за идею по поводу понижения тактов... Dec 23 2013, 13:24 Mityan Нашел еще один несколько похожий документ - харр88... Dec 24 2013, 09:32
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|