2022年单片机测控系统软件抗干扰技术分析研究.docx





《2022年单片机测控系统软件抗干扰技术分析研究.docx》由会员分享,可在线阅读,更多相关《2022年单片机测控系统软件抗干扰技术分析研究.docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源单片机测控系统软件抗干扰技术争论摘要:软件抗干扰措施是单片机测控系统硬件抗干扰措施的一个补充和延长 ,具有简洁、敏捷、便利、耗费硬件资源少及简洁实现等特点;软件抗干扰技术的使用会显著提高系统的牢靠性;本文着重争论了测控系统中的软冗余技术、软件陷阱技术以及“看门狗 ” 数字滤波技术,重点介绍了实时测控系统软件运行的自监视法和互监视法,并给出了软件抗干扰的其他一般方法;1绪论单片机测控系统设计中,对软件有以下几个方面的基本要求:1 可爱护性:要求尽可能地采纳模块化设计,程序流程清晰明白,最大限度地掌握使用和调用嵌套次数;2 可懂得性:软件源代码应留意加注提示内容,一般应不少于整个代码行
2、数的 60,使其易于懂得和阅读,便于修改和补充;3 实时性:随着集合度和运算速度的提高,实时性已经成为测试系统对软件的普遍要求,在工程应用软件设计中,采纳汇编语言要比采纳高级语言更具有实时性;4 精确性:系统要求在进行大量运算时,要选取合适的算法,以便掌握最终结果的精度;5 牢靠性:牢靠性是测控软件最重要的指标之一,他要求两方面的内容:一方面是运行参数环境发生变化时如电压在规定欢迎下载精品学习资源范畴内显现较大波动 ,软件都能牢靠运行并得出正确的结果, 也就是软件的自适应性;另一方面是在工作环境恶劣,干扰环境复杂严峻的情形下,软件必需保证牢靠运行,这对测控软件尤为重要;为了保证以上两方面的要求
3、,就必需使用多种抗干扰技术;2单片机软件抗干扰技术及一般方法2.1 简 介软件抗干扰技术是当系统受干扰后,使系统复原正常运行或输入信号受干扰后去伪存真的一种帮助方法;此技术属于一种被动抗干扰措施,但是由于软件抗干扰设计敏捷,节约硬件资源, 操作起来便利易行,所以软件抗干扰技术越来越受到人们的重视;软件抗干扰技术主要争论的方面:1 实行软件的方法对叠加在模拟输入信号上的噪声进行抑制,以读取真正有用的信息,如数字滤波器;2 在程序受到干扰 跑飞 的情形下,实行措施使程序回到正常的轨道上来,常见的抗干扰技术有:软件拦截技术软件陷阱等;输人口信号重复检测方法;输出口数据刷新;数字滤波; 3 程序具有自
4、检功能;2.2 软件拦截技术2.2.1 NOP 指令使用单片机中最简洁受到干扰的是内部程序计数器-PC的值,当受到干扰时, PC值被转变, CPU误将程序从正确位置跳转到无意义区域,导致程序运行出错;欢迎下载精品学习资源目前常用的方法是在对程序走向有重要作用的指令RET , L CALL , SJMP, JC, LJMP , ACALL 等之前加人 23个单字节的NOP指令,当失控的程序遇到该指令后得到调整,使接下来的程序得以正常执行;从实际使用过程中总结可知,应尽量多的使用NOP指令,而且发觉 NOP指令成对使用时,能起到比较中意的抗干扰成效;2.2.2 软件陷阱1 未使用的中断区对于未使用
5、的中断源因干扰而开放,从而直接影响软件的正常工作的中断源,采纳的方法一般是在对应的中断服务地址入口处设置软件陷阱,使其跳转到程序入口,通常的软件陷阱设置如下面的程序: 0RG 0003HLJMP 0000H ;主程序入口而在实际使用中,此种处理方法并不合适,特殊是在系统联试中,突然重新执行程序的情形应尽量防止;实际处理应当是让其进入一个信息处理程序,并显示相关信息;这样做既可以使程序捕获到错误的中断后,准时离开,又可以依据相关信息快速定位便于试验顺当进行;如程序所示,只有定时器T0 中断开放,对于可能影响程序的中断,如外部中断、定时器T1 中断,在其中断地址人口,均加上了软件陷阱,使其跳转到E
6、R38 这个故障处理程序,从而防止程序的跑飞,也便于判定程序的 走向;2 未使用的 EPROM 空间欢迎下载精品学习资源当装载软件程序的储备芯片为27C64,其地址空间为 0000H 1FFFFH ,一般程序很少能够用完,可填充FF ;而 FFH是MO VR7, A的机器码,当程序乱入非程序区后,不仅无法转入正轨,而且仍会破坏 R7的内容,因此在实际使用过程对未使用的EPRO M 空间应全部填充为 0 ,由于程序复位入口地址为0000H ,当 跑飞的程序指针跳至无程序处,可以让其重新指向主程序入口,可以起到防 跑飞 的功能;3 程序区为了保证牢靠的运行,以及一旦发生跑飞 ,不但使其有出口而且便
7、于判定,实际应用中在整个程序中设置了如干软件陷阱,当程序进入陷阱后,让其强制进入一个指定地址执行一段特地对程序出错进行处理的程序;通过试验验证和使用中的体会总结,在外场软件编写中,软件陷阱的设置,主要是在正常的程序流程中,在认为较为重要的程序段中,随机设置如干个故障信息显示程序区,一方面是完成正常的故障信息的显示,另一方面就是在程序 跑飞 的情形下,通过故障信息的显示,可以快速判定 跑飞,的程序段,从而使程序步入正轨;程序流程如图1所示;2.2.3 输入口信号重复检测方法对于重要开关量输入信号的检测,实际应用中一般采纳3次或5次重复检测的方法,即对接口中的输人数据信息进行重复进行3次或 5次检
8、测,如结果完全一样就认为是真 的输入信号,如多次测试结果不一样,即可以停止检测显示故障信息,又可以重复进行再检测;对于软件测量而言,输入量干扰大多数是叠加到有效信号上的一系列作用时间短的尖脉冲,但是频率不一样,因此应在相邻欢迎下载精品学习资源的检测之间应有肯定的时间间隔;理论上可以是等时间段的,而在实际使用过程中,由于外部环境比较复杂,等时间段只能滤除某个频段的干扰,为了滤除尽可能多的干扰,间隔时间应为不等的时间段,但是对数据影响较大的尖峰,通过观看其波形可知,其作用的时间宽度在几十到几百s之间,所以把滤波时间限定ms级上;在经过使用和验证,此方法可以有效地保证软件牢靠运行;需要留意的是,对于
9、软件时序要求比较严格场合,延时查询时间不宜过长,查询次数一般以3次为宜;2.2.4 输出端口数据刷新开关量输出软件抗干扰技术主要采纳的方法是重复输出,这是提高输出端口稳固性的有效措施之一;外场设备的微机系统为51单片机系统,采纳了 8155, 8255可编程 I/O 扩展芯片,理论上只在上电启动时,进行初始化一次即可;但是在实际使用中发觉,由于干扰等缘由,可使芯片的工作掌握字遭到破坏,从而使系统输入输出状态纷乱的情形时有发生,因此,在读取重要信号之前,先对 8155, 8255进行初始化操作,通过一段时间软件运行,稳固度大大提高,但是状态纷乱情形仍有发生,经过分析数据特点 和系统要求后,认为
10、8155、8255答应多次设置状态字、掌握字等,而且对系统并无不良影响;因此,在实际应用中,用到8255和8155之前均第一进行初始化操作,然后再进行状态的读取和写入;通过长时间试验和联试,不再显现此类问题,软件运行稳固可靠;另外应留意,在重复设置8255, 8155芯片时,肯定要将其工作方式、掌握字一起设置,方可确保软件牢靠工作;2.2.5 数字滤波为了克服干扰对 A/D 转换结果的影响,可依据情形实行相应的数字滤波技术;数字滤波的方法很多,如有中值滤波法、平均欢迎下载精品学习资源值滤波法等,经过对不同滤波法的实际使用和试验验证,认为采纳防脉冲干扰平均值滤波法,抗干扰成效比较明显;一般的平均
11、值滤波,在干扰特别严峻的场合,所得到的平均值中干扰的成分仍比较大,不易排除由于脉冲干扰而引起的误差;而防脉冲干扰平均值滤波是在采集的N个数据中,去掉数据中的最大值和最小值,然后运算N-2个数据的算术平均值;在实际应用中,此法主要是用在AD 值的检测上,由于外场设备中AD 采集值判定,直接影响此设备能否投入使用,所以对所采AD 值的牢靠性要求高,采纳此滤波法后,通过仿真可以清晰看出,在某些特定的情形下, AD 采集值波动较大,但此法可以有效地防止了 CPU 对采集值的误判,使软件得以牢靠运行;此程序完成的主要功能是调用 A/D 测量输入子程序 ACD ,将循环采集的 6个AD 值,放在 70H
12、至75H的寄存器中, RO为记录采集次数, 70H和75H分别放置最大值和最小值,去除最大值和最小值后,将其余 4个值求算术平均数,以得到的值为最终 AD 采集值放在 68H寄存器中;2.2.6 程序自检程序自检是提高测控软件牢靠性的有效方法之一;在实际应用中,自检程序主要是对单片机系统的主要器件如8031的I/O 口、外部扩展的可编程 I/O 接VI 芯片、 A/D 器件、 ROM 器件等进行检测,如显现故障能够给出故障部位;因此自检程序不但可以明白与测试相关外设的工作情形,而且可防止因外设缘由而使测控系统不能正常工作的干扰;2.3 实时掌握软件运行过程中的自监视法欢迎下载精品学习资源2.3
13、.1 基本概念自监视法是工业掌握运算机自己对自己的运行状态的监视;一般的工控机 CPU内部具有 WatchdogTimer ,使用定时中断来监视程序运行状态;定时器的定时时间稍大于主程序正常运行一个循环的时间,在主程序运行过程中执行一次定时器时间常数刷新操作;这样,只要程序正常运行,定时器不会显现定时中断;而当程序运行失常, 不能准时刷新定时器时间常数而导致定时中断,利用定时中断服务程序将系统复位;在 8031应用系统 中作为软件抗干扰的一个事例,详细做法是:*使用 8155的定时器所产生的 “溢出 ”信号作为 8031的外部中断源 IN T1 ;用 555定时器作为 8155中定时器的外部时
14、钟输入;* 8155 定时器的定时值稍大于主程序的正常循环时间;*在主程序中,每循环一次,对8155定时器的定常常数进行刷新;*在主控程序开头处,对硬件复位仍是定时中断产生的自动复原进行分类判定处 理;然而,这并不等于万无一失;例如,Watchdog电路本身失效;设置 Watchdog的指令正好在取指令时被干扰而读错;Watchdog“发觉 ”程序跑飞之后,其产生的复位脉冲或者 NMI 申请信号正好被干扰而没奏效等等;虽然以上的导致 Watchdog失效的因素的几率很小,但总是存在的;另一个方面,仍有相当数量的欢迎下载精品学习资源工业掌握运算机没有 Watchdog电路;因此,以下重点争论的软
15、件自监视法就势在必行了;2.3.2 随时监督程序计数器 PC 值运算机正常运行,其 PC值肯定在程序区内;假如PC值跑出程序区,运算机确定已发生了程序跑飞;检查程序计数器PC值是否在程序区内的方法,是在一个常常要产生外部中断的某个中断服务程序中,读取转入该中断时压入堆栈的断点地址;假如该地 址在程序区内,就认为PC值正常,否就肯定是程序跑飞了;此时,程序跳转到机器的重启动入口或者复位入口,机重视新启动;于是机器又自救活了;假如没有一个这样合适的中断源,可以特地设置一个定时中断或者几个定时中断,在中断服务程序中检查PC值是否合法,一旦发觉不对就立刻转入机器的重启动入口;定时器中断的时间常数,可视
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 单片机 测控 系统软件 抗干扰 技术 分析研究

限制150内