核心内容摘要
看完就会:MBA专属降AI率工具,千笔·专业降AIGC智能体 VS 灵感风暴AI
ADC模数转换器技术详解
什么是ADCADCAnalog-to-Digital Converter即模拟-数字转换器是一种将连续变化的模拟信号转换为离散数字信号的电子设备或模块。
特性输入连续模拟信号通常是电压信号输出离散数字信号二进制代码作用作为物理世界与数字系统如微处理器、微控制器之间的桥梁典型应用场景传感器信号采集温度、光照、压力等音频信号处理工业测量与控制医疗电子设备
什么是ADC的基准电压基准电压是ADC进行转换的参考标准决定了ADC的测量范围和精度。
关键概念ADC_VREFH参考电压高电平如i.MX6ULL中的ADC_VREFH引脚ADC_VREFL参考电压低电平通常接地测量范围输入模拟电压必须在VREFL和VREFH之间i.MX6ULL ADC参考电压配置[REFSEL] b12-b11电压参考源选择 00 使用VREFH/VREFL引脚的外部参考电压通常VREFH接
3VVREFL接GND0V输入电压超过基准电压范围会导致结果饱和全0或全
ADC的工作原理基本转换过程以逐次逼近型ADC为例模拟信号 → 采样保持 → 量化 → 编码 → 数字输出(
采样Sampling以固定时间间隔采集模拟信号的瞬时值奈奎斯特采样定理采样频率必须大于信号最高频率的2倍(
保持Hold保持采样值稳定便于ADC进行转换i.MX6ULL配置选项[ADLSMP] b4长采样时间配置 [ADSTS] b9-b8采样时间选择(
量化Quantization将连续幅度离散化将采样值映射到最接近的离散电平量化误差 ±1/2 LSB(
编码Encoding将量化后的电平转换为二进制代码i.MX6ULL支持多种分辨率[MODE] b3-b2转换模式选择分辨率 00 8位单端 01 10位单端 10 12位单端常用 11 10位差分
什么是ADC的分辨率定义分辨率表示ADC能够区分的最小输入电压变化通常用位数表示。
常见分辨率位数量化级数理论精度应用场景8位
2
39%简单控制10位
1
098%一般测量12位
4
024%精密测量i.MX6ULL支持14位
1
0061%高精度测量16位
6
0015%专业仪器24位
1
7M
000006%高精度传感器i.MX6ULL ADC分辨率配置// 配置为12位分辨率 ADCx_CFG | (0x2
; // MODE[3:2]
电压计算公式12位分辨率
3V基准基本公式212×4096×
3Vactual212n×Vref4096n×
3V推导过程分辨率12位 → 2¹² 4096个量化级每个LSB代表的电压
4
34096≈
0008057≈
806LSB4096Vref
4
3V≈
0008057V≈
806mV实际电压计算××
34096Vactualn×LSBn×
4
3V计算示例量化结果n实际电压计算电压值00/4096 ×
3V0V20482048/4096 ×
3V
65V40954095/4096 ×
3V≈
2992V代码实现// 将ADC原始值转换为电压值12位分辨率
3V基准 float adc_to_voltage(uint16_t adc_value) { // 确保值在有效范围内 if (adc_value
adc_value 4095; // 计算电压值 float voltage (float)adc_value *
3f /
4