• 【UDS】ISO14229之0x3E服务



    ->返回总目录<-

    前言

    简称: “TesterPresent”,测试工具保持连接服务
    功能: 此服务用于告知电控单元测试工具仍在线。该服务需周期性发送,用于重置 S3server 计时器并维
    持当前激活的非默认诊断会话。


    一、理论描述

    该服务很简单,就是让诊断会话处于激活状态。

    二、使用步骤

    1.请求

    在这里插入图片描述

    请求报文: 3E 00
    在这里插入图片描述

    解析报文log:
    10 03 : 进入Extend会话模式
    50 03 00 32 01 F4: 成功切换会话(00 32 01 F4 不必纠结,是两个诊断时间参数)

    等待5秒,会话超时,会话自动退出Extend模式。

    27 01: 请求Extend会话下支持的安全访问服务
    7F 27 7F: NRC回复,请求服务的会话不支持。

    3E 00: 请求握手功能
    7E 00: 握手功能已开启

    10 03 : 进入Extend会话模式
    50 03 00 32 01 F4: 成功切换会话(00 32 01 F4 不必纠结,是两个诊断时间参数)

    此时诊断会话会一直处于Extend会话模式,因此无需再次切换Extend会话,就可以直接访问该会话支持的服务。

    *等待5秒,检测会话是否会超时(3E是否成功请求)*
    
    • 1

    27 01: 请求Extend会话下支持的安全访问服务
    67 01 00 00 A0 AC: ECU正响应,回复请求的Seed。(验证了,3E服务请求正确,保持会话模式)

    27 02 E0 59 97 DA: 上位机发送计算好的Key交给ECU,用来比较验证
    67 07: ECU验证成功,安全访问解锁。

    2.响应

    1)正响应
    在这里插入图片描述

    参见CANoe图中的蓝框

    2)否定响应
    支持的否定响应如下,一般工作上根据整车厂给的诊断输入文档来选择要支持的NRC码。
    在这里插入图片描述

    博主平日项目中支持NRC如下:

    NRC12: Sub-Function不支持(请求数据 3E 01。而你请求的子功能01根本找不到啊,规范里也没有01子服务,ECU收到你这条报文,无法识别subfunc,因此回复该NRC)
    在这里插入图片描述

    NRC13: 请求报文数据长度有误(正确请求数据3E 00 有2个字节。而你请求的是3E 00 00有3个字节,ECU收到你这条报文,无法理解,因此回复该NRC)
    在这里插入图片描述

    总结

    0x3E服务太简单了!诊断服务方面基本告一段落。接下来,逐步更新网络会话层的文章!

    ->返回总目录<-

  • 相关阅读:
    web端动效 PAG
    Element Plus 组件库相关技术:7. 组件实现的基本流程及 Icon 组件的实现
    浅析 em 和 rem
    LeetCode每日一题:实现strStr()
    Tensorflow学习笔记——搭建神经网络
    深入浅出MySQL - 事务
    QT: 串口通信主站阻塞式实现
    【Linux】网络IO(select、poll、epoll)
    core dump管理在linux中的前世今生
    呕心整理的常用热门API大全
  • 原文地址:https://blog.csdn.net/weixin_48498880/article/details/128041032