摘 要:本文構(gòu)建了一種基于ARM9內(nèi)核的S3C2410作為核心處理芯片與嵌入式Linux操作系統(tǒng)的圖像信息采集與傳輸系統(tǒng)平臺(tái),整個(gè)平臺(tái)由服務(wù)器端和客戶端兩部分組成。服務(wù)器端的USB接口攝像頭用于圖像的獲取,無線傳輸模塊配合核心處理器完成圖像的處理及發(fā)送??蛻舳送瓿蓤D像的接收及顯示。本文闡述了構(gòu)建硬件平臺(tái)的核心處理器,GPRS模塊等的工作原理及軟件實(shí)現(xiàn)方法。
關(guān)鍵詞:ARM9;Linux;GPRS無線傳輸
中圖分類號(hào):TP274.2
伴隨著近年來嵌入式技術(shù)的快速發(fā)展,傳統(tǒng)的近距離以網(wǎng)線等有線方式作為傳輸介質(zhì),遠(yuǎn)距離以昂貴光纖作為傳輸介質(zhì)的圖像傳輸方式暴露了其缺陷,即造價(jià)高,缺少靈活機(jī)動(dòng)性。而一般的采用GPRS的圖像傳輸系統(tǒng)往往實(shí)時(shí)性差,數(shù)據(jù)處理能力有限。本文采用性價(jià)比較高的ARM9作為核心芯片,內(nèi)嵌Linux操作系統(tǒng),使用USB攝像頭捕捉視頻信號(hào),使用GPRS無線傳輸技術(shù)進(jìn)行圖像的傳輸,該圖像采集與傳輸平臺(tái)具有成本低,接入方便,傳輸距離遠(yuǎn),體積小,功耗小,處理能力強(qiáng)等特點(diǎn)。
1 系統(tǒng)體系結(jié)構(gòu)
本文中的圖像采集與傳輸系統(tǒng)主要由硬件平臺(tái)和嵌入式操作系統(tǒng)組成,圖1為系統(tǒng)體系結(jié)構(gòu)框圖。系統(tǒng)服務(wù)器端采用ARM9內(nèi)核的S3C2410作為核心處理芯片,使用基于OV511芯片的USB攝像頭進(jìn)行圖像采集,通過GPRS模塊連接到Internet網(wǎng)絡(luò)??蛻羝饕膊捎肁RM+GPRS框架,界面由QT/Embedded設(shè)計(jì)完成,可實(shí)現(xiàn)圖像顯示,服務(wù)器通訊等功能。
圖1 系統(tǒng)體系結(jié)構(gòu)框圖
2 系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)服務(wù)器端及客戶端均采用三星公司推出的基于ARM9核精簡(jiǎn)指令系統(tǒng)的32位高速處理器S3C2410。S3C2410是一款具有272引腳,功能很強(qiáng)大、很全面的芯片,運(yùn)行頻率可以達(dá)到203MHz。該芯片具有豐富的系統(tǒng)與應(yīng)用外設(shè)以及標(biāo)準(zhǔn)接口,低功耗,低成本,高性能,適合于本系統(tǒng)應(yīng)用。
本系統(tǒng)的服務(wù)器端硬件結(jié)構(gòu)如圖2所示:
圖2 服務(wù)器端硬件結(jié)構(gòu)
RS232串口用于連接GPRS模塊,其中需要電平轉(zhuǎn)換芯片MAX3232進(jìn)行串口電平與TTL/CMOS電平轉(zhuǎn)換。GPRS模塊選用華為的GTM900B,它采用GPRS multi-slot(Class 10/8)標(biāo)準(zhǔn),AT命令控制,最大速度可達(dá)到85.6Kbit/s,接口支持SIM 3V/1.8V接口,全功能UART接口和debug接口。JTAG接口用于下載Bootloader。使用中芯微公司生產(chǎn)的ZC030X系列USB攝像頭作為數(shù)字圖像傳感器。RJ-45接口用于和以太網(wǎng)連接,下載操作系統(tǒng)Linux內(nèi)核,根文件系統(tǒng)和應(yīng)用軟件。SDRAM用于系統(tǒng)的數(shù)據(jù)存儲(chǔ)器,F(xiàn)lash用于系統(tǒng)的程序器。
本系統(tǒng)的客戶端硬件結(jié)構(gòu)如圖3所示:
圖3 客戶端硬件結(jié)構(gòu)
與服務(wù)器端相比,多了SD卡和LCD顯示屏。SD卡用來存儲(chǔ)數(shù)據(jù),LCD顯示屏用來顯示圖像。
3 系統(tǒng)的軟件實(shí)現(xiàn)
3.1 操作系統(tǒng)移植。(1)構(gòu)建交叉編譯環(huán)境:選擇GNU GCC模式進(jìn)行,在宿主機(jī)上交叉編譯生成可執(zhí)行文件,下載到目標(biāo)系統(tǒng)中進(jìn)行調(diào)試運(yùn)行。本系統(tǒng)選擇了應(yīng)用廣泛的Redhat9.0作為宿主機(jī)的操作系統(tǒng),配置了NFS服務(wù)和Samba服務(wù)實(shí)現(xiàn)宿主機(jī)和目標(biāo)系統(tǒng)的文件共享;(2)下載操作系統(tǒng)引導(dǎo)程序(Boot Loader):Boot Loader的作用與PC機(jī)上的BIOS類似,通過修改vivi作為Boot Loader,其可以對(duì)系統(tǒng)主要部件初始化。Boot Loader在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行,它通過分配內(nèi)存空間的映射,使系統(tǒng)軟硬件達(dá)到合適的狀態(tài);(3)下載操作系統(tǒng)內(nèi)核(Linux-2.4.18):新建超級(jí)終端,在vivi>狀態(tài)下,輸入燒寫內(nèi)核的命令:load flash kernel x,其中x表示Xmodem協(xié)議。使用超級(jí)終端的“傳送”命令進(jìn)行傳送文件;(4)下載根文件系統(tǒng):跟文件系統(tǒng)一般較大,可使用網(wǎng)口通過tftp燒寫。在vivi狀態(tài)下,輸入燒寫根文件的命令為:tftp flash root root.cramfs。具體操作方法這里不再贅述。
3.2 攝像頭驅(qū)動(dòng)的實(shí)現(xiàn)。目前市場(chǎng)上常見的攝像頭芯片大多采用中芯微系列的。Linux內(nèi)核中并沒有相關(guān)的驅(qū)動(dòng)支持,但可以在網(wǎng)上下載到spca5xx-LE驅(qū)動(dòng),它是專門為嵌入式設(shè)備開發(fā)的USB攝像頭驅(qū)動(dòng)。通過打補(bǔ)丁的方式將其加載到Linux內(nèi)核中。同時(shí)在配置時(shí)選中USB SPCA5XX,usb-ohci和video for linux選項(xiàng)。
3.3 圖像的采集及壓縮實(shí)現(xiàn)。(1)圖像的采集:Linux對(duì)圖像的采集是通過Video4Linux機(jī)制實(shí)現(xiàn)的。Video4Linux(V4L)是Linux的影像串流系統(tǒng)與嵌入式影像系統(tǒng)的基礎(chǔ), 它是Linux kernel 里支持影像設(shè)備的一組APIs ,配合適當(dāng)?shù)囊曨l采集設(shè)備和驅(qū)動(dòng)程序,可以實(shí)現(xiàn)影像采集、影像CODEC、頻道切換等功能。圖像采集程序流程圖見圖4;(2)圖像的壓縮:由于采集到的原始圖像文件格式為bmp格式,但其占用的存儲(chǔ)空間較大,不便于存儲(chǔ)和傳輸,因此需要對(duì)原始圖像進(jìn)行壓縮和編碼。本系統(tǒng)使用JPEG算法對(duì)圖像進(jìn)行壓縮,其壓縮比一般可達(dá)到40:1。由于我們是在Linux下進(jìn)行應(yīng)用程序的開發(fā),可以輕松的下載到相應(yīng)的JPEG壓縮程序源代碼,再對(duì)其進(jìn)行交叉編譯成API函數(shù)庫(kù)文件,最后直接調(diào)用庫(kù)文件提供的API進(jìn)行圖像的壓縮。
圖4 圖像采集程序流程圖
3.4 GPRS無線遠(yuǎn)程通信的實(shí)現(xiàn)。GPRS模塊與S3C2410的串口0進(jìn)行通訊,Linux中有對(duì)S3C2410串口的支持,對(duì)串口的訪問可直接調(diào)用系統(tǒng)提供的函數(shù)。主要有:tcgetattr()打開串口,tcflush()設(shè)置串口,tcsetattr()清除串口中的數(shù)據(jù)。
使用AT指令集對(duì)GTM900B模塊進(jìn)行控制,將GPRS模塊接入GPRS網(wǎng)絡(luò),在GPRS網(wǎng)絡(luò)連接INTERNET后建立鏈接,進(jìn)行最終的數(shù)據(jù)傳輸。
4 結(jié)束語(yǔ)
本文采用S3C2410硬件平臺(tái)與嵌入式Linux操作系統(tǒng)的軟件平臺(tái),結(jié)合GPRS模塊,USB攝像頭,LCD顯示屏,搭建了一個(gè)小型化,低功耗的遠(yuǎn)程無線圖像采集與傳輸平臺(tái)。整個(gè)系統(tǒng)穩(wěn)定性高,可移植性強(qiáng),價(jià)格較低,可擴(kuò)展運(yùn)用在工業(yè)控制領(lǐng)域,小區(qū)監(jiān)控系統(tǒng),可視電話等方面,具有較高的實(shí)用性。
參考文獻(xiàn):
[1]鄭曉東,崔連和,鄭影.基于ARM9的語(yǔ)音報(bào)警系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(04):169-170.
[2]吳樂.基于ARM的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(23):195+209.
作者單位:北京勞動(dòng)保障職業(yè)學(xué)院,北京 102200