石 云 黃玉清 張素文 蔣 楠
(武漢理工大學(xué)自動(dòng)化學(xué)院 武漢 430070)
當(dāng)前,在警車上警務(wù)人員要了解犯罪嫌疑人的信息是通過移動(dòng)電話或車載電臺與指揮中心聯(lián)系,這些途徑掌握的信息量有限,特別是對犯罪嫌疑人外貌特征的了解卻無能為力;況且自己建立車載電臺需要花費(fèi)大量的人力和物力.本文采用了GPRS的無線通信方式和嵌入式技術(shù),設(shè)計(jì)了警用車載讀寫系統(tǒng),可以很好的解決實(shí)時(shí)性、信息量、費(fèi)用等問題.
車載讀寫系統(tǒng)主要工作是從存有罪犯信息庫的U盤里查詢并讀出所需的詳細(xì)信息,另外還可以通過GPRS模塊進(jìn)行無線數(shù)據(jù)傳輸獲取并更新最新犯罪嫌疑人的相關(guān)信息,包括圖像信息.因此,本系統(tǒng)設(shè)計(jì)關(guān)鍵點(diǎn):(1)USB主機(jī)驅(qū)動(dòng)及支持優(yōu)盤操作的 Mass Storage類協(xié)議的設(shè)計(jì);(2)如何根據(jù)輸入的關(guān)鍵字搜尋出所需的信息并顯示;(3)GPRS的無線通信的實(shí)現(xiàn).
處理器選用接口豐富、性價(jià)比高三星公司的S3C2410,特別是其帶有USB主機(jī)接口而不需要再加USB主機(jī)控制器,有利于系統(tǒng)設(shè)計(jì).系統(tǒng)硬件結(jié)構(gòu)[1]如圖1所示,其中存儲器包括64MB SDRAM,32MB NOR FALSH 和 8MB NAND FLASH,另外還需處理器工作必要的時(shí)鐘電路、復(fù)位電路.
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
為節(jié)約成本,直接將車載提供12V電壓轉(zhuǎn)換成本系統(tǒng)需要的5,1.8,3.3,4.2V 等電壓,考慮到警車行駛振動(dòng)大、電氣環(huán)境差等因素,因此電源的設(shè)計(jì)關(guān)系到系統(tǒng)能否正常工作,具體電路請參考文獻(xiàn)[2].
GPRS采用分組交換技術(shù),具有“高速”和“永遠(yuǎn)在線”優(yōu)點(diǎn),而且可以按傳輸?shù)臄?shù)據(jù)量來計(jì)費(fèi),這比自己建立車載電臺的費(fèi)用低廉多了.本系統(tǒng)GPRS模塊選擇M22.
M22是BENQ公司生產(chǎn)的一款多功能GSM/GPRS無線通信模塊,具有如下特點(diǎn):(1)內(nèi)置TCP/IP over PPP的協(xié)議,可以支持?jǐn)?shù)據(jù)業(yè)務(wù)的透明和非透明傳輸,方便運(yùn)用開發(fā);(2)支持GPRS CLASS4,即上行速度21.4kbit/s,下行速度 42.8kbit/s;(3) 支 持 EGSM900MHz,DCS1800MHz,PCS1900MHz三個(gè)工作頻段;(4)提供一個(gè)支持RS232的接口,方便硬件連接.相比其他產(chǎn)品,M22價(jià)格更便宜,而又具有如上特點(diǎn),系統(tǒng)選擇該模塊進(jìn)行開發(fā).硬件直接通過S3C2410X的UART1接口驅(qū)動(dòng)M22進(jìn)行無線通信,其基本連接如圖2所示.
圖2 M22連接簡圖
1)支持U盤操作的內(nèi)核配置(內(nèi)核層) 系統(tǒng)要識別U盤Linux內(nèi)核中必須添加USB HOST驅(qū)動(dòng),USB主機(jī)驅(qū)動(dòng)由USB主控制器驅(qū)動(dòng)程序(HCD)、USB 核心驅(qū)動(dòng)程序(USBD)、USB設(shè)備類驅(qū)動(dòng)(Mass Storage類)3部分組成.而Mass Storage驅(qū)動(dòng)中把USB設(shè)備看作SCSI設(shè)備,所以在內(nèi)核配置優(yōu)化中以下幾個(gè)內(nèi)核選項(xiàng)必須選上:scsi設(shè)備支持,USB support中的Support for Host-side USB,OHCI HCD support以及USB Mass Storage support等選項(xiàng).
2)Bulk-Only傳輸協(xié)議的實(shí)現(xiàn)(驅(qū)動(dòng)層)Linux內(nèi)核內(nèi)部通過file_operations數(shù)據(jù)結(jié)構(gòu)來訪問驅(qū)動(dòng)程序提供的函數(shù),對數(shù)據(jù)進(jìn)行read,write,open和close等操作.而在硬件驅(qū)動(dòng)層對數(shù)據(jù)操作實(shí)現(xiàn)過程,首先是通過Mass Storage類協(xié)議建立起B(yǎng)ulk-Only傳輸協(xié)議,包括對CBW和CSW兩個(gè)封包的定義,其次就是利用其子類UFI的特定的請求命令,實(shí)現(xiàn)對U盤文件的讀寫[3].如常用的查詢命令(Inquiry)、讀命令(Read(10))、寫命令(Write(10))、讀容量命令(Read Capacity).
3)文件系統(tǒng)的建立(用戶層) UFI命令要實(shí)現(xiàn)對U盤中的文件操作還需建立相應(yīng)的文件系統(tǒng),完成對磁盤的各種操作,實(shí)現(xiàn)對文件的管理.U盤大多是按FAT文件系統(tǒng)格式存儲的,所以在系統(tǒng)配置中還需添加支持FAT文件系統(tǒng)的選項(xiàng).FAT格式的磁盤上數(shù)據(jù)大致可分為5個(gè)部分:MBR(主引導(dǎo)記錄)區(qū)、DBR(系統(tǒng)引導(dǎo)記錄)區(qū)、FAT(文件分配表)區(qū)、FDT(文件目錄表)區(qū)和DATA(數(shù)據(jù))區(qū).FAT文件系統(tǒng)檢索文件機(jī)制是[4]:首先在FDT區(qū)找到要檢索文件的目錄項(xiàng),得到該文件在DATA區(qū)的起始簇號,由此可以在DATA區(qū)的這個(gè)簇讀到檢索文件的數(shù)據(jù),然后再查找到FAT表的這個(gè)簇號單元,如果內(nèi)容是文件結(jié)束標(biāo)志(0xFFFF),則表示該文件結(jié)束,否則該單元的內(nèi)容指的是該文件保存數(shù)據(jù)的下一個(gè)簇的簇號.系統(tǒng)檢索文件流程如圖3所示,假設(shè)犯罪嫌疑人的信息以bmp圖像格式存儲,其姓名為文件名.
圖3 文件檢索流程
在處理器S3C2410與GPRS模塊M22之間通過UART進(jìn)行通信,因而GPRS的驅(qū)動(dòng)核心就是實(shí)現(xiàn)該模塊RS-232接口電路的驅(qū)動(dòng)程序.本系統(tǒng)與指揮中心的遠(yuǎn)程服務(wù)器采用TCP/IP協(xié)議進(jìn)行數(shù)據(jù)通信,具體方式是S3C2410向M22發(fā)送AT命令控制與指揮中心建立連接,接收犯罪嫌疑人的信息,其建立過程如下:(1)AT+CGATT=1//GPRS網(wǎng)絡(luò)附著;(2)AT+CGDCONT=1,“IP”,“APN”//設(shè)置 GPRS接入網(wǎng)關(guān),APN是所申請專網(wǎng)的名稱;(3)AT%CGPCO=1,“PAP,usename,password”,1//PAP驗(yàn)證,設(shè)置登錄名及密碼;(4)AT$DESTIFO=“XX.XX.XX”,1/2,PORT//設(shè)置連接遠(yuǎn)端的IP地址,XX.XX.XX為指揮中心的IP地址,1代表TCP連接,2代表UDP連接,PORT為端口號;(5)ATD*99#//用服務(wù)碼99撥號建立連接.而在GPRS通信程序模塊中定義兩函數(shù)gprs_send_cmd()和gprs_rec_cmd()分別實(shí)現(xiàn)發(fā)送AT命令和接收數(shù)據(jù).
首先建立QT/Embedded交叉開發(fā)環(huán)境,本系統(tǒng)使用Trolltech公司的發(fā)布的自由版本qtembedded-free-3.3.4,arm-linux-gcc-3.4.1 作 為交叉編譯工具.
在QT中,事件處理時(shí)通過Signal-Slot(信號和槽)機(jī)制實(shí)現(xiàn)[4],信號是由各可視化組件產(chǎn)生的事件,而槽是對某個(gè)信號(事件)的處理方法,它們之間通過connect函數(shù)把信號和指定的槽連接起來.基于上述機(jī)理,窗口控件就能很簡單的與具體處理子程序連接起來,GUI結(jié)構(gòu)如圖4所示.
圖4 GUI結(jié)構(gòu)圖
車載讀寫系統(tǒng)關(guān)鍵部分是對U盤的識別和對U盤中犯罪嫌疑人信息檢索并顯示.實(shí)驗(yàn)首先在系統(tǒng)移植2.4.10Linux內(nèi)核[5]并運(yùn)行操作系統(tǒng)后,插入512M的FLASH介質(zhì)的U盤,在屏幕上顯示如下信息說明系統(tǒng)可以識別U盤:
在U盤中以jpeg圖片格式保存罪犯信息,其姓名的漢語拼音作為文件名.在檢索窗口中用拼音輸入已存的犯罪嫌疑人姓名,檢索成功并在液晶上顯示,其效果圖5略.
本文將嵌入式ARM-Linux技術(shù)與GPRS無線通信方式結(jié)合,設(shè)計(jì)了警用車載罪犯信息讀寫系統(tǒng),該系統(tǒng)為警務(wù)人員破案提供了強(qiáng)有力的實(shí)時(shí)信息源,具有很強(qiáng)的社會和經(jīng)濟(jì)價(jià)值.同時(shí),只要添加其他應(yīng)用軟件,該系統(tǒng)就能成為車載辦公系統(tǒng)和娛樂系統(tǒng),因此,該系統(tǒng)還具有廣泛的運(yùn)用價(jià)值.
[1]王宏強(qiáng),王太勇,張志強(qiáng).便攜式數(shù)采儀中嵌入式USB主機(jī)系統(tǒng)的研究與實(shí)現(xiàn)[J].蘭州大學(xué)學(xué)報(bào):自然科學(xué)版,2008,44(1):92-95.
[2]馬 偉.計(jì)算機(jī) USB系統(tǒng)原理及其主/從機(jī)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2004.
[3]李文亮.基于ARM的車載GPS_GPRS系統(tǒng)[D].南京:南京理工大學(xué)交通學(xué)院,2007.
[4]陳 賾.ARM9嵌入式技術(shù)及Linux高級教程[M].北京:北京航空航天大學(xué)出版社,2005.
[5]倪繼利.QT及Linux操作系統(tǒng)窗口設(shè)計(jì)[M].北京:電子工業(yè)出版社,2006.