ADC交错模式(1/2):如何提高ADC采样率?

本系列文章将为您提供:

  • 如何实现ADC交错模式以使等效采样率翻倍的提示和技巧
  • ADC交错模式细节的实用性
  • 关于使用ADC公共数据寄存器进行DMA数据传输的信息
此处提供文章第2部分

1.ADC交织模式描述

  • 它允许通过在同一输入通道上使用两个ADC来执行更快的ADC转换
  • 一旦在“主”ADC1上完成采样阶段,在可编程延迟D之后,“从”ADC2由ADC1触发,并可以在同一引脚上开始其采样阶段

2.ADC交错模式DMA传输

  • ADC2转换完成后,触发DMA以执行从ADC_CDR寄存器(ADC1、ADC2的公共数据寄存器)到缓冲器的数据传输,并且清除两个ADC的转换结束标志
  • 根据选择的ADC分辨率,ADC_CDR寄存器的内容可以具有不同的结构:
  • 用户负责对ADC2进行适当的定时编程,以便在ADC1转换结束时为ADC1和ADC2准备好数据

3.应用程序分析

  • 以ADC交错模式获取数据@12位分辨率和高采样率
  • 使用ADC输入快速通道,参见DS:PC0、PC1、PC2、PC3、PA0可选择为快速通道,SAR ADC采样图及相关细节也参见AN2834。
  • 要获取的样本数量:40,
  • ADC时钟:同步80MHz(最高可能的STM32L476 SYSCLK频率),
  • 采样/保持周期T_ SMPL=给定R_,
  • 从ADC触发器延迟:3个时钟周期;T_ SAR=12.5个时钟周期(12比特),
  • 单个ADC ts=T_SMPL+T_SAR=19个时钟周期→ 6.5+0.5+3=10个时钟周期后从ADC触发,单个ADC输出数据速率,ODR=80MHz/19个时钟周期=4.2MS/s,
  • 每1s采集一次ADC输入信号,以CSV文本格式打印数据:使用ADC_CDR输出数据寄存器在一次触发模式下进行DMA传输,重定向输出函数流到UART