单片机系统软件抗干扰方法介绍
单片机系统抗干扰技术措施

单片机系统抗干扰技术措施徐本升(七煤(集团)公司社保局,黑龙江七台河154600)廛屉科夔[}商要]单片机系统主要由信号检测部分、信号处理及控制部分、控制信号驱动部分、拳统零毒部分、显示部分组成。
干扰的种类主要来自系统内部元器件在系统中的状态和系统外部其它电气设备产生的干抚。
硬件抗干扰措施是电潺的抗干扰设计,屏蔽抗干技技术,双绞线及光纤的使用,去耦电路。
软件抗干就措-旌旋出错处理程序,建立软件陷阱,使用空操作指令。
‘‘、联蠢建i司]单片机;系统;抗干扰技术‘,单片机应用系统的硬件电路构成比较复杂、所用元件品种繁多,有的工作场所环境比较差,由于这些原因,为了保证单片机应用系统能够在各种环境下能正常运行,系统的抗干扰性就是一个非常重要的指标。
抗干扰就是针对干扰产生的性质、传播途径、侵入的位置和侵入的形式,采取相应的方法消除干扰源,抑制干扰传播途径,减弱电路或元件对噪声干扰的敏感性,使单片机系统能在线正常、稳定地运行。
1单片机系统的组成一个单片机应用系统的硬件电路是由如下几个部分构成的:1)信号检测部分:2)信号处理及控制部分:3)控制信号驱动部分;4)系统交互部分;5)显示部分。
由此可见一个单片机应用系统的成分是相当复杂的,从各种类型的传感器到名目繁多的各种继电器接触器、电磁阀,从类型繁多的集成电路到各种各样的耦合器件、执行部件、显示器件等。
2干扰的种类干扰就是叠加在有用信号上的不需要的信号。
是影响路正常工作的另一种噪声。
干扰以某种电信号的形式,通过一的渠道。
混入有用信号中侵人单片机系统,造成系统工作不稳定在各种实际环境中,干扰总是存在的,这些干扰能降低电子系统准确性甚至破坏其可靠性。
干扰有两种:一是来自系统内部元器件在工作时产生的干扰通过地址、电源线、信号线,分布电容和电感等传输,影响系统工状态。
二是来自系统外部其它电气设备产生的干扰。
通过传导辐射等途径影Ⅱ向单片机系统的正常工作。
干扰对单片机应用系统的作用有3个部位:1)输入系统。
单片机实时控制系统软件抗干扰措施

志 和 口令 字锁 定输 出 口等 . 上述措 施 可 有效提 高 系统运 行 的 可 靠性 .
关 键词 : 片机 ; 单 程序 失控 ; 干扰 措 施 抗
V0 . 7 No. 1 1 3 S p. 0 2 e 20
20 0 2年 9月
文 章 编 号 :0 4—17 2 0 0 10 4 8(0 2)3—0 2 0 8—0 3
单 片机实时控 制 系统软件 抗干扰 措施
杨 建 平 王 干 一 ,
( . 州工 业 高等 专科 学校 通 信教研 室 , 1兰 甘肃 兰州 7 0 5 ; 3 0 0
和 程序 的断裂 点后 ( 断裂 点是 指 LM ,J , E I P SMP R T等类 指 令 ) .
1 3 看 门 狗 .
若 跑 飞 的程序 既 没有 落 人软 件 陷 阱 , 又没 有遇 到冗 余 指 令 , 而是 在 用户 程 序 之 间或用 户 根本 未 使用 的地 址 空 间 内跳来 跳 去 , 自动 形成 一 个死 循 环 , 利 用 软 件 启 动 单 片 机 的监 视 定 时 器 ( 称 看 门 狗 ) 使 系 统 复 可 俗 来
中 图 分 类 号 :P 0 T 22 文 献标 识 码 : A
0 引 言
单 片 机构 成 的控 制 系统 , 除满 足 各项 控 制功 能外 , 还必 须提 高 其可 靠 性 . 在工 业 现场 , 多数 情况 下 干扰 不 会 导致 单 片机 系统 硬 件损 坏 , 而是 对 软件 运 行造 成不 良影 响 . 主 要特 征 是 指令 码或 数 字码 受 干 扰而 使程 序 其
单片机软件抗干扰技术

() 3 中值法 。根据干扰造成采样数据偏大或偏小 的情况 , 对一个采样点连续采集多次 , 并对这些采样值进行 比较 , 取中
值作为该点的采样结果 。
() 4 一阶递推数字滤波法 。这种方法是 利用 软件完成 R C 低 通滤波器的算法 , 实现用软 件方法替代硬件 R C滤波器。一 阶递推数字滤波公式为 :
Eq i me M a f crngTe h l g u p nt nu a ti c noo y No. 1, 0 1 2 08
单 片机 软 件抗 干扰 技术
汤 海燕
( 天津 机电职业技术学院 天津 3 0 3 ) 0 1 1
摘要 : 在安装 于设备上起控 制作用的单片微 型计 算机 中 , 由于设备 的频繁启动和停止 , 电网电压的波动 , 大型设备运行 时产 生磁场 等 诸 多方面的干扰 , 致使单片机的工作 受到影响。 基于这一情况, 采取相应的抗干扰措施是 完全 必要的。 文运用软件抗干扰技术 , 本 解决
序处于无序状态 。 处于这种状态下的时间越短 , 系统 的影响 对 就越小 。 解决这一 问题 的方法 , 就是有意识地在程序 中插入一 些空操作指令 N P 由于这些指令为单字节指令 , 中心处理 O 。 对 机的工作状态元任何影响 ,这样就使失控的程序在 遇到该指
】 =Q ( ) 1 , x +1 Y 一 n ~Q
式中 :
果 。由于干扰 的侵入 , 输入 / 输出接 口状态受干扰 , 造成条件 状 态偏差 、 失误 , 致使控制 失常 , 至造成 系统资源 被某 一任 甚
务模块独 占, 使系统 出现 “ 死锁” 。 () 3 数据受干扰发生变化 。由于 R M是 可以读 / 的 , A 写 因 此, 就有可能在 干扰 的侵 害下 , A R M中数据发生窜改 , 使系统
软件抗干扰的几种办法

软件抗干扰的几种办法在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。
下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。
1、软件抗干扰方法的研究在工程实践中,软件抗干扰研究的内容主要是:一、消除模拟输入信号的噪声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。
本文针对后者提出了几种有效的软件抗干扰方法。
(1) 指令冗余CPU取指令过程是先取操作码,再取操作数。
当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。
若“飞”到了三字节指令,出错机率更大。
在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。
通常是在双字节指令和三字节指令后插入两个字节以上的NOP。
这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。
此外,对系统流向起重要作用的指令如RET、RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。
(2) 拦截技术所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。
通常用软件陷阱来拦截乱飞的程序。
因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。
软件陷阱的设计当乱飞程序进入非程序区,冗余指令便无法起作用。
通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。
软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。
通常在EPROM中非程序区填入以下指令作为软件陷阱:NOPNOPLJMP 0000H其机器码为0000020000。
陷阱的安排通常在程序中未使用的EPROM空间填0000020000。
最后一条应填入020000,当乱飞程序落到此区,即可自动入轨。
在用户程序区各模块之间的空余单元也可填入陷阱指令。
单片机应用系统中的抗干扰技术

干扰 是工业微机控制系统 中不可避免 、 最 难解决 的问题 , 直接影 响到 系统 的可靠性 。 干扰 可 以以场 的形式入侵微机 系统 。 外电网污染 、 此 系统 内部干扰 等都属于干扰源 。干扰对微机 系 统 的作用可分为三个方面 : 一是输入 系统 。 使 它 模拟信号失真 , 数字信号出错 。二是输 出系统。 它使各输 出信号混乱 ,不能真正反应 出微机 系 统 的真正输 出量 。 三是微机 系统 的内核 。 前两项 是针对输入输 出通道的抗干扰措施 ,干扰还 未 作用 到 C U本 身 ,这时 C U还能正确 地执行 P P 各种程 序。 当干扰 作用到微机 系统 的内核 。 即 C U时 , P P C U将不 能按 正常 状态 执行 程序 , 从 而导致三总线上数字信号错乱 ,并且使程序执 行紊乱 , 出现 “ 飞” 跑 现象 。如何发 现 C U受到 P 干扰 , 如何拦截失控的程序流 向, 以便尽可能无 扰动恢复 系统正 常状态 , 这些都是 C U的抗干 P 扰技术。解决干扰问题要从软 、硬件两方面人 手。 以下主要介绍的是软件系统方 面如何利用 指令冗余 、 软件 陷阱 、 以及 WA H O C D G等 技术 来解 决 M S 5 微机 系统 中 C U 的抗 干 扰问 C一1 P 题。下面 以我们研制 的 Z Y I L — 型钻时录井仪的 微机系统为例加以介绍。 1指令冗余 当 C U受到干扰后 , P 常常将一些操作数作 为指令码来 执行 , 导致程 序紊乱 。 这时要尽快使 程序进 入正轨, 执行真 的命 令。MC 一 1 S 5 系列的 所有 指令均不超过 三个 字节 ,且相 当一 部分为 单字节 。 当程序飞到某一条单字节指令上时 , 可 以 自动进入正轨 , 当飞到某一双 字节指令上 时 , 有可 能落到其操作数上 , 从而继续 出错 。 当飞到 三字节 指令上 时, 由于有 两个操作数 , 出错的 则 机率就更大 。 为此 , 我们在 一些对程序流向起决 定作用 的指令 前插入两条 N P O 指令 ( 字节 指 单 令 ) 以保证跑飞的程序迅 速进入正轨 。如 : — , A
单片机软件系统的抗干扰设计

式 中Q为数字滤波系数; X n 为第1 1 次采样时的滤波 器输入 ; Y n 为第n 次
采样 时的滤波器输 出; Yn — I 为第n + 1 次采样时的滤波器输 出。
滤波系数Q=A T / T f < 1 ,其中A T 为采样周期 : T 伪 数字滤波器的时间 系数 。 具体 的参数应通过实际运行选取适当数值 , 使周期性噪声减至最弱或 全部消除。
字节,都能复位 。也可在程序区每隔一段 ( 如几十条指令) 连续安排三条 NoP 于 旨 令。因为8 0 5 1 指令字节最长为三字节。当程序失控 时, 只要不跳转 , 指令连续执行, 就会运行NOP  ̄' 令, 就能使程序恢复正常。 3 . 2设置“ 看门狗” 。设置软件陷阱能解决一部分程序失控 问题, 但当程
科 学 论 坛
献 嗨与 蛄
单片机软件 系统的抗干扰设计
马卫滨 - 李艳华z
( 1 . 鹤煤技师学院; 2 . 鹤煤新 闻中心 河南 鹤壁 4 5 8 0 0 0 ) 摘 要: 为了保证单片机产 品能够长期稳定、 可靠地工作 , 在产 品设计 时必须对抗干扰 能力给 予足够 的重视, 尤其在软件方面, 而且很容易造成数据 采集误 差增大 , 程序- ‘ ‘ 飞走 ” 失控或陷入死循环等严重的后果。所以提 高单片机软件系统的抗干扰 能力是很有必要 的。 关键 词: 单片机 干扰 软件 滤波
特别是单片机产品。由于产品本 身比较复杂 , 再加上工作环境比较恶劣 ( 如 温度和湿度高, 有振动和冲击, 空气中灰尘 多, 并含有腐蚀性气体 以及 电磁
场的干扰等) , 同时还要受到使用条件 ( 包括 电源质量 、 运行条件、 维护条件 等) 的影响, 因而可以毫不夸张地说 , 当代世界的干扰如同环境污染 一样 , 正 危机着现代工业的各个方面。抗干扰方面的课题不但有许多实际问题要解 决, 而且有不少理论问题要探讨。 软件的抗干扰设计 是单片机应用系统的一个重要组成部分。干扰对单
单片机软件抗干扰策略

信 息 技 ,
邢 铁 飞
( 牡丹江龙 江环保供水有限公 司, 黑龙 江 牡丹江 17 0 ) 5 0 0
摘 要 : 于单 片机 应 用环境 往往 比较 恶 劣 , 扰 严重 , 就要 求单 片机 应 用 系统 要 有较 强的 抗 干扰 能 力 。尽 管 我 们采 取 了硬件 由 干 这 抗 干扰 措 施 , 由 于干扰 信 号 产生 的原 因很 复 杂 , 有很 大的 随机 性 , 免保 证 系统 完全不 受 干扰 。因此 , 常在 硬 件 抗干 扰措 但 且具 难 通 施 的 基础 上 , 用软 件抗 干扰 技 术 加 以补 充 , 为 硬件 措 施 的辅 助手 段 。 采 作 关键 词 : 片机 ; 单 软件 ; 干扰 抗 1干扰 信 号对 单 片机 各部 分 的影 响 2 . 令 冗余 化 2指 单 片 机属 于 数字 系 统 , 逻 辑 部分 都 有 相 应 的 阈电平 和 噪 声 容 各 程序 指 令 在 执 行 当 中或 锁 存 后 , 有 被 噪 声 修 改 的 可 能 , 会 都 这 限 , 来 噪声 只要 不 超过 逻 辑元 件 的容 限值 , 统 就能 正 常运 行 。 外 系 然 导致 控制 失 效甚 至 引发 事 故 ,因此 对重 要 指 令 应 多次 反 复执 行 , 这 而一 旦侵 入 系统 的 噪声 超 过 了容 限 ,干 扰 就会 被 逻辑 器 件 放 大 、 整 样 就 能 纠正 干扰 造 成 的错 误 。对 于 频率 不 高 的 采集 数 据 , 在 一 定 应 型, 于是 产生 误 动作 。 假如 干 扰改 变 了触 发 器或 存储 器 的信 息 , 时 间 内多 次 采 集 后 进 行 滤 波 处 理 ; 于 向外 输 出的 控 制 指 令 , 多 即便 对 应 干扰 消除 了 , 也 无法 恢 复正 常 运行 。 系统 次重 复执 行 以确 保 输 出控 制 信 号 的可 靠性 。通 常 , 以把 重 要 指 令 可 11运 算 部件 和 控制 器 . 设 计 成定 时 执行 的模块 , 样 在 整个 程 序 的循 环 运 行 过程 中可 以 反 这 C U属高 速数 字 器件 , 中容 易 受 到干 扰 的有 运 算 部件 和 控 制 复得 到执 行 , P 其 即便 干 扰 信 号 改变 了指 令 内 容 , 能 及 时 自动 恢 复 正 也 器。 运算部件实现数据的各种运算 、 处理和传送操作 , 而控制器时单 常 , 量 减少 因故 障造 成 的损 失 。 尽 片机 的神 经 中枢 。噪声 的存 在 有 可能 导致 C U错误 地 执行 指 令 、 P 控 2 数据 冗余 化 . 3 制寄 存器 中的数 据 被改 写 ,从 而 产 生误 动 作或 得 到 错误 的结 果 , 甚 在 干 扰较 大 的环 境 中 , 数 据冗 余 备 份 , 以大 大 增 加 系 统 的 将 可 至引 起 系统 瘫痪 。 纠错 能 力 。对 于重 要数 据 应 采用 多 备 份 , 增加 专 用 于数 据 检 查 和 并 1 程序 计 数器 P . 2 C 恢复 的代 码 。从 可 靠性 角 度 出发 , 尽 量采 用 片 内 S A 保 存 重 要 应 RM 单片机系统受干扰后最典型的故障是程序计数器 P c的状态被 数据 , 当片 内 S A R M容 量 不 够 时 ,也 可 以 考 虑 扩 展 外 部 非 易 失 性 破坏 , 致程 序 无法 按 正 常 的顺 序执 行 , 地 址 空 间 内“ 飞 ”结 果 S A 作 为数 据 存储 器 , 导 在 乱 , RM 这种 芯片抗 干 扰 性能 很好 , 价 格 较高 。 但 往往 时 陷入 “ 循 环” 死 。因此 , 序计 数 器 P 程 C属 于重 点 防范 对 象 , 它 2 软件 “ 门狗 ” . 4 看 技术 出错 时 必须 尽 可能 早 地发 现并 采 取补 救措 施 。 又 称 程序 监 视 技 术 , 是 不 断监 视 程 序 循 环 运 行 时 间 , 发 现 就 若 1 特殊 功 能 寄存 器 S R . 3 F 超 过 已知 的循 环设 定 时 间 , 就强 迫 程 序 返 回到人 口处 , 系 统 运 行 使 S R对 C U非 常重 要 ,它 实质 上 是 一些 具 有 特殊 功 能 的 R M 重新 纳 入正 轨 。 基 本 思路 是 : 主程 序 中对 T F P A 其 在 0中断 服务 程序 进 行 单元 , 包括各种 I / O寄存器 、 片内部件工作方式寄存器 , 以及堆栈指 监视 ; T 在 1中断服 务 程 序 中对 主 程序 进 行 监视 ;O中断 监视 T T 1中 针 、 据指 针 等 。S R传 递 数据 的速 率 非 常 高 , 够 与 C U 的运 行 断 。 概 率 观点 , 种相 互 依存 、 互 制约 的抗干 扰 措施 将 使 系统 运 数 F 能 P 从 这 相 密切 配 合 。若某 个 S R被 干扰 信号 改 写 , 意 味着 程序 运 行结 果 异 行 的可 靠性 大 大提 高 。 F 则 常 , 则 改 变单 片 机 内各部 件 的操 作 控制 , 则导 致 整 个 系统 的输 轻 重 3 应用 实例 出紊 乱 , 发故 障 甚至 安 全事 故 。 引 因此 , 于 与程 序有 关 的 S R内容 对 F 通 信 电源 系统 的单 片机 软 件运 行 在 电磁 干 扰 很 强 的环 境 中 , 尤 必须提供及时有效 的保护 。 其是 整 流模 块 机 内监 控 软件 运 行在 高 频 大功 率 整 流 模块 内部 , 了 除 1 各 类存 储 器 ME R . 4 MO Y 要 求硬 件设 计 抗 干扰 能 力强 以外 , 件 也要 能 够 具备 足 够 的抗 干扰 软 单片机的存储器包括片 内存储器和片外扩展存储器。其 中, 程 自纠错 能 力 。 序 存 储 器 (E R M 或 E R M 或 F A H 的抗 干 扰 性 能 最 好 ,P EPO PO LS) CU 中兴 智 能 通信 电源 系 统 正是 在 充 分 的硬 件 抗 干 扰 设 计 基 础 上 内部 的数 据存 储 器 ( 内 R M) 干 扰 性能 也 较好 , 片外 扩 展数 据 又恰 当运 用 了软件 抗 干扰 设 计 措施 , 受 住 了各 种严 格 的 可靠 性 检 片 A 抗 而 抗 存储 器( 片外 R M 的 抗干 扰 性 能就 相 对较 差 。因此 , 干 扰 信号 较 验 , A ) 在 以优 异 的性 能 和质 量 获 得 了 国 际 和 国 内用 户 的 广 泛 好评 , 赢 也 强 的 环境 中运 行 的单 片机 , 较 持 久 和重 要 的数 据 应 当保 存 在 片 内 得 了荣 誉 。主 要 的软 件抗 干 扰措 施 包括 以下方 面 : 其 R M中 , A 在扩展 R M 中只宜保 存临时数据 , A 否则应当采用 软件措 3 . 理定 时 器 1物 施 在应 用 程序 中进行 数据 恢 复 。 物理 定时 器是 单 片 机 系统 正 常工 作 的 前 提 , 为避 免 干 扰 导致 其 2 软件 抗 干 扰技 术 工 作 异 常 , 主 程序 循 环 中检 查 其 工作 是 否 正 常 , 不 是 则 重 新 初 在 若 软件 抗 干 扰技 术 是 当系 统 受干 扰 后 时 系 统 恢 复 正 常运 行 或 输 始 化 , 多 次初 始 化仍 无 法恢 复 , 复位 整 个单 片 机 系统 。 倘若 则 3 消息 缓 冲区 . 2 入 信 号受 干扰 后 去伪 求 真 的一 种辅 助 方 法 , 因此 软 件抗 干扰 是 被动 单 片机 系 统 通 过产 生 、获 取 和处 理 消 息来 完成 所 需 的各 项 功 措 施 , 硬件 抗 干扰 是 主动 措施 。软件 抗 干 扰技 术 所 研 究 的主 要 内 而 容 ,其一是采取软件的方法抑制叠加在模拟输入信号上噪声的影 能 , 因此 消息 缓 冲 区是 否正 常 直 接关 系 到 整个 软 件 的 正常 运 行 。程 多 但 响 , 数 字 滤 波技 术 ; 是 在 因 干扰 而 使 运行 程 序 发 生 混乱 , 致 序 正 常 运 行 时 , 数 时候 消 息 缓 冲 区 内没 有 消 息 , 干扰 存 在 时有 如 其二 导 程序乱飞和陷入死循环时 , 采取使程序纳入正轨的措施 , 这些措施 可 能 会改 变 消息 缓 冲 区 中的数 据 ,使得 总有 处理 不 完 的消 息存 在 。 利 用 这一 特 点 , 以判 断消 息 缓 冲 区是 否 正 常并 决 定 是否 需 要 重新 可 可以由软件单独实现, 也可以采用软硬件相结合的方法来实现。 对于已进入单片机 的噪声 , 必须采取对应 措施 , 尽量维持系统 初始化。 33 虚拟 定 时器 _ 功能 , 避免导致严重后果 。如果 C U已产生误动作或和存储器 内容 P 对 于程 序 中的 周期 型 虚 拟定 时 器 , : 描键 盘 定 时 器 、 据采 如 扫 数 已被误修改 ,则应通过在应用程序中加入必要 的代码进行 自恢复 。 通常 的软件抗干扰措施有 : 数字滤波方法 、 输入 口信号重复检测方 集 定 时器 、 理 通讯 定 时器 等 , 处 为避 免 因干 扰 造成 定 时 时 长被 改 变 , 法 、 出端 口数据刷新方法 、 输 软件拦截技术( 指令冗余 、 软件 陷阱) 就应该经常对其检查 , 、 出错时重新设置。 “ 门狗 ” 看 技术 、 故 障时 的 自恢 复等 。 以下 是几 种 常用 的方 法 : 发生 3 液晶 L D . 4 C 21主动 初 始化 . 液 晶是 人机 交 互 界 面 , 是 最容 易 受 N  ̄界 干 扰 的部 分 。程 序 也 ' I - 首先 要 保 证 上 电 或 复位 后 软 件 能够 正 确 地 对 单 片 机 及 其 外 围 中经常检查 L D是否工作正常 ,若不正常则重新初始化 L D和各 C C 器件 的各 种 功 能 、 口或方 式 、 态 等实 现 初始 化 设 置 , 次在 程 序 菜 单 。 �
单片机系统及其抗干扰性分析

布 电容的存在而产生的耦合 。
( 4)电 磁感 应 耦 合
又称 磁 场 耦 合 ,是 由于 分 布 电磁 感 应
照噪 声产 生的 原 因 、传 导方 式 、波 形特 性 等等 进行 不 同的分 类 。 按 产 生 的 原 因分 : 可 分 为 放 电 噪 声 、高 频 振 荡 噪 声 、浪 涌噪 声 。 按 传导 方 式分 :可分 为共 模噪 声和 串模噪声 。 按 波形 分 :可 分为 持续 正 弦波 、脉
愿 能 对 相 关 人 员有 一 定 益 处 。
要考虑 ,使干扰源和被干扰对象 间没有公 共阻抗。 ( ) 电容 耦 合 3 又称 电场耦 合或静 电耦 合 ,是 由于分
一
干 扰 的种 类 成 因及 途 径
干 扰的 分类 有好 多种 ,通 常可 以按
( 6)可控 硅 两端 并 接 R C 抑制 电
严 重时 可能 会 把 可控硅 击 穿 的 ) 。
2 切断干 扰传播路径 切断干扰 传播路径的常 用措 施如下 :
( 1)干扰 源 。指 产生 干 扰 的元 件 、
由于 单鳟机 应 用 系统 的硬 件 电路 构成 复 杂 、
所用 元件品 种繁 多及工 作扬 所环境较 恶劣 等
原 因 , 努 了保 证 单 片机 应 廊 系统 能 够 在 各 种
靠安全运行的主要因素主要来 自系统内部
和 外部 的各 种 电气 干扰 ,并 受 系统结 构 设 计 、元 器件选 择 、安 装 、制 造 工艺影 响 。 这 些 都 构 成 单 片 机 系 统 的 干 扰 因 素 ,常 会导 致单 片机 系统 运行 失常 ,轻 则影 响 产 品质量 和产 量 ,重 则会导 致 事 故 ,造 成 重大 经济 损 失 。 针 对形 成 干扰 的 三个 主要 因素 ,我
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机系统软件抗干扰方法介绍
时间:2012-06-01 18:53:22 来源:
在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。
下面以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中断服务程序中各设一运行观测变量,假设为M Watch、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开始执行有四种可能:一、系统开机上电复位;二、软件故障复位;三、看门狗超时未喂狗硬件复位;四、任务正在执行中掉电后来电复位。
四种情况中除第一种情况外均属非正常复位,需加以识别。
2.1.1 硬件复位与软件复位的识别
此处硬件复位指开机复位与看门狗复位,硬件复位对寄存器有影响,如复位后
PC=0000H, SP=07H,PSW=00H等。
而软件复位则对SP、SPW无影响。
故对于微机测控系统,当程序正常运行时,将SP设置地址大于07H,或者将PSW的第5位用户标志位在系统正常运行时设为1。
那么系统复位时只需检测PSW.5标志位或SP值便可判此是否硬件复位。
图1是采用PSW.5作上电标志位判别硬、软件复位的程序流程图。
图1 硬、软件复位识别流程图
原文网址: /app/mcu/201206/125552.htm。