【2017年整理】模数(A/D)和数模(D/A)转换

上传人:豆浆 文档编号:1041323 上传时间:2017-05-26 格式:DOC 页数:21 大小:4.66MB
返回 下载 相关 举报
【2017年整理】模数(A/D)和数模(D/A)转换_第1页
第1页 / 共21页
【2017年整理】模数(A/D)和数模(D/A)转换_第2页
第2页 / 共21页
【2017年整理】模数(A/D)和数模(D/A)转换_第3页
第3页 / 共21页
【2017年整理】模数(A/D)和数模(D/A)转换_第4页
第4页 / 共21页
【2017年整理】模数(A/D)和数模(D/A)转换_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《【2017年整理】模数(A/D)和数模(D/A)转换》由会员分享,可在线阅读,更多相关《【2017年整理】模数(A/D)和数模(D/A)转换(21页珍藏版)》请在金锄头文库上搜索。

1、模数(A/D)和数模(D/A)转换11.1 模数转换和数模转换概述11.1.1 一个典型的计算机自动控制系统一个包含 A/D 和 D/A 转换器的计算机闭环自动控制系统如图 11.1 所示。图 11.1 典型的计算机自动控制系统在图 11.1 中,A/D 转换器和 D/A 转换器是模拟量输入和模拟量输出通路中的核心部件。在实际控制系统中,各种非电物理量需要由各种传感器把它们转换成模拟电流或电压信号后,才能加到 A/D 转换器转换成数字量。一般来说,传感器的输出信号只有微伏或毫伏级,需要采用高输入阻抗的运算放大器将这些微弱的信号放大到一定的幅度,有时候还要进行信号滤波,去掉各种干扰和噪声,保留所

2、需要的有用信号。送入 A/D 转换器的信号大小与 A/D 转换器的输入范围不一致时,还需进行信号预处理。在计算机控制系统中,若测量的模拟信号有几路或几十路,考虑到控制系统的成本,可采用多路开关对被测信号进行切换,使各种信号共用一个 A/D 转换器。多路切换的方法有两种:一种是外加多路模拟开关,如多路输入一路输出的多路开关有:AD7501,AD7503,CD4097,CD4052 等。另一种是选用内部带多路转换开关的 A/D 转换器,如 ADC0809 等。若模拟信号变化较快,为了保证模数转换的正确性,还需要使用采样保持器。在输出通道,对那些需要用模拟信号驱动的执行机构,由计算机将经过运算决策后

3、确定的控制量(数字量)送 D/A 转换器,转换成模拟量以驱动执行机构动作,完成控制过程。控 制对 象 传 感 器传 感 器 放 大 滤 波放 大 滤 波 多 路开 关 采 样保 持 A/D转 换 计 算 机I/O S/HMUXMUXD/A转 换 接 口多 路开 关执 行部 件 I/O 接 口 V, m几 伏 模 数拟 字模拟 数字287第 11 章 模数(A/D)和数模(D/A)转换11.1.2 模/数转换器(ADC)的主要性能参数1. 分辨率 它表明 A/D 对模拟信号的分辨能力,由它确定能被 A/D 辨别的最小模拟量变化。一般来说,A/D 转换器的位数越多,其分辨率则越高。实际的 A/D

4、转换器,通常为8,10,12,16 位等。2. 量化误差 在 A/D 转换中由于整量化产生的固有误差。量化误差在1/2LSB(最低有效位)之间。例如:一个 8 位的 A/D 转换器,它把输入电压信号分成 28=256 层,若它的量程为05V,那么,量化单位 q 为:q = 2电 压 量 程 范 围= 560.V0.0195V=19.5mVq 正好是 A/D 输出的数字量中最低位 LSB=1 时所对应的电压值。因而,这个量化误差的绝对值是转换器的分辨率和满量程范围的函数。3. 转换时间 转换时间是 A/D 完成一次转换所需要的时间。一般转换速度越快越好,常见有高速(转换时间100ns。OE: 输

5、出使能端,高电平有效。ADDA、ADDB、ADDC:地址输入线,用于选通 8 路模拟输入中的一路进入 A/D 转换。其中 ADDA 是 LSB 位,这三个引脚上所加电平的编码为 000111,分别对应IN0IN7,例如,当 ADDC=0,ADDB=1,ADDA=1 时,选中 IN3 通道。ALE: 地址锁存允许信号。用于将 ADDAADDC 三条地址线送入地址锁存器中。EOC: 转换结束信号输出。转换完成时,EOC 的正跳变可用于向 CPU 申请中断,其高电平也可供 CPU 查询。CLK: 时钟脉冲输入端,要求时钟频率不高于 640KHZ。REF(+) 、REF (-):基准电压,一般与微机接

6、口时,REF(-)接 0V 或-5V,REF(+)接+5V 或 0V。11.2.3 ADC0809 与 CPU 的连接及其应用ADC 0809 的接口设计需考虑的问题如下:(1)DDA、ADDB、ADDC 三端可直接连接到 CPU 地址总线 A0、A1、A2 三端,但此种方法占用的 I/O 口地址多。每一个模拟输入端对应一个口地址,8 个模拟输入端占用 8 个口地址,对于微机系统外设资源的占用太多,因而一般 ADDA、ADDB、ADDC 分别接在数据总线的 D0、D1、D2 端,通过数据线输出一个控制字作为模拟通道选择的控制信号。(2) ALE 信号为启动 ADC0809 选择开关的控制信号,

7、该控制信号可以和启动转换信号START 同时有效。(3) ADC0809 芯片只占用一个 I/O 口地址,即启动转换用此口地址,输出数据也用此口地址,区别是启动转换还是输出数据用 IOR,IOW 信号来区分。硬件电路接线如图 11.5所示。图 11.5 ADC0809 和 PC 机系统总线的接线图。当 A/D 转换结束,ADC 输出一个转换结束信号数据。CPU 可有多种方法读取转换结果: 查询方式; 中断方式; 延时方式; DMA 方式; 时钟的提供; 参考电压的接法;无条件传送方式下面举例说明如何编写 A/D 转换程序。例 11.1 利用图 11.5,采用无条件传送方式,编写一段轮流从 IN

8、0IN7 采集 8 路模拟信号,并把采集到的数字量存入 0100开始的 8 个单元内的程序。微型机原理及应用292MOV DI,0100H ;设置存放数据的首址MOV BL,08H ;采集 8 次计数器MOV AH,00H ;选 0 通道AA1 MOV AL,AHMOV DX,ADPORT ;设置 ADC0809 芯片地址OUT DX,AL ;使 ALE、START 有效,选择模拟通道,见图 11.5MOV CX,0050HWAIT LOOP WAIT ;延时,等待 A/D 转换IN AL,DX ;使 OUTPUTENABLE 有效,输入数据,见图 11.5MOV DI,AL ;保存数据INC

9、 AH ;换下一个模拟通道INC DI ;修改数据区指针DEC BLJNZ AA1图 11.5 ADC0809 和 PC 机系统总线的连接图293第 11 章 模数(A/D)和数模(D/A)转换例 11.2 设某系统对 8 路模拟量分时进行数据采集,选用 ADC0809 芯片进行 A/D 转换,转换结果采用查询方式传送,所以除了一个传送转换结果的输入端口外,还需要传送 8 个模拟量的选择信号和 A/D 转换的状态信息。因此,可以采用 8255A 作为 ADC0809 和 CPU 的连接接口,如图 11.6 ADC0809 与总线的连接图。将 A 口设为方式 0 的输入方式,用于传送转换结果,B

10、 口不用,用 C 口的 PC2PC0 输出 8 路模拟量的选择信号,PC3 输出ADC0809 的控制信号,而 ADC0809 的状态可由 PC7 输入,所以,将 C 口也设为方式 0,低4 位为输出方式,高 4 位为输入方式。现假设 8255A 的端口 A、B、C 及控制口地址分别为2F0H,2F1H,2F2H 和 2F3H,A/D 转换结果的存储区首地址设为 400H。采样顺序从 IN0IN7。程序如下:MOV DX,2F3H ;2F3H 是 8255 的控制口MOV AL,10011000B ;置 A 组,B 组为方式0,A 口和 C 口高 4 位OUT DX,AL ;输入,C 口低 4

11、 位输出MOV SI, 400H ;存放数据首地址MOV CX,08HMOV BH,00HLOPl: OR BH,08HMOV AL,BHMOV DX,2F2H ;8255C 口地址OUT DX,AL ;启动 A/D 转换AND BH,0F7HH ;PC3 置 0MOV AL,BHOUT DX,AL ;产生 START 和 ALE 的下降沿LOP2: IN AL,DX ;读入 C 口TEST AL,80H ;测试 K7JZ LOP2 ;为 0,继续查询MOV DX,2F0H ;8255A 口地址IN AL,DX ;读入 A/D 转换结果MOV SI,AL ;存储数据INC SIINC BHLO

12、OP LOPl ;8 路没完,继续微型机原理及应用294图 11.6 ADC0809 与总线的连接图例 11.3 中断方式应用(如图 11.7 所示)微处理器按 A/D 所占用的口地址执行一条输出指令。启动 A/D 转换以后,在等待转换完成期间,微处理器可以继续执行其它任务。当转换完成时,A/D 产生的状态信号 EOC向微处理器申请中断。微处理器响应中断,在中断服务程序中对 A/D 占用的口地址执行一条输入指令以获得转换的结果数据。图 11.7 中断响应法 A/D 与 CPU 接口中断响应法的特点是 A/D 转换完成后微处理器能立即得到通知,且不须花费等待时间,接口硬件简单,一般来讲程序会稍复

13、杂些。程序流程如图 11.8 所示。使用中断方法,可提高 CPU 的利用率。每当 ADC 转换结束时,由 EOC 信号向 CPU发出中断请求,CPU 响应中断在中断服务子程序中读取转换结果。图 11.9 为中断法 ADC的接口电路。下面是基于图 11.9 硬件的 ADC 转换程序。8259-POR0 EQU 310H ;8259 中 A0=0 地址8259-POR1 EQU 312H ;8259 中 A1=1 地址295第 11 章 模数(A/D)和数模(D/A)转换ADC-PORT EQU 300HDATA SEGMENTBUFF DB 1024 DUP(?) ;数据存放区DATA ENDS

14、图 11.8 中断响应法的程序流程 图 11.9 中断法 ADC 接口CODE SEGMENTASSUME CS:CODE,DS:DATAMAIN: MOV AX,0 ;中断矢量表段地址MOV ES,AXMOV DI,0F8H*4 ;中断矢量表偏移地址MOV AX,OFFSET ADCINTCLDSTOSW ;存放服务程序偏移地址MOV AX,CS ;存放服务程序段地址STOSWMOV DX,8259-POR0 ;8259 初始化MOV AX,13H ;ICW1OUT DX,AXMOV DX,8259-POR1MOV AX,0F8H ;ICW2,中断类型号OUT DX,AXMOV AX,01 ;ICW4OUT DX,AXMOV CX,1024 ;采集数据点循环控制MOV BX,OFFSET BUFF ;数据指针STI ;开中断NEXT: MOV DX,ADCPORT ;ADC 口地址微型机原理及应用296IN AL,DX ;启动 ADC 转换HLT ;等待中断,转服务INC BXLOOP NEXTMOV AX,4C00H

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号