380 likes | 447 Views
第 12 章 模数( A/D )和数模 (D/A) 转换. 12.1 概述 12.2 D/A 转换器 12.3 A/D 转换器 . 12.1 概 述. 控 制 对 象. 计 算 机. 多 路 开 关 MUX. 采 样 保 持 器 S/H. A/D 转 换 器. I/O 接 口. 传感器. 放大滤波. 传感器. 放大滤波. 执 行 部 件. 多 路 开 关 MUX. D/A 转 换 器. I/O 接 口. 包括 A/D 和 D/A 的实时控制系统.
E N D
第12章 模数(A/D)和数模(D/A)转换 12.1 概述 12.2 D/A转换器 12.3 A/D转换器
12.1 概 述 控 制 对 象 计 算 机 多 路 开 关 MUX 采 样 保 持 器 S/H A/D 转 换 器 I/O 接 口 传感器 放大滤波 传感器 放大滤波 执 行 部 件 多 路 开 关 MUX D/A 转 换 器 I/O 接 口 包括A/D和D/A的实时控制系统 一、实时过程控制控制系统的结构及组成
2. 放大器:把传感器输出的信号(一般为mV或 V)放大到 A/D转换所需的量程范围。 1. 传感器:把控制对象的各种参数的物理量用传感器测量 出来,并转换成电信号。 3. 低通滤波器:抑制干扰,提高信噪比。 4. 多路开关:对传感器输出的多路信号进行切换,用一路装置进行测量和控制。 例: 8选1双向多路开关CD4051,教材:P404 ADC0809芯片带有多路转换开关。 5. 采样保持电路:对模拟信号进行采样并保持以保证A/D转 换的正确性。 教材: P409,快变输入信号需要使用采样保持器。
二、采样、量化和编码 处理后得到的几伏量级的模拟信号必须经过采样、量化和编码的过程才能成为数字量。 1、采样和量化 采样:按相等的时间间隔t从电压信号上截取一个个离散的电压瞬时值,即时间上的离散化。 量化:将采样的实际值按幅度大小分层的过程。量化单位越小,一定范围内的电压值被分的层就越多,精度就越高。 例:8位A/D转换器,分层数=28=256,设:电压量程:0~5V 量化单位: q=电压量程范围/ 2n=5v/2560.019v=19mv LSB=1时对应的电压值 n可表示A/D转换分辨率
2、编码 编码就是考虑用一种代码将量化得到的数字量表示出来。 编码形式:二进制码、BCD码、ASCII码等。 例:自然二进制码 设满量程为1,输入模拟量与满量程相比总小于1,故用二进制小数形式表示数字量。 小数: N=d12-1+ d22-2 +…+dn2-n 教材: P407 表12-1 MSB,权最大 LSB,量化单位
d1 d2 。 d3 d4 VR =5V I2 I3 I4 I1 R 2R 4R 8R Rf = R/2 If S1 S2 S3 S4 - Vo Io Σ + 12.2 D/A转换器 一、数/模转换器的原理(组成) 权电阻网络DAC 虚地点 若d1d2d3d4=1000,Rf=R/2
数模转换器主要性能指标 1、输入数字量 大多为TTL电平,接受自然二进制编码。 2、输出模拟量 多数是电流输出型,例:DAC0832为差动电流输出(IOUT1+IOUT2=常数),输出要设计I/V转换电路。 3、分辨率 指输入数据发生1LSB变化时所对应的输出模拟量的变化。与数字量位数n的关系:分辨率=满度值/2n * 分辨率可用位数n表示。 4、转换时间 指从数字量输入到建立稳定的输出电流的时间。有ns和us级的转换器。
8 13 VREF DI7 8 位 输 入 寄 存 器 14 DI6 12 15 8位 DAC 寄存器 DI5 8位 D/A 转换器 IOUT2 16 DI4 4 11 DI3 IOUT1 5 DI2 R1b 6 DI1 R1b 7 9 DI0 19 ILE IE IE CS 3 AGND 1 2 20 Vcc WR1 18 10 17 DGND XFER WR2 DAC0832的内部结构图 二、八位D/A转换器DAC0832 1. 芯片介绍 主要技术指标: TTL电平输入 分辨率: 8位 转换时间: 1 S 满量程误差:±1LSB 参考电压: ±10V 单电源: +5V~+15V
V +5 V 数 字 量 输 入 R REF DAC R DB FB 0830 V I - O 0831 OUT2 I + 0832 OUT1 A GND 2. 芯片的输出电路 单极性输出方式
①直通方式:ILE接高电平;CS、WR1、WR2、XFER直接接地。D/A转换器的输出随着总线数据的变化而变化。 ①直通方式:ILE接高电平;CS、WR1、WR2、XFER直接接地。D/A转换器的输出随着总线数据的变化而变化。 ②单缓冲方式: ILE接高电平; CS、WR1、WR2、XFER接控制输出端(连接方式有多种形式); 当对DAC0832进行写操作时(执行OUT指令),数字量直接被转换成模拟量。 WR M/IO 3. DAC0832与CPU接口方式 D A C 0 8 3 2 Vcc +5V 地址 译码 WR2 WR1 CS XFER 地址 总线 IOUT1 - A IOUT2 + Vo AGND D7-D0 +5V ILE VREF DGND DAC0832与8位数据总线微机的连接图
例2 要求DAC输出一三角波,波形下限电压为0.5V,上限电压为2.5V。 单缓冲方式的应用 例1 设DAC的口地址为80H, 要求输出0~5V的锯齿波 下限电压对应的数字量为: 0.5*256/5=26=1AH 上限电压对应的数字量为: 2.5*256/5=128=80H BEGIN: MOV AL,1AH UP : OUT 80H,AL INC AL CMP AL,81H JNZ UP DEC AL DOWN: OUT 80H,AL DEC AL CMP AL,19H JNZ DOWN JMP BEGIN START: MOV AL,0FFH AGAIN: INC AL OUT 80H,AL CALL DELAY JMP AGAIN 阶梯的宽度由延时时间决定
+5V Vcc 地址 译码 320H 321H IOUT1 - A + IOUT2 AGND D7-D0 DAC0832 ILE DGND VREF +5V DAC0832与8位数据总线微机的连接图 WR1 WR2 CS XFER IOWR MOV DX,320H MOV AL,DATA OUT DX,AL INC DX OUT DX,AL 地址 总线 Vo ③双缓冲方式: 第一种应用情况:在前一个数据转换的同时,CPU将下一个数据先输入至输入寄存器,然后再在某个时刻启动D/A转换。
- DAC1 ILE WR1 VO1 + CS XFER WR2 CS1 译码器 CS2 AB CS3 - DAC2 XFER ILE WR1 + V cs O2 XFER WR2 - DAC3 ILE WR1 + V O3 CS XFER WR2 IO/M WR 第二种应用情况:在多路DAC系统中,需要同步D/A转换时,采用双缓冲方式。 在不同的时刻将要转换的数据分别打入各DAC的输入寄存器,然后由一个转换命令同时启动,各个DAC转换。
12.3 模拟/数字(A/D)转换 一、逐次逼近式模/数(A/D)转换器原理 实现A/D转换的方法有多种,而逐次逼近式A/D转换具有速度快,分辨率高等优点获得了广泛的应用。这种A/D转换器的比较过程与天平的称重的过程相似。若一台天平具有32克、16克、 8克、 4克、 2克和1克等6种砝码,需要称量的物体重量为27.4克。称量从最重的砝码试起,过程如下表所示。 M=D5*32+D4*16+D3*8+D2*4+D1*2+D0*1=27(克)
Vi CLK + - 控制逻辑 SAR 输 出 数 据 缓冲器 DAC VR 逐次逼近式A/D转换器原理框图 二、逐次逼近式A/D转换器基本组成 控制逻辑(SAR):移位寄存器、数据寄存器、时序电路及去留码逻辑电路; DAC:产生电子砝码; 比较器:对输入电压与电子砝码进行比较,并由控制逻辑决定该砝码的去留。 设转换器的位数n=4,相应的电子砝码分别为2.5V、1.25V、0.625V、0.3125V。Vi=3V,则转换过程及结果如表所示。
逐次逼近式A/D转换所需的时间: 一个8位转换器完成一次转换大致需要88=64个时钟周期 例:ADC0809是8位逐次逼近式A/D转换器,典型工作时钟频率为640kHz.完成一次转换的时间大约为: tc=64 (1/640 103秒)=100us 若为多通道采集,如8通道,转换时间则是单通道的8倍。
START CLK EOC 控制与时序 8路 模拟 开关 IN7 三态 输出 锁存 缓冲 器 D7 SAR IN0 树状开关 D0 ADDA ADDB ADDC ALE 地址 锁存 与 译码 电阻网络 Vcc GND VREF+ VREF- OE ADC0809功能方框图 三、典型模/数转换器ADC0809 1. 芯片简介 主要功能 分辨率:8位 转换误差: ±1/2LSB~±1LSB 转换时间:100 µS 时钟频率: 640KHZ 测量路数:8路 输出:三态缓冲 单一5V供电,对应输入模拟电压范围0~5V
START ALE 通道地址 64CLK EOC OE DATA 2. ADC0809工作时序 ①选择当前转换的通道,即将通道编码送地址锁存器; ②通过执行OUT指令在START,ALE上产生一个正脉冲,锁存通道编码并启动A/D; ③A/D转换开始后,EOC变低,经过64个时钟周期后,转换结束,EOC变高; ④转换结束后,通过执行IN指令设法在OE脚上产生一个正脉冲,打开输出缓冲器的三态门读入转换数据。
3. ADC0809与微处理器的连接 OE Vcc +5V ADC0809具有三态输出缓冲器,可以与CPU直接连接。 若地址译码器的输出Y1的地址为84H~87H,则采用无条件传送方式从输入通道IN7读入一个模拟量的程序为: VREF+ ALE START 译码 VREF- GND ADDC ADDB ADDA D7~D0 EOC CLOCK A7~A2 D7~D0 IN7 IN0 ADC 0809 Nc 8分频 CLK IOR ADC0809直接与微处理器的连接 Y1 IOW ⑴ 直接连接 MOV AL,07H OUT 84H,AL CALL DELAY120 IN AL,84H 若采用中断方式,可用ADC0809的EOC输出端作为CPU的中断申请信号,在中断服务程序中读入转换后的数据。
8分频 CLOCK +5V CLK D7~D0 Vcc VREF+ 8 2 5 5 A IOWR IORD D7 ~ D0 A0 A1 A7 ~ A2 ALE START WR RD DB A0 A1 PB4 PB2 PB1 PB0 PA PC7 VREF- GND ADDC ADDB ADDA EOC OE 8088 总线 IN7 IN0 Y0 Y1 ADC 0809 译码 CS Y0地址为80H~83H Y1 地址为84H~87H ⑵ 通过并行接口芯片同CPU连接 问题:用一片8255A并行接口芯片控制ADC0809的转换过程; 分析:8255A有三个8位的并行口,可用PB口输出0809的通道选择编码和控制ADC的启动,PC口输入ADC的状态。 PA口作为他用, 实现:首先完成CPU与8255的连接,然后根据分析完成ADC与8255的连接 ADC 0809通过8255A的接口原理图
MOV AL,98H ;8255方式0,PA口输入, OUT 83H,AL ;PB口输出,PC口高四位输入 MOV SI,OFFSET DATA ;置内存首址 MOV AX,0H ;开关初始编码 MOV CX,8 例:对ADC0809的IN0至IN7巡回进行采样一次,并将采样的数据存放在以DATA开始的内存单元中。 AGA:MOV AL,AH ;输出通道编码 OUT 81H,AL ADD AL,10H ;启动ADC OUT 81H,AL SUB AL,10H OUT 81H,AL CALL DELAY ; 延时 第一步:程序初始化 8255控制字:10011000B 第二步:输出通道号 启动ADC LOP:IN AL,82H ;检查EOC TEST AL,80H JZ LOP ;EOC=0,继续查询 IN AL,84H ;EOC=1,读入数据 MOV [SI],AL ;存入内存 第三步:判ADC转换 结束否?结束则读入数据,存入内存。否则再判 INC SI ;修改指针 INC AH ;修改通道编码 LOOP AGA ;未完继续 第四步:修改循环变量 判测量完否?未完继续
四、 12位A/D转换器ADC574 • ADC574是12位逐次逼近式A/D转换器,转换时间为25us,28引脚。 ADC 574
28 +5V 1 STS 27 12/8 2 DB11 26 3 CS DB10 25 A0 4 DB9 24 R/C 5 DB8 DB7 23 CE 6 +15V 22 7 DB6 21 REFOUT 8 DB5 20 AGND 9 DB4 ADC 19 REFIN 10 DB3 -15V 11 DB2 574A 18 BIP 12 DB1 17 10VIN 13 DB0 16 20VIN 14 15 DGND 1、ADC574引脚功能 • 分辨率为12位。 • 模拟量输入方式:2种:单极性、双极性 • 模拟输入范围:单极性为0~5V或0~10V ;双极性为-5V~5V或10V -10V ~10V 。 • +5V、 +15V、 -15V供电。 • 具有锁存三态输出,输出与TTL兼容。 • 片内有电压基准和时钟电路。 • 必须进行零点和满度调整。
CS(-)、CE(+): CS(-)片选信号Chip Select,低电平有效;CE(+)片使能信号Chip Enable,高电平有效。 • R/C(-):读/启动AD转换信号。高电平时读AD转换结果;低电平时启动AD转换。 • 12/8(-):输出数据长度控制。高电平时输出12位,低时输出8位。 • A0:当R/C为低时, A0若为高,启动8位AD转换; A0若为低,启动12 位AD转换。当R/C为高时, A0若为高,输出低4位数据; A0若为低,输出高8位数据。 • STS:STS为转换结束信号脉冲输出端口,低表示转换结束,高表示正在转换。 • REF IN:基准输入线;REF OUT:基准输出线;BIP OFF:单极性补偿。 • DB0~DB11:12位数字量输出端口。 • 10Vin,20Vin:模拟量输入端口。
表11.5 AD574的控制状态表: AD574的8位输出数据格式
图11.22 ADC574A单极性和双极性输入接法
单极性模拟输入方式接线的调整 • 单极性模入方式(图2-9)中, 10VIN输入电压范围为0V~+10V, 1LSB对应的模拟电压为2.44mV;2 0VIN输入电压范围为0V~20V,1LSB对应的模拟电压为4.88mV。R1用于零点调整,R2用于满刻度校准。方法为: • 如输入电压接10VIN端,调整R1,使输入模拟电压为1.22mV(即 1/2LSB)时,输出数字量从0000 0000 0000变到0000 0000 0001; • 调整R2,使得输入电压为9.9963V时,数字量从1111 1111 1110变到1111 1111 1111。
双极性模拟输入方式的调整 • 对于双极性模入方式,把REF IN, REF OUT,和 BIP OFF三个引脚的接线按图2-10重新安排,双极性模入方式零点与满刻度校准方法与单极性方式近似。需要注意的是,输入模拟量与输出数字量之间的对应关系为: • 10VIN端输入时:- 5V→0V→十5V 对应 000H→800H→FFFH • 20VIN端输入时:一10V→0V→十10V 对应 000H →800H→FFFH
图11.23 AD574A启动转换和读数据时序
ADC574A D7~D0 DB11~DB4 Vcc -15V D3~D0 DB3~DB0 Vee +15V PC总线 STS 10Vin Vin 译 码 器 AEN 20Vin CS A9~A0 REFin REFout A0 IOW R/C BIPOFF DC CE IOR AC 12/8 图 AD574与PC系统总线相连 ADC574 与 PC系统总线连接 电路中译码器对A9~A1进行译码,Y0=210H、Y1=212H~213H,因此,ADC574A的CS=211H~213H分另用于高位和低位数据的读取
A/D574转换器接口电路设计 -----查询方式 一、12位A/D转换器接口设计 1、要求 进行12位转换,转换结果分两次输出,以左对齐方式存放在首址为400H的内存区。共采集64个数据。ADC与CPU之间采用查询方式交换数据,采用AD574A作为A/D转换器。 2、分析 AD574A是具有三态输出锁存器的A/D转换器,它可以作12位转换,也可作8位转换。 3、设计 (1)硬件连接
D0~D7 Vcc +15V DB4~11 D7 Vee -15V PC DB0~3 10VIN 扩展槽 74LS125 STS 20VIN Y0 译 码 & AD574A AEN Y1 CS- REFIN AO~9 Y2 REFOUT A0 A0 IOW R/C BIPOFF & CE DG IOR AG 12/8 图 AD574与CPU连接原理图
AD574内部有三态输出锁存器,故数据输出线可直接与系统数据线相连,将AD574A的12条输出数据线的高8位接到系统总线的D0~D7,而把低4位接到数据总线的高4位,低4位补0,以实现左对齐。AD574内部有三态输出锁存器,故数据输出线可直接与系统数据线相连,将AD574A的12条输出数据线的高8位接到系统总线的D0~D7,而把低4位接到数据总线的高4位,低4位补0,以实现左对齐。 • 转换结束状态信号STS,通过三态门74LS125接到数据线D7上。要求分两次传送,故将12/8接数字地。CE接VCC,允许工作。 • 图中I/O端口地址译码有三个端口地址: Y0=310,为状态口;Y1=311H,为数据口(低4位); Y2=312上,为转换启动控制口/数据口(高8位)。 • 例如:转换启动端口设置为312H,其中包含A0=0,以实现12 位转换。读数据端口设置了两个,一个是312H,包含A0=0,读 高字节;一个是311H,包含A0=1,读低字节。
(2)软件编程 根据题目的要求和信号的时序关系,其数据采集的程序段如下: MOV CX,40H ;采集次数 MOV SI,400H ;存放数据内存首址 START:MOV DX,312H ;12位转换(A0=0) MOV AL,0H ;写入的数据可以取任意值 OUT DX,AL ;转换启动(CS,及R/C均置0, CE置1) MOV DX,310H ;读状态,Y0=0,打开三态门 L: IN AL,DX AND AL,80H ;检查D7=STS=0? JNZ L ;不为0,转换已结束,则等待 MOV DX,311H ;为0,转换已结束,先读低4位 (A0=1)
IN AL, DX AND AL, 0F0H ;屏蔽低4位 MOV [SI] ,AL ;送内存 INC SI ;内存地址加1 MOV DX, 312H ;再读高8位(A0=0) IN AL, DX MOV [SI],AL ;送内存 INC SI ;内存地址+1 DEC CX ;采集次数减1 JNZ START ;未完,继续 MOV AX,4C00H ;已完,程序退出 INT 21H
表2.2 AD574系列产品主要性能比较 C: Commercial I: Industry M: Military
作业 P408 3、4、5