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

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

[复制链接]
攻城狮Melo 发布时间:2023-4-16 21:15
1.什么是过采样2 `- P9 ^& L1 t" s6 G! Q, i

* u, [7 T+ ?) a$ _# ?  过采样技术是一种以牺牲采样速度来提高ADC分辨率的技术。部分STM32单片机是支持硬件过采样的,如STM32G0系列。通过过采样,可以将12位的ADC提升到16位,非常实用。) @4 F: `7 K3 C$ F

; H4 C6 U" w9 X/ ^0 X% H 450d5b1d6d97ed2d6772b3f3d05ce577.png
1 Q: h9 u9 ]$ X9 l- a7 z

1 p# _/ B7 Q2 t& K   根据过采样技术,每提高1位ADC分辨率,需要增加4倍的采样率。也就是说1次采样是12Bit,4次是13Bit,16次是14Bit,64次是15Bit,256次是16Bit,如果要更高分辨率,那么STM32的硬件过采样就无能为力了。: \& T3 R: N% l7 \! H+ O
6 c) ^3 P' d( i' s3 ~$ X
   过采样主要通过配置ADC_SMPR寄存器的下面几位即可实现,配置移位位数、过采样倍数以及使能位。如下:1 I2 _) I5 ~. B* Y
- j, G- I9 T: U) x7 K+ N  B
fa88d7c44a90af458a9335127d4061da.png 8 L- ?& w6 S# S+ d) t, E" g
3 A! q' v  e- o; R( F* S& R
   最大可配置为256倍过采样,实现16位分辨率。当采用256倍过采样时,得到的结果是20位的,但ADC_DR寄存器是16位的,所以此时必须右移4位才行。如下图:
1 c% z& n+ M( P9 {$ A4 ~: ^* I
  i0 w+ B: V' i
5bd8c38ae6203267d9dccc1b17fdce59.png
, ?+ c5 K3 n0 y$ _) m+ ^0 f0 Z1 N6 y
2.STM32CubeMX配置

; w: p$ c/ A; K  Z/ G+ z& a- i. v' R0 l8 r- o1 A# Z1 C
  ADC配置如下,使能了一个通道,打开DMA和连续采样。使能过采样,右移4位,256倍过采样。这样就可以直接当作16位ADC来用了。
0 Q5 O  v) B' }0 n/ m# U$ N5 J$ K7 q/ E" A
c5d5c9cd5271f9061f38dbe34a6e00f7.png
6 W( J8 C5 V& }) I) Q; D+ S7 C  T& N& |: u
  生成代码后,输入2.5V的电压,进行采样测试,程序如下:   2 b6 c! I% ^7 \+ }; k$ k
  1. HAL_ADCEx_Calibration_Start(&hadc1);1 O+ M0 ]0 B" Y  m/ V
  2. HAL_Delay(200);$ u' t( r  b* N
  3. HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADC_Buf,100);
复制代码

; P) e' w/ Z: V   采样结果如下,可以看到,有最大4个字的跳动。当然这也跟硬件的布局布线等设计有关系。测试使用的开发板,效果不是特别好,但过采样对于提升分辨率还是有用的。9 @- X2 w; z/ P) {. Q

" r) a  K9 {% g
7a7aaf99ba554cb05e5730b1db34dfa4.png ' A2 ~: F: r5 j) U
9 Y/ U0 j3 O# i: s
   如果再对结果进去求平均值,可以进一步提升分辨率,结果如下,基本上只有1个字的跳动。* q# N* o* k' j# i2 |

; r: L1 F* A7 M/ K7 h% Q, z
bd5cb7613a97108b7b9bf8f8819808f7.png * }, c+ K" D1 y5 T2 d) Q4 C

5 w- K. D1 |8 Z; F2 p3 ~————————————————
; l  i0 d  A/ B: r% h! `8 i+ K5 V版权声明:天外飞仙CUG/ p' ]$ {. b4 _1 D1 h& K
如有侵权请联系删除# r) W% z" G1 f6 E, d3 K: W$ c" b6 [

- M% t8 A. G1 h, `0 t! y# }; {" r, f9 `

# O" C$ v! x/ a$ E  q/ G
赞 收藏 1 评论0 发布时间:2023-4-16 21:15

举报

0个回答

所属标签

相似技术帖

官网相关资源

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