电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>嵌入式开发>单片机系统抗干扰,软件 VS 硬件哪个重要?资料下载

单片机系统抗干扰,软件 VS 硬件哪个重要?资料下载

2021-04-29 | pdf | 223.06KB | 次下载 | 免费

资料介绍

在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。 1、软件抗干扰方法的研究 在工程实践中,软件抗干扰研究的内容主要是:一、消除模拟输入信号的噪声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。 (1) 指令冗余 CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞”到了三字节指令,出错机率更大。 在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。 此外,对系统流向起重要作用的指令如RET、RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。 (2) 拦截技术 所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。 软件陷阱的设计 当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在EPROM中非程序区填入以下指令作为软件陷阱: NOPNOPLJMP 0000H其机器码为0000020000。 陷阱的安排 通常在程序中未使用的EPROM空间填0000020000。最后一条应填入020000,当乱飞程序落到此区,即可自动入轨。在用户程序区各模块之间的空余单元也可填入陷阱指令。当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。如某应用系统虽未用到外部中断 1,外部中断1的中断服务程序可为如下形式: NOPNOPRETI返回指令可用“RETI”,也可用“LJMP0000H”。如果故障诊断程序与系统自恢复程序的设计可靠、完善,用“LJMP0000H”作返回指令可直接进入故障诊断程序,尽早地处理故障并恢复程序的运行。考虑到程序存贮器的容量,软件陷阱一般1K空间有2-3个就可以进行有效拦截。 (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. 1DC-DC电路(Buck)的设计与仿真
  2. 0.60 MB   |  11次下载  |  2 积分
  3. 2UHD智能显示SoC VS680产品简介
  4. 0.46 MB   |  7次下载  |  免费
  5. 3深蕾半导体智能显示SoC芯片 VS680产品简介
  6. 0.33 MB   |  3次下载  |  免费
  7. 4非隔离降压型有源 PFC LED驱动芯片BP2327A数据手册
  8. 0.42 MB   |  2次下载  |  2 积分
  9. 5JW7707F杰华特3.4A50V,7mΩ同步整流器-jw7707f参数规格书
  10. 268.87 KB  |  2次下载  |  免费
  11. 6电池管理系统(BMS)软硬件介绍
  12. 0.23 MB   |  2次下载  |  2 积分
  13. 7脉冲整形与产生电路的应用
  14. 2.30 MB   |  1次下载  |  免费
  15. 83.8V 至 36V、2A 和 3A 同步降压转换器LMR336x0AP-Q1数据表
  16. 5.1MB   |  1次下载  |  免费

本月

  1. 1DCDC原理详解
  2. 0.98 MB   |  84次下载  |  免费
  3. 2allegro快速入门教程
  4. 1.98 MB   |  39次下载  |  免费
  5. 3FU-7(807)胆机原理图
  6. 11.93 MB   |  26次下载  |  1 积分
  7. 4电子元件基础知识介绍
  8. 8.76 MB   |  24次下载  |  2 积分
  9. 5用于汽车应用的高压电源管理IC TPS65311-Q1数据表
  10. 1.05MB   |  22次下载  |  免费
  11. 6DC-DC电路(Buck)的设计与仿真
  12. 0.60 MB   |  11次下载  |  2 积分
  13. 7华为海思Ascend 310芯片的资料说明
  14. 0.12 MB   |  10次下载  |  10 积分
  15. 8GD32F10x系列MCU用户手册
  16. 11.5MB   |  9次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935083次下载  |  免费
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420046次下载  |  免费
  5. 3Altium DXP2002下载入口
  6. 未知  |  233067次下载  |  免费
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191308次下载  |  免费
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183311次下载  |  免费
  11. 6labview8.5下载
  12. 未知  |  81567次下载  |  免费
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73786次下载  |  免费
  15. 8NI LabVIEW中实现3D视觉的工具和技术
  16. 未知  |  70088次下载  |  免费