1/19/2015

HDMI 와 DVI 기본정리

1. HDMI 


HDMI (High Definition Multimedia Interface) 는 기본적으로 DVI 에서 발전하여, Video , Audio Data를 전송하기 위해서 만들어진 Interface이다.
기본적으로 DVI 기반이므로, 이는 항상 DVI 알고 있어야 한다.
HDMI를 기술을 만든 회사들은 Sony , Silicon Image 등 협력하여 이 Interface를 만들었다.
HDMI Main 기술은 거의 Silicon Image일 것라고 생각되어진다. 
현재 SOC에서 HDMI Interface를 기본적으로 가지고 있는 것들을 보면, 사용이 편하고 설정도 편하여 다시 한번 정리하고자 한다.


2. HDMI 기본 구성 


          Host (Source)                                                    Display (Sink)
http://kcchao.wikidot.com/hdmi


HDMI는 기본적으로 BUS구조가 아니며, 1:1 Mapping 형식으로 Source와 Sink가 붙어야한다.
USB일 경우는 BUS구조이기 때문에, 여러 Port가 연결이 가능하지만, HDMI는 다르다.



  • HDMI 기본구성 용어 설명 
  1. Source  : Device에서 Data를 보내는 곳 (HDMI Output) ,             HW : Transmitter 
  2. Sink     : Device에서 Data를 받는곳    (HDMI Input, e.g Display )  HW : Receiver 
  3. Repeater : HDMI의 신호를 멀리 보내기 위해서 사용되어지는것이다.   
  4. CEC :    Consumer Electronics Control 약어로 Sink를 Control하기 위해서 사용 
  5. HPD :    Hot plug  (Pin 19)
  6. DDC :    I2C로 통신하며, Display의 EDID 값을 읽는다. (Pin 15,16)       

  • HDMI 관련내용 
  HDMI Version 과 각각의 기능별 설명을 자세히 해주고 있다.
  역시 영문 wiki와 정확한 spec을 보는것이 가장 현명한 것 같으며, 한글보다는 영문이 더 정확한 것 같다.

  http://kcchao.wikidot.com/hdmi
  https://en.wikipedia.org/wiki/HDMI


  • 아래의 정보는 이상하여 Link를 걸어놓았다. (참고하지 마시길)

  https://ko.wikipedia.org/wiki/%EA%B3%A0%EC%84%A0%EB%AA%85_%EB%A9%80%ED%8B%B0%EB%AF%B8%EB%94%94%EC%96%B4_%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4 (고선명_멀티미디어_인터페이스)


  • HDMI Spec
  현재 간단히 구할수 있는 Spec을 구했으며, 간단히 구성을 보자.
  http://www.microprocessor.org/HDMISpecification13a.pdf
  http://www.evernew.com.tw/HDMISpecification13a.pdf


  • ESD 보호 회로 (ESD protection chip)
HDMI 기술문서를 보면 항상 ESD 보호회로가 나오며, 이는 요구되어진다고 한다.
보통 Chip 형태로 나오며, HW로 구성을 하면된다.
ESD(Electro Static Discharge) 영문해석해서 두개의 전하를 가진 물체가 접촉 or 쇼트에 발생하는 것을 말하며, 이는 spark를 발생한다고 쉽게 설명해서 정전기 라고 생각하면되겠다.

  https://en.wikipedia.org/wiki/Electrostatic_discharge
  http://tsecl.com/board/index.asp?kind=view&madalli=freeboard&num=9
  http://www.ti.com/lit/sg/sszb130b/sszb130b.pdf


3. HDMI의 설정관련기술 

예를 들면, HMDI Switch , HDMI repeater, 등으로 구성이 될 경우 아래와 같은 상황이 될수 있다.
TMDS일 경우 1:1일지만, DDC이는 I2C로 버스이다. CEC의 경우도 아래와 같이 연결이 된다고 하는데, 이부분은 확인해봐야겠다.






3.1. DDC (I2C로 연결)

기본적으로, PIN15,16을 이용하여, Source에서 I2C로 접근하여 EDID ROM 정보를 읽어간다.
정확히 이해해야하는 것은 EDID는 ROM이며, Source, 즉 HOST가 이 정보를 읽어가는것이다. Host에서 Device들의 정보를 쉽게 파악이 가능하고 이를 기반으로 통신하다.
EDID 1.3인 경우, 128 byte로 구성이 되어있으며, DDC의 I2C를 이용하여 Data를 읽고,
이정보를 바탕으로 Sink 즉 연결된 Device의 정보 Feedback을 받을수 있다.
그리고, 관련내용을 아래에서 보자.


  • DDC관련 내용
  http://en.wikipedia.org/wiki/Display_Data_Channel


  • EDID ROM 관련내용 
EDID 제품의정보 및 Display 해상도 그리고, Timing 정보 , Audio 정보 , Audio Format 정보
만약 자세히 HDMI를 다룬다면 아래부분은 자세히 봐야한다.

  http://en.wikipedia.org/wiki/Extended_display_identification_data
  http://read.pudn.com/downloads110/ebook/456020/E-EDID%20Standard.pdf


3.2 HDMI-CEC

CEC는Consumer Electronics Control)로 Source, 즉 Host에서 Command 주어 HDMI Device를 Control, 즉 제어를 한다는 개념이다.

대표적인 예인것이 remocon이며, 예를 들면, TV or set-top box, PVR/DVR 연결이 되어 있
을 때, 이를 Device on/off 하고 제어하는 것이다. 자세한내용은 Spec을 보자.
Set-Top box 인 경우를 예를 들자면, 이 기능을 이용하여 TV에게 Command를 주어 Display를 변경하고, Remocon 기능을 줄수 있다.

양방향 통신 opcode 형식으로 제어를 한다 그러므로 HOST가 일방적인 제어가 아니 ACK가 있다. 

다음은 Spec의 operand들의 각종의 예제 CEC 17 Operand Descriptions 
CEC 13.10 OSD Display로 TV의 OSD에 자막등을 제어가 가능하다고 하는 이부분은 흥미롭다. Spec을 한번보자.

  https://en.wikipedia.org/wiki/Consumer_Electronics_Control
  https://github.com/JeonghunLee/CEC/blob/master/extras/CEC_Specs.pdf

Linux CEC 관련
  http://elinux.org/CEC_(Consumer_Electronics_Control)_over_HDMI

3.3 Hotplug 기능

HPD 기술은 생략

아래를 참조를 하면 될 것 같다.
  http://wellplay.tistory.com/entry/HDMI-Hot-Plug-Detect-PinHPD-and-5V-Pin


4. HDCP

HDCP(High-bandwidth Digital Content Protection)는 디지털영상보호기능으로, 정확히 말해 Digital Contents를 보호하기 위해 암호화 및 인증을 통해 영상을 출력을 하는 기능이다.
구현만 하지 사실 많이 사용이 되어지는 것 같지는 않다.

본인도 예전에 HDCP 1.1 기능을 사용하여 HDMI를 개발을 한적이 있는데 현재 이 기술이 많이 발전하여 점점 더 변경이 되어가고 있지만, 지속적으로 지켜봐야겠다.
아래를 보면 이 기술은 인텔에서 개발이 되었다고 한다.

HDCP 버전지원하는 인터페이스
1.0DVI
1.1DVIHDMI
1.2DVI, HDMI
1.3DVI, HDMI, UDIGVIFDP

  http://www.avkorea.com/catalog/extron/HDCP.pdf
  http://ko.wikipedia.org/wiki/%EA%B3%A0%EB%8C%80%EC%97%AD_%EB%94%94%EC%A7%80%ED%84%B8_%EC%BD%98%ED%85%90%EC%B8%A0_%EB%B3%B4%ED%98%B8


5. Source의 Transmitter

Silicon image 사에서 제공하는 HDMI 관련 칩으로, Transmitter 기능을 가진 칩이다.
기본 구성은 아래의 내용을 보면 쉽게 이해가능하다.
HDMI와 SPDIF 연결이 가능하다.

기본구성
  https://www.semiconductorstore.com/pdf/newsite/siliconimage/9030_PB.pdf
  https://www.semiconductorstore.com/pdf/newsite/siliconimage/SiI9022a_pb.pdf


Silicon Image의 문서는 비공개문서이며, 아래의 사이트에 참조

Flowchart
         Configuration Flowchart            ( 전체 Flowchart     ,Page 7)
         Display Discovery Flow chart     ( Display 연결관련   ,Page 11)
         HDMI Transmitter Initialization     ( HDMI Init            ,Page 14)
         Setting Video Mode Flow chart    ( Video Mode setting ,Page 16)


Ref.
SiI-AN-0117-A_9030     (HDMI Transmitter Application Note)
  http://wenku.baidu.com/view/969089d280eb6294dd886c81.html



SiI-PR-0003-B00_9030   (HDMI Transmitter Programmer's Reference)
  http://wenku.baidu.com/view/4553e074f46527d3240ce0c4.html