1、题目:宽带直流放大器学院:电子信息工程学院组员:陈福林张 健赖海斌宽带直流放大器摘要:宽放直流放大器主要是解决小信号幅度小、干扰大,线性放大难和提取难度大等问题。本设计是以低功耗 MSP430 单片机为控制中心,由可变放大器VCA810 为核心的放大电路,前级放大电路、后期功率放大电路组成。该放大器具有高增益且连续可调、输出波形无明显失真、有效抑制了零点漂移及噪声问题。且在 010MHz 的频带内信号可放大 051dB,输出信号峰峰值高达10V。关键词:可控增益;宽带;功率放大;MSP430F169一、系统方案论证与比较1、带宽直流放大器设计方案方案一:采用集成运算放大芯片级联可构成前级放大电
2、路,末级可以使用功率放大芯片保证功率要求,集成芯片使用简单,电路不复杂,并且精度高,采用此方案可以实现该题的指标。方案二:采用分立元件,利用高频三极管和场强效应管构成多级放大电路,后级用功率器件保证功率输出,通过电压反馈确定增益,它的功率大,可达到该题要求,但此方案电路发杂,并且很容易自激。方案选定:经过方案比较,我们采用方案一,它更容易实现课题的要求指标。2、电压增益控制设计方案方案一:通过反馈网络控制放大器的电压增益。这种方案电路简单容易实现,改变电阻反馈值来确定电压增益。方案二:在末级放大电路后加衰减网络,对输出电压进行增益控制。这种方案设计要求高,难度大,电路复杂,不容易实现。方案选定
3、:经过方案比较,我们采用方案一。3、直流稳压源设计方案方案一:采用线性稳压电源,用三端稳压芯片实现稳压电路简单,效率高,电源携带的基波与谐波成分少,对整个系统干扰小。方案二:采用开关电源。此方案效率更高,但电路复杂,现实难度大,并且输出基波与谐波大,带来的干扰也比较大。方案选定:经过方案比较,我们采用方案一。4、系统整体设计框图 图 12、硬件系统设计1、缓冲电路图 2缓冲电路设计如下图 2,前置放大电路使用电压跟随器实现,如图 2 所示。考虑到本系统的通频带为 010MHz,为避免引入噪声,其输入阻抗必须限定在50100 之间,若电压跟随器的阻抗为 Rj,图 2 电路的输入阻抗为 Rk 与
4、Rj 并联值。实际电路取 Rk=100,则50 。此前置放大电路还具有缓冲、隔离的功能,其电压增益接近于 1,运算放大器选用 OPA642,此放大器的增益带宽积为400MHz。前级放大可控增益放大末级功率放大MSP430F169单片机预置增益检波输出按键 显示输入缓冲电路2、前级固定增益放大电路图 3前级固定增益放大电路设计如图 3,前级固定增益放大电路是用两片OPA690 芯片来实现的,它的带宽增益积为 500MHz,完全可以满足题目的要求。前级固定增益为 20dB,第一个放大器将小信号电压放大 2 倍,第二个放大器放大 5 倍。3、可控增益放大电路图 4可控放大电路设计如图 4,可控增益放
5、大电路采用增益可控的芯片VCA810,芯片的 Vc 端是增益控制端,增益满足 G(dB) = 40 (Vc+ 1) dB,只要控制 Vc 的电压,就可以控 VCA810 芯片的电压放大倍数。题目要求可控在 0-60dB 内可调。所以 Vc 在-2V0V范围内变化。当 Vc=-2V 时,G(dB)=40dB,前级固定增益为 20dB,所以整个系统增益为 60dB.Vc 是由 430 单片机控制,考虑到单片机不能输出负电压,所以需要一个电压反向电路。4、电压反向电路图 5电压反向电路如图 5,是一个由 LM358 组成的反向比例运算电路,公式为Vout=Rf/R,Rf=R,Vout=Vin,即电压
6、反向。5、末级功率放大电路图 6末级功率放大电路设计如下图 6,考虑到输出要驱动 50 的电阻,需要10Vpp 的电压,需要 70mA 的电流。而前级程控 VCA810 输出电压最大在 3Vpp,不能驱动 50 负载,所以需要后级功率放大,前级输出为 2Vpp 时,此级还需要放大 5 倍才能到达 10Vpp 的电压值,THS3091 可以满足要求,它是电流反馈,带宽增益积是 210MHz,最大可输出 250mA 电流。在查看资料芯片时,Rf=1K,Rg=249 时,电压放大 5 倍。6、检波电路图 7检波电路如图 7,检波出来的电压值比较大,单片机不能直接处理电压值,所以在检波输出用电阻分压,
7、送到单片机 A/D 采样处理在液晶显示。7、电源系统电路图 8图 9电源系统设计如图 8 和图 9,采用变压器变压、桥式整流、电容滤波、三端集成稳压器稳压获得5V、15V、V 直流电压。三、软件系统设计程序流程图:NY系统初始化开始按键提示按键扫描有键按下?按健值为 2DAC12 输出减小,电压增益减小按健值为 1DAC12 输出增大,电压增益减大按健值为 3DAC12 输出为预设值按健值为 4调出作品以及学校信息显示增益大小和电压有效值等信息结束四、系统功能测试及整体指标1、测试数据(1)输入为20mVpp,不同增益输出幅值测试,测试数据如表1所示:输出电压峰峰值(V) 电压增益(dB)0.
8、368 25.30.56 280.74 311 342.2 413 43.53.88 45.74.2 46.45 486.44 507.76 51.78.4 52.59.2 53.210 54表1(2)系统幅频特性测试。此时输入20mVpp,增益54dB。测试数据如表2所示:信号输入频率(Hz) 信号输出幅值(V) 电压增益(dB)10 10 54.00100K 10 54.001M 10 54.002M 9.84 53.833M 9.76 53.764M 9.76 53.765M 9.76 53.766M 9.8 53.807M 9.76 53.768M 9.60 53.629M 9.36
9、53.4010 8.80 52.87表2五、结论我们设计的系统以 VCA810 芯片为核心控制,通过可编程放大电路实现了电压增益可控的功能,其增益步进值和幅度步进值达到了题目的设计要求。在系统的设计过程中,力求硬件电路简单,充分发挥软件编程方便灵活的特点,并最大限度挖掘单片机的资源,来满足系统设计要求。虽然这只是一个培训,但是我们认真对待,把它当着比赛一样重视。经这几天的作品制作中,在我们三人的合理分工与密切合作下,我们在规定的时间内完成了本次培训题目的基本要求,同时也完成一些发挥部分。但由于我们掌握的知识有限,系统还存在一些误差有很多需要改进的地方。经过本次题目培训,我们收益非浅。充分感受到
10、了团队中共同协作的重要性,多与指导老师进行沟通也是特别重要的。遇到问题要找到问题的源头,从本质上解决问题。在培训中也发现了自己的一些不足,在今后的学习过程中将更加努力,以适应社会和时代发展要求。六、参考资料1 童诗白、华成英:模拟电子技术基础 ,北京,高等教育出版社,20002 张义芳:高频电子线路 ,黑龙江,哈尔冰工业大学出版社,2007附录:/* Copyright (C) 2012 中南民族大学 电子信息工程学院* 版权所有。 * 文件名: main.c* 文件功能描述:* 该文件为程序的主文件,主要实现系统初始化,包括系统* 时钟、DAC、ADC、LCD 液晶键盘的初始化,调用相关函数
11、* 实现零点漂移自动校零和控制增益大小,并且显示 windows* 图标,中南民族大学校徽和欢迎使用图片增强趣味性* 本程序 0 错误 0 警告* 创建标识:20120715 * 修改标识:有* 修改描述:调试修改 */#include #include “main.h“#include “lcd12864.h“#include “ADC12.h“#include “DAC12.h“#include “delay.h“#include “keypad.h“#include “function.h“#define uchar unsigned char#define uint unsigned
12、int#define module 3/* 名 称:main 主程序* 功 能:演示 DAC12 程序库 的使用* 入口参数:无* 出口参数:无*/void main( void )/ Stop watchdog timer to prevent time out resetWDTCTL = WDTPW+WDTHOLD; /关闭看门狗System_Init(); /系统初始化函数disp_picture(); /启动显示图片Ride_Gain(); /控制电压增益函数LPM0;/* 名 称:ClkInit* 功 能:时钟系统初始化 MCLK 为 8MHz,SMCLK 为 1MHz* 入口参数:
13、无* 出口参数:无*/void ClkInit()char i;BCSCTL1 /打开XT2 振荡器IFG1 /清除振荡错误标志while(IFG1i0xff;i+);IFG1 /清除振荡错误标志BCSCTL2 |= SELM_2+SELS+DIVS_3; /MCLK为 8MHz,SMCLK 为 1MHz/* 名 称:System_Init* 功 能:时钟系统,液晶,AD 和时钟初始化* 入口参数:无* 出口参数:无*/void System_Init(void) ClkInit(); Ini_Lcd();Init_Keypad();P3DIR |= BIT4; /定义P34 为输出P3OUT
14、 |=BIT4; /将 P34 端电压拉高将继电器闭合进行校零char channels3;DAC12Init(module,5); /DAC 初始化DAC12Cal(module); /校准ADC12CTL0 = REF2_5V + REFON; /开启内部参考源 2.5v 必须有;以供 DA 使用DAC12Out(module,0x000,0x000); /在 P66 和 P67 两个端输出模拟电压 /下面是AD 部分channels0 = SREF_1+INCH_0; /AD 通道A0 的设置channels1 = SREF_1+INCH_1; /AD 通道A10 的设置channels2 = SREF_1+INCH_2; /AD 通道A2 的设置ADC12Init(3,channels,1); /使用 3 个通道,对应 channels 0:单次模式 非 0:多次ADC12Start(); /P60,P61 和 P62 为AD 输入端_EINT(); /开启总中断