开关电容滤波器(Switch Capitor Filter,SCF)是一种由MOS开关、电容器和运算放大器构成的离散时间模拟滤波器,实际应用中,该滤波器可与其他电路集成在同一个芯片上,通过外部端子的适当连接获得不同的响应特性。某些单独的开关电容滤波器可作为通用滤波器使用,例如自适应滤波、跟踪滤波、振动分析以及语言和音乐合成等。但运算放大器带宽、电路的寄生参数、开关与运算放大器的非理想特性以及MOS器件的噪声等都会直接影响这类滤波器的性能。开关电容滤波器的工作频率不高,其应用范围目前仅限于音频频段。但随语音/数据通信及微电子测量仪器领域内对单片集成MOSFET有源滤波器的需求剧增,促使了开关电容滤波器的研究与开发,特别是高阶SCF。因此,这里提出一种开关电容滤波器的系统设计方案。
1 开关电容滤波器的选型
1.1 类型选择
这里所设计的开关电容滤波器是应用于电力线信号传输,传输信号频率为57.6±16、76.8±16和115.2±16 kHz,所以需要将电力线上的低频噪声(包括电力线上50 Hz的电源信号)滤除,同时还需要滤除各种不可知的高频噪声。这样带通滤波器成为最佳选择。
滤波器的理想滤波特性是,通带内信号完全无衰减通过,阻带内信号完全衰减。但实际应用中,理想的滤波器是不存在的,只能用传输函数近似表达其滤波特性。根据对滤波器特性的不同要求,选择不同形式的近似函数,从而得到常用的滤波器:巴特沃思(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆函数(Elliptic Function)滤波器。
考虑电力线通讯中的信号与噪声特性,由于电力线所接触的环境复杂,噪声源多,所以电力线上的噪声能量很高。尤其在低频部分,其噪声能量比信号能量大很多倍。这就要求滤波器有良好的带外衰减特性,而且不允许阻带部分出现纹波。因此,椭圆函数滤波器就不能满足要求,而巴特沃思滤波器的衰减特性又不够好。综合考虑,切比雪夫滤波器是最佳选择。滤波器阶数越高,其滚降速度越快,但是也意味更大的功耗和版图面积。于是这里采用6阶带通切比雪夫滤波器。
1.2 实现方式
高阶滤波器的实现方式主要有2种:级联法和梯形法。级联法需要先得出满足频率特性要求的S域传输函数H(s),然后经S域到Z域的频率变换后得出Z域传输函数H(x)。再将H(x)分解成一阶、二阶函数乘积,分别用一阶、二阶SC基本节实现,然后级联成整个开关电容滤波器电路。级联法实现高阶开关电容滤波器采用双线性变换法。这种方法简单明了,而且是直接级联,不存在基本节之间的反馈,只要基本节稳定,整个电路也就是稳定的。
梯形法是无源梯形的有源SC模拟实现的。这种方法可进一步分为元件阻抗模拟和跳耦,前者以LC梯形滤波器为原型,用SC电路模拟原型中的阻抗元件而保持电压电荷关系不变;后者则通过用信号流程图表示LC梯形电路中的电压电流关系,然后用SC积分器实现开关电容滤波器。其中,有源跳耦结构是实现高选择性SCF的最佳选择。因为这种跳耦滤波器不仅具有通带低灵敏度特性,而且对寄生电容不敏感,因此是设计者的最佳选择。
通过信号流程图法(SFG),构建同相、反相、有损、无损开关电容积分器,获得梯形电路。但这种方法在LC电路原型的串臂中至少存在一个电感,而对于全极点高通SCF,不能使用这种方法,因而只能使用级联法。
2 可编程开关电容带通滤波器
滤波器的编程主要是针对其频域响应进行编程,包括通带频率ω0,品质因数Q和传输函数增益的编程。其中,中心频率编程是最常用的,也是最重要的。这里设计的滤波器正是对中心频率的编程,为了得到最合理的编程二次节结构,首先应深入理解基本的二阶带通滤波器的频域响应。
低Q值开关电容二次节使用非常广泛,图1所示为一种常用的低Q值开关电容二阶带通滤波器(只要把所有的开关电容换算成对应的电阻,便可得到其连续时间RC的实现方式),不难得出其Z域传输函数:
鉴于开关电容滤波器一般都是对信号进行过采样,可以做假设ωT<<1。于是可得低Q结构的等效S域传输函数:
可见,通过对α2和α5同步编程控制实现中心频率ω0的调节。在时钟频率不变的情况下,α6=ω0T/Q不变,保证ω0/Q不变,从而保证ωb和GD不变。这正是所需要的结构。然而在该设计的滤波器中,Q值并不低,可能导致α6=ω0T/Q会很小,接近于0.01,这又对电容散布带来不好的影响。
于是再对高Q结构进行分析,看是否更适合本文中滤波器中心频率编程的要求。为得到良好的动态范围,选取α2=α5。
这里需要说明的是,图l所示的低Q值开关电容二阶带通滤波器用到了两个运放,其输出端口分别为V1(z)和Vout(z)。其中V1(z)对应低通滤波特性(如图2下方曲线),Vout(z)对应带通滤波特性(如图2上方曲线),其增益峰值都在滤波器的中心频率ω0处获得。为了在滤波器内部得到最大的动态范围,需要在中心频率ω0处V1(z)和Vout(z)相等,分别求得V1(z)和Vout(z)对应于Vin(z)的传输函数,并计算函数对应于中心频率ω0处的取值。计算方法很简单,将s=jω0分别代入传输函数V1(z)和Vout(z)即可。不难发现,在中心频率ω0处,当且仅当α2=α5时,有V1(z)=Vout(z)。图2和图3分别通过仿真分别给出了α2=α5时与α2≠α5时两个运放的输出端的频率幅值响应。仿真结果也很好验证了低Q结构更适合该滤波器设计要求。
3 运算放大器的设计
运算放大器是开关电容滤波器中重要的元件。如果运算放大器的指标不合理,可能会影响到整个滤波器的性能。所以需要根据实际的滤波器的性能要求选择适当的运放指标,从而使整个系统满足要求。该滤波器的设计指标如表1所示。
对于给定指标的运算放大器,合理的结构选择是整个设计中最为关键的一点。在考虑指标实现的同时,还需要考虑到可实现性,同等情况下选择更简单、版图更小的结构。选择一级运放。因为其负载电容就是补偿电容,无需特意去增加补偿电容,而且相对于二级运放(一般用米勒补偿),一级运放在电源抑制比等方面都有优势。
4 软件设计
系统控制主要包括输入仪表放大器控制、峰值检测控制、开关电容滤波器控制、增益控制、滤波器通道控制、输出反相控制、键盘控制、显示控制等部分。这里主要介绍开关电容滤波器的控制。开关电容滤波器的控制包括时钟发生模块和编程参数控制模块2部分。时钟发生模块用于生成的各个二阶滤波器组件的时钟信号,该可编程滤波器系统共需3路时钟控制。滤波器编程参数控制模块用于实现芯片内部程序存储器编程控制,包括滤波器编程参数读取模块和接口时序控制模块。
4.1 时钟发生模块
时钟信号发生器模块由频率跟踪检测、参数读取、除法器、分频器和时钟使能控制等部分构成。
1)频率跟踪检测 滤波器在跟踪工作模式下,PLC需检测信号的周期。对输入脉冲周期进行计数,将一个输入信号周期所占的时钟周期数输出给参数读取模块进行处理,程序较为简单。
2)参数读取 根据滤波器类型、滤波器逼近函数和滤波器阶数生成ROM的读取地址。滤波器在典型和跟踪工作模式下选择对应的ROM读取除法器的被除数或除数;手动工作模式下,被除数为常数,除数直接从按键的键值输入缓冲区读取。由于系统使用2片MAX260,需要4路时钟,故要读出4组被除数和除数。图4为参数读取模块的仿真波形,图中的z1_f,z2_f,z3_f,z4_f为4组被除数,d1_f,d2_f,d3_f,d4_为4组除数。
3)除法器 由于PLC采用50 MHz的晶振,输入的中心频率(或截止频率)最大为4 kHz,因此采用26位除法器。由于PLC的除法指令需要占用很大资源,本设计采用移位相减实现除法运算。除法器的状态图如图5所示,除法器的算法如下:将被除法从高位开始移入移位寄存器的低位,移位寄存器每移位一次后与除数相减,结果大于零则商置1,将相减得到的结果后接还未移入移位寄存器的被除数再左移;结果小于零,则商置零,将原被减数后接还未移入移位寄存器的被除数再左移。如此移位相减直至被除数全部位数判断完成,即移位相减26次以后,除法完成。
4)分频器模块和时钟使能 分频器从除法器的结果作为分频系数对PLC的时钟频率分频,得到各个二阶滤波器组件的时钟信号。时钟信号产生后并不马上送入MAX260的时钟输入引脚,需检测到MAX260的编程代码下载完成后再使能时钟输出,下载过程中,时钟信号保持高阻态,且对未使用的二阶滤波器组件,其时钟信号亦保持高阻态。
4.2 滤波器编程参数控制
本系统中滤波器在典型和跟踪工作模式下的逼近函数是确定的,故其编程代码也是确定的,将编程代码存入存储器中,根据滤波器的各参数读取编程代码即可。手动模式下,编程参数由外部输入。为方便下载,将4个二阶滤波器节组件的编程代码组成一个64位的编程控制字。每种逼近函数的各阶低通、高通和带通滤波器对应一个64位的编程控制字,故共有48个编程控制字。每个编程控制字的格式中前8位对应第一片MAX260的二阶滤波器组件A,第16位至第32位对应第一片MAX260的二阶滤波器组件B,后32位对应第二片MAX260。
控制字的位数是固定的,与滤波器设定的阶数无关,即与所使用的二阶滤波器组件的个数无关,未使用的二阶滤波器组件的对应控制字位置零,由于未使用的二阶滤波器组件的时钟信号保持高阻态,故对其进行写操作后该组件仍不会工作,不会对总滤波器构成影响。当使用第一片MAX260时,控制字的高32位全部置为零,此时控制字将使第二片MAX260进入低功耗的待机模式。
5 结论
合理地选择滤波器的类型和阶数是滤波器设计的第一步,是由不同的应用需要,不同的信号与噪声特点,不同的精度要求来决定。基于电力现通讯信号的特点,采用6阶切比雪夫近似滤波器。通过对滤波器结构的比较,采用低Q结构,分析了开关电容电路和电容编程阵列,最终设计一个可编程开关电容6阶带通滤波器;在滤波器设计中,运放器选择增益为70 dB,带宽为10倍时钟频率,是合理的性能指标;通过对设计的开关电容滤波器进行仿真,结果基本与设计目标吻合。