11-5 DCM P2Server_max P2*Server_max

P2Server_max:指的是ECU在收到请求和给出响应之间的这个时间间隔,他描述了ECU的反应速度

P2*Server_max:在ECU给出NRC 78(等待)之后生效,所以会需要更长的反应时间

在ECU的软件中,需要设置P2Server这个timer,而这个timer应该被赋P2Server_max或P2Server_max这两值。

定性地来说,P2Server_max指的是ECU在收到请求和给出响应之间的这个时间间隔,它描述了ECU的反应速度。定量地来说,它指的是T_Data.ind(ECU收到请求)和T_Data.req(ECU给出响应)这两个函数被调用之间的时间。

P2Server_max与P2Server_max的含义类似,区别在于,P2Server_max这个时间参数是在ECU给出NRC 0X78之后生效的,ECU返回NRC 0X78,说明ECU当前处理能量不足,所以需要更长的反应时间,即P2Server_max。所以P2Server_max通常比P2Server_max大很多。在讲0x10这个诊断命令的时候,我提过这个诊断命令的响应格式是类似50 01 xx xx yy yy这种, xx xx就表示P2Server_max,yy yy 就表示P2Server_max。诊断仪收到这两个参数之后,就对ECU的响应速度有了认知,可以据此来判断ECU的响应是否及时。


————————————————
版权声明:本文为CSDN博主「@3933549xx」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45353815/article/details/105678942

三、诊断请求与响应
1、诊断请求

诊断请求发送格式:诊断请求ID:诊断数据长度 + 0X10 + 子服务

如:0x761 02 10 01

诊断请求ID(0x761):主机厂定义,一般为0X7** (CAN)

诊断数据长度(02):所需数长度(CAN报文数据8个字节:0x02代表有效字节长度为2,即10 01)

子服务(01):0x01(默认会话)、0x02(编程会话)、0x03(扩展会话) .....

2、诊断响应

诊断响应格式:

正响应:诊断响应ID: 响应数据长度 + 0X50 + 子服务 +P2server_max +P2*server_max

如:0X766 06 50 01 00 32 01 F4

诊断响应ID(0x766):一般也是0X7**大于请求ID

响应数据长度(06):同上

子服务 (01):同上

P2server_max(00 32):由主机厂定义,解析度为1毫秒,00 32既是50毫秒(ms)最大65535ms

P*2server_max(01 F4):由主机厂定义,解析度为10毫秒,01 F4既是5000毫秒(ms)最大655350ms

负响应:诊断响应ID: 响应数据长度 +7F+ 10 + NRC

如:0x766 03 7F 10 12

诊断响应ID(0x766):同上

响应数据长度(03):同上

0X7F:ISO14229规定否定响应均以0x7F 开头

NRC:否定响应码(下图为14229给出,根据主机厂需求可增加其他NRC)

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值