20250929的学习笔记
ADC
1. 什么是 ADC?
ADC = Analog-to-Digital Converter(模数转换器)
功能:把连续变化的模拟电压转换成离散的数字编码,以便 MCU/DSP/CPU 处理。
存在于几乎所有嵌入式/物联网/测量设备中,是连接“真实世界”与“数字世界”的桥梁。
2. 什么是 ADC 的基准电压(Vref)?
基准电压 = ADC 用来量化模拟输入的“标尺”。
数字输出 = (Vin / Vref) × (2^N − 1) ,其中 N 为分辨率。
要求:
低噪声、低温度漂移
通常用专用电压基准芯片(如 TL431、REF3030、ADR440)或高精度 LDO。
常见值:1.024 V、2.048 V、2.5 V、3.0 V、3.3 V、5.0 V。
注意:Vin 不得超过 Vref(多数器件 Vin ≤ Vref)。
3. ADC 工作原理(典型步骤)
采样(Sample)
通过采样/保持电路(S/H)把输入电压“冻结”一小段时间。
量化(Quantize)
把连续的采样电压与基准电压比较,分成 2^N 个等级。
编码(Encode)
将等级编号输出为 N 位二进制码。
输出
并行或串行接口把数字码送给处理器。
核心实现方式(不同 ADC 架构)
逐次逼近型(SAR)—— 速度快、中等精度、成本低 → MCU 内置主流。
ΔΣ(Delta-Sigma)—— 高分辨率(16-24 bit)、高有效位数,速度较低 → 音频、测量。
闪存/并行(Flash)—— 超高速、低分辨率 → 射频采样、示波器前端。
流水线(Pipeline)—— 高速+中高分辨率 → 图像/通信基站。
4. ADC 分辨率
定义:能够输出的二进制位数(bit 数),决定最小可分辨电压(LSB)。
LSB 电压 = Vref / 2^N
常见分辨率
位 数 等级数 最小分辨(LSB, Vref=3.3 V 例) 典型场景 8 bit 256 12.89 mV 玩具、简单传感器 10 bit 1024 3.22 mV 早期 Arduino、STM32F1 12 bit 4096 0.805 mV 当前主流 MCU(STM32F3/G4、GD32、ESP32-S3) 14 bit 16384 0.201 mV 精密采集卡、电机控制 16 bit 65536 50.3 µV 医疗、工业传感器 18-24 bit 262k-16M < 1 µV 音频、衡器、地震仪 - 分辨率↑ → 量化噪声↓,但转换时间↑、成本↑、对基准/布局/噪声更敏感。
5.计算电压例题
假设采用12位分辨率,基准电压为3.3v,量化结果为n时的实际电压应该如何计算?
量化公式(12 位,单端,0-Vref 范围):
实际电压 = n × (Vref / 4096)
= n × (3.3 V / 4096)
≈ n × 0.805 664 mV
例:
n = 2048 → 2048 × 0.805 664 mV ≈ 1.650 V