您的位置 首页 汽车

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

自2007年起,家电厂商的所有新设计必须遵守IEC60335安全标准。为确保家电设备安全可靠,特别是设备故障不能威胁用户的人身安全,这套新

  自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存储器内容被铲除(因而,又称为‘破坏性测验’)。

  复位后履行March测验不会发生特别的问题。除稍微下降开机速度外,没有什么实践缺陷,因为嵌入式SRAM很小,开机速度下降乃至都不会被留意到。

  相反,假如在运转期间重复这个测验,或许会发生很大的问题。首要,测验有必要通明:运用无需特定的协议即可处理RAM,如同没有测验相同。实践而言,这添加了下列条件:

  · 测验有必要是一个中止处理程序(ISR),且给予最高的处理优先级,可制止运用程序在测验过程中拜访数据。

  · 有必要装备缓存,以便提早备份被查验的RAM内容,最终在运用使命从头运转前康复RAM内容。显着,也有必要定查验证缓存。

  其次,运用使命暂停时刻不宜过长。该测验一般分为若干个小测验,以约束占用顶层使命的时刻。一次测验的地址不得少于3个接连地址(这是耦合毛病测验覆盖率的硬性要求),这表明不少于30次接连的March C算法读写操作。

  尽管实践运用证明该解决计划作用不错,并且在业界非常盛行,但仍是存在不少的缺陷。

  咱们先从软件工程视点剖析这些问题。结构化编程的长处略过,只剖析相关的限制性问题:

  · 封装问题:C模块有必要将部分内部变量进步至大局变量,不再承受编译器参照跨模块拜访进行的完好校验。

  · 低使命隔离度和低模块化:测验对每个安全要害的软件模块强制进行拜访测验,使添加新功用变得愈加杂乱。

  假如将数据损坏的机率与读写次数联络在一起,该解决计划的数据损坏危险是比较高的。尽管逆向冗余存储安全要害变量可下降危险,但一起也会扩展存储器B类测验的容量。

  从微操控器资源视点看,测验代码占用ROM和RAM空间,以及CPU带宽:除正常处理使命外,假如内核暂时无法吸纳测验负荷,就有必要在家电运转要害阶段中止测验。

  最终,运转时RAM校验会影响实时呼应性(或许推迟乃至暂停其它中止处理程序),并或许与低延时或紧迫使命要求抵触。测验程序的代码长度无法最小化:耗合毛病测验对被测接连存储地址的数量有下限要求。假如软件有必要办理地址解扰,使其契合存储器物理布局,则杂乱度更高。图1所示是软件怎么在运转时处理部分RAM测验。

  IEC60730规范另供给一个由硬件校验位组成的解决计划。尽管这是一个规范的DRAM存储器流程,可是很少用于通用微操控器。不过,先进的芯片制程节点使得该办法更具本钱效益。

  硬件测验解决计划的实质是在每个存储地址添加一个校验位:存储器每写一次,核算一次校验位,并将校验位核算值与数据存储在一起。当读取数据时,相同核算校验值,然后与参考值比照,如图2所示。假如数值不同,不管是数据损坏仍是校验位损坏,中止或反常信号线都会置位。处理器内核将运用一个专用安全中止处理程序处理过错,并封闭家电的电源。第二步,内核或许重启运用(热复位)或中止家电运转,一起显现检修代码。

  该解决计划的优势非常显着。B类RAM校验变得彻底通明:

  · 不影响软件开发办法

  · 不用开发某一个微操控器厂商专用的测验程序,只需开发一个在任何状况下都会呈现的大局毛病处理函数

  · 无需专用的RAM分区和链接脚本

  · 不占用CPU带宽(校验不会添加存储器读操作推迟)

  · 最优的实时功用

  最终一个优势是该解决计划在发动时无需进行完好的RAM校验,并且在上电复位后,寄偶校验当即激活,因而下降了引导时刻。

  因为具有高能效、静音运转、高可靠性的特色,无刷电机被广泛用于家电,可是需求杂乱的操控算法和专用的PWM外设,需求特别留意毛病防护和安全关机。因而,RAM校验机制可进步可靠性和呼应性,不是用软件办理安全封闭功用,而是直接向PWM外设发送校验过错信号,主动触发紧迫停机功用,避免体系时钟和软件相关的推迟。图3所示框图描绘了一个有用的解决计划。

  还有必要留意体系的其它要害参数。电源监控体系能够设置电压,假如Vdd 电压降至预设电压值,体系将宣布一个中止指令。相同,时钟安全体系查看主时钟运转是否正常,假如呈现反常,则宣布一个中止指令。此外,当发僵硬毛病、在NMI处理程序内部呈现过错或许在引导过程中发生总线毛病时,Cortex内核进入锁维护时态,在芯片级供给一个状况显现信号。这三个事情以及校验值兼并,发生一个内部紧迫关断信号,信号自身与外部断路(break)输入进行或运算。

  该规范还需求一个防失效时钟电路。当晶振失效时,时钟安全体系外设(CSS)可主动将主时钟切换到内部高速振荡器,然后完成部分防失效功用。此外,还需求一个经过比照外部估计频率与内部频率来监督外部时钟的办法。实时时钟定时器可由LSI (内部低速)阻容振荡器驱动,以便精确地丈量主体系时钟,发现晶体副谐波引起的50%的改变。在体系级,这可节约50/60Hz电网过零检测电路的本钱。

  该规范提出一个独立的时隙监督计划,避免CPU在程序计数器毛病时失控,这是看门狗定时器的责任,大都微操控器均内置看门狗。可是,规范规则看门狗有必要彻底独立。因而,意法半导体的32位Cortex-M STM32系列微操控器有两个看门狗:第一个窗口看门狗运用主时钟;第二个看门狗运用独立的内部振荡器,经过闪存内的选项字节发动。这种规划可保证在晶体失效时,不管时钟电路装备怎么,都能保证至少有一个看门狗在运转。

  最终,微操控器还内置一个32位硬件CRC核算器,可大幅加速闪存内容完好性查看,一起将相关CPU负荷(在运转时占用的时刻)降至可忽略不计的水平。该外设乃至能够用DMA操控器驱动。在微操控器运转期间,闪存数据完好性查看可在后台进行。

  硬件校验长期以来只用于核算机DRAM模块和高可靠性体系。该办法被引入嵌入式商场的通用微操控器,如根据Cortex-M0的STM32F0x产品,跟着体系监控和安全功用数量日益添加,该计划可简化产品认证、安全开发的履行,最重要一点是使家电变得更安全。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/319022.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部