你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于STM32G431的过采样ADC电压表【例程分享】

[复制链接]
wenyangzeng 发布时间:2020-8-6 15:43
关于STM32G431的过采样ADC电压表【例程分享】

    STM32G4是一款ST最新推出的Cortex-M4的低功耗ARM 处理器。它的一个亮点是可运行过采样技术使得ADC达到16位转换精度。
   过采样单元执行数据预处理能够处理多个ADC转换,并将它们的平均数据宽度增加到最大16位的数据。

t0.png
   过采样率N和除法系数M可以调整。 硬件实现以下功能:平均、数据速率降低、信噪比提高、基本滤波。
    N使用ADC CFGR2寄存器中的OVFS[2:0]位定义的,其范围可以从2x到256x。
    M由高达8bit的右移位组成,并使用ADCCFGR2寄存器中的OVSS[3:0]位定义。
    求和单元可以产生高达20位(256x12位结果)的结果,该结果首先右移,然后将其截断为16个最低有效位,使用移位留下的最低有效位四舍五入到最近的值,最后再被传输到ADC-DR数据寄存器。

硬件:开发板使用STM32G431Nucleo,利用空余IO口外接了1片OLED显示屏,PA0外接1电位器输入AVDD的分压值,见图1

t1.png
                                        图1
软件:
在CubeMX中建立一个工程,配置过采样率N=128、除法系数M=3;


      t2.png                               

        图2



过采样ADC配置部分代码:

  1. hadc1.Init.OversamplingMode = ENABLE;
  2. hadc1.Init.Oversampling.Ratio = ADC_OVERSAMPLING_RATIO_128;
  3. hadc1.Init.Oversampling.RightBitShift = ADC_RIGHTBITSHIFT_3;
  4. hadc1.Init.Oversampling.TriggeredMode = ADC_TRIGGEREDMODE_SINGLE_TRIGGER;
  5. hadc1.Init.Oversampling.OversamplingStopReset = ADC_REGOVERSAMPLING_CONTINUED_MODE;

复制代码



    运行结果:16位过采样ADC转换结果非常稳定,转换后未经任何软件滤波处理,显示的读数只在最后1位偶尔跳动1个数字。

t3.png

基于STM32G431过采样电压表.part01.rar (7.3 MB, 下载次数: 45)
收藏 评论3 发布时间:2020-8-6 15:43

举报

3个回答
乐天乐 回答时间:2020-8-6 18:25:33
谢谢分享
likang1202 回答时间:2020-8-13 09:23:11
支持一下
mark.png
wenyangzeng 回答时间:2020-8-13 10:14:23

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版