LVDS-коммутатор и история его появления

Введение

Есть корявый телек HYUNDAI H-LCD2201. Корявость, в основном, относиться к странному сочетанию свойств (или прошивки?) скалера и, по совместительству, центрального процессора аппарата. Коротко говоря: несмотря на обилие различных входов, реально он нормально работает только по некоторой их части. Несмотря на внушительного разрешения матрицу (1650x1050 и это в 2007 году!) никаким способом вытянуть из неё нативное разрешение не удавалось. Телек имеет много различных входов (аналоговый тюнер, композитный вход, YPbPr, компонентный (синхро+видео), SVGA), но даже по основным входам (эфир, композитка, YPbRb) заметно кропил яркость (серый-белый не различался на дефолтных настройках, пришлось сильно сворачивать яркость/контрастность). Про SVGA отдельная песня: мало того, что максимум по DDC - 1024x768 (4:3, при том что матрица - 16:10), так ещё и при заметном искажении цветов (явно зеленил картинку).

Немного второстепенных подробностей о косяках и попытках их решить

Когда я решился купить этот аппарат (ценник был около 11 000р на тот момент), то расчитывал на то, что его можно будет использовать не только как телек (к тому времени мой интерес к этой теме уже понемногу шел на спад), но и как моник к компу. Но все попытки реализовать эту возможность терпели крах.

В Windows драйвера видюхи просто не позволяли выдать на него полный размер картинки - по DDC он возвращает 1024x768 и нечего выше прыгать. Под FreeBSD, играя настройками ModeLine, мне удалось дотянуть разрешение до 1440x900:

ModeLine "MyLCD"  112.32   1440 1483 1627 1872    900 901 905 1000 +hsync +vsync                                    

но всё это давалось довольно тяжело и, в любом случае, не решало проблем ни с дикой передачей цветов ни с достижением физического разрешения матрицы. Сама логика подгона была следующей: я брал стандартный частотный режим для 1024x768 и пытался в этот же тайминг развёртки всунуть большее число точек. Но, так как число строк всё равно получалось другим, скалер обнаруживал обман и пытался по какой-то своей тайной логике конвертировать поток. В результате получалось или сильное смещение картинки или достигалась чёткость по одной стороне, но не по второй.

Попытки добиться хотя бы нормальной цветопередачи также успеха не имели: в конечном итоге я пришел к следующей комбинации:

xgamma -rgamma 0.300 -ggamma 0.250 -bgamma 0.300

но это лишь частично улучшало ситуацию. Подбирать же кривые коррекции по каждому каналу было уже перебором. Интересно, что по композитке, эфиру и YPbRb цвета были вполне приемлимы.

Также я составил полный список косяков аппарата и набор ключевых элементов, из которых он состоял:

Матрица: m220z1-L03
Контроллер подсветки: mp1038ey
Контроллер блока питания: cmo565r
Шасси: JUG7.820.037-1 [2007.11.9] || de5165 || BYJ-3 E230225 || 94V0
DDC Flash: 24lc21a
Видео: MST718BU-LF + 24lc32a + 25x20vn1g
Тюнер: TAF5-C2IP1RW + w34063
Цвет?: tda9886ts || ck0144 + af38a2d + mvf38a2d
Звук: yd1517 + pt2314
MPU: MST718BU-LF
Для входа в сервис убрать громкость на минимум, затем зажать MUTE на RC и одновременно MENU на TV.
  1. Громкость звука регулируется неравномерно, значение "1" - ещё громкое, "Mute" - всё равно слышно. Значения 50..100 почти не меняют уровень звука.
  2. Яркие и очень яркие выглядят одинакого (кроп уровня).
  3. Размер 4:3 только с добавлением чёрного, без возможности кропа.
  4. Часы бегают куда хотят. До нескольких минут в сутки.
  5. SVGA только до 1024x768. Некоторые комбинации разрешенных в DDC частот распознаются с неверным размером изображения.
  6. Цветопередача.
  7. Очень долгая смена режимов, каналов (2-3 секунды).
  8. Включается, если не было света. Не помнит состояния.

Надежда на решение проблем

Некоторое время назад на Aliexpress стали появлятся различные, очень интересные, "полуфабрикаты" - платы без корпуса для самостоятельного встраивания в различные конструкции. Я крайне благодарен китайцам за эту идею и её реализацию, которую никак не пытались развивать старые "бренды" (LG, Sams и прочие, которых мы уже привыкли видеть на рынке). Началось с появления встраиваемых цифрывых вольтметров-амперметров, но дошло и до универсальных скалеров, различных конверторов видео, включая такую экзотику как RGB-50Гц в SVGA (сам пользуюсь HD9800)...

Сперва я прикупил скалер V59 (аналоговый телек со встроенным цифровым плейером различных форматов), поигрался с ним, сделал небольшой телек-моник с современными входами (SVGA, DVI, ....): прикольно, как DVI-моник и как телек аппаратик весьма неплох.

Затем купил скалер с единственным SVGA входом - MT561-B V2.1. И случилось чудо: матрица из HYUNDAI заработала с этим скалером. И не просто заработала, а наконец-то показала, как она должна работать! Да, у неё не очень широкий угол обзора, но это всё равно небо и земля относительно того, что она делала с родным скалером. Я целый вечер просидел рядом с распотрошенным телеком, пересматривая фотки последних лет :)

Постановка задачи

С одной стороны, логично было бы оставить новый скалер и старый блок питания и забыть о старом скалере. С другой стороны: аналоговый вход я пока использую довольно часто, пореже YPrPb. Совсем редко, но всё таки бывает интересно - аналоговый эфир (на 2020 год у нас вещает ещё около 6 каналов). Кстати, телек умеет показывать частоту эфирного сигнала, что на 2007 год тоже было редкой фичей (позднее встречал это в различных "свежих" телеках).

Итак, нужен коммутатор, подключающий матрицу к одному из скалеров. Изучение документов на матрицу показало, что нужно коммутировать 10 дифференциальных пар (20 линий), по которым шуруют сигналы с частотами до 500 МГц.

Решение

Теоретически, можно поставить линейку релюшек. Но места займут много, однотипных реле в таком количестве у меня нет, тем более мелких. Можно собрать линейку галетных переключателей. Но однотипных галет тоже нет. Хотя остальная механника, возможно, найдётся (серия ПГК). Но для таких частот мне не очевидно, что станет с сигналом после такого коммутатора. Да и ставить рядом с телеком ещё один бокс для переключателя тоже было не прикольно. Чуйка подсказывала, что чем мельче будет устройство, тем лучше.

Полез искать интегральные коммутаторы. По идее, полевыми транзисторами, особенно, на изолированной подложке, можно пользоваться как вполне честными релюшками, при условии, что управляемый сигнал не превышает по уровням управляющий. Но вопрос в ёмкости такого коммутатора. Гугление выявило, что существует некоторое количество специализированных микрух от различных производителей, которые позиционируются как ВЧ-коммутаторы. Впрочем, найти удалось что-то похожее на подходящее только у Maxim и Texas Instrument.

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

марка		цена	схема коммутации	частота		сумма за комплект
DS90CP22        500р    2x2 crosspoint                                                                              
                                                                                                                    
TMUX154         80р     4>2 switch              900 MHz         10шт - 800р                                         
TMUX136         80р     4>2 switch              6 GHz                                                               
SN74CB3Q3257    90р     8>4 switch              500 MHz         5шт - 500р              выбрана, заказ в elgrad.pro
TS5MP646        250р    20>10 switch (BGA)      3 GHz                                                               
TS5MP645        150р    20>10 switch (BGA)      1.5 GHz         2шт - 300р                                          
                                                                                                                    
MAX14979E       ?       22>11                   650 MHz                                                             

Я выбрал SN74CB3Q3257. На первый взгляд TS5MP645 подходит лучше, но я предположил, что на двухслойной плате развести все дороги под мелкий BGA-корпус будет очень нетривиально (30 линий на каждый кристалл). А если вложиться в многослойку, то итоговая сумма может оказаться заметно выше. Да и не ясно, как многослойка, где дороги будут идти очень близко друг к другу, сыграет на таких частотах.

Плату рисовал в AD, самая заморока была с продумыванием общего плана сигнальных дорог: минимум межслойных переходов (уложился в один для одного из входов, второй вход и выход без переходов), минимальная длина дорог (но при этом они должны быть одинаковы в пределах одного входа или выхода). Нарисовав примерно половину платы обнаружил, что не могу запихнуть всё на выбранную площадь. Пришлось передвигать разъёмы дальше от микрух примерно на 5 мм и перерисовывать часть дорог заново.

Результат

Но, в конце концов, всё получилось:

     

В целом, логика работы коммутатора очень простая: вход TV-set идёт от скалера телека, питание с него идёт (+5в) идёт на матрицу напрямую. Это же напряжение можно использовать для питания второго скалера (отдельным проводом). Вход Monitor подключен к новому SVGA-скалеру. Питание с него проходит резистивно-диодную цепочку и управляет коммутаторами: при появлении напряжения Vcc от источника Monitor коммутаторы подключают сигнальные линии матрицы на этот вход. Если Vcc от Monitor нет, сигнальные линии матрицы подключаются на TV-set.

(Пара диодов внизу: да, это древние германиевые д9 - я люблю сочетания старых и новых технологий :))

Коммутаторы питаются от регулятора на 3.3 в, напряжение на него поступает от TV-set. Напряжение питания от Monitor может быть в пределах 3.3-5.0 в - защитная цепочка его скорректирует.

Работа аппарата выглядит довольно интересно и удобно: SVGA-скалер отключает питание матрицы при отсутствии сигнала синхронизации, предварительно выведя секунд на 10 сообщение "No signal". Также он отключает питание без предупреждения, если обнаруживает смену частот. Получается, что, например, при загрузке компьютера картинка периодически переключается между TV и SVGA. А при выключении/включении компьютера аппарат сам переходит между режимами TV и SVGA.

Я предполагаю, что группу коммутаторов можно каскадировать. Мне бы хотелось иметь ещё DVI-порт или что-то подобное. Либо я найду подходящий SVGA-DVI-скалер или попробую собрать вторую плату (если найду только удачный DVI-скалер).

Архив с конструкторской документаций (схема, плата, гербер) - тут. На плате есть небольшая недоработка: она разведена только под регулятор напряжения с фиксированным выходом 3.3в. Если же добавить пару резисторов, можно было бы устанавливать и универсальные регули, которые массово имеются на старых дохлых материнках компов. Но это мелочь.

Владимир