



摘 要: 針對高清數字機頂盒面向家居智能化的發展趨勢,設計了基于STIH416芯片與Android操作系統的智能數字機頂盒系統。嵌入式智能數字機頂盒相比傳統機頂盒,其在解碼能力、功耗、數據流處理以及平臺拓展性方面都具有獨特的優勢。該文就機頂盒系統總體結構進行了介紹,硬件平臺方面,對網絡接入模塊、條件接收系統以及紅外接收模塊進行了重點設計;軟件方面,以Android操作系統為核心,采用松散耦合便于擴展的分層式設計。最后介紹基于移動平臺的機頂盒控制端的軟件設計。
關鍵詞: 嵌入式系統; Android; 智能數字機頂盒; 軟件設計
中圖分類號: 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 引 言
隨著多網融合時代的到來,以及家居智能化趨勢的不斷推進,顯示能力卓越的數字電視取代模擬電視已成必然,因而也對連接高清電視信號與數字電視的機頂盒提出了新的要求。伴隨智能家電的日益增長,人機交互需求的日趨頻繁,以及大數據信息時代海量的網絡數據和不斷豐富的多媒體形式,傳統的數字機頂盒的數據處理效率不高,解碼能力有限以及功耗較高等問題不斷凸顯出來,家電由被動的演示漸漸走向可方便地進行人性化定制及拓展的道路[1?4]。因而,傳統數字機頂盒已無法滿足人們對高畫質視訊、海量網絡信息以及數字化娛樂的需求?;谇度胧叫酒椭悄懿僮飨到y模式的機頂盒,不僅功耗更低、解碼及多媒體數據處理的性能更優越,軟件系統也便于升級、定制和后續開發擴展,同時具有更友善的人機交互界面和更加開放和豐富的系統應用,而且通過連接互聯網真正實現了有線電視的網絡化,開拓了電視網和互聯網融合的巨大市場,因而得到了日益廣泛的應用。
1 系統總體結構
基于硬件的平臺化和專用性的考慮,目前的機頂盒系統多采用專用芯片。本系統選用意法半導體(STMicroelectronics,ST)[5]推出的機頂盒芯片STIH416作為核心處理器。硬件方面,其搭載ARM Cortex?A9 MPCore雙核應用處理器和ARM Mali?400MP四核繪圖處理器,并集成了多標準視頻解碼引擎和支持高清和3D TV標準的高性能視頻編碼器,擁有極其出色的運算性能和高畫質的處理性能,其實時轉碼功能可將高清內容通過WiFi網絡傳輸至智能手機、平板電腦、大屏幕電視并播放,實現了真正的多屏融合體驗。系統層面,STIH416單芯片能夠運行Android 4.0操作系統,不僅秉承嵌入式系統低功耗高性能以及方便移植和裁剪的優點,且具有更好的擴展性能、優秀的開發工具和海量的應用,必將能成為數字電視時代的先導力量。系統硬件結構圖如圖1所示。
系統主要基于核心芯片STIH416、外圍設備及模塊其主要包括調諧器、解調器、SDRAM、FLASH、智能卡模塊、紅外接收模塊以及網絡接入模塊等。首先,同軸電纜將經編碼調制并實現多路復用后的電視音視頻信號及相關信息傳輸入戶,由調諧器將高頻的電視信號轉換為中頻信號,再經由解調器對中頻信號進行A/D轉換、QAM解調等處理,從數據中分離出音視頻及相關數據的傳輸流,最后送至STIH416處理芯片中進行解碼、解復用及解擾等處理,輸出可供電視高質量呈現的電視信號。
主要接口包括智能卡、串口、網絡接口、USB接口、紅外接收模塊。智能卡可以提供數字電視加擾保密節目信息所需的密鑰,以使機頂盒系統提取傳輸流中的解擾、解密信息。串口主要用于程序升級,USB接口可連接U盤、移動硬盤等外接存儲設備,實現電視節目的存儲或供機頂盒讀取外來文件。網絡接口提供Internet的接入,完成機頂盒的網上瀏覽、電子郵件等網絡功能。紅外接收模塊經設計可以與移動控制端進行連接,接收移動設備發出的指令,實現對機頂盒的控制。
2 系統硬件設計
機頂盒系統硬件技術含量較高,主要包括解調及信道解碼技術、解復用及信源解碼技術、加解擾技術、條件接收以及大規模集成芯片技術等。
有線電視信號傳入機頂盒硬件系統后,前端的調諧器VA1T1ED6060和解調器STV0370將完成解調及信道解碼部分,處理后的傳輸流直接傳送至主芯片STIH416中。由于STIH416集成有ARM Cortex?A9 MPCore雙核應用處理器、ARM Mali?400MP圖形處理器、專用傳輸流處理器以及自適應視頻流轉碼器,因而解復用和信源解碼等功能的實現都可以在主芯片中進行。最后提取出來的音視頻信號,通過接口傳輸至顯示設備。
要實現機頂盒更加豐富的交互式功能,機頂盒系統與Internet的結合便是必須的。因此,在機頂盒系統中對網絡接入模塊進行了重點設計。另外,付費電視與交互業務平臺的條件接收系統CAS(Conditional Access System)[6]作為電視節目業務平臺的核心部分,在本節也做了重點介紹。
2.1 網絡接入模塊
多媒體網絡信號通過自適應網絡轉換器后,與以太網控制芯片DM9000A連接[7],再與STIH416進行數據交換,系統所需的物流地址等信息在E2PROM中存放,最終主芯片將解碼后的多媒體信號呈現到顯示設備中。
基于DM9000A的網絡接入硬件電路如圖2所示。以太網網線通過接口RJ45接入,多媒體網絡信號經作為自適應以太網交換器的PH163539后,通過雙統線TX乘RX傳輸到16位模式的DM9000A芯片中。為了提高差分阻抗匹配精度,兩路信號分別使用了兩個49.9 Ω 的精密電阻進行差分設計。DM9000A的CMD信號線是根據高低電平來確定訪問DM9000A的數據端口還是地址端口,并實現控制寄存器和狀態寄存器的讀寫。INT為中斷請求端口,中斷信號會在DM9000A完成一個數據包的接收或發送后起作用。PWRST是復位信號端,低電平有效,持續時間需≥20 ms。IOR#和IOW#端口分別表示控制信號線的讀與寫的操作。網絡數據通過SD0~SD15引腳與嵌入式芯片進行交換。模塊中配置有E2PROM芯片93C46,以存取網絡信號交換時必要的信息。
2.2 智能卡條件接收系統
條件接收系統就是通過對保密收費節目等進行加擾,以實現版權保護和通信安全,保證僅有被授權的用戶才可以觀看。其核心部分是加解密算法,主要功能就是對保密的節目傳輸流進行解擾解密。條件接收的主要原理是:機頂盒系統CPU對解復用后的傳輸流進行判斷,若節目未加擾,則不進行處理直接送至解碼模塊;若節目加擾,則系統與智能卡芯片進行通信以獲取密鑰,然后對節目進行實時解擾。
智能卡接口原理圖如圖3所示,接口電路本身是一個UART(Universal Asynchronous Receiver/Transmitter,異步收發傳輸器)[8]接口,通過耦合芯片TDA8004T與智能卡相連,并為智能卡提供電源和時鐘信號。數據傳輸方面提供3條I/O線,通過耦合芯片轉接到智能卡上,在異步半雙工的模式下工作,通信接口采用ISO7816接口協議。該智能卡接口主要實現物理層和數據鏈路層,由操作系統提供的軟件部分實現條件接收的應用層,如圖3所示。
軟件技術是電視機頂盒最關鍵的一環,也是運營商展示各自特點及競爭力、吸引用戶投入精力最多的部分。音視頻解碼的基本功能主要由硬件實現,而內容的點播重現、可視化的UI設計、Internet網絡接入、機頂盒與PC或移動設備的通信等個性化體驗的人機交互式功能,都需要通過軟件來實現。機頂盒系統主要圍繞Android 4.0內核構建整個軟件平臺,如圖4所示。
機頂盒軟件系統平臺采用分層式結構[9],主要架構有:
底層的啟動引導層。引導初始化進程,加載機頂盒所需資源,啟動操作系統。
硬件驅動層。設備應用層的運行要通過調用硬件驅動層提供的API接口來管理各個模塊,并提供上層應用的編程接口,以使操作更便捷直觀。驅動主要包括:FLASH驅動、SDRAM驅動,音視頻驅動、智能卡驅動等。
操作系統層為Android內核。主要進行內存分配,進程的調度與通信,中斷管理以及數據處理等工作??梢愿鶕枨筮M行增減和優化。GUI系統層,即圖形用戶界面管理層。該層提供了應用所需接口以及信號解析模塊、各類數據庫、圖形庫等。
頂層為應用系統層。主要為用戶提供個性化的軟件應用,方便用戶實現各種交互體驗。如在網絡交互中常用的郵件系統、互動游戲、網頁瀏覽、視頻會話等。
機頂盒軟件系統的開發工作主要是驅動模塊的設計與實現,驅動模塊大體可分為以下幾類:
(1) 外圍設備驅動:智能卡驅動及CA工作協議、I2C總線驅動、紅外接收驅動等。
(2) 存儲設備驅動:主要為SDRAM、FLASH的驅動。
(3) 解碼及解復用驅動:音視頻的解碼主要由硬件來完成,這里解復用還包括解擾等工作。接下來著重介紹紅外接收驅動的設計。
機頂盒系統的IR(Infrared Radiation,紅外線)模塊[10],通過接收用戶控制端發出的紅外指令實現對機頂盒的控制。當IR模塊接收到移動控制端發出的紅外信號后,首先對其進行解碼,將提取出的遙控碼通過驅動程序接口傳輸至操作系統層進行辨識,再啟動監聽事件處理機制,調用相應的應用程序對控制端的指令進行響應。紅外接收模塊的驅動框架如圖5所示。
為了簡化驅動程序的設計,方便管理調用,也為方便未來的程序升級和擴展,采用基于內核對象的輸入子系統來構建框架,只提供接口函數,以保持子系統的獨立性。
在開發中,只需向系統報告輸入事件的方法,Android的輸入子系統在內核中實現,包括核心層、事件處理層。這樣只需通過調用內核提供的接口函數,即可完成驅動程序的設計。
設備驅動層主要實現向內核注冊輸入設備以實現輸入設備模型,并提供將IR模塊接收到的數據上報給核心層的方法。
4 移動設備控制端設計
隨著智能移動設備的發展以及安卓系統的推廣,安卓與電視的進一步結合勢在必行,因而,為用戶提供一個移動的操作客戶端就顯得尤為必要。因此開發了一個基于智能手機等移動設備的機頂盒控制軟件,以便于更進一步的人機交互的實現。移動設備控制端實現的功能主要是:普通紅外遙控器功能;游戲手柄功能。
移動控制端應用軟件是基于Android操作系統的設備,采用模型?控制器?視圖(Model?View?Controller,MVC)[11]的架構進行設計,如圖6所示。這種設計模式的好處是有助于設計和理解應用,而且功能限定的專有類有利于代碼的復用,便于未來的軟件升級和擴展。視圖層(View)設計遙控器視圖的布局,并在控制層(Controller)給各功能按鍵(Button)設置監聽。模型層(Model)的CodeList類中包含各按鍵對應的遙控碼,當控制層監聽到用戶點擊按鍵的行為(Action),點擊事件的方法便會被執行,從CodeList中調用對應按鍵的遙控碼發送至操作系統,驅動紅外發射端向機頂盒發射紅外信號。紅外發射信號采用脈寬調制的串行碼。
5 比較與分析
數字電視機頂盒的軟硬件技術在中國已比較成熟,但由于技術標準,特別是軟件技術標準的空白,使得電視機頂盒的發展相對混亂。現今傳統的高清電視機頂盒仍采用的是集成式開發,轉碼能力及轉碼速度十分有限,只能播放一些常見的影音格式。操作系統只能搭載Linux系統,且應用相對匱乏,人機交互能力較單一,可擴展性也不足。
基于STIH416處理芯片的高清數字機頂盒獨有Faroudja轉碼技術,其隔行轉逐行和后處理技術,可將影像畫質提高到極高的水平。同時集成了Comcast參考設計工具,為多屏視覺體驗的開發奠定了良好的基礎。而且其搭載有Android實時操作系統,由于其開放式的特點,海量的應用和成熟的平臺都保障了機頂盒系統功能的豐富性和良好的可擴展性。
另外,整個機頂盒軟件系統采用分層式結構設計,具有分散關注、松散耦合、邏輯復用、標準定義的優點,使整個系統開發、維護與拓展的過程變得更加明晰。在未來,隨著Android系統在三網融合時代的發展中扮演的愈加重要的角色,采用Android操作系統的機頂盒和基于Android的移動控制端都必將在三網融合的大潮中得到更廣泛的應用。
為驗證智能機頂盒相對傳統機頂盒的優勢,搭建測試環境進行測試驗證。機頂盒通過串口連接電腦,傳輸不同形式的多媒體資源進行解碼處理,通過應用檢測并顯示各自處理的進度,并測試各自的待機功率。兩種機頂盒的性能比較如表1所示。
6 結 語
本設計的嵌入式智能數字機頂盒系統在傳統數字機頂盒調諧解調、信道解碼、音視頻解碼輸出的功能之上,搭建了安卓實時操作系統平臺,并提供了整套的人機交互式的軟件系統,便于實現諸如郵件查收、在線游戲、瀏覽網頁、視頻會話等功能,而且其系統的可裁減性、擴展性以及海量應用,為以后的開發升級提供了極佳的平臺。另外,機頂盒核心芯片STIH416高性能的多媒體處理能力,超低功耗和所集成的無縫且不間斷傳輸數據流的專用處理器,都保證了視頻輸出的流暢性和及其出色的畫質。該機頂盒系統還可對WiFi模塊進行拓展開發,以實現更豐富的網絡交互功能。系統方案對機頂盒在三網融合和家居智能化應用中都具有十分重要的參考價值。
參考文獻
[1] 張展林.智能家居發展現狀解析[J].智能建筑,2013(11):77?80.
[2] 陳曉輝.基于機頂盒實現的智能家居控制[J].中國有線電視,2015(8):952?955.
[3] 王明亮.基于Android的機頂盒關鍵技術研究[D].武漢:華中科技大學,2013.
[4] 莫太平,胡俊波,趙佩斯.基于Android的智能家居系統的設計與實現[J].自動化與儀表,2015,30(1):33?36.
[5] 郭利文,鄧小星.新一代交互式嵌入式機頂盒系統設計[J].數字技術與應用,2013(7):150.
[6] 詹克團.數字電視條件接收(CA)的技術發展趨勢[J].電視技術,2013,37(2):25?27.
[7] 王唯賢.數字電視機頂盒的以太網接入設計與實現[J].計算機測量與控制,2014(7):2250?2252.
[8] 張望遠.基于STi7162的高清機頂盒設計[J].電視技術,2014,38(21):39?43.
[9] 羅韜.基于嵌入式系統的數字電視機頂盒的設計與實現[D].南京:南京航空航天大學,2005.
[10] 劉會計.基于嵌入式Linux的IPTV機頂盒設計[D].天津:天津大學,2008.
[11] 許強,楊帆,華中,等.面向Android機頂盒的觸摸屏紅外遙控器的設計[J].電視技術,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.