首页 第11章单片机与AD、DA转换器的接口设计

第11章单片机与AD、DA转换器的接口设计

举报
开通vip

第11章单片机与AD、DA转换器的接口设计第11章单片机与A/D、D/A转换器的接口设计本章学习要点:(1) A/D、D/A转换器的工作原理,A/D、D/A转换器主要技术指标;(2) A/D、D/A转换器分辨率的计算与选型;(3) 单片机与并行A/D、串行A/D转换器的接口及数据采集方法;(4) 单片机与并行D/A、串行D/A转换器的接口及编程控制。11.1A/D转换器的接口设计A/D转换器作用是在特定的电路下将输入的模拟信号转换为数字量一次A/D转换一般需要经过采样、保持、量化及编码四个步骤。A/D转换器是数据采集的重要通道是信号转换的主要方式。A/D转...

第11章单片机与AD、DA转换器的接口设计
第11章单片机与A/D、D/A转换器的接口设计本章学习要点:(1) A/D、D/A转换器的工作原理,A/D、D/A转换器主要技术指标;(2) A/D、D/A转换器分辨率的计算与选型;(3) 单片机与并行A/D、串行A/D转换器的接口及数据采集 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ;(4) 单片机与并行D/A、串行D/A转换器的接口及编程控制。11.1A/D转换器的接口设计A/D转换器作用是在特定的电路下将输入的模拟信号转换为数字量一次A/D转换一般需要经过采样、保持、量化及编码四个步骤。A/D转换器是数据采集的重要通道是信号转换的主要方式。A/D转换器分成四种:计数式、双积分式、逐次逼近式、并行式A/D转换器。比较常见的A/D:双积分式--主要优点为转换精度高、抗干扰性能好、价格相对低廉;缺点是转换速度慢。逐次逼近式的A/D转换器---逐次逼近式A/D转换器在精度、速度和价格上都适中,转换速度在几微秒到几百微妙之间。按接口方式不同可将A/D转换器分为串行接口和并行接口A/D转换器。单片机片内有A/D转换器。如果 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 高精度、高分辨率,一般要选择片外A/D转换器。如果要求分辨率不高(如10位或8位),可以选择片内带A/D转换器的单片机,以使降低设计成本。1.A/D转换器的主要技术指标(1)分辨率---输出二进制位数或BCD码位数 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示,是满刻度电压值与2n的比值例1一个12位的A/D转换器的分辨率:满刻度=1/212,百分数表示=0.0244%用212的级数进行量化,其分辨率为1LSB。如果满刻度为10 V,则可分辨的最小电压变化值=10 V×0.0244%=2.4 mV,即1LSB=2.4mV。例2三位半BCD码A/D转换器分辨率:满数字值为1999,用百分数表示其分辨率=1/1999×100%=0.05%。(2) 转换时间和转换速率完成一次转换所需要的时间就是A/D转换器的转换时间。A/D转换器转换速率级数:超高速---转换时间≤1 ns高速---转换时间≤1 μs中速---转换时间≤1 ms低速---转换时间≤1 s并行式A/D转换时间最短的约为20~50 ns双极性逐次比较式转换时间约为0.4s(3)转换精度将连续的模拟信号转换成离散的数字量产生的误差。(4)量化误差由A/D转换器的有限分辨率引起的误差。2.A/D转换器的选择(1)根据检测精度要求选择A/D转换器(2)根据采样频率要求选择A/D转换器(3)采样保持器(4)工作电压和基准电压(5)其它选择考虑条件① 片内A/D② 串行A/D③封装11.1.2单片机与AD574的并行接口设计8位分辨率的ADC常常不够,采用10位、12位、16位A/D转换器。12位ADCAD574A(AD674A、AD1674A)。1.AD574简介12位逐次比较型A/D转换器。转换时间为25s,转换精度为0.05%,片内有三态输出缓冲电路,可直接与各种8位或16位的微处理器相连,而无须附加逻辑接口电路,且能与CMOS及TTL电平兼容。28脚双列直插式封装,引脚如图11-1。引脚的功能如下:CS*:片选信号端。CE:片启动信号。R/C*:读出/转换控制信号。12/8*:数据输出格式选择。1:12条数据线同时输出转换结果,0:转换结果为两个单字节输出,即只有高8位或低4位有效。A0:字节选择控制线。分为转换期间、读出期间在转换期间:0:进行12位转换(转换时间为25s);1:进行8位转换(转换时间为16s)。在读出期间:结果的高8位结果的低4位+4位尾00:高8位数据有效;1:低4位数据有效,中间4位为“0”,高4位为三态。因此当两次读出12位数据时,12位数据遵循左对齐原则,如下所示:上述五个控制信号组合的真值表如表11-1所示:CECS*R/C*12/8*A0操作0X11111X100000XX00111XXXX+5V地地XX01X01无操作无操作初始化为12位转换初始化为8位转换允许12位并行输出允许高8位输出允许低4位+4位尾0输出表11-1AD574控制真值表STS:转换结束状态引脚。转换完成时为低电平。可作为状态信息被CPU查询,也可用它的下跳沿向CPU发出中断申请,通知A/D转换已完成,可读取转换结果。2.AD574的工作特性工作状态由CE、CS*、R/C*、12/8*、A0五个控制信号决定,当CE=1,CS*=0同时满足,才处于转换状态。AD574处于工作状态时,R/C*=0,启动A/D转换;R/C*=1为数据读出。12/8*和A0端用来控制转换字长和数据格式。A0=0按12位转换方式启动转换;A0=1按8位转换方式启动转换。当AD574处于数据读出(R/C*=1)状态时,A0和12/8*成为数据输出格式控制端。12/8*=1对应12位并行输出;12/8*=0对应8位的双字节输出。其中A0=0时输出高8位。A0=1时输出低4位,并以4个0补足尾随的4位。注意:12/8*端与TTL电平不兼容,故只能直接接+5V或地。另外A0在数据输出期间不能变化。3.AD574的单极性和双极性输入特性图11-18(a)为单极性转换电路,可实现:0~10V或0~20V的转换。图11-18(b)为双极性转换电路,可实现:-5~+5V或-10~+10V的转换。4.MCS-51与AD574的接口设计见图11-3,AD574片内有时钟,无须外加。单极性方式:对0~10V或0~20V模拟信号进行转换。结果的高8位从DB11~DB4输出,低4位从DB3~DB0输出,如左对齐,DB3~DB0接单片机数据总线高半字节。为实现启动转换和结果读出,片选信号由A1提供。读结果时,A1=0;CE信号由单片机的WR*和A7经一级或非门提供,R/C*由RD*和A7经一级或非门产生,A7应为低电平。输出状态信号STS接P3.2,供单片机查询A/D转换是否结束。12/8*端接+5V,AD574的A0由地址总线A0控制,实现全12位转换,并将12位数据分两次送入数据总线上。完成一次A/D转换的程序如下:(假定结果高8位在R2中,低4位在R3中,按左对齐原则):MAIN:MOVR0,#7CH;选择AD574,并令A0=0MOVX@R0,A;启动A/D转换LOOP:NOPJBP3.2,LOOP;查询转换是否结束MOVXA,@R0;读取高8位MOVR2,A;存入R2中MOVR0,#7DH;令A0=1MOVXA,@R0;读取低4位地MOVR3,A;存入R3中11.1.3单片机与MCP3202的接口设计并行接口的A/D转换器,需要占用单片机很多I/O口线,连接线复杂,成本高,不利于设计便携式产品。如果系统性能允许,可以选择单片机片内集成A/D转换器或扩展片外串行A/D转换器,这样既节省成本,也可以减少挤占I/O口,从而使系统电路设计简单、灵活、方便。1.MCP3202的主要特性MCP3202是12位分辨率、多通道、逐次逼近型、SPI串行接口的A/D转换器,特性:可编程单端输入或伪差分输入对内含采样和保持电路,5 V时最大采样速率为100ksps,在2.7 V时最大采样速率为50ksps;采用低功耗CMOS技术,单电源供电,电压范围为2.7 V~5.5 V,静态电流0.5A,工作电流400A,待机电流小于5µA;工业级温度范围-40℃~+85℃2.MCP3202引脚功能MCP3202采用8引脚MSOP、PDIP、SOIC和TSSOP封装,内部结构图及引脚如图11-43.器件工作时序MCP3202的输入配置位功能说明如表11-2MCP3202的SPI串行通信时序如图11-5和11-6所示。5.单片机与MCP3202的接口设计及应用例1按照图11-7电路进行A/D转换,编写A/D采样数据。程序如下:SCLKbitP1.0;定义时钟线DINbitP1.1;定义输入数据线DOUTbitP1.2;定义输出数据线CSbitP1.3;定义片选线AD_RW:SETBDOUT;置数据线为高电平,准备SPI数据传输SETBCS;暂时关闭MPC2302CLRSCLK;初始化时钟,空闲状态为低电平CLRCS;选中使能ADC,使之处于工作状态MOVR5,#08;发送8位数据MOVA,#01H;发送8位数据,其中高7位作前导0,1是启动位AD_W1:CLRCRLCA;从最高位开始发送写入数据SETBSCLK;每发一位要给出高低电平,形成脉冲MOVDIN,CCLRSCLKDJNZR5,AD_W;发送确定通道和数据格式的命令字MOVA,#0C0H;高3位为=1、=1,MSBF=0MOVR5,#03;发送3位数(选通道1、单端输入模式)AD_W2:CLRCRLCASETBSCLKMOVDIN,CCLRSCLKDJNZR5,AD_W2MOVR5,#09H;数据位一共13位(包括空位)先接收高9位CLRAAD_RD1:CLRCSETBSCLK;高电平将ADC输出位(DOUT)锁存MOVC,DOUT;读取1位送入C中CLRSCLKRRCADJNZR5,AD_RD1MOV30H,A;将接收的高8位数据保存到30H单元MOVR5,#04;准备接收转换结果的低4位CLRAAD_RD2:CLRCSETBSCLKMOVC,DOUTCLRSCLKRRCADJNZR5,AD_RD2MOV31H,A;将低4位存放在31H单元SETBCS;关闭MPC2302,停止A/D转换RET11.1.4单片机与AD7705/6的接口设计(简略)1.AD7705/AD7706的主要特性①16位无丢失代码,0.003%非线性。②可编程增益前端,增益范围1~128。③三线串行接口,与SPI、QSPI、MICROWIRE和DSP兼容。④对模拟输入有缓冲能力。⑤工作电压范围2.7~3.3 V或4.75~5.25 V电压。⑥功耗很低,3 V供电时,最大功耗为1 mW;掉电时功耗为20 uW,等待电流的最大功耗值为8A。AD7705/AD7706引脚功能2.片内寄存器操作与设置3.AD7705/06与单片机的接口(1)采用串行口的接口方法(2)采用I/O口的接口方法双积分型由于两次积分时间比较长,所以转换速度慢,但精度可以做得比较高;对周期变化的干扰信号积分为零,抗干扰性能也较好。常用的有3½位双积分A/D转换器MC14433(精度相当于11位二进制数)和4½位双积分A/D转换器ICL7135(精度相当于14位二进制数)。11.2.4单片机与A/D转换器MC14433(双积分型)的接口(简略)1.MC14433A/D转换器简介MC14433是3½位双积分型A/D转换器优点:精度高、抗干扰性能好等,缺点:转换速度慢,约1~10次/秒。与国内产品5G14433完全相同,可互换。被转换电压量程为199.9mV或1.999V。转换完的数据以BCD码的形式分四次送出。1、输出形式两种输出形式:电压输出形式电流输出形式。电流输出的D/A转换器,如需模拟电压输出,可在其输出端加一个I-V转换电路。一、D/A转换器概述2、D/A转换器内部是否带有锁存器D/A转换需要一定时间,这段时间内输入端的数字量应稳定,为此应在数字量输入端之前设置锁存器,以提供数据锁存功能。根据芯片内是否带有锁存器,可分为内部无锁存器的和内部有锁存器的两类。*内部无锁存器的D/A转换器可与P1、P2口直接相接(因P1口和P2口的输出有锁存功能)。但与P0口相接,需增加锁存器。*内部带有锁存器的D/A转换器内部不但有锁存器,还包括地址译码电路,有的还有双重或多重的数据缓冲电路,可与MCS-51的P0口直接相接。3、主要技术指标(1)分辨率给DAC的输入单位数字量变化引起的模拟量输出的变化,通常定义为输出满刻度值与2n之比。显然,二进制位数越多,分辨率越高。例如,若满量程为10V,则分辨率为10V/2n。设8位D/A转换,即n=8,分辨率为10V/28=39.1mV,该值占满量程的0.391%,用1LSB表示。同理:10位D/A:1LSB=9.77mV=0.1%满量程12位D/A:1LSB=2.44mV=0.024%满量程根据对DAC分辨率的需要,来选定DAC的位数。(2)建立时间描述DAC转换快慢的参数,表明转换速度。定义:从输入数字量到输出达到终值误差(1/2)LSB(最低有效位)时所需的时间。快速DAC可达1s以下。(3)精度理想情况,精度与分辨率基本一致,位数越多精度越高。但由于电源电压、参考电压、电阻等各种因素存在着误差,精度与分辨率并不完全一致。位数相同,分辨率则相同,但相同位数的不同转换器精度会有所不同。例如,某型号的8位DAC精度为0.19%,另一型号的8位DAC精度为0.05%。单片机与DAC0832的接口1.DAC0832芯片介绍(1)DAC0832的特性美国国家半导体公司产品,具有两个输入数据寄存器的8位DAC,能直接与MCS-51单片机相连。主要特性如下:*分辨率为8位;*电流输出,稳定时间为1s;*可双缓冲输入、单缓冲输入或直接数字输入;*单一电源供电(+5~+15V);(2)DAC0832的引脚及逻辑结构4、DAC0832的应用(1)单极性电压输出单极性模拟电压输出,可采用图11-5或图11-9所示接线。输出电压Vout与输入数字量B的关系:Vout=-(B/256)*VRFE式中,B=b7·27+b6·26+……+b1·21+b0·20;B为0时,Vout也为0,输入数字量为255时,Vout为最大值,单极性。由上式,在选用+VREF时,(1)若输入数字量b7=1,则Vo为正;(2)若输入数字量b7=0,则Vo为负。在选用-VREF时,Vo与+VREF极性相反。(2)双极性电压输出(3)用作程控放大器DAC0832还可以用做程控放大器使用,如图11-19是用做程控电压放大器的连接线路。DAC0832内部IO一边和T型电阻网络相接,另一边又通过内部反馈电阻Rfb和υI相通,故D/A转换器输入和输出之间的关系:5、单片机与DAC0832的接口电路(1)单缓冲方式DAC0832的两个数据缓冲器有一个处于直通方式,另一个处于受控的锁存方式。在不要求多路输出同步的情况下,可采用单缓冲方式。单缓冲方式的接口如图11-20:WR2和XFER接地,故DAC0832的“8位DAC寄存器”处于直通方式。“8位输入寄存器”受CS和WR1端控制,片选地址FEH。8031执行如下两条指令就可在WR1和CS上产生低电平信号,使0832接收8031送来的数字量。MOVR0,#0FEH;DAC地址FEH→R0MOVX@R0,A;WR*和译码器FEH输出端有效(1)锯齿波的产生ORG2000HSTART:MOVR0,#0FEH;DAC地址FEH→R0MOVA,#00H;数字量→ALOOP:MOVX@R0,A;数字量→D/A转换器INCA;数字量逐次加1SJMPLOOP例11-1DAC0832用作波形发生器。分别写出产生锯齿波、三角波和矩形波的程序。输入数字量从0开始,逐次加1,为FFH时,加1则清0,模拟输出又为0,然后又循环,输出锯齿波,上升斜边分256个小台阶,每个小台阶暂留时间为执行后三条指令所需要的时间。(2)三角波的产生ORG2000HSTART:MOVR0,#0FEHMOVA,#00HUP:MOVX@R0,A;三角波上升边INCAJNZUPDOWN:DECA;A=0时再减1又为FFHMOVX@R0,AJNZDOWN;三角波下降边SJMPUP(3)矩形波的产生ORG2000HSTART:MOVR0,#0FEHLOOP:MOVA,#data1MOVX@R0,A;置矩形波上限电平LCALLDELAY1;调用高电平延时程序MOVA,#data2MOVX@R0,A;置矩形波下限电平LCALLDELAY2;调用低电平延时程序SJMPLOOP;重复进行下一个周期DELAY1、DELAY2为两个延时程序,决定矩形波高、低电平时的持续时间。频率也可采用延时长短来改变。DELAY1:……RETDELAY2:……RET(2)双缓冲方式多路同步输出,必须采用双缓冲同步方式。电路如下图1#DAC0832因和译码器FDH相连,占有两个端口地址FDH和FFH。2#DAC0832的两个端口地址为FEH和FFH。其中,FDH和FEH分别为1#和2#DAC0832的数字量输入控制端口地址,而FFH为启动D/A转换的端口地址。VX和VY信号同步输出,可控制X-Y绘图仪绘制的曲线光滑,否则绘制的曲线是阶梯状。控制程序见教材。例11-2:内部RAM中两个长度为20的数据块,起始地址分别为addr1和addr2,编写程序把addr1和addrr2中数据分别从1#和2#的DAC0832同步输出。假设addr1和addr2中的数据,为绘制曲线的X、Y坐标点。DAC0832各端口地址:FBH或03H1#DAC0832数字量输入控制端口;FDH或05H2#DAC0832数字量输入控制端口;FEH或06H同时对1#和2#DAC0832启动D/A转换器转换端口工作寄存器分配:R0作X方向数据指针,R1作为Y方向数据指针;DPTR作为D/A寄存器端口寻址,R2存放数据块长度。程序为:addr1DATA30H;定义X方向存储单元首地址addr2DATA50H;定义Y方向存储单元首地址ORG0000HMAIN:MOVR0,#addr1;R0指向addr1MOVR1,#addr2;R1指向addr2MOVR2,#20H;数据块长度送R2LOOP:MOVDPTR,#00FBH;DPTR指向1#DAC0832数字量控制端口MOVA,@R0;取addr1中数据送入AMOVX@DPTR,A;将addr1中数据送入1#DAC0832INCR0;修改addr1指针R0指向下一个数MOVDPTR,#00FDH;DPTR指向2#DAC0832端口MOVA,@R1;取addr2中数据送入AMOVX@DPTR,A;将addr2中数据送入2#DAC0832寄存器INCR1;修改addr2指针R1指向下一个数MOVDPTR,#00FEH;DPTR指向DAC的启动D/A转换端口MOVX@DPTR,A;启动DAC进行转换DJNZR2,LOOP;若20H个数据未传送完,则跳至LOOPLJMPMAIN;若数据送完,则循环重新开始END11.2.4单片机与串行D/A转换器接口设计1.AD7543的主要特性AD7543是美国模拟器件公司(AnalogDevices)生产的12位串行接口D/A转换器,其主要的性能如下:(1) 12位分辨率,分辨率较高;(2) 线性度好,非线性误差为1/2LSB;(3) +5V单电源供电,功耗低,最大功耗40mW;(4) 接正选通或负选通进行串行加载;(5) 采用非同步清除输入,使其初始化;(6) 价格低,性价比高,节省成本。2.AD7543内部结构与引脚功能AD7543的逻辑电路由12位串行输入/并行输出的移位寄存器A、12位DAC输入寄存器B和12位D/A转换电路组成。AD7543逻辑输入选择3.AD7543与单片机的接口设计及应用单片机串行口与AD7543的接口设计,电路如图11-26例1按照图11-26电路,假设要转换的12位数的高4位存放在31H的低半字节,低8位存放在30H单元。程序如下:DACLdata30H;定义待转换的数据低8位存放单元DACHdata31H;定义待转换的数据高4位存放单元LD2bitP1.0;定义加载脉冲控制位DACW:MOVSCON,#00;设置串口在工作方式0MOVR0,#30H;R0指向数据存放地址MOVA,@R0;取低8位数据ACALLMLSB;调用数据倒装子程序MOV@R0,AINCR0MOVA,@R0;取高4位数据ACALLMLSBMOVSBUF,A;发送高4位,从高位开始串行传送JNZTI,$DECR0MOVA,@R0;取低8位数据MOVSBUF,A;发送低8位,从高位开始串行传送JNZTI,$CLRTICLRLD2;将A寄存器数据加载到B寄存器,启动D/A转换NOPNOPSETBLD2;加载完成,恢复高电平RETMLSB:MOVR2,#08;把单字节按二进制位倒装存放MOVR3,#00CLRCALC:RLCAXCHA,R3RRCAXCHA,R3DJNZR2,ALCRET(2)单片机普通I/O口与AD7543的接口设计例2采用通用I/O口与AD7543的接口电路与图11-26类似,只要把串行口的TXD、RXD分别改为用P1.1、P1.2与AD7543相连,其它连接不变,即可实现用I/O口模拟串行移位寄存器输出串行数据。程序如下:DACLdata30H;定义待转换的数据低8位存放单元DACHdata31H;定义待转换的数据高4位存放单元LD2bitP1.0;定义加载脉冲控制位CLKbitP1.1;定义P1.1作为串行时钟线DATbitP1.2;定义P1.2作为串行数据线DACW:MOVR0,#31H;R0指向高字节数据存放地址MOVR2,#04MOVA,@R0;取高字节数,低半字节有效SWAPA;把有效位调换到高4位SETBCLKLOP1:CLRCLKRLCAMOVDAT,CSETBCLKDJNZR2,LOP1DECR0MOVA,@R0MOVR2,#08LOP2:CLRCLKRLCAMOVDAT,CSETBCLKDJNZR2,LOP1CLRLD2;将A加载到B寄存器,启动D/A转换NOPNOPSETBLD2;加载完成,恢复高电平RET11.3.1用V/F转换器实现A/D转换的原理(简略)工作原理:把电压信号转换为频率的器件V/F转换器。把V/F转换器输出的频率信号作为计数脉冲,进行定时计数,这样计数器的计数值与V/F转换器输出的脉冲频率信号之间的关系为:f=D/TD:计数值,T:计数时间,就可求出V/F转换器的输出频率,从而知道输入电压V,这就实现了A/D转换。定时/计数器可用单片机内部的,也可使用外部扩展的,用单片机把计数值取入内存即可进行数据处理。11.3.2常用V/F转换器LMX31简介常用LMX31系列。包括LM131/LM231/LM331,适用于A/D转换器、高精度F/V变换器
本文档为【第11章单片机与AD、DA转换器的接口设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥12.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
is_294897
暂无简介~
格式:ppt
大小:560KB
软件:PowerPoint
页数:0
分类:
上传时间:2021-09-16
浏览量:7