- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用标准文档
文案大全
关于功能安全编程的软件实现方法
Author: Zhanzr21 @ 21ic BBS
功能安全与信息安全其实是两个概念,两者都很重要但相互独立.在汽车电子设计中,两个安全都很重要,但是功能安全往往涉及到很严重的事故,所以显得更为重要.
功能安全-一般使用Safety这个词
信息安全-使用这个词:Security
但是到了中文两者都是安全,本文只涉及到功能安全,也就是前者Safety.
关于功能安全,业界一直在积极研究与推行相关标准.比如IEC,VDE.应该说功能安全的研究与发展永远不会停止,因为没有任何一种设计能够达到百分百的绝对安全标准.
功能安全与EMC测试联系较为紧密,因为电磁辐射会影响其他部件或者使用者的健康,而如何防范EMC噪音也是评价功能安全的一项指标.
兼容IEC,VDE的标准
IEC(International Electrotechnical Commission)是一个非营利,非政府的标准制定组织.IEC制定的标准主要关注安全,性能,环保,电气能效与再生能力.IEC与ISO和ITU有着紧密联系.这些制定的标准不仅包括对硬件的规定也有软件方面的.另外这些标准一般会根据应用场景细化为若干子标准.
除了老资格,国际化的IEC之外,这个领域中比较知名的,认可度较高还有德国的VDE,英国的IET,美国的IEEE.其中VDE还包括一个测试与认证机构专注于软件功能安全方面的前沿性研究.该机构属于德国的国家注册的认证机构.其主要目的在于给各家电子制品厂商提供标准符合与质量检验服务.
IEC的标准中最为人熟知的是IEC 60335-1.这个标准主要覆盖家用或类似场合的电子制品的功能安全与信息安全规范.其原则:被测品应该在各种元器件失效的情况下保持安全.从此标准的角度观察,微控制器(MCU)也属于众多器件之一.如果电子器件影响到最终产品的安全性,那么在连续的两次失效后该制品依然能够保持安全.这意味着该制品必须在微控制器不工作(正在复位或者运行异常)且硬件发生失效的情况下依然能保持安全.
如果安全取决于软件,那么软件被当做第二次失效来考虑.该标准规定了三种软件的安全类型:
Class A: 安全根本不取决于软件
Class B: 软件能够防范不安全的操作
Class C: 软件主动防范特殊危险
一般而言,软件设计中谈到的功能安全都是指的Class B,对于Class C,则需要额外的措施,比如双控制器冗余设计,本文暂不涉及.
是否符合Class B的认定与硬件软件都相关.与微控制器相关的因素被分为两组来考虑:微控制器相关与应用相关.
应用相关的部分依赖于用户的应用结构,必须由用户负责(通信,IO控制,中断,模拟输入与输出),微控制器相关的部分则纯粹与微控制器的结构相关,能够以一般的方法来进行(内核自诊断,挥发性与非挥发性存储器完整性检查,时钟系统测试等等).
对于英飞凌的微控制器产品来讲,微控制器部分的测试有着强大的硬件功能支持.比如Lock-Step内核的设计能够防范极为难以追钟的主控制器失效,Aurix系列的处理器都有丰富的存储器ECC校验功能,还有看门狗,SMU等等.
需要注意的是,除了IEC之外,还有数家其他机构在此领域的标准也是业内较为认可的:比如刚刚提到的德国VDE,英国IET,美国IEEE.本文为了篇幅原因,主要描述IEC的标准.其他组织的相关标准的方法与原理与之类似,但是细节可能有所差异.英飞凌的软硬件产品设计过程与此几家机构都有紧密的合作与联系.
与此同时,一些国家自己制定的标准也向国际标准借鉴.比如UL 60335-1, CSA 60335-1与EN-60335-1都是基于IEC 60335-1制定的.
[为甚么一些国家不直接使用国际标准而进行自定标准? 一般而言是为了设定贸易壁垒,保护本国的厂家.这些标准总体来讲跟国际标准非常类似,差别可以说几乎没有.但是认证方法,途径等等有一些本国化的特点.如果要进行本地标准的认证,最好找一些当地的专门从事该业务的机构进行合作.如果产品设计是根据国际标准来的,通过本地化的标准基本是没有问题的,只是要走个流程而已]
图 MCU中被Class B规范考虑的因素
为符合Class B的规范,软件上一般要考虑如下因素:
CPU寄存器测试
时钟监视
RAM功能检测
Flash校验和完整性检测
看门狗自测
栈溢出监视
其中最后两条并非标准明文规定的,但是拥有这两条功能会提高软件的整体健壮性.
这些测试的一般工程实践:
测试项目
工程实践
CPU寄存器测试
启动时检测core寄存器的读写,定期检测栈指针,一旦发生错误立即跳转至Fail Safe处理函数.
程序计数器(PC)
主要由看门狗来防止程序跑飞
寻址与数据路径
此项由RAM功能,Flash完整性测试与栈
文档评论(0)