摘 要: 針對高清數(shù)字機頂盒面向家居智能化的發(fā)展趨勢,設(shè)計了基于STIH416芯片與Android操作系統(tǒng)的智能數(shù)字機頂盒系統(tǒng)。嵌入式智能數(shù)字機頂盒相比傳統(tǒng)機頂盒,其在解碼能力、功耗、數(shù)據(jù)流處理以及平臺拓展性方面都具有獨特的優(yōu)勢。該文就機頂盒系統(tǒng)總體結(jié)構(gòu)進行了介紹,硬件平臺方面,對網(wǎng)絡(luò)接入模塊、條件接收系統(tǒng)以及紅外接收模塊進行了重點設(shè)計;軟件方面,以Android操作系統(tǒng)為核心,采用松散耦合便于擴展的分層式設(shè)計。最后介紹基于移動平臺的機頂盒控制端的軟件設(shè)計。
關(guān)鍵詞: 嵌入式系統(tǒng); Android; 智能數(shù)字機頂盒; 軟件設(shè)計
中圖分類號: TN948.55?34 文獻標識碼: A 文章編號: 1004?373X(2016)14?0053?04
Design of embedded intelligent digital STB system
ZHU Wei1,2, LIU Yongchun1,2
(1. School of Automation Electronic Information, Sichuan University of Science and Engineering, Zigong 643000, China;
2. Sichuan Provincial Academician (Experts) Workstation, School of Automation Electronic Information, Zigong 643000, China)
Abstract: In view of the home intelligentized development trend of HD digital set?top box (STB), an intelligent digital set?top box system with STIH416 chip was designed on the basis of Android operating system. The embedded intelligent digital STB set?top box has more advantages in the aspects of decoding ability, power consumption, buffer?processing and expansibility of system, compared with traditional one. The overall structure of set?top box system is introduced in this paper, especially for the design of network access module, conditional access system and infrared receiving module. The Android operating system is taken as its core. The loose coupling is adopted for better expansibility of hierarchical design. In the end of the paper, the software design of the set?top box terminal control based on mobile platform is introduced.
Keywords: embedded system; Android; intelligent digital STB; software design
0 引 言
隨著多網(wǎng)融合時代的到來,以及家居智能化趨勢的不斷推進,顯示能力卓越的數(shù)字電視取代模擬電視已成必然,因而也對連接高清電視信號與數(shù)字電視的機頂盒提出了新的要求。伴隨智能家電的日益增長,人機交互需求的日趨頻繁,以及大數(shù)據(jù)信息時代海量的網(wǎng)絡(luò)數(shù)據(jù)和不斷豐富的多媒體形式,傳統(tǒng)的數(shù)字機頂盒的數(shù)據(jù)處理效率不高,解碼能力有限以及功耗較高等問題不斷凸顯出來,家電由被動的演示漸漸走向可方便地進行人性化定制及拓展的道路[1?4]。因而,傳統(tǒng)數(shù)字機頂盒已無法滿足人們對高畫質(zhì)視訊、海量網(wǎng)絡(luò)信息以及數(shù)字化娛樂的需求?;谇度胧叫酒椭悄懿僮飨到y(tǒng)模式的機頂盒,不僅功耗更低、解碼及多媒體數(shù)據(jù)處理的性能更優(yōu)越,軟件系統(tǒng)也便于升級、定制和后續(xù)開發(fā)擴展,同時具有更友善的人機交互界面和更加開放和豐富的系統(tǒng)應(yīng)用,而且通過連接互聯(lián)網(wǎng)真正實現(xiàn)了有線電視的網(wǎng)絡(luò)化,開拓了電視網(wǎng)和互聯(lián)網(wǎng)融合的巨大市場,因而得到了日益廣泛的應(yīng)用。
1 系統(tǒng)總體結(jié)構(gòu)
基于硬件的平臺化和專用性的考慮,目前的機頂盒系統(tǒng)多采用專用芯片。本系統(tǒng)選用意法半導(dǎo)體(STMicroelectronics,ST)[5]推出的機頂盒芯片STIH416作為核心處理器。硬件方面,其搭載ARM Cortex?A9 MPCore雙核應(yīng)用處理器和ARM Mali?400MP四核繪圖處理器,并集成了多標準視頻解碼引擎和支持高清和3D TV標準的高性能視頻編碼器,擁有極其出色的運算性能和高畫質(zhì)的處理性能,其實時轉(zhuǎn)碼功能可將高清內(nèi)容通過WiFi網(wǎng)絡(luò)傳輸至智能手機、平板電腦、大屏幕電視并播放,實現(xiàn)了真正的多屏融合體驗。系統(tǒng)層面,STIH416單芯片能夠運行Android 4.0操作系統(tǒng),不僅秉承嵌入式系統(tǒng)低功耗高性能以及方便移植和裁剪的優(yōu)點,且具有更好的擴展性能、優(yōu)秀的開發(fā)工具和海量的應(yīng)用,必將能成為數(shù)字電視時代的先導(dǎo)力量。系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示。
系統(tǒng)主要基于核心芯片STIH416、外圍設(shè)備及模塊其主要包括調(diào)諧器、解調(diào)器、SDRAM、FLASH、智能卡模塊、紅外接收模塊以及網(wǎng)絡(luò)接入模塊等。首先,同軸電纜將經(jīng)編碼調(diào)制并實現(xiàn)多路復(fù)用后的電視音視頻信號及相關(guān)信息傳輸入戶,由調(diào)諧器將高頻的電視信號轉(zhuǎn)換為中頻信號,再經(jīng)由解調(diào)器對中頻信號進行A/D轉(zhuǎn)換、QAM解調(diào)等處理,從數(shù)據(jù)中分離出音視頻及相關(guān)數(shù)據(jù)的傳輸流,最后送至STIH416處理芯片中進行解碼、解復(fù)用及解擾等處理,輸出可供電視高質(zhì)量呈現(xiàn)的電視信號。
主要接口包括智能卡、串口、網(wǎng)絡(luò)接口、USB接口、紅外接收模塊。智能卡可以提供數(shù)字電視加擾保密節(jié)目信息所需的密鑰,以使機頂盒系統(tǒng)提取傳輸流中的解擾、解密信息。串口主要用于程序升級,USB接口可連接U盤、移動硬盤等外接存儲設(shè)備,實現(xiàn)電視節(jié)目的存儲或供機頂盒讀取外來文件。網(wǎng)絡(luò)接口提供Internet的接入,完成機頂盒的網(wǎng)上瀏覽、電子郵件等網(wǎng)絡(luò)功能。紅外接收模塊經(jīng)設(shè)計可以與移動控制端進行連接,接收移動設(shè)備發(fā)出的指令,實現(xiàn)對機頂盒的控制。
2 系統(tǒng)硬件設(shè)計
機頂盒系統(tǒng)硬件技術(shù)含量較高,主要包括解調(diào)及信道解碼技術(shù)、解復(fù)用及信源解碼技術(shù)、加解擾技術(shù)、條件接收以及大規(guī)模集成芯片技術(shù)等。
有線電視信號傳入機頂盒硬件系統(tǒng)后,前端的調(diào)諧器VA1T1ED6060和解調(diào)器STV0370將完成解調(diào)及信道解碼部分,處理后的傳輸流直接傳送至主芯片STIH416中。由于STIH416集成有ARM Cortex?A9 MPCore雙核應(yīng)用處理器、ARM Mali?400MP圖形處理器、專用傳輸流處理器以及自適應(yīng)視頻流轉(zhuǎn)碼器,因而解復(fù)用和信源解碼等功能的實現(xiàn)都可以在主芯片中進行。最后提取出來的音視頻信號,通過接口傳輸至顯示設(shè)備。
要實現(xiàn)機頂盒更加豐富的交互式功能,機頂盒系統(tǒng)與Internet的結(jié)合便是必須的。因此,在機頂盒系統(tǒng)中對網(wǎng)絡(luò)接入模塊進行了重點設(shè)計。另外,付費電視與交互業(yè)務(wù)平臺的條件接收系統(tǒng)CAS(Conditional Access System)[6]作為電視節(jié)目業(yè)務(wù)平臺的核心部分,在本節(jié)也做了重點介紹。
2.1 網(wǎng)絡(luò)接入模塊
多媒體網(wǎng)絡(luò)信號通過自適應(yīng)網(wǎng)絡(luò)轉(zhuǎn)換器后,與以太網(wǎng)控制芯片DM9000A連接[7],再與STIH416進行數(shù)據(jù)交換,系統(tǒng)所需的物流地址等信息在E2PROM中存放,最終主芯片將解碼后的多媒體信號呈現(xiàn)到顯示設(shè)備中。
基于DM9000A的網(wǎng)絡(luò)接入硬件電路如圖2所示。以太網(wǎng)網(wǎng)線通過接口RJ45接入,多媒體網(wǎng)絡(luò)信號經(jīng)作為自適應(yīng)以太網(wǎng)交換器的PH163539后,通過雙統(tǒng)線TX乘RX傳輸?shù)?6位模式的DM9000A芯片中。為了提高差分阻抗匹配精度,兩路信號分別使用了兩個49.9 Ω 的精密電阻進行差分設(shè)計。DM9000A的CMD信號線是根據(jù)高低電平來確定訪問DM9000A的數(shù)據(jù)端口還是地址端口,并實現(xiàn)控制寄存器和狀態(tài)寄存器的讀寫。INT為中斷請求端口,中斷信號會在DM9000A完成一個數(shù)據(jù)包的接收或發(fā)送后起作用。PWRST是復(fù)位信號端,低電平有效,持續(xù)時間需≥20 ms。IOR#和IOW#端口分別表示控制信號線的讀與寫的操作。網(wǎng)絡(luò)數(shù)據(jù)通過SD0~SD15引腳與嵌入式芯片進行交換。模塊中配置有E2PROM芯片93C46,以存取網(wǎng)絡(luò)信號交換時必要的信息。
2.2 智能卡條件接收系統(tǒng)
條件接收系統(tǒng)就是通過對保密收費節(jié)目等進行加擾,以實現(xiàn)版權(quán)保護和通信安全,保證僅有被授權(quán)的用戶才可以觀看。其核心部分是加解密算法,主要功能就是對保密的節(jié)目傳輸流進行解擾解密。條件接收的主要原理是:機頂盒系統(tǒng)CPU對解復(fù)用后的傳輸流進行判斷,若節(jié)目未加擾,則不進行處理直接送至解碼模塊;若節(jié)目加擾,則系統(tǒng)與智能卡芯片進行通信以獲取密鑰,然后對節(jié)目進行實時解擾。
智能卡接口原理圖如圖3所示,接口電路本身是一個UART(Universal Asynchronous Receiver/Transmitter,異步收發(fā)傳輸器)[8]接口,通過耦合芯片TDA8004T與智能卡相連,并為智能卡提供電源和時鐘信號。數(shù)據(jù)傳輸方面提供3條I/O線,通過耦合芯片轉(zhuǎn)接到智能卡上,在異步半雙工的模式下工作,通信接口采用ISO7816接口協(xié)議。該智能卡接口主要實現(xiàn)物理層和數(shù)據(jù)鏈路層,由操作系統(tǒng)提供的軟件部分實現(xiàn)條件接收的應(yīng)用層,如圖3所示。
軟件技術(shù)是電視機頂盒最關(guān)鍵的一環(huán),也是運營商展示各自特點及競爭力、吸引用戶投入精力最多的部分。音視頻解碼的基本功能主要由硬件實現(xiàn),而內(nèi)容的點播重現(xiàn)、可視化的UI設(shè)計、Internet網(wǎng)絡(luò)接入、機頂盒與PC或移動設(shè)備的通信等個性化體驗的人機交互式功能,都需要通過軟件來實現(xiàn)。機頂盒系統(tǒng)主要圍繞Android 4.0內(nèi)核構(gòu)建整個軟件平臺,如圖4所示。
機頂盒軟件系統(tǒng)平臺采用分層式結(jié)構(gòu)[9],主要架構(gòu)有:
底層的啟動引導(dǎo)層。引導(dǎo)初始化進程,加載機頂盒所需資源,啟動操作系統(tǒng)。
硬件驅(qū)動層。設(shè)備應(yīng)用層的運行要通過調(diào)用硬件驅(qū)動層提供的API接口來管理各個模塊,并提供上層應(yīng)用的編程接口,以使操作更便捷直觀。驅(qū)動主要包括:FLASH驅(qū)動、SDRAM驅(qū)動,音視頻驅(qū)動、智能卡驅(qū)動等。
操作系統(tǒng)層為Android內(nèi)核。主要進行內(nèi)存分配,進程的調(diào)度與通信,中斷管理以及數(shù)據(jù)處理等工作。可以根據(jù)需求進行增減和優(yōu)化。GUI系統(tǒng)層,即圖形用戶界面管理層。該層提供了應(yīng)用所需接口以及信號解析模塊、各類數(shù)據(jù)庫、圖形庫等。
頂層為應(yīng)用系統(tǒng)層。主要為用戶提供個性化的軟件應(yīng)用,方便用戶實現(xiàn)各種交互體驗。如在網(wǎng)絡(luò)交互中常用的郵件系統(tǒng)、互動游戲、網(wǎng)頁瀏覽、視頻會話等。
機頂盒軟件系統(tǒng)的開發(fā)工作主要是驅(qū)動模塊的設(shè)計與實現(xiàn),驅(qū)動模塊大體可分為以下幾類:
(1) 外圍設(shè)備驅(qū)動:智能卡驅(qū)動及CA工作協(xié)議、I2C總線驅(qū)動、紅外接收驅(qū)動等。
(2) 存儲設(shè)備驅(qū)動:主要為SDRAM、FLASH的驅(qū)動。
(3) 解碼及解復(fù)用驅(qū)動:音視頻的解碼主要由硬件來完成,這里解復(fù)用還包括解擾等工作。接下來著重介紹紅外接收驅(qū)動的設(shè)計。
機頂盒系統(tǒng)的IR(Infrared Radiation,紅外線)模塊[10],通過接收用戶控制端發(fā)出的紅外指令實現(xiàn)對機頂盒的控制。當IR模塊接收到移動控制端發(fā)出的紅外信號后,首先對其進行解碼,將提取出的遙控碼通過驅(qū)動程序接口傳輸至操作系統(tǒng)層進行辨識,再啟動監(jiān)聽事件處理機制,調(diào)用相應(yīng)的應(yīng)用程序?qū)刂贫说闹噶钸M行響應(yīng)。紅外接收模塊的驅(qū)動框架如圖5所示。
為了簡化驅(qū)動程序的設(shè)計,方便管理調(diào)用,也為方便未來的程序升級和擴展,采用基于內(nèi)核對象的輸入子系統(tǒng)來構(gòu)建框架,只提供接口函數(shù),以保持子系統(tǒng)的獨立性。
在開發(fā)中,只需向系統(tǒng)報告輸入事件的方法,Android的輸入子系統(tǒng)在內(nèi)核中實現(xiàn),包括核心層、事件處理層。這樣只需通過調(diào)用內(nèi)核提供的接口函數(shù),即可完成驅(qū)動程序的設(shè)計。
設(shè)備驅(qū)動層主要實現(xiàn)向內(nèi)核注冊輸入設(shè)備以實現(xiàn)輸入設(shè)備模型,并提供將IR模塊接收到的數(shù)據(jù)上報給核心層的方法。
4 移動設(shè)備控制端設(shè)計
隨著智能移動設(shè)備的發(fā)展以及安卓系統(tǒng)的推廣,安卓與電視的進一步結(jié)合勢在必行,因而,為用戶提供一個移動的操作客戶端就顯得尤為必要。因此開發(fā)了一個基于智能手機等移動設(shè)備的機頂盒控制軟件,以便于更進一步的人機交互的實現(xiàn)。移動設(shè)備控制端實現(xiàn)的功能主要是:普通紅外遙控器功能;游戲手柄功能。
移動控制端應(yīng)用軟件是基于Android操作系統(tǒng)的設(shè)備,采用模型?控制器?視圖(Model?View?Controller,MVC)[11]的架構(gòu)進行設(shè)計,如圖6所示。這種設(shè)計模式的好處是有助于設(shè)計和理解應(yīng)用,而且功能限定的專有類有利于代碼的復(fù)用,便于未來的軟件升級和擴展。視圖層(View)設(shè)計遙控器視圖的布局,并在控制層(Controller)給各功能按鍵(Button)設(shè)置監(jiān)聽。模型層(Model)的CodeList類中包含各按鍵對應(yīng)的遙控碼,當控制層監(jiān)聽到用戶點擊按鍵的行為(Action),點擊事件的方法便會被執(zhí)行,從CodeList中調(diào)用對應(yīng)按鍵的遙控碼發(fā)送至操作系統(tǒng),驅(qū)動紅外發(fā)射端向機頂盒發(fā)射紅外信號。紅外發(fā)射信號采用脈寬調(diào)制的串行碼。
5 比較與分析
數(shù)字電視機頂盒的軟硬件技術(shù)在中國已比較成熟,但由于技術(shù)標準,特別是軟件技術(shù)標準的空白,使得電視機頂盒的發(fā)展相對混亂?,F(xiàn)今傳統(tǒng)的高清電視機頂盒仍采用的是集成式開發(fā),轉(zhuǎn)碼能力及轉(zhuǎn)碼速度十分有限,只能播放一些常見的影音格式。操作系統(tǒng)只能搭載Linux系統(tǒng),且應(yīng)用相對匱乏,人機交互能力較單一,可擴展性也不足。
基于STIH416處理芯片的高清數(shù)字機頂盒獨有Faroudja轉(zhuǎn)碼技術(shù),其隔行轉(zhuǎn)逐行和后處理技術(shù),可將影像畫質(zhì)提高到極高的水平。同時集成了Comcast參考設(shè)計工具,為多屏視覺體驗的開發(fā)奠定了良好的基礎(chǔ)。而且其搭載有Android實時操作系統(tǒng),由于其開放式的特點,海量的應(yīng)用和成熟的平臺都保障了機頂盒系統(tǒng)功能的豐富性和良好的可擴展性。
另外,整個機頂盒軟件系統(tǒng)采用分層式結(jié)構(gòu)設(shè)計,具有分散關(guān)注、松散耦合、邏輯復(fù)用、標準定義的優(yōu)點,使整個系統(tǒng)開發(fā)、維護與拓展的過程變得更加明晰。在未來,隨著Android系統(tǒng)在三網(wǎng)融合時代的發(fā)展中扮演的愈加重要的角色,采用Android操作系統(tǒng)的機頂盒和基于Android的移動控制端都必將在三網(wǎng)融合的大潮中得到更廣泛的應(yīng)用。
為驗證智能機頂盒相對傳統(tǒng)機頂盒的優(yōu)勢,搭建測試環(huán)境進行測試驗證。機頂盒通過串口連接電腦,傳輸不同形式的多媒體資源進行解碼處理,通過應(yīng)用檢測并顯示各自處理的進度,并測試各自的待機功率。兩種機頂盒的性能比較如表1所示。
6 結(jié) 語
本設(shè)計的嵌入式智能數(shù)字機頂盒系統(tǒng)在傳統(tǒng)數(shù)字機頂盒調(diào)諧解調(diào)、信道解碼、音視頻解碼輸出的功能之上,搭建了安卓實時操作系統(tǒng)平臺,并提供了整套的人機交互式的軟件系統(tǒng),便于實現(xiàn)諸如郵件查收、在線游戲、瀏覽網(wǎng)頁、視頻會話等功能,而且其系統(tǒng)的可裁減性、擴展性以及海量應(yīng)用,為以后的開發(fā)升級提供了極佳的平臺。另外,機頂盒核心芯片STIH416高性能的多媒體處理能力,超低功耗和所集成的無縫且不間斷傳輸數(shù)據(jù)流的專用處理器,都保證了視頻輸出的流暢性和及其出色的畫質(zhì)。該機頂盒系統(tǒng)還可對WiFi模塊進行拓展開發(fā),以實現(xiàn)更豐富的網(wǎng)絡(luò)交互功能。系統(tǒng)方案對機頂盒在三網(wǎng)融合和家居智能化應(yīng)用中都具有十分重要的參考價值。
參考文獻
[1] 張展林.智能家居發(fā)展現(xiàn)狀解析[J].智能建筑,2013(11):77?80.
[2] 陳曉輝.基于機頂盒實現(xiàn)的智能家居控制[J].中國有線電視,2015(8):952?955.
[3] 王明亮.基于Android的機頂盒關(guān)鍵技術(shù)研究[D].武漢:華中科技大學,2013.
[4] 莫太平,胡俊波,趙佩斯.基于Android的智能家居系統(tǒng)的設(shè)計與實現(xiàn)[J].自動化與儀表,2015,30(1):33?36.
[5] 郭利文,鄧小星.新一代交互式嵌入式機頂盒系統(tǒng)設(shè)計[J].數(shù)字技術(shù)與應(yīng)用,2013(7):150.
[6] 詹克團.數(shù)字電視條件接收(CA)的技術(shù)發(fā)展趨勢[J].電視技術(shù),2013,37(2):25?27.
[7] 王唯賢.數(shù)字電視機頂盒的以太網(wǎng)接入設(shè)計與實現(xiàn)[J].計算機測量與控制,2014(7):2250?2252.
[8] 張望遠.基于STi7162的高清機頂盒設(shè)計[J].電視技術(shù),2014,38(21):39?43.
[9] 羅韜.基于嵌入式系統(tǒng)的數(shù)字電視機頂盒的設(shè)計與實現(xiàn)[D].南京:南京航空航天大學,2005.
[10] 劉會計.基于嵌入式Linux的IPTV機頂盒設(shè)計[D].天津:天津大學,2008.
[11] 許強,楊帆,華中,等.面向Android機頂盒的觸摸屏紅外遙控器的設(shè)計[J].電視技術(shù),2014,38(1):82?85.
[12] LAKSANA B D, BALLANGAN C G. A light?weight MVC (model?view?controller) framework for smart device application [J/OL]. [ 2015?10?17]. http://www.researchgate.net.