Granite River Labs, GRL
李清宇 Peter Lee
您是否曾在生活中遇到以下情景?結束一天忙碌的工作,回家想看一部電影好好放鬆,此時要拿出好幾個遙控器,將電視、機上盒、音響逐一開啟並進行節目設定,當然有時候您還可能找不到遙控器,如此繁複的操作難免令人煩躁沮喪。如果您今天使用的影音設備皆支援CEC功能,情況可就大為不同了!以上惱人的問題將不復存在!讓我們一起來看看CEC究竟是什麼神奇的技術吧!
CEC的全名為Consumer Electronics Control,是一項由HDMI協會所開發的技術與功能,專為HDMI介面所設計。設計初衷是要讓消費者能夠使用「一個」遙控器來控制並操作所有的HDMI連接裝置,簡化繁複的影音設備操作(如家庭劇院等),帶給使用者更方便的生活體驗。以目前常見的One Touch Play功能為例,若同時使用支援CEC功能的機上盒及電視,使用者只要按下機上盒的開機按鈕,電視也會跟著開啟,並且自動切換輸入端口,播放機上盒的影音內容,這聽起來是不是很神奇呢?
為了實現多個影音設備的控制,需要採用一套完整且一致的傳輸協議規範。目前HDMI協會發布了兩個版本的CEC規範,分別為CEC 1.4與CEC 2.0。CEC 2.0是基於CEC 1.4版本進行擴充,雖然其支援的功能較多,但原則上是採用相同的物理及協議架構。
CEC為單線雙向溝通技術,物理層上只需要單一CEC接腳就能與所有連結裝置進行溝通。在HDMI連接網路上,裝置間的CEC線路設計要求相連,因此HDMI產品無論是否支援CEC功能,均要配置CEC接腳並滿足特定的電氣規範,確保即使有不支援CEC的裝置連接於網路中,其餘設備依然能正常運作。
對於不支援CEC功能的HDMI裝置,除了HDMI影音數據需傳輸正確外,CEC電容、電阻、電壓也要符合規範,才能被認證為是合格的HDMI裝置。
以下是相關的CEC線路電氣規範:
CEC傳輸過程,通常需要一個Initiator以及一個或以上的Follower組成。Initiator負責傳輸訊號,Follower負責接收訊號。一段完整的CEC訊號,放大來看是由許多的 bit 組成,bit可再細分為Start bit與Data bit。
綜合以上內容,一段完整的CEC指令依照順序會由Start bit、Header Block、許多的Data Block組成。Initiator可藉由傳輸不同的 Data Block內容,對連接的Follower進行不同的功能控制。
在現實社會中,如果我們要請遠方的朋友幫忙做事,通常會透過郵件或電話溝通,這樣的過程會需要兩個重要參數,一個是朋友的郵件地址或電話號碼,另一個則是正確的指示。
同樣的,為了讓Follower正常運作,Initiator除了傳送正確的指示外,也需要傳送至正確的Follower位置。一個CEC裝置會同時擁有物理位置與邏輯位置,物理位置指的是該裝置在連結樹狀圖中的節點位置,而邏輯位置則是反映該裝置的產品類型。由於每一位消費者連接產品的方式都不同,因此物理位置和邏輯位置皆不能採用固定位置,需要隨著不同的連接方法來調整,確保Initiator在所有情況下都能傳送訊息到正確的裝置。
物理位置的分配,是透過DDC線路以及Sink EDID來實現。一般來說,電視會是整個CEC連接樹狀圖最末端的裝置,稱為CEC Root Device,其物理位置為四碼並固定是0.0.0.0。那麼其他的連接裝置,要如何有規則的獲得物理位置呢?以圖6為例,假設有AV裝置連接至電視的輸入端2,裝置會使用DDC線路讀取電視輸入端2的EDID,並將讀取到的VSDB中的物理位置值2.0.0.0,設置成自身的物理位置。若該AV裝置擁有輸入端,會藉由將輸入端的編號疊加上自身的物理位置2.0.0.0以產生新的物理位置,並放入對應輸入端的EDID內,因此DVD撥放器連接AV裝置的輸入端1後,獲得的物理位置就會是2.1.0.0。如果按照這樣的方式繼續擴展裝置樹狀圖,理論上CEC裝置最多能組成五階的連接網路,每階最多能有15個裝置。值得注意的是,實際應用時無法連結15台以上的裝置,這是因為裝置過多將會造成線路過大電容負載,影響傳輸訊號品質。
圖6: 物理位置分配圖(來源:HDMI Spec 1.4b)
每個CEC裝置除了有物理位置外,還會獲得專屬的邏輯位置,來反映裝置的產品類型(參圖8),像TV對應的邏輯位置是0,而機上盒可使用的邏輯位置是3、6、7、10之一。細心的讀者可能會有個疑問,如果有多個重複功能的裝置連結至網路中,要如何分配邏輯位置呢?重複裝置的邏輯位置分配,會透過CEC中的Polling message來實現。Polling message指的是一段只有Header Block的訊息,其中Initiator和Destination的邏輯位置相同,EOM bit設置為1。我們接下來以生活應用舉例,來看當消費者將PS5、Xbox等電視遊樂器連接至TV,會如何進行邏輯位置分配。
當消費者連結所有裝置後,TV會發出(邏輯位置0->邏輯位置0)的Polling message,由於此時沒有其餘裝置回應ACK,TV就會取得該邏輯位置0。接著依照時間順序,假設第一個連接至TV的是PS5遊樂器,它會送出一段Polling message(邏輯位置4->邏輯位置4),由於沒有其餘裝置回應ACK,PS5就會取得邏輯位置4。而最晚連結至TV的Xbox,也會先嘗試送出Polling message(邏輯位置4->邏輯位置4),但此時PS5已占用該邏輯位置,所以PS5會對此訊息回覆ACK,代表成功接收。因為邏輯位置4已被占用,Xbox會再嘗試送出下一個Polling message(邏輯位置8->邏輯位置8),此時沒有其餘裝置回應ACK,Xbox就會取得邏輯位置8。
總結來說,每當連接或斷開一個CEC裝置,裝置就會依照上述流程,自動的分配物理、邏輯位置,形成一個新的裝置連結網路。
圖7: Polling message結構(來源:HDMI Spec 1.4b)
圖8: HDMI CEC裝置邏輯位置(來源:HDMI Spec 1.4b)
CEC架構中使用了以下兩種方式,以提供穩定的資訊傳輸:
HDMI介面特有的CEC功能,可以讓消費者簡化影音設備操作,帶來更好的使用者體驗,也減少了生活中惱人的繁複。為了確保消費者所購買支援CEC的影音設備皆擁有正常的功能,設備上市前應送往第三方認證測試實驗室進行測試,並依照HDMI規範通過相關的CEC認證測試。本文介紹了CEC基礎電性以及協議層規範,希望讓讀者了解CEC操作原理、更清楚地掌握產品規格,順利通過認證測試。
國立成功大學材料系碩士畢業。三年 HDMI 測試經驗,熟悉 HDMI2.1 與 HDCP 技術測試。GRL 技術文章作者及演講講師。
本文件中規格特性及其說明若有修改恕不另行通知。
發佈日期 2023/03/02 AN-230302-TW