本文實(shí)現(xiàn)了以SC2005為主芯片的機(jī)頂盒信源解碼器,并將該解碼器配接L64768前端,組成了符合DVBC標(biāo)準(zhǔn)的完整機(jī)頂盒方案;可對符合MPEG-2 標(biāo)準(zhǔn)的音視頻流進(jìn)行解碼并兼容PAL/NTSC/SECAM 制式的模擬電視接收。 近年來,我國廣播電視數(shù)字化發(fā)展的進(jìn)程明顯加快,從而直接引發(fā)了對機(jī)頂盒(Set-top Box)的巨大市場需求,凸顯了其重要性。在機(jī)頂盒的研發(fā)過程中,信源解碼器的研制是整個(gè)開發(fā)工作的基礎(chǔ)和核心。隨著機(jī)卡分離政策的出臺(tái),信源解碼器的通用性和復(fù)雜性,使其在機(jī)頂盒終端的開發(fā)過程中變得更加重要。本文論述的即為符合DVBC標(biāo)準(zhǔn)的數(shù)字有線電視機(jī)頂盒信源解碼器的設(shè)計(jì)與實(shí)現(xiàn)。 總體方案 機(jī)頂盒大體可以分成兩個(gè)功能部分:信道解調(diào)解碼部分和信源解碼部分。信道部分即前端,負(fù)責(zé)對數(shù)字電視信號(hào)進(jìn)行解調(diào)接收和信道解碼。由于前端的不同,機(jī)頂盒可分為數(shù)字衛(wèi)星機(jī)頂盒、數(shù)字地面機(jī)頂盒和數(shù)字有線機(jī)頂盒三種。 該信源解碼器是針對數(shù)字有線電視機(jī)頂盒研制的,將配接L64768前端,組成符合DVB-C 標(biāo)準(zhǔn)的完整機(jī)頂盒方案。本文采用LSI Logic公司的基于SC2005的第二代單片信源解碼方案來實(shí)現(xiàn)解碼功能。該解碼器的結(jié)構(gòu)框圖如圖1所示,按功能可分為4 個(gè)部分:以SC2005 為核心的CPU 及存儲(chǔ)控制子系統(tǒng);傳輸流解復(fù)用和音視頻解碼子系統(tǒng);圖形處理和屏幕菜單顯示及輸出子系統(tǒng);外圍接口子系統(tǒng)。 硬件實(shí)現(xiàn) 該信源解碼器的啟動(dòng)代碼存儲(chǔ)在Flash Boot ROM中,所用字體則存儲(chǔ)在Flash Font ROM中。S C 2 0 0 5 的兩個(gè)S D R A M 存儲(chǔ)器接口分別與SDRAMA和S D R A M - B 相接。系統(tǒng)加電后,保存在Flash BootROM 中的啟動(dòng)代碼被調(diào)到SDRAM-B 中執(zhí)行。時(shí)鐘由27MHz 壓控振蕩器經(jīng)倍頻后提供。壓控振蕩器產(chǎn)生的時(shí)鐘信號(hào)經(jīng)過74LVC14 整形后送到SC2005 的VCXO 引腳,并通過SDET 引腳的輸出進(jìn)行同步恢復(fù)。傳輸流復(fù)用、音視頻解碼、圖形處理等功能均由SC2005 內(nèi)部相應(yīng)的集成模塊配合外部相關(guān)電路來實(shí)現(xiàn)。 CPU 及存儲(chǔ)控制子系統(tǒng) S C 2 0 0 5 集傳輸解復(fù)用器L641x8 和MPEG-2 音視頻解碼器L64105的功能于一體,內(nèi)含EZ4102內(nèi)核、16KB 指令Cache 和8KB 數(shù)據(jù)Cache,這是SC2005 的核心組成部分。 該信源解碼器所用的兩片1M× 1 6 b i t F l a s h R O M 均為AM29LV160DT-70,使用單一電源供電,讀寫和編程均使用3.3V電壓,高速70ns 讀寫時(shí)間。它們通過EBUS與SC2005 相連,地址總線A[6:0]和SC2005 的ADDR[7:1]相連,A[19:7]和SC2005的AD[28:16]相連,數(shù)據(jù)總線DQ[15:0]和SC2005的AD[15:0]相連。芯片內(nèi)部共有35個(gè)扇區(qū),其中4個(gè)作為引導(dǎo)扇區(qū),大小為4k 字"16k 字,其余31個(gè)扇區(qū)為32k字;有一個(gè)字節(jié)/字模式選擇引BYTE#,本設(shè)計(jì)中該引腳接高電平,選擇字模式。 81MHz/1M × 16bit 的SDRAMA和108MHz/2M × 16bit 的SDRAMB通過S-BUS 與CPU 的SDRAM 存儲(chǔ)器接口相連。其中SDRAM-A 專門用于MPEG 解碼時(shí)存儲(chǔ)視頻幀和相關(guān)信息,SDRAM-B 存儲(chǔ)解復(fù)用、O S G 和外圍設(shè)備接口子系統(tǒng)的信息。SDRAM-A 與SDRAM-B 之間可通過一個(gè)DMA 引擎直接傳送數(shù)據(jù)。 傳輸流解復(fù)用和音視頻解碼子系統(tǒng) SC2005 首先接收來自信道解碼器或碼流發(fā)生器的TS流,然后自動(dòng)進(jìn)行傳輸包同步檢測。一旦同步建立,就會(huì)將傳輸包發(fā)送到PID 預(yù)處理器中。 ![]() 解復(fù)用后的音視頻PES流通過A/V 接口進(jìn)入L64105 MPEG-2 解碼器進(jìn)行分組解碼。L64105輸出數(shù)字視頻和數(shù)字音頻信號(hào)各兩組。一組數(shù)字視頻和一組數(shù)字音頻信號(hào)直接輸出。另一組的數(shù)字視頻信號(hào)送到視頻編碼器中,被轉(zhuǎn)換成全電視信號(hào)(CVBS)或S 端子信號(hào)(Y/C),經(jīng)過外部低通濾波后,直接送到電視機(jī)中;數(shù)字音頻信號(hào)送到音頻DAC中,轉(zhuǎn)換成立體聲模擬信號(hào),經(jīng)外部低通濾波后輸出。 圖形處理和屏幕菜單 顯示輸出子系統(tǒng) S C 2 0 0 5 集成了高性能的OSG(On-Screen Graphics)子系統(tǒng),該子系統(tǒng)可產(chǎn)生文本和圖形并疊加到解碼的視頻上。OSG 子系統(tǒng)產(chǎn)生靜止層、OSD 層和光標(biāo)層;解碼子系統(tǒng)提供視頻層;混合器/編碼器子系統(tǒng)產(chǎn)生背景顏色層,并在視頻輸出之前將上述5 層進(jìn)行編碼復(fù)合,從而根據(jù)需要顯示所要輸出的復(fù)合視頻。這個(gè)子系統(tǒng)將來自O(shè)SG 子系統(tǒng)的圖形和解碼視頻數(shù)據(jù)進(jìn)行混合編碼,然后輸出NTSC/PAL/SECAM制式的RGB/YPbPr、CVBS 或S 視頻信號(hào)給電視機(jī)或監(jiān)視器。 外圍接口子系統(tǒng) 該信源解碼器集成了一個(gè)ATA硬盤接口,如圖3所示。用戶可以通過此接口實(shí)現(xiàn)個(gè)人數(shù)字錄像機(jī)PVR(Personal Video Recorder)功能;還可在硬盤中開設(shè)海量緩存區(qū),在播放數(shù)字電視的同時(shí),對節(jié)目進(jìn)行長達(dá)數(shù)小時(shí)的實(shí)時(shí)存儲(chǔ)。依賴這種緩存技術(shù),用戶可以進(jìn)行時(shí)移播放。 該解碼器擁有一個(gè)TDA8004T智能卡接口和符合IEEE 1149.1標(biāo)準(zhǔn)的JTAG模塊,提供了基本的調(diào)試功能,還提供了LVDS 接口,用來接收碼流發(fā)生器輸出的TS 流。由DB-25 接口輸入的LVDS 信號(hào)通過3 片DS90C032進(jìn)行電平變換后,進(jìn)入解碼器。此外,該系統(tǒng)還使用了一個(gè)UART,用于機(jī)頂盒的調(diào)試和軟件升級(jí)。 軟件設(shè)計(jì) 軟件系統(tǒng)基于一個(gè)分層的框架,其中,部分由LSI Logic在其參考軟件中提供,其它部分需要由用戶自行開發(fā)。軟件的整體結(jié)構(gòu)如圖4 所示。 實(shí)時(shí)操作系統(tǒng)層(RTOS)是所有上層程序代碼運(yùn)行的基礎(chǔ),主要負(fù)責(zé)多任務(wù)調(diào)度、系統(tǒng)資源管理、中斷處理、通信操作和同步處理等。本文使用的是WindRiver 公司專門為嵌入式系統(tǒng)設(shè)計(jì)和開發(fā)的一個(gè)模塊化、高性能的實(shí)時(shí)操作系統(tǒng)pSOSystem。RTOS 層用板級(jí)支持包(BSP) 來實(shí)現(xiàn)與硬件層接口。 操作系統(tǒng)移植層(OSP)實(shí)現(xiàn)兩個(gè)主要功能:一個(gè)是動(dòng)態(tài)配置任務(wù)的屬性,如上下文的切換,優(yōu)先級(jí)等;另一個(gè)是管理任務(wù)之間的通信,如數(shù)據(jù)傳輸與同步。硬件抽象層(HAL)負(fù)責(zé)直接對硬件寄存器編程;設(shè)備驅(qū)動(dòng)層(DDL)是硬件抽象層的一個(gè)明了、方便的備份和封裝,主要針對各硬件模塊提供相應(yīng)的驅(qū)動(dòng)程序,如SC2005異常處理的驅(qū)動(dòng)、時(shí)鐘服務(wù)模塊的驅(qū)動(dòng)和OSG圖形庫的驅(qū)動(dòng)等。應(yīng)用程序接口層(API)為上層的應(yīng)用程序提供API函數(shù)。 驅(qū)動(dòng)適配層(DAL)是對設(shè)備驅(qū)動(dòng)層功能的進(jìn)一步集合,通過功能組合可以直接應(yīng)用到應(yīng)用程序?qū)?它起到了接口的作用。例如對Flash的操作,可以用這樣的一個(gè)驅(qū)動(dòng)適配層進(jìn)行功能的進(jìn)一步封裝,以利于上層應(yīng)用程序的調(diào)用。 用戶應(yīng)用程序?qū)邮菣C(jī)頂盒用戶應(yīng)用軟件的主體部分,也是軟件開發(fā)的重點(diǎn)。與機(jī)頂盒有關(guān)的所有上層功能的實(shí)現(xiàn)都在這層完成,如關(guān)于用戶界面功能的實(shí)現(xiàn)、EPG 的實(shí)現(xiàn)、節(jié)目數(shù)據(jù)庫的管理、用戶信息輸入/輸出控制和軟件升級(jí)等。 性能測試結(jié)果 該信源解碼器配接L64768 前端后,經(jīng)測試,達(dá)到預(yù)定功能。其性能特點(diǎn)如下: 整機(jī)系統(tǒng)完全符合DVB-C/MPEG-2 標(biāo)準(zhǔn) 信道解碼支持16/32/64/128/2 5 6 Q A M ,轉(zhuǎn)換率為:3 M S P S "7MSPS TS 解復(fù)用器最大輸入比特率:60Mbps(串行1)/7.5Mbps(并行) 視頻解碼分辨率:Max720×576,支持圖文和字幕 音頻解碼器采樣率:32/44.1/48kHz,支持32 級(jí)音量調(diào)節(jié) 支持ATA 硬盤接口 結(jié)語 本文實(shí)現(xiàn)了基于S C 2 0 0 5 的DVB-C 機(jī)頂盒信源解碼器,集成了個(gè)人數(shù)字錄像機(jī),并配接L64768前端,組成了符合標(biāo)準(zhǔn)的功能樣機(jī)。 |