謝特輝
(廈華電子研發(fā)中心,福建 廈門 361006)
隨著技術(shù)的發(fā)展和市場的需求,消費電子設備越來越豐富,諸如DVD、數(shù)字平板電視、機頂盒、可錄制設備、數(shù)字功放和音響等各類視聽設備讓生活多姿多彩,但隨之而來的是,遙控器也越來越多。CEC(Consumer ElectronicsControl),即消費電子控制,是為所有通過HDMI線連接的家庭視聽設備提供高級控制功能的一種協(xié)議,用戶通過一個遙控器即可對這些連接的設備進行控制。CEC總線的基本技術(shù)起源于歐洲的SCART接口。HDMI在SCART技術(shù)基礎(chǔ)上發(fā)展為HDMI-CEC總線[1],允許在系統(tǒng)內(nèi)的視聽產(chǎn)品之間進行查詢和通信。CEC使得建立于現(xiàn)有的點對點E-DDC的“插入并播放(Plug&Play)”自動操作的全局控制成為可能,從而減少系統(tǒng)的遙控器數(shù)量,簡化基本操作所需的按鍵次數(shù)。
CEC假定一個系統(tǒng)內(nèi)的所有音視頻信號源產(chǎn)品都直接或間接地連接到一個“根”顯示設備,通過HDMI線連接成一個自上而下的樹,顯示設備作為“根”,信號開關(guān)設備作為“枝”,不同的信號源產(chǎn)品作為“葉”節(jié)點,如圖1所示。
空閑時,CEC設備內(nèi)的上拉電阻將CEC總線的電壓提升到2.50~3.63 V,在發(fā)送位信號時將總線拉低為0~0.6 V。信號上升和下降的最大時間分別為250ms和50ms。為了防止設備干擾CEC總線,待機狀態(tài)下的最大漏電流限制為1.8μA。CEC總線可連接10個100 pF的設備和9個700 pF的信號線,所以最大的總線電容為7 200 pF。正常工作狀態(tài)下CEC總線的電氣特性如表1所示。
表1 正常工作狀態(tài)下CEC總線的電氣特性
為了使CEC能夠?qū)ぶ芳翱刂茡碛刑囟ㄎ锢淼刂返脑O備,所有系統(tǒng)內(nèi)的設備必須擁有物理地址。通過DDC/EDID為CEC網(wǎng)絡中的所有設備(包括不兼容CEC協(xié)議的設備)分配物理地址,物理地址的分配方法如下:
1)在整個網(wǎng)絡中,必然存在著一個只有子設備沒有父設備的終端,該設備為root(通常為TV),也就是CEC網(wǎng)絡的根節(jié)點,此根節(jié)點可以將自己的物理地址設置成0.0.0.0。
2)根節(jié)點監(jiān)測到目前的HDMI輸入設備數(shù)量,在EDID中為其分配地址。
3)與根節(jié)點直接連接的設備可以讀取對應父設備的EDID部分,從而獲知自己的物理地址,并且由此設置本設備的EDID部分。
4)CEC網(wǎng)絡中的其余子設備在連接時讀取其父設備的EDID,并將其父設備的物理地址中的第一個數(shù)字0的位置替換成一個非0數(shù)字,便成為該子設備的物理地址。例如,父設備地址為1.2.0.0,其子設備的物理地址范圍為 1.2.1.0~1.2.F.0。
當一個CEC設備獲得一個新的物理地址時,需要配置邏輯地址并通過
每個連接到CEC控制總線上的設備都有一個唯一的邏輯地址,定義該設備的類型,同時,也是該設備的唯一標識符。邏輯地址的定義如表2所示。
表2 CEC設備的邏輯地址
CEC設備的邏輯地址也是動態(tài)分配的,分配方式為:
1)根節(jié)點(通常為TV)直接設邏輯地址為0。
2)當設備A插入后,該設備的類型是已知的,因此可以為該設備A預設一個邏輯地址(如DVD,其預設地址為 DVD1,即為 4),并通過
3)當該邏輯地址已經(jīng)被占用時,對應的占用設備會應答確認信息。設備A收到確認后,重設其他邏輯地址(如 DVD1->DVD2),并通過
4)當檢測到?jīng)]有確認時,此邏輯地址可用,因此設備A占用此邏輯地址。
5)占用后,發(fā)送廣播
通信總是在一個發(fā)起者和一個(或多個)接收者之間進行。發(fā)起者聲明的位提供數(shù)據(jù),而接收者聲明的位提供應答。位通信的速率很慢,位速率小于500位/s。消息以一個長的起始位開始并緊跟一些較短的數(shù)據(jù)位。起始位的時長為4.5ms,且低電平的寬度為3.7 ms,如圖2所示。
數(shù)據(jù)位的時長為2.4 ms,邏輯“0”的低電平寬度為1.5ms,而邏輯“1”的低電平寬度為0.6 ms,如圖3所示。
每10位∶8位數(shù)據(jù)、EOM(消息結(jié)束位)和ACK(應答位)組成一個引導或數(shù)據(jù)塊。EOM位用來標識消息的最后一個塊:“0”表示后續(xù)還有數(shù)據(jù)塊,“1”則表示消息結(jié)束。ACK位是接收者用來對消息發(fā)起者進行應答的,消息發(fā)起者總是將此位設置為“1”。對于點對點消息,與消息中的目標地址相同的設備將ACK位修改為“0”,其他設備則不動作;對于廣播消息,拒絕接收該消息的設備將ACK位修改為“0”,其他設備則不動作。
引導塊包含發(fā)起者的4位邏輯地址和接收者的4位邏輯地址;數(shù)據(jù)塊的8個信息位包含操作碼和操作數(shù)等數(shù)據(jù),兩者的數(shù)據(jù)結(jié)構(gòu)如圖4所示。
HDMI-CEC消息是通過幀來發(fā)送的,幀結(jié)構(gòu)如圖5所示。
下面以一鍵播放功能為例,簡要說明消息的流程,如圖6所示。
假設TV的HDMI1接口 (EDID中設定的物理地址為1.0.0.0)連接一臺支持CEC功能的DVD(其邏輯地址為0x04),當用戶按下DVD的Play鍵時,DVD通過CEC總線發(fā)送
在廈華新發(fā)布的一款LED超薄機型上實現(xiàn)了一鍵播放、系統(tǒng)待機、系統(tǒng)信息、設備OSD名稱傳輸、遙控命令傳輸及路由控制等CEC功能特性。該機型是采用Broadcom公司的數(shù)字電視信號處理芯片BCM35143為核心平臺的ATSC/NTSC數(shù)模一體機,具有3個支持1 080p全高清信號的HDMI接口。BCM35143集成有支持HDMI1.3a標準的HDMI接收解碼器,支持HDMI-CEC協(xié)議。
系統(tǒng)框圖如圖8所示。在這個系統(tǒng)中,TV是CEC系統(tǒng)的根節(jié)點,物理地址為0.0.0.0,邏輯地址為0。3路HDMI信號通過一個HDMI切換開關(guān)選擇一路輸入到BCM35143,因此,HDMI切換開關(guān)的物理地址分配為1.0.0.0,而3個HDMI接口按照端口定義,通過EDID將其物理地址分別設置為1.1.0.0,1.2.0.0和1.3.0.0,邏輯地址在HDMI-CEC設備連接到相應的接口時進行動態(tài)分配。
在用戶選單下,提供給用戶對HDMI-CEC功能進行選擇、控制的選項如下:
1)XLink Control項,HDMI-CEC功能控制開關(guān)。設置為ON時,支持提供的各種CEC功能;設置為OFF時,不支持CEC功能。
2) Device Auto Power Off,HDMI-CEC 系統(tǒng)待機功能控制開關(guān)。設置為ON時,如果電視進入待機,連接的HDMI-CEC設備也進入待機;為OFF時,則不影響外接設備。
3)TV Auto Power On,HDMI-CEC一鍵播放功能控制開關(guān)。設置為ON時,如果連接的HDMI-CEC設備開機或進入播放狀態(tài),如TV處于待機狀態(tài),則自動開啟TV并切換到該設備連接的信號通道;為OFF時,則不支持這種開機方式。
4)XLink Device Lists,外接HDMI-CEC設備清單,供用戶查詢當前連接的HDMI-CEC設備。
為了便于消息的管理,CEC消息采用隊列來存儲。TV將所有要發(fā)送的消息通過進隊操作存儲到消息發(fā)送隊列,而所有接收到的消息存儲到消息接收隊列。系統(tǒng)定時訪問消息隊列,按照先進先出的原則獲取消息,進行發(fā)送和接收處理。
CEC消息的結(jié)構(gòu)體定義如下:
CEC消息的操作碼和操作數(shù)(參數(shù))的詳細信息參考HDMI-CEC規(guī)范。
消息隊列的結(jié)構(gòu)體定義如下:
CEC消息的發(fā)送流程如圖9所示。
在本機型的設計中,主要有以下情況需要發(fā)送相應CEC消息:
1)通道切換。當從HDMI通道切換到非HDMI通道時,需要發(fā)送
2)OSD語言切換。當在用戶選單下改變選單語言時,需要廣播
3)系統(tǒng)待機。當TV進入待機狀態(tài)時,需要廣播
4)檢測到新接入設備時,需要發(fā)送
5)用戶操作指定的遙控傳遞按鍵時,需要發(fā)送
6)在接收到不支持的消息,或無法立即處理該消息(如頻道自動搜索過程中),或數(shù)據(jù)幀傳輸過程中高級協(xié)議層數(shù)據(jù)出錯時,需要發(fā)送
而對于接收到的消息的處理,通過在主循環(huán)中調(diào)用消息處理函數(shù)來完成,該函數(shù)從CEC消息接收隊列中獲取消息的引導數(shù)據(jù)、操作碼、操作數(shù)等信息,然后按照規(guī)范所定義的消息功能,根據(jù)操作碼進行相應的功能控制。函數(shù)代碼示例如下:
消息的接收處理流程如圖10所示。
1)在TV進入Standby時,不要操作HDMI接口的Hot-plug腳,否則,在Device Auto Power Off項設置為Off(即TV關(guān)機時不廣播
2)CEC消息通信時序?qū)EC通信是否成功影響很大。TV與HDMI設備CEC通信過程中,時序若出現(xiàn)錯誤(如爭搶的情況),將導致通信失敗,甚至會使TV與HDMI設備雙方陷入死鎖的狀態(tài)。以三星藍光DVD 4600為例,TV在切換到其他通道后,若立即發(fā)送Request Active Source消息,該DVD有時會無法向CEC網(wǎng)絡成功發(fā)送Active Source等消息,最終將出現(xiàn)該DVD在TV切換到其他通道后時而不暫停的問題。
3)在TV的 HDMI-CEC認證中,One Touch Play,Routing Control,Power Status,F(xiàn)eature Abort等功能特性是強制要求的。
隨著CEC兼容性標準的發(fā)布和CEC開發(fā)、測試設備的上市,消費電子產(chǎn)品供應商開始在其具有HDMI接口的產(chǎn)品中添加CEC功能,一些知名電子公司更是對其進行了包裝,如表3所示。
表3 一些公司的CEC功能
隨著消費者對CEC功能的逐漸熟悉,以及CEC總線本身的特性,CEC功能將成為具有HDMI接口的消費電子產(chǎn)品的標準功能配置。
[1]HDMI Licensing,LLC.HDMI Specification 1.3a[EB/OL].[2006-11-10].http://bbs.dvbcn.com/showtopic-43236.html.