999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于HDMIRx CEC的電視待機喚醒方案的軟件設(shè)計

2021-10-01 02:39:56,龍
電子技術(shù)應(yīng)用 2021年9期
關(guān)鍵詞:設(shè)備

呂 亮 ,龍 華

(1.東南大學(xué) 微電子學(xué)院,江蘇 南京 210000;2.華為技術(shù)有限公司,廣東 深圳 518000)

0 引言

當(dāng)前,常見的高清視頻接口有HDMI、VGA、DP 和DVI[1-2]。HDMI 作為當(dāng)今主流的多媒體高速數(shù)字接口,依據(jù)最新的HDMI2.1 協(xié)議,其支持8K 甚至更高分辨率的數(shù)據(jù)傳輸[3]。其廣泛應(yīng)用于大多數(shù)知名品牌的電視、機頂盒等音視頻設(shè)備上,甚至使用一個遙控器就可以控制多個音視頻設(shè)備[4-5]。HDMI 擁有5種不同的線纜,其分別擁有不同的引腳分布,如圖1 所示。而在實際場景中,種類A的線纜用得較多,其擁有19 個引腳,圖2 為引腳的分布圖。其中,CEC(Consumer Electronics Control)信 號通過引腳13 傳輸,作為HDMI 接口的一部分。CEC 總線作為控制信號被分離出來,使得在不增加數(shù)據(jù)占用帶寬的情況下完成高速復(fù)雜的通信要求[6]。隨著CEC 應(yīng)用范圍越來越大,不同的廠商賦予了CEC 技術(shù)不同的名字,如:索尼的Bravia Theater Sync、松下的VIERALINK、三星的ANYNET+和LG的SIMPLELINK 等[7]。

圖1 HMDI 線纜分類

圖2 線纜A 引腳分布

CEC 系統(tǒng)的設(shè)計可以分為CEC 控制器的設(shè)計和CEC 軟件部分的設(shè)計兩部分。文獻[8]和[9]通過Verilog仿真工具和FPGA的開發(fā)板完成了對CEC 控制器的設(shè)計實現(xiàn)目的,這些方法可以作為IP 廣泛地應(yīng)用到支持HDMI 接口的SoC 開發(fā)中。文獻[10]考慮到部分HDMI轉(zhuǎn)換芯片上沒有包含CEC 模塊而采用IO 模擬實現(xiàn)CEC協(xié)議的方法,從而取代了硬件CEC 控制器的設(shè)計。文獻[11] 通過CEC 技術(shù)控制服務(wù)喚醒顯示設(shè)備以使其從關(guān)機狀態(tài)進入開機狀態(tài),其中采用了MCU 處理關(guān)機狀態(tài)下的CEC 消息傳送。文獻[12]設(shè)計了一種電路以解決MCU 芯片無法滿足CEC 總線漏電流的問題。以上文獻中對于CEC 軟件系統(tǒng)雖有描述,但是對于其中的細(xì)節(jié)詳細(xì)闡述少之又少。

本文通過對CEC1.4 協(xié)議的分析,闡述了利用CEC技術(shù)實現(xiàn)TV 待機喚醒的軟件驅(qū)動方案。為了保證TV在待機狀態(tài)下可以通過CEC 來喚醒,提出了采用CPU與MCU 協(xié)同工作的方式。在TV 工作時,由CPU 管理整個系統(tǒng),MCU 處于復(fù)位狀態(tài);當(dāng)TV 待機后,CPU 將不進行工作,而由MCU 負(fù)責(zé)。當(dāng)MCU 收到CEC 相關(guān)消息后,會及時喚醒CPU。該設(shè)計使得TV 能在待機狀態(tài)下得到喚醒,也滿足了低功耗的要求。

1 CEC 協(xié)議概述

CEC 是一種在各音視頻產(chǎn)品中提供上層控制功能的協(xié)議,其提供了一系列的特性來增強HDMI 系統(tǒng)的功能和互通性。CEC 使用遠程控制或自動改變設(shè)置來命令連接的CEC 設(shè)備發(fā)生相應(yīng)的變化[13]。所有在CEC 線上的傳輸包括一個發(fā)起者(Initiator)和多個接收者(Follower)。發(fā)起者負(fù)責(zé)發(fā)送消息數(shù)據(jù)。接收者負(fù)責(zé)接收任何數(shù)據(jù)以及設(shè)置應(yīng)答位。發(fā)起者提供時序和位前沿。若同一時刻,當(dāng)超過一個發(fā)起者進行CEC 數(shù)據(jù)傳輸時,可以使用控制信號線仲裁機制避免沖突。CEC 線采用半雙工、串行的方式傳輸數(shù)據(jù)。在設(shè)備打開CEC的情況下,可以使用單個遙控器完成一系列的控制操作,如:待機喚醒、按鍵透傳等。在CEC 網(wǎng)絡(luò)中會連接多個設(shè)備,各個設(shè)備通過CEC 線通信與命令交互。

CEC的幀結(jié)構(gòu)=起始位+引導(dǎo)塊+數(shù)據(jù)塊,其中數(shù)據(jù)塊中包含操作碼和操作數(shù)。所有的引導(dǎo)塊和數(shù)據(jù)塊都是10 bit,并擁有相同的數(shù)據(jù)結(jié)構(gòu),如圖3 所示。一條完整的CEC 消息的數(shù)據(jù)結(jié)構(gòu)如圖4 所示。

圖3 塊結(jié)構(gòu)

圖4 一條消息的數(shù)據(jù)結(jié)構(gòu)

當(dāng)一個CEC 設(shè)備連接到CEC 網(wǎng)絡(luò)中時,其會通過Ping(即發(fā)送Polling Message 消息)的方式獲取到自身的邏輯地址。各個設(shè)備類型的邏輯地址如表1 所示,其中總共有16 個邏輯地址,而有些設(shè)備具有多個邏輯地址,如:錄音設(shè)備就有1、2、9 三個不同的邏輯地址。對于下文涉及的電視待機喚醒功能會使用到圖5 描述的場景。

表1 CEC 邏輯地址

圖5 一鍵喚醒的場景

其中,Playback Devcie 可以是碟機等設(shè)備,當(dāng)TV 處于待機狀態(tài)時,用戶可以使用碟機的遙控器喚醒碟機后,碟機會發(fā)送消息給TV,來喚醒TV。當(dāng)source 需要將輸出顯示在TV 上時,source 必須同時發(fā)送消息和消息。其中,的操作碼為0x04,的操作碼為0x82。

2 系統(tǒng)實現(xiàn)

為了使TV 在待機狀態(tài)下的功耗降低,該方案采用CPU與MCU 結(jié)合的方式,通過這兩部分的交互實現(xiàn)TV中待機喚醒。圖6 是CEC的軟件架構(gòu)圖,分為CPU 和MCU 兩部分,兩者通過公用的寄存器通信。

圖6 CEC 軟件架構(gòu)圖

當(dāng)系統(tǒng)上電后,CPU 開始運行,MCU 處于復(fù)位狀態(tài),CPU 負(fù)責(zé)CEC 消息收發(fā)等工作。而當(dāng)TV 待機后,CPU下電,MCU 開始運行,主要負(fù)責(zé)CEC 喚醒檢測。圖7 為電視待機喚醒檢測的流程圖。

圖7 CPU/MCU 待機檢測

2.1 MCU 模塊設(shè)計

MCU 模塊從上到下分為User、Driver 層。User 層負(fù)責(zé)將收到的CEC 消息轉(zhuǎn)化為具體的功能控制。Driver 層負(fù)責(zé)CEC 邏輯層的抽象和隔離、CEC 消息的收發(fā),包括:(1)CEC 邏輯使能控制;(2)HPD(Hot Plug Detect)狀態(tài)獲取;(3)CEC EDID的讀取與解析;(4)CEC 消息的發(fā)送和讀取;(5)CEC 日志的串口打印等。

MCU中只做簡單的消息收發(fā)處理。其中,接收的消息包括:。發(fā)送的消息包括:

圖8 為MCU的運行圖,在MCU 初始化后,MCU 會檢測此時CPU 運行在boot 還是kernel 階段,并停在對應(yīng)的階段。當(dāng)CPU 下電后,MCU 跳出對應(yīng)階段,向下執(zhí)行一系列的操作,最后在while 循環(huán)中不斷地檢測CEC 喚醒的消息,若收到中的某條消息,則喚醒CPU。

圖8 MCU 運行框圖

2.2 CPU 模塊設(shè)計

CPU 模塊由Middleware(中間件)、UNF、Driver 三個子模塊組成。其中,中間件模塊會主動獲取CEC 驅(qū)動中的CEC 消息,同時也會發(fā)送具體的CEC 消息給驅(qū)動,然后CEC 驅(qū)動會把消息通過CEC 線發(fā)送出去,中間件是CEC具體業(yè)務(wù)指令中控。UNF 模塊是提供給中間件使用的接口層,里面包含一系列接口函數(shù),中間件可以調(diào)用UNF中的接口函數(shù)將CEC 消息傳輸給CEC 驅(qū)動或獲取CEC驅(qū)動的消息。Driver 模塊實現(xiàn)CEC 網(wǎng)絡(luò)建立,CEC 消息接收發(fā)送的具體實現(xiàn),消息池管理,各任務(wù)間的協(xié)同控制等。

為了防止在CEC 總線上消息傳輸失敗,整個系統(tǒng)方案中采用了CEC 消息重傳機制。當(dāng)出現(xiàn)CEC 控制器發(fā)送CEC 消息到總線上失敗時,軟件中會對CEC 控制器的重傳次數(shù)進行配置,之后如果CEC 消息發(fā)送失敗,硬件就會自動進行CEC 消息重傳。根據(jù)協(xié)議中的要求次數(shù)設(shè)置為最小值2,以保證從中間件傳下來的所有CEC消息都能通過CEC 驅(qū)動傳輸給指定的CEC 設(shè)備。圖9為重傳機制的流程圖。

圖9 重傳機制流程圖

此外,為保證CEC 驅(qū)動可以將短時間內(nèi)從中間件下發(fā)的CEC 消息全部發(fā)送給其他的CEC 設(shè)備,在CEC 驅(qū)動中增加了CEC 消息隊列,最大可以存儲30 條從中間件傳下來的CEC 消息。以下為CEC 消息和CEC 消息隊列的數(shù)據(jù)結(jié)構(gòu),每條CEC 消息都通過CecMessage 結(jié)構(gòu)體的形式儲存,并將全部的CEC 消息保存在CecQueue 結(jié)構(gòu)體的cec_message 數(shù)組中。

圖10 為CPU的運行圖,當(dāng)系統(tǒng)上電后,CPU 開始運行,CEC 驅(qū)動擁有單獨的內(nèi)核線程。在該線程中,包括CEC消息的發(fā)送,CEC中斷的檢測,CEC 消息的發(fā)送等。

圖10 CPU CEC 運行框圖

3 功能驗證

3.1 驗證平臺

該系統(tǒng)采用基于Cortex-A73 處理器并搭載Linux 4.14操作系統(tǒng)的單板實現(xiàn)軟件設(shè)計,搭載A73 處理器的單板,其以更低的功耗和更小的空間實現(xiàn)了更佳的性能與壽命[14]。該單板的硬件部分,如CEC 控制器等以及中間件中的軟件程序編寫,均由其他成員完成設(shè)計。在CEC驅(qū)動編寫完成后,分別燒錄到CPU 和MCU中,上電后即開始運行。

SL309 是CEC CTS的認(rèn)證儀器,由SimplayLabs 公司生產(chǎn),作為官方推薦的CEC1.4 測試儀器,其具有易用、UI 界面內(nèi)容豐富等特點。實物見圖11,其可以模擬出CEC1.4 協(xié)議中提到的所有CEC 設(shè)備,并可以收發(fā)不同的CEC 消息以驗證單板上的CEC 驅(qū)動實現(xiàn)是否符合CEC 協(xié)議的要求。圖12 為CEC 網(wǎng)絡(luò)中的設(shè)備連接圖,碟機使用的是索尼BDP-S1500,該碟機支持CEC 功能,其連接SL309,再接本文所設(shè)計實現(xiàn)CEC 功能的單板,最后將單板接到SONY TV 上。

圖11 SL309

圖12 設(shè)備連接圖

3.2 驗證結(jié)果

首先打開所有連接的CEC 網(wǎng)絡(luò)中的設(shè)備,并在SONY TV的UI中打開單板的CEC 功能,再使用單板的遙控器讓單板進入待機狀態(tài),此時可以看到,TV的UI黑屏,并通過串口工具可以看到單板已進入MCU 模式。再觀察SL309 應(yīng)用窗口中DUT (Device Under Test)發(fā)送了廣播消息,如圖13 和圖14 所示。

從圖13 可以看出,起始位(Start Bit)、數(shù)據(jù)位(Data Bit)時序符合協(xié)議的規(guī)定,即單板發(fā)送的CEC 消息符合CEC1.4 協(xié)議中的要求。從圖14中的方框可知,單板已成功將Standby 待機消息發(fā)送給了連接在CEC 網(wǎng)絡(luò)中的設(shè)備。此時碟機、單板的CPU 都進入了待機狀態(tài),而只有單板的MCU 處于運行狀態(tài)。

圖13 消息時序圖

圖14 SL309 收到的CEC 消息

之后使用索尼的遙控器將碟機開機,從SL309 應(yīng)用窗口中可以看到碟機給單板發(fā)送了消息,如圖15 方框中所示。從圖16 和圖17可知,這兩條消息的時序符合CEC1.4 協(xié)議中的要求。再從串口中可以看出單板的CPU 已啟動,并且SONY TV已經(jīng)被點亮。

圖15 碟機發(fā)送的消息

圖16 消息時序圖

圖17 消息時序圖

最后,從圖15 得知,由中間件在短時間內(nèi)下發(fā)的CEC消息(不超過30 條)全部被CEC 驅(qū)動發(fā)送了出去,并且沒有一個CEC 消息發(fā)送失敗。這表明單板的CEC 軟件設(shè)計以及硬件邏輯完全符合該場景下待機喚醒的需求。

4 結(jié)論

CPU 驅(qū)動提供的UNF 接口可以讓業(yè)務(wù)指令中心下發(fā)所需的CEC 消息,配合MCU中的驅(qū)動,所有的消息時序符合CEC1.4 協(xié)議中規(guī)定,并且完全滿足電視一鍵待機和一鍵喚醒的要求。通過CPU 和MCU 結(jié)合的方式,也讓電視在待機下功耗更低。

猜你喜歡
設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
調(diào)試新設(shè)備
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發(fā)射設(shè)備中平衡輸入與不平衡輸入的轉(zhuǎn)換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設(shè)備
500kV輸變電設(shè)備運行維護探討
HTC斥資千萬美元入股虛擬現(xiàn)實設(shè)備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設(shè)備篇
如何在設(shè)備采購中節(jié)省成本
主站蜘蛛池模板: 天天躁夜夜躁狠狠躁躁88| 国内精自线i品一区202| 国产精品yjizz视频网一二区| 亚洲六月丁香六月婷婷蜜芽| 永久免费av网站可以直接看的| 国产白浆一区二区三区视频在线 | 国产一二三区视频| 色老头综合网| 波多野结衣在线se| 99色亚洲国产精品11p| 国产亚洲欧美日韩在线观看一区二区| 成人毛片免费观看| 亚洲国产成人久久精品软件| 成人中文字幕在线| 精品久久久久无码| 久久人人爽人人爽人人片aV东京热| 伊人成人在线| 久久人人妻人人爽人人卡片av| 国产高清在线丝袜精品一区| www.精品国产| 国产一区二区三区在线观看免费| 日韩欧美视频第一区在线观看| 五月综合色婷婷| 国产手机在线ΑⅤ片无码观看| 波多野结衣亚洲一区| 亚洲欧美自拍视频| 亚洲精品欧美日韩在线| 婷婷午夜影院| 国产精品私拍在线爆乳| 好吊色国产欧美日韩免费观看| 麻豆精品在线视频| 亚洲男人天堂久久| 色综合网址| 亚洲精品无码AV电影在线播放| 99热在线只有精品| 亚洲男人天堂2020| 极品性荡少妇一区二区色欲| 日本免费a视频| 欧美在线精品怡红院| 亚洲高清中文字幕| 国产精品女在线观看| 97精品久久久大香线焦| 精品乱码久久久久久久| 激情六月丁香婷婷四房播| 国产制服丝袜无码视频| 夜夜高潮夜夜爽国产伦精品| 亚洲国产日韩一区| 亚洲第一天堂无码专区| 国产极品美女在线| 国产黄在线免费观看| a级毛片一区二区免费视频| 91口爆吞精国产对白第三集| 国产精品2| 99资源在线| 国产尤物jk自慰制服喷水| 久久美女精品国产精品亚洲| 国产第一页第二页| 国产精品3p视频| 国产丰满大乳无码免费播放| 国产午夜小视频| 欧美日韩成人在线观看| a天堂视频| 这里只有精品在线| 波多野结衣在线se| 日韩成人在线一区二区| 亚洲精品动漫| 日本91在线| 全色黄大色大片免费久久老太| 国产女人喷水视频| 亚洲免费黄色网| 亚洲第一香蕉视频| 中文毛片无遮挡播放免费| 大香伊人久久| 欧美日韩中文国产va另类| 国产精品亚洲αv天堂无码| 精品精品国产高清A毛片| 久久人人妻人人爽人人卡片av| 香蕉国产精品视频| 欧美亚洲第一页| 亚州AV秘 一区二区三区| 99re在线观看视频| 少妇高潮惨叫久久久久久|