EPS电控单元刷新规范
EPS软件刷写规范涉及的标准如下:
ISO 11898-1:2003, 道路车辆 — 控制器局域网(CAN)— 第1部分:数据链路层和物理信号
ISO 14229-1:2006, 道路车辆 — 统一诊断服务(UDS)—规范和要求
ISO 15765-1:2004,道路车辆 — 基于控制器局域网(CAN)的诊断 — 第1部分:总体信息
ISO 15765-2:2004,道路车辆 — 基于控制器局域网(CAN)的诊断 — 第2部分:网络层服务
ISO 15765-3:2004,道路车辆 — 基于控制器局域网(CAN)的诊断 — 第3部分:统一诊断服务的实现(基于CAN总线的统一诊断服务)
安全相关要求:
1、可刷新的先决条件
电控单元应保证从应用软件跳转至引导加载程序时的状态是安全的。如果刷新的先决条件不满足(如:发动机转速不为零,换挡杆不在驻车挡或空挡等),电控单元须拒绝刷新请求。
2、刷新过程中数据正确性监测
当程序刷新完毕后,上位机通过检查内存例程服务保证刷新数据的正确性。
3、ECU复位处理
ECU复位后总是先进入BL程序。
BL在未接收到刷新请求时,将通过特定的复位跳转到App程序,保证App程序开始运行时MCU为复位状态。
4、软件完整性检查
在进入App程序前,BL应对App完整性性进行诊断,避免App未刷新完成而执行App程序。
会话管理:
电控单元应在收到请求报文后500 ms内进入引导加载程序的刷新会话。
应用软件与引导加载程序之间的转换应遵循以下流程:
a) 电控单元运行在应用软件时接收到子功能为 0x02 的服务$10 请求报文,应用软件应置刷新会话标志位为真(!PS_BL=0)并存储于EEPROM CombinedByte字节中。
b) 应用软件控制电控单元复位。
c) 电控单元启动,进入引导加载程序的默认会话,并检查刷新会话标志位的值判断应用软件是否请求进入刷新会话。(刷新会话标志位判断需在启动时间20 ms 内完成。)
d) 若为真,电控单元进入刷新会话并将刷新会话标志设为假(!PS_BL=1)。
e) 若为假,电控单元保持运行在引导加载程序中的默认会话。这时,若启动时间超过20 ms 未接收到刷新会话指令,且软件有效性检查通过时,电控单元从引导加载程序跳转到应用软件。若接收到刷新会话指令,电控单元进入刷新会话。否则,维持在默认会话中。
诊断服务列表
服务标识符
诊断服务名称
禁止肯定响应位
子功能
0x10
诊断会话控制
Y
0x01 默认会话
0x02 编程会话
0x27
安全访问
N
0x01 请求安全访问种子
0x02 发送安全访问密钥
0x3E
诊断设备在线
N
0x00 Zero子功能
Y
0x80 Zero子功能
0x11
电控单元复位
N
0x01 硬件复位
0x22
读取数据(通过标识)
N
N/A
0x31
例程控制
N
0x01 开始执行
0x34
请求下载
N
N/A
0x36
数据传输
N
N/A
0x37
请求退出传输
N
N/A
刷新流程:
刷新流程步骤:
步骤 a:
上位机通过读取ECU中原来的软件编码F194和软件版本F195,判断是否与烧录文件中的相关信息匹配。匹配,则可进入下一步,否则烧写过程取消。
该步骤可在应用软件中执行。当无应用软件时,引导加载程序也须执行该步骤。
步骤 b:
刷新事件由一个会话类型为刷新会话,物理寻址的诊断会话控制($10)服务开始。电控单元接收到会话控制请求报文后应为程序刷新分配一切必须的资源。
该步骤可在应用软件中执行(应用软件须先进入扩展会话),同时设置刷新会话进入标志(PEF=1),然后复位跳入引导加载程序。引导加载程序根据该标志直接进入刷新会话。
当无应用软件时,引导加载程序也须执行该步骤,并从默认会话直接跳入刷新会话。
步骤 c:
测试工具解锁电控单元使能刷新相关的服务。所有可刷新的电控单元应支持安全访问($27)服务。
步骤 d:
为了允许应用软件/应用数据下载,电控单元应擦除存储器相应的区域。该功能使用程序控制($31)服务执行存储器擦除程序。
步骤 e:
每次将连续的数据块下载到非易失性存储器时应遵循下面的服务序列:
1) 请求下载($34);
ECU在接收到该服务的请求报文时,在返回肯定应答前做好接收数据的准备。
2) 传输数据($36);
上位机将需要刷新的数据传输到ECU中,并对相关区域进行刷新。每次传输数据块的大小固定为256bytes,不满256bytes的下载数据块应以0xFF填充。
3) 请求退出传输($37)。
每次电控单元接收到请求退出传输服务的请求报文时,都计算下载到非易失性存储器的数据块的校验值,以备编程完整性检查使用。
在请求下载、传输数据和请求退出传输序列正确执行时,电控单元仅支持测试工具保持连接服务,忽略其它服务。
如果块长度超出了网络层缓存大小,单个数据块须使用多个传输数据($36)请求报文才能传输完全。
刷新文件中的数据块应能按地址递升序列向电控单元传输。
步骤 f:
当所有数据块下载完成后,上位机刷新工具应通过程序控制($31)服务启动编程完整性检查程序验证下载是否成功。
步骤 g:
电控单元须复位使下载的应用软件/应用数据生效。