DisplayPort-LVDS

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

И снова хочу предложить Вашему вниманию проект аппаратного конвертера, но теперь уже DisplayPort-LVDS построенный на одной (!) микросхеме Texas Instruments.
Постановка задачи
Разработать простой конвертер DisplayPort-LVDS не имеющий прошивки. Аппаратная реализация на доступной элементной базе. Конвертер должен быть универсальным, поддерживать различные типы матриц (с одно- и двух-канальным LVDS) и напряжения управляющих сигналов инверторов. Работа в индустриальном температурном диапазоне. В общем как тот HDMI-LVDS, что был разработан ранее нас названием «AHL-14.3». Также очень хотелось добиться полной совместимости между данными контроллерами: распиновака, прошивка EDID, габаритные размеры и размеры для встраивания и т.д. Для удешевления конструкции отказался от DIP переключателей и поддержки питания 24В.

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

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


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

  • простое (механическое) конфигурирование платы (джамперы с шагом 2 мм);
  • геометрические размеры платы должны соответствовать плате «AHL-14.3»;
  • включение/выключение, регулировка яркости кнопками на плате;
  • индикация включения/выключения/прошивки EDID.


Поиск решения
Немного погуглив я понял, что решений не так уж и много. Сразу бросился в глаза чип PTN3460, он приглянулся своими габаритами 7×7 мм (56-VFQFN) против моего старого решения (с HDMI), когда были два чипа 13×13 мм в S-PQFP-G100 корпусах.

С него и решил начать прототипирование платы (впрочем, на ней и остановился для релиза, так как ее работа не вызвала нареканий). Чип PTN3460 выпускается для работы в двух температурных диапазонах: от 0 и от -40 градусов.

cddemdkjm-sgudln4ehm6m1hq1m.png
Рис. 1. 3D модель контроллера DisplayPort-LVDS top

lrp5z62fgtw8o5n57qofds_fj3q.png
Рис. 2. 3D модель контроллера DisplayPort-LVDS bottom

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

Напряжения 3,3В и 5В формируются преобразователями ST1S10PHR компании STMicroelectronics (3А) — они уже давно себя хорошо зарекомендовали, и я их продолжаю использовать в своих проектах (кстати, также неплохие питатели, но уже на 4А — это ST1S41). Контроллер, как и в предыдущей версии, STM32F100.

Уже во время отладки и доработки софта становились на использовании встроенной EEPROM для EDID. Ранее использовалась микросхема, типа AT24C02 (или подобная), где, собственно, и хранился EDID. PTN3460 позволяет разместить EDID внутри себя, что еще немного экономит нам себестоимость.

meymwt6ejqfc3vjmb1a962uvepw.png
Рис. 3. Схема включения PTN3460

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

a1rah2hmy67o81o7f2396kc8_ss.jpeg
Рис. 4. Внешний вид контроллера DisplayPort-LVDS

Настройка и первое включение
Настройка конвертера сводится к следующему:
1. Прошивка контроллера осуществляется по стандартному SWD.
2. Установка параметров EDID. На помощь приходит все та же программа «Deltacast E-EDID Editor», в которой мы указываем параметры матрицы из даташита (а иногда и методом подбора, так как не все производители матриц утруждают себя перечислением всех параметров).

fjlta5qcqnpg7pt9woqgdflxo-y.png
Рис. 5. Приложение Deltacast E-EDID Editor

Как я писал выше, мне хотелось добиться полной совместимости, в том числе и с программной частью. В прошивке микроконтроллера пришлось изменить адрес EEPROM (все управляющие GPIO я не менял), а вот программа «EDID LOADER» подошла без изменений. Конвертер подключается к ПК по UART с помощью переходника USB-UART. Далее выбираем COM-port, файл с EDID и жмем кнопку прошивки. На плате имеется индикация прошивка светодиодом R_EE. Когда он гаснет программа на ПК выдает сообщения об окончании прошивки. В случае неудачной прошивки вылетает сообщение ошибки.

caggrztyokg39veyi2n0ugenhxa.png
Рис. 6. Приложение EDID LOADER

На данный момент произведено несколько плат для тестирования аппаратной и программной части.

Первая итерация получилось с несколькими проводками — задействовал не те пары в разъеме DisplayPort, а так, устройство заработало сразу, никаких критичных моментов не возникло. Плату сразу делал на 4-х слоях, чтобы проложить хорошие полигоны питания и земли.

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

  • аппаратная реализация конвертера;
  • универсальность;
  • простота в настройке.

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

© Habrahabr.ru