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 工作原理(典型步骤)

  1. 采样(Sample)

    • 通过采样/保持电路(S/H)把输入电压"冻结"一小段时间。
  2. 量化(Quantize)

    • 把连续的采样电压与基准电压比较,分成 2^N 个等级。
  3. 编码(Encode)

    • 将等级编号输出为 N 位二进制码。
  4. 输出

    • 并行或串行接口把数字码送给处理器。

核心实现方式(不同 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

相关推荐
Alice-YUE1 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
北山有鸟2 小时前
修改源码法和插件法
嵌入式硬件·学习
richxu202510012 小时前
嵌入式学习之路->stm32篇->(14)通用定时器(上)
stm32·单片机·嵌入式硬件·学习
小陈phd2 小时前
TensorRT 入门完全指南(一)——从核心定义到生态工具全解析
人工智能·笔记
是上好佳佳佳呀2 小时前
【前端(十一)】JavaScript 语法基础笔记(多语言对比)
前端·javascript·笔记
qeen872 小时前
【数据结构】建堆的时间复杂度讨论与TOP-K问题
c语言·数据结构·c++·学习·
handler012 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
lizhihai_993 小时前
股市学习心得-六张分时保命图
大数据·人工智能·学习
其实防守也摸鱼3 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
nashane3 小时前
HarmonyOS 6学习:应用签名文件丢失处理与更新完全指南
学习·华为·harmonyos·harmonyos 5