当前位置:首页 > 单片机 > 单片机
[导读]前面几项抗干扰措施都是针对I/O通道而言的。若干扰信号还未作用到CPU本身,则CPU还能正确地执行各种抗干扰程序;若干扰信号已经通过某种途径作用到CPU上,则CPU就不能按正常状态执行程序,从而引起混乱,这就是通常所说的程序“跑飞”。程序“跑飞”后使其恢复正常最简单的方法是让CPU复位,让程序从头开始重新运行。这种方法虽然简单,但需要人的参与,而且复位不及时。人工复位一般是在整个系统已经瘫痪,无计可施的情况下才不得已而为之的。因此在进行软件设计时就要考虑到万一程序“跑

一、程序“跑飞”

前面几项抗干扰措施都是针对I/O通道而言的。若干扰信号还未作用到CPU本身,则CPU还能正确地执行各种抗干扰程序;若干扰信号已经通过某种途径作用到CPU上,则CPU就不能按正常状态执行程序,从而引起混乱,这就是通常所说的程序“跑飞”。程序“跑飞”后使其恢复正常最简单的方法是让CPU复位,让程序从头开始重新运行。这种方法虽然简单,但需要人的参与,而且复位不及时。人工复位一般是在整个系统已经瘫痪,无计可施的情况下才不得已而为之的。因此在进行软件设计时就要考虑到万一程序“跑

第9章单片机系统的抗干扰技术165

飞”,应让其能够自动恢复到正常状态下运行。

二、指令冗余

程序“跑飞”后往往将一些操作数当作指令码来执行,从而引起整个程序的混乱。采用“指令冗余”是使“跑飞”的程序恢复正常的一种措施。所谓“指令冗余”,就是在一些关键的地方人为地插入一些单字节的空操作指令NOP。当程序“跑飞”到某条单字节指令上时,就不会发生将操作数当成指令来执行的错误。对于MCS 51单片机来说,所有的指令都不会超过3个字节,因此在某条指令前面插入两条NOP指令,则该条指令就不会被前面冲下来的失控程序拆散,而会得到正确的执行,从而使程序重新纳入轨道。通常是在一些对程序的流向起关键作用的指令前插入两条NOP指令,这些指令有RET、RETI、ACALL、LCALL、SJMP、AJMP、JZ、JNZ、JC、JNC、JB、JNB、JBC、CJNZ、DJNZ等。在某些对系统工作状态至关重要的指令(如SETBEA之类)前也可插入两条NOP指令,以保证被正确执行。值得注意的是,在一个程序中“指令冗余”不能过多,否则会降低程序的执行效率。

三、软件陷阱

采用“指令冗余”,使“跑飞”的程序恢复正常是有条件的,首先“跑飞”程序必须落到程序区,其次必须执行到所设置的冗余指令。如果“跑飞”的程序落到非程序区(如EPROM中未用完的空间或某些数据表格区等),或在执行到冗余指令前已经形成一个死循环,则“指令冗余”措施就不能使“跑飞”的程序恢复正常了。这时可采用另一个抗干扰措施,即“软件陷阱”。“软件陷阱”是一条引导指令,强行将捕获的程序引向一个指定的地址,在那里有一段专门处理错误的程序。假设这段处理错误的程序入口地址为ERR,则下面三条指令即组成一个“软件陷阱”:

NOP

NOP

LJMP ERR

“软件陷阱”一般安排在下列四种地方。

1.未使用的中断向量区

MCS 51单片机的中断向量区为0003H~002FH,如果系统程序未使用完全部中断向量区,则可在剩余的中断向量区安排“软件陷阱”,以便能捕捉到错误的中断。如某系统使用了两个外部中断INT0、INT1和一个定时器溢出中断T0,它们的中断服务子程序入口地址分别为FUINT0、FUINT1和FUT0,即可按下面的方式来设置中断向量区:

2.未使用的大片EPROM空间

程序一般都不会占用EPROM芯片的全部空间,对于剩余未编程的EPROM空间,一般都维持原状,即其内容为0FFH。0FFH对于MCS 51单片机的指令系统来说是一条单字节的指令:MOV R7,A。如果程序“跑飞”到这一区域,则将顺利向后执行,不再跳跃(除非又受到新的干扰)。因此在这段区域内每隔一段地址设一个陷阱,就一定能捕捉到“跑飞”的程序。

3.表格

有两种表格:一类是数据表格,供MOVCA,@A+PC指令或MOVCA,@A+DPTR指令使用,其内容完全不是指令。另一类是散转表格,供JMP@A+DPTR指令使用,其内容为一系列的3字节指令LJMP或2字节指令AJMP。由于表格的内容与检索值有一一对应的关系,在表格中间安排陷阱会破坏其连续性和对应关系,因此只能在表格的最后安排陷阱。如果表格区较长,则安排在最后的陷阱不能保证一定能捕捉“跑飞”来的程序,有可能在中途再次“跑飞”,这时只能指望别处的陷阱或冗余指令来捕捉。

4.程序区

程序区是由一系列的指令构成的,不能在这些指令中间任意安排陷阱,否则会破坏正常的程序流程。但是,在这些指令中间常常有一些断点,正常的程序执行到断点处就不再往下执行了,这类指令有LJMP、SJMP、AJMP、RET、RETI,这时PC的值应发生正常跳变。如果在这些地方设置陷阱就有可能捕捉到“跑飞”的程序。例如,对一个累加器A的内容的正、负和零的情况进行三分支的程序,软件陷阱安排如下:

由于软件陷阱都安排在正常程序执行不到的地方,故不会影响程序的执行效率。在EPROM容量允许的条件下,这种软件陷阱多一些为好。

四、WATCHDOG

如果“跑飞”的程序落到一个临时构成的死循环中,冗余指令和软件陷阱都将无能为力,这时可采取WATCHDOG(俗称“看门狗”)措施。

WATCHDOG有如下特性:

(1)本身能独立工作,基本上不依赖于CPU。CPU只在一个固定的时间间隔内与之打一次交道,表明整个系统“目前尚属正常”。

(2)当CPU落入死循环后,能及时发现并使整个系统复位。

在8096系列单片机和增强型8051系列单片机中,已将该系统做入芯片里,使用起来很方便。而在普通型8051系列单片机系统中,必须由用户自己建立。如果要达到WATCHDOG的真正目标,该系统必须包含一定的硬件电路,它完全独立于CPU之外。如果为了简化电路,也可采用纯软件的WATCHDOG系统。

WATCHDOG硬件电路为一独立于CPU之外的单稳部件,可用单稳电路构成,也可用自带脉冲源的计数器构成。CPU正常工作时每隔一段时间就输出一个脉冲,将单稳系统触发到暂稳态,当暂稳态的持续时间设计得比CPU的触发周期长时,单稳态系统就不能回到稳态。当CPU陷入死循环后,再也不去触发单稳系统了,单稳系统便可顺利返回稳态,利用它返回稳态时输出的信号作为复位信号,便可使CPU退出死循环。

图9.12所示为采用硬件电路组成的WATCHDOG。十六进制计数器对振荡电路发出的脉冲计数,当计到第8个脉冲时Q端变成高电平。单片机执行一个从P1.7输出清零脉冲的固定程序,只要每一次清零脉冲的时间间隔小于8个振荡脉冲周期,计数器就总计不到8,QD端就一直保持低电平。如果CPU受到干扰使程序“跑飞”,就无法执行这个发出清零脉冲的固定程序,计数器就会计数到8,使QD端变成高电平,经微分电路C2、R3输出一个正脉冲到单片机8031的RESET端,使CPU复位。此电路中还包括:上电复位(C1、R1)和人工复位(KA,R1,R2)两部分。

图9.12硬件WATCHDOG电路

也可以用软件程序来形成WATCHDOG。例如,可以采用8031的定时器T0来形成WATCHDOG。将T0的溢出中断设为高优先级中断,其它中断均设置为低优先级中断,若采用6 MHz的时钟,则可用以下程序使T0定时约10ms来形成软件WATCHDOG:

软件WATCHDOG启动后系统工作程序必须每隔小于10 ms的时间执行一次MOV TH0,#0E0H指令,重新设置T0的计数初值。如果程序跑飞后执行不到这条指令,则在10ms之后即会产生一次T0溢出中断,在T0的中断向量区安放一条转移到出错处理程序的指令LJMPERR,由出错处理程序来处理各种善后工作。采用软件WATCHDOG有一个弱点,就是如果“跑飞”的程序使某些操作数变成了修改T0功能的指令,则执行指令后软件WATCHDOG就会失效,因此软件WATCHDOG的可靠性不如硬件高。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭