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

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

[复制链接]
攻城狮Melo 发布时间:2023-4-16 21:15
1.什么是过采样
- J6 f; d% @; z4 \4 P1 Q: w2 Z
' W4 G4 d! c, {; n  过采样技术是一种以牺牲采样速度来提高ADC分辨率的技术。部分STM32单片机是支持硬件过采样的,如STM32G0系列。通过过采样,可以将12位的ADC提升到16位,非常实用。* h  p$ d9 r1 q' \7 {+ M+ O
) m. d0 |/ P* f# v$ o4 Q
450d5b1d6d97ed2d6772b3f3d05ce577.png
  _0 Q; W* J, g/ e* Z

+ Y4 ~% R! f. D9 e   根据过采样技术,每提高1位ADC分辨率,需要增加4倍的采样率。也就是说1次采样是12Bit,4次是13Bit,16次是14Bit,64次是15Bit,256次是16Bit,如果要更高分辨率,那么STM32的硬件过采样就无能为力了。7 Q& Q! n5 z0 t+ L" B  ~3 z7 p/ s

* j6 v7 x& z) e9 A- t% p   过采样主要通过配置ADC_SMPR寄存器的下面几位即可实现,配置移位位数、过采样倍数以及使能位。如下:
9 n2 z: `5 C+ v/ d; u3 V1 ^: z" V+ Y6 Q
fa88d7c44a90af458a9335127d4061da.png   M9 }- |: j* u0 \7 {2 M6 B- {/ v' K0 t
1 b- n5 Q- k: O
   最大可配置为256倍过采样,实现16位分辨率。当采用256倍过采样时,得到的结果是20位的,但ADC_DR寄存器是16位的,所以此时必须右移4位才行。如下图:* {! u( w% y& J5 C5 `7 y4 |( |/ P
. r9 A# {5 G/ u5 L9 x5 ~1 @
5bd8c38ae6203267d9dccc1b17fdce59.png
: ]1 v8 B" N6 |- ^8 o  p# Y! J2 Q: o+ V) n. l' [( @9 |! e
2.STM32CubeMX配置

1 {5 z# \- v9 y( |: P8 A
. u) k6 O8 X$ M" N: O! j4 r8 a+ ]1 b  ADC配置如下,使能了一个通道,打开DMA和连续采样。使能过采样,右移4位,256倍过采样。这样就可以直接当作16位ADC来用了。
( h" @- x& v* A" K2 ?7 s( Z5 Q# y7 d9 a- B% @9 ]
c5d5c9cd5271f9061f38dbe34a6e00f7.png
4 f" D3 t+ H, E3 g, x6 b
# s# A; A, _' \2 a: V  生成代码后,输入2.5V的电压,进行采样测试,程序如下:   
2 I2 n7 v; N/ s$ T4 z; D
  1. HAL_ADCEx_Calibration_Start(&hadc1);0 }, p  ^2 O( O4 x8 b! @- `
  2. HAL_Delay(200);
    & S+ I9 R( F, ~4 Q; @8 i/ r
  3. HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADC_Buf,100);
复制代码

9 i$ r' k; s1 P0 W  i' H   采样结果如下,可以看到,有最大4个字的跳动。当然这也跟硬件的布局布线等设计有关系。测试使用的开发板,效果不是特别好,但过采样对于提升分辨率还是有用的。$ y) A% V* k6 v4 _$ `$ k
: C+ ]  S! I# E! F  V% V
7a7aaf99ba554cb05e5730b1db34dfa4.png & d1 a$ @' v# D% w+ B, {" h7 @

3 J- I* j: Q4 C  J; j: U   如果再对结果进去求平均值,可以进一步提升分辨率,结果如下,基本上只有1个字的跳动。
" _2 ^0 N2 a- h* `
' a; [7 H0 }. f# h5 V  y
bd5cb7613a97108b7b9bf8f8819808f7.png   w9 t- [& P8 M5 a- U

% H/ R9 h- r5 Q/ d1 Q. h: |————————————————
8 t* S; Q0 d6 E, @% C0 k7 M2 q版权声明:天外飞仙CUG
2 S" I+ E* e0 A, ~9 K如有侵权请联系删除2 [6 ~- c0 R4 b  e

4 B) [  r8 A" }$ ?6 D# }' W/ S% c4 F8 }- o  o5 U! x. [3 f( Z$ m
  @: b. W: M+ ]* a$ w, g' u" Z
收藏 1 评论0 发布时间:2023-4-16 21:15

举报

0个回答

所属标签

相似分享

官网相关资源

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