解析基于JP7-T的GPS接收機和定位系統(tǒng)設計
3.2定位信息系統(tǒng)設計流程
JP7-T手冊中提示該GPS的NMEA要使用的波特率為4800,所以,在軟件中可以將串口波特率設置成4800定值。
(1)時間轉換
GPS接收到的時間是UTC制時間,故應將它轉換為北京時間。其核心算法為:hour+8;year+2000;設計時,如hour大于24,則dav+1,hour-24;接著根據月份和是否閏年來判斷day處理后是否有相應月份要相繼處理;然后根據處理后的月份判斷年份是否要相繼處理等等。需要注意的是:不要忘記判斷平年和閏年。
(2)WGS-84經緯度單位轉換
本設計選用的電子地圖采用的是WGS84坐標系,而GPS測量得到的是WGS-84中的地心空間直角坐標系下的數據,所以,不用坐標轉換。但由于GPS接收到的經緯度是以度和分為單位的,而我們日常生活中都是以度為計量單位,所以要進行單位轉換。單位轉換的算法(以緯度為例)是將接收到的緯度格式(ddmm.mmmm)除以100,以得到dd.mmmmmm,然后再調用modf函數分離出度和分,最后將分乘100并除以60,從而將分化成度。
(3)速度單位轉換
本GPS獲得的速度是以knot為單位的。而通常除了航海采用knot單位之外,陸空一般都是采用km/h為單位(1knot=1.8519km/h),所以,設計時還要將獲得的速度乘以該單位轉換參數。
本系統(tǒng)的軟件設計流程圖如圖6所示。
3.3測試
軟件編寫完后,應先在PC機上用gcc編譯,編譯過程一般沒有什么大問題。然后,可以將做好的GPS接收機通過串口接在PC機上進行軟件和硬件的調試。本設計的GPS機經過連續(xù)幾天運行都沒有什么問題,非常穩(wěn)定。但是,做這個demo板的最終目的是為設計一款基于ARM9處理器的手持機。所以,筆者又將該軟件交叉編譯。采用的編譯器是3.3.2版本的arm-linux-gcc。為了驗證測試板和軟件在嵌入式系統(tǒng)下的可行性,筆者還將其與廣州Friendly-arm生產的S3C2410實驗箱相連并進行了測試。測試結果十分穩(wěn)定,定位非常精確。
4結束語
設計本硬件和軟件的主要目的是為一款手持導航儀的GPS選型作準備的。結果表明,選用該型號的GPS和本軟件設計的系統(tǒng)十分穩(wěn)定.定位快,熱啟動條件下首次定位只要8s;冷啟動時。首次定位時間也只要45s,定位精度為10m,是目前民用GPS中精度較高的了;而且可以在不影響功能的條件下設計出外觀精美的產品。設計的軟件可以將GPS定位信息通過GPS接收機完整接收,而且靈活性較大。如果換用其它坐標系的電子地圖,則可以在描點前一步加坐標系轉換模塊。所處理的數據對于高層決策且有重要作用,可廣泛用于導航、軌跡回放、中心車輛監(jiān)控與調度等。
評論