当前位置:首页 > 基于可编程芯片 MAX262 的有源滤波器的设计
基于可编程芯片 MAX262 的有源滤波器的设计
1.MAX262 芯片介绍
MAX262 芯片是 Maxim公司推出的双二阶通用开关电容有源滤波器,可通过微处理器精确控制滤波器的传递函数(包括设置中心频率、 品质因数和工作方式) 。它采用
右图是MAX262 引脚
CMOS 工艺制造,在不需外部元件的情况下就可以构成 各种带通、 低通、 高通、 陷波和全通滤波器。 V +--—正电源输入端。V — —负电源输入端。 GND— — —模拟地。
CL KA — — —外接晶体振荡器和滤波器 A 部分的时 钟输入端,在滤波器内部,时钟频率被2 分频。
CL KB— — —滤波器B 部分的时钟输入端,同样在滤波 器内部,时钟频率被2 分频。
CL KOUT— — —晶体振荡器和 R2C振荡的时钟输出端。 INA、 INB— — —滤波器的信号输入端。 BPA、 BPB— — —带通滤波器输出端。 LPA、 L PB — — —低通滤波器输出端。 OSCOU T— — —与晶体振荡器或 R2C 振荡器相连,用于自同步。HPA、 HPB— — —高通、 带阻、 全通滤波器输出端。
WR— — —写入有效输入端。接 V + 时,输入数据不起作用;接 V - 时,数据可通过逻辑接口进入一个可编程的内存之中,以完成滤波器的工作模式、 f 0 及 Q的设置。此外,还可以接收 TTL 电平信号,并上升沿锁存输入数据。 A0、A1、A2、A3 — — —地址输入端,可用来完成对滤波器工作模式、 f 0 和 Q的相应设置。
D0、 D1 — — —数据输入端,可用来对 f 0 和 Q的相应位进行设置。 OP OU T— — —MAX262 的放大器输出端。 OP IN — — —MAX262 的放大器反向输入端。
下图是 MAX262 的内部结构
MAX262 由2 个二阶滤波器(A 和B 两部分).2 个可编程 ROM 及逻辑接口组成。每个滤波器部分又包含 2 个级联的积分器和 1 个加法器。该电路的主要特性有 ② 有滤波器设计软件,可改善滤波特性,带有微处理器接口; ②控制 64 个不同的中心频率 f 0、128个不同的品质因数 Q 及 4 种工作模式; ③对中心频率 f 0 和品质因数 Q可独立编程;
④时钟频率与中心频率比值( f clk / f 0 )可达到 1 %(A 级) ; ⑤中心频率 f 0 的范围为75 kHz。
下图是控制数据输入时序。可在WR的下降沿经逻辑接口给滤波器 A、 B 中的 f clk / f 0、 Q 及工作模式控制字分别赋予不同的值,从而实现各种功能的滤波。
控制数据输入时序
2 电路原理及设计过程 2. 1 硬件设计 电路原理图如下:
单片机选用 AT89C52。AT89C52 是一种低功耗、 高性能的 CMOS 型 8 位微型计算机;有 8 KB 的 Flash256 B的 RAM ,32 线 I/ O 口,3 个16 位定时器/计数器,向量两级中断,1 个双工串行口;具有片内自激振荡器和时钟电路等标准功能。此外,AT89C52 设有静态逻辑, 用于运行到零频率,并支持软件选择的节电运行方式和空闲方式,使 CPU 停止工作,而允许 RAM、 定时/计数器、 串行口和中断系统继续工作。在掉电方式下,片内振荡器停止工作。由于时钟被冻结 一切功能都停止 只有片内 RAM 的内容被保存,直到硬件复位才恢复正常工作。该电
VCC40U1p20p21p22p23p24p25p26p2721222324252627281011121314151617P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7393837363534333212345678d0d1d2d3d4d5d6d7347813141718111U2D0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q7256912151619Q0Q1Q2Q3Q4Q5Q6Q7VCCMAX262xtl1xtl2Y2p30p31p32p3311.09Mhzrxdttltxdttlint0int1p34p35C327pC427pP3.0/RXDP3.1/TXDP3.2/INTOP3.3/INT1P3.4/TOP3.5/T1P3.6/WRP3.7/RDPSENP1.0/T2P1.1/T2-EXP1.2P1.3P1.4P1.5P1.6P1.7XTAL1XTAL2RSTp10p11p12p13p14p15p16p17GOCGVD254HC373BPAOP_OHPAOP ININAD1A3CLKV+V2CLKACLKBC20.1UFBPALPAOP OUTINBHPALPBOP INBPBINAHPBD1D0A3OSC OUTCLKGNDV+V-A2/WRCLKAA0CLKBA1Y1LPAOUTINBLPBBPBHPBD0OSC_OGND/WRA0A1信号输出VD1C10.1UFGNDnPSEN29ALE30ALE/PROG1918931xtl1xtl2resetCRYSTALR11kEA/VPPVCCV1p17p16resetp15U513579TCKGNDTDOVCCTMSNCNCNCTDIGNDJTAG24681032V24GNDVCCGNDAT89C52VD2+VCC5VR21kSW1VD1V--2信号输入VCCV+VCCVCC5VINA1OUT41VCC+3R3VCCIN4.7k+C510uU4A-VCCAD648AresetJR1D11091MVCCINGND12R48.2kGNDpowerTitleSizeA基于max262的滤波器设计Document Number
2. 2 软件设计
采用keil C对MAX262进行软件程序设计,MAX262 的地址 A0~ A3与数据D0D1的关系如下表所列。由下表可看出,每个滤波器的工作模式、 中心频率 f 0、 品质因数 Q值所需编程数据,均需分8 次写入 MAX262 的内部寄存器才能完成设置。由 Q值计算N 并转换成二进制编程数据 Q0~Q6 送片内 RAM ,由输入的中心频率 f 0 值计算 N1。N 为二进制数据Q0~Q6 对应的十进制整数,范围为0~127 ,共128 级; N1 为二进制数据 F0~F5对应的十进制整数,范围为 0~63 ,共 64 级。在获得MAX262 的工作参数后,根据表1 将这些参数转换为8 字节的编程数据。由 AT89C52 的 P0口通过 54 HC373 送入MAX262。设置完成后,MAX262 就按照当前所需求的中心频率、Q 值和滤波器工作方式对输入信号进行滤波处理。
下表为MAX262的地址分配,编程时须用到。
3.结 语
采用单片机AT89C52 完成对可编程滤波器MAX262的控制,能很好地实现有源滤波器的设计工作。这种程控滤波器具有使用灵活、 调试容易及工作性能稳定等特点。它只要1 片 MAX262 通过滤波器A 和B 的级联就能很容易完成四阶滤波器电路的设计。
4.注意
在软件设计编程中需要对MAX262的结构有所了解,通过分析以上地址分布表,我们可以看到,对MAX262进行编程时需要分八次一次写入内存。但是在编程实现时对max262的八次写操作中怎么样去区分,因为在每一个/wr,即一个clk时钟周期中对max262写一次,这中间的时序是怎样实现的,在编程时要不要在写入一次时就有一个延时?
附件(二)软件设计源程序
//设计中心频率f0=40khz,Q=50。晶振频率为6MHZ, //Fclk=3Mhz的切比雪夫四阶带通滤波器 //需要编程的数据为010000000010001 #include
unsigned char SeekN1(float,float);
unsigned char SeekN2(float,f0,float fclk); unsigned char SeekQN1(float Q); unsigned char SeekQN2(float Q);
sbit P07=P0^7;sbit P05=P0^5;sbit P04=P0^4; sbit P03=P0^3;sbit P02=P0^2;sbit P01=P0^1; sbit P00=P0^0; void main() {
int i,j;
unsigned char a[5]; unsigned char b[6]; unsigned char N,N1;
N=SeekN2(40000,30000000); N1=SeekQN2(50); for(i=0;;i++) {
a[i]=N%2;N=N/2; if(N==0) break; }
for(j=0;;j++) {
b[j]=N1%2;N1=N1/2; if(N1==0) break; }
if(P07==0)//设置滤波器的工作模式等参数 {
P05=1;P04=0;P03=0;P02=0;P01=0;P00=0;//选择模式2 P05=0;P04=0;P03=0;P02=0;P01=0;P00=1;//N值 P05=0;P04=1;P03=0;P02=0;P01=1;P00=0; P05=0;P04=0;P03=0;P02=0;P01=1;P00=1;
P05=0;P04=0;P03=0;P02=1;P01=0;P00=0;//N1值 P05=0;P04=0;P03=0;P02=1;P01=0;P00=1; P05=0;P04=1;P03=0;P02=1;P01=1;P00=0; P05=0;P04=0;P03=0;P02=1;P01=1;P00=1;
共分享92篇相关文档