单片机软件抗干扰编程技术的探讨
合集下载
单片机应用系统软件抗干扰技术

目
A I 蒸 汽 流 量 I一 A 比一 给 水 流 量 P 一 汽 包水 位 v
图 3 锅 炉 汽 包 水位 三冲 量 控 制模 块 图 连接 圈
直蔚 与 蓑 2 0 t ) 0 2 1
■
囫
维普资讯
转。 一个好的程序结构 , 不但能增加程序的可读性, 便
维普资讯
文 章 缩 号 :0 19 4 (0 20 .0 70 10 -9 4 2 0 )10 6 .3
单片机应 用 系统软件抗 干扰技术
赵 晓 莉
( 北 区职3 大学 , 河 - - 天津 30 5 ) 0 10
摘要 :阐述 了工业现场环境 中干扰 的特点 ,井详细介绍 了单 片机 应用系统软件抗干扰技
业现场中各类电器设备相配合。由于工业现场各种 动力设备不断地起停运行 , 使得现场环境恶劣, 存在 许多干扰源 : 系统本身噪声干扰 、 电磁干扰 、 过压干 扰及环境 干扰 。大量 的干 扰源虽不 能 造成硬 件系统 的损坏 , 但常使整个系统不能正常运行 , 致使控制失 灵, 甚至造成重大事故 。因此, 整个系统 的结构和每
2 干扰途 径
不论是外部或是系统本身 的耦合干扰 ,都可导致 应用系统软件 的周期性 、 相关 性、 实时 性受到破坏 , 程 序无法正常运行 , 导致系统失控 , 主要表现为 : () 1设计的应用系统在现场使用 中程序计数器 P c 值发生变化 , 干扰后数 据是 随机 的 , P 在 C值 的错误引 导下 , 程序执行一 系列毫无意义的指令 , 产生预料 以外 的误动作 , 甚至步入死循环 , 使系统失控 。 () 2改变数据 、 标志位 、 输入/ 出口。干扰侵入系 输 统 的前 向通道 ,叠加在信号上 ,导致数据采集误 差加 大,特别是当前 向通道的传感器接 口是小 电压信号输 入 时, 此现象更为严重 。 输入/ 出接 口状态受到干扰 , 输 造 成系统 资源被某 个任 务模块独 占 ,使 系统发生死 锁 当 R M数据 区受到干扰发生变化时 , 的造成数 A 有 据误差 , 的使控制 失灵 , 的改变 程序状 态 , 有 有 有的改 变某些部件工作状态。
单片机应用系统软件中抗干扰技术的探讨

DI NG a g o g Xi n r n (Hu i lColg fIf r t nT c n lg Ja g uHu i n 2 0 3) a l l eo no mai e h oo y, in s a 2 3 0 a e o a
Ab ta t nti a e,tec re tMCU a piain s ts a ay eterao sfritr rn e h o t fta s sin sr c :I hsp p r h urn p l t t u , n lz h e sn o nef e c ,terueo rn miso , c o a e
电路内部 ,一 般包 括晶体管 、电阻以及运算放大器等 零部件 ,
由于这 些零 部件在 运行 过程 中会 产 生噪声 ,如 晶体 管闪 烁 、
电阻热 噪声 或者散粒 噪声 等 ,因此产 生干 扰源 ;其 次 ,在实
行感 性负载切换 过程 中 ,容易产生 噪声干扰 。在单 片机控制 系统 中 ,包含 了若 干感性 负载 ,例如接触器 、电机 、电磁铁 、 交 直流继 电器等 ,它们 的 自感反应 较为敏感 ,在切 换设备 过 程 中,由于受到 电磁感 应作用 ,线 圈 的两 端会产生 极高 的瞬 态电压 ,以此产生干扰问题 【 ;再 次 ,接触 噪声 也是单片机干 扰 的主要来 源之 一 ,由于单 片机 中两种材 料 的不完 全接 触 , 引发导 电率 的起 伏不定 ,进而产生 噪声 。例如 ,晶体管 焊接 位置的接触 不 良、插 头与插座接触 不 良、继 电器各 触点 之间 的接触不 良,等等 ,都可能成为干扰 的来源 。
te rpsdat jmmn c nl yt e sr t tt ettefnt n leurmet ue yteMC h ooe n -a igt h o g nue h e co a rq i ns sdb U. p i e o o a im s h u i e h Ke o d: U ; p l ao ytm sf ae;nijm n t h o g yw rs MC api t nss t r at a mig;e nl y ci e ow - c o
Ab ta t nti a e,tec re tMCU a piain s ts a ay eterao sfritr rn e h o t fta s sin sr c :I hsp p r h urn p l t t u , n lz h e sn o nef e c ,terueo rn miso , c o a e
电路内部 ,一 般包 括晶体管 、电阻以及运算放大器等 零部件 ,
由于这 些零 部件在 运行 过程 中会 产 生噪声 ,如 晶体 管闪 烁 、
电阻热 噪声 或者散粒 噪声 等 ,因此产 生干 扰源 ;其 次 ,在实
行感 性负载切换 过程 中 ,容易产生 噪声干扰 。在单 片机控制 系统 中 ,包含 了若 干感性 负载 ,例如接触器 、电机 、电磁铁 、 交 直流继 电器等 ,它们 的 自感反应 较为敏感 ,在切 换设备 过 程 中,由于受到 电磁感 应作用 ,线 圈 的两 端会产生 极高 的瞬 态电压 ,以此产生干扰问题 【 ;再 次 ,接触 噪声 也是单片机干 扰 的主要来 源之 一 ,由于单 片机 中两种材 料 的不完 全接 触 , 引发导 电率 的起 伏不定 ,进而产生 噪声 。例如 ,晶体管 焊接 位置的接触 不 良、插 头与插座接触 不 良、继 电器各 触点 之间 的接触不 良,等等 ,都可能成为干扰 的来源 。
te rpsdat jmmn c nl yt e sr t tt ettefnt n leurmet ue yteMC h ooe n -a igt h o g nue h e co a rq i ns sdb U. p i e o o a im s h u i e h Ke o d: U ; p l ao ytm sf ae;nijm n t h o g yw rs MC api t nss t r at a mig;e nl y ci e ow - c o
单片机应用系统抗干扰技术的探讨

果 ,然后从硬 件和 软件 两方 面给 出 了解 决的 办法 ,这些 方法可 以提 高单 片机 系统 的稳 定
性 和 可 靠 性
数干扰 ,CP U 将疲于奔命 ,严重影 响系统的工作效率和实时性 。因此 ,一 个成功的抗干扰 系统足由硬件和软件相
结 合构 成 的 。
() 1: 于扰的加入使输 出误差加大 ,
能误 读 写 ,使 程序 计 算 出 错误 的 结 响外部 ,同时外部的 电力线也不会穿透
针 对 以 上 出现 的 问 题 , 本 文 从 硬
干扰的传输 途径,起电场 隔离的作用。
是 产 生 干扰 的重 要 原 因 ,各类 传 感 件和软件方而来探讨提高单片机系统抗 磁路 屏蔽 则采 用高导 磁性 材料 并以封 闭
() 格 。 3表 软件 陷阱一 般 1 宅间 有 2 3 K 个
掉 电信号 由硬件 电路检测到 ,加
到 单片机 的外部 中断输 入端 ,软件中 I 可 以 有 效 拦 截 。 就 4 .4 “ 门狗 ” 技术 看 指令冗余技 术、软件陷阱技术不能 使失控 的程序摆脱 “ 死循环”的困境 ,
器,输入输 出线路 的绝缘损坏均有 可 干 扰 能 力的 方 法 。硬 件 如 果 殴计 得 式结构为妥。
能 引入干 扰 。干 扰产生 的后果 : 当 ,可将绝大部分干扰拒 之门外 ,但 3 .4 良好的接地 片机系统的抗干扰 与系统的接地
2. 数据采集误 差的加大。当干 仍然会有少数 干扰 ,所 以软件措施必 1 扰侵入单片机系统的前向通道叠加在信
可能发生改变 ;虽然 RO 能避免干扰 滤波 技 术 。 M
2干扰的来源和后果
破坏 ,但单片机片内 RA 以及片内各 M
3 .3 抑制电磁场干扰
性 和 可 靠 性
数干扰 ,CP U 将疲于奔命 ,严重影 响系统的工作效率和实时性 。因此 ,一 个成功的抗干扰 系统足由硬件和软件相
结 合构 成 的 。
() 1: 于扰的加入使输 出误差加大 ,
能误 读 写 ,使 程序 计 算 出 错误 的 结 响外部 ,同时外部的 电力线也不会穿透
针 对 以 上 出现 的 问 题 , 本 文 从 硬
干扰的传输 途径,起电场 隔离的作用。
是 产 生 干扰 的重 要 原 因 ,各类 传 感 件和软件方而来探讨提高单片机系统抗 磁路 屏蔽 则采 用高导 磁性 材料 并以封 闭
() 格 。 3表 软件 陷阱一 般 1 宅间 有 2 3 K 个
掉 电信号 由硬件 电路检测到 ,加
到 单片机 的外部 中断输 入端 ,软件中 I 可 以 有 效 拦 截 。 就 4 .4 “ 门狗 ” 技术 看 指令冗余技 术、软件陷阱技术不能 使失控 的程序摆脱 “ 死循环”的困境 ,
器,输入输 出线路 的绝缘损坏均有 可 干 扰 能 力的 方 法 。硬 件 如 果 殴计 得 式结构为妥。
能 引入干 扰 。干 扰产生 的后果 : 当 ,可将绝大部分干扰拒 之门外 ,但 3 .4 良好的接地 片机系统的抗干扰 与系统的接地
2. 数据采集误 差的加大。当干 仍然会有少数 干扰 ,所 以软件措施必 1 扰侵入单片机系统的前向通道叠加在信
可能发生改变 ;虽然 RO 能避免干扰 滤波 技 术 。 M
2干扰的来源和后果
破坏 ,但单片机片内 RA 以及片内各 M
3 .3 抑制电磁场干扰
单片机抗干扰处理技术的探讨

【 编号]17 — 0X20 )4 06 — 2 文章 6 1 82 (0 80— 0 30
单片机抗干扰处理技术的探讨
余蓓 敏
( 安徽 电子信 息职业技术学院, 安徽 蚌埠 2 33 ) 3 00
[ 摘 要 ] 片机在 现代 生活 中得 到 了非常广泛的应 用 , 单 尤其是在 工业控 制场合 , 对其 工作的 可靠性也提 出了更 高的要 求 。在单片机 受到干扰 发生程序 跑飞或者死循环等现 象时, 导致程序 失控 , 将 其后果往往是不堪设 想的 , 文从 几个方 面对 此 本
一
WATCHD0G : M 0V PUS H PUS H R I ET ERR0: C R L PUS H PUS H
DP TR.
DP L DP H
规 RR0
;C
AC C
; 入复 位地 址 压
、
软件 的 wAT H G监 视 系统 实现 C D0
是 会 造 成 很 不 好 的后 果 , 因此 人 们 更 加 愿 意 采 用硬 件
喂 狗 , 看 门狗计 数器 就 会溢 出而引起 看 门狗 中断 , 系 则 使 统 复位 。 在 85 单片机 中要实现上述功能需要牺牲其一个 01 定 时器 ( 当然 也 可 以让 定 时器 来 兼 职 ) 假 如 晶振 频 率 为 , 6 z则 T MH , D在方式 0的条件下每 1m 喂狗 一次, 0s 则定 时初值可设为 T O O H、L =8 。在 1m 内必须重新 H = C T 0 7H 0s 置初值 , 否则将被认为是程序跑飞或进入死循环。 在系统 中必须对 1 进 行初 始化 , 程序 如 下 : 、 O 其 MO V T D, # O MO 0 H ;O为 1 为定 时器 T 3位 ST E EB A ; 开 中断 总允许 位 打
单片机抗干扰处理技术的探讨
余蓓 敏
( 安徽 电子信 息职业技术学院, 安徽 蚌埠 2 33 ) 3 00
[ 摘 要 ] 片机在 现代 生活 中得 到 了非常广泛的应 用 , 单 尤其是在 工业控 制场合 , 对其 工作的 可靠性也提 出了更 高的要 求 。在单片机 受到干扰 发生程序 跑飞或者死循环等现 象时, 导致程序 失控 , 将 其后果往往是不堪设 想的 , 文从 几个方 面对 此 本
一
WATCHD0G : M 0V PUS H PUS H R I ET ERR0: C R L PUS H PUS H
DP TR.
DP L DP H
规 RR0
;C
AC C
; 入复 位地 址 压
、
软件 的 wAT H G监 视 系统 实现 C D0
是 会 造 成 很 不 好 的后 果 , 因此 人 们 更 加 愿 意 采 用硬 件
喂 狗 , 看 门狗计 数器 就 会溢 出而引起 看 门狗 中断 , 系 则 使 统 复位 。 在 85 单片机 中要实现上述功能需要牺牲其一个 01 定 时器 ( 当然 也 可 以让 定 时器 来 兼 职 ) 假 如 晶振 频 率 为 , 6 z则 T MH , D在方式 0的条件下每 1m 喂狗 一次, 0s 则定 时初值可设为 T O O H、L =8 。在 1m 内必须重新 H = C T 0 7H 0s 置初值 , 否则将被认为是程序跑飞或进入死循环。 在系统 中必须对 1 进 行初 始化 , 程序 如 下 : 、 O 其 MO V T D, # O MO 0 H ;O为 1 为定 时器 T 3位 ST E EB A ; 开 中断 总允许 位 打
单片机应用系统中的抗干扰技术

干扰 是工业微机控制系统 中不可避免 、 最 难解决 的问题 , 直接影 响到 系统 的可靠性 。 干扰 可 以以场 的形式入侵微机 系统 。 外电网污染 、 此 系统 内部干扰 等都属于干扰源 。干扰对微机 系 统 的作用可分为三个方面 : 一是输入 系统 。 使 它 模拟信号失真 , 数字信号出错 。二是输 出系统。 它使各输 出信号混乱 ,不能真正反应 出微机 系 统 的真正输 出量 。 三是微机 系统 的内核 。 前两项 是针对输入输 出通道的抗干扰措施 ,干扰还 未 作用 到 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 ) 摘 要: 为了保证单片机产 品能够长期稳定、 可靠地工作 , 在产 品设计 时必须对抗干扰 能力给 予足够 的重视, 尤其在软件方面, 而且很容易造成数据 采集误 差增大 , 程序- ‘ ‘ 飞走 ” 失控或陷入死循环等严重的后果。所以提 高单片机软件系统的抗干扰 能力是很有必要 的。 关键 词: 单片机 干扰 软件 滤波
特别是单片机产品。由于产品本 身比较复杂 , 再加上工作环境比较恶劣 ( 如 温度和湿度高, 有振动和冲击, 空气中灰尘 多, 并含有腐蚀性气体 以及 电磁
场的干扰等) , 同时还要受到使用条件 ( 包括 电源质量 、 运行条件、 维护条件 等) 的影响, 因而可以毫不夸张地说 , 当代世界的干扰如同环境污染 一样 , 正 危机着现代工业的各个方面。抗干扰方面的课题不但有许多实际问题要解 决, 而且有不少理论问题要探讨。 软件的抗干扰设计 是单片机应用系统的一个重要组成部分。干扰对单
浅谈单片机系统常用的软件抗干扰措施

除 了封 上述罩 片檄 内部 资源 造行榆测外 , 系 封 统中其它的接几鼋路 ,比如搪展的 EP O R M、 / AD 蒋换鼋路 、外 接的傅感器 霞路等 .均虑通遇软件造
行榆测,碓定是否存有故障。 - 祗有常上述各项榆查均能正常通遇, 才可缝绩 孰行程序 ,否则虑给 出相虑 的出错提示信息 。
容逐- ̄/ 後得到的一侗数值 ,教值便祸禺校聪 u m 和 。R M 单元存 储 的是 程序 、常数和表格 。一 旦 O 程序 编窝完成 ,R M 中的 内容 就碓定 了 ,其 校黪 O 和也就是唯一的。若 R M 校黔和出错,虑给出聱 O 光或其它形式的 R M 出错提示信息, O 等待扇理L。 1 J 22 系统 R . AM 罩 元的检 测 榆查 R M 蓿 商是否正 常 。常向 R M 单元窝 A A “0 ” , 出磨届“0 ” 0H 畸 0H ,再 向其 宿“F ” F H ,籀出 也 虑禺“F 。若 R F H” AM 罩元演 宿出错 ,愿给出罄 光或其它形式的 R M 出错提示信息 .等待魔理。 A 同畴 ,在寅陈 虑用畸 虑兹 注意 ,R M 中的重要 内 A 容要分 匾存 放 ,并缨 常连行 比较榆 查 。 23 系统 I 口戕熊 的检 测 . / O 首先 ,虑碓定 系统的 I 几在待檄 晴愿虎 的状 / O 悲 .然後梭 测罩 片楗 的 I 口在待楗状 憋下是 否正 / O 常 ( 是否有短路或阳路琨象等 ) ,若不正常 , 也愿 给出出错提示信息 ,等待成理。
由于 C U取指令进 程是先 取操作碣 ,再取操作 数 , P
凿P C受斡攫 出现 错误畴 , 序便脱 靛正常轨道 “ 程 乱 ”( 跑 )。富其 “ ”落到某 竖字 箭指令 ,若
此 推 。它 的傻 黠在 于编程 f 作筒 单 ,缺黠是降低 了数攮采集 的速 率 。 J
以单片机为核心的工控计算机软件抗干扰技术分析

【 高新技术产业发展 】 鬟翳 VALL EJ L
以 单 片 机 为核 心 的 工 控 计 算 机 软 件 抗 干 扰 技 术 分 析
景军梅 ’ 2 ( 1 . 同济大学软件学 院 上 海 2 0 0 0 9 2 ;2 . 宁夏师 范学院 宁夏 固原 7 5 6 0 0 0 ) 摘 要 :分析 以单 片机为核 心的工控 计算机软 件抗 电磁 干扰 途径和软件 执行 的结构特 点 ,介 绍软件编 制 中常 采取 的 自 监 视法 、互监视 法的 软件抗 干扰措 施 ,有效保 证工控 系统抗干扰 能力 。
1工控 计算机 软的结构 特点及 干扰途 径
在 不 同 的 工 控 系 统 中 ,软 件 虽然 完 成 的 功 能 不 同 ,但 就 其 结构 来说 ,一般 具有如下特 点:①实时响应 :及 时处理控 制系 统 中的随机发 生事件 。②周期运 行:软件在初始 化完成后 ,随 之 进 入 主 程 序 循 环 运 行 。③ 中 断 响应 优 先 级 判 断 : 优 先 响 应 高 优 先 级 中 断 请 求 。④ 中 断 嵌 套 : 低 优 先 级 中 断执 行 过 程 中 ,可 以优 先 执 行 更 高 级 的 中 断 请 求 。⑤ 模 块 化 关 联 : 软 件 由多 个 任 务 模 块 组 成 ,各 模 块 相 互 关 联 ,相 互 依 存 。⑥ 可 操 控 性 :允 许 操 作 人 员 干 预 系 统 的 运 行 ,调 整 工 作 参 数 。 在 工 业 现 场 环 境 的 干 扰 下 ,工 控 软 件 可 能 受 到 破 坏 , 导致 工 业 控 制 系 统 失 控 ,其 表 现 是 :① 干 扰 叠 加 在 模 拟 量 信 号 上 , 导 致 模 拟 量 数 据 采 集 误 差 加 大 或 超 出 量 程 。 ② 由 于干 扰 导 致 主 频 晶 振 频 率 的 偏 离 和 不 稳 定 ,从 而 致 使 定 时器 / 计 数 器 的 中断 频 率 变 化 , 引起 记 数 错 误 、 时 钟 异 常 。③ 通 讯 时 序 的异 常 或 干 扰 信 号 的叠 加 ,都会 引起 通讯不 正常 。④程序计数 器P c 值 改变 : 被 干 扰 后 的P C 值 是 随机 的 , 因 此 引 起 程 序 执 行 混 乱 ;输 入 / 输出 接 口状 态 受 到 干 扰 ,造 成 控 制 状 态 混 乱 , 系 统 发 生 “ 死锁 ”; R A M 数 据 区受 到干 扰 , 导致 R A M 区数据改变或丢失。
以 单 片 机 为核 心 的 工 控 计 算 机 软 件 抗 干 扰 技 术 分 析
景军梅 ’ 2 ( 1 . 同济大学软件学 院 上 海 2 0 0 0 9 2 ;2 . 宁夏师 范学院 宁夏 固原 7 5 6 0 0 0 ) 摘 要 :分析 以单 片机为核 心的工控 计算机软 件抗 电磁 干扰 途径和软件 执行 的结构特 点 ,介 绍软件编 制 中常 采取 的 自 监 视法 、互监视 法的 软件抗 干扰措 施 ,有效保 证工控 系统抗干扰 能力 。
1工控 计算机 软的结构 特点及 干扰途 径
在 不 同 的 工 控 系 统 中 ,软 件 虽然 完 成 的 功 能 不 同 ,但 就 其 结构 来说 ,一般 具有如下特 点:①实时响应 :及 时处理控 制系 统 中的随机发 生事件 。②周期运 行:软件在初始 化完成后 ,随 之 进 入 主 程 序 循 环 运 行 。③ 中 断 响应 优 先 级 判 断 : 优 先 响 应 高 优 先 级 中 断 请 求 。④ 中 断 嵌 套 : 低 优 先 级 中 断执 行 过 程 中 ,可 以优 先 执 行 更 高 级 的 中 断 请 求 。⑤ 模 块 化 关 联 : 软 件 由多 个 任 务 模 块 组 成 ,各 模 块 相 互 关 联 ,相 互 依 存 。⑥ 可 操 控 性 :允 许 操 作 人 员 干 预 系 统 的 运 行 ,调 整 工 作 参 数 。 在 工 业 现 场 环 境 的 干 扰 下 ,工 控 软 件 可 能 受 到 破 坏 , 导致 工 业 控 制 系 统 失 控 ,其 表 现 是 :① 干 扰 叠 加 在 模 拟 量 信 号 上 , 导 致 模 拟 量 数 据 采 集 误 差 加 大 或 超 出 量 程 。 ② 由 于干 扰 导 致 主 频 晶 振 频 率 的 偏 离 和 不 稳 定 ,从 而 致 使 定 时器 / 计 数 器 的 中断 频 率 变 化 , 引起 记 数 错 误 、 时 钟 异 常 。③ 通 讯 时 序 的异 常 或 干 扰 信 号 的叠 加 ,都会 引起 通讯不 正常 。④程序计数 器P c 值 改变 : 被 干 扰 后 的P C 值 是 随机 的 , 因 此 引 起 程 序 执 行 混 乱 ;输 入 / 输出 接 口状 态 受 到 干 扰 ,造 成 控 制 状 态 混 乱 , 系 统 发 生 “ 死锁 ”; R A M 数 据 区受 到干 扰 , 导致 R A M 区数据改变或丢失。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
!
系统“跑飞”的软件处理技术
图*
+$ 中断程序监控工作原理
+# 中断服务程序监控 +$ 中断服务程序的运行状 态,+# 中断优先级高于 +$,在系统中设定 %$、 %’ 两个单元监测 +$ 的运行,%$ 的初始值为 ##., +$ 每 中断一次,%$ 自动加 $,在 +# 中断服务程序中检测 %$,若 %$ / #,则说明 +$ 工作正常,此时,中断程 序将 %$、 %’ 单元清零,正常中断返回。若 %$ 0 #, 则 %’ 1 $,并检测 %’ 是否大于 ! , ! 由下述公式计 算,假设 +# 中断定时时间为 ’# 23, +$ 中断定时时 间为 $# 23, +$ 最大允许失效时间为 +极限 0 4# 23。 ! "’# & +极限 ! & ! 若 ! / !,则说明在 4# 23 的时间里 +$ 没有正常 中断,肯定是 +$ 发生了故障。设 ,5 0 %$、 ,* 0 %’, 其工作原理如图 5 所示。 由于 +# 的中断优先级高于 +$,所以 +$ 无论是 发生“中断故障关闭”还是“死循环”都会被 +# 检 测出来。 这种多重故障监视法,使得系统有很高的抗干扰 能力,但也要注意,定时器 +# 是整个抗干扰系统的
图)
主程序监控工作原理
万方数据 图 ! 高级看门狗工作模式
%# 中断程序除完成系统要求的特定监控任务之 外,还要监控主程序的运行状况,在系统中设置一个 中断 %# 的计数器 -,每发生一次 %# 中断, - 加 #, 该计数器在主程序入口处循环清零,主程序运行时间 为 - 与 %# 中断定时时间的乘积,若 %" 测得 - 中的 数值所表示的时间超过主程序一次正常测控循环的限 定时间,则说明主程序陷入死循环, %" 中断程序返 回 """", 处,重新引导系统,使系统逃出死循环。假 设主程序中一次测控循环时间为 &" ’(,而 %# 中断定 时时间为 #" ’(,%# 中断服务时间为 & ’(,则: -极限 !" # $" % $" & . $&(余量)
9 概述
作为嵌入式系统典型应用的单片机应用系统,其 工作环境较之其他类型的计算机系统的工作环境要恶 劣,但又往往要求单片机系统具有很强的实时响应功 能,对外界环境能够实时反应,这就要求单片机系统 具有很高的工作可靠性,有一定的抗干扰能力。单片 机应用系统的抗干扰技术一直是系统开发者所关心的 问题之一,在有些应用开发中,提高系统的抗干扰能 力甚至是系统开发能否成功的关键。抗干扰技术主要 有硬件抗干扰和软件抗干扰两种方法。 所谓硬件抗干扰技术主要是指采取合理的选择器 件、输入 N 输出光电隔离、对 1? 器件配置合理的去藕 电容、按可靠性原则合理的设计 O?/ 板等措施,从而 抑制外界有害信号对系统的干扰的抗干扰方式。是一 种主动抗干扰方式。 而软件抗干扰技术主要是指在单片机系统中建立 抗干扰软件子系统,当受到外界干扰后,若系统程序 脱离正常运行状态,系统中的抗干扰子软件系统将引 导系统程序进入正常的运行状态的软件技术。是一种 被动式抗干扰技术。 有资料表明,计算机系统受到外界干扰后,,#P 的故障表现为系统应用程序脱离正常的工作轨道,从 而导致系统瘫痪或工作不正常,因此文章主要讨论如 何用软件方法使由于外界干扰导致不正常工作的系统
收稿日期: "##" ( #) ( #$。 作者简介: 李强 (%’*$ ( ) , 男, 陕西省西安市人, 硕士, 工程师, 主要从事嵌入式应用系统、 计算机智能控制方面的应用研究。
程序进入正常的运行状态。 系统软件工作不正常主要有以下两种形式,一是 程序“跑飞” ,二是程序进入“死循环” ,针对以上两 种情况探讨软件对策。也就是讨论如何用软件方法引 导系统程序恢复正常的工作状态。
・ "’’ ・ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
("##$) 文章编号: %*)% ( &+’, #& ( #"’’ ( #& 中图分类号: -.’)$ ! $ 文献标识码: /
万方数据
(")程序正常运行时,定期进行 -% 计数初值重 置(喂狗) ,正常情况工作模式如图 % 所示;异常情
・ !"" ・ 计算机测量与控制 第 ## 卷 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 况工作模式如图 $ 所示。 高级软件看门狗技术:该软件技术的编程思想如 图 ! 所示。利用两个工作于中断方式的定时器和主程 序之间实现互锁监控,从而提高软件系统的工作可靠 性。 当系统受到干扰后,可能出现以下情况,主程序 发生死循环、中断程序发生死循环、由于中断方式字 遭到破坏而关闭中断,由 %# 中断服务程序监视主程 序可能发生的死循环,由主程序监视 %" 中断可能发 生的故障关闭,而由 %" 监视 %# 可能发生的故障关闭 和死循环,采用这种多重故障监视法,使系统的可靠 性得到了极大地提高。 该软件程序主要由主程序, %" 中断服务程序和 %# 中断服务程序 ! 部分组成,其中 %" 可设为高级中 断,而 %# 为低级中断。这样 %# 中断程序可以被 %" 所中断,形成中断嵌套。 主程序除完成正常的测控工作之外,还要监测 %" 是否由于外界干扰而关闭。因此,设定 %" 定时时 间小于主程序的测控循环时间,如主程序测控循环时 间为 &" ’(,而 %" 定时时间为 $" ’(,工作原理如图 ) 所示。这样在主程序的一个测控循环中 %" 应至少产 生一 次 中 断,可 以 在 程 序 中 设 定 一 个 测 试 位 * + ($",) ,每次 %" 中断发生时将 * 置位,在主程序正 常的测控循环入口处,将 * 清零,在测控循环的出 口处测试 * 是否为 " ,若为 ",说明 %" 中断已经由 于外界干扰而关闭,主程序转到地址 """", 处,系统 重新复位引导,若 * 为 # 说明 %" 工作正常。
第!期 李强:单片机软件抗干扰编程技术的探讨 ・ "#$ ・ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! %极限 & $# 时间余量一般为主程序中一次正常测控循环时间 的 ’#( ) *#( ,中断 +$ 计数器为 ,-, +# 中断服务 程序中如测得 ,- & %极限 ,则系统工作正常,否则, 主程序陷入死循环,中断程序做出错处理。工作原理 如图 * 所示。 最薄弱环节,若它发生了死循环,抗干扰系统是无法 检测到的,因此, +# 中断服务时间应当尽可能的缩 短,以减少故障几率。
主程序: QR1.:………… 定时方式。 QST -QS7, U %#V ; -% 工作在模式 %, 定时器 % 赋计数初值, QST -V%, U ’WV ; QST -0%, U +,V ;单片机系统的主频为 *QVX QST 1W, U ,#V;; ?OC ( 〉 -% 开中断。 ; 启动 -% AW-/ -Y% ………… 中断程序: -%: 0ZQO ####V;程序从 ####V 处重新复位运 行。
/&%01 "2 3,&4 ( 4,&’(2’(’,5’ )’*+%(’+ 61 /1+&’# /"2&7*(’ 4, )45("5",&("..’(
01 23456
(7894:;<85; => ?=<9@;8:, AB4=6@45 C53D8:E3;F, AB4=6@45 +%"###, ?B354) 36+&(*5&:-B8 45;3 ( 35;8:>8:85G8 ;8GB53H@8 IF EFE;8< E=>;J4:8 3E =58 => 3<9=:;45; <845E ;= 35G:84E8 K8985K4I3L3;F => <84E@:356 M G=5;:=LL356 EFE;8<! 15 :8G85; F84:E,;B8 ;8GB53H@8 B4E I885 499L38K <=:8 45K <=:8! ;B8 ;8GB53H@8 3E E;@K38K G=<9L8;8LF! 8’1 7"(0+:<84E@:356 M G=5;:=LL356 EFE;8<;45;3 ( 35;8:>8:85G8;<3G:=G=5;:=LL8:;9:=6:4<356 ;8GB53H@8
:
系统进入“死循环”的处理
基本软件看门狗软件技术:看门狗技术的基本思 想是用一个中断方式工作的定时器监视系统程序的工 作,一旦系统主程序由于某种干扰而陷入死循环,则 定时器触发定时中断程序将系统重新复位引导,从而 使系统脱离死循环进入正常工作状态。因此,软件看 门狗的工作模式主要由两部分组成, “养狗”和“喂 狗” 。举例如下: ,用定时器 -% 工作模式 % (%) -% 初始化(养狗) 进行 +# <E 中断定时,一旦 +# <E 定时时间到,中断 响应,转中断处理程序,将系统重新复位引导。