对航海电子设备联接来说,NMEA2000串行网络是标准通讯工具。今天的大多数航海电子设备都支持NMEA2000,因其能方便地连接海上船舶的电子设备元件。NMEA2000协议使用CAN(控制器局域网)在设备之间传输数字信息。很多NMEA2000安装和故障管理工具都和物理布线有关(长度,分线头,接头,电源要求等)。本文详述NMEA2000安装中CAN部分的分析和故障管理工具。
CAN最初是由博世在80年代中期为汽车工业开发出来的,之后被发展应用到很多其他工业领域,包括航海(NMEA2000)…CAN协议可被划分为三个层次:1.应用层 2.数据链路层 3.物理层
简单地说,应用层(有时被称为高层协议)是装在电控单元ECU微控器里的软件,它能处理感应器输入的信息,进行计算,将结果发给传动装置。在本文中,应用层是为NMEA2000设定的。有时,输入/输出信息需要在设备,感应器和传动装置之间直接传达,如罗盘,深度仪,速度仪等。此类信息传输可以有效地通过CAN总线完成。当一个控制器要发信息给另一个控制器(或感应器/传动设备),它可以将信息通过CAN控制器和收发器(数据链路层和物理层)发送到主干线上。CAN控制器收集这些数据,由应用层限定的一个标准格式给它们附上功能地址。CAN收发器将电子信号格式化,并将数据传遍主干线上的双绞线CAN总线。物理信号的设计考虑到使通讯传输在嘈杂的电子设施环境里也可以进行。
图1:NMEA2000网络实例
本文介绍的工具是针对CAN和NMEA2000的这些特别部分。我们讲解如何用Warwick的X-Analyser 3分析和数据记录器工具与NMEA2000连接,来解决NMEA2000和CAN的问题。同时,我们介绍PicoScope计算机示波图分析,分析在NMEA2000主干线上的CAN物理信号的完整性。
这里介绍的软件工具(X-Analyser 3 Professional and PicoScope 6)是受下列硬件支持:
Kvaser LEAF LIGHT CAN INTERFACE –作数据记录和分析
PicoScope 2206B 双频道适配器,频宽50 MHz
下面本文讲解用工具观测CAN数据,并帮助分析所有必要的维护和故障排除。
维护和故障排除工具
要观测CAN信息物理信号的完整性,比较经济的方式是用PicoScope。如果用笔记本电脑,你能以低成本观测清楚的示波图。因为CAN是比较低频的通讯协议,一个较低规格的PicoScope型号就可以看CAN信息。当然,看高位数据线CAN_H和低位数据线CAN_L需要双频Scope。
图2显示了CAN信息的一个示波图例子。你在这里可以看到2种电子轨迹–高位信号线CAN_H和低位信号线CAN_L。高位信号线CAN_H为蓝色,低位信号线CAN_L为红色。注意当CAN_H和CAN_L都在2.5伏时,电压呈隐性(逻辑1),总线闲置;当CAN_H和CAN_L分别过渡到3.5伏和1.5伏时,电压呈显性(逻辑0)。
图2. CAN信息的示波图
这个差分电压信号使通讯能在嘈杂环境里得以进行。注意某些噪音参杂在信号中。因为信号间的明显区别,噪音就被排除忽略了。一个比特的长度,你会看到它是4微秒,也就是250Kbps。
PicoScope在这里起了关键作用,它可以通过观察CAN信息的物理信号水平,来诊查线缆问题。例如在图1中,在主干线的每端都有一个干线终端电阻。它们只是两个接在CAN_H和CAN_L之间的120Ω电阻。在数字通信时,它们能避免RF讯号从终端反射回来,引起干扰。如果一个终端电阻缺失,这造成的结果显示为图3中的波型。注意过渡中跳得过高的波线。这能引起CAN信息出错,干扰正常通信。
图3.因缺少终端电阻造成的CAN帧紊乱。
当有过多的终端电阻接到主干线上时,会出现另一个问题。这将降低总线的总体终端电阻,从而引起CAN总线功能降低。这种状况显示在示波图为CAN_H和CAN_L之间的电压差变小。
图4.显示如果CAN_H和CAN_L接近时会怎么样。你能看到显示器有波线,但没有通讯传输。
图4.CAN_H被降低而靠近CAN_L.
为在数据链路层上观测CAN信息,我们用X-Analyser来分析和测试CAN/J1939/NMEA2000。图5是在主显示上的原始CAN帧观测。这里可以看到CAN帧的16进制ID,及有时间标识的CAN原始数据。注意总线统计数据区显示总线负载,帧数量和错误帧(如果有任何错误帧)。此显示屏静态更新每个帧ID,同时有一个按时间顺序的显示选项,用来观察每个报文到达CAN总线时的状况。
图5. 用X-Analyser观测CAN信息
对应用层,X-Analyser 3 Professional能加载一个NMEA2000 CAN数据库,来显示NMEA2000 参数群指数(PGN)和它们相对的现场Field。此PGN说明一个报文的内容和目的,如速度(PGN 1F503),液位(PGN 1F211)。在图5中,显示屏展示了与PGN有关的报文名称,在信号区Signal area,有为此观测选定的一组现场Field(信号Signals)。这些是由X-Analyser 提供的NMEA2000标准CAN数据库。
X-Analyser 3还有一个内置SAEJ1939数据库。这很实用,因为很多许多船只都具备这两种协议,而且用一个双频CAN Kvaser适配器,就可以同时观测这两个总线。说明它实用的一个典型例子是,当船上有一个NMEA2000到J1939的接口。有几个公司提供这类连接用J1939协议引擎控制器的接口,当我们需要将信息传输到NMEA2000上。下面是解释怎样用X-Analyser 3来同时观测J1939和NMEA2000 的CAN数据。
NMEA2000 CAN 标识符的结构和SAEJ1939相似,请见图6. 你能看到29帧CAN标识符以节点编号一个8位元组被分成几部分(从右到左)。下面两个8位元组构成了PGN.
图6. NMEA2000 CAN 标识符现场
另一个X-Analyser的显示选项是观测CAN标识符被分为PGN,源地址,数据页,优先项几部分,如图6. 图7是此显示的一个例子。
图7. X-Analyser对NMEA2000应用层的观测
被选择的信号(现场Fields)可以在这个显示框里看到。这些信号是从X-Analyser内装的NMEA2000 CAN数据库选出来的。这个数据库包括所有标准NMEA2000报文(PGNs),它们都携带依据NMEA2000具体要求被分派的数据。
X-Analyser还有一个选项是,当X-Analyser的PicoScope选项是所有三个层时,它有合3为1功能。这是一个未来版的X-Analyser。如图8,我们能看到数据链路显示和物理层显示都在屏幕下方。液位信息PGN F211(前面的1是指DP1)有突出显示,源地址是70。CAN_H以蓝色显示,CAN_L为红色。绿色波线显示CAN_H和CAN_L之间的电压差分。注意CAN帧的每个场都被显著标出。
图8. 3合1 Analyser概念
这种显示对观测CAN信息的物理完整性很实用。它使我们能容易地选择一个NMEA2000报文,然后观测它的各层(应用,数据链路,物理层)。在故障分析中,它有助观测线缆上是否有太多噪音干扰。同时,数据传输中的‘嘈杂’也意味着终端问题。这个工具还可以附加另一个显示方法:信号Signal(现场Field)模式,它能有选择地显示CAN数据库的信号,观测CAN/ NMEA2000的应用层。
fqj
评论
查看更多