引言
近年來(lái),我國(guó)廣播電視數(shù)字化發(fā)展的進(jìn)程明顯加快,從而直接引發(fā)了對(duì)機(jī)頂盒(Set-top Box)的巨大市場(chǎng)需求,凸顯了其重要性。在機(jī)頂盒的研發(fā)過(guò)程中,信源解碼器的研制是整個(gè)開(kāi)發(fā)工作的基礎(chǔ)和核心。隨著機(jī)卡分離政策的出臺(tái),信源解碼器的通用性和復(fù)雜性,使其在機(jī)頂盒終端的開(kāi)發(fā)過(guò)程中變得更加重要。本文論述的即為符合DVB-C標(biāo)準(zhǔn)的數(shù)字有線電視機(jī)頂盒信源解碼器的設(shè)計(jì)與實(shí)現(xiàn)。
總體方案
機(jī)頂盒大體可以分成兩個(gè)功能部分:信道解調(diào)解碼部分和信源解碼部分。信道部分即前端,負(fù)責(zé)對(duì)數(shù)字電視信號(hào)進(jìn)行解調(diào)接收和信道解碼。由于前端的不同,機(jī)頂盒可分為數(shù)字衛(wèi)星機(jī)頂盒、數(shù)字地面機(jī)頂盒和數(shù)字有線機(jī)頂盒三種。
該信源解碼器是針對(duì)數(shù)字有線電視機(jī)頂盒研制的,將配接L64768前端,組成符合DVB-C標(biāo)準(zhǔn)的完整機(jī)頂盒方案。本文采用LSI Logic公司的基于SC2005的第二代單片信源解碼方案來(lái)實(shí)現(xiàn)解碼功能。該解碼器的結(jié)構(gòu)框圖如圖1所示,按功能可分為4個(gè)部分:以SC2005為核心的CPU及存儲(chǔ)控制子系統(tǒng);傳輸流解復(fù)用和音視頻解碼子系統(tǒng);圖形處理和屏幕菜單顯示及輸出子系統(tǒng);外圍接口子系統(tǒng)。
圖1 機(jī)頂盒信源解碼器
硬件實(shí)現(xiàn)
該信源解碼器的啟動(dòng)代碼存儲(chǔ)在Flash Boot ROM中,所用字體則存儲(chǔ)在Flash Font ROM中。SC2005的兩個(gè)SDRAM存儲(chǔ)器接口分別與SDRAM-A和SDRAM-B相接。系統(tǒng)加電后,保存在Flash Boot ROM中的啟動(dòng)代碼被調(diào)到SDRAM-B中執(zhí)行。時(shí)鐘由27MHz壓控振蕩器經(jīng)倍頻后提供。壓控振蕩器產(chǎn)生的時(shí)鐘信號(hào)經(jīng)過(guò)74LVC14整形后送到SC2005的VCXO引腳,并通過(guò)SDET引腳的輸出進(jìn)行同步恢復(fù)。傳輸流復(fù)用、音視頻解碼、圖形處理等功能均由SC2005內(nèi)部相應(yīng)的集成模塊配合外部相關(guān)電路來(lái)實(shí)現(xiàn)。
CPU及存儲(chǔ)控制子系統(tǒng)
SC2005集傳輸解復(fù)用器 L641x8和MPEG-2音視頻解碼器L64105的功能于一體,內(nèi)含EZ4102內(nèi)核、16KB指令Cache和8KB數(shù)據(jù)Cache,這是SC2005的核心組成部分。
該信源解碼器所用的兩片1M×16bit Flash ROM均為AM29LV160DT-70,使用單一電源供電,讀寫(xiě)和編程均使用3.3V電壓,高速70ns讀寫(xiě)時(shí)間。它們通過(guò)E-Bus與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的SDRAM-A和108MHz/2M×16bit的SDRAM-B通過(guò)S-BUS 與CPU的SDRAM存儲(chǔ)器接口相連。其中SDRAM-A專(zhuān)門(mén)用于MPEG解碼時(shí)存儲(chǔ)視頻幀和相關(guān)信息,SDRAM-B存儲(chǔ)解復(fù)用、OSG和外圍設(shè)備接口子系統(tǒng)的信息。SDRAM-A與SDRAM-B之間可通過(guò)一個(gè)DMA引擎直接傳送數(shù)據(jù)。
傳輸流解復(fù)用和音視頻解碼子系統(tǒng)
SC2005首先接收來(lái)自信道解碼器或碼流發(fā)生器的TS流,然后自動(dòng)進(jìn)行傳輸包同步檢測(cè)。一旦同步建立,就會(huì)將傳輸包發(fā)送到PID預(yù)處理器中。PID預(yù)處理器分析輸入的傳輸包,檢查它們的PID值,只有和PID表匹配的PID值才能通過(guò)第一步濾波,不匹配的包被丟棄。通過(guò)PID濾波器的傳輸包被送到DVB解擾碼器中,經(jīng)過(guò)解擾的包進(jìn)入PID后處理器,在經(jīng)過(guò)濾波后,音視頻PES數(shù)據(jù)直接進(jìn)入A/V解碼器中,而其它數(shù)據(jù)被送到外部SDRAM-B的循環(huán)緩沖器中,CPU能直接從存儲(chǔ)器中讀數(shù)據(jù)。傳輸流解復(fù)用子系統(tǒng)的結(jié)構(gòu)框圖如圖2所示。
圖2 傳輸流解復(fù)用子系統(tǒng)
解復(fù)用后的音視頻PES流通過(guò)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)過(guò)外部低通濾波后,直接送到電視機(jī)中;數(shù)字音頻信號(hào)送到音頻DAC中,轉(zhuǎn)換成立體聲模擬信號(hào),經(jīng)外部低通濾波后輸出。
圖形處理和屏幕菜單顯示輸出子系統(tǒng)
SC2005集成了高性能的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)將來(lái)自O(shè)SG子系統(tǒng)的圖形和解碼視頻數(shù)據(jù)進(jìn)行混合編碼,然后輸出NTSC/PAL/SECAM制式的RGB/YPbPr、CVBS或S視頻信號(hào)給電視機(jī)或監(jiān)視器。
圖3 ATA硬盤(pán)接口
外圍接口子系統(tǒng)
該信源解碼器集成了一個(gè)ATA硬盤(pán)接口,如圖3所示。用戶可以通過(guò)此接口實(shí)現(xiàn)個(gè)人數(shù)字錄像機(jī)PVR(Personal Video Recorder)功能;還可在硬盤(pán)中開(kāi)設(shè)海量緩存區(qū),在播放數(shù)字電視的同時(shí),對(duì)節(jié)目進(jìn)行長(zhǎng)達(dá)數(shù)小時(shí)的實(shí)時(shí)存儲(chǔ)。依賴(lài)這種緩存技術(shù),用戶可以進(jìn)行時(shí)移播放。
該解碼器擁有一個(gè)TDA8004T智能卡接口和符合IEEE 1149.1標(biāo)準(zhǔn)的JTAG模塊,提供了基本的調(diào)試功能,還提供了LVDS接口,用來(lái)接收碼流發(fā)生器輸出的TS流。由DB-25接口輸入的LVDS信號(hào)通過(guò)3片DS90C032進(jìn)行電平變換后,進(jìn)入解碼器。此外,該系統(tǒng)還使用了一個(gè)UART,用于機(jī)頂盒的調(diào)試和軟件升級(jí)。
圖4 機(jī)頂盒軟件分層框架
軟件設(shè)計(jì)
軟件系統(tǒng)基于一個(gè)分層的框架,其中,部分由LSI Logic在其參考軟件中提供,其它部分需要由用戶自行開(kāi)發(fā)。軟件的整體結(jié)構(gòu)如圖4所示。
實(shí)時(shí)操作系統(tǒng)層(RTOS)是所有上層程序代碼運(yùn)行的基礎(chǔ),主要負(fù)責(zé)多任務(wù)調(diào)度、系統(tǒng)資源管理、中斷處理、通信操作和同步處理等。本文使用的是WindRiver公司專(zhuān)門(mén)為嵌入式系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)的一個(gè)模塊化、高性能的實(shí)時(shí)操作系統(tǒng)pSOSystem。RTOS層用板級(jí)支持包(BSP) 來(lái)實(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é)直接對(duì)硬件寄存器編程;設(shè)備驅(qū)動(dòng)層(DDL)是硬件抽象層的一個(gè)明了、方便的備份和封裝,主要針對(duì)各硬件模塊提供相應(yīng)的驅(qū)動(dòng)程序,如SC2005異常處理的驅(qū)動(dòng)、時(shí)鐘服務(wù)模塊的驅(qū)動(dòng)和OSG圖形庫(kù)的驅(qū)動(dòng)等。應(yīng)用程序接口層(API)為上層的應(yīng)用程序提供API函數(shù)。
驅(qū)動(dòng)適配層(DAL)是對(duì)設(shè)備驅(qū)動(dòng)層功能的進(jìn)一步集合,通過(guò)功能組合可以直接應(yīng)用到應(yīng)用程序?qū)樱鸬搅私涌诘淖饔谩@鐚?duì)Flash的操作,可以用這樣的一個(gè)驅(qū)動(dòng)適配層進(jìn)行功能的進(jìn)一步封裝,以利于上層應(yīng)用程序的調(diào)用。
用戶應(yīng)用程序?qū)邮菣C(jī)頂盒用戶應(yīng)用軟件的主體部分,也是軟件開(kāi)發(fā)的重點(diǎn)。與機(jī)頂盒有關(guān)的所有上層功能的實(shí)現(xiàn)都在這層完成,如關(guān)于用戶界面功能的實(shí)現(xiàn)、EPG的實(shí)現(xiàn)、節(jié)目數(shù)據(jù)庫(kù)的管理、用戶信息輸入/輸出控制和軟件升級(jí)等。
-
機(jī)頂盒
+關(guān)注
關(guān)注
4文章
386瀏覽量
54077 -
芯片
+關(guān)注
關(guān)注
454文章
50444瀏覽量
421921 -
解碼器
+關(guān)注
關(guān)注
9文章
1131瀏覽量
40683
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論