宽带数控放大器
单片机应用
韩宏伟
陕西省长安区西安通信学院
摘要:本设计采用AT89C52单片机调控,具有LED显示与键盘输入预置的方案,使用AD603和AD818集成运算放大器完成放大功能,并且设计电压增益步进达到了1dB,能够完成增益从0dB~66dB可调。用可变增益宽带放大器AD603来提高增益,利用高速宽带视频放大器AD818扩大AGC控制范围,通过单片机实现增益步进调节的间隔。使用了多种抗干扰措施以减少噪声并抑制高频自激。整个系统通频带为1kHz~20MHz,最小增益1dB,最大增益69dB。增益步进1dB,60dB以下预置增益与实际增益误差小于0.2dB。不失真输出电压有效值高达25.5V。
一、方案论证与比较
方案一 简单的放大电路可以由三极管搭接的放大电路实现,图1为分立元件放大器电路图。为了满足增益60dB的要求,可以采用多级放大电路实现。对电路输出用二极管检波产生反馈电压调节前级电路实现自动增益的调节。本方案由于大量采用分立元件,如三极管等,电路比较复杂,工作点难于调整,尤其增益的定量调节非常困难。此外,由于采用多级放大,电路稳定性差,容易产生自激现象。
图1
方案二为了易于实现最大60dB增益的调节,可以采用D/A芯片AD7520的电阻权网络改变反馈电压进而控制电路增益。又考虑到AD7520是一种廉价型的10位D/A转换芯片,其输出Vout=Dn×Vref/210,其中Dn为10位数字量输入的二进制值,可满足210=1024挡增益调节,满足题目的精度要求。它由CMOS电流开关和梯形电阻网络构成,具有结构简单、精确度高、体积小、控制方便、外围布线简化等特点,故可以采用AD7520来实现信号的程控衰减。但由于AD7520对输入参考电压Vref有一定幅度要求,为使输入信号在mV~V每一数量级都有较精确的增益,最好使信号在到达AD7520前经过一个适应性的幅度放大调整,再通过AD7520衰减后进行相应的后级放大,并使前后级增益积为1024,与AD7520的衰减分母抵消,即可实现程控放大。但AD7520对输入范围有要求,具体实现起来比较复杂,而且转化非线性误差大,带宽只有几kHz,不能满足频带要求。
方案三根据题目对放大电路的增益可控的要求,考虑直接选取可调增益的运放实现,如运放AD603。其内部由R-2R梯形电阻网络和固定增益放大器构成,加在其梯型网络输入端的信号经衰减后,由固定增益放大器输出,衰减量是由加在增益控制接口的参考电压决定;而这个参考电压可通过单片机进行运算并控制D/A芯片输出控制电压得来,从而实现较精确的数控。此外AD603能提供由直流到30MHz以上的工作带宽,单级实际工作时可提供超过20dB的增益,两级级联后即可得到40dB以上的增益,通过后级放大器放大输出,在高频时也可提供超过60dB的增益。这种方法的优点是电路集成度高、条理较清晰、控制方便、易于数字化用单片机处理。
二、系统设计
1、系统设计与总体流程如图1:
根据题目的要求,经过仔细分析,充分考虑各种因素,制定了整体的设计方案:以单片机89C51为核心,完成四个方面的功能:处理键盘数据,DA转化,控制放大器的增益,控制LCD显示。
· 首先由键盘输入控制数据;
· 控制数据进入单片机,经过运算,单片机做出相应的反应。
· 单片机外围与DAC0832相连,实现将CUP输送的预置数字大小转换成对应的控制电压然后经过LM358运放进行调整;使其能够达到我们的需求。增益控制电压输出到放大电路并且调节放大电路,使放大电路产生相应的变化,改变放大增益;从而达到步进增益的控制。
三.主要电路原理分析与计算
(1)直流稳压电源
本电源采用桥式全波整流、大电容滤波、三端稳压器件稳压的方法,产生各种直流电压,如正负15V,正负5V等都可以买到相应的固定输出的三端稳压芯片,如LM7815、LM7805。而电子市场上没有我们要求的前级和后级放大器所需要的+10V和固定输出的三端稳压器件,所以我们采用LM317T可变输出的稳压芯片,典型电路图如图2。
图2
交流输入经过电容滤波后的稳定的直流电送到三端稳压集成电路LM317T的Vin端。LM317T是这样工作的:由Vin端给它提供工作电压以后,它便可以保持其+Vout端比其ADJ端的电压高1.25V。因此,我们只需用极小的电流来调整ADJ端的电压,便可在+Vout端得到比较大的电流输出,并且电压比ADJ端高出恒定的1.25V。
在LM317T的ADJ端加一个接地的滤波电容,会使纹波抑制比大幅度地提高,给高频小信号运算放大器提供非常稳定的电源。二极管的作用是当有意外情况使得LM317T的输入电压比输出电压还低的时候防止从输入端上有电流倒灌入LM317T引起其损坏。
(2)放大部分
考虑到增加输出电压和增益,因此我们用一个AD603再加一个AD818这样不但可以很轻易满足题目的要求,而且使得总体的电路设计很容易实现。
1. AD603和AD818的相关资料
AD603是美国模拟器件(Analog Device公司的一高性能、低噪声、90MHz、增益可调的集成运放。常用于RF/IF的AGC控制、视频增益控制、A/D输入调整、信号测量等领域。其结构如图3所示。
以下是它的一些具体参数:
●电源电压Vs:±7.5V;
●输入信号幅度VINP:+2V;
●增益控制端电压GNEG和GPOS:±Vs;
●功耗:400mW;
●工作温度范围;
AD603A:-40℃~85℃;
AD603S:-55℃~+125℃;
图3
●存储温度:-65℃~150℃
可见AD603
由固定增益放大器、精确的无源R-2R梯形衰减网络、增益控制接口三部分组成。由上图可知衰减网络的衰减范围,即增益可调范围为0~42.14dB,输入
信号并不直接加到放大器输入端,而是加到梯形衰减网络的输入端,这样就保证了①固定增益放大器的输入为一弱信号,使信号的失真将很小;②带宽的设置与增益
的调节相对独立。
图4 AD603功能框图 |
增益控制接口通过控制电压VG=GPOS-GNEG来控制片内的精确调节器来控制输入信号的衰减量GA,增益控制接口的电压—增益转换率为42.14dB/V,即23.73mV/dB,其线性转换曲线如图5所示。其中对GPOS与GNEG只要求不超过电源电压,增益的调整与其自身电压值无关,而仅与其差值VG有关,并且控制电压GPOS/GNEG端的输入电阻高达50MΩ,即输入电流很小,则片内控制电路对提供增益控制电压的外电路影响很小。以上特点适合构成程控增益放大器。
图5 增益控制转换曲线 固定增益放大器通过在图4中⑤FDBK与⑦VOUT之间外加电阻实现运放的增益与带宽设置,当减小外部电阻时加大负反馈时,使增益减小而扩展带宽,反之则增大增益而减小带宽。其增益可由下式决定: (2) 式中R——外加电阻; GF——固定增益放大器的增益。 G=GA+GF=42.14[R(VG)-0.5]+GF (3) 可见单级AD603可提供高达42.14dB的动态范围,且增益可调易于程控,所以在本设计中选用其作为主放级。 |
从芯片厂商给的资料来看,AD603给出了三种典型的应用方法。
图6
2.单级+10db ~+50db,带宽9MHz接法
电路如图7:
图7
3.单级0db ~+40db,带宽30MHz接法
电路如图8:
图8
此电路的优点是增益、带宽都是适中,经过两级放大,不仅可以满足题目要求,而且高出许多,所以是一个比较合适我们的电路,故我们采用这种接法作为放大电路部分。
因此1脚与2脚之间电压差与增益的关系式为
Gain=40VG+20
AD818
运放性能介绍
AD818 是一个低功耗,宽带,高速视频运算放大器其结构如图9所示:
图9
常被用作视频放大中,它的电压转换速率高达:500V/μs。
55 MHz 0.1 dB带宽为55
MHz 0.1 dB
130 MHz 带宽(3 dB, G =+2)
100 MHz 带宽(3 dB, G+ =–1)
其典型应用电路如图10:
图10
总的电路图如图11所示:
图11
2. 手动增益预制和控制的实现
开环增益手动控制的基本思路是由单片机数字程控,经D/A转换产生控制输出电压并使加到AD603的1脚来实现。由于时间有限所以我们每用单片机实现
自动控制电压。而我们利用单片机使得输出电压以25mv/db增加,然后控制输出电压的变化范围在0-1v之间,而我们再AD603的2脚上加一个0.5v的电压这样就可以产生运放所需要的控制电压-0.5——+0.5之间,提供给AD603。
3. 单片机系统
单片机是整个放大器控制的核心,它主要完成以下功能:接受用户按键信息以控制增益;对AD603的增益控制电压进行控制。控制部分以AT89C51单片机为核心,LED显示及键盘组成。
D/A转化部分由DAC0832D/A转换和两片358运放组成。增益预置值通过键盘输入之后,经过单片机运算后送至D/A转换器转换成0~+1V的控制电压。DAC8032是8位的D/A转换器,8位数据可以表示256种状态,我们只取前200种。对应40dB的增益,步进为40/200=0.2dB。
原理图如图12:
图12 D/A转化原理图
各个功能有不同的模块实现:
键盘检测模块:纪录用户对键盘的操作,将设定的增益数值记录下来。
控制电压生成模块:根据用户对增益的设置,查表得到队D/A转化器的控制电压,输送给D/A转化器以产生精确的控制电压。
显示模块:按用户需要将预制增益显示在数码管上。
调试:先不接放大部分,调试控制部分,使DAC0832输出0~1V电压正常。再用一电压加到ADC0809的输入端,调整使电压显示正常。然后接上放大部分进行调试。采用先分别测试单个单元模块,调试通过后再进行整机调试的方法,很好的提高了调试效率。
四、软件设计
1.软件流程
程序采用汇编语言来编写。流程图如图13所示。
图13
程序流程图
2.源程序见附录1:
五、测试结果
输入电压 10—50mV
增益预制30dB
输出电压最大有效值
=15V
频带范围 BW=10MHz
增益步进 0-66dB
六、抗干扰措施
系统总的增益为0~80dB,增益控制部分增益最大可达66dB,因此抗干扰措施必须要做得很好才能避免自激和减少噪声。我们采用下述方法减少干扰,避免自激:
1 将输入部分和增益控制部分装在屏蔽盒中,避免级间干扰和高频自激。
2 电源输入级电源靠近屏蔽盒就近接上1000uF电解电容,盒内接高频瓷片电容,通过这种方法可避免低频自激。
3 所有信号耦合用电解电容两端并接高频瓷片电容以避免高频增益下降。
4 构建闭路环。在输入级,将整个运放用较粗的地线包围,可吸收高频信号减少噪声。在增益控制部分也采用了此方法。
5
数模隔离。数字部分和模拟部分之间除了电源隔离之外,还将各控制信号用电感隔离。
6 使用同轴电缆,输入级和输出级使用BNC接头,输入级和功率级之间用同轴电缆连接。
实践证明,电路的抗干扰措施比较好,在1KHz~10MHz的通频带范围和0~80dB增益范围内都没有自激。
附录1:单片机源程
;数码管定义
LEDDATA
EQU p2.7
LEDALE
EQU P2.6
LEDCLK
EQU P2.5
;键盘定义
SW EQU P0.0 ;十位
GW EQU
P0.1 ;个位
DF EQU P0.3 ;位选
;DAC0832输出口定义
OP EQU
P1
;变量定义
LEDBUF1 EQU 40H
LEDBUF2 EQU 41H
LEDBUF3 EQU 42H
LEDBUF4 EQU 43H
LEDBUF5 EQU 44H
LEDBUF6 EQU 45H
;程序开始
ORG 0000H
LJMP
MAIN
ORG 0100H
MAIN: MOV SP,#70H
CLR LEDALE
LCALL CLEARDISP ;清数码管
LCALL INATI
;变量初始化
LCALL DISPNUMBER ;初始化显示
LCALL OPC
;输出到0832
;键盘扫描
CIR: LCALL DELAY ;抖动延时
JNBDF,NEXTSTEP;增减转化
JNB SW,SWPLUS
;十位递增
JNB GW,GWPLUS
;个位递增
LJMP
CIR ;循环扫描
NEXTSTEP: LCALL DELAY ;抖动延时
JNB DF,CIR
;增减转化
JNB SW,SWMIN
;十位递减
JNB GW,GWMIN
;个位递减
LJMP NEXTSTEP
;循环扫描
;十位递增子程序
SWPLUS: MOV A,LEDBUF3
ADD
A,#1
DA
A
ANL
A,#0FH
MOV
R2,A
XRL
A,#06
JZ
N ;10位最大为6
MOV
A,R2
MOV
LEDBUF3,A
LCALL DISPNUMBER
;显示
LCALL OPC
;输出到0832
LJMP CIR
;继续扫描
N: MOV
LEDBUF3,#0
LCALL DISPNUMBER
;显示
LCALL OPC
;输出到0832
LJMP CIR
;继续扫描
;个位递增子程序
GWPLUS: MOV A,LEDBUF4
ADD A,#1
DA A
ANL A,#0FH
MOV LEDBUF4,A
LCALL DISPNUMBER
;显示
LCALL OPC
;输出到0832
LJMP CIR
;继续扫描
;十位递减子程序
SWMIN: MOV A,LEDBUF3
SUBB A,#01
CPL A
JZ NN
CPL A
MOV LEDBUF3,A
LCALL DISPNUMBER
LCALL OPC
LJMP NEXTSTEP
NN: MOV LEDBUF3,#06
LCALL DISPNUMBER
LCALL OPC
LJMP NEXTSTEP
;个位递减子程序
GWMIN:MOV A,LEDBUF4
SUBB A,#01
CPL A
JZ NNN
CPL A
MOV LEDBUF4,A
LCALL DISPNUMBER
LCALL OPC
LJMP NEXTSTEP
NNN: MOV LEDBUF4,#09
LCALL DISPNUMBER
LCALL OPC
LJMP NEXTSTEP
;数值计算后输出到0832
OPC:MOV A,LEDBUF3
MOV B,#10
MUL AB
ADD A,LEDBUF4
MOV OP,A
;MOV DPTR,#8000H
;MOVX @DPTR,A
RET
; 变量初始化
INATI:MOV LEDBUF1,#10
MOV LEDBUF2,#10
MOV LEDBUF3,#2
MOV LEDBUF4,#0
MOV LEDBUF5,#11
MOV LEDBUF6,#12
RET
显示前查表
DISPNUMBER:
MOV
R0,#LEDBUF6
MOV
R1,#06H
DISPNUMBER_0:
MOV
A,@R0
MOV
DPTR,#TABLE
MOVC
A,@A+DPTR
LCALL
SENDDATA
DEC
R0
DJNZ
R1,DISPNUMBER_0
RET
;清数码管
CLEARDISP:
MOV
R7,#06H
CLEARDISP_0:
MOV
A,#0FFH
LCALL
SENDDATA
DJNZ
R7,CLEARDISP_0
RET
;数码管显示
SENDDATA:PUSH
01H
MOV
R1,#08H
SENDDATA_0:
CLR
C
RRC
A
MOV
LEDDATA,C
CLR
LEDCLK
SETB
LEDCLK
DJNZ
R1,SENDDATA_0
POP
01H
RET
;延时子程序
DELAY: MOV
R6,#0CDH
LL1: MOV
R5,#0F9H
LL0: NOP
NOP
DJNZ
R5,LL0
DJNZ
R6,LL1
RET
;表定义
TABLE: DB 81h
;0
DB 0F9h
;1
DB 15h
;2
DB 31h
;3
DB 69h
;4
DB 23h
;5
DB 03h
;6
DB 0F1h
;7
DB 01h ;8
DB 21h
;9
DB 0ffh
;不亮
DB 019H
;d
DB 0BH ;b
;程序结束
END
文章评论(0条评论)
登录后参与讨论