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

 
 
> Плавает задержка то ли клоков то ли данных, Прием данных от АЦП
alexadmin
сообщение Mar 20 2013, 15:02
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



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

И главный вопрос - что делать?
У меня идей пока только две и обе мне не нравятся своей бесперспективностью для общего случая:
1) откалибровать каждую плату под свои задержки.
2) реализовать динамическую подстройку
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
crono
сообщение Mar 20 2013, 15:33
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 94
Регистрация: 28-11-12
Из: Москва
Пользователь №: 74 605



Цитата(alexadmin @ Mar 20 2013, 18:02) *
2) реализовать динамическую подстройку

Чем не нравится этот вариант? Мы применяли данный вариант, работает вполне себе хорошо. Даже отслеживает изменения температуры при нагреве платы.

Сообщение отредактировал crono - Mar 20 2013, 15:34
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Mar 20 2013, 15:39
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(crono @ Mar 20 2013, 22:33) *
Чем не нравится этот вариант? Мы применяли данный вариант, работает вполне себе хорошо. Даже отслеживает изменения температуры при нагреве платы.

На 200 МГц DDR и без этих танцев с бубном всё должно летать. Динамическая подстройка - для предельных частот.

Автору : а вы померяйте задержку между приходящим клоком от АЦП и вашим, сдвинутым по фазе на разных платах чтобы понять где рождается проблема - в альтере или в АЦП.
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Mar 21 2013, 11:15
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(Bad0512 @ Mar 20 2013, 19:39) *
Автору : а вы померяйте задержку между приходящим клоком от АЦП и вашим, сдвинутым по фазе на разных платах чтобы понять где рождается проблема - в альтере или в АЦП.


Померял и несколько удивлен результатом - разбег клок/данные на двух разных платах получился в районе 200пс. В то время как настройку PLL в них приходится крутить на 1000-1200пс. Выходит что дело и правда в FPGA, хоть мне это и странно...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 11:18
Рейтинг@Mail.ru


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