TI杯报告_东华大学_56组_可控增益放大器课件_第1页
TI杯报告_东华大学_56组_可控增益放大器课件_第2页
TI杯报告_东华大学_56组_可控增益放大器课件_第3页
TI杯报告_东华大学_56组_可控增益放大器课件_第4页
TI杯报告_东华大学_56组_可控增益放大器课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2012年“TI杯”上海大学生电子设计邀请赛设 计 报 告题 目: 可控增益放大器的应用 学 校: 东华大学 指 导 老 师: * 参赛队员姓名: * * * 20摘要本作品以TI公司的压控增益放大器VCA810为核心,外加运放OPA209配合,实现了增益可控的放大器;通过数模转换芯片TLV5636和运放OPA228的配合,实现了输出振幅可调的自动增益控制功能;系统的控制核心为LaunchPad上的MSP430G2553单片机。系统主要由六个模块组成:衰减器、前置放大电路、可控增益放大电路、末级放大电路、自动增益控制电路、单片机控制模块。本作品采用了继电器来切换可控增益放大功能和自动增益控制功

2、能。AbstractEmploying voltage-controlled gain amplifier VCA810 as the core and combining with OPA209, the system achieves an amplifier whose gain can be adjusted by a single button; The implement of Digital-to-Analog Converter TLV5636 and amplifier OPA228 successfully fulfills Automatic Gain Control (

3、AGC) functionality, and the fixed amplitude of AGC output can be set by the same button. The system consists of six blocks: Attenuator, Pre-Amplifier Circuit, Variable-gain Circuit, Final-Amplifier Circuit, AGC Circuit, MCU Circuit. The switch between manual-gain-control and automatic-gain-control i

4、s realized by two relays.一.系统方案设计与论证1.可控增益放大器电路方案论证和选择方案一:乘法型DAC用作程控衰减器。将输入的交流信号作为高速D/A的基准电压,通过调节D/A输入的数据实现程控衰减。理论上讲,只要D/A的速度足够快,精度足够高就可以实现很宽范围的精密增益调节。但目前大多数的乘法型DAC速率不够,不能满足题目中尽可能提高响应速度的要求。方案二:乘法型DAC用作程控增益放大器。将输入的交流信号输入高速D/A的R-2R电阻网络RFB端,并将D/A中的R-2R网络用于运放的反馈回路中,通过调节D/A输入的数据实现程控增易放大。理论上同DAC程控衰减器一样,只要

5、D/A的速度足够快,精度足够高就可以实现很宽范围的精密增益放大调节。但考虑到题目中要求尽可能提高响应速度,故不采用方案二。方案三:压控增益放大器。压控增益放大器的增益由其控制端口的参考电压决定,而这个参考电压可以通过单片机控制的D/A芯片的输出电压决定,可以实现大范围的连续增益调节。此外,压控放大器的增益精度比较高,误差小。典型的压控增益放大器VCA810的增益范围为-40dB-40dB,增益线性度为±0.3dB,可以实现题目要求的1-128倍放大可控放大及较快响应速度的要求。综上,考虑到精密度、稳定性、响应速度以及对自动增益控制部分的复用和影响上,结合成本、性价比等因素考虑后,我们

6、选择方案三实现可控增益放大器。2.自动增益控制器电路方案论证和选择方案一:数字式自动增益控制器数字自动增益控制可以将模拟输出信号的幅度信息通过MSP430G2553中自带的10位ADC转换为数字信号,经过MSP430处理后,再通过控制外部的DAC来调整压控放大器的放大倍数,实现自动增益控制。但MSP430G2553自带的10位ADC精度较低,对控制电压的准确性有影响,从而影响稳定输出的幅度。方案二:模拟式自动增益控制器模拟式自动增益控制电路中VCA810的电压控制增益特性可以作为AGC的理想选择,通过增加运算放大器、幅度检测二极管、存储控制电压的保持电容以及决定充放电时间的电阻来构成。整个控制

7、电路结构简单、精度高,可以满足题目中自动增益控制的要求。综上,考虑到电路结构、以及可控增益部分中VCA810的复用,结合成本、性价比等因素考虑后,我们选择方案二实现自动增益控制器。3.总体方案描述可控增益放大模块由一级衰减电路和三级放大电路组成,衰减电路实现对于输入信号-20dB的衰减,第一级和第三级放大电路是固定增益放大,采用OPA209实现;第二级放大电路是可变增益放大,采用VCA810实现;单片机MSP430G2553通过SPI控制数模转换器TLV5636输出02.048V的控制电压,经过反相器之后送入VCA810的控制电压输入端,从而控制VCA810的增益。自动增益控制模块由VCA81

8、0和OPA209实现,其中OPA209作为电压比较器,将VCA810的输出和TLV5636输出的基准电压作比较,然后通过控制电容的充放电来改变VCA810的控制电压,实现负反馈,改变VCA810的增益,达到自动增益控制的目的。本系统采用了两个继电器来切换可控增益放大器和自动增益控制器,两个继电器的切换通过单片机的同一个端口来控制。第一个继电器的静触点连接VCA810控制电压输入端Vc,常闭动触点连接TLV5636经反相器后的输出,常开动触点连接自动增益控制模块为RC充放电回路的电容;第二个继电器的静触点连接TLV5636的输出,常闭动触点不连接其他电路,常开动触点经过一个100欧的电阻连接自动

9、增益控制模块电压比较器的基准电压输入端(即OPA209的反相输入端)。二.理论分析与计算1.增益分配题目要求可控增益放大器的增益变化范围为1128(V/V),即042dB。VCA810的可控增益范围为-40dB+40dB,故在设计时应至少利用其42dB的变化范围。考虑到VCA810输出电压的最大摆幅为±1.8V,而发挥部分需要处理±20Vpp的信号,因此为了充分利用VCA810的正向增益,所以在系统的信号输入端设置了衰减网络,以对输入信号实现-20dB的衰减。放大器的增益分配如下:第一级+6dB,第二级-10dB+35dB,最后一级+24dB。即系统总的增益变化范围为045

10、dB。图2-1 系统总体方框图2.可控增益放大模块DAC输出控制电压计算我们采用了TLV5636作为数模转换器,后接反向放大电路之后控制VCA810的增益,题目中要求的几个增益点对应的VCA810控制电压如下表所示,TLV5636的输出电压为Vc的相反数:表2-1:可控增益时TLV5636的输出电压:总增益(V/V)总增益(dB)VCA810增益(dB)VCA810控制电压Vc(V)10-10-0.75412.0412002.041200-1.0510301624.08240014.082400-1.3520606436.12359926.123599-1.65309012842.144199

11、32.144199-1.8036053.自动增益控制模块DAC输出基准电压计算最后一级的增益为24dB(15.8V/V),而DAC输出的基准电压在最后一级之前,因此计算得到TLV5636输出的基准电压如下:表2-2:自动增益时TLV5636的输出电压:AGC稳定峰峰值(Vpp)TLV5636输出基准电压(V)0.50.01582310.03164620.0632914.调零电路由于VCA810存在失调电压,从而会影响其增益精度,因此在其同相输入端加入了调零电路,通过叠加一个直流电压来抵消VCA810失调电压的影响。在输入端没有加入信号前,先测量VCA810的输出端电压,若输出不为零,则调节调零

12、电路的电位器,直至输出为零为止。 三.电路设计1. 衰减器设计衰减器部分对输入信号进行-20dB(1/10)的衰减,采用电阻分压实现,用10k的固定电阻和2k的滑动变阻器串联,通过调节滑动变阻器的阻值实现对输入信号10倍的衰减。为了避免信号源阻抗和第一级放大电路输入阻抗对衰减电路造成的影响,在衰减电路的前后都加了由OPA209构成的电压跟随器,衰减器电路如图3-1所示。图3-1 衰减器电路2.第一级固定增益放大电路设计第一级放大电路为同相固定增益放大,其作用在于对于衰减器的输出信号进行2倍(即6dB)的放大,送入VCA810的输入端,图3-2给出固定增益放大电路。图3-2 第一级固定增益放大电

13、路3.第二级可变增益放大电路设计第二级放大电路为反向可变增益放大,设计VCA810的可变增益范围为-10dB+35dB。采用单片机MSP430G2553程控DA输出电压经反相器后控制VCA810的电压增益,可通过短按按键使得增益在1,4,16,64,128之间进行切换。继电器的静触点连接VCA810的控制端Vc,常闭动触点连接反相器OPA228的输出,常开静触点连接自动增益控制电路的充放电电容(图中未画出),如图3-3所示:图3-3 第二级可变增益放大电路4.第三级固定增益放大电路设计第三级放大电路为反向固定增益放大,采用OPA209配合外接固定电阻和滑动变阻器实现,对输入信号进行24dB的放

14、大,之后输出到1k欧的负载上,电路图3-4所示:图3-4 第三级固定增益放大电路5.自动增益控制电路设计自动增益控制电路主要由峰值检测模块和RC充放电电路构成,其中峰值检测模块采用OPA209作为电压比较器,将VCA810的输出电压Vout和TLV5636输出的基准电压Vref进行比较,当Vout>Vref时,比较器输出正电压,对电容进行充电,从而使电容两端的电压增大(电压为负,其绝对值减小),导致VCA810的控制电压Vc增大,从而使VCA810的增益减小,实现了负反馈;当Vout<Vref时,AGC电路的工作过程与上述相反。AGC电路中使用到了两个继电器,第一个继电器确定VCA

15、810的控制电压的来源,从而控制系统在可控增益放大和自动增益控制之间进行切换;第二个继电器用来控制TLV5636的输出是否作为AGC电路的基准电压。图3-5 自动增益控制电路6.100mV直流电压产生电路设计图3-6 100mV直流电压产生电路7.按键和LED电路设计图3-6 按键和LED电路四.程序设计1.程序流程图图4-1 程序流程图2.程序源代码见附页。五.测试方案与测试结果1.测试仪器:示波器:绿扬YB4365万用表:MASTECH M9803直流稳压电源:新建XJ17332L功率函数信号发生器: 绿扬 YB1602P2.测试方案及结果1)可控增益放大器测试输入信号为频率为1KHz,

16、200mVpp的正弦信号,可以通过按键短按,设置系统的放大倍数为1,4,16,64,128。表5-1-1给出测试结果。表5-1-1 正弦信号可控增益测试表:预置放大倍数141664128输入信号幅度(mVpp)200200200200200理论输出幅度(mVpp)20080032001280025600实际输出幅度(mVpp)20079831901278025500误差(%)00.20.30.20.4输入信号为频率为1KHz, 200mVpp的方波信号,可以通过按键短按,设置系统的放大倍数为1,4,16,64,128。表5-1-2给出测试结果。表5-1-2 方波信号可控增益测试表:预置放大倍数

17、141664128输入信号幅度(mVpp)200200200200200理论输出幅度(mVpp)20080032001280025600实际输出幅度(mVpp)20079931901278525520误差(%)00.10.30.10.3过冲(%)0.20.10.10.20.3上升时间1.4us输入信号为100mV的直流信号,做为可控增益放大器的输入,在增益为128倍时,用万用表测量,表5-1-2给出测试结果。表5-1-3 直流信号可控增益测试表:预置放大倍数128输入信号幅度(mV)100理论输出幅度(mV)12800实际输出幅度(mVpp)12700误差(%)0.8纹波(mV)200纹波(%

18、)1.6%2)自动增益控制器测试长按按键切换至自动增益控制功能。输入信号为频率为1KHz的正弦信号,在自动增益控制模式下,改变输入信号幅值,并通过按键短按,使输出信号的幅度可以在0.5Vpp,1Vpp和2Vpp间切换。测试结果分别见表5-2-1、5-2-2、5-2-3。表5-2-1 正弦信号自动增益控制测试表:预置信号幅度(Vpp)0.50.50.50.5输入信号幅度20mVpp200mVpp2Vpp20Vpp理论输出幅度(Vpp)0.50.50.50.5实际输出幅度(Vpp)0.4960.4980.4980.496误差(%)0.80.40.40.8表5-2-2 正弦信号自动增益控制测试表:预

19、置信号幅度(Vpp)1111输入信号幅度20mVpp200mVpp2Vpp20Vpp理论输出幅度(Vpp)1111实际输出幅度(Vpp)0.9930.9970.9960.993误差(%)0.70.30.40.7表5-2-3 正弦信号自动增益控制测试表:预置信号幅度(Vpp)2222输入信号幅度20mVpp200mVpp2Vpp20Vpp理论输出幅度(Vpp)2222实际输出幅度(Vpp)1.9851.9981.9961.994误差(%)0.80.10.20.3输入信号为频率为1KHz的方波信号,在自动增益控制模式下,改变输入信号幅值,并通过按键短按,使输出信号的幅度可以在0.5Vpp,1Vpp

20、和2Vpp间切换。测试结果分别见表5-3-1、5-3-2、5-3-3。表5-3-1 方波信号自动增益控制测试表:预置信号幅度(Vpp)0.50.50.50.5输入信号幅度20mVpp200mVpp2Vpp20Vpp理论输出幅度(Vpp)0.50.50.50.5实际输出幅度(Vpp)0.4970.4980.4990.497误差(%)0.60.40.20.6响应时间0.5s表5-3-2 方波信号自动增益控制测试表:预置信号幅度(Vpp)1111输入信号幅度20mVpp200mVpp2Vpp20Vpp理论输出幅度(Vpp)1111实际输出幅度(Vpp)0.9940.9960.9980.996误差(%

21、)0.60.40.20.4响应时间0.5s表5-3-3 方波信号自动增益控制测试表:预置信号幅度(Vpp)2222输入信号幅度20mVpp200mVpp2Vpp20Vpp理论输出幅度(Vpp)2222实际输出幅度(Vpp)1.9901.9981.9961.995误差(%)0.50.10.20.3响应时间0.5s3.测试结果分析由测试数据可知,可控增益放大器可以对200mV,1kHz的正弦波和方波进行放大,放大倍数可以通过短按按键来调节,输出信号的幅度误差较小,波形良好;同时,产生的100mV直流电压也可以实现128倍的放大,基础部分的指标完全达到要求;发挥部分成功地实现了自动增益控制(AGC)

22、功能,可以对输入的20mVpp20Vpp,1kHz的正弦波和方波信号的放大倍数进行自动调节,以使得输出信号的幅度保持稳定。但当输入信号的幅度过小时,AGC模块的误差较大,产生这种现象的原因是当输入的小信号经20dB衰减器衰减后变得非常微弱,接近放大器动态范围的下限,也就是灵敏度,导致输出波形变差。改进的方法是通过检测输入信号的强弱,对衰减器的衰减量进行控制。五.参考文献1黄争. 德州仪器高性能单片机和模拟器件在高校中的应用和选型指南,20122蔡锦福. 运算放大器原理与应用. 北京:科学出版社,20053(美)Thomas L. Floyd. 电子器件:从原理分析到故障检修及系统应用. 杨栈云

23、,李世文,王俊惠,曾鸿祥,译.北京:科学出版社,2008附页附图:电路总图程序代码如下:Delay.c文件:#include <stdint.h>void Delay_1us(uint32_t ulTime)uint32_t i;while(ulTime-)for (i = 0; i < 1; i+);void Delay_10us(uint32_t ulTime)uint32_t i;while(ulTime-)for (i = 0; i < 5; i+);void Delay_1ms(uint32_t ulTime)uint32_t i;while(ulTime-)

24、for (i = 0; i < 200; i+);Delay.h文件:#ifndef _Delay_H#define _Delay_Hvoid Delay_1us(uint32_t ulTime);void Delay_10us(uint32_t ulTime);void Delay_1ms(uint32_t ulTime);#endifDriver_USCI.c文件:#include "msp430g2553.h"#include "stdint.h"void SPIAInit(void) P1SEL |= (BIT1 + BIT2 + BIT4

25、); / P1.1 = SOMI, P1.2=SIMO,P1.4=CLK P1SEL2 |= (BIT1 + BIT2 + BIT4); P1SEL &= BIT5; P1SEL2 &= BIT5; P1DIR |= BIT5; P1OUT |= BIT5; UCA0CTL0 =/ UCCKPH| / (0x80) /* Sync. Mode: Clock Phase */ UCCKPL | / (0x40) /* Sync. Mode: Clock Polarity */ UCMSB | / UC7BIT | UCMST | UCMODE_0 | UCSYNC; UCA0CT

26、L1 = UCSSEL_2; /* 0 UCLK、1 ACLK、2 SMCLK、3 SMCLK */ UCA0BR0 =10; UCA0BR1 = 0; UCA0MCTL = 0;/ No modulation UCA0CTL1 &= UCSWRST; / *Initialize USCI state machine*void SPIA_SendData(uint8_t data)UCA0TXBUF = data; while(!(IFG2&UCA0TXIFG); /* 忙等待 */Driver_USCI.h文件:#ifndef _Driver_USCI_H#define _D

27、river_USCI_Hvoid SPIAInit(void);void SPIA_SendData(uint8_t data);#endifDriver_TLV5636.c文件:#include "msp430g2553.h"#include "stdint.h"#include "Delay.h"#include "Driver_USCI.h"#define DAC_FS0 (P1OUT &=BIT5) /* FS低 */#define DAC_FS1 (P1OUT |= BIT5) /* FS高 */

28、* 速度模式参数 */#define DAC_FAST 1/快速模式#define DAC_SLOW 0/慢速模式/* 参考源选择参数 */#define DAC_EXTERNAL 0 /外部参考源#define DAC_IN1024 1 /内部1.024V参考源#define DAC_IN2048 2 /内部2.048V参考源/#define DAC_EXTERNAL 3 /外部参考源uint8_t VREF,SPEED;float EX_VREF;void DACInit(void)SPIAInit();void DAC_Write(uint16_t data)uint8_t tempH,

29、tempL;tempH = (data >> 8) & 0xff;tempL = data & 0xff;DAC_FS0;Delay_1ms(1);SPIA_SendData(tempH);SPIA_SendData(tempL);Delay_1ms(1);DAC_FS1;Delay_1ms(10);uint32_t DAC_VToData(uint32_t ref,float ex_ref,float out_volt)int temp;switch(ref)case DAC_EXTERNAL:temp=(int)(out_volt*4096/(2*ex_ref)

30、;break;case DAC_IN1024:temp=(int)(out_volt*4096/(2*1.024);break;case DAC_IN2048:temp=(int)(out_volt*4096/(2*2.048);break;default:break;return(temp&0xfff);void DAC_SetControl(uint8_t speed,uint8_t ref,float ex_ref)uint32_t WDCR; /写数据到控制寄存器,选择参考电源 VREF=ref; SPEED=speed; EX_VREF=ex_ref;WDCR = 0x900

31、0 | (SPEED << 14) | (VREF); DAC_Write(0x0000);DAC_Write(WDCR);Delay_1ms(1);void DAC_SetDAC(float out_volt)uint32_t data,com,temp;data = DAC_VToData(VREF,EX_VREF,out_volt);com = 0x0000 | (SPEED << 14);temp = com | data;DAC_Write(temp); DAC_Write(temp); Delay_1ms(1);Driver_TLV5636.h文件:#ifn

32、def _Driver_TLV5636_H#define _Driver_TLV5636_H/* 速度模式参数 */#define DAC_FAST 1/快速模式#define DAC_SLOW 0/慢速模式/* 参考源选择参数 */#define DAC_EXTERNAL 0 /外部参考源#define DAC_IN1024 1 /内部1.024V参考源#define DAC_IN2048 2 /内部2.048V参考源/#define ADC_EXTERNAL 3 /外部参考源extern uint8_t VREF,SPEED;extern float EX_VREF;void DACIni

33、t(void);void DAC_Write(uint16_t data);uint32_t DAC_VToData(uint32_t ref,float ex_ref,float out_volt);void DAC_SetControl(uint8_t speed,uint8_t ref,float ex_ref);void DAC_SetDAC(float out_volt);#endifDriver_Key.c文件:#include "msp430g2553.h"#include "stdint.h"#include "Delay.h&

34、quot;#include "Driver_TLV5636.h"volatile uint8_t long_key=0;volatile uint8_t key_flag1=1;volatile uint8_t key_flag2=1;#define LED0 (P2OUT &=BIT1) /* 片选低 */#define LED1 (P2OUT |= BIT1) /* 片选高 */#define RELAY0 (P2OUT &=BIT2) /* 继电器低 */#define RELAY1 (P2OUT |= BIT2) /* 继电器高 */void KeyInit(void) P2SEL &= (BIT0 + BIT1+ BIT2); P2SEL2 &= (BIT0 + BIT1+ BIT2); P2DIR &= BIT0; /p2.0输入 P2DIR |= (BIT1+ BIT2); /p2.1输出 LED0; RELAY0; P2IES |= BIT0; /p2.0下降沿触发中断 P2IFG &=0xff; /清中断标志 P2IE |=BIT0; /P2.0开中断 P1DIR |=BIT0;#pragma vector=PORT2_VECTOR_interrupt void PO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论