目前,有很多令人眼花缭乱的fail - xxx概念,fail-safe,fail-silent,fail-stop,fail-warning, fail-operational等等, 个人认为搞这么多概念有害无益,从ASPICE,AUTOSAR,功能安全,信息安全,到预期功能安全,这些东西已经包含了很多拗口的概念,越来越多的工程师已经感到疲惫,麻木,稍微停止学习就会落后,再加上汽车开发周期的缩短,工程师们一边忙着赶项目进度,一边挤出来的碎片时间里学习新知识.所以玩更多的概念只会更让工程师们抓耳挠腮.
言归正传,这些fail - xxx概念里面只需关注fail-safe和fail-operational即可,其他的都逃不出这两个概念.
需要注意的是fail-operational包含fail-safe,不管是fail后降级运行还是全功能运行,前提都是safe的.
下面结合SAE对自动驾驶等级的划分以及当前自动驾驶技术水平阐述一下从fail-safe到fail-operational的发展历程,如下表所示:
可以看出,从fail-safe到fail-operational一方面是高阶自动驾驶的硬性需求,另一方面也提升了系统的可用性,同时也提升了用户体验.从进入安全状态只能靠边停车到进入安全状态也可以继续驾驶的技术飞跃.
值得注意的是,进入安全状态的车,即使可以继续运行,这个时候系统能达到的ASIL等级已经不是原来的ASIL等级.
直白一点说就是,原来你开的是一俩ASIL D的车,发生故障后你开的可能是一辆ASIL B的甚至是一辆QM的车,这么说不太精确,但道理就是这个道理.
所以尽快去修车.
那么如何才能实现fail-operational呢?
ISO 26262没有提供答案,功能安全之母IEC61508倒是提供了一些技术参考.
IEC61508里面有一个重要的概念,HFT(hardware fault tolerance),即硬件故障容忍度,HFT=1代表整个系统容忍一个硬件危险故障.即发生一个硬件危险故障的时候,系统可运行.
基于此,IEC 61508还给出了几种架构来指导设计,这种架构用MooN来表示,M表示输出,oo表示out of,N表示通道个数,D代表诊断.
下面看一下几个典型的架构. 1oo2架构1oo2架构等效电路框图为1oo2架构可以看出,假如通道1输出卡滞在开路故障下,执行器就没办法执行任务,所以1oo2架构不能实现失效可运行.
2. 2oo2架构
2oo2架构等效电路框图为2oo2架构当通道1输出卡滞在短路故障下,执行器一直处在执行状态,没办法根据请求正常关断,所以2oo2架构也不能实现失效可运行.
2oo3架构等效电路框图为2oo3等效完后看起来还有点不是一目了然,进一步简化为:2oo3投票电路根据等效投票电路,假如通道1出现故障,一直卡滞在开路状态,通道1卡滞在开路故障2oo3的架构就变成了1oo2的架构,系统可以依赖通道2和通道3继续运行.
假如通道1出现一直卡滞在短路状态故障,通道1卡滞在短路故障2oo3的架构就变成了2oo2的架构,系统依然可以依赖通道2和通道3继续运行.所以2oo3架构可以实现失效可运行.
但是汽车作为一个大规模量产的东西,对成本非常敏感,所以做的成本和安全的融合也至关重要,不然最后还是消费者买单.
尽管2oo3这种架构实现了失效可运行,但是其成本不友好,一般在汽车电子领域不采用这种架构,在航空航天领域有时候会采用2oo3架构.
下面介绍一个低成本的可以实现失效可运行的架构,1oo2D架构,1oo2D架构等效电路框图为:1oo2D1oo2D进一步等效框图为:1oo2D设通道1故障,卡滞在开路状态, 执行器的正常执行可以通过通道 2以及通道2的诊断通道实现;
假设通道1发生卡滞在短路的状态,通道1的诊断电路诊断出故障,利用CH1D开关切断通道1,执行器的正常执行依然可以通过通道2和通道2的诊断通道来实现,结合以上分析,得出1oo2D架构可以实现fail-operational,并且成本友好,毕竟诊断可以由多种低成本技术来实现.
结语:本文没有通过"万字长文甚至五万字长文泣血阐述xxxxx,而是通过大量的框图阐述了从fail-safe到fail-operational的发展历程,然后分析了1oo2 ,2oo2,2oo3,1oo2D等经典安全架构,最后得出2oo3和1oo2D架构能实现fail-operational,由于1oo2D架构更具有成本优势,所以在汽车工业领域利用1oo2D架构实现fail-operational更具有实际意义.