HDMI(高清晰度多媒體接口)是由日立、松下、飛利浦、Silicon Image、索尼、湯姆遜和東芝7家公司成立的HDMI組織制定的專用數(shù)字視頻/音頻傳輸標(biāo)準。HDMI是針對下一代多媒體影音設(shè)備所開發(fā)的傳輸接口,適用于數(shù)字家電的數(shù)字電視、DVD播放機、DVD錄放機、PVR、機頂盒及其他數(shù)字視聽產(chǎn)品。其最大特色是該接口可以在一根傳輸電纜內(nèi)傳送無壓縮的音頻信號及高分辨率視頻信號。隨著帶HDMI接口的終端產(chǎn)品的增加,在酒吧和賣場等一些公共場合需要類似以前AV格式的音視頻分配器產(chǎn)品。本文中詳細介紹了如何利用ANX9011和ANX9030來設(shè)計一進四出的HDMI分配器。
HDMI接口及系統(tǒng)概述
目前消費者正受到各種AV連接數(shù)過于龐大的困擾。HDMI接口可以用單一的連線取代眾多的影音連線,簡潔又方便。目前HDMI接口已經(jīng)有成為數(shù)字影音產(chǎn)品的必配接口之一的趨勢。
HDMI接口主要有三個通信通道,接口示意圖如圖1所示。TMDS通道:負責(zé)所有音頻和視頻數(shù)據(jù)的傳輸。輔助數(shù)據(jù),如AVI InfoFrame、Audio InfoFrame等也是通過TMDS通道。DDC通道:HDMI源端,通過這個通道來讀取接收端(Sink)的E-EDID數(shù)據(jù)結(jié)構(gòu),進而得知接收端內(nèi)含的機能與特性。CEC通道:這是一個可選項(Option),它提供更高層次的使用方式讓消費者使用,例如自動設(shè)定的細節(jié)、單鍵播放或是遙控相關(guān)的事。
圖1 HDMI接口示意圖
在某些情況下,HDMI的源端會使用到AVI InfoFrame與Audio InfoFrame。AVI InfoFrame所包含的信息是為了實現(xiàn)與達成顯示模式自動化(Display Mode Automation)而規(guī)劃的一種方法或機制,如比色法、顯示比例、像數(shù)重復(fù)因數(shù)等。Audio InfoFrame信息包含通道數(shù)、代碼類型、采樣尺寸、采樣頻率等信息。
E-EDID是增強型擴充顯示器識別數(shù)據(jù)(Enhanced Extended Display Identification Data Standard)的簡稱。源裝置使用DDC(Display Data Channel)來讀取終端接收顯示裝置的E-EDID,以確認終端顯示裝置的設(shè)定與功能。
HDCP數(shù)字內(nèi)容保護則是英特爾開發(fā)的為HDMI提供高帶寬數(shù)字內(nèi)容保護的解碼技術(shù)。配備了HDCP解碼技術(shù)的HDMI就不會受到信號加密的限制,可以接受全部格式的高清信號。
HDMI分配器系統(tǒng)結(jié)構(gòu)及芯片特點
HDMI分配器系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 HDMI分配器系統(tǒng)框圖
HDMI分配器工作原理如下:當(dāng)HDMI輸入端口接收到HDMI的視頻輸入信號后,轉(zhuǎn)換為內(nèi)嵌行場同步的Y/Cb/Cr信號,送到HDMI的發(fā)送芯片。HDMI的發(fā)送芯片把Y/Cb/Cr信號轉(zhuǎn)換為HDMI發(fā)送出去。這時四個HDMI端口同時有信號輸出,同時帶有信號的復(fù)制和增強功能。單片機通過I2C總線控制各個芯片的初始化以及狀態(tài)機的變化,完成EDID的讀取和HDCP的校驗等工作。
HDMI的收發(fā)IC目前有很多。在本方案中選擇ANALOGIX公司的ANX90xx系列IC是因為該產(chǎn)品基于Wide Eye信號恢復(fù)技術(shù),從而能夠提供高性能的傳輸或接收能力。該系列芯片可以支持遠大于HDMI標(biāo)準定義的15m的HDMI線纜高速信號傳輸。其實際的支持距離已經(jīng)超過了50m。超強的驅(qū)動傳輸能力允許客戶使用廉價的線纜(如UTP等)來進行高速多媒體信號的傳輸,同時還保證了極低的誤碼率。ANX90xx系列芯片具有很強的音視頻處理能力。該系列芯片能以最高165Mpix/s的速率傳輸高達24位信息數(shù)據(jù),使整個處理頻寬接近4Gb/s。它支持RGB與多種模式Y(jié)CbCr之間的轉(zhuǎn)換,支持HDTV(最高支持1080p)和PC(最高支持1600×1200@85Hz)應(yīng)用,還支持8通道24位高精度數(shù)字音頻輸出,提供I2S和S/PDIF標(biāo)準輸出接口。它不僅能夠滿足目前最先進的應(yīng)用,還具備一定的擴展能力。
ANX9011是帶Wide Eye恢復(fù)功能的單端口HDMI接收IC,支持鏈路速率達1.65Gb/s,支持HDMI1.2、HDCP 1.1和DVI1.0標(biāo)準。由于具有Wide Eye功能,能夠支持長電纜和低誤碼率。
ANX9030是帶HDCP、兼容HDMI1.2的發(fā)送IC??芍С窒駭?shù)速率達165Mpix/s。對720P和1080i模式,其功耗僅為300mW。
設(shè)計注意事項
HDMI的接口IC有四種電源:AVDD33、DVDD33、AVDD18和DVDD18。+3.3V電源用于IO口的供電,+1.8V用于內(nèi)核和邏輯的供電。兩個+3.3V的電源能作為一組,兩個 +1.8V的電源能作為另一組。上電時基本的上電順序為:先上兩個+3.3V的電源,然后上兩個+1.8V的電源。上電時序如圖3所示。上電時序如果反相會引起芯片進入未知狀態(tài)。最差能接受的情況為+3.3V和+1.8V同時供電。
圖3 ANX9011和ANX9030上電時序圖
在一些惡劣的條件下,在電源上升完成前,由于電源問題,電源線上有一個大的噪聲,如圖4所示。如果復(fù)位腳沒有拉到地或者沒有驅(qū)動到低,噪聲將耦合到復(fù)位腳。這將使芯片進入未知狀態(tài)或者可能損壞一些芯片內(nèi)部可編程的電路。因此,復(fù)位腳必須在電源穩(wěn)定后為低且保持100ms。
圖4 復(fù)位時序
正常的RC電路可能不太滿足這個要求,推薦使用一些低成本的上電復(fù)位IC。
IC的每一個電源引腳都應(yīng)該有一個0.1μF的去耦電容,且PCB布板的時候要盡量的靠近IC的電源引腳。
HDMI接口在使用中經(jīng)常會熱插拔,因此需要ESD保護。使用ESD二極管來保護電路不被損壞,但是它們也給保護線路帶來一些電容。4對TMDS線運行在很高的速率上,因此這4對線有阻抗控制的要求,規(guī)定阻抗為100Ω,誤差為±15%。在這四對線上加了保護二極管后,差分阻抗會有一些偏移。如果沒有阻抗補償,可能會超出誤差范圍。不過,SEMTECH公司最新推出的Rclamp0524 ESD保護二極管等產(chǎn)品不需要在PCB LAYOUT的時候加阻抗補償。
ANX9011提供I2C從接口和MCU通信,設(shè)備的I2C地址由復(fù)位引腳的上升沿采樣DEVAD輸入腳的電平?jīng)Q定。當(dāng)DEVAD為高時,I2C地址為0X62/0X6A,當(dāng)DEVAD為低時,I2C地址為0X60/0X68,TEST_EN腳必須接地。ANX9030的I2C地址由41引腳DEV_ADDR_SEL在復(fù)位的上升沿時的電平?jīng)Q定。若為高I2C地址為0X76/0X7E,當(dāng)為低時I2C地址為0X72/0X7A。24引腳R_BIAS需用680Ω的電阻上拉,21引腳RSV_L用4.7kΩ的電阻接地。
在PCB LAYOUT時請注意差分阻抗為100Ω,單端的時鐘線阻抗為50Ω。差分對的兩對線之間的長度差值應(yīng)該在10密耳以內(nèi),不同的差分對之間的長度差值應(yīng)該在250密耳以內(nèi)。推薦使用4層或4層以上的PCB板。這樣系統(tǒng)可以運行在一個穩(wěn)定的環(huán)境。
系統(tǒng)測試標(biāo)準和方法
由于HDMI生產(chǎn)廠家有許多,為了保證消費者所買回去的HDMI產(chǎn)品能與其他的HDMI產(chǎn)品配合工作,需要進行兼容性測試(CTS)。各授權(quán)測試中心(ATC)也相應(yīng)的建立起來,按照CTS規(guī)范進行測試。
HDMI CTS要求四種類型的設(shè)備進行測試:源設(shè)備(如DVD、STB)、接收設(shè)備(如LCD_TV)、線纜和中繼設(shè)備。本方案適用于中繼設(shè)備的測試標(biāo)準。在中繼設(shè)備測試中也應(yīng)該同時滿足源設(shè)備和接收設(shè)備的測試標(biāo)準。
本產(chǎn)品在1080P狀態(tài)下的測試眼圖如圖5所示。
圖5 源端1080P狀態(tài)下測試眼圖
在HDMI測試中,HDCP測試也應(yīng)引起大家的注意。幾乎所有具有HDMI特性的系統(tǒng)也都具有HDCP特性。在具體使用中,當(dāng)出現(xiàn)互操作的測試問題時,往往不是與HDMI相關(guān),而是與HDCP有關(guān)。
系統(tǒng)軟件實現(xiàn)
本方案中選用STC公司的STC89LE516RD+,其工作頻率為0~80MHz,內(nèi)部FLASH的儲存空間為63Kb,RAM的空間為1280字節(jié)。使用KEIL C51編程,系統(tǒng)軟件可以分為兩個部分,一個是ANX9011的初始化的處理和ANX9011的狀態(tài)機的變化,另一個是ANX9030的初始化的處理和ANX9030的狀態(tài)機的變化。主循環(huán)程序如下。
void main(void){
Init_mcu();
Init_9011();
Init_9030();
while(1){
ANX9011_IntProcess ();
ANX9011_TimerProcess ();
ANX9030_Interrupt_Process();
ANX9030_Timer_Process ();
}
}
1 ANX9011的初始化
在ANX9011的復(fù)位電路的上升沿,DEVAD_CLK48B引腳的狀態(tài)決定ANX9011的I2C地址。假定此引腳為低,I2C地址為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存在,且能正常工作,開始初始化。
2 ANX9030的初始化
在ANX9030的復(fù)位電路的上升沿,DEV_ADDR_SEL引腳的狀態(tài)決定ANX9030的I2C地址。假定此引腳為低,I2C地址為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在上電復(fù)位后,除了像素時鐘檢測(CKDT)和熱插拔檢測(HPDT)功能外,ANX9030的大部分功能處于待機狀態(tài)。軟件需要正確的配置其他寄存器。
總結(jié)
目前市場上需要的HDMI分配器都需要帶信號復(fù)制和增強功能。據(jù)筆者所知,在市場上出售的HDMI分配器中,較少采用HDMI信號直接分兩路的方案。一般都采用HDMI的接收器加上幾個HDMI的發(fā)送器來完成。隨著HDMI市場的成熟,此類產(chǎn)品的需求量會逐漸增加。本文詳細說明HDMI分配器的系統(tǒng)結(jié)構(gòu)、芯片特點、設(shè)計注意事項和HDMI分配器的測試方法及系統(tǒng)軟件設(shè)計思路,可作為廣大音視頻工程師的參考資料。