1 引言
有源滤波器广泛应用于数字信号处理、通信、自动控制领域,但设计可变宽频带有源滤波器则比较困难。利用单片机控制参数可编程的双二阶通用开关电容有源滤波器,精确设置有源滤波器的中心频率fO,品质因数Q及有源滤波器的工作方式。
2 开关电容有源滤波器工作原理
开关电容有源滤波器的基本原理是在电路两节点之间接具有高速开关的电容器,等效于两节点之间连接一只电阻。图1(a)是一个有源RC积分器,图1(b)是采用一只接地电容C1和CMOS开关T1、T2替代输入电阻R1。图1(c)是不重叠的两相时钟脉冲,用于驱动T1、T2。时钟频率fCLK高于信号频率。当φ1为高电平时,T1导通(视短路)而T2截止(视开路),此时C1与输入信号VI相连并充电(如图1(d)所示),即有电荷qcl=C1V1。当φ2为高电平时,T1截止而T2导通,此时C1与输入信号VI断开而接至运算放大器的输入端,C1放电,充电电荷qc1传输至C2。每一时钟周期Tc内,从信号源提取的电荷qcl=C1VI提供至积分电容器C2。因此,在节点1、2之间流过的平均电流为iav=C1VI/TC。若TC足够短,可近似认为这一过程是连续的,因而可在两节点间定义一只等效电阻Req,即Req=VI/iav和Req=Tc/C1。这样可得到等效积分器时间常数τ,即τ=C2Req=TCC2/C1。显然,滤波器频率响应的时间常数τ取决时钟周期TC和电容比值C2/C1,而与电容的绝对值无关,集成电路工艺制作小容量电容易于实现。当电容比值恒定时,改变时钟频率,就可改变滤波器的截止频率,即开关电容滤波器的基本工作原理。
3MAX262简介
MAX262是美国Maxim公司生产的双二阶通用开关电容有源滤波器,其引脚功能及内部框图如图2所示。MAX262内部集成有2个结构相同的二阶通用开关电容有源滤波器及1个独立的运算放大器OP。这两个有源滤波器既可独立使用,也可串联使用。对滤波器的工作方式,中心频率fO,品质可通过D0D1,A0~A3端口线在WR上升沿写入所选中的内部单元来设置滤波器的工作方式、中心频率fO以及品质因数Q等参数。详见表1所列。其中,中心频率fO的范围为1Hz~140kHz。fCLKA和FCLKB为内部开关电容网络所需的外部时钟,一般为中心频率fO的几十至上百倍。
表1中MOM1为工作方式,仅在地址为A3A2A1A0=0000(或1000)时才能写入。F0~F5为fO控制字,Q0~Q6为品质因数Q的控制字。D0D1=00时为工作方式1,实现LP(低通)、BP(带通)、N(陷波)功能:DOD1=01时为工作方式2,实现区别于工作方式1的LP(低通)、BP(带通)、N(陷波)功能;D0D1=10时为工作方式3,实现LP、BP、HP(高通)功能;D0D1=10时,若使用独立运放OP为工作方式3A,实现有别于工作方式3的LP、BP、HP功能。D0D1=11时为工作方式4,实现LP、BP、AP(全通)功能。MAX262有INA、INB两个信号输入端,允许最大输入电压振幅为±4.7V。
4 程控有源滤波器硬件电路设计
程控有源滤波器硬件电路框图如图3所示。利用89C51控制键盘显示器8279、可编程计数器8254、可编程有源滤波器MAX262。其中8254是3通道16位可编程计数器,计数时钟频率可达10MHz,可向MAX262提供精确的时钟频率fCLKA和fCLKB。
本系统设计要求滤波器可设置为低通,其-3dB截止频率fc在1kHz~20kHz调节频率的步进值为1kHz内要求在2fc处滤波器幅频特性下降不小于10dB;同时滤波器可设置为高通滤波器,其fc范围及步进值与低通模式相同,其要求0.5fc处滤波器幅频特性下降不小于10dB。将滤波器A设置为工作方式1,滤波器B设置为工作方式3。二阶有源低通滤波器的传递函数为:GL(s)=HOLP[(ω0/(s2+2ω0/Q+ω0)],(HOLP为直流增益)。令|GL(s)|为0.707HOLP处的频率为fc,则
经计算当Q=0.7时,fc=f0,2fc处幅频增益为-12dB(实测小于-12dB),满足要求。对于高通滤波器当q=0.7时,同样要求增益在fc=f0处下降3dB,而在0.5fc处幅频增益为-12dB。根据参考文献提供的数据,fCLKA/f0(或fCLKB/f0)的比值必须高于40.84。滤波器工作在方式1或方式3时,fCLK/f0=[π(26+N1)]/2,N1为F0~F5的值,取N1=10,则fCLK/fO=56.55。Q=64/(128-N2),因为Q=0.7,所以N2=Q0~Q5=37。当fO=1kHz时,fCLKB=56.55kHz。
5 程控方式的实现
由MAX262工作原理可知,当工作方式、F0~F5、Q0~Q5值写入MAX262后,若要对滤波器的工作频率fO实现步进值为1kHz的程控,只要使fCLKA/fO(或fCLKB/fO)的比值为56.55即可。本电路设计采用8254可编程计数器产生fCLKA和fCLKB。8254是3通道16位可编程计数器,最高计数脉冲频率fCLK为10MHz,当被设置为工作方式3时为方波发生器输出,通道0的输出作为fCLKA,通道1的输出作为fCLKB。由于8254是16位可编程计数器,经其分频后输出方波的频率fCLKA和fCLKB对fO的比值接近56.55,若fCLKA、fCLKB为固定值,用F0~F5的设置时,fCLKA/fO或fCLKB/fO仅有64种选择,显然精度较低。当通过键盘输入fO值后,单片机计算出相应的分频系数MA、MB写入8254。若步进值为固定值,则将对应fO的MA、MB以表格形式进行存储,直接查表即可。
6 结束语
基于单片机控制的可编程有源滤波器可实现低通、高通、带通、陷波、全通滤波器。在程序控制下可精确地改变滤波器的带宽、中心频率及品质因数Q,经实际测试效果良好。当MAX262作为低通滤波器使用时,为了抑制开关频率fCLKA产生的噪声,可在滤波器的输出端串联一个截止频率小于最低fCLKA的连续时间的低通滤波器,其效果更好。