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