【车载开发系列】UDS诊断—电控单元复位($0x11)
UDS诊断---电控单元复位($0x11)
- 【车载开发系列】UDS诊断---电控单元复位($0x11)
- 一.概念定义
- 二.应用场景
- 三.报文格式
- 1)请求
- 2)肯定响应
- 3)否定响应
- 四.参数定义
- 五.前提条件
一.概念定义
诊断服务11主要用于Client向Server(ECU)请求重启行为。该重启行为将会导致Server复位回归到特定的初始状态,具体是什么初始状态取决于Client的请求行为。
在不考虑特殊场景的前提下,只需发送"11 01"诊断请求便可以让Server发生硬复位行为。
二.应用场景
ECU被刷写新的软件后,此时需通过11诊断服务重启该ECU使其回复到初始状态,保证一个十分干净的运行环境;
为满足特定功能的需要,输入相关标定参数给到ECU后,只有通过发送诊断服务11才能使得标定参数生效的场景;
面向ECU内部测试的应用场合,在测试之前对ECU进行全面的初始化的场景;
三.报文格式
1)请求
$11服务的功能是通过该服务控制ECU重启,通常用在调用完$2E服务后读数据看是否写入成功,刷写完成后也常调用$11服务重启。
2)肯定响应
Response ID:该参数固定为SID+0x40 = 0x51;
SubFunction:该参数具体为对应的复位类型,如01,02,03,04,05等;
3)否定响应
当发送报文长度或者格式不对时,则Server会回复"7F 11 13";
当诊断请求的resetType不在Server支持的范围内时,则Server会回复”7F 11 12“;
当Server在发生复位前处于security lock状态,那么此时Server则会回复"7F 11 33"
Server将会回复“7F 11 22”来告诉请求者当前进入编程会话的条件不满足,请再次检查进入编程会话的条件
四.参数定义
Hex (bit6-0) | Parameter | 参数定义 | 参数描述 |
---|---|---|---|
0x01 | hardReset | 硬件复位 | 可能导致重新初始化易失性存储和非易失性存储至预定义的值 |
0x02 | keyOffOnReset | 钥匙开关复位 | 通常非易失性存储位置受到保护而易失性存储被初始化 |
0x03 | softReset | 软件复位 | 复位应用程序而不初始化先前定义的配置数据,调节参数和其它长效的调整 |
0x04 | enableRapidPowerShutDown | 启用快速断电 | 该子功能适用于非点火上电而仅采用电池供电的ECU。因此,关闭可强制进入休眠模式,并非单纯关闭电源。休眠意味着关闭电源,但仍时刻准备着被唤醒(电池供电型)) |
0x05 | disableRapidPowerShutDown | 禁用快速断电 | 抑制其进入下点休眠模式 |
0x40 – 0x5F | vehicleManufacturerSpecific | 由整车厂自定义使用 | 由整车厂自定义使用,一般不做使用 |
0x60 – 0x7E | systemSupplierSpecific | 由ECU供应商自定义使用 | 由ECU供应商自定义使用,一般不做使用 |
五.前提条件
ECU复位服务的肯定应答报文应在复位操作执行之前发送。在复位之后,ECU 应首先进入默认会话。
通常$0x11服务的执行只能在车辆处于静止状态下才可以实施。在有些车厂的定义中,执行复位服务的前提条件有两个:一个是车速小于2km/s,且具备有效车速。具体每个车厂在定义时多少会有些不同,但所有车厂的定义都参照了ISO14229的,所以大致功能及触发的前提是一样的。