第13章 数模和模数转换_第1页
第13章 数模和模数转换_第2页
第13章 数模和模数转换_第3页
第13章 数模和模数转换_第4页
第13章 数模和模数转换_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第13章模拟接口13.1模拟输出输入系统13.3模/数转换器13.2数/模转换器13.1模拟输入输出系统一、问题的提出:在测控系统中,被测控的对象如温度、压力、流量、速度、声音等都是连续变化的物理量。这种连续变化的物理量通常就是模拟电压或电流,被称做“模拟量”。当用微机实现控制时,微机要求输入的信号是“数字量”,它是离散的。能将模拟量转换为数字量的部件称为模拟/数字转换器(AnalogtoDigitConverter),简称ADC。将微机的处理结果(数字量)进行输出,需要转换成对应的模拟量,要使用数字/模拟(D/A——DigittoAnalogConverter),简称DAC。微机通过ADC和DAC电路,与外界模拟电路相连,这就是模拟接口。模拟接口技术是微机在自动控制等领域的应用基础。计算机模拟信号模拟信号A/DD/AA/D:AnalogtoDigitalD/A:DigitaltoAnalog模拟量数字量模拟量数字量传感器被控对象

自然界物理量为何要进行数模和模数转换?数字信号物理量模拟信号压力传感器温度传感器流量传感器四路模拟开关数字控制计算机DAC模拟控制器模拟控制器液位传感器DACDAC…………模拟控制器模拟控制器生产控制对象

DACADC三、数模和模数转换器应用举例二、数模和模数转换的概念和作用

数模转换即将数字量转换为模拟电量(电压或电流),使输出的模拟电量与输入的数字量成正比。实现数模转换的电路称数模转换器

Digital-AnalogConverter,简称

D/A转换器或DAC。模数转换即将模拟电量转换为数字量,使输出的数字量与输入的模拟电量成正比。实现模数转换的电路称模数转换器

Analog-DigitalConverter,简称A/D转换器或ADC。D/A转换器的主要技术指标一、分辨率用输入数字量的有效位数来表示分辨率。此外,也可以用D/A转换器能够分辨出来的最小输出电压(此时输入的数字代码只有最低有效位为1,其余各位都是0)

与最大输出电压(此时输入的数字代码所有各位全是1)之比来给出分辨率。例如,对一个十位D/A转换器来说,=210-1110231=0.001二、转换时间:指数字量输入到模拟量输出达到稳定所需的时间。一般电流型D/A转换器在几秒到几百微秒之内;而电压型D/A转换器转换较慢,取决于运算放大器的响应时间。DAC的位数越多,分辨率值就越小,能分辨的最小输出电压值也越小。三、转换精度:指D/A转换器实际输出与理论值之间的误差,一般采用数字量的最低有效位(LSB,LeastSignificantBit)作为衡量单位。转换精度通常用输出电压满刻刻度FSR(FullScaleRange)的百分数表示。例如,给出转换误差为1/2LSB,这就表示输出模拟电压的绝对误差等于输入数字代码为00000001时输出电压的一半。即是误差为:±1/2*(VFSR/2位数)四、线性误差:连续的数据送给DAC,应该输出一个线性的变化的模拟电压,而实际上并不是理想线性的。

线性误差——模拟量输出值与理想输出值之间偏离的最大值。通常用最大偏差与满量程之间的百分比来表示线性误差。1/2LSB13.1.2DAC0832简介

DAC0832DAC0832是8位DAC,内部有两级缓冲。当LE1有效时,数据进入第一级(数据输入寄存器),当LE2有效时,数据输入寄存器的值进入第二级(DAC寄存器)。由于DAC寄存器的输出直接送D/A转换器,使LE2有效的命令又称转换命令。DAC0832的输出为两个电流信号IOUT1和IOUT2(IOUT1+IOUT2=常数),内部提供了一个反馈电阻R,只需加一个运算放大器,利用内部的反馈电阻R即可获得电压输出。2019181716151413121112345678910VCCILEWR2XFERDI4DI5DI6DI7IOUT1IOUT2CSWR1AGNDDI3DI2DI1DI0VREFRFBDGNDDAC0832的外部引脚13.1.3DAC0832的接口设计---单缓冲方式1.使数据输入寄存器工作在锁存状态,DAC寄存器工作在不锁存状态(LE2始终有效,DAC寄存器直通)。只使用一级缓冲。适用于大多数情况.设D/A转换端口号为PORTA,设需转换的数据放在1000H单元,则D/A转换程序为:11.1.3DAC0832的接口设计---单缓冲方式MOVBX,1000HMOVAL,[BX]MOVDX,PORTAOUTDX,AL2.使用两级缓冲11.1.3DAC0832的接口设计---双缓冲方式适用于多个DAC0832同时使用的情况设CS’由A15~A1经译码产生,当A15~A1=A0832时,CS’有效。在CPU执行OUT指令时,若A0=0,DAC0832内部LE1有效,数据总线上的值(AL)送入数据输入寄存器;若A0=1,DAC0832内部LE2有效,数据输入寄存器的值送DAC寄存器。11.1.3DAC0832的接口设计---双缓冲方式A0832EQU200HMOVDX,A0832+0;A0=0OUTDX,AL;AL的值为待转换的数字MOVDX,A0832+1;A0=1OUTDX,AL;AL的值无关3.直通方式11.1.3DAC0832的接口设计---直通方式一般接锁存输出.注:在DAC实际连接中,要注意区分“模拟地”和“数字地”的连接,为了避免信号串扰,数字量部分只能连接到数字地,而模所量部分只能连接到模拟地。DAC0832的应用举例:利用DAC可实现任意波形(如锯齿波、三角波、正弦波等)的输出,如输出锯齿波、三角波的程序段如下:TRG:MOVDX,234HMOVAL,0HTN1:OUTDX,ALINCALJNZTN1MOVAL,0FFHTN2:OUTDX,ALDECALJNZTN2

JMPTN10AL全“1”输出产生#include<stdio.h>#include<math.h>Main(){unsignedcharV0=128,VOUT;inti;while(!kbhit())∥等待键盘{i=0; while(I<=360)∥角度最大为360度{VOUT=V0+128*sin(3.14159*I/180);∥计算每10度的正弦值outportb(0x200,VOUT);∥输出 i=i+10;∥角度+10}}}利用图所示的DAC0832单缓冲方式连接图,也可输出正弦波,由于DAC0832是一个单极性输出DAC芯片,因此在正弦波输出中应将0V平移到128数值上,其C语言控制程序如下:例11.1图11.3中所示的为DAC0832与CPU之间的接口电路,CPU数据总线(D0~D7)经总线驱动器接至DAC0832的数据端,CPU的地址总线经地址译码电路产生DAC0832芯片的片选信号;图中DAC0832工作在单缓冲方式,当进行D/A转换时,CPU只需将被转换的8位数据通过D0~D7经过总线驱动器传给DAC0832的数据输入端,并立即启动D/A转换,在运放输出端Vout输出对应的模拟电压。MOVBX,ADDR;要转换的数据单元地址送BXMOVAL,[BX];数据送ALMOVDX,PORTA;将端口地址赋给DXOUTDX,AL;将累加器AL的内容送给 ;DAC0832,进行D/A转换13.2模数转换A/D转换的原理很多,常见的有双积分式、逐次逼近式、计数式等。输出码制有二进制、BCD码等。输出数据宽度有8位、12位、16位、20位、24位等(二进制)。

A/D转换的基本原理和一般步骤

基本原理ADCD0D1Dn-2Dn-1…uI模拟输入信号n位二进制数输出

D=Dn-1

Dn-2

D1

D0

A/D转换的基本原理和一般步骤

“[]”表示取整。基本原理ADCD0D1Dn-2Dn-1…uI模拟输入信号n位二进制数输出

D=Dn-1

Dn-2

D1

D0可见,输出数字量D正比于输入模拟量uI。△称为ADC的单位量化电压或量化单位,它是ADC的最小分辨电压。采样:把时间连续变化的信号变换为时间离散的信号。

保持:保持采样信号,使有充分时间转换为数字信号。

量化:把采样保持电路的输出信号用单位量化电压的

整数倍表示。

编码:把量化的结果用二进制代码表示。A/D转换的一般步骤uI(t)C量化编码电路Dn-1D1D0…uI(t)S采样保持电路输入模拟量输出数字量采样信号是否会丢失原信号的信息呢?对信号进行量化会引起误差吗?量化误差大小与ADC的位数、基准电压VREF和量化方法有关。

采样定理:当采样频率不小于输入模拟信号频谱中最高频率的两倍时,采样信号可以不失真地恢复为原模拟信号。

量化误差:因模拟电压不一定能被ULSB整除,量化时舍去余数而引起的误差。

划分量化电平的两种方法最大量化误差==(1/8)V最大量化误差

=/2=(1/15)V1=1/8V4=4/8V0(6/8)V(7/8)V000001010011100101110111模拟电平二进制代码代表的模拟电平0=0V2=2/8V3=3/8V5=5/8V6=6/8V7=7/8V(5/8)V(4/8)V(3/8)V(2/8)V(1/8)V(8/8)V模拟电平二进制代码代表的模拟电平0=0V1=2/15V2=4/15V3=6/15V4=8/15V5=10/15V6=12/15V7=14/15V(13/15)V0000001010011100101110111(11/15)V(15/15)V(9/15)V(3/15)V(7/15)V(1/15)V(5/15)V指ADC实际输出数字量与理想输出数字量之间的最大差值。通常用最低有效位LSB的倍数来表示。ADC主要参数2.相对精度(又称转换误差)

指ADC输出数字量的最低位变化一个数码时,对应输入模拟量的变化量。

1.分辨率例如最大输入电压为5V的8位ADC的分辨率为:

5V/28=19.6mA分辨率也可用ADC的位数表示。位数越多,能分辨的最小模拟电压值就越小。例如转换误差不大于1/2LSB,即说明实际输出数字量与理想输出数字量之间的最大误差不超过1/2LSB。例:某信号采集系统要求用一片A/D转换集成芯片在1s内对16个热电偶的输出电压分数进行A/D转换。已知热电偶输出电压范围为0~25mV(对应于0~450℃温度范围),需分辨的温度为0.1℃,试问应选择几位的A/D转换器?其转换时间为多少?分辨率=12位ADC的分辨率=故需选用13位A/D转换器。转换时间=3.转换时间转换速度比较:并联比较型>逐次逼近型>双积分型数十ns数十s

数十ms指ADC完成一次转换所需要的时间,即从转换开始到输出端出现稳定的数字信号所需要的时间。转换时间越小,转换速度越高。三、ADC08098位ADC,逐次逼近型,8路模拟量输入8路模拟开关地址锁存译码电子开关逐次逼近寄存器控制与时序解码网络STARTCLK三态门VCCGNDVREF(+)VREF(-)OEEOCIN0IN7ADDCADDBADDAALE··D7-0ADC0809引脚图:2827262524232221201912345678910IN2IN1IN0ADDAADDBADDCALED7D6D5IN3IN4IN5IN6IN7STARTEOCD3OECLK1112131418171615D4D0VREF-D2VCCVREF+GNDD1ADC0809内部有“8选1”MUX。当ALE信号有效时,ADD_C、ADD_B、ADD_A选择IN0~IN7。例如ADD_C、ADD_B、ADD_A分别为011时,选择IN3通道。数字输出:有三态缓冲器,当Enable有效时,从D7~D0引脚输出转换后的数字。启动信号:START。负脉冲启动。转换结束信号:EOC,高电平有效。模数转换ADC0809模数转换ADC0809的接口设计1模数转换ADC0809的接口设计通道选择由系统地址信号A2~A0连至ADD_C、ADD_B、ADD_A实现。ALE信号由A12~A3经译码后形成的CS信号和IOW信号或非获得。设A12~A3=180H时,CS有效,以下指令可以执行通道选择:MOVDX,180H+n;n=0~7OUTDX,AL;AL的值无关模数转换ADC0809的接口设计START信号与ALE信号相连,通道选择的同时,启动转换。转换结束信号EOC接8255的PB0,应使用8255PB工作在方式0输入。CPU查询PB0即可获知转换是否完成。以下指令可以读取转换后的数字:MOVDX,180HINAL,DX模数转换ADC0809的接口设计A0809EQU180HA8255EQU190H;8255的地址为190H~193HMOVAL,1xxxx01xB;8255初始化,PB方式0输入MOVDX,A8255+3OUTDX,AL;转换通道IN5的程序MOVDX,A0809+5OUTDX,AL;通道选择并启动转换NEXT:MOVDX,A8255+1;8255PBINAL,DXANDAL,01HJZNEXT;PB0=0,未完成MOVDX,A0809INAL,DX;AL=转换结果

START是ADC0809的A/D转换启动信号,高电平时内部逐次逼近寄存器清0,由1→0变化时开始A/D转换,信号宽度>100ns.CLK为时钟信号,最大为600KHz.ADC0809设图10-12所示电路的CS=180~187H,采用中断方式的采集程序如下:IN0IN1IN2IN3IN4IN5IN6IN7Q0Q1Q2Q31ACLKOEStartALEA0A1A2IRQ2EOC+5V+5V8MHzIORIOW180H~187H图10-12ADC0809典型连接#include<stdio.h>#include<dos.h>Voidinterruptfaradc-proc();Main(){void(interruptfar*mode)();disable();∥关中断mode=getvect(0x0a);∥取IRQ2中断向量setvect(0x0a,adc-proc);∥设置中断向量

enable();∥开中断outportb(0x180,00);∥启动ADC转器,选择IN0通道while(!Kbhit()){}∥等待键盘setvect(0x0a,mode);∥有键按下时,恢复IRQ2中断向量}voedinterruptfaradc-pro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论