j1939 源地址定义_一文搞懂J1939

前面已经整理了LIN、CAN、CAN FD总线了。 —> LIN总线 —> 一文搞懂CAN总线 —> 一文搞懂CAN FD总线 今天我们来理一理J1939。首先J1939是建立在CAN2.0B协议基础上的总线,其中物理层和数据链路层大部分跟CAN2.0B是相同的,如图1所示,对于开发而言,可能更加关注应用层和网络管理,本文的话主要捋一捋应用层。 a4bfb0f87949aebf9e12078babb0fd79.png 图1 J1939的分层模型 J1939应用层借用了CAN总线的数据帧格式,不过J1939所有的报文均采用29位标识符,不同的是J1939对29位标识符进行了重新定义,如图2所示。稍微有点区别的是J1939的标识符中与CAN相比要少一部分,比如SRR, IDE,其他部分J1939并未对这部分做任何修改。另外J1939将标识符和数据域称之为PDU(Protocal Data Uint)。 06954c4e8bf6125def6c2d2e54aa5cfb.png 图2 CAN ID与J1939 标识符域的对比 那J1939的标识符中各个位的含义是什么呢? 下面来依次聊聊J1939标识符,如图3所示,包括: 优先级P(PRIORTY 优先权位); R(保留位)=>扩展数据位页(Extended Data Page,EDP); DP,数据页位(Data Page); PF,PDU Format,PDU格式; PS,PDU Specific,PDU特定域; SA,source address,源地址; a89062ac94dec967304ec8a4974a60b0.png 图3 PDU格式 下面来简单聊聊各个部分。 优先级P 其大小为3个bit,即0~7。与CAN Id一样,越小优先级越高。不过J1939协议中优先级P仅用于优化数据发送时的报文延迟,对接收报文无影响。通常情况下,所有控制报文的优先级为3,面向数据信息的报文优先级为6。 保留位R 其大小为1bit,又称为扩展数据页(EDP),目前未使用该位,设置为零。 数据页DP 其大小为1bit,用于联合扩展数据页来表示不同的PGN(参数组数),如图目前通常PGN定义在0页。 27cf6018455f296300a30a16badbf94f.png 图4 数据页定义 PF(PDU格式) PF大小为8bit,用于确定分配到数据域的PGN,有两种不同标识的参数PDU格式,分别为PDU1,PDU2,当PF<240为PDU1格式,当PF≥240且PF≤255,为PDU2格式。PDU1用于将数据传递至特定的目标地址,也就是某个确定的ECU;PDU2用于将数据传递至扩展参数组,类似于局部广播。 PS(PDU特定域) PS大小为8bit,它的定义由PF格式确定,PDU1格式下,PS为目标地址;PDU2格式下PS为组扩展值。 SA(源地址) SA大小为8bit,用于填充发送ECU的地址。 上面简单聊了下J1939的标识符域,那J1939都有哪些类型的报文呢? 目前J1939共支持5种报文类型,分别为命令、请求、广播/响应、确定和组功能。 命令报文 命令报文指目标地址接收到报文后,根据接收到的报文采取特定的动作。PDU1格式和PDU2格式都可作为命令。 请求报文 请求类型提供了全局或者特定目标地址请求信息能力,最典型的为请求PGN报文,如图5所示。 8777c6c34c38c89df1d8ba40e187628a.png 图5 请求PGN报文定义 广播/响应报文 此类型报文可以用于某个ECU主动进行报文广播,也可以是命令或请求的响应。常见与总线上的数据交换,例如某个ECU以固定周期广播部分参数。 确认报文 确认报文有两种,一种是CAN协议规定的ACK,当接收方收到后在ACK间隙期间发送一个显性位,以表示接收方已经接收到报文。另一种是由应用层规定,对特定的命令、请求的“ACK”、“NACK”等进行响应。 组功能报文 这种报文通常用于特殊功能组,例如网络管理、多包数据传输等。 好了,以上就是今天要讲的,麻烦各位点个“在看”。 推荐阅读 UDS诊断全集,干货分享 一文搞懂CAN FD总线 一文搞懂CAN总线 CAN消息中的Motorola和Intel

5264e4898386fe98c8dd834d83c5b487.png

点个“在看”再走!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值