第10章 数模和模数转换.ppt_第1页
第10章 数模和模数转换.ppt_第2页
第10章 数模和模数转换.ppt_第3页
第10章 数模和模数转换.ppt_第4页
第10章 数模和模数转换.ppt_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

第10章数 模和模 数转换 10 1概述 随着计算机的应用范围越来越广泛 已由过去的单纯的计算工具发展成为现在复杂控制系统的核心部分 人们通过计算机能对生产过程 科学实验以及军事控制系统等实现更加有效的自动控制 这也是微型计算机应用的一个非常重要的领域 在测控系统中 参与测量和控制的物理量 往往是连续变化的模拟量 例如温度 压力 流量 速度 电压 电流等 而计算机只能处理数字量的信息 外界的模拟量要输入计算机 首先要经过模 数转换器ADC Analog DigitalConverter 将其转换成计算机所能接受的数字量 才能进行运算 加工处理 若计算机的控制对象是模拟量 也必须先把计算机输出的数字量经过数 模转换器DAC Digital AnalogConverter 将其转换成模拟量形式的控制信号 才能去驱动有关的控制对象 10 2数 模 D A 转换器 D A转换器是计算机或其它数字系统与模拟量控制对象之间联系的桥梁 它的任务是将离散的数字信号转换为连续变化的模拟信号 10 2 1D A转换原理 电路由若干个相同的电路环节组成 每个环节有两个电阻和一个开关 开关S是按二进制位进行控制的 该位为1时 开关将加权电阻与IOUT1输出端接通产生电流 该位为0时 开关与IOUT2端接通 n位转换器 其中 Dn 1 D0表示相应二进制位 D则表示二进制数对应的十进制数 图10 1 图10 1T形电阻网络型D A转换器原理图 10 2 2D A转换主要技术参数 1 分辨率 Resolution 是指D A转换器所能产生的最小模拟量增量 通常用输入数字量的最低有效位 LSB 对应的输出模拟电压值来表示 D A转换器位数越多 输出模拟电压的阶跃变化越小 分辨率越高 通常用二进制数的位数表示 如分辨率为8位的DAC能给出满量程电压的1 28的分辨能力 2 精度 Accuracy 用于衡量D A转换器在将数字量转换成模拟量时 所得模拟量的精确程度 表明模拟输出实际值与理想值之间的偏差 可分为 1 绝对精度 AbsoluteAccuracy 指在数字输入端加有给定的代码时 在输出端实际测出的模拟输出值 电压或电流 与应有的理想输出值之差 它是由D A的增益误差 零点误差 线性误差和噪声等综合引起的 2 相对精度 RelativeAccuracy 指在满量程值校准以后 任一数字输入的模拟输出值与它的理论值之差 实际上就是D A转换的线性度 在D A数据图表中 精度特性一般是以满量程电压 满度值 VFS的百分数或以最低有效位 LSB 的分数形式给出 10 2 3DAC0832及接口电路 1 DAC0832的逻辑结构和引脚 图10 2DAC0832的内部结构框图 逻辑结构 DAC0832内部有两个数据缓冲寄存器 8位输入寄存器和8位DAC寄存器 其转换结果以一组差动电流IOUT1和IOUT2输出 8位输入寄存器的输入端可直接与CPU的数据线相连接 两个数据缓冲寄存器的工作状态分别受LE1和LE2控制 当LE1 1时 8位输入寄存器的输出随输入而变化 当LE1 0时 输入数据被锁存 同理 8位DAC寄存器的工作状态受LE2的控制 图10 2 图10 3DAC0832的引脚图 引脚 DI7 DI0 8位数字量输入信号 其中DI0为最低位 DI7为最高位 CS 片选输入信号 低电平有效 WR1 数据写入信号1 低电平有效 图10 2 图10 3 引脚 续 ILE 输入寄存器的允许信号 高电平有效 ILE信号和CS WR1共同控制选通输入寄存器 当ILE为高电平 CS和为WR1低电平时 LE1为高电平 输入寄存器处于直通状态 数字输出随数字输入变化 否则 LE1为低电平 输入数据被锁存在输入寄存器中 输出端呈保持状态 图10 2 引脚 续 XFER 传送控制信号 低电平有效 WR2 数据写入信号2 低电平有效 当XFER和WR2为低电平时 使LE2为高电平 DAC寄存器处于直通状态 输出随输入变化 否则 将输入数据锁存在DAC寄存器中 图10 2 引脚 续 IOUT1 模拟电流输出1 它是逻辑电平为1的各位输出电流之和 当输入数字为全 1 时 其值最大 为 255 256 VREF Rfb 当输入数字为全 0 时 其值最小 为0 IOUT2 模拟电流输出2 IOUT1 IOUT2 常量 Rfb 反馈电阻引出端 反馈电阻被制作在芯片内 可以直接接到外部运算放大器的输出端 用作外部运算放大器的反馈电阻 图10 2 引脚 续 VREF 参考电压输入端 可接正电压 也可接负电压 范围为 10V 10V VCC 芯片电源电压 为 5V 15V AGND 模拟地 DGND 数字地 图10 2 2 DAC0832的工作方式 改变DAC0832的有关控制信号的电平 可使DAC0832处于三种不同的工作方式 1 直通方式 当CS WR1 WR2和XFER都接数字地 ILE接高电平时 芯片即处于直通状态 8位数字量一旦到达DI7 DI0输入端 就立即进行D A转换而输出 在此种方式下 DAC0809不能直接和数据总线相连接 图10 2 2 单缓冲方式 使两个寄存器中任一个处于直通状态 另一个工作于受控锁存器状态或两个寄存器同步受控 一般的做法是将WR2和XFER接数字地 使DAC寄存器处于直通状态 另外把ILE接高电平 CS接端口地址译码信号 WR1接CPU系统总线的IOW信号 这样便可通过执行一条输出指令 选中该端口 使CS和WR1有效 启动D A转换 图10 2 3 双缓冲方式 双缓冲方式的用途是数据接收和启动转换可以异步进行 即在对某数据转换的同时 能进行下一数据的接收 以提高转换速率 可将ILE接高电平 WR1和WR2接CPU的IOW CS和XFER分别接两个不同的I O地址译码信号 执行输出指令时 WR1和WR2均为低电平 这样 第一条输出指令 选中CS端口 把数据写入输入寄存器 再执行第二条输出指令 选中XFER端口 把输入寄存器的内容写入DAC寄存器 实现D A转换 双缓冲方式的另一用途是可实现多个模拟输出通道同时进行D A转换 即在不同的时刻把要转换的数据分别打入各D A芯片的输入寄存器 然后由一个转换命令同时启动多个D A的转换 图10 2 3 DAC0832的输出方式 1 单极性电压输出 所谓单极性电压输出 是指CPU输出到8位DAC的代码为00H FFH 经D A转换后输出的模拟电压全为负值 或者全为正值 因为内部反馈电阻等于梯形电阻网络的R值 则电压输出为 2 双极性电压输出 双极性电压输出是在单极性电压输出的基础上再加一级运放 由VREF为第二级运放提供一个偏移电压 选择R2 R3 2R1 可以得到 4 DAC0832与CPU的接口 D A转换器与CPU间的信号连接包括三部分 即数据线 地址线和控制线 CPU的输出数据要传送给D A转换器 首先要把数据总线上的输出信号连接到D A转换芯片的数据输入端 若D A芯片内带有锁存器 CPU就把D A芯片当作一个并行输出端口 若D A芯片内无锁存器 CPU就把D A芯片当作一个并行输出的外设 二者之间还需增加并行输出的接口 1 单缓冲方式 WR2和XFER直接接地 所以DAC寄存器不受控制 只要CPU执行一条输出指令 使得WR1有效 有效地址译码使得CS有效 输入寄存器和DAC寄存器均处于直通状态 立即开始D A转换 程序段 程序段 下面的程序段在执行时 可以实现一次D A转换 程序中假设要转换的数据存于BUF单元 MOVAL BUF 取数字量MOVDX PORTD PORTD为DAC端口地址OUTDX AL 输出 进行D A转换 2 双缓冲方式 设CS的端口地址为320H XFER的端口地址为321H CPU执行第一条输出指令 将待转换的数据写入输入寄存器 再执行第二条输出指令 把输入寄存器的内容写入DAC寄存器 并启动D A转换 执行第二条输出指令时 AL中的数据为多少是无关紧要的 主要目的是使XFER有效 程序段 程序段 MOVDX 320HMOVAL DATA DATA为被转换的数据OUTDX AL 将数据写入输入寄存器INCDXOUTDX AL 选通DAC寄存器 启动D A转换 10 2 4DAC1210及接口电路 1 DAC1210的逻辑结构和引脚 逻辑结构 DACl210的逻辑结构与DAC0832类似 所不同的是DACl210具有12位的数据输入端 且其12位数据输入寄存器由一个8位的输入寄存器和一个4位的输入寄存器组成 两个输入寄存器的输入允许控制都要求CS和WR1为低电平 但8位输入寄存器的数据输入还要求B1 B2为高电平 图10 8 图10 8DAC1210的逻辑结构框图 图10 9DAC1210的引脚图 引脚 DI11 DI0 12位数字量输入信号 其中DI0为最低位 DI11为最高位 CS 片选输入信号 低电平有效 WR1 数据写入信号1 低电平有效 当此信号有效时 与B1 B2配合起控制作用 B1 B2 字节控制信号 此引脚为高电平时 12位数字量同时送入输入寄存器 为低电平时 只将12位数字量的低4位送到4位输入寄存器 XFER 传送控制信号 低电平有效 与WR2配合使用 WR2 数据写入信号2 低电平有效 此信号有效时 XFER信号才起作用 图10 8 图10 9 引脚 续 IOUT1 模拟电流输出1 IOUT2 模拟电流输出2 Rfb 内部反馈电阻引脚 VREF 参考电压 VCC 芯片电源 AGND 模拟地 DGND 数字地 图10 8 2 DAC1210与CPU的接口 图10 10 图10 10DAC1210与8位微处理器的连接 分析 由于DACl210中的4位输入寄存器的LE端只受CS和WR1的控制 而8位输入寄存器的LE端也受CS和WR1的控制 故两次写入操作均使4位输入寄存器的内容更新 操作步骤 先使B1 B2端为高电平 将高8位数据写入8位输入寄存器 再使端B1 B2为低电平 以保护8位输入寄存器中已写入的内容 同时进行第二次写入操作 虽然第一次写入操作时 4位输入寄存器中也写入了某个值 但第二次写入操作后 其中的内容便被更改为正确的数据了 图10 10 程序段 设BX寄存器中低12位为待转换的数字量 START MOVDX 220H DAC1210的基地址MOVCL 4SHLBX CL BX中的数左移4位MOVAL BH 高8位数 ALOUTDX AL 写入高8位 进入DAC1210的8位输入寄存器INCDX 修改DAC1210的端口地址MOVAL BL 低4位数 ALOUTDX AL 写入低4位 进入DAC1210的4位输入寄存器INCDX 修改DAC1210的端口地址OUTDX AL 12位数据同时进入12位DAC寄存器 启动D A 转换HLT 图10 10 10 3模 数 A D 转换器 A D转换器是模拟信号源与计算机或其它数字系统之间联系的桥梁 它的任务是将连续变化的模拟信号转换为数字信号 以便计算机或数字系统进行处理 存储 控制和显示 10 3 1A D转换原理 实现A D转换的方法比较多 常见的有计数器式 逐次逼近式 双积分式和并行式等 其中应用最为广泛的是逐次逼近式的A D转换器 逐次逼近式A D转换器原理框图如图10 11所示 主要由D A转换器 逐次逼近寄存器 比较器以及时序和控制逻辑电路等部分组成 初始化时 将逐次逼近寄存器各位清零 转换开始时 先将逐次逼近寄存器最高位置1 送入D A转换器 经D A转换后生成的模拟量 o送入比较器与送入比较器的待转换的模拟量 i进行比较 若 o i 该位1被保留 否则被清除 然后再置逐次逼近寄存器次高位为1 将寄存器中新的数字量送D A转换器 输出的 o再与 i比较 若 o i 该位1被保留 否则被清除 重复此过程 直至逼近寄存器最低位确定完毕 转换结束后 将逐次逼近寄存器中的数字量送入缓冲寄存器 得到数字量的输出 图10 11逐次逼近式A D转换器原理框图 10 3 2A D转换主要技术参数 1 分辨率 分辨率是指A D转换器响应输入电压微小变化的能力 通常用数字输出的最低位 LSB 所对应的模拟输入的电平值表示 若输入电压的满量程为VFS 转换器的位数为n 则分辨率为 由于分辨率与转换器的位数n直接有关 所以常用位数来表示分辨率 2 精度 1 绝对精度是指输出端产生给定的数字代码 实际需要的模拟输入值与理论上要求的模拟输入值之差的最大值 通常用数字量的最小有效值 LSB 的分数值来表示绝对精度 例如 1LSB LSB LSB等 2 相对精度是指在零点满量程校准后 任意数字输出所对应模拟输入量的实际值与理论值之差 用模拟电压满量程百分比表示 3 转换时间 是指A D转换器完成一次转换所需的时间 即从启动信号开始到转换结束并得到稳定的数字输出量所需的时间 它反映ADC的转换速度 不同的ADC转换时间差别很大 10 3 38位A D转换芯片ADC0809及接口电路 1 ADC0809的逻辑结构和引脚 逻辑结构 ADC0809有8路模拟开关 可选通8个模拟通道 允许8路模拟量分时输入 共用一个A D转换器进行转换 单极性 量程为0 5V 典型的转换时间为100 s 片内带有三态输出缓冲器 数据输出端可直接与CPU数据总线相连 图10 12 图10 12ADC0809的内部结构框图 图10 13ADC0809的引脚图 引脚 IN7 IN0 8路模拟量输入通道 ADDA ADDB和ADDC 3个地址输入端 用以选择8个模拟量之一 ALE 地址锁存允许信号 对应ALE上升沿 ADDA ADDB和ADDC地址状态送入地址锁存器中 然后由译码器选中一个模拟输入端进行A D转换 START 转换启动信号 START上升沿时 复位ADC0809 START下降沿时 启动芯片开始进行A D转换 在A D转换期间 START应保持低电平 CLK 时钟信号输入端 它的频率范围为10kHz 1280kHz 典型值为640kHz 图10 12 图10 13 引脚 续 EOC EndOfConversion 转换结束信号 EOC 0 表示正在进行转换 EOC 1 表示转换结束 使用中 该状态信号既可作为查询的状态标志 又可作为中断请求信号使用 D7 D0 8位数字量输出端 为三态缓冲输出形式 可以和CPU的数据线直接相连 D0为最低位 D7为最高位 OE OutputEnable 输出允许信号 用于控制三态输出锁存缓冲器向CPU输出转换得到的数据 OE 0 输出数据线呈高阻 OE 1 输出转换得到的数据 Vcc 电源电压 5V GND 数字地 VREF 和VREF VREF 接参考电压的正极 VREF 接负极 VREF 接地时作为ADC的模拟地 图10 12 2 ADC0809的转换时序 3 ADC0809的数据输出 ADC0809内部对转换后的数字量具有锁存能力 数字量输出端D7 D0具有三态功能 只有当输出允许信号OE为高电平有效时 才将三态锁存缓冲器的数字量从D7 D0输出 对于8位A D转换器 从输入模拟量Vin转换为数字输出量N的公式为 4 ADC0809与CPU的接口 1 编程启动 转换结束中断处理 只要执行输入指令 控制OE端为高电平即可读入转换后的数字量 A D转换的启动只要执行输出指令 控制START为正脉冲 并可与读取数字量占用同一个I O地址 设为220H ADC0809有8个输入信号端 但此例中仅使用IN0信号 所以ADDA ADDB ADDC均接低电平就可以只选用IN0模拟通道 图10 15 程序段 图10 15ADC0809工作于中断方式 程序段 数据段设置缓冲区ADTEMPDB0 本例中仅设定一个临时变量 代码段 设置中断向量等工作STI 开中断MOVDX 220HOUTDX AL 启动A D转换 图10 15 程序段 续 转换结束时 ADC0809输出EOC信号 产生中断请求IRQ2 CPU响应中断后 便转去执行中断服务程序 中断服务程序的主要任务就是读取转换结果 送入缓冲区 ADINTPROCSTI 开中断 保护现场等MOVDX 220HINAL DX 读取A D转换后的数字量MOVADTEMP AL 将转换结果送到缓冲区 关中断 恢复现场等IRET 中断返回ADINTENDP 图10 15 2 编程启动 转换结束查询处理 将转换结束信号EOC作为状态信号 经三态门接入数据总线最高位D7 状态端口的地址设为238H 8个模拟通道的I O地址分别为220H 227H 图10 16 程序段 图10 16ADC0809工作于查询方式 程序段 下面的程序段实现将8个模拟通道依次转换并读取转换结果的功能 数据段COUNTEREQU8BUFDBCOUNTERDUP 0 设立数据缓冲区 程序段 续 代码段LEABX BUF 建立数据缓冲区指针MOVCX COUNTERMOVDX 220H 从IN0开始转换START1 OUTDX AL 启动A D转换PUSHDXMOVDX 238HSTART2 INAL DX 读入状态信息TESTAL 80H 判断D7位 即EOC状态 JZSTART2 D7 0 转换未结束 继续查询POPDXINAL DX 读取转换后的数据MOV BX AL 将数据存入缓冲区INCBXINCDXLOOPSTART1 转向下一个模拟通道 数据处理 图10 16 10 3 412位A D转换芯片AD574A及接口电路 1 AD574A的逻辑结构和引脚 逻辑结构 转换时间为25 35 s 片内有数据输出寄存器 并有三态输出的控制逻辑 可进行12位转换 也可作8位转换 转换结果可直接12位输出 也可先输出高8位 后输出低4位 可直接与8位或16位的CPU接口 输入可设置为单极性 也可设成双极性 片内有时钟电路 无需外部时钟 图10 17 图10 17AD574A的内部结构框图 图10 18AD574A的引脚图 引脚 DB11 DB0 输出数据线 DB11为最高位 DB0为最低位 CS 片选信号 低电平有效 CE 芯片使能信号 高电平有效 R C 读数据 启

温馨提示

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

评论

0/150

提交评论