学习总结-ADC的基本概念
ADC的基本概念ADC的定义与理解ADC分辨率(12位、10位、8位、6位)ADC通道(规则、注入)ADC模式(独立、双重、三重)ADC转换模式(单次、连续)ADC结果的读取方式(中断、DMA)单通道独立模式ADC电压采集本文主要适用于初学ADC的新手了解一些易混淆的概念,不适合具体配置的时候参考,建议从独立模式单通道采集电压值入手学习配置。推荐参考资料:《STM32F4XX参考手册》ADC的定义
ADC的基本概念
本文主要适用于初学ADC的新手了解一些易混淆的概念,不适合具体配置的时候参考,建议从独立模式单通道采集电压值入手学习配置。
推荐参考资料:《STM32F4XX参考手册》
ADC的定义与理解
ADC(Analog-to-Digital Converter)为模拟数字转换器(或称AD转换器)的简称。ADC是将模拟量转换为数字量的器件,常见的应用是将连续变化的电压值转换为数字量。原理是采样原理,可以简单理解为,以一定的频率采样电压值,使连续值变为离散值,也就得到了若干数字量。
12 位 ADC 是逐次趋近型模数转换器。它具有多达 19 个复用通道,可测量来自 16 个外部源、两个内部源和 VBAT 通道的信号。这些通道的 A/D 转换可在单次、连续、扫描或不连续 采样模式下进行。ADC 的结果存储在一个左对齐或右对齐的 16 位数据寄存器中。
实际使用时,不需要清楚其具体的实现原理,只需要知道如何配置其采集数据、转换数据和传输数据的方式即可。
ADC分辨率(12位、10位、8位、6位)
可配置 12 位、10 位、8 位或 6 位分辨率。12位分辨率精度最高。
ADC通道(规则、注入)
STM32F4共有3个ADC转换器ADC1、ADC2、ADC3,可以同时进行3个模拟量的转换。每个ADC转换器又可以转换多个引脚通道的模拟量,ADC1可以转换PA0、PA1、PA3等引脚的模拟量,分时转换多个通道的模拟量,即多通道。同时,有的引脚(比如PA1)可以选用其中一个ADC转换器(ADC1或ADC2或ADC3)进行模拟量转换,也可以用双重或三重模式,使用两个或以上ADC(比如ADC1和ADC3)交叉采集同一通道(比如PA1)的数据。
如表所示,ADC1、ADC2、ADC3分别对应16个可用的通道。
ADC通道在转换时分为规则通道和注入通道。
- 规则通道:最多支持16个通道。一般将使用的通道配置为规则通道。可以通过配置转换序列决定通道转换的顺序。
- 注入通道:最多支持4个通道。可以优先于规则通道抢先进行AD转换的一种通道。
ADC模式(独立、双重、三重)
ADC模式分为独立模式、双重模式和三重模式。
- 独立模式:ADC转换完1个通道的数据后才能转换下一个通道的数据。
- 双重模式:具有两个 ADC时可实现。
- 三重模式:具有三个 ADC时可实现。
在多重 ADC 模式下,通过 ADC1 主器件到 ADC2 和 ADC3 从器件的交替触发或同时触发来启动转换。
可实现以下四种模式:
● 注入同时模式
● 规则同时模式
● 交替模式
● 交替触发模式
也可按以下方式组合使用上述模式:
● 注入同时模式 + 规则同时模式
● 规则同时模式 + 交替触发模式
ADC转换模式(单次、连续)
AD 转换包括采样阶段和转换阶段。
- 在采样阶段才对通道数据进行采集。
- 在转换阶段只是将采集到的数据进行转换为数字量输出,此刻通道数据变化不会改变转换结果。
转换模式分为单次转换模式和连续转换模式。
- 单次转换模式:ADC执行一次转换后停止。
- 连续转换模式:ADC结束一个转换后立即启动一个新的转换。
ADC结果的读取方式(中断、DMA)
单通道采集时,可在AD转换后通过中断,在中断服务函数中读取数据。
多通道采集时,可使用DMA传输。
单通道独立模式ADC电压采集
初始化配置ADC的顺序:
- 初始化模拟量引脚为模拟输入模式。
- 使能GPIO时钟。
- 调用函数ADC_CommonInit()。配置ADC Common 结构体,设置通用ADC为独立模式,采用4分频(一般是4分频)。
- 调用函数ADC_Init()。配置ADC Init结构体,设置为禁止扫描模式,使用软件触发,1个通道。
- 调用函数ADC_RegularChannelConfig()。配置 ADC 转换通道顺序及采样时间。
- 调用函数ADC_ITConfig()。配置使能 ADC 转换完成中断,在中断内读取转换完数据。
- 调用函数NVIC_Init()。配置中断优先级分组和优先级配置。
- 调用ADC_Cmd()。使能ADC转换。
- 调用函数ADC_SoftwareStartConv()。使能软件触发ADC转换,开启转换。
具体如何配置参数还需查看其他资料。比如开发板配套资料、STM32F4XX中文参考手册。
多通道ADC
需要注意的是,如果单片机支持3个ADC,则可以同时独立用3个ADC对3个通道的模拟量进行转换。但如果需要转换超过3个通道的模拟量,则需要同时启用DMA进行传输。
更多推荐
所有评论(0)