李蓉++鄒昆++馬慧
摘 要: 研究基于S3C2440處理器系統(tǒng)的數(shù)字圖像處理技術(shù)和嵌入式技術(shù)的結(jié)合機(jī)制。通過(guò)對(duì)S3C2440處理器系統(tǒng)進(jìn)行分析,結(jié)合數(shù)字圖像處理技術(shù)和嵌入式技術(shù),優(yōu)化設(shè)計(jì)出圖像處理系統(tǒng),提升系統(tǒng)應(yīng)用效益。結(jié)果證實(shí),基于S3C2440處理器系統(tǒng),結(jié)合應(yīng)用數(shù)字圖像處理技術(shù)與嵌入式技術(shù),使系統(tǒng)處理數(shù)字圖像的精度提升了12.0%,可以自動(dòng)識(shí)別出圖像的形狀、顏色、大小等信息。結(jié)論表明,基于S3C2440處理器系統(tǒng),優(yōu)化設(shè)計(jì)數(shù)字圖像處理技術(shù)、嵌入式技術(shù)的結(jié)合機(jī)制,對(duì)提升圖像信息處理精度,發(fā)揮了積極的影響。
關(guān)鍵詞: 圖像處理系統(tǒng); 數(shù)字圖像處理技術(shù); S3C2440處理器; 嵌入式技術(shù)
中圖分類號(hào): TN911.73?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)23?0055?03
Combination mechanism of embedded technology and digital image processing
technology based on S3C2440 processor system
LI Rong1, ZOU Kun1, 2, MA Hui1
(1. University of Electronic Science and Technology of China, Zhongshan Institute, Zhongshan 528402, China;
2. School of Computer Science & Engineering, University of Electronic Science and Technology of China, Chengdu 611731, China)
Abstract: The combination mechanism of embedded technology and digital image processing technology based on S3C2440 processor system is studied. By analyzing the S3C2440 processor system, the digital image processing technology and embedded technology are combined to optimize the design of image processing system to improve the system application efficiency. The results confirm that, on the basis of the S3C2440 processor system, the system accuracy of processing the digital image is increased by 12% in combination with the digital image processing technology and embedded technology, and the system can automatically identify the information such as shape, color and size of image. The conclusion shows that the combination mechanism of embedded technology and digital image processing technology based on S3C2440 processor system plays a positive role in improving the accuracy of image information processing.
Keywords: image processing system; digital image processing technology; S3C2440 processor; embedded technology
1 S3C2440處理器系統(tǒng)
S3C2440微處理器系統(tǒng)是由天嵌科技公司生產(chǎn)的TQ2440系列微處理器中的一種[1],同時(shí),該系統(tǒng)還適用于Linux系統(tǒng),也有開(kāi)放的源代碼,可以在工作中通過(guò)ZC301P芯片中的USB攝像頭采集視頻圖像信息,能夠采集網(wǎng)絡(luò)視頻,之后就可以把USB攝像頭采集到的圖像放置在S3C2440微處理器系統(tǒng)中進(jìn)行預(yù)處理[2],將預(yù)處理的圖像通過(guò)Internet網(wǎng)絡(luò)傳送到客戶端,客戶能夠運(yùn)用ARM?Linux視頻服務(wù)器觀看圖像。
S3C2440處理器內(nèi)部集成了ARM920T內(nèi)核,不僅空間資源豐富,而且還帶有一個(gè)獨(dú)立的16 KB的指令Cache,以及16 KB的數(shù)據(jù)Cache,同時(shí)還有LCD,RAM 以及NAND 閃存控制器,還帶有3路UART等,主頻最高可達(dá)[3]533 MHz。S3C2440處理器系統(tǒng)中,其系統(tǒng)開(kāi)發(fā)板中也配備有64 MB的SDRAM,64 MB的NAND FLASH以及2 MB的NOR FLASH、10 針JTAG接口,在實(shí)際應(yīng)用中可發(fā)揮較大的作用。
2 需求分析
基于Linux 2.6.32的S3C2440微處理器芯片上,使用CMOS攝像頭OV9650,通過(guò)自動(dòng)調(diào)整攝像頭位置采集最佳效果的圖像,獲得RGB16格式的圖像數(shù)據(jù)。對(duì)圖像色彩信息進(jìn)行處理和分析,識(shí)別圖像信息,確保可以獲得滿意的圖像處理效果[4]?;赟3C2440處理器系統(tǒng),可以將數(shù)字圖像處理技術(shù)與嵌入式技術(shù)相結(jié)合,搭建嵌入式Linux系統(tǒng),然后根據(jù)圖像實(shí)時(shí)處理的要求,選用USB接口攝像頭作為圖像采集設(shè)備,并對(duì)其完成視頻驅(qū)動(dòng)的編寫工作,可以獲取圖像并進(jìn)行存儲(chǔ);最后,確保在設(shè)計(jì)嵌入式Linux系統(tǒng)中,可對(duì)采集的圖像實(shí)現(xiàn)多種數(shù)字圖像處理方法,涉及變換域與空域法處理,獲得最佳的圖像處理效果,確保系統(tǒng)設(shè)計(jì)滿足用戶需求。
3 基于S3C2440優(yōu)化設(shè)計(jì)圖像處理系統(tǒng)
3.1 設(shè)計(jì)系統(tǒng)的總體結(jié)構(gòu)
基于S3C2440處理器系統(tǒng),優(yōu)化設(shè)計(jì)圖像處理系統(tǒng)能夠確保在S3C2440處理器控制作用下,根據(jù)數(shù)字圖像處理技術(shù)中的CCD攝像機(jī),將其采集到的模擬視頻圖像信號(hào)經(jīng)過(guò)素質(zhì)編碼、DMA后,將數(shù)據(jù)傳輸?shù)较到y(tǒng)的內(nèi)存進(jìn)行緩沖,然后通過(guò)嵌入式技術(shù),對(duì)數(shù)據(jù)進(jìn)行壓縮、打包,從而對(duì)圖像進(jìn)行處理[5]。
3.2 功能模塊設(shè)計(jì)
基于S3C2440遠(yuǎn)程圖像監(jiān)控系統(tǒng)CPU采用以ARM920T為內(nèi)核的S3C2440芯片,配合電源與時(shí)鐘電路、系統(tǒng)時(shí)鐘、復(fù)位電路、視頻解碼模塊、RS 232到RS 485的轉(zhuǎn)換接口、網(wǎng)絡(luò)接口、攝像頭等實(shí)現(xiàn)系統(tǒng)遠(yuǎn)程監(jiān)控的功能。視頻解碼模塊由SAA7113芯片實(shí)現(xiàn),將SAA7113芯片作為本次系統(tǒng)中的“外部圖像傳感器”,能夠?yàn)榍度胧较到y(tǒng)中的攝像機(jī)接口提供ITU視頻的數(shù)據(jù)。RS 232到RS 485的接口則通過(guò)MAX485芯片實(shí)現(xiàn)。網(wǎng)絡(luò)接口部分是通過(guò)驅(qū)動(dòng)程序?qū)σ蕴W(wǎng)控制芯片DM9000的控制實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的傳輸功能。圖像信息采集由S3C2440芯片本身集成的CAMIF接口實(shí)現(xiàn)。
3.3 系統(tǒng)接口設(shè)計(jì)
嵌入式接口設(shè)計(jì):系統(tǒng)外接了兩片64 MB的SDRAM芯片(型號(hào)為HY57V561620FTP),一般稱之為內(nèi)存,并接在一起形成32 b的總線寬度,其物理起始地址為0x30000000。
同時(shí),系統(tǒng)采用NAND FLASH,型號(hào)為K9F1208,大小為128 MB。NAND FLASH不具有地址線,它有專門的控制接口與CPU相連,數(shù)據(jù)總線為8 b。其接口電路如圖1所示。
系統(tǒng)網(wǎng)絡(luò)模塊的接口設(shè)計(jì):在本次數(shù)字圖像處理系統(tǒng)中,應(yīng)用DM9000芯片作為嵌入式網(wǎng)卡,能夠自適應(yīng)10/100M的網(wǎng)絡(luò),同時(shí)還具有RJ45連接頭,這樣就不必再接一個(gè)網(wǎng)絡(luò)變壓器,使用普通網(wǎng)線連接即可。100M網(wǎng)絡(luò)接口如圖2所示。
USB模塊接口設(shè)計(jì):采用USB Host接口,使用USB 2.0協(xié)議,與普通USB接口一致。
3.4 嵌入式技術(shù)應(yīng)用
本系統(tǒng)采用嵌入式交叉編譯環(huán)境arm?linux?gcc?4.4.3。下載源代碼并解壓到根目錄下,運(yùn)行g(shù)edit /root/.bashrc,然后把編譯器路徑加入到系統(tǒng)環(huán)境變量中。采用Linux 2.6.32.2內(nèi)核。
前臺(tái):在網(wǎng)絡(luò)上的客戶端向服務(wù)器的視頻數(shù)據(jù)發(fā)起請(qǐng)求,通過(guò)通用的瀏覽器進(jìn)行圖片監(jiān)控、視頻監(jiān)控。
應(yīng)用層:在該層中,主要負(fù)責(zé)處理系統(tǒng)中基于HTTP協(xié)議的一些活動(dòng)信息。主要基于HTTPD服務(wù)器,將數(shù)據(jù)信息放在www的文件夾中,并實(shí)時(shí)轉(zhuǎn)換這些數(shù)據(jù),使數(shù)據(jù)能夠成為系統(tǒng)客戶端真正能被用戶瀏覽到的圖片和視頻。
數(shù)據(jù)業(yè)務(wù)層:該層主要使用開(kāi)源軟件mjpg?streamer模塊,該軟件利用共享庫(kù)處理輸入輸出,input_file.so處理文件輸入,可輸入圖片和視頻文件,output_http.so和output_file.so等是以HTTP視頻數(shù)據(jù)服務(wù)流形式輸出,為高層圖像提供較友好的數(shù)據(jù)接口。mjpg?streamer軟件依賴libjpeg和libjpeg?devel庫(kù)的支持。利用input_uvc.so文件可以接收攝像頭中的信息,同時(shí)運(yùn)用YUV格式進(jìn)行數(shù)據(jù)存儲(chǔ),以此適當(dāng)減少圖片的幀數(shù),可以讓數(shù)字視頻圖像更為流暢;同時(shí),在該模塊中,也可以將數(shù)據(jù)放置到數(shù)據(jù)緩沖器中作為數(shù)據(jù)的中轉(zhuǎn)站,然后再通過(guò)output_http.so輸出模塊,處理網(wǎng)絡(luò)HTTP數(shù)據(jù)流。www文件夾存放網(wǎng)頁(yè)開(kāi)發(fā)包,為了與應(yīng)用層交換,內(nèi)嵌有本系統(tǒng)瀏覽數(shù)據(jù)的頁(yè)面。
驅(qū)動(dòng)層:主要是驅(qū)動(dòng)USB攝像頭和網(wǎng)絡(luò)芯片DM9000,為上述功能提供可能。
3.5 數(shù)字圖像處理
在圖像采集過(guò)程中,所需的流程就是先打開(kāi)系統(tǒng)中的視頻輸入設(shè)備,然后獲得設(shè)備中的圖像信息,并根據(jù)實(shí)際需要更改設(shè)備中的相關(guān)設(shè)置,獲得采集到的圖像數(shù)據(jù),對(duì)采集到的數(shù)據(jù)進(jìn)行操作,關(guān)閉設(shè)備。S3C2440處理器系統(tǒng)中,采用mmap內(nèi)存映射方式獲取圖像信息,可以基于運(yùn)算函數(shù),完成數(shù)字圖像處理中的圖像采集功能?;赥CP/IP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)傳輸,后臺(tái)嵌入式設(shè)備負(fù)責(zé)采集圖像數(shù)據(jù)并建立好TCP服務(wù)器,客戶端通過(guò)網(wǎng)絡(luò)連接后臺(tái)服務(wù)器,前臺(tái)和后臺(tái)握手后建立連接,并接收?qǐng)D像數(shù)據(jù),實(shí)時(shí)顯示圖像和視頻。調(diào)用S3C2440處理器系統(tǒng)V4L1和V4L2的API函數(shù),通過(guò)USB攝像頭采集視頻圖像數(shù)據(jù),完成視頻圖像數(shù)據(jù)的采集后,作為服務(wù)器端的嵌入式系統(tǒng)后臺(tái)等待客戶端通過(guò)瀏覽器進(jìn)行連接,然后對(duì)攝像頭監(jiān)控,服務(wù)器就把采集到的圖像數(shù)據(jù)傳輸?shù)竭h(yuǎn)程客戶端PC機(jī)上。因?yàn)橄到y(tǒng)采用的是MJPEG協(xié)議,也就是把視頻鏡頭拍成的視頻分解成一張張分離的jpg數(shù)據(jù)發(fā)送到客戶端。當(dāng)客戶端不斷顯示圖片,即可形成相應(yīng)的圖像。
3.6 系統(tǒng)代碼實(shí)現(xiàn)
系統(tǒng)代碼如下:
void Delay(int time)
{
U32 val = (PCLK>>3)/1000?1;
rTCFG0 &= ~(0xff<<8);
rTCFG0 |= 3<<8; //prescaler = 3+1
rTCFG1 &= ~(0xf<<12);
rTCFG1 |= 0<<12; //mux = 1/2
rTCNTB3 = val;
rTCMPB3 = val>>1; //50%
rTCON &= ~(0xf<<16);
rTCON |= 0xb<<16;
//interval,inv?off, update TCNTB3&TCMPB3, start timer 3