彭 銳,于鴻洋,張 萍
(電子科技大學(xué) 電子工程學(xué)院,四川 成都 610054)
近年來,數(shù)字機(jī)頂盒在國家大力推行下有了很大發(fā)展。預(yù)計(jì)國內(nèi)數(shù)字機(jī)頂盒市場將在2010年達(dá)到全球第一,占全球數(shù)字機(jī)頂盒總消費(fèi)量的80%[1]。因此,數(shù)字機(jī)頂盒發(fā)展具有很高的經(jīng)濟(jì)價(jià)值,而高清數(shù)字機(jī)頂盒是數(shù)字機(jī)頂盒中一種值得關(guān)注的發(fā)展趨勢。
數(shù)字機(jī)頂盒的主要功能邏輯關(guān)系如圖1所示[2]。
當(dāng)數(shù)字機(jī)頂盒接收高頻信號后,通過高頻頭對信號進(jìn)行下變頻,再通過A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換后,用QAM/QPSK解調(diào)得到MPEG的傳輸流,解復(fù)用和分析PES流后就分別得到了視頻、音頻流,再通過解碼、編碼后變成模擬信號,通過輸出口輸出。
一個(gè)低成本的高清數(shù)字機(jī)頂盒設(shè)計(jì)主要包括數(shù)字廣播電視接收前端、MPEG解碼、音視頻及圖形處理、CPU、調(diào)制解調(diào)器和其他外圍接口等。筆者用到的STi7109芯片是新一代的SoC芯片,它整合了CPU、編解碼、音視頻處理及圖像處理等多項(xiàng)功能,可以大大提高開發(fā)周期,具體設(shè)計(jì)方案如圖2所示[3]。
數(shù)字機(jī)頂盒數(shù)據(jù)流程主要是先從纜線把數(shù)字信號流(包括公開的和加密的)傳給高頻頭,然后在芯片STb0468b芯片處進(jìn)行QAM/QPSK解調(diào)處理,再傳輸?shù)絊Ti7109集成芯片完成如圖1所示的解復(fù)用和PES流分組解析,產(chǎn)生對應(yīng)的視頻信號和音頻信號。
軟件是數(shù)字機(jī)頂盒的靈魂,它的設(shè)計(jì)合理性對數(shù)字機(jī)頂盒產(chǎn)品質(zhì)量、產(chǎn)品的研發(fā)可持續(xù)性及可升級性,都產(chǎn)生重大影響。高清數(shù)字機(jī)頂盒軟件可以從多個(gè)角度進(jìn)行設(shè)計(jì)。
高清數(shù)字機(jī)頂盒與標(biāo)清數(shù)字機(jī)頂盒軟件的層次設(shè)計(jì)具有相似性,但是由于高清數(shù)字電視數(shù)據(jù)量要大的多,除了提高硬件本身的處理速度外,還要對軟件層次進(jìn)行修改,以提高代碼的運(yùn)行效率,降低CPU負(fù)荷。圖3為高標(biāo)清數(shù)字機(jī)頂盒軟件設(shè)計(jì)方案對比[4]。
在高清數(shù)字機(jī)頂盒軟件設(shè)計(jì)方案中取消了JVM中間固件,因?yàn)楸M管Java程序編寫相對容易,但是Java虛擬機(jī)運(yùn)行速度太慢,增大了CPU負(fù)荷。同時(shí),還要針對應(yīng)用程序部分做更合理的設(shè)計(jì),方便以后軟件升級與改進(jìn)。
應(yīng)用軟件設(shè)計(jì)是從兩個(gè)方面進(jìn)行的,分別為軟件層次和軟件模塊功能。首先,把應(yīng)用軟件分成3層,即初始化層、中間接口層和分類的軟件模塊應(yīng)用層[5](見圖4)。
初始化層主要完成對板上的各種接口、總線、音視頻編解碼器以及其他板級等內(nèi)容的初始化,包括對其各種寄存器參數(shù)的初始化,還有實(shí)例對象的初始化,如音視頻的句柄等。
中間層的接口主要是對底層的一些實(shí)力對象進(jìn)行包裝后,讓更上層的應(yīng)用能直接調(diào)用中間層的函數(shù),如設(shè)置音量大小和高頻頭的頻率等。
各種軟件應(yīng)用模塊主要是直接面向用戶層,為用戶提供相關(guān)服務(wù)的接口,比如可以通過選單顯示出EPG的內(nèi)容,通過網(wǎng)絡(luò)實(shí)現(xiàn)互動(dòng)點(diǎn)播等。
高清數(shù)字機(jī)頂盒軟件系統(tǒng)的啟動(dòng)主要包括5部分:Bootloader、Linux內(nèi)核、文件系統(tǒng)、動(dòng)態(tài)加載部分驅(qū)動(dòng)模塊以及應(yīng)用軟件,如圖5所示[6]。
軟件的啟動(dòng)從Bootloader開始,當(dāng)Bootloader完成一次對硬件最基本的初始化后,把控制權(quán)交給Linux內(nèi)核,然后Linux操作系統(tǒng)再次對硬件初始化,并管理整個(gè)系統(tǒng),最后動(dòng)態(tài)加載一些驅(qū)動(dòng)模塊(這里是為了避免GNU的一些代碼公開條例),運(yùn)行高清數(shù)字機(jī)頂盒應(yīng)用軟件[7]。至此,整個(gè)軟件系統(tǒng)就運(yùn)行起來了。
重點(diǎn)討論了高清數(shù)字電視機(jī)頂盒的軟件系統(tǒng)設(shè)計(jì),同時(shí)也結(jié)合了基于STi7109芯片硬件設(shè)計(jì)的一種解決方案,簡單描述了數(shù)字機(jī)頂盒軟件系統(tǒng)的啟動(dòng)過程。由于嵌入式Linux的開源性和強(qiáng)大的網(wǎng)絡(luò)功能,相信基于嵌入式Linux的高清數(shù)字機(jī)頂盒將成為高清數(shù)字機(jī)頂盒未來發(fā)展的一個(gè)主流方向。
[1]甘育裕,陸列.嵌入式Linux在新型數(shù)字機(jī)頂盒中的應(yīng)用[J].中國有線電視,2006(Z2):851-854.
[2]郭榮佐,郭進(jìn),黃君.數(shù)字電視機(jī)頂盒軟件體系結(jié)構(gòu)應(yīng)用研究[J].電視技術(shù),2008,32(5):28-30.
[3]ST company.STI7109-low-cost HDTV set-top box decoder for H.264 and microsoft WMA9-STMicroelectronics[EB/OL].[2010-02-02].http://pdf1.alldatasheet.com/datasheet-pdf/view/192665/STMICROELECTRONICS/STI7109.html.
[4]TAN Qiang,ZHOU Mengchu,LI Jingjian,et al.A brief overview of current TV set-top box developments[C]//Proc.IEEE International Conference on Systems,Man,and Cybernetics.[S.l.]:IEEE Press,1996:2127-2132.
[5]KAR M L,SO V,BROWN R W.Architecture of retail set-top box application platform for digital cable network[C]//Proc.International Conference on Consumer Electronics.[S.l.]:IEEE Press,2001: 306-307.
[6]HALLINAN C.Embedded Linux primer[M].London:Prentice Hall,2006.
[7]MOON S P,KIM J W,BAE K H,et al.Embedded Linux implementation on a commercial digital TV system[J].IEEE Transactions on Consumer Electronics,2003,49(4):1402-1407.