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



В продолжение прошлой статьи на тему DisplayPort-LVDS, решил написать о своей новой разработке контроллера HDMI-LVDS на чипе TSUMV59 от MStar. Контроллер имеет много интересного на борту, например, аналоговый выход звука, ИК порт, кнопки управления и даже OSD меню.

Основные требования к плате контроллера

  • наличие OSD меню;
  • наличие USB для прошивки/проигрывания файлов;
  • выход аналогового или цифрового звука;
  • два канала LVDS (с возможностью переключения и использования одного);
  • двухпиксельный режим работы конвертера;
  • поддержка матриц разной битности, в идеале от 6 до 10;
  • рабочее напряжение конвертера 12В;
  • рабочее напряжение панели 3,3В, 5В, 12В;
  • управление яркостью/включением подсветки: 3,3В.

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

  • геометрические размеры платы должны быть удобны для встраивания и максимально соответствовать плате «AHL-14.3»;
  • включение/выключение, регулировка яркости кнопками на плате.

Реализация

До этого проекта мы активно использовали контроллер HDMI-LVDS «AHL-14.3», но он аппаратный и не хватало функционала OSD и звука, поэтому пришлось задуматься на счет нового устройства. Для начала я заказал плату на чипе TSUMV29, протестировал и сделал универсальную плату для TSUMV29 и TSUMV59. Для этого понадобилось изучить несколько схемотехнических решений на данном чипе (на них делают шасси для телевизоров) и прозвонить имеющуюся плату. Основное отличие TSUMV29 от TSUMV59 в том, что более новая модель позволяет использовать USB не только для прошивки, но и для проигрывания мультимедиа файлов. Также чипы имеют немного разные питания.

На входе контроллер поддерживает такие интерфейсы, как HDMI и VGA, Разрешение FullHD. На выходе одно- и двухканальный LVDS + звук 2 канала по 3W.

Что получилось после первой итерации


Рис.1. Внешний вид платы контроллера на TSUMV59 (первая итерация v1)

Плата сверху слева – это внешний EEPROM, я его пробовал подкидывать для тестов. Нижняя светлая платка – это DC/DC. На всех схемах для этого питания (1V3) используется LDO, но мне жутко не понравился его нагрев и было решено поменять его на ST1S10 (а в последствии на AP3418). В целом плата завелась сразу. Загрузчик заливается программатором на SPI Flash, затем плату можно прошивать через USB.


Рис.2. Внешний вид платы контроллера на TSUMV59 (первая итерация v2)

На этой версии тоже, стоит LDO (U2). Так как обе платы делались одновременно под разные шлейфы матриц – ошибки у них одинаковые. Также, в отличие от версии v1, на плате v2 выведен VGA, ИК-порт, выход на колонки, присутствуют некоторые настройки по питанию (DIP переключатели) и др…


Рис.3. Работа платы контроллера на TSUMV59 (первая итерация v2)

Тестил на этом мультике. Теперь я наизусть знаю песенку «Котики, вперед!».

Релизная версия


Рис.4. Релизная версия платы контроллера на TSUMV59

В итоге, после очередного витка доработок, была рождена текущая релизная версия. У нее есть все необходимые для управления кнопки, разъем для подключения клавиатуры и многое другое.


Рис.5. Релизная версия платы контроллера на TSUMV59

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

Прошивка и OSD меню

Для тех, кто не знает откуда берутся прошивки, я расскажу. Под эту схематику есть набор прошивок под разные матрицы. Китайцы клепают похожие платы в различных вариантах. Прошивок очень много, у меня их около 3Гб. Достаточно знать разрешение и размер матрицы, а также количество каналов LVDS чтобы подобрать необходимую прошивку. Из нескольких десятков матриц у меня так и не заработала только одна, что, в принципе, совсем не плохо.
Фотографии меню контроллера приведены ниже.


Рис.6. Фото меню


Рис.7. Фото плеера

Выводы

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

Если у кого-то нет времени/желания заниматься разработкой, то рекомендую готовые платы с Ali, так как чип очень хорошо показал себя. Нагрев на fullHD приемлемый даже без радиатора.

Моя мечта встроить таких два контроллера и матрицами по 7 дюймов в подголовники авто, чтобы детям было чем развлекаться на заднем сидении.

Преимущества разработки

  • универсальность;
  • присутствует звук;
  • наличие OSD меню;
  • простота в настройке.

Недостатки разработки

  • плата на 4-х слоях;
  • нельзя доработать/изменить прошивку.

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

Комментарии (19)


  1. zedroid
    30.07.2019 16:48

    Моя мечта встроить таких два контроллера и матрицами по 7 дюймов в подголовники авто, чтобы детям было чем развлекаться на заднем сидении.

    Это только из-за плеера?
    PH800480T013-IHC08 — работает сразу на HDMI, А его можно подключить сразу к USB плееру.


    1. the_bat Автор
      30.07.2019 16:53

      Нет, конечно основное — это поддержка разных матриц и работа с HDMI


  1. Shtucer
    30.07.2019 19:03

    Я очень хочу такую штуку. У меня есть померший планшет от NEC, в нем есть матрица, по внешнему виду — рабочая (ни трещин, ни чего такого). Мечтаю поженить её с одной из своих малинок. Присматриваюсь к разработкам всем известного поставщика разной степени экзотичности электроники, но останавливает скудость данных о совместимости таких контроллеров с матрицами. Какие тут могут быть подводные камни и какие есть решения для обхода оных? И, конечно же, я с интересом присматриваюсь к экземплярам из ваших статей. Где? Когда? Сколько стоит? А мне подойдёт?


    1. buksttabu
      31.07.2019 13:41
      +1

      Не знаю, есть ли у вашей матрицы интерфейс LVDS, но наверняка есть подходящие скалеры, на том же Али например

      Сколько стоит?
      В пределах 50$


  1. the_bat Автор
    30.07.2019 19:12

    СЛУЧАЙНО отклонил комментарий)
    Комментарий пользователя ramzes2 к публикации «HDMI-LVDS. Разработка на TSUMV59 от MStar» ожидает вашего одобрения:
    А исходников прошивок для MStar чипов у вас случайно нет?


    1. the_bat Автор
      30.07.2019 19:13

      Отвечаю) Нет, исходников, к сожалению нет.
      Был проект на реалтек RTD2662, вот для него мы пилили исходники.


      1. pvvv
        31.07.2019 14:08

        раз пилили, может сможете подсказать:
        в процессе раскуривания даташита так пока и не понял, можно ли всю вот эту вот зачёркнутую красоту
        image
        поотключать совсем, заодно с синхронизацией и из аналогового VGA -> TTL, получить просто АЦП 3 х 8бит х 210МГц.

        а вообще идеально было бы что-нибудь готовое, вроде FL2000 только в обратную сторону, но по такой же цене :)


        1. the_bat Автор
          31.07.2019 15:50
          +1

          не могу точно сказать. Мы пилили свое меню, заставку, обрабатывали GPIO, формировали EDID. На входе было только два HDMI.


  1. 8street
    31.07.2019 08:18
    +2

    Интересно, в какой среде программируете TSUMV контроллеры?


  1. ionicman
    31.07.2019 11:17
    +1

    А вопрос такой — сложно сделать такой вариант, но с управлением и дата-трансфером через цифровой интерфейс?

    Например с одной стороны LVDS, а с другой I2C или SPI?

    С командами типа:

    • установить / считать параметры: яркость, контраст, параметры матрицы
    • включить / отключить подсветку
    • включить / отключить весь экран (но контроллер в спячку не уводить)
    • получить / считать весь экран в формате RGB
    • получить / считать кусок экрана в формате RGB по координатам X,Y и размером W,H
    • уйти в сон (контроллер)
    • проснуться (можно через отдельный вывод)


    Вот это было-бы очень удобно для различный поделок.
    Может быть что-такое встречали, или хотя-бы на чем можно сделать.


    1. the_bat Автор
      31.07.2019 15:47
      +1

      это на плис)


      1. ionicman
        31.07.2019 16:57

        Почему на плис? Специализированного ничего нет?


        1. the_bat Автор
          31.07.2019 17:09

          Мы делали проект на реалтеке, там было
          установить / считать параметры: яркость, контраст
          включить / отключить подсветку
          включить / отключить весь экран (но контроллер в спячку не уводить)
          уйти в сон (контроллер)
          проснуться (можно через отдельный вывод)

          А вот с этми вопрос
          установить / считать параметры: параметры матрицы
          получить / считать весь экран в формате RGB
          получить / считать кусок экрана в формате RGB по координатам X,Y и размером W,H

          Как это сделать? Нужно парсить всю картинку в реалтайм, резать, сохранять. Я не знаю как это сразу так сделать.


        1. pvvv
          31.07.2019 17:13
          +1

          FT813Q


          1. the_bat Автор
            31.07.2019 17:18

            Я думал на входе все-таки HDMI)) а SPI для контроля и управления.


  1. ScriptKiddo
    31.07.2019 15:46
    +1

    Прочитал в datasheet к TSUMV59 что есть поддержка до 1080p. Не в курсе, есть похожие чипы на 1440p?


    1. the_bat Автор
      31.07.2019 15:47

      Не в курсе, из этой линейки вроде нет


  1. ancc
    31.07.2019 15:46
    +1

    мне попадались исходники для TSUM вроде бы, но я их не пробовал компилить/заливать в плату. Вот для реалтека нет проблем, пилю помаленьку свой проект на реалтеке.


    1. the_bat Автор
      31.07.2019 15:46

      Был бы очень признателен за исходники для TSUM