Преобразование одноканального LVDS в двухканальный
Приветствую, Хабр!
Читатели моих статей, наверное, уже заметили, что меня особенно привлекает тема преобразования видеоинтерфейсов. В тексте хочу поделиться опытом подключения двухканальной матрицы к одноканальному источнику с помощью разработанного конвертера. На самом деле меня больше интересует обратная задача — подключение одноканальной матрицы к двухканальному источнику сигнала LVDS. Если у кого-то в этом есть опыт, просьба откликнуться.
Данная тема может быть востребована, если на вашей плате гипотетически есть только один канал LVDS, например в случае процессора RK3568. Можно, конечно, использовать eDP- или MIPI_DSI-дисплеи, которые находятся в этом чипе, но будут некие ограничения.
Первое что мне понадобится — это источник сигнала. Наверное, многие знакомы с универсальным контроллером LA.MV9.P на чипе TSUMV59 от MStar. Я долго пользовался готовой платой с Aliexpress для тестирования своих железок, но в конце концов решил сделать свой вариант, который можно более гибко настраивать в плане выходных питаний. Также я немного уменьшил габариты, чтобы в дальнейшем можно было использовать в своих разработках.
Рис. 1. Разработанный «клон» платы LA.MV9.P.
Для тех, кто в танке не знаком с LA.MV9.P, расскажу немного о плате. Набор интерфейсов на фото. Из того, что не видно, JST-разъемов — это линейный выход звука, CVBS, стерео усилитель 3W и клавиатура с ИК-приемником. Настройка платы под нужную матрицу осуществляется путем прошивки бинарника. Набор прошивок есть в свободном доступе, у меня их около 900 шт. Выбираем прошивку по названию папки — например, разрешение, битность, количество каналов и другое. Кладем на USB-накопитель, вставляем в плату, подаем питание — прошивается.
Итак. У меня есть матрица AUO G170EG01V1. Она имеет разрешение 1280×1024, 6 бит цвета, двухканальный LVDS и диагональ 17 дюймов. Для своих экспериментов я нашел подходящую прошивку с одним каналом LVDS и накатил на свою плату. Для проверки, что все сделано правильно, подключаю матрицу и вижу следующую картину.
Рис. 2. Двухканальная матрица, подключенная к одноканальному источнику.
Ожидаем: изображение обрезано, картинка показывает только нечетные столбцы. Таким образом матрицу использовать невозможно.
Ранее я выкладывал статью на тему аппаратного преобразователя HDMI-LVDS, в котором использовалась связка TFP401 (HDMI-RGB) + DS90C387 (RGB-LVDS). И тут меня осенило! Если нет варианта прямой конвертации LVDS, можно попробовать реализацию через RGB. Толчком для этого стал сам даташит на микросхему DS90C387A, так как в своем описании он имеет брата сестру-близнеца DS90CF388, которая как раз выполняет преобразование LVDS-RGB. Секретного тут ничего нет, схема ниже.
Рис. 3. Схема DS90CF388 + DS90C387.
Основное тут — прямое соединение двух микросхем. Также добавлено несколько джамперов для возможности конфигурирования микросхемы и питаний для подключения различных матриц. Быстренько развел плату на двухслойке и заказал, внимание, на Aliexpress. Скоро на Озон можно будет платы заказывать, мне кажется.
Рис. 4. Плата конвертера в Altium.
Сама плата довольно простая. Не стал даже длины выравнивать. С обратной стороны только конденсаторы по питанию микросхем и согласующие резисторы 100R по входному LVDS — без них не работает.
Чтобы не было сомнений кабель входного LVDS сделал на один канал. Справа на картинке ниже видно, что матрица подключена двумя каналами, слева — входящий сигнал.
Рис. 5. Подключение источника и матрицы к конвертеру.
Джамперами установил — пробросил входное питание — 5В для матрицы и режим «Single in — dual out» на микросхеме DS90C387. Подключаем все остальное, записываем клип Bon Jovi на флешку и проверяем.
Рис. 6. Проигрывание файла с USB.
Качество изображения хорошее, просто клип старый. Таким образом получается, что конвертирование LVDS возможно. Ну и еще одно фото вдогонку с параметрами экрана при подключении ПК ко всей этой конструкции по HDMI, чтобы убедиться в отсутствии искажений на шрифтах.
Рис. 7. Вывод изображения по HDMI.
Считаю задачу выполненной. Очень нужна информация о преобразовании двух каналов в один, если это вообще возможно без ПЛИС и Linux.
Спасибо за внимание и успехов!