今天想跟大家进一步对功能安全话题进行展开,以动力域控制器设计中的功能安全为切入点,分享一下对于动力域控制器功能安全设计的一些考虑和想法。
功能安全一直强调的最重要的一个概念就是独立性,功能和安全机制的独立性,功能和功能之间的独立性,供电的独立性等等。但是当大家看到动力域控制器反而是把整车控制功能,电池管理功能,电机控制功能……都融合在一起,用一个功能强大的CPU进行统一的信息处理和控制逻辑的计算和控制,笔者当初也是一头雾水,这明明就是背道相驰的两个方向。
就像冠状病毒武汉封城,全国4万医护人员逆行援助,之后再在武汉设立方舱隔离,防护是一个道理。为了未来汽车电子化和智能化的发展,集中式EE架构和域控制器是大势所趋,动力域控制器功能融合也是大势所趋,那我们就应该顺势而为,并且在这个大趋势上找出功能安全的解决办法。
既然动力域控制器在功能上进行了多个控制器的功能整合,那我们就在域控制器本身的设计上来考虑更多的安全设计,也就是比之前更微观的考虑功能安全。
域控制器成型的前提是CPU功能的强大,这里的功能强大一方面是指算力强大,主频更高,存储空间更大……另一方面是CPU的自身功能安全设计及能力的强大,比如更多的独立核,更多的lockstep,每个核独立的时钟控制,存储单元独立的分区和更安全的访问权限……
1)控制方面:表面上整车控制,电池管理,电机控制……等功能都合并到一个动力域控制器,但是动力域控制器往往是多核CPU,不同的核处理不同的功能,比如core0处理整车控制功能,core1处理电池管理功能,Core2进行监控……并且必要的核还支持lockstep功能。
2)存储方面:虽然ROM,RAM,Flash各种控制过程在表面看也都是在一个动力域控制器里完成了,但是ROM、RAM以及Flash等完善的检测机制,如ECC,分区机制,不同存储空间的访问权限机制……都更好的增加了存储上的独立性和安全性。
3)时钟方面:不同的功能由不同的核来进行处理,不同的核有自己独立的内部时钟,这个也大大地提高了时钟和核运行的安全性。
4)信号输入输出方面:从CPU角度,设置了更多不同组的Port口以提供输入输出的独立性,在设计方面我们也要有针对性的对于冗余及检测功能设置不同组的Port口最大程度发挥安全特性。
5)功能输入设计方面:比如动力域控制器的加速踏板识别功能,两组不同的加速踏板角度传感器,不同斜率的传感器曲线,不同的输入通道,以及不同的角度传感器供电等,这些设计需要考量在动力域的设计中。
6)功能输出方面:比如动力输出,两组独立不同的输出信号当然是最好的了,但是即使达到ASIL D,ISO26262里面也只要求足够的诊断覆盖率,足够小的硬件随机失效率即可。所以目前主流的做法是设计足够的输出诊断功能,诊断覆盖率达到相关的诊断覆盖率要求即可。
以上是对于动力域控制器笔者的一些思考,也欢迎大家留言讨论,之后我们也会针对其他域控制器以及域内的传感器和执行器展开讨论,比如底盘域ibooster和ESP的设计,转向的设计等等。
已完成
数据加载中