J1939协议理解0001_第1页
J1939协议理解0001_第2页
J1939协议理解0001_第3页
J1939协议理解0001_第4页
J1939协议理解0001_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、J1939协议理解今天读了 J1939协议的介绍文档,下面主要说说我的理解:1、 网络应用分为几个层物理层 SAE J1939-11数据链路层 SAE J1939-21网络层 SAE J1939-31应用层 SAE J1939-71故障诊断 SAE J1939-73网络管理层 SAE J1939-812、 下面主要说说数据链路层和应用层数据链路层: 为物理连接之间提供可靠的数据传输。 包括发送 CAN数 据帧所必需的同步、 顺序控制、 出错控制和流控制。首先要明白几个概念PGN:参数组编号帧( Frame): 组成一个完整信息的一系列有序的数据位。帧又被划分成几个域,每个域包括了预定 义类型的

2、数据。CAN数 据帧( CAN Data Fram)e:组成 CAN协 议帧所必需的有序位域,以帧起始( SO)F开始以帧结束 (EOF)结尾。标准帧( Standard Fram)e :CAN2.0A规范中定义的使用 11 位标识符的 CAN数 据帧。扩展帧( Extended Fram)e :CAN2.0 B规范中定义的使用 29 位标志符的 CAN数 据帧。包( Packet):一个单一的 CAN数 据帧就是一个包。当一条报文包含参数组的数据长度小于等于个 字节时,这样的报文也称为包。报文( Messag)e :指一个或多个具有相同参数组编号的 (PGN)数据帧。也就是说只要一个或多个

3、CAN 数据帧具有相同的 PGN号,那他们就是属于一个报文。多包报文( Multipacket Messag)es:当具有相同参数组编号的所有数据需要使用多个 CAN数 据帧来传 输时使用的一种 J1939报文。每个 CAN数 据帧拥有相同的标识符,但在每个包中数据不同。协议数据单元 PDU的格式PDU是 J1939传输数据的格式,它基于 CAN协议的扩展帧传输方式。即它的标识符是 29 位的 优先级:最高 0(000)设置到最低 7(111) 。所有控制报文的缺省优先级是 3(011 )。 扩展数据页( EDP)和数据页( DP)的关系:什么是第 0 页 PGN,什么是第 1页 PGN?作用

4、有什么不同? 还不是太清楚PDU格 式( PF)和 PDU 特定域( PS)的关系PDU 格式( PF)PDU格式PDU特 定域( PS)PF<240PDU1格式PS是目标地址(DA)PF=240255PDU2格式PS是组扩展( GE) 值PDU1和 PDU2时的参数组编号( PGN)数目EDPDPPFPSPDU1时参数组编号00 或者 10-239目标地址2X240(PF的值) =480EDPDPPFPSPDU2时参数组编号00或者1240-255共 16个 数组扩展值 0-255(共 256 个数)2X16X256=8192在说说 J1939的标识符合 CAN协议的对应格式:J193

5、9的 29 位标识符格式CAN协议扩展帧格式首先, J1939的标识符是 29位的,所以它使用的是 CAN协议的扩展帧格式来传输数据。 29位的标识符 在寄存器中的存放位置, 正好对应 CAN的 ID28-ID0的 29位。我们主要在 ID18和 ID17直接有两个位, SRR 和 IDE要求是必须写 1 的,它不包括在我们的 J1939的标识符,还有 ID0的后一位 RTR位也不包括在我 们的标识符中,这一位是无效位,应该写 0。标识符对应的 CAN扩展帧的位数:优先权 3 位 ID28 ID27 ID26扩展数据页 EP ID25数据页 DP ID24PDU格式 PF- ID23ID16P

6、DU特定域 PS ID15ID8源地址 SA ID7ID0如果 ECU读回来一串数据怎么判断参数组编号 PGN呢?首先,把数据的前 29 个字节(标识符)提取出来。 然后进行解析,解析方式:把 ID28ID24提取出来组成一个字节(对应优先权位、 EP、 DP)把 ID23ID16提取出来组成一个字节(对应 PF的 8 位)把 ID15ID8提取出来组成一个字节(对应 PS的 8 位)上述 ID25ID8就组成了数据的 PGN(参数组编号) 例如:收到的前 29 个字节是 0x67,0x98,0x1c,0xa2 看看它们的存储方式:BIT76543210IDR0ID28ID27ID26ID25

7、ID24ID23ID22ID21011001110x67IDR1ID20ID19ID18SRR=1IDE=1ID17ID16I98IDR2ID14ID13ID12ID11ID10ID9ID8ID7000111000x1cIDR3ID6DI5ID4ID3ID2ID1ID0RTR101000200xa2把 ID28ID24提取出来,其中标识符只包括 ID25 和 ID24,即 PGN的第一个字节是 00(二进制),把 ID23ID16提取出来,组成二进制的: 1111000(0 PF字节的 8 位)把 ID15ID8提取出来,组成 00001110(对应 PS的 8 位)

8、把上述 3个字节连接起来组成一个二进制的数: 00 11110000 000011,10把它转换成 16进制就是 0XF00E, 转换成十进制是: 61454,这就是它的 PGN号。3、 应用层应用层为应用过程访问 OSI 环境提供了一种方法 ,包括支持应用的管理功能和通用的机制。它以 PGN和 SPN的方式具体规定了车辆使用的每个参数的数据长度,数据类型,分辨率和数据范围等。应用层报文使用 PGN作为一组参数的标号。一组参数称为“参数组”( PG), PGN是其唯一的标识号。 参数组内有一个或多个具体的参数,每个具体参数都有一个唯一的标号,称为“怀疑参数编号”,即 SPN。以一个实例讲解 P

9、GN的使用以 PGN6521为3 例,首先是它的 J1939的协议定义:假定我们只使用了协议中的前 3 个参数,预计风扇转速比,风扇驱动器状态,风扇转速。下面是这 3 个参数在字节中的存储方式,预计风扇转速比是一个字节的,它占用了byte1的 8 位,风扇驱动器状态是 4 个字节的,占用了 byte2的后四位,风扇转速是 2字节的,占用的 byte3和 byte4. 其他没有使用的 位要写 1.他们每一个参数对应一个 SPN,在 SPN中都有它的斜率和分辨率的规定例如 第一个参数 Estimated Percent Fan Spe,ed我们看它的 SPN号是 975,我们再来查看 SPN975的内容, 发现他是一个表示百分比的数, 范围是 0%到 100%,分辨率是 0.4%,偏

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论