Перейти к содержанию

HPD — сигнал обнаружения горячего подключения

Монитор воткнули в работающий компьютер — и через секунду изображение появилось. Узнать о подключении видеокарте помогает отдельный контакт разъёма — Hot Plug Detect. Монитор поднимает на нём напряжение, когда готов отдать своё описание.

Обновлено Редакция GAW

HPD (Hot Plug Detect) — сигнальный контакт видеоразъёма, которым монитор сообщает источнику, что подключён и готов: высокий уровень означает, что структуру EDID можно прочитать по каналу DDC. В DVI это контакт 16; спецификация DVI 1.0 делает работу контакта HPD обязательной, а реакцию системы на него оставляет операционной системе (разд. 2.2.9).

Уровни по DVI 1.0

СторонаВысокийНизкий
Монитор выдаётбольше +2,4 В — только когда EDID доступенменьше +0,4 В — EDID недоступен
Хост распознаётпереход выше +2,0 Впереход ниже +0,8 В

Источник — разд. 2.2.9.1 и 2.2.9.2. Простейшая реализация в мониторе — подтягивающий резистор от HPD к питанию EDID: при подключении кабеля линия +5 В от видеокарты питает память EDID и через резистор поднимает HPD (наш вывод из схемы). Напряжение на HPD не должно превышать +5 В: старый стандарт VESA P&D допускал на этом контакте до +20 В, поэтому адаптер к такому монитору должен оставлять HPD неподключённым или ограничивать напряжение (разд. 2.2.9.1).

Что делает хост

  • Подключение. Видеокарта формирует системное событие, ОС читает EDID и, если форматы совместимы, включает монитор и канал TMDS (разд. 2.2.9).
  • Отключение. Видеокарта сообщает ОС, а для цифрового монитора выключает передатчик TMDS в течение 1 с.

В переходниках и DisplayPort

В разъёме DisplayPort тоже есть однопроводный сигнал HPD с уровнями TTL (NXP AN10873, разд. 3.1.1). Микросхема переходника DisplayPort — HDMI/DVI SN75DP139 принимает HPD от порта монитора на вход HPD_SINK и выдаёт источнику на HPD_SOURCE; вывод HPDINV выбирает логику и уровень выхода, а отключение высокоскоростного тракта выводом OE_N на HPD не влияет (разд. 5 и 7.3).

HPD — частный случай общей задачи горячего подключения: кроме порядка соединения контактов, хосту нужно узнать, что устройство появилось. Распиновки — DisplayPort и DVI, HDMI.

Частые вопросы

Какое напряжение на HPD у подключённого монитора?

По DVI 1.0 монитор выдаёт больше 2,4 В, когда его EDID можно читать, и меньше 0,4 В, когда нельзя. Хост реагирует на переход выше 2,0 В или ниже 0,8 В (разд. 2.2.9.1 и 2.2.9.2). Простейшая реализация в мониторе — подтягивающий резистор к питанию EDID.

Что делает видеокарта, когда HPD пропадает?

Формирует системное событие для ОС, а если монитор цифровой, выключает передатчик TMDS в течение 1 с (DVI 1.0, разд. 2.2.9). Поэтому плохой контакт на HPD может гасить изображение (наш вывод).

Можно ли подать HPD с внешнего источника, чтобы видеокарта «увидела» монитор?

Высокий уровень на HPD заставит хост пытаться читать EDID, но без ответа по DDC он не узнает форматы монитора. По DVI 1.0 HPD должен быть высоким только тогда, когда EDID действительно доступен (разд. 2.2.9.2), и напряжение на нём не должно превышать +5 В.

Источники

  1. Digital Display Working Group. Digital Visual Interface, Revision 1.0 (1999) — архивная копия официального файла; разд. 2.2.9: работа контакта HPD обязательна, реакция системы на него — по возможностям ОС; при подключении монитора — системное событие, чтобы ОС прочитала EDID; при отключении цифрового монитора передатчик TMDS выключают в течение 1 с; разд. 2.2.9.1: хост реагирует на переход выше +2,0 В или ниже +0,8 В; адаптер к монитору VESA P&D должен оставлять HPD неподключённым или не допускать больше +5 В; разд. 2.2.9.2: монитор выдаёт больше +2,4 В на HPD, только когда EDID доступен для чтения, иначе меньше +0,4 В; простейшая реализация — подтягивающий резистор к питанию EDID; табл. 5-1: HPD — контакт 16
  2. Texas Instruments. SN75DP139 DisplayPort to TMDS Level-Shifting Re-Driver, SLLS977F (2017) — разд. 5: HPD_SINK — вход от порта TMDS, HPD_SOURCE — выход к источнику DisplayPort, HPDINV — выбор логики и уровня HPD_SOURCE; разд. 7.3, табл. 2: OE_N не влияет на HPD; HPD_SOURCE повторяет HPD_SINK без инверсии при HPDINV = L
  3. NXP. AN10873 PTN3392 application design reference manual, Rev. 1.1 (2016) — разд. 3.1.1: в разъёме DisplayPort есть однопроводный сигнал HPD (hardware presence detect или hot-plug detect) с уровнями TTL

Нашли ошибку?