Files
Operating-System/8086/Exam/第8章 模拟接口.md
2026-06-29 21:12:21 +08:00

357 lines
17 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 第8章 模拟接口(复习总结)
---
## 一、详细内容分析
### 8.1 概述
#### 模拟量与数字量
- **模拟量Analog**:时间上连续、幅值上连续的物理量(如温度、压力、流量、声音)。
- **数字量Digital**:时间上离散、幅值上也离散的二进制代码。
- **ADC / A/D 转换器(模数转换器)**:将模拟量转换为数字量的器件。
- **DAC / D/A 转换器(数模转换器)**:将数字量转换为模拟量的器件。
#### 8.1.1 传感器
- 把非电量(如温度、压力、流量等)转换成电压或电流等电信号的装置,是模拟接口系统的最前端。
#### 8.1.2 多路开关(模拟多路复用器)
- 在多个模拟输入端中选择一路与公共端连接。
- 典型芯片:**CD4051**——单端 8 通道多路开关,含禁止端 `INH`、3 位地址端 `C/B/A`
- `INH=1` 时所有通道断开。
- 地址 CBA 二进制值选择 0~7 号通道。
- 多路开关可让多个模拟信号共用一个 ADC节省硬件成本。
---
### 8.2 D/A 转换
#### 8.2.1 D/A 转换原理
**1. 加权电阻网 D/A 转换**
- 通过不同阻值的加权电阻,使每一位数字量产生与"权值"成比例的电流,再把各电流求和得到对应的模拟电压。
- 缺点:电阻值差异大(如 1R、2R、4R、…、128R制造困难对位数的扩展不利。
**2. T 型电阻网R-2RD/A 转换**(重点)
- 仅使用 R 和 2R 两种电阻,构成 T 型电阻网络。
- 由数字量各位控制开关 K0~K3`Qn=1` 时开关接到运算放大器的求和点I 端),`Qn=0` 时接地。
- 流入运放求和点的总电流:
- `I = (VREF/2R)·K3 + (VREF/4R)·K2 + (VREF/8R)·K1 + (VREF/16R)·K0`
- ` = (VREF / 2⁴R)·(2³·K3 + 2²·K2 + 2¹·K1 + 2⁰·K0)`
- 输出电压:`VOUT = I·R0`(反相比例运算)
- 推广到 n 位:`VOUT = a·D`,其中 `a = VREF / (2ⁿ·R)``D` 为输入数字量。
- 优点:仅两种电阻,便于集成,工艺简单,是绝大多数集成 DAC 的核心结构。
#### 8.2.2 D/A 转换器的主要技术指标
**1) 分辨率Resolution**
- 定义:输入数字量变化 1 个 LSB 时,输出模拟量的变化量,反映输出模拟量的最小变化能力。
- 公式:**分辨率 = FS / 2ⁿ**FS 为满量程电压n 为位数)。
- 例如8 位 DAC、FS=5V则分辨率 = 5V / 256 ≈ 19.5 mV12 位 DAC、FS=5V则分辨率 ≈ 1.22 mV。
- 也常用"位数"直接表示分辨率大小(位数越高,分辨率越好)。
**2) 建立时间Settling Time**
- 又称转换时间:从输入数字量发生变化开始,到输出模拟量稳定到规定误差带(±ε)内所需的时间。
- 是 DAC 速度的关键指标,电流输出型 DAC0832 的建立时间为 1 μs。
**3) 精度 / 线性误差(补充)**
- 实际转换特性偏离理想特性的最大偏差,常以满量程的百分数表示(如 DAC1210 线性误差 0.05%FS
---
#### 8.2.3 DAC0832 转换器及应用(重点芯片)
**1. 主要特性**
- 8 位分辨率;
- 电流型输出(需外接运放转换为电压);
- 参考电压 VREF 范围 10V ~ +10V
- 可工作于 **双缓冲、单缓冲、直接输入** 三种方式;
- 单电源 +5V ~ +15V
- 电流建立时间 1 μs
- 内部采用 **R-2R T 型解码网络**
- 数字输入与 TTL 兼容。
**2. 内部结构**
- 由 4 部分组成:
1. 8 位输入寄存器;
2. 8 位 DAC 寄存器;
3. 8 位 D/A 转换器R-2R 网络 + 开关);
4. 一组控制逻辑。
**3. 引脚功能(必背)**
| 引脚 | 功能 |
| --- | --- |
| D7~D0 | 8 位数字量输入端 |
| ILE | 输入寄存器允许信号(高电平有效) |
| /CS | 片选信号(低电平有效) |
| /WR1 | 输入寄存器写选通(低电平有效) |
| /XFER | 传送控制信号(低电平有效) |
| /WR2 | DAC 寄存器的写选通(低电平有效) |
| VREF | 参考电压10V ~ +10V |
| IOUT1, IOUT2 | 电流输出端(线性互补) |
| RFB | 片内反馈电阻(接运放输出端) |
| VCC | 电源 +5V ~ +15V |
| AGND / DGND | 模拟地 / 数字地 |
- 控制逻辑关系:
- 输入寄存器锁存条件:`ILE = 1 且 /CS = 0 且 /WR1 = 0`
- DAC 寄存器锁存条件:`/XFER = 0 且 /WR2 = 0`
**4. 三种工作方式**
| 工作方式 | 做法 | 适用场景 |
| --- | --- | --- |
| **直通方式** | ILE、/CS、/WR1、/XFER、/WR2 全部接固定有效电平 | 波形发生器等需要持续输出、不需要锁存的场合 |
| **单缓冲方式** | 一组寄存器直通,另一组受控(如 /WR1 与 /XFER 共用同一写信号) | 单路模拟输出CPU 一次写即转换一次 |
| **双缓冲方式** | 两级寄存器都受控,先锁存输入寄存器,再选通到 DAC 寄存器 | 多片 DAC0832 **同步输出**(如 X-Y 绘图仪、双路波形) |
**5. 典型应用:单极性单缓冲连接**
- 端口地址 80H~83H由 74LS138 译码);
- 数字量 N00H~FFH→ 输出电压 `VOUT = 5V · N / (2⁸) = 5V · N / 255`
- 例:输出 0V~5V 某电压 V 的程序:
```
MOV AL, N ; N 为 00H~0FFH 间的数字量
OUT 78H, AL ; 经端口送出,转换为模拟电压
```
- 例:方波 / 锯齿波 / 三角波发生器(用循环 INC/DEC + CALL DELAY 实现)。
**6. 例题要点**
- 将 2000H 起始的 50 个字节数据依次送到 DAC0832每点间隔 1 ms 可输出任意波形:
```
MOV SI, 2000H
MOV CX, 50
A1: MOV AL, [SI]
INC SI
OUT 80H, AL
CALL D1ms
LOOP A1
```
---
#### 8.2.4 12 位 D/A 转换器 DAC1210
- **12 位分辨率**,电流型输出;
- VREF10V ~ +10V可双缓冲 / 单缓冲 / 直接输入;
- 单电源 +5V ~ +15V建立时间 1 μsR-2R T 型解码网络;
- 线性误差 0.05% FSTTL 兼容。
- 内部结构含 8 位锁存器D11~D4先送+ 4 位锁存器D3~D0后送+ 12 位 DAC 寄存器 + 12 位 D/A 转换器。
- BYTE1/BYTE2 控制字节写入顺序。
---
### 8.3 A/D 转换
#### 8.3.1 A/D 转换原理
**1. A/D 转换的基本过程**:采样 → 量化。
- **采样**:取离散时间点上的模拟信号值,得到时间离散、幅值连续的离散信号 `f(nT)`。
- **量化**:将离散信号按最小量化单位取整,得到数字信号。
**香农Shannon采样定理**
- 对有限频谱(ω ≤ ωmax = 2π fmax的连续信号进行采样时若 **采样频率 f ≥ 2·fmax**,则采样信号可无失真地恢复原连续信号。
- 工程中常取 f ≥ (5~10)·fmax。
**量化误差**
- 量化单位 q = FS / 2ⁿ最大量化误差 = ± q/2。
- n 越大,量化误差越小,分辨率越高。
**2. 三种主要 ADC 类型**
| 类型 | 原理 | 速度 | 精度 | 特点 |
| --- | --- | --- | --- | --- |
| **计数式(斜坡式)** | 计数器从 0 递增,经 DAC 产生斜坡电压与输入比较 | 慢(最坏 2ⁿ 个时钟) | 中 | 电路简单 |
| **逐次逼近式SAR** | 二分搜索:每次试探 1 位n 次逼近结果 | **中**(固定 n 个时钟) | 较高 | ADC0808/0809、AD574 采用 |
| **双积分式** | 先积分被测电压,再反向积分参考电压,计数得数字量 | 慢ms 级) | 高,抗干扰 | 数字电压表 |
| (并行比较型/Flash | 多个比较器同时比较,速度最快 | 最快ns 级) | 较低 | 价格贵 |
| (Σ-Δ 型) | 过采样 + 噪声整形 + 数字滤波 | 较慢 | 很高 | 高精度音频、仪表 |
**3. 逐次逼近式 ADC 工作过程(重点)**
- 类比"天平称重":从最高位开始,每次先置 1与输入电压比较
- 若 DAC 输出 ≤ 输入电压,则保留该位为 1
- 否则清除该位为 0
- 再试下一低位。
- n 位 ADC 只需 n 次比较即可完成转换(与计数式最多需 2ⁿ 次比较形成鲜明对比)。
- 优点:速度较快(固定 n 个时钟周期)、精度较高、电路适中,是中等速度/精度场合的主流方案。
#### 8.3.2 A/D 转换器的主要技术指标
**1) 分辨率**:输出数字量变化 1 个相邻码所需输入电压的变化量,**= VFS / 2ⁿ**。
**2) 转换时间**从启动信号到获得稳定数字输出所需的时间ADC0809 约 100 μsAD574 约 25 μs
**3) 量程**:能转换的输入电压范围(如 0~5V、0~10V、±5V、±10V
---
#### 8.3.3 8 位 A/D 转换器 ADC0809重点芯片
**1. 主要特性**
- 8 位分辨率;
- 电压输入范围 0~+5V
- 转换时间 100 μs时钟 640 kHz 条件);
- 时钟频率 100 kHz ~ 1280 kHz
- 单一 +5V 电源;
- **8 路单端模拟量输入通道**IN0~IN7
- 参考电压 +5V
- 总不可调误差 ±1 LSB
- 温度范围 40℃ ~ +85℃
- 可锁存的三态输出;输出与 TTL 兼容。
**2. 内部结构**
- 通道选择开关 + 地址锁存与译码ADDC/ADDB/ADDA、ALE
- 8 位逐次逼近寄存器 SAR
- D/A 转换器(内含)
- 比较器
- 8 位锁存器与三态输出缓冲器
- 定时与控制电路
**3. 引脚功能(必背)**
| 引脚 | 功能 |
| --- | --- |
| IN7~IN0 | 8 路模拟量输入线 |
| D7~D0 | 8 位数字量输出线 |
| ADDC, ADDB, ADDA | 通道地址(高三位为 ADDC |
| ALE | 地址锁存允许(高电平锁存) |
| START | 启动信号(上升沿清零 SAR下降沿开始 A/D 转换) |
| CLOCK | 时钟输入(标准 640 kHz对应转换 100 μs |
| EOC | 转换结束信号(启动后为低,由低变高表示转换结束) |
| OE | 输出允许(高电平打开三态缓冲器) |
| VREF(+), VREF() | 基准电压输入 |
| VCC / GND | 电源 / 地 |
**4. 8 路通道地址选择表(必背)**
| ADDC | ADDB | ADDA | 选中通道 |
| --- | --- | --- | --- |
| 0 | 0 | 0 | IN0 |
| 0 | 0 | 1 | IN1 |
| 0 | 1 | 0 | IN2 |
| 0 | 1 | 1 | IN3 |
| 1 | 0 | 0 | IN4 |
| 1 | 0 | 1 | IN5 |
| 1 | 1 | 0 | IN6 |
| 1 | 1 | 1 | IN7 |
**5. 工作时序(重点)**
1. CPU 把通道地址送 ADDC/ADDB/ADDA
2. ALE 高电平 → 地址锁存到内部;
3. START 上升沿清 SAR下降沿启动 A/D 转换;
4. 转换期间 EOC 保持低电平;
5. 转换完成EOC 由低变高;
6. CPU 检测到 EOC 高后,将 OE 置高,打开三态缓冲器,从 D7~D0 读出数据。
**6. 与 CPU 的三种接口方式**
- **等待方式**CPU 启动转换后延时 ≥ 转换时间,再读结果(用 CALL DELAY100 等待)。
- 采集 IN0 程序:
```
MOV AL, 00H ; 设置通道号 0
OUT 84H, AL ; 启动 0 通道 A/D 转换
CALL DELAY100 ; 延时 100μs等待 A/D 转换结束
IN AL, 84H ; 读入 A/D 转换结果
```
- **查询方式**CPU 通过查询 EOC 状态判断转换是否结束再读结果。EOC 状态可接到数据线某一位(如 D7另设状态口如 88H~8BH
- **中断方式**EOC 作为中断请求信号接到 8259A转换完成后向 CPU 发中断CPU 在 ISR 中读取数据。
---
#### 8.3.4 12 位 A/D 转换器 AD574
- 12 位逐次逼近式 ADC
- 转换时间12 位时 25 μs8 位时 16 μs
- 单通道模拟输入;内部 12 位 SAR + 比较器 + D/A 转换器AD565A+ 10V 基准;
- 单极性输入范围0~10V 或 0~20V
- 双极性输入范围±5V 或 ±10V
- 内部集成三态输出缓冲器;
- 三态控制STS状态、12/8数据格式选择、CS、A0、R/C、CE 等。
---
### 8.4 采样保持器S/H
#### 1. 采样保持原理
- A/D 转换期间需要输入信号保持不变,故常在模拟输入与 ADC 之间加入采样保持器。
- 核心电路:开关 K受 V_S/H 控制)+ 保持电容 C_H + 缓冲级;
- V_S/H 高电平 → 采样(开关闭合,电容跟踪输入);
- V_S/H 低电平 → 保持(开关断开,电容上保持当前电压);
- 用途:在转换快速变化的模拟信号时减小**孔径误差**aperture error
#### 2. 主要性能指标
- **采集时间Acquisition Time**:从采样开始到输出稳定所需时间,一般定义为输出跟踪 10V 跳变达到 0.01% 误差所需时间。
- **直流偏移**:输入接地时的输出电压。
- **转换速率**输出电压变化的最大速率V/s
- **孔径时间Aperture Time**从保持命令发出到开关完全断开的时间μs 级)。
- **下跌率Droop Rate**保持阶段电容的放电速度V/s由开关漏电流等引起。
- 工程中保持电容 C_H 的选择需要折衷采集时间和下跌率。
---
## 二、考点总结
### 核心概念(必背)
- **ADC / DAC 定义**:模数转换器 / 数模转换器。
- **T 型电阻网络R-2RD/A 转换**原理与输出公式 `VOUT = a·D = (VREF/2ⁿR)·R0·D`。
- **分辨率公式**
- DAC分辨率 = FS / 2ⁿ
- ADC分辨率 = VFS / 2ⁿ
- 量化单位 q = FS / 2ⁿ最大量化误差 = ± q/2。
- **建立时间 / 转换时间** 含义。
- **香农采样定理**:采样频率 f ≥ 2·fmax。
- **量化误差** 计算±FS/2ⁿ⁺¹。
- **多路开关** CD40518 通道、地址 CBA、禁止端 INH。
### DAC0832 相关【高频】
- 【高频】**三种工作方式**
- 直通ILE、/CS、/WR1、/XFER、/WR2 全部置有效,数据直通 DAC。
- **单缓冲**:一组寄存器直通,另一组受控;适合单路模拟输出场景。
- **双缓冲**:两级寄存器都受控,分两步锁存;适合**多片 DAC0832 同步输出**。
- 【高频】**输出电压公式**`VOUT = 5V · N / 2⁸ = 5V · N / 255`N 为数字量0~255
- 引脚 ILE、/CS、/WR1、/XFER、/WR2 的逻辑关系:
- 输入寄存器锁存ILE=1 且 /CS=0 且 /WR1=0
- DAC 寄存器锁存:/XFER=0 且 /WR2=0。
- 电流输出型 DAC0832 需外接运放转换为电压。
- 单缓冲连接时端口地址示例80H~83H例题常考程序 `MOV AL, N / OUT 78H, AL`。
### ADC0809 相关【高频】
- 【高频】**8 通道选择**:地址线 ADDC、ADDB、ADDA 决定选中 IN0~IN7 哪一路;可对照真值表做题。
- 【高频】**逐次逼近式工作过程**二分搜索n 位 ADC 仅需 n 次比较(与计数式 2ⁿ 次对比);"天平称重"类比。
- 【高频】**控制信号时序**START下降沿启动、ALE锁存通道地址、EOC启动后低电平转换结束变高、OE高电平允许输出
- 【高频】**三种 CPU 接口方式**
- 等待方式(用软件延时 ≥ 100 μs
- 查询方式(读 EOC 状态);
- 中断方式EOC 接 8259A 中断请求)。
- 转换时间 100 μs时钟 640 kHz单电源 +5V输入范围 0~+5V分辨率 8 位。
- 程序模板:
- 启动:`MOV AL, 通道号 / OUT 84H, AL`
- 等待:`CALL DELAY100`
- 读取:`IN AL, 84H`。
### 其他 ADC / DAC 芯片
- **DAC1210**12 位、双缓冲/单缓冲/直通、先送高 8 位再送低 4 位BYTE1/BYTE2线性误差 0.05%FS。
- **AD574**12 位逐次逼近型;转换时间 25 μs12 位)/16 μs8 位);单/双极性多种量程;引脚含 STS、12/8、CS、A0、R/C、CE。
### 采样保持器
- 工作原理采样K 闭合,跟踪)/ 保持K 断开,电容维持)。
- 关键指标:采集时间、孔径时间、下跌率;用于减小快速信号的孔径误差。
### 常见题型
- **计算题**
- 分辨率计算:`ΔV = FS / 2ⁿ`,如 FS=10V、n=10 → ΔV≈9.77 mV
- 量化误差±FS/2ⁿ⁺¹
- DAC0832 输出电压V = 5V · N / 255
- 逐次逼近 ADC 转换时钟数 = n与计数式 2ⁿ 次对比);
- ADC0809 转换时间 100 μsCPU 等待时间至少 100 μs。
- **简答题**
- 逐次逼近 ADC 工作过程;
- DAC0832 单缓冲与双缓冲方式的区别与适用场景;
- T 型电阻网络 D/A 转换原理;
- 香农采样定理内容及工程意义;
- ADC0809 与 CPU 的三种接口方式(等待 / 查询 / 中断)。
- **设计题**
- 给定传感器量程和精度要求(如 0~5V、误差 ≤ 5 mV计算所需 ADC 位数 n
FS=5V要求 5 mV 分辨率 → 5V / 5mV = 1000 → 2ⁿ ≥ 1000 → n ≥ 10 → 选 10 位或 12 位 ADC
- 根据采样信号频率选择 ADC 类型(如音频用 Σ-Δ、数字电压表用双积分、工业控制用逐次逼近、视频用 Flash
- 给定应用波形发生、示波器、X-Y 绘图)选择 DAC 工作方式(直通/单缓冲/双缓冲)。
### 易错点提示
- DAC0832 是**电流输出**,必须外接运放转电压,公式才有 `VOUT = a·D`
- 双缓冲"双缓冲"是**两级寄存器分别锁存**,而非"两个 DAC"
- ADC0809 **EOC 启动后为低**,结束变高,与一般"高电平有效"思维相反,注意时序图;
- ADC0809 与 DAC0832 一样,模拟地 AGND 与数字地 DGND 应分别走线,最后单点共地;
- 计数式 ADC 转换次数最多 2ⁿ逐次逼近固定 n 次——这是高频对比题。