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