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

STM32F37x/38x SDADC (Sigma-Delta ADC)入门

[复制链接]
STMCU小助手 发布时间:2022-7-17 22:22
前言
: r) C3 ?9 L( TSTM32F37x/38x 系列微控制器整合了带有 DSP 与 FPU 指令、工作频率为 72 MHz 的 32 位ARM Cortex-M4 内核和高级模拟外设。% @- I3 ^2 G5 p
此系列是 Cortex-M4 内核和精确 16 位 Sigma-Delta ADC 的结合。
7 b$ {. `( v! a/ N# J& M6 }本文概述了 SDADC 的主要特性,并演示了怎样在各种应用案例中使用 SDADC。本文用举例的方法演示了四个应用案例。
0 T7 ]; S( t4 ?2 r! c; F/ l5 M1. 使用 PT100 的温度测量- n1 i1 H9 d! l
2. 使用 MPX2102A 的压力测量8 T1 Z' _. {& W% u$ l8 V6 q
3. 录音机
2 `: r5 n1 k- o9 C5 F, l4. 心电图 (ECG)捕获" A. O/ z$ p& }( G1 B/ _
为帮助您快速上手,四个应用案例都用 C 语言实现,并作为 STM32F37x/38x DSP 和标准外设库包 stm32f37x_dsp_stdperiph_lib 和 STM32373C-EVAL 演示固件包 stm32373c-eval_fw.的一部分  _, ^% L' v. y+ k
请注意,本文并不能取代 STM32F37x/STM32F38x 参考手册 RM0313 中的 Sigma-Delta 模数转换器 (SDADC)一节。
( E# n2 ?5 i9 E1 C+ P3 K本文中给出的所有数值仅作参考。请参考相关的数据手册以获取有效的最新数据。6 @! Y6 y& z3 e  H: t- j' p  ~

5 a; O  q; ^7 q) h8 t' D2 M
1E@H9PEW4FQY_NG_Z5PGTO5.png
, u: O; H& i0 M3 }8 v+ V# S( z
* e7 ?8 F5 @2 v& b9 Q
1 sigma-delta 转换器基础/ F& X. h/ J" E- X' ]# I
Sigma-delta 转换器又称过采样转换器,它包含两个基本电路:调制器和数字滤波器(1)。
6 {1 S. M6 ]; b  ]7 ~9 v6 I2 O' \在调制器中,输入信号被加至数模转换器 (DAC)输出的负反馈信号。通过集成电路之后,信号的差值到达比较器的输入 (1 位 ADC),在此与参考电压比较 (比较器作为 1 位量化器工作)。比较器的输入信号 (1 位 ADC)控制着 1 位转换器,到达数字滤波器的输入。数字滤波器降低流速,将 1 位的流转换为 16 位的字。使用的滤波器拓扑确保了低通的阶为 Sinc³。
" J$ T; V! o7 _4 x, G
: ?' H) Z& g. B$ r+ b# U
$KD~M%`3{1NAME@%ZYAU[MY.png & z' p1 b0 `" x  a; E' a/ v
% P5 V5 _# G6 {4 M

: ~( H0 e% @& l5 S7 ]. `2 c2 16 SDADC 概述
. o  y& @6 ?3 a: f( j2.1 主要特性
$ c$ Y# ~. A3 K% V$ w+ oSTM32F37x/38x 器件具有三个嵌入式 Sigma-Delta 模数转换器(SDADC)。它们可以同步,且每一个都有下列主要特性:; D( ?9 a: Q+ H% g2 Q$ k
有效位数 (ENOB)等于 14 位 $ k  r9 L# _8 j; N! q7 n
5 个差分输入对,或者 9 个单端输入,或它们的组合9 n* @  c3 O7 \- |
高性能数据吞吐量:2 w% K! _# h/ ^' ?
当在不同通道之间复用时,为 16.6 ksps 输入采样率$ A4 s/ o  ?9 \
单通道工作时为 50 ksps 输入采样率
% G2 {: e/ {: K2 T" U: w* t可编程增益:x0.5、 x1、 x2、 x4、 x8、 x16 及 x32
" s: H) S; p& V7 w$ S可选参考电压:VDDSD、 1.22 V、 1.8 V 及 VREF8 M! U" ^. K1 p" w2 m6 {- L- `

0 X& e+ q) v1 Q9 j& k% r
2.1.1 时钟选择
3 P, F" }' R( @0 a6 CSDADC 时钟由 SDADCCLK 提供,它按可选的倍数将系统时钟(SYSCLK)预分频:2、4、 6、 8、 10、 12、 14、 16、 20、 24、 28、 32、 36、 40、 44 和 48。
  c1 Q$ h1 l# {# [, W. ?8 jSDADC 的典型工作频率为快速模式下 6 MHz 及慢速模式下 1.5 MHz。/ ~- ~% h/ N# U6 c# U3 G6 F
示例
6 e! G/ |0 B- ^8 u8 R+ G如果 SYSCLK 设为 72 MHz,则 SDADC 分频器应设为 SYSCLK/ 典型频率:: g6 c( x7 D' w/ K; Y1 j3 l7 t( S
快速模式:预分频 = 72 MHz / 6 MHz = 12! |/ D% }( e/ d/ C( A# A! l7 s
低速模式:预分频 = 72 MHz / 1.5 MHz = 48
* l( J) m$ h7 W) c/ G8 I8 A4 u% }6 g8 m$ I( _
2.1.2 输入模式( n. r$ ]0 x( |0 U& r- S
SDADC 有三种可能的输入模式,也可组合使用。6 a. H1 _7 C/ ?, t) I# H) V: d
差分模式:; I8 L5 h6 W, t' Y
单端偏移模式
& h  d2 D, X$ R( a0 r2 b; G单端零参考模式
" m' M3 P0 j; t  |# [4 f) r7 V% s, R8 }1 ~9 j4 t- m& R. W
差分模式
" p% u6 D0 _1 z8 f当所用传感器产生的信号非常小,易受噪声影响时,推荐使用差分模式。当使用热电偶和桥式传感器 (压力传感器)时,尤其如此。
& d3 c% |+ K- x在差分模式中,SDADC 转换的是 SDADCx_AINyP 和 SDADCx_AINyM 的差值。结果可能是正值或负值,取决于哪个输入电压更高。0 h9 m  u0 ?& h/ L
: SDADC 无法测量负电压,并且每个通道的输入电压都必须在器件的电气极限之内。$ X6 d! u% S, Z+ d
输入范围为 [-Vref/(2*gain), + Vref/(2*gain)],转换值范围为 [-32767, +32767]
  P, z) N, m5 V' p& p& w# J. K, c# V* k/ B
示例:& }, J# V4 t3 n# A8 z# n( V4 h
对于 1.22V 的参考电压, 1 倍增益,输入范围为 +/- 0.61V3 y- y2 h: k5 \9 q2 A1 m$ ]& K
公式为:% I7 j$ r5 N2 d; [' [
Vin = SDADCx_AINyP - SDADCx_AINyM = ReadData * Vref/(2 x gain x 32767)
) \8 h7 L. C% }( |" ~# e其中, ReadData 为 SDADC 数据寄存器的两个补充读数据 (SDADCx_JDATAR 或SDADCx_RDATAR) # }  K8 m# o/ k" _0 ]4 @# c8 R
# D* R9 n' ^1 f5 E# S9 y
. f0 v+ L* v* [3 s/ V$ ?* H+ _" a5 C2 m  P
4ZKN38Z{LR@)EEIPY6KDC{5.png
  T$ m. T5 X, i+ u3 F! J8 ^8 V
- A! z( v" R0 q1 ~* A, J9 r
W%ISSL4YQWDV2I([W}0UC%X.png
0 c( K9 c2 x# i2 @8 C: z* U! z5 A( v% B. }3 n. N7 U
单端偏移模式6 i  H. k- J  n( N. M
在单端偏移模式中,通过将负输入内部连至0 V进行转换,负输入的相应引脚(SDADCx_AINyM)可用作其它用处。要测量的信号施加于正输入 SDADCx_AINyP。此工作模式与差分模式类似,只是输出数据范围仅为 0 到 +32767,而不是 –32767 到 +32767,因此有一半的动态范围损失,导致 SNR 下降。
% ~9 d' P4 L& \1 J公式为:) \6 q! P0 L! G  O0 o9 S* t9 T1 L3 B! H
Vin = SDADCx_AINyP = ReadData * Vref/(2 x 增益 x 32767)  R7 K/ L4 H# R3 }. _9 ^
其中, ReadData 为 SDADC 数据寄存器的两个补充读数据 (SDADCx_JDATAR 或SDADCx_RDATAR)6 D# R( s0 S, t/ O9 l7 V; H& y

% U% V6 N7 {6 c. I8 ?

% e' B- ?/ G% v5 t+ J- Y {0WF_C2LKS{U5E9(}ED2)01.png 5 H/ p  r* C& m6 {

: J7 Z; g+ m3 \3 `$ _3 g& H/ c7 N# b# }0 O) k
单端零参考模式1 C3 @! G2 Q' h8 S2 ~+ Q( N6 t
信号施加于正输入 SDADCx_AINyP,负输入设为信号参考 (一般为 0 V)。此模式将一半标度的输入共模注入 ADC,以此保持了与差分模式一样的动态范围 (-32767 到 +32767)。在此模式中,注入的共模取决于增益变化。% v- g" G* k$ G4 _4 f' }
公式为:
+ J3 \5 s# d  q; u# ~# PVin = SDADCx_AINyP = (ReadData + 32767) * Vref/( 增益 x 65535)1 t8 `2 U9 w2 J
其中, ReadData 为 SDADC 数据寄存器的两个补充读数据 (SDADCx_JDATAR 或SDADCx_RDATAR)# M) b2 b7 T) V& u% B) M
( B& x3 S4 v- e8 Z

2 ~% w% ]5 e# W  a! I# v" P+ z ]EZ}RQQNM@Y]Y$NQPN[$NXG.png , S& B+ F0 ^' m1 z9 y

% d2 S8 ~, z' K1 s9 _5 g5 }2.1.3 SDADC 电压参考
+ l& H, U# ]1 S: b1 dSDADC 可从四个源中选择:
) [; ^8 d; |" t. m& c/ s1. VREFINT1:1.2V 嵌入式参考电压
8 E, p; X4 Q! g. M2. VREFINT2:1.8V 嵌入式参考电压
7 ]- e$ B' c7 L# P3. VDDSD:SDADC 模拟供电电压。范围为 2.2 V 至 3.6 V7 @! j6 _$ u7 f! Q7 v3 H
4. VREFSD+:外部 SDADC 参考电压。范围为 1.1 V 至 VDDSD5 E: `, Z" k' ~4 Q# d( d
下表显示了使用三种可能的参考时的每位电压权重 (步进大小)。4 o! H7 y( `8 B/ Y$ U6 q

3 J8 S. x- }, ?4 W" w (Q}7BE06EFR`4J7X@5X)9AE.png
% s& |( e5 q2 P0 r* \6 i1 P
9 T5 x4 E7 c' |% J, i1 x9 k
8 [' E" y! H# S: S3 \0 S完整版请查看:附件

# ~, ?" }0 V& O( i. }/ L; a" [8 D! X+ J; r# [% ?
收藏 1 评论0 发布时间:2022-7-17 22:22

举报

0个回答

所属标签

相似分享

官网相关资源

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