主页   电子元器件  逻辑器件

五月 26 2021

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


目录

1.滤波和抗干扰概述

2.采用CPLD设计

2.1 传感器信号滤波

2.2中断申请信号产生

2.3按键消抖及数据输出

小结

  滤波和抗干扰是任何智能仪器系统都必须考虑的问题,在传统的应用系统中,滤波部分往往要占用较多的软件资源和硬件资源;而复杂可编程逻辑器件(CPLD)的出现,很好地解决了这一个问题。采用CPLD 实现滤波是一种高效可靠的方法,本文介绍了利用MAX+PLUS Ⅱ对CPLD编程来实现对传感器和按键信号滤波和抗干扰。

  1.滤波和抗干扰概述

  在单片机应用系统输入信号中,常含有种种噪声和干扰,它们来自被测信号源、传感器、外界干扰源等。为了提高测量和控制精度,必须消除信号中的噪声和干扰。噪声有两大类:一类为周期性的;另一类为不规则的。前者的典型代表为50Hz的工频干扰,一般采用硬件滤波,使用积分时间等于20ms的整数倍的双积分A/D转换器,可有效地消除其对信号的影响。后者为随机信号,它不是周期信号,可用数字滤波方法予以消弱或滤除。

  所谓数字滤波,就是通过一定的计算或判断程序来减少干扰信号在有用信号中的比重,故实际上它是一种软件滤波。硬件滤波具有效率高的优点,但要增加系统的投资和设备的体积,当干扰的性质改变时我们往往不得不重新搭接电路;软件滤波是用程序实现的,不需要增加设备,故投资少、可靠性高、稳定性好,并且可以对频率很低的信号实行滤波,随着干扰的性质改变只需修改软件即可,具有灵活、方便、功能强的优点,但要占用系统资源、降低系统的工作效率。一个传统的实际系统,往往采用软件和硬件相结合的滤波方法,这种结合是在两者的优缺点之间寻找一个平衡点。

  2.采用CPLD设计

  2.1 传感器信号滤波

  由于要对传感器信号进行数字滤波,CPLD要引入时钟信号。因而对CPLD定义一输入端clki,作为数字滤波器的计数脉冲输入端。clki由单片机定时器1定时产生500Hz脉冲。以一路为例,泵冲信号滤波部分如图1所示。

泵冲信号滤波部分

  图1 泵冲信号滤波部分

  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所示。

泵冲信号滤波部分波形图

  图2 泵冲信号滤波部分波形图

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

  2.2中断申请信号产生

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

中断申请信号生成电路

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

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

泵冲信号滤波部分波形图

  图4 中断申请信号生成电路波形图

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

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

锁存电路

  图5 锁存电路

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

  2.3按键消抖及数据输出

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

消抖电路

  图6 消抖电路

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

按键消抖波形图

  图7 按键消抖波形图

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

挂数据总线电路

  图8 挂数据总线电路

74373使能信号产生电路

  图9 74373使能信号产生电路

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

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

  小结

  以上就是CPLD实现数字滤波及抗干扰的设计介绍了。采用CPLD可将软硬件滤波的优点兼而有之,同时将它们的缺点摒弃,从而达到扬长去短的目的;而且用CPLD实现滤波只占用较少的资源,故可用其实现其它数字电路,同时实现滤波。目前该设计已在产品开发中成功应用,效果良好。

订购与质量

图片 产品型号 品牌 描述 数量 价格
(USD)
XC7K410T-2FFG900I XC7K410T-2FFG900I Company:Xilinx Remark:产品型号:XC7K410T-2FFG900I 描述:IC FPGA 500 I/O 900FCBGA 分类:集成电路(IC),嵌入式FPGA(现场可编程门阵列) 生产厂家:Xilinx公司 系列:Kintex®-7 部分状态:活性 In Stock:On Order
Inquiry
Price:call Inquiry
XC2V1000-4FG456C XC2V1000-4FG456C Company:Xilinx Remark:产品型号:XC2V1000-4FG456C 描述:IC FPGA 324 I/O 456FBGA 分类:集成电路(IC),嵌入式-FPGA(现场可编程门阵列) 制造商:Xilinx公司 系列:Virtex®-II 打包:托盘 零件状态:过时的 In Stock:On Order
Inquiry
Price:call Inquiry
STM32F401VET6 STM32F401VET6 Company:STMicroelectronics Remark:STM32F401VET6支持多达12个通信接口,可能多达3个I2C接口(SMBus/PMBus)、多达3个USART(2x10.5Mbit/s、1x5.25Mbit/s)、ISO7816接口、LIN、IrDA、调制解调器控制)、多达4个SPI(fCPU=84MHz时高达42Mbit/s)、SPI2和SPI3具有多路复用全双工I2S以通过内部音频PLL或外部时钟实现音频等级精度、SDIO接口、高级连接:USB2.0全双工使用片上PHY加速设备/主机/OTG控制器。 In Stock:On Order
Inquiry
Price:call Inquiry
SN65LBC180AD SN65LBC180AD Company:Texas Instruments Remark:产品型号:SN65LBC180AD 描述:IC TRANSCEIVER FULL 1/1 14SOIC 分类:集成电路(IC),接口-驱动器,接收器,收发器 制造商:德州仪器 打包:管 零件状态:活性 In Stock:On Order
Inquiry
Price:call Inquiry
XC4VLX60-11FFG1148C XC4VLX60-11FFG1148C Company:Xilinx Remark:产品型号:XC4VLX60-11FFG1148C 描述:集成电路FPGA 640 I / O 1148FCBGA 分类:集成电路(IC),嵌入式-FPGA(现场可编程门阵列) 制造商:Xilinx公司 系列:Virtex®-4LX 打包:托盘 零件状态:活性 In Stock:On Order
Inquiry
Price:call Inquiry

相关文章

  • CPLD是什么? ...
    CPLD (Complex Programmable Logic Device)直译的话称为复杂可编程逻辑芯片,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于...
  • FPGA与CPLD的区别 ...
    FPGA是现场可编程逻辑门阵列的简称,是电子设计的一个里程碑。CPLD是复杂可变成逻辑器件的简称。虽然FPGA和CPLD都是可编程ASIC器件,在一定的层度上具有很大的相似性,但也...
  • 基于CPLD的LED点阵显示控制器设计 ...
    众所周知,现场可编程器件(FPGA和CPLD)等ISP器件是利用器件厂商提供的编程套件,采用自顶而下的模块化设计方法,使用原理图或硬件描述语言(VHDL)等方法来描述电路逻辑关系,...
  • 基于CPLD的线阵CCD驱动电路设计 ...
    随着半导体微电子技术的迅猛发展,如何实现高精度的运动装置角度和位移测量,一直是系统或设备设计中需要解决的关键技术之一。如今,各种新型器件不断涌现,其中线阵CCD( Charge C...
  • CPLD实现数字滤波及抗干扰的设计 ...
    滤波和抗干扰是任何智能仪器系统都必须考虑的问题,在传统的应用系统中,滤波部分往往要占用较多的软件资源和硬件资源;而复杂可编程逻辑器件(CPLD)的出现,很好地解决了这一个问题。采用...

0 条评论

留言

您的邮箱地址不会被公布

 
 
   
评分: