本文對物流車輛監控終端進行研究,提出了基于GPS+GIS+CDMA的總體系統構架。系統將全球定位系統(Global Position-ing System,GPS)、地理信息系統(Geographic Information System,GIS)以及CDMA(Code Division Multiple Access)無線通信技術融于一身。
本文設計的物流運輸車輛監控終端,通過GPS衛星定位獲得車輛的經緯度等信息后,經過CDMA無線通信網絡與監控中心進行通信,實時地將運輸車輛的各種信息傳輸給監控中心,供監控中心對整體運輸車隊進行顯示、查詢、調度。
1 系統總體設計
基于GPS和CDMA的物流運輸車輛監控系統由車輛監控終端、數據傳輸網絡以及監控中心組成。其中數據傳輸網絡由CDMA網絡和Internet組成。
通過GPS衛星網絡,車輛終端能夠對物流車輛和物流對象進行精確定位,經CDMA無線網絡接入Internet鏈接到監控中心服務器,實時向監控中心傳輸物流車輛的經緯度、速度、航向、海拔、時間等GPS數據信息,監控中心可以在具有地理信息處理和查詢功能的電子地圖上顯示、查詢車輛的各種信息,實時監控車輛運行狀態。
另外監控中心還具有與車載終端通訊的功能,能夠對物流運輸車輛實時調度、對突發事故進行及時處理,適用于各種物流交通領域。
2 終端硬件設計
本文設計的物流車載終端硬件結構由S3C2440A、JTAG片上調試接口、視頻接口、音頻接口、復位電路、CDMA無線通信模塊、GPS模塊、電源電路、LCD觸摸屏、鍵盤等組成,外接SDRAM、NAND FLASH、NOR FLASH作為外部存儲器,其硬件結構如圖1所示。
?
圖1 終端硬件設計硬件結構
2.1 CPU選型
為了滿足系統對實時性、大數據量處理、GPS信號接收、CDMA數據發送等各方面的要求,終端采用三星公司的S3C2440A 32位ARM芯片作為CPU。S3C2440A采用了先進的ARM920T內核,片上集成了3路UART串口,2路SPI口,8路10位ADC,具有日歷功能的RTC,帶PLL的片上時鐘發生器,130個通用I/O口,24個外部中斷源等豐富的資源,易于開發,是一款性價比非常高的芯片。
2.2 CDMA模塊接口設計
終端采用了華為EM200 CDMA1X模塊。該模塊工作頻段為800 MHz,最大發射功率為0.25 W,接收靈敏度小于-106 dBm,工作電壓3.3~4.2 V,集成了UART,UIM卡,天線等豐富的資源接口。支持標準AT指令集。極限工作溫度為-30℃~+75℃,工作溫度范圍廣,適合各種物流運輸環境。
S3C2440A有3個UART串口,EM200模塊與S3C2440A通過串口1相連,因為二者輸入輸出都是TTL電平,所以無需電平轉換可直接相連,其中EM200的管腳是數據發出端,與S3C2440A的RXD端相連;EM200的管腳是數據接收端,與S3C2440A的TXD端相連,由此實現了兩者之間的數據收發。華為EM200 CDMA1X模塊與S3C2440A連接圖如圖2所示。
?
圖2 華為EM200 CDMA1X模塊與S3C2440A連接圖
其中S3C2440的TXD0、nRTS0、DTR腳,分別經過3個1 kΩ電阻與EM200的腳相連,目的是防止電流過大對芯片造成損害。
2.3 GPS模塊接口設計
GPS模塊是終端實現精確定位的關鍵,是終端設計的核心,所以本終端選取了Gstar公司的SIFEIII代GS-15B模塊。
GS-15B是一個高效能、低功耗的智能型衛星接收模塊。它采用***聯發科技股份有限公司所設計的MT3329F衛星定位接收芯片,是一個完整的衛星定位接收器。同時具備全方位功能,能滿足專業定位的嚴格要求與工業級需求。內置GPS天線,采用MTK高靈敏度、低耗電量芯片MT3 329F。具備快速定位及追蹤32顆衛星的能力。體積超小,芯片內建20萬個.運算器,大幅提高搜尋及運算衛星訊號能力。支持NMEA-0183 v2.2版本規格輸出。接收靈敏度為-157 dBm,工作溫度為-40℃~85℃,TTL電平輸出,工作電壓3.3~5.0 V,冷啟動定位時間僅為42 s,平均定位精度為10~15 m。既滿足了終端對高性價比需求,也滿足了終端的精確定位的需求。
S3C2440A與GS-15B的接口連接圖如圖3所示。終端使用S3C2440A的串口2連接GPS模塊,為了增強驅動能力,在 S3C2440A的TXD1和PXD1管腳上加了2個100 kΩ的上拉電阻。終端一般只接收GPS信息,不對GPS做寫操作,所以為了保護芯片,在S3C2440A的RXD1與GS-15B之間加了1個100 Ω的電阻和1個型號為MCIA148的反向二極管,從而保證了終端運行時的穩定。
?
圖3 S3C2440A與GS-15B的接口連接圖
3 終端軟件設計
終端的軟件部分是基于WinCE 5.0嵌入式操作系統設計的,WinCE是一個多任務、完全搶占式的32位嵌入式操作系統,支持WinCE MFC、ATL、WinCE API和一些附加的編程接口以及各種通信技術。WinCE嵌入式操作系統具有操作界面良好、實時性較高、占用資源少、開發工具豐富以及強大的技術支持等優勢,充分滿足本終端軟件的設計需求。
3.1 終端軟件設計流程
首先系統上電,啟動bootloader,加載WinCE內核,啟動WinCE嵌入式操作系統。然后初始化CPU、LCD、GPS,CDMA等外圍模塊,再加載串口驅動和網絡協議,若加載成功則執行用戶應用程序,若加載失敗則返回,重新加載串口驅動和網絡協議。其中終端的用戶應用程序包括:CDMA無線網絡接入程序、網絡數據傳輸程序、GPS串口接收程序等。終端軟件設計流程圖如圖4所示。
?
圖4 終端軟件設計流程圖
3.2 CDMA無線網絡接入程序
終端通過AT指令控制CDMA模塊,實現無線網絡接入和網絡數據傳輸。
系統運行后,首先初始化CDMA模塊,設置波特率為115 200 b/s,然后進入撥號等待狀態,終端經過PPP撥號連接登錄網絡,接入號為777,用戶名和密碼均為card。確認登陸網絡成功后,則調用GPS串口接收程序和網絡數據傳輸程序,采用定時方式向監控中心發送終端的GPS定位信息。
建立PPP(point-to-point protocol)連接的AT指令及返回值如下:
?
3.3 CDMA無線網絡通信程序
終端通過CDMA網絡接入Internet后,無線網絡通信程序將終端解析的GPS數據通過Intemet上傳到監控中心。本終端軟件設計采用流格式套接字進行網絡通信,對應于TCP/IP協議中面向連接的TCP協議。網絡數據傳輸程序采用客戶機/服務器機制編程,終端(客戶機)進程由用戶操縱;而監控中心(服務器)進程則駐留在主機上連續運行,等待終端連接請求進入。
監控中心的網絡通信程序流程如下:1)用socket()函數創建套接口,并給套接口地址結構賦值;2)用bind()函數使套接口與本地IP地址、端*綁定,選用靜態IP地址;3)用listen()函數在該套接口上*連接請求;4)用accept()函數接收終端連接請求,產生新的套接口及描述字并與終端連接,利用新的套接字發送和接收數據;5)用 fork()函數派生新的子進程與終端通信,父進程繼續*其他請求。這樣就可避免一個終端與監控中心建立連接后,監控中心不能再與其他終端通信的問題。
終端的TCP程序流程如下:1)用socket()創建本地套接口,給監控中心套接口地址結構賦值;2)用connect()函數使本地套接口向監控中心套接口主動發出建立連接請求,經三次握手建立TCP連接;3)若連接建立成功,則用send()和recv()函數與監控中心通信;4)通信結束,用close()關閉套接口。
3.4 終端GPS串口程序
軟件開發工具采用EVC(embedded visual C++),EVC是Windows CE上的主流開發工具,封裝了網絡底層通訊、COM互操作、RAPI等。EVC支持MFC類庫的子集,使Win32平臺上的VC程序可以方便地移植到WinCE平臺上。
終端GPS串口程序主要完成兩個功能:接收GPS數據和解析GPS數據。GPS模塊輸出遵循NMEA-0183標準。程序流程如下:
1)使用OpenPort()函數打開串口,該函數使用創建文件函數CreatFile()打開串口2,以獲取串口2的操作句柄m_hComm;
2)如果串口2打開成功,則讀取當前串口的設置,即通過GetCommState()讀取串口參數結構體DCB變量;
3)用SetCommState()對串口2進行相應的設置:如設置波特率為4 800 b/s,8位數據位,無奇偶校驗,1位停止位,無數據流控制;
4)按位讀取數據,判斷幀起始是否為$GPRMC,若為$GPRMC則從中提取時間、經度、緯度、速度等信息并存入相應結構體;判斷幀起始是否為$GPGGA,若為$GPGGA則從第9字段提取海拔高度并存入相應結構體;判斷幀起始是否為$GPGSV,若為$GPGSV則從中提取有效衛星數目、有效衛星編號等信息并存入相應結構體;
5)用SetWindowText()在LCD上顯示接收到的GPS數據和解析后的GPS信息;
6)最后,在需要時用ClosePort()函數關閉串口2。該函數使用CloseHandh()關閉串口2的句柄m_hComm。
4 運行結果
本文所設計的終端軟件運行結果如圖5所示。終端GPS數據顯示包括UTC時間、經緯度、星歷、方向、海拔等。實現了全面地、直觀地顯示GPS數據的功能,具有友好的人機界面風格。其中圖5(a)中可以對GPS串口進行配置,以及顯示接收到的原始NEMA-0183語句。圖5(b)中的經緯度是在天津市北辰區河北工業大學新校區測得的,精確到秒級,經度為東經117°41’34.4”,緯度為北緯39°37’6.2”。測試時間是2010年6月6日,下午16點24分22秒。
?
圖5 終端GPS數據顯示界面
測試表明,終端軟件能平穩地運行在嵌入式WinCE 5.0系統上,具有良好的實時性和準確性。
另外,終端通過CDMA無線通信網絡實時地將GPS定位數據傳給監控中心,監控中心的電子地圖上即實時顯示終端的地理位置。經測試,終端的實際位置與電子地圖上的位置完全符合,并且具有良好的實時性,數據刷新時間小于3 s,GPS位置漂移值小于20 m。
5 結束語
針對我國物流行業快速發展的背景,本文對基于GPS和CDMA的物流車輛監控終端進行了軟硬件設計。實現了對物流車輛的遠程監控和實時調度。相比傳統的車載終端,本設計采用32位ARM處理器,具有更快的處理速度、更大的存儲空間、更直觀的界面顯示等優點。尤其在GPS數據無線傳輸方面采用了 CDMA無線通信技術,比傳統GPRS技術更適用于長距離、大數據量、實時性要求非常高的車載終端領域。
評論
查看更多