понедельник, 25 мая 2015 г.

Управление режимом сна монитора с displayport при подключении к Lenovo mini dock series 3

Задача - подключить монитор с displayport к доку для ноута.
Монитор филипс (PHILIPS 272C4QPJKAB), ноут Lenovo T420 с доком (Lenovo mini dock series 3).
Монитор 27 дюймов, 2560x1440. Кабель displayport попался рабочий со второго захода в магазин. Как показала практика, сейчас встречаются hdmi провода в displayport разъемами.
Кэп: в кабеле displayport и провод и разъемы должны быть displayport, на проводе не должно быть написано HDMI.
После подключения и элементарных проверок была выявлена проблемка: если ноута нет в доке, ноут выключен или ось переводит монитор в сон - происходит фигня, не спит, а елозит табличкой check cable.

На забугорных форумах нашли простое решение этой проблемы - подключить через dvi. Мне это решение не подходит.
Факт: в lenovo mini dock series 3 разведен обычный одноканальный dvi, но разъем как у dl dvi, видимо для обеспечения совместимости с кабелями.
Кэп: для поддержки через dvi разрешения выше 1920x1200 требуется хитрый dual link dvi.

Как мониторы спят.
Не буду вдаваться глубоко в историю развития интерфейсов управления мониторами, но советую погуглить про vga.
Управление питанием dvi монитора значительно сложнее vga. Управление питанием осуществляется по i2c подобной линии данных DDC. По этой же линии монитор и видюха договариваются о настройках. Вот тут есть хорошая статья о dvi, дополнительно можно посмотреть это. По этим ссылкам получаем важные знания, например о подтяжках ног DDC. Я попробовал усыпить монитор через dvi и получил результат. Для этого потребовалось подтянуть ногу DDC data (pin 7) к питанию 5В (pin 14). Питание берется прям с разъема. Теоретически, надо подтягивать еще и clock, но у меня работает и так.
Кэп: логика в dvi 5В.
Погрузить монитор dipspayport в сон оказалось сложнее. Нагуглить быстренько не получилось, пришлось вникать. Для этого потребовался сравнительный анализ DisplayPort и DVI. Инфа отсюда и отсюда. Все по пунктам:

  • DisplayPort, теоретически, pin-to-pin совместим с DVI
  • Логика DisplayPort 3.3В
  • В переходниках DisplayPort-DVI используются специальные микросхемы преобразования уровней логики (5В - 3.3В)
  • Вместо i2c подобного DDC (в DVI) ввели более крутое понятие AUX
  • При работе DisplayPort в режиме совместимости (обратной с DVI) AUX превращается в DDC (AUX p -> DDC clock, AUX n -> DDC data)
  • В DisplayPort нет аналоговых линий, значит и необходимости в совсем старомодных линиях управления
AUX в DisplayPort это универсальная дифференциальная высокоскоростная линия данных. Монитор видит источник сигнала именно за счет AUX. Чтобы показать монитору наличие источника надо подтянуть ногу 15 (AUX p) к GND и ногу 17 (AUX n) к питанию 3.3В, подняжки в районе 100К. С другой стороны, следуя логике совместимости, обе ноги подтянутые к питанию должны говорить о наличии источника сигнала, но (спойлер) у меня так не получится.
Факт: я пробовал тянуть AUX n к питанию с ноги 20 монитора, так не работает, не знаю почему. При подключении внешнего источника (начинал с 3.3В, опускал до 0.1В) все нормально.
Факт: если AUX p висит в воздухе, то поднянуть только ногу AUX n к земле не достаточно.
Это создает сложности при проектировании переходников, которые бы усыпляли мониторы при отключении источника. Например, переходник Apple Tunderbolt (miniDisplayPort) - DVI усыпляет монитор при отключении от ноутбука. Как реализовать подобное с DisplayPort я не знаю.
Теорию подтянули, теперь берем отвертку. Вот тут есть видео о разборке дока, но я сделал несколько фото, так, на всякий случай.

Шаг 1 выдергиваем верхнюю подвижную часть с защелок

Странные ощущения вызывает средняя защелка:

Мне удалось снять ничего не отломав.
Шаг 2 откручиваем винтики сзади.
Шаг 3 откручиваем винтики сверху, под снятой подвижной частью:
Шаг 4 вытаскиваем плату, вот так она будет выглядеть:

Я подключал питание и искал дежурные 3.3В, но не нашел, придется довольствоваться одной только землей на подтяжке. Куда бы ее тут воткнуть... Ищем на разъеме нужные ноги:

Потом по плате шарим мультиметром и находим интересное место:

Тут мы видим готовые места под резисторы подтяжки, вот только на пад для подтяжки AUX n (A-) питание 3.3 не подается:

Шаг 5. Ну и ладно, попробуем поставить хоть один резистор на AUX p (A+), вдруг заработает. Резистора подходящего размера на 100К я у себя не нашел, но если паяться к переходным отверстиям, то влезет и 0805:

Шаг 6. Пробуем подключить монитор. Мой монитор сказал что нет сигнала и уснул. На этом я успокоился, собрал все обратно. Почему такая конфигурация работает не понятно, возможно что-то на AUX n наводится.

Тут можно забрать архив с фотографиями в оригинальном разрешении (30МБ).

Эпилог.
Прошло почти 3 месяца с момента внесения изменений в конструкцию. Все работает. Иногда монитор заглючивает и не засыпает, но за 3 месяца так было раза 2 или 3, после перезагрузки монитора проблема уходит. 

Комментариев нет:

Отправить комментарий