社区首页
技术讨论创新帖
全部新帖
资料区
社区活动
联系管理员
★ 社区积分制度
★ 新手必读
★ 申请版主★
请
登录
后使用快捷导航
没有帐号?
注册
首页
|
电子技术
|
嵌入式
模拟电子
单片机
电源管理
传感器
半导体
电子应用
|
工业控制
物联网
汽车电子
网络通信
医疗电子
手机便携
测试测量
安防电子
家用电子
机器人
新能源
电子头条
|
社区
|
论坛
测评
博客
大学堂
|
下载
|
下载中心
电路图
精品文集
电路图
|
参考设计
|
Datasheet
|
活动
|
直播
datasheet
datasheet
文章
搜索
登录
注册
中文
En
论坛
切换旧版
电子工程世界-论坛
»
论坛
›
电子技术交流
›
单片机
›
单片机系统中的软件抗干扰技术
返回列表
发新帖
回复
阅
3710
|
回
0
soso
当前离线
管理员
最后登录
2025-2-8
在线时间
11980 小时
威望
187475分
芯积分
2618分
(兑换)
E金币
0枚
(兑换)
(兑换)
好友
1719
soso
2万
帖子
71
TA的资源
管理员
+ 好友
私信
楼主
发表于2009-11-3 17:15
只看该作者
单片机系统中的软件抗干扰技术
[复制链接]
近年来单片机系统在工业测控领域的应用越来越广泛,而对于环境恶劣的工业现场,这种新型的微控制器的可靠性、安全性就成为了一个大问题。在实验室运行正常的程序到了工业现场却不能运行,或者出现运行不稳定经常死机等。在这里主要讨论一下如何通过软件技术来增强系统的稳定运行。
当系统的CPU部位受到干扰信号的作用时,将使系统失控。最典型的故障是破坏程序计数器PC的状态值。导致程序在地址空间内"乱飞",或者陷入死循环。对这种情况的处理主要有这么几种方法:
1、指令冗余技术;
2、软件陷阱技术;
3、看门狗技术。
下面 以MCS-51单片机来做说明。
指令冗余技术
指令由操作码和操作数组成,操作码指明CPU要完成什么样的操作,而操作数是操作码的对象。单字节指令只有操作码,隐含操作数;双字节指令,第一个字节是操作码,第二个字节是操作数;三字节指令第一个字节是操作码,后二个字节是操作数。CPU在取指令的时候是先取操作码再取操作数,如何判断是操作码还是操作数就是通过取指令的顺序。而取指令的顺序完全由指令计数器PC来控制,因此,一旦PC受干扰出现错误程序便会脱离正常轨道,出现"乱飞",这样就会出现把操作数当作操作码,或者把操作码当作操作数的情况。但只要PC指针落在单字节指令上程序就可纳入正轨,所以为了快速将程序纳入正轨,应该多用单字节指令,并在关键的地方人为插入一些单字节指令NOP,或将有效的单字节指令重写,这就称之为指令冗余。
常用的方法就是在一些双字节、三字节指令后面插入两个单字节指令NOP,或在一些对程序的流向起决定作用的指令前面插入两条NOP指令。还可对一些重要的指令进行重复放置。
但采用指令冗余技术将程序纳入正轨的条件是:乱飞的PC必须指向程序运行区。
软件陷阱技术
当乱飞的程序进入非程序区的时候,就可设定软件陷阱对乱飞的程序进行拦截从而将程序引向一个固定的位置。这样就可将捕获的程序重新纳入正轨。
软件陷阱主要就是把程序重新引入它的复位入口处,也就是说在适当的地方设置这样的指令:
NOP
NOP
LJMP 0000H
软件陷阱主要安排在这样一些区域:未使用的中断区、未使用的EPROM空间及非EPROM空间、程序运行区及中断服务程序区。主要来看前三种:
1、未使用的中断区
如果对于未使用的中断因干扰而开放的话, 可以这样写中断服务程序:
NOP
NOP
POP D1 ;将原来的错误断点弹出
POP D2 ;将原来的错误断点弹出
PUSH 00H
PUSH 00H;将断点地址重写为 0000H
RETI
2 .未使用的EPROM区
假设用了一片2764,但并没有用完整个存储区。这时候就可在未用的区域里填充上020000数据,这样当程序飞入其中时就会很快的走入正轨。这条指令其实是"LJMP 0000H"的机器码。
3 .非EPROM空间
单片机系统的程序空间是64K,正常情况下 所使用的EPROM不会占用所有的空间,假设现在的EPROM占用16K的空间,那么剩下的48K空间就被闲置不用了。当乱飞的PC落入这些空间时,读入的数据将为FFH,这是 :MOV R7,A 指令的机器码,将修改R7的内容。因此,当程序乱飞入非EPROM芯片区后,不仅无法导入正规,而且破坏了R7的内容。
当CPU读程序存储器的时候,伴随着会产生一个PSEN信号, 就可利用这个信号,再加上一个非EPROM区的地址译码信号,构成一个选通信号来起动一个空闲的中断,再用软件陷井的方法从中断程序中把程序导入正规。
也可通过硬件的方法用一个缓冲器直接给数据线写一个值,其原理与上述方法相同。
软件看门狗技术
看门狗的作用就是防止程序发生死循环,或者说程序跑飞。硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中, 要在定时时间到之前对定时器进行复位,如果出现死循环,或者说PC指针不能回来。那么定时时间到后就会使单片机复位。
软件看门狗技术的原理和这差不多,只不过是用软件的方法实现, 还是以51系列来讲,在51单片机中有两个定时器,可以用这两个定时器来对主程序的运行进行监控。对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。
T1 用来监控主程序的运行, 给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的裕量。而T1的中断正常与否 再由T0定时中断子程序来监视。这样就够成了一个循环,T0监视T1,T1监视主程序,主程序又来监视T0,从而保证系统的稳定运行。
系统
,
安全性
,
可靠性
,
如何
此帖出自
单片机论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
点赞
关注
(0)
个人签名
加油!在电子行业默默贡献自己的力量!:)
回复
分享
扫一扫,分享给好友
复制链接分享
链接复制成功,分享给好友
举报
提升卡
变色卡
千斤顶
返回列表
发新帖
回复
您需要登录后才可以回帖
登录
|
注册
发表回复
回帖后跳转到最后一页
活动
更多>>
有奖直播 | TI 助力机器人电机控制系统设计
DigiKey 应用探索站 | 无线技术盛宴第二趴
有奖直播 | ADI 超低功耗 MCU MAX326xx 系列介绍
走近 AI 重磅新品 STM32N6,解锁在 MCU 部署高性能、节能型边缘 AI!答题有好礼~还有开发板等你拿!
Microchip 直播|多相降压电源控制技术的发展与探讨 报名中!
安世半导体智能工业应用探索站,闯关赢好礼!
24年年终盘点来啦!精选强推:原创、测评、拆解、视频、资料
PI 电源小课堂:集成式半桥驱动IC BridgeSwitch 2, 助力高效永磁同步电机逆变器的设计
开源项目
更多>>
TypeC取电小卡
使用 NXP Semiconductors 的 MMA7660FC 的参考设计
LT1076HVCT7 具有 5V 输出的正负转换器的典型应用
【训练营】智能氛围小夜灯+156870A
使用 NXP Semiconductors 的 MC56F8013 的参考设计
SESD1004Q4UG-0020-090,USB 3.1 Type C 使用 SESD1004Q4UG-0020-090 ESD 抑制二极管阵列的典型应用 20kV 汽车 10 引脚 DFN
使用 LTC3639EMSE 4 至 135V 输入至 -15V 输出的正负稳压器的典型应用
MC34072VDR2G 交流耦合同相放大器典型应用
MCP6S2XEV,PGA 评估板(修订版 4)具有 MCP6S22 可编程增益放大器
AirCube 空气检测站
随便看看
关于研究精密监测仪器对在不同地区农作物的土壤肥力、生长发育、病虫害的数据采集和分o析处理
电子小白的农学毕业生想转行研究硬件加数字加农业有多大的可行力?求回复
不同方式接地的区别?
基于VI转换芯片LTS117的温度变送器方案分享
哪位有龚建伟老师的串口调试助手源代码,给我发一份,谢谢
【LPC54100】Keil工程模板
行业内知名LED芯片厂家
AD
msp430调试的时候出现的问题
查找数据手册?
搜索
EEWorld Datasheet 技术支持
热门标签
源代码
单片机
放大器
TI
ST
电源
分立器件
传感器
测试测量
模拟
三相交流负载电阻箱
三轴加速度传感器
集总参数电路
粒子群算法
波导滤波器
过载保护器
可变电阻
电机扭矩
热耗率
verilog
相关文章
更多>>
英飞凌2025年一季报电话会:预计2025财年展望营收或略有增长
2025 年是英飞凌独立上市 25 周年,自从西门子剥离之后,英飞凌摸索出了一条以“数字化和脱碳化”为主要发展脉络的经营理念。 日前,英飞凌召开了2025财年一季报证明,数字化和脱碳化的未来正在
Intel全新处理器阵容曝光:最高52个内核/144MB缓存
2月8日消息,10年前谁能想到,Intel和AMD会是现在这种竞争局面呢? 根据最新爆料,Ultra 200S系列“失利”后,Intel有望痛定思痛。近日,WccfTech分享了Intel未来的CP
三星电池隐患引发多品牌召回,涉及福特、奥迪、Stellantis 旗下超 18 万辆汽车
2 月 8 日消息,三星宣布了一项大规模召回计划,涉及福特、奥迪以及 Stellantis 旗下的 180,196 辆汽车,这些车辆所搭载的高压电池组存在故障风险,可能会引发火灾。 在所有受影响的品
美国对华半导体限制新规生效:台积电暂停向部分IC设计厂商发货
曾控诉特斯拉抄袭:美国氢电动卡车制造商Nikola濒临破产
消息称苹果最快下周发布新款iPhone SE 有望月内发售
PI CEO:氮化镓将成为高压开关的首选
面临市场压力,消息称美国工业巨头霍尼韦尔将一拆为三
英特尔与日本AIST合作开发下一代量子计算机:万级量子比特
Videtronic开发出利用 GMSL2 延长树莓派摄像头电缆的方案
新帖速递
STM32和无源蜂鸣器播放声音的问题
车规级AECQ200介绍,混合铝电解电容器的选择
嵌入式教程_DSP技术_DSP实验箱操作教程:2-28 搭建轻量级WEB服务器实验
OPA847IDBVR运放器国产替代
AG32VF407测试UART
【得捷电子Follow Me第二期】第一章 收到货物的分享
请问这个红外接收头是什么型号?能用哪个型号代替?谢谢
出售全新未拆封ZYNQ 7Z020 FPGA核心板
用在锂电池供电的水表设置上的LORA模块,当有100块水表集中安装在一个楼道内时,节能
请问一下,当某个端口被设置为 RX0后,这个端口的输入输出方向还有必要设置吗
今年怎么这么难,比疫情时还难,三十了面临失业好迷茫
请教稳压管测试问题
【小华HC32F448测评】关于小华半导体的UART中断发送和PRINTF构造和重定向
【BIGTREETECH PI开发板】 HDMI输出测试
【BIGTREETECH PI开发板】+08.音频测试(zmj)
有奖直播 | TI 助力机器人电机控制系统设计
直播时间:2月27日(周四)上午10:00
活动奖励:家具壶、保温杯、充电线
查看 »
有奖直播:ADI 超低功耗 MCU MAX326xx 系列介绍
直播时间:3月20日(周四) 上午10:00
活动奖励:双肩包、充电宝、小夜灯
查看 »
【回帖赢京东卡】无线技术盛宴第二趴
【活动时间】即日起—2025年2月28日
【活动好礼】30元京东卡
查看 »
DigiKey 应用探索站 | 无线技术盛宴第二趴
当月好物、热门无线技术资源、特色活动、DigiKey在线实用工具,干货多多~
查看 »
开发板申请:拥有 AI 加持的 STM32N6570-DK 免费试用 !
申请时间:即日起-3月2日
查看 »
安世半导体智能工业应用探索站,闯关赢好礼!
点击页面内“开始探索”按钮,填写并提交表单;
请根据序号依次完成3个安世半导体智能工业应用的探索,并根据给出的资料完成共计9题(每个应用3题),答对5题以上的玩家即可获得抽奖资格;
每人仅有一次参与答题的机会,请慎重作答,活动结束后,我们将抽取30位玩家赠送礼品。
查看 »
Microchip 直播|多相降压电源控制技术的发展与探讨 报名中!
直播主题:多相降压电源控制技术的发展与探讨
直播时间:2025年2月25日(星期二)上午10:30-11:30
快来报名!
查看 »
答题赢好礼,PI电源小课堂第3期来啦!
本期内容:集成式半桥驱动IC BridgeSwitch 2, 助力高效永磁同步电机逆变器的设计
活动时间:即日起-2月28日
看视频答题即可赢取京东卡!
查看 »
本周精选下载推荐:电源管理基础Dummies
本周小编给大家带来一本超简单、超干货的电子书——《电源管理基础Dummies》!内容深入浅出,排版舒服简洁,分分钟能get到电源管理最核心的知识内容。
查看 »
关闭
站长推荐
1
/9
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
电信业务审批[2006]字第258号函
京公网安备 11010802033920号
Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复
返回顶部
返回列表
论坛首页
版块列表
专业技术中心
TI技术论坛
ST传感器与低功耗无线技术论坛
ADI参考电路
DigiKey得捷技术专区
ADI · 世健工业技术
电子技术交流
边缘AI
嵌入式系统
单片机
国产芯片交流
电机控制
FPGA/CPLD
模拟电子
电源技术
无线连接
传感器
PCB设计
综合技术交流
下载中心专版
大学堂专版
测评中心专版
行业应用
汽车电子
机器人开发
工业自动化与控制
能源基础设施
医疗电子
消费电子
创意与实践
电子竞赛
DIY/开源硬件专区
淘e淘
创意市集
休息一下
聊聊、笑笑、闹闹
工作这点儿事
为我们提意见&公告
EEWorld颁奖专区
信息发布
最新帖子
最新帖子
最新回复
精华
消灭零回复
测评中心
活动中心
积分兑换
E金币兑换
芯积分
厂商专区
TI技术论坛
ST传感器与低功耗无线技术论坛