DVB-C數(shù)字機頂盒的設(shè)計方案與實現(xiàn)方法
引言
在我國,數(shù)字電視節(jié)目在許多省市已經(jīng)開始試播,由于用戶端使用的基本都是模擬電視機,無法接收數(shù)字信號,因此需要一種接收裝置來擔(dān)當(dāng)二者之間的橋梁,這就是機頂盒(Set Top Box,簡稱STB)。它是一種擴展電視機功能的一種新的家用電器。它可以把衛(wèi)星直播數(shù)字電視信號、地面數(shù)字電視信號、有線電視網(wǎng)數(shù)字信號甚至互聯(lián)網(wǎng)的數(shù)字信號轉(zhuǎn)換成模擬電視機可以接收的信號,使現(xiàn)有的模擬電視機用戶也能分享數(shù)字化革命帶來的科技成果。文中主要介紹筆者開發(fā)的基于DVB-C 的有線數(shù)字電視機頂盒。
DVB-C 數(shù)字機頂盒的硬件設(shè)計
LSI 2005 主芯片介紹
DVB-C 數(shù)字機頂盒采用LSI Logic 公司的SC2005 作為主芯片。SC2005 采用最新的1.27mmPBGA 封裝,將LSIL641x8 傳輸譯碼器和L64105MPEG-2 音視頻解碼器集成在一塊芯片里,集成度高,內(nèi)置工業(yè)標準的Tiny RISC108MHz MIPS CPU,5 層圖形引擎,DMA 控制器,以及統(tǒng)一的OSG 存儲器和A/V 存儲器;集成有多標準的編碼器、可獨立編程的視頻DAC,音頻DAC。
SC2005 接收來自信道解碼器的TS 流后,送到內(nèi)部的L641x8 模塊中,由L641x8 對數(shù)據(jù)進行解復(fù)用,形成音頻和視頻PES 分組數(shù)據(jù),通過A/V 接口輸出給L64105MPEG-2 解碼器進行解碼。L64105 將PES 分組進行解碼,輸出數(shù)字視頻和數(shù)字音頻信號各兩組。一組數(shù)字視頻和一組數(shù)字音頻信號直接輸出。另外一組數(shù)字視頻信號送到視頻編碼器中,被轉(zhuǎn)換成全電視信號(CVBS)或S 端子信號(Y/C),經(jīng)過外部低通濾波后,便可直接送到電視機中。另一路數(shù)字音頻信號送到音頻DAC 中,轉(zhuǎn)換成立體聲模擬信號,經(jīng)外部低通濾波后輸出。
SC2005 提供了多種外圍設(shè)備接口,包括兩個UART 接口、兩個智能卡接口、I2C 接口、IEEEl284接口、紅外接口、圖文電視接口、通用I/O 控制以及調(diào)制解調(diào)器接口。通過這些接口,SC2005 可以和多種外圍設(shè)備相連,其功能更加強大。另外,SC2005 還有一個硬盤接口,可以將節(jié)目下載到硬盤中,以后再看。
DVB-C 機頂盒的硬件總體設(shè)計
為了實現(xiàn)有線數(shù)字機頂盒的功能,從技術(shù)實現(xiàn)上要達到以下要求:
(1)接收CATV 網(wǎng)絡(luò)上110MHz~855MHz頻率范圍內(nèi)的射頻信號,并轉(zhuǎn)換為中頻信號。
(2)實現(xiàn)QAM 解調(diào)制功能,將調(diào)制信號恢復(fù)為數(shù)字基帶信號。
(3)完成信道解碼處理,實現(xiàn)前向糾錯功能。
(4)完成TS 傳送流解復(fù)用、MPEG-2 解碼功能,并且能夠?qū)崿F(xiàn)電視信號解碼和音頻DAC 功能,輸出符合要求的模擬音視頻信號。
本設(shè)計實現(xiàn)了以上所有功能,設(shè)計總框圖如圖1 所示。
圖1 SC2005 機頂盒系統(tǒng)總框圖
系統(tǒng)組成部分功能介紹
1、數(shù)字高頻頭:接收CATV電纜上的射頻信號,由高頻頭電路將射頻信號下變頻為中頻信號,并將中頻信號送到內(nèi)部得解調(diào)制芯片,由解解調(diào)制芯片完成QAM解調(diào)制及FEC前向糾錯芯片,而后以并行或串行方式送出TS(傳送流信號)。
2、SC2005:LSI logic公司的傳送流處理芯片。
3、CPU_SDRAM:提供SC2005內(nèi)嵌CPU運行時所需要的存儲空間。
4、AV_SDRAM:提供SC2005內(nèi)部MPEG解碼器對PES流進行處理時所需的存儲空間。
5、BOOT_FLASH:存放系統(tǒng)BOOT程序、引導(dǎo)系統(tǒng)正常啟動。
6、SYS_FLASH:存放系統(tǒng)工作軟件,實現(xiàn)系統(tǒng)功能。
7、串口:串口模塊電路對SC2005的串行I/O口進行電平轉(zhuǎn)換,提供標準的RS232串行接口,提供RS232調(diào)測接口。
8、SMARTCARD:實現(xiàn)授權(quán)、加密、收費等功能。
9、用戶接口:提供給用戶簡單得輸出、輸入接口,如系統(tǒng)工作狀態(tài)顯示接口、按鍵接口、遙控接口等。
10、USB:提供給用戶一個USB 1.1兼容的接口,最高數(shù)據(jù)率12Mb/s;可以用于支持U盤,保存節(jié)目或者播放U盤上的節(jié)目。
11、IDE:提供給用戶一個標準的IDE 接口。掛接硬盤后可以用來實現(xiàn)保存節(jié)目或者播放硬盤上的節(jié)目。
DVB-C 數(shù)字機頂盒的軟件設(shè)計
DVB-C 機頂盒的軟件總體設(shè)計
DVB-C 機頂盒軟件實現(xiàn)方案基于穩(wěn)定性、可靠性和可擴展性的原則進行設(shè)計,所有軟件系統(tǒng)應(yīng)該達到功能完備,使用簡便和便于擴充幾個特性。跟據(jù)上述分析,機頂盒軟件體系結(jié)構(gòu)如圖2所示。
圖2 機頂盒軟件模塊層次圖
整個機頂盒軟件的結(jié)構(gòu)采取開放式的模塊化結(jié)構(gòu)。其中硬件抽象層可以增加軟件的硬件無關(guān)性;操作系統(tǒng)抽象層用于實現(xiàn)操作系統(tǒng)層的可移植性,以支持多種RTOS;中間件移植層用于各種商業(yè)化的中間件軟件的移植。從底下往上看,整個體系從硬件層到應(yīng)用層分為以下幾個層次:
1、硬件抽象層:通過提煉一些硬件操作的特性,將一些與硬件相關(guān)緊密的操作抽象出來,從而將操作系統(tǒng)和硬件層分開,這使得BSP 和Driver的設(shè)計更簡潔,有利于提高軟件的可重用性和易移植性。
2、BSP 層:用于將引導(dǎo)操作系統(tǒng),對操作系統(tǒng)提供板級支持。同時提供一些近設(shè)備的驅(qū)動。
3、操作系統(tǒng)及硬件驅(qū)動層:提供操作系統(tǒng)內(nèi)核和硬件驅(qū)動。操作系統(tǒng)主要提供內(nèi)存管理、任務(wù)調(diào)度、時鐘管理、資源共享和互斥等功能。硬件驅(qū)動層在操作系統(tǒng)和硬件抽象層的基礎(chǔ)上實現(xiàn)對硬件的驅(qū)動。
4、中間件:是一種將應(yīng)用程序和操作系統(tǒng)、硬件細節(jié)隔離開來的軟件環(huán)境,通常它都是由一些虛擬機器構(gòu)成的,如HTML 虛擬機、JavaScript 虛擬機、MHEG-5 虛擬機、Java 虛擬機等。這使得應(yīng)用不依賴于特定的硬件平臺。著名的中間件提供商有:OpenTV 和Canal+。
5、DVB引擎:實現(xiàn)DVB/DAVIC 協(xié)議的解析。包括MPEG2 解碼器、SI 引擎和DSM-CC 數(shù)據(jù)接口。
6、應(yīng)用層。建立在上述各個模塊的基礎(chǔ)上的應(yīng)用程序片。包括:頻道管理、系統(tǒng)自檢、電子節(jié)目導(dǎo)航、軟件下載與升級管理和家長控制等模塊。
操作系統(tǒng)的選型
機頂盒作為一個典型的嵌入式系統(tǒng),對其操作系統(tǒng)有更高的穩(wěn)定性和實時性要求,一般選用實時嵌入式操作系統(tǒng),這里我們選用uCOS-Ⅱ操作系統(tǒng):一個源碼公開、可移植、可固化、可裁剪、占先式的實時多任務(wù)操作系統(tǒng)。由于uCOS-Ⅱ?qū)儆陂_放源碼操作系統(tǒng),所以開發(fā)包投入可以免除,而且去了版稅。同時該操作系統(tǒng)在工業(yè)控制,消費電子和國防等領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用,實踐證明該操作系統(tǒng)在穩(wěn)定性和可用性上是完全適合在本方案中是選用的。
uCOS-Ⅱ內(nèi)核精簡,效率高,對存儲器和內(nèi)存的需求低,對于降低系統(tǒng)成本有利。此外,uCOS-Ⅱ所有源代碼都公開,而且很多著名科研機構(gòu)包括大學(xué)、研究所都對該操作系統(tǒng)進行了支持,提供了大量的已經(jīng)經(jīng)過工業(yè)驗證的軟件包,這對于開發(fā)人員來說很便利,有利于加快開發(fā)進度。
結(jié)束語
數(shù)字電視機頂盒是模擬電視機向數(shù)字電視機過渡的最佳解決方案。數(shù)字電視機頂盒是未來家庭必備的多媒體信息終端,使用數(shù)字電視機頂盒的有線電視用戶,可以享受電視、數(shù)據(jù)、話音等全方位的信息服務(wù)。隨著數(shù)字技術(shù)、多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,數(shù)字電視機頂盒的功能將逐步得到完善。