STM32
直播中

陆军航空兵

8年用户 817经验值
私信 关注
[问答]

怎样去使用STM32F37x的16位SDADC呢

16位SDADC的主要特征有哪些?
怎样去使用STM32F37x的16位SDADC呢?

回帖(1)

李雪飞

2021-10-18 10:57:42
  STM32F37x系列微控制器整合了带有DSP与FPU指令、工作频率72MHz的32位ARM Cortex-4内核和高级模拟外设。
  16位SDADC概述:
  1. 主要特征: (1)包含3个SDADC,
  (2)有效位数14位
  (3)五个差分输入对,9个单端输入。
  (4)在不同通道之间复用时,为16.6ksps输入采样率。单通道工作时输入采样率50ksps。
  (5)可增益编程x0.5 x1 x2 x4 x8 x16 x32
  (6) 可选参考电压:VDDSD,1.22V,1.8V及VREF。
  2. 时钟选择: (1)典型工作频率为,快速模式下的6MHz和man慢速模式下的1.5MHz。
  系统时钟SYSCLK为72MHz时
  快速模式:预分频 = 72MHz/6MHz = 12
  慢速模式:预分频 = 72MHz/1.5MHz = 48
  3. 输入模式: (1)差分模式
  应用场景:当所用传感器产生的电流非常小,易受噪声影响,推荐使用差分,当使用热电偶和桥式传感器时,尤其如此。差分模式中,SDADC转换的是SDADCx_AINyP 和 SDADCx_AINyM的差值。结果可能是正也可能是负。取决于哪个输入的电压高。
  SDADC 无法测量负电压,并且每个通道的输入电压都必须在器件的电气极限之内。输入范围为 [-Vref/(2*gain), + Vref/(2*gain)],转换值范围为 [-32767, +32767]。即增益为1的情况下,最大输入值为参考电压的一半。
  示例:
  对于 1.22V 的参考电压, 1 倍增益,输入范围为 +/- 0.61V
  公式为:
  Vin = SDADCx_AINyP - SDADCx_AINyM = ReadData * Vref/(2 x gain x 32767)
  其中, ReadData 为 SDADC 数据寄存器的两个补充读数据 (SDADCx_JDATAR 或SDADCx_RDATAR)
  
  (2)单端偏移模式
  在单端偏移模式中, 通过将负输入内部连至0 V进行转换, 负输入的相应引脚(SDADCx_AINyM)可用作其它用处。要测量的信号施加于正输入 SDADCx_AINyP。此工作模式与差分模式类似,只是输出数据范围仅为 0 到 +32767,而不是 –32767 到 +32767,因此有一半的动态范围损失,导致 SNR 下降。
  公式为:
  Vin = SDADCx_AINyP = ReadData * Vref/(2 x 增益 x 32767)
  
  (3)单端零参考模式
  信号施加于正输入 SDADCx_AINyP,负输入设为信号参考 (一般为 0 V)。此模式将一半标度的输入共模注入 ADC,以此保持了与差分模式一样的动态范围 (-32767 到 +32767)。在此模式中,注入的共模取决于增益变化。
  公式为:
  Vin = SDADCx_AINyP = (ReadData + 32767) * Vref/( 增益 x 65535)
  
  当通道 p (p 为偶数)用于差分模式中时,通道 p+1 会自动用作负输入(SDADCx_AINyM),因此通道 p+1 不能用于单端模式 (零参考模式或偏移模式)。
  当通道 4 配置于差分模式中时,通道会 5 自动用作负输入,因此通道 5 不能用于单端偏移模式或单端零参考模式。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分