您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 项目9 信号发生器的设计
电子工业出版社单片机控制技术项目式教程(C语言版)电子工业出版社项目9信号发生器的设计能了解D/A转换器的相关技术指标;能理解DAC0832的工作原理与应用方法;能掌握DAC0832与51单片机的接口方法;能掌握信号发生器的硬件电路的分析与设计方法;能熟练编写信号发生器产生各种波形信号的单片机控制程序。学习目标叙述D/A转换器的技术指标要求;叙述DAC0832的工作原理;设计单片机控制的信号发生器的工作电路;编写信号发生器产生各种波形信号的单片机控制程序。工作任务任务9.1灯光亮度调节器的设计任务9.2信号发生器的设计项目拓展串行D/A转换芯片PCF8591在实验板上的应用项目小结思考与训练项目9信号发生器的设计任务9.1灯光亮度调节器的设计D/A转换的功能就是将数字量转换成模拟量。基本的D/A转换器由电压基准或电流基准、精密电阻网络、电子开关及全电流求和电路构成。9.1.1D/A转换器的基本原理1.D/A转换器的分类按工作方式分:并行D/A转换器(权电阻D/A转换器、R-2RT型D/A转换器)串行D/A转换器间接D/A转换器按D/A转换的分辨率分:低分辨率D/A转换器中分辨率D/A转换器高分辨率D/A转换器按模拟量输出方式分:电流输出D/A转换器电压输出D/A转换器按模拟电子开关电路的不同分:CMOS开关型D/A转换器(速度要求不高)双极型开关D/A转换器电流开关型(速度要求较高)ECL电流开关型(转换速度更高)2.D/A转换器的组成D/A转换器由数码寄存器、模拟电子开关电路、解码网络、求和电路及基准电压等几部分组成。以R-2RT型D/A转换器为例,其由基准电压Vref、T型(R-2R)电阻网络、位切换开关和运算放大器组成。3.D/A转换器的工作原理数字量是用代码按数位组合起来表示的,对于有权码,每位代码都有一定的位权。为了将数字量转换成模拟量,必须将每1位的代码按其位权的大小转换成相应的模拟量,然后将这些模拟量相加,即可得到与数字量成正比的总模拟量,实现数字—模拟转换。R-2RT型D/A转换器工作原理:图9.1R-2RT型D/A转换器原理电路图示的电路是一个3位二进制数的D/A转换电路,每位二进制数控制一个开关S。当第i位的数码为“0”时,开关Si打在左边;当第i位的数码为“1”时,开关Si打在右边。当S0接通时,I0′=I0〞=I0,I1′=I0′+I0〞=2I0同理I1′=I1〞=I1,I2′=2I1I2′=I2〞=I2,I=2I2推出I0=I/8,I1=I/4,I2=I/2∑I=I0+I1+I2=(1/8+1/4+1/2)I=-Uref(1/8+1/4+1/2)/R将上式推广到n位二进制数的转换,可得一般表达式∑I=-Uref(a0/2n+a1/2n-1+…+an-1/21+an/20)/R则输出电压为Uo=(∑I)Rf=-Uref(a0/2n+a1/2n-1+…+an-1/21+an/20)Rf/R输出电压会因器件误差、集成运放的非理想特性而产生一定的转换误差。一般D/A转换器:UOUT=B×Ur其中:Ur为常量,由参考Uref决定。B为输入数字量,为二进制数。B可为8位、12位、16位等,由DAC芯片型号决定。当B为n位时:B=bn-1bn-2…b1b0=bn-1×2n-1+bn-2×2n-2+…+b1×21+b0×20式中,bn-1为最高位;b0为最低位。1.分辨率分辨率是D/A转换器对输入量变化敏感程度的描述,与输入数字量的位数有关。如果数字量的位数为n,则D/A转换器的分辨率为1/2n。即数/模转换器能对满刻度的1/2n输入量作出反应。9.1.2D/A转换器的技术性能指标分辨率=输出模拟量的满量程值/2n如:8位数的分辨率为1/256,10位数分辨率为1/1024通常用D/A转换器输入数字量的位数来表示分辨率。D/A转换器常可分为8位、10位、12位三种。2.精度如果不考虑D/A的转换误差,D/A转换的精度为其分辨率的大小。因此,要获得一定精度的D/A转换结果,首要条件是选择有足够分辨率的D/A转换器。转换速度是DAC每秒可以转换的次数,其倒数为转换时间。转换时间是指从输入数字量到转换为模拟量输出所需的时间。当D/A转换器的输出形式为电流时,转换时间较短;当D/A转换器的输出形式为电压时,转换时间要加上运算放大器的延迟时间而长一点,一般在几十微秒内。3.转换速度4.建立时间建立时间是指从输入数字量变化到输出达到终值误差±(1/2)LSB(最低有效位)时所需的时间,即输入的数字量变化后,输出模拟量稳定到相应的数字范围内所需的时间。通常以建立时间来表示转换速度。输入编码形式是指D/A转换电路输入的数字量的形式。如二进制码、BCD码等。5.输入编码形式6.线性度线性度是指D/A转换器的实际转移特性与理想直线之间的最大误差,或最大偏移。通常给出在一定温度下的最大非线性度,一般为0.01%~0.03%。大部分D/A转换芯片是电压型输出,一般为5~10V;也有高压输出型的,为24~30V。有一些是电流型的输出,低者为20mA左右,高者可达3A。7.输出电平8.尖峰尖峰是输入的数字量发生变化时产生的瞬时误差。通常尖峰的转换时间很短,但幅度很大。在许多场合是不允许有尖峰存在的,应采取措施予以消除。正确了解D/A转换器件的技术性能参数,对于合理选用转换芯片、正确设计接口电路十分重要。D/A转换器的性能指标很多,但在选用合适的芯片型号时主要考虑的是它的分辨率、精度和转换速度。目前单片机系统常用的D/A转换器的转换精度有8位、10位、12位等,与单片机的接口方式有并行接口、串行接口。9.1.3DAC0832芯片及其与单片机接口电路1.DAC0832芯片介绍(1)DAC0832的性能8位D/A转换器,单电源供电,在+5~+15V范围均可正常工作。基准电压的范围为±10V;电流建立时间为1μs;CMOS工艺,低功耗(仅为20mW)。DAC0832主要特性:●输出电流线性度可在满量程下调节;●转换时间(电流建立时间)为1μs;●数据输入可采用双缓冲、单缓冲或直通方式;●增益温度补偿为0.02%FS/℃;●每次输入数字为8位二进制数;●低功耗,20mW;●逻辑电平输入与TTL兼容;●基准电压的范围为±10V;●单电源供电,可在+5~+15V内正常工作。(2)DAC0832的内部结构该转换器由输入寄存器和DAC寄存器构成两级数据输入锁存。使用时数据输入可以采用两级锁存(双锁存)形式,或单级锁存(一级锁存,一级直通)形式,或直接输入(两级直通)形式。此外,由3个与门电路可组成寄存器输出控制逻辑电路,该逻辑电路的功能是进行数据锁存控制。当=0时,输入数据被锁存;当=1时,锁存器的输出跟随输入的数据。D/A转换电路是一个R-2RT型电阻网络,可实现8位数据的转换。ILEILE(3)DAC0832的引脚DAC0832为20引脚、双列直插式封装。Vcc:电源线。DAC0832的电源可以在+5~+15V内变化。典型使用时用+15V电源。AGND和DGND:AGND为模拟量地线,DGND为数字量地线。使用时,这两个接地端应始终连在一起。CS:片选输入信号,低电平有效。只有当CS=0时,这片DAC0832才被选中。DI0~DI7:8位数字量输入端。应用时,如果数据不足8位,则不用的位一般接地。ILE:输入锁存允许信号,高电平有效。只有当ILE=1时,输入数字量才可能进入8位输入寄存器。WR1:写信号1,低电平有效,控制输入寄存器的写入。ILE和WR1信号控制输入寄存器是数据直通方式还是数据锁存方式:当ILE=1且WR1=0时,为输入寄存器直通方式;当ILE=1且WR1=1时,为输入寄存器锁存方式。WR2:写信号2,低电平有效,控制DAC寄存器的写入。XFER:数据传送控制输入信号,低电平有效,控制数据从输入寄存器到DAC寄存器的传送。WR2和XFER信号控制DAC寄存器是数据直通方式还是数据锁存方式:当WR2=0且XFER=0时,为DAC寄存器直通方式;当WR2=1或XFER=1时,为DAC寄存器锁存方式。Vref:参考电压线。Vref接外部的标准电源,与芯片内的电阻网络相连接,该电压可正可负,范围为-10~+10V。Iout1和Iout2:电流输出端。Iout1为DAC电流输出1,当DAC寄存器中的数据为0xFF时,输出电流最大,当DAC寄存器中的数据为0x00时,输出电流为0。Iout2为DAC电流输出2。DAC转换器的特性之一是Iout1+Iout2=常数。在实际使用时,总是将电流转为电压来使用,即将Iout1和Iout2加到一个运算放大器的输入端。Rfb:运算放大器的反馈电阻端,电阻(15kΩ)已固化在芯片中。因为DAC0832是电流输出型D/A转换器,为得到电压的转换输出,使用时需在两个电流输出端接运算放大器,Rfb即为运算放大器的反馈电阻。图9.5运算放大器的接法(4)DAC0832的工作原理将数字量的每一位按权值分别转换成模拟量,再通过运算放大器求和相加,D/A转换器内部有一个解码网络,以实现按权值分别进行D/A转换。(5)DAC0832的输出DAC0832是电流输出型D/A转换器。图9.6DAC0832单极性电压输出电路单极性输出运放:Vout=-Iout1×Rfb=-B×Vref/256双极性输出运放:Vout=-(Vout1/R+Vref/2R)×2R=-2Vout1-Vref=2B×Vref/256-Vref=B×Vref/128-Vref=Vref×(B-128)/128图9.7DAC0832双极性电压输出电路当Vref为正,数字量在0x01~0x7F之间变化时,Vout为负值;当数字量在0x80~0xFF之间变化时,Vout为正值。(1)直通方式下的接口电路直通方式是数据直接输入(两级直通)的形式。两个8位数据寄存器都处于数据接收状态,LE1=1,LE2=1,ILE=1,而WR1、WR2、CS和XFER均为0。输入数据直接送到内部D/A转换器去转换。2.DAC0832与51单片机的接口电路DAC0832的工作方式:直通方式、单缓冲方式和双缓冲方式图9.8直通方式下89C51与DAC0832的连接图(2)单缓冲方式下的接口电路单缓冲方式是单级锁存(一级锁存,一级直通)形式,就是使DAC0832的两个8位数据寄存器中有一个处于直通方式,而另一个处于受控的锁存方式,或者两个8位数据寄存器处于同时受控的方式,即同时送数,同时锁存。①在单缓冲工作方式下,可以将8位DAC寄存器置于直通方式。为此,应将WR2和XFER接地,而输入寄存器的工作状态受单片机的控制。WR=0,P2.7=0,DAC0832的地址为0x7FFF,将数字量0x08转换为模拟量的程序:#defineDAC0832XBYTE[0x7FFF]DAC0832=0x08;或output(0x7FFF,0x08);②两个输入寄存器同时受控的连接方法,WR1和WR2一起接89C51的WR,CS和XFER共同接89C51的P2.7,因此两个寄存器的地址相同。(3)双缓冲方式下的接口电路双缓冲方式的数据输入可以采用两级锁存(双锁存)的形式,就是把DAC0832的两个锁存器都接成受控锁存方式。DAC0832的WR1、WR2、CS和XFER都受单片机送来的信号的控制。当WR=0,P2.7=0,P2.6=1,8位输入寄存器处于送数状态,8位DAC寄存器处于锁存状态,不能进行D/A转换。双缓冲方式下89C51与两片DAC0832的连接图如DAC0832的8位输入寄存器地址为0x7FFF,WR=0,P2.7=1,P2.6=0,8位DAC寄存器处于送数据状态,开始进行D/A转换。DAC0832的8位DAC寄存器的地址为0xBFFF,将一个数字量转换为模拟量的程序:#defineDAC0832_1XBYTE[0xBFFF]#defineDAC0832_2XBYTE[0x7FFF]DAC0832_1=0x08;DAC0832_2=0x08;或output(0x
本文标题:项目9 信号发生器的设计
链接地址:https://www.777doc.com/doc-6990283 .html