# 第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-2R)D/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 mV;12 位 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 译码); - 数字量 N(00H~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 位分辨率**,电流型输出; - VREF:−10V ~ +10V;可双缓冲 / 单缓冲 / 直接输入; - 单电源 +5V ~ +15V;建立时间 1 μs;R-2R T 型解码网络; - 线性误差 0.05% FS;TTL 兼容。 - 内部结构含 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 μs;AD574 约 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 μs,8 位时 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-2R)D/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ⁿ⁺¹。 - **多路开关** CD4051:8 通道、地址 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 μs(12 位)/16 μs(8 位);单/双极性多种量程;引脚含 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 μs,CPU 等待时间至少 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 次——这是高频对比题。