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

【经验分享】STM32F37x的SDADC使用流程(一)

[复制链接]
STMCU小助手 发布时间:2021-12-5 10:34
STM32F37x系列微控制器整合了带有DSP与FPU指令、工作频率72MHz的32位ARM Cortex-4内核和高级模拟外设。
8 r5 B6 Y4 f. [! a9 l; D; \% ?5 {
2 ?- F: J" W7 p) {7 \16位SDADC概述:
% w+ B- G3 @6 C' r1 \& E- w: r( l0 J% Y7 F3 T
1. 主要特征: (1)包含3个SDADC,                     
, }3 T( Q$ n4 b! h(2)有效位数14位                     ; `+ _  q9 t  d/ b2 N0 R3 d1 ]) `  Y/ Q
(3)五个差分输入对,9个单端输入。                    
: I+ [  [9 r5 O(4)在不同通道之间复用时,为16.6ksps输入采样率。单通道工作时输入采样率50ksps。                      ; g1 C4 [6 n; J5 W- R- [
(5)可增益编程x0.5 x1 x2 x4 x8 x16 x32                     
$ A4 u6 f, E, _0 o+ F/ \) R- H(6)可选参考电压:VDDSD,1.22V,1.8V及VREF。) F" I- V. h4 |" U- e6 c5 l

$ b( e/ b- V% h  M" [8 `& z2. 时钟选择: & ?% Q9 }; A& h: S% Z! m% G
(1)典型工作频率为,快速模式下的6MHz和man慢速模式下的1.5MHz。
* T) i. [4 c$ T8 J. r3 B6 O& t; z; ?$ J+ W( I9 b" b
                                 系统时钟SYSCLK为72MHz时
; [, n4 T* m9 l! j; h. b2 j3 J/ F# A# B; r3 W- C+ j0 J
                                 快速模式:预分频 = 72MHz/6MHz = 12
/ d7 i6 b5 l+ n. `, q8 S/ t, T( F9 t. R0 Y: A, f  X0 p
                                 慢速模式:预分频 = 72MHz/1.5MHz = 48
6 c8 J& t7 @4 X9 I7 h' b. z' K8 Q* S0 F1 P0 p1 o5 C1 q/ d
3. 输入模式:  (1)差分模式
1 Z- [+ a0 ?# F, \; n2 n
/ E8 i1 K4 o8 _8 Z: h8 {应用场景:当所用传感器产生的电流非常小,易受噪声影响,推荐使用差分,当使用热电偶和桥式传感器) T2 _. A. t/ x9 Y9 f
0 m6 Z: D1 `. T; G5 G' ]7 Z
时,尤其如此。差分模式中,SDADC转换的是SDADCx_AINyP 和 SDADCx_AINyM的差值。结果可能是正也可能是负。取决于
1 A) X1 m+ `" I5 W% T/ e) G9 r- i. j. t# d. n, _8 x1 R% W* P
哪个输入的电压高。
) s& E5 d$ a. ?& e, R# c
# U6 \+ g+ k' x; NSDADC 无法测量负电压,并且每个通道的输入电压都必须在器件的电气极限之内。2 @& X7 }0 U6 u2 f* A% m8 B
输入范围为 [-Vref/(2*gain), + Vref/(2*gain)],转换值范围为 [-32767, +32767]。即增益为1的情况下,最大输入值为参考电压的一半。9 v' C) X' I# E: F! f; @3 B

1 }. `4 f* e( g. ~  S示例:
$ a; m8 @# q5 I% O& I对于 1.22V 的参考电压, 1 倍增益,输入范围为 +/- 0.61V  K1 C$ `5 v2 T1 `
公式为:4 I; R. ^$ s+ E" V' [# j1 }
Vin = SDADCx_AINyP - SDADCx_AINyM = ReadData * Vref/(2 x gain x 32767)+ o& G' T. p6 c; c
其中, ReadData 为 SDADC 数据寄存器的两个补充读数据 (SDADCx_JDATAR 或SDADCx_RDATAR)
$ F6 W+ e' c5 S3 G6 l+ ]
; k1 P, t: r" c& U7 Y: \+ F
2019070816340345.png

/ J# k' N/ A3 O* r: G! }  S
  x. ?: m* C0 P! v# e7 \1 P(2)单端偏移模式1 c4 E7 l: H0 l1 V4 e

# }+ ?6 k% {! V8 r/ \) U) Y在单端偏移模式中, 通过将负输入内部连至0 V进行转换, 负输入的相应引脚(SDADCx_AINyM)
. j2 F3 P8 u6 [  D$ @6 p( t可用作其它用处。要测量的信号施加于正输入 SDADCx_AINyP。此工作模式与差分模式类
& P/ @) R0 s8 ?6 F似,只是输出数据范围仅为 0 到 +32767,而不是 –32767 到 +32767,因此有一半的动态范* Q6 T4 g3 j4 ^5 o; T
围损失,导致 SNR 下降。8 u: E2 G  A4 @' H* W+ P9 K2 z
公式为:
  D3 h" \+ P9 F9 J- SVin = SDADCx_AINyP = ReadData * Vref/(2 x 增益 x 32767)
! N4 Z: J, U6 r9 U  P$ n% `1 ?4 l( C/ J4 c' ^
20190708164224478.png

8 X+ M( f( z5 S& N6 E9 |
5 Q% d, k  P% f# K7 e! p: U3 t) \; v                        (3)单端零参考模式
$ {/ U$ e2 m- \. S- |( c
5 d, z4 X* @  t  n5 D! `信号施加于正输入 SDADCx_AINyP,负输入设为信号参考 (一般为 0 V)。此模式将一半标: _( r. u) p& H  @
度的输入共模注入 ADC,以此保持了与差分模式一样的动态范围 (-32767 到 +32767)。在
9 I6 w+ ^  [$ z- |2 `此模式中,注入的共模取决于增益变化。5 y: \" S3 j$ H6 Y
公式为:0 d$ v  l8 c+ v# D- |) G# h
Vin = SDADCx_AINyP = (ReadData + 32767) * Vref/( 增益 x 65535)
. l# |9 P" }9 h" y* e% c4 ~4 o: R' v3 K7 o
20190708164254879.png

3 W5 L! a7 p7 v9 [& u5 S
/ J& f6 m3 e$ h9 a当通道 p (p 为偶数)用于差分模式中时,通道 p+1 会自动用作负输入
: G1 r7 [4 B' e, C+ H" ~# r6 c+ Q(SDADCx_AINyM),因此通道 p+1 不能用于单端模式 (零参考模式或偏移模式)。  O8 ?+ {/ O3 z9 n: a
当通道 4 配置于差分模式中时,通道会 5 自动用作负输入,因此通道 5 不能用于单端偏移模
1 [( \: A( @. w式或单端零参考模式- L5 C4 L2 O8 I6 J' C
2 m9 e$ i6 W+ H: ~% }* w

" B- E* `1 ]3 f& g6 R  G$ Y
1 z. J: r; n6 X1 u7 Q5 |  g' t& D7 {/ o/ v9 d. z' ?

4 w, b; `1 S0 s+ @0 A6 a1 N
收藏 评论0 发布时间:2021-12-5 10:34

举报

0个回答

所属标签

相似分享

官网相关资源

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