自2007年起,家电厂商的所有新设计必须遵守IEC60335安全标准。为确保家电设备安全可靠,特别是设备故障不能威胁用户的人身安全,这套新标准涉及十分广泛的内容,从机械系统到嵌入电子元器件均有明确规定。
电子部分参照另一个标准,即适用于各种应用领域的IEC60730自动电子控制标准。对于嵌入式系统开发人员,附件H对于嵌入式系统开发人员尤为重要,因为该附件是关于可编程器件。白色家电通常使用多个微控制器:一个微控制器负责管理控制台,另一个管理阀门和电机控制。
根据设备故障导致的危险程度,该标准将软件分为A、B、C三类。如果家电安全不依靠软件,则该家电属于A类,如室内温控器或照明控制器。相反,如果软件用于防止安全隐患,如电子点火燃气灶归为C类。本文不探讨C类。电子控制系统防止不安全操作的家电多数属于B类,如洗衣机,其安全隐患与电控门锁或电机热关断有关。
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存储器内容被清除(因此,又称为‘破坏性测试’)。