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

 
 
> Проблемы с LVDS приемником., данные постоянно смещены
torik
сообщение Jan 28 2013, 06:38
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Всем привет.

Пытаюсь получить данные от АЦП по LVDS. Ква 12.1, Arria GX

Сперва поставил просто altlvds_rx в режиме с внешней PLL. 8 бит данных два канала.

Выходные данные регистрирую по клоку, в 4 раза ниже чем входной клок данных. Ну и кручу фазу этого клока. В сигналтабе наблюдаю постоянно неверные данные - что-нибудь постоянно на 1 бит смещено. Например вместо 0xC1F0 получаю 0x071E, 0xC187 и т.п. Вроде близко, но не то...

Попробовал то что предлагается вот тут:

http://electronix.ru/forum/index.php?showt...p;#entry1130910

Результат точно такой же.




Попробовал в сигналтаб добавить непосредственно входы LVDS и смотреть на высокой частоте. При этом клоки вижу, а на данных всегда 0 висит. В сигналтабе вообще можно LVDS смотреть?



--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
doom13
сообщение Jun 20 2013, 20:01
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Использовал в своём проекте мегафункцию alt_lvds для приёма данных с АЦП ADS6445 (4 канала, 2 дифпары на канал, frame-clock, bit-clock). Плата была косячно разведена: для данных попутана полярность, после приёма приходилось инвертировать линию, FCLK и DCLK заведены на обычные пины FPGA, не было возможности использовать alt_lvds. Сначала пробовал написать свой десериалайзер, но всё работало криво, данные принимались правильно при частоте DCLK порядка 100 МГц. Поэтому, чтобы чтобы заюзать alt_lvds линии FCLK и DCLK были перепаяны на тактовые входы (благо тактовые входы FPGA были выведены на светодиоды, не предполагалось их использование по-назначению). Всё стало нормально работать даже с использованием инвертирования линий данных, и без использования временных констрейнов (потом уже прописывал). Частота АЦП использовалась 61,44 МГц, т.е. DCLK 61.44 МГц * 8 = 491,52 МГц. Для правильного захвата данных (последовательности бит) использовался Nios, который по SPI управлял АЦП. Подавалась команда на синхронизацию, АЦП выставляла на каждом канале эталонную последовательность, после приёма, принятое значение сравнивалось с образцом, при несовпадении на alt_lvds подавался импульс сдвига на один бит, и так до тех пор, пока принимаемое значение не совпадало с образцом. Таким образом синхронизировался каждый из каналов.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- torik   Проблемы с LVDS приемником.   Jan 28 2013, 06:38
- - vadimuzzz   тот пример, что я приводил, требует правильных кон...   Jan 28 2013, 06:57
- - torik   констрейны, признаюсь, пока не прописал. Есть вари...   Jan 28 2013, 06:58
- - vadimuzzz   Код# 120 MHz #************************************...   Jan 28 2013, 07:03
- - gosu-art   А LVDS DDR работающие на вход можно заводить тольк...   Jan 28 2013, 08:08
|- - vadimuzzz   Цитата(gosu-art @ Jan 28 2013, 15:08...   Jan 28 2013, 08:09
- - torik   Что-то с констрейнами не понимаю опять, помогите р...   Jan 28 2013, 09:24
- - vadimuzzz   так выкиньте этот fclk у себя. у меня он с ноги по...   Jan 28 2013, 09:33
- - torik   Цитататак выкиньте этот fclk у себя. у меня он с н...   Jan 28 2013, 09:41
|- - vadimuzzz   Цитата(torik @ Jan 28 2013, 16:41) Он как...   Jan 28 2013, 09:46
- - torik   derive_pll_clocks -create_base_clocks прописан. Во...   Jan 28 2013, 10:38
|- - vadimuzzz   Цитата(torik @ Jan 28 2013, 17:38) Но кло...   Jan 28 2013, 11:39
- - torik   Я вернулся к altlvds, внутри которой вроде бы таже...   Jan 28 2013, 11:46


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

 


RSS Текстовая версия Сейчас: 8th August 2025 - 23:57
Рейтинг@Mail.ru


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