可变增益放大器软件设计.docx
《可变增益放大器软件设计.docx》由会员分享,可在线阅读,更多相关《可变增益放大器软件设计.docx(36页珍藏版)》请在冰豆网上搜索。
可变增益放大器软件设计
可变增益放大器软件设计
摘要
本设计由四个模块电路构成:
前级高共模抑制比仪器放大器、AD7520衰减器、拨码开关输入和数码管显示处理模块。
在前级高共模抑制比仪器放大器中还将输出共模电压反馈到正负电源的公共端,是运放电源电压随共模输入电压浮动,各级偏置电压都跟踪共模输入电压,从而提高了共模抑制比。
AD7520衰减器利用电阻网络的可编程性,实现衰减器衰减率的数字编程。
拨码开关输入和数码管显示处理模块由拨码开关对放大倍数进行置数,单片机进行数字处理,四位七段数码管进行放大倍数的显示。
程序部分主要分为主程序、数码显示子程序、拨码开关输入与读取子程序、数据转换子程序、向AD7520送入数据子程序五个部分。
关键词放大器单片机拨码开关数码管
VARIABLEGAINAMPLIFIERS
SOFTWAREDESIGNING
ABSTRACT
Themeasuringamplifierinthisdesignconsistsoffourcircuitblocks:
apreamplifierwithhighCMMR,anAD7520attenuator,DIPswitchinputandLEDdisplayprocessingmodule.Intheformeramplifier,itfeedsCMvoltagesoutputbacktothepowercommonpin,thuschangingthepowervoltageofoperationalamplifierandthebiasvoltagesatallstagessoastoincreasetheCMRR.Withtheprogrammableresistancenetwork,thedigitalprogrammingofattenuationrateinAD7520isachieved.DIPswitchinputandthedigitaldisplayprocessingmodulecodeswitchfromtheallocationofmagnificationforhomeonthenumberofsingle-chipdigitalprocessing,thefourparagraphmagnificationdigitaltubedisplay.Proceduresforthemainprogramisdividedintoparts,digitaldisplaysubroutine,dialcodeswitchinputandreadsubroutine,dataconversionroutinestotheAD7520dataintofivepartssubroutine.
KEYWORDSAmplifiersSingle-chipDIPswitchLED
1引言
放大器是电子系统的重要组成部分,了解和掌握放大器的设计对于学习和应用电子系统有很大的帮助。
信号检测中的放大电路有很多种类型,实际系统中常采用的有测量放大器和隔离放大器。
测量放大器又称为数据放大器或仪表放大器,常用于温度、速度等的测量以及其他有较大共模干扰的缓变微弱信号的检测。
测量放大器是一种高增益、直流耦合放大器,它具有差分输入、单端输出、高输入阻抗和高共模抑制比等特点。
差分放大器和测量放大器所采用的基础部件(运算放大器)基本相同,它们在性能上与标准运算放大器有很大的不同。
标准运算放大器是单端器件,其传输函数主要由反馈网络决定;而差分放大器和测量放大器在有共模信号条件下能够放大很微弱的差分信号,因而具有很高的共模抑制比(CMR)。
它们通常不需要外部反馈网络。
在精密的数据采集场合,常常采用仪用放大器,利用它所具有的高输入阻抗、高共模抑制比和精确的电压增益,但对称的电路结构给实际应用带来不便,对外围元件的公差要求严格,所以在应用中受到限制。
为此,我们设计了带高共模抑制比前置放大电路的测量放大器,它具有高共模抑制比的特点,弥补了传统仪用放大器的不足。
程控增益放大器是一种放大倍数由程序控制的放大器,也称为可编程增益放大器,缩写符号PAG。
在多通道或多参数的数据采集系统中,多个通道或多个参数共用一个测量放大器。
各通道或各参数送入测量放大器的信号大小并不相同,但都要放大至A/D变换器输入要求的标准电压,因此各个通道要求测量放大器的增益就每个通道的数据采集而言,还可实现自动控制增益或量程自动切换。
程控放大器使用方便、性能好,故可在数据采集系统、自动增益控制、动态范围扩展、远程仪表测试等方面使用尤为适宜,程控增益调整比手工调整更优越。
在使用放大器的场合中,往往希望增益能够调整,以使波形显示更完美,数据采集更精确。
而程控增益调整比手工调整更优越,因此程控增益放大器得到广泛应用。
2前级放大电路的设计
2.1测量放大器原理
测量放大器是在高精度集成运算放大器的基础上发展起来的运算放大器,其最主要的特点是,极高的共模抑制比、极高的输入电阻、可以达到上千倍的闭环电压增益、极低的噪声。
2.1.1高共模抑制比的实现
由于差动放大器具有良好的共模抑制能力,因此,在高共模抑制比电路的实现中往往采用差动放大器,如图2-1所示。
图2-1差动放大器电路
为了获得尽可能高的共模抑制比,通常差动放大器的各个电阻选择同一阻值的电阻,这样带来的问题就是输入阻抗低和增益低。
这是因为差动放大器在完全对称的条件下才能达到集成运算放大器自身的共模抑制比,稍有一点微小的不对称,就会降低电路的实际共模抑制比。
2.1.2同相并联差动运算放大器
(1)基本电路
图2-2是同相并联差动运算放大器的基本电路。
差动输入信号和共模输入信号从两只运算放大器的同相端送入,所以它的差动输入电阻和共模输入电阻都很大。
电路的平衡对称结构使两只放大器的共模增益、失调及漂移所产生的误差电压具有相互抵消的作用。
和串联组合电路相比,并联组合电路的主要优点是不需要精密匹配电阻,而且能差动输出,适合用于不接地的“浮动”负载,缺点是输出信号中有较大的共模信号。
图2-2同相并联差动运算放大器
在这个电路中,并不要求外部回路电阻用任何形式的匹配来保证自己的共模抑制比能力,这就避免了精确匹配电阻所遇到的困难。
实质上,加载电位器Rw上的差动电压决定了整个电路的工作电流,而加在电位器
上的共模电压却对这个差动电流毫无影响,不论其他电阻取何值都是如此,所以电路的共模抑制比能力与外部回路电阻是否匹配完全无关。
考虑到平衡对称结构有利于克服失调及其漂移的影响,故在实际应用时常取
=
=
(2-1)
这样,增益常用表达式为
=
=
=1+
(2-2)
改变电位器
的滑动比
,就能使增益在它的最小值
=1+
(2-3)
与某一个高增益值之间进行调节。
可见增益调节相当简单,不过调节特性仍是非线性的,故
宜选用多圈电位器,并在
中串接一个固定电阻来保护组件。
虽然电路的共模抑制能力与外部电路的电阻是否匹配无关,而且电路的对称结构有利于相互抵消两只放大器的共模抑制比有限所造成的影响,但当A1和A2的
和
不等时,应用电路的共模抑制比仍是有限的。
可以证明,图2-2中电路的共模抑制比为:
(2-4)
因此,提高本电路共模抑制能力的关键字于使A1和A2的共模抑制比尽可能的匹配。
上述分析说明,两只运算放大器的性能参数若能彼此匹配,就可以充分发挥对称电路误差电压相互抵消的长处。
这种利用电路结构对称、失调互补的原理已成为获得低漂移放大器的一种基本方法。
(2)性能改进
上述基本电路的主要缺点是,它按1:
1的比例把输入端的共模信号传递到输出端,共模输入信号有多大,共模输出信号就有多大。
此外,由于共模输出信号占用了一定的工作范围,所以差动信号的有效工作范围变窄了。
因此,它只适宜于工作者低增益、共模输入信号较小的场合。
对于接地负载,或者不希望输出电压包含共模信号的负载,基本电路必须加以改造才能胜任。
显然,抑制共模信号传递的最简单方法是在基本同相并联电路之后,再接一级差动运算放大器,它不仅能隔断共模信号的传递,还能将双端输出变为单端输出,适应接地负载的需要,其电路如图2-3所示。
它是图2-3中同相组合电路与基本差动放大器的简单串联,它们相互取长补短,使组合后的电路具有输入阻抗高、增益调节方便、漂移相互补偿,以及输出不包含共模信号等一系列优点,其代价是所用组件数目较多,共模抑制能力略有下降。
图2-3高输入阻抗差动放大器的性能改进
不难证明,这个电路的理想闭环增益为
(2-5)
共模抑制比为
(2-6)
假若
(2-7)
则上式可近似为
(2-8)
式中,
和
为A1和A2组成的前置级的理想闭环增益和共模抑制比;
为A3组成的输出级的共模抑制比。
2.2方案论证与比较
根据上述测量放大器原理,前级放大电路共提出了以下几种方案:
方案一:
同相关联式高阻测量放大器,见图2-4。
线路前级为同相差动放大结构,要求两运放的性能完全相同,这样,线路除具有差模、共模输入电阻大的特点外,两运放的共模增益、失调及其漂移产生的误差也相互抵消,因而不需要精密匹配电阻。
后级的作用是抑制共模信号,并将双端输出转变为单端放大输出,以适应接地负载的需要,后级的电阻精度则要求匹配。
增益分配一般是前级取高值,后级取低值。
该方案电路结构简单,易于定位和控制,但要调节增益必须手动调节变阻器,虽然也可将放大倍数设成固定的几挡,但仍不能满足要求。
图2-4同相关联式高阻测量放大器
方案二:
电路结构与方案二基本相同,只是为了达到增益调节的要求,考虑用两片R-2R的D/A代替上图中的RW,结合单片机通过改变D/A的电阻网络来改变公式中RW值,从而改变增益。
其优点是输入电阻大,两运放的共模增益、失调及漂移产生的误差也相互抵消。
其缺点是由于电阻匹配的要求也使用了两片D/A,即增加了控制的工作量,又提高了成本,而且精度也不能满足要求。
方案三:
利用浮动电源提高前置放大器共模抑制比的电路。
与图2-3相比,这个电路多加了一级电压跟随器A4,A4的输入信号取自两只电阻R0组成的共模信号引出电路,所以它的输入电压等于共模输入电压,输出电压亦是如此。
A4的输出加到运算放大器A1和A2正、负电源电压的涨落幅度的公共端,使正负电源电压浮动起来。
若A4具有理想特性,则正、负电源电压的涨落幅度与共模输入电压的大小完全相同。
这样,虽然共模输入电压照样加在放大器的A1和A2同相端,但却因放大器本身电源对共模输入信号的跟踪作用,使它的影响大大消弱。
这样就算A1和A2的元件参数不完全对称,但由于有效共模电压减小,输出端的差动误差电压也是很小的,也就意味着前置级的共模抑制比能力提高了。
显然,这个电路的共模抑制比仍可由式(2-6)表述,但式中的前置放大器的共模抑制比
应考虑隔离级A4的作用而加以修正。
当运算放大器A1、A2和A4的共模抑制比分别为
和
时,整个前置级的共模抑制比
可表述为
(2-9)
从上式可知,由于A4使电源电压跟随共模输入电压浮动,使前置级的共模抑制比提高了
倍。
这样,即使A1和A2的共模抑制比不太匹配,整个电路的共模抑制比用式(2-8)来描述也是足够精确的,从而使电路的共模抑制比接近理想值[2]。
图2-5高共模抑制测量放大器
经比较,方案四既可满足本文要求,电路又不太繁琐,控制较简单,成本又不高,所以采用该方案。
在没有更好的集成运算放大器(包括增益可程控的集成运算放大器)的条件下,实现测量放大器的最好方案是应用通用集成运算放大器中的精密集成运算放大器OP07。
为了充分发挥OP07的性能,要将OP07的调零电路包括在测量放大器电路之内,其具体实现电路如2-6所示。
为了改善集成运算放大器的电源阻抗,在每个集成运算放大器的正负电源端对地均有用于旁路的2.2μF的陶瓷贴片电容器。
图2-6前级放大具体实现电路
2.3总体设计思路
根据题目的要求和前边所讨论的各种方案,认真取舍,充分利用了模拟和数字系统各自的特点,发挥其优势,采用单片机控制放大器增益的方法,大大提高了系统的精度;采用仪器放大器输入,大大提高了放大器的品质;由4片运放构成的前级高共模输入的仪表差动放大器,对不同的差模输入信号电压进行相同倍数的放大,再经过后级程控衰减器得到要求放大倍数的输出信号。
单片机系统包括89C51、74LS138译码器以及8255A等外围芯片。
图2-7所示即为本系统原理方框图。
图2-7采用单片机控制的可变增益放大器系统组成框图
3系统硬件电路设计
硬件设计是本设计的一个重要的组成部分,这部分的设计直接影响到后续软件编制的难易程度,因此设计出一个良好的硬件电路是必要的,在前面的总体设计思路中我们已经确定了设计的基本思路,在这里将做具体的介绍。
本设计中的可变增益放大器的硬件电路主要包括前级放大电路、中间级衰减电路和数据显示电路三部分,前级放大部分已在方案论证中讨论过,下边依次对其余各个部分电路进行介绍。
3.1中间级衰减电路
中间级衰减电路主要是通过单片机控制来实现的。
其中运用拨码开关来实现数据的输入,AD7520中的电阻网络来实现衰减,下边将对中间级衰减电路的各个部分做详细的介绍。
3.1.1单片机及其外围电路
可变增益放大器采用AT89C51单片机来实现对放大器的程控控制。
AT89C51包含2个16位定时/计数器、1个具有同步移位寄存器方式的串行输入/输出口和4K×8位片内FLASH程序存储器。
16位定时/计数器用于实现待测信号的频率测量。
同步移位寄存器方式的串行输入/输出口用于把测量结果送到显示电路。
4K×8位片内FLASH程序存储器用于放置系统软件。
AT89C51与具有更大程序存储器的芯片管脚兼容,如:
89C52(8K×8位)或89C55(32K×8位),为系统软件升级打下坚实的物质基础。
其外围电路有振荡电路、复位电路。
单片机的振荡电路和复位电路如图3-1所示
图3-1单片机振荡和复位电路
(一)单片机的振荡电路
单片机的振荡电路和时钟电路一起构成了单片机的时钟方式,根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式,同时,振荡周期和时钟周期又决定了CPU的时序。
AT89C51单片机有一个高增益反相放大器,反相放大器输入端为XTAL1,输出端为XTAL2。
在XTAL1和XTAL2之间跨接石英晶体及两个微调电容就构成了振荡器,如图3-1所示。
C1和C2一般取30PF左右,振荡频率范围是1.2--12MHz。
本设计中晶振约为12MHz.。
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
单片机的复位电路
(二)单片机的复位电路
本文中单片机的复位电路采用的是按键电平复位电路。
复位是单片机的初始化工作,复位后中央处理器CPU和单片机内的其他功能部件都处在一定的初始状态,并从这个状态开始工作。
一般在单片机刚开始接上电源时,或是断电、发生故障后都要复位。
复位后不会改变片内RAM中低于128B的内容,但是特殊功能寄存器SFR的值被初始化。
其值如表3-1所示。
表3-1复位后内部寄存器状态
寄存器名
内容
寄存器名
内容
PC
ACC
B
PSW
SP
DPTR
P0-P3
IP
IE
0000H
00H
00H
00H
07H
0000H
FFH
XXX00000B
0XX00000B
TMOD
TCON
TH0
TL0
TH1
TL1
SCON
SBUF
PCON
00H
00H
00H
00H
00H
00H
00H
不定
0XXX0000B
3.1.2拨码开关电路
本论文采用的是四位KSA-3型的BCD拨码开关,其10进制输入,BCD码输出,用来预置调节差模电压增益。
它的优点是断电后再开启时,不用重新置数[6]。
拨码开关电路如图3-2所示
图3-2拨码开关电路
在图3-2所示的电路中,共有四位拨码开关,其中千位和百位与8255A的PC0端口连接,十位和各位与PC1端口连接。
拨码开关的输出位通过5Ω电阻与5V电源相连,使拨码开关输出位一直处于高电平状态。
当拨码开关工作时,只需把它的输入端置为低电平即可,即:
当PC0=0时,拨码开关的千位和百位可输入数据;当PC1=0时,拨码开关的十位和个位可输入数据。
3.1.3程控放大电路
为了改变放大器的增益,一般有两条途径:
一是改变反相端的输入电阻阻值,二是改变负反馈电阻阻值。
通过设计一个电阻网络和开关来实现这种功能。
为了解决电阻网络的匹配问题,考虑能否利用集成的高精度电阻网络。
鉴于D/A转换器能把数字量变为模拟量,它的内部结构一般是电阻R-2R梯形网络,并集成有多路模拟开关。
因此,我采用了与常规D/A变换不同的用法。
又考虑的到AD7520是一种廉价型的10位D/A转换芯片,有CMOS电流开关和梯形电阻网络构成,结构简单,通用性好,配置灵活,其内部电阻网络有薄膜电阻构成,激光修正,相对于继电器和模拟开关等设计电阻网络而言,具有精确度高、体积小、控制方便、外围布线简化等特点[4]。
其等效电路图为图3-3所示。
从参考电压
流经梯形网络至
端的电流
和没有分流电阻
时的电流I相比,其关系为
,故
。
因此,这种程控增益放大器的增益A为:
(3-1)
图3-3AD7520等效R-2R电阻网络的放大器
程序控制放大电路由AD7520和运算放大器OP07组成,增益控制字由单片机送出。
程序控制放大电路的原理框图如图3-4所示,实现电路如图3-5所示。
采用四位BCD拨码开关,用来预置调节差模电压增益,它的优点是断电后再开启时,不用重新置数。
单片机用于将拨码开关设置的数值转化为程控放大器的控制字,并且送显示电路。
程控放大部分包括D/A转换器AD7520和输出放大。
通过D/A转换器AD7520把输入电压放大到手工调节的倍数[5]。
图3-5程控放大电路
增益控制的实现过程如下:
D/A转换器AD7520的管脚排列如图3-6所示。
将模拟信号从参考电源端
输入,而放大倍数所转换成的二进制从BIT1~BIT10输入。
图3-6AD7520引脚排列
通过D/A转换将模拟信号放大到欲实现的放大倍数并有倒相功能。
设计中要求将信号放大0~1023倍。
十位二进制能表示的最大十进制为1023。
如果将每位定为0,则十进制也为0;如将十位二进制全定义为1,则(1111111111)B=1023。
AD7520可看成是一个R-2R电阻网络,而10位数据口的输入则相当于对该网络的输入电阻进行编程,对于输入不同的数值量,得到不同的输出、输入电压比。
由于前级放大器已经做了相应的放大,中间级又作了相应的放大,只要调整相应的输出放大器就得到要求的放大倍数。
现在采用的单片机控制的数/模转换器AD7520是10位的D/A转换集成芯片,与微处理器完全兼容。
10位DAC(AD7520)数字量没改变一个BIT,该放大器输出就改变输入量的1/1024。
因此,完全可以实现放大倍数步距为1的变化。
比如要求得到1000倍的放大倍数,则只要前级和中间级的放大倍数A为:
(3-1)
由
对输出放大器置数成3F8H就可以得到1000倍的放大。
又如要得到500倍的放大倍数,则由
对输出放大器置数成1FCH就可以500倍的放大[3]。
3.2数据显示电路
本设计的数据显示电路主要是在51单片机系统中使用专用的LED显示驱动芯片实现4位LED数码管显示,据此可将这部分电路分为3个模块:
●LED显示驱动芯片和单片机的接口电路。
●LED显示驱动芯片和4位数码管的接口电路。
●单片机控制LED显示驱动芯片实现4位数码管显示的C51程序。
3.2.1LED显示驱动芯片选用
LED显示驱动芯片选用MAXIM公司的MAX7219,是基于以下考虑的:
✧MAX7219能够驱动8个LED,可方便地对每位LED进行单独控制、刷新,不需
重写整个显示器寄存器。
✧外围电路仅需一个电阻即可设定峰值段电流,可用于亮度调节,同时也支持
软件方面调整显示亮度。
✧通信方式采用串行数据方式,可与任何一种单片机方便的接口,仅适用单片
机的3个I/O口即可完成8位LED数码管的显示控制和驱动。
✧可设置为低功耗模式,此模式下单片机仍可对其传送数据和修改控制方式,
而且芯片耗电仅为150μA.
其引脚分布如图3-7所示。
图3-7MAX7219引脚分布示意图
引脚功能说明如下:
DIN(1脚):
串行数据输入脚。
在CLK上升沿,数据装入内部的16位移位寄存器中。
DIG0~7(2、11、6、7、3、10、5、8脚):
8位数位驱动线。
输出位选信号,从LED的公共阴极吸入电流。
GND(4、9脚):
装载数据输入脚。
在LOAD上升沿,串行数据的最后16位被锁存。
CLK(13脚):
串行时钟输入脚。
做个输入频率为10MHz,在CLK的上升沿,数据移入内部一位寄存器;在CLK的下降沿,数据被移至DOUT端。
SEGA~G,SEGDP(14、16、20、23、21、15、17、22脚):
LED7段显示器段驱动脚,其中SEGDP为小数点段驱动脚。
ISET(18脚):
LED段峰值电流提供脚。
它通过一只电阻与电源相连以设置LED段峰值电流。
V+(19脚):
+5V电源端。
DOUT(24脚);串行数据输出脚。
DIN引脚输入的时间在16.5个时钟周期后送到DOUT脚输出。
此引脚可用于以菊花链的方式级联多片MAX7219.
MAX7219内部主要包括移位寄存器、控制寄存器、译码器、数位驱动器、段驱动器以及亮度调节和多路扫描电路等。
MAX7219采用串行接口方式,只需要LOAD、DIN和CLK三个引脚便可实现数据的串行传送。
MAX7219的16位串行数据(D15~D0)的作用如表3-2所示;
表3-2MAX7219的16位串行数据
D15D14D13D12
D11D10D9D8
D7D6D5D4D3D2D1D0
无关比特
地址
数据位
其中,低8位表示显示数据本身,最高的4位D15~D12为无关比特,D11~D8为用于寻址4个内部寄存器。
16位中最先接收的是最高有效位D15。
MAX7219内部具有14个可寻址数位和控制寄存器。
8个数位寄存器由一个片内
双端口SRAM实现。
它们可直接寻址,因此,可对单个数位进行更新,并且通常只要
超过2V数据就可以保留下去。
除8个数位寄存器之外,MAX7219内部还有无操作、译码方式、亮度调整、扫描位数、低功耗模式和显示测试6个控制寄存器,它们的功能如下:
无操作寄存器:
用于多片MAX7219的级联。
译码方式寄存器:
用于设置每个数位工作于BCD译码方式或是非译码方式。
亮度调整寄存器:
用于显示亮度的数字化调整。
显示器