引言
近年來,我國廣播電視數字化發展的進程明顯加快,從而直接引發了對機頂盒(Set-top Box)的巨大市場需求,凸顯了其重要性。在機頂盒的研發過程中,信源解碼器的研制是整個開發工作的基礎和核心。隨著機卡分離政策的出臺,信源解碼器的通用性和復雜性,使其在機頂盒終端的開發過程中變得更加重要。本文論述的即為符合DVB-C標準的數字有線電視機頂盒信源解碼器的設計與實現。
總體方案
機頂盒大體可以分成兩個功能部分:信道解調解碼部分和信源解碼部分。信道部分即前端,負責對數字電視信號進行解調接收和信道解碼。由于前端的不同,機頂盒可分為數字衛星機頂盒、數字地面機頂盒和數字有線機頂盒三種。
該信源解碼器是針對數字有線電視機頂盒研制的,將配接L64768前端,組成符合DVB-C標準的完整機頂盒方案。本文采用LSI Logic公司的基于SC2005的第二代單片信源解碼方案來實現解碼功能。該解碼器的結構框圖如圖1所示,按功能可分為4個部分:以SC2005為核心的CPU及存儲控制子系統;傳輸流解復用和音視頻解碼子系統;圖形處理和屏幕菜單顯示及輸出子系統;外圍接口子系統。
圖1 機頂盒信源解碼器
硬件實現
該信源解碼器的啟動代碼存儲在Flash Boot ROM中,所用字體則存儲在Flash Font ROM中。SC2005的兩個SDRAM存儲器接口分別與SDRAM-A和SDRAM-B相接。系統加電后,保存在Flash Boot ROM中的啟動代碼被調到SDRAM-B中執行。時鐘由27MHz壓控振蕩器經倍頻后提供。壓控振蕩器產生的時鐘信號經過74LVC14整形后送到SC2005的VCXO引腳,并通過SDET引腳的輸出進行同步恢復。傳輸流復用、音視頻解碼、圖形處理等功能均由SC2005內部相應的集成模塊配合外部相關電路來實現。
CPU及存儲控制子系統
SC2005集傳輸解復用器 L641x8和MPEG-2音視頻解碼器L64105的功能于一體,內含EZ4102內核、16KB指令Cache和8KB數據Cache,這是SC2005的核心組成部分。
該信源解碼器所用的兩片1M×16bit Flash ROM均為AM29LV160DT-70,使用單一電源供電,讀寫和編程均使用3.3V電壓,高速70ns讀寫時間。它們通過E-Bus與SC2005相連,地址總線A[6:0]和SC2005的ADDR[7:1]相連,A[19:7]和SC2005的AD[28:16]相連,數據總線DQ[15:0]和SC2005的AD[15:0]相連。芯片內部共有35個扇區,其中4個作為引導扇區,大小為4k字~16k字,其余31個扇區為32k字;有一個字節/字模式選擇引腳BYTE#,本設計中該引腳接高電平,選擇字模式。
81MHz/1M×16bit的SDRAM-A和108MHz/2M×16bit的SDRAM-B通過S-BUS 與CPU的SDRAM存儲器接口相連。其中SDRAM-A專門用于MPEG解碼時存儲視頻幀和相關信息,SDRAM-B存儲解復用、OSG和外圍設備接口子系統的信息。SDRAM-A與SDRAM-B之間可通過一個DMA引擎直接傳送數據。
傳輸流解復用和音視頻解碼子系統
SC2005首先接收來自信道解碼器或碼流發生器的TS流,然后自動進行傳輸包同步檢測。一旦同步建立,就會將傳輸包發送到PID預處理器中。PID預處理器分析輸入的傳輸包,檢查它們的PID值,只有和PID表匹配的PID值才能通過第一步濾波,不匹配的包被丟棄。通過PID濾波器的傳輸包被送到DVB解擾碼器中,經過解擾的包進入PID后處理器,在經過濾波后,音視頻PES數據直接進入A/V解碼器中,而其它數據被送到外部SDRAM-B的循環緩沖器中,CPU能直接從存儲器中讀數據。傳輸流解復用子系統的結構框圖如圖2所示。
圖2 傳輸流解復用子系統
解復用后的音視頻PES流通過A/V接口進入L64105 MPEG-2解碼器進行分組解碼。L64105輸出數字視頻和數字音頻信號各兩組。一組數字視頻和一組數字音頻信號直接輸出。另一組的數字視頻信號送到視頻編碼器中,被轉換成全電視信號(CVBS)或S端子信號(Y/C),經過外部低通濾波后,直接送到電視機中;數字音頻信號送到音頻DAC中,轉換成立體聲模擬信號,經外部低通濾波后輸出。
圖形處理和屏幕菜單顯示輸出子系統
SC2005集成了高性能的OSG(On-Screen Graphics)子系統,該子系統可產生文本和圖形并疊加到解碼的視頻上。OSG子系統產生靜止層、OSD層和光標層;解碼子系統提供視頻層;混合器/編碼器子系統產生背景顏色層,并在視頻輸出之前將上述5層進行編碼復合,從而根據需要顯示所要輸出的復合視頻。這個子系統將來自OSG子系統的圖形和解碼視頻數據進行混合編碼,然后輸出NTSC/PAL/SECAM制式的RGB/YPbPr、CVBS或S視頻信號給電視機或監視器。
圖3 ATA硬盤接口
外圍接口子系統
該信源解碼器集成了一個ATA硬盤接口,如圖3所示。用戶可以通過此接口實現個人數字錄像機PVR(Personal Video Recorder)功能;還可在硬盤中開設海量緩存區,在播放數字電視的同時,對節目進行長達數小時的實時存儲。依賴這種緩存技術,用戶可以進行時移播放。
該解碼器擁有一個TDA8004T智能卡接口和符合IEEE 1149.1標準的JTAG模塊,提供了基本的調試功能,還提供了LVDS接口,用來接收碼流發生器輸出的TS流。由DB-25接口輸入的LVDS信號通過3片DS90C032進行電平變換后,進入解碼器。此外,該系統還使用了一個UART,用于機頂盒的調試和軟件升級。
圖4 機頂盒軟件分層框架
軟件設計
軟件系統基于一個分層的框架,其中,部分由LSI Logic在其參考軟件中提供,其它部分需要由用戶自行開發。軟件的整體結構如圖4所示。
實時操作系統層(RTOS)是所有上層程序代碼運行的基礎,主要負責多任務調度、系統資源管理、中斷處理、通信操作和同步處理等。本文使用的是WindRiver公司專門為嵌入式系統設計和開發的一個模塊化、高性能的實時操作系統pSOSystem。RTOS層用板級支持包(BSP) 來實現與硬件層接口。
操作系統移植層(OSP)實現兩個主要功能:一個是動態配置任務的屬性,如上下文的切換,優先級等;另一個是管理任務之間的通信,如數據傳輸與同步。硬件抽象層(HAL)負責直接對硬件寄存器編程;設備驅動層(DDL)是硬件抽象層的一個明了、方便的備份和封裝,主要針對各硬件模塊提供相應的驅動程序,如SC2005異常處理的驅動、時鐘服務模塊的驅動和OSG圖形庫的驅動等。應用程序接口層(API)為上層的應用程序提供API函數。
驅動適配層(DAL)是對設備驅動層功能的進一步集合,通過功能組合可以直接應用到應用程序層,它起到了接口的作用。例如對Flash的操作,可以用這樣的一個驅動適配層進行功能的進一步封裝,以利于上層應用程序的調用。
用戶應用程序層是機頂盒用戶應用軟件的主體部分,也是軟件開發的重點。與機頂盒有關的所有上層功能的實現都在這層完成,如關于用戶界面功能的實現、EPG的實現、節目數據庫的管理、用戶信息輸入/輸出控制和軟件升級等。
-
機頂盒
+關注
關注
4文章
390瀏覽量
54120 -
芯片
+關注
關注
455文章
50714瀏覽量
423157 -
解碼器
+關注
關注
9文章
1143瀏覽量
40718
發布評論請先 登錄
相關推薦
評論