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

下载本文档

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

文档简介

1 第九章A D与D A转换器接口 微机接口技术 浙江工业大学计算机学院 2 第十章A D与D A转换器接口 第十章A D与D A转换器接口9 0概述9 1D A转换器的接口方法9 2D A转换器的接口电路设计9 3A D转换器接口基本原理与方法9 4查询方式的A D转换器接口设计9 5中断方式的A D转换器接口设计9 6DMA方式的A D转换器接口设计9 7在板存储器方式的数据采集系统9 8微型计算机系统的A D D A通道 3 9 0概述 模数转换 简称A D转换通过转换器将模拟量转换为数字量 然后交给计算机处理 这个过程称为模数转换 连续的模拟信号变换为离散的数字信号 为处理和存储 数模转换 简称D A转换通过转换器将计算机处理的数字量转换为模拟量 这个过程称为数模转换 离散的数字信号变换为连续的模拟信号 为控制 模拟接口实现A D转换和D A转换的电路称为模拟接口 模拟接口在计算机系统与模拟设备连续变化的模拟信号之间建立起适配关系 4 9 0概述 模拟量输入输出通道 5 9 1D A转换器的接口方法 一 D A转换器主要参数及其连接特性1 D A转换器主要参数分辨率 D A转换器能够转换的二进制位数 位数多分辨率高 例如 分辨率8位 转换后的电压满量程是5V 则能够分辨的最小电压为5V 28 20mV 转换时间 数字量从输入 转换 输出稳定值所需要的时间 转换精度 D A转换器实际输出电压与理论值之间的误差 线性度 输入的数字量与输出模拟量之间按比例变化的程度 理想的D A转换器是线性的 温度灵敏度 指数字输入量的值不变的情况下 模拟输出信号随温度的变化的情况 6 9 1D A转换器的接口方法 例 某8位D A转换器 其基准电压为VREF 10V R Rf 该转换器的分辨率是多少 能够转换的数字范围是多少 其输出电压范围是多少 当输入数字10010001B时 得到的输出电压是多少 7 9 1D A转换器的接口方法 1 该转换器是8位转换器 所以分辨率是8位 2 能够转换的数字范围是00H 0FFH 3 当输入为全0时 Vo 0 当输入为00000001时 当输入全为1时 所以输出电压的范围是0 10V 4 当输入数字10010001B时 8 9 1D A转换器的接口方法 2 D A转换器的连接特性输入缓冲能力 表示能否与数据总线直接连接 输入数据的宽度 即分辨率 输入码制 表示能接受不同码制的数字量输入 输出模拟量的类型 有电流型和电压型 输出模拟量的极性 有正负电压极性 9 9 1D A转换器的接口方法 二 D A转换器与微处理器的接口方法关键考虑 CPU与DA转换器之间的数据缓冲问题CPU对DAC的数据传送是无条件传送 需要有三态缓冲器可靠连接CPU与DAC 数据缓冲器位数匹配 有四种情况 片内无输入数据锁存器的8位D A转换器 片内有输入数据锁存器的8位D A转换器 片内无输入数据锁存器 多于8位的D A转换器 片内有输入数据锁存器 多于8位的D A转换器 10 9 1D A转换器的接口方法 片内无输入数据锁存器的8位D A转换器设计必须在D A转换器外部另外设置数据锁存器 数据可以一次传送给D A转换器 片内有输入数据锁存器的8位D A转换器接口设计D A转换器可以直接与数据总线连接 数据可以一次传送给D A转换器 片内无输入数据锁存器 多于8位的D A转换器设计对于8位机而言 必须在D A转换器外部另外设置两级输入数据锁存器 以匹配数据总线宽度与DAC分辨率 在D A转换时 数据需要分2次传送给数据锁存器 同时要保证全部数据同时到达DAC进行转换 片内有输入数据锁存器 多于8位的D A转换器接口设计对于8位机而言 在D A转换时 为匹配数据总线宽度与DAC分辨率 数据需要分2次传送给数据锁存器 同时要保证全部数据同时到达DAC进行转换 11 9 2D A转换器的接口电路设计 一 片内无输入缓冲器的8位D A转换器接口设计 利用DAC0808构成直流数字电压表 1 硬件设计 12 9 2D A转换器的接口电路设计 2 软件设计工作原理数字量经DAC0808转换为模拟量 该模拟量与被测信号 直流电压 在比较器LM710进行比较 由比较结果去调整输入DAC0808的数字量 当某一数字量经DAC0808转换的模拟量大于被测信号时 标志位置0 就应去掉它 若小于被测信号时 标志位置 保留该结果 依次产生新的测试值测试 逐次比较 直到 次为止 等于数字量的位数 即分辨率 此时被保留下来的二进制数就是对应于被测模拟量的数字量 这种方法称为逐次逼近法 由于每次送出进行比较的数字量是前一次的一半 故又称为二分搜索法 13 9 2D A转换器的接口电路设计 测试中的几个量值AH已保存下来的试探值 CH试探前保存的试探值 CL通过移位 依次产生试探值的增量 测试过程 初始 AH 00H CH 00H CL 80H 第一次试探 试探值CH AL 80H 输出试探值并做比较 如果模拟量被测值 D0 0 则不保留该试探值 14 9 2D A转换器的接口电路设计 实现直流电压表功能的程序段为 MOVAX 020H 开辟存储单元MOVES AXMOVBX 00HMOVCX 080H CH新试探值初值 CL试探值增量初值NEXT MOVAH CH AH试探后保留值 老试探值 MOVAL AH 取老试探值ADDAL CL 形成新试探值MOVCH AL CH 新试探值MOVDX 318H 新试探值送至74LS273 进行D A转换OUTDX ALMOVDX 319H 读入比较结果INAL DX 即检查比较结果ANDAL 01HJNZOK 若结果为 1 则保留MOVCH AH 若结果为 0 则去掉OK SHRCL 1 逻辑右移 改变试探增量 除2运算 JNCNEXT 比较次数到了吗 N 8 不到 则继续MOVAL CH 次数已到 则送数据到存储单元MOVES BX AL 内存200H单元保存被测的直流电压值HLT 暂停 15 9 2D A转换器的接口电路设计 二 片内有输入缓冲器的8位D A转换器接口设计DAC0832分辨率为8位 芯片内部带有两级缓冲寄存器 两级缓冲方式可在D A转换的同时 进行下一个数据的输入 可提高转换速率 适合设计由多个DAC0832组成更多位数的D A转换器 还可以用于要求同时输出多个模拟量的场合 16 9 2D A转换器的接口电路设计 DAC0832适合要求多片DAC同时进行转换的系统 分别输入数据 利用各自DAC0832的CS与WR1先将各自的数据输入到输入寄存器 同时触发转换 将各片的XFER和WR2连在一起 同时触发 实现同时转换 17 9 2D A转换器的接口电路设计 18 9 2D A转换器的接口电路设计 例9 用2片DAC0832组成一个模拟输出系统 将内存DATA1和DATA2两个单元的字节数据同时转换成模拟量 产生2个模拟电压输出 硬件设计如图所示 19 9 2D A转换器的接口电路设计 设地址译码产生的PORT1地址为280H PORT2地址为281H PORT3地址为282H 程序段如下 MOVAL DATA1 第一个数据取入ALMOVDX 280H 第一片0832输入寄存器地址送DXOUTDX AL 将第一个数据输出到第一片0832输入寄存器MOVDX 281H 第二片0832输入寄存器地址送DXMOVAL DATA2 取第二个数据到ALOUTDX AL 将第二个数据输出到第二片0832输入寄存器MOVDX 282H DX为两片0832的DAC寄存器地址OUTDX AL 同时打开两片0832的DAC寄存器 数据同时开始转换 20 9 2D A转换器的接口电路设计 例 通过DAC0832产生各种波形硬件设计 8255作为DAC与CPU之间的接口芯片 A口输出数据 B口控制DAC0832的工作方式及转换操作 21 9 2D A转换器的接口电路设计 软件编程 将DAC0832的输出端接到示波器的Y轴输入 可在示波器上看到连续的三角波波形 初始化8255AMOVDX 303H 8255A的命令口 MOVAL 10000000B 8255A的A B组均为输出OUTDX AL 写方式字 设置B口控制DAC的转换MOVDX 301H 8255A的B口地址MOVAL 00010000B DAC0832为直通工作方式OUTDX AL 22 9 2D A转换器的接口电路设计 生成三角波的循环MOVDX 300H 8255A的A口地址MOVAL 0H 输出数据从0开始L1 OUTDX ALINCAL 输出数据加1JNZL1 AL是否加满 未满 继续MOVAL 0FFH 已满 AL置全 1 L2 OUTDX ALDECAL 输出数据减1JNZL2 AL是否减到0 不为0 继续JMPL1 为0 AL加1 23 9 2D A转换器的接口电路设计 生成锯齿波MOVDX 303H 8255A控制口地址MOVAL 82HOUTDX AL 设置8255A口A为方式0输出MOVDX 300H 8255A口A地址MOVAL 00H 输出数据初值J OUTDX AL 锯齿波输出INCALJMPJ 24 9 2D A转换器的接口电路设计 生成方波MOVDX 303H 8255A控制口地址MOVAL 82HOUTDX ALMOVDX 300H 8255A端口A地址AGAIN MOVAL 00HOUTDX AL 输出方波 0 CALLDELAY 方波宽度MOVAL 0FFHOUTDX AL 输出方波 1 CALLDELAY 方波宽度JMPAGAIN 25 9 2D A转换器的接口电路设计 三 片内无输入缓冲器的12位D A转换器接口设计 转换的数据按右对齐格式传送 分两次传送数据 匹配数据总线宽度与DAC分辨率 加两级输入缓冲器 26 9 2D A转换器的接口电路设计 设计要点加两级输入缓冲器 分两次传送数据 保证数据同时到达DAC转换 匹配数据总线宽度与DAC分辨率 右对齐 先送低位字节数据 再送高位字节数据到输入缓冲器 左对齐 先送高位字节数据 再送低位字节数据到输入缓冲器 27 9 2D A转换器的接口电路设计 四 片内有输入缓冲器的12位D A转换器接口设计DAC1210片内有两级锁存器 12位分辨率 转换的数据按左对齐格式传送 28 9 2D A转换器的接口电路设计 硬件连接 29 9 2D A转换器的接口电路设计 高 低字节数据缓存过程MOVDX 340H 高8位端口地址MOVAL DATAH 高8位数据OUTDX AL 送高8位数据INCDX 低4位端口地址MOVAL DATAL 低4位数据OUTDX AL 送低4位数据MOVDX 342H 12位锁存地址OUTDX AL 送12位数据 启动D A转换 30 9 3A D转换器接口基本原理与方法 一 A D转换器主要参数及其外部特性1 A D转换器主要参数分辨率 A D转换器能够转换成二进制数的位数 例如 1个10位A D转换器 转换一个满量程为5V的电压 则它能分辨的最小电压为5000mV 1024 5mV 转换时间 从输入启动转换信号开始到转换结束 得到稳定的数字量为止所用的时间 其他参数与D A转换器相同 31 9 3A D转换器接口基本原理与方法 量化误差 A D转换中 数字量D的最低有效位 LSB 即为量化误差 它表示1LSB的输出变化所对应的模拟量的范围 例如下图中 a 的量化误差为1LSB 图 b 的量化误差为0 5LSB 32 9 3A D转换器接口基本原理与方法 转换速率 转换速率指每秒转换的次数 注意转换速率与转换时间不一定是倒数关系 例如 在 流水线 工作方式时 两次转换过程有部分时间是重叠的 因而转换速率大于转换时间的倒数 33 9 3A D转换器接口基本原理与方法 2 A D转换器的外部特性A D转换芯片型号多 性能各异 但从连接来看 一般具有以下几类信号线 模拟信号输入线 数字量输出线 转换启动线 输入 转换结束线 输出 其他信号线 时钟 通道选择等 34 9 3A D转换器接口基本原理与方法 二 A D转换器与微处理器的接口方法A D转换器与CPU连接时特别应注意 A D转换器有无三态数据输出锁存器有 ADC可直接与数据总线相连 无 需外加三态锁存器 A D转换器的分辨率高于CPU的数据总线宽度时需要分几次读取数据 读取的数据在存储区存放的格式分左对齐和右对齐 A D转换器的启动信号有电平启动和脉冲启动电平启动方式 启动信号在整个转换过程中保持不变 脉冲启动方式 在转换开始后 即可撤除启动信号 A D转换结束控制固定延时等待法 查询等待法 中断法 35 9 3A D转换器接口基本原理与方法 A D转换器接口的主要操作过程进行通道选择 多个模拟量输入时 发出转换启动信号获取转换结束状态信号读取转换的数据发出采样 保持 S H 控制信号 36 9 3A D转换器接口基本原理与方法 A D转换器数据的传送方式查询方式中断方式DMA方式转换器自带RAM方式 超高速数据采集 37 9 4查询方式的A D转换器接口设计 一 12位片内有输出锁存器的A D转换器接口设计应用环境要求 12位转换 采集64个数据 左对齐存放在首址400H内存区 ADC与CPU之间采用查询方式交换数据 结果分两次输出 采用AD574A进行A D转换 AD574A外部引脚 内部逻辑结构以及控制信号作用介绍如下 38 9 4查询方式的A D转换器接口设计 39 9 4查询方式的A D转换器接口设计 40 9 4查询方式的A D转换器接口设计 CS 片选信号 低电平有效 CE 芯片允许信号 高电平有效 R C 读出或转换控制 0 启动A D转换 1 读转换结果 12 8 数据输出方式控制 1 12位输出 0 8位输出 A0转换位数控制信号 1 8位转换 0 12位转换 以上几个信号组合完成的功能如表所示 41 9 4查询方式的A D转换器接口设计 硬件连接 状态口 Y0 310H数据口 Y1 311H 低8位 控制口 数据口 高8位 Y2 312H 42 9 4查询方式的A D转换器接口设计 AD574A时序关系 43 9 4查询方式的A D转换器接口设计 根据题目的要求和信号的时序关系 其数据采集的程序段如下 MOVCX 40H 采集次数MOVSI 400H 存放数据内存首址START MOVDX 312H 12位转换 A0 0 MOVAL OH 写入的数据可以取任意值OUTDX AL 转换启动 CS R C均置O CE置1 MOVDX 310H 读状态 Y0有效 打开三态门L INAL DXANDAL 80H 检查D7 STS 0 JNZL 不为0 转换未结束 则等待 44 9 4查询方式的A D转换器接口设计 MOVDX 311H 为0 转换结束 先读低4位 A0 1 INAL DXANDAL OFOH 屏蔽低4位MOV SI AL 送内存INCSI 内存地址加1MOVDX 312H 再读高8位 A0 0 INAL DXMOV SI AL 送内存INCSI 内存地址加1DECCX 采集次数减1JNZSTART 未完 继续MOVAX 4C00H 已完 程序退出INT21H 45 9 4查询方式的A D转换器接口设计 例 在8088系统中采用AD574A设计一个数据采集系统 将1路模拟量转换为数字量存储在BUFFER单元 数据读出采用固定时间等待法 AD574与8088CPU直接连接硬件连线如图所示 46 9 4查询方式的A D转换器接口设计 设高8位口地址为220H 低4位口地址为221H 程序如下 MOVDX 220H 启动一次12位转换OUTDX ALCALLWA28 延时 等待A D转换结束MOVDX 220HINAL DX 读高8位MOVBUFFER AL 保存到BUFFER单元MOVDX 221HINAL DX 读低4位MOVBUFFER 1 AL 保存到BUFFER十1单元其中WA28为延时28 s的子程序 47 9 4查询方式的A D转换器接口设计 二 12位片内无输出锁存器的A D转换器接口设计采用ADC1210作12位转换 右对齐存放 ADC与CPU之间采用查询方式交换数据 ADC1210是无三态输出锁存器的A D转换器 因此 必须外接三态输出锁存器才能与CPU相连接 选用2个74LS244作为三态输出锁存器 48 9 4查询方式的A D转换器接口设计 硬件连接 SC启动转换信号CC转换结束信号 数据端口 Y0 330H Y1 331H 启动转换端口 Y2 332H 49 9 4查询方式的A D转换器接口设计 ADC与CPU之间采用查询方式 采集1个数据 MOVDX 332H 启动转换信号的端口INAL DX 置SC 0 启动转换 参照连接图MOVDX 330H 状态口Y0L INAL DX 查CC 0 ROLAL 1 若CC 0 转换未结束 则等待JCL 若CC 0 则转换结束MOVDX 330H 74LS244 二 的端口 读取高4位数INAL DXANDAL 0FH 屏蔽前面高4位 取高字节的低4位MOVBH AL 保存高字节MOVDX 331H 74LS244 一 的端口 读取低8位数INAL DXMOVBL AL 保存低字节HLT 50 9 4查询方式的A D转换器接口设计 三 电平启动转换的A D转换器接口设计设计要点 采用电平启动的8位AD570作A D转换 ADC与CPU之间采用查询方式交换数据 采集256个数据 51 9 4查询方式的A D转换器接口设计 AD570主要特性分辨率 8位逐次逼近型A D转换芯片 内部带有时钟信号 不用外接时钟 模拟输入 单极性或双极性 转换时间 25 s 启动信号 低电平启动 转换期间启动信号应保持到转换结束 内部带三态门 但不可控 与总线连接还需外接三态缓冲器 52 9 4查询方式的A D转换器接口设计 53 9 4查询方式的A D转换器接口设计 硬件连接采用8255A并行接口芯片作为AD570与CPU的接口电路的外接三态缓冲器 8255A的A口读数据 PC0提供转换启动信号 PC7接收转换结束信号 54 9 4查询方式的A D转换器接口设计 软件编程MOVDX 303H 8255A命令口MOVAL 98H A组0方式 PA输入 PB输出OUTDX ALMOVAL 01H 置PC0 B C 1准备发启动信号OUTDX ALMOVAX 0040H 内存数据区段址MOVES AXMOVBX 00H 偏移地址MOVCX 0FFH 采样次数AGAIN MOVAL 00H 置PC0 0 即置B C 0OUTDX AL 启动转换并维持低电子 55 9 4查询方式的A D转换器接口设计 WAITl MOVDX 302H 查PC7 0 即查转换结束DR 0 INAL DXSHLAL 1JCWALTl 未结束 等待 否则 读数MOVDX 300H 从AH读数INAL DXMOVES BX AL 存数于内存MOVDX 303H 置PC0 1 使B C变高电平MOVAL 01H 撤销启动信号OUTDX ALINCBX 内存地址加1LOOPAGAIN 次数减1 未完 继续MOVAX 4C00HINT21H 56 9 5中断方式的A D转换器接口设计 中断技术应用的两种情况用户自行设计和配置的中断系统 从硬件到软件 从初始化到具体的中断操作 都需要由用户自己来设计 利用微机系统的中断资源 用户不作硬件设计 不作8259A的初始化 只作软件编程 57 9 5中断方式的A D转换器接口设计 一 单板机系统的中断方式数据采集系统设计 58 9 5中断方式的A D转换器接口设计 59 9 5中断方式的A D转换器接口设计 程序设计 60 9 5中断方式的A D转换器接口设计 堆栈段STACKSEGMENTPARASTACK STACK DB200DUP 0 STACKENDS 数据段DATASEGMENTBUFRDB512DUP 0 ADCEQU0FFD4H ADC端口PIC0EQU0FFDCH 8259A的偶地址端口 A0 0PIClEQU0FFDEH 8259A的奇地址端口 A0 1DACEQU0FFD6H DAC端口DATAENDS 61 9 5中断方式的A D转换器接口设计 代码段CODESEGMENTASSUMECS CODE DS DATA SS STACK 中断向量装入START MOVAX DATAMOVDS AXMOVAX STACKMOVSS AXMOVAX 00HMOVES AX 段基址指向中断向量表的存储区MOVBX 200H 中断号 80H 4 200H BXMOVES BX OFFSETREAD INT 向量偏移值 62 9 5中断方式的A D转换器接口设计 PUSHCSPOPAX 取主程序的段址作为服务程序的段址MOVES BX 2 AX 装入中断向量的段值MOVDI OFFSETBUFR 设置数据区首址MOVCX 512 设采样次数 8259A初始化CLI 关中断MOVAL 13H 写ICW1 边沿触发 单片 需要ICW4 MOVDX PICO 8259A端口 A0 0 OUTDX AL 63 9 5中断方式的A D转换器接口设计 MOVAL 80H 写ICW2 中断号高5位 MOVDX PICl 8259A端口 A0 1 OUTDX ALMOVAL 01H 写ICW4 非缓冲 正常结束 16位机 OUTDX AL 8259A端口 A0 1 开放IR0中断请求MOVDX PICl 8259A端口 A0 1 INAL DX 写OCW1 允许IR0请求中断 ANDAL 0FEHOUTDX AL 64 9 5中断方式的A D转换器接口设计 启动转换AGAIN MOVAX 00H 写入的数据可以取任意值MOVDX ADC 启动转换 CS WR同时有效 OUTDX ALSTI 开中断HLT 等待中断请求CLI 关中断INCDIDECCX 次数减1JNZAGAIN 次数未到 继续启动转换 65 9 5中断方式的A D转换器接口设计 屏蔽IR0中断请求MOVDX PICl 8259A端口 A0 1 INAL DX 次数已到 屏蔽IR0ORAL 01HOUTDX ALMOVAXOFFBOH 返回监控PUSHAXMOVAX 0000HPUSHAXRET 66 9 5中断方式的A D转换器接口设计 中断服务程序READ INTPROCFARPUSHAX 寄存器进栈PUSHDXMOVDX ADCINAL DX 从ADC0804读入数据NOPNOPMOV D1 AL 读入的数据存人内存MOVDX DAC 向DAC0832输出数据OUTDX AL 67 9 5中断方式的A D转换器接口设计 MOVAL 60H 写OCW2 指定IR0中断结束 MOVDX PIC0 8259A端口 A0 0 OUTDX ALPOPDXPOPAXIRET 中断返回READ INTENDPCODEENDSENDSTART 68 9 5中断方式的A D转换器接口设计 二 PC机系统的中断方式数据采集系统设计要求 PC机为控制器 采用中断方式 8通道数据采集 采集1K字节 采集的数据在屏幕上显示 采用ADC0809作A D转换器 并利用系统的IRQ2引入ADC外部中断 接口的端口地址分配 30CH写 转换启动的控制口 读 转换结束的状态口 30DH 作中断申请允许端口 30EH 作通道选择和读数据端口 69 9 5中断方式的A D转换器接口设计 ADC0809引脚图 70 9 5中断方式的A D转换器接口设计 ADC0809内部逻辑图 71 9 5中断方式的A D转换器接口设计 ADC0809时序图 72 9 5中断方式的A D转换器接口设计 例 在8088系统中采用ADC0809设计一个数据采集系统 将1路模拟量转换为数字量 采用中断方式读取100个转换后的数据存储在BUFFER数据区 采用中断法时 将ADC0809的EOC作为中断请求信号 连接到中断控制器的中断请求输入端 当A D转换器转换结束时 EOC变为高电平 向CPU提出中断请求 在中断服务程序中 CPU读取转换结果 并将转换结果送BUFFER数据区保存 硬件连接设计如图所示 73 9 5中断方式的A D转换器接口设计 74 9 5中断方式的A D转换器接口设计 设端口地址为80 87H 端口地址为88 8FH IR0中断类型号为80H 8259A中断请求为边沿触发 A D转换结束EOC信号由低电平变为高电平 非自动中断结束方式 普通全嵌套方式 主程序完成825A9初始化 中断向量表设置 开中断 启动A D转换功能 子程序完成读取A D转换数据 结束中断 屏蔽中断功能 75 9 5中断方式的A D转换器接口设计 程序如下 DATASEGMENTBUFFERDB100DUP DATAENDSCODESEGMENTASSUMECS CODE DS DATA 中断向量装入START MOVAX DATAMOVDS AXMOVAX 00HMOVES AX 段基址指向中断向量表的存储区MOVBX 200H 中断号 80H 4 200H BXMOVES BX OFFSETREAD INT 向量偏移值MOVAX SEGREAD INTMOVES BX 2 AX 装入中断向量的段值 76 9 5中断方式的A D转换器接口设计 CLI 关中断 初始化8259MOVAL 13H 写ICW1 边沿触发 单片 需要ICW4 MOVDX 88H 8259A端口 A0 0 OUTDX ALMOVAL 80H 写ICW2 中断号高5位 MOVDX 89H 8259A端口 A0 1 OUTDX ALMOVAL 01H 写ICW4 非缓冲 非自动结束 16位机 OUTDX AL 8259A端口 A0 1 MOVDX 89H 8259A端口 A0 1 INAL DX 原屏蔽字ANDAL 0FEHOUTDX AL 开放IR0中断请求 77 9 5中断方式的A D转换器接口设计 MOVDI OFFSETBUFFER 设置数据区首址MOVCX 100 采样次数AGAIN MOVAX 00H 写入的数据可以取任意值MOVDX 81H 启动转换通道1 CS WR同时有效 OUTDX ALSTI 开中断HLT 等待中断请求CLI 关中断INCDIDECCX 次数减1JNZAGAIN 次数未到 继续启动转换MOVDX 89H 8259A端口 A0 1 INAL DX 次数已到 屏蔽IR0ORAL 01HOUTDX ALMOVAH 4CH 程序结束 返回INT21H 78 9 5中断方式的A D转换器接口设计 中断服务程序READ INTPROCPUSHAX 寄存器进栈PUSHDXMOVDX 81HINAL DX 从ADC0809通道1读入数据NOPNOPMOV DI AL 读入的数据存人内存MOVAL 20H 写中断结束命令字MOVDX 88H 8259A端口 A0 0 OUTDX ALPOPDXPOPAXIRET 中断返回READ INTENDPCODEENDSENDSTART 79 9 6DMA方式的A D转换器接口设计 一 采用DMA方式的A D转换器接口设计要求 8位A D转换器 采集4K字节数据 结果存储在30400H开始的内存里 采用DMA方式的A D转换 使用DMAC8237A 5的通道1 单字节传送方式 80 9 6DMA方式的A D转换器接口设计 DMA方式的A D接口原理图 81 9 6DMA方式的A D转换器接口设计 工作方式寄存器 写0BH 82 9 6DMA方式的A D转换器接口设计 程序设计 8237A 5参数设定子程序ADC SETUPPROCNEARCLI CPU关中断MOVAL 045H 工作方式字 单传方式 地址加1 非自动预置 DMA写 通道1OUT0BH AL 送入工作方式寄存器OUT0CH AL 清先 后触发器 软命令 MOVAL 03H 页面地址 最高4位地址 OUT83H AL 写入DMA页面地址寄存器MOVAL 00H 基地址低8位写入通道1的基值OUT2H AL 与当前地址寄存器 83 9 6DMA方式的A D转换器接口设计 MOVAL 04H 基地址高8位写入通道1的基值OUT02H AL 与当前地址寄存器MOVAL OFFH 字节数低8位写入通道1的基值OUT03H AL 与当前字节计数器MOVAL 0FH 字节数高8位写入通道1的基值OUT03H AL 与当前字节计数器STI CPU开中断MOVAL 01H 清通道1的屏蔽位 允许DREQ1请求OUT0AH AL 开通通道1 准备接受DREQ1的到来RETADC SETUPENDP 84 9 7在板存储器方式的数据采集系统 一 超高速视频闪烁A D转换器近年来 采用全并行直接转换方式的闪烁型ADC 采样速率高达1 800MSA s 单位时间内 对模拟输入信号的采样次数 例如AD9048 采样速率可达35MSA s 分辨率为8位 适合对高速信号进行转换 并且通常应用中不需要采样保持器 闪烁ADC广泛应用于通信雷达 数字存储示波器 高清晰度电视和多媒体视频等领域 85 9 7在板存储器方式的数据采集系统 AD9048闪烁A D转换器原理 相邻比较器的参考电压相差 V V REF V REF 2NN为分辨率的位数 86 9 7在板存储器方式的数据采集系统 AD9048外部引脚和内部逻辑结构 87 9 7在板存储器方式的数据采集系统 二 一个30MHz采样频率的数据采集系统在板存储器方式 88 9 7在板存储器方式的数据采集系统 采集系统 89 9 7在板存储器方式的数据采集系统 软件编程设在板RAM的容量为8KB 要求将采集的数据存入内存从32000H开始的连续空间内 其程序段如下 写端口定义RESET ADDRESSEQU 地址计数器清零端口STARTEQU 启动转换端口 读端口定义STATEEQU 状态端口RD DATAEQU 读数据端口SAMPLE SIZEEQUlFFFH 采样次数为8KDATACONVERSIONPROCMOVDX RESET ADDRESS 对RESET ADDRESS端口写OUTDX AL 操作 使地址计数器清零MOVDX START 对START端口写操作 OUTDX AL 启动AD转换 90 9 7在板存储器方式的数据采集系统 MOVDX STATE 读状态口检测转换是否完毕RE TEST INAL DXANDAL 01 查D0 1 JZRE TEST 未转换完毕 继续转换MOVES 3000H 内存区首址的段地址MOVDI 2000H 偏移地址CLD 清DF 0 DI和SI自动增量MOVCX SAMPLE SIZE 采样次数MOVDX RD DATA 读数据端口READING INAL DX 读数据LOOPREADING 未读完 继续 RET 已读完 返回D

温馨提示

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

评论

0/150

提交评论