注册名:

密码:

个人注册

企业注册

商务申请

商务管理平台

企业管理平台

个人管理平台

我的工控博客

中国工控网www.chinakong.com

首页 | 新闻中心 | 工控论坛 | 经验视点 | 工控商务 | 电气手册 | 工控博客 | 招聘求职 | 网上调查 | 企业中心 | 供求信息 | 资料中心 | 工控书店

所在位置:工控论坛 -- 工控机论坛 -- 工控机论坛(非专题) -- 结构与配置

中国工控网搜索:

 登陆:密码:  注册  密码

搜索:

工控机论坛(非专题)分类  

全部论题

结构与配置

数据 I/O

编程与维护

应用方案

发表人:ladaoba 发表时间:2011/12/12 8:00:00  

 

 本栏论题: 单片机系统软件如何巧妙抗干扰   [3711]

    单片机的软件设计,必须考虑到的一点就是抗干扰能力,未来单片机的设计市场需求方向必然是在设计灵活、节省硬件资源、抗干扰能力等方面综合发展。
   
   
    在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受
   
    到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。
    1 软件抗干扰方法的研究
    在工程实践中,软件抗干扰研究的内容主要是: 一、消除模拟输入信号的嗓声(如数字滤波技术)
   
    ;二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。
    1.1 指令冗余
    CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,
   
    当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞”
   
    到了三字节指令,出错机率更大。
    在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令
   
    和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在
   
    ,避免了后面的指令被当作操作数执行,程序自动纳入正轨。
    此外,对系统流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也
   
    可将乱飞程序纳入正轨,确保这些重要指令的执行。
    1.2 拦截技术
    所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序
   
    。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。
    1.2.1 软件陷阱的设计
    当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定
   
    位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在
   
    EPROM中非程序区填入以下指令作为软件陷阱:
    NOP
    NOP
    LJMP 0000H
    其机器码为0000020000。
    1.2.2 陷阱的安排
    通常在程序中未使用的EPROM空间填0000020000。最后一条应填入020000,当乱飞程序 落到此区,即
   
    可自动入轨。在用户程序区各模块之间的空余单元也可填入陷阱指令。当使用的中断因干扰而开放时,
   
    在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。如某应用系统虽未用到外部中断1,外
   
    部中断1的中断服务程序可为如下形式:
    NOP
    NOP
    RETI
    返回指令可用“RETI”,也可用“LJMP 0000H”。如果故障诊断程序与系统自恢复程序的设计可靠
   
    、 完善,用“LJMP 0000H”作返回指令可直接进入故障诊断程序,尽早地处理故障并恢复程序的运行。
    考虑到程序存贮器的容量,软件陷阱一般1K空间有2-3个就可以进行有效拦截。
    1.3 软件“看门狗”技术
    若失控的程序进入“死循环”,通常采用“看门狗”技术使程序脱离“死循环”。通过不断检测程
   
    序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出
   
    错处理。
    “看门狗”技术可由硬件实现,也可由软件实现。 在工业应用中,严重的干扰有时会破坏中断方式
   
    控制字,关闭中断。则系统无法定时“喂狗”,硬件看门狗电路失效。而软件看门狗可有效地解决这类
   
    问题。
    笔者在实际应用中,采用环形中断监视系统。用定时器T0监视定时器T1,用定时器T1监视主程序,
   
    主程序监视定时器T0。采用这种环形结构的软件“看门狗”具有良好的抗干扰性能,大大提高了系统可
   
    靠性。对于需经常使用T1定时器进行串口通讯的测控系统,则定时器T1不能进行中断,可改由串口中断
   
    进行监控(如果用的是MCS-52系列单片机,也可用T2代替T1进行监视)。这种软件“看门狗”监视原理
   
    是:在主程序、T0中断服务程序、T1中断服务程序中各设一运行观测变量,假设为MWatch、T0Watch 、
   
    T1Watch,主程序每循环一次,MWatch加1,同样T0、T1中断服务程序执行一次,T0Watch、 T1Watch加1
   
    。在T0中断服务程序中通过检测T1Watch的变化情况判定T1运行是否正常,在T1中断服务程序中检测
   
    MWatch的变化情况判定主程序是否正常运行,在主程序中通过检测T0Watch的变化情况判别T0是否正常工
   
    作。若检测到某观测变量变化不正常,比如应当加1而未加1,则转到出错处理程序作排除故障处理。当
   
    然,对主程序最大循环周期、定时器T0和T1定时周期应予以全盘合理考虑。限于篇幅不赘述。
    2 系统故障处理、自恢复程序的设计
    单片机系统因干扰复位或掉电后复位均属非正常复位,应进行故障诊断并能自动恢复非正常复位前
   
    的状态。
    2.1 非正常复位的识别
    程序的执行总是从0000H开始,导致程序从 0000H开始执行有四种可能:一、系统开机上电复位

以下是关于《单片机系统软件如何巧妙抗干扰 》论题的回复(共4篇)

回复人:hexiang89 

 回复时间:2011/12/28 16:05:00

支持(349) | 反对(329)

 

    学历了!

回复人:wxljt0516 

 回复时间:2012/1/12 14:32:00

支持(343) | 反对(483)

 

    很强大

回复人:kekekeyao 

 回复时间:2012/3/5 22:32:00

支持(313) | 反对(304)

 

    64072868自动化交流群,各位有志之士来加盟吧,亲,等待你的到来,我们一起成长
   

回复人:zealot2009 

 回复时间:2013/5/28 10:17:00

支持(259) | 反对(601)

 

    顶一下

如果要回复本栏论题,请首先中国工控网www.chinakong.com

·如果你已经是中国工控网www.chinakong.com成员,请直接登录。

·如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!

注册名:

密  码:

           注册中国工控网www.chinakong.com
           忘记密码

关闭该窗口

关于我们     免责声明     服务项目     广告联系     友情链接     联系方式     意见反馈     设为首页     加入收藏

 ©2023-2025 中国工控网(www.chinakong.com) 版权所有 豫ICP备17046657号

管理员信箱:chinakong98@163.com  服务热线:13525974529

洛阳博德工控自动化技术有限公司

中国    洛阳