ADC详解

一、ADC  简介

        ADC 即模拟数字转换器,英文详称 Analog-to-digital converter,可以将外部的模拟信号转换为数字信号。
        STM32F4xx 系列芯片拥有 3 个 ADC,这些 ADC 可以独立使用,其中 ADC1 和 ADC2 还可以组成双重模式(提高采样率)。STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。ADC1 有 16 个外部通道和 3 个内部通道,而 ADC2和 ADC3 只有有 16 个外部通道。ADC1 的外部通道是通道 17、通道 18 和通道 19,分别连接到内部温度传感器、内部Vrefint和Vbat。 ADC 中的各个通道的A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以以左对齐或者右对齐存储在16 位数据寄存器中。ADC 具有模拟看门狗的特性,允许应用检测输入电压是否超过了用户自定义的阈值上限或下限。
STM32F407 的 ADC 主要特性我们可以总结为以下几条:
        1、可配置 12 位、10 位、8 位或 6 位分辨率;
        2、转换结束、注入转换结束和发生模拟看门狗事件时产生中断
        3、单次和连续转换模式
        4、自校准
        5、带内嵌数据一致性的数据对齐
        6、采样间隔可以按通道分别编程
        7、规则转换和注入转换均有外部触发选项
        8、间断模式
        9、双重模式(带 2 个或以上 ADC 的器件)
        10、ADC 转换时间:最大转换速率为 2.4MHz,转换时间为 0.41us
        11、ADC 供电要求:2.4V 到 3.6V
        12、ADC 输入范围:V REF – ≤V IN ≤V REF+
        13、规则通道转换期间有 DMA 请求产生

二、ADC 的配置流程

(1)输入 电压

(2)输入通道

ADC详解_第1张图片

(3)转换顺序

        当任意 ADCx 多个通道以任意顺序进行一系列转换就诞生了成组转换,这里就有两种成组转换类型:规则组和注入组。规则组允许最多 16 个输入通道进行转换,而注入组允许最多 4 个输入通道进行转换

规则组(规则通道)
        规则组,按字面理解,“规则”就是按照一定的顺序,相当于正常运行的程序
注入组(注入通道)
        注入组,按字面理解,“注入”就是打破原来的状态,相当于中断。当程序执行的时候,中
断是可以打断程序的执行。同这个类似,注入组转换可以打断规则组的转换。假如在规则组转
换过程中,注入组启动,那么注入组被转换完成之后,规则组才得以继续转换

ADC详解_第2张图片

通过设置寄存器里面不同的值,来配置不同通道的转换顺序以及转换的总通道数量 

ADC详解_第3张图片

ADC详解_第4张图片

(4)触发源

        ADC 的触发转换有两种方法:分别是通过软件或外部事件(也就是硬件)触发转换。

        软件触发转换的方法。方法是:通过写 ADC_CR2 寄存器的 ADON 这个位来控制,写 1 就开始转换,写 0 就停止转换,这个控制 ADC 转换的方式非常简单。
        外部事件触发转换的方法,有定时器和输入引脚触发等等

(5)转换时间

T CONV  = 采样时间 + 12 个周期

ADC详解_第5张图片

(6)数据寄存器

ADC 转换完成后的数据输出寄存器。

(7)中断

规则和注入组转换结束时能产生中断,当模拟看门狗状态位被设置时也能产生中断。

你可能感兴趣的:(STM32,HAL库,兆易创新,ADC)