DREAMER

HDMI HPD란 본문

프로그래밍/Embedded System

HDMI HPD란

연소민 2020. 3. 19. 15:47
728x90

우리가 생각하는 모니터의 당연한 기능은 다음과 같다.

  • 전원이 켜져있던 모니터에 HDMI 케이블을 꽂으면, 모니터에 영상이 나온다.

요즘 대부분의 디스플레이에서 당연히 지원하는 위의 기능을 가능하게 하는 것이 Hot Plugging 이다.

소스 장치(PC)와 싱크 장치(모니터) 둘다 전원이 켜져 있는 동안, 소스장치에 "Hot Plugged"되면 즉시 그에 맞는 디스플레이 설정으로 활성화 되는 기능이다. 이러한 동작은 3가지 단계를 거쳐야 한다.

  1. HPD (Hot Plug Detection)
  2. DDC (Display Data Channel)
  3. EDID (Extended Display Identification Data)

 

[HPD란?]

디스플레이 장치를 소스 장치에 핫 플러깅 하는 것은 디바이스들이 둘다 전원이 on 되어있음을 의미한다.

이는 예전 기술에서 많이 요구하였던, 하나 혹은 두 장치 모두 전원이 꺼져있어야 하는 "cold-plugged" 기술과 차이가 있다.

HPD는 HDMI, DP, DVI 스펙들의 기능이며, 보통은 접촉하는 커넥터의 single pin으로 이루어진다.

 

[DDC란?]

DDC는 소스 장치와 싱크 장치가 커뮤니테이션 하는데 사용되는 프로토콜 혹은 물리적인 path 같은 것이다.

보통은 인터페이스에 1개나 여러개의 핀으로 이루어지며 EDID 정보를 전달한다.

HDMI/DVI 그림과 같이 DDC 핀이 존재하는데, DP는 AUX 채널로 DDC를 대체하여 사용한다.

DP의 AUX 채널을 통해 user data(일반적으로 USB)를 전송할 수 있으며, EDID와 다른 토폴로지 정보들도 전송한다.

간단하게 말하면, 소스 장치와 싱크 장치간에 연결을 관리해주기 위한 Channel이다. (DP의 자세한 스펙은 추후 게시글 작성)

HDMI나 DVI와 달리 이러한 Channel이 있기 때문에 DP는 따로 DDC pin이 존재하지 않고, AUX pin만 존재한다.

 

[EDID란?]

EDID는 싱크 장치의 capabilities를 설명하고 소스 장치에 요구사항을 설명하기 위해 제공하는 정보이다.

그러므로 제조사, serial number, 해상도 정보, refresh rate, color space 등의 영상을 출력하기 위한 정보들을 포함한다.

다시말해, 모니터가 갖고있는 자기 자신의 능력치에 대한 정보이다.

예를 들어, EDID 상 최대 해상도가 1080p60임을 소스 장치에 알려주면, 소스 장치(PC)는 해당 모니터로 1080p60의 영상을 내보낼 수 있는 것이다.

 

 

 

 

 

요약하자면,

  • HPD는 소스장치와 싱크장치가 서로 연결되었음을 알려주는 1개의 pin
  • DDC는 EDID 정보를 전달하는 pin(path)
  • EDID는 싱크장치(모니터)의 정보를 저장하고 있는 데이터 (싱크 장치 안에 들어있음)

 

예를들어 쉽게 설명하자면,

노트북에 모니터를 연결하려고 한다. 노트북의 전원을 키고, 모니터 power를 연결하였다.

HDMI 케이블은 어디에도 연결되어 있지 않은 상태이다.

이제 노트북에 먼저 HDMI 케이블을 꽂았다. 당연히 아무 반응이 없다.

      --> (HPD Low)

모니터에 HDMI 케이블을 꽂는다.

      --> (HPD High)

꽂는 순간 노트북에서 연결된 모니터가 잡히며, 해상도 설정을 할 수 있고, 해당 모니터의 이름 제조사 등으로 표시될 것이다.

      --> (DDC 핀을 통해, 모니터 내의 EDID 정보를 읽어온 결과, 해당 모니터의 이름, 가능한 해상도 등을 알 수 있음)

728x90
Comments