|
HDMI receiver, Прием данных по hdmi от видеокарты |
|
|
|
Jul 11 2018, 07:10
|
Местный
  
Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312

|
Добрый день! Поделитесь опытом, кто работал с hdmi на ПЛИС. Сделал свой HDMI передатчик на 720p 74.25 MHz. Подключаю к монитору, наблюдаю кадры, которые формирую с заданным разрешением. Сделал свой HDMI приемник на 720p 74.25 MHz. На вход подключил выход своего передатчика. Chipscope вылавливаю данные, которые отправляю.
Подаю на вход приемника выход видеокарты компьютера, при этом разрешение экрана задаю 720p. Выловить данные не могу (даже пиксельклока нет).
Вопрос: видеокарта генерирует пиксельклок постоянной частоты (максимальной), независимо от выставляемого разрешения экрана?
В качестве источника видеосигнала могу использовать HDMI transmiter с MAX 10 Development kit. HDMI выполнен на микросхеме ADV7513. Кто нибудь запускал данную микросхему? Генерирую видеоданные параллельной шиной (hsync, vsync, de, rgb[23:0]) но видео сигнала на выходе HDMI нет. Там еще I2C интерфейс для конфигурирования контрольных регистров. Может есть у кого готовый паттерн по I2C для запуска микросхемы? Интересует 480p или 720p для RGB.
|
|
|
|
|
 |
Ответов
(1 - 14)
|
Jul 11 2018, 10:33
|
Местный
  
Группа: Свой
Сообщений: 284
Регистрация: 21-01-05
Пользователь №: 2 104

|
Цитата(Alexey_Rostov @ Jul 11 2018, 10:10)  Добрый день! Поделитесь опытом, кто работал с hdmi на ПЛИС. Сделал свой HDMI передатчик на 720p 74.25 MHz. Подключаю к монитору, наблюдаю кадры, которые формирую с заданным разрешением. Сделал свой HDMI приемник на 720p 74.25 MHz. На вход подключил выход своего передатчика. Chipscope вылавливаю данные, которые отправляю.
Подаю на вход приемника выход видеокарты компьютера, при этом разрешение экрана задаю 720p. Выловить данные не могу (даже пиксельклока нет).
Вопрос: видеокарта генерирует пиксельклок постоянной частоты (максимальной), независимо от выставляемого разрешения экрана?
В качестве источника видеосигнала могу использовать HDMI transmiter с MAX 10 Development kit. HDMI выполнен на микросхеме ADV7513. Кто нибудь запускал данную микросхему? Генерирую видеоданные параллельной шиной (hsync, vsync, de, rgb[23:0]) но видео сигнала на выходе HDMI нет. Там еще I2C интерфейс для конфигурирования контрольных регистров. Может есть у кого готовый паттерн по I2C для запуска микросхемы? Интересует 480p или 720p для RGB. EDID у вас правильно прописан?
|
|
|
|
|
Jul 11 2018, 10:50
|
Местный
  
Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312

|
Цитата(Volkov @ Jul 11 2018, 13:33)  EDID у вас правильно прописан? Можно поподробней? Речь идет о параметрах монитора, настраиваемых в ПК или самом мониторе?
|
|
|
|
|
Jul 11 2018, 12:39
|
Местный
  
Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312

|
Цитата(aaarrr @ Jul 11 2018, 14:44)  Ваш HDMI-приемник должен содержать EEPROM (или эмулятор) с корректной информацией EDID. В противном случае карта ничего выдавать и не станет. То есть помимо TMDS с десериализатором в приемнике должен быть реализован I2C слейв, через который видеокарта вычитывает информацию о мониторе? После этого карта генерирует соответствующий пиксельклок и параллельные видеоданные.
|
|
|
|
|
Jul 11 2018, 12:47
|

В поисках себя...
   
Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140

|
Цитата(Alexey_Rostov @ Jul 11 2018, 15:39)  То есть помимо TMDS с десериализатором в приемнике должен быть реализован I2C слейв, через который видеокарта вычитывает информацию о мониторе? После этого карта генерирует соответствующий пиксельклок и параллельные видеоданные. 1. С какой FPGA вы работаете ? 2. Как согласовали FPGA с CML (физ. уровень TMDS) ? 3. Как происходит синхронизация с источником сигнала ? Т.е как определяете середину бита и находите первый бит в посылке ?
|
|
|
|
|
Jul 11 2018, 12:57
|
Местный
  
Группа: Свой
Сообщений: 284
Регистрация: 21-01-05
Пользователь №: 2 104

|
Цитата(Alexey_Rostov @ Jul 11 2018, 15:39)  То есть помимо TMDS с десериализатором в приемнике должен быть реализован I2C слейв, через который видеокарта вычитывает информацию о мониторе? После этого карта генерирует соответствующий пиксельклок и параллельные видеоданные. Да. Погуглите эту тему, z давно не работал уже с HDMI. EDID можно прочитать с монитора.
|
|
|
|
|
Jul 11 2018, 13:17
|
Местный
  
Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312

|
Цитата(Flip-fl0p @ Jul 11 2018, 15:47)  1. С какой FPGA вы работаете ? 2. Как согласовали FPGA с CML (физ. уровень TMDS) ? 3. Как происходит синхронизация с источником сигнала ? Т.е как определяете середину бита и находите первый бит в посылке ? 1. Работаю со Spartan 6. 2. LVDS буфер (вообще использую готовую приставку HDMI https://embeddedmicro.com/products/hdmi-shield)3. Для синхронизации во входных сериализованных данных вылавливаю Video Guardband (два пикселя длительноситью) Цитата(Volkov @ Jul 11 2018, 15:57)  Да. Погуглите эту тему, z давно не работал уже с HDMI. EDID можно прочитать с монитора. Замкнул i2c монитора и видеокарты, побежал клок и сигналы с карты. Rom для EDID с i2c слейвом придется все равно реализовывать. На гитхабе есть вот такой проект https://github.com/tmatsuya/i2c_edid/blob/m.../rtl/i2c_edid.v
|
|
|
|
|
Jul 11 2018, 13:52
|
Местный
  
Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312

|
Цитата(aaarrr @ Jul 11 2018, 16:28)  Тогда нужно в обязательном порядке предусматривать управление сигналом HPD, в противном случае хост не сможет считать EDID, пока FPGA не загружена. HPD это сигнал для микросхемы типа ADV7513, мне на вход ПЛИС TMDS сигналы и i2c приходят на прямую.
|
|
|
|
|
Jul 11 2018, 20:09
|
Местный
  
Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312

|
Цитата(aaarrr @ Jul 11 2018, 17:14)  Это сигнал на разъеме, по которому хост определяет подключение. Если он просто притянут к +5V, то нужно быть готовым выдать EDID в любой момент, что с I2C-слейвом на ПЛИС может быть затруднительно. Большое спасибо! Сегодня только рассуждали, как видеокарта определяет наличие монитора. Данные сигналы заведены в ПЛИС на hdmi mojo shield
|
|
|
|
|
Jul 12 2018, 08:31
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 13-04-17
Из: Зеленоград
Пользователь №: 96 508

|
Цитата(AVR @ Jul 11 2018, 16:02)  Как подключить? К I2C напрямую? А что записать в это EEPROM? Да, напрямую и с питанием от HDMI. В этой памяти должен содержаться блок данных определенной структуры называемый EDID. Он нужен для PnP и содержит информацию о режимах поддерживаемых монитором. Только нужен какой-то девайс для записи этого EDID по I2C в EEPROM. Сам EDID можно считать из монитора или создать вручную. Есть несколько программ для этого, я использовал Phoenix EDID Designer. Есть еще удобная программа для расшифровки EDID - Monitor Asset Manager (раньше называлась moninfo) от EnTech. Ей можно проверить, что созданный файл корректный. Можно заставить видеокарту выдать сигнал и при отсутствии I2C. Надо лишь в драйвер монитора нужный EDID подсунуть.
Сообщение отредактировал lembrix - Jul 12 2018, 08:32
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|