当前位置: 首页 > news >正文

硬件(十三)模拟转数字ADC转换

在嵌入式系统与信号处理领域,模拟信号与数字信号的转换是核心环节之一。温度、湿度、压力等物理量经传感器检测后,输出的往往是连续变化的模拟电压信号,而微控制器等数字电路仅能处理离散的数字码。ADC(模数转换器)正是连接这两个世界的 “桥梁”,其性能直接决定了信号采集与处理的精度。

一、ADC 核心定义:模拟与数字世界的 “翻译官”

ADC(Analog-to-Digital Converter,模数转换器)的本质功能,是将连续变化的模拟电压信号转换为离散的数字编码。这种转换能力使得自然界的物理量(如光照强度、声音波形)能够被数字电路识别、运算、存储和传输。

举个典型应用场景:温湿度传感器检测环境后输出 0-3.3V 的模拟电压,ADC 可将该电压转换为对应的 8 位、12 位等数字码(例如 0-255、0-4095),微控制器接收数字码后,再通过校准公式反推出实际的温湿度值 —— 这一过程的核心就是 ADC 的 “翻译” 作用。

二、ADC 核心参数 1:分辨率 —— 决定转换精度的 “标尺”

分辨率是衡量 ADC 转换精度的核心指标,直接决定了模拟信号被 “量化” 的精细程度,其单位为二进制位数(n 位)

1. 分辨率的本质:量化电平的数量

ADC 会将参考电压范围内的模拟信号,划分为若干个离散的 “量化电平”,每个电平对应一个唯一的数字码。分辨率越高(n 值越大),量化电平数量越多,对模拟信号的描述就越细腻,转换误差也越小。

量化电平的数量与分辨率的关系为:量化电平数 = 2ⁿ
例如:8 位 ADC 有 2⁸=256 个量化电平,12 位 ADC 有 2¹²=4096 个量化电平。

2. 量化步长:最小可分辨电压

不同量化电平之间的电压间隔,被称为 “最小可分辨电压” 或 “量化步长”,是判断 ADC 能否识别微小电压变化的关键。其计算公式为:
ΔV = 参考电压(Vref) / 2ⁿ

举例说明:

若参考电压 Vref=5V,分别计算 8 位和 12 位 ADC 的量化步长:

  • 8 位 ADC:ΔV = 5V / 2⁸ = 5V / 256 ≈ 19.53mV(即最小能识别约 19.5mV 的电压变化)
  • 12 位 ADC:ΔV = 5V / 2¹² = 5V / 4096 ≈ 1.22mV(能识别更微小的 1.22mV 电压变化)

显然,相同参考电压下,分辨率越高,量化步长越小,转换精度越高。

3. 常见分辨率与应用场景

  • 8 位:适用于精度要求较低的场景(如简单电平检测、LED 亮度调节);
  • 10-12 位:主流嵌入式场景(如普通传感器数据采集、电池电压监测);
  • 16 位:高精度场景(如工业仪表、医疗设备);
  • 24 位:超高精度场景(如实验室测量、精密传感)。

三、ADC 核心参数 2:参考电压 —— 转换的 “基准标尺”

参考电压(Vref)是 ADC 量化模拟信号的 “基准”,直接决定了 ADC 的输入电压测量范围(通常为 0~Vref),同时与分辨率共同影响转换精度。

1. 参考电压与数字码的对应关系

ADC 输出的数字码与输入模拟电压(Vin)的换算公式为:
Vin = (数字输出码 / (2ⁿ - 1)) × Vref

举例说明:

若 Vref=5V,8 位 ADC 输出数字码为 128,计算输入电压:
Vin = (128 / (256 - 1)) × 5V ≈ (128 / 255) × 5V ≈ 2.51V

2. 参考电压的选择原则

参考电压的精度直接影响 ADC 的转换结果:若 Vref 本身不稳定(如随温度漂移),即使分辨率再高,转换精度也会下降。因此实际应用中需根据需求选择:

  • 普通场景:可使用微控制器内置的参考电压(如 3.3V、5V);
  • 高精度场景:需选用外置精密参考电压芯片(如 TL431),保证 Vref 的稳定性。

四、主流 ADC 架构:逐次逼近型 ADC(SAR-ADC)工作原理

ADC 的架构多样,其中逐次逼近型 ADC(SAR-ADC) 因兼顾速度、精度与成本,成为嵌入式系统中应用最广泛的类型(如 STM32、Arduino 的内置 ADC 多为此类)。其核心优势是 “高效比较”—— 仅需 n 次比较即可得到 n 位数字码,而非低效的 2ⁿ次遍历。

逐次逼近的工作流程

SAR-ADC 的核心由逐次逼近寄存器(SAR) 和DAC(数模转换器) 构成,工作过程类似 “天平称重”,从最高位到最低位逐步确定每一位的数值:

  1. 初始化寄存器:将 SAR 的最高位(MSB)置为 1,其余位清零(例如 8 位 ADC 初始为 1000 0000);
  2. DAC 转换与比较:SAR 中的数字码经 DAC 转换为对应的 “比较电压(Vcmp)”,将该电压与输入模拟电压(Vin)送入比较器:
    • 若 Vin > Vcmp:说明当前位的 “1” 是合理的,保留该位为 1;
    • 若 Vin <Vcmp:说明当前位的 “1” 过大,将该位清零;
  3. 逐位确认:移动到下一个次高位,重复步骤 2 的 “置位 - 转换 - 比较” 过程;
  4. 输出结果:经过 n 次比较后,SAR 中保存的数字码即为最终的转换结果。

举例:3 位 SAR-ADC 的转换过程(Vref=8V,Vin=5.2V)

  1. 初始 SAR=100 → DAC 输出 Vcmp=4V → 5.2V>4V → 保留最高位,SAR=100;
  2. 次高位置 1 → SAR=110 → DAC 输出 Vcmp=6V → 5.2V<6V → 次高位清零,SAR=100;
  3. 最低位置 1 → SAR=101 → DAC 输出 Vcmp=5V → 5.2V>5V → 保留最低位,SAR=101;
  4. 最终输出数字码 101(对应 5V),与实际 5.2V 的误差为 0.2V(由分辨率决定)。

五、关键辅助电路:采样保持电路(S/H)的作用

ADC 的转换需要一定时间(转换时间),而输入的模拟信号可能在转换过程中持续变化(如声音波形、快速变化的传感器信号)。若直接对变化的信号转换,会导致 “孔径误差”—— 转换结果与实际信号值偏差。

采样保持电路(Sample & Hold, S/H) 正是解决这一问题的关键:

  • 采样阶段:电路快速跟踪输入信号,在 “采样瞬间” 锁定当前电压值;
  • 保持阶段:电路将锁定的电压值稳定输出,直至 ADC 转换完成;
  • 核心效果:为 ADC 提供一个稳定的输入电压,彻底消除转换期间信号变化带来的误差。

总结

ADC 作为模拟与数字世界的核心接口,其性能由分辨率、参考电压等参数决定,而架构与辅助电路则影响转换效率与稳定性。逐次逼近型 ADC 凭借 “n 次比较得 n 位结果” 的高效特性,成为嵌入式场景的首选;采样保持电路则为动态信号的精准转换提供保障。


文章转载自:

http://LpnTmv44.xrqkm.cn
http://rT4QDJv7.xrqkm.cn
http://T64kVcy3.xrqkm.cn
http://ns4zXKcB.xrqkm.cn
http://iBIfSNhP.xrqkm.cn
http://gNSHwy9I.xrqkm.cn
http://YOz38Kpa.xrqkm.cn
http://mJ4Xp5Bu.xrqkm.cn
http://r5M3iJCW.xrqkm.cn
http://9KCId5fd.xrqkm.cn
http://rMpIpA7d.xrqkm.cn
http://5ZZVyynv.xrqkm.cn
http://7lZR6569.xrqkm.cn
http://zcDs0hf3.xrqkm.cn
http://Ui0Yf8d9.xrqkm.cn
http://PYozBfaa.xrqkm.cn
http://WAli1Fw0.xrqkm.cn
http://PCq4zWAy.xrqkm.cn
http://tZ3vHGzK.xrqkm.cn
http://Y2wKTv39.xrqkm.cn
http://Rxq9WWsJ.xrqkm.cn
http://ZbkYpmI8.xrqkm.cn
http://NSpcSAeC.xrqkm.cn
http://MSCWNL2o.xrqkm.cn
http://JfxOYHzY.xrqkm.cn
http://ayIWVAkB.xrqkm.cn
http://IIo6ENiF.xrqkm.cn
http://L0CwPGdJ.xrqkm.cn
http://Gd3grkiM.xrqkm.cn
http://BdZp7pfC.xrqkm.cn
http://www.dtcms.com/a/387463.html

相关文章:

  • OpenEuler系统下部署MySQL数据库
  • 异步MySQL连接池实现
  • 用Python 连接 MySQL数据库测试实战脚本(文中含源代码)
  • vue中下载文件保存格式和加密方式
  • typescript和vue和node项目的构建打包部署
  • Chat2DB+cpolar组合突破物理限制,成为数据库查询新解
  • Power BI 组件 AI Chart 技术解析:自然语言驱动的可视化革新
  • 【Linux网络】网络传输基本流程
  • 【开题答辩全过程】以 Boss直聘网站数据分析与可视化为例,包含答辩的问题和答案
  • 基于 Node.js 的后端框架:NestJS 和 Express(一)
  • Python 2025:现代Web开发与数据分析的融合新趋势
  • 数据可视化:点亮数据背后的价值
  • 微信小程序答题考试源码系统+独立部署教程 适配学校 / 企业 / 培训机构
  • Apache JMeter介绍(开源的性能测试工具,主要用于对软件系统、服务器、网络或对象进行压力测试和性能测试)
  • 叠衣服的最优解:机器人如何用语言指令完成复杂家务
  • jmeter 数据库连接配置 JDBC Connection Configuration
  • 神经网络与深度学习基础:从线性回归到分类模型
  • Jmeter 参数、设置相关
  • jmeter 提取变量设置为全局变量
  • open61499:重新定义工业编程,让复杂自动化变简单
  • 基于MATLAB的支持向量数据描述算法
  • 超越重命名:如何利用高级规则实现文件的精准自动化分类保存
  • Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
  • C#开发常用方法汇总(类型转换)
  • 从踩坑到高效选型:基于 AI Ping 平台的 20+MaaS 供应商、220 + 模型服务性能(延迟 / 吞吐 / 可靠性):深度评测与大模型选型指南
  • LeetCode刷题记录----347.前K个高频元素(Medium)
  • Windows 部署hexo并启动自己的博客
  • 建议对下载的geo原始数据进行低表达基因过滤**,这是数据预处理的关键步骤之一,可提升后续分析(如差异表达、WGCNA)的准确性和可靠性
  • MySQL 数据库备份与恢复
  • SQLite 数据库简介