基于Hi2011的DVB-C機(jī)頂盒設(shè)計與實現(xiàn)
1.引言
數(shù)字電視機(jī)頂盒(SetTopBox,STB)是擴(kuò)展電視機(jī)功能的一種新型家用電器,分為衛(wèi)星數(shù)字電視機(jī)頂盒(DVB-S)、地面數(shù)字電視機(jī)頂盒(DVB-T)和有線數(shù)字電視機(jī)頂盒(DVB-C)三種。目前國內(nèi)的DVB-C機(jī)頂盒普遍采用外國廠商提供的流媒體處理器和與其捆綁銷售的操作系統(tǒng)及在此系統(tǒng)上的開發(fā)工具,國內(nèi)廠商將很難做到自主開發(fā),必須高度依賴國外廠商的技術(shù)支持。本文采用國產(chǎn)的流媒體處理器―Hi2011和開源的嵌入式實時操作系統(tǒng)μC/OS-II進(jìn)行了DVB-C數(shù)字電視機(jī)頂盒的設(shè)計和研究。
2.硬件架構(gòu)設(shè)計
STB硬件方面的主要單元可分為接收廣播信號,并將其轉(zhuǎn)換為數(shù)字傳輸串流的前端芯片,即調(diào)諧器和調(diào)變/解調(diào)變器;后端芯片包括電視解碼器/編碼器、MPEG-2Transport、MPEG-2MP@ML或HL解碼器、微處理器、繪圖芯片、音頻處理器、音頻DAC、視頻DAC;以及DRAM/SDRAM、Flash等存儲、電源元件及其他標(biāo)準(zhǔn)離散元件。有的STB高端產(chǎn)品還會整合安全芯片、調(diào)制解調(diào)器(modem)或家庭網(wǎng)絡(luò)芯片,以及可錄像的硬盤(HDD)。STB對數(shù)字電視信號的處理過程為:電視射頻信號經(jīng)Tuner(高頻頭)調(diào)諧,進(jìn)行模數(shù)轉(zhuǎn)換,輸出36MHz的中頻數(shù)字信號送入OFDM解調(diào)模塊進(jìn)行解調(diào)之后,變成TS流后經(jīng)信道解碼得到MPEG-2TS流,經(jīng)解復(fù)用模塊(集成解擾模塊)選出一路MPEG-2音視頻流和對應(yīng)的數(shù)據(jù)信息,經(jīng)信源解碼后得到所選節(jié)目的數(shù)字信息。然后將數(shù)字信息轉(zhuǎn)換為模擬信號輸出給模擬電視。
Hi2011處理器是北京海爾集成電路有限公司研發(fā)的一款流媒體處理器,該處理器具有的特點(diǎn)是:采用QFP160封裝;低功耗、高集成度和低成本的系統(tǒng)方案;0.18μm工藝,工作頻率可達(dá)108MHz;三個脈寬調(diào)制輸出。同時,該處理器集成了完全兼容51的CPU,工作時鐘13.5MHz至27MHz,四個時鐘的指令周期,完全兼容標(biāo)準(zhǔn)的8051指令;集成了DSP,可以實現(xiàn)16位乘/累加操作的協(xié)處理器,提高8051的運(yùn)算性能。在該處理器上,還集成了MPEG解碼器、視頻播放、OSD和音頻播放等硬件模塊。
本系統(tǒng)硬件以Hi2011芯片為核心,配備一定的外圍設(shè)備和接口,構(gòu)成DVB-C數(shù)據(jù)機(jī)頂盒的硬件部分。
3.軟件體系設(shè)計
DVB-C軟件體系采用分層結(jié)構(gòu),首先對系統(tǒng)的軟件進(jìn)行分層,然后進(jìn)行模塊化的層次劃分。
3.1軟件層次結(jié)構(gòu)
按照機(jī)頂盒軟件系統(tǒng)中不同軟件功能和作用,將軟件系統(tǒng)按層次進(jìn)行劃分,可分為操作系統(tǒng)層、驅(qū)動層、中間層和應(yīng)用層
其中操作系統(tǒng)層主要包括操作系統(tǒng)內(nèi)核、硬件平臺抽象和操作系統(tǒng)抽象;硬件平臺抽象又叫硬件抽象層,主要是將CPU的相關(guān)操作和功能部分進(jìn)行封裝,以提供給上層調(diào)用,從而避免直接與硬件直接相關(guān)性,同時為系統(tǒng)軟件的移植、操作系統(tǒng)的更換等帶來極大的方便;操作系統(tǒng)抽象主要是將與操作系統(tǒng)直接相關(guān)的操作進(jìn)行抽象化、模塊化,以提供給應(yīng)用程序簡單方便的接口,同時使軟件系統(tǒng)具有良好的可移植性。
在硬件平臺和軟件結(jié)構(gòu)基本構(gòu)建好以后,就選擇適合高效的多任務(wù)系統(tǒng)環(huán)境的嵌入式實時操作系統(tǒng),而μC/OS-II采用基于優(yōu)先級的多任務(wù)搶占式調(diào)度策略;內(nèi)核短小,實時性好,能進(jìn)行快速的上下文切換(小于5µs),效率高;內(nèi)存要求低鑒于這些特點(diǎn),在本系統(tǒng)中,選擇嵌入式實時多任務(wù)操作系統(tǒng)為μC/OS-II,作為該機(jī)頂盒的操作系統(tǒng),并將其移植于Hi2011系統(tǒng)上,同時設(shè)計操作系統(tǒng)抽象層,封裝操作系統(tǒng)與用戶相關(guān)的操作。
3.2操作系統(tǒng)
在硬件平臺和軟件結(jié)構(gòu)基本構(gòu)建好以后,就選擇適合該系統(tǒng)的嵌入式實時操作系統(tǒng)。在選擇嵌入式實時操作系統(tǒng)(real-timeoperationsystem,RTOS)時,應(yīng)該具有以下特征的RTOS:基于優(yōu)先級的多任務(wù)搶占式調(diào)度策略;內(nèi)核短小,實時性好,能進(jìn)行快速的上下文切換(小于5µs),效率高;開放源代碼,并且支持一系列的處理器芯片;低的內(nèi)存要求;具有可裁剪、可移植性。
因為這樣的RTOS是高效率的操作系統(tǒng),能夠為DVB-C提供高效的多任務(wù)環(huán)境,包括任務(wù)調(diào)度管理、時鐘管理、內(nèi)存管理、中斷處理、通過信號量實現(xiàn)同步和互斥、以及通過消息隊列實現(xiàn)消息通信等等。比如μC/OS-II、μCLinux、Vxworks、OS20等操作系統(tǒng),都具有上述特征。
在本系統(tǒng)中,選擇嵌入式實時多任務(wù)操作系統(tǒng)為μC/OS-II,作為該機(jī)頂盒的操作系統(tǒng),并將其移植于Hi2011系統(tǒng)上,同時設(shè)計操作系統(tǒng)抽象層,封裝操作系統(tǒng)與用戶相關(guān)的操作。