隨著帶HDMI接口的終端產品的增加,在酒吧、賣場等一些公共場合需要類似以前AV的音視頻分配器產品。本文詳細說明如何利用硅谷數模公司的ANX9011和ANX9030兩種IC來設計一個一進四出的HDMI分配器。
HDMI接口及系統概述
目前消費者因為各種AV連接數過于龐大而深受困擾。HDMI接口可以用單一的連線取代眾多的影音連線,簡潔又方便。目前HDMI接口已經有成為數字影音產品的必配接口之一的趨勢。
HDMI接口主要有三個通信通道,接口示意圖如圖1所示:
TMDS通道:負責所有音頻、視頻數據的傳輸。輔助數據,如AVI InfoFrame、Audio InfoFrame等也是通過TMDS通道。
DDC通道:HDMI源端,通過這個通道來讀取接收端(Sink)的E-EDID數據結構,進而得知接收端內含的機能與特性。
CEC通道:這是一個選項(Option)。提供更高層次的使用方式讓消費者使用,比如自動設定的細節、單鍵播放或是遙控相關的操作。
在某些情況下,HDMI的源端會使用到AVI InfoFrame與Audio InfoFrame,詳細的定義在EIA/CEA-861B中。AVI InfoFrame所包含的信息乃是為了實現與達成顯示模式自動化(Display Mode Automation)而規劃的一種方法或機制。如比色法、顯示比例、像數重復因數等。Audio InfoFrame信息包含通道數、代碼類型、采樣尺寸、采樣頻率等信息。
E-EDID是增強型擴充顯示器識別數據(Enhanced Extended Display Identification Data Standard)的簡稱。源裝置使用DDC(Display Data Channel)來讀取終端接收顯示裝置的E-EDID,以確認終端顯示裝置的設定與功能。
CEC(Consumer Electronics Control)信號線是提供使用者對于HDMI接口連接裝置,提供一種控制的方式,例如單鍵播放(One Touch Play)、單鍵錄像(One Touch Record)等,讓消費者對HDMI裝置能有邏輯性高的控制方便性,這個功能主要與遙控裝置的使用有密切的關系。
HDCP數字內容保護則是英特爾開發的為HDMI提供高帶寬數字內容保護的解碼技術。配備了HDCP解碼技術的HDMI就不會受到信號加密的限制,可以接受全部格式的高清信號。
HDMI分配器系統結構及芯片特點
HDMI分配器系統結構如圖2所示。
HDMI分配器工作原理如下:當HDMI輸入端口接收到HDMI的視頻輸入信號后,轉換為內嵌行場同步的Y/Cb/Cr信號。送到HDMI的發送芯片。HDMI的發送芯片把Y/Cb/Cr信號轉換為HDMI發送出去。這時四個HDMI端口同時有信號輸出。同時帶有信號的復制和增強功能。單片機通過I 2 C總線控制各個芯片的初始化以及狀態機的變化。完成EDID的讀取,HDCP的校驗等工作。
HDMI的收發IC目前有很多。在本方案中選擇ANALOGIX公司的ANX90xx系列IC是因為該產品基于Wide Eye信號恢復技術,能夠提供高性能的傳輸或接收能力。該系列芯片可以支持遠大于HDMI標準定義的15米的HDMI線纜高速信號傳輸。實際的支持距離已經超過了 50米。超強的驅動傳輸能力,允許客戶使用廉價的線纜(如UTP等)來進行高速多媒體信號的傳輸 ,同時還保證 了極低的誤碼率。ANX90xx系列芯片具有很強的音視頻處理能力。
該系列芯片能以每秒165M像素的速率傳輸高達24位信息數據,使整個處理頻寬接近4Gbps。支持RGB與多種模式 Y/Cb/Cr之間的轉換,支持HDTV(支持1080p)和PC(支持1600x1200@85Hz)應用 。還支持8通道24位高精度數字音頻輸出,提供I2S和S/PDIF標準輸出接口。不僅能夠滿足目前的應用,還具備一定的擴展能力。
系統軟件實現
本方案中選用STC公司的STC89LE516RD+。工作的頻率可以為0~80MHz,內部的FLASH的儲存空間為63K,RAM的空間為1280字節。可以很方便的在線下載。使用KEIL C51編程。系統軟件可以分為兩個部分。一個是ANX9011的初始化的處理和ANX9011的狀態機的變化。另一個是ANX9030的初始化的處理和ANX9030的狀態機的變化。主循環程序如下:
void main(void){
Init_mcu();
Init_9011();
Init_9030();
while(1){
ANX9011_IntProcess ();
ANX9011_TimerProcess ();
ANX9030_Interrupt_Process();
ANX9030_Timer_Process ();
}
}
ANX9011部分的軟件處理
ANX9011的初始化
在ANX9011的復位電路的上升沿,DEVAD_CLK48B管腳的狀態決定ANX9011的I 2 C地址。本文假定此管腳為低,I 2 C地址為0X60和0X68被選擇。
首先確認ANX9011存在且能正常工作,代碼如下:
c1 = 0;
while (1){
HDMIRX_reset_pin = 0;
delay_ms(10);
HDMIRX_reset_pin = 1;
delay_ms_(10);
c = i2c_read_P0_reg(0x02, &c1);
if ((c == 0) && (c1 == 0x21)) {
c = i2c_read_P0_reg(0x03, &c1);
if (c == 0) && (c1 == 0x90))
break;}
}
如ANX9011存在,且能正常工作,開始初始化。初始化表如表1所示。
ANX9011的狀態機處理
在ANX9011被正確地初始化后,當一個HDMI源插入到輸入端口,接收器將檢測到在HDMI電纜上的TMDS時鐘。一個時鐘檢測中斷將產生,MCU識別這個中斷,上電所有接收器功能,接收器進入正常工作狀態。
在正常的操作模式,所有的中斷事件是可利用的。如果HDMI發送器發送一個有效的視頻流,同步信號(場行同步)將有效。因此允許MCU通過相應的寄存器檢測視頻格式和時隙。如果視頻流穩定,格式可支持,軟件可以使能數字視頻輸出。
相似地,軟件將等待音頻流穩定后使能I 2 S和SPDIF接口。圖3是ANX9011的狀態機變化圖。
Monitor CKDT:待機狀態。當HDMI接收器被次初始化或HDMI電纜被拔出,軟件將待機芯片的大部分功能。檢測TMDS時鐘。
Wait SCDT:來自TMDS時鐘檢測。軟件等待TMDS鏈路穩定建立。
Wait Video:來自同步檢測。在使能視頻輸出前,軟件等待穩定的視頻流,確認系統支持輸入的視頻格式。
Wait Audio:在使能音頻輸出前,軟件等待穩定的,可支持的音頻流。
Playback:正常的音視頻輸出狀態
ANX9030部分的軟件處理
ANX9030的初始化
在ANX9030的復位電路的上升沿,DEV_ADDR_SEL管腳的狀態決定ANX9030的I 2 C地址。本文假定此管腳為低,I 2 C地址為0x72和0x7A被選擇。
首先確認ANX9030存在且能正常工作,代碼如下:
while (1) {
ANX9030_Resetn_Pin = 0;
delay_ms(2);
ANX9030_Resetn_Pin = 1;
delay_ms(2);
c = ANX9030_i2c_read_p0_reg(ANX9030_DEV_IDL_REG, &c1);
if ((c == 0) && (c1 == 0x30)) {
c = ANX9030_i2c_read_p0_reg(ANX9030_DEV_IDH_REG, &c1);
if((c == 0) && (c1 == 0x90))
break; } }
ANX9030在上電復位后,除了像素時鐘檢測(CKDT)和熱插拔檢測(HPDT)功能外,ANX9030的大部分功能處于待機狀態。軟件需要正確的配置其它寄存器。初始化表如表2所示。
ANX9030狀態機處理
總共有8個狀態在ANX9030的軟件中定義。
Initialization:在初始化狀態,軟件設置ANX9030必須的寄存器到合適的值。
在這個狀態,僅僅IDCK,MCLK,SCK和熱插拔模塊是激活的。
Wait Hot plug:在ANX9030初始化后,軟件進入等待熱插拔狀態。在這個狀態,當一個熱插拔狀態被檢測(一個激活的HDMI接收器被插入),ANX9030上電進入讀和解析EDID狀態。
R ead & Parse EDID:在這個狀態,軟件通過DDC通道讀和解析接收器的EDID數據。根據解析的結果,發送器選擇一個合適的音視頻模式發送。
Config Video:軟件配置視頻格式,如:色域、DE生成器、嵌入式同步、像素時鐘重復時間等 。
Config Audio:軟件配置音頻格式,如:音頻源(I 2 S、SPDIF、和一比特音頻),音頻FIFO,音頻數據采樣,音頻通道狀態等等。一些音頻配置內容由系統定義。
C onfig Packets:軟件配置信息包如:AVI InfoFrame,Audio InfoFrame,SPD InfoFrame等等。一些信息包的內容由系統定義。
HDCP Authentication:在這個狀態,軟件處理HDCP授權包括HDCP錯誤處理。
P layback:這是系統正常工作模式。軟件監控相關狀態寄存器和對應的中斷。然后采取相應的動作。
圖4為ANX9030的狀態機變化圖
總結
目前市場上需要的HDMI分配器都需要帶信號復制和增強功能。據筆者所知,在市場上出售的HDMI分配器中,較少采用HDMI信號直接分兩路的IC方案。一般都采用HDMI的接收器加上N個HDMI的發送器來完成。隨著HDMI市 場的成熟,此類產品的需求量會逐漸增加。本文是提供給廣大音視頻設計工程師的一個較好的參考。