屠盒科技
  深圳屠盒科技有限公司是一家专业从事PCB抄板、电路板抄板(克隆)、芯片解密、PCB设计、PCB生产加工、抄数、元器件仿制克隆、软硬件开发设计的技术服务型企业,是中国PCB抄板/芯片解密行业的鼻祖和亚洲最大的反向技术研发中心。 more

单片机软件抗干扰技术的应用

分类:芯片解密技术 | 发布:pcbjiemi | 查看: | 发表时间:2010-1-28
单片机开发过程中经常会碰到很多干扰问题,有些干扰是纯硬件方式不能完全解决的,必须用软件来处理。本文阐述笔者在单片机开发中所用的软件抗干扰的方法及其效果,或许能起到抛砖引玉的作用。
  一、抗死循环
  当单片机因干扰或其他原因,程序弹飞到一个临时构成的死循环中时,只有利用人工强制复位或看门狗技术(WATCHDOG)才能使单片机摆脱死循环。但操作者不可能一直监视系统,并且单片机死机与人工强制复位之间有时间差,这将会引起负载设备暂时停止工作。看门狗技术可以在单片机死机而人未觉察的瞬间(毫秒级)使单片机复位,因此可选用带有硬件看门狗的单片机。若单片机内部不带硬件看门狗,则可在程序存储器的空白区域和未用的中断向量区填满软件陷阱,软件陷阱程序如下:
  NOP
  NOP
  MOV A,#CDH
  MOV B,#ABH
  PUSH ACC
  PUSH B
  RETI
  #ABCD是主程序MAIN所在行的地址码,一旦程序弹飞到写有软件陷阱程序的区域,就会被拉回到主程序区域(MAIN),而不是回到程序的初始化部分(START),运行数据不被初始化,单片机系统所控制的负载与干扰前工作状态保持一致。
  二、信号采样的抗干扰
  在数字信号采样时,可利用不同的数字滤波算法滤除测量信号中的非周期性干扰,提高测量精度。笔者在开发某产品时,其检测市电的欠压、过压功能就是采用多次A/D转换,然后去掉最高值及最低值,再求平均的方法作为判断依据。而且连续采样5次,仅当其中4次采样的数据都高于或低于程序中规定的某个值时,才进入相应的处理。
  三、输出抗干扰
  单片机输出时,可采用软件设置所有输出位重复输出的友法来抗干扰,重复输出的周期应尽量短,才能保证外部设备在收到千扰信号还没来得及反应,正确的输出信号又到了,这样不断地刷新输出数据,可防止输出设备因受到干扰而误动作。
  对输出设备动作瞬间所产生的强电磁干扰,笔者采用预设干扰标志位的方法,当干扰使程序跳到所设置的软件陷阱或使单片机复位时,通过检测标志位来判断程序在干扰前已执行到的程序地址,从该程序地址再往下执行,若程序再跑飞,瞬间程序又被拉回,在干扰瞬间被强制输出,在确认正确执行负载后,再清除干扰标志位,其程序结构如下:
  START:JB 01H,MLOAD;
  判断是不是某负载的干扰
  ·
  MAIN:……;主程序
  JB 01H,MLOAD
  ;判断是不是某负载的干扰
  ·
  MLOAD:SETB 01H
  ;执行预知干扰的负载前设置标志位
  MOV A,××
  MOV P0,A
  LCALL DELAY;延时
  MOV A,××
  MOV P0,A
  CLR 01H
  ;正确执行负载后清除标志位
  ·
  ·
  END;程序结束
  四、系统复位的处理
  干扰源通过电源引起系统复位时,一般都从入口地址0000H处开始执行,系统初始化。但控制系统都希望在处理干扰时不破坏RAM区的数据,不影响正常的程序执行。这就要求区分是正常上电复位,还是干扰源通过电源进入单片机系统引起的复位或是看门狗复位等。若是正常上电复位,系统就进行初始化。若是干扰源通过电源进入单片机系统引起的复位或看门狗复位,则检测所设置的标志位,使其跳过初始化程序,不改变RAM区的数据,使得负载设备不会因程序处理干扰而间断工作。
  五、RAM数据区的数据纠错恢复
  干扰有时会破坏RAM区的数据,因此,程序中当数据变化时要设标志位,改写数据前要确认标志位后才能改写,否则跳回主程序,避免RAM数据区误写。另一种方法是给每个数据设置两个备份,每次恢复正常运行后,将数据与它的两个备份数据进行比较,从而判断数据正确性。在一些干扰很强的地方要同时使用以上两种方法,才能保证数据不受干扰的影响。
Tags: 单片机软件  抗干扰技术  
« 电源管理芯片解密趋势    单片机系统的加密技术 »
相关文章:
芯片解密单片机解密PCB抄板PCB设计
Copyright 1983-2009 屠盒科技芯片解密网. Some Rights Reserved.
地址:深圳市福田区华强北路赛格科技园4栋西4D   电话:(0755)22248668 33076608