基于JP7-T的GPS接收機和定位系統(tǒng)設(shè)計
0引言
本文引用地址:http://www.ex-cimer.com/article/85350.htm作為導(dǎo)航領(lǐng)域內(nèi)一種全新的技術(shù),GPS全球定位系統(tǒng)主要利用衛(wèi)星進(jìn)行定位。GPS最初由美國政府機構(gòu)控制使用,是目前世界上最為成熟和完好的全球衛(wèi)星導(dǎo)航系統(tǒng)。它由30顆(4顆為備份星)在軌衛(wèi)星組成。早期的GPS系統(tǒng)對民用信號的定位精度限制為100米左右,2000年后則取消這一限制。目前,GPS可以提供的民用信號定位精度為10米左右。GPS現(xiàn)可應(yīng)用于多領(lǐng)域(如民用航空,車輛調(diào)度管理,深海海運等整個海陸空范圍內(nèi)的導(dǎo)航等),特別是在目前的車載導(dǎo)航領(lǐng)域,GPS全球衛(wèi)星定位技術(shù)更是具有廣泛的應(yīng)用。隨著應(yīng)用領(lǐng)域的日益擴大,中國衛(wèi)星導(dǎo)航儀的市場規(guī)模已從2000年的不到10億元增長到了2005年的120億元。因此,對GPS進(jìn)行研究和二次開發(fā)勢在必行。
1 JP7-T型GPS OEM板的組成
本設(shè)計根據(jù)實際項目需要將所調(diào)研的幾種GPS資料進(jìn)行了比較權(quán)衡,最后選擇了德國FALCOM公司生產(chǎn)的JP7-T(SIRF2)GPS模塊。該模塊有12個信道GPS接收模塊、完整的溫度補償晶體振蕩器、SiRF2型芯片一低功率芯片集、高級TIFF頻率、3種不同供電模式、更小的體積、PIN腳與JP7-LP兼容并有記憶功能,同時內(nèi)嵌Falcom記憶查詢軟件。利用此模塊作為核心部分,筆者還設(shè)計了一塊demo板進(jìn)行測試。FAL-COM公司生產(chǎn)的JP7-T(SIRF2)GPS模塊的內(nèi)部信號流的處理過程如圖1所示。
JP7-TX系列GPS定位系統(tǒng)采用的是L1信號頻率(1575.42 MHz)。該模塊可以分為四大塊:RF信號下轉(zhuǎn)換器、數(shù)字基帶解調(diào)、嵌入式ARM微處理器和用于存儲內(nèi)置GPS軟件的8MBit Flash存儲器。其中前兩者用于硬件電路處理,而ARM微處理器則可采用內(nèi)置GPS軟件來計算GPS的位置、速度、時間等。
系統(tǒng)中的射頻部分用作GPS信號(通常是一130 dBm)的補償和過濾,然后將其轉(zhuǎn)換成中頻信號并輸出到信號處理部分。數(shù)字基帶解調(diào)器的功能是載有量化了的GPS信號和檢測衛(wèi)星的串行比特流數(shù)據(jù)和伴隨偽序列。這個過程通過擴展譜和信號多普勒頻率部分的移動來獲得串行數(shù)據(jù)。ARM微處理器用來監(jiān)督信道的分配,并提取原始的衛(wèi)星跟蹤數(shù)據(jù),同時在計算出位置和時間后,將其采用串行方式發(fā)送到高層應(yīng)用部分。支持微處理器處理過程的硬件電路包括RTC和復(fù)位脈沖產(chǎn)生器電路。內(nèi)置的GPS軟件用來管理信道分配,并可采用衛(wèi)星的偽序列來計算位置、速度和時間,并重定數(shù)據(jù)格式后輸出到串行口或用于本地決策。
2 JP7-T GPS接收機的Demo板設(shè)計
在了解了JP7-T GPS模塊的內(nèi)部原理后,要知道是否適合產(chǎn)品的設(shè)計需要,還要再設(shè)計一塊demo板來進(jìn)行性能測試。Demo板的基本硬件設(shè)計框圖如圖2所示。
通過分析GPS模塊的內(nèi)部電路和引腳可知,其4、5引腳為第一組I/O口,分別是SDI1和SDO1,其中SDI1是主要的接收信道。用來接收GPS板的軟件命令,SDO1是主要的傳輸信道,用來將導(dǎo)航數(shù)據(jù)傳輸?shù)接脩舫绦颍?,7號引腳為第二組I/O口,分別是SDI2和SDO2;17號引腳是RF_IN,用于為GPS提供從天線接收到的信號;19號引腳用于為天線提供電源。其中SDI和SDO都是TTL電平,故在將其通過RS-232串口與PC機相連以進(jìn)行測試前,必須將TTL標(biāo)準(zhǔn)信號轉(zhuǎn)換成232標(biāo)準(zhǔn)信號才能與PC機進(jìn)行通信,本設(shè)計采用MAX3232電平轉(zhuǎn)換芯片,其轉(zhuǎn)換電路如圖3所示。鑒于GPS模塊的頻率和項目產(chǎn)品的設(shè)計需要,本設(shè)計選擇了5米GPS車用磁性吸盤天線,其中心頻率也是L1,它接收衛(wèi)星定位信息的定位精度小于15米。
圖4所示是基于JP7-T的最小啟動電路而設(shè)計的GPS接收機電路。圖5給出了該電路的電源部分電路圖。
3軟件設(shè)計
本系統(tǒng)的軟件部分主要完成對經(jīng)緯度、UTC時間、GPS定位有效性、移動端速度的采集、解碼和顯示。本設(shè)計將WGS-84坐標(biāo)的經(jīng)緯度都轉(zhuǎn)換成以度為單位,UTC時間轉(zhuǎn)換為北京時間,并將速度的knop單位轉(zhuǎn)化為以km/h為單位。
3.1 JP7-T的GPS數(shù)據(jù)格式
NMEA-0183協(xié)議是美國國家海洋電子協(xié)會(NationaIMarineElectronlcsAssociation)制定的GPS接口協(xié)議標(biāo)準(zhǔn)。NMEA-0183協(xié)議中定義了若干代表不同含義的語句,每個語句實際上就是一個ASCII碼串。這種碼比較直觀,易于識別和應(yīng)用。其發(fā)送到計算機的數(shù)據(jù)主要由幀頭、幀尾和幀內(nèi)數(shù)據(jù)組成,根據(jù)數(shù)據(jù)幀的不同,幀頭也不相同。幀頭主要有"$GPGGA"、"$GPGSA"、"$GPGSV"以及"$GPRMC"等。這些幀頭標(biāo)識了后續(xù)幀內(nèi)數(shù)據(jù)的組成結(jié)構(gòu),各幀均以回車符和換行符作為幀尾來標(biāo)識一幀的結(jié)束。使用中不需要了解NMEA-0183通信協(xié)議的全部信息,僅需要從中挑選出需要的那部分定位數(shù)據(jù)即可,而將其余的信息忽略掉。
本項目中所使用的GPS導(dǎo)航數(shù)據(jù)可以在"$GPRMC"幀中獲得,其幀格式如下:
格式中各字段的解釋如下:
(1)當(dāng)前位置的格林尼治時間,格式為hh-mmss;
(2)狀態(tài),A為有效位置,V為非有效接收警告,即當(dāng)前天線視野上方的衛(wèi)星個數(shù)少于3顆;
(3)緯度,格式為ddmm.mmmm;
(4)用于標(biāo)明南北半球,N為北半球、S為南半球;
(5)徑度,格式為dddmm.mmmm;
(6)用于標(biāo)明東西半球,E為東半球、W為西半球;
(7)地面上的速度,范圍為0.0到999.9;
(8)方位角,范圍為000.0到359.9度;
(9)日期,格式為ddmmyy;
(10)地磁變化,從000.0到180.0度;
(11)地磁變化方向,為E或W
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.8519 km/h),所以,設(shè)計時還要將獲得的速度乘以該單位轉(zhuǎn)換參數(shù)。
本系統(tǒng)的軟件設(shè)計流程圖如圖6所示。
3.3測試
軟件編寫完后,應(yīng)先在PC機上用gcc編譯,編譯過程一般沒有什么大問題。然后,可以將做好的GPS接收機通過串口接在PC機上進(jìn)行軟件和硬件的調(diào)試。本設(shè)計的GPS機經(jīng)過連續(xù)幾天運行都沒有什么問題,非常穩(wěn)定。但是,做這個demo板的最終目的是為設(shè)計一款基于ARM9處理器的手持機。所以,筆者又將該軟件交叉編譯。采用的編譯器是3.3.2版本的arm-linux-gcc。為了驗證測試板和軟件在嵌入式系統(tǒng)下的可行性,筆者還將其與廣州Friendly-arm生產(chǎn)的S3C2410實驗箱相連并進(jìn)行了測試。測試結(jié)果十分穩(wěn)定,定位非常精確。
4結(jié)束語
設(shè)計本硬件和軟件的主要目的是為一款手持導(dǎo)航儀的GPS選型作準(zhǔn)備的。結(jié)果表明,選用該型號的GPS和本軟件設(shè)計的系統(tǒng)十分穩(wěn)定.定位快,熱啟動條件下首次定位只要8 s;冷啟動時。首次定位時間也只要45 s,定位精度為10 m,是目前民用GPS中精度較高的了;而且可以在不影響功能的條件下設(shè)計出外觀精美的產(chǎn)品。設(shè)計的軟件可以將GPS定位信息通過GPS接收機完整接收,而且靈活性較大。如果換用其它坐標(biāo)系的電子地圖,則可以在描點前一步加坐標(biāo)系轉(zhuǎn)換模塊。所處理的數(shù)據(jù)對于高層決策且有重要作用,可廣泛用于導(dǎo)航、軌跡回放、中心車輛監(jiān)控與調(diào)度等。
評論