孫 玲,劉文杰,施 佺,蔣 斌,2
(1.南通大學 江蘇省專用集成電路設計重點實驗室,江蘇 南通226007;2.蘇州國芯科技有限公司,江蘇 蘇州215011)
隨著技術的更新和高清晰度視頻設備(High Definition Television,HDTV)市場需求的提升,高清晰度多媒體接口(High-Definition Multimedia Interface,HDMI)已被廣泛用于各類消費電子設備中[1-6]。與此同時,消費電子控制(Consumer Electronic Control,CEC)作為一種面向HDMI的自動控制總線被應用于HDMI接口系統中,該技術由歐洲的SCART接口改進發展而來,目前呈現出應用范圍不斷擴大的趨勢。不同的廠商賦予CEC技術不同的名字,例如松下電器(Panasonic)的VIERALINK,三星電子(Samsung)的ANYNET+,LG電子的SIMPLINK等,國內的廈華電子[7]也有類似設計。
CEC總線是一種符合音視頻傳輸標準的串行雙向控制總線[8-9]。它由一根控制總線連接網絡內多個支持CEC功能的音視頻設備,遠程控制設備的音視頻功能,同時也支持CEC設備內部的通信而無需用戶的直接參與,因此,能夠實現用一個遙控器來控制多個HDMI連接的視聽設備,從而減少系統內的遙控器數量。它所能實現的功能有一鍵播放(One Touch Play)、系統待機(System Standby)、一鍵錄像(One Touch Record)等[10]。本文研究了一種CEC總線的設計方案,并采用可綜合的Verilog HDL語言實現了該功能電路的邏輯綜合與仿真驗證。
CEC系統在發送信息時由一個發送端和一個或數個接收端組成。發送端負責發送消息,而接收端將接收所有數據并作出相應的應答。發送消息時首先發送一個起始位,接著是一個或數個數據塊。起始位時長為4.5 ms,且低電平的寬度為3.7 ms,并允許在一定區間內浮動,時序圖如圖1所示[10]。

圖1 起始位時序圖
數據位分為邏輯“0”和邏輯“1”兩種,時長均為2.4 ms。邏輯“0”的低電平寬度為1.5 ms,邏輯“1”的低電平寬度為0.6 ms,如圖2所示。其中1.05 ms時刻為采樣區的采樣時刻。
引導塊和數據塊均含有10 bit信息且結構相同,如圖3所示。當表示引導塊時,高4位(7~4)表示發送端邏輯地址,隨后4位(3~0)為接收端邏輯地址;表示數據塊時,高8位(7~0)數據為操作碼或操作數。EOM為邏輯“0”時,則表示消息發送未完成;若為邏輯“1”則表示消息發送結束。ACK位為應答位,當發送的目的地址為非廣播地址時,發送端總是將此位置為邏輯“1”,接收端成功接收到消息之后,則將該位改置為邏輯“0”,其他設備不做應答;若發送的目的地址為廣播地址,該位被置為邏輯“0”時表示有一個或數個接收端拒絕接收消息,反之則同意接收。

圖2 數據位邏輯“1”和邏輯“0”的時序圖

圖3 引導塊與數據塊結構示意圖
CEC協議通過重發機制、錯誤檢測機制和幀有效機制3種傳輸機制以保證數據的有效傳輸。發送端發送數據后,如果未能得到接收端傳來的正確的應答信號時啟動重發機制,且重發次數不超過5次;接收端接收到有效起始位后啟動錯誤檢測機制,若接收端接收到的數據信號的長度未落在協議規定的信號時間長度內,則反饋給發送端1.4~1.6倍的普通數據比特時間長度的低電平;幀有效機制是指接收端接收到的操作數與所要求的操作數的長度不相符時將丟棄該幀。
當系統中存在多個模塊同時傳輸信息時,將在發送引導塊的發送端邏輯地址時間區間內對總線的獲取實施仲裁機制,以確定哪個設備獲得總線的占用權。仲裁機制判斷標準為:若發送的是高電平而總線上是低電平,則該模塊失去了仲裁,反之,則獲得總線的占用權。此外,發送數據時還需要遵循信號空閑原則,同一設備再發送幀需等待大于等于7個普通數據時間長度,新設備發送幀需等待大于等于5個普通數據時間長度,發送失敗重發幀需等待大于等于3個時間長度。
CEC模塊總體設計如下圖4所示。圖中,發送模塊接收需要發送的數據并經bus_out端口發送出去;接收模塊將接收到的數據還原輸出,并將信號rx_ack_d和err_det傳到發送模塊使其發送應答信號。信號tx_ready和tx_valid為CEC模塊與傳送數據的數據存儲模塊之間的握手信號,其中tx_ready為CEC發送準備信號,tx_valid表示數據存儲模塊的有效信號,當兩個信號同時有效時,數據由in_frame端輸入。eom為發送幀中需要的EOM位數據信息;start表示幀起始位信號;err_detect表示接收端接收到錯誤信號的反饋信號;frame_out表示作為接收端時輸出接收到的信號;bus_out與bus_in為同一根雙向串行總線。

圖4 CEC模塊總體設計示意圖
CEC工作時可能處在的狀態有3種,即等待狀態、發送狀態和接收狀態。其中,等待狀態表示該模塊等待本地發送請求或接收數據的過程。發送狀態和接收狀態工作流程分別如下所述。
圖5所示為CEC在發送狀態下發送一個數據塊的流程圖。首先由本地設備發出發送請求,若總線空閑時間滿足要求則表示總線處于空閑狀態,發送模塊接收來自本地的信息并開始發送,否則繼續等待直到總線空閑。當總線空閑時向總線發送信息并啟動總線仲裁功能,同時啟動是否收到錯誤信號檢測模塊。一方面,start位未發送完成持續等待,當其發送完成后錯誤信號檢測模塊檢測到錯誤信號時,返回發送端重新發送,并且重發次數不能大于5次,若大于5次則本次發送請求失敗。另一方面,總線仲裁模塊檢測是否獲得總線占用權,若本地沒有獲得總線占用權則返回到總線空閑判斷狀態等待再發送;若獲得總線占用權則發送信息。當發送到引導塊或數據塊的ACK位時判斷該位是否有效,若有效,則本次發送請求成功,幀發送結束;反之則將啟動重發功能。此時的重發次數與之前是否收到錯誤信號檢測的重新次數之和不能大于5次,同樣,若大于5次則本次發送請求失敗。
圖6所示為CEC在接收狀態下接收數據塊的流程圖。首先,接收端持續監測總線上電平變化,當總線上出現低電平時立即檢測start位的信息是否有效,若無效則繼續監測。當接收到有效的start位信息后,一方面,是否接收到錯誤信號檢測模塊不間斷檢測總線上信號是否正確,一旦檢測到錯誤信號則持續發送一段時間低電平信號以告知發送端停止發送,然后結束本幀接收。另一方面,當接收到一有效的start位后,在安全采樣區間內采樣還原目的地址信息并與本地邏輯地址比較。若兩個地址不相同則結束本次接收;若兩個地址相同,則繼續接收并在相應時刻發送有效ACK信號直到本幀接收結束。

圖5 發送狀態發送流程圖

圖6 接收狀態接收流程圖
為實現圖5所示的發送流程,圖7給出了發送模塊的設計圖。整個協議中需要發送輸出的部分將全部由該模塊完成,其中包括:總線仲裁功能、發送幀數據功能、無應答時的重發功能、空閑時間計數功能、發送應答信號和接收到錯誤信號的反饋功能等。圖中的幀控制、塊控制、比特控制分別表示對發送端的數據在不同時間段的發送有效性控制。

圖7發送模塊設計圖
圖8 給出了實現圖6所示的接收流程的接收端模塊設計圖。該模塊完成的功能有起始信號檢測功能、錯誤信號檢測功能、邏輯地址比較功能和總線數據采樣功能等。

圖8接收模塊設計圖
圖9 給出的為CEC總線仿真搭建的測試平臺設計圖。其中link信號為激勵發送端與CEC頂層之間的發送與接收控制信號,保證二者一個處于發送狀態時另一個必須處于接收狀態;bus_inout表示雙向總線;sys_clk、sys_rst分別表示系統時鐘和系統復位信號。

圖9 仿真測試平臺示意圖
根據上述提出的CEC總線協議設計方案,應用可綜合的Verilog語言,在QuartusII平臺下實現了電路綜合,并在Modelsim6.5g軟件平臺下完成了電路的仿真。在圖9所示仿真測試平臺的基礎上發送端發送和接收端接收聯調仿真波形如圖10所示。圖中,系統時鐘頻率設置為12.5 MHz,接收端還原出來的數據與發送端發送的數據一致,發送端第一個輸入的數據為引導塊,未輸出。控制信號ack_sample_period為高電平時表示接收端發送應答信號時間區間,在該區間內采樣得到的為接收端的應答信號。

圖10 發送端發送及接收端接收聯調仿真波形(截圖)
當選用Altera公司的Cyclone IV系列器件EP4CE115F29C7綜合時,CEC模塊資源占用情況下表1所示,其中,CEC設計總計中的邏輯資源占用結果為發送模塊與接收模塊一起綜合的結果,由于發送模塊與接收模塊二者之間存在一部分的邏輯復用,因此較發送端與接收端資源占用總和少。

表1 CEC模塊資源占用情況
本文對CEC各功能模塊進行了設計并在相關的軟件平臺下實現仿真驗證,從仿真驗證結果看,該設計實現功能完備,能夠滿足設計和產品要求,因此可作為IP核應用于多媒體網絡數據傳輸領域。
[1]廖夢云,趙利.HDMI接口在嵌入式視頻監控系統中的應用[J].微計算機信息,2009(23):45-47.
[2]丁鐵夫,楊磊,楊旭,等.基于HDMI的實時視頻/音頻傳輸系統設計[J].微計算機信息,2009(25):180-182.
[3]蘇鐘人.平板電視的功能擴展[J].電視技術,2007,31(4):4-7.
[4]王穎.HDMI搶占高清市場先機[J].中國電子商情,2008(3):48-50.
[5]Willas Array公司.HDTV帶出HDMI-CEC的微妙變化[J].電子產品世界,2008(8):116-117.
[6]黃慶敏,羅鍵.HDMI接口標準及應用設計[J].電視技術,2007,31(2):32-34.
[7]謝特輝.HDMI-CEC簡介及其應用[J].電視技術,2010,34(10):42-46.
[8]張涌,黃世震.HDMI CEC的設計與實現[J].中國集成電路,2010(12):64-67.
[9]Quantum data white paper[EB/OL].[2012-11-20].http://www.quantumdata.com/pdf/CEC_White_Paper.pdf.
[10]Silicon Image,Inc.HDMI Specification Version 1.3[EB/OL].[2012-11-20].http://download.csdn.net/detail/plain_liu/365154.