IEC60730-1 Annex-H

IEC-60730安全标准法规由国际电工委员会 ( IEC ) 制定,该安全标准定义了家用电器嵌入式控制软件与硬件安全操作的测试与检测方法,以确保家电中受控设备的安全操作。IEC-60730将家用电器分为3类:

A类 – 不用于确保设备的安全性。 例如:照明控制、湿度控制等。

B类 – 用于防止受控设备的不安全运行。 例如:洗衣机、电冰箱等。

C类 – 用于防止特殊危险,如受控设备爆炸等用途。 例如:自动燃烧器、燃气型烘干机等。

本文为 Class B 要项说明,Class B 适用于大部分的家电产品,包括吊扇、洗衣机、电冰箱、冰柜等。

一、IEC-60730 Class B测试条件

在IEC-60730中,自动化电子控制设备的制造商,必须使用下述说明的结构设计其软件:

1. 道,功能检测。

在单芯片执行用户设计的应用前,执行单芯片功能测试,以确保所有关键功能能正常运行。

2. 单通道,定期自检。

在单芯片执行用户设计的应用时,单芯片会定期自我检查电子控制设备的所有关键功能,且避免与用户设计的应用操作产生冲突。

3. 双通道,相互验证。

在双通道的架构下,使用两颗或两颗以上的单芯片,独立运行至关键功能前相互验证其各自的工作。例如:洗衣机的安全锁在解开前,一颗单芯片控制马达停止,一颗单芯片检查转筒转速以验证其已停止。

"双通道,相互验证"需要两颗单芯片,增加了硬件成本,且两颗单芯片间的相互通讯增加其复杂度,大多应用于与生命攸关的电子控制系统上,例如:航空运输工具、汽车等。目前市面上最常见的架构为"单信道,功能检测",因为检测功能的建立相对容易,且不需要在硬件上增加额外的成本。而"单通道,定期自检",则是大多数制造商正在尝试的项目,势必为未来趋势。

国际电工委员会将各类型的商品条列出各项不同的规范,参照附录的说明,可得知电子控制设备需参考附录H。在附录H中,H.11.12.7详述了必须测试的部件,具体测试取决于软件分类,换句话说,每项测试部件都有其验证/测试的选项,方便于制造商的设计,下表列出了 IEC-60730 安全标准法对MCU可能需要考虑的所有项目。

IEC-60730 安全标准法对MCU可能需要考虑的所有项目

二、CPU

2.1 CPU缓存器  测试项目1.1

测试目的:

检测缓存器中的滞留位。

测试说明:

CPU缓存器是MCU中最重要的部分,由于必须正确操作,因此进行测试是必要的。在自检程序中,需检测缓存器中是否有滞留位以及是否存在耦合故障。

测试方法:

故障检测的方式是使用静态储存器测试或是带奇偶校验的数据保护措施进行功能测试或定期自检。基本的检测方式会在测试前先将缓存器的内容堆栈,待测试后恢复缓存器原有内容。堆栈完毕后,开始进行检测,先将缓存器设置为已知值并验证其正确性,接着强制改变缓存器位的改变,并再次验证缓存器内容是否正确,若不正确,则改变错误旗标。测试完毕后,将原有内容恢复至缓存器。

2.2 CPU计数器  测试项目1.3

测试目的:

检测程序计数器中的滞留位。

测试说明:

要让用户设计的软件顺利的在MCU上运行,程序计数器正常运行的状态十分重要,且因为对程序计数器直接测试的方式都依赖于程序计数器才能正常工作。

测试方法:

检测方法包含了独立时隙监视及程序序列的逻辑监视的功能测试或定期自检。目前市面上的产品大多采用看门狗对应用程序进行间接时隙监视。当程序 计数器发生故障时,看门狗能够在监测时间点发现错误,进而使器件复位。

三、中断处理与执行

测试目的:

验证中断是否发生并以预期速率处理程序。

测试说明:

大多数的应用程序都依赖于中断进行操作,因此验证中断是否在预期的时间内发生并采取对应的处理,是很重要的一件事。

测试方法:

中断的功能测试大多采用时隙监视。采用时隙监视的方式,是因为有助于使用家电时检测错误操作,且任意的中断测试还会间接测是中断控制器。在实际测试时,可透过定时器设定指定时间间隔触发中断进行测试。例如:使用RTC设定中断为1s,使用系统时钟的中断为1ms,当RTC中断下一次触发时,使用系统时钟的中断计数器应增加1000。

四、时钟

测试目的:

检测系统时钟频率的精准度,确认是否有意外的偏差。

测试说明:

为了确定单芯片拥有正确的时序执行预期的工作指令,必须验证系统时钟的频率是否符合规范。

测试方法:

频率的检测或时隙监视,必须验证检测到的震荡频率部会导致单芯片正常运行时出现问题。可透过外部时钟讯号或实时计数器(RTC)触发,实现参考时钟与系统时钟的频率比较。

五、内存与内部数据路径

5.1 Flash – 测试项目4.1

测试目的:

检测非易失性储存器中的所有单一位故障。

测试说明:

在单芯片中,Flash内存常用于储存单芯片的设置与常量等参数,为了确保单芯片的安全运行,必须检查这些非易失性储存器是否损坏。

测试方法:

检测的方式可使用单个或多个校验和的方式,或是单一位的数据冗余的定期自检。例如:CRC校验、March测试,这些检测方式可用于定期检查储存器的完整性。单芯片自检的方式则可以参考储存器访问冲突检测,用来确认任何错误或不可预知的储存器访问。常见的作法是利用CRC校验法,将数据输入后生成可用于检测错误的输出校验和,透过计算与储存(前一笔)的校验和进行比较,若不为相同的结果,则表示存在错误。

5.2 RAM及内存地址  测试项目4.2 & 4.3

测试目的:

检测程序计数器中的滞留位。

测试说明:

要让用户设计的软件顺利的在MCU上运行,程序计数器正常运行的状态十分重要,且因为对程序计数器直接测试的方式都依赖于程序计数器才能正常工作。

测试方法:

检测方法包含了March测试、独立时隙监视及程序序列的逻辑监视的功能测试或定期自检。目前市面上的产品大多采用看门狗对应用程序进行间接时隙监视。当程序计数器发生故障时,看门狗能够在监测时间点发现错误,进而使器件复位。另外也可以使用March测试法来进行测试,简单的来说,就是将所有的内存位置填成0或1,然后逐步地一一进行读值验证,在更换填值换一个读取的起点开始一一读值测试,若读出来的参数跟事先填入的数值不同则代表内存该地址的存取有错误。

5.3 内部数据路径  测试项目5.1 & 5.2

测试的内容与方式与上一节RAM及内存地址相似,可参照上述说明进行验证。

六、对外通讯

测试目的:

验证所传输的数据以及通信序列与时序是否正确。

测试说明:

与外部设备进行通讯是许多应用的重要组成之一,但潜在的故障率也相对来的高,因为通讯非常容易受到其他电磁波或讯号源的干扰,且通讯的任一端都有可能出现工作异常的状况,透过验证对外通讯的运行可以避免其中一端设备故障时,另一端设备也出现故障。

测试方法:

检测数据传输的运行状态时,可使用传输冗余或是数据冗余,数据冗余例如CRC校验、汉名码或协议测试。最基本的是传输冗余是在正式数据传输前先发送与接收两笔传输内容,防止输入/输出讯息中的巧合或系统性错误,该传输测试至少需连续传输成功两次以上进行比较。

七、输入/输出外设

测试目的:

验证输入/输出是否符预期以及信号是否正确连接。

测试说明:

所有的应用开发都会使用到仿真或数字的输入/输出,以便检测外部设备或单芯片本身的故障。

测试方法:

在软件中验证是否获得了预期的输入,并能在任何给定时间提供所需的输出。

八、参考文献

1. NXP AN4989 - 对Kinetis E系列MCU实施IEC 60703 B类测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/203823.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入了解Java8新特性-日期时间API之TemporalQuery、TemporalQueries

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概2000多字,预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…

国外客户跟我要佣金,该给不该给?

“Jack,这次你要是不帮我,我就死定了!” 收到美国公司采购Antony的信息时,我有些哭笑不得,因为在我电脑屏幕上除了他的信息外,还有来自他公司监察部门的邮件: “jack先生,我们调查…

PostgreSQL-SQL联表查询LEFT JOIN 数据去重复

我们在使用left join联表查询时,如果table1中的一条记录对应了table2的多条记录,则会重复查出id相同的多条记录。 1、解决方法一 SELECT t1.* FROM table1 t1 LEFT JOIN table2 t2 ON t1.id t2.tid 第一种方法我们发现还是有重复数据 2、解决方法二…

go elasticsearch 测试实例

// 查询列表数据 func QueryOperateList(ctx context.Context, esClient *elastic.Client, index string, pageNum, pageSize int, start, end int64, execSql string, list []interface{}, operateAccount string, operateAddr string, maxRows, minRows int, dbAddr, namespa…

版本控制系统Git学习笔记-Git基本知识介绍

目录 前言一、版本控制系统1.1 什么是版本控制系统1.2 本地版本控制系统1.3 集中化的版本控制系统1.3 分布式版本控制系统 二、Git简介2.1 数据处理方式2.2 几个特点2.2.1 几乎所有操作都是本地执行2.2.2 Git保证完整性2.2.3 Git一般只添加数据 2.3 Git中文件状态2.3.1 三种文件…

抖音直播招聘报白如何提高求职者体验?

为了提升抖音直播招聘报白中求职者的体验,以下是一些建议: 提供清晰的招聘流程和信息。在直播招聘开始之前,企业或人力资源公司应提供清晰的流程和信息,包括直播时间和直播平台, 职位信息,招聘要求等&…

为什么要在项目中使用TypeScript?

随着越来越多的开发人员采用TypeScript,人们需要了解在下一个项目中应该使用TypeScript的原因。尽管它在早期应用中遇到了一些阻力,但在过去十年,它迅速成为一种广泛使用的编程语言。 以下介绍如何使用TypeScript以及它给开发人员带来的一些好…

Java核心知识点整理大全24-笔记

22. 数据结构 22.1.1. 栈(stack) 栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶 (top)。它是后进先出(LIFO)的。对栈的基…

思维模型 仰巴脚效应

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。不完美才美。 1 仰巴脚效应的应用 1.1 “仰巴脚效应”在人际沟通领域的应用 美国总统罗斯福在竞选总统时,曾经有一位歌唱家计划为他举办一场音乐会以助选。然而,这…

波特图频率定位

生产波特图 设置坐标轴到指定位置 截至频率设置到-3db 对应的频率为158.777 Hz 同理就算对应的容抗 为 1002欧姆电阻 通过计算对应的阻抗。 特此记录 anlog 2023年11月30日

瑜伽学习零基础入门,各种瑜伽教学方法全集

一、教程描述 练习瑜伽的好处多多,能够保证平衡健康的身体基础,提升气质、塑造形体、陶冶情操,等等。本套教程是瑜伽的组合教程,共由33套视频教程组合而成,包含了塑身纤体,速效瘦身,四季养生&a…

SpringCloudAlibaba微服务 【实用篇】| Nacos配置管理

目录 一:Nacos配置管理 1. 统一配置管理 2. 配置热更新 3. 配置共享 4. 搭建Nacos集群 tips:前些天突然发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,感兴趣的同学可以进…

InfluxDB相关概念

概念 database:数据库,用来针对于不同应用进行数据隔离measurement:数据库中的表,类似与关系型数据库中 tablepoints:表里面的一行数据。相当于关系库中表中一条记录,由时间戳(time&#xff09…

数据库系统原理——备考计划2:数据库系统的概述

前言: 基于课本、上课ppt、复习总结ppt进行一个知识点的罗列,方便后期高效地复习 目录 前言: 一、基本概念 1.数据: (1)概念: (2)数据的种类: (3&…

VSCode搭建STM32开发环境

1、下载安装文件 链接:https://pan.baidu.com/s/1WnpDTgYBobiZaXh80pn5FQ 2、安装VSCodeUserSetup-x64-1.78.2.exe软件 3、 在VSCode中安装必要的插件 3、配置Keil Assistant插件 4、在环境变量中部署mingw64编译环境

代理注册行业CRM系统:提升客户满意度,增加业绩

代理注册行业客户量大、合同繁多,传统的管理方式不再能够满足代理注册企业的管理需求。为了响应国家的数字化号召,很多代理注册企业开始使用CRM系统。下面就来说说,代理注册行业CRM系统有什么作用? 1、客户信息管理 代理注册行业…

STM32 Nucleo-64 boards 外设资源引脚对应关系图

STM32 Nucleo-64 boards 外设资源引脚对应关系图 1. STM32 NUCLEO-F103RB1.1 串口对应关系图1.2 I2C对应关系图【参考博文】1. STM32 NUCLEO-F103RB 1.1 串口对应关系图 1.2 I2C对应关系图 注意:STM32 NUCLEO-F103RB

服务器数据恢复—EMC存储raid5故障导致上层应用崩溃的数据恢复案例

服务器存储数据恢复环境: EMC某型号存储,8块组建一组raid5磁盘阵列。上层操作系统采用zfs文件系统。 服务器存储故障&分析: raid5阵列中有2块硬盘未知原因离线,raid5阵列崩溃,上层应用无法正常使用。 服务器数据恢…

spring security 艰苦学习中

一、初次感知 1.jwt工具类 密钥secret 有点意思。 2.PasswordEncoder 对密码进行加密,在配置类中返回bean. 下面这个关于加密和解密的东西是有误导性的。

绩效考核管理项目|记录2

给界面添加筛选条件并且把搜索功能实现 这段代码写入搜索方法里面就能实现功能。 private void bingdgv(){//筛选项:用户名、职位代码、是否辞职string userName txtUserName.Text.Trim();int baseTypeId (int)base_cbx.SelectedValue;bool isStop isdel_ckb.Che…