线控安全与验证:冗余、接管与测试
本页关注"线控系统在故障和边界场景下如何保持安全",涵盖冗余架构、功能安全、验证方法与交付标准。
1. 功能安全基础(ISO 26262)
1.1 线控系统的安全目标
典型线控系统安全目标(Safety Goal):
| 功能 | 安全目标示例 | ASIL |
|---|---|---|
| 线控转向 | 不得发生非预期大角度转向(> 2°/s 非指令) | ASIL-D |
| AEB 制动 | 不得发生制动响应失败(危险条件下) | ASIL-D |
| 线控驱动 | 不得发生非预期加速(踏板未踩但速度升高) | ASIL-C/D |
| 电子驻车 | 不得在坡道停车时意外释放 | ASIL-B/C |
1.2 ASIL 分解
对于复杂系统,通常通过独立冗余路径实现 ASIL 分解:
ASIL-D 安全目标
│
├─ 路径 A(ASIL-B):主 ECU,感知路径 A
│
└─ 路径 B(ASIL-B):监控 ECU,感知路径 B(独立)
条件:路径 A 和路径 B 独立(不共享单点故障)
结果:ASIL-B(D) ≡ ASIL-D
2. 冗余架构设计
2.1 电源冗余
L3+ 场景的线控系统对电源冗余有明确要求:
主电源(12V/48V 系统)
│
├─ 功率转换器 A → 线控转向 ECU 主路
└─ 功率转换器 B → 线控转向 ECU 备路
冗余要求:
- 主电源失效后,备用电源在 < 20 ms 内接管
- 备用电源容量满足执行 MRC(30 秒级制动停车)的需求
- 两路电源在物理上独立(不同保险丝/继电器)
典型冗余电源方案:
| 方案 | 说明 | 切换时间 |
|---|---|---|
| 主电池 + 超级电容 | 主断后电容维持短时供电 | < 5 ms |
| 双 DC-DC + 主备切换 | 两套降压模块,继电器切换 | < 20 ms |
| 48V + 12V 双网络 | 高压主驱动,低压冗余控制 | 取决于拓扑 |
2.2 ECU 冗余
| 架构 | 原理 | 切换时间 | 适用场景 |
|---|---|---|---|
| Active-Active(双活) | 两路 ECU 同时运行,互相比较输出 | < 5 ms | ASIL-D,线控转向 |
| Active-Standby(主备) | 主路运行,备路热备跟踪主路状态 | 10–50 ms | ASIL-B/C,部分 ASIL-D |
| Lockstep Core | 同一 ECU 内两个 CPU 核锁步执行 | 0(同步) | 单 ECU 内部冗余 |
Active-Active 双活架构:
传感器输入 → ECU A → 输出 A → ┐
比较器 → 一致:执行
传感器输入 → ECU B → 输出 B → ┘ 不一致:故障处理
两路输出差异超过阈值时,系统自动识别故障路并切换到正常路输出。
2.3 通信冗余
线控系统的关键通信链路需要冗余:
推荐配置:
主通道:CAN FD(500 kbps–8 Mbps,CRC + 计数器)
备通道:以太网 或 第二路 CAN(独立物理通道)
帧级保护:
CRC:检测通信数据错误
计数器(Rolling Counter):检测丢帧和重放
超时检测:连续 N 帧无接收 → 触发故障
心跳:每 10 ms 发送心跳帧,超时触发降级
3. 降级策略
3.1 降级等级定义
| 等级 | 状态 | 典型触发条件 | 车辆行为 |
|---|---|---|---|
| Level 0 | 正常自动驾驶 | — | 全功能运行 |
| Level 1 | 功能受限 | 单传感器故障、单 ECU 降级 | 限速 60 km/h,禁止自动变道 |
| Level 2 | 请求接管(TOR) | 主路故障,备路可维持短时 | 发出 TOR,倒计时接管 |
| Level 3 | MRC 执行 | 驾驶员未接管,系统无法维持 | 减速→靠边→停车→上报 |
3.2 降级状态机
# 降级状态机伪代码
class SafetyStateMachine:
def update(self, system_health):
if system_health.critical_fault:
self.trigger_mrc()
elif system_health.major_fault:
if self.tor_issued and self.tor_timeout:
self.trigger_mrc()
else:
self.issue_tor()
elif system_health.minor_fault:
self.apply_restriction(
max_speed=60,
allow_lane_change=False
)
else:
self.normal_operation()
4. 驾驶员接管(TOR)设计
4.1 接管时间预算
TOR(Takeover Request)应在场景风险允许的时间窗口内完成:
| 场景 | 最小接管时间窗口 | 说明 |
|---|---|---|
| 高速(120 km/h) | ≥ 10 s | 制动距离长,需要更多时间 |
| 城区(50 km/h) | ≥ 5 s | 障碍物距离近 |
| 泊车(5 km/h) | ≥ 2 s | 低速,可立即接管 |
UN R157(自动车道保持系统)要求:系统在发出 TOR 后至少给驾驶员 10 秒接管时间(高速场景)。
4.2 多模态提示
TOR 提示必须引起驾驶员充分注意,推荐三模态组合:
| 模态 | 方式 | 持续时间 |
|---|---|---|
| 视觉 | 仪表盘/HUD 红色警告,指示方向盘 | 持续到接管完成 |
| 听觉 | 警报音(85 dB 以上,不可被静音) | 持续直到接管 |
| 触觉 | 方向盘振动(80–120 Hz) | 脉冲式,间隔 500 ms |
5. 验证闭环
5.1 SIL(软件在环)测试
在仿真环境中验证控制策略和状态机边界:
测试对象:ECU 软件(编译为 x86 可执行文件)
测试环境:PC 端仿真(MATLAB/Simulink, dSPACE TargetLink)
覆盖场景:
├─ 正常工况(全速度范围跟踪精度)
├─ 故障注入(传感器失效、通信丢帧、ECU 重启)
├─ 边界条件(极限加速度、极限转角)
└─ 状态机完整性(所有状态转移路径)
5.2 HIL(硬件在环)测试
真实 ECU 连接到模拟车辆和环境:
┌─────────────────────────────────────────────────┐
│ HIL 测试台 │
│ │
│ 真实 EPS ECU ─── CAN 总线 ─── 实时仿真器 │
│ 真实 EHB ECU ─── CAN 总线 ─│ (dSPACE/ETAS) │
│ 传感器模拟器 ───────────────│ 模拟车辆动力学 │
│ │ 模拟路面/故障 │
└─────────────────────────────────────────────────┘
HIL 关键测试项:
| 测试项 | 描述 | 通过标准 |
|---|---|---|
| 故障注入 | 注入传感器失效、总线丢帧 | 在 FTTI 内检测并降级 |
| 电源扰动 | 主电源瞬断 50 ms | 备电正常接管,无意外输出 |
| 极限转角 | 连续施加最大转角指令 | 无过流/过热,软限位正常 |
| 长时间运行 | 全负荷运行 8 小时 | 无积累性故障 |
5.3 台架测试
在真实车辆底盘台架上验证机械和控制性能:
| 测试项 | 测试方法 | 通过标准 |
|---|---|---|
| 转向响应时延 | 阶跃指令,测量实际转角响应 | 延迟 < 100 ms(90% 目标值) |
| 制动建压时间 | AEB 信号到目标压力时间 | < 150 ms(0→100 bar) |
| 坡道起步 | 10% 坡度,松制动→踩油门 | 后溜 < 5 cm |
| 低附着制动 | 模拟冰面(μ = 0.1)全力制动 | ABS 正常介入,无车轮锁死 |
5.4 道路测试
| 场景 | 关注重点 |
|---|---|
| 急刹(60 → 0 km/h) | 制动距离,无偏转,驾驶感受 |
| 紧急转向(避障) | 转向响应速度,无超调 |
| 低附着路面(湿滑、积雪) | ABS/ESC 联动,稳定性 |
| 坡道(15% 坡度) | 坡道起步和停车,无后溜 |
| 长时高速巡航(120 km/h×3h) | 热稳定性,连续控制精度 |
6. 标定与回归
6.1 标定项目
| 标定项 | 标定时机 | 工具 |
|---|---|---|
| 转向零位(Steering Offset) | 出厂 + 换件 | 驱动程序标定命令 |
| 制动响应曲线(Brake Gain) | 出厂 + 季节性 | 台架测量 |
| 坡度传感器校准 | 出厂 | 精密坡度仪 |
| 踏板传感器电压范围 | 出厂 | 标定软件 |
6.2 OTA 更新后回归清单
每次 ECU 固件或控制参数 OTA 更新后必须验证:
- [ ] 制动响应曲线与基线对比(< 5% 偏差)
- [ ] 转向零位未漂移(< 0.5°)
- [ ] 低速跟停平顺性指标(jerk P95 无上升)
- [ ] 故障码无新增(DTC 清零后测试一定里程)
- [ ] 故障切换逻辑(模拟传感器失效,验证降级路径)
7. 交付前检查清单
- [ ] 单点故障场景是否全部覆盖并满足安全要求?
- [ ] 组合故障场景(双路同时失效)是否有明确处置方案?
- [ ] MRC 策略是否可执行(不依赖失效模块)?
- [ ] 是否具备全链路日志(感知→规划→控制→执行)?
- [ ] 版本化标定是否完成(出厂标定记录归档)?
- [ ] OTA 回滚机制是否经过验证(回滚后标定是否自动恢复)?
- [ ] 极端天气(-40°C 冷启动)下的功能是否经过台架验证?