程控放大器的设计方案.docx
- 文档编号:3065504
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:27
- 大小:597.90KB
程控放大器的设计方案.docx
《程控放大器的设计方案.docx》由会员分享,可在线阅读,更多相关《程控放大器的设计方案.docx(27页珍藏版)》请在冰豆网上搜索。
程控放大器的设计方案
长江大学电子系统设计竞赛参赛方案
作品名称
程控放大器
姓名
周健(电气1083)、高秀龙(电气1083)
所在院系
电子信息学院
完成时间
2011.5.29
程控放大器
摘要:
本设计以LF353、ATMEGA16、DAC0832芯片为核心,加以其它辅助电路实现对宽带电压放大器的电压放大倍数、输出电压进行精确控制。
放大器的电压放大倍数从0.5倍到127.5倍,以
倍为最小步进可设定增益步进,控制误差不大于5%,放大器的带宽大于200KHz。
键盘和显示电路实现人机交互,完成对电压放大倍数和输出电压的设定和显示。
关键字:
程控放大器、高精度、控制电压、电压变换、D/A、A/D。
一、系统方案设计与论证
1、方案的比较
程控放大器在信号调整与控制电路具有广泛的用途,如音响设备中音量的控制,电子设备中信号的准确放大,信号处理电路中输出信号的自动稳幅等。
准确程控增益可调放大器的实现方法通常有以下几种方案可供选用。
方案一:
利用可程控的模拟开关和电阻网络构成放大器的反馈电阻,通过接入不同的电阻来实现放大器的放大倍数改变,以达到程控增益的目的。
此方案的优点是控制简单,电路实现较为容易。
缺点是多路模拟开关使用频率较低,其导通电阻对信号传输精度影响较为明显,漂移较大,输入阻抗不高,对于较为精确的控制其影响难以进行后期修正,切换时抖动引起的误差比较大,切换速度较慢。
控制精度增加一位,电阻网络就增加一级,电阻网络的电阻选择也较为困难,很难做到高精度控制。
方案二:
利用数字电位器作为放大器的反馈电阻,实现放大器的放大倍数改变。
此方案和方案一原理基本相同,都是通过调节反馈电阻来实现对增益的控制,不同的是选用数字电位器来实现,缺点是数字电位器为了扩大使用电压范围,内部附加了由振荡器组成的充电泵,因而会产生有害的高频噪声,它同样不能满足高精度控制要求。
方案三:
利用电流型DAC自身的乘法功能,可以实现程控放大器。
此方案实现较为容易,控制精确较高,一般不能做到宽频使用。
方案四:
利用新型单片集成电压控制放大器实现程控放大器。
此方案实现也较为容易,控制电路成本较低,使用频率受限于放大器本身。
方案五:
利用D/A转换器与仪表放大器一起可组成程控增益放大器。
该方案电路简单,增益可调范围大,稳定性好,性价比高,其增益由输入数字量控制,电路很容易和计算机或单片机相连,组成自动测试系统。
2、方案确定
分析上述五种方案的优缺点,在满足要求的条件下,方案五具有更大的优越性和灵和性,因此我们采用D/A转换器与仪表放大器一起可组成程控增益放大器。
二、放大器的基本原理
1、D/A转换器原理
图一D/A转换器原理电路图
如图一所示,从
端看进去,无论各个开关在什么位置,R-2R网络是个恒阻值R,流入R-2R网络的电流即为
对于一个N位的MDAC来说,MSB处的2R上流过的电流大小为
MSB-1处的2R流过的电流为
MSB-2处的电流为
……,在LSB上流过的电流为
。
根据运放虚断的特有
;
通常集成在DAC内部,从而保证和R是相等的,这样可以得到
。
2、D/A转换器构成的程控增益放大器原理
根据DAC的原理可知,它是一种电压输入电压输出的关系。
将待放大的模拟信号从
输入,就构成了一个增益小于1的放大器,其增益为
,为了实现放大,在接一级或多级放大。
设后级放大
倍,则放大器的增益为
,其中D是给定的数字量范围为0到
,从而构成了程控放大/衰减器。
三、系统的硬件设计与实现
1、电源部分
运放LF353选用
的双电源供电,ATmega16工作电压为
电路如下:
2、D/A转换器构成的放大电路
电路设计如下:
当输入信号十分微弱时,通常会淹没在噪声中,为此采用具有高共模抑制比、高输入阻抗、低噪声、宽频带宽特性的运算放大器LF353作为输入缓冲,它单位带宽可达4MHz,完全满足系统频带宽10Hz到200KHz的要求,共摸抑制比高达100dB,等效输入噪声小于16nV/Hz,能有效抑制共模干扰引入的误差,提高信噪比和系统的精度;放大部分采用8位的DAC0832实现的数字量程控放大,其增益为:
其中D给定的范围从1到255,因此可以实现从0.5倍到127.5倍,最小步进为0.5倍的程控放大。
满足系统增益1倍到100倍,最大步进10倍的设计要求。
3、
测量电路
采用采样保持集成电路LF398和电压比较器LF353等组成的峰值采样保持电路,输入采样信号频率可达1MHz。
该电路通过控制信号实现对峰值采样,小于原峰值时,电容保持其原峰值,否则保持其新峰值。
其原理是:
输入的电压进入采样集成,对电容充电,电压达到最大值(峰值)之后,输出的电压和输入的电压作比较,产生控制信号控制LF398的逻辑控制脚电压,使其采样保持输入信号的峰值。
使用ATmega16内部含有8路复用的单端输入通道的10位ADC进行模数转换。
10位精度、0.5LSB的非线性度、±2LSB的绝对精度、65-260µs的转换时间、最高分辨率时采样率高达15kSPS、可选的2.56VADC参考电压、ADC转换结束中断,其误差为
,理论上能满足系统误差要求。
4、显示电路
此部分采用4个独立键盘完成功能的选择、放大倍数及增益步进的设置。
信号的幅值大小、放大倍数、步进大小以及工作模式等通过12864液晶进行显示,实现了友好的操作界面。
5、系统控制电路
采用ATMEL公司的一款8位单片机ATMEG16来完成信号放大倍数的控制、信号峰值的检测以及显示数值功能,其电路设计如下:
系统电路图
四、软件程序设计
1.12864的驱动时序
2、按键驱动时序
3、DAC0832的驱动时序
4、测量
子程序流程图
5、按键响应程序流程图
INT0中断函数流程图定时器1中断函数流程图
6、系统程序流程图
附录:
附录1:
主要元器件清单表
元器件类型
元器件型号
数量
单片机芯片
ATMEGA16
1
显示屏
12864
1
D/A转换芯片
DAC0832
1
运算放大器
LF353
5
采样保持集成芯片
LF398
2
集成稳压芯片
7805
1
7812
1
7912
1
瓷片电容
0.1uF
12
1uF
2
电解电容
10uF
1
470uF
1
电阻
560R
1
1K
4
10K
2
90K
1
精密可调电位器10K(50K)
2
二极管
IN4007
8
附录2:
程序源代码
/*名称:
Atmega16-程控放大器源代码*/
/*时钟:
8MHZ*/
/*交互器件:
LCD128*64、DAC0832、按键*4、模拟量输入*2*/
/*最后修改:
2011-5-28*/
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
#defineRS_H()PORTD|=_BV(0);//H=数据;L=指令
#defineRS_L()PORTD&=~_BV(0);
#defineRW_H()PORTD|=_BV
(1);//H=读;L=写
#defineRW_L()PORTD&=~_BV
(1);
#defineE_H()PORTD|=_BV(3);//输入使能
#defineE_L()PORTD&=~_BV(3);
#definePSB_H()PORTD|=_BV(4);//H=并口;L=串口
#definePSB_L()PORTD&=~_BV(4);
#defineRST_H()PORTD|=_BV(5);//ResetSignal低电平有效
#defineRST_L()PORTD&=~_BV(5);
#defineDAC_H()PORTA|=_BV(3);//DAC0832输入使能
#defineDAC_L()PORTA&=~_BV(3);
#defineok0x01//按键定义
#definechange0x02
#defineadd0x03
#definereduce0x04
uchardigit[10]={"0123456789"};//数字表
volatileucharstate=0;//指令状态值
volatileucharframe=0;//当前界面状态量
volatileucharkey=0;//键值
volatileucharkey_state1=0;//进入中断时的按键状态
volatileucharkey_state2=0;//按键是否弹起
volatileucharkey_time=0;//按键是长按还是短按
volatileuintData_in=1000;//输入幅度值,这样可以避免过多的浮点数运算
volatileuintData_out=1000;//输出幅度值,这样可以避免过多的浮点数运算
volatileuintmultiple_set=10;//倍数初值设定,这样可以避免过多的浮点数运算
volatileuintamplitude_set=1000;//幅值初值设定,这样可以避免过多的浮点数运算
volatilefloatmultiple_real=1;//实际放大倍数
voiddelay_ms(uintnum)
{
uinti,j;
for(i=0;i for(j=0;j<400;j++); } voiddelay_us(uintnum) { uinti; for(i=0;i } voidDAC0832()//利用DA实现程控放大 { staticuinttemp=2; staticucharstate_new=1;//防止设定的倍数对反馈产生干扰 if(state==1)//确定倍数设定 { state=0; state_new=0; temp=(uchar)((multiple_set*2)/10);//写给DAC0832的值要对放大倍数乘以2 } elseif(state==2)//确定幅值设定 { state=0; state_new=0; temp=(uchar)(amplitude_set*2/Data_in);//写给DAC0832的值要对放大倍数乘以2 //由于Data_in单位是ms,amplitude_set单位是s } elsestate_new=1; if(temp>255)temp=255; PORTB=(uchar)(temp); DAC_L(); delay_us(5); DAC_H(); if(! state) { if((multiple_real*2)<(float)(temp-1)&&temp<255)temp+=1;//temp-1可保留一定死区,增加稳定性 elseif((multiple_real*2)>(float)(temp+1)&&temp>0)temp-=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程控 放大器 设计方案