• 124查看
  • 0回复

[网络开发] J1939协议TP部分内容解析

[复制链接]


该用户从未签到

发表于 5 天前 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


1.消息/帧格式

CAN 标准帧和扩展帧格式消息的区别在于仲裁域和控制域的位数和对位域的识别不同。CAN标准帧仲裁域为11位。,而扩展帧的仲裁域则是有29位。

J1939协议TP部分内容解析w1.jpg

J1939协议TP部分内容解析w2.jpg

1.1 协议数据单元( Protocol Data Unit )

协议数据单元由七部分组成,分别是

J1939协议TP部分内容解析w3.jpg

P优先级,R保留位。DP数据页,PF是PDU格式,PS是特定PDU,SA是源地址以及数据域。PDU被封装在一个或多个CAN数据帧中,通过物理介质传送到其他网络设备。每个 CAN 数据帧只能有一个 PDU。需要指出的是,有些参数组编号定义需要多个 CAN 数据帧才能发送其数据。(帧格式中的SOF、SRR、IDE、RTR、CRC、ACK、EOF域是游CAN协议定义的,在OSI数据链路层以上的层是不可见的!)

1.1.1 优先级(P)

这三位仅在总线传输中用来优化消息延迟,接收机必须对其做全局屏蔽(即忽略)。消息优先级可从最高 0(000)设置到最低 7(111)。所有控制消息的缺省优先级是 3(011)。其他所有信息、专用、请求和 ACK 消息的缺省优先级是 6(110)。

1.1.2 保留位(R)

保留此位以备今后开发使用。 (与CAN保留位不同)

1.1.3 数据页(DP)

数据页位选择参数组描述的辅助页。在分配页一的 PGN 之前,先分配完页零的可用 PGN。

1.1.4 PDU 格式(PF)

PF 域,8位。确定 PDU 的格式,也是确定数据域对应参数组编号的域之一。参数组编号用来确定或标识命令、数据、请求、确认和否定等。已经定义好了两种专有参数组编号,允许使用 PDU1 和 PDU2 两种格式。

那么为什么要有2种PDU格式呢?

J1939协议TP部分内容解析w4.jpg

1.1.5 特定 PDU(PS)

特定 PDU 是一个 8 位域,它的定义取决于 PDU 格式,根据 PDU 格式它可能是目标地址或者组扩展。 若 PDU 格式(PF)域的值小于 240,特定 PDU 域是目标地址。若 PF 域的值在 240 和 255 之间,特定 PDU 包含组扩展(GE)值。

1.1.5.1目标地址(DA)

这个域定义了消息发送的特定目标地址。对于任何设备,如果源地址与接收到消息的目标地址不相同应忽略此消息。

1.1.5.2 组扩展(GE)

当PF格式域的高四位全为1时,则PS代表组扩展。

J1939协议TP部分内容解析w5.jpg

综合上述,在使用2个数据页DP的情况下,一共有 (240+16*256)* 2 = 8672个参数组。

1.1.6  源地址(SA)

源地址域 8 位。

1.1.7 数据域

长度 不多于8时,DLC置8;长度9-1785字节时,以多包形式发送。

2.传输协议

以连接模式下的数据传送次序为例,具体讲一讲各帧的详细结构。

假设发送者节点为0xaa,接收者节点为0xbb,当前有一个23个字节的消息被拆装成4个数据包将被发送,数据包成员的PGN值统一标识为65259。

J1939协议TP部分内容解析w6.jpg

2.1 连接模式下的请求发送(TP.CM_RTS)

发送节点0xaa发送TP.CM_RTS,表示当前有一个23个字节的消息被拆装成4个数据包将被发送。

J1939协议TP部分内容解析w7.jpg

2.2 连接模式下的准备发送(TP.CM_CTS)

响应节点0xbb通过TP.CM_CTS消息回复,表示它已经准备好了处理从编号开始的两个数据包。

J1939协议TP部分内容解析w8.jpg

2.3 数据传输 (TP.DT)

接收到CTS以后开始传输数据,发送报文的PGN使用传输 协议中的固定数据0xEB(235)

J1939协议TP部分内容解析w9.jpg

之后的数据包依次类推。

2.4 等待发送

在接收完2个数据包之后,接收节点再次发送接收方发出一条 TP.CM_CTS 消息,表示它想保持连接但不能马上再接收任何数据包。在最长延迟 500 毫秒后,它必须再发一条 TP.CM_CTS 消息来保持连接。在这个例子中,响应者再发送了一条 TP.CM_CTS 消息,表示它可以接收从编号 3 开始的两个数据包。

2.5 消息结束应答(TP.CM_EndofMsgAck)

数据包接收完成后,接收节点发送TP.EndofMsgACK 消息,表示所有的数据包都接收到了,现在关闭连接。

J1939协议TP部分内容解析w10.jpg

3. 广播数据

一个节点向网络表示,它将要使用传输协议的服务来传送一个多组消息。在这个例子中, PGN 65260 车辆身份标识符在网络中广播。发送节点首先发出了一条 TP.CM_BAM 消息(广播公告消息),随后发送数据包。所有的响应者都没有进行接收确认(例如,这个例子中的接收节点)。

J1939协议TP部分内容解析w11.jpg


该用户从未签到

发表于 5 天前 | 显示全部楼层
以下是按照专业汽车工程师风格所写的回复:

关于J1939协议TP部分的内容,其消息/帧格式基于CAN标准。其中,标准帧与扩展帧的主要区别在于仲裁域的位数不同,标准帧为11位,而扩展帧为29位。协议数据单元(PDU)是信息传输的核心,它由七部分组成,包括优先级、保留位、数据页、PDU格式等。每个CAN数据帧仅包含一个PDU。值得注意的是,某些参数组编号的定义涉及多个CAN数据帧,需要进行整合理解。关于更多详细解析和应用实例,建议查阅专业文档或深入交流。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 5 天前 | 显示全部楼层
对于您的帖子内容关于J1939协议TP部分的解析,根据描述进行以下专业回复:

关于消息/帧格式,CAN标准帧与扩展帧主要区别在于仲裁域的大小及位识别。标准帧仲裁域为标准的11位标识符,扩展帧仲裁域有更高的标识位数为识别不同类型的报文,总共有为醒目的三位之多达到包含信息更丰富,共计为二十九个位。协议数据单元PDU是通信过程中的关键组成部分,由七部分构成。其中包括优先级、保留位等要素用于高效传递和管理信息内容。重要的是需注意PDU需要配合报文及实际网络环境进行相应的配置和使用,保证信息准确高效传输。部分参数组编号可能需要配合多个CAN数据帧进行处理和解析。在实际应用中应严格按照协议规范进行设计和实现。如需更详细的解析和探讨,建议查阅相关技术文档或进行进一步的专业交流。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 4-4-2025 19:12 , Processed in 0.285665 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.