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

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

[复制链接]
攻城狮Melo 发布时间:2023-4-16 21:15
1.什么是过采样; _2 j; K% E# y0 ~1 }, ^
: s& x" x$ N6 U% \# j. H3 `
  过采样技术是一种以牺牲采样速度来提高ADC分辨率的技术。部分STM32单片机是支持硬件过采样的,如STM32G0系列。通过过采样,可以将12位的ADC提升到16位,非常实用。
1 o! ]& ]* u' U& h7 w  y

7 H2 W4 ^8 ]% ^5 }; Q, i 450d5b1d6d97ed2d6772b3f3d05ce577.png
7 ^* K! w$ K0 q, h6 [& \

2 R0 I/ h. T! A) E1 z7 E* e   根据过采样技术,每提高1位ADC分辨率,需要增加4倍的采样率。也就是说1次采样是12Bit,4次是13Bit,16次是14Bit,64次是15Bit,256次是16Bit,如果要更高分辨率,那么STM32的硬件过采样就无能为力了。
7 I( x' {$ g3 s' z7 X" `; M$ b# _0 I& O& D# b8 h
   过采样主要通过配置ADC_SMPR寄存器的下面几位即可实现,配置移位位数、过采样倍数以及使能位。如下:3 L$ T5 Z- }* c4 E- s, ]: R. ]4 X! k, F9 I
3 a0 e( t& J, B' o1 }& s/ Q# w+ S
fa88d7c44a90af458a9335127d4061da.png
% Y, }$ t0 Y2 K  `) }9 N$ t
* X0 P7 C2 o, e3 C6 r   最大可配置为256倍过采样,实现16位分辨率。当采用256倍过采样时,得到的结果是20位的,但ADC_DR寄存器是16位的,所以此时必须右移4位才行。如下图:# m) _  A, q; ?/ t7 A2 R, D: @

2 i! \" \$ O4 e. f6 @. _
5bd8c38ae6203267d9dccc1b17fdce59.png ( n# q% f% Y' n! l# u

+ e5 o/ ], }3 f2 a! S2.STM32CubeMX配置

  F* f: [  K/ j- D0 I
5 h- K* x9 z) m  ADC配置如下,使能了一个通道,打开DMA和连续采样。使能过采样,右移4位,256倍过采样。这样就可以直接当作16位ADC来用了。
' o: j1 o9 X/ Y+ d# ?$ W( A+ z/ n+ ~# R" @5 [/ e9 G3 n
c5d5c9cd5271f9061f38dbe34a6e00f7.png . S) M% c' m. N" G+ }& v, {  f( l

. c2 A' i4 K2 N+ A2 {  生成代码后,输入2.5V的电压,进行采样测试,程序如下:   2 `1 ^4 r8 e- S0 e  {+ z3 v2 f' W
  1. HAL_ADCEx_Calibration_Start(&hadc1);/ U5 i7 e* f2 k
  2. HAL_Delay(200);
    3 K% ~& v  h5 s# j: |' C
  3. HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADC_Buf,100);
复制代码
0 I+ ]0 r4 L# w& F5 j2 X2 M
   采样结果如下,可以看到,有最大4个字的跳动。当然这也跟硬件的布局布线等设计有关系。测试使用的开发板,效果不是特别好,但过采样对于提升分辨率还是有用的。" b1 O% E1 o! t( m& u
+ w+ v/ C7 A$ G
7a7aaf99ba554cb05e5730b1db34dfa4.png 3 j* B7 y  l5 n! b7 ~; C( k; o3 V

7 i1 w( _, X( g# u   如果再对结果进去求平均值,可以进一步提升分辨率,结果如下,基本上只有1个字的跳动。
) m+ D, u: @" K3 H6 x3 j& r# W; b/ p0 ?0 X+ c2 i% L5 X& S
bd5cb7613a97108b7b9bf8f8819808f7.png
6 l, x1 `) L; N& s0 r8 h# X$ H. }4 i# P! S7 y  X! `; k2 C
————————————————
- X! Q4 }/ S" g0 R, U8 U版权声明:天外飞仙CUG
  I9 |4 I5 Y* ]2 c! C如有侵权请联系删除( n& P, r! v, E0 T* k  Y7 O
7 [6 ?# G1 u# ~) Y

: E+ T% c+ D: i" A% v5 J4 ~( W, g; f. {2 E7 x
收藏 1 评论0 发布时间:2023-4-16 21:15

举报

0个回答

所属标签

相似分享

官网相关资源

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