新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 如何用低成本ARM Cortex-M微控制器让家电变得更安全

如何用低成本ARM Cortex-M微控制器让家电变得更安全

作者:时间:2013-06-05来源:网络收藏

自2007年起,厂商的所有新设计必须遵守IEC60335标准。为确保设备可靠,特别是设备故障不能威胁用户的人身,这套新标准涉及十分广泛的内容,从机械系统到嵌入电子元器件均有明确规定。

本文引用地址:http://www.eepw.com.cn/article/170481.htm

电子部分参照另一个标准,即适用于各种应用领域的IEC60730自动电子控制标准。对于嵌入式系统开发人员,附件H对于嵌入式系统开发人员尤为重要,因为该附件是关于可编程器件。白色通常使用多个微:一个微负责管理控制台,另一个管理阀门和电机控制。

根据设备故障导致的危险程度,该标准将软件分为A、B、C三类。如果家电安全不依靠软件,则该家电属于A类,如室内温控器或照明。相反,如果软件用于防止安全隐患,如电子点火燃气灶归为C类。本文不探讨C类。电子控制系统防止不安全操作的家电多数属于B类,如洗衣机,其安全隐患与电控门锁或电机热关断有关。

如何用低成本的ARM Cortex-M微控制器让家电变得更安全

IEC60730附件H的表格 H.11.12.7 列出了B类和C类软件需测试的微控制器元器件、需检测的故障和接受的安全措施,检测内容包括监视CPU(寄存器和程序计数器)、中断(处理和执行)和时钟频率,检验易失性存储器(RAM) 、非易失性存储器(闪存和 EEPROM)、外部通信以及外设。

这些检测均在微控制器引导过程中甚至在系统执行代码前完成,主要原因是RAM测试具有‘破坏性’,可导致初始化的变量损坏。

在RAM检测中,标准要求B类设备定期做单一位DC故障检测(如嵌入存储器固定故障或耦合故障)。因为多数入门级微控制器的SRAM无校验位,所以该检测必须由软件来完成。March算法通过限定数量的测试来发现这些故障,March C测试最适合B类(使用10N次测试,N为被测试存储地址的数量),但是March X(6N次测试)在某些特定情况也被测试机构接受。测试完成后,RAM存储器内容被清除(因此,又称为‘破坏性测试’)。

复位后执行March测试不会产生特别的问题。除略微降低开机速度外,没有什么实际缺点,因为嵌入式SRAM很小,开机速度降低甚至都不会被注意到。

相反,如果在运行期间重复这个测试,可能会产生很大的问题。首先,测试必须透明:应用无需特定的协议即可处理RAM,好像没有测试一样。实际而言,这增加了下列条件:

· 测试必须是一个中断处理程序(ISR),且给予最高的处理优先级,可禁止应用程序在测试过程中访问数据。

· 必须配备缓存,以便提前备份被检验的RAM内容,最后在应用任务重新运行前恢复RAM内容。显然,也必须定检验证缓存。

其次,应用任务暂停时间不宜过长。该测试通常分为若干个小测试,以限制占用顶层任务的时间。一次测试的地址不得少于3个连续地址(这是耦合故障测试覆盖率的硬性要求),这表示不少于30次连续的March C算法读写操作。

虽然实际应用证明该解决方案效果不错,而且在业界十分流行,但还是存在不少的缺点。

我们先从软件工程角度剖析这些问题。结构化编程的优点略过,只分析相关的局限性问题

我们先从软件工程角度剖析这些问题。结构化编程的优点略过,只分析相关的局限性问题:

· 封装问题:C模块必须将部分内部变量提高至全局变量,不再接受编译器参照跨模块访问进行的完整校验。

· 低任务隔离度和低模块化:测试对每个安全关键的软件模块强制进行访问测试,使增加新功能更加复杂。

光电开关相关文章:光电开关原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭