@vnuendru
студент

Как подключить HDMI к stm32?

Нужно обрабатывать видео поток, рассматривается вариант подключения к stm32 по HDMI, только вот подобных схем по подключению с целью подачи видео (не вывода, не CEC) я что то не могу найти, ткните пожалуйста где можно про это почитать/на какие нибудь примеры реализации или просто подскажите как схемотехникчески подключить HDMI к stm32?
  • Вопрос задан
  • 12127 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Catethysis
Как подключить схемотехникчески? Проводами, я думаю.

Вы задачу нормально опишите, что нужно получать, как обрабатывать. Думается мне, что даже если завести сигнал HDMI в STM32 - ну, сигнал разрешением 320*240 у вас может быть и получится принять, но на даже самую слабую обработку ресурсов не хватит. Налицо неверный выбор инструмента и/или задачи. По вашему вопросу непохоже что у вас получится каким-то образом решить все задачи ввода и обработки. Тем более ещё тег Ардуино, ну постеснялись бы уж, право слово :)

Окей, я закончил плеваться ядом. Теперь по сути. Очевидно что это только ПЛИС и ничего больше.
Во-первых, ввод сигнала. Как известно, в HDMI применяется LVDS сигнал, чтобы из него получить TTL-уровни, вам потребуется приёмник LVDS. Более того, стандарт последовательный и высокоскоростной, значит потребуется как-то распараллелить обработку. Всё это делают специальные микросхемы-десериализаторы, первое что приходит в голову - микросхема TMDS341. У максимки тоже есть несколько таких микросхем, например MAX9264. Из них выходит достаточно удобный интерфейс: от 18 до 24 бит цвета плюс несколько клоков (пиксельный клок и вертикальная/горизонтальная синхронизация). Это уже можно напрямую втыкать в ПЛИС, но кстати можно найти и ПЛИС с LVDS-входами, правда это выйдет дороже в сумме. Если нужно после обработки снова сделать HDMI - берёте похожую микросхему-сериализатор, вроде MAX9263.

Как раз похожая задача, приём видео с HDMI и выделение в нём цветов на границах картинки для создания Ambilight: tqfp.org/Perfer/fonovaya-podsvetka-hdmi-fpga-led-c... Похоже, проект ещё не закончен, но думаю что с этого можно начать.

Во-вторых, обработка. Честно, не знаю что сказать. Если вам нужно как-то по локти ковыряться в принятом видео, типа сжимать его или что-нибудь там распознавать - бросьте это всё, и возьмите просто компьютер с платой видеоввода. Вручную вы это всё не сделаете.
В принципе, можно поискать компьютеры-на-плате вроде https://www.toradex.com/ru/products/colibri-arm-co... но вам потребуется как-то запихнуть в неё этот сигнал (понятно что не через GPIO, так как требуется прямой доступ к шине памяти), и написать драйвер для обработки этого дела.
Кажется, на выставках я видел подобный комп с входом HDMI, но надо понимать что это крайне невостребованная фича, и найти такое будет огромной удачей.
Если же вам нужно, к примеру, просто наложить на видео текст (это называется OSD, on-screen display), то в принципе всё решается прям внутри ПЛИС - вы закрашиваете в нужный момент пиксель белым цветом, и всё. Это чуть ли не единственная задача в железной обработке видео, которая решается более-менее просто.

Готовых схем не найдёте, слишком уж специфичная задача. Инженеры, самостоятельно сделавшие такое, предпочтут продавать это решение, чем делиться им.

Ну и всегда остаётся простой путь, сконвертировать hdmi в композит/компонент, а их уже легче ввести в любой компьютер или компьютерный модуль.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы