在工业自动化的许多范畴都要运用滤波器。一般有源滤波器均由运算放大器和RC元件组成,对元器件的参数精度要求比较高,规划和调试都比较费事。美信公司(MAXIM)出产垢可编程滤波器芯片MAX262能够经过编程对各种低频信号完结低通、高通、带通、带阻以及全通滤波处理,并且滤波的特性参数如中心频率、品质因数等也能够经过编程进行设置。
有源滤波器一般经过改动RC网络参数来改动频率特性,选用运算放大器和可切换元件参数的RC网络,能够用同一电路组成各种频率特性的滤波器。美信公司的可编程滤器芯片选用编程数据来完结RC网络的切换。
1 MAX262芯片介绍
(1)内部结构
MAX262 主要由放大器、积分器、电容切换网络(SCN)和作业形式挑选器组成。积分器、电容切换网络(SCN)和作业形式挑选器别离由编程数据M0M1, F0~F5和Q0~Q6操控。MAX262内部有两个二级滤波器,滤波器A和B能够独自运用,也可级联成四阶滤波器运用。芯片的运用十分灵敏,但它们均受同一组编程数据的操控。
MAX262芯片的作业频率为1Hz~140kHz。当时钟频率为4MHz,作业形式挑选为形式3时,芯片能够对140kHz的输入信号进行滤波处理。其它作业形式的最高作业频率为100kHz。滤波器A和B能够选用内部时钟,也能够选用外部时钟。外部时钟别离从芯片的引脚CLKA、CLKB引进,对外部时钟无占空比要求。假如要对更低频率的信号进行滤波处理,可选用MAX260芯片,它的作业频率为0.01Hz~7.5kHz。输入的低频信号能够直接送到MAX260芯片的输入端(即INA或INB引脚),输入信号的起伏规模为0V~+5V。
(2)编程参数
MAX262芯片有三个编程参数:中心频率f0、Q值和作业形式。
中心频率由编程数据F0~F5操控,共64个不同的二进制数据,每个数据对应一个时钟频率fclk与中心频率f0的比值fclk/f0。在文献[1]的表2 中给出了MAX262芯片的fclk/f0与编程数据F0~F5的对应联系。在体系完结时,能够选用查表的办法取得编程数据。本文选用核算的办法来构成编程数据F0~F5。
Q值由编程数据Q0~Q7操控,共128个不同的二进制数据,每个数据对应一个同的Q值,最小的Q值为0.5,最大的Q值为64(假如芯片作业在形式2则可达90.5)。在文献[1]的表3中给出了编程数据Q0~Q7与Q值的对应联系。
作业形式由编程数据M0M1操控,别离对应作业形式1、2、3和4。形式1能够完结低通、带通和带随滤波;形式2根本与形式1相同,仅仅该形式能够取得最高的Q值;形式3是仅有能够完结高通滤波的形式;而只需形式4才干完结全通滤波,它和形式3也能够完结低通和带通滤波。
编程参数f0、Q值和作业形式确认今后,只需将相应的编程数据装入MAX262芯片内部的寄存器,滤波器的类型和频率特性也就确认了。
2 单片机硬件规划
MAX262芯片的编程输入总线比较简单,它包含2条数据线D0D1,4条地址线A0~A3,别的还有一条写答应操控线WR。单片机选用内部有4KB程序存储器的89C51。
本体系选用6264芯片扩展数据存储器。因为74LS138译码器运用89C51 P2口的高三位进行地址译码,则6264的地址规模为0000H~1FFFH。
74LS138 译码器的输出Y2作为8279芯片的片选信号CS,其地址规模为4000H~5FFFH。经74LS373锁存后的地址线A0送到8279的A0地址输入端,所以挑选5FFFH作为8279的指令口地址,5FFEH作为8279的数据口地址。89C51的晶振选用12MHz,其ALE信号经4分频后,得到频率为500kHz的信号送到8279的CLK输入端和为时钟信号。8279选用中止办法,占用89C51的外中止0。8279选用8个七段LED显现器,其ALE信号经4分频后,得到频率为500kHz的信号送到8279的CLK输入端作为时钟信号。8279选用中止办法,占用89C51的外中止0。 8279选用8个七段LED显现器,其键盘依照如下:10个数字键0~9,1个小数点键,5个功能键(即用于挑选滤波器的类型,低通、带通、高通、全通和带阻滤波),1个回车键,其17个按键。
89C51的WR 操控信号和74LS138译码器的Y1输出信号相与后送到MAX262的WR写答应操控端,则MAX262的地址规模为 2000H~3FFFH.MAX262的地址线Ax(即A0~A3)和数据线Dx(即D0D1)连接到89C51的P0口低六位,即A0~A3、D0D1 别离连接到P0.0~P0.5。89C51的ALE信号送到MAX262的CLKA和CLKB引脚作为时钟信号,即MAX262的外部时钟频率为 2MHz,所以程控滤波器能处理的输入信号频率规模为15kHz~50kHz,经过改动编程数据F0~F5完结64级中心频率调理。
本体系选用形式1完结低通、带通和带阻滤波,形式3完结高通滤波,形式4完结全通滤波。其间,滤波器 A和B的高通、带阻和全通滤波输出端别离共用 MAX262的HPA、HPB引脚。需求处理的低频输入信号别离由MAX262的INA和INB引脚输入,滤波器A和滤波器B的三个输出端别离连接到模仿开关4052的输入端,然后由4052的输出端输出滤波处理后的信号,即图1中的OUTA和OUTB两路输出信号。4052的地址A1、A0由89C51 的P1.1、P1.0操控,完结对滤波器类型的挑选。
3 体系软件完结办法
(1)编程数据取得办法
MAX262的地址A0~A3与数据D0D1的联系见表1。由表1可见每个滤波器的作业形式、中心频率、Q值所需编程数据均需求分8次写入MAX262的内部寄存器才干完结设置。
表1 MAX262的址A0~A3与数据D0D1的联系
经过文献[1]给出的fCLK/f0与F0~F5的联系表格,得到本文依据fCLK/f0核算编程数据F0~F5的公式,即fCLK/f0与F0~F5的联系为:
fCLK/f0=40.84+1.57N1 (1)
或,N1为二进制数据F0~F5对应的十进制整数,规模为0~63共64级。
相同,对应滤波器的Q值也选用查表的办法,而是经过核算来取得Q值的编程数据Q0~Q7。Q值与Q0~Q7的联系为:
Q=64/(128-N2) (3)
或 N2=64(2-1/Q) (4)
其间,N2为二进数据Q0~Q6对应的十进制整数,规模为0~127共128级。
(2)体系程序流程
本体系的单片机主程序框图见图2。首要进行初始化,包含对8279的初始化,然后从片内RAM中读取新设置标志位进行判别。假如不是则给MAX262芯片送入滤波器所需的初始作业参数;是新设置则依据键中止服务程序取得的键值进行处理。
进行新设置时,首要依据输入的键值完结对滤波器的挑选,包含滤波器A和B的设置挑选以及相应滤波器的类型挑选;然后依据式(4),由输入的Q值核算N2并转换成二进制编程数据Q0~Q6送片内RAM;一起依据式(2),由输入的中心频率f0值核算N1并转换为二进制编程数据F0~F5送片内RAM。在取得 MAX262的作业参数后,依据表1将这些参数转换为8字节的编程数据,由89C51的P0口送到MAX262。
设置完结后,MAX262就依照当时所要求的中心频率和Q值对输入信号进行滤波处理。
最终调用显现子程序,在LED数码管显现当时滤波器的作业参数,即中心频率和Q值。
本文选用单片机89C51来完结对可编程滤波器MAX262的操控,很好地完结了有源滤波器规划作业。并且这种程控滤波器具有运用灵敏、调试简单的特色,一片MAX262就能完结对两路输入信号进行二阶滤波的处理。
假如需求四阶滤波能够很简单经过滤波器A和B的级联来完结,别的还能够经过对89C51的ALE信号进行倍频和分频完结AMX262的一切作业频率规模。