第十一章 d/a 、 a/d 转换器及其与 cpu 的接口

24
第第第第 D/A A/D 第第第第第第 CPU 第第第 第第 D/A A/D 第第第第第第 CPU 第第第 11.1 第第 11.2 D/A 第第第第第第第第 CPU 第第第 11.3 A/D 第第第第第第第第 CPU 第第第

Upload: athena-boyd

Post on 30-Dec-2015

123 views

Category:

Documents


0 download

DESCRIPTION

第十一章 D/A 、 A/D 转换器及其与 CPU 的接口. 11.1 概述 11.2 D/A 转换器芯片及其与 CPU 的接口 11.3 A/D 转换器芯片及其与 CPU 的接口. 11.1 概 述. 数 / 模( D/A )和模 / 数( A/D )转换技术主要用于计算机控制和测量仪表中。 典型的闭环实时控制系统为:. 11.1 D/A 转换器芯片及其接口技术 `. 11.1.1 D/A 转换原理与基本参数 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

第十一章 D/A 、 A/D 转换器及其与 CPU 的接口

11.1 概述11.2 D/A转换器芯片及其与CPU的接口11.3 A/D转换器芯片及其与CPU的接口

Page 2: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

11.1 概 述 数 / 模( D/A )和模 / 数( A/D )转换技术主要用于计算机控制和测量仪表中。 典型的闭环实时控制系统为:

传感器 运算

放大器

A/D

转换器

统 执行

部件

功率

放大器

D/A

转换器

Page 3: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

11.1 D/A 转换器芯片及其接口技术 `

11.1.1 D/A 转换原理与基本参数 数字量是由一位一位的数位组成的 , 每个数位都代表一定的权。 D/A 转换时,就是把一个数字量的每一位代码按权的大小转换为相应的模拟量分量,然后用线性叠加原理将各位代码对应的模拟输出量相加,其和就是与数字量成正比的模拟量。 在实现时,通常采用 T 型网络实现数字量往模拟电流的转换,再利用运算放大器来完成模拟电流到模拟电压的转换。所以,要把一个数字量转变为模拟电压,需要两个环节。有些 D/A 转换器芯片只包含前一个环节,有些包含两个环节。对于前一种,需外接运算放大器。 基本参数: 分辨率 精度 线性度 建立时间(转换时间) 温度系数

Page 4: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  11.2.2 DAC1210 转换器芯片及其接口

1 、内部结构

Page 5: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  2 、工作方式

( 1 )单缓冲方式 将输入锁存器和 DAC 寄存器两级输入当作一级输入。硬件连接如下:

Page 6: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

( 2 )双缓冲方式 是将数据经输入锁存器和 DAC 寄存器两级输入到 D/A 转换器。对于与 16 位数据总线连接时,分别看作两个端口予以控制,写两次。对于与 8 位数据总线连接时,写三次。硬件连接如下:

Page 7: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

Page 8: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

3 、输出方式 由于 DAC1210 属于电流输出型的 D/A 转换器,需用运算放大器将电流输出转换为电压输出。一般电压输出分为单极性和双极性两种。

单极性输出方式: 双极性输出方式:

Page 9: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  4 、应用举例

例 1 如图所示 , 向 DAC1210 连续不断地输出数据 , 即可得到相应的电压信号。设端口地址为 PORT, 编写产生连续方波的程序。

MOV DX , PORT

LP : MOV AX , 0

OUT DX , AX

CALL RLY ;延时

MOV AX , 0FFFH

OUT DX , AX

CALL RLY

JMP LP

Page 10: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

例 2 同上题 , 编写产生连续三角波的程序。

MOV DX , PORT XOR AX , AX W1 : OUT DX , AX INC AX NOP CMP AX , 0FFFH JNZ W1 W2 : OUT DX , AX DEC AX NOP CMP AX , 0 JNZ W2 JMP W1

Page 11: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口   例 3 同上题 , 编写产生连续梯形波的程序。

MOV DX , PORT XOR AX , AX OUT DX , AX W3 : CALL RLY1 W1 : INC AX OUT DX , AX NOP CMP AX , 0FFFH JNZ W1 CALL RLY2 W2 : DEC AX OUT DX , AX NOP CMP AX , 0 JNZ W2 JMP W3

Page 12: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

11.2.3 DAC 与 CPU 接口时应注意的问题1 、数据锁存问题2 、模拟信号输出问题3 、 D/A 位数多于数据总线位数问题 (可采用两级锁存的办法) 或

Page 13: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

11.3 A/D 转换器芯片及其接口技术 `11.3.1 采样和量化

注意 : 采样时必须要符合采样定理 , 即采样频率 f0 大于等于输入信号最高频率 fm 的 2 倍。

量化:以一定的量化单位,把离散的模拟信号转化为离散的阶跃量的过程。通常用“四舍五入”的方法使之整量化。

Page 14: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

11.3.2 A/D 工作原理

11.3.3 A/D 性能参数 分辨率 量化误差 转换时间 精度 漏码

Page 15: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  11.3.4 ADC0809

一、原理框图

Page 16: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

Page 17: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  二、应用举例

1 、查询法

Page 18: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

假设仅对模拟通道 IN0进行 A/D 转换。采用查询方式的程序如下 ( 对 0 通道采样一个点 ) : OUT 50H , AL ;选通 IN0 ,启动 A/D 转换 NOP

W : IN AL , 41H ;输入 EOC标志 TEST AL , 01H

JZ W ;未结束,返回等待 IN AL , 49H ;结束,把结果送入 AL 中

Page 19: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

若对 IN0~ IN78 个通道的模拟量各采样 100 个点: MOV BX , OFFSETWP ;设置数据存储指针 MOV CL , 100 ;设置计数初值N : MOV DX , 0050HP : OUT DX , AL ;选通一个通道,启动 A/D NOPW : IN AL , 41H ;输入 EOC标志 TEST AL , 01H ;测试状态 JZ W ;未结束,返回等待 IN AL , 49H ;结束,读数据 MOV[ BX], AL ;存数 INC BX ;修改存储地址指针 INC DX ;修改 A/D 通道地址 CMP DX , 0058H ;判断 8 个通道是否转换完 JNZ P ;未完,返回启动新通道 DEC CL ; 100 个点是否采样完了, JNZ N ;未完返回再启动 IN0 HLT ; 100 个点完了,暂停

Page 20: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  2 、中断法

Page 21: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

假设 ADC0809 端口地址为 98H ,仅对模拟通道 IN3进行A/D 转换。采用中断响应法的程序为 CLI

MOV AL , 03H

OUT 98H , AL ;选通 IN3 ,并启动 A/D 转换 NOP

NOP

STI

而在中断服务程序中用一条指令 IN AL , 98H ;读取转换结果的数字量

Page 22: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口   若对 IN0~IN7 8 个通道的模拟量各采样 100 个点,并转换成数字量采

用中断方式 8259A边沿触发,自动结束,非缓冲方式,单片使用中断类型码为 70—77H ,偶地址假设为 20H ,奇地址为 21H 的程序如下 (伪指

令省略 ) :WP DB 800 DUP (?) MOVAL , 13H ; ICW1 OUT 20H , AL MOV AL , 70H ; ICW2 OUT 21H , AL MOV AL , 03H ; ICW4 OUT 21H , AL PUSH DS MOV AX , 0 MOV DS , AX MOV BX , OFFSET XY MOV SI , SEG XY MOV[ 01CCH], BX MOV[ 01CEH], SI POP DS MOV CX , 100 MOV DI , 0FFSET WP STIPP : MOV BL , 00H

LL : MOV AL , BL OUT 98H , AL HLT INC BL CMP BL , 08H JNZ LL DEC CX JNZ PP HLT中断服务程序:XY : PUSH AX STI IN AL , 98H MOV[ DI], AL INC DI CLI POP AX IRET

Page 23: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  

举例 利用 8255A 间接与 0809 接口,接口图如图 12.4所示。采用查询方式,编写转换通道 IN5的模拟量的程序。

Page 24: 第十一章  D/A 、 A/D 转换器及其与 CPU 的接口

第十二章 D/A 、 A/D 转换器及其与 CPU 的接口  解 由接口图分析可知 8255A 的 A 口、 B口、 C 口和控

制口的地址分别为 90H、 94H、 98H、 9CH,程序片段如下:

; 8255 初始化 MOV AL, 10011000B OUT 9CH, AL ; A/D 转换 MOV AL, 05H OUT 94H, AL MOV AL, 01H OUT 9CH, AL MOV AL, 0 OUT 9CH, AL NOP NOP

W: IN AL, 98H TEST AL, 00100000B JZ W MOV AL, 00000101B OUT 9CH, AL IN AL, 90H MOV BL, AL MOV AL, 00000100B OUT 9CH, AL