news 2026/3/11 0:15:25

ADC相关

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ADC相关

1.简述 IIC 的读时序

  1. 主机发送起始信号(S):SDA 从高变低,SCL 保持高电平;
  2. 主机发送7 位 / 10 位从机地址 + 读位(R=1),SCL 同步时钟,从机接收后返回ACK 应答(SDA 拉低);
  3. 数据传输:从机逐位发送数据字节,主机接收,接收完成后主机返回ACK(多字节读)或NACK(单字节读 / 最后一字节);
  4. 主机发送停止信号(P):SCL 高电平时,SDA 从低变高,结束读操作。关键:SDA 数据在 SCL 高电平时稳定,低电平时允许变化;非应答是主机告知从机停止发数的核心信号。

2. 什么是 ADC?

ADC(Analog-to-Digital Converter,模数转换器)是将连续变化的模拟信号(如电压、电流,对应传感器的温度、湿度、压力等物理量)转换为离散的数字信号的电子器件 / 模块,是模拟系统与数字系统(如 MCU、单片机)之间的核心接口,让数字设备能识别、处理模拟物理量。

3. 什么是 ADC 的基准电压?

ADC 的基准电压是 ADC 转换的电压标尺 / 参考标准,是 ADC 量化模拟输入电压的唯一依据,分为正基准电压(Vref+)和负基准电压(Vref-,通常接地为 0V)。ADC 的输入模拟电压范围被基准电压限定(一般为 0~Vref+),基准电压的精度和稳定性直接决定 ADC 的转换精度,若基准电压漂移,转换结果会产生固定误差。

4. ADC 的工作原理

ADC 核心是采样、保持、量化、编码四个步骤

  1. 采样:按固定采样频率对连续的模拟输入电压进行 “快照”,提取某一时刻的电压值;
  2. 保持:将采样得到的瞬时电压值保持一段时间,为后续量化提供稳定的电压信号;
  3. 量化:将保持的模拟电压与基准电压分割的等距电压阶跃对比,将连续电压映射为离散的整数等级(量化值);
  4. 编码:将量化得到的整数等级转换为对应的二进制数字(如 12 位 ADC 输出 0~4095 的二进制数),完成数模转换。
  5. 逐次逼近:通过内部 DAC 生成参考电压,与输入模拟电压逐次比较,从高位到低位确定每一位的 0/1,最终得到二进制结果,兼顾速度和精度,适合 MCU 内置场景。

5. ADC 的分辨率?常见的分辨率有哪些?

(1)ADC 的分辨率

分辨率是 ADC 能区分的最小模拟电压变化量,表征 ADC 对模拟信号的精细识别能力,通常以 ** 二进制位数(bit)** 表示。分辨率的数值意义:若 ADC 为 N 位,其将基准电压范围分割为 2N 个等距量化区间,最小可分辨电压(量化步长)= 基准电压 / 2N;位数越高,量化步长越小,分辨率越高,识别的电压变化越精细。

(2)常见的分辨率

MCU / 嵌入式场景中最常用,按精度从低到高:

  • 8 位:分割为 256 个区间,适用于对精度要求低的场景(如简易温湿度检测);
  • 10 位:分割为 1024 个区间,通用场景(如普通传感器、电压检测);
  • 12 位:分割为 4096 个区间,中高精度场景(如工业传感器、精密电压采集);
  • 16 位:分割为 65536 个区间,高精度场景(如工业测控、精密仪器);此外,工业专用 ADC 还有 24 位超高精度版本,适用于实验室、高端测控领域。

6. 12 位 ADC、基准电压 3.3V,量化结果 n 的实际电压计算

核心公式

12 位 ADC 的量化区间数为 2^12=4096,量化步长(最小可分辨电压)= 基准电压 / 4096,因此实际输入电压:

数值简化

3.3/4096≈0.000805664V=0.805664mV,即每 1 个量化值 n 对应约 0.8057mV 的电压。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/10 4:05:17

别再问了,Sealos 私有化部署就这几步

最近被问私有化部署的问题快问麻了,干脆写一篇彻底说清楚。顺便拉几个"老朋友"出来比比,你们自己看哪个更适合。先说说市面上都有谁私有化部署云平台这条赛道,玩家其实不少:Rancher、KubeSphere、OpenShift。每个都说自…

作者头像 李华
网站建设 2026/3/10 11:37:56

使用安装包快速体验 TDengine TSDB

为了能够快速体验 TDengine TSDB 的完整功能,推荐您使用 TDengine TSDB-Enterprise. 本节首先介绍如何通过安装包快速安装 TDengine TSDB-Enterprise, 然后介绍如何在 Linux 环境下体验 TDengine TSDB 的写入、查询、可视化管理、与 Grafana 集成和零代码数据写入等…

作者头像 李华
网站建设 2026/3/9 1:02:08

invokedynamic

🚀 Java字节码 invokedynamic 深度解析 📚 什么是 invokedynamic? invokedynamic 是 Java 7 引入的字节码指令,用于实现动态语言特性和Lambda表达式。它是 Java 字节码中第5个方法调用指令。 传统的4个调用指令: i…

作者头像 李华