可编程有源滤波器的设计

可编程有源滤波器的设计

在电子电路中,滤波器是不可或缺的部分,其中有源滤波器更为常用。一般有源滤波器由运算放大器和RC元件组成,对元器件的参数精度要求比较高,设计和调试也比较麻烦。美国Maxim公司生产的可编程滤波器芯片MAX262可以通过编程对各种低频信号实现低通、高通、带通、带阻以及全通滤波处理,且滤波的特性参数如中心频率、品质因数等,可通过编程进行设置,电路的外围器件也少。本文介绍MAX262构成的程控滤波器电路。

MAX262芯片是Maxim公司推出的双二阶通用开关电容有源滤波器,可通过微处理器xx控制滤波器的传递函数(包括设置中心频率、品质因数和工作方式)。它采用CMOS工艺制造,在不需外部元件的情况下就可以构成各种带通、低通、高通、陷波和全通滤波器。

MAX262引脚排列图

图1是它的引脚排列情况。

图1 MAX262引脚

MAX 262引脚功能描述:
V+ —— 正电源输入端。
V- —— 负电源输入端。
GND —— 模拟地。
CLKA —— 外接晶体振荡器和滤波器A 部分的时钟输入端,在滤波器内部,时钟频率被2分频。
CLKB —— 滤波器B部分的时钟输入端,同样在滤波器内部,时钟频率被2分频。
CLKOUT —— 晶体振荡器和R-C振荡的时钟输出端。
OSCOUT ——与晶体振荡器或R-C振荡器相连,用于自同步。
INA、INB —— 滤波器的信号输入端。
BPA、BPB—— 带通滤波器输出端。
LPA、LPB—— 低通滤波器输出端。
HPA、HPB—— 高通、带阻、全通滤波器输出端。
WR —— 写入有效输入端。接V+时,输人数据不起作用;接V-时,数据可通过逻辑接口进入一个可编程的内存之中,以完成滤波器的工作模式、f0及Q的设置。此外,还可以接收TTL电平信号,并上升沿锁存输人数据。
A0、A1、A2、A3 ——地址输人端,可用来完成对滤波器工作模式、f0和Q的相应设置。
D0、D1 ——数据输入端,可用来对f0和Q的相应位进行设置。
OP OUT —— MAX262的放大器输出端。
OP IN —— MAX262的放大器反向输入端。

MAX262内部结构(如)

MAX262由2个二阶滤波器(A和B两部分)、2个可编程ROM 及逻辑接口组成。每个滤波器部分又包含2个级联的积分器和1个加法器。该电路的主要特性有:

  1. 配有滤波器设计软件,可改善滤波特性,带有微处理器接口;
  2. 可控制64个不同的中心频率f0、128个不同的品质因数Q及4种工作模式;
  3. 对中心频率,f0和品质因数Q可独立编程;
  4. 时钟频率与中心频率比值(fclk/f0)可达到1%(A级);
  5. 中心频率f0的范围为75 kHz。


图2 MAX262内部结构
    图3是控制数据输入时序。可在WR的下降沿经逻辑接口给滤波器A、B中的fclk/f0、Q及工作模式控制字分别赋予不同的值,从而实现各种功能的滤波。

图3 控制数据输入时序

MAX262应用电路

图4 MA262应用电路

2 电路原理及设计过程
2.1 硬件设计
图4是按上述要求设计的程控滤波器电路。

图4 滤波器电路
    单片机选用AT89C52。AT89C52是一种低功耗、高性能的CMOS型8位微型计算机;有8 KB的Flash,256 B的RAM,32线I/O 口,3个16位定时器/计数器,6向量两级中断,1个双工串行口;具有片内自激振荡器和时钟电路等标准功能。此外,AT89C52设有静态逻辑,用于运行到零频率,并支持软件选择的节电运行方式和空闲方式,使CPU停止工作,而允许RAM、定时/计数器、串行VI和中断系统继续工作。在掉电方式下,片内振荡器停止工作。由于时钟被冻结,一切功能都停止,只有片内RAM 的内容被保存,直到硬件复位才恢复正常工作。该电路由芯片AT89C52的P1口来控制,由单片机的P1.0~P1.5口及P1.7将数据送入存储器54HC373存起来,再送入MAX262。通过设置相应的参数,可实现带宽为30~50 kHz的带通滤波。
    抗干扰电路选用X25045芯片。X25045有三种功能:看门狗定时器、电压监测、E2PROM。看门狗电路在系统出现故障,程序“跑飞”时,会产生复位信号,使系统复位。电压监测可以保护系统免受低电压状态的影响。当VCC降到最小VCC转换点以下时,系统复位,一直到VCC返回且稳定为止。在滤波器输出中,显示器选用大连东方显示器材公司的EDM-1601。它是16列×1行的液晶显示器组件,与CPU接口简单、功耗低、编程方便。键盘操作时可能会由于逻辑输入跃变而产生某些噪声。为避免出现这种情况,在输入的数字线接有逻辑门缓冲(图4中未画)。

2.2 软件部分
    采用汇编语言编程,MAX262的地址A0~A3与数据D0D1的关系如表1所列。由表1可看出,每个滤波器的工作模式 中心频率 、品质因数Q值所需编程数据,均需分8次写入MAX262的内部寄存器才能完成设置。系统的主程序流程(单片机主程序)如图5所示。


图5 系统主程序流程
    首先进行初始化,然后从片内RAM 中读取新设置标志位进行判断:如果不是,给MAX262芯片送入滤波器所需的初始化工作参数;如果是新设置,则根据新建中断服务程序获得的键位进行处理。进行新设置时,首先根据输入的键值完成对滤波器的选择,包括滤波器A和B的设置选择,以及相应滤波器的类型选择。然后,由Q值计算N并转换成二进制编程数据Q0~Q6送片内RAM,由输入的中心频率f0值计算N1。N为二进制数据Q0~Q6对应的十进制整数,范围为0~127,共128级;N1为二进制数据F0~F5对应的十进制整数,范围为0~63,共64级。在获得MAX262的工作参数后,根据表1将这些参数转换为8字节的编程数据。由AT89C52的P1口通过54HC373送入MAX262。设置完成后,MAX262就按照当前所需求的中心频率、Q值和滤波器工作方式对输入信号进行滤波处理。

3 应用实例
    下面分析由MAX262设计的切比雪夫-I型四阶带通滤波器的工作情况。
    设计要求:中心频率f0=40 kHz,Q=50。选晶振频率为6 MHz,晶振二分频后为3 MHz,即fclk=3 MHz,fclk/f0=75.53。通过查参考文献[5].可得N1=4;通过参考文献[5]给出的fclk/f0与 F0~F5的关系表格,得到本文根据fclk/f0计算编程数据F0~F5的公式,即fclk/f0与F0~F5的关系为:fclc/f0=40.84+1.57N1。
    同样,对应滤波器的Q值也是通过计算来获得Q值的编程数据Q0~Q6的。Q值与Q0~Q6的关系为:Q=64/(128-N)。其工作模式为模式2,F5~F0 为000100,品质因数Q6~Q0为0100000,M1M0为01,编程输入为010000000010001。
    滤波器的传递函数为

式中的B、C值可按上述要求算出来。
图6是由PSPICE作出的该滤波器的频率响应曲线。

图6 切比雪夫-I型四阶带遗滤波器的频率响应曲线

结语
    采用单片机AT89C52完成对可编程滤波器MAX262的控制.能很好地实现有源滤波器的设计工作;这种程控滤波器具有使用灵活、调试容易及工作性能稳定等特点。它只要1片MAX262通过滤波器A和B的缀联就能很容易完成四阶滤波器电路的设计。另外,还可以通过对AT89C52的ALE信号进行倍频和分频,实现对MAX262的所有工作频率范围的覆盖。该电路稍加改动后,还可通过对不同参数和N值的设置,来实现全通、低通、高通、带阻等滤波器的设计。



郑重声明:资讯 【可编程有源滤波器的设计】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——