STM32™ 的 ADC 模式及其应用
前言
STM32 微控制器拥有微控制器市场上最先进的 ADC 之一。可以想象出有基于 STM32 ADC特性的众多应用。其中一些 ADC 的工作模式可以简化测量,并为电机控制等应用提供有效的结果。
本应用笔记将帮助 ADC 模块用户了解 STM32 微控制器提供的一些高级模式并快速着手开发。所介绍的每种模式都随附一个应用示例,以便用户更好地理解如何使用各种模式。大多数模式都随附一个基本固件,以使 ADC 配置更易于理解。
本应用笔记分为两部分:独立模式和双 ADC 模式。第一部分介绍与单个 ADC 配合使用的模式。第二部分介绍应与双 ADC(ADC1 和 ADC2 共同工作)配合使用的模式。
本应用笔记未介绍其它模式组合产生的 ADC 模式。
1 独立模式
1.1 单通道、单次转换模式
1.1.1 说明
这是最简单的 ADC 模式。在此模式下,ADC 执行单个通道 x 的单次转换(单次采样)(请参见图 1),并在转换完成后停止。
注: 本应用笔记未提供该模式的固件示例。
1.1.2 应用示例
此模式可用于测量电压,以确定是否可启动系统。启动系统之前应测量电池电压:如果电池电压低,则显示消息“电池电量低”。在这种情况下,不要启动系统。1.2 多通道(扫描)、单次转换模式1.2.1 说明此模式用于在独立模式下对一些通道进行依次转换。通过 ADC 定序器,可以使用该 ADC 模式以不同的采样时间和采样顺序对任意序列的通道(最多 16 个)依次进行配置。例如,可以执行图 2 所示的序列。通过这种方式,用户不必在转换过程中停止 ADC,即可以不同的采样时间重新配置下一个通道。此模式可以避免额外的 CPU 负载以及繁重的软件开发。
注: 本应用笔记未提供该模式的固件示例。
1.2.2 应用示例
当系统的启动取决于一些参数(例如,在机械臂系统中,需要知道机械臂顶端的坐标)时,可以使用此模式。在这种情况下,必须在上电时读取机械臂系统中每个关节的位置,才能确定机械臂顶端的坐标。
此模式还可以用于单次测量多个信号(电压、压力、温度等)以确定是否可以启动系统,从而确保人身和设备安全。
此模式同样可以用于对来自应变仪的信号进行转换,以确定物体的不同应变的方向和值。
1.3 单通道连续转换模式
1.3.1 说明
单通道连续转换模式可在常规通道转换中对单个通道进行连续不断的转换。
此连续模式允许 ADC 在后台工作。因此,ADC 可在没有任何 CPU 干预的情况下连续转换通道。此外,还可以在循环模式下使用 DMA,从而降低 CPU 负载。
注: 本应用笔记提供了一个固件示例:SingleChannelContinuous。该示例使用两种方法:DMA 和中断。要选择其中一种方法,只需在 main.c 文件中注释或取消注释 #defineUSE_DMA_Transfer。
|