单片机在嵌入式系统应用中的抗干扰措施

发布者:捡漏来了最新更新时间:2008-01-22 来源: article.ednchina.com关键字:单片机系统  抗干扰措施  看门狗  嵌入式系统  单片机应用  应用系统  浪涌电压  电场干扰  分布电容  去耦电容 手机看文章 扫描二维码
随时随地手机看文章

  单片机在嵌入式系统应用中,抗干扰性能是系统可靠性的重要指标,抗干扰设计是单片机系统研制中不可忽视的一个重要内容。本文根据笔者在实际工作中的体会,就单片机在嵌入式系统应用中的抗干扰问题进行探讨,并给出了排错设计、容错设计的一些方法和措施。

  随着科学技术的迅速发展,单片机在各个领域中的应用越来越广泛。在众多的应用系统中共同面临的一个问题,就是它在应用系统中的可靠性,这就要求我们在设计时应根据现场具体情况,在硬件设计、线路板设计、软件设计等方面来采取相应的抗干扰措施。

  一、抗电源干扰的措施

  大部分单片机嵌入式系统都采用市电电源供电,在应用系统中一个很重要的干扰就来自电源。市电的各种干扰,如雷电、大容量感性负载的起停等,都会造成电源瞬间欠压、过载,产生浪涌、下陷、尖峰等干扰,但我们可采取如下有效抗干扰措施。

  1.用压敏电阻抑制尖峰、浪涌

  压敏电阻两端的电压如超过其限定值时,电流会迅速增大,呈短路状态,利用这一特点,可以用它吸收瞬间的尖峰、浪涌电压。压敏电阻并联在电源变压器的初、次级,加入压敏电阻后,电源干扰造成单片机程序失控的可能性减小。压敏电压的

  计算公式为:VIMA=1.56×32×V~(V~:交流电压有效值)

  2.滤波器抑制高频干扰

  市电中含有多种高次谐波,它们很容易经电源进入单片机系统,另外一些射频发射、电磁波等也会由电源线感应反馈入单片机系统造成干扰,因此在电源电路中加入低通滤波电路让50 Hz市电基波通过,抑制掉高频信号。此外在电源变压器的初次级之间均用屏蔽层隔离,减少其分布电容,提高抗共模干扰的能力。

  图1中列出了几种不同形式的滤波电路。

  二、印刷电路板的抗干扰设计

  印刷电路板是单片机应用系统中器件、信号、电源线的高密度集合体,印刷电路板设计的好坏对抗干扰能力的影响很大。

  1.电源线、地线的设计

  在单片机应用系统,接地是抑制干扰的重要方法。线路板上既有逻辑电路,又有模拟电路,两者的地线要分别与电源端地线相连。低频电路的地线尽量采用单点并联接地,高频电路宜采用多点串联接地。接地线如果很细,接地电位则随电流的变化而变化,使系统抗噪声性能变坏,因此应加粗接地线条,使它能通过3倍于印刷电路板上的允许电流。

  电源线与地线应尽量靠近走线以减少所包围的环路面积,从而减少外界磁场对环路切割而产生的电场干扰,同时也减少环路对外电磁辐射。电源线、地线的走向与数据传递方向一致也有助于增强抗噪声能力。

  2.一些特殊措施

  在印刷电路板的各个关键部位配置去耦电容应视为印刷电路板设计的一项常规做法。原则上每个集成电路芯片都应安置一个0.01μF的瓷片电容排除射频耦合干扰,电容引线不能太长,应紧靠芯片的电源线、地线。如印刷电路空隙小装不下时,可每4~10个芯片安置一个1~10μF的限噪声用的电容钽电容。线路板布局时,应使单片机的振荡晶体尽量放在单片机两引脚近端。

  三、程序运行失常的对策

  前面所介绍的抗干扰措施仅是尽量减少干扰,提高系统运行的可靠性,但在恶劣的工作环境下程序长期运行仍可能失控:PC值指向操作数,将操作数作为指令码执行;PC值超出应用程序区,将非程序区中的随机数作为指令码运行。不管何种情况,都会造成程序的非正常运行或死机。看门狗就是在程序跑飞或死机时,对系统进行重新置位或复位,使系统恢复正常运行的一种专用电路。常用的看门狗有2种:软件狗和硬件狗。

  1.硬件看门狗

  所谓硬件狗,就是一个能发出“复位”信号的计数器或定时器电路。图2是一个硬件看门狗电路。其工作原理是:P1.0作为看门狗的“喂狗”信号定时给出一脉冲,设其脉冲间隔为△t<tw<2△t,当程序正常运行时,每隔△t输出一脉冲触发CC4098单稳电路,使始终为低电平,若程序一旦出现异常,不能在tw时间内送出一“喂狗”脉冲,产生一正脉冲,使单片机系统复位,使其能重新正常运行。

  

  

  现在已有许多更先进的集电源监视和“看门狗”于一身的新型芯片,如MAX705、MAX706、MAX813L等,有的还具备掉电检测、备用电池自动切换功能。

  2.软件看门狗

  软件狗实际上就是通常所说的软件陷井。它是在程序存储器的空余地址中全部填上1条跳转指令,一旦程序跑飞,只要程序指针指向这些地址,便立即被强行跳转至程序开头或其他指定地址处,从而使程序继续正常运行。

  四、软件中的抗干扰措施

  提高系统可靠性的方法有排错设计和容错设计。前面提到的排错设计并不能将干扰完全解决。而容错就是允许系统发生故障,借助冗余技术使其自动抵消,在故障存在的情况下也能使系统正常运行。下面介绍一下常用的几种软件容错方法。

  1.数据采集误差的软件对策

  对于实时数据采集系统,为了消除传感通器中的干扰信号,在硬件上常采取模拟滤波器对信号实现频率滤波,也可以用CPU的运算控制功能也可以实现频率滤波,这就是数字滤波(软件滤波)。对一点数据连续采样多次,计算其平均值,以平均值作为点的采样结果,这样可以减少系统的随机干扰对采集结果的影响。根据干扰造成采样数据偏大或偏小的情况,对一个采样点连续采集多个信号,对采样值进行比较,取中值作为该点的采集结果。还可利用软件完成RC低通滤波器的算法,实现用软件方法代替硬件RC滤波器。一阶递推数字滤波公式为

公式

  式中:Q为数字滤波器时间常数;Yn为第n次采样时的滤波输出;Xn为第n次采样时的滤波输入。

  2.时间冗余

  在程序的适当位置设置若干检查点,在每一个检查点保存程序在该检查点之前正确运行而得到的全部信息及标志。如果故障是暂时性的,则程序卷回到上一检查点开始重新执行,这样可以完全消除错误,其框图如图3所示。但它只能检出而不能消除永久性故障,用时间换取可靠性。

卷回操作程序框图

  3.N版本程序设计

  N版本程序设计,是为某一个确定功能而独立编制的几个程序同时运行,其结果是

通过这些独立程序的运行结果经多数表决而得到的,其结构框图如图4所示。N版本程序设计中,特别强调N版本,因为如果各程序采用了相同的结构、相同的算法,就有可能产生相同的错误而使多数表决失败。

N版本程序结构框图

  N版本程序设计中包含了程序设计上的冗余,用效率换取可靠性,能容忍设计错误的能力,还能屏蔽某些类型的暂时性硬件故障。

  数据的冗余保护也是N版本程序设计思想的应用。将重要数据同时存入几个不相邻的存储单元,由于不相邻存储单元因干扰而被同时改写的可能性很小,即使有一两个存储单元出错也能得到正确的数据。

  4.弃权规则

  就是当程序运行或继续运行的某些必要条件未能具备时,放弃对这些条件的要求,不是产生等待、中断、出错或停机,而是采用跳过、转移、N-1、默认等方式保证程序继续运行,这些方法只适用于屏蔽暂时故障,所以要求同时产生报警输出,以便确定是否需要人为干预来消除永久故障。弃权规则首先要不影响程序的正确性和适应用性。

  (1)跳过

  在不影响控制系统正常运行的前提下,跳过条件不具备而导致故障的模块向下执行,这是软件失效运行的形式之一。所谓软件失效运行就是在故障发生时先把故障模块从系统中断开,再对系统的其余模块进行重构,使系统能继续运行,但功能降低,即降级运行。可靠性的提高是以某些功能的损失为代价的。

  (2)N-1方式

  N-1方式是基于控制程序的循环执行特性,即采用上一次循环(第N-1次)的数据代替本次循环(第N次)所需的却未出现或未具备的数据。这种方法特别适用于缓变的被控对象。例如某次控制输出被判断为不合理,则利用上次循环的输出来代替它。

  (3)默认

  默认也是弃权规则形式之一,与跳过不同的是采用预先置入的合理条件代替未具备的条件,即默认条件存在。例如将非法输入的操作指令默认的无输入,继续原操作。

  总之,弃权规则的目的是使工作在实时方式的控制系统保证连续运行,以确保被控系统长期稳定工作,虽然系统的功能有可能降低。

  控制系统常用的软件容错方法很多,还有非正常性规则、失效保险设计等,在此就不不一一介绍。排错设计和容错设计的方法也很多,要根据现场情况选择适当的方法。以上介绍的抗干扰措施是在长期实践中摸索出的一些经验,在此提出仅供参考。

关键字:单片机系统  抗干扰措施  看门狗  嵌入式系统  单片机应用  应用系统  浪涌电压  电场干扰  分布电容  去耦电容 引用地址:单片机在嵌入式系统应用中的抗干扰措施

上一篇:微处理器的低功耗芯片设计技术
下一篇:基于C167CS微控制器的数字化电梯系统

推荐阅读最新更新时间:2024-03-16 12:22

ATmega16 看门狗复位
看门狗定时器溢出时将产生持续时间为1 个CK 周期的复位脉冲。在脉冲的下降沿,延时定时器开始对tTOUT 记数。请参见P40 以了解看门狗定时器的具体操作过程。
[单片机]
ATmega16 <font color='red'>看门狗</font>复位
基于ADV7125的嵌入式系统VGA接口设计
目前VGA接口是计算机系统以及智能仪器中重要的标准输出接口,但是大部分硬件系统选择LCD终端输出。很多显示设备,如常见的CRT或LCD显示器一般都采用统一的15针VGA显示接口。如需要外接这些设备,则需要把LCD输出信号的接口转换为VGA接口。本设计是在三星公司芯片S3C2440平台下,利用最高频率可以达到330 MHz的ADV7125芯片,设计了能够把输出的LCD信号转换为VGA信号的转换电路。该设计方案具有电路简单、价格低廉、输出图像清晰稳定等特点。 1 ADV7125芯片介绍 ADV7125是一款单芯片、3通道、高速度的数模转换器。内置3个高速、8位、带互补输出的视频DAC、1个标准TTL输入接口,以及1个高阻抗、模拟输出电
[单片机]
基于ADV7125的<font color='red'>嵌入式系统</font>VGA接口设计
软件抗干扰技术及其在单片机上的应用
1 引 言 微机测控系统中,对软件有以下几个方面的基本要求:   (1)可维护性:要求尽可能地采用模块化设计,程序流程清晰明了,最大限度地控制使用和调用嵌套次数;   (2)可理解性:软件源代码应注意加注提示内容,一般应不少于整个代码行数的60%,使其易于理解和阅读,便于修改和补充;   (3)实时性:随着集合度和运算速度的提高,实时性已经成为测试系统对软件的普遍要求,在工程应用软件设计中,采用汇编语言要比采用高级语言更具有实时性;   (4)准确性:系统要求在进行大量运算时,要选取合适的算法,以便控制最后结果的精度;   (5)可靠性:可靠性是测控软件最重要的指标之一,他要求两方面的内容:一方面是运行参数环境发生变化
[单片机]
软件<font color='red'>抗干扰</font>技术及其在<font color='red'>单片机</font>上的<font color='red'>应用</font>
基于DS1075的8051高速单片机串行通信的时钟新配置
1引言 在当今许多实时监测系统与通信系统中,经常需要进行远距离的数据传送,为此,如何实现高速、可靠及低成本的数据传输是前级机或发送级8051单片机迫切需要解决的新技术。据此,笔者采用Dallas Semiconductor公司生产的DS1075芯片-EconOscillator(高效型振荡器)为8051系列高速单片机DS87C520提供时钟的配置设计方案,从而实现了单片机DS87C520串行通信的高速波特率。 与众不同的Econ Oscillator(高效型振荡器)DS1075内含一个振荡器,可用于产生一个基本频率;同时它还内置了一个分频链,可以将基本频率降低到需要的频率。每种Econ Oscillator均可提供四种基本频率
[单片机]
基于DS1075的8051高速<font color='red'>单片机</font>串行通信的时钟新配置
TDK现推出带集成去耦电容器的杂散场稳健性3D HAL位置传感器
基于霍尔效应的新型3D传感器,可对均匀场和梯度场进行主动杂散场补偿 带集成电容器的单模三引脚TO92UF引脚封装 元件架构灵活度高,可支持各种数字接口(双线和三线PWM 输出,符合SAE J2716 rev. 2016和PSI5 rev. 2.x版本的SENT) TDK公司 凭借霍尔传感器系列HAC® 39xy*扩展了其Micronas 3D HAL® 传感器产品组合,该系列带集成电容器,可用于汽车和工业应用中的杂散场稳健性位置检测。TO92UF封装专为无PCB应用设计,同时结合了具有杂散场补偿功能的HAL® 39xy*系列芯片和最多两个上至330 nF的电容器。新型传感器适用于多种应用,包括阀门和执行器、换档器、传动系统或制
[传感器]
基于XScale处理器的天线控制系统的设计
   0 引言   随着信息社会的到来,人类的生产方式、生活方式以及工作方式也随着现代技术的不断发展而发生变化。无论在民用还是军用方面,都需要一种可以在移动中实时、大容量、不间断地传递语音、数据、动态图像等多媒体信息的卫星天线跟踪系统的出现。因此,机动性能强、抗干扰能力强、保密性强的卫星通信系统理所当然地成为了当前移动通信研究领域的热点与重点。   本文所介绍的基于XScale微处理器的“动中通”移动卫星天线控制系统,能够在各种条件下保证天线高精度地对准目标卫星,准确而快速实现平台天线和卫星之间的实时通信。由于采用了嵌入式控制系统进行开发,该卫星移动天线控制系统体积小,性价比优良,实时性好。    1 系统总体设计
[嵌入式]
开关电源设计之漏感与分布电容对输出波形的影响
关电源变压器一般可以等效成图2-43所示电路。在图2-43中,Ls为漏感,也可称为分布电感,Cs为分布电容, 为励磁电感,R为等效负载电阻。其中分布电容Cs还应该包括次级线圈等效到初级线圈一侧的分布电容,即次级线圈的分布电容也可以等效到初级线圈回路中。 图2-43 开关电源变压器等效电路 设次级线圈的分布电容为C2,等效到初级线圈后的分布电容为C1,则有下面关系式: 上式中, Wc2为次级线圈分布电容C2存储的能量, Wc1为C2等效到初级线圈后的分布电容C1存储的能量;U1、U2分别为初、次级线圈的电压,U2 = nU1,n = N2/N1为变压比,N1 、N2分别为初、次级线圈的匝数。由此可以求得C1为:
[电源管理]
开关电源设计之漏感与<font color='red'>分布电容</font>对输出波形的影响
嵌入式系统中PCI总线仲裁器的设计与实现
PCI(Peripheral Component Interconnect)总线是现今最为流行的工业控制总线之一。它广泛地应用在计算机中,并且由于众多厂商对PCI的良好支持,使得目标嵌入式设备中的很多解决方案都包含了PCI总线。在多主设备的PCI系统应用中,必须对各个主设备提供仲裁授权信号。很多厂家有针对性地发布了PCI仲裁逻辑的专用芯片或者集成了PCI重载逻辑的专用芯片,但使用不够灵活,为了使PCI设备能够更方便地应用在嵌入式系统中,本文介绍了一种基于CPLD(复杂可编程逻辑器件)的PCI总线仲裁器的设计方法,此方法可以为系统量身定制适合于系统本身的PCI总线仲裁器。而不必局限于特定的芯片要求,在体积、功能、成本等诸多方面都有很
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved