4. ADAS系统架构与安全:典型ADAS系统架构、安全关键模块识别、冗余设计原则

好,咱们进入正题。ADAS系统到底长什么样?

很多人一上来就盯着算法看,觉得感知牛就完事了。我刚开始做ADAS那会儿也这么想,结果呢?系统跑起来,决策模块算得飞快,执行器却跟不上,或者传感器数据传着传着就丢了——这种坑我踩过不少。

说白了,ADAS是个系统工程。你得把感知、决策、执行这三块捏合在一起,还得保证安全。今天我就带你捋一遍典型的架构,聊聊哪些模块是“命根子”,以及冗余设计到底怎么落地。

4.1 典型ADAS系统架构:感知、决策、执行

一个标准的ADAS系统,可以拆成三个层级。你想想看,就像人开车:眼睛看路(感知),脑子判断(决策),手脚操作(执行)。

  • 感知层:负责采集环境数据。包括摄像头、毫米波雷达、激光雷达、超声波传感器。嗯,这里要注意,不同传感器的数据融合才是关键。
  • 决策层:处理感知数据,做出驾驶决策。比如目标识别、路径规划、行为预测。我个人习惯把决策层再细分成“感知融合”和“规划控制”两个子模块。
  • 执行层:把决策指令变成物理动作。转向、制动、加速,都靠这里。我记得有一次,决策层算好了刹车距离,但执行层响应慢了200毫秒,差点追尾。

这三层之间通过高速总线(比如CAN FD、以太网)通信。数据流是单向的,但安全监控是双向的。

核心要点:架构设计时,一定要考虑数据流的实时性和确定性。延迟抖动超过10ms,某些场景下就会出问题。

下面这张图,是我自己总结的ADAS系统典型架构。你可以看到数据从传感器一路流到执行器,中间每个环节都有安全监控。

感知层 摄像头 毫米波雷达 激光雷达 超声波传感器 决策层 感知融合 目标识别 路径规划 行为预测 执行层 转向控制 制动控制 加速控制 车身稳定 功能安全监控与诊断(贯穿全链路) 安全反馈与降级控制 图例说明: 感知层 决策层 执行层 安全监控 反馈回路

4.2 安全关键模块识别

架构搭好了,接下来得问一个问题:哪些模块一旦出问题,会要人命?

这就是安全关键模块识别。我建议你从两个维度去判断:失效后果的严重性失效发生的概率

根据我的经验,以下模块必须列为安全关键:

模块 安全关键原因 典型失效模式
制动控制单元 制动失效直接导致碰撞 信号丢失、液压故障
转向控制单元 转向失控导致偏离车道 电机卡死、角度传感器偏差
感知融合模块 目标漏检或误检 传感器遮挡、算法退化
通信总线 指令无法传递 总线中断、数据篡改
电源管理 系统掉电 电压跌落、短路

避坑指南:我曾经在一个项目中,只关注了执行器的安全,忽略了感知融合模块的退化问题。结果在雨雾天气,摄像头性能下降,系统却没有任何提示,差点出事。记住,感知模块的“软失效”往往比硬故障更危险。

识别安全关键模块时,我习惯用ASIL等级来量化。ISO 26262里定义了ASIL A到D,D是最严格的。比如制动系统通常是ASIL D,而一些信息娱乐功能可能只是QM。

4.3 冗余设计原则

好,模块识别出来了,接下来怎么办?冗余设计。

冗余不是简单的“多放一套”。你想想看,如果两套系统用同样的算法、同样的硬件,那一个bug就能同时干掉两套。这叫共因失效,白费功夫。

我总结了几条冗余设计的原则:

  • 多样性冗余:用不同的技术实现同一功能。比如制动系统,一套液压制动,一套电机再生制动。我曾经在一个项目里,两套制动都用同一个供应商的芯片,结果芯片批次有问题,两套同时失效。
  • 异构冗余:硬件不同,软件不同,但功能相同。比如感知用摄像头+雷达,而不是两个摄像头。
  • 空间冗余:物理上分开布置。比如两个ECU放在车头车尾各一个,避免一次碰撞全毁。
  • 时间冗余:同一个计算重复多次,投票决定结果。嗯,这个在决策层用得比较多。

个人经验:冗余设计不是越多越好。每增加一套冗余,成本、重量、功耗都翻倍。我建议你从ASIL等级最高的模块开始,逐步往下做。先保命,再谈体验。

举个例子,一个典型的L3级自动驾驶系统,转向和制动都是双冗余的。主系统失效后,备份系统能在100ms内接管。这个切换时间怎么测?我建议你在实车上做注入测试,模拟主系统故障,看备份系统能不能接住。

最后说一句,冗余设计不是终点。你得配合故障诊断降级策略。比如检测到主传感器失效,系统自动降级到L2,同时提醒驾驶员接管。这才是完整的预期功能安全思路。


好了,这一章的内容就到这里。架构、关键模块、冗余原则,这三块是ADAS安全的基石。下一章我们会深入聊一聊感知层的安全设计,特别是传感器融合中的那些坑。

专注资料整理