欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    模数和数模相互转换说明.docx

    • 资源ID:9646028       资源大小:371.14KB        全文页数:27页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    模数和数模相互转换说明.docx

    1、模数和数模相互转换说明模数和数模相互转换说明当计算机用于数据采集和过程控制的时候,采集对象往往是连续变化的物理量(如温度、压力、声波等),但计算机处理的是离散的数字量,因此需要对连续变化的物理量(模拟量)进行采样、保持,再把模拟量转换为数字量交给计算机处理、保存等。计算机的数字量有时需要转换为模拟量输出去控制某些执行元件,模/数转换器(ADC)与数/模转换器(DAC)用于连接计算机与模拟电路。为了将计算机与模拟电路连接起来,我们必须了解ADC和DAC的接口与控制。本章首先介绍了模数转换和数模转换一些基本概念和模/数转换器(ADC)及数/模转换器(DAC)的主要性能参数,然后重点介绍了A/D转换

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

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

    4、,转换成模拟量以驱动执行机构动作,完成控制过程。11.1.2 模/数转换器(ADC)的主要性能参数1. 分辨率 它表明A/D对模拟信号的分辨能力,由它确定能被A/D辨别的最小模拟量变化。一般来说,A/D转换器的位数越多,其分辨率则越高。实际的A/D转换器,通常为8,10,12,16位等。2. 量化误差 在A/D转换中由于整量化产生的固有误差。量化误差在1/2LSB(最低有效位)之间。例如:一个8位的A/D转换器,它把输入电压信号分成28=256层,若它的量程为05V,那么,量化单位q为:q = = 0.0195V=19.5mVq正好是A/D输出的数字量中最低位LSB=1时所对应的电压值。因而,

    5、这个量化误差的绝对值是转换器的分辨率和满量程范围的函数。3. 转换时间 转换时间是A/D完成一次转换所需要的时间。一般转换速度越快越好,常见有高速(转换时间1us)、中速(转换时间1ms)和低速(转换时间1s)等。4. 绝对精度对于A/D,指的是对应于一个给定量,A/D转换器的误差,其误差大小由实际模拟量输入值与理论值之差来度量。5. 相对精度对于A/D,指的是满度值校准以后,任一数字输出所对应的实际模拟输入值(中间值)与理论值(中间值)之差。例如,对于一个8位0+5V的A/D转换器,如果其相对误差为1LSB,则其绝对误差为19.5mV,相对误差为0.39%。11.1.3 数/模转换器(DAC

    6、)的主要性能参数1. 分辨率 分辨率表明DAC对模拟量的分辨能力,它是最低有效位(LSB)所对应的模拟量,它确定了能由D/A产生的最小模拟量的变化。通常用二进制数的位数表示DAC的分辨率,如分辨率为8位的D/A能给出满量程电压的1/28的分辨能力,显然DAC的位数越多,则分辨率越高。2. 线性误差 D/A的实际转换值偏离理想转换特性的最大偏差与满量程之间的百分比称为线性误差。3. 建立时间 这是D/A的一个重要性能参数,定义为:在数字输入端发生满量程码的变化以后,D/A的模拟输出稳定到最终值1/2LSB时所需要的时间。4. 温度灵敏度它是指数字输入不变的情况下,模拟输出信号随温度的变化。一般D

    7、/A转换器的温度灵敏度为50PPM/。PPM为百万分之一。5. 输出电平不同型号的D/A转换器的输出电平相差较大,一般为5V10V,有的高压输出型的输出电平高达24V30V。11.2 ADC0809模/数转换器A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。A/D转换后,输出的数字信号可以有8位、10位、12位和16位等。11.2.1 模/数转换器原理A/D转换器的工作原理实现A/D转换的方法很多,常用的有逐次逼近法、双

    8、积分法及电压频率转换法等。逐次逼近法:速度快、分辨率高、成本低,在计算机系统得到广泛应用。逐次逼近法原理电路类同天平称重。在节拍时钟控制下,逐次比较,最后留下的数字砝码,即转换结果。图11.2 逐次逼近法A/D转换器采用逐次逼近法的A/D转换器是由一个比较器、D/A转换器、缓冲寄存器及控制逻辑电路组成,如图10.14所示。它的基本原理是从高位到低位逐位试探比较,好像用天平称物体,从重到轻逐级增减砝码进行试探。逐次逼近法转换过程是:初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为o,与送入比较器的待转换的模拟

    9、量i进行比较,若oi,该位1被保留,否则被清除。然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的o再与i比较,若o100ns。OE: 输出使能端,高电平有效。ADDA、ADDB、ADDC:地址输入线,用于选通8路模拟输入中的一路进入A/D转换。其中ADDA是LSB位,这三个引脚上所加电平的编码为000111,分别对应IN0IN7,例如,当ADDC=0,ADDB=1,ADDA=1时,选中IN3通道。ALE: 地址锁存允许信号。用于将ADDAADDC三条地址线送入地址锁存器中。EOC: 转换结束信号输出。转换完成时,EOC的正跳变可用于向CPU申请中断,其高电平也可供C

    10、PU查询。CLK: 时钟脉冲输入端,要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压,一般与微机接口时,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端,通过数据线输出一个控制字作为模拟通道选择的

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

    12、传送方式,编写一段轮流从IN0IN7采集8路模拟信号,并把采集到的数字量存入0100开始的8个单元内的程序。MOV 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 AH ;换下一个模拟通道INC

    13、DI ;修改数据区指针DEC BLJNZ AA1图11.5 ADC0809和PC机系统总线的连接图例11.2设某系统对8路模拟量分时进行数据采集,选用ADC0809芯片进行A/D转换,转换结果采用查询方式传送,所以除了一个传送转换结果的输入端口外,还需要传送8个模拟量的选择信号和A/D转换的状态信息。因此,可以采用8255A作为ADC0809和CPU的连接接口,如图11.6 ADC0809与总线的连接图。将A口设为方式0的输入方式,用于传送转换结果,B口不用,用C口的PC2PC0输出8路模拟量的选择信号,PC3输出ADC0809的控制信号,而ADC0809的状态可由PC7输入,所以,将C口也设

    14、为方式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位输出 MOV SI, 400H ;存放数据首地址 MOV CX,08H MOV BH,00HLOPl: OR BH,08H MOV AL,BH MOV DX,2F2H ;8255C口地址 OUT DX,AL ;启动A

    15、/D转换 AND BH,0F7HH ;PC3置0 MOV AL,BH OUT 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 BHLOOP LOPl ;8路没完,继续图11.6 ADC0809与总线的连接图例11.3 中断方式应用(如图11.7所示)微处理器按A/D所占用的口地址执行一条输出指令。启动A/D转换以后,在等待转换完成期间,微处理器可以继续执行其它任

    16、务。当转换完成时,A/D产生的状态信号EOC向微处理器申请中断。微处理器响应中断,在中断服务程序中对A/D占用的口地址执行一条输入指令以获得转换的结果数据。图11.7 中断响应法A/D与CPU接口中断响应法的特点是A/D转换完成后微处理器能立即得到通知,且不须花费等待时间,接口硬件简单,一般来讲程序会稍复杂些。程序流程如图11.8所示。使用中断方法,可提高CPU的利用率。每当ADC转换结束时,由EOC信号向CPU发出中断请求,CPU响应中断在中断服务子程序中读取转换结果。图11.9为中断法ADC的接口电路。下面是基于图11.9硬件的ADC转换程序。 8259-POR0 EQU 310H ;82

    17、59中A0=0地址 8259-POR1 EQU 312H ;8259中A1=1地址 ADC-PORT EQU 300H DATA SEGMENT BUFF DB 1024 DUP(?) ;数据存放区 DATA ENDS 图11.8 中断响应法的程序流程 图11.9 中断法ADC接口 CODE SEGMENT ASSUME CS:CODE,DS:DATAMAIN: MOV AX,0 ;中断矢量表段地址 MOV ES,AX MOV DI,0F8H*4 ;中断矢量表偏移地址 MOV AX,OFFSET ADCINT CLD STOSW ;存放服务程序偏移地址 MOV AX,CS ;存放服务程序段地址

    18、 STOSW MOV DX,8259-POR0 ;8259初始化 MOV AX,13H ;ICW1 OUT DX,AX MOV DX,8259-POR1 MOV AX,0F8H ;ICW2,中断类型号 OUT DX,AX MOV AX,01 ;ICW4 OUT DX,AX MOV CX,1024 ;采集数据点循环控制 MOV BX,OFFSET BUFF ;数据指针 STI ;开中断 NEXT: MOV DX,ADCPORT ;ADC口地址 IN AL,DX ;启动ADC转换 HLT ;等待中断,转服务 INC BX LOOP NEXT MOV AX,4C00H ;返回操作系统 INT 21H

    19、11.3 DAC0832数/模转换器D/A转换器是指将数字量转换成模拟量的电路。数字量输入的位数有8位、12位和16位等,输出的模拟量有电流和电压两种。11.3.1 数/模转换器原理图11.10 简单的权电阻网络D/A转换器D/A转换器它的输入量是数字量D,输出量为模拟量0,要求输出量与输入量成正比,即0=DVR,其中VR为基准电压。数字量是由一位一位的数字构成,每个数位都代表一定的权。例如10000001,最高位的权是27,所以此位上的代码1表示数值1128。因此,数字量D可以用每位的权乘以其代码值,然后各位相加。例如,4个权电阻网络D/A转换器如图11.10所示。电阻阻值按2n分配,接入与

    20、否由数字量控制,运放输入电流: 运放输出电压:VO=-IORF。设RF=R/2,d1d2d3d4=1000,VR=5V,则 11.3.2 DAC0832的内部结构与引脚图DAC0832是一种相当普遍且成本较低的数/模转换器。该器件是一个8位转换器,它将一个8位的二进制数转换成模拟电压,可产生256种不同的电压值, DAC0832具有以下主要特性:满足TTL电平规范的逻辑输入分辨率为8位建立时间为1us功耗20mw电流输出型D/A转换器图11.11 给出了DAC0832的内部结构和引脚图。DAC0832具有双缓冲功能,输入数据可分别经过两个锁存器保存。第一个是保持寄存器,而第二个锁存器与D/A转

    21、换器相连。DAC0832中的锁存器的门控端G输入为逻辑1时,数据进入锁存器;而当G输入为逻辑0时,数据被锁存。DAC0832具有一组8位数据线D0D7,用于输入数字量。一对模拟输出端IOUT1和IOUT2用于输出与输入数字量成正比的电流信号,一般外部连接由运算放大器组成的电流/电压转图11.11 DAC0832的内部结构和引脚图换电路。转换器的基准电压输入端VREF一般在-10V+10V范围内。各引脚的功能如下:D0D7:8位数据输入端。:片选信号输入端。:两个写入命令输入端,低电平有效。 :传送控制信号,低电平有效。IOUT1和IOUT2:互补的电流输出端。RFB:反馈电阻,被制作在芯片内,

    22、与外接的运算放大器配合构成电流/电压转换电路。VREF:转换器的基准电压。VCC:工作电源输入端。AGND:模拟地,模拟电路接地点。DGND:数字地,数字电路接地点。11.3.3 DAC0832的工作模式DAC0832可工作在三种不同的工作模式。1. 直通方式当ILE接高电平,CS,WR1、WR2和XFER都接数字地时,DAC处于直通方式,8位数字量一旦到达D0D7输入端,就立即加到D/A转换器,被转换成模拟量。在D/A实际连接中,要注意区分“模拟地”和“数字地”的连接,为了避免信号串扰,数字量部分只能连接到数字地,而模拟量部分只能连接到模拟地。这种方式可用于不采用微机的控制系统中。2. 单缓

    23、冲方式单缓冲方式是将一个锁存器处于缓冲方式,另一个锁存器处于直通方式,输入数据经过一级缓冲送入D/A转换器。如把和都接地,使寄存锁存器2处于直通状态,ILE接+5V,接CPU系统总线的信号,接端口地址译码信号,这样CPU可执行一条OUT指令,使和有效,写入数据并立即启动D/A转换。3. 双缓冲方式即数据通过两个寄存器锁存后再送入D/A转换电路,执行两次写操作才能完成一次D/A转换。这种方式可在D/A转换的同时,进行下一个数据的输入,以提高转换速度。更为重要的是,这种方式特别适用于系统中含有2片及以上的DAC0832,且要求同时输出多个模拟量的场合。11.3.4 DAC0832与CPU的连接及其

    24、应用由于DAC0832内部含有数据锁存器,在与CPU相连时,使其可直接挂在数据总线上。DAC0832采用单缓冲方式与CPU的连接如图11.12所示。下面举例说明如何编写D/A转换程序。例11.4 采用单缓冲方式,通过DAC0832输出产生三角波,三角波最高电压5,最低电压0。(1) 电路设计所要考虑的问题 从CPU送来的数据能否被保存DAC0832内部有二级锁存寄存器,从CPU送来的数据能被保存,不用外加锁存器,可直接与CPU数据总线相连。图11.12 DAC0832与CPU的单缓冲方式连接电路 二级输入寄存器如何工作按题意采用单缓冲方式,即经一级输入寄存器锁存。假设我们采用第一级锁存,第二级

    25、直通,那么第二级的控制端WR2和XFER应处于有效电平状态,使第二级锁存寄存器一直处于打开状态。第一级寄存器具有锁存功能的条件是ILE、CS、WR1都要满足有效电平。为减少控制线条数,可使ILE一直处于高电平状态,控制WR1和CS端。电路连接如图11.12所示。 输出电压极性按题意输出波形变化范围为0V5,需单极性电压输出。(2) 软件设计所要考虑的问题 单缓冲方式下输出数据的指令仅需一条输出指令即可。图11.13 三角波电压输出流程图图11.12所示CS端与译码电路的输出端相连,其地址数既是选中该DAC 0832芯片的片选信号,也是第一级寄存器打开的控制信号。另外由于CPU的控制信号WR与D

    26、AC0832的写信号WR1相连,当执行OUT指令时,CPU的WR1写信号有效,与CS信号一起,打开第一级寄存器,输入数据被锁存。假设DAC0832地址为04A0H,输出0电压程序如下:MOV AL,00H;设置输出电压值MOV DX,04A0H;DAC0832片选地址OUT DX,AL;输出数据,使DAC0832输出端得到0V模拟电压输出 按题意产生三角波电压范围为0V5,那么所对应输出数据00HFFH。所以三角波上升部分,从00H起加1,直到FFH。三角波下降部分从FFH起减1,直到00H,流程图如图11.13所示。DAC0832输出的三角波形图如图11.14所示。单缓冲方式下接口电路图和程

    27、序如下:MOV AL,00H;设置输出电压值MOV DX,04A0H;DAC0832芯片地址送DXAA1 OUT DX,ALINC AL;修改输出数据CMP AL,0FFHJNZ AA1AA2 OUT DX,AL图11.14 DAC0832输出的三角波形图DEC AL;修改输出数据CMP AL,00HJNZ AA2JMP AA1例11.5 产生两个不同极性的方波信号,相位关系如图11.15所示,试进行软硬件设计。分析:(1) 从图11.15可看出u1是单极性的方波,u2是双极性的方波,需二个DAC0832转换器,一个为单极性输出,另一个为双极性输出。图11.15 波形图(2) u1产生正跳变时

    28、,u2也产生正跳变,u1产生负跳变时,u2也产生负跳变,要求二个DAC0832的输出波形同步,因而DAC0832的工作方式需采用双缓冲方式。(3) 需要三个地址值,第一个地址作为第一片0832的片选信号,第二个地址作为第二片0832的片选信号,第三个地址作为同时打开两个DAC0832的8位DAC寄存器的控制信号,该信号连接到两片0832的XFER端。(4) 第二片0832输出电压范围为-2.52.5,可题目要求产生方波的电压范围为-2.01.2,模拟电压所对应的数字量计算方法如下:Dx=(Vx-V2)FFH/V1-V2其中1为上限范围电压,等于+2.5V;2为下限范围电压,等于-2.5V;x为待输出电压值。1.2V对应的数字量等于BCH,-2.0对应的数字量等于19H。(5) 在双缓冲方式时,需要执行两条输出指令。第一条输出指令打开DAC0832的输入寄存器,把来自CPU的8位数据送入8位输入寄存器锁存。第二条输出指令打开8位DAC寄存器,使输入的数据通过DAC寄存器送到D/A转换器中进行转换。但第二条输出指令中输出的数据无意义,此指令只为使XFER控


    注意事项

    本文(模数和数模相互转换说明.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开