(window.webpackJsonp=window.webpackJsonp||[]).push([[263],{581:function(t,e,a){"use strict";a.r(e);var l=a(10),_=Object(l.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"nmea-2000"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#nmea-2000"}},[t._v("#")]),t._v(" NMEA 2000")]),t._v(" "),e("p",[e("strong",[t._v("FDI_NMEA 2000 接口用户使用手册")])]),t._v(" "),e("fdi-img",{attrs:{width:"80%",alt:"NMEA 2000 接口",src:"/developers/03-fdilinksdk/NMEA 2000/图片26.png",caption:""}}),t._v(" "),e("h2",{attrs:{id:"_1-简介"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_1-简介"}},[t._v("#")]),t._v(" 1. 简介")]),t._v(" "),e("p",[t._v("NMEA 2000 是用于船舶与航海设备间数据通信的标准化接口协议,经串行网络传输位置、速度、状态等信息,广泛应用于船舶电子设备互联与数据共享。")]),t._v(" "),e("p",[t._v("FDISYSTEMS 产品兼容国际 NMEA 2000 协议,可与各类 NMEA 2000 设备互通,便于集成到船舶与海洋应用中,提供可靠、高效的数据通信。")]),t._v(" "),e("fdi-img",{attrs:{width:"100%",alt:"NMEA 2000 应用示意",src:"/developers/03-fdilinksdk/NMEA 2000/图片27.png",caption:""}}),t._v(" "),e("h2",{attrs:{id:"_2-知识储备"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_2-知识储备"}},[t._v("#")]),t._v(" 2. 知识储备")]),t._v(" "),e("h3",{attrs:{id:"_1-什么是-nmea-2000"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_1-什么是-nmea-2000"}},[t._v("#")]),t._v(" (1) 什么是 NMEA 2000?")]),t._v(" "),e("p",[t._v("NMEA 2000(National Marine Electronics Association 2000)规定了船舶电子设备通过共享网络通信与交换信息的规范。协议基于 CAN(Controller Area Network)总线传输,采用控制器–设备架构,支持全双工通信,同一总线上最多可连接约 250 个设备(如 GPS、雷达、声呐、自动驾驶系统等)。")]),t._v(" "),e("h3",{attrs:{id:"_2-什么是-pgn-pgn-与-can-id-的关系是什么"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_2-什么是-pgn-pgn-与-can-id-的关系是什么"}},[t._v("#")]),t._v(" (2) 什么是 PGN?PGN 与 CAN ID 的关系是什么?")]),t._v(" "),e("fdi-img",{attrs:{width:"100%",alt:"PGN 与 CAN ID 关系",src:"/developers/03-fdilinksdk/NMEA 2000/图片28.png",caption:""}}),t._v(" "),e("p",[t._v("简单来说,PGN 是 NMEA 2000 的数据标识,也可理解为 CAN 扩展帧头中的一部分字段。接收 NMEA 2000 数据时须使用 "),e("strong",[t._v("29 bit 扩展帧")]),t._v("。除 PGN 外,CAN 帧头还包含设备源地址、目标地址与优先级等信息。")]),t._v(" "),e("h3",{attrs:{id:"_3-nmea-2000-与-can-通信的关系"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_3-nmea-2000-与-can-通信的关系"}},[t._v("#")]),t._v(" (3) NMEA 2000 与 CAN 通信的关系")]),t._v(" "),e("p",[t._v("NMEA 2000 是基于 CAN 电气与硬件基础的高层软件协议,规定了基于 CAN 帧头与数据帧的编码与交换格式。")]),t._v(" "),e("h3",{attrs:{id:"_4-什么是多帧快速包发送方式"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_4-什么是多帧快速包发送方式"}},[t._v("#")]),t._v(" (4) 什么是多帧快速包发送方式?")]),t._v(" "),e("p",[t._v("当有效载荷总长度超过 8 字节时,需按多帧快速包格式在 CAN 总线上安全、连续地发送。格式示意如下:")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"left"}},[t._v("帧")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Byte[0](序号)")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("其余字节")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Packet_1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("Byte[1]=有效数据长度(示例为 28);Byte[2]~Byte[8]=Data[1]~Data[7]")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Packet_2")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("Data[8]~Data[15]")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Packet_3")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("Data[16]~Data[24]")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Packet_4")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("3")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("Data[25]~Data[28];不足字节填 "),e("code",[t._v("0xFF")])])])])]),t._v(" "),e("p",[t._v("说明:")]),t._v(" "),e("ol",[e("li",[t._v("首帧 "),e("code",[t._v("Byte[1]")]),t._v(" 为实际有效数据字节长度。")]),t._v(" "),e("li",[t._v("各帧 "),e("code",[t._v("Byte[0]")]),t._v(" 从 0 起依次递增,作为包序号。")]),t._v(" "),e("li",[t._v("其余字节为有效载荷,未使用字节填 "),e("code",[t._v("0xFF")]),t._v("。")])]),t._v(" "),e("h2",{attrs:{id:"_3-使用方法"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_3-使用方法"}},[t._v("#")]),t._v(" 3. 使用方法")]),t._v(" "),e("h3",{attrs:{id:"_0-地面站配置"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_0-地面站配置"}},[t._v("#")]),t._v(" (0) 地面站配置")]),t._v(" "),e("p",[t._v("产品 CAN 总线上可挂载多种基于 CAN 的通信协议。若要通过 CAN 输出 NMEA 2000,须在上位机中将对应端口配置为 NMEA 2000,保存并重启后生效。")]),t._v(" "),e("fdi-img",{attrs:{width:"100%",alt:"地面站配置 NMEA 2000",src:"/developers/03-fdilinksdk/NMEA 2000/图片29.png",caption:""}}),t._v(" "),e("h3",{attrs:{id:"_1-mcu-单片机-can-总线接收"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_1-mcu-单片机-can-总线接收"}},[t._v("#")]),t._v(" (1) MCU 单片机 CAN 总线接收")]),t._v(" "),e("p",[t._v("可依据本公司通信协议获取对应数据包的 CAN ID 与字段定义,在总线上接收并解码。注意:总线上以 "),e("strong",[t._v("扩展帧")]),t._v(" 方式发布。")]),t._v(" "),e("h3",{attrs:{id:"_2-nmea-2000-设备直连"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_2-nmea-2000-设备直连"}},[t._v("#")]),t._v(" (2) NMEA 2000 设备直连")]),t._v(" "),e("p",[t._v("也可使用常见 NMEA 2000 分析仪直接接入惯导模块,在分析仪上查看常用导航信息。")]),t._v(" "),e("fdi-img",{attrs:{width:"100%",alt:"NMEA 2000 设备直连",src:"/developers/03-fdilinksdk/NMEA 2000/图片30.png",caption:""}}),t._v(" "),e("h2",{attrs:{id:"_4-测试效果"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_4-测试效果"}},[t._v("#")]),t._v(" 4. 测试效果")]),t._v(" "),e("p",[t._v("用 CAN 分析仪抓取总线数据,可见模块按协议标准向总线发布 NMEA 2000 数据。")]),t._v(" "),e("fdi-img",{attrs:{width:"100%",alt:"CAN 分析仪测试效果",src:"/developers/03-fdilinksdk/NMEA 2000/图片31.png",caption:""}}),t._v(" "),e("h2",{attrs:{id:"_5-通信协议"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_5-通信协议"}},[t._v("#")]),t._v(" 5. 通信协议")]),t._v(" "),e("h3",{attrs:{id:"_1-目前支持的-nmea-2000-数据包"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_1-目前支持的-nmea-2000-数据包"}},[t._v("#")]),t._v(" (1) 目前支持的 NMEA 2000 数据包")]),t._v(" "),e("p",[t._v("协议字段定义见 [FDI_NMEA 2000](/developers/02-fdilink/nmea 2000.html)。")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"left"}},[t._v("序号")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("PGN")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("CAN_ID")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("描述")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("频率 (Hz)")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("数据长度 (bit)")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("波特率")]),t._v(" "),e("th",{staticStyle:{"text-align":"left"}},[t._v("数据包类型")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("126992")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01F010FF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("UTC 时间")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("8")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("单帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("2")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("127250")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01F112FF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("艏向")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("8")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("单帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("3")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("127251")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01F113FF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("转向速率")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("10")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("8")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("单帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("4")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("127257")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01F119FF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("姿态角")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("8")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("单帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("127258")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01F11AFF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("磁偏角")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("单帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("6")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("129025")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01F801FF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("位置,快速更新")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("10")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("8")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("单帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("7")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("129026")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01F802FF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("COG & SOG,快速更新")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("4")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("8")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("多帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("8")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("129029")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01F805FF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("GNSS 位置数据")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("51")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("多帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("9")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("129044")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01F814FF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("基准")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("20")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("单帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("10")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("129539")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01FA03FF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("GNSS DOPs")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("8")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("多帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("11")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("129540")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01FA04FF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("GNSS 信息")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("15")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("多帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("12")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("129545")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01FA09FF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("GNSS RAIM 输出")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("15")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("多帧")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("13")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("129547")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("0x01FA0BFF")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("GNSS 伪距误差统计")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("15")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("250K")]),t._v(" "),e("td",{staticStyle:{"text-align":"left"}},[t._v("单帧")])])])]),t._v(" "),e("h3",{attrs:{id:"_2-数据包协议"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_2-数据包协议"}},[t._v("#")]),t._v(" (2) 数据包协议")]),t._v(" "),e("p",[t._v("可根据 NMEA 2000 国际标准及上表 PGN 编号查询字段定义并正确解析。本公司说明见 [FDI_NMEA 2000](/developers/02-fdilink/nmea 2000.html);国际标准 PGN 表见 [NMEA 2000 PGN Table 手册](/pdfs/NMEA 2000_v1-300_App_B1_PGN_Table(1).pdf)。")]),t._v(" "),e("fdi-img",{attrs:{width:"100%",alt:"NMEA 2000 数据包协议示意",src:"/developers/03-fdilinksdk/NMEA 2000/图片32.png",caption:""}})],1)}),[],!1,null,null,null);e.default=_.exports}}]);