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