关于STM32G431的过采样ADC电压表【例程分享】 3 a" w; ~, E& b$ |% _: K$ u; ` STM32G4是一款ST最新推出的Cortex-M4的低功耗ARM 处理器。它的一个亮点是可运行过采样技术使得ADC达到16位转换精度。 5 o7 Y& Q0 n' ]- c5 X过采样单元执行数据预处理能够处理多个ADC转换,并将它们的平均数据宽度增加到最大16位的数据。 * V+ L6 }( b% Y* O 过采样率N和除法系数M可以调整。 硬件实现以下功能:平均、数据速率降低、信噪比提高、基本滤波。 N使用ADC CFGR2寄存器中的OVFS[2:0]位定义的,其范围可以从2x到256x。 M由高达8bit的右移位组成,并使用ADCCFGR2寄存器中的OVSS[3:0]位定义。 求和单元可以产生高达20位(256x12位结果)的结果,该结果首先右移,然后将其截断为16个最低有效位,使用移位留下的最低有效位四舍五入到最近的值,最后再被传输到ADC-DR数据寄存器。9 L" M+ w: x3 V% J 硬件:开发板使用STM32G431Nucleo,利用空余IO口外接了1片OLED显示屏,PA0外接1电位器输入AVDD的分压值,见图1( e; d! i; P9 n, L* p. q, o f ( a" t3 B7 }( z9 ?; ~ 图17 ~+ k: [* b, q7 v* j 软件:8 M' y1 K" x/ x8 a. y0 ? n 在CubeMX中建立一个工程,配置过采样率N=128、除法系数M=3; 图2 {& ~0 V$ x! H2 C i6 B% E1 y. T- Z! ]# ?- S9 | 过采样ADC配置部分代码:
' R: }0 t9 y G2 ? 运行结果:16位过采样ADC转换结果非常稳定,转换后未经任何软件滤波处理,显示的读数只在最后1位偶尔跳动1个数字。 ) w6 V5 }/ \# p1 y% j0 [4 g8 N |
谢谢分享 |
支持一下 |
|
謝謝 |
感谢,我这个过采样遇到了问题 |
STM32固件库分享,超全系列整理
【经验分享】STM32G4_CORDIC与定点带符号整数数据格式
STM32的CAN FD位定时设置注意事项
基于STM32G474 中 Triggered-half 模式的实现
基于STM32G4的数字控制 15kW双向PFC
基于STM32G431简介
今天14:00 | 基于STM32的MATLAB电机控制方案直播
基于STM32G474外红外接收经验分享
STMG431RBT6之LCD模块
STM32G431RBT6--LED模块入门