Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ALTLVDS_RX
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Flip-fl0p
Хочу принять DVI сигнал от ПК и передать на LVDS матрицу.
C выводом изображения на матрицу проблем нет, тестовая картинка спокойно выводиться из фреймбуфера(в буфер картинку гружу по UART) и отображается на матрице.
Теперь настало время принимать поток данных от DVI источника и передавать их на матрицу.
Для принятия DVI сигнала планирую использовать модуль ALTLVDS_RX.
После принятия DVI сигнала необходимо выровнять фазы синхросигнала и потока данных.
Но столкнулся с полным непониманием, как ALTLVDS_RX замешивает данные со входа на выход. Никакой толковой информации в LVDS SERDES Transmitter/Receiver IP Cores User Guide я не нашёл.
Хотелось бы спросить более опытных коллег, в какую сторону смотреть.

Maverick
Цитата(Flip-fl0p @ May 16 2017, 11:01) *
Хочу принять DVI сигнал от ПК и передать на LVDS матрицу.
C выводом изображения на матрицу проблем нет, тестовая картинка спокойно выводиться из фреймбуфера(в буфер картинку гружу по UART) и отображается на матрице.
Теперь настало время принимать поток данных от DVI источника и передавать их на матрицу.
Для принятия DVI сигнала планирую использовать модуль ALTLVDS_RX.
После принятия DVI сигнала необходимо выровнять фазы синхросигнала и потока данных.
Но столкнулся с полным непониманием, как ALTLVDS_RX замешивает данные со входа на выход. Никакой толковой информации в LVDS SERDES Transmitter/Receiver IP Cores User Guide я не нашёл.
Хотелось бы спросить более опытных коллег, в какую сторону смотреть.

личка
+
https://github.com/hamsternz/Artix-7-HDMI-processing
Flip-fl0p
Цитата(Maverick @ May 16 2017, 11:37) *

Спасибо большое ! Буду изучать. Хотя не всё можно будет перенести на Altera....
Flip-fl0p
Вроде разобрался.
Основная проблема была в неправильном понимании настройки "Use external PLL" под которой я понимал PLL, который выполнен в виде отдельной микросхемы.
Т.е внешний PLL - тот который не внутри ПЛИС.
Эта была ошибка, поскольку в данном модуле имеется ввиду будет ли создаваться внутри ядра свой PLL или нет. Неправильная трактовка фразы привела к неправильным настройкам модуля - и как следствие непонятной абракадабры на выходе.
Maverick
Цитата(Flip-fl0p @ May 17 2017, 12:02) *
Вроде разобрался.
Основная проблема была в неправильном понимании настройки "Use external PLL" под которой я понимал PLL, который выполнен в виде отдельной микросхемы.
Т.е внешний PLL - тот который не внутри ПЛИС.
Эта была ошибка, поскольку в данном модуле имеется ввиду будет ли создаваться внутри ядра свой PLL или нет. Неправильная трактовка фразы привела к неправильным настройкам модуля - и как следствие непонятной абракадабры на выходе.

мои поздравления sm.gif
Flip-fl0p
Цитата(Maverick @ May 17 2017, 20:27) *
мои поздравления sm.gif

Да беда с этим модулем, кучу времени убил, чтобы разобраться. Юзергайд содержит крайне скудную информацию, до многого приходиться просто догадываться. Картинок красивых не хватает smile3046.gif Но ничего, трудную задачу тем интереснее решать, чем она сложнее.
doom13
Не знаю, что сложного Вы нашли в этом ядре, у нас оно во всю используется для приёма данных с АЦП.
Flip-fl0p
Цитата(doom13 @ May 17 2017, 23:42) *
Не знаю, что сложного Вы нашли в этом ядре, у нас оно во всю используется для приёма данных с АЦП.

Ничего сложного если знать как с ним работать.
Я разобрался с ним - и теперь мне тоже кажется ничего сложного в этом модуле нет.
У меня сложности возникли из-за:
1. Нет примеров использования его работы. Во всяком случае если в google вбить запрос "ALTLVDS_RX example" ничего толкового запрос не покажет.
2. В userguide нет времянок и картинок поясняющих его работу, только текстовое описание настроек.
3. Т.к. userguide на английском можно неправильно перевести настройки этого модуля. Но это уже проблемы человека, плохо знающего английский.
На самом деле действительно сложного ничего нет, если разобраться.
Flip-fl0p
Снова подниму эту тему.
Сегодня случайно обнаружил при моделировании в Modelsim, что модуль ALTLVDS_RX с внешним PLL и коэффициентом десериализации = 10 (т.е. SDR приём) защёлкивает данные по заднему фронту частоты... При этом в Cores User Guide я не нашел описания каким фронтом должны защелкиваться данные.
Можно ли доверять результатам моделирования ?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.