1 可靠性与安全性设计的两次重大变革
20世纪初,人类进入到电子时代,随着时代的变迁,电子系统出现了两次巨大的变革,即从传统电子到智能电子与从智能电子到网络电子的变革。前者是微控制器(MCU)诞生后,嵌入式系统带来的变革,后者是物联网时代智能电子系统普遍入网后带来的变革。传统电子时代,只有可靠性概念,没有安全性概念;智能电子时代,诞生了安全性包容设计;网络电子时代,电子系统的安全性设计提升到空前高度。
传统电子时代,没有安全性设计概念,可靠性与安全性是统一的。因为,这一时期的电子系统只有正常与失效两种状态。正常即可靠,可安全使用;失效即无法工作,也无安全可言。
智能电子时代,由于有MCU 的介入,众多功能可由软件实现。软件介入后对系统的可靠性设计有两个重大影响:一个是软件介入后系统不可避免地出现失误,出现了正常、失效之间出错概率的多值可靠性;另一个是软件可主动实现系统的可靠性管理。前者引发了多值可靠性设计概念,后者帯来了可靠性控制的设计内容。这时的智能电子系统,借助于集成电路的不断进化、人工智能的可靠性控制与封闭的体系结构,无论是可靠性还是安全性都到达了空前高度。
网络电子时代,由于智能电子系统普遍具有网络接入功能,智能电子系统对外部开放的后果是,所有网络安全问题都会带入到智能电子系统中。病毒入侵、恶意攻击等网络犯罪成为网络电子系统的不安全因素,安全性设计提升到空前高度。防入侵、防攻击成为网络电子系统安全性设计中不可或缺的重要内容。
下面以汽车电子为例,来描述电子系统可靠性、安全性设计的变革。老爷车时代,是传统电子时代,无论是仪表系统,还是发动机点火系统都只能由分立电子元件组成,其中任何一个元器件失效都会导致汽车瘫痪。电子工程师通过精心挑选每个元器件、可靠的电路设计与精心工艺制作,来保证系统的可靠性与安全性。
现代汽车时代是智能电子时代,在汽车电子中,高可靠的集成电路、分布式总线技术、实时多任务操作系统、软件的可靠性管理、重要组件的冗余技术等,保证了汽车电子系统高可靠地运行;还可以通过汽车运行中的各种工况监测(如发动机运行工况监测、车胎压力监测等),确保汽车的安全运行。
自动驾驶汽车时代是网络电子时代,每辆汽车都与互联网相连。人们在享受自动驾驶方便服务的同时,也带来了很多安全风险。病毒入侵、恶意攻击成为自动驾驶汽车电子系统的最大安全隐患,网络电子的安全性设计将成为主要设计内容。
2 嵌入式系统可靠性设计的基本概念
与传统电子的泛性结构不同,所有智能电子系统都含有归一化智力内核(微控制器)。由于嵌入式系统的软件介入,智能电子系统有了可主动出击的可靠性管理设计。这种主动的管理设计,既能保证智能电子系统达到安全、可靠的最佳状态,又能为网络电子系统安全性(防病毒入侵、恶意攻击)设计提供重要手段。因此,在讨论智能电子时代的可靠性设计时,必须深入了解嵌入式系统可靠性设计的诸多重要概念。这些概念是:软件介入的多值可靠性与实时性问题、嵌入式系统的安全性包容设计、嵌入式系统的可靠性等级、嵌入式系统的可靠性模型等。
(1)软件介入的多值可靠性
传统电子系统的可靠性是一种非好即坏的二值可靠性。智能电子系统由于大规模集成电路的高本质可靠性保证,软件出错成为系统可靠性的主要问题。通常,软件出错不会导致系统损坏,软件出错概率便成为系统是否可靠的重要标志。根据系统出错概率来界定系统的可靠性,这是一种非好、非坏的多值可靠性。例如,我们常常用易死机、易出错、不好用等现象来判断手机的可靠性。
(2)软件介入的实时性问题
智能电子系统是一个由软件驱动的电子系统。软件介入后,嵌入式系统在激励、响应之间增加了一个程序运行环节。由于有了程序运行时间,导致响应的时间滞后,有可能给系统带来非实时响应的可靠性、安全性问题。因此,实时性要求是嵌入式应用系统可靠性设计中必不可少的内容。
(3)嵌入式系统的安全性包容设计
智能电子系统的安全性设计寄希望于精心的可靠性管理设计,然而精心的可靠性管理仍然不能避免软件出错。安全性包容设计是智能电子系统安全设计的重要一环。安全性包容设计是指系统出错后的无害化处理,例如,给机器人设定空间安全路径,越过规定空间时系统死机或返回。高机密武器落入敌人手中自动引爆也是一种安全性包容设计。大众汽车公司机器人伤人事件已经表明机器人安全性包容设计上的失误。
(4)嵌入式系统的可靠性等级
可靠性等级用以区别不同电子系统对可靠性的不同要求。具体应用中的电子系统对系统的可靠性要求千差万别、大相径庭。例如,人们在用计算机办公时,对计算机死机、出错熟视无睹,而将计算机用于工控时须机械加固、电气加固,要严防死机与出错;使用自动洗衣机不必担心安全事故,而航天火箭发射中一个简单的爆炸螺栓引爆系统的任何失误都会造成致命的安全事故。因此,在嵌入式系统的具体应用中,应根据各种安全因子来估算系统可靠性要求等级,然后根据可靠性等级要求,制定可靠性、安全性设计的资金、技术、精力投入强度。
(5)嵌入式系统的可靠性模型
可靠性模型用来描述嵌入式系统的运行体系与影响运行体系中的各种非可靠性因素。众所周知,传统电子系统是一个激励-响应型的应用系统。软件介入后,在激励-响应之间加入了软件运行环节,因此,嵌入式系统是一个激励-软件运行-响应的智能电子系统。为了弄清软件介入后对系统可靠性的影响,应建立起嵌入式系统的可靠性模型,用可靠性模型来指导系统的可靠性、安全性设计。
3 嵌入式系统可靠性设计的可靠性等级
在设计一个具体的嵌入式应用系统时,首先应了解其可靠性要求及可靠性等级。过度投入会增加无谓的成本与研制周期,投入不够则无法保证系统的可靠性。例如,仪表工程师设计一个仪器仪表时,首先要了解其精度要求,未达到精度要求则无法使用,超出精度要求则会浪费资金与精力。
(1)什么是嵌入式系统可靠性等级
在设计具体的嵌入式应用系统时,不同的应用环境有不同的可靠性要求。如智能手机对出错现象熟视无睹,自动生产线上的控制单元出错后会造成重大事故;同样,自动生产线有人值守时,出错后可以及时人工停机,避免出现重大事故。可靠性等级要求包含两方面内容:一是系统的出错概率,二是系统对出错的容忍度。可靠性等级低,则表明系统的可靠性要求低,对出错的容忍度高,允许系统有较高出错概率;反之,则可靠性等级高。
(2)可靠性等级评定标准
根据系统对出错的容忍度、系统的出错概率,归纳出评定因子。系统对出错容忍程度的评定因子有人机耦合度因子与出错安全因子。人机耦合度高,表明有操作者介入,能监视系统状况,并及时纠正;出错安全因子表明系统出错时系统的安全程度,影响系统出错概率的环境因子有机械、电气、气氛等,环境愈恶劣,出错概率愈高。
(3)可靠性等级评定方法
嵌入式系统的可靠性等级是一种模糊等级。在评定某个系统的可靠性要求时,应将各个评定因子(如机械环境、电气环境、气氛环境、人机耦合度、出错容忍度等)依据其出错概率高低,以及对出错容忍程度高低顺序,划分出多个量化区间(如10~1的划分空间)。然后,根据该系统各个评定因子的综合量化数据得分,来确定该系统的可靠性等级。例如火箭分离器,其机械环境、电气环境恶劣,无人机耦合、出错容忍程度极低,量化数据得分高,属高可靠要求的高可靠性等级;智能手机的机械环境、电气环境、气氛环境尚可,人机耦合度高、出错容忍度高,量化数据得分低,属可靠性要求不高的低可靠性等级。
(4)可靠性等级的实用意义
由于可靠性设计必须有相应的软硬件投入。有了可靠性等级概念,企业对自己产品的可靠性设计便能做到心中有数,并制定企业的可靠性标准。对于不同的产品,按其可靠性等级、可靠性因子分析,制定出可靠性设计指导意见。若机械环境恶劣(剧烈振动)、电气环境恶劣(电气干扰、辐射干扰剧烈),则进行机械加固与电气加固;对于生产线无人介入的机器人,应着重加强安全包容性设计等。
4 嵌入式系统可靠性设计的可靠性模型
智能电子系统是一个复杂的数据流系统,应按照激励-软件运行-响应的过程建立起系统可靠性模型,然后根据可靠性模型制定出可靠性设计原则与方法。
(1)嵌入式系统的非实时激励-响应
嵌入式系统由于软件介入,在激励-响应之间有复杂的数据流操作,即时域上的数据传输、空域上的数据操作。例如,在智能手机上触摸到某个图标(系统激励)时,会形成一个代码数据,其后是解码,以及数据流在时空中传输与处理,最终结果以语音及图像的方式呈现出来(系统响应)。正常情况下,有什么激励,就应该有相应的响应状态。激励-响应之间复杂的数据流操作应保证达到这一基本要求。
(2)嵌入式系统的可靠性模型
嵌入式系统的可靠性模型,由激励端、运行空间、响应端构成。即激励端的实时输入激励、过程空间的运行决策、响应端的实时输出控制。正常情况下,系统接收正常激励后,软件有序地运行,然后输出正常响应。然而,实际环境中存在各种干扰,会导致系统出错,出现正常激励下的非正常响应,或非正常激励下的非正常响应。
(3)基于可靠性模型的可靠性设计
嵌入式系统的理想运行状况,但实际运行的嵌入式系统存在众多的内外部干扰,从而导致系统出错。现实环境中的嵌入式系统可靠性模型。现实环境中的嵌入式系统,在激励端,除了正常激励外,还有众多的非正常激励,如触摸输入的误操作、各种电气干扰、机械干扰的误触发;即便是正常激励,由于输入通图2 现实环境中的嵌入式系统可靠性模型道干扰,也会导致非正常输入。在软件运行空间中,有程序缺陷出错的失误、数据转输中及数据处理中各种电气干扰引发的软件失控或操作运行失误情况。在响应端,由于通道干扰,一个正常的程序运行结果也会导致系统的非正常响应。
(4)可靠性设计的唯一性原则
一个理想可靠的嵌入式系统应遵循唯一性原则,即激励的唯一性、过程的唯一性、通道的唯一性、响应的唯一性,以及非唯一性的容错。激励的唯一性,是指激励端能屏蔽所有非正常激励,保证只有唯一的正常激励输入;过程的唯一性,是指程序在时空中运行时只有预先设定的唯一运行路径;通道的唯一性,是指数据流只有唯一的传输路径;响应的唯一性,是指程序运行结果只有唯一的正常响应输出。然而,一个实际的嵌入式系统很难达到理想中的唯一状态,这时应有非唯一的容错与无害化处理,如激励端非正常激励入侵后的容错与无害化处理,运行空间干扰入侵与软件出错的容错与无害化处理,响应端对非正常输出的屏蔽与安全性包容设计等。
结 语
本文中谈及的可靠性、安全性设计的基础,是本质可靠的嵌入式系统。多年来,微电子科学、大规模集成电路工艺、数模混合集成技术、专家知识集成、软硬件产品平台与集成开发环境的不断优化与发展,保证了嵌入式系统有极高的本质可靠性。在这样的环境下,嵌入式应用系统可靠性设计的重点变成了以软件为中心的可靠性、安全性设计