留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于自主平台的NMEA2000协议改进和优化

仲伟波 陈键 冯友兵 卢道华

仲伟波, 陈键, 冯友兵, 等. 基于自主平台的NMEA2000协议改进和优化[J]. 中国舰船研究, 2021, 16(1): 1–8 doi:  10.19693/j.issn.1673-3185.01870
引用本文: 仲伟波, 陈键, 冯友兵, 等. 基于自主平台的NMEA2000协议改进和优化[J]. 中国舰船研究, 2021, 16(1): 1–8 doi:  10.19693/j.issn.1673-3185.01870
ZHONG W B, CHEN J, FENG Y B, et al. Improvement and optimization of NMEA2000 based on an autonomous and controllable platform[J]. Chinese Journal of Ship Research, 2021, 16(1): 1–8 doi:  10.19693/j.issn.1673-3185.01870
Citation: ZHONG W B, CHEN J, FENG Y B, et al. Improvement and optimization of NMEA2000 based on an autonomous and controllable platform[J]. Chinese Journal of Ship Research, 2021, 16(1): 1–8 doi:  10.19693/j.issn.1673-3185.01870

基于自主平台的NMEA2000协议改进和优化

doi: 10.19693/j.issn.1673-3185.01870
基金项目: 国家重点研发计划项目资助(2018YFC0309100)
详细信息
    作者简介:

    仲伟波,男,1975年生,副教授。研究方向:控制理论与控制工程,通信与信息系统。E-mail:vebo_cn@163.com

    陈键,男,1995年生,硕士生。研究方向:电子与通信工程。E-mail:969300130@qq.com

    冯友兵,男,1978年生,副教授。研究方向:控制理论与控制工程。E-mail:4450208@qq.com

    通讯作者:

    冯友兵

  • 中图分类号: U665.2;TN967.7

Improvement and optimization of NMEA2000 based on an autonomous and controllable platform

图(10) / 表 (6)
计量
  • 文章访问数:  12
  • HTML全文浏览量:  5
  • PDF下载量:  0
  • 被引次数: 0
出版历程
  • 收稿日期:  2019-12-31
  • 修回日期:  2020-02-18
  • 网络出版日期:  2020-12-10

基于自主平台的NMEA2000协议改进和优化

doi: 10.19693/j.issn.1673-3185.01870
    基金项目:  国家重点研发计划项目资助(2018YFC0309100)
    作者简介:

    仲伟波,男,1975年生,副教授。研究方向:控制理论与控制工程,通信与信息系统。E-mail:vebo_cn@163.com

    陈键,男,1995年生,硕士生。研究方向:电子与通信工程。E-mail:969300130@qq.com

    冯友兵,男,1978年生,副教授。研究方向:控制理论与控制工程。E-mail:4450208@qq.com

    通讯作者: 冯友兵
  • 中图分类号: U665.2;TN967.7

摘要:   目的  为了拓展NMEA2000通信协议标准的应用范围,优化、提升网络传输效率,研制基于自主可控平台的NMEA2000数据采集传输系统。该系统可将非认证设备接入NMEA2000网络并提升其传输效率。  方法  以GD32F207芯片为微控制器并在与RT-Thread嵌入式实时操作系统结合的自主可控平台上,根据各厂商原有设备协议和NMEA2000协议标准,采用数据映射的方式,完成协议格式转换。利用NMEA2000数据帧未使用的标识符域和优先级动态调整,提升NMEA2000网络传输效率。  结果  基于自主可控平台的NMEA2000板卡实现了非认证设备的接入,优化后网络传输效率随着传输字节数的不同有着不同程度的提升,网络实时性与可靠性也有所提升。  结论  所提数据采集传输系统具有多种接口,能够完成非认证设备的接入,网络数据传输效率、实时性和可靠性能够满足船载设备间数据传输的需要。

English Abstract

仲伟波, 陈键, 冯友兵, 等. 基于自主平台的NMEA2000协议改进和优化[J]. 中国舰船研究, 2021, 16(1): 1–8 doi:  10.19693/j.issn.1673-3185.01870
引用本文: 仲伟波, 陈键, 冯友兵, 等. 基于自主平台的NMEA2000协议改进和优化[J]. 中国舰船研究, 2021, 16(1): 1–8 doi:  10.19693/j.issn.1673-3185.01870
ZHONG W B, CHEN J, FENG Y B, et al. Improvement and optimization of NMEA2000 based on an autonomous and controllable platform[J]. Chinese Journal of Ship Research, 2021, 16(1): 1–8 doi:  10.19693/j.issn.1673-3185.01870
Citation: ZHONG W B, CHEN J, FENG Y B, et al. Improvement and optimization of NMEA2000 based on an autonomous and controllable platform[J]. Chinese Journal of Ship Research, 2021, 16(1): 1–8 doi:  10.19693/j.issn.1673-3185.01870
    • 随着信息技术和人工智能技术的快速发展,船上电子设备越来越多,船舶运行所需的数据也越来越多,这对船舶数据采集、处理与传输提出了更高的要求[1]。工业应用及其要求的多样性催生了种类繁多的现场工业总线,例如工业以太网国际标准IEC 61158,ISO 11898规范的控制器域网(CAN)总线以及各大自动化公司开发的可编程逻辑控制器(PLC)、分散控制系统(DCS)专用通信协议等[2]。目前,工业以太网协议和CAN网络在船舶及海工装备上得到了广泛应用[3]

      NMEA2000是美国国家海洋电子协会制定的标准化数据通信协议,在CAN的架构上采用ISO 11783-3和11783-5作为基础[4],定义了国际标准组织开放系统互连模型的相关层。NMEA2000作为一种广泛应用于连接船舶及其内部传感器和显示单元的即插即用通信标准[5],经过认证的设备连接到一个主干网上,不同设备之间可以相互通信。NMEA2000是一种基于CAN总线的应用层协议,以多主方式工作[6],网络上的任意节点在任意时刻都能向其他节点发送数据,网络上每个节点都有不同的优先级,在发送冲突时能够在总线上进行仲裁,且有可靠的检错机制[7]

      NMEA2000是目前应用较为广泛的船载设备网络协议,但国内对其关注不多,研究得也较少,重要原因之一是仅有经过认证的设备才能使用NMEA2000协议,因此极大地限制了其在船舶海工装备中的应用和推广。蔡礼松等[8]针对数据采集的可靠性和安全性要求高等特点,设计了一种基于CAN的远程数据监控系统,但传感器设备接口不一致,不便于数据采集。孟瑶等[9]将CAN总线应用到机器人通信系统中,针对传统方法运用UPPAAL工具对CAN总线进行建模分析,部署动态优先级对节点实时性进行改进;Davis等[10]对响应时间和CAN消息的最优优先级分配策略进行了分析,采取了先入先出(FIFO)队列和优先队列混合的调度方式,CAN总线的传输效率有所改善,但会对CAN的实时性造成一定的影响。

      为了进一步拓展NMEA2000协议的应用范围,提升传输效率和实时性、可靠性,在自主可控平台上完善优化NMEA2000协议,本文拟提出一个基于自主可控平台的方案,将非认证设备接入NMEA2000网络,同时利用标识符域提升多帧数据传输效率,改静态优先级为动态优先级,使基于自主可控平台完善优化后的NMEA2000网络的传输效率、实时性和可靠性能够满足船载设备间数据传输的需要。

    • NMEA2000作为基于CAN的应用层协议,继承了CAN的扩展帧结构[11]。NMEA2000协议中使用了29 bits标识符,对其中的21 bits进行了定义,以标识不同的船舶通信设备及船体信息和事件,同时对这些报文信息的优先级顺序也进行了定义。

      NMEA2000网络中所有需要传输的数据内容被定义为参数群的形式,并给出唯一标识符,称之为参数群编号(PGN)。PGN共有18 bits,由NMEA2000委员会根据传输数据的性质分配,遵照船舶设备属性和事件定义了156个参数组号。在每个NMEA2000协议定义的设备中,分别定义优先级、更新频率、数据长度等信息。在NMEA2000中保留位都为0,数据页位都为1 bit。数据页位为0的PGN由ISO 11783定义,共有6个,主要用于数据传输控制和说明[12]

      NMEA2000通过使用PGN来区分不同的数据内容,针对连接到网络中的各种设备,例如GPS系统、惯性导航系统、雷达和其他传感器设备,以及无人艇航向、舵角、航速等实时信息,都有相对应的PGN来表示。NMEA2000继承了CAN协议扩展帧的仲裁域定义格式,在29 bits的标识符字段中,包括了每个参数组号的优先级、保留位、数据页位和PGN。NMEA2000标识符域和数据域与CAN扩展帧格式存在如图1所示的对应关系。图中包括以下参数:CAN扩展帧格式包括帧起始位(SOF)、替代远程请求位(SRR)、识别符扩展位(IDE)、扩展标识符、远程请求发送位(RTR)、2位保留位(R1和R0)、数据长度(DLC)、数据域、循环冗余校验码(CRC)域、应答域(ACK field)和帧结束符(EOF)。

      图  1  NMEA2000标识符域与CAN扩展帧的对应关系

      Figure 1.  Relationship between NMEA2000 identifier and CAN extension frame

    • 将非认证设备接入NMEA2000网络,自主研发的数据采集转接板卡就是此设计中的桥梁。数据采集转接板卡主要负责平台控制系统数据的收集处理及平台所载数据格式的统一。考虑到外围设备的多样性,数据采集转接板卡有4个RS232/RS485串口,2路CAN接口和1个网络接口,并设计了SD卡用于保存关键数据,通信接口较为丰富。在国产嵌入式实时操作系统RT-Thread上进行软件开发,完成NMEA2000协议应用扩展和优化。系统设计中可根据功能需求采用单块或多块板卡级联的方式协同处理数据。为保证数据采集转换板卡(图2)电路的稳定性和可靠性,多个对外接口均采用防浪涌电路设计,以避免系统遭到过压脉冲造成损坏。

      图  2  数据采集转接板卡

      Figure 2.  Adapter card for data acquisition

    • NMEA2000设备分为认证和未认证2大类。所谓认证设备是指其数据格式已在协议中定义,且设备已被官方认证,可以直接接入NMEA2000网络。未认证设备有2种情况:一种是其数据类型在NMEA2000中已定义,即有对应的PGN,但设备未经官方认证;另一种是其数据在协议中未被定义,设备也就不可能被官方认证。未认证设备不能直接接入NMEA2000网络,需要根据实际情况进行转接处理方可接入网络。

      NMEA2000数据格式包含参数群、数据域、数据类型、优先级等重要参数。GPS定位设备是最常用的装备之一,NEMA2000协议定义了GPS数据格式,如表1所示,表中hex为十六进制。但是并不是所有的GPS设备都已得到认证,已认证过的设备可以直接接入NMEA2000网络,而大量未被认证的设备就无法直接接入。

      表 1  NMEA2000中GPS数据格式

      Table 1.  Data format of GPS in NMEA2000

      报文含义
      129 025(0x1F801)PGN(hex)
      数据帧帧类型
      扩展帧帧格式
      0x09F8010029 bit ID标识符
      9F 1E 31 13 CA 3C 34 478 bytes数据
      低4 Bytes纬度数据
      高4 Bytes经度数据

      表1可见,GPS设备定义的PGN为129 025(0x1F801)。NMEA2000中帧类型有远程帧和数据帧2类,其他帧则由CAN硬件设置。远程帧用于信息请求,数据帧用于传输数据。如图1所示,当远程发送请求位(RTR)为1 bit时,代表此帧为远程帧,当其为0 bit时,代表此帧为数据帧。帧格式分为标准帧和扩展帧,NMEA2000协议的帧格式均为扩展帧。根据NMEA2000协议定义的GPS设备的优先级、保留位、数据页位和PGN可得其ID为0x09F80100。

      针对已定义但未经认证的设备,例如GPS设备,对其测量数据进行处理得到经、纬度等有效数据。根据NMEA2000协议,CAN数据域和PGN有效数据呈倒序排列形式,所以将其倒序排列,最后得到符合NMEA2000协议的数据。

    • 若数据类型没有定义,则其采集设备也不可能被认证,此时需要根据NMEA2000的数据帧格式自定义数据类型和结构。以激光测距传感器为例,由于激光测距传感器传输的数据较少,所以使用单帧传输方式即可。

      首先,通过读取激光测距传感器的数据,识别传感数据类型。然后,根据自定义NMEA2000协议接口配置进行排序,同时对名称、测量距离、测量频率等属性予以赋值,按照规定的顺序封装传感器数据。最后,按NMEA2000协议字节交换表将所得的十六进制有效数据倒序排列,并完成转换。封装数据分为2类:元数据和传感器数据。元数据即为PGN,代表传感器的类别,传感器数据即为采集的有效数据。标准化的数据封装共用统一的数据接口,数据采集板卡丰富的接口可以满足各类传感器的需求。表2为自定义NMEA2000激光测距设备协议。

      表 2  自定义NMEA2000激光测距设备协议

      Table 2.  Custom laser ranging protocol of NMEA2000

      报文含义
      129 030(0x1F806)PGN(hex)
      数据帧帧类型
      扩展帧帧格式
      0x09F8060029 bits ID标识符
      01 40 1F 28 0A FF FF FF8 Bytes数据
      第1 Byte序列ID
      第2~3 Bytes测量频率
      第4~5 Bytes与障碍物距离
      第6~8 Bytes多余字节默认FF

      表2所示,自定义激光测距设备的PGN为129 030(0x1F806)。帧类型和帧格式分别为数据帧和扩展帧,29 bits的ID标识符为0x09F80600。定义激光测距设备每帧数据的第1 Byte为序列ID,第2~3 Bytes为测量频率,第4~5 Bytes为与障碍物的距离,第6~8 Bytes未用到,默认为FF。

      针对未定义且未认证的设备,如激光测距传感器,对其测量数据进行处理得到测量频率和与障碍物距离等有效数据。根据NMEA2000协议,CAN数据域和PGN有效数据呈倒序排列形式,所以将其倒序排列,得到符合NMEA2000协议的数据。

    • NMEA2000在CAN架构上采用短帧结构,每帧数据域不大于8 Bytes,因此,它有3种数据传输方式:单帧传输、ISO多包传输以及快速数据包传输。当数据帧不大于8 Bytes时,采用单帧传输方式。快速数据包传输方式能够最大传输223 Bytes的数据并且不需要ISO 11783规范中指定的帧间空间,传输效率更高。如果设备需要接收任何超过223 Bytes的数据,则应采用ISO多包传输方式,但数据传输上限不超过1 785 Bytes[4]表3为NMEA2000的3种传输方式的对比。

      表 3  NMEA2000传输方式对比

      Table 3.  Transmission mode comparison of NMEA2000

      传输方式字节数/Byte发送方式握手机制传输延时应用范围
      单帧传输不大于8目的地址仅由PGN定义运用于所有工业
      ISO多包传输不大于1 785以广播形式发送到某一设备传输同样数据量时比快速数据包耗时长运用于所有工业
      快速数据包传输不大于223目的地址仅由PGN定义无传输延时,传输速度快用于船舶新协议

      当NMEA2000报文采用ISO多包传输或快速数据包传输方式时,它将数据域的第1 Byte作为报文的序号,后7 Bytes存放所传输的数据,由接收节点按照序号将原来的数据重新组合起来。尽管节点能够根据序列ID正确解析报文,但传输效率大大降低,原本8 Bytes的数据域实际只传输了7 Bytes的有效数据。

      本文在NMEA2000协议的基础上,充分利用数据域进行改进。至于序列ID,则可利用NMEA2000未使用的标志符域进一步优化NMEA2000网络。在NMEA2000报文中,仲裁域是应用层根据自己的需求定义的。仲裁域的作用有2个:一是在总线冲突时对报文的优先级进行仲裁,二是仲裁域本身也是传输数据的一种方式。在NMEA2000协议中,应用层定义的PGN仅占用21 bits,而CAN的扩展帧有29 位。在NMEA2000所使用的PGN中,由于同一ID发送的数据不大于1 785 Bytes,即最多传输255帧数据。鉴于此,取NMEA2000数据帧的低8 bits作为多报文数据帧序号,用来表示发送报文每帧数据的组合顺序,便于NMEA2000网络按照序号将原来的数据组合成正确的报文。由此,在发送多帧的NMEA2000报文时,总线在收到节点数据后能根据每帧数据的ID和序号进行整合,形成一条新的NMEA2000报文,保证数据的完整性和正确性,提高了NMEA2000网络的传输效率。

      在不改变基本CAN帧前提下,采用NMEA2000的扩展帧格式,充分利用NMEA2000未定义的标识符域,重新定义扩展帧的ID字段,保证了和传统CAN系统的良好兼容性。新NMEA2000标识符域如表4所示。

      对比图1表4,将NMEA2000标识符低8 bits用于多报文数据序号位,将原先传输序号的字节位置用来传输数据,原本传输7个有效字节的数据域现在传输了8个有效字节,提升了传输效率。当传输总字节数不同时,传输效率的提升程度也不同。当传输的字节数小于8 Bytes,采用单帧传输方式时,传输效率不会得到提升。当传输字节数不小于8 Bytes,且采用改进后的数据帧跨帧传输时,传输效率会得到提升。部分传输效率的提升情况如表5所示,传输效率提升了0%~50%不等,传输效率提升程度受协议包总字节数的影响。由于NMEA2000协议规定,最大传输字节数不超过1 785 Bytes,在传输字节数等概率情况下,经计算,最终传输速率综合提升约12.23%。而一般传输的数据域字节数不超过64 Bytes,等概率情况下传输速率提升约9.18%。

      表 4  新NMEA2000标识符域

      Table 4.  New identifier fields of NMEA2000

      优先级保留位数据页PGN低16 bits报文号
      3 bits1 bit1 bit16 bits8 bits

      表 5  部分传输效率提升程度对比

      Table 5.  Partial comparison of transmission efficiency improvement

      传输总字节数
      /Bytes
      传输效率/%提升程度/%
      改进前改进后
      85010050
      956.2556.250
      $ \vdots $$ \vdots $$ \vdots $$ \vdots $
      1562.593.7531.25
      1666.710033.3
      1770.8370.830
      $ \vdots $$ \vdots $$ \vdots $$ \vdots $
      89086.9199.3312.42
      8918799.4412.44
      $ \vdots $$ \vdots $$ \vdots $$ \vdots $
      1 78387.499.9412.54
      1 78487.4510012.55
      1 78587.599.612.1
    • NMEA2000 协议优先级占了标识符域的前3 bits,紧接着第4 bit则是保留位0。根据NMEA2000协议的规定,保留位都为0。由于保留位相同,在总线仲裁时,会对保留位后的数据页位进行仲裁,保留位失去了意义。所以根据NMEA2000协议的特殊性,将保留位用于优先级位的延伸,优先级从原来的3 bits扩展至4 bits。由于优先级位扩充使优先级范围增大了1倍,所以可以在NMEA2000协议的基础上多定义8个优先级,减少了当优先级相同时对总线的仲裁次数。改进后的NMEA2000标识符域如表6所示。

      表 6  改进后的NMEA2000标识符域

      Table 6.  Improved identifier fields of NMEA2000

      优先级拓展优先级数据页PGN低16 bits报文号
      3 bits1 bit1 bit16 bits8 bits

      针对不同优先级的节点,当在同一时刻向总线上发送数据导致优先级低的节点仲裁失败时,则将落选节点提升1个优先级;若其优先级提升后与原有优先级冲突,则优先发送落选节点数据。针对同一优先级的节点,由于前4 bits的优先级位都相同,根据CAN总线规定,将对优先级域后面的标识符域继续进行仲裁。节点每仲裁失败1次便提升1个优先级,直至其被发送到总线上。动态优先级调整流程如图3所示。

      图  3  动态优先级调整流程图

      Figure 3.  Flowchart of dynamic priority adjustment

      同时,针对多帧发送的NMEA2000协议的报文,第1帧数据发出后,后面同一参数的报文无论自身优先级多少,都应立即将优先级调度至最高优先级,保证此节点报文的实时性与完整性。因为NMEA2000协议优先级是固定的,所以每帧报文的ID也是固定的。同样,本文提出的动态优先级策略也将改变NMEA2000协议报文的ID,所以在进行动态优先级调整后需要将优先级复原,以保证NMEA2000协议报文ID的一致性。多帧传输发送时优先级调整流程如图4所示。

      图  4  多帧发送优先级调整流程图

      Figure 4.  Flowchart of multi-frame transmission priority adjustment

      由于NMEA2000网络中对数据传输的实时性和可靠性要求十分高,所以在NMEA2000数据采集转换板卡上采用RT-Thread嵌入式实时操作系统。根据实现各设备NMEA2000协议接口的统一性和提高传输效率及实时性等方面建立4个线程,总体架构如图5所示。主线程主要初始化各优先级和各互斥量并创建所需线程,如图5(a)所示。线程1负责接收并提取不同设备的信息,如图5(b)所示;线程2根据接收到的有效信息在判断是否为NMEA2000认证设备数据,并对数据进行分类,将其转换成相应的NMEA2000数据格式并借助NMEA2000未使用的标识符域增加数据域传输的有效数据,提高传输效率,如图5(c)所示;线程3中节点向NMEA2000网络发送数据,根据CAN发送寄存器(CAN_TSTR)仲裁失败标志位是否置1,判断节点是否仲裁失败,如图5(d)所示;线程4提高仲裁失败节点的优先级,进一步优化多帧发送的数据,使其能够快速将数据发送到总线上,提高实时性,如图5(e)所示。

      图  5  RT-Thread操作系统各线程流程图

      Figure 5.  Flowcharts of each thread of RT-Thread operation system

    • 基于自主可控平台研制的NMEA2000数据采集处理传输板卡采用的主控芯片是基于Cortex-M3内核的国产芯片GD32F207,有4个通用同步/异步串行接收/发送器(USART)和2个通用异步收发传输器(UART),2路CAN控制器,1个网络接口,通信接口较为丰富。在国产嵌入式实时操作系统RT-Thread上进行软件开发,完成了NMEA2000应用扩展和优化。

      中海达全球导航卫星系统(GNSS)接收机的数据已定义但设备未认证,其原始数据为:$GPRMC,091 036.40,A,3 211.917 247 9,N,11 927.634 625 7,E,0.035,189.7,250 319,0.0,E,A*3C。上述数据需进行处理后方能接入NMEA2000网络。以GPS纬度为例,首先将纬度数据32 119 172 479 N提取出来,得到纬度为32.198 620 7°。由于纬度数据是一个小数,不满足NMEA2000协议要求,根据NMEA2000协议,将纬度×107,得到整形数据321 986 207°,然后将其转换为4 Bytes的十六进制数13311E9F。同理,按照协议规定的顺序对经度、时间、高度等数据进行封装,完成转换。

      图6图7分别为GNSS接收机采集的原始数据及改进后的数据。由图可见,改进后的多帧报文将优先级位置于NMEA2000 ID空闲位,每帧的传输数据量由7 Bytes扩大至8 Bytes。此外,本次传输的有效字节数为44 Bytes,数据改进前,由于NMEA2000协议的规定,每帧的第1 Byte用于序号定义,所以共分为7帧发送,传输的总字节数为56 Bytes,传输效率约为78.57%。数据改进后,传输的有效字节数不变,由于序号位的转移,原本需要7帧发送的数据量仅用了6帧便可以完成发送,传输的总字节数为48 Bytes,传输效率约为91.67%,提升约13.1%。而且将原有的GNSS接收机的数据格式成功转换为NMEA2000数据格式,使其兼容NMEA2000网络。

      图  6  GNSS接收机的原始数据

      Figure 6.  Original data of GNSS receiver

      图  7  GNSS接收机改进后的数据

      Figure 7.  Improved data of GNSS receiver

      针对NMEA2000未定义的数据类型,也可以通过基于自主可控平台研制的数据板卡接入NMEA2000网络,图8为自定义激光测距设备协议采集到的数据。由图可见,改进后的激光测距传感器数据完全符合自定义的NMEA2000协议,同样兼容NMEA2000网络。

      图  8  改进后的激光测距传感器数据

      Figure 8.  Improved laser ranging sensor data

      GD32F207自带CAN控制器,可以通过读取CAN发送状态寄存器(CAN_TSTR)中的仲裁失败标志位,来观察发送的 NMEA2000数据帧是否仲裁失败;当发生仲裁失败时,该位会被置1。GD32F207有2路CAN,设置CAN分别向总线发送优先级不同的2帧NMEA2000数据帧。

      为验证本文优先级动态调整方法的有效性和可靠性,在1条总线上挂载了10个节点,共有10帧优先级不同的NMEA2000数据帧同时往总线发送。由于CAN总线传输速率和传输距离相关性较大,本文将传输距离设为1 m并不再改变传输距离。NMEA2000网络是基于CAN总线的架构,而CAN总线是一种基于优先级的串行通信网络,因此采用载波监听多路访问机制。图9图10分别为NMEA2000网络实验模型和得到的网络数据。由图10可见,基于NMEA2000协议,在多节点情况下可同时向总线发送数据,且未产生丢包现象,总线数据稳定可靠。本方法可满足NMEA2000多节点冲突的仲裁情况。

      图  9  NMEA2000实验模型

      Figure 9.  The experimental model of NMEA2000

      图  10  NMEA2000网络信息

      Figure 10.  The network information of NMEA2000

    • 基于NMEA2000协议,将船上各种设备的数据接口标准化,统一了所有设备的数据格式,并针对NMEA2000协议,采用扩充NMEA2000数据域的方法提升总线数据传输效率。同时,采用动态优先级策略并对其进行实验分析和验证,结果表明,采用动态优先级策略可以改善NMEA2000网络的实时性,具有一定的应用价值。

参考文献 (12)

目录

    /

    返回文章
    返回