一種面向DVB-C的單片MPEG-2解碼方案
射頻部分主要包括高頻頭和解調芯片,分別進(jìn)行射頻的變頻和信道解碼。在本系統中選用的高頻頭是THOMSON公司的DCF8910,解調芯片是ST公司的STV0297。系統工作時(shí),先由高頻頭將RF頻段的數字調制信號進(jìn)行下變頻,再進(jìn)行正交解調變成兩路IQ信號。然后將數字基帶信號輸入STV0297,進(jìn)行數模轉換和信道解碼,形成數字信號給后級,其中包括DaM[0..7]、出錯信號DErM、數據有效DvLM、 幀同步PsyM、時(shí)鐘信號ClkM。對高頻頭和STV0297的讀寫(xiě)操作均通過(guò)IIC總線(xiàn)完成。
(2) 存儲器部分
存儲器部分包括兩片512K×16Bit的FLASH,一片2×512K×16Bit的SDRAM,一片64Kbit的EEPROM和一塊掛在Host接口上的IDE硬盤(pán)。兩片FLASH用來(lái)存儲一般無(wú)需更改的數據,一片為啟動(dòng)FLASH,用于存儲系統的應用程序;另一片為用戶(hù)FLASH,用于存儲較大的位圖。SDRAM作為應用程序運行時(shí)的內存空間,其地址線(xiàn)包括行選地址線(xiàn)a0...a11、列選地址線(xiàn)a0...a7及Bank選擇線(xiàn)a11,總的地址空間為2M字節。FLASH與SDRAM共用數據總線(xiàn)和地址總線(xiàn),為不發(fā)生沖突,需要使用74LS138譯碼器來(lái)進(jìn)行片選。EEPROM選用24C64,通過(guò)串行IIC總線(xiàn)對它進(jìn)行讀寫(xiě)。
(3)輸出部分
輸出部分由音頻輸出、視頻輸出和串口輸出組成。視頻部分選用視頻編碼芯片SAA7128/29,它將送出來(lái)的數字視頻格式進(jìn)行數模轉換,經(jīng)過(guò)視頻矩陣編碼成模擬的視頻信號。它可輸出cvbs,y、c和R、G、B三種信號。該芯片工作在Slave模式下,即數據時(shí)鐘由主芯片供給,SAA7128/29利用此時(shí)鐘對數字信號進(jìn)行鎖存??刂菩盘栍蠬s行同步、Vs場(chǎng)同步,主芯片通過(guò)IIC總線(xiàn)對它進(jìn)行控制。
音頻部分使用PCM1723對主芯片送出的PCM數字音頻進(jìn)行數模轉換,其時(shí)鐘包括左右時(shí)鐘和位時(shí)鐘。PCM1723是通過(guò)主芯片產(chǎn)生的27MHz信號來(lái)實(shí)現同步的:它用將27MHz信號經(jīng)過(guò)分頻而得到的超采樣時(shí)鐘來(lái)鎖存數字信號,同時(shí)將超采樣時(shí)鐘送回主芯片的音頻輸出部分進(jìn)行同步,因而使得音頻數字信號的輸出與它的鎖存同步。音頻數模轉換后再經(jīng)過(guò)模擬放大(如LM6142)就可以送給發(fā)聲部分了。
2.2 軟件模塊和功能介紹
為了豐富DVB-C機頂盒的功能,除了實(shí)現音視頻解碼及控制和基本的DVB-C功能外,還編寫(xiě)了以下幾個(gè)軟件模塊:
(1)基于嵌入式系統的GUI(Graphic User Interface)。
美觀(guān)、簡(jiǎn)潔、功能強大的圖形界面對于DVB-C機頂盒是十分重要的,因此編寫(xiě)了一個(gè)基于嵌入式系統的GUI。在本系統中,GUI主要完成了三部分的功能:第一,封裝圖形設計API。在OSD的驅動(dòng)程序中基本的圖形原語(yǔ)均已實(shí)現,其中包括點(diǎn)、線(xiàn)、矩形、填充等基本操作和漢字字庫的存儲、顯示。但為了適應應用層的調用,在GUI中還要將這些原語(yǔ)封裝成API;第二,提供圖形控件(Control)機制。Windows9x中圖形控件的概念符合面向對象程序設計的思想,使用起來(lái)簡(jiǎn)單靈活,維護和修改也十分方便。在GUI的設計中,仿照Windows9x實(shí)現了控件機制;第三,進(jìn)程間通信及消息傳遞的管理。在一個(gè)多進(jìn)程實(shí)時(shí)系統中,GUI也必然包含一個(gè)進(jìn)程來(lái)接收其它進(jìn)程發(fā)給用戶(hù)界面的消息。
(2) EEPROM上的文件系統
EEPROM中主要存儲的是用戶(hù)信息。隨著(zhù)功能的不斷豐富,用戶(hù)會(huì )有越來(lái)越多的信息需要存儲,因此就需要一套簡(jiǎn)單有效的文件系統來(lái)組織各種不同的信息。同時(shí),文件系統還要盡量克服EEPROM讀寫(xiě)時(shí)間較長(cháng)、不允許讀寫(xiě)時(shí)斷電等缺點(diǎn)。這套文件系統主要完成三部分功能:第一,建立一套與流行操作系統基本相同的文件目錄機制。規定32個(gè)字節為一個(gè)文件塊(BLOCK),一個(gè)文件由一個(gè)或多個(gè)文件塊組成。文件采用樹(shù)狀結構組織,同層文件均以雙向鏈表機構進(jìn)行銜接,并且寫(xiě)入信息時(shí),不會(huì )對指針進(jìn)行操作,保證了安全性;第二,設計EEPROM讀寫(xiě)時(shí)機和策略。每次開(kāi)機時(shí)在SDRAM中開(kāi)辟一塊與EEPROM同樣大小的區域作為鏡像。所有讀操作均在鏡像中進(jìn)行,這樣將大大提高讀操作的效率,而寫(xiě)操作將對EEPROM和鏡像同時(shí)操作,保證鏡像和EEPROM中信息完全一致;第三,提供強大的斷電保護功能。在對EEPROM進(jìn)行寫(xiě)操作前,先將需要進(jìn)行的操作過(guò)程記錄下來(lái),并清空操作完成標志;如果在操作過(guò)程中斷電,下次開(kāi)機時(shí)根據操作完成標志可知EEPROM在操作過(guò)程中發(fā)生了斷電,按照記錄下來(lái)的操作過(guò)程恢復操作。
評論