HDMI-LVDS. От макета к релизу



    Доброго времени суток! Вашему вниманию хочу предложить проект аппаратного конвертера HDMI‑LVDS построенный на микросхемах Texas Instruments. Статья была модифицирована и дополнена.

    Постановка задачи

    Разработать конвертер HDMI‑LVDS не имеющий прошивки. Аппаратная реализация на доступной элементной базе. Конвертер должен быть универсальным, поддерживать различные типы матриц (с одно- и двух-канальным LVDS) и напряжения управляющих сигналов инверторов. Работа в индустриальном температурном диапазоне.

    Сформулированные основные технические требования:

    • два канала LVDS (с возможностью переключения и использования одного);
    • схемотехника платы должна включать в себя питатель для инвертора подсветки матрицы (желательно универсальный для матриц 12/24В);
    • двухпиксельный режим работы конвертера;
    • поддержка 24-bit матриц;
    • рабочее напряжение конвертера 12/24В;
    • рабочее напряжение панели 3,3В, 5В, 12В (24В от отдельного БП);
    • управление яркостью/включением подсветки: 3,3В и 5В;
    • иметь возможность управления изображением матрицы (зеркалить, переключать битность и т.д.);

    Требования к конструктиву:

    • простое (механическое) конфигурирование платы (DIP-переключатели);
    • геометрические размеры платы не критичны;
    • включение/выключение, регулировка яркости кнопками на плате;
    • индикация включения/выключения.

    Поиск решения

    Первый вариант. Texas Instruments в линейке своей продукции предлагает конвертеры HDMI-RGB и RGB-LVDS. Микросхемы TFP401A, SN75LVDS83B и DS90C387A. Отличие SN75LVDS83B от DS90C387A в основном в том, что последний имеет два канала LVDS. Структурная схема такая (взято из документации TI):



    Второй вариант — это использование микросхем ПЛИС (программируемая логическая интегральная схема). Минусом такой системы является добавление программной части для реализации конвертации, что, в свою очередь, дает и ряд преимуществ, например организация меню для настройки, возможность изменения размера картинки и т.д.

    Также существует и третий вариант — это использование специализированных контроллеров. Тоже тянет программную часть на базе ОС, хотя и имеет множество преимуществ, в том числе настройки цвета/яркости картинки, регулировка отступов и размеров картинки, наличие меню и т.д.

    После некоторой аналитической работы перевес был на стороне первого решения, основанного на микросхемах TI. Данная сборка дает возможность реализации конвертера под необходимые требования.

    Выбор элементной базы для осуществления питания

    Для питания платы напряжением 24В был выбран преобразователь LM22670 компании TI (24В -> 12В).

    Напряжения 3,3В и 5В были получены с помощью конвертеров NCP3170 компании ON Semiconductor, так же прорабатывался вариант использования преобразователей ST1S10PHR компании STMicroelectronics, но изучив характеристики обеих микросхем в соотношении цена-качество оказались более доступными первые.

    Управление подсветкой и настройками панели

    Включение подсветки панели и регулировка яркости осуществляется напряжением 3,3В и 5В (зависит от конкретной модели матрицы). Включение происходит по средствам подачи логической единицы на определенный пин инвертора, регулировка — с помощью ШИМ. Для управления выведены кнопки на плату (так же имеется разъем для подключения внешней клавиатуры).

    Обработчик кнопок и ШИМ реализованы на контроллере STM32F100, который так же управляет светодиодной индикацией (включение/выключение/прошивка EDID). Стоит отметить, что есть два типа управления подсветкой (ШИМ): логическая единица максимальная яркость или логический ноль максимальная яркость. В данной конструкции это реализуется по средствам прошивки контроллера, но можно было сделать DIP-переключатель. В разъем LVDS на плате был заведен пин 3,3В/5В/GND (через DIP-переключатель). На матрицах часто присутствуют управляющие пины: MAP (карта данных), BIT (выбор битности), MODE (обычный и зеркальный режим) и т.д… При необходимости управления этими параметрами можно завести соответствующий пин матрицы в разъем LVDS конвертера и изменять один них.

    Настройка и первое включение

    Настройка конвертера сводится к следующему:

    1. Прошивка контроллера. Для этого был выведен разъем SWD, так как в планах не было изготовление 100к партии.
    2. Установка параметров EDID. Тут пришлось долго разбираться с полями и версиями EDID.

    Если кратко, то существует свободно распространяемое приложение «Deltacast E-EDID Editor». Самый простой способ — это «слить» EDID с любого монитора, а потом его редактировать под конкретный набор матриц и проверять на устройстве.


    Приложение «Deltacast E-EDID Editor»

    Все основные параметры находятся в даташите на матрицу. EDID на программаторе зашивается в микросхему eeprom (например M24C02). При подключении к ПК данные eeprom читаются и у пользователя появляется возможность выбирать параметры разрешения, частоты и т.д.

    3. Подключение и тестирование. С некоторыми оговорками первый макет запустился и была отлажена прошивка контроллера и eeprom.

    В итоге было сделано три итерации платы (включая релиз). Несколько вариантов печатных плат (1 и 2 — одно-канальный LVDS, 3 — двухканальный LVDS):


    Печатные платы макетов с производства

    Релиз

    В релизной версии платы было решено прошивать EDID в плату с помощью контроллера. Был написан простенький софт для ПК. Конвертер подключается к ПК по UART с помощью переходника USB-UART.


    Приложение «EDID LOADER»

    По релизному КД было сделано порядка 100 плат. Все работают, картинка отличного качества, регулировка и управление матрицей без нареканий. Сконфигурирован универсальный EDID, подходящий для большинства матриц заказчика.


    Фото работы конвертера


    Фото релизной версии конвертера

    Преимущества разработки
    • аппаратная реализация конвертера;
    • двухслойная печатная плата;
    • универсальность;
    • простота в настройке.

    Спасибо за внимание!

    UPD: По просьбам выкладываю БОМ и расположение компонентов на плате, а также прошивку.
    www.dropbox.com/s/4to153cor6op6su/HDMI-LVDS.zip?dl=0
    www.dropbox.com/s/omrao2cv4vbp6hd/AHL-14.2.zip?dl=0

    Комментарии 64

      +3
      Отличнейшая публикация, непременно пишите ещё! Хотелось бы, правда, немного больше подробностей, особенно по компоновке и разводке таких сложных плат.
        +5
        Спасибо! Разводка RGB и похожих интерфейсов на двух слоях — это да, отдельная тема. Наберу побольше материала может напишу статью.
          +2
          присоединюсь, был бы очень интересно почитать про нюансы разводки подобных плат
            0
            Да уж, развести такое количество дифпар на двух слоях — это грандиозный челлендж. Что у вас с импедансами получилось? Какой стек платы?
              +2
              Импеданс я примерно рассчитывал (если Вы про HDMI и LVDS).
              Стек стандартный резонитовский. Двухслойка, 18 фольга.
              (если интересно: 0,3/0,7 отверстия, 0,2 линии, 0,2 зазор)
              Как-то так:
                +1
                То есть у вас дифпары HDMI идут без опорного слоя? А возвратные токи? Либо я что-то не понимаю в интерфейсе HDMI, либо это просто чудо, что у вас все заработало. Это же идет вразрез со всеми мыслимыми правилами разводки высокоскоростных интерфейсов. Даже примерная прикидка дифпары 0.2-0.2 на плате толщиной 1.5мм дает импеданс 150 Ом при необходимых 90.

                Какой размер картинки передаете? Судя по фото, это 1366х768. Вы пробовали запускать изображение крупнее?

                Может, у вас есть какой-то секрет применительно к HDMI (короткая линия, личные эксперименты)?

                image
                  0
                  Да, импеданс не сходится, но тестами установил что все гуд. Пришлось делать вырез в полигонах на hdmi и lvds.
                    0
                    Плата будет испытываться на соответствие промышленным(температура, вибрация, помехоэмиссия, статика и пр.) стандартам?
                      0
                      Пока платы тестируется только у заказчика. Если будет необходимость исправления, будем тестировать на эмс, температуру м вибрации.
                        0
                        по эмс точно не пройдет)
                          0
                          Спорный вопрос, вот статику скорее всего не пройдет.
            +4
            А где можно взять герберы? Или пустую палту приобрести?
              +1
              Я подумаю что можно сделать и напишу.
                0
                Гербера передать не могу, так как все-таки коммерческий проект, но решили подарить последний паллет (6шт) плат, который остался не запаянным. K1801vm2 получает одну плату, дальше пишите в личку, первые 5 получат по плате. Только просьба, не чтобы на стеночку повесить или на полку положить, а для дела. Ну и, естественно сразу подумайте как будете забирать из Питера, кто из других городов.
                0
                Как я понимаю эта плата для преобгазования HDMI в сигнал для шлейфа матрицы монитора?
                А на сколько высока задержка?
                как я понимаю должна быть минимальна?
                И какое разрешение поддерживает конвертер?
                Просто интересует с точки зрения применения в шлеме для получения картинки с гоночного дрона.
                Задержка критична. А для этого надо минимизировать её на всех этапах.
                  +1
                  Да. Задержки на глаз незаметны. Если это критично, то нужно анализировать. 1920х1080 поддерживается без проблем.
                  +2
                  оооо! Я как раз такое решение искал!
                  Где купить???
                    0
                    Мы разрабатываем под заказчика. На сайте ЭЛТЕХа плата доступна к заказу. Если Вы имеете ввиду не штучный экземпляр, а партию, то можем под Вас произвести.
                      0
                      Ох. Ценник у них не гуманный. Нужна одна штука. Но, конечно, не за 7000.
                        +1
                        Согласен. Я поговорю управляющим нашей компании. Мы думали произвести несколько десятков устройств для себя. Если будут запросы — это вполне реально.
                          0
                          И мне и мне! Матриц много разных, «поигрался» бы.
                          Если будет шанс приобрести — дайте как-нить знать.
                            0
                            Читайте ниже.
                          +1
                          На али похожую тему можно за пару десятков баксов купить. Ещё там будет Вам тв тюнер и всякие кнопки.
                          Ищите по модели LA.MV9.P или LA.MV29.P
                          Фактически, это третий вариант решения проблемы.
                            0
                            купил парочку таких по 600р за штуку. Одна сдохла через пару минут, вторая продержалась дней 9.
                            Теперь вот думаю как чинить, может у них компонент какой-нибудь слабый, который можно перепаять, но в диагностике я к сожалению не силен.
                        +1
                        На известном китайском сайте готовых решений за небольшие деньги полно же.
                          0
                          Уже. Не все так радужно. Пока найдешь годно работающее — в теже 7000 и влетишь. Я пока влетел на сумму в районе 4000. Последнее решение еще не имел возможности проверить… Может и до 7000 дойду.
                            0
                            А с какими трудностями сталкивались? Я в одном проекте использую самую дешевую платку, проблем не было.
                              +1
                              Да не работает и всё. :)
                              Я сейчас третью пробовать буду.
                              Первая тупо не видела HDMI сигнал. Причем от компа видела норм, а от SabreLIte — нет. Насколько я понял, что-то с форматами HDMI связано. У меня SabreLite и мониторы не все видят.
                              Вторая показывала изображение смещенное, как будто разрешение выше чем на матрице. В итоге строки ступеньками выстраивались. И это было даже без подключения HDMI кабеля. Уже сервисные надписи при включении так себя вели.
                                0
                                Странно. Тестировали несколько дешевых вот таких плат:
                                Скрытый текст

                                Единственная проблема, которая была, это не работает VGA с некоторыми девайсами, типа тестерые мониторов.
                                  +1
                                  На сабре нужно в линуксе параметры панели указывать, пиксельклок, разрешение и другое. В этом случае можно игнорировать параметры EDID вшитые в конвертор, правда это не всегда залог успеха, но мониторы должны работать. Наш конвертор без проблем работает на imx6.
                            0
                            Я весной на подобной китайской сделал из древнего ЖК-монитора («квадратного») телевизор. Плату брал в Украине, что-то около 20 долларов. Там готовые прошивки есть, под разные матрицы, максимум кажись поддержка 1920х1200@60Hz. Что имеем: плату, которая подходит для большинства мониторных и ноутбучных матриц (шлейф продаван правильный положил), разъемы ВГА, ХДМИ, тюльпаны, звук, ЮСБ, управление пультом, телек. Также есть выводы для кнопок управления: можно готовую панельку подлючить (+ пара баксов), можно каждую кнопку на свой пин подпаять, можно все кнопки через один пин, с разделением кнопок резистивным методом (каждая кнопка коротит со своим сопротивлением). Чего не имеем: управления подсветкой (хотя выходы для ее драйвера есть, но уровень не регулируется. может, можно допилить, но мне это не надо было, вот и не вникал), цифрового ТВ (аналогичные решения с ним — в 2-3 раза дороже). Если такой вариант интересен — я поищу, вспомню, что за модель.
                              0
                              По поводу подсветки. Есть два типа управлением яркостью подсветки: PWM и уровнем напряжения. Если типы выхода контроллера и вход драйвера подсветки не совпадают — регулироваться не будет, будет только 0% и 100%. Из PWM можно сделать в уровень напряжения путем добавления нескольких резисторов и конденсатора.
                                0
                                А я как раз сейчас такой вариант и прикупил. :) Скоро тестить буду.
                                Единственное — не знаю где брать прошивки и как прошивать. Не разбирался пока. Подскажите, пожалуйста, куда смотреть, если у вас сохранилась эта инфа.
                                  0
                                  Про прошивки, к сожалению, не скажу, так как там изначально была совместимая. На Али вроде у продавцов такой штуки находил ссылки, но они мне не понадобились. А шьется, если память мне не изменяет, путем загрузки на флешку файла прошивки автоматически, когда ее обнаруживает.
                              0
                              А для чего два пустующих места под конденсаторы в правом нижнем углу платы?.. Так понимаю, развязывающие, но почему в итоге решили не ставить?
                                +1
                                В релизной версии предусмотрел электролиты по питаниям, на случай если при разбросе параметров на серии питание станет хуже. На тестах увидел что все хорошо. Плата индастриал и электролиты ставить не хочется, керамики хватает.
                                0
                                Достойный труд

                                Но можно купить и подешевле
                                https://www.chalk-elec.com/?page_id=1280#!/HDMI-to-LVDS-converter/p/14647633/category=3094861
                                http://www.ebay.com/itm/HDMI-DVI-VGA-Driver-LVDS-Inverter-Kit-Convert-a-Bare-Laptop-LCD-into-Monitor-/111115624120
                                и т.д.

                                Вопрос может не в тему:
                                Нет у Вас платы, что бы один HDMI (например 1600х600) разделить на две матрицы (например по 800х600)?
                                LVDS не обязателен, можно RGB.
                                  0
                                  Спасибо. Дешевле чем в России можно купить почти любую технику в Китае.
                                  Смотря что Вы имеете ввиду под «разделить на две матрицы»? Если Вам нужно дублировать изображение, то можно просто распараллелить сигнал соблюдая волновое сопротивление и делая короткие линии. Я делал плату раздвоения на спец микросхемах (названия не помню) но решение было отвратным, микросхемы грелись и работали нестабильно. Распараллеливание решило проблему. В серии на FullHD матрицах никаких проблем. Кстати, разобрав пару Китайских разветвителей HDMI увидел самое обычное параллельное соединение (естественно i2c берется только от одного HDMI)
                                    +1
                                    Нет, надо разделить на две части.
                                    1600х600 -> левая 800х600 и правая 800х600
                                    Хотел попробовать сделать по простому
                                    TFP401 выделяет HSYNC, VSYNC, DE и остальное и на небольшой FPGA сделать по полкадра на каждую панель, только на каждую изменить HSYNC и DE — что бы сохранить интервал от HSYNC до DE.
                                    То есть поменять соотношение на HSYNC/DE.
                                    Думал может специалисты сталкивались с таким вариантом использования матриц.
                                      0
                                      Мы делали макет, но так и не запускали. Проект для 3д шлема. Там из hdmi получается два то ли lvds то ли mipi, не помню. Есть чипы заточенные.
                                        0
                                        Я нашел Toshiba но очень неудобные в пайке (BGA) — может знаете в QFP? Видимо придется самому на FHGA городить.
                                        +1

                                        Я сейчас как раз чем-то подобны занимаюсь, только все полностью происходит внутри FPGA. Из внешних микросхем только буферы

                                          +1
                                          На FPGA думаю можно сделать хорошую реализацию.
                                    +1

                                    Задумывая видеостену столкнулся с адовой стоимостью мониторов с мелкими краями. По итогу смотрел на голые матрицы + такие вот переходники + матроксовская карта на 6 моников.


                                    Правда изначальный "дешевый колхоз" привел к финансовым потерям, по большей части со стороны "кетайских" конверторов и премудростям работы с продавцами, пишущими в 99% случаев "да да, все работать будет с вашей моделью".


                                    После вашей статьи буду смотреть в сторону самого дичайшего колхоза — самопай (:

                                      +1

                                      Чип от TI позиционируется для использования в ТВ, всегда было интересно, как звук в таком случае вытягивается из потока, если чип этого не умеет.
                                      Мне в свое время пришлось использовать решения от AD, что было дорого. Хорошо, что Китай выручает более дешевыми вариантами со звуком.
                                      CSC и масштабирование чип тоже не умеет? У вас матрица масштабирует неродные разрешения и входной поток только RGB?

                                        +2
                                        А это тоже ваша статья HDMI-LVDS — это просто? Просто смотрю — год 2014.
                                          0
                                          Да, статья была написана ранее, в начале статьи написано что она дополнена. Я ее убирал, дописал когда сделали и протестировали релиз. Появилось время — выложил.
                                          0
                                          ссылка на оригинал статьи http://habrahabr.ru/post/211753/
                                          Вы пытаетесь открыть публикацию, написанную пользователем the_bat,
                                          однако, публикация скрыта в черновики (самим автором или НЛО)

                                          Судя по всему, да, его.

                                            0
                                            Подскажите, пожалуйста, как можно скоммутировать два сигнала (AV и HDMI) на LVDS?
                                              +1
                                              Я делал только hdmi -cvbs, rgb — cvbs, других решений сходу не подскажу. Вам нужно cvbs, звук и hdmi? Нужно мониторить чипы.
                                                0
                                                Есть HDMI с RPi, есть аналоговый (тюльпан = CVBS?) — хочу выводить на экран (с LVDS входом). Получается мне нужен конвертер HDMI-LVDS как у Вас в статье, нужен конвертер СVBS-LVDS и нужен коммутатор, чтобы переключать между входами.
                                              0
                                              два канала LVDS (с возможностью переключения и использования одного);

                                              Подскажите пожалуйста как производится переключение каналов LVDS?
                                                +1
                                                С двухканального на одноканальный переключается DIP-переключателем — эта функция заложена в TI-микросхеме.
                                                +1
                                                А просто использовать платы с убитых мониторов. Внутри уже все есть.минус заточено обычно под одно разрешение. В современные мониторах плата скаллера имеет габариты 5 на 5 см. Запчастей на 10-15 баксов. Разрешение матрицы меняется правкой прошивки. Использовал такую плату +доп питальник для подсветки для. Запуска матрицы планшета.
                                                  +1
                                                  На партию даже 100шт мониторов не наломаете)
                                                  Убитые мониторы я обычно ремонтирую.
                                                  0
                                                  Пару месяцев назад разрабатывал такую же штуку на -40, вариантов как оказалось не так много.
                                                  Хорошая статья, но критически не хватает информации о том, что по факту вся статья базируется на данном документе и более подробно стоит смотреть в нем:
                                                  http://www.ti.com/lit/an/slla325a/slla325a.pdf
                                                    0
                                                    Да, по сути нужен только этот документ и шиты на микросхемы и все станет понятно.
                                                    0

                                                    Чип от TI позиционируется для использования в ТВ, всегда было интересно, как звук в таком случае вытягивается из потока, если чип этого не умеет.
                                                    Мне в свое время пришлось использовать решения от AD, что было дорого. Хорошо, что Китай выручает более дешевыми вариантами со звуком.
                                                    CSC и масштабирование чип тоже не умеет? У вас матрица масштабирует неродные разрешения и входной поток только RGB?

                                                      0

                                                      случайно, комментарий продублировался.

                                                        0
                                                        Конкретно этот чип звук не вытаскивает — только видео
                                                        0
                                                        Яб заказал вместе с инструкцией. Причем купил бы штук 6. Ибо стекол полно, а мамки на них подохшие. С китайской платой устал копаться. А еще я бы к ним БПшки заказал какие требуется. Чтоб не искать по ебею.

                                                        Автор, продолжай. Хорошие идеи, способы реализации и главное результаты)))
                                                          0
                                                          Я боюсь что штучно встанет дорого по компонентам плата. Нужна партия для того, чтобы получить нормальные цены.
                                                            0
                                                            Так Planeta.ru или им подобные или кикстартер запустить.
                                                          +1
                                                          Не осталось у кого-нибудь файла?

                                                          dl.dropboxusercontent.com/u/25037786/habr/HDMI-LVDS/HDMI-LVDS.zip

                                                          404 рисует. Автор наверное уехал в отпуск.

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

                                                          Самое читаемое