[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4678: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4680: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4681: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4682: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
virt2real.ru • Просмотр темы - Разработка модуля HDMI-in




 

Управляем чем угодно откуда угодно

Разработка модуля HDMI-in

Форум для всех, кто хочет поучаствовать в обсуждении разработки, предложить идеи или покритиковать

Разработка модуля HDMI-in

Сообщение realizator » 21 фев 2014, 16:02

В этом форуме будет вестись обсуждение открытой разработки модуля HDMI-in по следам статьи на хабре http://habrahabr.ru/company/virt2real/blog/213359/
Сегодня вечером мы приступаем к первому этапу. Здесь будут выложены наши вводные данные - какие чипы рассматриваем и какой функционал необходим. Обсуждению могут подлежать абсолютно все аспекты разработки.
Аватара пользователя
realizator
virt2real team
 
Сообщения: 653
Зарегистрирован: 17 фев 2012, 23:18

Re: Разработка модуля HDMI-in

Сообщение Shadow » 25 фев 2014, 15:57

Шаг №1. Куда мы движемся?
Для начала рассмотрим задачу как черный ящик и сформулируем требования к нему
Требования к входным цепям:
Исходные вопросы:
1. Сколько входов HDMI требуется?
2. Какой разъем требуется? HDMI тип А, или C (mini HDMI) или D (micro-HDMI)?
3. Какой стандарт HDMI требуется поддержать?
Требования к выходным цепям более понятны:
Параллельный интерфейс 8 или 12 бит, SDR, можно с сигналами синхронизации VSYNC, HSYNC, можно без, потому что процессор dm365 поддерживает спецификации CCIR656, когда сигналы синхронизации передаются в основном потоке данных.Хорошо бы завести еще звуковой канал на устройство, а то остается некоторое чувство ущербности, что можно было реализовать, а не реализовали.

Для ответа на поставленные вопросы добавим конкретики – какие преобразователи есть на рынке?
Оказывается, что HDMI receiver-ов не так много. В основном все передатчики предлагают.
Есть ряд решений которые в принципе, дают похожий интерфейс, например TFP101, TFP201 и TFP401 от Texas Instruments, с помощью которых принципиально возможно решить поставленную задачу. Но то, что данные микросхемы решают несколько другую задачу должно наводить на мысль, а не пытаемся ли мы натянуть ужа не ежа.
Есть решения, предлагаемые узкопрофильными компаниями. Компания Silicon Image предлагает целый ряд решений, например SiL9233, но по ним достаточно мало информации, особенно в части программирования этих контроллеров. Они также предлагают свои IP core для построения собственных чипов, но это этого уровня мы пока не доросли 
Есть особенность в работе с производителями – заточенными под определенные тематические области. Как правило, процесс получения от них информации занимает много времени, включает подписание различных NDA и необходимость обещать заказать много миллионов соответствующих микросхем.
С грандами микросхемостроения в этом смысле дела иметь проще. Тут и для прототипирования продукты купить проще, на открытом рынке они как правило есть, даже если речь идет о небольшой партии. И исчерпывающая документация доступна для свободного скачивания, причем есть открытые сведения о применении таких продуктов с описанием различных возникших при этом проблем. Так что еще на стадии разработки можно в некоторой степени обезопасить себя от всевозможных граблей и изобретения велосипедов.
Из известных производителей оказалось, что только Analog Devices имеет в своем списке продуктов полностью подходящие решения.
От них и будем отталкиваться.
Речь идет о чипах ADV7611, ADV7612, ADV7614, ADV7619 и ADV7842.

Спектр поиска сузился и теперь речь идет уже о выборе из 5-ти вариантов
Оказывается, что для 7611 и 7612 доступен референс-дизайн, что может сильно упростить задачу.
Поизучав документацию можно вернуться к поставленным вначале вопросам:
1. Сколько входов HDMI требуется? Можно организовать 1, 2 или 4 входа. 4 входа кажется перебором, а вот 1 или 2 – можно обсуждать. Заметим однако, что несмотря на то, что стоимость микросхем с одним или двумя входами практически одна и та же, для каждого входа требуется доп. обвязка, которая стоит денег. Кроме того решение с двумя разъемами – это уже специфика. Людей, которые будут использовать 2 входных интерфейса сразу может оказаться не так много. С этой точки зрения вариант с одним входом выигрывает.
2. Какой тип разъема? Чем проще и распространение, тем лучше. Если рассматривать вариант с одним входом, то это однозначно стандартный тип А. Если 2 входа – то тут уже надо думать над габаритами. Все-таки плата V2R достаточно компактна, и делать для нее переходник больше чем она сама – не хочется. С этой точки зрения один вход тоже выигрывает.
3. Стандарт – нет ограничений, все чипы поддерживают 1.4a. Вопрос снимается.
4. Звук – хочется попробовать завести цифровой интерфейс, предоставляемый микросхемой прямо на плату V2R. Связываться с аналоговыми сигналами нет никакого желания. Этот вопрос требует определенной проработки, хотя на первый взгляд решение есть. Тот самый McBSP интерфейс доступный на плате.
Дополнительно надо рассмотреть вопрос о том, какую ширину шины использовать. Есть возможности использовать как 8 бит, так и 12 бит данных. Однако с точки дальнейшего развития решения целесообразно зарезервировать сигналы, а их на нашей шине не так много. Поэтому будем использовать 8-битный интерфейс. 16 битного цвета должно хватить. Опять же, обрабатывать проще.
Получается, что по итогам анализа в лидеры выходит микросхема ADV7611. Будем копать ее дальше в качестве основного варианта.
Следующим шагом является детальная проработка электрических интерфейсов с точки зрения подключения всего этого дела к плате V2R и создание принципиальной схемы адаптера.
Shadow
virt2real team
 
Сообщения: 5
Зарегистрирован: 06 авг 2012, 22:37

Re: Разработка модуля HDMI-in

Сообщение vvvv » 26 фев 2014, 18:59

1. Поддержка двух HDMI входов может быть интересна, но не очевидно, что стоит с этого начинать.
Если я правильно понимаю, два входа нужны, чтобы на младшей линейке Davinci получить
многоканальную обработку видео - вместо одного потока 720p30 можно будет пропускать
два независимых по 720p15.
Хотя для каждого потока нужен свой экземпляр кодека, это вполне возможно по ресурсам: H264 кодек
требует примерно w*h*3/2 + w*h*3/2*1/2 + 14MB, каждый буфер видеозахвата еще w*h*3/2 байт, что
для 720p и 3х буферов составит примерно 20MB.
А оценить поход с обработкой двух видеопотоков можно будет с помощью адаптера для аналоговых камер,
который поддерживает (?) два композитных входа.

4. Если есть такая возможность, то поддержка звука была бы весьма желательна.

Помимо использования HDMI receiver-а, можно отметить подход собработкой HDMI сигнала на ПЛИС.
Примером является проект HDMI2USB (github.com/timvideos/HDMI2USB/wiki) - захват по HDMI
и конвертация в UVC видео для передачи по USB.
Но вполне возможно, что для текущей задачи подобный подход будет более трудозатратен,
по сравнению с ADV761x.
vvvv
 
Сообщения: 3
Зарегистрирован: 01 фев 2014, 12:32

Re: Разработка модуля HDMI-in

Сообщение Shadow » 27 фев 2014, 12:32

Насчет двух входов - не совсем так. Если бы можно было получать сразу 2 картинки одновременно, это было бы прекрасно. Но тут речь идет о переключении входов. Например есть 2 камеры, одна смотри вперед, другая назад. Можно получать либо тот, либо другой видеопоток. Это может быть удобно, в принципе, но как мне кажется, что большинство людей будут использовать только одну камеру. 2 камеры на начальном этапе представляются избыточными. Сейчас мы делаем первый шаг. Если возникнет потребность сделать устройство с большим количеством входов - с учетом полученного опыта это будет гораздо проще.
С адаптером аналогового входа ситуация аналогична. Только один канал одновременно. Но там микросхема на которой мы остановились по умолчанию поддерживала 2 входа, поэтому решили оба их использовать. Кроме того, в TVP5150 есть режим в котором можно захватывать S-Video, и тогда задействуются как раз оба входа. С HDMI ситуация несколько другая.

Насчет звука, то звук поддержим. Данная возможность решается несложно и дает много преимуществ.

Что касается ПЛИС, то тут вот какие соображения.
Во первых такое решение вряд ли будет конкурентно по цене в сравнении с использованием аппаратного кодека. Эта ПЛИС должна поддерживать несколько дифференциальных входов, а это уже соответствующая ценовая категория. На отладочной плате приведенной по ссылке, которую вы дали стоит здоровый Spartan 6 в BGA корпусе. Кроме самой ПЛИС будет удорожание и усложнение печатной платы, плюс большое количество доп обвязки - несколько источников питания, конфигурационная флешь и т.д.
За качественные оттестированные модули, обеспечивающие захват HDMI берутся деньги. Если брать открытые модули, то там не факт что все надежно заработает. Придется копаться в исходных кодах, причем программирование ПЛИС имеет очень много всевозможной специфики. Работа с проектом такого уровня сложности требует большого опыта работы с ПЛИС, которого у нас вообще говоря нет.
Поэтому решение на ПЛИС мы не рассматриваем.
Shadow
virt2real team
 
Сообщения: 5
Зарегистрирован: 06 авг 2012, 22:37

Re: Разработка модуля HDMI-in

Сообщение realizator » 30 мар 2014, 18:29

Готова схема, приступаем к сборке прототипа.
Схема и BOM в прилагаемом файле.
Вложения
hdmi.zip
(71.57 КБ) Скачиваний: 1017
Аватара пользователя
realizator
virt2real team
 
Сообщения: 653
Зарегистрирован: 17 фев 2012, 23:18

Re: Разработка модуля HDMI-in

Сообщение realizator » 06 май 2014, 10:49

IMG_0320.JPG
печатные платы для модуля HDMI-in
Начинаем собирать...
Печатные платы пришли, комплектация пришла.
Аватара пользователя
realizator
virt2real team
 
Сообщения: 653
Зарегистрирован: 17 фев 2012, 23:18

Re: Разработка модуля HDMI-in

Сообщение realizator » 12 май 2014, 11:52

Модуль собран, начинаем колдовать с драйверами.
Вот фото: http://www.g0l.ru/blog/n3946
Аватара пользователя
realizator
virt2real team
 
Сообщения: 653
Зарегистрирован: 17 фев 2012, 23:18

Re: Разработка модуля HDMI-in

Сообщение anenkov_a » 02 апр 2015, 03:08

anenkov_a
 
Сообщения: 40
Зарегистрирован: 14 янв 2014, 21:09

Re: Разработка модуля HDMI-in

Сообщение hex » 18 май 2015, 13:11

Нет звука с hdmi как поправить ?
hex
 
Сообщения: 10
Зарегистрирован: 09 апр 2015, 13:36

Re: Разработка модуля HDMI-in

Сообщение Асгард » 13 янв 2016, 13:33

подпайкой 4-проводков. этим же решается включение РЕАЛЬНОГО FullHD которого сборка в стоковом варианте не имеет.
" включена децимация, т.е. разрешение по горизонтали в два раза меньше, т.е. при 1080p реальная ширина кадра 960 пикселей, пиксели дублируются по два для получения 1920. Можно подключить и без децимации, но это, как и звук, требует добавление 4-х проводков"

Вопрос к реализатору,если вы здесь бываете, можете ли подпаять эти злосчастные проводки или хотя-бы показать что куда? и можете ли помочь с настройками EDID если модуль не поймёт камеру???
я готов купить если всё будет работать
Асгард
 
Сообщения: 8
Зарегистрирован: 28 дек 2015, 03:54

След.

Вернуться в Обсуждение модуля

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

cron