雷豐中,劉 鵬
(郴州技師學院 電氣工程系,湖南 郴州 423000)
隨著信息時代的到來,家庭娛樂朝著數值化、網絡化、智能化發展[1],同時嵌入式多媒體系統越來越復雜,多媒體數據也朝著數據量大、數據類型多、數據類型間區別大、輸入和輸出復雜的方向進發,傳統的處理器已不能滿足多媒體數據處理的功能。在不斷優化軟件處理數據能力的同時,也不斷要求硬件性能提升和功能增加。
利用S3C6410開發的多媒體系統平臺與趙智雅[2]等人設計的嵌入式圖像采集系統的平臺相比,在圖像采集速率、解碼速度、多媒體接口種類以及系統穩定性等方面具有明顯的優勢。由于本系統充分利用S3C6410處理器豐富的硬件多媒體處理資源和高速的數據傳輸能力,使開發人員可以集中精力開發與圖像視頻處理相關的最大化附加值的產品上來,而不用占用太多系統資源來完成多媒體信息的常規操作,例如圖片和視頻的讀入編解碼操作,從而保證開發人員短時間開發出的嵌入式多媒體系統具有實時性、可靠性。
由三星公司開發的基于ARM11的S3C6410處理器是一個16/32RISC微處理器,能在667 MHz主頻上穩定工作,DDR數據傳輸速率可達266 Mbit/s。采用64/32位內部總線架構,該結構由AXI,AHB和APB總線組成。S3C6410處理器內部集成了多個功能強大的2D/3D硬件加速器和JPEG圖片硬件編解碼單元,BIT處理器嵌入在其內部能提高圖像處理的性能,在BIT處理器上運行多媒體程序實現MPEG-4/H.264/H.263/VC-1的視頻編解碼。硬件編碼器/解碼器可以實現實時視頻會議及NTSC和PAL格式的TV輸出。圖1是利用S3C6410豐富的硬件資源和外圍電路設計的基于S3C6410的多媒體系統框圖,該系統具有各種多媒體接口,例如,TV out接口、VGA接口、S-Video接口、Camera輸入接口、鍵盤接口、TTL/LVDS多款液晶屏接口等。
BIT處理器被優化后處理比特流的性能非常好,可處理如MPEG-4,H.264視頻壓縮比特流,本質是一個可編程的16位數字信號處理器,在處理大量比特流時,BIT處理器可以控制視頻編解碼并且通過APB(Advanced Peripheral Bus)總線接口與主處理器通信,通過AXI(Advanced Extensible Interface)總線接口可以實現同外部存儲器進行通信。內部編解碼單元能達到以下性能[3]:
1)全雙工通信的VGA接口,可實現30 f/s視頻壓縮和解壓的性能;

2)全雙工通信的720×480圖像處理單元,同樣可以實現30 f/s視頻壓縮和解壓性能。
S3C6410的編解碼單元包括BIT處理器和視頻編解碼單元,為了使視頻編解碼性能更好和容錯能力更強,S3C6410中視頻比特流數據的處理由BIT處理器來完成。BIT處理器能形成多媒體數據比特流和對視頻編解碼進行控制,內部一些硬件加速器資源可以實現比特流的加速處理。編解碼單元的硬件經過優化后降低了系統復雜性,并且不同視頻格式的數據在編解碼時可以使用相同功能的模塊。復雜度高的運動估計模塊通過單獨設計的一塊查找RAM來減少外部SDRAM(Synchronous Dynamic Random Access Memory)的帶寬,通常運動估計模塊從外部SDRAM讀取參考像素值然后裝載到查找RAM 并存儲,AHB(Advanced High performance Bus)總線可以對查找RAM進行訪問。主處理器與編解碼單元的數據交換是通過API(Application Programming Interface)接口,在BIT處理器上運行的程序和多媒體數據可以使用APB和AXI總線下載使用。BIT處理器和視頻編解碼模塊的功能如圖2所示。

為了方便人機控制,提出選用BC7210為解碼芯片對嵌入式多媒體開發平臺實現紅外遙控控制。采用飛利浦公司推出的RC5編碼方式,RC5編碼方式采用雙相位編碼方式,用不同相位分別代表“0”和“1”。傳送每一位的固定時間為1.778 ms。RC5表示方式如圖3所示。

每一個指令包括1.5 bit的起始位(2個邏輯1)、1個翻轉位、5位系統碼(地址碼)以及6位命令碼(鍵碼),因此最多可以支持64個按鍵。圖4為RC5的編碼格式及各位代表含義。

在每次有新的按鍵按下時翻轉一次,新的按鍵也包括同一個按鍵按下后再次按下則翻轉位也會翻轉一次,如果某個按鍵按下不放,則編碼芯片會不斷重復發送同樣數據,翻轉位保持不變,而如果某個按鍵按下后抬起再次按下,則發送的數據翻轉位發生翻轉,其他數據位保持不變。
紅外遙控電路采用RC5解碼方式,所以BC7210的MOD引腳接高電平。同時注意解碼模式只能在復位時設定,工作過程中改變MOD引腳的電平不會改變解碼模式,當復位時MOD引腳為高電平,芯片工作為RC5解碼模式。
BC7210的CC引腳不接上拉電阻,則BC7210工作在使用用戶碼的狀態下,用戶碼通過撥碼開關設置,BC7210在復位時讀取用戶碼(地址碼)的設置,在解碼時將收到的遙控信號的用戶碼(地址碼)與設置的用戶碼進行對比,只有當接收數據的用戶碼與設置的用戶碼相同時,才會將按鍵碼數據輸出,否則將數據忽略[3]。在這種模式下,BC7210只輸出1 byte的按鍵碼數據,而且數據中只有5位地址碼因此只有D0~D4來設置地址碼,通過D0~D4上接下拉電阻來設置地址碼,電阻值要小于5 kΩ。若要設置相應的地址碼為1,則合上撥碼開關。
BC7210的S/P引腳的連接方式決定了解碼結果的輸出方式,采用BC7210的S/P引腳接地,則數據采取串行輸出方式,采用標準的SPI連接方式,------ACT為接受數據有效指示信號,D7(DAT)接XspiMISO,D6(CLK)接Xspi-CLK,D5(SS)接XspiCS。圖5給出了紅外遙控電路設計圖以及與S3C6410的連接方式。

基于S3C6410的BSP支持多種不同類型、不同顯示分辨力的液晶顯示屏,其支持不同類型的顯示器種類多于吳英麗等[4]人設計的一種改進的嵌入式智能視頻監控系統,為了保證LCD顯示屏能夠正確顯示,在編譯內核驅動程序之前要保證顯示驅動與用戶手中的液晶顯示屏型號相對應,若要更改顯示屏則需要更改內核顯示驅動程序并重新編譯內核程序,更改內核程序的方法為:

使用的顯示屏型號需要選用正確的預編譯頭文件,這里選用群創7 in的液晶屏,保存文件,重新編譯BSP將生產的NK.bin文件燒寫到平臺,接上對應的液晶屏即可使用,實驗測試該顯示屏性能良好。圖6為顯示屏測試圖像。

本系統的TV out接口是標準復合視頻信號,如圖7所示,支持NTSLPAL格式,可直接連接各種視頻播放設備,將電視視頻信號線接入多媒體系統的TV out接口,接通電源開機進入WinCE 6.0系統,運行TV out測試程序將輸出切換到電視顯示,顯示界面如圖8所示。


將本實驗室開發的電表圖像數字識別嵌入式軟件運行在S3C6410的嵌入式多媒體平臺上,運行界面如圖9所示。在運行過程中測試電表圖像(300萬像素)的讀入及運算過程中比較耗時的幾個過程解碼、識別所耗費的時間與李侃[5]等人設計的內核為ARM926EJ,主頻為445 MHz的基于S3C2410與嵌入式Linux的圖像采集應用平臺作比較,如表1所示。
由實驗數據發現,S3C2410系統平臺由于不帶硬件解碼單元和在圖片解碼過程中耗時過長,而S3C6410電表圖片解碼時間可達實時,說明本平臺在開發多媒體系統時具有明顯的性能優勢。


表1 實驗對比數據
筆者用基于ARM11的S3C6410設計了嵌入式多媒體開發系統,結合S3C6410的多媒體硬件資源和外圍電路設計使該系統具有豐富的多媒體接口,為了方便人機交互為該系統采用一種新的方式設計了紅外遙控電路。最后對該平臺的多媒體接口進行(VGA接口、LCD接口、TV接口等)測試,硬件解碼單元測試性能良好,并把在該平臺上運行的電表識別嵌入式軟件耗費時間與S3C2410系統平臺的作比較,該系統在處理多媒體數據時具有明顯的優勢,為開發其他的嵌入式多媒體軟件提供了可靠的平臺。
[1]曾捷.一種多媒體IPTV的設計與實現[J].電視技術,2009,33(12):64-66.
[2]趙智雅,王澤勇.嵌入式圖像采集系統的平臺設計[J].計算機系統應用,2009,8(12):136-139.
[3]葉俊華.基于ARM11的嵌入式視頻處理終端設計[D].長沙:中南大學,2009.
[4]吳英麗,陳勝權,劉旭明.一種改進的嵌入式智能視頻監控系統[J].電視技術,2008,32(4):91-93.
[5]李侃,廖啟征.基于S3C2410平臺與嵌入式Linux的圖像采集應用[J].微計算機信息,2006,22(8):125-127.