基于单片机控制的放大器参数测试仪的毕业设计Word文档格式.docx
《基于单片机控制的放大器参数测试仪的毕业设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的放大器参数测试仪的毕业设计Word文档格式.docx(53页珍藏版)》请在冰豆网上搜索。
完全依靠于数字化的测量,比如对最大不失真电压的测量,可以利用CPLD进行FFT,从而完成对信号频谱的分析,得到最大不失真电压和失真度的测量。
此种方案处理速度快,实时性好。
缺点:
成本高,编程任务重,同时针对题目的要求,由于电压增益不小于1000倍,输出幅度不小于10V,可以很明显的看出,测量对象是低频放大器,因此对主控单元的处理速度要求不是非常严格,因此设计过程中没有采用此方案。
方案三:
基于单片机作为主控单元,利用数字器件的测量
幅频特性、输入阻抗、输出阻抗、最大不失真电压;
信号源采用AD9850进行生成,采用AD9850的最大优点是频率可控,频率稳定度高,且幅度稳定,一般不需要外界的附加电路便可以实现,从而给电路的设计带来方便,放大器的输入阻抗测量采用等效电阻法进行测量,放大器的输出阻抗利用双重负载法进行测量,大负载接入放大器输出端,可以将电压信号完全采集出来,而利用小负载时,由于放大器本身存在内阻,因此当小负载可以和放大器的输出电阻相匹配的时候,便可以等效为放大器的输出电阻和小电阻进行分压,从而利用公式可以求得放大器的输出电阻。
而最大不失真电压的测量采用了频域计算的方法,通过时域的测量并进行了变换得到了最大不失真电压。
另外系统采用此方案,有许多优点,例如不易受干扰、重复性好、调试容易、稳定性好等,最突出的是精度高。
缺点是:
实时性较差、系统复杂,造价稍高,需要较多的开发经验。
对于这一系统,由于对实时性要求不是太高,而精度是主要矛盾,因此我们决定选取基于数字器件的信号处理系统,来完成本设计。
综上所述,我们选择方案三,通过分析可以看到,方案一没有充分应用现在电子器件的大规模集成电路,因此,实现的功能不能够达到智能仪器的要求;
方案二虽然应用了大规模集成电路,但是成本较高,同时由于测量的放大器是低频放大器,因此对速度要求不是非常严格,因此完全可以利用单片机来作为主控单元,同时前端信号的产生,利用了AD公司的单片DDS专用芯片AD9850来实现,它具备与单片机方便的接口,可以通过单片机编程实现对其产生信号频率的控制,缩短了整机的开发时间。
二、整机工作原理与功能实现
1、系统的方框图设计
图2-1系统设计方框图
以上框图中表示的为放大器参数测试仪的主要组成。
1)待测放大器:
待测放大器的主要技术指标均已达到或超过题目当中给定的测量指标。
经过直接测量,放大器的最大放大倍数为1200倍,输出最大不失真电压为14V,输入阻抗为10K,输出阻抗为50---100欧姆。
由此可见,这样的低频模拟放大器基本可以满足我们的测试要求。
待测放大器电路采用集成运算放大器完成,集成运算放大器性能指标大大优于晶体管组成的分立元件放大器。
理想集成运算放大器的主要特点:
差模增益趋向于无穷大,输入电阻趋向于无穷大,即两个输入端之间的等效电阻很大。
集成运放的共模抑制比很大,通常大于80至100dB。
关于集成运放的输出端与输入端之间相位关系特性主要有下列几点:
同相输入端与输出端的信号相位相同,反负相输入端与输出端信号相位相反。
在反相输入端信号电压不变时,同相输入端的输入信号电压增大,输出端的信号也在增大;
同相输入端的输入信号电压减小,输出端的信号也在减小。
在同相输入端信号电压不变时,反相输入端的信号电压增大,输出端的信号电压减小;
反相输入端的信号电压减小,输出端的信号电压增大。
集成运放的输出电压由下式决定:
Uo=Ao(Ui1-Ui2)
式中:
Uo为集成运放的输出电压;
Ao为集成运放的开环放大倍数;
Ui1为集成运放同相输入端信号电压;
Ui2为集成运放反相输入端信号电压。
从上式中可以看出,当输入信号电压UO1大于输入信号UO2时,输出信号电压UO1大于零(为正);
当输入信号电压UO1小于输入信号UO2时,输出信号电压UO1小于零(为负)。
为了电路分析和计算的方便,需要将电路中的集成运放看成是一个理想的集成运算放大器,显然当集成运算放大器的性能愈好时,计算和误差就会愈小,所设计的实际电路与理论计算就愈接近。
1:
反相放大器
反相输入运算放大器的输入输出关系为
Uo=-AufUi=-RfUi/R1
输入电阻
Ri=R1
输出电阻
Ro≈0
平衡电阻
Rp=R1//Rf图2-2反相放大器电路
反馈电阻的阻值不可太大,否则会产生教大的噪声及漂移,一般为几十千欧到几百兆欧。
R1的取值应远小于信号源的内阻。
反相放大器的实际输出电阻
在一定的输入电压Ui作用下,反相放大器的输出端可以看作是电势为一定值的有源二端网络,其等效输出电阻是在无负载时输出开路电压Uo除以负载短路电流Ik,
Roe=Uo/Ik
如下图2-3所示,由于输出端短路接地,输出对反相端的反馈电压为零,反相端对地的电压为输入电压Ui的分压值
图2-3放大器输出电阻等效计算电路
U-=Ui[R2//(Rd+R3)]/[R1+R2//(Rd+R3)]
=UiR2(Rd+R3)/[R2(Rd+R3)+R1(R2+R3+Rd)]
差模输入电压经过差模放大后的输出电压为
Eo=-Ad(U-—U+)=-AdU-Rd/(Rd+R3)
反相放大器的输出短路电流Ik是Eo经过Ro的短路电流Io和经R2流入地的电流I2之和。
则有
Ik=Eo/Ro+U-/R2=[-AdR2Rd+Ro(Rd+R3)]Ui/{Ro[R2(Rd+R3)+R1(R2+R3+Rd)]}
由以上式子可求得反相放大器的等效输出电阻为
={Ro[R2(Rd+R3)+R1(R2+R3+Rd)]}/[RdR1Ad+(Rd+R3)(R2+Ro)+R1(R2+R3+Rd+Ro)]
因为Ro〈〈R1、R2,则
Roe≈Ro/(1+AdF)
可见反相放大器的输出电阻与集成运放的输出电阻Ro相比,降低了(1+AdF)倍。
当输入交流信号时,由于运放的开环增益是频率的函数,反相放大器的输出阻抗也是频率的函数,则
Zoe=Zo/[1+Ad(jω)F]
一般信号频率ω〈〈ωn,则输出阻抗Zoe≈Ro/(1+AdF),当输出频率比较高时,输出阻抗将有很大的变化。
2:
同相放大器
同相放大器的电路图如下图2-4所示:
图2-4同相放大器电路
输入与输出之间的关系为
Uo=(R1+Rf)Ui/R1
输入电阻Ri=ric
此式中ric为运放本身同相端对地的共模输入电阻,一般比较大,约为100兆欧母左右。
同相放大器的输出电阻与反相放大器的输出电阻一样
Ro≈0
平衡电阻为Rp=R1//Rf
同相放大器与反相放大器相比,同相放大器具有很高的输入电阻和很低的输出电阻是很好的阻抗变换器。
2)放大器测试仪:
这是测试放大器的最关键的部分,此部分可以实现对输入阻抗,输出阻抗,最大不失真电压,幅频特性的测量。
主要框图如下:
图2-5放大器参数测试原理框图
3)人机界面:
主要由两大部分组成,分别为上位机显示界面和下位机操作系统所构成。
对于下位机的操作系统主要包括,键盘部分,数码管显示部分,数据上传部分,电源部分所构成。
其中,利用键盘,用户可以选择要测量的放大器参量,从而进行相应的测量;
数码管显示部分,可以显示用户操作是否正确,操作的提示信息等附加功能;
数据上传部分是整个系统的连接纽带,负责向上位机传送测得的数据;
电源部分主要为整个系统提供稳定的工作电源。
2、各级电路的选取以及工作原理
1)幅频特性测量电路的选取
采用检波法测量输入输出的信号幅度,然后进行除法运算,从而达到了测量幅频特性的目的。
对于前端信号利用了AD公司的专用集成芯片AD9850,它具有于单片机便捷的接口,因此可以通过软件对输出信号的频率进行控制,由于测量的对象是低频放大器,因此我们使AD9850输出的频率范围是从0—500KHZ,幅度的测量通过二极管检波。
在实际电路当中,根据实际需要对电路参数进行了恰当的设置。
为了保护AD9850,同时减小信号源的输出阻抗,我们在AD9850的后侧放了一级射随,采用了AD813完成,此运算放大器的带宽为10MHZ,完全可以满足我们的需要,信号经过射随之后,经过检波管进行检波,所得的直流进入A/D,放大器的输出信号也要经过检波管进行检波,防止检波电路对前级放大器输出造成影响,因此在放大器与检波器之间加了一级的缓冲,从而达到了相互隔离的目的。
检波之后,得到的直流进入A/D转换,A/D的输入切换通过模拟开关来实现,虽然模拟开关在导通时有一定的内阻,但是电路采用模拟开关,切换的是电压信号,用模拟开关便可达到这一目的,并且不会给系统带来特别大的误差;
如果采用继电器,虽然导通内阻为零,但是切换速度不能过快,给系统的实时性造成影响。
鉴于此种原因,我们选择了模拟开关实现对电压信号的切换测量。
A/D转换器,我们采用的是TI公司的8位串行单通道ADTLC0831,它占用外界资源少,接口简单,编程方便。
图2-6幅频特性测试电路
(一)
图2-7幅频特性测试电路
(二)
2)输入阻抗测量电路的选取
在输入阻抗测量电路的选取上,我们首先考虑到把放大器的输入阻抗等效为一个待测电阻,建立起来这个概念之后,对于输入阻抗测量电路的选取,就有了一个整体的认识。
将前端信号源和放大器的输入端之间串入了一个已知阻值的电阻,然后通过检波管对信号源的幅值和放大器等效输入阻抗上的电压幅值进行检波,送入A/D,并且通过单片机进行计算,便可以得到放大器的输入电阻。
具体的电路如下图所示。
图2-8输入阻抗测试电路
需要说明的是,对于测量放大器的输入阻抗时上端已知电阻的选取到底以何种标准为宜,经过我们反复的测试,发现这个已知电阻的选取既不能太大,又不能太小,太大则导致落在放大器等效输入阻抗的电压值过小,测量不准确;
同理,如果阻值过小,导致信号源的压降全都落在放大器的等效输入电阻上,也不能精确的测量放大器的输入电阻值。
3)输出阻抗电路的选择
对于输出阻抗的测量的方法与输入阻抗有类似的方面,输出阻抗也可以等效,这样我们在放大器输出时接入两种不同的负载,一种是无穷大,相当于开路时测量放大器输出的电压值,一种情况是接入一个阻值赋在很小的负载,这样由于放大器本身存在内阻,导致有一部分电压会落在内阻上,从而通过检测电压值,便可以计算出放大器的输出阻抗。
具体电路形式见下图。
图2-9输出阻抗测试电路
4)最大不失真电压测量的电路选取
对于最大不失真的测量,已经在前面的方案选择里讲到了很多种的实际测量方法,可以利用时域分析法,频域法;
在这里我们采用了频域分析的方法,利用A/D转换器对放大器的输出电压进行测量,并对采集的数据进行FFT变换,从而得到电压的频谱,再设计作品的实际过程中,我们利用了TektronixTDS220数字示波器对放大器地输出电压进行了频谱分析,得到了其基波与各次谐波之间的频谱幅度关系,分析发现,当放大器的输出电压出现失真时,它的基波分量和三次谐波分量会有较大的变化,特别是三次谐波分量会很快上升,而基波分量有小幅度的下降,从而在对输出电压进行FFT之后,对其的基波与三次谐波的幅度进行比较,便可以得到该放大器的输出电压是否失真,并可以得到最大不失真电压。
具体电路如下图所示:
图2-10最大不失真电压测试电路
5)信号源电路与A/D电路
信号源采用AD公司的专用集成芯片AD9850,可以产生频率可控的正弦信号。
由于测量对象属于低频放大器,因此产生信号的频率范围是从0---500KHZ;
AD9850采用32位频率控制字,由于单片机是8BIT数据宽度,因此需要4个字节便可以完成对9850频率的设置;
对于频率与频率控制字之间的关系,如下公式所示:
其中公式当中的Fout是AD9850输出的频率值;
频率控制字;
CLKIN是AD9850的主振时钟。
可以看到,根据所要得到的频率值,很容易就可以得到ad9850的频率控制字。
通过单片机实现对ad9850的操作就很容易的得到了测量放大器的前端信号源。
其中,ad9850的各位控制字和读写时序见下图:
图2-11AD9850时序图
A/D数据采集电路采用TLC0832进行测量,A/D转换器的输入范围是0—5V,8BIT串行,因此与微处理机接口与编程都十分方便。
TLC0832的基本特性:
TLC0832是八位逐次逼近模数转换器,它有两个可选择的输入通道。
TLC0832的特点如下:
*8位分辨率;
*可和微处理器接口或独立使用;
*可满量程工作或使用5V基准电源;
*具有单通道或多路器选择的双通道,并可选择单端或差分输入;
*采用单5V供电,输入范围为0~5V;
*输入和输出与TTL和CMOS兼容;
TLC0832处于工作状态时,置CS端方可启动转换,并使所有的逻辑电路使能。
CS在整个转换过程中必须置为低电平,接着从处理器接受一个时钟。
当一个时钟的时间间隔被自动插入后,可以使多种转换器选定的通道稳定。
而当DO脱离高阻状态时,可提供一个时钟的时间间隔的前导低电平,以使多路器稳定。
SAR比较器用于对电阻梯形网络输出的逐次信号和输入模拟信号进行比较,比较器输出则用于表示刘大于还是小于电阻梯形网络的输出。
在转换过程中,转换的数据同时从DO端输出,并以最高位(MSB)开头。
在经过8个时钟后,转换完成,CS变高,内部所有寄存器清零,此时,输出电路变为高阻状态。
如果希望开始另一个转换,CS必须有一个从高到低的跳变,且后面应紧跟着输入地址数据。
TLC0832的输入配置可在多路器寻址时序中进行,多路器地址通过DI端移入寄存器。
用多路器地址选择模拟输入通道的方法如表2-1所列,其工作时序图如图1所示。
表2-1选择模拟输入通道
通道号
CH0
CH1
输入数据流(bit)
110
111
图2-12TLC0831时序图
6)数据处理与主控电路
由于对数据采集与处理的速度要求不太高,同时以控制和运算为主的系统一般选用单片机来处理数据,单片机技术是比较成熟的技术,它的特点是以程序控制的方式把比较复杂的问题化大为小逐步求精,(如:
乘法可以化为若干次加法处理)这样一来非常复杂的问题也可以处理了,缺点是实时性较差,单片机由于其使用面非常之广因此价格极其低廉,对于本系统使用单片机是再合适不过了。
在有些场合速度要求较高而问题又比较复杂(如:
数字滤波技术)就需要我们另辟蹊径了,比如DSP器件就是专为解决这些问题设计的。
DSP器件从本质上说和单片机类似也是程序控制方式,但其采用了不同于冯-诺依曼的哈佛结构使程序运行速度更快,在总线上采用流水线结构,并专设有用于乘法运算的硬件乘法器。
这些技术的综合运用使得DSP器件执行一条指令的时间以nS计。
DSP器件的缺点是成本高对开发人员的数学功底要求较苛刻,但DSP器件以其固有的优点代表着数字信号处理器件发展的方向。
本系统采用89C51单片机,由于其优良的性能和低廉的价格,用在本系统的数字处理机部分是非常合适的。
单片机按其性能可分为8位和16位,16位单片机由于其造价较高使用不多,8位单片机以51系列为代表。
AT89C51单片机是51系列单片机性价比较高的一种,内含4K电可擦ROM、128字节RAM。
用户程序可以直接烧录到芯片内而不需要外配ROM和RAM非常方便,AT89C51内含两个16位定时器,一个全双工串口,5个双优先级中断源,4个8位I/O口。
这些资源在大多数场合已足够用,这里也不例外,因此本设计的数字处理机电路非常简洁。
7)显示与键盘电路
对于这部分电路、一般常用两种办法:
A:
利用专门译码芯片如CD4053和专用编码芯片ICL8279控制数码管和键盘。
B:
利用单片机、I/O口直接驱动输入方法和完成对键盘的控制。
图2-13显示与键盘电路
由于本设计用了多达16个键盘和8个数码管,用专用模块编码译码成本相对较高(ICL8279零售价40元),所以不采用A方案。
另一方面,考虑到本设计中单片机负荷较重,需要同时进行数据的采集及处理,并控制多个模块工作,难以再给出I/O口来对键盘和数码管进行控制,因而B方案也是不合适的。
针对以上分析,根据题目要求,我们用MAX7219来管理8位数码管,利用单片机的P1口完成对键盘的扫描与控制,从而完成了廉价高效的显示和键盘单元,由于MAX7219内部有128字节的RAM,因此还为系统提供了128位的RAM,以及更为强大的数据处理能力,可谓一举多得。
实践证明这样的设计是行之有效的。
8)与上位机通讯电路
串口是计算机与外部设备进行数据交换的重要介质,所以串行通信在实际工程实现中有着广泛的应用。
而Microsoft公司的VC++6.0功能强大,其基础类库(MFC)封装了WIN32API中的标准通信函数,可方便的支持串口通信。
在放大器参数测试仪的设计中,为了能够将幅频特性曲线、输入阻抗、输出阻抗、最大不失真电压通过PC进行显示,我们运用了串口进行了下位机(单片机)与上位机(PC机)的通信。
二者通过RS-232串行口接收或上传数据和指令。
传输介质为二芯屏蔽电缆,接线图如下图所示:
图2-14RS-232串行口接线图
RS-232信号的电平和单片机串口的电平不一致,必须进行二者之间的电平转换。
在此使用的集成电平转换芯片MAX232为RS-232C/TTL电平转换芯片。
它只使用单+5V为其工作,配接4个1UF电解电容即可完成RS-232电平与TTL电平之间的转换。
其原理图如下图所示,转换完毕的串口信号TXD、RXD直接和单片机AT89C51相连接。
图2-15RS-232C/TTL电平转换图
3、电路设计与参数计算
1)待测放大器的设计
为了满足测试要求,设计的放大器应该具有放大倍数在1000倍以内可调的特点,因此我们采用两级运放,第一级最大放大倍数50倍,第二级最大放大倍数为20倍,从而达到设计要求。
因此为了提高放大器本身的性能,我们第一级放大采用同相而第二级采用反相放大。
其电路图如图2-15所示,
图2-16放大器原理图
图2-17放大器电路图
2)输入阻抗测量电路的设计
在输入阻抗电路设计参数的计算过程中,考虑到了几个参数的选取,包括检波器的输入阻抗,检波二极管的抬升电压的获取,放大器输入端固定电阻的阻值选取;
为了提高检波器的输入阻抗,在检波管的后级电阻选取了大电阻,为了提高低频信号的检波质量,与其并联的电容也选取了较大值,根据实际效果,检波电阻为50K,检波电容为10UF,通过实际测量,可以满足电路的要求。
为了对幅度小的信号也能进行检波,防止检波管的死区电压影响检波管的效率,在检波管上加了一个偏置电压,该电压能够让检波管处于微导通状态,从而提高了检波效率。
根据实际情况,选择的检波管型号为2AP9,属于锗管,因此将偏置电压设置为0.3V,实际证明,效果很好。
由于检波电路的输入阻抗与前面提到的电路均有直接关系,因此,在前面的电阻选择上,我们均选用了较大的电阻,以免使检波电路的输入阻抗过小,影响前级电路。
3)幅频特性电路参数的计算
在幅频特性测量上,也应用了检波电路,具体电路参数与输入阻抗的参数计算过程近似。
电路实现过程中发现,在放大器放大倍数超过800倍时,放大器输出检波器会对放大器的输出信号造成影响,这对测量输出阻抗和最大不失真电压是极为不利的。
防止出现这种失真,我们在放大器的输出端加了一级射随器,这样解决了放大器失真的问题。
4)输出阻抗的测量参数的计算
对待测放大器进行了手动测量,发现放大器的输出阻抗在10欧姆---30欧姆之间,如此小的输出阻抗,给实际的自动测量带来了很多技术难题。
针对这个问题,我们采用了双负载对输出信号进行提取,对于双负载的切换,并没有采用模拟开关,而是采用继电器,因为输出阻抗本身就较小,采用模拟开关,由于其本身存在导通电阻的问题,因此会给测量带来很大的误差。
虽然继电器切换频率不能过快,但是对于放大器输出阻抗的测量上并不需要对继电器进行过高频率的切换,因此采用继电器实现切换是理想的选择。
放大器的双负载,在实际过程中,我们分别选择了100K和100欧姆,因此可以对放大器的输出阻抗进行测量。
三、AT89C51软件设计
第一节放大器各参数测量程序设计
此部分处理程序主要控制着A/D转换器的工作,检测峰值,继电器和模拟开关的切换,与微机的通信和显示键盘通信等。
1)主程序设计
初始化部分用于加载各特殊功能寄存器的值,和一些重要的寄存器初始状态,然后检测是否开始测量,这时程序不停检查各测量标志位的状态,一旦有要测量的指标,马上跳转到相应的程序完成对相应指标的测量,放入暂存器保存当前值,以备用于上传到PC机。
(详细程序见附录)
2)中断程序设计
中断程序主要用于键盘检测与相应功能标志位的置位,一旦有中断申请,证明要测量放大器的某个参数,程序马上执行置标志位的工作,并迅速跳回主程序,主程序可以通过判断相应的测量标志位是否置位来执行相应的程序,这样可以保证对键盘响应的测量任务每一次都能以最快的速度执行,并且不会影响其他中断源的工作。
3)定时器中断程序设计
定时器中断程序主要用于控制A/D转换器的采样频率,由于在测量放大器的输入阻抗、输出阻抗、最大不失真电压的过程中,要通过信号源加入一定频率的正弦信号,然后通过测量输入信号与待测量点之间的关系来计算出各个放大器的参数,信号源提供的频率为300HZ,因此采样速率我们设置为5K,因此在一个周期当中相当于采集了16个点,总共采集点数为128点,在测来能够最大不失真电压的时候,我们利用的单片机进行FFT变换,实践证明由128个数据点来进行FFT变换得到信号的频谱是比较好的。
定时器初值计算: