您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 程控放大器的设计与实现
金华职业技术学院JINHUAPOLYTECHNIC毕业教学环节成果(20届)题目程控放大器的设计与实现学院信息学院专业应用电子班级134学号54姓名龚浩杰指导教师徐华丹20年月日金华职业技术学院毕业教学成果目录摘要…………………………………………………………………………………………1英文摘要……………………………………………………………………………………1引言………………………………………………………………………………………21控制方案选择…………………………………………………………………………32硬件电路设计……………………………………………………………….3软件设计…………………………………………………………………..4硬件检测…………………………………………………………………….5软件检测…………………………………………………………………….6总结………………………………………………………………………..参考文献…………………………………………………………………………………6附件1.程序清单……………………………………………………………………………7附件2.硬件电路图………………………………………………………………………7附件3.………………………(按实际附件内容罗列)………………………………**1程控放大器的设计与实现信息工程学院应用电子技术专业龚浩杰摘要本文介绍了一种可通过程序改变增益的放大器。它与ADC相配合,可以自动适应大范围变化的模拟信号电平。系统以89S52单片机作微处理器,采用CD4051芯片担任增益切换开关,通过软件控制开关的闭合或断开来达到改变电路的增益。文章首先对系统方案进行论证,然后对硬件电路和软件设计进行了说明,最后重点阐述了系统的调试过程,并且对调试过程中遇到的问题以及解决方案进行了详细说明。该系统设计达到了预期要求,实现了最大放大60db的目的。关键词程控放大器;运算器放大器;单片机;增益TheDesignandRealizationofProgram-ControllAmplifierAbstractThisarticleintroducesaamplifierwhichchangesthegainthroughthesoftware.ItcoordinateswithADCandadaptsthesimulatedsignallevelwithwiderangechangeautomatically.Thesystemusesthe89s52SCMasthecore.dtheCD4051chipcomposesthegainswitch.Thegainofthecircuitischangedbysoftwarewhichcancontrolswitchclosedordisconnect.Thearticlefirstdemonstratesthesystemplan,thenintroducesthehardwareandthesoftware,finallyexplainsthedebuggingprocessofthesystemwithemphasis.Italsoespeciallyanalogizestheprobleminthedebuggingprocessandtheresolutions.Thissystemdesignhasachievedanticipativerequestandrealizedenlarged60dbmostgreatlythegoal.KeywordsProgram-controlledamplifier;operationalAmplifier;SCM;gain2引言在计算机数控系统中,模拟信号在送入计算机进行处理前,必须进行量化,即进行A/D转换[1]。进行A/D转换之前,必须考虑A/D转换器的分辨率和模拟输入电压量程这两个问题。在一些特殊的应用中,我们常希望输入信号的幅值接近A/D的输入电压量程的上限。工程上常采取改变放大器增益的方法对幅值大小不一的信号进行放大。在计算机数控系统中,为实现不同幅度信号的放大,往往不希望、甚至也不可能利用手动方法来实现增益变换。利用程控放大器可以很好地解决上述问题。程控放大器是根据使用要求由程序控制改变增益的放大器,具有控制方便,线性度高,稳定可靠等优点[2]。使用程控放大器改变模拟输入信号的增益,并配合A/D的使用,可允许输入的模拟信号在较大范围内动态变化,达到了提高A/D的输入电压量程的目的,也相当于提高了A/D的分辨率。随着数字化技术的不断发展,各类测量仪表越来越趋于采取数字化和智能化方向的发展[3]。这些设备一般由前端的传感器、放大器电路和后端的数据处理电路组成。其中后端数据处理电路通常采用高精度A/D和高速单片机,以保证仪表的精度和速度要求。对于前端电路,由于传感器输出信号的幅度和驱动能力均比较微弱,必须加接高精度的测量放大器以满足后端电路的要求;另一方面,传感器在不同测试中输出信号的幅度可能相差很多,传统的处理方法是对放大器增加手动档位调节以保证后端的A/D采集输入端的信号在一定幅度内,从而保证整个仪表的测量精度。人工档位调节增加了仪表操作的复杂性、影响了数据测量的实时性,同时档位调节通常采用机械转扭增加了仪器的不可靠性和接触电阻对测量精度的影响。是否可由单片机自动选择量程档位呢?答案是肯定的,传统的方法是采用可软件设置增益的放大器。31控制方案选择程控放大器的基本电路和一般放大器电路类似,只是不同电路其反馈网络以及期中的电阻阻值是不同的,下面就改变增益的几种常用方法作一些探讨。方案一同相型程控放大器同相型放大器的基本电路如图所示。放大器的增益G只取决于反馈电阻Rf和电阻R1。由于运算放大器的输入阻抗很高,尤其对于场效应输入型运算放大器,输入阻抗可达1012Ω,因而开关的导通电阻对放大器增益的影响可以忽略不计[4]。在图2.1中,利用运算放大器的高开环增益特性和负反馈,开关的导通电阻对增益的影响基本上得以消除。该类电路的优点是开关导通电阻对电路的增益影响小,因此特别适用于采用模拟电子开关控制的场合。电路的不足之处是放大器增益不能小于1,因此不能对输入信号进行衰减,解决办法是在前级加入无源衰减网络。方案二反相型程控放大器反相型程控放大器的基本电路如图2.2所示。在图中只需改变Rf或Ri的阻值就可以改变放大器的增益。电路中,切换开关SW1~SWn可以使用模拟电子开关或继电器,通过软件控制开关的闭合或断开,用于选择不同的输入电阻或反馈电阻来达到改变电路的增益[5]。该类电路的优点:放大器增益可大于1,也可小于1或等于1,因此,既可以对输入的小信号进行放大,4也可以对输入的大信号进行衰减,因此电路的动态适应范围很大。但该方法的缺点也是显而易见的:由于切换开关与输入电阻或反馈电阻串联,开关的导通电阻将影响放大器的增益,特别是在使用模拟电子开关时尤其明显。解决方法是将放大器的反馈电阻Rf和输入电阻Ri尽量取大一些,也可先测出开关的导通电阻,再对电路中的Rf~Rfn或Ri1~Rin作适当的修正。另外,所示的放大器的输入阻抗不是固定的,因此最好加入隔离放大器以减少对前级信号源的影响。该图所示电路,采用集成化的模拟开关担任增益切换开关,功耗小,体积小,可以由TTL或CMOS电平直接驱动,可进行放大和衰减。同样,模拟开关的导通电阻影响放大倍数,模拟开关可以使用CMOS系列的CD4066,CD4051~CD4053等等,也可以使用MAX75XX系列或MAX301~309,331~339,351~359系列的模拟开关。当放大器的输入信号正负都有时,模拟开关必须双电源供电。方案三DAC型程控放大器DAC型程控放大器由DAC和运算放大器组成,其原理是利用DAC的乘法功能实现可变增益控制[6]。DAC内部主要由R-2R电阻网络和模拟电子开关构成,例如DAC0832、AD7520等电流输出型芯片。此类程控放大器的优点:由于DAC中的R-2R电阻网络是采用精密光刻技术生产出来的,电阻的误差较小,温度系数也比一般的金属膜电阻低得多,因此构成的程控放大的增益误差较小;另外,只要取合适的输入电阻Ri或反馈电阻Rf,电路和增益可以大于1,也可小于1,也可以等于1,甚至为0。电路的缺点:由于DAC内部的分布电容影响,电路的频响不是太理想,电路增益也不容易做得较大;另外电路的信噪比也较差。另外,虽然市场上已有单片集成程控放大器芯片,如AD526、PGA204等产品,但它们的价格昂贵,放大的增益用户无法自行改变。总结以上3种,我选择反向型程控放大器2硬件电路设计5硬件电路框图控制模块控制模块主要由单片机组成,在P0口,接共阳的数码管,P2.4~P2.7接晶体管,控制数码管的位选端。。键盘扫描接在P3口,复位电路采用按键复位Ad89s52:AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可6编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。放大模块:3脚为同相输入端,2脚为反相输入端。8、4脚分别接正负15V电源。CD4051芯片:CD4051/CC4051是单8通道数字控制模拟电子开关,有三个二进控制输入端A、B、C和INH输入,具有低导通阻抗和很低的截止漏电流。幅值为4.5~20V的数字信号可控制峰值至20V的模拟信号。管脚图7内部结构图真值表3软件设计8最先想到的是模仿计算器程序设计。一共四个“8”,最后两个固定显示“db”字母字样。对于前两位,刚开始决定先由键盘输入一位数,送寄存器储存。再将其往前进一位,然后输入第二位数字。先键盘扫描,得出第一个键值,并且送显示。进行第二次扫描,得出键值,再送显示。分析:这种方法较为先进,但由于我所学知道不足,一时无法处理进位问题,所以只能作罢。连续按两次键,直接将“十”位数显示在dp1处,“个”位显示在dp2处。先判断是第几次按键。如果是已经是第三次按键,则计数器清零,复位。第四次按重新计数。如果只是第一次按键,则送至“十”位,并保存;当第二次按下时,显示个位。这期间给程序一定的延时。但不知道什么原因,在实际应用中,出现了这样的问题:按第一次,“十、个”位都同时显示。第二个键值输入,却覆盖第一个键值,并且两位数显示同一数字。同时出现的问题还有,复位不能成功。每次复位后(重新上电后),数码管显示上次输入的键值。分析有两种可能:1,芯片有了记忆功能,将断电前的状态存储下来了。2,一上电,芯片就执行了上次的程序。后一种解释更为合理,这说明问题出在显示上。初始化中显示没有清零。更为精简的方法。将第二个数码管(dp2)直接显示“0”。这样,只要处理一个“日”字就可以。这一思路,是三个中最简单的。虽然如此,但我觉得程序就应该简单,实用,完成所需功能即可。所以,我决定采用第三种方法。程序流程图9开始初始化按键扫描有键按下显示模拟开关选择结束NY程序流程图如图4.1所示。首先对程序进行初始,数码管显示默认为0。首先进行键扫描,判断是否有键按下。如果没有键按下,则返回重新键盘扫描。如果有键按下,则送显示电路,由数码管显示。同时,单片机控制模拟开关,根据输入键值,选通运放芯片,实现系统功能。最后
本文标题:程控放大器的设计与实现
链接地址:https://www.777doc.com/doc-2150987 .html