Как стать автором
Обновить

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

Время на прочтение4 мин
Количество просмотров45K


Доброго времени суток! Вашему вниманию хочу предложить проект аппаратного конвертера 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
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 56: ↑54 и ↓2+52
Комментарии64

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань