提高单片机抗干扰:如何让你的设计少走弯路

发布者:会弹琴的鲸鱼3312最新更新时间:2012-07-16 来源: 21ic 关键字:单片机  抗干扰  软件编写 手机看文章 扫描二维码
随时随地手机看文章

  搞过产品的朋友都有体会,一个设计看似简单,硬件设计和代码编写很快就搞定,但在调试过程中却或多或少的意外,这些都是抗干扰能力不够的体现。

  下面讨论一下如何让你的设计避免走弯路:

  抗干扰体现在2个方面,一是硬件设计上,二是软件编写上。

  这里重点提醒:在MCU设计中主要抗干扰设计是在硬件上,软件为辅。因为MCU的计算能力有限,所以要在硬件上花大工夫。

  看看干扰的途径:

  1:干扰信号干扰MCU的主要路径是通过I/O口,一是影响了MCU的数据采集,二是影响内部其它寄存器。

  解决方法:后面讨论。

  2:电源干扰:MCU虽然适应电压较宽(3-5。5V),但对于电源的波动却很敏感,比如说MCU可以在3V电压下稳定工作,但却不能在电压在3V-5。5V波动的情况下稳定工作。

  解决方法:用电源稳压块,做好电源的滤波等工作,提示:一定要在电源旁路并上0。1UF的瓷片电容来滤除高频干扰,因为电解电容对超过几十KHZ的高频干扰不起作用。

  3:上下电干扰:但每个MCU系统在上电时候都要经过这样一个过程,所以要尤其注意。

  MCU虽然可以在3V电压下稳定工作,但并不是说它不能在3V以下的电压下工作,当然在如此低的电压下MCU是超不稳定状态的。在系统加电时候,系统电源电压是从0V上升到额定电压的,比如当电压到2V时候,MCU开始工作了,但这时是超不稳定的工作,极容易跑飞。

  解决方法:1让MCU在电源稳定后才开始工作。PIC在片内集成了POR(内部上电延时复位),这功能一定要在配置位中打开。

  外部上电延时复位电路。有多种形式,低成本的就是在复位脚接个阻容电路。高成本的是用专用芯片。这方面的资料特多,到处都可以查找。

  最难排除的就是上面第一种干扰,并且干扰信号随时可以发生,干扰信号的强度也不尽相同。

  但它们也有相同点:干扰信号也遵循欧姆定律,干扰信号偶合路径无非是电磁干扰,一是电火花,二是磁场。

  其中干扰最厉害的是电火花干扰,其次是磁场干扰。电火花干扰表现场合主要是附近有大功率开关、继电器、接触器、有刷电机等。磁场干扰表现场合主要是附近有大功率的交流电机、变压器等。

  解决方法:第一点:也是最经典的,就是在PCB步线和元件位置安排上下工夫,这中间学问很多,说几天都说不完^^。

  二:综合考虑各I/O口的输入阻抗,采集速率等因素设计I/O口的外围电路。

  一般决定一个I/O口的输入阻抗有3种情况:

  A:I/O口有上拉电阻,上拉电阻值就是I/O口的输入阻抗。

  一般大家都用4K-20K电阻做上拉,(PIC的B口内部上拉电阻约20K)。

  由于干扰信号也遵循欧姆定律,所以在越存在干扰的场合,选择上拉电阻就要越小,因为干扰信号在电阻上产生的电压就越小。

  由于上拉电阻越小就越耗电,所以在家用设计上,上拉电阻一般都是10-20K,而在强干扰场合上拉电阻甚至可以低到1K。

  (如果在强干扰场合要抛弃B口上拉功能,一定要用外部上拉。)

  B:I/O口与其它数字电路输出脚相连,此时I/O口输入阻抗就是数字电路输出口的阻抗,一般是几十到几百欧。

  可以看出用数字电路做中介可以把阻抗减低到最理想,在许多工业控制板上可以看见大量的数字电路就是为了保证性能和保护MCU的。

  C:I/O口并联了小电容。

  由于电容是通交流阻直流的,并且干扰信号是瞬间产生,瞬间熄灭的,所以电容可以把干扰信号滤除。但不好的是造成I/O口收集信号的速率下降,比如在串口上并电容是绝不可取的,因为电容会把数字信号当干扰信号滤掉。

  对于一些检测开关、干簧管、霍尔元件之类的是可以并电容的,因为这些开关量的变化是不可能有很高的速率的,并一个小电容对信号的采集是没任何影响的。

关键字:单片机  抗干扰  软件编写 引用地址:提高单片机抗干扰:如何让你的设计少走弯路

上一篇:声效芯片CS4235在DSP的嵌入式系统中的应用
下一篇:MSP430F149单片机在目标指示器设计中的应用

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

详解单片机程序的运行过程
  从单片机上知道,在上电的那一刻,MCU的程序指针PC会被初始化为上电复位时的地址,从哪个地址处读取将要执行的指令,由此程序在MCU上开始执行(当然在调用程序的 main之前,还有一系列其他的的初始化要做,如堆栈的初始化,不过这些我们很少回去修改)。PC在上电时,和MCU差不多,不过读取的是BIOS,有它完成了很多初始化操作,最后,调用系统的初始化函数,将控制权交给了操作系统,于是我们看到了Windows,Linux系统启动了。   如果将操作系统看作是在处理器上跑的一个很大的裸机程序(就是直接在硬件上跑的程序,因为操作系统就是直接跑在CPU上的,这样看待是可以的,不过这个裸机程序功能很多,很强大),那么操作系统的启动很像M
[单片机]
详解<font color='red'>单片机</font>程序的运行过程
15-基于51单片机的数字频率计设计
具体实现功能 系统由STC89C52单片机+信号输入+74HC14整形电路+74HC390分频电路+LCD1602显示模块+电源构成。 具体功能: 1、能测出正弦波、三角波或方波等波形的频率; 2、频率的测量范围为1Hz—20MHz,且能检测幅度最小值为1Vpp的信号; 3、通过LCD1602液晶显示屏显示检测到的即时频率数值(最多8位数,单位为Hz)。 设计背景 在电子测量领域中,频率测量的精确度是最高的。因此,在生产过程中许多物理量,例如温度、压力、流量、液位、PH值、振动、位移、速度、加速度,乃至各种气体的百分比成分等均用传感器转换成信号频率,然后用数字频率计来测量,以提高精确度。 国际上数字频率计的
[单片机]
15-基于51<font color='red'>单片机</font>的数字频率计设计
基于单片机的智能开发平台解决方案介绍
一、单片机应用开发平台的意义   单片机是最初的大型计算机的一个分支,主要用于:工业自动化控制、智能仪器、仪表、航海、航天、智能家电等领域。单片机作为一种嵌入式产品应用的主流控制芯片,应用十分广泛,而支持它的开发手段国内还比较落后,目前我国单片机嵌入式产品的开发行业中,仍实行随意性个体的自然经济的落后方式,即便技术力量较强的公司,也仍在实行“板凳模式”的产品开发方法,大量低水平的重复劳动形成了顽症。采用平台开发模式实行“阶梯模式”的开发方式从根本上解决了“板凳模式”的弊端。 二、单片机开发平台简介   单片机应用智能开发平台是为单片机的应用开发提供的一套解决方案,包括有中文开发平台操作系统、基础平台、扩展功能函数库、仿
[单片机]
基于<font color='red'>单片机</font>的智能开发平台解决方案介绍
飞思卡尔揭示面向汽车智能网络应用的新集成技术
   S12微控制器系统级封装器件与LL18UHV技术结合,实现直接连接汽车动力系统网络并额外节约系统成本   飞思卡尔半导体日前推出下一代技术,以便为快速发展的汽车智能分布式节点市场提供服务。飞思卡尔新型LL18UHV集成技术,与现有微控制器" S12微控制器(MCU)系统级封装(SiP)产品系列组合,满足摇窗、天窗和电机控制等应用在技术和商业上的需求(即最大限度减少空间要求和成本)。   过去,汽车电子产品设计需要多个器件:一些器件与高电压流程一起创建,以连接电池和电源致动器输出;一些器件提供用于低电压数字逻辑进程的微控制器。因此,当终端应用的物理空间有限时,这就提出了一定的挑战。飞思卡尔提供两种方法来为客户解决这一难题:
[汽车电子]
8051单片机DPTR的扩展设计
  单片机的出现是计算机技术发展史上的一个里程碑,它使计算机从海量数值计算进入到控制领域。在单片机中,以8051系列最为经典,至今仍是最普及、广泛使用的8位MCU架构。业界许多技术人员在其基础上不断进行性能扩展,使得8051系列芯片不断完善,从而形成一个庞大的体系。在传统的8051系列单片机中,设置了一组双字节寄存器(数据指针DPTR),用于访问外接的64 KB数据存储器和I/O接口电路;但在现今的8051单片机应用中,特别是在嵌入式系统中,往往涉及大规模的数据转移操作,而传统8051的一组数据指针使用起来则显得捉襟见肘,因此若在8051设计中将数据指针设计为两组或多组,则在执行大规模数据转移操作时会相当简便、迅速。在这种背景下,
[单片机]
8051<font color='red'>单片机</font>DPTR的扩展设计
基于单片机的生活废(污)水处理系统设计
1 引言 中国是全球人均水资源最贫乏的国家之一,然而在我国,水资源短缺与严重浪费现象长期并存。未来 15 年是我国建设节水型社会的关键时期,国五部委联合发布的《中国节水技术政策大纲》中,对建设节水型社会的规划之一是推广先进实用的节水技术。 学生公寓盥洗室生活用水量大,水池的排水方式普遍为直排式,使具有再次利用价值的生活废水被排入下水道,造成水资源的浪费。本课题设计的是生活废水二次利用装置的控制系统,这一系统地完成有利于推进节水技术的推广,用单片机控制废水处理的设备,从而实现现场的自动化控制。 2 系统总体设计 系统节水装置如图 1 所示,本生活废水处理控制系统主要分为以下几个模块,通过检测浮子开关量来检测水位,
[单片机]
AVR单片机中断模式的串口发送与接收
#include avr/interrupt.h #include util/delay.h int k=0,i=0,j=0; char s ; void usart0_init() { UCSR0A=0X00; UCSR0B = 0x00; UCSR0C=0X00; UCSR0C=(1 UCSZ01)|(1 UCSZ00);//八位数据位 无校验位 UBRR0L=51;//波特率 8MHZ下9600 UBRR0H=0; UCSR0B=(1 TXCIE0)|(1 RXCIE0)|(1 RXEN0)|(1 TXEN0);//接受发送及其中断使能 } /* *程序的作用是将电脑端发送过来
[单片机]
基于8051单片机的双机通信设计
一、 系统功能要求: 1. 设计任务在一十字路口设置交通灯,并用单片机对其进行合理的控制。 时间方向 控制要求 白天 东西 绿灯 黄灯 红灯 南北 红灯 绿灯 黄灯 晚上 东西 黄灯 南北 红灯 2.总体设计方案现在流行的一种设计为两主干线相交的十字路。本设计采用一主干道(南北方向),一从干道(东西方向)的路口,即主干道的通行时间为从干道的2倍。在正常情况下,两干道的交通灯按图1进行转换,并以倒计数的方式将剩余时间显示在每个干道对应的两位LED上;另发挥部分为当出现紧急情况时,路口的交通灯全为红灯,紧急情况解除时,恢复到原来的状态。 二、 总体设计方案提示: 1.假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红
[单片机]
基于8051<font color='red'>单片机</font>的双机通信设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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