IEC60730
概述
是一种国际性安全标准,用于检测家用电器控制器的安全性能。
由IEC(国际电工委员会)、UL(美国保险商实验室)及CSA(加拿大标准协会)颁布的全球公认标准指定了当前安全建议和要求,并被TUV及VDE(大部分在欧洲)、UL及CSA(目 标市场在美国和加拿大)等机构归入依从性、验证及认证程序。
该标准适用范围
1.1 In general, this standard applies to automatic electrical controls for use in, on, or in association with equipment for household and similar use, including controls for heating, air-conditioning and similar applications. The equipment may use electricity, gas, oil, solid fuel, solar thermal energy, etc., or a combination thereof.
1.1.1 This standard applies to the inherent safety; to the operating values, operating times, and operating sequences where such are associated with equipment safety; and to the testing of automatic electrical control devices used in, or in association with, household or similar equipment. This standard is also applicable to controls for appliances within the scope of IEC 60335-1. Throughout this standard the word “equipment” means “appliance and equipment.” This standard does not apply to automatic electrical controls intended exclusively for industrial applications unless explicitly mentioned in the relevant part 2. This standard is also applicable to individual controls utilized as part of a control system or controls which are mechanically integral with multifunctional controls having non-electrical outputs. Automatic electrical controls for equipment not intended for normal household use, but which nevertheless may be used by the public, such as equipment intended to be used by laymen in shops, in light industry and on farms, are within the scope of this standard. See also annex J.
1.1.2 This standard applies to automatic electrical controls, mechanically or electrically operated, responsive to or controlling such characteristics as temperature, pressure, passage of time, humidity, light, electrostatic effects, flow, or liquid level, current, voltage, acceleration, or combinations thereof.
1.1.3 This standard applies to starting relays, which are a specific type of automatic electrical control, intended to switch the starting winding of a motor. Such controls may be built into, or be separate from, the motor.
1.1.4 This standard applies to manual controls when such are electrically and/or mechanically integral with automatic controls
1.2 This standard applies to controls with a rated voltage not exceeding 690 V and with a rated current not exceeding 63 A.
1.3 This standard does not take into account the response value of an automatic action of a control, if such a response value is dependent upon the method of mounting the control in the equipment. Where a response value is of significant purpose for the protection of the user, or surroundings, the value defined in the appropriate household equipment standard or as determined by the manufacturer shall apply.
1.4 This standard applies also to controls incorporating electronic devices, requirements for which are contained in annex H. This standard applies also to controls using NTC or PTC thermistors, requirements for which are contained in annex J.
Class B
概述
B类 – 用于防止受控设备的不安全运行。Class B 适用于大部分的家电产品,包括吊扇、洗衣机、电冰箱、冰柜等。
设计结构
- 单通道,功能检测
- 单芯片执行用户设计的应用前,执行单芯片功能测试,以确保所有关键功能能正常运行
- 目前的主流
- 单通道,定期自检
- 单芯片会定期自我检查电子控制设备的所有关键功能
- 大多数制造商正在尝试的项目,势必为未来趋势
- 双通道,相互验证
- 使用两颗或两颗以上的单芯片,独立运行至关键功能前相互验证其各自的工作
- 硬件成本大,通讯复杂
检测项目
- CPU寄存器和程序计数器——检查故障状态
- Flash——检查非易失性储存器中的所有单一位故障
- RAM和内存地址——检查程序计数器中的滞留位
- 内部数据路径——检查数据总线和地址总线的滞留位
- 中断处理与执行——验证中断是否发生并以预期速率处理程序
- 时钟——检测系统时钟频率的精准度,确认是否有意外的偏差
- 对外通讯——验证所传输的数据以及通信序列与时序是否正确
- 输入/输出外设——验证输入/输出是否符预期以及信号是否正确连接
1、检测项目-CPU
1、1 CPU缓存器
概述
CPU缓存器是MCU中最重要的部分,由于必须正确操作,因此进行测试是必要的。在自检程序中,需检测缓存器中是否有滞留位以及是否存在耦合故障。
测试方法
故障检测的方式是使用静态储存器测试或是带奇偶校验的数据保护措施进行功能测试或定期自检。基本的检测方式会在测试前先将缓存器的内容堆栈,待测试后恢复缓存器原有内容。堆栈完毕后,开始进行检测,先将缓存器设置为已知值并验证其正确性,接着强制改变缓存器位的改变,并再次验证缓存器内容是否正确,若不正确,则改变错误旗标。测试完毕后,将原有内容恢复至缓存器。
1、2 CPU计数器
概述
要让用户设计的软件顺利的在MCU上运行,程序计数器正常运行的状态十分重要,且因为对程序计数器直接测试的方式都依赖于程序计数器才能正常工作。在自检程序中,需检测缓存器中是否有滞留位。
测试方法
检测方法包含了独立时隙监视及程序序列的逻辑监视的功能测试或定期自检。目前市面上的产品大多采用看门狗对应用程序进行间接时隙监视。当程序计数器发生故障时,看门狗能够在监测时间点发现错误,进而使器件复位。
2、检测项目-中断处理与执行
概述
大多数的应用程序都依赖于中断进行操作,因此验证中断是否在预期的时间内发生并采取对应的处理,是很重要的一件事。在自检程序中,需验证中断是否发生并以预期速率处理程序。
测试方法
中断的功能测试大多采用时隙监视。采用时隙监视的方式,是因为有助于使用家电时检测错误操作,且任意的中断测试还会间接测是中断控制器。在实际测试时,可透过定时器设定指定时间间隔触发中断进行测试。例如:使用RTC设定中断为1s,使用系统时钟的中断为1ms,当RTC中断下一次触发时,使用系统时钟的中断计数器应增加1000。
3、检测项目-时钟
概述
为了确定单芯片拥有正确的时序执行预期的工作指令,必须验证系统时钟的频率是否符合规范。在自检程序中,需检测系统时钟频率的精准度,确认是否有意外的偏差。
测试方法
频率的检测或时隙监视,必须验证检测到的震荡频率部会导致单芯片正常运行时出现问题。可透过外部时钟讯号或实时计数器(RTC)触发,实现参考时钟与系统时钟的频率比较。
4、检测项目-FLASH
概述
在单芯片中,Flash内存常用于储存单芯片的设置与常量等参数,为了确保单芯片的安全运行,必须检查这些非易失性储存器是否损坏。在自检程序中,需检测非易失性储存器中的所有单一位故障。
测试方法
检测的方式可使用单个或多个校验和的方式,或是单一位的数据冗余的定期自检。例如:CRC校验、March测试,这些检测方式可用于定期检查储存器的完整性。单芯片自检的方式则可以参考储存器访问冲突检测,用来确认任何错误或不可预知的储存器访问。常见的作法是利用CRC校验法,将数据输入后生成可用于检测错误的输出校验和,透过计算与储存(前一笔)的校验和进行比较,若不为相同的结果,则表示存在错误。
5、检测项目-RAM和内存地址
概述
要让用户设计的软件顺利的在MCU上运行,程序计数器正常运行的状态十分重要,且因为对程序计数器直接测试的方式都依赖于程序计数器才能正常工作。在自检程序中,需检测程序计数器中的滞留位。
测试方法
检测方法包含了March测试、独立时隙监视及程序序列的逻辑监视的功能测试或定期自检。目前市面上的产品大多采用看门狗对应用程序进行间接时隙监视。当程序计数器发生故障时,看门狗能够在监测时间点发现错误,进而使器件复位。另外也可以使用March测试法来进行测试,简单的来说,就是将所有的内存位置填成0或1,然后逐步地一一进行读值验证,在更换填值换一个读取的起点开始一一读值测试,若读出来的参数跟事先填入的数值不同则代表内存该地址的存取有错误。
6、检测项目-内部数据路径
概述
在单芯片中,内部数据路径是指数据在CPU内部的传输和处理过程,包括数据总线和地址总线。数据总线是用于在CPU和内存之间传送数据的一组线路,它的位数决定了CPU一次能够处理的数据量。地址总线是用于在CPU和内存之间传送地址的一组线路,它的位数决定了CPU能够寻址的内存空间大小。为了确保单芯片的安全运行,必须检查内部数据路径是否正常。在自检程序中,需检测程序计数器的滞留位。
测试方法
检测的方式可使用单个或多个校验和的方式,或是单一位的数据冗余的定期自检。例如:CRC校验、March测试,这些检测方式可用于定期检查储存器的完整性。单芯片自检的方式则可以参考内部数据路径检测,用来确认数据总线和地址总线的滞留位。常见的作法是利用数据总线和地址总线的测试模式,将特定的数据和地址分别写入和读出,比较是否与预期的结果一致,若不一致,则表示存在错误。
7、测试项目-对外通讯
概述
与外部设备进行通讯是许多应用的重要组成之一,但潜在的故障率也相对来的高,因为通讯非常容易受到其他电磁波或讯号源的干扰,且通讯的任一端都有可能出现工作异常的状况,透过验证对外通讯的运行可以避免其中一端设备故障时,另一端设备也出现故障。在自检程序中,需验证所传输的数据以及通信序列与时序是否正确。
测试方法
检测数据传输的运行状态时,可使用传输冗余或是数据冗余,数据冗余例如CRC校验、汉名码或协议测试。最基本的是传输冗余是在正式数据传输前先发送与接收两笔传输内容,防止输入/输出讯息中的巧合或系统性错误,该传输测试至少需连续传输成功两次以上进行比较。
8、测试项目-输入/输出外设
概述
所有的应用开发都会使用到仿真或数字的输入/输出,以便检测外部设备或单芯片本身的故障。。在自检程序中,需验证输入/输出是否符预期以及信号是否正确连接。。
测试方法
在软件中验证是否获得了预期的输入,并能在任何给定时间提供所需的输出。
STM32 Class B软件包
软件包结构
HAL驱动、CMSIS驱动、通用STL栈特定测试(重点)
软件包支持
- CPU测试
- FLASH测试
- RAM测试
- 时钟测试
…等待更新