СоХабр закрыт.

С 13.05.2019 изменения постов больше не отслеживаются, и новые посты не сохраняются.

| сохранено

H Часть 1. HDMI-LVDS — это просто в черновиках Из песочницы

image
Добрый день Хабр!
Появилась новая задача, нужно срочно ее решить. Представляю конвертер HDMI-LVDS почти на коленке.
Хочу сразу оговориться, что не имею опыта разработки данных устройств, но задача уже поставлена, так что прошу под кат…

Перелопатив огромное количество сайтов со схемами готовых устройств литературы по LVDS конвертерам, я пришел к выводу, что нужно разрабатывать самому, так как готового решения с узким кругом задач в низкой ценовой категории найдено не было. Себестоимость устройства должна была быть минимальна, в конвертере не должно было быть ничего лишнего: согласование HDMI-LVDS, управление подсветкой инвертора панели и хранение данных EDID.
Обо всем по порядку.
Конвертер решил ваять наугад TI (не буду рекламировать данную компанию, но очень уж мне нравится их поддержка, документация, а так же то, что MT-System под проект предлагает семплы). Как оказалось прямого конвертера не бывает (ПЛИС не рассматриваю), только через RGB, а именно TFP401A, SN75LVDS83B и DS90C387A. Отличие SN75LVDS83B от DS90C387A в основном в том, что последний имеет два канала LVDS. Чтобы не облажаться перед заказчиком время не пропало даром, сделал сразу два варианта и с одноканальным и с двухканальным. Структурно все это выглядит так
image
Как я уже говорил, документация по схемотехнике довольно обширная и не составило труда перенести схемы из шитов в Altium. Рекомендации по разводке платы пришлось искать несколько дольше, так как сигналы TMDS (HDMI) и LVDS (панель) идут дифпарами, а на двух слоях (чем черт не шутит, а вдруг заработает это было еще одним условием для данного проекта) согласовать импедансы штука серьезная (при отсутствии полноценных полигонов на нижнем слое и резонитовскими условиями на допуски).
image
Второй этап — это включение/выключение/регулировка уровня яркости подсветки панели. Если не учитывать тот факт, что девайс должен работать от 12 или от 24 вольт, то тут все просто, компания «ON Semiconductor» делает DC/DC преобразователи отличного качества и стоимости. Два DC/DC NCP3170, один для питания панели, второй, как раз для подсветки (все панели идут в комплекте с инвертором, поэтому тут городить огород не нужно). Регулировка осуществляется 3,3В и 5В (зависит от конкретной панели) ШИМом. Тут как нельзя кстати пришелся STM32F100, который так же зажигает, гасит светодиоды и управляет EEPROM для EDID данных.
image
Код программы для контроллера не привожу, так как программа состоит буквально из нескольких строк.
Основная проблема оказалась скрывается в слове EDID. До этого времени я такого буквенного сочетания вообще не встречал. «Extended Display Identification Data (EDID) — стандарт формата данных VESA, который содержит базовую информацию о мониторе» и так далее — это выдержка из википедии, кому интересно, тот углубится сам в изучение материала по данной теме. Оказалось что в каждом мониторе есть микросхема EEPROM, которая прямо висит на контактах I2C HDMI и как только монитор подключается к ПК (или другому девайсу), микросхема начинает слать данные об устройстве. Структура полей данных в EDID регламентирована, и было решено эмулировать их самим контроллером STM32. После недолгих размышлений от этого отказался и добавил в проект EEPROM AT24C02, в которую с помощью простенького программного обеспечения можно заливать данные EDID (все это, естесственно через UART STM32). Сказано — сделано. Сгенерил бинарник в программе «Deltacast E-EDID Editor»
image
Для облегчения себе задачи, готовый бинарник предварительно был сперт слит с какого-то монитора, а потом подправлен.
Этап настройки прост, зашиваем STM, заливаем через нее EDID в EEPROM, подтыкаем панель и HDMI.
Три варианта плат в итоге. Как и планировалось, будет еще третья итерация, конечная.
image
Во второй части (если кого-то заинтересует статья), планирую подробнее остановиться на схемотехнике, разводке и подводных камнях, которые встретились за время разработки.
PS Основное отличие данной разработки от уже имеющихся — это отсутствие ресайзера изображения, а следовательно и, почти полное отсутствие кода (обычно есть какая-либо ось, с графическим меню и настройками изображения).
Творите! Все в ваших руках!

комментарии (28)

+2
+3 –1
Zibx ,  

То есть я правильно понимаю что вот эта штука способна на полной скорости переваривать HDMI сигнал? Может выйдет на такой же аппаратной платформе сделать нормальный ambilight?

+3
the_bat ,  

Да, про HDMI Вы совершенно правы. По поводу Аmbilight у меня уже есть несколько мыслей — изучаю )

0
andrewsh ,  

CPLD на 512 макроселлов более чем достаточно ;) (говорю, потому что мы похожую приблуду делали)

+1
Ariman ,  

Очень интересно, пишите, пожалуйста про разводку.
В итоге, заработало на двух слоях?

+2
the_bat ,  

Спасибо! Забегая вперед, да. На двух слоях все работает, HD в идеальном качестве. Пока не удалось проверить двухпиксельный режим из-за временного отсутствия матрицы.

+3
Ariman ,  

Тогда жду следующих статей, где вы уделите побольше внимания вопросам разводки сигнальных проводников!

0
valeriyk ,  

Будем реалистами, согласовать импедансы на двухслойке (даже при том, что под ними будет сплошная земля) нельзя. То есть теоретически можно, если сигнальные дорожки были бы толщиной в несколько миллиметров (емнип, их толщина должна быть не меньше расстояния до слоя земли, то есть ~1,5 мм для двухслойки, а зазор между парами и того больше, чтобы не было перекрестных наводок) — но в реальности нельзя (тупо шаг ножек микросхемы и разъема не позволит).

Был бы осциллограф с подходящей полосой — интересно было бы глянуть, как именно сигнал выглядит.

+2
romanjoe ,  

Подробнее, пожалуйста про трассировку и согласование сопротивлений диф пар с учетом допусков производства. Актуальная тема для начинающих, тем более для пользователей Альтиума, а на хабре слабо освещена. Могу кстати посоветовать всем интересующимся отличнейший блог fedevel.com, можете считать рекламой, но блог того стоит. Ведет его Роберт Феранек — сениор трассировщик, метринки, процессоры и тп, очень содержательные видео.

0
the_bat ,  

Хорошо, подробности будут, но сразу оговорюсь что часто при разводке плат здравый смысл, инфа в шитах и интуиция смешиваются, но девайс работает и это главное.

0
romanjoe ,  

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

Спасибо за статью!

0
Xenotester ,  

А есть возможность на лету менять формат стерео? Например из SideBуSide (анаморфная горизонтальная стереопара) в intercolumned или чересстрочный?

+1
+3 –2
Darka ,   * (был изменён)

За картинки по 1.5 мегабайта убивать надо… да еще и на главной.

+2
+3 –1
the_bat ,  

Пардон, в след. статье исправлюсь.

–4
Terranz ,  

>2014 год
>следит за размерами картинок
у вас так всё плохо с интернетом?

+6
vmarunin ,  

2014 год же. Довольно много мобильных устройств и мобильного же интернет
Почитать Хабр в метро/электричке — неплохая идея.

Вот в 2010 году можно было удивляться. В 2020, надеюсь, можно будет удивляться…

+3
grossws ,  

Знали бы вы, какими словами кроют такие картинки те, у кого неустойчивый канал до мегабита в секунду с пингом >100ms. На даче, в электричке, в метро… вариантов много =)

+1
ValdikSS ,  

Я вот в больнице лежу. Вайфая нет, приходится использовать 3G с лимитом по трафику. Поставил на сервер ziproxy, пережимаю картинки в 30% jpeg. Вроде, приемлемо.

0
Darka ,  

Выздоравливайте.

0
ValdikSS ,  

Спасибо! Уже здоров, завтра выписываюсь.

0
immaculate ,  

Представьте себе, да. Я много путешествую, путешественникам обычно доступны 3G/CDMA модемы/плохой Wifi в кафе. Как правило, что в Европе, что в Азии, 3G/CDMA тормозные, и с ограничением трафика.

Например, сейчас у меня модем, из которого максимум удается выжать 60-80 Кб/с, и ограничение по трафику 15 Гб/мес (пакеты с большим количеством данных у провайдера просто отсутствуют), которое очень быстро выбирается современными сайтами, даже при умеренном серфинге.

0
dannyzubarev ,  

Не в обиду, но слишком громкое заявление про Европу. ;) В Великобритании отличнейший 3G, а в Германии 4G. У меня в Украине дома ADSL (частный сектор, волокно только в планах у провайдера) хуже, чем тот же 3G на телефоне в той же Англии. :)

+1
immaculate ,  

Ну, это зависит от страны, и еще от разных факторов. Туристам часто недоступны планы и SIM карты, которые доступны местным жителям. В Португалии и Испании я страдал от медленного и дорогого интернета.

0
andrewsh ,  

А ещё есть фактор, называющийся «поезд, движущийся со скоростью выше 100 км/ч». Как правило, качество интернета резко ухудшается в таких условиях.

0
dannyzubarev ,  

Но в таких поездах очень часто есть свой стабильный WiFi. :)

0
andrewsh ,  

Зависит от страны. Ну и как правило он идёт через всё тот же 3G.

0
andrewsh ,  

Наша ныне несуществующая контора делала девайсы подобного плана, только у нас как раз был скейлер.
Конкретно вот этот девайс умел кушать VGA и S-video/CVBS, а выплёвывал LVDS или TTL.
видеоконтроллер
А была более новая разработка, которая уже умела HDMI/DVI, но фотку не найду сейчас.
Но натра^W помучались мы изрядно с программированием микрух. Если первая микросхема видеоконтролера, что с аналоговым видео, ещё поставлялась с какой-то более или менее вменяемой документацией (да и на письма они отвечали и даже куски кода показывали), то следующая была просто ужасна. Структура регистров невменяема, код лют и бешен, необходима куча магических пассов, чтобы заставить работать. Ну и комментарии по-китайски в даташите.

Но весело было, да :)

+2
+3 –1
imwode ,  

Хоть бы слово, хоть полслова о том что это и зачем это нужно…

+2
Zuy ,  

Действительно, тем, кто понимает что это и для чего, автор в этой статье ничего нового не открыл.
А тем кто не понимает, статья тем более безполезна так как ясности никакой не внесла.

Автор, обязательно пиши вторую часть, хочется знать про подводные камни и все то, что не написано в даташитах на использованные микросхемы.