天天看點

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

高清多媒體接口 High Definition Multimedia Interface  是一種全數字化視訊和聲音發送接口,可以發送未壓縮的音頻及視訊信号

HDMI A Type

應用于HDMI1.0版本,總共有19pin,規格為4.45mm×13.9mm,為最常見的HDMI接頭規格,相點對點于DVI Single-Link傳輸。在HDMI 1.2a之前,最大能傳輸165MHz的TMDS,是以最大傳輸規格隻能在于1600×1200(TMDS 162.0MHz)

Pin Pin定義
1 TMDS Data2+
2 TMDS Data2 Shield
3 TMDS Data2–
4 TMDS Data1+
5 TMDS Data1 Shield
6 TMDS Data1–
7 TMDS Data0+
8 TMDS Data0 Shield
9 TMDS Data0–
10 TMDS Clock+
11 TMDS Clock Shield
12 TMDS Clock–
13 CEC
14 Reserved(N.C. on device)
15 SCL
16 SDA
17 DDC/CEC Ground
18 +5V Power
19 Hot Plug Detect

TMDS溝道

  • 發送音頻、視訊及各種輔助資料 [3] 
  • 信号編碼方式:遵循DVI1.0規格。Single-link (Type A HDMI) 或 dual-link (Type B HDMI)
  • 視訊像素帶寬:從25 MHz到340 MHz(Type A, HDMI 1.3)或至680MHz (Type B)。帶寬低于25MHz的視訊信号如NTSC480i将以倍頻方式輸出。每個像素的容許資料量從24位至48位。支援每秒120張畫面1080p分辨率畫面發送以及WQSXGA分辨率[1]
  • 像素編碼方式:RGB4:4:4, YCbCr 4:4:4(8-16 bits per component); YCbCr 4:2:2(12 bits per component); YCbCr 4:2:0(HDMI 2.0)
  • 音頻采樣率:32kHz, 44.1kHz, 48kHz, 88.2kHz, 96kHz, 176.4kHz, 192kHz, 1536kHz(HDMI 2.0)。
  • 音頻聲道數量:最大8聲道。HDMI 2.0支援32聲道。
  • 音頻流規格:IEC61937相容流,包括高流量無損信号如Dolby TrueHD、DTS-HD Master Audio。

DDC溝道

  • DDC全文為Display Data Channel
  • 發送端與接收端可利用DDC溝道得知彼此的發送與接收能力,但HDMI僅需單向獲知接收端(顯示器)的能力。
  • 使用100kHz時鐘頻率的I²C信号
  • 發送資料結構為VESAEnhanced EDID(V1.3)。

CEC溝道

  • CEC全文為Consumer Electronics Control
  • 必須預留線路,但可以不必實作
  • 用來發送工業規格的AV Link協定信号,以便支援單一遙控器操作多台AV機器
  • 為單芯線雙向串列總線
  • 在HDMI 1.0協定中制訂,在1.2a版中更新 [1] 
  • 一些制造商可能使用HDMI CEC,但是可能使用不同的名稱來代表CEC功能:
    1. Samsung - AnyNet+
    2. Sharp - Aquos Link
    3. Sony - BRAVIA Link and BRAVIA Sync
    4. Hitachi - HDMI-CEC
    5. AOC - E-Link
    6. Pioneer - Kuro Link
    7. Toshiba - CE-Link and Regza Link
    8. Onkyo - RIHD (Remote Interactive over HDMI)
    9. LG - SimpLink
    10. Panasonic - HDAVI Control, EZ-Sync, VIERA Link
    11. Philips - EasyLink

線材規格

在HDMI 2.1版本前,根據規範,所有的HDMI線分為五種,線材的種類,HDMI的版本為規範連接配接器,大部分情況下線材部分沒有更動。

  • 标準纜線 (支援1080i及720p)
  • 标準纜線附帶以太網
  • 高速纜線 (支援1080p, [email protected], 3D 與 Deep Color)
  • 高速纜線附帶以太網
  • 車用纜線

防拷機制

  • 強制支援HDCP規格1.10版

長度限制問題

編輯

HDMI的纜線長度限制是其主要的問題之一,在部分消費者自行測試當中回報标準的28AWG(American Wire Gauge,美國纜線度量)規格HDMI銅線大約在超過5米之後開始信号衰減。此長度通常不足以滿足投影機與計算機的連接配接。

但HDMI組織網頁并不認可此限制,其網頁常見問答集HDMI FAQ page當中記載:“我們見過有纜線在沒有"轉接器"之情況下通過不短于十米的HDMI "标準纜線"承諾測試”。

現有通過HDMI認證的10M cable(未使用HDMI equalizer IC),大都使用24AWG的線材去制作。

一些報告指出,增加纜線中銅線的直徑以降低阻抗,是有效延長纜線長度的方法之一。另外也有報告指出,24AWG規格的纜線表現較28AWG好。另外也有人使用光纖或兩條CAT-5網上纜線來取代标準HDMI銅線。某些廠商也制造HDMI信号增強器以因應使用者的需求。

現有單一一顆HDMI equalizer IC,可讓24AWG HDMI cable最大使用長度變成50米。

5: 相關信号 Level 标準:

A: TMDS –Termination Voltage ( 差分信号終極電壓)

Criteria: 3.125 V ≤ VTERM (TMDS ±Data) ≤ 3.475 V

(Please refer to P.45 of HDMI CTS 1.3 for details)

B: TMDS – Minimum Differential Sensitivity ( 差分信号最小紋波電壓)

Criteria: VDIFF (minimum) < 150 mV

(refer to P.46 of HDMI CTS 1.3 for details.)

C: TMDS – Intra- Pair Skew

Criteria:

If TMDS clock frequency <= 222.75MHz(225Mhz)

Inter-Pair Skew < 0.4 T BIT, then FAIL

If TMDS clock frequency > 222.75MHz(225Mhz)

Inter-Pair Skew < 112psecs + 0.15 T BIT , then FAIL

(refer to P.46 of HDMI CTS 1.3 for details.)

(注意: TBIT: Time duration of a single bit carried across the TMDS data channels)

D: SDA/SCL Line Capacitance (SDA/SCL 對地電容值)

Criteria:

HDMI Source Cable Assembly HDMI Sink

SDA – DDC/CEC Ground 50pF 700pF 50pF

SCL – DDC/CEC Ground 50pF 700pF 50pF

(refer to P.46 of HDMI CTS 1.3 for details.)

E: SDA/SCL Line Voltage (SDL/SCL 資料通道電壓)

Criteria: (When power on)

4.5V ≤ SDA ≤5.5V

4.5V ≤ SCL ≤5.5V

(關于熱插拔信号 後面HPD會有更具體的解答)

F: HPD Output Voltage and Output resistance

(HPD pin 輸出電壓和輸出阻抗)

Criteria:

1: Set the +5V Power pin to 0.0V

0.0 V ≤ VHPD ≤ 0.4 V

2: Set the +5V Power pin to 4.8V and 5.3V

2.4 V ≤ VHPD ≤ 5.3 V

3: Output resistance : 800 Ω ≤ ZHPD ≤ 1200 Ω (Z HPD = 1000 ohms ± 20%)

(Please refer to P.53 of HDMI CTS 1.3 for details.)

G: +5V Power Max Current(+5V 的最大電流)

Criteria:

1: Sink DUT is Power ON

ISINK ≤10 mA,

2: Sink DUT is Power OFF , Unplugged from AC

ISINK ≤50 mA,

(Please refer to P.51 of HDMI CTS 1.3 for details.)

H: CEC Line

N/A Please Supplement 1Consumer Electronics Control (CEC)

I :HDMI Impedance (阻抗要求)

Criteria:

Connector Area :

Type A: 100 ohms ±15%

Type C: 100 ohms ±25%

Transition Area :

100 ohms ±15%

Cable Area :

100 ohms ±10%

(Please refer to P18 of HDMI CTS 1.3 for details.)

6: HDMI Support Video format

A: SXGA:[email protected]

B: UXGA:[email protected]

C: SDTV:480i.480p.576i.576p

D: HDTV:720p.1080i.1080p

一般來說, HDMI 傳輸的編碼格式中要包含視訊資料(HDMI1.3 版本前每個像素采用24bit )、

控制資料和資料包(資料包中包含音頻資料和附加資訊資料,例如糾錯碼等) 。TMDS 每個

通道在傳輸時要包含一個2bit 的控制資料、8bit 的視訊資料或者4bit 的資料包即可。在HDMI

資訊傳輸過程中, 可以分為三個階段: 視訊資料傳輸周期、控制傳輸周期和資料島傳輸周期,

分别對應上述的三種資料類型。

11: HDMI 相容測試常見問題與解析:

A: +5V 電源輸出

有些客戶習慣性地在HDMI 輸出端口的電源輸出通路上串聯電阻,起到限流的

作用。但在HDMI Tx 的測試中會接一個吸取55mA 電流的負載, 然後測試輸出

電壓, 要求電壓在4.8V 和5.3V 之間。例如圖1 所示例子中串接了一個10 歐姆

的電阻,結果造成輸出電壓為, 5- 10x0.055 = 4.45V < 4.8V ,此項測試失敗。

B: TMDS 信号差分阻抗比對

現在很多人在設計電路闆的時候都會考慮到TMDS信号差分阻抗比對

的要求,但往往還是會在此項測試中失敗,原因在于客戶選用的ESD

保護器件或者是抑制EMI 用的共模扼流圈寄生電容太大,導緻此項測

試失敗。現在很多用于高速線路的ESD保護器件的供應商都會提供推

薦的布線方案,而且也會提供阻抗測試圖,客戶可以要求這些廠商提

供相關的資料。此項測試是HDMI相容性測試中為數不多的跟硬體線路

相關的測試項目,此項失敗,客戶往往需要更改電路闆設計,會耽誤

投産和上市時間。

C: HPD 輸出電壓

一些設計人員喜歡使用以下電路來利用HDMI 端口的5V 電壓,同時利用VCCD

為HDMI 端口的HPD 管腳提供電壓,但這會違反HDMI 協定中當HDMI +5V 輸入為0V

時, HPD 電壓應大于0V, 并小于0.4V 的要求。這裡最簡單的方法是将HDMI 輸入端口的

+5V 電壓串聯一個1K 的電阻直接路由回HPD 管腳。當然在此還是建議讀者利用一個簡

單的三極管開關電路對HPD 管腳加以控制,這樣可以主動告知源端裝置下遊的裝置是否

已準備好或者告之源端裝置重新開始一些驗證動作,例如HDCP 等,這可以增強裝置的

相容性。

HDMI 規範檔案裡面規定其差分線阻抗要求控制在 100Ω ±15%,其中 Rev.1.3a 裡面規定相對放寬了一些,容忍阻抗失控在100Ω ±25%範圍内,不要超過 250ps。 通常,在 PCB 設計時,注意控制走線時的阻抗控制,往往可以做到很好的比對。 對于通常的聚酯膠片 PCB 來說,傳輸線的長度和微帶線 Stub 效應是需要考慮的, 在本設計指南裡面,主要是針對 4 層的 1080+2116 聚酯膠片PCB 進行相關的阻抗比對控制。

2

聚酯膠片 PCB 的選擇

盡管對于 PC 主機闆來說,高精度的 2116 材質 FR4 的4 層 PCB 是主流,但是如果需 要進行精确的阻抗控制,則其費用也是不菲的。因而對于 HDMI 應用來說,不推 薦采用此闆材,取而代之的是采用中等精度的 1080+2116 闆材或者是低精度的2116+7628 闆材。對于不同的闆材,走線寬帶和間距必須做出相應的調整,使其做的阻抗比對,下面列出了PCB疊層相關的尺寸。

表 1:推薦的 PCB 聚酯膠片闆材

通常,PCB 廠家能夠将線寬和線距控制在±1-mil,然而對于 HDMI 連接配接器、IC 器件等附近區域,最好能夠控制在±0.5mil,以減少偏移。

5推薦走線長度

為了防止信号反射,信号線的長度不允許超過下面兩個限制條件所計算出的走線長度。

1. 小于信号波長(λ )的 1/16,信号波長與信号頻率之間的關系由以下公式來确定。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

這裡ε R = 4.3 ~ 4.7,對于 FR4 材質μ R ~ 1

比如,對于運作于 FR4 闆材,信号頻率為 1.25GHz,其走線長度計算結果如下:

推薦長度< (1/16)λ  ≅ 280 mil

2. 信号上升沿的 1/3 長度,其長度 l 定義為

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

這裡 l 為信号上升沿的長度,機關 inch Tr 為信号上升沿時間,機關 ps

D 為信号延時,機關為 ps/inch

對于 FR4 闆材,其延時為 180ps/inch,對于 HDMI 信号,Tr 為 200ps,其計算結果不能超過 370 mil,即:

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

如果信号線太長的話,那麼最好将線寬和線距加大,以後線寬和線距加大後,其阻抗連續性更容易控制。詳細的線寬和線距的選擇請參考表 1.

4微帶線 Stub 效應

stub 将會給 PCB 走線增加電抗,并且減少走線的阻抗,對于 HDMI 走線,存在任 何的 stub 都是不完美的。如果一個 open stub 是 1/2 波長,則其就等效于走線 上的一個對地電容。而如果 short stub 是 1/2 波長,其相對于在一個走線上加 上一個電感。

如果 stub 是不可避免的話,那麼必須将其控制在信号上升沿的 1/6。經驗告訴 我們,對于 200-ps 的 HDMI 信号,stub 的長度不允許超過 1/6 × 200ps = 33ps。

5焊盤和過孔相關補償

焊盤和過孔往往造成走線的不連續性,其結果使得走線阻抗降低。在器件下面的低平面挖出适當的孔,其有助于減少焊盤或過孔與地平面之間的電容,進而有利于補償走線的阻抗損失。挖出空白尺寸的大小參考 Section(A)裡面的(i)-(iv)。

HDMI 連接配接器焊盤之間也許會互相影響,為了達到相應的阻抗,并建立合理的信 号路徑,其參考平面,HDMI 連接配接器推薦的地平面如 Section(A)裡面的(v)。 Section(B)是推薦的案例。

Section(A):地平面推薦的挖空尺寸

下面的案例基于 1080+2116 的聚酯膠片,差分線線寬為 8.0mil,線距為 9.3mil。 其相關地平面的挖空尺寸如下。

(i)ESD 或者上拉 0603 電阻焊盤下面挖空情況

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

圖 3.ESD 或者上拉 0603 電阻焊盤下面挖空情況

(ii)ESD 或者上拉 0402 電阻焊盤下面挖空情況

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

圖 4.ESD 或者上拉 0402 電阻焊盤下面挖空情況

(iii)HDMI 相關器件下面挖空情況

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

圖 5.HDMI 相關器件下面挖空情況 

(iv)過孔下面挖空情況

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

圖 6.過孔下面挖空情況

(v)HDMI 連接配接器下面的挖空情況

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

圖 7.HDMI 連接配接器下面的挖空情況

Section(B):PCB 相關區域限制情況

在實際情況下,在走線時是需要考慮 PCB 的空間問題的,是以在連接配接 ESD 器件 和上拉電阻時,需要用到過孔和 stubs,且需要在底層走線。下面的參考案例裡 面,包含了 ESD 器件、過孔和上拉電阻。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

圖 8.帶有 ESD 器件、過孔和上拉電阻的 PCB 走線情況 

6建議走線

1.  盡可能的将過孔靠近 HDMI 連接配接器放置

當信号從 HDMI 連接配接器到 HDMI 焊盤時,由于電氣上的改變,使得阻抗相應 的增加,這種阻抗的增加剛好可以補償 HDMI 邊上過孔說造成的阻抗損失。 由于過孔太靠近 HDMI 連接配接器,這将使得 HDMI 連接配接器周圍沒有足夠的空間 去走 100Ω 的差分線,這是将用 50Ω 的單端走線來代替,當必須保證此單 端線足夠的短。移除 HDMI 信号和時鐘焊盤下面的地平面。

2. 盡可能的采用小封裝的上拉電阻和 ESD 器件

0402 封裝與 0603 封裝相比,具有更小的焊盤,使其在阻抗上具有更小的 損耗。

3. 采用 9mil 線寬和 11mil 線距的差分走線 如果走線夠寬,則其阻抗更好的控制。

4. 采用盡可能短的 stubs

ESD 保護器件、過孔和上拉電阻之間的 stub 盡可能的短,不能超過信号 上升沿的 1/6。

5. 移除電阻焊盤和過孔下面的地平面 此挖掉的孔必須要足夠大,確定能夠覆寫 ESD 器件焊盤、過孔和上拉電阻 焊盤和所有的 HDMI 連接配接器上信号焊盤。其參考如下圖 9。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

圖 9.ESD 器件、過孔和上拉電阻下面的地平面

HDMI,全稱為(High Definition Multimedia Interface)高清多媒體接口,主要用于傳輸高清音視訊信号。

HDMI引腳:

HDMI有A,B,C,D,E五種引腳類型,目前市面中比較常見的就是Type A:

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

其中

  • 1-9 都是TMDS資料傳輸實際上用到的引腳,分為0,1,2三組
  • 10-12 為TMDS時鐘信号,如目前Video Timing為[email protected](Htotal:800,Vtotal:525),則TMDS clock = 800x525x60 = 25.2MHz。TMDS clock就像是對像素的打包,一個clock分别在三個Channel傳輸一個像素的R、G、B(8bit)信号。
  • 13 為CEC(consumer electronic control)類似一種擴充的HDMI功能,供廠家自己定制HDMI消息,(比如說你有一台sony的DVD與TV,兩者用HDMI線接上,如果你用TV的遙控器可以控制DVD,另DVD執行某種功能,那麼該功能的指令信号就是通過TV與DVD間的CEC引腳傳輸的)
  • 14 為保留引腳,未使用(或者也可以為CEC提供多一個引腳)
  • 15-16 為I2C引腳,用于DDC(Display Data Channel,主要用于EDID與HDCP的傳輸)傳輸,具體可以檢視。在HDMI的流程中,DDC通信幾乎是最先做的(前有Hotplug),因為HDMI的主從兩個裝置需要通過DDC來獲得他們對方裝置的EDID,進而得到各種資訊,并且通過比較timming以确定以後送出來的timming為最合适的
  • 17 為接地引腳
  • 18 為5v的AC引腳
  • 19 為Hotplug(熱拔插)引腳(用于監測HDMI裝置有沒有存在,如果存在(Hotplug為high)那麼可以通過DDC去讀EDID),HDMI有規定在HDMI 5vAC斷電時source device可以讀reciever device的EDID,也就是需要Hotplug為High。其中有兩種Hotplug相關的情況會導緻HDMI被識别為DVI:
    1. Hotplug為High,不過EDID并沒有準備好,那麼信号源裝置會由于無法讀到EDID而認為接收裝置為DVI,這樣會導緻HDMI有圖像無聲的問題。
    2. Hotplug為Low,也會導緻信号源無法讀到EDID而認為接收裝置為DVI,進而導緻HDMI有圖無聲
    3. 在TV這種有多個HDMI通道的情況下,有時會在多個HDMI通道進行切換,切換後HDMI通道應當先初始化,即先把Hotplug拉低,通知HDMI source device之前所用的EDID已經改變,需要重新讀取,那麼source device在Hotplug被拉高的時候會去讀取新的EDID,但是拉低這個過程至少需要100ms,否則source device有可能不會去讀取新的EDID,進而輸出DVI信号

傳輸流程

HDMI TMDS傳輸的資料類型有三種(加上Hsync與Vsync就算4種):

  1. Preamble(控制資訊),主要用于控制接下來傳輸的資料是Data Island或者Video Data
  2. Data Island(資料包),各種類型的包資訊,包括音頻資料包,圖像資訊包等
  3. Video Data (視訊資訊),視訊像素資料,HDMI可以傳輸RGB與YUV兩種格式的像素資料
  4. 還有Hsync與Vsync

HDMI的資料傳輸有TMDS0,TMDS1,TMDS2三個通道,每個通道的傳輸流程都是一樣的:

  

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

如果是8bit的資料進入TMDS編碼器,得到抗幹擾性強的10bit TMDS信号,然後再進行串行化輸出;在接收端收到串行的HDMI信号後,進行信号複原,得到10bit的TMDS信号,最後用TMDS解碼器解碼得到原來的8bit資料。

總體傳輸流程如下:

  

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

  

  1. 如果傳輸的是Video Data,并且格式為RGB,那麼會占用三個通道的所有24bit輸入,Channel0[7:0]用于傳輸B,Channel1[7:0]用于傳輸G,Channel2[7:0]用于傳輸R。
  2. 如果傳輸的是Data Island,則占用三個通道共10bit輸入,Channel0[3:2]用于傳輸Data Island Header(標頭),Channel1[0:3]與Channel2[0:3]用于傳輸Data Island Content(包内資料)。
  3. 如果傳輸的是Preamble,則占用1,2兩個通道共4bit輸入,Channel1[1:0]與Channel2[1:0]分别為CTL0,CTL1,CTL2,CTL3,用于判斷接下來輸入的是Video Data或者Data Island
HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

對于Hsync與VSync,會占用Channel0通道的兩個bit輸入,Channel0[0]為Hsync,Channel0[1]為Vsync

傳輸周期

HDMI的TMDS資料傳輸可以分為三個傳輸周期:

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程
  1. Control Period期間會傳輸Hsync,Vsync,并且在該時期的最後階段會傳輸Preamble
  2. Data Island Period期間會傳輸Data Island(資料包),也會有Hsync與Vsync
  3. Video Data Period期間會傳輸Video Data(視訊像素資料)

某幀的總體周期如下:

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

  

三個傳輸周期的過渡如下:

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

  

  1. 左邊是Control Period,傳輸有Hsync,Vsync與Preamble
  2. 中間是Data Island Period,傳輸有Hsync,Vsync,以及兩個Packet Header與Packet(每32個clock 一個packet);另外Data Island的兩端會用Guard Band保護并隔開Data Island的資料,因為這個階段傳輸的資料大多是非常重要的,比如其中就有圖像分辨率,決定後面的Video Data資料的顯示方式
  3. 右邊是Video Data Island,傳輸視訊像素資料,在該時期的開頭也有Guard Band

Data Island Packet結構

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

  

所有Data Island Packet都以32個時鐘脈沖為一個周期,也就是說每32 clk傳輸一個包。

以上圖為例,

  1. 標頭部是BCH block 4,由Channel0[2]傳輸,32clk表示有32bit,則為4byte,前三個byte為標頭,最後一byte為校驗碼
  2. 包體為BCH block 0,1,2,3,分别由Channel1,Channel2共8根線傳輸,共有24byte與6byte的校驗碼
  3. Parity Bits校驗碼是用于檢驗HDMI Cable傳輸過程中是否發生了錯誤,如果該Packet在HDMI接收端校驗錯誤,如果隻有一個bit的錯誤,那麼可以修正,超過1bit的錯誤會被判别為無效Packet(由于HDMI是一直在發送資料是以無法重發錯誤Packet?)

是以說,在接收端,在解完包之後,需要取出各個BCH block的Parity bit,進行Calibration(校驗)

Packet類型各種各樣,詳細請看HDMI Spec

Audio Clock

Audio的采樣率有44100,48000,192000等,是各種各樣,在HDMI傳輸時,Audio是PCM級(無壓縮)傳輸,把PCM資料打散到各個包内,為了得到每個音頻幀的資料,也需要知道Audio的采樣率。HDMI中規定Audio的傳輸方式:

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

Audio采樣率fs重建依靠的主要參數為:

  1. TMDS Clock
  2. CTS
  3. N

在發送裝置這端,已知參數有采樣率fs,視訊時鐘Video Clock(TMDS clock),以及預先設定好的參數N,求CTS:

在接收裝置這端,TMDS clock通過硬體裝置可以得到,N,與CTS通過Audio Packet傳輸過來,求fs:

在接收端為了保持fs的穩定與精确,需要進行鎖相,即用VCO(Voltage-controlled oscillator壓控振蕩器,通過電壓控制産生的頻率)産生合适的頻率,然後用PFD(Phase Frequency Detector)來鎖頻

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程
  1. 首先,由于VCO有個最佳的工作區域如(200MHz~500MHz),那麼為了保證VCO在最佳工作頻率内,我們可以從後倒推回來,先對輸出的fa128做乘法得到

    由于隻有那麼幾種(44.1k,48k等),是以比較容易得到與

  2. 然後,為了更快進行頻率比對,需要對近來的頻率(就是晶振時鐘)或者(pixel clock)做除法,也對做除法,令兩個趨向相等。對于細微的差別可以用D Code 進行修正
  3. 最後做PFD鎖相
  4. 第2,3步的回報操作循環地進行,最後可以得出比較穩定的
  5. 最終得到

HotPlug

HotPlug即熱拔插,當接上接口時就可以判定裝置是否存在,以進行後續工作。

HDMI source device(HDMI HPD)會監測sink device的Hotplug端口,如果Hotplug為High,則證明裝置可以工作,然後去讀取DCC,如果為low,則證明裝置已斷開。

HDMI sink device應該通過把Hotplug拉低,來通知source device EDID已經被改變,那麼source device在Hotplug被拉高後,就會重新來讀取新的EDID,拉低這段時間應該多于100ms。

HDMI規定,HDMI 的5v引腳通電時,可以通過DCC去讀取EDID,即需要保證Hotplug為high,有些Hotplug是直接接到5V上的(如下)。

Hotplug接法:(HDMI HPD(Hotplug detect ?)檢測sink的Hotplug端)

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

上面用5V引腳進行供電,并接上Hotplug,這樣做就能保證每次source device接上sink device時,都可以去讀取到EDID。但是這樣做有一個缺點,當5V電源斷開時,會有5v的電壓回灌給HDMI HPD與Hotplug,5V電壓會沖擊Hotplug,一旦Hotplug引腳無法承受5V電壓的回灌,會被打穿。

下面有個較好的Hotplug接法:

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

上面用的是額外的GPIO引腳加上三極管控制HDMI HPD為0還是1,如果HDMI0_HPD_CTL輸出0,那麼三極管斷開,HDMI0_HPD偵測到High,如果HDMI0_HPD_CTL輸出1,那麼三極管打通,HDMI0_HPD偵測到low。

HDMI Sink

例如像TV這種就是HDMI的接收端,那麼HDMI接收端需要做些什麼東西。

HDMI可以接收到的有三個通道的TMDS Data,TMDS Clock,可以設定Hotplug,還有DCC傳輸用的I2C引腳。上面已經講了TMDS Data,與設定Hotplug,接下來分析TMDS Clock。

TMDS Clock 就是Pixel Clock,即一個像素點所用的時鐘頻率。TMDS Clock通過clk 引腳傳輸到接收端,但是接收端并不清楚發送端發過來的TMDS Clock 頻率為多少,是以需要通過Phy(PHY是模拟數字轉換部分,不同于ADC,PHY是不知道采樣頻率的,需要自己鎖頻、鎖相,偵測确切的輸入頻率)來進行鎖相得到。但是由于HDMI頻寬太寬([email protected]為25.2MHz,[email protected]為162MHz,甚至還有高達340MHz的),一般VCO(壓控振蕩器,通過電壓控制産生的頻率)無法覆寫這麼大的範圍,是以需要分頻帶來設定Phy:

先偵測輸入頻率落在哪個頻帶,然後根據不同頻帶做不同設定。

用TV産生的晶振來數count,數得count後就知道TDMS Clock了

??

或者用1024個TMDS Clock來數晶振個數

??

由于視訊信号從RGB個8bit通過TMDS編碼後變成了10bit,然後又串行化,是以實際用于接收TMDS Data所用的時鐘應該為:

另外ReceiveClock也可以不用直接采用上面的乘法,而是采用TMDSClock為參考、硬體鎖相的方法來得到。

得到ReceiveClock後就可以去設定頻率PLL,然後對三個通道進行采樣得到TMDS Data。

Timming Detect

在Sink端還有需要進行Timming Detect,因為如果裝置可以支援(如chroma),HDMI可以自由更換Timming,而當Timming更換了之後,Sink需要重新設定Phy。是以,通過偵測頻率的改變來檢測是否更換了Timing是必要的。一般會有一個中斷服務(或循環)線程來偵測頻率的改變,一旦頻率改變後,該程序會通知重新設定Phy,保證HDMI的正确運作 

  

HDMI版權内容保護之HDCP

HDCP通過DDC傳輸

HDCP主要用于版權視訊的保護,舉例來說,如果有一台藍光DVD播放機可以播放blueray DVD,并且該DVD已經獲得HDCP授權,你現在想把該DVD影像輸出到某台TV,但是該TV沒有獲得HDCP授權,那麼該TV可能就沒法播放影像,或者播放品質下降,如出現雪花,圖像從1080p變為480p,或者沒有聲音,都有可能。

HDCP是靠兩個裝置的互動進行HDCP授權認證的,認證流程如下

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程
  1. Transmitter會發送一個key An(64bit)與Aksv(key selection vector 40bit)給Receiver
  2. Receiver接收到An後,也會發送一個Bkvs以及REPEATER(表明B裝置是否為Repeater裝置)給Transmitter
  3. Transmitter開始HDCP認證碼算法:

    要了解算法,首先我們需要知道ksv是用來幹嘛的

    <ol><li>在每個HDMI裝置内部,都會儲存40組64bit的key,key[40]</li>
    	<li>40bit的kvs,每一個bit都是一個索引,當kvs的某一位n為1時,會把key[n]取出來,</li>
    	<li>把所有的key[n]相加,得到km,</li>
    </ol></li>
    <li>Receiver也會做HDCP認證碼算法這個步驟得到km'</li>
    <li>Transmitter與Receiver都會用km\km'去做hdcpBlkCipher,得到一個值R0與R0'</li>
    <li>100ms後Receiver把R0'發送到Transmitter與R0做比較,相等則認為認證完畢。當然km = km'才能保證R0 = R0'。</li>
    <li>此後的每一幀,Transmitter與Receiver都會運作一次hdcpBlockCipher,不過參數為上次生成的Ks與M,生成的新參數為Ks,M,T
    <p><img alt="" class="has" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWFnZXMwLmNuYmxvZ3MuY29tL2kvNDIxMDk2LzIwMTQwNy8xNDIzMzkzMjExNTEzODAuanBn"></p>
    </li>
    <li>在第128幀的時候,另R = T</li>
    <li>在間隔第一次通信的2s後,再次進行認證</li>
    <li>後續都采用7,8,9這三個步驟進行疊代認證</li>
               
HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

此外HDMI自1.1後還支援一個更快速與頻繁的認證方式,就是上方裝置通信圖的下半部分

  1. 在每第16的倍數幀,用T與目前幀的Channel0的0像素做異或得到Pj
  2. Channel0的0像素到達Sink後,也與Sink的T‘做異或得到P'j
  3. Sink把P'j發送到Source,與Pj做比較,相同則通過認證
HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

了解HDCP對于處理HDMI的異常現象很有幫助,比如說如果時而出現雪花,有可能是信号不好導緻Channel0的0像素出錯,進而第二階段的認證有時會不成功...

HDMI Sink總流程

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程
  1. 提取與分割10bit的TMDS串行資料
  2. 10bit的資料,通過不同線路進來的,判斷是那種類型的:DE,Data Island,RGB,Hs,Vs,Ctrl
  3. TMDS解碼
  4. HDCP解碼,同時Hs,Vs,DE做delay
  5. RGB與DE,Hs,Vs...
  6. BCH解碼得到Packet,錯誤驗證
  7. Packet含義解析
  8. 如果是資訊,則存到記憶體
  9. 如果是Audio Data,生成采樣頻率
  10. Audio輸出

高清晰度多媒體接口(英文:High Definition Multimedia Interface,HDMI)是一種數字化視訊/音頻接口技術,是适合影像傳輸的專用型數字化接口,其可同時傳送音頻和影音信号,最高資料傳輸速度為5Gbps。同時無需在信号傳送前進行數/模或者模/數轉換。

原理圖和管腳描述:

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程
HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

二、HDMI有什麼特性?

1、可以傳送無壓縮的音頻信号及高分辨率視訊信号,數字信号,品質高。

2、提高高達5Gbps的資料傳輸帶寬。

3、最高能支援1080P視訊。

4、理論20m,實際一般為3m左右。

5、同時傳輸音頻、視訊、版權保護,在消費電子領域非常受歡迎。

6、HDMI是外部接口,對于視訊的分辨率和色深的提升能力有限。

7、HDMI相容性不好。

三、HDMI和DVI的差別?

HDMI 相比 DVI 接口支援了音頻的輸出,并且有着更高的帶寬,它可以算是目前最主流的視訊輸出接口,由于接口變得更小,也被廣泛應用于電視機、顯示器、筆記本電腦等裝置上。HDMI 接口雖然在規範上沒有 DVI 那麼負載,但是卻有着不同的形态。

四、差分線布線和等長比對的要求

1、差分對信号需要對稱布線。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

2、不允許在差分對之間放置任何器件或通孔, 即使信号是對稱布線的。差分對之間的通孔可能會導緻 emc幹擾性問題, 并造成阻抗不連續。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

3、某些差分對高速信号需要串行耦合電容器,放置這樣的電容器需要對稱。因為電容器和墊片之間會産生阻抗不連續性的問題。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

4、過孔在阻抗方面會引入了巨大的不連續性。盡量将放置的通孔量減少到最小值, 并将過孔對稱放置。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

5、為了滿足差分對的阻抗要求, 兩個信号布線都需要在同一層上進行。在布線中添加過孔的數量也要相同。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

6、差分線等長補償方式首選蛇形繞線

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

7、蛇形繞線應放置在長度不比對的原點。這可確定正負信号分量在主要部分同步傳播。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

8、彎曲是長度不比對的常見來源。補償應放在接近最大距離為15毫米的折彎。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

9、通常有兩個彎道互相補償。如果彎曲的距離超過15毫米, 則無需額外用單端繞線進行補償是必要的。信号不應異步傳播到超過15毫米的距離。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

10、差分對連接配接的每個段都需要單獨等長。連接配接可以由連接配接器、串行耦合電容器或過孔進行分割。這兩個彎道在下面數字将互相補償。由于通孔将差分對分成兩個段,彎道需要單獨補償。這確定了積極和消極信号通過通孔同步傳播。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

11、由于差異是很難估計的, 如果可以最好将信号布線到同一層上,因為不同圖層的信号速度不相等。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

12、在可能的情況下, 最好是對差分信号的對稱布線, 以避免繞蛇形的需要。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

13、如果器件之間的空間允許, 請嘗試在較短的布線中添加一個小循環。這是用首選的解決方案, 來比對長度差異, 而不不需要蛇形繞線。

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

五、PCB疊層設計參考

為了減少高速信号下的反射, 有必要比對阻抗源、接收器和傳輸線之間。信号布線的阻抗取決于其幾何及其相對于任何參照平面的位置。布線寬度和間距對于特定阻抗要求的差分對之間取決于所選的PCB層疊。是以PCB層疊是計算阻抗必不可少的環節。下面我們列出記住疊層參考:

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程
HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程
HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

六、PCB設計要求

HDMI IC 原則上推薦靠 HDMI 座擺放。HDMI走線間的長度差建議盡量小,建議不超過 500mil。

HDMI 信号線要求按差分規則走線,需做 100 歐姆阻抗比對,走線寬度根據各個PCB 廠商的不同工藝而有所不同,按 RK3188 的疊層及 RK 的 PCB 供應商工藝,推薦走線寬度為 7MIL。差分對之間要隔離,拉開間距,間距至少 3W。差分走線要有完整參考層。不能有幹擾信号,如屏背光電源,晶體等走線跟 HDMI 信号線臨層 平行。

下圖是比較理想的 HDMI走線

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

相鄰GND層走線,空間足夠的情況下還要進行包地處理。包地線離差分線間距滿足差分線寬的3倍(中心到中心),鋪銅離差分線20mil。信号換層的過孔附近放置一些接地的過孔,以便為信号提供最近的回路。

七、阻抗計算要求

1、單端走線控制50歐姆,差分阻抗控制為100歐姆(+/-10%)。

2、過孔小引起的阻抗波動小,過孔大可能會導緻阻抗下降,不連續等,是以多層闆推薦大家使用過孔尺寸為8mil/16mil。

3、使用完整的電源層和接地層來做參考平面,這樣可以避免HDMI跨分割的出線,進而保證信号的穩定性。

八、ESD處理

ESD屬于瞬态器件,也是一種保護器件,很短的時間内短路是可以的,添加ESD主要是為了防浪湧。在布局方面,ESD器件一定要靠近HDMI的端子放置,以保證ESD作用能發揮出來。

下面是兩種ESD和HDMI布局布線參考:

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程

至此,HDMI高速PCB設計指南的内容已經全部講完,希望大家能通過我們的文章學習,更好的設計出符合要求的HDMI。

關注 芒果木有籽的公衆号 更多的硬體設計解讀

HDMI1.4 硬體設計簡介HDMI引腳:傳輸流程傳輸周期Data Island Packet結構Audio ClockHotPlugHDMI SinkTimming DetectHDMI版權内容保護之HDCPHDMI Sink總流程