当前位置:首页 > 工业控制 > 电子设计自动化
[导读]MCU在工作时会受到干扰,在一些空间场合,可能遇到粒子轰击而产生稳态的翻转,即所谓single event upset

1 发生错的原因与现有对策

MCU在工作时会受到干扰,在一些空间场合,可能遇到粒子轰击而产生稳态的翻转,即所谓single event upset。而一般工业场合是电源传导干扰,受干扰时,电源电压会瞬间超出或者略微超出MCU的名义工作电压,线路的稳定性就无法保证。由于各单个逻辑电路工艺过程中总会有微小差异,电源电压的略微超出会在最弱的逻辑电路中造成指令读错误和数据读写错误。这种错误最终表现为数据的错误。

国外对DRAM出错的研究已做得很多,在参考文献中转述了出错的概率:“谷歌(Google)使用了大量服务器,2009年的大规模统计。出错的概率是2.5~7×10-11error/bit/h。”即8G RAM每小时会有5个错。

现在对于有功能安全要求的系统,安全等级为SIL2时,出错的概率应小于10-7”/h。现在控制器所用的MCU的Flash与RAM的大小已达128 K~1 Mb,参考上述概率,如果缺少程序的保护,将会有1M×7×10-11 error/h=7×10-5 error/h,这远大于功能安全要求的出错概率。

从功能安全的角度,系统中任何影响功能的错误都是应该被检测出来的,如果这个错误危及人类生命或造成设备的重大损失,那么就必须有防范的措施,必要时就必须纠正错误。然而要达到这种要求是很难的,需要付出很大的代价。以数据错误为例,人们常常重复计算多次,然后把占多数的结果代表正确的结果。这样,数据分享前的结果都要经表决,否则发现错会太晚,影响一致性。这就需要更多的硬件资源与开发成本。即便如此,如果作为表决器的环节仍是MCU的一个程序,它仍然可能会受错误指令的干扰,未能完全拦住错误。

为了节省成本,更多的应用并没有采用这种冗余与表决的方法。它们往往以不死机作为目标,只要不死机,由控制对象来的新信息就可以重算出新的正确结果。即使上一次算出的错了,其后果也只延续了一个采样周期。这种策略对有累积效应的应用是无效的,就像参考文献中讨论的积分功能会失败。又如运行结果与过程密切相关的应用,例如可编程控制器(PLC),数据的错误会导致控制逻辑的混乱。

保证不死机的主要措施是采用看门狗技术,如果程序走飞,在一定时间内没有复位计时器,计时器就会溢出,产生MCU的重新启动,重新初始化可以纠正损坏了的数据。看门狗技术是不管数据正确性的,因为指令错了程序未必走飞,而指令错了数据错的可能性极大。

2 错误现象与错误校正方案

MCU的指令在读取时发生错误就会产生不同的执行结果,在参考文献中以8051的MOV指令为例,当有一位读错时就变成跳转、除法、减法、交换、增1等等指令。实际上大部分MCU都会有指令错而执行结果错的问题,因为这些指令内没有检验错的机制。MC68HC11的LDA指令有1位错时可能转为加法、减法、送立即数到累加器B、送状态存器、送堆栈指针等指令。

假定数据字用D表示,生成多项式用G表示,Gm为最高阶的系数,等于1。那么习惯的做法在除到Dn位时,判断Dn值。若Dn=1,则将G和D的对应位对齐,用模2加法求取余数,Mn-i=Dn-i+Gm-i,用余数Mn-i代替原来的Dn-i移位。如果Dn=0,则不做加法,Mn-i=Dn-i,然后移位,也可以说用余数Mn-i代替原来的Dn-i移位。我们的目的是直接由D来产生余数,所以做了修改。修改方法是,当对齐后的Gm- i=1时,取Mn-i=Dn-i+Dn。当Gm-i=0时,对应项不做模2加。现在证明这两种方法是等效的:

Dn=0,Gm-i=0时,习惯方法Mn-i=Dn-i;修改方法Mn-i=Dn-i。

Dn=0,Gm-i=1时,习惯方法Mn-i=Dn-i;修改方法Mn-i=Dn-i+Dn=Dn-i。

Dn=1,Gm-i=0时,习惯方法Mn-i=Dn-i+Gm-i=Dn-i;修改方法Mn-i=Dn-i。

Dn=1,Gm-i=1时,习惯方法Mn-i=Dn-i+Gm-i=Dn-i+1;修改方法Mn-i=Dn-i+Dn=Dn-i+1。

现在对G=X4+X+1时8位指令的数据字用修改方法求取CRC各位的值,为了阅读方便,将数据字的各位用数字代表,例如7代表D7。参与模2加的各位就以各数字连写在一起。例如CRC的最高一位是7 532,它代表D7、D5、D3、D2的模2加法结果。通过建立真值表,它们最后都可以用组合逻辑来实现,所以在取指完成后就立即可以判出是否有错。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭