|
Плавает задержка то ли клоков то ли данных, Прием данных от АЦП |
|
|
|
Mar 20 2013, 15:02
|
Знающий
   
Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965

|
Имеется FPGA (Arria 2), которая принимает данные от АЦП (по lvds) на относительно небольших частотах 150-200МГц DDR (то есть клок 200, данные 400). Клок приходит от того же АЦП с некоторым фазовым сдвигом относительно данных. Изначально пытался принимать данные этим же клоком варьируя задержку по данным во входных пинах. Качественно не вышло - списал все на собственную тупость и недостаточное знакомство с таймквестом. Теперь добавил по входу клока PLL, кручу фазу тактового сигнала, им и сэмплирую входные данные. Все хорошо, нашел допустимое окно по сдвигу фазы клока, при котором сигналы не ломаются, выбрал среднее значение, сижу радуюсь. Запускаю тот же проект на другой плате - не работает, оптимальная фаза сильно уехала, так что окна вообще не перекрываются. У меня есть несколько вариантов кто виноват: 1) изменение задержек между клоком и данными по выходу АЦП - вполне может быть, но макимально возможное изменение прописанное в даташите на АЦП в потора раза меньше, чем получилось у меня. Попробую проверить осциллом. 2) Ошибки при фазовой подстройке PLL - в даташите было что-то про 50 пс. Несущественно. Что еще? Считаем, что внешние условия одинаковые, 300 по Кельвину, ветер умеренный, погода на Марсе стабильна.
И главный вопрос - что делать? У меня идей пока только две и обе мне не нравятся своей бесперспективностью для общего случая: 1) откалибровать каждую плату под свои задержки. 2) реализовать динамическую подстройку
|
|
|
|
|
 |
Ответов
|
Mar 20 2013, 15:33
|
Частый гость
 
Группа: Свой
Сообщений: 94
Регистрация: 28-11-12
Из: Москва
Пользователь №: 74 605

|
Цитата(alexadmin @ Mar 20 2013, 18:02)  2) реализовать динамическую подстройку Чем не нравится этот вариант? Мы применяли данный вариант, работает вполне себе хорошо. Даже отслеживает изменения температуры при нагреве платы.
Сообщение отредактировал crono - Mar 20 2013, 15:34
|
|
|
|
|
Mar 20 2013, 15:39
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(crono @ Mar 20 2013, 22:33)  Чем не нравится этот вариант? Мы применяли данный вариант, работает вполне себе хорошо. Даже отслеживает изменения температуры при нагреве платы. На 200 МГц DDR и без этих танцев с бубном всё должно летать. Динамическая подстройка - для предельных частот. Автору : а вы померяйте задержку между приходящим клоком от АЦП и вашим, сдвинутым по фазе на разных платах чтобы понять где рождается проблема - в альтере или в АЦП.
|
|
|
|
Сообщений в этой теме
alexadmin Плавает задержка то ли клоков то ли данных Mar 20 2013, 15:02  crono Цитата(Bad0512 @ Mar 20 2013, 19:39) На 2... Mar 20 2013, 15:54 alexadmin Цитата(crono @ Mar 20 2013, 19:33) Чем не... Mar 21 2013, 05:30  crono Цитата(alexadmin @ Mar 21 2013, 08:30) Ну... Mar 21 2013, 08:44   dm.pogrebnoy Цитата(crono @ Mar 21 2013, 12:44) А для ... Mar 21 2013, 11:16   alexadmin Цитата(crono @ Mar 21 2013, 12:44) А для ... Mar 21 2013, 11:29    crono Цитата(alexadmin @ Mar 21 2013, 14:29) А ... Mar 21 2013, 13:58 TRILLER Ваш PLL запускается в то время, когда от АЦП идёт ... Mar 20 2013, 15:36 Torpeda Цитата(alexadmin @ Mar 20 2013, 19:02) И ... Mar 21 2013, 15:12 krux что-то имхо для 200 МГц DDR - делать динамическую ... Mar 21 2013, 19:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|