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

【中文文档】AN4073_使用STM32F2xx和STM32F4xx微控制器时如何提...

[复制链接]
STMCU-管管 发布时间:2019-4-4 10:21
使用 STM32F2xx 和 STM32F4xx 微控制器时如何提高 ADC 测量精度

前言

本应用笔记旨在展示对于使用 STM32F2xx 和 STM32F4xx 微控制器的应用,怎样提高其A/D 转换的精度。

本文还讲解了可应用于降低 ADC 误差的固件方法,给出了为得到更好的 ADC 精度,编写固件的一些通用技巧。

请注意,本应用笔记提供的数据仅供参考。除非特别指出,测量条件皆为实验室典型条件而非生产环境。

表 1 列出了本应用笔记涉及的微控制器。
1.png

1 会影响 ADC 精度的参数概述

模数转换的精度会影响系统的质量和效率。为提高精度,您需要理解与 ADC 有关的误差,以及对它们有影响的参数。

ADC 本身无法确保结果的精度。它取决于您的系统设计。因此,在您开始开发之前,需要仔细的做些准备。

具体影响 ADC 精度的参数与应用密切相关。比较常见的因素有:PCB 布局、参考电压源、I/O 切换所造成的影响和模拟输入源的输出阻抗。

若需 ADC 误差的更详细信息,请参考应用笔记 AN2834:如何在 STM32F10xxx 器件中得到最佳的 ADC 精度及 AN3137:STM8L 器件上的 A/D 转换器。

2 提高转换精度的固件技巧

2.1 平均

平均是一个简单的技巧,即您对模拟输入多次采样,取所有转换结果的均值。此技巧有助于消除模拟输入上的噪声或错误转换的影响。

2.1.1 平均 N 个 ADC 采样

当使用此方法时,采样数最好为 2 的倍数 (N 应为 2 的倍数)。这会使平均计算更有效率,因为对转换值之和求平均时的除法可通过向右移位做到。这节省了 CPU 时间和执行除法算法所需的代码存储器 (在 Cortex-Mx 内核中,右移操作仅花费 1 个 CPU 周期)。
1.png

此平均技巧用于测量一个模拟输入引脚上的电压。总共 N 个转换计算平均。这在固件中用循环做到。

1.png

总转换时间 = (采样数 * ADC 转换时间) + 计算时间。

计算时间 = 读取结果、相加、将总数除以采样数的平均计算所花费的时间。

总转换时间和用于平均的采样数之间存在折中,取决于模拟信号的变化范围及计算可用的时间。

注: 若需所用代码源的更详细信息,请参考附录 A。

2.1.2 平均 N-X 个 ADC 采样

此方法基于先取 N 个 ADC 采样,将它们从最大值到最小值 (或相反顺序)排序,然后删除两端的 X 个采样。

建议选择 N 和 X 为 2 的倍数。

此平均方法比之前一个更有效,因为它删除了会影响平均的两端值,而且它在执行时间和转换精度之间给出了一个较好的折中。

...........

想了解更多,请下载原文阅读

收藏 评论2 发布时间:2019-4-4 10:21

举报

2个回答
Kevin_G 回答时间:2019-4-8 09:48:30
点赞
单片机爱好者 回答时间:2019-5-26 23:41:53
支持~~~~~~~~~~~
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版