Перейти к содержанию
    

ALTLVDS_RX

Хочу принять DVI сигнал от ПК и передать на LVDS матрицу.

C выводом изображения на матрицу проблем нет, тестовая картинка спокойно выводиться из фреймбуфера(в буфер картинку гружу по UART) и отображается на матрице.

Теперь настало время принимать поток данных от DVI источника и передавать их на матрицу.

Для принятия DVI сигнала планирую использовать модуль ALTLVDS_RX.

После принятия DVI сигнала необходимо выровнять фазы синхросигнала и потока данных.

Но столкнулся с полным непониманием, как ALTLVDS_RX замешивает данные со входа на выход. Никакой толковой информации в LVDS SERDES Transmitter/Receiver IP Cores User Guide я не нашёл.

Хотелось бы спросить более опытных коллег, в какую сторону смотреть.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хочу принять 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое ! Буду изучать. Хотя не всё можно будет перенести на Altera....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вроде разобрался.

Основная проблема была в неправильном понимании настройки "Use external PLL" под которой я понимал PLL, который выполнен в виде отдельной микросхемы.

Т.е внешний PLL - тот который не внутри ПЛИС.

Эта была ошибка, поскольку в данном модуле имеется ввиду будет ли создаваться внутри ядра свой PLL или нет. Неправильная трактовка фразы привела к неправильным настройкам модуля - и как следствие непонятной абракадабры на выходе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вроде разобрался.

Основная проблема была в неправильном понимании настройки "Use external PLL" под которой я понимал PLL, который выполнен в виде отдельной микросхемы.

Т.е внешний PLL - тот который не внутри ПЛИС.

Эта была ошибка, поскольку в данном модуле имеется ввиду будет ли создаваться внутри ядра свой PLL или нет. Неправильная трактовка фразы привела к неправильным настройкам модуля - и как следствие непонятной абракадабры на выходе.

мои поздравления :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мои поздравления :)

Да беда с этим модулем, кучу времени убил, чтобы разобраться. Юзергайд содержит крайне скудную информацию, до многого приходиться просто догадываться. Картинок красивых не хватает :smile3046: Но ничего, трудную задачу тем интереснее решать, чем она сложнее.

Изменено пользователем Flip-fl0p

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю, что сложного Вы нашли в этом ядре, у нас оно во всю используется для приёма данных с АЦП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю, что сложного Вы нашли в этом ядре, у нас оно во всю используется для приёма данных с АЦП.

Ничего сложного если знать как с ним работать.

Я разобрался с ним - и теперь мне тоже кажется ничего сложного в этом модуле нет.

У меня сложности возникли из-за:

1. Нет примеров использования его работы. Во всяком случае если в google вбить запрос "ALTLVDS_RX example" ничего толкового запрос не покажет.

2. В userguide нет времянок и картинок поясняющих его работу, только текстовое описание настроек.

3. Т.к. userguide на английском можно неправильно перевести настройки этого модуля. Но это уже проблемы человека, плохо знающего английский.

На самом деле действительно сложного ничего нет, если разобраться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Снова подниму эту тему.

Сегодня случайно обнаружил при моделировании в Modelsim, что модуль ALTLVDS_RX с внешним PLL и коэффициентом десериализации = 10 (т.е. SDR приём) защёлкивает данные по заднему фронту частоты... При этом в Cores User Guide я не нашел описания каким фронтом должны защелкиваться данные.

Можно ли доверять результатам моделирования ?

Изменено пользователем Flip-fl0p

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...