8.1 A/D转换概述
8.1.1 A/D转换的基本概念
A/D转换,即模拟-数字转换,是将连续变化的模拟信号转换为离散的数字信号的过程。在单片机应用系统中,A/D转换是连接模拟世界和数字世界的桥梁。
A/D转换过程
- 采样:按一定的时间间隔对模拟信号进行取值
- 保持:将采样得到的模拟信号值保持一段时间,以便进行量化
- 量化:将采样保持后的模拟信号转换为数字量的过程
- 编码:将量化后的数值用二进制代码表示
8.1.2 A/D转换器的性能指标
1. 分辨率
指A/D转换器能够分辨的最小模拟输入量变化,通常用位数表示。分辨率 = 满量程电压 / 2n(n为位数)
2. 转换精度
指A/D转换器输出的数字量与实际模拟输入量之间的接近程度,通常用绝对精度和相对精度表示。
3. 转换时间
指A/D转换器完成一次转换所需的时间,包括采样时间和转换时间。
4. 量程
指A/D转换器能够转换的模拟输入电压范围,通常分为单极性和双极性两种。
5. 线性度
指A/D转换器的输出与输入之间的线性关系程度,通常用非线性误差表示。
6. 输入阻抗
指A/D转换器输入端的等效阻抗,输入阻抗越高,对信号源的影响越小。
8.1.3 A/D转换器的分类
逐次逼近型
转换速度较快,精度较高,应用广泛
双积分型
抗干扰能力强,精度高,但转换速度较慢
并行比较型
转换速度最快,但成本高,功耗大
Σ-Δ型
分辨率高,抗干扰能力强,适用于高精度测量
8.1.4 A/D转换器的应用场景
- 数据采集系统:将各种传感器信号转换为数字信号
- 工业自动化控制系统:实时采集温度、压力等参数
- 智能仪器仪表:实现高精度测量和显示
- 医疗电子设备:采集生理信号
- 通信设备:信号处理和调制解调
- 多媒体设备:音频和视频信号处理
8.2 ADC0809结构与引脚
8.2.1 ADC0809概述
ADC0809是美国国家半导体公司生产的8位逐次逼近型A/D转换器,具有8个模拟量输入通道,可在程序控制下对任意通道进行A/D转换。
主要特点
- 8路模拟输入通道,通道地址由3位地址输入信号决定
- 分辨率为8位
- 转换时间约为100μs(时钟频率为640kHz时)
- 模拟输入电压范围为0~5V
- 无需外部零点和满量程调整
- 功耗低,约15mW
- 可与大多数微处理器直接接口
8.2.2 ADC0809内部结构
1. 8通道多路模拟开关
可从8路模拟输入信号中选择一路进行A/D转换,由地址锁存与译码电路控制。
2. 地址锁存与译码电路
锁存3位地址信号,并译码产生通道选择信号,选中相应的模拟输入通道。
3. 比较器
将输入的模拟信号与D/A转换器输出的反馈信号进行比较,输出比较结果。
4. 逐次逼近寄存器(SAR)
在控制电路的作用下,逐次逼近地产生比较所需的数字量。
5. D/A转换器
将SAR中的数字量转换为模拟电压,作为比较器的参考电压。
6. 三态输出锁存器
锁存A/D转换的结果,可直接与微处理器的数据总线相连。
8.2.3 ADC0809引脚功能
| 引脚名称 | 功能描述 |
|---|---|
| IN0~IN7 | 8路模拟量输入端,输入电压范围为0~5V |
| ADDA、ADDB、ADDC | 通道地址选择输入端,用于选择8路模拟输入中的一路 |
| ALE | 地址锁存允许信号,上升沿将地址信号锁存 |
| START | 转换启动信号,上升沿复位,下降沿启动转换 |
| EOC | 转换结束信号,高电平表示转换结束 |
| OE | 输出允许信号,高电平有效,打开三态门输出 |
| CLOCK | 时钟输入端,典型频率为640kHz |
| D0~D7 | 8位数字量输出端,D0为最低位,D7为最高位 |
| VREF(+)、VREF(-) | 参考电压输入端,VREF(+)接+5V,VREF(-)接地 |
| VCC | 电源输入端,接+5V |
| GND | 接地端 |
8.2.4 ADC0809工作时序
- 通道选择:通过ADDA~ADDC输入通道地址,在ALE信号的上升沿将地址锁存
- 启动转换:在START信号的下降沿启动A/D转换
- 转换过程:A/D转换器进行逐次逼近转换,期间EOC信号为低电平
- 转换结束:转换完成后,EOC信号变为高电平
- 读取数据:CPU检测到EOC变高后,输出OE信号读取转换结果
8.3 D/A转换概述
8.3.1 D/A转换的基本概念
D/A转换,即数字-模拟转换,是将离散的数字信号转换为连续变化的模拟信号的过程。在单片机应用系统中,D/A转换器常用于将数字控制系统的输出转换为模拟信号,驱动执行机构。
工作原理
基于权电阻网络或T型电阻网络,将数字量的每一位按照其权值转换为相应的模拟电流或电压,然后通过运算放大器求和并转换为电压输出。
8.3.2 D/A转换器的性能指标
1. 分辨率
指D/A转换器能够分辨的最小输出模拟量变化,分辨率 = 满量程输出 / 2n(n为位数)
2. 转换精度
指D/A转换器输出的模拟量与理论值之间的接近程度,取决于参考电压和电阻网络的精度。
3. 建立时间
指D/A转换器从输入数字量变化到输出模拟量达到稳定值所需的时间。
4. 线性度
指D/A转换器的输出与输入之间的线性关系程度,非线性误差越小,线性度越好。
5. 温度系数
指D/A转换器的性能随温度变化的特性。
6. 输出范围
常见的有0~5V、0~10V、-5V~+5V、-10V~+10V等。
8.3.3 D/A转换器的分类
- 权电阻网络D/A转换器:结构简单,但精度较低
- T型电阻网络D/A转换器:使用的电阻种类少,精度较高
- 倒T型电阻网络D/A转换器:转换速度快,动态性能好,应用最广泛
- 权电流型D/A转换器:采用恒流源,转换精度高,温度稳定性好
8.3.4 D/A转换器的应用场景
- 波形发生器:产生正弦波、方波、三角波等
- 数控电源:输出可编程的电压或电流
- 数字音频系统:将数字音频信号转换为模拟音频信号
- 自动控制系统:驱动执行机构
- 仪器仪表:产生标准信号源
- 通信设备:调制解调信号
8.4 DAC0832结构与引脚
8.4.1 DAC0832概述
DAC0832是美国国家半导体公司生产的8位D/A转换器,具有双缓冲输入寄存器,可以方便地实现多通道D/A转换的同步输出。
主要特点
- 8位分辨率,电流输出型
- 具有双缓冲、单缓冲和直通三种工作方式
- 转换时间约为1μs
- 线性误差为±0.2%FSR(满量程)
- 功耗低,约20mW
- 可与大多数微处理器直接接口
- 逻辑电平输入与TTL兼容
8.4.2 DAC0832内部结构
1. 8位输入寄存器
用于暂存微处理器送来的数字量,由ILE、/CS、/WR1控制。
2. 8位DAC寄存器
用于暂存输入寄存器中的数据,由/XFER、/WR2控制。
3. 8位D/A转换电路
由倒T型电阻网络和电子开关组成,将数字量转换为模拟电流输出。
4. 控制逻辑电路
控制两个寄存器的锁存和数据传输,实现三种工作方式。
8.4.3 DAC0832引脚功能
| 引脚名称 | 功能描述 |
|---|---|
| D0~D7 | 8位数字量输入端 |
| ILE | 输入锁存允许信号,高电平有效 |
| /CS | 片选信号,低电平有效 |
| /WR1 | 写信号1,低电平有效,写入输入寄存器 |
| /XFER | 数据传输控制信号,低电平有效 |
| /WR2 | 写信号2,低电平有效,写入DAC寄存器 |
| Iout1 | 模拟电流输出端1,全1时最大,全0时最小 |
| Iout2 | 模拟电流输出端2,Iout1 + Iout2 = 常数 |
| Rfb | 反馈电阻引出端,内部已接有反馈电阻 |
| Vref | 参考电压输入端,范围为-10V~+10V |
| Vcc | 电源输入端,范围为+5V~+15V |
| AGND/DGND | 模拟地/数字地 |
8.4.4 DAC0832工作方式
1. 双缓冲方式
两个寄存器都处于受控锁存状态,需要两步操作完成一次转换。适用于多路D/A转换同步输出。
2. 单缓冲方式
一个寄存器直通,另一个受控锁存,一步操作完成转换。适用于一般D/A转换应用。
3. 直通方式
两个寄存器都直通,数字量直接进入转换器。适用于连续反馈控制回路。
8.4.5 DAC0832应用电路
- 单极性输出电路:输出电压范围为0~Vref或-Vref~0
- 双极性输出电路:输出电压范围为-Vref~+Vref
- 多路D/A转换同步输出电路:使用多个DAC0832实现多路模拟信号的同步输出
8.5 应用案例
8.5.1 基于ADC0809的温度采集系统
系统组成
- 温度传感器:将温度转换为电压信号
- A/D转换器:ADC0809,将模拟信号转换为数字信号
- 单片机:AT89C51,控制ADC0809并处理数据
- 显示模块:LCD1602,显示温度值
程序设计
8.5.2 基于DAC0832的波形发生器
系统组成
- D/A转换器:DAC0832,将数字信号转换为模拟信号
- 单片机:AT89C51,产生波形数据
- 运算放大器:将电流输出转换为电压输出
- 按键模块:选择波形类型和频率
程序设计
8.5.3 基于ADC0809和DAC0832的数据采集与控制系统
系统组成
- 传感器模块:温度、压力、流量等多种传感器
- A/D转换器:ADC0809,将模拟信号转换为数字信号
- 单片机:AT89C51,控制ADC0809和DAC0832并处理数据
- D/A转换器:DAC0832,将控制信号转换为模拟信号
- 执行机构:根据DAC0832输出执行控制动作
- 显示模块:LCD1602,显示数据和系统状态
程序设计
8.6 本章总结
核心要点
- 掌握A/D转换的基本概念和性能指标
- 理解ADC0809的内部结构和引脚功能
- 掌握D/A转换的基本概念和性能指标
- 理解DAC0832的内部结构和工作方式
- 能够编写ADC0809和DAC0832的应用程序
学习建议
- 通过实验加深对A/D和D/A转换原理的理解
- 多练习ADC0809和DAC0832的接口电路设计
- 结合Proteus仿真验证程序功能
- 尝试实现温度采集、波形发生器等实际项目
- 注意模拟地和数字地的区分,减少干扰
ADC0809与DAC0832对比
| 比较项目 | ADC0809 | DAC0832 |
|---|---|---|
| 功能 | 模拟-数字转换 | 数字-模拟转换 |
| 位数 | 8位 | 8位 |
| 分辨率 | 1/256 | 1/256 |
| 输入/输出 | 8路模拟输入,8位数字输出 | 8位数字输入,电流输出 |
| 转换时间 | 约100μs | 约1μs |
| 工作方式 | 逐次逼近型 | 倒T型电阻网络 |
| 输出形式 | 并行输出 | 电流输出,需外接运放转换为电压 |
| 典型应用 | 数据采集系统 | 波形发生器、控制系统 |
实际应用中的注意事项
ADC0809使用注意事项
- 参考电压的稳定性直接影响转换精度
- 注意地址信号与ALE信号的配合
- 转换启动信号START的上升沿复位,下降沿启动转换
- 转换结束信号EOC可作为中断请求信号
- 输入信号的范围应在0~5V之间
DAC0832使用注意事项
- 输出是电流信号,需外接运算放大器转换为电压
- 双缓冲方式可实现多路同步输出
- 注意控制信号的时序配合
- 参考电压的精度影响输出精度
- 数字地和模拟地应正确连接
8.7 课后练习题
1 填空题
1. A/D转换的四个步骤是____、____、____和____。
2. ADC0809是____位逐次逼近型A/D转换器,具有____路模拟输入通道。
3. ADC0809的分辨率计算公式为____,当参考电压为5V时,分辨率约为____mV。
4. ADC0809的START信号____沿复位,____沿启动转换。
5. D/A转换的基本原理是基于____网络或____网络。
6. DAC0832是____位电流输出型D/A转换器,具有____、____和____三种工作方式。
7. DAC0832的参考电压输入范围为____V到____V。
8. DAC0832的双缓冲方式适用于____场合。
9. ADC0809的EOC引脚为____电平时表示转换结束。
10. DAC0832的输出是____信号,需外接____转换为电压信号。
2 单选题
1. ADC0809的分辨率是多少位?
A. 4位 B. 8位 C. 10位 D. 12位
2. 以下哪个不是A/D转换的步骤?
A. 采样 B. 保持 C. 放大 D. 量化
3. ADC0809的模拟输入电压范围是多少?
A. 0~3V B. 0~5V C. 0~10V D. -5V~+5V
4. ADC0809的EOC引脚的作用是什么?
A. 地址锁存允许 B. 转换启动 C. 转换结束 D. 输出允许
5. DAC0832的输出是什么类型的信号?
A. 电压信号 B. 电流信号 C. 数字信号 D. 脉冲信号
6. DAC0832的双缓冲工作方式适用于什么场合?
A. 单通道D/A转换 B. 多路D/A转换同步输出 C. 高速D/A转换 D. 低功耗D/A转换
7. 以下哪种A/D转换器转换速度最快?
A. 逐次逼近型 B. 双积分型 C. 并行比较型 D. Σ-Δ型
8. DAC0832的参考电压输入范围是?
A. 0~5V B. 0~10V C. -10V~+10V D. -5V~+5V
9. ADC0809的转换时间约为?
A. 1μs B. 10μs C. 100μs D. 1ms
10. 以下哪种D/A转换器应用最广泛?
A. 权电阻网络 B. T型电阻网络 C. 倒T型电阻网络 D. 权电流型
3 编程题
1. 编写程序,使用ADC0809采集通道0的模拟信号,将转换结果存入内部RAM的30H单元。
2. 编写程序,使用DAC0832以单缓冲方式输出数据,将累加器A中的数据转换为模拟信号输出。
3. 编写程序,使用DAC0832产生锯齿波信号,输出到示波器观察波形。
4. 编写程序,依次采集ADC0809的8路模拟输入信号,将结果存入30H~37H单元。
5. 编写程序,使用DAC0832产生方波信号,方波高电平对应数据FFH,低电平对应数据00H。