第 10 章 模/数和数/模转换
第 10 章 模/数和数/模转换. 10.1 概述 10.2 数/模 ( D/A) 转换器 10.3 模/数 ( A/D) 转换器 10.4 采样保持电路. 10.1 概述. 1.应用场合: 用于 计算机控制 和 测量仪器仪表 中 2.在 闭环实时控制系统 中的作用:. 说明:. 1)现场信号一般为 非电模拟 信号,通过 传感器 变为电信号,经 放大到 ADC 的量程范围内,再经 低通滤波 降噪,最后由 多路开关分时传送 到 采样保持器 ;
第 10 章 模/数和数/模转换
E N D
Presentation Transcript
第10章 模/数和数/模转换 10.1 概述 10.2 数/模 (D/A) 转换器 10.3 模/数 (A/D) 转换器 10.4 采样保持电路
10.1 概述 1.应用场合: 用于计算机控制和测量仪器仪表中 2.在闭环实时控制系统中的作用:
说明: • 1)现场信号一般为非电模拟信号,通过传感器变为电信号,经放大到ADC的量程范围内,再经低通滤波降噪,最后由多路开关分时传送到采样保持器; • 2)采样保持器采样连续模拟量为离散的电压或电流的模拟量送A/D转换器转换为数字信号送CPU;
3)CPU发出的控制信号经D/A转换器变为模拟信号,再由功放将信号放大后驱动受控对象。3)CPU发出的控制信号经D/A转换器变为模拟信号,再由功放将信号放大后驱动受控对象。 • 4)虚线上面的一条线路在控制系统中作为测量的环节,下面的一条线路作为程序控制的环节,两者合起来才成为完整的闭环实时控制系统。
10.2 数/模(D/A)转换器 10.2.1 数/模转换的原理 10.2.2 数/模转换器件和有关电路
T型电 阻网络 运放 数字量 模拟电流 电压 10.2.1 数/模转换的原理 1.原理: “按权展开,然后相加” 2.过程:
3. 运算放大器的工作特点和原理 特点 : 开环放大倍数非常高(输入电压很小) 输入阻抗非常大 (输入电流小) 输出阻抗很小(驱动能力大)
Io G 1)虚地:如图a接法,输入电压和电流均近似为0的特殊情况称为虚地(与短路区别) 2)带反馈电阻的运放的电压放大倍数:
4. 由并联电阻和运放构成的D/A转换器 R 3 2 1 0 0
说明: • 1)a图中相邻电阻为2倍关系,称为权电阻,用于产生不同权位的电流 • 2)开关状态可由0000~1111变化,若按序变化则产生如图b所示的锯齿 • 波形电压输出(0~ )
5. D/A转换器主要性能指标 (1)分辨率=1/(2n-1)——最低位增1与最大输入量的比值 (2)绝对转换精度:实际输出电压与理想值之差 (3)相对转换精度(可能出现的最大相对误差):绝对转换精度与满量程输出的百分比,常用最低位(LSB)的分数值表示如 ( )
(4)转换速率:反映从数字量到模拟电压输出的变化快慢程度(4)转换速率:反映从数字量到模拟电压输出的变化快慢程度 (5)建立时间:输出电压达到稳定准确值的时间 (6)线性误差:实际输出偏离理想的程度
6. T型权电阻网络 Ro
说明: • 1)节点左边的等效电阻均为R • 2)加上-Vref参考电压后,C、B、A各节点的电位是 、 、 • 3)得出若开关全倒向右边则输出电压为 • 输出电压与输入的二进制数、反馈电阻值和参考电压有关。
10.2.2 数/模转换器件和有关电路 1. 不带数据输入寄存器的D/A芯片的使用 2. 带有数据输入寄存器的D/A芯片的使用
(1)原因: • CPU输出数据只是暂时存在,而被控对象一般需要能维持较长时间的模拟输出。 • (2)方法: • 在D/A转换器之前增加一个锁存器,再与数据总线相连。 • (3)不同连接方式如下:
1)8位D/A转换器的连接 0 片选与锁存的复合信号,只需一次输出指令。 0
2)超过8位D/A转换器的单缓冲连接 0 0 0
说明: • 需要两次输出指令,分别送低八位、高四位数据到锁存器,完成后所转换的才是准确值。
74LS373 74LS373 74LS373 74LS373 3)超过8位D/A转换器的双缓冲连接 0 0 0 0
说明: • 在单缓冲时会出现一个局部、不需要的模拟输出量,为防止这种情况的出现,采用两级缓冲。 • 前两条指令将数据锁存到一级缓冲器,最后一条指令将数据锁存到第二级缓冲器中并转换(选通功能,不从总线送数)。
参考程序 • MOV AL, DATAL • OUT PORTL, AL • MOV AL, DATAH • OUT PORTH, AL • OUT PORT, AL
2. 带有数据输入寄存器的D/A芯片的使用 该类芯片可直接和数据总线相连, 下面以DAC0832为例说明:
1 0 1 0 (1)DAC0832的工作原理: 2 3 1 1 LE1 LE2 1 1 1 0 0 0 0
说明: • 1)包括一个8位T型电阻网络(D/A转换器),输出需要外接运放; • 2)两级缓冲器:8位输入寄存器(LE1控制锁存)和8位DAC寄存器(LE2控制锁存)
3)两级缓冲的优点:提高转换速度(转换同时可取数)、用于多个转换器同时输出。3)两级缓冲的优点:提高转换速度(转换同时可取数)、用于多个转换器同时输出。 • 4)锁存信号有效: • (高电平直通,下降沿锁存)
(2)DAC0832对数据进行锁存的方法:(单缓冲)(2)DAC0832对数据进行锁存的方法:(单缓冲) 输入寄存器锁存:DAC寄存器直通,CS#和ILE有效 DAC寄存器锁存:输入寄存器直通,XFER#有效 输入寄存器和DAC寄存器同时锁存
信号定义: CS# 片选信号 ILE 允许锁存信号 WR1# 写信号1 WR2# 写信号2 XFER# 传送控制信号 构成LE1,一般WR1上升沿锁存 构成LE2,一般WR2上升沿锁存
接运放,自带反馈电阻 IOUT1模拟电流输出端 IOUT2 模拟电流输出端 RFB 反馈电阻引出 VREF 参考电压(-10V~+10V) VCC 电源(+5~+15V) AGND 模拟地 DGND 数字地
(4)DAC0832的外部连接: 单缓冲方式连接,DAC寄存器不锁存。 ILE Vcc
(5)用软件来实现D/A转换 例1 实现一次D/A转换。 MOV BX,1000H ;假设数据放在 1000H中 MOV AL,[BX] ;数据送AL中 MOV DX,PORTA ;PORTA为D/A端 口号 OUT DX,AL
例2 产生一个锯齿电压。 MOV DX,PORTA ;PORTA为D/A端 口号 MOV AL,0FFH ;初值为0FFH ROTATE: INC AL OUT DX,AL ;往D/A输出数据 JMP ROTATE
例3 可变周期的锯齿电压。 MOV DX,PORTA ;PORTA为D/A端口号 MOV AL,0FFH ;初值为0FFH ROTATE:INCAL OUT DX,AL ;往D/A输出数据 MOV CX, DATA ;送延时常数 CALL DELAY ;调用延时 JMP ROTATE DELAY:LOOP DELAY ;延时子程序 RET
(6)8088和两片DAC0832的接口(双缓冲) 8088 WR AD7 ~AD0 ALE
例4:设RAM中有两个长度为30的数据块, 其起始地址分别为20H和40H, 根据上图, 编程使两块数据分别从1#和2#DAC输出。(每两个字节一组同时输出进行D/A转换) • DTOUT: MOV DI, 20H • MOV SI, 40H • MOV CX, 30 • NEXT: MOV DX, 0FDH • MOV AL,[DI] • OUT DX,AL • INC DI
MOV DX, 0FEH • MOV AL, [SI] • OUT DX, AL • INC SI • INC DX • OUT DX, AL • LOOP NEXT • JMP DTOUT
DAC0832工作方式 • 单缓冲方式:控制输入寄存器和DAC寄存器同时接收数据,或者只用输入寄存器或DAC寄存器,另一个接成直通方式。 • 双缓冲方式:先分别使这些DAC0832的输入寄存器接收数据,再控制这些DAC0832同时传送数据到DAC寄存器以实现多个D/A转换同步输出。 • 直通方式:数据直接进行DA转换而不锁存,即WR1,WR2,XFER,CS均接地,ILE接高电平。
10.3 模/数 (A/D) 转换器 10.3.1 模/数转换涉及的参数 10.3.2 模/数转换的方法和原理 10.3.3 ADC0809芯片
10.3.1 模/数转换涉及的参数 转换精度: 实际输出接近理想输出的精确程度。 通常用数字量的最低有效位(LSB)表示。
转换速率: 完成一次A/D转换所需时间的倒数。 分辨率: 表明A/D转换器分辩最小量化信号的能力。 常用位数来表示。
10.3.2 模/数转换的方法和原理 • 1. 计数式A/D转换 • 2. 双积分式A/D转换 • 3. 逐次逼近式A/D转换 • 4. 用软硬结合方式来实现逐次逼近式A/D转换
1. 计数式A/D转换 1 0 0
说明: • 双积分式A/D的工作模式是固定时间正向积分、固定斜率反向积分。 • 正向积分与反向积分的切换是由正向积分开始时计数器从0计数到计满后产生的溢出信号控制的。 • 较高的反极性的基准电压进入积分器反向积分,计数器再次从0开始计数,直至反向积分至0时停止计数,此时的计数值就是对应的输入量的变换数字量。
0 3. 逐次逼近式A/D转换 2.8V 0 0 0 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 2.82V 2.66V 3.75V 3.13V 2.74V 2.78V 2.80V 2.5V
1 1 4.用软硬结合方式来实现逐次逼近式A/D转换 0 0 0
程序如下: START: XOR AX,AX ;累加器清零 MOV BL,80H ;初值为80H MOV CX,08H ;计数初值为8 AGAIN: ADD AL,BL ;计算试探值 MOV BH,AL ;保留试探值
OUT PORTA,AL ;PORTA是锁存器地 址 IN AL,PORTS ;PORTS是输入端口 的地址 AND AL,01 ;取状态位 JZ END1 ;如状态位为0,则 保存此位 MOV AL,BL