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