基本
ADC(Analog-to-Digital Converter,模数转换器) 是嵌入式系统中连接物理世界与数字系统的核心组件,其作用是将连续的模拟信号(如传感器输出的电压、电流)转换为离散的数字信号,供微控制器或处理器处理。
工作原理
采样(Sampling)
以固定间隔捕获模拟信号的瞬时值。采样率需满足奈奎斯特定理,即采样频率至少为信号最高频率的两倍,以避免混叠失真。
量化(Quantization)
将采样值映射到最近的离散电平。量化精度由分辨率(位数)决定,例如12位ADC可区分4096个电平,分辨率越高,精度越高。
编码(Encoding)
将量化结果转换为二进制代码,供数字系统处理。编码方式通常为右对齐或左对齐。
类型与特点
逐次逼近型(SAR, Successive Approximation Register)
原理:通过二分法逐步逼近输入电压,类似“猜数字”游戏。
特点:中速(1 MSPS以内)、高精度(12-18位)、低功耗。适用于传感器接口、医疗设备(如心电图机)。
闪存型(Flash ADC)
原理:并行比较所有电平,一步完成转换。
特点:超高速(GSPS级)、低分辨率(通常8位)。电路复杂度高,功耗和成本随分辨率指数增长。
流水线型(Pipeline ADC)
原理:将转换过程分解为多级,每级处理部分比特,并行流水操作。
特点:高速(10 MSPS-1 GSPS)、中等精度(8-14位)。用于视频处理、通信系统(如软件定义无线电)。
Σ-Δ型(Sigma-Delta ADC)
原理:通过过采样和噪声整形提升精度,积分器+1位DAC结构。
特点:超高精度(16-32位)、抗噪性强,但速度低(<100 kSPS)。适用于音频处理、精密测量(如电子秤)。
关键参数

误差来源与校准方法
常见误差
量化误差:分辨率有限导致,可通过增加位数或抖动技术缓解。
非线性误差:DNL(微分非线性):相邻电平的步进差异。INL(积分非线性):整体转换特性与理想直线的偏差。
通道不匹配:时间交织ADC中多通道增益、偏移差异。
噪声干扰:电源噪声、电磁干扰(EMI)影响精度
校准方法
硬件校准:通过精密电阻匹配、参考电压源(如TL431)提升精度
软件校准:
两点校准:利用已知输入电压(如0V和Vref)计算增益和偏移。
统计校准:对多次采样结果取平均,减少随机噪声。
数字校准算法:针对时间交织ADC的通道误差,通过插值和重建技术调整采样点。
使用例(stm32)
单通道采集
连续转换功能未开启时
连续转换功能开启时

多通道采集
工作逻辑
ADC的规则组可有多通道,启动后对通道进行采样和转换,其结果放入规则通道寄存器,ADC_SR的EOC置为1;
HAL_ADC_PollForConversion函数负责反复检查ADC状态寄存器(ADC_SR)中的转换结束标志位(EOC)是否为1;
HAL_ADC_GetValue读取数据寄存器时,EOC = 0;
if(ADC连续转换enable){
对规则组中的通道连续工作;
}else if(ADC扫描模式enable){
连续对规则组中的通道依次工作;
//多通道下
//可用DMA通道搬运数据;
}
1828

被折叠的 条评论
为什么被折叠?



