学习嵌入式的第四十四天——ARM——I2C

1、什么是ADC?

模数转换器,把连续的模拟信号转换成离散的数字信号

2、什么是ADC的基准电压?

基准电压的核心作用:为量化提供 "标尺"

回顾 ADC 的核心转换步骤(采样→量化→编码),量化阶段是将 "采样得到的模拟电压值" 映射为 "离散数字码" 的关键环节,而基准电压正是这一映射过程的 "参照物"。其具体作用可拆解为两点:

1. 定义 ADC 的 "满量程输入范围"

基准电压直接决定了 ADC 能有效处理的模拟信号最大值(或范围):

  • 单极性 ADC (如常见的 0~5V 输入):满量程输入范围通常为 0 ~ \(V_{REF}\)(或 \(0 ~ 2\times V_{REF}\),需看芯片设计)。例如,若 \(V_{REF}=5V\),ADC 只能处理 0~5V 的模拟信号;若输入超过 5V,会导致 "溢出",输出数字码固定为最大值(如 12 位 ADC 的 4095)。
  • 双极性 ADC (需处理正负电压,如 - 5V~+5V):满量程输入范围通常为 \(-V_{REF} ~ +V_{REF}\)。此时基准电压同时定义了正、负方向的信号上限。
2. 决定 "1 个数字码(LSB)对应的模拟电压值"

ADC 的分辨率(位数)决定了数字码的总数(如 12 位 ADC 有 \(2^{12}=4096\) 个码),而基准电压则决定 "每个码代表多少实际模拟电压"------ 这一数值称为 "LSB 权重",是 ADC 能识别的最小模拟信号变化量,直接关联转换精度。

ADC 的转换精度不仅取决于自身的分辨率(位数)和非线性指标,更依赖于基准电压的性能 ------再高精度的 ADC,若搭配劣质的基准电压源,其实际转换效果也会大幅下降

3、逐次逼近ADC的工作原理是什么?

通过逐次逼近,把待测电压与参考电压的一半进行比较,小于参考比较值就把参考比较值除2再进行比较,大于参考就把该参考比较值除2再加上自身继续比较,直到到达该ADC的分辨率极限

1.采样:按照采样频率对连续模拟信号进行采样,抓取连续模拟信号的瞬时值,将连续时间信号转换成离散时间信号

2.量化:把采样出的离散时间信号值,映射到有限个离散的等级(量化电平)中,完成连续幅值到离散幅值的转换

3.编码:把量化后的离散等级转换为计算机能识别的二进制编码,最终输出数字信号

4、什么是ADC的分辨率?常见的分辨率有哪些?

ADC的分辨率就是ADC的位数,常见的分辨率有8位,10位,12位,16位

ADC的分辨率是衡量其对微小模拟信号变化的识别能力的核心指标,本质是 ADC 能区分的 "最小模拟信号增量"。它直接决定了 ADC 将连续模拟信号转化为离散数字信号时的 "精细程度"------ 分辨率越高,ADC 对模拟信号的细节捕捉越精准

5、假设采用12位分辨率,基准电压为3.3v,量化结果为n时的实际电压应该如何计算?

(3.3/2^12)*n

相关推荐
deng-c-f2 小时前
Linux C/C++ 学习日记(29):IO密集型与CPU密集型、CPU的调度与线程切换
linux·学习·线程·cpu·io密集·cpu密集
四谎真好看4 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
洋洋的笔记4 小时前
银行测试学习计划
学习
Allan_20255 小时前
数据库学习
数据库·学习
报错小能手5 小时前
linux学习笔记(43)网络编程——HTTPS (补充)
linux·网络·学习
报错小能手5 小时前
linux学习笔记(45)git详解
linux·笔记·学习
百锦再6 小时前
Vue Scoped样式混淆问题详解与解决方案
java·前端·javascript·数据库·vue.js·学习·.net
Larry_Yanan6 小时前
QML学习笔记(四十四)QML与C++交互:对QML对象设置objectName
开发语言·c++·笔记·qt·学习·ui·交互
Jeled7 小时前
AI: 生成Android自我学习路线规划与实战
android·学习·面试·kotlin
Larry_Yanan10 小时前
QML学习笔记(四十五)QML与C++交互:信号槽的双向实现
c++·笔记·qt·学习·ui·交互