劉海波,于鴻洋,張 萍
(電子科技大學 電子工程學院,四川 成都 610054)
機頂盒分為數字衛星接收機頂盒(又稱衛星集成接收解碼器IRD)和數字有線電視機頂盒兩大類,其中數字衛星接收STB是沒有上行數據的,不具備交互式功能;而有線電視機頂盒的發展重點一方面是數字電視和VoD業務,另一方面是寬帶接入因特網業務,也就是具備因特網瀏覽功能。筆者則提出了在Linux構架下[1],基于STi7109硬件平臺[2]具有VoD功能和網絡瀏覽器功能的機頂盒。
網絡機頂盒是在傳統機頂盒功能的基礎上,加入了網絡模塊,而新一代高清機頂盒/DVD芯片STi7109是一款單芯片高精度的視頻解碼器,支持VC-1,WMA9和H.264解碼,266 MHz的ST40的CPU內核,支持嵌入式Linux,Windows CE和OS21的操作系統,硬件接口方面具有USB2.0主機控制器、DVI/HDMI輸出接口、輔助音視頻輸入接口和SATA等。機頂盒硬件體系結構如圖1所示。

圖1 機頂盒的硬件結構
網絡系統由3層組成:直接存儲總線(DMA)層、傳輸層接口(TLI)和媒體訪問控制(MAC)層[3]。DMA 層是網絡子系統的第一層,它通過應用接口實現系統內存和TLI層數據的交換,由應用程序控制DMA操作,可以訪問DMA寄存器(DMA CSR);TLI層由2個FIFO組成,一組動態閾值的傳送FIFO和一組靜態閾值的接收FIFO;與外部物理層交互的MAC接口是由以太網媒體接口(MII)實現,它處理所有用于全雙工通信模式和半雙工通信模式的網絡協議請求,MAC還包含1個寄存器(MAC CSR),用來控制MAC幀的傳送和接收。寄存器訪問如圖2所示。

圖2 寄存器訪問
Linux系統具有強大的網絡功能,Socket實際上是網絡通信端點的一種抽象,它提供了一種發送和接收數據的機制。網絡通信,歸根結底是網絡端點間的通信,網絡接口程序的實現就是借助Linux所提供的Socket庫。Socket客戶端實現流程如圖3所示。

圖3 Socket客戶端實現流程
有線數字電視系統發展的一個明顯特點就是由傳統的單向廣播式向雙向交互式發展,開展多功能交互業務作為新的收入增長點,為電視觀眾提供了增強電視、電子節目指南、付費電視、直接營銷廣告、個人電視記錄和點播節目等互動業務。
在點播業務中,機頂盒作為客戶端首先接收點播節目列表,然后通過網絡層的編程接口sendto函數實現向服務器發送點播請求,需要獲得點播返回信息才能知道本次點播是否成功,以及成功后對應服務傳輸的時間地址等信息。獲取這些信息后,才能在指定的時間和指定的地址上接收相應的服務數據和通告數據。最后初始化顯示設置和啟動瀏覽器,進入點播業務,機頂盒的點播過程如圖4所示。

圖4 VoD點播原理圖
VoD點播業務將調用以下的函數,然后進行播放與停止播放的操作:
ST_ErrorCode_t
PLAYREC_PlayInit (U32 PlayId,PLAYREC_PlayInit Params_t*PlayInitParams);
ST_ErrorCode_t
PLAYREC_PlayStart (U32PlayId,PLAYREC_PlayStartParams_t*PlayStartParams);
ST_ErrorCode_t
PLAYREC_PlayStop (U32PlayId,PLAYREC_PlayStop Params_t*PlayStopParams);
視頻點播的實驗結果如圖5所示。

圖5 VoD點播界面
網絡瀏覽器完成的主要功能有瀏覽Web網頁,下載音、視頻和圖形文件,機頂盒網絡升級等[4-5]。
本方案在參考一般瀏覽器結構的基礎上,采用開放源代碼的Tops嵌入式瀏覽器,在Konqueror-Embedded瀏覽器的基礎上,使用MiniGUI代替了QT窗口系統,優化HTML解析和圖像解析模塊,并添加了OS適配層和API層。基于硬件系統STi7109芯片所支持的軟硬件資源,結合數字電視機頂盒的實際應用特點對原有模型進行了修改,最終保留4個主要的功能模塊:網絡模塊,解析模塊,布局模塊和顯示模塊。
設計本方案時,瀏覽器最后的主要結構如圖6所示。圖7給出了該瀏覽器移植到機頂盒平臺后訪問網站的顯示結果。

圖6 瀏覽器的結構框圖

圖7 網絡瀏覽器界面
提出一種基于STi7109的網絡數字機頂盒,融合多媒體技術、數據壓縮技術、寬帶網絡技術等,簡單介紹了機頂盒新型的VoD和網絡瀏覽器功能,由于嵌入式Linux的開源性和強大的網絡功能,新型的數字網絡機頂盒必將成為引導三網融合的主流方向。
[1]HALLINAN C.Embedded Linux primer[EB/OL].[2009-12-16].http∶//blogimg.chinaunix.net/blog/upfile2/080518181757.pdf.
[2]ST.STI7109-Low-cost HDTV set-top box decoder for H.264 and Microsoft WMA9-STMicroelectronics[EB/OL].[2009-12-20].http∶//pdf1.alldatasheet.com/datasheet-pdf/view/192665/STMICROELECTRONICS/STI7109.html.
[3]STEVENS W R,FENNER B,RUDOFF A M.UNIX network programming[M].楊繼張,譯.北京:清華大學出版社,2005.
[4]庚錫昌.Tops嵌入式瀏覽器的設計與實現[D].廣州:暨南大學,2007.
[5]劉撐乾,陳曉,王勁林.一種嵌入式瀏覽器在數字機頂盒中的實現[J].電視技術,2004(5):52-54.