当前位置: 首页 > news >正文

诊断会话控制及保持/ECU复位(ISO14229系列之10/3E/11服务)

诊断会话控制及保持/ECU复位(ISO14229系列之10/3E/11服务)

  • 1、诊断会话控制(10服务)
  • 2、非默认会话模式的保持(3E服务)
  • 3、ECU复位(11服务)

1、诊断会话控制(10服务)

        DiagnosticSessionControl(10服务) 用于将ECU切换到不同诊断会话状态。一般来说,我们通过10服务将ECU划分为默认会话、编程会话、扩展会话;并针对其他服务在这三种会话状态下的访问权限进行了划分,这样便于管理各个服务间的权限问题。关于这三种会话,10服务的请求格式如下:
在这里插入图片描述
        
关于sub-funtion主要的选项如下:

  • 01:请求进入默认会话;
  • 02: 请求进入编程会话;
  • 03:请求进入扩展会话;

        ECU在收到对应的会话请求后,返回的肯定响应格式如下
在这里插入图片描述
        其中,返回的参数P2CAN_ECU(即ISO 15765-3中的P2CAN_Server)表示从ECU接收到请求消息到开始发送响应消息之间的定时器性能要求数值。ECU必须确保一个单帧响应消息或者多帧响应消息的第一帧消息在P2CAN_ECU 时间内完成。
        返回的第二个参数P2*CAN_ECU(即ISO 15765-3中的P2*CAN_Server)表示从ECU发送了NRC为0x78的否定响应消息到开始发送下一个响应消息之间的增强型定时器性能要求数值
        

2、非默认会话模式的保持(3E服务)

        在前面我们介绍了通过10服务使切换ECU的当前会话状态;当我们通过10 02/03请求ECU进入编程/扩展会话后;则需要周期性地发送TesterPresent (3E 服务) 服务,用于ECU非默认会话模式的保持,防止其自动返回到默认会话状态。关于3E服务的请求格式如下:

在这里插入图片描述
        这里对sub-function的Bit7进行下介绍,该位suppressPosRspMsgIndicationBit表示抑制肯定响应消息指示位;如果该位为0,那么报文的响应正常发送;但如果该位是1,那么注意此时的肯定响应是不需要进行回复发送的。所以,关于周期性的3E服务,我们常用的是80这个sub-function;这样ECU不需进行肯定响应的回复。

        如果请求的是3E 00 ,那么ECU在收到该服务后,返回的肯定响应格式如下
在这里插入图片描述

        

3、ECU复位(11服务)

        ECUReset (11 服务) 服务用于ECU的复位操作。比如在ECU升级成功后的复位请求操作,且在成功复位后ECU应切换到默认会话模式。关于该服务常用(01/02/03)的请求格式如下:

在这里插入图片描述
        
关于sub-funtion主要的选项定义如下:

  • 01硬件复位(等同于ECU断电再上电);
  • 02KeyOffOn复位(等同于将点火钥匙旋至OFF后再回到ON位置);
  • 03软件复位

        ECU在收到对应的复位请求后,返回的肯定响应格式如下
在这里插入图片描述

相关文章:

  • 就计算机学习问题与一名高二学生的邮件往来
  • ISO 15765-2(网络层服务)
  • 关于自动化诊断测试(CANoe.Diva的应用)
  • ISO14229之概述
  • 需求增加也要走保证金流程——CSDN外包实践(62)
  • DBC文件解析
  • Sun中国工程研究院院长王星耀:开源策略是为了挤掉微软
  • 使用DBCView编辑DBC文件过程(一)
  • 使用DBCView编辑DBC文件过程(二)
  • DBC和EXCEL相互转换
  • 中小企业需要什么样的软件服务?
  • DBC文件编辑——基于DBCVIew4.3
  • 最近在研究的一个东东-移动证券
  • libcurl随笔
  • 2021-04-21
  • ----------
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • Github访问慢解决办法
  • If…else
  • Java应用性能调优
  • Mysql5.6主从复制
  • node和express搭建代理服务器(源码)
  • python学习笔记 - ThreadLocal
  • Redis中的lru算法实现
  • SpringCloud集成分布式事务LCN (一)
  • 工作中总结前端开发流程--vue项目
  • 回顾2016
  • 我的zsh配置, 2019最新方案
  • 一份游戏开发学习路线
  • 由插件封装引出的一丢丢思考
  • zabbix3.2监控linux磁盘IO
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​如何防止网络攻击?
  • #13 yum、编译安装与sed命令的使用
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (03)光刻——半导体电路的绘制
  • (1)(1.11) SiK Radio v2(一)
  • (12)Hive调优——count distinct去重优化
  • (Git) gitignore基础使用
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (转)创业家杂志:UCWEB天使第一步
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET 8.0 中有哪些新的变化?
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .net6Api后台+uniapp导出Excel
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?