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

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

[复制链接]
攻城狮Melo 发布时间:2023-4-16 21:15
1.什么是过采样
' @8 `) N! k+ o2 T' M7 |5 p: Y/ |: ?* p+ q% f! f/ y! Q3 |7 i1 L
  过采样技术是一种以牺牲采样速度来提高ADC分辨率的技术。部分STM32单片机是支持硬件过采样的,如STM32G0系列。通过过采样,可以将12位的ADC提升到16位,非常实用。
6 `4 G) `4 U' Q; ]  Y
0 K3 \. Z. B( j3 a  n$ {
450d5b1d6d97ed2d6772b3f3d05ce577.png ( o5 }# Q; N& L' @5 N* r- ^5 \
# I2 o4 j" P1 J% D
   根据过采样技术,每提高1位ADC分辨率,需要增加4倍的采样率。也就是说1次采样是12Bit,4次是13Bit,16次是14Bit,64次是15Bit,256次是16Bit,如果要更高分辨率,那么STM32的硬件过采样就无能为力了。
" H) P" F  A, f- ?+ N; L0 q) a/ T9 \
; l0 Q- J7 e+ g$ o& m8 B   过采样主要通过配置ADC_SMPR寄存器的下面几位即可实现,配置移位位数、过采样倍数以及使能位。如下:# z* _& t6 N+ O& B6 d

/ {* k- f* e+ y  c; ]9 W
fa88d7c44a90af458a9335127d4061da.png
: S" m1 H9 [: f: V0 {
# m1 q( j; L) y   最大可配置为256倍过采样,实现16位分辨率。当采用256倍过采样时,得到的结果是20位的,但ADC_DR寄存器是16位的,所以此时必须右移4位才行。如下图:
, W) Y0 P. d! w7 z- g( c; b. a- W$ G$ E9 p+ e8 S* i8 H
5bd8c38ae6203267d9dccc1b17fdce59.png & x  i6 J( O" k9 |7 f: L/ w

3 c9 t0 M  k) b( @2.STM32CubeMX配置

7 S9 c8 |# l' V0 ?1 a9 ~
, ~( s1 _: p; K) ]& E- C6 ~" m  ADC配置如下,使能了一个通道,打开DMA和连续采样。使能过采样,右移4位,256倍过采样。这样就可以直接当作16位ADC来用了。
2 [: I2 |& t4 C3 F; c1 C
- }. W/ W% [5 h4 [
c5d5c9cd5271f9061f38dbe34a6e00f7.png ; H" l0 n( |% x* J+ {

, r! c: M9 P! E  {0 o% _: M* T  生成代码后,输入2.5V的电压,进行采样测试,程序如下:   
7 E+ C6 b  t' P6 Y# {
  1. HAL_ADCEx_Calibration_Start(&hadc1);
    2 H5 W3 x' n# O# s& }2 y0 F
  2. HAL_Delay(200);
    # ^: {# u1 I0 \. \; ]; ^  Q
  3. HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADC_Buf,100);
复制代码

; l1 f; O$ ?! i% e3 X: s" ]   采样结果如下,可以看到,有最大4个字的跳动。当然这也跟硬件的布局布线等设计有关系。测试使用的开发板,效果不是特别好,但过采样对于提升分辨率还是有用的。
) \* L+ f. L* ~9 p# N  x1 S( D" z( O4 w6 i
7a7aaf99ba554cb05e5730b1db34dfa4.png - `' R7 i; M( T1 O7 {* \, }

! v( U- C- }3 R7 T. X   如果再对结果进去求平均值,可以进一步提升分辨率,结果如下,基本上只有1个字的跳动。' C6 w( b& L% z1 S. C* f

2 s$ G7 U" u5 M8 C
bd5cb7613a97108b7b9bf8f8819808f7.png
. j8 r! `$ u( z% i% {4 g$ o/ X( o3 ~/ x0 A- J- j
————————————————
" B" {* r2 U" D1 S- p# E版权声明:天外飞仙CUG; q5 m1 q% |/ [; S) N' _  ^
如有侵权请联系删除/ o0 H. p! G3 J$ H; W8 N
8 M2 m9 q& `  [2 m( r8 S
: |2 Z1 t( T4 \, d6 P

; c/ D" d# \4 r/ ?" |
收藏 1 评论0 发布时间:2023-4-16 21:15

举报

0个回答

所属标签

相似分享

官网相关资源

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