
J1939 DM1和EC1多帧广播报文格式详解
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOCX
简介:
本资料深入解析了J1939标准下的DM1和EC1多帧广播报文的具体格式与应用规则,适合汽车电子工程师阅读。
### J1939多帧广播DM1、EC1报文格式详解
#### DM1 报文格式
在探讨DM1报文格式之前,我们需要先了解一些基础概念。SAE J1939-21标准重新划分了CAN ID,并加上8个字节的数据域以构成J1939的协议数据单元(PDU)。根据SAE J1939-73标准中的定义,DM1报文具有一定的优先级和PGN(Parameter Group Number)。
- **优先级**: 定义为6。
- **PGN**: 为65226(00FECA)。
因此,当源地址为0x41时,DM1 ID为18FECA41。如果该节点存在两个现行故障,则其SPN(Specific Parameter Number)和FMI(Failure Mode Indicator)分别为(521132,1),(521008,3)。根据DTC结构定义,在OC(Occurrence Count)= 1时,这两个DTC分别是ACF3E101 和 30F3E301。
#### DM1多帧传输说明
当故障数量超过一个且导致DM1报文的字节数大于8时,需要使用“多帧传输”参数组进行数据传送。根据SAE J1939-21标准,长度超过8字节的消息会被拆分成多个小的数据包,并单独发送。
具体而言:
- 每个数据包都会被分配一个从1到255的序列编号。
- 最后一个数据包的剩余字节会填充为“FF”。
因此,对于报文0x18FECA41:00FFACF3E10130F3E301,由于其长度超过了8字节,会被拆分为两个报文:
- 0100FFACF3E10130
- 02F3E301FFFFFFFF
#### 广播公告消息(BAM)及数据传送说明
如果需要广播一条多帧消息,则首先需发送一个BAM消息,该消息包含了即将广播的长信息的PGN、大小以及被拆分的数据包数量。然后使用PGN=60160来发送这些数据包。
例如,对于报文0x18FECA41:00FFACF3E10130F3E301,消息大小为10个字节,并分成两个数据包,则BAM的消息数据域应设置如下:
- 20(PGN=65226的二进制表示)
- 0A(总长度减去8)
- 02FFCAFE
- 其中,参数群编号为00FECA。
SAE J1939-21标准定义了链接管理TP.CM(BAM是其中一种),其PGN为60416(00EC00)。BAM的目标地址应设为全局目标地址FF。因此对于DM1报文ID 0x18FECA41,其BAM的报文ID应设置为:0x18ECFF41。
TP.DT参数群编号则为60160(00EB00),使用全局地址进行数据传送。故后续的数据包报文ID应设为:0x18EBFF41,并连续发送两帧。
#### EC1 报文传输说明
EC1报文用于传输发动机特性曲线等信息,其传输过程与DM1类似但细节有所不同:
- **单帧CAN数据长度限制**:SAE J1939-21协议要求单帧CAN数据长度为8字节。如果消息长度大于8,则会被拆分成若干个每包长为8字节的数据包,并且每个数据包都有一个从1到255的序列编号,最后一个数据包剩余部分填充“FF”。例如,0x18FEE300被分成了6个报文。
- **广播公告消息(BAM)**:如果需要广播一条多帧信息,则先发送一条BAM消息。该消息包含即将广播的信息的PGN、大小及被拆分为的数据包数量。使用PGN=60160来传送这些数据。
例如,报文18ECFF00中第2和第3字节为 0028 表示要发送28字节信息;第4字节表示分六个包发送;后四个字节(5-8)表示该信息来自ID FEE300的数据。
- **BAM 和 TP.DT 的PGN 定
全部评论 (0)


