车载总线系列——J1939 二

车载总线系列——J1939 二

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生在世,最怕的就是把别人的眼光当成自己生活的唯一标准。到最后,既没有活成别人喜欢的样子,也没有活成自己想要的样子。
我们只有接纳真实的自己,不自卑、不自傲,才能拥有更强大的内心;只有找到自己的核心价值,才能活出自己的精彩人生。

车载总线系列——J1939 二_第1张图片

SAE J1939是基于CAN(Controller Area Network,控制器局域网)的通信协议,广泛用于各类商用车。该协议对车辆中连接CAN的电子组件及其附加设备之间的通信进行了标准化。

SAEJ1939 PGN

参数组(PG)是具有彼此相关性且传输速率相同的一组信号。每个参数组都有唯一的编号,即PGN(Parameter Group Number,参数组编号)。参数组容易与CAN标识符混淆。本章节旨在说明J1939参数组与CAN报文标识符之间的区别。以下是两者的相同点和不同点:

相同点:

-> 将相关信号分为一组

-> 可通过唯一编号标识

-> 包含应用程序和协议数据

不同点:

-> 不限于8个数据字节(上限1785个字节)

-> 可以点对点传输

-> 报文的优先级与PGN无关

-> 如果为参数组定义的数据长度大于8个字节,则将其作为多个数据包报文发送。该规范规定了传输协议。

结构

J1939-21文档定义了一种解析29位CAN ID的机制。在CAN报文的8字节数据场中,信号由起始位和长度定义。与此类似,CAN标识符细分为参数组的各个段。通过这种方式,标识符的一部分表示PGN本身,其余部分则解析为源地址、目标地址、优先级和数据页。“From the 29-bit CAN Identifier to the Parameter Group”图显示了J1939 CAN标识符的结构。

关于PGN Format

该图显示特定PDU段 具有多种解析方式。此段的内容可用于扩展PDU 格式段、定义PGN,也可用于指定目标地址。规则如下:

车载总线系列——J1939 二_第2张图片

如果PDU 格式段中的值小于240,特定PDU段的内容将解析为目标地址。这里称之为PDU格式1或者特定PGN。不仅可以使用点对点通信将PDU- 格式- 1中的PGN明确地发送到目标地址;也可以使用全局地址(255),这种方式可以在全局范围内传输特定的PGN,即传输到所有网络节点。

如果PDU 格式段的值大于等于240,则特定PDU段将解释为组扩展。这意味着没有目标地址,并且报文将始终发送到所有网络节点。PDU格式段和特定PDU段共同表示一个与PGN对应的16位的值。在这种情况下,PGN具有PDU 格式 2,称为全局PGN。

特定PGN在表示时不需要地址信息,使用“00”代替目标地址作为扩展。

车载总线系列——J1939 二_第3张图片

比如:PDU格式段数值为0XEE,则PGN 表示为0XEE00。

车载总线系列——J1939 二_第4张图片

数据内容

J1939不仅定义PGN,还定义其内容。所谓内容就是一般情况下用户自定义私有协议中所说的信号。J1939规范为PGN内容定义了术语:SPN(Suspect Parameter Number,可疑参数编号),SPN就是一种信号ID,可以是物理值、状态或命令。此外,SPN也可以表示内部协议信息。目前,J1939-DA以表格形式列出了所有指定的SPN。SPN是由SAE 指定的数字。PGN的描述中指定了SPN在PGN内的起始位置(参见章节全局参数组示例)。SPN的解析顺序为从LSB(右)到MSB(左),字母数字数据除外。一个SPN可以存在于多个PGN中。

协议中采用相同的描述方式定义SPN,并且具备以下属性:所有SPN在定义中的描述均相同,且具有以下属性:

车载总线系列——J1939 二_第5张图片

车载总线系列——J1939 二_第6张图片

关于网络准入,J1939 的网络管理禁止与普通汽车环境中的网络管理相混淆。汽车中的网络管理用于将网络(子网)中的ECU设置为 “约定”的空闲状态,同时不丢失总线中的任何信息。

J1939将该术语定义为动态网络中的通信(进入网络)和设备地址管理的访问控制。其中,设备地址和NAME发挥着关键作用(参见名称和地址章节)。

对于地址声明,J1939网络管理的最简单形式如下:在启动之后和开始通信之前,每个ECU发送“地址声明”,借助“地址声明”参数组(PGN 0x00EE00)公开设备名称和预定义的设备地址。在静态网络中,此操作主要用于确定网络拓扑结构。例如,可以使用诊断工具快速确定车辆中是否存在减速器。

当总线中地址冲突,“地址声明”也适用于动态网络。此外,网络管理还可用于解决地址冲突。例如,后加入的ECU使用网络中某节点已在使用的地址,网络管理即可发挥该作用。“地址冲突“确保网络中的所有节点地址都是唯一的,绝不能重复。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者!

你可能感兴趣的:(车载总线类型,汽车行业,网络,服务器,运维,硬件架构,AUTOSAR)