雷豐中,劉 鵬
(郴州技師學(xué)院 電氣工程系,湖南 郴州 423000)
隨著信息時代的到來,家庭娛樂朝著數(shù)值化、網(wǎng)絡(luò)化、智能化發(fā)展[1],同時嵌入式多媒體系統(tǒng)越來越復(fù)雜,多媒體數(shù)據(jù)也朝著數(shù)據(jù)量大、數(shù)據(jù)類型多、數(shù)據(jù)類型間區(qū)別大、輸入和輸出復(fù)雜的方向進(jìn)發(fā),傳統(tǒng)的處理器已不能滿足多媒體數(shù)據(jù)處理的功能。在不斷優(yōu)化軟件處理數(shù)據(jù)能力的同時,也不斷要求硬件性能提升和功能增加。
利用S3C6410開發(fā)的多媒體系統(tǒng)平臺與趙智雅[2]等人設(shè)計(jì)的嵌入式圖像采集系統(tǒng)的平臺相比,在圖像采集速率、解碼速度、多媒體接口種類以及系統(tǒng)穩(wěn)定性等方面具有明顯的優(yōu)勢。由于本系統(tǒng)充分利用S3C6410處理器豐富的硬件多媒體處理資源和高速的數(shù)據(jù)傳輸能力,使開發(fā)人員可以集中精力開發(fā)與圖像視頻處理相關(guān)的最大化附加值的產(chǎn)品上來,而不用占用太多系統(tǒng)資源來完成多媒體信息的常規(guī)操作,例如圖片和視頻的讀入編解碼操作,從而保證開發(fā)人員短時間開發(fā)出的嵌入式多媒體系統(tǒng)具有實(shí)時性、可靠性。
由三星公司開發(fā)的基于ARM11的S3C6410處理器是一個16/32RISC微處理器,能在667 MHz主頻上穩(wěn)定工作,DDR數(shù)據(jù)傳輸速率可達(dá)266 Mbit/s。采用64/32位內(nèi)部總線架構(gòu),該結(jié)構(gòu)由AXI,AHB和APB總線組成。S3C6410處理器內(nèi)部集成了多個功能強(qiáng)大的2D/3D硬件加速器和JPEG圖片硬件編解碼單元,BIT處理器嵌入在其內(nèi)部能提高圖像處理的性能,在BIT處理器上運(yùn)行多媒體程序?qū)崿F(xiàn)MPEG-4/H.264/H.263/VC-1的視頻編解碼。硬件編碼器/解碼器可以實(shí)現(xiàn)實(shí)時視頻會議及NTSC和PAL格式的TV輸出。圖1是利用S3C6410豐富的硬件資源和外圍電路設(shè)計(jì)的基于S3C6410的多媒體系統(tǒng)框圖,該系統(tǒng)具有各種多媒體接口,例如,TV out接口、VGA接口、S-Video接口、Camera輸入接口、鍵盤接口、TTL/LVDS多款液晶屏接口等。
BIT處理器被優(yōu)化后處理比特流的性能非常好,可處理如MPEG-4,H.264視頻壓縮比特流,本質(zhì)是一個可編程的16位數(shù)字信號處理器,在處理大量比特流時,BIT處理器可以控制視頻編解碼并且通過APB(Advanced Peripheral Bus)總線接口與主處理器通信,通過AXI(Advanced Extensible Interface)總線接口可以實(shí)現(xiàn)同外部存儲器進(jìn)行通信。內(nèi)部編解碼單元能達(dá)到以下性能[3]:
1)全雙工通信的VGA接口,可實(shí)現(xiàn)30 f/s視頻壓縮和解壓的性能;
2)全雙工通信的720×480圖像處理單元,同樣可以實(shí)現(xiàn)30 f/s視頻壓縮和解壓性能。
S3C6410的編解碼單元包括BIT處理器和視頻編解碼單元,為了使視頻編解碼性能更好和容錯能力更強(qiáng),S3C6410中視頻比特流數(shù)據(jù)的處理由BIT處理器來完成。BIT處理器能形成多媒體數(shù)據(jù)比特流和對視頻編解碼進(jìn)行控制,內(nèi)部一些硬件加速器資源可以實(shí)現(xiàn)比特流的加速處理。編解碼單元的硬件經(jīng)過優(yōu)化后降低了系統(tǒng)復(fù)雜性,并且不同視頻格式的數(shù)據(jù)在編解碼時可以使用相同功能的模塊。復(fù)雜度高的運(yùn)動估計(jì)模塊通過單獨(dú)設(shè)計(jì)的一塊查找RAM來減少外部SDRAM(Synchronous Dynamic Random Access Memory)的帶寬,通常運(yùn)動估計(jì)模塊從外部SDRAM讀取參考像素值然后裝載到查找RAM 并存儲,AHB(Advanced High performance Bus)總線可以對查找RAM進(jìn)行訪問。主處理器與編解碼單元的數(shù)據(jù)交換是通過API(Application Programming Interface)接口,在BIT處理器上運(yùn)行的程序和多媒體數(shù)據(jù)可以使用APB和AXI總線下載使用。BIT處理器和視頻編解碼模塊的功能如圖2所示。
為了方便人機(jī)控制,提出選用BC7210為解碼芯片對嵌入式多媒體開發(fā)平臺實(shí)現(xiàn)紅外遙控控制。采用飛利浦公司推出的RC5編碼方式,RC5編碼方式采用雙相位編碼方式,用不同相位分別代表“0”和“1”。傳送每一位的固定時間為1.778 ms。RC5表示方式如圖3所示。
每一個指令包括1.5 bit的起始位(2個邏輯1)、1個翻轉(zhuǎn)位、5位系統(tǒng)碼(地址碼)以及6位命令碼(鍵碼),因此最多可以支持64個按鍵。圖4為RC5的編碼格式及各位代表含義。
在每次有新的按鍵按下時翻轉(zhuǎn)一次,新的按鍵也包括同一個按鍵按下后再次按下則翻轉(zhuǎn)位也會翻轉(zhuǎn)一次,如果某個按鍵按下不放,則編碼芯片會不斷重復(fù)發(fā)送同樣數(shù)據(jù),翻轉(zhuǎn)位保持不變,而如果某個按鍵按下后抬起再次按下,則發(fā)送的數(shù)據(jù)翻轉(zhuǎn)位發(fā)生翻轉(zhuǎn),其他數(shù)據(jù)位保持不變。
紅外遙控電路采用RC5解碼方式,所以BC7210的MOD引腳接高電平。同時注意解碼模式只能在復(fù)位時設(shè)定,工作過程中改變MOD引腳的電平不會改變解碼模式,當(dāng)復(fù)位時MOD引腳為高電平,芯片工作為RC5解碼模式。
BC7210的CC引腳不接上拉電阻,則BC7210工作在使用用戶碼的狀態(tài)下,用戶碼通過撥碼開關(guān)設(shè)置,BC7210在復(fù)位時讀取用戶碼(地址碼)的設(shè)置,在解碼時將收到的遙控信號的用戶碼(地址碼)與設(shè)置的用戶碼進(jìn)行對比,只有當(dāng)接收數(shù)據(jù)的用戶碼與設(shè)置的用戶碼相同時,才會將按鍵碼數(shù)據(jù)輸出,否則將數(shù)據(jù)忽略[3]。在這種模式下,BC7210只輸出1 byte的按鍵碼數(shù)據(jù),而且數(shù)據(jù)中只有5位地址碼因此只有D0~D4來設(shè)置地址碼,通過D0~D4上接下拉電阻來設(shè)置地址碼,電阻值要小于5 kΩ。若要設(shè)置相應(yīng)的地址碼為1,則合上撥碼開關(guān)。
BC7210的S/P引腳的連接方式?jīng)Q定了解碼結(jié)果的輸出方式,采用BC7210的S/P引腳接地,則數(shù)據(jù)采取串行輸出方式,采用標(biāo)準(zhǔn)的SPI連接方式,------ACT為接受數(shù)據(jù)有效指示信號,D7(DAT)接XspiMISO,D6(CLK)接Xspi-CLK,D5(SS)接XspiCS。圖5給出了紅外遙控電路設(shè)計(jì)圖以及與S3C6410的連接方式。
基于S3C6410的BSP支持多種不同類型、不同顯示分辨力的液晶顯示屏,其支持不同類型的顯示器種類多于吳英麗等[4]人設(shè)計(jì)的一種改進(jìn)的嵌入式智能視頻監(jiān)控系統(tǒng),為了保證LCD顯示屏能夠正確顯示,在編譯內(nèi)核驅(qū)動程序之前要保證顯示驅(qū)動與用戶手中的液晶顯示屏型號相對應(yīng),若要更改顯示屏則需要更改內(nèi)核顯示驅(qū)動程序并重新編譯內(nèi)核程序,更改內(nèi)核程序的方法為:
使用的顯示屏型號需要選用正確的預(yù)編譯頭文件,這里選用群創(chuàng)7 in的液晶屏,保存文件,重新編譯BSP將生產(chǎn)的NK.bin文件燒寫到平臺,接上對應(yīng)的液晶屏即可使用,實(shí)驗(yàn)測試該顯示屏性能良好。圖6為顯示屏測試圖像。
本系統(tǒng)的TV out接口是標(biāo)準(zhǔn)復(fù)合視頻信號,如圖7所示,支持NTSLPAL格式,可直接連接各種視頻播放設(shè)備,將電視視頻信號線接入多媒體系統(tǒng)的TV out接口,接通電源開機(jī)進(jìn)入WinCE 6.0系統(tǒng),運(yùn)行TV out測試程序?qū)⑤敵銮袚Q到電視顯示,顯示界面如圖8所示。
將本實(shí)驗(yàn)室開發(fā)的電表圖像數(shù)字識別嵌入式軟件運(yùn)行在S3C6410的嵌入式多媒體平臺上,運(yùn)行界面如圖9所示。在運(yùn)行過程中測試電表圖像(300萬像素)的讀入及運(yùn)算過程中比較耗時的幾個過程解碼、識別所耗費(fèi)的時間與李侃[5]等人設(shè)計(jì)的內(nèi)核為ARM926EJ,主頻為445 MHz的基于S3C2410與嵌入式Linux的圖像采集應(yīng)用平臺作比較,如表1所示。
由實(shí)驗(yàn)數(shù)據(jù)發(fā)現(xiàn),S3C2410系統(tǒng)平臺由于不帶硬件解碼單元和在圖片解碼過程中耗時過長,而S3C6410電表圖片解碼時間可達(dá)實(shí)時,說明本平臺在開發(fā)多媒體系統(tǒng)時具有明顯的性能優(yōu)勢。
表1 實(shí)驗(yàn)對比數(shù)據(jù)
筆者用基于ARM11的S3C6410設(shè)計(jì)了嵌入式多媒體開發(fā)系統(tǒng),結(jié)合S3C6410的多媒體硬件資源和外圍電路設(shè)計(jì)使該系統(tǒng)具有豐富的多媒體接口,為了方便人機(jī)交互為該系統(tǒng)采用一種新的方式設(shè)計(jì)了紅外遙控電路。最后對該平臺的多媒體接口進(jìn)行(VGA接口、LCD接口、TV接口等)測試,硬件解碼單元測試性能良好,并把在該平臺上運(yùn)行的電表識別嵌入式軟件耗費(fèi)時間與S3C2410系統(tǒng)平臺的作比較,該系統(tǒng)在處理多媒體數(shù)據(jù)時具有明顯的優(yōu)勢,為開發(fā)其他的嵌入式多媒體軟件提供了可靠的平臺。
[1]曾捷.一種多媒體IPTV的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2009,33(12):64-66.
[2]趙智雅,王澤勇.嵌入式圖像采集系統(tǒng)的平臺設(shè)計(jì)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2009,8(12):136-139.
[3]葉俊華.基于ARM11的嵌入式視頻處理終端設(shè)計(jì)[D].長沙:中南大學(xué),2009.
[4]吳英麗,陳勝權(quán),劉旭明.一種改進(jìn)的嵌入式智能視頻監(jiān)控系統(tǒng)[J].電視技術(shù),2008,32(4):91-93.
[5]李侃,廖啟征.基于S3C2410平臺與嵌入式Linux的圖像采集應(yīng)用[J].微計(jì)算機(jī)信息,2006,22(8):125-127.