- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1-9-抗干扰技术课件
9.3 软件抗干扰措施 引言 9.3.1 指令冗余技术 9.3.2 软件陷阱技术 * 引言 首先是在控制系统的输入输出通道中,采用某种计算方法对通道的信号进行数字处理,以削弱或滤除干扰噪声,如数字滤波方法。这是一种廉价而有效的软件程序滤波,在控制系统中被广泛采用。 而对于那些可能穿过通道而进入CPU的干扰,可采取指令冗余、软件陷阱以及程序运行监视等措施来使CPU恢复正常工作。 * 9.3.1 指令冗余技术 当计算机系统受到外界干扰,破坏了CPU正常的工作时序,可能造成程序计数器PC的值发生改变,跳转到随机的程序存储区。 当程序跑飞到某一单字节指令上,程序便自动纳入正轨;当程序跑飞到某一双字节指令上,有可能落到其操作数上,则CPU会误将操作数当操作码执行;当程序跑飞到三字节指令上,因它有两个操作数,出错的机率会更大。 为了解决这一问题,可采用在程序中人为地插入一些空操作指令NOP或将有效的单字节指令重复书写,此即指令冗余技术。由于空操作指令为单字节指令,且对计算机的工作状态无任何影响,这样就会使失控的程序在遇到该指令后,能够调整其PC 值至正确的轨道,使后续的指令得以正确地执行。 * 但我们不能在程序中加入太多的冗余指令,以免降低程序正常运行的效率。一般是在对程序流向起决定作用的指令之前以及影响系统工作状态的重要指令之前都应插入两、三条NOP指令,还可以每隔一定数目的指令插入NOP指令,以保证跑飞的程序迅速纳入正确轨道。 指令冗余技术可以减少程序出现错误跳转的次数,但不能保证在失控期间不干坏事,更不能保证程序纳入正常轨道后就太平无事了。解决这个问题还必须采用软件容错技术,使系统的误动作减少,并消灭重大误动作。 * 9.3.2 软件陷阱技术 指令冗余使跑飞的程序安定下来是有条件的,首先跑飞的程序必须落到程序区,其次必须执行到冗余指令。当跑飞的程序落到非程序区(如EPROM中未使用的空间、程序中的数据表格区)时,对此情况采取的措施就是设立软件陷阱。 软件陷阱,就是在非程序区设置拦截措施,使程序进入陷阱,即通过一条引导指令,强行将跑飞的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的程序。如果我们把这段程序的入口标号称为ERROR的话,软件陷阱即为一条?JMP ERROR指令。为加强其捕捉效果,一般还在它前面加上两条NOP指令,因此真正的软件陷阱是由3条指令构成: * NOP NOP JMP ERROR 软件陷阱安排在以下四种地方:未使用的中断向量区,未使用的大片ROM空间,程序中的数据表格区以及程序区中一些指令串中间的断裂点处。 由于软件陷阱都安排在正常程序执行不到的地方,故不影响程序的执行效率,在当前EPROM容量不成问题的条件下,还应多多安插软件陷阱指令。 * 9.4 程序运行监视系统 引言 9.4.1 Watchdog Timer工作原理 9.4.2 Watchdog Timer实现方法 * 引言 工业现场难免会出现瞬间的尖峰高能脉冲干扰,可能会长驱直入作用到CPU芯片上,使正在执行的程序跑飞到一个临时构成的死循环中,这时候的指令冗余和软件陷阱技术也无能为力,系统将完全瘫痪。此时必须强制系统复位,摆脱死循环。 由于操作者不可能一直监视系统,这就需要一个独立于CPU之外的监视系统,在程序陷入死循环时,能及时发现并自动复位系统,这就是看守大门作用的程序运行监视系统,国外称为“Watchdog Timer”,即看门狗定时器或看门狗。 * 9.4.1 Watchdog Timer工作原理 为了保证程序运行监视系统的可靠性,监视系统中必须包括一定的硬件部分,且应完全独立于CPU之外,但又要与CPU保持时时刻刻的联系。因此,程序运行监视系统是硬件电路与软件程序的巧妙结合。 * CPU可设计成由程序确定的定时器1,看门狗被设计成另一个定时器2,它的计时启动将因CPU的定时访问脉冲P1的到来而重新开始,定时器2的定时到脉冲P2连到CPU的复位端。两个定时周期必须是T1<T2,T1就是CPU定时访问定时器2的周期,也就是在CPU执行的应用程序中每隔T1时间安插一条访问指令。 图9-30 * 在正常情况下,CPU每隔T1时间便会定时访问定时器2,从而使定时器2重新开始计时而不会产生溢出脉冲P2;而一旦CPU受到干扰陷入死循环,便不能及时访问定时器2,那么定时器2会在T2时间到达时产生定时溢出脉冲P2,从而引起CPU的复位,自动恢复系统的正常运行程序。 图9-30 * 9.4.2 Watchdog Timer实现方法 以前的Watchdog Timer硬件部分是用单稳电路或自带脉冲源的计数器构成,一是电路有些复杂,二是可靠性有些问题。美国Xicor公司生产
文档评论(0)