这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» MCU» 了解J1939协议和J1939数据记录仪(车辆工程机械中的黑匣子)

共4条 1/1 1 跳转至

了解J1939协议和J1939数据记录仪(车辆工程机械中的黑匣子)

菜鸟
2022-10-17 14:53:44 打赏

1.png

SAE J1939是由汽车工程师协会(SAE J1939)定义的标准,专门用于提供微处理器系统之间的串行数据通信。虽然CAN存在并且被广泛用于小型车辆,但SAE J1939被设计为大型车辆复杂网络的专用通信和诊断协议。J1939通常应用于重型车辆,如卡车,拖拉机,拖车,农用车辆,船舶,援助和救援以及许多此类越野车辆。今天,它已被世界各地的柴油发动机制造商广泛认可。


SAE J1939是一种基于控制器局域网(CAN)的高层协议(HLP),这是一种专门的内部通信网络,可互连车辆内部的组件。正如CAN总线作为这种通信的硬件一样,J1939可以更好地理解为它所使用的语言。SAE J1939已成功取代了先前存在的SAE J1708和J1587标准。它已成为多个制造商之间的标准通信方法,不仅提供了设定的通信标准,此外还提供了:


• 指定如何处理多数据包信息


• 支持跨大型复杂网络的通信


• 指定如何将数据转换为人们可读的信息


• 定义了自己的诊断接口


2.png


标准CAN总线支持11位或29位报文ID,几乎每个波特率可高达1 Mbps。SAE J1939 仅限于 250kbps 或 最大500 kbps的 29 位报文ID,这是为了最大程度上保证J1939的可靠性。但它可以支持大于8个数据字节的报文。大多数J1939报文在CAN 上广播(BAM),但有些数据只能通过CAN总线请求(CM)才能获得(本文稍后会解释)。J1939 报文由 18 位参数组号 (PGN) 标识,而 J1939 信号称为可疑参数编号 (SPN)。通过 J1939 传输协议,最多支持 1785 字节的 PGN。


关于这个细节,下图应该可以清楚地描绘出 29位CAN标识符如何在 SAE J1939消息格式中的表达方式:


3.png


在这里:


•帧的开始(SOF):如 CAN 中所定义,标记帧的开始,并且始终为主一个显性0。


•远程请求位(RTR):在 SAE J1939 中始终设置一个显性的 0。


其他字段就如在CAN标准中定义那样。这里有趣的是,所有J1939数据包(请求包除外)都包含8个字节的数据和一个包含名为参数组号(PGN)的索引的标准头。其中包含一个名为参数组编号 (PGN) 的索引,嵌入在报文的 29 位标识符中。参数组编号 (PGN) 是指保留位、数据页、PDU 格式和 PDU 特定字段的值(组合成单个 18 位值)。


J1939结构中使用的29位标识符以下面给出的方式表示。在这里,PDU 代表协议数据单元,这是消息格式:


4.png


•优先级:在仲裁过程中控制消息的优先级。“0”具有最高优先级,通常赋予高速控制消息。例如,来自制动器的信息总是优先于来自车辆环境温度的信息。


•扩展数据页和数据页:PGN 中包含这些位,以便计为最高有效位。数据页位扩展了标识符可以表示的可能参数组的数量。数字范围排列在以下四页中:


扩展数据页面 数据页面 描述

0 0 SAE J1939 和 ISO 11783

0 1 SAE J1939 NMEA 2000*

1 0 SAE J1939-保留

1 1 ISO 11992 诊断

(无 J1939 布局)

(在 SAE J1939中仅使用了3个)


•PDU 格式:确定是使用目标地址传输消息还是始终以广播消息的形式传输消息。


•PDU 特定:PDU 特定字段根据 PDU 格式值而改变


▶PDU 格式介于 0 到 239 之间:


▷ 报文是可寻址的,并且 PDU 特定字段包含目标地址。它指定对等通信(CM)

▷ 如果将全局(255)用作目标地址,则该参数组将针对所有设备。在这里,PGN仅由PDU格式形成

▶ PDU 格式介于 240-255 之间:

▷ 只能是广播报文 (BAM)

▷ PDU 格式和 PDU 特定字段中的组扩展构成了所传输参数组的 PGN

▷ 这个组扩展扩展标识符可以表示可能的广播参数组的数量

•源地址:其中包含传输消息的设备的地址。地址是指定用于唯一访问网络上给定设备的特定标签。对于任何给定的网络,每个地址都必须是唯一的。总共有254个不同的地址可用。没有两个不同的设备(ECU)可以使用相同的地址。


SAE J1939 中的 PGN 和 SPN


5.png


参数组编号 (PGN)是 J1939 标准中的唯一帧标识符,用于引用将保留位、数据页、PDU格式和 PDU特定字段的值组合成单个 18 位值。参数组包含了每个报文的 8 字节 CAN 数据字段中的参数分配、重复率和优先级。


参数组编号 可分为两种类型:


全局参数组编号

此类PGN识别广播(发送给所有人)的参数组。这里,PDU格式>=240,并且PDU特定字段是组扩展。

特定参数组编号

这些用于对等发送(到特定设备)的参数组。如果PDU格式<=239,并且PDU特定字段设置为0,则无论两个 PGN 的类型如何, PDU 格式、PDU 特定字段、数据页和扩展数据页都用于识别相应的参数组。

可疑参数编号 (SPN) 是 SAE 分配给参数组中特定参数的编号。它们用作数据字节中CAN信号的标识符。SPN 也被定义为内部协议信息,用于诊断目的,以报告和识别 控制器应用程序 (CA) 的异常操作。


SPN 是一个 19 位数字,其范围从 0 到 524287。 从520192到524287的范围被保留给专有参数。除字母数字数据外,SPN 解释始终从 LSB 为 MSB(从右到左)。SPN 可能存在于多个 PGN 中。PGN对 SPN 进行分组,它 通过提供以下信息来详细描述参数:


• 数据长度(以字节为单位)


• 规模


• 数据类型


• 单位


• 分辨率


• 偏移


• 范围


• 参考标签(标识)


参数组(PG) 包含具有共同特征的 SPN,它们使用参数组编号(PGN) 在整个网络中传输。


SAE J1939 中的传输协议


如前所述,通过 J1939 传输协议支持高达 1785 字节的 PGN。但是,要发送 超过 8 字节的报文,需要在传输端将较大的报文分解为较小的数据包。每个数据包与 CAN报文一起发送(也称为多数据包传输),并在接收端重新组合。定义报文如何被分解、传输和重建的规则称为 SAE J1939 的传输协议。


SAE J1939 中定义了两种传输协议类型:


广播通告消息 (BAM):

• 一对多的沟通方式。


• 使用全局目标地址。


• 报文将传输到所有节点。在这里,****负责管理整个网络中的整个数据。


• 接收者用任何方式都不能干扰这种通信。即使没有收到任何数据包,接收方也无法示意它。


• 发送者全权负责保持两个数据包传输之间的特定时间间隔(范围从50-200ms)。因此导致整个网络的通信速度比较慢,但它也允许速度较慢的节点跟上通信的步伐。


连接模式 (CM):

• 点对点的连接。


• 涉及特定设备,其中传输端发送带有指示发送请求(RTS)的控制字节的CM报文,包括字节数,数据包数以及数据被传送的PGN。


• 接收者使用 CM 报文进行响应,该报文在控制字节中包含了“清除发送” (CTS),包括接收方接下来预期的数据包数和要开始的数据包数。


• 在这里,接收方负责控制数据流和各个数据包的流动。但是****和接收器都可以在任何时间点终止通信。


• 传输不受时间限制, 每个节点都以其最大速度运行。因此,此模式更快。


SAE J1939 中的诊断故障代码


在J1939标准中,存在特殊的诊断故障代码。ECU中的每个故障都记录为诊断故障代码。它们识别并记录任何SPN 行为异常的任何错误属性,并使用故障指示器来缩小特定错误背后的原因。


6.png


SPN: - 指定有故障的 SPN (0-524,287)


FMI:- 故障模式指示器指定错误的类型/性质 (0-31)


OC :- 发生率计数器,指定给定故障的发生次数 (0-127)


CM: - 通过定义 DTC(0-1)中的字节来排列来指定转换方法


例如:



J1939 数字附件:


在这篇文章中读到这里,“CAN DBC”可能听起来很熟悉。与 CAN 一样,J1939也可能有自己的数据库文件,这是有道理的。但 SAE 不维护或定义 J1939 的任何 DBC。相反,SAE 维护和销售名为 J1939 数字附件的 excel 文件,以传达为 J1939 创建 DBC 文件所需的所有技术信息。在J1939DA 的帮助下,人们可以根据制造商的产品需要的信息类型创建他们的 DBC 文件。


此外,还有来自不同制造商的许多应用程序都可以读取 DBC 文件,例如“Influx DiaLog”。来自Influx的Rebel 和ReXgen 系列 CANbus 数据记录仪支持J1939数据的记录。ReXgen 可以根据J1939过滤器(SA,DA,PGN)记录数据,并且可以根据DM1计数器设置触发。


4.jpg

Rebel 系列总线记录仪


3.jpg

ReXgen系列总线记录仪






关键词: J1939 黑匣子 记录仪 工程机械 总线数据记录

菜鸟
2022-10-21 13:20:50 打赏
2楼

欢迎交流15911801108


高工
2023-01-30 14:23:19 打赏
3楼

写的蛮不错的


高工
2023-03-11 22:10:45 打赏
4楼

看看


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]