Доброго времени суток!
И снова хочу предложить Вашему вниманию проект аппаратного конвертера, но теперь уже 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 градусов.
Рис.1. 3D модель контроллера DisplayPort-LVDS top
Рис.2. 3D модель контроллера DisplayPort-LVDS bottom
Выбор элементной базы
PTN3460 имеет минимальную обвязку – это буквально 10 керамических конденсаторов и столько же конфигурационных резисторов. У меня их получилось несколько больше, так как хотелось добиться максимально универсального устройства с конфигурированием всех возможных ног.
Напряжения 3,3В и 5В формируются преобразователями ST1S10PHR компании STMicroelectronics (3А) – они уже давно себя хорошо зарекомендовали, и я их продолжаю использовать в своих проектах (кстати, также неплохие питатели, но уже на 4А – это ST1S41). Контроллер, как и в предыдущей версии, STM32F100.
Уже во время отладки и доработки софта становились на использовании встроенной EEPROM для EDID. Ранее использовалась микросхема, типа AT24C02 (или подобная), где, собственно, и хранился EDID. PTN3460 позволяет разместить EDID внутри себя, что еще немного экономит нам себестоимость.
Рис.3. Схема включения PTN3460
Управление подсветкой и настройками панели
Включение подсветки панели и регулировка яркости осуществляется напряжением 3,3В. Включение происходит по средствам подачи логической единицы на определенный пин инвертора, регулировка яркости — с помощью ШИМ. Для управления выведены кнопки на плату (так же имеется разъем для подключения внешней клавиатуры). Обработчик кнопок и ШИМ реализованы на контроллере STM32F100, который так же управляет светодиодной индикацией (включение/выключение/прошивка EDID). Стоит отметить, что есть два типа управления подсветкой (ШИМ): логическая единица максимальная яркость или логический ноль максимальная яркость. В данной конструкции это реализуется переключением джамперов с соответствующим обозначением на плате. В разъем LVDS на плате был заведен пин 3,3В/5В/12В/GND (через джамперы). На матрицах часто присутствуют управляющие пины: MAP (карта данных), BIT (выбор битности), MODE (обычный и зеркальный режим) и т.д… При необходимости управления этими параметрами можно завести соответствующий пин матрицы в разъем LVDS конвертера и изменять один них.
Рис.4. Внешний вид контроллера DisplayPort-LVDS
Настройка и первое включение
Настройка конвертера сводится к следующему:
1. Прошивка контроллера осуществляется по стандартному SWD.
2. Установка параметров EDID. На помощь приходит все та же программа «Deltacast E-EDID Editor», в которой мы указываем параметры матрицы из даташита (а иногда и методом подбора, так как не все производители матриц утруждают себя перечислением всех параметров).
Рис.5. Приложение Deltacast E-EDID Editor
Как я писал выше, мне хотелось добиться полной совместимости, в том числе и с программной частью. В прошивке микроконтроллера пришлось изменить адрес EEPROM (все управляющие GPIO я не менял), а вот программа «EDID LOADER» подошла без изменений. Конвертер подключается к ПК по UART с помощью переходника USB-UART. Далее выбираем COM-port, файл с EDID и жмем кнопку прошивки. На плате имеется индикация прошивка светодиодом R_EE. Когда он гаснет программа на ПК выдает сообщения об окончании прошивки. В случае неудачной прошивки вылетает сообщение ошибки.
Рис.6. Приложение EDID LOADER
На данный момент произведено несколько плат для тестирования аппаратной и программной части.
Первая итерация получилось с несколькими проводками – задействовал не те пары в разъеме DisplayPort, а так, устройство заработало сразу, никаких критичных моментов не возникло. Плату сразу делал на 4-х слоях, чтобы проложить хорошие полигоны питания и земли.
Преимущества разработки
- аппаратная реализация конвертера;
- универсальность;
- простота в настройке.
Спасибо за внимание!
Автор: the_bat