當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于Hi2011的DVB-C機(jī)頂盒設(shè)計(jì)與實(shí)現(xiàn)

摘要:本文介紹了數(shù)字電視機(jī)頂盒基本原理,然后設(shè)計(jì)了以Hi2011芯片為核心的DVB-C機(jī)頂盒的硬件架構(gòu),并分析了機(jī)頂盒的軟件實(shí)現(xiàn)問(wèn)題,主要包括系統(tǒng)的軟件結(jié)構(gòu)、搜臺(tái)算法的實(shí)現(xiàn)和數(shù)據(jù)庫(kù)構(gòu)建等,其中重點(diǎn)講述了以Hi2011芯片為核心的DVB-C機(jī)頂盒的軟件體系結(jié)構(gòu)和軟件的設(shè)計(jì)與實(shí)現(xiàn)。
關(guān)鍵字:Hi2011;DVB-C; 數(shù)字電視機(jī)頂盒;軟件體系結(jié)構(gòu)

1.引言

數(shù)字電視機(jī)頂盒(Set Top Box, STB)是擴(kuò)展電視機(jī)功能的一種新型家用電器,分為衛(wèi)星數(shù)字電視機(jī)頂盒(DVB-S)、地面數(shù)字電視機(jī)頂盒(DVB-T)和有線數(shù)字電視機(jī)頂盒(DVB-C)三種。目前國(guó)內(nèi)的DVB-C機(jī)頂盒普遍采用外國(guó)廠商提供的流媒體處理器和與其捆綁銷售的操作系統(tǒng)及在此系統(tǒng)上的開(kāi)發(fā)工具,國(guó)內(nèi)廠商將很難做到自主開(kāi)發(fā),必須高度依賴國(guó)外廠商的技術(shù)支持。本文采用國(guó)產(chǎn)的流媒體處理器―Hi2011和開(kāi)源的嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II進(jìn)行了DVB-C數(shù)字電視機(jī)頂盒的設(shè)計(jì)和研究。

2.硬件架構(gòu)設(shè)計(jì)

STB硬件方面的主要單元可分為接收廣播信號(hào),并將其轉(zhuǎn)換為數(shù)字傳輸串流的前端芯片,即調(diào)諧器和調(diào)變/解調(diào)變器;后端芯片包括電視解碼器/編碼器、MPEG-2 Transport、MPEG-2 MP@ML或HL解碼器、微處理器、繪圖芯片、音頻處理器、音頻DAC、視頻DAC;以及DRAM/SDRAM、Flash等存儲(chǔ)、電源元件及其他標(biāo)準(zhǔn)離散元件。有的STB高端產(chǎn)品還會(huì)整合安全芯片、調(diào)制解調(diào)器(modem)或家庭網(wǎng)絡(luò)芯片,以及可錄像的硬盤(pán)(HDD)。STB對(duì)數(shù)字電視信號(hào)的處理過(guò)程為:電視射頻信號(hào)經(jīng)Tuner(高頻頭)調(diào)諧,進(jìn)行模數(shù)轉(zhuǎn)換,輸出36MHz 的中頻數(shù)字信號(hào)送入OFDM解調(diào)模塊進(jìn)行解調(diào)之后,變成TS流后經(jīng)信道解碼得到MPEG-2 TS流,經(jīng)解復(fù)用模塊(集成解擾模塊)選出一路MPEG-2音視頻流和對(duì)應(yīng)的數(shù)據(jù)信息,經(jīng)信源解碼后得到所選節(jié)目的數(shù)字信息。然后將數(shù)字信息轉(zhuǎn)換為模擬信號(hào)輸出給模擬電視。

Hi2011處理器是北京海爾集成電路有限公司研發(fā)的一款流媒體處理器,該處理器具有的特點(diǎn)是:采用QFP160封裝;低功耗、高集成度和低成本的系統(tǒng)方案;0.18μm工藝,工作頻率可達(dá)108MHz;三個(gè)脈寬調(diào)制輸出。同時(shí),該處理器集成了完全兼容51的CPU,工作時(shí)鐘13.5MHz至27MHz,四個(gè)時(shí)鐘的指令周期,完全兼容標(biāo)準(zhǔn)的8051指令;集成了DSP,可以實(shí)現(xiàn)16位乘/累加操作的協(xié)處理器,提高8051的運(yùn)算性能。在該處理器上,還集成了MPEG解碼器、視頻播放、OSD和音頻播放等硬件模塊。

本系統(tǒng)硬件以Hi2011芯片為核心,配備一定的外圍設(shè)備和接口,構(gòu)成DVB-C數(shù)據(jù)機(jī)頂盒的硬件部分。其硬件結(jié)構(gòu)如圖1所示。

圖1 以Hi2011芯片為核心的DVB-C的主板結(jié)構(gòu)圖

3.軟件體系設(shè)計(jì)

DVB-C軟件體系采用分層結(jié)構(gòu),首先對(duì)系統(tǒng)的軟件進(jìn)行分層,然后進(jìn)行模塊化的層次劃分。

3.1 軟件層次結(jié)構(gòu)

按照機(jī)頂盒軟件系統(tǒng)中不同軟件功能和作用,將軟件系統(tǒng)按層次進(jìn)行劃分,可分為操作系統(tǒng)層、驅(qū)動(dòng)層、中間層和應(yīng)用層,如圖2所示。

圖2 軟件層次結(jié)構(gòu)圖

其中操作系統(tǒng)層主要包括操作系統(tǒng)內(nèi)核、硬件平臺(tái)抽象和操作系統(tǒng)抽象;硬件平臺(tái)抽象又叫硬件抽象層,主要是將CPU的相關(guān)操作和功能部分進(jìn)行封裝,以提供給上層調(diào)用,從而避免直接與硬件直接相關(guān)性,同時(shí)為系統(tǒng)軟件的移植、操作系統(tǒng)的更換等帶來(lái)極大的方便;操作系統(tǒng)抽象主要是將與操作系統(tǒng)直接相關(guān)的操作進(jìn)行抽象化、模塊化,以提供給應(yīng)用程序簡(jiǎn)單方便的接口,同時(shí)使軟件系統(tǒng)具有良好的可移植性。

在硬件平臺(tái)和軟件結(jié)構(gòu)基本構(gòu)建好以后,就選擇適合高效的多任務(wù)系統(tǒng)環(huán)境的嵌入式實(shí)時(shí)操作系統(tǒng),而μC/OS-II采用基于優(yōu)先級(jí)的多任務(wù)搶占式調(diào)度策略;內(nèi)核短小,實(shí)時(shí)性好,能進(jìn)行快速的上下文切換(小于5µs),效率高;內(nèi)存要求低鑒于這些特點(diǎn),在本系統(tǒng)中,選擇嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)為μC/OS-II,作為該機(jī)頂盒的操作系統(tǒng),并將其移植于Hi2011系統(tǒng)上,同時(shí)設(shè)計(jì)操作系統(tǒng)抽象層,封裝操作系統(tǒng)與用戶相關(guān)的操作。

3.2 操作系統(tǒng)

在硬件平臺(tái)和軟件結(jié)構(gòu)基本構(gòu)建好以后,就選擇適合該系統(tǒng)的嵌入式實(shí)時(shí)操作系統(tǒng)。在選擇嵌入式實(shí)時(shí)操作系統(tǒng)(real-time operation system,RTOS)時(shí),應(yīng)該具有以下特征的RTOS:基于優(yōu)先級(jí)的多任務(wù)搶占式調(diào)度策略;內(nèi)核短小,實(shí)時(shí)性好,能進(jìn)行快速的上下文切換(小于5µs),效率高;開(kāi)放源代碼,并且支持一系列的處理器芯片;低的內(nèi)存要求;具有可裁剪、可移植性。

因?yàn)檫@樣的RTOS是高效率的操作系統(tǒng),能夠?yàn)镈VB-C提供高效的多任務(wù)環(huán)境,包括任務(wù)調(diào)度管理、時(shí)鐘管理、內(nèi)存管理、中斷處理、通過(guò)信號(hào)量實(shí)現(xiàn)同步和互斥、以及通過(guò)消息隊(duì)列實(shí)現(xiàn)消息通信等等。比如μC/OS-II、μCLinux、Vxworks、OS20等操作系統(tǒng),都具有上述特征。

在本系統(tǒng)中,選擇嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)為μC/OS-II,作為該機(jī)頂盒的操作系統(tǒng),并將其移植于Hi2011系統(tǒng)上,同時(shí)設(shè)計(jì)操作系統(tǒng)抽象層,封裝操作系統(tǒng)與用戶相關(guān)的操作。

3.3 軟件模塊和任務(wù)的劃分

根據(jù)DVB-C硬件模塊的一致性可知,其軟件模塊主要包括初始化啟動(dòng)模塊、端口處理模塊、解復(fù)用模塊、解擾模塊、節(jié)目存貯模塊、Flash 模塊、音視頻操作模塊、用戶界面控制模塊、頻道轉(zhuǎn)換控制、系統(tǒng)升級(jí)模塊、EPG模塊、中文字體模塊和SDRAM模塊等。

依據(jù)DVB-C要實(shí)現(xiàn)的功能和模塊劃分,將系統(tǒng)的任務(wù)劃分為10個(gè)主要的任務(wù),并為每個(gè)任務(wù)分配不同的優(yōu)先級(jí)。每個(gè)任務(wù)都完成相應(yīng)的功能,并將任務(wù)的調(diào)度交于操作系統(tǒng)實(shí)現(xiàn)。其中系統(tǒng)的初始化啟動(dòng)模塊和設(shè)備驅(qū)動(dòng)模塊在主函數(shù)中調(diào)用相應(yīng)的函數(shù)來(lái)實(shí)現(xiàn)其對(duì)應(yīng)的功能。具體劃分如下:Task2完成處理遠(yuǎn)程電源管理、清屏、主菜單鍵和傳遞按鍵給鍵值處理模塊等功能;Task3完成系統(tǒng)的音視頻處理;Task4完成頻道更新;Task5處理頻道節(jié)目的編輯和刷新等;Task6調(diào)度開(kāi)機(jī)LoGo;Task7處理機(jī)頂盒各種顯示任務(wù);Task8調(diào)度游戲和日歷等;Task9處理各種表單,如節(jié)目單和解復(fù)用單等;Task10處理處理OSD和PMT。而Task1啟動(dòng)其他任務(wù)和開(kāi)機(jī)Logo。

3.4 數(shù)據(jù)庫(kù)構(gòu)建

基于DVB-C的數(shù)字機(jī)頂盒的數(shù)據(jù)庫(kù)構(gòu)建,主要構(gòu)建本地臨時(shí)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理兩個(gè)方面。其中本地臨時(shí)數(shù)據(jù)庫(kù)包括:節(jié)目表ProgramList、附加節(jié)目表TransponderList和節(jié)目數(shù)據(jù)結(jié)構(gòu),ProgramList和TransponderList的構(gòu)建在搜臺(tái)時(shí)完成,當(dāng)用戶作頻道管理時(shí),需要作相應(yīng)的更新并寫(xiě)Flash即可。

數(shù)據(jù)庫(kù)管理主要是為管理和訪問(wèn)各數(shù)據(jù)庫(kù)里的數(shù)據(jù),數(shù)據(jù)庫(kù)管理分為頻點(diǎn)數(shù)據(jù)庫(kù)管理、節(jié)目數(shù)據(jù)庫(kù)管理和系統(tǒng)數(shù)據(jù)庫(kù)管理三個(gè)方面。頻點(diǎn)數(shù)據(jù)庫(kù)管理主要是完成對(duì)頻點(diǎn)數(shù)據(jù)的管理,包括頻點(diǎn)信息單元和數(shù)據(jù)塊頭、鏈表兩個(gè)方面。節(jié)目數(shù)據(jù)庫(kù)管理主要管理節(jié)目信息單元和數(shù)據(jù)塊頭、鏈表,由于節(jié)目數(shù)據(jù)庫(kù)的數(shù)據(jù)量十分龐大,因此,在定義節(jié)目數(shù)據(jù)庫(kù)的結(jié)構(gòu)時(shí),不能將節(jié)目信息置于一個(gè)結(jié)構(gòu)中,以免超出編譯器的64KB的界線。

3.5 搜臺(tái)模塊

搜臺(tái)十分重要,不僅要找出頻道列表,還要解析出一定程度的各頻道的相關(guān)信息。搜臺(tái)算法分為手動(dòng)搜臺(tái)和自動(dòng)搜臺(tái)算法。因?yàn)樽詣?dòng)搜臺(tái)是通過(guò)手動(dòng)搜臺(tái)對(duì)頻率的for循環(huán)來(lái)實(shí)現(xiàn)的,所以研究手動(dòng)搜臺(tái)。在搜臺(tái)之前,首先搜索各種節(jié)目信息表,因此搜索各種表時(shí)的順序十分重要,這將影響到搜索節(jié)目的時(shí)間和效率。在搜臺(tái)時(shí),有以下幾種搜索表:PAT:提供PMT的pid,所以要先于PMT的搜索;PMT:提供每個(gè)節(jié)目(service_id)的包括音視頻pid等信息;SDT:提供節(jié)目的屬性信息,包括節(jié)目名字、節(jié)目運(yùn)行狀態(tài)等屬性,在PAT之后搜索;NIT:提供網(wǎng)絡(luò)的信息,包括網(wǎng)絡(luò)標(biāo)識(shí)號(hào)和網(wǎng)絡(luò)名稱,保存在頻點(diǎn)數(shù)據(jù)庫(kù)中;NIT還提供此網(wǎng)絡(luò)下其他頻點(diǎn)的參數(shù)信息,根據(jù)這個(gè)可以增加頻點(diǎn)數(shù)據(jù)庫(kù)。

采用搜索算法思想為:首先調(diào)用驅(qū)動(dòng)層封裝好的相應(yīng)API,設(shè)定Tuner頻點(diǎn)、符號(hào)率等參數(shù),根據(jù)數(shù)據(jù)更新的方式?jīng)Q定是否要清除ProgramList和TransponderList,然后搜索解析PAT表,PAT表解析完后對(duì)Program逐個(gè)解析PMT表和SDT表,所有的Program都完成后,解析NIT表獲得網(wǎng)絡(luò)信息,更新TransponderList,最后成功返回。其算法流程如圖3所示。

圖3 搜臺(tái)算法流程圖

3.6 系統(tǒng)主函數(shù)實(shí)現(xiàn)

μC/OS-II操作系統(tǒng)是使用標(biāo)準(zhǔn)C語(yǔ)言編寫(xiě)的,因此,整個(gè)系統(tǒng)軟件中,又且僅有一個(gè)main()函數(shù)。在本系統(tǒng)中,也只有一個(gè)main()函數(shù)。在實(shí)現(xiàn)main()時(shí),必須考慮系統(tǒng)的效率。在本系統(tǒng)設(shè)計(jì)中,采用了Task1來(lái)開(kāi)啟其他任務(wù)的方式,來(lái)減少主函數(shù)的代碼,提高主函數(shù)的運(yùn)行效率。其代碼如下:

main()

{…

OSInit();//操作系統(tǒng)初始化

sys_init();//系統(tǒng)初始化

System_mail_Set = OSMboxCreate(0);//系統(tǒng)消息初始化

sysflag = OSFlagCreate(0x81, &err_main);//系統(tǒng)標(biāo)志初始化

OSTaskCreate(task1, (void *) &Task1_Stk [TASK1_STK_SIZE - 1], TASK1_PRIO);//任務(wù)調(diào)度開(kāi)始

OSStart();//操作系統(tǒng)開(kāi)始

…}

4. 系統(tǒng)調(diào)試

本系統(tǒng)的調(diào)試按照嵌入式系統(tǒng)基本原理和DVB-C的基本特點(diǎn),將調(diào)試分為主板調(diào)試、系統(tǒng)軟硬件調(diào)試和系統(tǒng)軟硬件驗(yàn)證等。

硬件方面,主要是驗(yàn)證硬件電路與設(shè)計(jì)電路的一致性和電路的各個(gè)輸入/輸出口的電流、電壓特性,另外就是測(cè)試硬件的抗干擾能力和穩(wěn)定可靠性。在調(diào)試時(shí),采用外加干擾源的方式,測(cè)試控制器的抗干擾能力。

軟件方面,主要是驗(yàn)證軟件的正確性。將軟件下載到DVB-C的Flash中,并連接有線電視信號(hào)到DVB-C,再連接到模擬電視機(jī)上,然后觀看通過(guò)遙控器測(cè)試驗(yàn)證軟件的正確性。

本文創(chuàng)新點(diǎn):

本文提出了DVB-C機(jī)頂盒軟件層次結(jié)構(gòu)和軟件模塊層次結(jié)構(gòu),這些結(jié)構(gòu)有效地提高了系統(tǒng)軟件開(kāi)發(fā)效率。通過(guò)基于Hi2011的DVB-C數(shù)字電視機(jī)頂盒研發(fā)項(xiàng)目的應(yīng)用設(shè)計(jì),研究實(shí)踐表明,本文從系統(tǒng)的軟件層次和結(jié)構(gòu)、搜臺(tái)算法和數(shù)據(jù)庫(kù)構(gòu)建的實(shí)現(xiàn)等方面給出了較優(yōu)的解決方案。

本項(xiàng)目應(yīng)用后已累計(jì)有21萬(wàn)元的經(jīng)濟(jì)效益。

參考文獻(xiàn)

[1]ISO/IEC 13818-1.Information technology -Generic coding of moving pictures and associated audio:Systems [S], 1994

[2] 谷志奇,余松煜.機(jī)頂盒SI模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2004-3:51-53

[3] 徐登,鄭世寶,金薦.一種優(yōu)化的機(jī)頂盒SI引擎的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2005-5:13-15

[4] 李海洋,李柏林,郭榮佐.正交軟件體系結(jié)構(gòu)設(shè)計(jì)和演化方法應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用研究,2007-1:78-80

[5] 柴晟.基于設(shè)計(jì)模式構(gòu)建數(shù)據(jù)訪問(wèn)中間件[J].計(jì)算機(jī)工程與設(shè)計(jì),2007-17:4102-4104

[6] 劉久富,孫德敏,楊忠,張志強(qiáng).嵌入式軟件的動(dòng)態(tài)測(cè)試[J].微計(jì)算機(jī)信息,2006,1-2:82-84、248

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉