
关于STM32G431的过采样ADC电压表【例程分享】 STM32G4是一款ST最新推出的Cortex-M4的低功耗ARM 处理器。它的一个亮点是可运行过采样技术使得ADC达到16位转换精度。 过采样单元执行数据预处理能够处理多个ADC转换,并将它们的平均数据宽度增加到最大16位的数据。 . Y: W+ Z6 I) F" ^ ![]() 过采样率N和除法系数M可以调整。 硬件实现以下功能:平均、数据速率降低、信噪比提高、基本滤波。 N使用ADC CFGR2寄存器中的OVFS[2:0]位定义的,其范围可以从2x到256x。2 q$ c8 ^6 s( ?8 i% ` M由高达8bit的右移位组成,并使用ADCCFGR2寄存器中的OVSS[3:0]位定义。2 G. J% h3 D2 G" v7 v" Q 求和单元可以产生高达20位(256x12位结果)的结果,该结果首先右移,然后将其截断为16个最低有效位,使用移位留下的最低有效位四舍五入到最近的值,最后再被传输到ADC-DR数据寄存器。 硬件:开发板使用STM32G431Nucleo,利用空余IO口外接了1片OLED显示屏,PA0外接1电位器输入AVDD的分压值,见图1 ![]() 图1 软件:% b+ Q0 z1 \: m3 ^& N2 ?1 V 在CubeMX中建立一个工程,配置过采样率N=128、除法系数M=3; . D3 {/ O% D7 ?2 c, ]+ ? Q3 D: L. n ' q8 C; M8 l9 {5 y( r( T ![]() 图2 ' l: X, e4 a% y3 M 4 }- I8 z: W, a* |, Z+ n* t( c; k过采样ADC配置部分代码:
P U, E0 h5 B# h0 ^ 运行结果:16位过采样ADC转换结果非常稳定,转换后未经任何软件滤波处理,显示的读数只在最后1位偶尔跳动1个数字。 ![]() 5 t8 M) B( q0 I" b ![]() |
谢谢分享 |
支持一下 |
![]() ![]() |
謝謝 |
感谢,我这个过采样遇到了问题 |
STM32ADC过采样及几种ADC采样的处理方法
STM32的启动模式配置与应用
STM32固件库分享,超全系列整理
STM32G系列RS485自动收发控制以及自适应波特率实战
【学习指南】基于STM32G474VET6 开发板实验经验分享(三)
【学习指南】基于STM32G474VET6 开发板实验经验分享(二)
【学习指南】基于STM32G474VET6 开发板基础实验经验分享一
【学习指南】基于STM32G474软件平台安装与使用教程
【学习指南】基于STM32G474VET6 开发板硬件资源解析
STM32 Explore | 基于STM32G474的STM32Cube生态系统线下培训