STM32G071开发笔记:12位ADC过采样实现最高20位分辨率

本文介绍了如何在STM32G071G8单片机上利用ADC过采样技术提高20位分辨率,通过STM32cubeMx配置ADC,比较了开启和未开启过采样的信噪比效果,显示硬件过采样在低采样速度场景下能有效提升信噪比。
摘要由CSDN通过智能技术生成

RT:这个帖子是用于记录如何使用STM32G071G8单片机的ADC过采样硬件支持实现最高20位分辨率的过程。

1.什么是过采样

  过采样技术是一种以牺牲采样速度来提高ADC分辨率和提高信噪比的技术。部分STM32单片机是支持硬件过采样的,比如我现在这个STM32G071G8。可以通过配置过采样将12位的ADC提升到最高20位。通过查看RM0444参考手册得知,通过配置ADC_CFGR2寄存器可以实现最高20bit的采样率,但是因为STM32的ADC寄存器最大只有16bit,所以实际使用需要右移4位舍去最低值。

2.配置方式

使用STM32cubeMx打开ADC配置选项,选择需要使用的ADC通道并配置好采样采样参数,然后按需打开过采样,因为我的项目需要一定的采样速度所以选择了16x,通过查询手册可以得知现在是16位的模式,并右移了4位舍去了最低值,最终得到一个精度更高的12位数据。

2.对此测试

 这个是一个电流采样到的ADC值经过串口输出,并打印到串口助手(未打开过采样)

这个是原始没有经过过采样的电流曲线(上面的第一条是原始采样数据,第二条是经过算法滤波后的结果,可见抖动幅度都还是很大)

下面这个结果是打开了硬件过采样技术,可以看到使用了硬件过采样后的结果是立竿见影的,信噪比马上就提高了不少,少了很多本底噪音。所以STM32G0的这个硬件过采样用于对采样速度不高的场合提高信噪比还是很有作用的。

至此这个配置方法记录就完成了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值