1 系統(tǒng)硬/軟件平臺(tái)概述
車輛GPS定位信息采集系統(tǒng)的硬件平臺(tái)結(jié)構(gòu)如圖1所示。
該平臺(tái)可以分為3大模塊:
1)微系統(tǒng)核心模塊 由基于ARM920T的32位嵌入式微處理器S3C2440、SDRAM和Nand FLASH構(gòu)成和總線接口構(gòu)成。2片32 MB的HY57V561620構(gòu)成64 MB的SDRAM存儲(chǔ)器,用于運(yùn)行系統(tǒng)主程序。存儲(chǔ)容量為64 M×8 bit的Nand FLASHK9F1208UOM,因其具有掉點(diǎn)保護(hù)功能,用于存儲(chǔ)操作系統(tǒng)內(nèi)核、Bootloader的啟動(dòng)代碼和用戶程序。
2)GPS原始數(shù)據(jù)接收模塊 由一臺(tái)遵循NMEA-0183協(xié)議標(biāo)準(zhǔn)的GPS接收機(jī)和PS天線組成。通過外接GPS接收機(jī),將接收到的GPS原始信息,送入到嵌入式微處理器進(jìn)行數(shù)據(jù)解析,最終得出戰(zhàn)車所在位置的位置、速度和海拔等信息。
3)外設(shè)控制模塊 包括LCD+觸摸屏、USB主/從口、電源、JTAG調(diào)試接口、復(fù)位電路。選用東華的自帶4線模擬電阻式觸摸屏和硬件驅(qū)動(dòng)的3.5#TFT型LCD,用于人機(jī)交互以及現(xiàn)實(shí)解析后的GPS信息。USB主口用于擴(kuò)展U盤,用于數(shù)據(jù)存儲(chǔ),從口用于下載WinCE內(nèi)核文件以及與軟件開發(fā)主機(jī)進(jìn)行數(shù)據(jù)交互,JTAG調(diào)試接口用于硬件調(diào)試以及燒載Bootloader。
軟件平臺(tái)為微軟公司的嵌入式操作系統(tǒng)WindowsCE,它界面友好,支持嵌套中斷、更好的線程響應(yīng)、更多的優(yōu)先級(jí)別;支持串口和網(wǎng)絡(luò)通信;具有豐富的API函數(shù),具有強(qiáng)大的開發(fā)工具;多硬件平臺(tái)支持,支持ARM、MIPS等處理器。經(jīng)過Platform. Builder定制移植的WindowsCE操作系統(tǒng)如圖2所示。
2 定位信息數(shù)據(jù)格式
GPS的輸出數(shù)據(jù)遵循NMEA-0183協(xié)議標(biāo)準(zhǔn),即美海軍的電子設(shè)備標(biāo)準(zhǔn)。根據(jù)NMEA-0183協(xié)議,獲取GPS定位信息,必須將串行口的波特率設(shè)置為4800b/s,數(shù)據(jù)位設(shè)置為8 bit,停止位設(shè)置為1 bit,校驗(yàn)為設(shè)置為無。該協(xié)議定義了GPS接收機(jī)輸出的標(biāo)準(zhǔn)信息,最常用、兼容性最廣的語句格式包括:$GPRMC、$GPGGA、$GPGSV、$GPGSA、$GPGLL等。應(yīng)用到的GPS數(shù)據(jù)格式包括$GPRMC、$GPGGA、$GPGSV三種。其中,用$GPRMC語句獲取時(shí)間、經(jīng)緯度、速度、年月日信息,用$GPGSV語句獲取海拔高度信息,用$GPGSV語句獲取可見衛(wèi)星數(shù)信息及衛(wèi)星的方位角和仰角信息,用以獲取衛(wèi)星的視圖。各語句的數(shù)據(jù)段的含義,參考NMEA-0183協(xié)議標(biāo)準(zhǔn)。
3 GPS定位信息采集和處理的軟件實(shí)現(xiàn)
本系統(tǒng)的軟件開發(fā)在可視化開發(fā)工具Embedded VisualC++(簡稱EVC)中,采用MFC編程技術(shù)實(shí)現(xiàn)。
3.1 GPS數(shù)據(jù)處理狀態(tài)轉(zhuǎn)換
GPS與ARM之間用RS232串口方式進(jìn)行通信,串口對(duì)象負(fù)責(zé)接收數(shù)據(jù),并把接收到的數(shù)據(jù)放置到串口緩沖區(qū)。GPS對(duì)象按照協(xié)議結(jié)構(gòu)負(fù)責(zé)處理串口對(duì)象接收到的數(shù)據(jù)。圖3為GPS數(shù)據(jù)處理之間的狀態(tài)轉(zhuǎn)換示意圖。GPS數(shù)據(jù)處理狀態(tài)共包括4個(gè)狀態(tài):開始狀態(tài)、數(shù)據(jù)幀頭狀態(tài)、GPS數(shù)據(jù)正文狀態(tài)和校驗(yàn)狀態(tài)。
開始狀態(tài)是一個(gè)數(shù)據(jù)幀的起始狀態(tài),它處理和判斷數(shù)據(jù)幀的起始字符$。若起始符號(hào)不是其中的$,則一直停留在開始狀態(tài),直到$到來位置,數(shù)據(jù)幀頭狀態(tài)用于判斷數(shù)據(jù)幀的格式是否與我們目前需要的目標(biāo)數(shù)據(jù)幀相匹配。如果相匹配,那么將退轉(zhuǎn)到下一個(gè)狀態(tài):GPS數(shù)據(jù)正文狀態(tài),開始進(jìn)行數(shù)據(jù)處理。如果不匹配,則轉(zhuǎn)移到開始狀態(tài)。
數(shù)據(jù)處理中用到了緩沖區(qū)的概念,它一邊累積計(jì)算接收的數(shù)據(jù)的異或和,一邊把相應(yīng)的數(shù)據(jù)域送入緩沖區(qū)。這樣既降低了數(shù)據(jù)提取校驗(yàn)的復(fù)雜度,也提高了數(shù)據(jù)處理的延續(xù)性和正確性。當(dāng)GPS數(shù)據(jù)正文狀態(tài)完成,進(jìn)入“*”字符的時(shí)候,將進(jìn)入數(shù)據(jù)校驗(yàn)狀態(tài),它用于判斷數(shù)據(jù)接收和處理的有效與否。若校驗(yàn)成功,則接收有效,收到CR,LF字符后又重新跳轉(zhuǎn)到開始狀態(tài)。若校驗(yàn)失敗,則放棄處理的數(shù)據(jù),直接跳轉(zhuǎn)至開始狀態(tài)。
3.2 完整GPS數(shù)據(jù)幀的截取
了解了GPS數(shù)據(jù)處理的四個(gè)狀態(tài)之間的相互轉(zhuǎn)換,下面論述一個(gè)完整的GPS數(shù)據(jù)幀的提取和處理,它是獲取車輛GPS定位數(shù)據(jù)的關(guān)鍵。一個(gè)完整的GPS數(shù)據(jù)幀的提取流程如圖4所示。
圖4中,m_strRecDisp為一個(gè)CString變量,用于表示接收數(shù)據(jù)的字符串,該程序流程中,用到兩個(gè)最重要的函數(shù)即:字符(串)查找函數(shù)和字符串截取函數(shù)。
關(guān)鍵詞: GPS 定位 信息采集系統(tǒng)
網(wǎng)站首頁 |網(wǎng)站簡介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
Copyright © 2000-2020 m.netfop.cn All Rights Reserved.
中國網(wǎng)絡(luò)消費(fèi)網(wǎng) 版權(quán)所有 未經(jīng)書面授權(quán) 不得復(fù)制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com