Аппаратный конвертер HDMI-RGB (18/24-bit)

    Доброго времени суток, Хабр!



    И снова моя статья будет посвящена видео конвертеру. На этот раз это будет HDMI-RGB. Статью хочу посвятить не конкретно разработке, а одной проблеме с цветами, которая у меня возникла при подключении 18-bit матрицы к 24-bit драйверу.

    В одной из своих прошлых статей я писал о конвертере HDMI‑LVDS, с промежуточной конвертацией в RGB (HDMI-LVDS. От макета к релизу). За основу новой разработки решил взять ту же микросхему TFP401 (HDMI-RGB) от Texas Instruments.

    Плату разработал в тех же габаритах, оставил микроконтроллер с тем же функционалом (управление спящим режимом, обработка кнопок, управление подсветкой матрицы). Так как контроллер разрабатывался под конкретную матрицу (и, соответственно, готовый шлейф), то и разъем для подключения RGB пришлось установить специфичный, с шагом 1.25мм. Таких разъемов на плате два, как и для подключения драйверов подсветки, так как необходимо дублирование изображения на две матрицы одновременно.

    Немного отвлекусь. Ранее я уже делал дублирование LVDS и HDMI интерфейсов в своих проектах. Сначала пробовал использовать специализированные микросхемы, но потом отказался от них, и стал подключать параллельно два разъема (у HDMI необходимо отрывать один I2C, чтобы не было конфликтов на шине). Этот вариант работает отлично на всех панелях, в том числе и более 42 дюймов. Нареканий по изображению нет никаких.

    На этой плате тоже просто задублировал разъемы RGB и сделал контроль длин проводников. Все тесты проводил на одной матрице.


    Рис.1. Картинка с матрицы

    Первое включение меня немного озадачило. Искажения особенно заметны на нижнем фото рис.1. Сразу стало понятно, что дело именно в «битности» — отсутствуют значащие биты во всех цветах. Но как найти проблему, ведь по схеме все биты приходят на матрицу «один к одному»? Ранее уже видел подобную проблему при подключении к своему конвертеру матриц 6-bit на цвет, но изучать не стал, так как мы поставляем изделия только для 8-bit матриц. Начал копать интернет в поисках решения проблемы.


    Рис.2. Схема выхода RGB с TFP401

    Долго не мог найти никакой информации по использованию TFP401 в режиме 18-bit. В даташите черным по белому указано 24-bit. Если подумать, то это никак не должно влиять на саму картинку — только потеря качества и все. Помогла фраза на форуме TI (служба поддержки отвечала на вопросы пользователей) о том, что TFP401 не умеет автоматически переключаться в 18-bit режим работы (что и так понятно из документации), и что необходимо «переподключить» панель. Это навело на мысли что все-таки способ есть.


    Рис.3. Подключение матрицы NL6448BC33-70F из даташита

    Снова начал изучать даташит на панель — ничего не поменялось, 6-bit на канал. В 2014 году, при разработке конвертера HDMI-LVDS, натыкался на какие-то документы о том, что нужно сдвигать биты для использования 18-bit режима, но не смог вспомнить на сколько бит. Начал снова искать информацию, но уже целенаправленно по сдвигу, и, чисто случайно, наткнулся на документ, в котором фигурировала таблица ниже!


    Рис.4. 24-bit и 18-bit

    Таким образом, для подключения 18-bit матрицы и 24-bit микросхеме, мне необходимо выполнить подключение согласно таблице Рис.4. То есть, R0 дисплея я должен подключить к R2 TFP401 и так далее. Так как у меня разъем на шлейфе, я просто «перепиновал» кабель.


    Рис.5. Изображение с правильной распиновкой

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


    Рис.6. Внешний вид конвертера с подключенным драйвером (LD1263) и матрицей


    Рис.7. 640*480 …….

    В Альтиуме, конечно, работать не очень удобно, но картинка отличная. Подойдет для недорогих приборных панелей, визуализации каких-либо интерфейсов и т. д., если добавить тач, то можно использовать, например, для ПЛК.

    Пока не удалось подключить одновременно две матрицы (второй нет в наличии), но думаю, что проблем не возникнет. Позже отпишусь и добавлю фото.

    Спасибо за внимание!
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 10

      0
      Подскажите пожалуйста, а на чем бы вы сделали следующее — хочется сделать ambilight без пк.

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

      Я так понимаю, что мне нужен:
      1) HDMI splitter
      2) микросхема процессинга HDMI сигнала

      Может быть сталкивались с таким?
        +1
        Если Вы хотите сделать с сигнала HDMI, а не всех интерфейсов, то да. Я хотел попробовать сделать на плис, но сигнал LVDS — прямо внутри. Определять цвета на краях изображения.

        PS Мне кажется я видел что-то готовое на али.
          0
          HDMI сплиттер необязателен для распараллеливания сигнала на два входа, мало того, существуют пассивные сплиттеры, просто запараллеливающие сигнал.
            0
            Такой подход не сработает со Smart TV — они картинку на HDMI не выводят. Видел на Amazon'е киты которые камерой картинку с экрана снимают что бы получать значения цвета для подсветки.
              0
              задержка будет
              +1
              Переходник HDMI-Composite и с аналога уже микроконтроллером снять все что надо, сильно высокое разрешение там все равно не нужно
              +5
              Вся статья только что бы сказать "Старший бит матрицы должен быть подключен к старшему биту чипа, младшие биты чипа отбрасываются"? По моему это и так должно быть понятно… что бы ужать 256 значений(8 бит) в 64 значения(6 бит) надо 256 разделить на 4 или два раза разделить на 2. Деление на два — это сдвиг с отбрасыванием младшего бита. Деление на 4 — это два сдвига с отбрасыванием двух младших бит.
                +2
                Мне увиделась статья про адаптацию изделия (одного из целой линейки) к новым условиям. От востребованного разработчика, в последнее время занятого основным видом деятельности, но нашедшего время поделиться с аудиторией некоторыми неочевидными тонкостями. Что считать очевидным, что нет, сколько дефицитного времени тратить на освещение тонкостей, и каких, предлагаю оставить на рассмотрение автора. Если подробностей не хватает — вчитываться между строк или задавать вопросы.
                Если таких статей не будет, останутся либо маркетинговые, либо статьи от хоббийщиков, у которых есть время на подробное освещение своих детищ.
                0
                SN65LVDS94DGGR, не?
                  0

                  Не

                  Only users with full accounts can post comments. Log in, please.