接口-第9章 AD与DA转换器接口_第1页
接口-第9章 AD与DA转换器接口_第2页
接口-第9章 AD与DA转换器接口_第3页
接口-第9章 AD与DA转换器接口_第4页
接口-第9章 AD与DA转换器接口_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

第9章A/D与D/A转换器接口9.1模拟量接口

在计算机应用系统中,采集对象往往是连续变化的物理量,因此需要对连接变化的物理量进行采样、保持,再把模拟量转换为数字量交给计算机处理。计算机输出的数字量有时需要转换为模拟量去控制某些执行元件。

A/D转换器完成模拟量→数字量的转换

D/A转换器完成数字量→模拟量的转换下图是一个实时控制系统:控制对象微机系统传感器执行部件ADCDAC功放运放模拟量模拟量数字量数字量下图是一个分时数据传输系统:模拟输入模拟输出ADCDAC驱动器接收器多路扫描器多路扫描器传输线9.1A/D转换器

A/D转换器就是把模拟量转换成数字量的过程。数字量便于计算机的处理,是自动控制过程的重要步骤。

A/D转换的原理很多,常见的有双积分式、逐次逼近式、计数式等。输出码制有二进制、BCD码等;输出数据宽度(二进制)有8位、12位、16位、20位等。1、A/D转换器的主要技术指标分辨率

指A/D转换器能够把模拟量转换成二进制的位数。例:用1个10位ADC转换一个满量程为5V的电压,则可能分辨的最小电压率为5000mV/1024=5mV。若模拟输入值小于5mV,则ADC无反映,输出保持不变。可见,ADC的数字量输出位数越多,其分辨率就越高。当分辩率大于微机系统数据总线宽度时,每次转换都需要两次数据的传输。

转换时间

从转换启动开始到转换结束,得到稳定的数字量输出所需要的时间。转换时间的快慢将会影响ADC接口与CPU交换数据的方式。对于低中速的ADC一般采用查询或中断方式,对于高速的ADC应采用DMA方式。2、A/D转换器的外部特性任何一种A/D转换器一般具有以下信号线:模拟信号输入线,有单通道与多通道之分。数字量输出线,线的数目决定了分辨率。

转换启动线(输入),每次启动只能转换一次数据。转换结束线(输出),表示ADC作一次转换结束的状态。9.3A/D转换器与CPU接口的原理和方法1、A/D转换器与CPU的连接

ADC的启动信号有脉冲启动和电平启动两种。

ADC的输入信号

有单通道和多通道之分。

ADC的输出信号

ADC输出是否有锁存;

ADC的分辨率是否与系统数据总线一致。

ADC的转换结束信号

作为查询和中断的依据。2、A/D转换器数据传输数据的传送可采用查询、中断和DMA方式。不同的方式的电路组成和编程方法不同。A/D采集的速度取决于:A/D转换器的转换时间T;将数据存入内存所需要的数据传输时间。

则采集数据的频率上限为:

f0=1/(T+)上述几种方法采集数据的速度是:查询中断DMA方式高低9.4A/D转换器接口设计1、A/D转换器接口设计方案的分析

①ADC的模拟量输入是否是多通道?②ADC分辨率是否大于系统数据总线的宽度?③ADC内部是否有三态输出锁存?④ADC的启动是电平启动还是脉冲启动?⑤ADC转换的数据采用哪种传输方式?⑥ADC转换的数据要进行怎么样的处理?⑦ADC接口采用什么元器件组成?2、A/D转换器的接口设计例9.1查询方式的ADC接口电路设计要求利用ADC0804采集100个数据,采集的数据以查询方式传输到内存BUFR区。接口电路采用普通IC芯片组成。分析

ADC0804是单个模拟量输入;

ADC0804的分辨率为8位,并具有三态输出锁存器;

ADC0804的启动方式为脉冲启动;数据传输方式为查询方式。

硬件电路:

软件流程图:程序如下:DATASEGMENT START_PEQU310H ;转换启动端口

STATE_PEQU311H ;状态端口

DATA_PEQU310H ;数据端口

BUFRDB100(0)DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATABEGIN:MOVAX,DATA MOVDS,AX MOVSI,OFFSETBUFR ;缓冲区指针

MOVCX,100 ;采样次数START:MOVDX,START_P ;启动转换

MOVAL,00H ;(可以是其它值)

OUTDX,AL ;使CS和WR同时有效

WAIT1:MOVDX,STATE_P ;查转换结束

INAL,DX ANDAL,80H ;查D7=0(INTR=0?)

JNZWAIT1 ;未结束,等待

MOVDX,DATA_P ;已结束,读数据

INAL,DX MOV[SI],AL ;数据传输到BUFR区

INCSI ;缓冲区地址加1 DECCX ;采样次数减1 JNZSTART ;未完,继续启动

MOVAX,4C00H ;已完,退出

INT21HCODEENDSENDBEGIN例9.2中断方式的ADC接口设计要求采用ADC0809,从通道7采集100个数据,采集的数据以中断方式传输到内存缓冲区,并将转换结束信号EOC连到IRQ4上,请求中断。分析要实现上述设计要求,至少有3个方面的问题需要考虑:被控对象ADC0809的特性;接口电路结构形式;中断处理。①ADC0809外部特性ADC0809内部逻辑原理图CLOCK

START通道选择开关通道地址锁存和译码定时和控制逐次逼近寄存器输出三态锁存器开关树组比较器IN0IN1

IN7ADDAADDBADDCALEVR(+)VR(-)D0D1D7EOCOE

模拟输入

数字输出A/D

转换结束

启动转换

输出允许

通道选择地址

通道地址锁存ADC0809的时序图②接口电路结构形式采用可编程接口芯片82C55A③

中断处理本例题是利用微机系统的中断资源,故不需做中断系统的硬件连接和82C59A的初始化。只需做两件事:中断向量的修改(IRQ4);

开放IRQ4的中断和CPU中断。

硬件设计。本接口电路应能提供如下信号:ADC0809模拟量通道号选择信号启动信号读数据允许信号

EOC的中断请求:直接连到系统总线的IRQ4上。82C55A的4个端口地址是:300H(A口)、301H(B口)、302H(C口)、

303H(命令口)。

由82C55A接口芯片实现中断方式的ADC接口电路原理

软件设计通道7的数据采集相关程序段:

MOV DX,303H ;82C55初始化,A口输出(为锁地址)

MOV AL,80H OUT DX,AL MOV AL,0EH ;置PC7=0,使START和ALE无效

OUT DX,AL MOV AL,0CH ;置PC6=0,使OE无效

OUT DX,AL

MOV DX,300H ;锁通道地址

MOV AL,07H OUT DX,AL MOV AX,350CH

;获取IRQ4的中断向量并保存

INT 21H MOV OLD_OFF,BX MOV BX,ES MOV OLD_SEG,BX CLI MOV AX,250CH

;置新中断向量

MOV DX,SEGA_D MOV DS,DX MOV DX,OFFSETA_D INT 21H

MOV AX,DATA ;恢复数据段

MOV DS,AX STI IN AL,21H ;开放IRQ4 AND AL,0EFH OUT 21H,AL MOV CX,100 ;设置采集字节数

MOV SI,OFFSETBUFF ;设置内存指针

MOV DX,303H ;82C55初始化,A口输入

MOV AL,90H OUT DX,ALBEGIN:

MOV DX,303H ;启动转换

MOV AL,0FH ;产生ALE锁存信号

OUT DX,AL

NOP NOP MOV AL,0EH ;产生START启动脉冲信号

OUT DX,AL STI ;开中断

HLT ;等待中断

DEC CX ;采样次数减1 JNZ BEGIN ;没完,继续 CLI ;已完,关中断

MOV AX,250CH

;恢复IRQ4的原中断向量

MOV DX,OLD_SEG MOV DS,DX MOV DX,OLD_OFF INT 21H MOV AX,DATA ;恢复数据段

MOV DS,AX STI

IN AL,21H OR AL,10H ;屏蔽IRQ4 OUT 21H,AL MOV AX,4C00H ;返回DOS INT 21HA_D PROC FAR ;中断服务程序

PUSH AX ;保护现场

PUSH DX CLI ;关中断

MOV DX,303H ;打开三态锁存器

MOV AL,0DH OUT DX,AL ;置PC6=1高

MOV DX,300H IN AL,DX ;从PA口读数据

MOV [SI],AL ;存取数据

INC SI ;内存地址指针加1 MOV DX,303H

;关闭三态锁存器

MOV AL,0CH

OUT DX,AL

;置PC6=0低

MOV AL,20H ;发中断结束命令

OUT 20H,AL POP DX ;恢复现场

POP AX STI ;开中断

IRET ;中断返回

A_D ENDP例9.4DMA方式的ADC接口电路设计电路初始化编程根据题意只涉及以下几个寄存器的操作:①选定传送通道及工作方式(工作方式寄存器)。②设置DMA屏蔽字(屏蔽寄存器),端口=0BH。③设定传输的总字节数(字节数寄存器),端口

=03H(通道1)④设定传送的存储器地址(地址寄存器),端口

=02H(通道1)⑤写清除先/后触发器,端口=0CH。返回程序清单:

CLI ;关中断

MOVAL,04H ;命令字,禁止82C37A工作

OUT08H,ALMOVAL,01000101B

;工作方式:单一传输方式, ;地址加1,非自动预置, ;DMA写,通道1OUT0BH,AL ;送入工作方式寄存器

OUT0CH,AL ;清先/后触发器(软命令)MOVAL,03H ;页面地址(最高4位地址)

OUT83H,AL ;写入DMA页面地址寄存器

MOVAL,00H ;基地址低8位

OUT02H,AL ;低8位地址写入通道1的基与 ;当前地址寄存器

MOVAL,04H ;基地址高8位

OUT02H,AL ;高8位地址写入通道1的基与 ;当前地址寄存器MOVAL,0FFH ;字节数低8位

OUT03H,AL ;字节数低8位写入通道1的基与 ;当前字节计数器

MOVAL,0FH ;字节数高8位

OUT03H,AL ;字节数高8位写入通道1的基与 ;当前字节计数器

STI ;CPU开中断

MOVAL,01H ;清通道1的屏蔽位,允许DREQ1OUT0AH,AL ;开通道1,接收DREQ1的到来9.5D/A转换器1、D/A转换器的主要技术指标分辨率指DAC能够把多少位二进制数转换成模拟量。例:DAC0832能够把8位二进制数转换成电流,所以DAC0832的分辨率是8位。转换时间从数字量输入到DAC完成转换所需要的时间。2、D/A转换器的外部特性DAC的外部信号线包括:①数字信号输入线;②模拟信号输出线;③CS信号线和WR(或WR1,WR2)信号线(用于形成DAC的启动转换信号);④数据输入锁存控制线;⑤模拟量输出通道地址线。9.6D/A转换器与CPU接口的原理和方法1、D/A转换器与CPU的连接

DAC与CPU的接口包括硬件连接和软件编程。DAC与CPU之间的数据传输是无条件传输。DAC接口电路的结构形式也有下列几种:采用中小规模逻辑芯片;利用可编程并行I/O接口芯片;采用GAL器件。2、D/A转换器接口的主要任务D/A与A/D有很多不同之处,表现在:DAC一般不需要专门的控制信号去触发,只要

CPU把数据送到它的输入端,就开始转换。DAC不提供转换结束状态信号。DAC主要解决的是:CPU与DAC之间的数据缓冲问题;当D/A转换器的分辩率大于数据总线的宽度时,CPU必须分两次传送和同时选通。3、D/A转换器的设计方案分析①DAC的模拟量输出是否是多通道?②DAC的分辨率是否大于系统数据总线的宽度?③DAC芯片内部是否有三态输入锁存器?④DAC的启动方式,只有脉冲触发一种。DAC不设专门的转换启动信号,是利用CS和IOW共同进行假写操作,来实现脉冲启动的。

⑤DAC的数据传输方式,只有无条件传输一种。⑥DAC接口电路采用什么元器件组成?9.7D/A转换器接口电路设计例9.5DAC0832接口电路设计要求通过DAC0832产生锯齿波和三角波,按任意键,停止输出。分析DAC0832是单通道模拟量输出,不需通道选择;DAC0832有两级缓冲锁存器,它有3种工作方式:

双缓冲方式、单缓冲方式和直通方式。8位输入寄存器8位DAC寄存器8位D/A转换器DI7~DI0ILELE1LE2CSWR1WR2XFERVREFIOUT2IOUT1RFBAGND(模拟地)&&&DGND(数字地)VCCDAC0832引脚及内部结构:DAC0832有三种工作方式:(1)双缓冲方式(LE1和LE2分别控制)(2)单缓冲方式(其中LE1和LE2有一个直通)(3)直通方式(LE1和LE2均为直通)1:输出随输入变化0:锁存注:在DAC实际连接中,要注意区分“模拟地”和“数字地”的连接,为了避免信号串扰,数字量部分只能连接到数字地,而模拟量部分只能连接到模拟地。

硬件设计硬件设计的方案很多,本例采用8255做CPU与DAC的接口,并DAC工作在直通方式DAC0832DI0-7ILECSWR1WR2XFER8255APA0-7PB4PB3PB2PB1PB0CPURfbIO1IO2-++至示波器B口输出做控制信号

软件设计以下程序是产生三角波的程序;8255初始化

MOVDX,303H ;8255的命令口

MOVAL,10000000B

;8255的方式字

OUTDX,AL ;指定B口控制DAC的转换

MOVDX,301H ;8255A的B口地址

MOVAL,00010000B ;置DAC0832为直通工作方式

OUTDX,AL

;生成三角波的循环

MOVDX,300H ;8255A的A口地址

MOVAL,0H ;输出数据从0开始L1:OUTDX,ALINCAL ;输出数据加1JNZL1 ;AL是否加满?未满继续

MOVAL,0FFH ;已满,AL置全1L2:OUTDX,ALDECAL ;输出数据减1JNZL2 ;AL是否减到0?不为0继续

JMPL1 ;为0,AL加1

0FFHDAC0832双缓冲方式的典型用法:多目标的同时控制CPUDAC0832DAC0832控制点控制点被控对象DAC0832最适合要求多片DAC同时转换的系统,下图的时序关系表示,两个数据分别用CS1和CS2锁存到两个DAC0832的输入寄存器中,最后用XFER信号的上升沿将它们同时锁存到各自的DAC寄存器中。数据1数据2数据1输入到数据2输入到1#锁存2#锁存DAC寄存器锁存DATABUSCS1CS2WR1WR2XFER用来进行同时多点的控制方法例9.6DAC1210接口电路设计要求通过ADC1210产生并输出50个方波分析

ADC1210的分辨率是12位,且内部有三态锁存,数据要分两次传送。DAC1210的3个端口的地址分别为:

316H(y0):锁存高8位数据端口;

317H(y1):锁存低4位数据端口;

318H(y2):第2级锁存端口。8位输入锁存器4位输入锁存器12位DAC存储器12位相乘型D/A转换器LELELELSBMSBDI1115DI1016DI917DI818DI719DI620DI54DI45DI36DI27DI18DI09BYTE123/BYTE2CS1WR12XFER21WR22210Vref14Iout213Iout111Rfb24Vcc3AGND24DGNDDAC1210内部结构有两种数据对齐格式:

“右对齐”:从低位对齐(先送低,后送高)

“左对齐

温馨提示

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

评论

0/150

提交评论