2007年全国大学生电子
竞赛
D题:程 控 滤 波 器
设计报告
摘 要
本设计以AT89C51单片机最小系统为核心,控制信号源,放大器和滤波器模块,最后实现程控滤波。
程控滤波器设计原理是利用信号发生器产生正弦信号,通过放大电路把信号放大,再经过滤波器来实现低通,高通选择,进行波段选择,最后得到实际信号。因为电路难免产生干扰和噪声,我们小组选用OP07放大器来进行电压跟随,实现信号平稳。本系统基本符合设计要求,步进基本平稳,系统体积较大,散热好,一个拨码开关让调节方便。
关键词:单片机,滤波器,信号发生器
Abstract
The design based on the microcontroller AT89C52 system,controls the sourse of signal、amplay and rejector.we can control the rejector at the last.
The principle of progrom which controls the rejector is use of signal generator which can produce sine wave signal.though the circle of amplay,we can amplay the signal. The rejector choices the lowpass and the highpass, in oder to choose the wave band, at the last we can get the priticaly signal..because of the disturb and yawp which the circle produces dificultily. our group chooses OP07 to trace the pritical signal .it keeps the signal calmly. the system accords the need of the design basically. Step keeps calmly.the votage of the system is very large.
1.设计要求
(1) 基本要求
· 放大器输入正弦信号电压振幅为10mV,电压增益为40dB,增益10dB步进可调,通频带为100Hz~40kHz,放大器输出电压无明显失真。
· 滤波器可设置为低通滤波器,其-3dB截止频率fc在1kHz~20kHz范围内可调,调节的频率步进为1kHz,2fc处放大器与滤波器的总电压增益不大于30dB, RL=1k(。
· 滤波器可设置为高通滤波器,其-3dB截止频率fc在1kHz~20kHz范围内可调,调节的频率步进为1kHz,0.5fc处放大器与滤波器的总电压增益不大于30dB, RL=1k(。
· 电压增益与截止频率的误差均不大于10%。
· 有设置参数显示功能。
(2) 发挥部分
· 放大器电压增益为60dB,输入信号电压振幅为10mV;增益10dB步进可调,电压增益误差不大于5%。
· 制作一个四阶椭圆型低通滤波器,带内起伏≤1dB,-3dB通带为50kHz,要求放大器与低通滤波器在200kHz处的总电压增益小于5dB,-3dB通带误差不大于5%。
· 制作一个简易幅频特性测试仪,其扫频输出信号的频率变化范围是100Hz~200kHz,频率步进10kHz。
· 其他。
(3)系统
2.方案比较论证
方案一:采用信号发生器输出
正弦信号,经过放大电路放大信号,通过信号发生器调节进行10k HZ步进,来满足设计要求这样可以得到标准信号,为后面的放大和滤波打下好的基础。通过基本高通,低通滤波电路,来进行滤波,可以清楚明了的知道滤波线路,不会有外界干扰,并且调节方便。
方案二:采用DDS信号发生器(如图1)可以产生自己想要得信号,并且是程控装置,可以根据电路和具体要求随时改变参数,进行设置,比如步进,电压等,实现方便,对电路的整体控制有很好的收缩性。
使用DDS信号发生器可以调节步进,但是产生信号有时候不稳。容易受外界干扰,有时产生的正弦信号容易失真,所以步进精度不高,并且基本滤波电路虽然让电路过程清晰,但是要制作两个滤波电路使工艺繁琐,并且会产生未知干扰。我们选用MAX262开关电容,本器件可以通过控制字选择工作方式,有低通,高通,带通,和全通四种工作方式,根据自己需要来进行选择,使用方便,并且可以达到要求。
比较上面两种方案,考虑题目的基本要求,不会产生未知信号干扰,并且在放大器和滤波器中间插入一个电压跟随器,让信号稳定。这种电路不仅可以实现所有基本要求,并且简单易行,干扰少,便于检查和拆卸,并且成本低,所以我们选择方案二。
3.理论
与计算
3.1.本系统使用OP07放大器,步进为10db ,根据要求计算得:
运算放大器的主要参数要符合设计的要求,摆率即(转换速率)Sr>=2*pi*fmax*Uom , 根据设计的指标设定摆率的范围,特征频率、增益带宽积 。运算放大器的带宽越宽越好。设计要求40khz的带宽,设计的误差就小。要实现增益可调。要求放大器与滤波器的总电压增益不大于30db,由
20lg(Av)=XdB计算得:U<=31.6。前后两部分是相互影响、相互关联的。
步进
0db
10db
20db
30db
40db
放大倍数
1
3.16
10
31.6
100
滤波器增益
31.6
10
3.16
1
0.316
3.2 根据已给参数以及低通滤波器、高通滤波器和带通滤波器的幅频特性曲线,计算出在-3db处的截止频率来确定采用几阶的滤波器。计算出滤波器的增益符合要求。采用MAX262 中的滤波器A(如图1),以下为滤波器A的地址和数据关系(表一): 表一
滤波器A
数据位
地址位
D0
D1
A3
A2
A1
A0
M0a
M1a
0
0
0
0
F0a
F1a
0
0
0
1
F2a
F3a
0
0
1
0
F4a
F5a
0
0
1
1
Q0a
Q1a
0
1
0
0
Q2a
Q3a
0
1
0
1
Q4a
Q5a
0
1
0
1
Q6a
1
1
1
1
4.电路与程序设计
4.1信号源部分
使用DDS7008来实现连续产生步进为1KHZ的正弦信号,实现步进可调,对应输出各自电压值,便于观察。
3.2 放大部分
由AD7008产生的步进为10db的正弦波信号,振幅为10mV,增益为40db
由20lg(Av)=Xdb知:放大倍数是100倍,信号源的电压范围是0—1V.
其增益为10dB步进,转换为增益是以3.16来递增的。采样点是0、10、20、30、40。增益采样点是1、3.16、10、31.6、100。因为放大器与滤波器的总电压增益不大于30db,即为总增益不超过31.6。设计为两级放大电路,在第二次方大时采用。仿真如图2
3.3滤波部分
截止频率fc在1kHz----20kHz可调,
步进为1kHz,采样点是20个(0-
20)。开关电容滤波器主要由放大器、积
分器、电容切换网络和工作模式选择器组
成。通过程序控制,可以同时对两路输入
信号进行二阶低通、高通、带通、组通以
及全通滤波处理。滤波器的中心频率在
15kHz---50kHz频率范围内实现64级程
控调节。其内部由两个滤波器。滤波器A
和B可以单独使用,也可以级联使用成四
阶滤波器使用。MAX262通过8254产生的
不同频率的时钟脉冲,来进行自激振荡。
在下降沿WR- 经逻辑端口给滤波器的中
心频率 f0、品质因数Q、工作模式的控
制字赋予 不同的值来实现各种功能的滤
波器。公式:Fclk/F0与F0—F5之间的
关系,Fclk/F0=40.84+1.57N1 或
N1=(Fclk/F0-40.84)/1.57 其中N1
位二进制数据F0---F5对应的十进制整数,
范围为 0----63共64级。同样,对应滤波器的Q值也是通过计算来的到的数据Q0---Q7,Q的值与Q0---Q7的关系:Q=64/(128- N2)或N2=64(2-1/Q) 其中N2为二进制数据Q0----Q6对应的十进制整数,范围为0----127共128级。程序流程图(如图3)
3.4 总体流程图
总电路原理图:
4.测试方案及结果
方案:10mv 10000hz
CH1(MV)
峰峰值
76mv
132mv
360mv
1.14v
CH2
峰峰值
17mv
20.4mv
24.6mv
22mv
CH2
平均值
-200
-333
-573
-477
表4:低通滤波器(10KHZ)
频率
(KHZ)
4
5
6
7
8
9
10
11
12
13
电压
(V)
1.17
1.18
1.19
1.20
1.21
1.21
1.22
1.22
1.22
1.23
频率
(KHZ)
14
15
16
17
18
19
20
21
22
23
电压
(V)
1.24
1.24
1.26
1.26
1.28
1.34
1.38
1.35
1.34
1.30
结果分析:放大器的放大倍数存在一些误差。由于正弦信号可能受到一些干扰而导致的。低通滤波器频率不断改变,输出电压随之变化。变化趋势先增大后减小。放大器部分完成了25%。以10db步进 。实现频率在100hz---40khz之间,滤波器以1k步进,在1k---20k之间,可能不太满足指标,发挥部分实现信号源,但有时容易被干扰一些。
5.总结:通过这次设计大赛对我们的设计能力和动手能力都有很大提高,对电工电子电路的理解更加透彻。掌握了在电路测试中应该注意的问题,比如要断电查询电路故障、各芯片的引脚功能和要求电压。电路的布线问题等等。都需要我们学习,从中得到深刻的体会,受益匪浅。
附录:/*C8254 EQU 0DFFFH
C82540 EQU 1FFFH
DATA7 BIT P1.0*/
;显示缓冲区
D4 EQU 39H
D5 EQU 3AH
BAOCUN EQU 3FH
;数据存储区
CLK1 EQU 40H
CLK2 EQU 41H
CLK3 EQU 42H
/*CLK4 EQU 43H
CLK5 EQU 44H
CLK6 EQU 45H
CLK7 EQU 46H
CLK8 EQU 47H
CLK9 EQU 48H
CLK10 EQU 49H
CLK11 EQU 4AH
CLK12 EQU 4BH
CLK13 EQU 4CH
CLK14 EQU 4DH
CLK15 EQU 4EH
CLK16 EQU 4FH
CLK17 EQU 50H
CLK18 EQU 51H
CLK19 EQU 52H
CLK20 EQU 53H
DN EQU 54H*/
ORG 000H
AJMP MAIN
ORG 0030H
MAIN: MOV SP,#50H ;显示区初始化
MOV D4,#00H
MOV D5,#00H
MOV BAOCUN,#00H
MOV R1,#00H
MOV R0,#40H
/* MOV DN,#01H*/
MOV CLK1,#01H
MOV CLK2,#02H
MOV CLK3,#03H
/* MOV CLK4,#04H
MOV CLK5,#05H
MOV CLK6,#06H
MOV CLK7,#07H
MOV CLK8,#08H
MOV CLK9,#09H
MOV CLK10,#10H
MOV CLK11,#11H
MOV CLK12,#12H
MOV CLK13,#13H
MOV CLK14,#14H
MOV CLK15,#15H
MOV CLK16,#16H
MOV CLK17,#17H
MOV CLK18,#18H
MOV CLK19,#19H
MOV CLK20,#20H*/
START: LCALL CH_KEY
LCALL DISPLAY
AJMP START
CH_KEY:
LCALL DISPLAY
LCALL KS ;检查有没有按键按下
JNZ LK1 ;有去抖
AJMP CH_KEY
LK1:
;LCALL T12MS
ACALL KS
JNZ LK2
RET
LK2:
LCALL KSCAN ;按键识别子程序
LCALL BIJIAO
TIMER:PUSH PSW
MOV R7,#10H
DJNZ R7,$
POP PSW
RET
;************* 按键识别子程序 ***************************
KSCAN:MOV R2, #0EFH ;识别按键子程序,数据送A保存
MOV R4, #00H
LK4:MOV A, R2
MOV P2, A
NOP
MOV A, P2
JB ACC.0,LONE
MOV A, #00H
AJMP LKP
LONE:JB ACC.1,LTWO
MOV A, #04H
AJMP LKP
LTWO:JB ACC.2,LTHR
MOV A, #08H
AJMP LKP
LTHR:JB ACC.3,NEXTT ;判断下一列
MOV A, #0CH
LKP:ADD A, R4
PUSH ACC
LK3:ACALL KS ;确认按键是否松开,从这里出来
JNZ LK3 ;从这里出来,键值在A里
POP ACC
RET
NEXTT:INC R4
MOV A, R2
JNB ACC.7,KND
RL A
MOV R2, A
AJMP LK4
KND:AJMP CH_KEY
KS:MOV P2, #0FH
NOP
MOV A, P2
CPL A
ANL A, #0FH
NOP
RET
;***************12毫秒延时子程序*********************
T12MS:
MOV R7, #18H
TM1:MOV R6, #0FFH
TM66:DJNZ R6, TM66
DJNZ R7, TM1
RET
;************************************************
;数码管显示程序
DISPLAY:
LCALL DIS_DELAY
ORL D4,#01110000B
MOV P0,D4
LCALL DIS_DELAY
ORL D5,#01100000B
MOV P0,D5
RET
;数码管显示延时程序
DIS_DELAY:
MOV R7,#20H
DJNZ R7,$
RET
;根据按键调用功能
BIJIAO :NOP
CLEAR:
CJNE A, #00H, ENTER ;0健清零
LJMP MAIN
ENTER:
CJNE A, #02H, TIAO
MOV A, @R0
MOV BAOCUN,A
LCALL FENKAI
WAIT: lcall display
JB P2.2, WAIT
/*MOV DPTR, #key01
MOV R1,#00H
MOV A,R1
MOVC A,@A+DPTR
MOV R5,A
/* LCALL CLK*/
lcall max262
inc R0
CJNE R0,#43H,TIAO
LJMP MAIN
/* MOV A,R1
LJMP MAIN
SUBB A,#09H
JZ CHD1
MOV A,R1
SUBB A,#0BH
JZ CHD2
MOV A,R1
SUBB A,#10H
JZ CHD3
INC R1
MOV DN,#01H
INC R0
CJNE R0,#54H, TIAO
LJMP MAIN*/
TIAO :RET
/* ;跳到滤波器模块
CHD1: MOV DN,#02H
LCALL MAX
RET
CHD2: MOV DN,#03H
LCALL MAX
RET
CHD3: MOV DN,#04H
LCALL MAX
RET*/
/* ;时钟信号产生
CLK: MOV DPTR,#C8254
MOV A,#16H
MOVX @DPTR,A
MOV DPTR,#C82540
MOV A,R5
MOVX @DPTR,A
NOP
NOP
RET
;********************************
FENKAI: MOV A,BAOCUN
ANL A,#0FH
MOV D4, A
MOV A,BAOCUN
SWAP A
ANL A,#0FH
MOV D5,A
RET
;MAX262初始化
MAX262:
/* MOV A,DN
SUBB A,#01H
JZ N135
MOV A,DN
SUBB A,#02H
JZ N102
MOV A,DN
SUBB A,#03H
JZ N59
MOV A,DN
AJMP N120
RET */
MOV A,BAOCUN
SUBB A,#01H
JZ N135
/* MOV A,DN*/
SUBB A,#02H
JZ N102
/* MOV A,DN*/
SUBB A,#03H
JZ N59
/* MOV A,DN*/
AJMP N120
RET
N135:MOV A,#00H
MOV P1,A
MOV A,#28H
MOV A,#01H
MOV P1,A
MOV A,#09H
MOV P1,A
MOV A,#32H
MOV P1,A
MOV A,#3AH
MOV A,#33H
MOV P1,A
MOV A,#3BH
AJMP Q1
RET
Q1: MOV A,#04H
MOV P1,A
MOV A,#0CH
MOV P1,A
MOV A,#05H
MOV P1,A
MOV A,#0DH
MOV P1,A
MOV A,#06H
MOV P1,A
MOV A,#0EH
MOV P1,A
MOV A,#07H
MOV P1,A
MOV A,#0FH
MOV P1,A
RET
N102:MOV A,#00H
MOV P1,A
MOV A,#28H
MOV P1,A
MOV A,#31H
MOV P1,A
MOV A,#39H
MOV P1,A
MOV A,#31H
MOV P1,A
MOV A,#3AH
MOV P1,A
MOV A,#23H
MOV P1,A
MOV A,#2BH
MOV P1,A
LCALL Q1
RET
N59: MOV A,#00H
MOV P1,A
MOV A,#28H
MOV P1,A
MOV A,#01H
MOV P1,A
MOV A,#09H
MOV P1,A
MOV A,#32H
MOV P1,A
MOV A,#3AH
MOV A,#03H
MOV P1,A
MOV A,#0BH
MOV P1,A
LCALL Q1
RET
N120:MOV A,#00H
MOV P1,A
MOV A,#28H
MOV P1,A
MOV A,#31H
MOV P1,A
MOV A,#39H
MOV P1,A
MOV A,#02H
MOV P1,A
MOV A,#0AH
MOV P1,A
MOV A,#33H
MOV P1,A
MOV A,#3BH
MOV P1,A
LCALL Q1
RET
KEY01: DB 4AH,25H,19H,13H,0FH,0CH,0BH,09H,08H
DB 0AH,09H,08H
DB 0DH,0CH,0BH,0AH
DB 1CH, 1AH,19H,18H
END
图1
开 始
初 始 化
新 设 置?
滤波器选择
计算Q、F
送MAX262
调 程 序
图2
图3
AT89S52单片机最小系统
DDS
放大器
MAX262
示波器