新闻中心

EEPW首页>嵌入式系统>设计应用> 单片机控制的双路有源滤波器设计

单片机控制的双路有源滤波器设计

作者: 时间:2012-02-25 来源:网络 收藏

2硬件设计

芯片的编程输入总线比较简单,它包括2条数据线D0D1,4条地址线A0~A3,另外还有一条写允许控制线WR。采用内部有4KB程序存储器的89C51。它与芯片构成的双路程序控制系统硬件配置原理框图如图1所示。

本系统采用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输出信号相与后送到的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的关系

滤波器A 滤波器B
数据位 地 址 数据位 地 址
D0 D1 A3 A2 A1 A0 D0 D1 A3 A2 A1 A0
M0A
F0A
F2A
F4A
Q0A
Q2A
Q4A
Q6A
M1A
F1A
F3A
F5A
Q1A
Q3A
Q5A
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
M0B
F0B
F2B
F4B
Q0B
Q2B
Q4B
Q6B
M1
F1B
F3B
F5B
Q1B
Q3B
Q5B
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1

通过文献[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级。



评论


相关推荐

技术专区

关闭