石 云 黃玉清 張素文 蔣 楠
(武漢理工大學自動化學院 武漢 430070)
當前,在警車上警務人員要了解犯罪嫌疑人的信息是通過移動電話或車載電臺與指揮中心聯系,這些途徑掌握的信息量有限,特別是對犯罪嫌疑人外貌特征的了解卻無能為力;況且自己建立車載電臺需要花費大量的人力和物力.本文采用了GPRS的無線通信方式和嵌入式技術,設計了警用車載讀寫系統,可以很好的解決實時性、信息量、費用等問題.
車載讀寫系統主要工作是從存有罪犯信息庫的U盤里查詢并讀出所需的詳細信息,另外還可以通過GPRS模塊進行無線數據傳輸獲取并更新最新犯罪嫌疑人的相關信息,包括圖像信息.因此,本系統設計關鍵點:(1)USB主機驅動及支持優盤操作的 Mass Storage類協議的設計;(2)如何根據輸入的關鍵字搜尋出所需的信息并顯示;(3)GPRS的無線通信的實現.
處理器選用接口豐富、性價比高三星公司的S3C2410,特別是其帶有USB主機接口而不需要再加USB主機控制器,有利于系統設計.系統硬件結構[1]如圖1所示,其中存儲器包括64MB SDRAM,32MB NOR FALSH 和 8MB NAND FLASH,另外還需處理器工作必要的時鐘電路、復位電路.

圖1 系統硬件結構圖
為節約成本,直接將車載提供12V電壓轉換成本系統需要的5,1.8,3.3,4.2V 等電壓,考慮到警車行駛振動大、電氣環境差等因素,因此電源的設計關系到系統能否正常工作,具體電路請參考文獻[2].
GPRS采用分組交換技術,具有“高速”和“永遠在線”優點,而且可以按傳輸的數據量來計費,這比自己建立車載電臺的費用低廉多了.本系統GPRS模塊選擇M22.
M22是BENQ公司生產的一款多功能GSM/GPRS無線通信模塊,具有如下特點:(1)內置TCP/IP over PPP的協議,可以支持數據業務的透明和非透明傳輸,方便運用開發;(2)支持GPRS CLASS4,即上行速度21.4kbit/s,下行速度 42.8kbit/s;(3) 支 持 EGSM900MHz,DCS1800MHz,PCS1900MHz三個工作頻段;(4)提供一個支持RS232的接口,方便硬件連接.相比其他產品,M22價格更便宜,而又具有如上特點,系統選擇該模塊進行開發.硬件直接通過S3C2410X的UART1接口驅動M22進行無線通信,其基本連接如圖2所示.

圖2 M22連接簡圖
1)支持U盤操作的內核配置(內核層) 系統要識別U盤Linux內核中必須添加USB HOST驅動,USB主機驅動由USB主控制器驅動程序(HCD)、USB 核心驅動程序(USBD)、USB設備類驅動(Mass Storage類)3部分組成.而Mass Storage驅動中把USB設備看作SCSI設備,所以在內核配置優化中以下幾個內核選項必須選上:scsi設備支持,USB support中的Support for Host-side USB,OHCI HCD support以及USB Mass Storage support等選項.
2)Bulk-Only傳輸協議的實現(驅動層)Linux內核內部通過file_operations數據結構來訪問驅動程序提供的函數,對數據進行read,write,open和close等操作.而在硬件驅動層對數據操作實現過程,首先是通過Mass Storage類協議建立起Bulk-Only傳輸協議,包括對CBW和CSW兩個封包的定義,其次就是利用其子類UFI的特定的請求命令,實現對U盤文件的讀寫[3].如常用的查詢命令(Inquiry)、讀命令(Read(10))、寫命令(Write(10))、讀容量命令(Read Capacity).
3)文件系統的建立(用戶層) UFI命令要實現對U盤中的文件操作還需建立相應的文件系統,完成對磁盤的各種操作,實現對文件的管理.U盤大多是按FAT文件系統格式存儲的,所以在系統配置中還需添加支持FAT文件系統的選項.FAT格式的磁盤上數據大致可分為5個部分:MBR(主引導記錄)區、DBR(系統引導記錄)區、FAT(文件分配表)區、FDT(文件目錄表)區和DATA(數據)區.FAT文件系統檢索文件機制是[4]:首先在FDT區找到要檢索文件的目錄項,得到該文件在DATA區的起始簇號,由此可以在DATA區的這個簇讀到檢索文件的數據,然后再查找到FAT表的這個簇號單元,如果內容是文件結束標志(0xFFFF),則表示該文件結束,否則該單元的內容指的是該文件保存數據的下一個簇的簇號.系統檢索文件流程如圖3所示,假設犯罪嫌疑人的信息以bmp圖像格式存儲,其姓名為文件名.

圖3 文件檢索流程
在處理器S3C2410與GPRS模塊M22之間通過UART進行通信,因而GPRS的驅動核心就是實現該模塊RS-232接口電路的驅動程序.本系統與指揮中心的遠程服務器采用TCP/IP協議進行數據通信,具體方式是S3C2410向M22發送AT命令控制與指揮中心建立連接,接收犯罪嫌疑人的信息,其建立過程如下:(1)AT+CGATT=1//GPRS網絡附著;(2)AT+CGDCONT=1,“IP”,“APN”//設置 GPRS接入網關,APN是所申請專網的名稱;(3)AT%CGPCO=1,“PAP,usename,password”,1//PAP驗證,設置登錄名及密碼;(4)AT$DESTIFO=“XX.XX.XX”,1/2,PORT//設置連接遠端的IP地址,XX.XX.XX為指揮中心的IP地址,1代表TCP連接,2代表UDP連接,PORT為端口號;(5)ATD*99#//用服務碼99撥號建立連接.而在GPRS通信程序模塊中定義兩函數gprs_send_cmd()和gprs_rec_cmd()分別實現發送AT命令和接收數據.
首先建立QT/Embedded交叉開發環境,本系統使用Trolltech公司的發布的自由版本qtembedded-free-3.3.4,arm-linux-gcc-3.4.1 作 為交叉編譯工具.
在QT中,事件處理時通過Signal-Slot(信號和槽)機制實現[4],信號是由各可視化組件產生的事件,而槽是對某個信號(事件)的處理方法,它們之間通過connect函數把信號和指定的槽連接起來.基于上述機理,窗口控件就能很簡單的與具體處理子程序連接起來,GUI結構如圖4所示.

圖4 GUI結構圖
車載讀寫系統關鍵部分是對U盤的識別和對U盤中犯罪嫌疑人信息檢索并顯示.實驗首先在系統移植2.4.10Linux內核[5]并運行操作系統后,插入512M的FLASH介質的U盤,在屏幕上顯示如下信息說明系統可以識別U盤:

在U盤中以jpeg圖片格式保存罪犯信息,其姓名的漢語拼音作為文件名.在檢索窗口中用拼音輸入已存的犯罪嫌疑人姓名,檢索成功并在液晶上顯示,其效果圖5略.
本文將嵌入式ARM-Linux技術與GPRS無線通信方式結合,設計了警用車載罪犯信息讀寫系統,該系統為警務人員破案提供了強有力的實時信息源,具有很強的社會和經濟價值.同時,只要添加其他應用軟件,該系統就能成為車載辦公系統和娛樂系統,因此,該系統還具有廣泛的運用價值.
[1]王宏強,王太勇,張志強.便攜式數采儀中嵌入式USB主機系統的研究與實現[J].蘭州大學學報:自然科學版,2008,44(1):92-95.
[2]馬 偉.計算機 USB系統原理及其主/從機設計[M].北京:北京航空航天大學出版社,2004.
[3]李文亮.基于ARM的車載GPS_GPRS系統[D].南京:南京理工大學交通學院,2007.
[4]陳 賾.ARM9嵌入式技術及Linux高級教程[M].北京:北京航空航天大學出版社,2005.
[5]倪繼利.QT及Linux操作系統窗口設計[M].北京:電子工業出版社,2006.