一種結(jié)合ARM-Linux的新型高清數(shù)字機頂盒軟件系統(tǒng)設(shè)計
出處:龔士強,熊慶宇 發(fā)布于:2011-07-20 13:17:13
摘要:由于嵌入式系統(tǒng)有著體積小、功能集中、可靠性高等優(yōu)點,已被廣泛地應(yīng)用到日常生活的各個方面,如移動通信、工業(yè)控制、醫(yī)療器械,家用電器等。如何縮短嵌入式系統(tǒng)的開發(fā)周期,降低開發(fā)成本,以及提高產(chǎn)品的可靠性已成為嵌入式行業(yè)普遍關(guān)注的問題。本文介紹了一種在嵌入式Linux系統(tǒng)下數(shù)字高清晰度電視機頂盒系統(tǒng)軟件的研究與開發(fā)。這款軟件配合機頂盒硬件平臺構(gòu)成了一個整機系統(tǒng),在完成整個軟件系統(tǒng)構(gòu)架的基礎(chǔ)上另外還探討了其設(shè)計方法的合理性和可靠性等一系列的問題。這個軟件系統(tǒng)除了具有解調(diào)、解碼功能外,還具有能向用戶提供一系列選單式圖形菜單界面的交互操作等功能。
數(shù)字電視尤其是數(shù)字高清晰度電視的誕生可以說是電視界的一場深刻變革。電視系統(tǒng)已經(jīng)進入數(shù)字化的進程,數(shù)字機頂盒(一種將數(shù)字電視信號轉(zhuǎn)換成模擬信號的變換設(shè)備,它對經(jīng)過數(shù)字化壓縮的圖像和聲音信號進行解碼還原,產(chǎn)生模擬的視頻和聲音信號,通過電視顯示器和音響設(shè)備給觀眾提供高質(zhì)量的電視節(jié)目)是該系統(tǒng)的關(guān)鍵部件,特別是其軟件系統(tǒng)的設(shè)計和開發(fā)。但無論是模擬彩電還是數(shù)字處理電視,都不具備對全數(shù)字電視信號進行解碼的功能,所以一種能夠接收數(shù)字電視信號并能夠解碼輸出用于顯示的中間設(shè)備--機頂盒,就顯得很有必要了。
數(shù)字機頂盒不僅是用戶終端,還是網(wǎng)絡(luò)終端,它能使模擬電視機從被動接收模擬電視轉(zhuǎn)向交互式數(shù)字電視(如視頻點播等),并能接入因特網(wǎng),使用戶享受電視、數(shù)據(jù)、語言等全方位的信 息服務(wù)。目前,有些人認為機頂盒就是用來使電視機上網(wǎng),這是一種認識上的誤區(qū)。實際上,數(shù)字機頂盒是在走普及數(shù)字電視機之前寬帶綜合信息網(wǎng)的組成成員這一。隨著數(shù)字技術(shù)、多媒體技 術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,將促使數(shù)字機頂盒內(nèi)置和整個成本下降,讓大多數(shù)用戶在普通模擬電視機上實現(xiàn)既能娛樂,又能上網(wǎng)等多種服務(wù)。
目前國內(nèi)機頂盒以有線標(biāo)清為主,歐洲以衛(wèi)星和地面的機頂盒為主,美國以高清地面機頂盒產(chǎn)品為主。隨著技術(shù)的發(fā)展,機頂盒已不只單純接收數(shù)字電視節(jié)目,還要接收大量的數(shù)據(jù),而且用戶和電視機之間還要實現(xiàn)互動。目前國內(nèi)還沒有一種成熟的交互式應(yīng)用,所謂的交互式應(yīng)用基本上都還停留在本地交互的基礎(chǔ)上。本文研究的機頂盒可以支持諸如電子節(jié)目指南、按次付費觀看、立即按次付費觀看、準視頻點播、數(shù)據(jù)廣播、Internet接入、電子郵件、視頻點播以及IP電話、可視電話等的應(yīng)用。因此要求電視接收機具有很好的信息處理能力和網(wǎng)絡(luò)通信能力。
1 機頂盒軟件系統(tǒng)
數(shù)字機頂盒由硬件平臺和軟件系統(tǒng)構(gòu)成,音視頻解碼主要由硬件實現(xiàn),而操作界面的功能、電視圖像的重現(xiàn)、數(shù)據(jù)廣播業(yè)務(wù)的平臺以及Internet的接入等都需要軟件系統(tǒng)實現(xiàn)。
數(shù)字機頂盒的軟件系統(tǒng)主要由嵌入式操作系統(tǒng)(EOS,以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng))、硬件抽象層(HAL)、軟件抽象層(SAL)以及應(yīng)用程序(ASL)組成。其中HAL的作用是將操作系統(tǒng)的其余部分表示為抽象的硬件設(shè)備,特別是去除了真正硬件所富含的瑕疵和特質(zhì)。這些設(shè)備表現(xiàn)為操作系統(tǒng)的其它部分和設(shè)備可以使用的獨立于機器的服務(wù)的形式(函數(shù)調(diào)用和宏)。通過使用HAL服務(wù)和間接硬件尋址,當(dāng)移植到新的硬件上時,驅(qū)動程序和只需做很少的改動。移植HAL本市是直接的,因為所有的機器相關(guān)代碼都集中在一個地方,并且移植的目標(biāo)是充分定義的,即實現(xiàn)所有的HAL服務(wù)。本文主要研究基于ARM(HHARMS3C6410)平臺、Linux(v2.6.21)操作系統(tǒng)、THOMSON公司的數(shù)字高清解碼芯片的HDTV機頂盒系統(tǒng)的軟件設(shè)計,功能包括通過Demux模塊接收流數(shù)據(jù)、解析PSI信息、對音視頻流進行解碼及播放、接收用戶遙控器輸入,并具有簡單的用戶界面。研究的目標(biāo)是開發(fā)出適用于所選的硬件平臺特點、具有基本的機頂盒產(chǎn)品功能的軟件系統(tǒng)。
開發(fā)內(nèi)容有以下幾個方面:
(1)機頂盒底層驅(qū)動程序。包括前端、USB、Enthernet、Flash的驅(qū)動及遙控信號接收的軟件等。
?。?)機頂盒節(jié)目管理模塊。包括整機狀態(tài)信息和用戶設(shè)置信息的存取和管理,業(yè)務(wù)數(shù)據(jù)的存取、更新和管理,節(jié)目數(shù)據(jù)的獲取、分析。
?。?)機頂盒應(yīng)用程序。包括機頂盒用戶界面、選單的設(shè)計與顯示、圖形用戶界面/選單/用戶交互操作的應(yīng)用和管理等。
軟件系統(tǒng)整體結(jié)構(gòu)如圖1所示。

2 節(jié)目管理模塊的開發(fā)
節(jié)目操作管理模塊是用戶應(yīng)用程序的重要組成部分,該軟件模塊主要實現(xiàn)確定節(jié)目操作管理模塊與系統(tǒng)其他模塊的關(guān)系(包括相互之間的通信協(xié)議)、建立節(jié)目數(shù)據(jù)庫、本模塊內(nèi)部軟件結(jié)構(gòu)的設(shè)計。
有關(guān)節(jié)目的各種操作是數(shù)字電視機頂盒軟件功能中非常重要的一部分,用戶所有有關(guān)頻道、節(jié)目的實質(zhì)性操作功能都在這部份實現(xiàn)。在本文的總體設(shè)計方案中,節(jié)目的操作功能主要包括節(jié)目搜索(自動和手動)、節(jié)目選擇、節(jié)目信息的提取和保存、節(jié)目數(shù)據(jù)庫操作等。
在本機頂盒有關(guān)節(jié)目操作的各種功能中,絕大部分都與節(jié)目數(shù)據(jù)庫有關(guān)。如自動節(jié)目搜索時,需要建立節(jié)目數(shù)據(jù)庫,并為搜索到的節(jié)目建立相應(yīng)的數(shù)據(jù)單元,用于存儲節(jié)目的各種信息;在刪除節(jié)目時,需要改變刪除節(jié)目在節(jié)目數(shù)據(jù)庫中的連接關(guān)系,并打上刪除標(biāo)志等。因此,節(jié)目數(shù)據(jù)庫是節(jié)目操作軟件的關(guān)鍵部分之一。
2.1 Builder模塊
該模塊主要功能是在USIF的控制下建立節(jié)目數(shù)據(jù)庫,該模塊通過MSG Mgr向USIF反饋搜索狀態(tài)以及內(nèi)容,根據(jù)用戶的需要建立頻點、頻道信息數(shù)據(jù)庫。Builder模塊結(jié)構(gòu)圖如圖2所示。

Builder主要支持3種搜索方式:
?。?)盲掃。根據(jù)預(yù)置頻點搜索節(jié)目信息,建立完整節(jié)目數(shù)據(jù)庫。
(2)網(wǎng)絡(luò)搜索。根據(jù)輸入頻點搜索NIT表,根據(jù)網(wǎng)絡(luò)信息搜索該網(wǎng)絡(luò)的所有節(jié)目信息,建立完整的網(wǎng)絡(luò)節(jié)目信息數(shù)據(jù)庫。
(3)手動搜索。根據(jù)輸入頻點搜索該頻點,建立該頻點完整的節(jié)目信息數(shù)據(jù)庫。
2.2 PSI模塊
PSI模塊需要Demux模塊提供Section數(shù)據(jù)的搜索功能,其建立在Demux驅(qū)動之上,為EPG、Builder等模塊提供完整表及條件捕獲接口。PSI模塊結(jié)構(gòu)圖如圖3所示。

PSI模塊提供2種得到表方式:
GetTable:通過該功能接口,直接得到表數(shù)據(jù)返回,如果超時沒有得到表數(shù)據(jù),返回超時。
Capture:通過該功能接口,先提出表申請,通過異步通信方式獲得表結(jié)構(gòu)并通知應(yīng)用模塊。
在捕獲方式中都有3種模式:
(1)Update Mode:在得到版本更新時通知應(yīng)用模塊。
?。?)Complete Mode:當(dāng)?shù)玫酵暾斫Y(jié)構(gòu)時通知應(yīng)用模塊。
(3)Section Mode:當(dāng)接收到Section數(shù)據(jù)時候就立即通知應(yīng)用模塊。
2.3 DBaseMgr模塊
該模塊是一個數(shù)據(jù)庫管理系統(tǒng),主要功能是實現(xiàn)對頻道、頻點、系統(tǒng)信息、EPG等信息的存儲與管理,以及對節(jié)目頻點的添加、刪除、排序、查找、編輯等。該模塊主要與Builder、EPG、USIF、Player 4個模塊交互,并通過與Flash交互進行物理操作。為了保證數(shù)據(jù)元素操作的效率,避免產(chǎn)生大量的內(nèi)存碎片,也為了元素操作方便,該設(shè)計以靜動結(jié)合的思路采用靜態(tài)雙向鏈表的數(shù)據(jù)結(jié)構(gòu)。在多個進程或線程同時對同一個數(shù)據(jù)庫進行操作時,要考慮同步互斥機制了。在對數(shù)據(jù)庫進行任何操作之前先對數(shù)據(jù)庫加鎖,當(dāng)數(shù)據(jù)庫操作完成之后,再解鎖,這樣就保證了數(shù)據(jù)庫操作的一致性。數(shù)據(jù)庫模塊結(jié)構(gòu)如圖4所示。

數(shù)據(jù)庫管理系統(tǒng)功能特點主要有以下幾點:
?。?)功能完備。該模塊需要提供完備的功能接口,包括數(shù)據(jù)庫的創(chuàng)建、管理以及刪除等基本操作。另還需要滿足多視窗操作。
?。?)多用戶操作。本系統(tǒng)采用的是嵌入式Linux系統(tǒng),它是一個多用戶分時系統(tǒng),所以該數(shù)據(jù)庫需要保證同時滿足多用戶操作需要,保證系統(tǒng)的安全。
?。?)數(shù)據(jù)完整。本系統(tǒng)屬于嵌入式系統(tǒng),該模塊必須保證掉電后數(shù)據(jù)庫數(shù)據(jù)的完整性。
從前幾節(jié)的內(nèi)容可以看出,有關(guān)節(jié)目的操作與PSI表的處理有著十分密切的關(guān)系。這是因為PSI表的分析管理直接影響到節(jié)目數(shù)據(jù)庫的內(nèi)容,而節(jié)目的各種操作又都是與數(shù)據(jù)庫緊密相連的。節(jié)目操作管理部分的軟件設(shè)計主要可分成3大部分:PSI表處理模塊、節(jié)目數(shù)據(jù)庫模塊和節(jié)目操作模塊。其中PSI處理模塊主要完成PSI表的各種操作,如表的獲取、分析及管理等;節(jié)目數(shù)據(jù)庫模塊主要完成關(guān)于數(shù)據(jù)庫的操作,如數(shù)據(jù)庫的初始化、建立、內(nèi)容的讀寫及更新等;節(jié)目操作模塊則實現(xiàn)有關(guān)節(jié)目的操作,如節(jié)目的搜索、刪除、恢復(fù)、選擇等。這3部分有機結(jié)合起來就形成了節(jié)目操作的整體軟件模塊。
3 機頂盒應(yīng)用程序的開發(fā)
機頂盒應(yīng)用程序主要實現(xiàn)用戶交互選單的顯示等功能,因此選擇MiniGUI開源軟件開發(fā)機頂盒應(yīng)用程序。
MiniGUI是由北京飛漫軟件技術(shù)有限公司創(chuàng)辦的開源Linux圖形用戶界面支持系統(tǒng),經(jīng)過近些年的發(fā)展,MiniGUI已經(jīng)發(fā)展成為比較成熟的性能優(yōu)良的、功能豐富的跨操作系統(tǒng)的嵌入式圖形界面支持系統(tǒng)?!靶 笔荕iniGUI的特色,它目前已經(jīng)廣泛應(yīng)用于通訊、醫(yī)療、工控、電子、機頂盒、多媒體等領(lǐng)域。目前,MiniGUI的版本為MiniGUI 3.0,所以MiniGUI對中文的支持。它支持GB2312與BIG5字元集,其他字元集也可以輕松加入。
MiniGUI 為嵌入式 Linux 系統(tǒng)提供了完整的圖形系統(tǒng)支持,是針對嵌入式 Linux僅有的兩個商用嵌入式GUI系統(tǒng)之一。MiniGUI為嵌入式Linux 系統(tǒng)提供了完整的多進程支持;可以 MiniGUI-Processes、MiniGUI-Threads或者MiniGUI-Standalone 三種運行模式運行。
MiniGUI作為嵌入式Linux系統(tǒng)下的一個輕量級圖形用戶界面支持系統(tǒng)已被應(yīng)用到很多實際項目中。和其它針對嵌入式產(chǎn)品的圖形系統(tǒng)相比,MiniGUI 在對系統(tǒng)的需求上具有如下幾大優(yōu)勢:
支持多種嵌入式操作系統(tǒng),具備的可移植性;
可伸縮的系統(tǒng)架構(gòu),易于擴展;
功能豐富,可靈活剪裁;
小體積高性能間的平衡;
廣泛的應(yīng)用領(lǐng)域。
MiniGUI具有良好的軟件架構(gòu),通過抽象層IAL、GAL將MiniGUI上層和底層操作系統(tǒng)隔離開來?;贛iniGUI的應(yīng)用程序一般通過支持庫、操作系統(tǒng)和驅(qū)動程序接口以及MiniGUI自身提供的API來實現(xiàn)自己的功能。
基于MiniGUI開發(fā)的UI模塊如圖5所示。UI模塊主要滿足用戶通過遙控器進行節(jié)目搜索、播放、換臺以及節(jié)目瀏覽等操作。

UI模塊的體系結(jié)構(gòu)如圖6所示。

數(shù)字電視機頂盒將改變我們現(xiàn)有的電視的概念,也將為互聯(lián)網(wǎng)提供一個嶄新的消費終端,而且這個消費終端將比其他任何終端如PC、手機、PDA都普及、方便、吸引人。本研發(fā)項目,形成了一套包括Linux操作系統(tǒng)移植、驅(qū)動程序、MiniGUI庫移植和上層應(yīng)用程序在內(nèi)的機頂盒軟件系統(tǒng)。該軟件配合機頂盒硬件平臺構(gòu)成了基本實用的整機系統(tǒng),經(jīng)實驗證明,該系統(tǒng)的設(shè)計方法具有非常好的合理性和以及穩(wěn)定性。這個項目采用的傳輸標(biāo)準是我國目前采用的DVB-C標(biāo)準,因此,在系統(tǒng)整體功能的定位上,主要考慮了DVB-C標(biāo)準的特點,在軟件功能方面也側(cè)重了對DVB-C PSI的支持。該軟件實現(xiàn)的功能主要有:一方面機頂盒利用該軟件可以實現(xiàn)基本的解調(diào)、信道解碼、音/視頻解碼輸出等功能;另一方面還能向用戶提供一系列選單式的交互操作功能,實現(xiàn)諸如節(jié)目搜索、系統(tǒng)設(shè)置的改變存儲、節(jié)目信息的查看、定時操作、電子節(jié)目指南、本地存儲節(jié)目的快進快退等一些附加功能。這些功能的實現(xiàn)基本上滿足了當(dāng)前用戶對高清數(shù)字機頂盒的要求。我國是彩電大國,數(shù)字電視機頂盒的推廣與幾年前相比雖已有長足的進步,但是數(shù)字機頂盒在國內(nèi)還沒有得到廣泛的應(yīng)用,這主要有幾個原因:,數(shù)字機頂盒的技術(shù)含量較高;第二,網(wǎng)絡(luò)雙向改造與質(zhì)量問題;第三,服務(wù)不力、缺乏的ICP;第四,資費偏高。但是該項目的研發(fā)仍然具有很好的研究價值,而且具有非常廣闊的市場前景。
參考文獻
[1] 張晟,郭小勤。數(shù)字機頂盒軟件設(shè)計[J].中國有線電視,2007(14):1367-1369.
[2] 鄭端建,郭磊,魏世民。MiniGUI圖形庫在嵌入式Linux平臺上的移植與實現(xiàn)[J].儀表技術(shù),2008(10):10-14.
[3] 林德才,李悅,魏芳。基于STB7100的高清IPTV機頂盒設(shè)計[J].電視技術(shù),2008(1):47-49.
[4] 黃欣,陳珊,俞斯樂?;赟T解決方案的HDTV機頂盒軟件的設(shè)計實現(xiàn)[J].信息終端,2002(7):63-65.
[5] 胡宏平。基于數(shù)字電視機頂盒的嵌入式Linux操作系統(tǒng)的設(shè)計[J].電視技術(shù),2005(8):52-57.
[6] YU Si Le, CHEN Shan. An improved structure of pre-determined parental viewing control data in software design for ATSC receiver[J]. IEEE Trans, on CE, 2002,48(1)。
[7] 陳珊,俞斯樂。數(shù)字電視接收機中電子節(jié)目指南功能的軟件實現(xiàn)研究[J].NSBT,北京:2000.
[8] ASL datasheet http://www.hbjingang.com/datasheet/ASL_2307789.html.
[9] STB7100 datasheet http://www.hbjingang.com/datasheet/STB7100_639719.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實踐指南2026/1/6 10:40:19
- 嵌入式實時操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計實踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04
- 高速PCB信號完整性(SI)設(shè)計核心實操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護設(shè)計
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計與干擾抑制核心實操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計要點
- 連接器結(jié)構(gòu)設(shè)計常見問題分析









