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

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

[复制链接]
攻城狮Melo 发布时间:2023-4-16 21:15
1.什么是过采样
2 w; s  {) {  l4 l' D% n9 I$ M4 ^& d3 i# q/ D$ `
  过采样技术是一种以牺牲采样速度来提高ADC分辨率的技术。部分STM32单片机是支持硬件过采样的,如STM32G0系列。通过过采样,可以将12位的ADC提升到16位,非常实用。
$ P4 L  I+ _3 L# g4 ^% T( V
' k* M! L$ C$ b
450d5b1d6d97ed2d6772b3f3d05ce577.png
3 K1 n' q" g% J) ^6 q$ ?5 ?
  d! U. z9 W* V4 E3 Q% l6 G* z
   根据过采样技术,每提高1位ADC分辨率,需要增加4倍的采样率。也就是说1次采样是12Bit,4次是13Bit,16次是14Bit,64次是15Bit,256次是16Bit,如果要更高分辨率,那么STM32的硬件过采样就无能为力了。
" y  s; V3 u; W1 p0 |" K( h$ T9 d
   过采样主要通过配置ADC_SMPR寄存器的下面几位即可实现,配置移位位数、过采样倍数以及使能位。如下:' C# o" x8 Y# K- y  G' q

1 Y7 G" |1 T) D) |
fa88d7c44a90af458a9335127d4061da.png
0 o/ b3 k# J7 L3 ^  j7 {; f. r5 t1 y" u( J8 e. o3 r2 W
   最大可配置为256倍过采样,实现16位分辨率。当采用256倍过采样时,得到的结果是20位的,但ADC_DR寄存器是16位的,所以此时必须右移4位才行。如下图:
- t# A/ r8 f! v7 j
( ^4 T1 W1 B1 A: t
5bd8c38ae6203267d9dccc1b17fdce59.png
/ u/ E) E* B( E
$ k( _. M& f' S3 f, p1 f- q2.STM32CubeMX配置

2 J0 n/ D5 }4 v% d, I# |+ a6 z& h* w0 T$ |- ~- o4 N
  ADC配置如下,使能了一个通道,打开DMA和连续采样。使能过采样,右移4位,256倍过采样。这样就可以直接当作16位ADC来用了。( E4 h/ b; q9 \9 o  t8 ^
3 W& O" J3 U5 g1 j* K8 P  m
c5d5c9cd5271f9061f38dbe34a6e00f7.png ! {6 \/ g: K/ y: o  e  K3 o
7 @  K$ d9 y  s
  生成代码后,输入2.5V的电压,进行采样测试,程序如下:   
1 @5 s2 ?7 A6 O0 P0 R4 t
  1. HAL_ADCEx_Calibration_Start(&hadc1);+ ~9 H" f8 I* l$ A5 \) a9 v# D
  2. HAL_Delay(200);
    : e; Z" K% Q7 T& ?, p, {, s) u8 N
  3. HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADC_Buf,100);
复制代码
" p: t4 b8 a, w  G0 c2 I
   采样结果如下,可以看到,有最大4个字的跳动。当然这也跟硬件的布局布线等设计有关系。测试使用的开发板,效果不是特别好,但过采样对于提升分辨率还是有用的。6 H9 s# c. o( @' k

  L0 A: g2 V2 B& V: }  l7 j
7a7aaf99ba554cb05e5730b1db34dfa4.png
) f5 A2 [$ j$ [- L4 d8 O1 Y- n4 k( J* [& ^- m# f9 a. ~4 [* b
   如果再对结果进去求平均值,可以进一步提升分辨率,结果如下,基本上只有1个字的跳动。7 Y5 K0 `4 A- z7 G+ n8 ?' d5 h
1 K4 ]3 M/ P+ d2 P! D
bd5cb7613a97108b7b9bf8f8819808f7.png 0 m  x4 \* b. K! ^' P* b

0 u7 J6 P& t0 `: T0 s" P. z————————————————3 t' c/ c! M3 T% r) O6 O
版权声明:天外飞仙CUG" a: c9 n+ I% [/ r0 X6 u
如有侵权请联系删除% @. U. H1 N4 Y- T8 D0 G, k2 a

8 t4 r& f: r4 k$ b7 Z* r" t2 x+ T5 C/ g8 ^& n0 _
7 B; D" g' V5 m2 K# p8 l$ q( u
赞 收藏 1 评论0 发布时间:2023-4-16 21:15

举报

0个回答

所属标签

相似技术帖

官网相关资源

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