OTA升级时序

ECU启动时序

在这里插入图片描述
在上电/复位后, ECU 执行 Bootloader 程序。 Bootloader 程序首先执行一些基本的初始化,然后检查外部编程请求标志位是否置为 TURE。如果外部编程请求标志位置为 TURE,即使应用程序是有效的,Bootloader 程序 也会继续运行。如果当前没有编程请求,则检查应用程序的状态。如果应用程序是有效的,则判断在 20ms 内是否收到特定报文。如果收到特定报文,则继续运行 Bootloader
程序;如果没有收到特定报文,则启动应用程序。如果应用程序是无效的(标识变量为 0x0000),则继续执行 Bootloader 程序。

bootloader启动时序

在这里插入图片描述
在上电/复位后, ECU 首先执行 Bootloader 引导程序,然后检查外部编程请求标志位。如果外部编程请求标志为 TURE,即使应用程序是有效的, Bootloader 也将继续执行。如果外部编程请求标志为 FASLE,则检查应用程序的状态。如果应用程序是有效的,则判断在 20ms 内是否收到特定报文。如果收到特定报文,则进入 Bootloader模式下的编程会话模式;如果没有收到特定报文,则启动应用程序。

特定报文的特征如下:

◆报文的 ID 为 ECU 的物理寻址诊断地址;

◆报文的 DLC=8;

◆报文的数据场=04 31 01 AA AA xx xx xx。

注: ECU 在任何诊断会话下收到该特定报文均应给出肯定响应。

如果应用程序是无效的, ECU 停留在 Bootloader 模式下的默认会话模式。在 Bootloader 模式下,诊断会话转换规则与应用模式下相同。

在 Bootloader 模式下,有以下几种方式,可导致 ECU 重启:

◆无论当前处于何种会话模式, “ $11 $01”均能重启 ECU。

◆扩展会话模式或编程会话模式下, S3_Server 定时器超时能重启 ECU。

◆在编程会话模式下, “$10 $01”能重启 ECU。

编程时序

编程时序分为三个编程阶段:

◆预编程阶段:做编程前的网络准备

( a)诊断会话控制$10 $03:启动扩展会话模式,通过功能寻址发送给所有的 ECU。

( b)例程控制“检查预编程条件” $31 $01 $02 $02:通过物理寻址检查 ECU 预编程条件,从而确保

系统安全,预编程条件由 ECU 决定,如果有任何不安全的因素, ECU 应该拒绝编程,此例程控制不需要

安全访问。

注:如果 ECU 在未收到“检查预编程条件”例程($31 $01 $02 $02) 的情况下,收到“ $10 $02”请求,

ECU 应该拒绝进入 Bootloader 模式,并且发送否定响应。

( c)控制 DTC 设置$85 $02:关闭 DTC 设置,通过功能寻址发送给所有的 ECU。

( d)通信控制 0x28 $03 $03:禁止非诊断报文的发送和接收,通过功能寻址发送给所有的 ECU。

( e)读取数据 0x22 $xx $yy:在禁止正常通信后,通过物理寻址读取预编程 ECU 的状态信息,如:

应用软件标识、 应用数据标识、 Bootloader 软件标识、 VIN 码和指纹记录等。数据读取服务为可选服务,读取的内容由 ECU 供应商定义。

◆编程进行阶段:下载程序或数据;

( a)诊断会话控制$10 $02: ECU 收到此请求后,将分配编程所需的资源。 ECU 应该在跳转到

Bootloader 模式之前,发送肯定响应。

( b)安全访问$27 $07/$08:编程事件必须通过安全访问,确保只有授权的诊断仪能对 ECU 进行编程

操作。

( c)驱动下载$34, $36, $37, $31: Flash 驱动的下载应该按照如下时序来进行:请求下载、传输数

据、请求传输退出。下载完所有字节后,用“检查编程完整性”例程($31 $01 $02 $01) 来检查所有的字节

是否正确下载。

( d)写入数据$2E $F0 $11:在擦除内存例程( $31 $01 $FF $00)执行之前, ECU 需要将应用数据指

纹记录写到内存中。每个逻辑块(除了驱动)下载前,诊断仪都将写一次应用数据指纹记录。当下载完逻

辑块后, ECU 根据逻辑块的序号将应用数据指纹记录存储。在追溯指纹记录时,诊断仪将发报文“ $22 $F0

$21”, ECU 将发送报文 “ $62 $F0 $21…”,根据逻辑块的编号返回每一个逻辑块指纹记录。具体格式,参

见 5.3.2 节。

( e)“擦除内存”例程$31 $01 $FF $00:如果擦除内存例程被调用,那么应用程序有效标识变量将被

置为无效(0x0000)。

( f)下载过程$34, $36, $37:应用程序或数据的每一个连续的数据块下载到 ECU 非易失性内存中,

都需遵循下面的服务顺序完成数下载:

◆请求下载($34)

◆传输数据($36)

◆请求传输退出($37)

( g)“检查编程完整性”例程$31 $01 $02 $01:此例程用来检查所下载的逻辑块的完整性。

( h)“检查编程依赖性”例程$31 $01 $FF $01:完成所有的应用程序或数据的下载,诊断仪将发送检

查编程依赖性的例程。检查内容由 ECU 供应商定义,但必须确保所有逻辑块的完整性和一致性。

( i)电控单元复位$11 $01:诊断仪使用物理寻址,发送一个复位类型为硬复位的 ECU 复位服务($11)

请求报文到 CAN 网络上。

通过 ECU 复位服务请求将使 ECU 结束编程过程,返回到正常的操作模式。 FLASH 驱动程序必须从

RAM 缓存中完全清除,避免非预期的内存擦除。

◆后编程阶段:重同步网络

(a)诊断会话控制$10 $01:诊断仪通过功能寻址发送一个会话类型为默认会话的诊断会话控制$10

服务请求报文到网络上,所有 ECU 进入默认会话模式。

( b)清除诊断信息$14 $FF $FF $FF:诊断仪通过物理寻址清除编程 ECU 的诊断信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/470845.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[OPEN SQL] 更新数据

UPDATE语句用于更新数据库表中的数据 本次操作使用的数据库表为SCUSTOM&#xff0c;其字段内容如下所示 航班用户(SCUSTOM) 需要操作更新以下数据 1.更新单条数据 语法格式 UPDATE <dbtab> FROM <wa>. UPDATE <dbtab> FROM TABLE <itab>. UPDATE &l…

电脑监控屏幕软件有哪些(监控电脑屏幕的软件)

随着信息技术的迅猛发展&#xff0c;电脑屏幕监控软件已成为企业、家庭以及教育机构保护数据安全、提升工作效率以及进行行为分析的重要工具。本文将详细介绍几款主流的电脑屏幕监控软件&#xff0c;包括它们的功能、特点以及适用场景&#xff0c;帮助读者更好地了解并选择合适…

【C++第二阶段-重载-关系运算符函数调用】

你好你好&#xff01; 以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 关系运算符-重载-判断相等函数调用运算符重载 关系运算符-重载-判断相等 场景&#xff1a;两个对象&#xff0c;若有年龄和性别的不同&#xff0c;是否可以直…

Stable Diffusion 的提示词入门

一、正向提示词和反向提示词 Stable Diffusion 中的提示词通常用于指导用户对生成的图像进行控制。这些提示词可以分为正向提示词&#xff08;Positive Prompts&#xff09;和反向提示词&#xff08;Negative Prompts&#xff09;两类&#xff0c;它们分别影响图像生成过程中的…

H12-821_48

48.下面是台路由器输出的BGP信息,关于这段信息描述措误的是 A.路由器的Router ID是1.1.1.9 B.display bgp network命令来显示BGP通过network ( BGP)的通告的路由信息 C.该路由器所在AS号是10 D.该路由器通过import-route命今引入了4.4.4.0/24的网段 答案&#xff1a;D 注释&am…

Panalog 日志审计系统 sessiptbl.php 前台RCE漏洞复现

0x01 产品简介 Panalog是一款日志审计系统,方便用户统一集中监控、管理在网的海量设备。 0x02 漏洞概述 Panalog日志审计系统 sessiptbl.php接口处存在远程命令执行漏洞,攻击者可执行任意命令,接管服务器权限。 0x03 影响范围 version <= MARS r10p1Free 0x04 复现…

c++阶梯之类与对象(下)

前文&#xff1a; c阶梯之类与对象&#xff08;上&#xff09;-CSDN博客 c阶梯之类与对象&#xff08;中&#xff09;-CSDN博客 c阶梯之类与对象&#xff08;中&#xff09;&#xff1c; 续集 &#xff1e;-CSDN博客 1. 再谈构造函数 1.1 构造函数体赋值 在创建对象时&a…

[经验] 欧阳修唐宋八大家之首是谁 #微信#知识分享#学习方法

欧阳修唐宋八大家之首是谁 1、唐宋八大家之首是谁 唐宋八大家是中国文学史上最具代表性的八位大文豪&#xff0c;他们的文学成就在中国文学史上占有重要地位&#xff0c;被誉为文学史上的“巨人”。 唐宋八大家之首&#xff0c;无疑是唐代著名诗人杜甫。他出生在一个贫苦的家…

嵌入式I2C 信号线为何加上拉电阻(图文并茂)

IIC 是一个两线串行通信总线&#xff0c;包含一个 SCL 信号和 SDA 信号&#xff0c;SCL 是时钟信号&#xff0c;从主设备发出&#xff0c;SDA 是数据信号&#xff0c;是一个双向的&#xff0c;设备发送数据和接收数据都是通过 SDA 信号。 在设计 IIC 信号电路的时候我们会在 SC…

VMware虚拟机网络配置

VMware虚拟机网络配置 桥接模式NAT网络 桥接模式 桥接模式其实就是借助你宿主机上的网卡进行联网和通信&#xff0c;所以相当于虚拟机和宿主机平级&#xff0c;处于同一个网段中。 配置要点&#xff1a; 注意选择正确的宿主机网卡 查看宿主机的网络信息&#xff0c;这些信息指…

【C语言】socketpair 的系统调用

一、 Linux 内核 4.19socketpair 的系统调用 SYSCALL_DEFINE4(socketpair, int, family, int, type, int, protocol,int __user *, usockvec) {return __sys_socketpair(family, type, protocol, usockvec); } 这段代码定义了一个名为 socketpair 的系统调用。系统调用是操作…

SpringCloud之Nacos用法笔记

SpringCloud之Nacos注册中心 Nacos注册中心nacos启动服务注册到Nacosnacos服务分级模型NacosRule负载均衡策略根据集群负载均衡加权负载均衡Nacos环境隔离-namespace Nacos与eureka的对比临时实例与非临时实例设置 Nacos配置管理统一配置管理微服务配置拉取配置自动刷新远端配置…