本文來源電子發燒友社區,作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2284918_1_1.html
上一次我們上電之后可以看到串口打印了很多數據,為了后面進行測試分析,我們這次介紹下相應的協議格式。
上一次我們上電之后可以看到串口打印了很多數據,為了后面進行測試分析,我們這次介紹下相應的協議格式。
參見附件文檔《NMEA Reference Manual1.pdf》
NMEA 0183是美國國家海洋電子協會(National Marine Electronics Association)為海用電子設備制定的標準格式。已成了GPS導航設備統一的RTCM(Radio Technical Commission for Maritime services)標準協議。
GNRMC/GPRMC:推薦定位信息
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
<1> UTC時間,hhmmss.sss(時分秒.毫秒)格式
<2> 定位狀態,A=有效定位,V=無效定位
<3> 緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸)
<4> 緯度半球N(北半球)或S(南半球)
<5> 經度dddmm.mmmm(度分)格式(前面的0也將被傳輸)
<6> 經度半球E(東經)或W(西經)
<7> 地面速率(000.0~999.9節,前面的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=數據無效)
*后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:
十進制北緯度數= dd + mm.mmmmmm/60;
十進制南緯度數= -(dd + mm.mmmmmm/60);
十進制東經度數= ddd + mm.mmmmmm/60;
十進制西經度數= -(ddd + mm.mmmmmm/60);
GNVTG/GPVTG:地面速度信息
十進制南緯度數= -(dd + mm.mmmmmm/60);
十進制東經度數= ddd + mm.mmmmmm/60;
十進制西經度數= -(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節,前面的0也將被傳輸)
<4> 地面速率(0000.0~1851.8公里/小時,前面的0也將被傳輸)
<5> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數據無效
$GPGGA 語句包括17個字段:語句標識頭,世界時間,緯度,緯度半球,經度,經度半球,定位質量指示,使用衛星數量,HDOP-水平精度因子,橢球高,高度單位,大地水準面高度異常差值,高度單位,差分GPS數據期限,差分參考基站標號,校驗和結束標記(用回車符和換行符),分別用14個逗號進行分隔。
格式示例:$GPGGA,014434.70,3817.13334637,N,12139.72994196,E,4,07,1.5,6.571,M,8.942,M,0.7,0016*79
該數據幀的結構及各字段釋義如下:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx
$GPGGA:起始引導符及語句格式說明(本句為GPS定位數據);
<1> UTC時間,格式為hhmmss.sss;
<2> 緯度,格式為ddmm.mmmm(第一位是零也將傳送);
<3> 緯度半球,N或S(北緯或南緯)
<4>經度,格式為dddmm.mmmm(第一位零也將傳送);
<5> 經度半球,E或W(東經或西經)
<6> GPS狀態, 0初始化, 1單點定位, 2碼差分, 3無效PPS, 4固定解, 5浮點解, 6正在估算 7,人工輸入固定值, 8模擬模式, 9WAAS差分
<7> 使用衛星數量,從00到12(第一個零也將傳送)
<8> HDOP-水平精度因子,0.5到99.9,一般認為HDOP越小,質量越好。
<9> 海拔高度,-9999.9到9999.9米
M 指單位米
<10> 大地水準面高度異常差值,-9999.9到9999.9米
M 指單位米
<11> 差分GPS數據期限(RTCMSC-104),最后設立RTCM傳送的秒數量,如不是差分定位則為空
<12> 差分參考基站標號,從0000到1023(首位0也將傳送)。
* 語句結束標志符
xx 從$開始到*之間的所有ASCII碼的異或校驗
回車符,結束標記
換行符,結束標記
$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)可見衛星信息
|
字段1:本次GSV語句的總數目(1 - 3)
|
字段2:本條GSV語句是本次GSV語句的第幾條(1 - 3)
|
字段3:當前可見衛星總數(00 - 12)(前導位數不足則補0)
|
字段4:PRN 碼(偽隨機噪聲碼)(01 - 32)(前導位數不足則補0)
|
字段5:衛星仰角(00 - 90)度(前導位數不足則補0)
|
字段6:衛星方位角(00 - 359)度(前導位數不足則補0)
|
字段7:信噪比(00-99)dbHz
|
字段8:PRN 碼(偽隨機噪聲碼)(01 - 32)(前導位數不足則補0)
|
字段9:衛星仰角(00 - 90)度(前導位數不足則補0)
|
字段10:衛星方位角(00 - 359)度(前導位數不足則補0)
|
字段11:信噪比(00-99)dbHz
|
字段12:PRN 碼(偽隨機噪聲碼)(01 - 32)(前導位數不足則補0)
|
字段13:衛星仰角(00 - 90)度(前導位數不足則補0)
|
字段14:衛星方位角(00 - 359)度(前導位數不足則補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)當前衛星信息
|
字段1:定位模式,A=自動手動2D/3D,M=手動2D/3D
|
字段2:定位類型,1=未定位,2=2D定位,3=3D定位
|
字段3:PRN碼(偽隨機噪聲碼),第1信道正在使用的衛星PRN碼編號(00)(前導位數不足則補0)
|
字段4:PRN碼(偽隨機噪聲碼),第2信道正在使用的衛星PRN碼編號(00)(前導位數不足則補0)
|
字段5:PRN碼(偽隨機噪聲碼),第3信道正在使用的衛星PRN碼編號(00)(前導位數不足則補0)
|
字段6:PRN碼(偽隨機噪聲碼),第4信道正在使用的衛星PRN碼編號(00)(前導位數不足則補0)
|
字段7:PRN碼(偽隨機噪聲碼),第5信道正在使用的衛星PRN碼編號(00)(前導位數不足則補0)
|
字段8:PRN碼(偽隨機噪聲碼),第6信道正在使用的衛星PRN碼編號(00)(前導位數不足則補0)
|
字段9:PRN碼(偽隨機噪聲碼),第7信道正在使用的衛星PRN碼編號(00)(前導位數不足則補0)
|
字段10:PRN碼(偽隨機噪聲碼),第8信道正在使用的衛星PRN碼編號(00)(前導位數不足則補0)
|
字段11:PRN碼(偽隨機噪聲碼),第9信道正在使用的衛星PRN碼編號(00)(前導位數不足則補0)
|
字段12:PRN碼(偽隨機噪聲碼),第10信道正在使用的衛星PRN碼編號(00)(前導位數不足則補0)
|
字段13:PRN碼(偽隨機噪聲碼),第11信道正在使用的衛星PRN碼編號(00)(前導位數不足則補0)
|
字段14:PRN碼(偽隨機噪聲碼),第12信道正在使用的衛星PRN碼編號(00)(前導位數不足則補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]
數據示例:
$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,度分格式(前導位數不足則補0)
*4.NS;//字段3:緯度N(北緯)或S(南緯)
*5.jingdu;//字段4:經度dddmm.mmmm,度分格式(前導位數不足則補0)
*6.EW;//字段5:經度E(東經)或W(西經)
*7.state;//字段6:定位質量GPS狀態,0.初始化,1.單點定位,2.碼差分,3.無效PPS,4.固定解,5.浮點解, 6.正在估算, 7.人工輸入固定值,8.模擬模式,9.WAAS差分
*8.num;//字段7:正在使用的衛星數量(00 - 12)(前導位數不足則補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:差分時間(從最近一次接收到差分信號開始的秒數,如果不是差分定位將為空)
*14.chafen_id;//字段13:差分站ID號0000 - 1023(前導位數不足則補0,如果不是差分定位將為空)
*15.jiaoyan;//字段14:校驗值
*16.tagid;//字段15,:設備id,低位在前高位在后HEX格式
*17.power;//字段16;電量,HEX格式,0~100
*18.衛星信號強度
*19.保留位1
*20.保留位2
*21.保留位3
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
御芯微
+關注
關注
4文章
57瀏覽量
3331 -
開發板試用
+關注
關注
3文章
301瀏覽量
2129 -
UCM108E
+關注
關注
0文章
13瀏覽量
153
發布評論請先 登錄
相關推薦
瑞芯微開發板/主板Android配置APK默認開啟性能模式方法
本文介紹瑞芯微開發板/主板Android配置APK默認開啟性能模式方法,開啟性能模式后,APK的CPU使用優先級會有所提高。觸覺智能RK3562開發板演示,搭載4核A53處理器,主頻高
有獎丨米爾 全志T536開發板免費試用
米爾與全志合作發布的新品基于全志T536應用處理器的MYD-LT536-GK開發板免費試用活動來啦~~米爾提供了3塊價值750元的MYD-LT536-GK開發板發起試用活動您不僅可以免
瑞芯微主板/開發板Linux系統播放音頻方法,觸覺智能RK3562開發板演示
本文介紹瑞芯微方案主板/開發板Linux系統播放音頻的方法,觸覺智能RK3562開發板演示,通用RK3566、RK3568、RK3588等
百問MQTT協議分析 - MQTT簡述及協議報文格式組成
城市、遠程醫療、遠程教育
g)電力、石油與能源等行業市場
16.2 mqtt協議報文格式組成
16.2.1 mqtt控制報文結構
MQTT 協議通過交換預定義的 MQTT 控制報文來通信。 這一節描述
發表于 12-13 09:29
瑞芯微RK3568開發板Linux編譯報錯404怎么辦?觸覺智能教你輕松解決
本文介紹瑞芯微RK3568主板/開發板SDK編譯流程和編譯報錯404的解決方法,使用觸覺智能EVB3568鴻蒙開發板演示,具有豐富的視頻輸入輸出接口(HDMI/eDP/MIPI/LVD
點擊參與米爾NXP i.MX 93開發板有獎試用
米爾與NXP合作發布的新品基于NXPi.MX93應用處理器的MYD-LMX9X開發板免費試用活動來啦~~米爾提供了3塊價值678元的MYD-LMX9X開發板發起試用活動您不僅可以免費體
modbus報文解析,modbus報文格式詳解
支持點對點和多點通信,可以實現控制器之間的通信。 Modbus報文是Modbus協議中的基本通信單位。Modbus報文包含一個頭部和數據部分。頭部包含了從站地址、功能碼和數據長度等信息,數據部分包含了請求或響應數據。 1. 地址碼(Address Code):指定通信對象
CAN的報文格式和發送總流程
在標準格式中,報文的起始位稱為幀起始(SOF),然后是由11位標識符和遠程發送請求位(RTR)組成的仲裁場。RTR位標明是數據幀還是請求幀,在請求幀中沒有數據字節。
發表于 04-11 10:07
?9978次閱讀
評論