整车诊断会话控制服务0x10

三个子功能

0x10服务是所有诊断服务里面最简单的,叫做会话控制服务。其实就是你诊断仪以一个什么样的身份跟被测对象对话,你的身份对了,那就允许你问对应的问题,你的身份有问题,那对不起,我拒绝回答你的这个问题。用滴滴司机的话来说,就是请搞清楚你的定位。

会话控制服务没有子服务,一般标准里面就三个子功能,也就是三个会话,默认会话0x01、编程会话0x02、扩展会话0x03。

默认会话0x01:一上电就是这个会话,哪怕上次掉电之前是别的会话都好,只要一上电就肯定是它,这是最低级的,能问的问题也是最少的。他不能问的人家能问,人家能问的他不一定能问,这时候你就是个小弟。

编程会话0x02:这个一般在OTA或者Bootload的升级场景里面会用到,一般要从拓展会话0x03才能切换到这个会话里面。一进入编程会话,程序就会自动运行在OTA模式或者Bootload程序里面,只要运行在Bootload里面,就会认为在编程会话,在这里你更像位专家。

扩展会话0x03:我觉得这个会话叫高级会话例子比较合适,因为它本质上就是个比默认会话更加高级的会话,可以问一些默认会话不能问的问题。因为这个会话是国际标准里面推荐使用的,又可以获取到一些比较保密程度比较低的信息。破解的人很容易就会借这个会话来问出一些问题,因为大家都知道用这个会话嘛,就像把银行卡设置为123456一样。所以稍微厉害一些的厂商会把0x03当做一个高级会话,开放一定的权限,另外设置一个更加高级的会话,譬如0x05之类的,开放保密程度更高的信息,这种高级会话范围在0x04-0x7F。这时候你就是位高级骨干。

实例说明

可能看文字不太好看,举个栗子给大家看看。最左边的一列是问题,123列就是对应三个身份能不能问的权限,打勾的就是能问。这里只是给厂商们做个推荐,并不强制,你把所有信息都开放给默认会话都可以:

1、绿框里面的问题是读取DID,就是一些数据啦,这种问题对身份的要求是最低的,是人是狗都可以问。

2、红框里面的问题是写入DID,默认会话和编程会话都不让问,只有扩展会话可以,这就是高级骨干的特权了。

3、蓝框里面的问题是请求下载,一般是Bootload里面执行的,只有编程会话能干这事,毕竟专门的人干专门的事嘛,你再高级也没用。

状态跳转

这是个状态跳转图,就是上电的时候在默认会话,然后可以通过0x10服务在默认会话和非默认会话(0x02-0x7F)之间来回横跳,当一名变脸演员。里面有种跳转是自动的,就是在高级会话里面,如果到达一定时间,就会自动退回到默认会话,一般这个时间在3到5秒。

请求报文格式

请求报文格式就是先发个0x10,告诉被测设备我要的服务是会话控制服务。接下来一个字节表达子功能,也就是表明你的身份,你是想以小弟、专家还是高级骨干的身份跟被测设备说话。

肯定应答报文格式 

应答报文先按照 服务+0x40的格式回复,也就是0x50,然后就是子功能,代表我认可了你的新身份。

后面4个字节两两成对,P2CAN_Server_max是接收到报文后把响应报文发出的最大时间,P2*CAN_Server_max是接收到报文后让诊断仪等待(0x78)报文发出的时间间隔。

否定应答码

否定应答码就是拒绝回答你的理由,在会话控制服务里面有3个

子功能不支持0x12:譬如人家没有0x05这个会话,你非得发,那他就会以这个理由拒绝你。

报文长度错误0x13:这个很常见,因为所有诊断都是基于TP协议的,人家的请求格式要求2个字节,你发了3个,他就会以这个理由拒绝你。

条件不满足0x22:这个给厂商的自由度就很高,到底是什么条件不满足呢?是厂商自由发挥的,可以是一个可以是多个,他们之间可以是与可以是或的关系。举个最简单的例子,因为诊断往往是因为车子有问题了才拉到4S店来维修检查、诊断问题,所以查问题的时候要求车子是静止的,车速要为0,而且发动机转速要低于多少转,这些都可以成为条件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃鱼的羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值