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

基于STM32的12位ADC过采样实现16位分辨率经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-16 21:15
1.什么是过采样
, a. f* ~8 C6 u5 R
; g/ l9 S1 Y9 m4 C" Z  过采样技术是一种以牺牲采样速度来提高ADC分辨率的技术。部分STM32单片机是支持硬件过采样的,如STM32G0系列。通过过采样,可以将12位的ADC提升到16位,非常实用。* b4 ?+ `6 y; b- u/ e& C/ W
; h0 w3 ~  ]8 H4 {3 u# L! t
450d5b1d6d97ed2d6772b3f3d05ce577.png 9 i$ J  M7 {2 x' Z' m5 H8 N

6 M$ Y! O3 ~: x6 \5 g, ?   根据过采样技术,每提高1位ADC分辨率,需要增加4倍的采样率。也就是说1次采样是12Bit,4次是13Bit,16次是14Bit,64次是15Bit,256次是16Bit,如果要更高分辨率,那么STM32的硬件过采样就无能为力了。
' x, M4 @4 x: @" P( z
. N, [! `2 s( o, e# c: A   过采样主要通过配置ADC_SMPR寄存器的下面几位即可实现,配置移位位数、过采样倍数以及使能位。如下:
+ }: f$ q! B! d8 w5 ?
# e0 \  \# {2 `1 j/ F
fa88d7c44a90af458a9335127d4061da.png 9 J. I7 n8 H# y- i9 Q+ C
$ i3 y2 `) ^9 }
   最大可配置为256倍过采样,实现16位分辨率。当采用256倍过采样时,得到的结果是20位的,但ADC_DR寄存器是16位的,所以此时必须右移4位才行。如下图:4 c) T6 p7 P0 G$ A) [7 S- k
0 N; d- [0 y; D# a; l# o; U
5bd8c38ae6203267d9dccc1b17fdce59.png - Q  S- _: ~7 n& ?& ^& p) l2 _5 ~; e2 I

) L8 R3 ?3 l7 @! l0 D0 {. n2.STM32CubeMX配置
: E! F; j# n9 P! `- z. d

0 c5 h* k) ]5 S; y8 B7 N  ADC配置如下,使能了一个通道,打开DMA和连续采样。使能过采样,右移4位,256倍过采样。这样就可以直接当作16位ADC来用了。( r' j' {% I, e$ B6 h8 O

3 ]8 L( ]6 ^6 ~/ m
c5d5c9cd5271f9061f38dbe34a6e00f7.png
( s5 [2 q: y* o( D' e+ A
8 Q  l. k- d, J' D. i! t5 U- U  生成代码后,输入2.5V的电压,进行采样测试,程序如下:   
4 ]% G, f/ L' j6 Y
  1. HAL_ADCEx_Calibration_Start(&hadc1);
    ! [6 E* N4 @  V! j
  2. HAL_Delay(200);
    9 e8 g/ ?* I3 Q; B3 G
  3. HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADC_Buf,100);
复制代码
2 F& M' N: [8 v3 p( ?  Z2 _
   采样结果如下,可以看到,有最大4个字的跳动。当然这也跟硬件的布局布线等设计有关系。测试使用的开发板,效果不是特别好,但过采样对于提升分辨率还是有用的。$ a5 X( W) }1 I# _4 z) L, z! |
' U- R0 `7 p$ M- K. b
7a7aaf99ba554cb05e5730b1db34dfa4.png : e( [$ B) A* g
- P1 A( q5 k$ h, G' g1 U- l
   如果再对结果进去求平均值,可以进一步提升分辨率,结果如下,基本上只有1个字的跳动。
! }; d" n2 I  \8 u: P4 i7 x/ D/ ?
" {+ ?+ c' F  Q
bd5cb7613a97108b7b9bf8f8819808f7.png ( S+ }% \+ X3 C+ y. Q& g

/ W: K  {6 j! S————————————————
7 A+ H2 ~. r' j" f- P版权声明:天外飞仙CUG0 h$ h: Q$ I$ s- K% a$ K
如有侵权请联系删除' N+ K5 J/ S  {  x* R( v0 U) K- ]) x

2 W9 M) f1 D6 p! `6 y: a
" |0 L7 B6 l3 x0 [1 _0 ~
* ^; Z0 `- V3 S$ T- q" @
赞 收藏 1 评论0 发布时间:2023-4-16 21:15

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版