琢磨了一天的CAN协议

描述

 

最新公司需要利用J1939的CAN协议进行数据通信,琢磨了一天,才明白,现在整理成笔记,内容如下:

 

1.数据帧格式

数据帧格式应遵循CAN 29位标识符的扩展帧格式,CAN 数据帧由很多域组成(仲裁域+控制域+数据域+CRC域)。

数据帧

 

2.协议数据单元(PDU)

数据帧是通过PDU进行组织的。PDU由数据帧中的 29 位标识符(ID号)和数据场组成。ID又划分为 6 个部分:优先级P(3 位),保留位(1位),数据页 DP位(1位),PDU格式PF(8位),PDU细节PS(8位),源地址SA(8位)。扩展帧协议数据单元及场分布如下图:

数据帧


2.1优先级(P)

长度:3位,位于ID最前面,用来优化报文传输到总线的传输延迟。一条报文的优先级可以从最高0(000)设置到最低7(111)。

2.2保留位(R )

保留此位以备今后开发使用,可能扩展 PDU 格式域,定义新的 PDU 格式,扩展优先级段或增加地址空间。所有报文的保留位应设置为 0。

2.3数据页(DP )

DP 默认设置为0。

2.4PDU 类型

PDU格式决定了是到具体ECU通信(特定目标地址)或是广播通信(全局目标地址发送)。

2.5目标地址(DA)

DA 场定义的特定目标地址要求任何源地址与该目标地址不同的节点忽略此报文。

2.6群扩展(GE)

GE场与PF场的低4位(当 PF 场高 4 位全部设置为 1 时表示 PS 场是组扩展)提供每个数据页 4096 种参数组。对于每个数据页有 4096 个参数组只在 PDU2 格式下可用;此外,还有 240 个参数组只在 PDU1 的格式下可用。当前,两个数据页共有 8672 个参数组可用。

2.7源地址(SA)

SA 场是一个 8 位域。给定的一个源地址在网络中应当只有一个设备与其相对应,源地址应是唯一的。

网络中一个特定源地址只能匹配一个设备。因此,源地址域确保CAN标识符符合CAN协议中的唯一性要求。

2.8 数据场

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分