基于數(shù)字電視系統(tǒng)的嵌入式linux操作系統(tǒng)實(shí)現(xiàn)
數(shù)字電視是在電視信號(hào)產(chǎn)生后的處理、傳送、接收、記錄等過(guò)程都采用數(shù)字技術(shù)的電視。在設(shè)計(jì)數(shù)字電視系統(tǒng)時(shí),應(yīng)用于傳統(tǒng)模擬電視系統(tǒng)中的硬件,不能滿(mǎn)足音頻、視頻和數(shù)據(jù)處理等功能的需要,因此,數(shù)字電視系統(tǒng)需要更高性能的處理器和大規(guī)模的存儲(chǔ)器。嵌入式操作系統(tǒng)可以有效的管理這些硬件資源。
本文將嵌入式linux操作系統(tǒng)移植到一個(gè)數(shù)字電視上,使其能夠接收數(shù)字廣播節(jié)目。為了將操作系統(tǒng)移植到數(shù)字電視系統(tǒng)上,需要修改內(nèi)核和交叉開(kāi)發(fā)環(huán)境,重新設(shè)計(jì)基本的設(shè)備驅(qū)動(dòng),配置系統(tǒng)的存儲(chǔ)器映像以便加載內(nèi)核到主存儲(chǔ)器中,并且設(shè)計(jì)一個(gè)總線(xiàn)接口設(shè)備的驅(qū)動(dòng)程序來(lái)控制整個(gè)系統(tǒng)。
2.數(shù)字電視操作系統(tǒng)
數(shù)字電視比模擬電視能夠提供更優(yōu)質(zhì)的電視圖像和更多的視頻服務(wù)。它采用改進(jìn)的掃描線(xiàn)和水平清晰度獲得高質(zhì)量的視頻效果,同時(shí)采用AC3或MPEG2壓縮技術(shù)來(lái)獲得高質(zhì)量的音頻效果。數(shù)字電視的節(jié)目不但便于存儲(chǔ),而且還可以通過(guò)眾多的媒介進(jìn)行傳播。因此,數(shù)字電視系統(tǒng)需要處理大量的數(shù)據(jù)。如在EPG(電子節(jié)目指南)服務(wù)中,被提取出來(lái)的數(shù)據(jù)被修改并存儲(chǔ)后作為一個(gè)畫(huà)面打印至OSD(屏幕菜單式調(diào)節(jié))界面,在這個(gè)過(guò)程中需要靠操作系統(tǒng)來(lái)不斷地接收到被篩選、存儲(chǔ)后的信號(hào),同時(shí)產(chǎn)生屏幕畫(huà)面。
市場(chǎng)上的數(shù)字電視系統(tǒng)包括如pSOSTM (Windriver Inc.)等的商業(yè)操作系統(tǒng),這些系統(tǒng)具有高可靠性和最優(yōu)化的特點(diǎn),但要支付昂貴的版稅。如果在數(shù)字電視系統(tǒng)中使用嵌入式linux操作系統(tǒng),則不用支付版稅費(fèi)用。嵌入式linux操作系統(tǒng)還有其他一些優(yōu)點(diǎn),如有開(kāi)放源代碼的設(shè)備驅(qū)動(dòng)程序及應(yīng)用程序的存在,大大縮短了開(kāi)發(fā)時(shí)間;利用shell、文件系統(tǒng)及模塊功能方便了開(kāi)發(fā)環(huán)境的配置;許多問(wèn)題可以在開(kāi)源社區(qū)得到快速解決等。
3.商業(yè)數(shù)字電視系統(tǒng)
數(shù)字電視的結(jié)構(gòu)
數(shù)字電視系統(tǒng)包括數(shù)字處理模塊、視頻處理模塊、射頻模塊、LCD驅(qū)動(dòng)模塊和模擬輸出模塊,其結(jié)構(gòu)如圖1所示。
數(shù)字處理模塊負(fù)責(zé)控制其它模塊和執(zhí)行程序。它由MCU、SDRAM、FLASH存儲(chǔ)器、UART、I2C總線(xiàn)接口構(gòu)成。視頻處理模塊把從射頻模塊捕獲的數(shù)據(jù)解碼生成視頻、音頻和文本消息。它由一個(gè)信號(hào)處理單元(SPU)和一個(gè)SDRAM構(gòu)成,SDRAM中包含被顯示的數(shù)據(jù)幀。射頻模塊接收數(shù)字廣播信號(hào),并且將該信號(hào)解調(diào)成數(shù)據(jù)流。LCD驅(qū)動(dòng)模塊控制LCD面板。模擬輸出模塊控制視頻-音頻信號(hào)輸出和輸出信號(hào)。數(shù)字處理模塊通過(guò)I2C總線(xiàn),控制射頻模塊、LCD模塊和模擬輸出模塊,同時(shí)通過(guò)DMA控制視頻處理模塊。
硬件構(gòu)成
在數(shù)字電視系統(tǒng)中,數(shù)字處理模塊的核心是ARM7TDMITM,它不包括MMU(存儲(chǔ)器管理單元)。在數(shù)字電視系統(tǒng)中MCU只支持大端格式[5],存儲(chǔ)器映射由MCU內(nèi)的系統(tǒng)管理寄存器來(lái)配置,在系統(tǒng)運(yùn)行之前,嵌入式linux內(nèi)核運(yùn)行在flashROM中,當(dāng)系統(tǒng)運(yùn)行時(shí),內(nèi)核被拷入ram中。除了ROM和RAM外,外設(shè)也經(jīng)常被使用。這些設(shè)備被映射到一個(gè)線(xiàn)性存儲(chǔ)器映射單元,且可以按同樣的方式尋址。。MCU的中斷控制器包括21個(gè)中斷資源(其中17個(gè)來(lái)自?xún)?nèi)部設(shè)備,4個(gè)來(lái)自外部設(shè)備)。數(shù)字處理模塊中的定時(shí)器是一個(gè)32位的間隔模式定時(shí)器。在系統(tǒng)中用串口設(shè)備如UART(通用異步收發(fā)器)來(lái)打印啟動(dòng)過(guò)程中的消息和程序出錯(cuò)信息,由于射頻模塊、LCD驅(qū)動(dòng)模塊、模擬輸出模塊都是由MCU通過(guò)I2C總線(xiàn)控制,因此,在MCU和I2C串行總線(xiàn)之間需要一個(gè)接口。在這里使用PCF8584 (Philips Inc.)。圖2描述了MCU和I2C總線(xiàn)之間的連接。
評(píng)論