采用CPLD实现数字滤波及抗干扰设计

2018-02-14 22:20:48编辑:什么鱼 关键字:CPLD  数字滤波  抗干扰

    1 滤波和抗干扰概述

单片机应用系统的输入信号常含有种种噪声和干扰,它们来自被测信号源、传感器、外界干扰源等。为了提高测量和控制精度,必须消除信号中的噪声和干扰。噪声有两大类:一类为周期性的;另一类为不规则的。前者的典型代表为50Hz的工频干扰,一般采用硬件滤波,使用积分时间等于20ms的整数倍的双积分A/D转换器,可有效地消除其对信号的影响。后者为随机信号,它不是周期信号,可用数字滤波方法予以消弱或滤除。所谓数字滤波,就是通过一定的计算或判断程序来减少干扰信号在有用信号中的比重,故实际上它是一种软件滤波。硬件滤波具有效率高的优点,但要增加系统的投资和设备的体积,当干扰的性质改变时我们往往不得不重新搭接电路;软件滤波是用程序实现的,不需要增加设备,故投资少、可靠性高、稳定性好,并且可以对频率很低的信号实行滤波,随着干扰的性质改变只需修改软件即可,具有灵活、方便、功能强的优点,但要占用系统资源、降低系统的工作效率。一个传统的实际系统,往往采用软件和硬件相结合的滤波方法,这种结合是在两者的优缺点之间寻找一个平衡点。 

硬件抗干扰主要采用隔离技术、双绞线传输、阻抗匹配等措施抑制干扰。常用的隔离措施有采用A/D、D/A与单片机进行隔离以及用继电器、光电隔离器、光电隔离固态继电器(SSR)等隔离器件对开关量进行隔离。

软件抗干扰主要利用干扰信号多呈毛刺状、作用时间短等特点。因此,在采集某一状态信号时,可多次重复采集,直到连续两次或多次采集结果完全一致时才视为有效。若多次采集后,信号总是变化不定,可停止采集,给出报警信号。如果状态信号是来自各类开关型状态传感器,对这些信号采集不能用多次平均方法,必须完全一致才行。在满足实时性要求的前提下,如果在各次采集状态信号之间增加一段延时,效果会更好,能对抗较宽的干扰。对于每次采集的最高次数限额和连续相同次数均可按实际情况适当调整。对于扰乱CPU的干扰,可以采取指令冗余和软件陷阱等抗干扰技术加以抑制。

2 利用

    
oo0为经电平转换后接近开关输出的信号。当oo0为低电平时,说明泵1未动作,封锁三端与门,时钟信号clki无法通过,计数器bcn3n不计数。同理,当aa4为高电平时,亦封锁三端与门(至于aa4如何变化及作用下文有介绍)。故当oo0为高、aa4为低时,clki接通计数器CLK端。当oo0和clr端任意一个为低时,计数器清零。计数器bcn3n由MAX+PLUSII的文本编辑器编辑,其文本如下:

 

    
其输出aa4..0等于计数器当前的计数值。Aa4就是aa4..0的最高位当计数值达到10H(十六进制)时,即aa4为高电平时,三端与门封锁,计数器保持10H不变,除非有清零信号。其波形如图2所示。

    
由波形可知,oo0为高,计数器开始计数。对于小的脉冲,计数器的最高位即aa4为低,认为是干扰信号;只有当aa4为"1"时才认为oo0的脉冲信号有效,并通过aa4将时钟脉冲阻断,使计数器值不再增加。这样做是为了防止由于oo0的脉冲不定宽,使aa4的电平不定,后面无法进行处理。还应注意的是,把oo0引入了清零信号。当信号有较多毛刺时,若oo0为低时不清零则使计数器不断累加,积累到一定程度,使aa4为1,系统将认为有一有效脉冲信号,产生误动作。

2.2 中断申请信号产生

中断申请信号由图3电路生成。
 

    
图中四个计数器的最高位接四端或门,只要有一路信号为高,或门输出就为高,并经过非门,输出低电平,接于D触发器的时钟端。D触发器的D端始终为高电平。D触发器为上升沿触发器,若输入D为1,在时钟脉冲的上升沿,把"1"送入触发器,使Q="1"。只有在CLRN端的clr信号有效时,D触发器清零,Q="0"。其波形如图4所示。

 

    只要有一路信号为高,D触发器时钟端为低。当所有4路都为低时,时钟端由低变高,在上升沿,Q变为"1",发出中断请求信号。

    如果多路脉冲信号有重叠,例如有两路信号发生重叠,而中断信号只有在四路都为低时才会产生,因此需要对信号进行锁存。本设计采用D触发器来实现锁存,电路如图5所示。


 

    
当aa4为由低变高时,a4变为高电平。由clr信号清零。

      2.3 按键消抖及数据输出

      按键的消抖也通过计数器来实现,电路原理图如图6所示。


按键未按下时为高电平,封锁时钟信号。按键按下时,计数器开始计数。当计数器输出最高位为"1"时,亦封锁时钟信号,防止按键时间不定使需要的k14信号不定。当按键信号为高电平时,对计数器清零,防止计数器累加干扰信号而造成误动作。波形如图7所示。

    
泵冲和按键经处理后的信号a4、b4、c4、d4、k04、k14、k24、k34,经74373挂于数据总线,如图8所示。74373使能信号由图9电路产生。

    
它采用文本编辑,具体如下:

 

    
    若单片机发出读81XXH地址中数的信号,则选通此373,读出其数。

    以上介绍了采用CPLD实现数字滤波及抗干扰。该设计已在产品开发中成功应用,效果良好,达到了预期的目的。前面我们已经提到,一个传统的设计,往往在软件滤波和硬件滤波两者的优缺点之间寻找一个平衡点。用我们通常的成语来讲,这样做可以说是扬长避短或取长补短。一直以来,我们都把这两个成语看成是褒义的,不过细细品味一下其中的韵味似乎并不完全是好的代表:发扬长处固然值得称道,但回避短处未必是解决问题的最佳途径,毕竟回避并不能解决问题的本质,哪怕是取其长处来弥补短处,也不是长远出路。应该直接去克服掉短处为佳。采用CPLD则可将软硬件滤波的优点兼而有之,同时将它们的缺点摒弃,从而达到扬长去短的目的。用CPLD实现滤波只占用较少的资源,故可用其实现其它数字电路,同时实现滤波。


关键字:CPLD  数字滤波  抗干扰

来源: eefocus 引用地址:http://www.eeworld.com.cn/mcu/article_2018021437802.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于ARM9 和Linux 的嵌入式视觉系统设计方案
下一篇:基于实时操作系统μC/OS-II远程终端硬件和软件的设计与实现

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

AVR单片机读写CPLD

项目中需要使用CPLD完成一部分算法设计,参数由AVR给出,因此需要完成AVR和CPLD的通信。因此写了一个测试程序。CPLD挂在AVR的数据和地址总线上,AVR使用ATmega128,在CPLD中设置几个寄存器,通过AVR读写寄存器来实现两者之间的通信。 Mega128的外部存储空间从0X1100开始,因此只需要配置相应的寄存器后读取或者写入相应的地址就可以,程序比较简单,注释中都有说明,仅供参考。 /******************************************************************* 名称:mian.c 功能:测试AVR与CPLD的通信
发表于 2018-04-18 00:15:34

STM32通过FSMC读写CPLD

STM32通过FSMC读写CPLD的程序,CPLD挂在STM32的地址线和数据线上,将CPLD看做片外RAM的方式来进行读写,在我做的板子上CPLD挂在第四个区,因此基地址是0x6c000000,通过FSMC来进行读写,程序较为简单,具体的地方在函数中都有注释,仅供参考。 /**************************(C) COPYRIGHT emouse 2011*************************** 名称:CPLD.c 功能:配置fsmc,CPLD读写函数 作者:emouse 时间:2011.1.2 版本
发表于 2018-04-18 00:11:37

单片机/CPLD结构体系在电子设计中的应用

    自20世纪80年代单片机引入我国以来,学习和应用单片机的热潮始终不减,特别是MCS51系列。这是由单片机的特点决定的。实际上,从单片机/CPLD应用通用数字集成电路系统,到广泛应用单片机,是我国电子设计在智能化应用水平上质的飞跃。据统计分析,单片机的销量单片机/CPLD到目前为止依然逐年递增,而且在很长一段的时间内,单片机依然会是电子设计的主角(虽然这一地址已经受到了CPLD的挑战)。     1 纯单片机系统优缺点    ①大量单片机/CPLD的外围芯片和接口电路使得单片机应用系统的设计变得简单而且快捷,新型单片机的上市和高级语言的支持(如C51
发表于 2018-04-02 22:09:42
单片机/CPLD结构体系在电子设计中的应用

CPLD器件在单片机控制器中的应用分析

    自动控制的对象五花八门、品种繁多,要求控制器能够模块化、标准化、灵活配置;进入商品经济时代,允许设计者的开发周期越来越短,从几年、几月缩短到几月、几天;有时合同临近结束前,用户还会提出更改设计条款的要求。因此,需要设计者开发出适应性强、便于修改、配置灵活的控制器,以满足用户需求,争得商机。    从成本考虑,有时以单片机为核心器件,量身度造地为被控对象设计专用控制器,仍是一种较好的选择。     CPLD器件与单片机结合优势互补、相得益彰    单片机的一些优缺点    单片机具有强大的信息处理、逻辑分析
发表于 2018-04-02 21:20:50
CPLD器件在单片机控制器中的应用分析

基于单片机和CPLD的DDS正交信号源滤波器的设计

    1 前 言    由于传统的多波形函数信号发生器需采用大量分离元件才能实现,且设计复杂,这里提出一种基于CPLD的多波形函数信号发生器。它采用CPLD作为函数信号发生器的处理器,以单片机和CPLD为核心,辅以必要的模拟和数字电路,构成的基于DDS(直接数字频率合成)技术、波形稳定、精度较高的多功能函数信号发生器。    2 系统设计    图1给出系统设计框图,该系统设计主要由CPLD电路、单片机电路、键盘输入液晶显示输出电路以及D/A转换电路和低通滤波器等电路组成。    2.1 频率合成器 
发表于 2018-04-02 21:00:02
基于单片机和CPLD的DDS正交信号源滤波器的设计

基于单片机与CPLD的混合式步进电机PWM驱动技术

为:A-AB-B-BC-C-CA-A……。  2混合式步进电机系统构成与实现  基于AVR单片机和CPLD的三相混合式步进电动机控制系统的结构框图如图2所示。系统主要包括脉宽调制产生电路、逻辑合成电路、功率驱动电路和电源等4个部分。本设计采用的方法是:单片机采集到现场信号后计算出步进电机运转所需要的控制信息,经过参考电路与反馈信号发生相互作用,得到脉宽调制信号后再传给CPLD,CPLD把接收到的信息转换成步进电机实际的控制信号,即转动速度和转动方向,输出给电机的功率驱动电路模块。下面具体介绍脉宽调制产生电路和脉宽调制产生电路部分。2.1 PWM信号产生脉宽调制产生电路主要有单片机和外围的电路组成,如图3所示。  单片机主要完成转速、转向和细分
发表于 2018-03-31 23:23:30
基于单片机与CPLD的混合式步进电机PWM驱动技术

小广播

何立民专栏

单片机及嵌入式宝典

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

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved