您好, 访客   登录/注册

浅谈单片机应用系统的抗干扰措施

来源:用户上传      作者:

  摘要:文章主要对单片机应用系统的硬件和软件抗干扰措施分别进行了阐述,尤其是对其软件抗干扰措施进行了详细的论述。
  关键词:单片机;抗干扰;硬件;软件
  中图分类号:TP368.12 文献标识码:A 文章编号:1006-8937(2011)04-0090-01
  
  工业现场环境中对单片机应用系统的干扰有很多,脉冲是这些干扰的主要形式。这些干扰将会对生产带来不利的后果,比如:数据采集误差加大、程序运行失常、系统被控对象误操作、被控对象状态不稳定、定时不准、数据发生变化等,所以研究单片机的抗干扰措施是非常必要的事情。
  
  1 硬件抗干扰措施
  
  硬件措施得当,就能将绝大部分干扰抗拒,主要的措施如下:
  注意屏蔽;供电系统的抗干扰;适当增加硬件看门狗;注意印制电路板的工艺与布线;注意装设过压保护电路;注意提高元器件的可靠性;使用光电隔离。
  
  2 软件抗干扰措施
  
  ① 使用开机时自动检验功能。开机时便对单片机系统的软件和硬件状态检验,如果发现不正常,便进适当的处理。开机自检程序一般包括对ROM、RAM、I/O通道的检测。
  
  ② 使用软件陷阱。捕捉“跑飞”程序是软件陷阱的主要功能,通常设置在程序存储器没有使用的区域、程序存储器的结尾处、程序段之间三处,捕捉方法是若干条无条件跳转指令和空操作相结合,使程序跳到“跑飞”处理程序入口。
  
  ③ 在程序运行状态处设置标记。在RAM区中设立一些标志位叫做程序运行状态标记,这些标志位对应代表程序运行的不同阶段及运行后的状态。初始化程序时,最初应该对这些单元置初值,程序运行过程中的不同阶段,对应单元中的内容会被改动成特定值,用来标注程序运行后的状态和运行的阶段。除了在程序正常运行中起到条件转移的作用外,这些标志还能在程序“跑飞”,并且RAM区数据正常运转的条件下恢复程序运行现场。
  
  ④ 在输出端口刷新。输出口的状态的改变,有可能是因为单片机的I/O比较容易背外部信号所干扰而造成的。因此为了降低干扰信号对输出口状态的影响,我们可以在程序里添加周期性的输出端刷新指令。两种措施如下:
  指定RAM单元存储输出口在程序运行的对应时刻应该具有的状态,并且在程序运行时根据以RAM单元的内容为依据去刷新I/O口。连续两次在输出时对端口进行设置状态。
  
  ⑤ 采用输入多次采样。键输入时的消抖是尤其需要注意的地方,通常我们要以10ms为周期进行一次读键消抖。
  
  ⑥ 进行数据滤波。采用采样数据的数据滤波是用来抵御外界干扰的影Ⅱ向。对同一组数据进行多次采样是采用数据滤波的前提。通常的滤波方法包括求平均值、中值滤波、加权平均滤波、去极值平均滤波、滑动平均滤波和数据滤波。
  
  ⑦ 关于指令冗余。三字节指令市MCS51指令系统中最多的指令,一旦CPU受到干扰,就它把三字节指令、双字节指令中的操作数辨认成指令码来处理,也就是把多字节指令拆散开处理,所以会使程序出线错误,因此我们要多多使用单字节指令,而且对于处在重要位置处的指令可以加入若干单字节指令(NOP)或这把有效单字节指令用来进行多次重设,这就是我们说的指令冗余。
  
  ⑧ 采用软件“看门狗”。根据程序在运行指定时间间隔内未采用某些适当的操作,像按时复位定时器,用以判断程序运行时是否出错的功能叫做“看门狗”功能。“看门狗”分为硬件看门狗和软件看门狗。同软件陷阱一样它们都能够检验程序是否有误,不过检验方法有别罢了。设计软件“看门狗”的思路:程序进人死循环,不能及时喂狗是看门狗作用的前提,这样一旦系统进入死循环中,只有比此死循环对应程序更高一级的中断程序才能争走对CPU的控制权。
  
  3 结语
  
  文中主要论述了一个成功的抗干扰系统是把软件同硬件都考虑后组成的。因为如果硬件上措施运用的得当,当然能把相当大部分的干扰抵御,不过一定还会存在某些干扰潜入微机系统,因此作为第二道防线的软件措施也至关重要。因为降低CPU效率是软件抗干扰措施带来的缺点,所以一旦缺少了硬件措施来抵御大多数干扰,CPU将太累,没有办法进行正常的工作,有时会影响系统的实时性与工作效率。
  
  参考文献:
  [1]李朝青,单片机原理及接口技术[M].北京:北京航空航天大
  学出版社,2008.
转载注明来源:https://www.xzbu.com/3/view-10513838.htm