本文來(lái)源電子發(fā)燒友社區(qū),作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2284918_1_1.html
上一次我們上電之后可以看到串口打印了很多數(shù)據(jù),為了后面進(jìn)行測(cè)試分析,我們這次介紹下相應(yīng)的協(xié)議格式。
上一次我們上電之后可以看到串口打印了很多數(shù)據(jù),為了后面進(jìn)行測(cè)試分析,我們這次介紹下相應(yīng)的協(xié)議格式。
參見(jiàn)附件文檔《NMEA Reference Manual1.pdf》
NMEA 0183是美國(guó)國(guó)家海洋電子協(xié)會(huì)(National Marine Electronics Association)為海用電子設(shè)備制定的標(biāo)準(zhǔn)格式。已成了GPS導(dǎo)航設(shè)備統(tǒng)一的RTCM(Radio Technical Commission for Maritime services)標(biāo)準(zhǔn)協(xié)議。
GNRMC/GPRMC:推薦定位信息
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
<1> UTC時(shí)間,hhmmss.sss(時(shí)分秒.毫秒)格式
<2> 定位狀態(tài),A=有效定位,V=無(wú)效定位
<3> 緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸)
<4> 緯度半球N(北半球)或S(南半球)
<5> 經(jīng)度dddmm.mmmm(度分)格式(前面的0也將被傳輸)
<6> 經(jīng)度半球E(東經(jīng))或W(西經(jīng))
<7> 地面速率(000.0~999.9節(jié),前面的0也將被傳輸)
<8> 地面航向(000.0~359.9度,以正北為參考基準(zhǔn),前面的0也將被傳輸)
<9> UTC日期,ddmmyy(日月年)格式
<10> 磁偏角(000.0~180.0度,前面的0也將被傳輸)
<11> 磁偏角方向,E(東)或W(西)
<12> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數(shù)據(jù)無(wú)效)
*后hh為$到*所有字符的異或和
注意:
如果字段4的值等于N,則字段3的值等于 ddmm.mmmmmm;
如果字段4的值等于S,則字段3的值等于 -ddmm.mmmmmm;
如果字段6的值等于E,則字段5的值等于 ddmm.mmmmmm;
如果字段6的值等于W,則字段5的值等于 -ddmm.mmmmmm;
如果字段4的值等于S,則字段3的值等于 -ddmm.mmmmmm;
如果字段6的值等于E,則字段5的值等于 ddmm.mmmmmm;
如果字段6的值等于W,則字段5的值等于 -ddmm.mmmmmm;
注意2:
十進(jìn)制北緯度數(shù)= dd + mm.mmmmmm/60;
十進(jìn)制南緯度數(shù)= -(dd + mm.mmmmmm/60);
十進(jìn)制東經(jīng)度數(shù)= ddd + mm.mmmmmm/60;
十進(jìn)制西經(jīng)度數(shù)= -(ddd + mm.mmmmmm/60);
GNVTG/GPVTG:地面速度信息
十進(jìn)制南緯度數(shù)= -(dd + mm.mmmmmm/60);
十進(jìn)制東經(jīng)度數(shù)= ddd + mm.mmmmmm/60;
十進(jìn)制西經(jīng)度數(shù)= -(ddd + mm.mmmmmm/60);
$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ù)無(wú)效
$GPGGA 語(yǔ)句包括17個(gè)字段:語(yǔ)句標(biāo)識(shí)頭,世界時(shí)間,緯度,緯度半球,經(jīng)度,經(jīng)度半球,定位質(zhì)量指示,使用衛(wèi)星數(shù)量,HDOP-水平精度因子,橢球高,高度單位,大地水準(zhǔn)面高度異常差值,高度單位,差分GPS數(shù)據(jù)期限,差分參考基站標(biāo)號(hào),校驗(yàn)和結(jié)束標(biāo)記(用回車(chē)符和換行符),分別用14個(gè)逗號(hào)進(jìn)行分隔。
格式示例:$GPGGA,014434.70,3817.13334637,N,12139.72994196,E,4,07,1.5,6.571,M,8.942,M,0.7,0016*79
該數(shù)據(jù)幀的結(jié)構(gòu)及各字段釋義如下:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx
$GPGGA:起始引導(dǎo)符及語(yǔ)句格式說(shuō)明(本句為GPS定位數(shù)據(jù));
<1> UTC時(shí)間,格式為hhmmss.sss;
<2> 緯度,格式為ddmm.mmmm(第一位是零也將傳送);
<3> 緯度半球,N或S(北緯或南緯)
<4>經(jīng)度,格式為dddmm.mmmm(第一位零也將傳送);
<5> 經(jīng)度半球,E或W(東經(jīng)或西經(jīng))
<6> GPS狀態(tài), 0初始化, 1單點(diǎn)定位, 2碼差分, 3無(wú)效PPS, 4固定解, 5浮點(diǎn)解, 6正在估算 7,人工輸入固定值, 8模擬模式, 9WAAS差分
<7> 使用衛(wèi)星數(shù)量,從00到12(第一個(gè)零也將傳送)
<8> HDOP-水平精度因子,0.5到99.9,一般認(rèn)為HDOP越小,質(zhì)量越好。
<9> 海拔高度,-9999.9到9999.9米
M 指單位米
<10> 大地水準(zhǔn)面高度異常差值,-9999.9到9999.9米
M 指單位米
<11> 差分GPS數(shù)據(jù)期限(RTCMSC-104),最后設(shè)立RTCM傳送的秒數(shù)量,如不是差分定位則為空
<12> 差分參考基站標(biāo)號(hào),從0000到1023(首位0也將傳送)。
* 語(yǔ)句結(jié)束標(biāo)志符
xx 從$開(kāi)始到*之間的所有ASCII碼的異或校驗(yàn)
回車(chē)符,結(jié)束標(biāo)記
換行符,結(jié)束標(biāo)記
$GPGSV
|
例:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70
|
字段0:$GPGSV,語(yǔ)句ID,表明該語(yǔ)句為GPS Satellites in View(GSV)可見(jiàn)衛(wèi)星信息
|
字段1:本次GSV語(yǔ)句的總數(shù)目(1 - 3)
|
字段2:本條GSV語(yǔ)句是本次GSV語(yǔ)句的第幾條(1 - 3)
|
字段3:當(dāng)前可見(jiàn)衛(wèi)星總數(shù)(00 - 12)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段4:PRN 碼(偽隨機(jī)噪聲碼)(01 - 32)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段5:衛(wèi)星仰角(00 - 90)度(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段6:衛(wèi)星方位角(00 - 359)度(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段7:信噪比(00-99)dbHz
|
字段8:PRN 碼(偽隨機(jī)噪聲碼)(01 - 32)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段9:衛(wèi)星仰角(00 - 90)度(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段10:衛(wèi)星方位角(00 - 359)度(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段11:信噪比(00-99)dbHz
|
字段12:PRN 碼(偽隨機(jī)噪聲碼)(01 - 32)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段13:衛(wèi)星仰角(00 - 90)度(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段14:衛(wèi)星方位角(00 - 359)度(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段15:信噪比(00-99)dbHz
|
字段16:校驗(yàn)值
|
$GPGSA
|
例:$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A
|
字段0:$GPGSA,語(yǔ)句ID,表明該語(yǔ)句為GPS DOP and Active Satellites(GSA)當(dāng)前衛(wèi)星信息
|
字段1:定位模式,A=自動(dòng)手動(dòng)2D/3D,M=手動(dòng)2D/3D
|
字段2:定位類型,1=未定位,2=2D定位,3=3D定位
|
字段3:PRN碼(偽隨機(jī)噪聲碼),第1信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段4:PRN碼(偽隨機(jī)噪聲碼),第2信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段5:PRN碼(偽隨機(jī)噪聲碼),第3信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段6:PRN碼(偽隨機(jī)噪聲碼),第4信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段7:PRN碼(偽隨機(jī)噪聲碼),第5信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段8:PRN碼(偽隨機(jī)噪聲碼),第6信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段9:PRN碼(偽隨機(jī)噪聲碼),第7信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段10:PRN碼(偽隨機(jī)噪聲碼),第8信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段11:PRN碼(偽隨機(jī)噪聲碼),第9信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段12:PRN碼(偽隨機(jī)噪聲碼),第10信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段13:PRN碼(偽隨機(jī)噪聲碼),第11信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段14:PRN碼(偽隨機(jī)噪聲碼),第12信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
|
字段15:PDOP綜合位置精度因子(0.5 - 99.9)
|
字段16:HDOP水平精度因子(0.5 - 99.9)
|
字段17:VDOP垂直精度因子(0.5 - 99.9)
|
字段18:校驗(yàn)值
|
報(bào)文格式如下:
$GNGGA,[utc_time],[ weidu],[ NS],[ jingdu],[ EW],[state],[num],[hdop],[haiba_gao],[gao_danwei],[tuoqiu],[chafen_time],[chafen_id],[jiaoyan],[tagid],[power],[信號(hào)強(qiáng)度],[保留1],[保留2],[保留3]
數(shù)據(jù)示例:
$GNGGA,045449.000,3951.764319,N,11615.386554,E,2,19,0.70,57.726,M,-9.89,M,11,0000*69,1872,2d,19,0,0,0
*字段說(shuō)明:
*1.$GNGGA;//包頭
*2.utc_time;//字段1:UTC 時(shí)間,hhmmss.sss,時(shí)分秒格式
*3.weidu;//字段2:緯度ddmm.mmmm,度分格式(前導(dǎo)位數(shù)不足則補(bǔ)0)
*4.NS;//字段3:緯度N(北緯)或S(南緯)
*5.jingdu;//字段4:經(jīng)度dddmm.mmmm,度分格式(前導(dǎo)位數(shù)不足則補(bǔ)0)
*6.EW;//字段5:經(jīng)度E(東經(jīng))或W(西經(jīng))
*7.state;//字段6:定位質(zhì)量GPS狀態(tài),0.初始化,1.單點(diǎn)定位,2.碼差分,3.無(wú)效PPS,4.固定解,5.浮點(diǎn)解, 6.正在估算, 7.人工輸入固定值,8.模擬模式,9.WAAS差分
*8.num;//字段7:正在使用的衛(wèi)星數(shù)量(00 - 12)(前導(dǎo)位數(shù)不足則補(bǔ)0)
*9.hdop;//字段8:HDOP水平精度因子(0.5 - 99.9)
*10.haiba_gao;//字段9:天線距離海平面高度(-9999.9 - 99999.9)
*11.gao_danwei;//字段10:高度單位M表示米
*12.tuoqiu;//字段11:地球橢球面相對(duì)大地水準(zhǔn)面的高度
*13.chafen_time;//字段12:差分時(shí)間(從最近一次接收到差分信號(hào)開(kāi)始的秒數(shù),如果不是差分定位將為空)
*14.chafen_id;//字段13:差分站ID號(hào)0000 - 1023(前導(dǎo)位數(shù)不足則補(bǔ)0,如果不是差分定位將為空)
*15.jiaoyan;//字段14:校驗(yàn)值
*16.tagid;//字段15,:設(shè)備id,低位在前高位在后HEX格式
*17.power;//字段16;電量,HEX格式,0~100
*18.衛(wèi)星信號(hào)強(qiáng)度
*19.保留位1
*20.保留位2
*21.保留位3
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
御芯微
+關(guān)注
關(guān)注
4文章
57瀏覽量
3324 -
開(kāi)發(fā)板試用
+關(guān)注
關(guān)注
3文章
301瀏覽量
2109 -
UCM108E
+關(guān)注
關(guān)注
0文章
13瀏覽量
152
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
瑞芯微開(kāi)發(fā)板/主板Android系統(tǒng)APK簽名文件使用方法,實(shí)用干貨
瑞芯微主板/開(kāi)發(fā)板Android系統(tǒng),APK系統(tǒng)簽名文件使用方法
有獎(jiǎng)丨米爾 全志T536開(kāi)發(fā)板免費(fèi)試用
米爾與全志合作發(fā)布的新品基于全志T536應(yīng)用處理器的MYD-LT536-GK開(kāi)發(fā)板免費(fèi)試用活動(dòng)來(lái)啦~~米爾提供了3塊價(jià)值750元的MYD-LT536-GK開(kāi)發(fā)板發(fā)起試用活動(dòng)您不僅可以免
瑞芯微主板/開(kāi)發(fā)板Linux系統(tǒng)播放音頻方法,觸覺(jué)智能RK3562開(kāi)發(fā)板演示
本文介紹瑞芯微方案主板/開(kāi)發(fā)板Linux系統(tǒng)播放音頻的方法,觸覺(jué)智能RK3562開(kāi)發(fā)板演示,通用RK3566、RK3568、RK3588等
百問(wèn)MQTT協(xié)議分析 - MQTT簡(jiǎn)述及協(xié)議報(bào)文格式組成
城市、遠(yuǎn)程醫(yī)療、遠(yuǎn)程教育
g)電力、石油與能源等行業(yè)市場(chǎng)
16.2 mqtt協(xié)議報(bào)文格式組成
16.2.1 mqtt控制報(bào)文結(jié)構(gòu)
MQTT 協(xié)議通過(guò)交換預(yù)定義的 MQTT 控制報(bào)文來(lái)通信。 這一節(jié)描述
發(fā)表于 12-13 09:29
追加名額丨米爾瑞芯微RK3576開(kāi)發(fā)板有獎(jiǎng)試用
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開(kāi)發(fā)板免費(fèi)試用活
有獎(jiǎng)丨米爾 瑞芯微RK3576開(kāi)發(fā)板免費(fèi)試用
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開(kāi)發(fā)板免費(fèi)試用活
有獎(jiǎng)試用!!RA-Eco-RA4E2-64PIN-V1.0開(kāi)發(fā)板試用活動(dòng)開(kāi)始報(bào)名
有獎(jiǎng)試用!!RA-Eco-RA4E2-64PIN-V1.0開(kāi)發(fā)板試用活動(dòng)開(kāi)始報(bào)名
瑞芯微RK3568開(kāi)發(fā)板Linux編譯報(bào)錯(cuò)404怎么辦?觸覺(jué)智能教你輕松解決
本文介紹瑞芯微RK3568主板/開(kāi)發(fā)板SDK編譯流程和編譯報(bào)錯(cuò)404的解決方法,使用觸覺(jué)智能EVB3568鴻蒙開(kāi)發(fā)板演示,具有豐富的視頻輸入輸出接口(HDMI/eDP/MIPI/LVD
點(diǎn)擊參與米爾NXP i.MX 93開(kāi)發(fā)板有獎(jiǎng)試用
米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開(kāi)發(fā)板免費(fèi)試用活動(dòng)來(lái)啦~~米爾提供了3塊價(jià)值678元的MYD-LMX9X開(kāi)發(fā)板發(fā)起試用活動(dòng)您不僅可以免費(fèi)體
瑞芯微圖像識(shí)別開(kāi)發(fā)板技術(shù)交流
有一個(gè)瑞芯微圖像識(shí)別開(kāi)發(fā)板的技術(shù)開(kāi)發(fā)需求,歡迎洽談
發(fā)表于 05-29 18:41
發(fā)力萬(wàn)物智聯(lián),御芯微官宣7款WIoTa方案產(chǎn)品助力產(chǎn)業(yè)升級(jí)
近日,在國(guó)際傳感器展覽上,御芯微發(fā)布了一款中長(zhǎng)距的UHF RFID模組——UCM606L引起了記者的關(guān)注,這是御
modbus報(bào)文解析,modbus報(bào)文格式詳解
支持點(diǎn)對(duì)點(diǎn)和多點(diǎn)通信,可以實(shí)現(xiàn)控制器之間的通信。 Modbus報(bào)文是Modbus協(xié)議中的基本通信單位。Modbus報(bào)文包含一個(gè)頭部和數(shù)據(jù)部分。頭部包含了從站地址、功能碼和數(shù)據(jù)長(zhǎng)度等信息,數(shù)據(jù)部分包含了請(qǐng)求或響應(yīng)數(shù)據(jù)。 1. 地址碼(Address Code):指定通信對(duì)象
CAN的報(bào)文格式和發(fā)送總流程
在標(biāo)準(zhǔn)格式中,報(bào)文的起始位稱為幀起始(SOF),然后是由11位標(biāo)識(shí)符和遠(yuǎn)程發(fā)送請(qǐng)求位(RTR)組成的仲裁場(chǎng)。RTR位標(biāo)明是數(shù)據(jù)幀還是請(qǐng)求幀,在請(qǐng)求幀中沒(méi)有數(shù)據(jù)字節(jié)。
發(fā)表于 04-11 10:07
?9579次閱讀
modbus報(bào)文解析,modbus報(bào)文格式詳解
支持點(diǎn)對(duì)點(diǎn)和多點(diǎn)通信,可以實(shí)現(xiàn)控制器之間的通信。 Modbus報(bào)文是Modbus協(xié)議中的基本通信單位。Modbus報(bào)文包含一個(gè)頭部和數(shù)據(jù)部分。頭部包含了從站地址、功能碼和數(shù)據(jù)長(zhǎng)度等信息,數(shù)據(jù)部分包含了請(qǐng)求或響應(yīng)數(shù)據(jù)。 ? 1. 地址碼(Address Code):指定通信
評(píng)論