STM32 ADC

基本

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通道搬运数据;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值