侵权投诉
订阅
纠错
加入自媒体

EPS Bootloader时序介绍

2019-04-01 15:41
汽车底盘
关注

BL概念

就是APP(应用程序)运行之前运行的一小段程序。

通过这个小程序我们主要完成:

1、软件的刷新,有些也可以读写一些需要的DID信息;

2、基本的硬件初始化。

BL启动时序图:

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

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

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

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

上电/复位时序图:

在上电/复位后,ECU 执行Bootloader程序。

Bootloader程序首先执行一些基本的初始化,然后检查外部编程请求标志位是否置为TURE。如果外部编程请求标志位置为TURE,即使应用程序是有效的,Bootloader程序也会继续运行。

如果当前没有编程请求,则检查应用程序的状态。如果应用程序是有效的(标识变量为0x5A5A),则判断在20ms 内是否收到特定报文。

如果收到特定报文,则继续运行Bootloader程序;

如果没有收到特定报文,则启动应用程序;

如果应用程序是无效的(标识变量为0x0000),则继续执行Bootloader程序。

编程时序

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

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

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

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

如果在预编程、编程进行和后编程阶段中,任何物理寻址的请求及响应不满足要求,则全部时序将重新执行,允许重新执行的次数为1 次。

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

例程控制“检查预编程条件” $31 $01 $02 $02:通过物理寻址检查ECU 预编程条件,从而确保系统安全,预编程条件由ECU 决定,如果有任何不安全的因素,ECU 应该拒绝编程,此例程控制不需要安全访问。

注:如果ECU 在未收到“检查预编程条件”例程($31$01 $02 $02) 的情况下,收到“$10$02”请求,ECU 应该拒绝进入Bootloader模式,并且发送否定响应。

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

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

读取数据 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…”,根据逻辑块的编号返回每一个逻辑块指纹记录。

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

(f)下载过程$34,$36,$37:应用程序或数据的每一个连续的数据块下载到ECU 非易失性内存中,都需遵循下面的服务顺序完成数下载:

请求下载($34)

传输数据($36)

请求传输退出($37)

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

(h)“检查编程依赖性”例程$31 $01 $FF $01:完成所有的应用程序或数据的下载,诊断仪将发送检查编程依赖性的例程。确保所有逻辑块的完整性和一致性。

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

请求报文到CAN 网络上。通过ECU 复位服务请求将使ECU 结束编程过程,返回到正常的操作模式。FLASH 驱动程序必须从RAM缓存中完全清除,避免非预期的内存擦除。

诊断会话控制$10 $01:诊断仪通过功能寻址发送一个会话类型为默认会话的诊断会话控制$10服务请求报文到网络上,所有ECU 进入默认会话模式。

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

声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号