在定位終端產(chǎn)品中嵌入GPS模塊就能夠通過GPS模塊的串口獲取定位數(shù)據(jù),位置數(shù)據(jù),如何讀取GPS模塊定位數(shù)據(jù),這是本篇SKYLAB小編要給大家介紹的。
GPS模塊只要處于工作狀態(tài)就會(huì)源源不斷地把接收并計(jì)算出的GPS導(dǎo)航定位信息通過串口傳送單片機(jī)中,在沒有進(jìn)一步處理之前,傳送的數(shù)據(jù)是一長串字節(jié)流信息。因此必須經(jīng)過程序?qū)⑵滢D(zhuǎn)化為有實(shí)際意義的;可供高層決策使用的定位信息數(shù)據(jù)。與其他通信協(xié)議類似,GPS模塊都遵循NMEA-0183協(xié)議,GPS模塊發(fā)送到單片機(jī)的數(shù)據(jù)主要由幀頭,幀尾和幀內(nèi)數(shù)據(jù)組成,因此,必須明確其幀結(jié)構(gòu),然后才能根據(jù)其結(jié)構(gòu)完成對各個(gè)定位信息的提取。
如:$aaccc,ddd,ddd,…,ddd*hh
1、“$”——幀命令起始位
2、aaccc——地址域,前兩位為識(shí)別符,后三位為語句名
3、ddd…ddd——數(shù)據(jù)
4、“*”——校驗(yàn)和前綴
5、hh——校驗(yàn)和(check sum),$與*之間所有字符ASCII碼的校驗(yàn)和(各字節(jié)做異或運(yùn)算,得到校驗(yàn)和后,再轉(zhuǎn)換16進(jìn)制格式的ASCII字符。)
6、
NMEA-0183的數(shù)據(jù)信息有十幾種,這些信息的作用分別是:$GPGGA:輸出GPS的定位信息;$GPGSA:輸出衛(wèi)星DOP值信息;$GPGSV:輸出可見的衛(wèi)星信息;$GPRMC:輸出最小數(shù)據(jù)量的GPS信息;$GPVTG:地面速度信息;$GPGLL:輸出大地坐標(biāo)信息;$GPZDA:輸出UTC時(shí)間信息;$GPGST:輸出定位標(biāo)準(zhǔn)差信息;$GPALM:輸出衛(wèi)星星歷信息;
GPGGA:GPS固定數(shù)據(jù)輸出語句,這是一幀GPS定位的主要數(shù)據(jù),也是使用最廣的數(shù)據(jù)。
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<15>
<1> UTC時(shí)間,格式為hhmmss.sss。
<2> 緯度,格式為ddmm.mmmm(前導(dǎo)位數(shù)不足則補(bǔ)0)。
<3> 緯度半球,N或S(北緯或南緯)。
<4> 經(jīng)度,格式為dddmm.mmmm(前導(dǎo)位數(shù)不足則補(bǔ)0)。
<5> 經(jīng)度半球,E或W(東經(jīng)或西經(jīng))。
<6> 定位質(zhì)量指示,0=定位無效,1=定位有效。
<7> 使用衛(wèi)星數(shù)量,從00到12(前導(dǎo)位數(shù)不足則補(bǔ)0)。
<8> 水平精確度,0.5到99.9。
<9> 天線離海平面的高度,-9999.9到9999.9米
<10> 高度單位,M表示單位米。
<11> 大地橢球面相對海平面的高度(-9999.9到9999.9)。
<12> 高度單位,M表示單位米。
<13> 差分GPS數(shù)據(jù)期限(RTCM SC-104),最后設(shè)立RTCM傳送的秒數(shù)量。
<14> 差分參考基站標(biāo)號(hào),從0000到1023(前導(dǎo)位數(shù)不足則補(bǔ)0)。
<15> 校驗(yàn)和。
GPGSA:GPS精度指針及使用衛(wèi)星格式
$GPGSA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>*<18>
<1> 模式2:M = 手動(dòng), A = 自動(dòng)。
<2> 模式1:定位型式1 = 未定位,2 = 二維定位,3 = 三維定位。
<3> 第1信道正在使用的衛(wèi)星PRN碼編號(hào)(Pseudo Random Noise,偽隨機(jī)噪聲碼),01至32(前導(dǎo)位數(shù)不足則補(bǔ)0,最多可接收12顆衛(wèi)星信息)。
<4> 第2信道正在使用的衛(wèi)星PRN碼編號(hào)
<5> 第3信道正在使用的衛(wèi)星PRN碼編號(hào)
<6> 第4信道正在使用的衛(wèi)星PRN碼編號(hào)
<7> 第5信道正在使用的衛(wèi)星PRN碼編號(hào)
<8> 第6信道正在使用的衛(wèi)星PRN碼編號(hào)
<9> 第7信道正在使用的衛(wèi)星PRN碼編號(hào)
<10> 第8信道正在使用的衛(wèi)星PRN碼編號(hào)
<11> 第9信道正在使用的衛(wèi)星PRN碼編號(hào)
<12> 第10信道正在使用的衛(wèi)星PRN碼編號(hào)
<13> 第11信道正在使用的衛(wèi)星PRN碼編號(hào)
<14> 第12信道正在使用的衛(wèi)星PRN碼編號(hào)
<15> PDOP綜合位置精度因子(0.5 - 99.9)
<16> HDOP水平精度因子(0.5 - 99.9)
<17> VDOP垂直精度因子(0.5 - 99.9)
<18> 校驗(yàn)和
GPGSV:可視衛(wèi)星狀態(tài)輸出語句
$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,...,<4>,<5>,<6>,<7>*<8>
<1> 總的GSV語句電文數(shù)。
<2> 當(dāng)前GSV語句號(hào)。
<3> 可視衛(wèi)星總數(shù),00至12。
<4> 衛(wèi)星編號(hào),01至32。
<5> 衛(wèi)星仰角,00至90度。
<6> 衛(wèi)星方位角,000至359度。實(shí)際值。
<7> 信噪比(C/No),00至99dB;無表未接收到訊號(hào)。
<8> 校驗(yàn)和。
注:每條語句最多包括四顆衛(wèi)星的信息,每顆衛(wèi)星的信息有四個(gè)數(shù)據(jù)項(xiàng),即:衛(wèi)星編號(hào)、衛(wèi)星仰角、衛(wèi)星方位角、信噪比。
GPRMC:推薦最小數(shù)據(jù)量的GPS信息
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*<13>
<1> UTC(Coordinated Universal Time)時(shí)間,hhmmss(時(shí)分秒)格式
<2> 定位狀態(tài),A=有效定位,V=無效定位
<3> Latitude,緯度ddmm.mmmm(度分)格式(前導(dǎo)位數(shù)不足則補(bǔ)0)
<4> 緯度半球N(北半球)或S(南半球)
<5> Longitude,經(jīng)度dddmm.mmmm(度分)格式(前導(dǎo)位數(shù)不足則補(bǔ)0)
<6> 經(jīng)度半球E(東經(jīng))或W(西經(jīng))
<7> 地面速率(000.0~999.9節(jié),Knot,前導(dǎo)位數(shù)不足則補(bǔ)0)
<8> 地面航向(000.0~359.9度,以真北為參考基準(zhǔn),前導(dǎo)位數(shù)不足則補(bǔ)0)
<9> UTC日期,ddmmyy(日月年)格式
<10> Magnetic Variation,磁偏角(000.0~180.0度,前導(dǎo)位數(shù)不足則補(bǔ)0)
<11> Declination,磁偏角方向,E(東)或W(西)
<12> Mode Indicator,模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數(shù)據(jù)無效)
<13> 校驗(yàn)和。
GPVTG:地面速度信息
$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh
<1> 以真北為參考基準(zhǔn)的地面航向(000~359度,前面的0也將被傳輸)
<2> 以磁北為參考基準(zhǔn)的地面航向(000~359度,前面的0也將被傳輸)
<3> 地面速率(000.0~999.9節(jié),前面的0也將被傳輸)
<4> 地面速率(0000.0~1851.8公里/小時(shí),前面的0也將被傳輸)
<5> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數(shù)據(jù)無效。
通過串口輸出NMEA-0183協(xié)議格式的數(shù)據(jù),解析獲得下述信息:
◆定位:提供經(jīng)度、緯度、高度(海拔)信息;
◆授時(shí):提供精確UTC時(shí)間,閏秒修正預(yù)報(bào);提供日期信息;
◆其他:提供速度,航向(運(yùn)動(dòng)方向)信息;
◆衛(wèi)星信息:如PRN,SNR,仰角,方位角等;
以上是本篇SKYLAB君整理的有關(guān)GPS模塊數(shù)據(jù)讀取的介紹,更多GPS模塊、GPS授時(shí)模塊的模塊參數(shù)特性及選型應(yīng)用,可直接戳官網(wǎng)右側(cè)客服QQ或直撥0755-83408210。