STM32---ADC数模转换基础知识

一. ADC介绍

12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。

外部模拟电压信号输入范围为Vref-<=Vin<=Vref+

ADC作为片上外设,若需要对芯片外部模拟信号进行采样,则外部模拟电压信号输入到ADC的模拟输入通道才行,由于STM32单片机上外设均为设置专用功能引脚进行信息的输出输入,因此需要采用引脚复用的方式实现片上外设功能引脚。

二. ADC硬件结构及工作原理

在这里插入图片描述

1. ADC内部组成

包含模拟多了开关,转换触发信号单元,ADC,规则通道组和注入通道组数据寄存器,模拟看门狗(AWD),转换状态标志和中断使能单元。

核心单元是模拟至数字转换器(ADC),它在ADC转换时钟ADCCLK的驱动下,对送入规则通道组和注入通道组中的模拟通道进行采样,量化,编码,转换结束后将转换结果存入注入通道组和规则通道组对应的寄存器中,并根据转换是否结束产生转换结束标志EOC或者JEOC。CPU就会读取注入通道组和规则通道组对应的寄存器中的值来获取转换结果。

2. 外部模拟电压输入

由于模拟输入引脚是复用GPIO引脚,因此需要先使能端口时钟,在配置引脚为模拟输入工作模式,随后该引脚才能作为模拟电压输入引脚,将需要采集的模拟电压输入到指定的模拟通道上供ADC转换。

3. 内部模拟电压输入

STM32单片机支持内部温度传感器和内部电压参考两个通道采样,使用前需要通过TSVREFE控制位进行使能控制。温度传感器和通道ADC1_IN16相连接,内部参照电压VREFINT和ADC1_IN17相连接。可以按注入或规则通道对这两个内部通道进行转换。

注意: 温度传感器和VREFINT只能出现在主ADC1中。

4. ADC上电/断电控制

通过设置ADC_CR2寄存器的ADON位可给ADC上电。当第一次设置ADON位时,它将ADC从断电状态下唤醒。ADC上电延迟一段时间后(tSTAB),再次设置ADON位时开始进行转换。通过清除ADON位可以停止转换,并将ADC置于断电模式。在这个模式中, ADC几乎不耗电(仅几个μA)。

5. 数据对齐模式

一般选择右对齐模式。

数据对齐模式中。注入通道组的转换结果数值已经减去ADC_JOFRx寄存器中的偏移量,其结果可能是负值,其中SEXT是符号拓展位。对于规则通道组不存在偏移值寄存器因此其转换结果数值不存在符号拓展位。
在这里插入图片描述

6. ADC校准

在执行校准前必须使ADC上电至少两个ADCCLK时钟,且需要复位校准电路,在复位校准电路完成后才可以启动ADC校准。为了提高ADC转换的精度,一般建议在上电时进行一次ADC校准。

ADC校准通过设置寄存器ADC_CR2的RSTCAL和CAL位进行,一旦校准结束,RSTCAL和CAL位被硬件复位

三. ADC转换时钟及转换时间

ADC转换实在其转换时钟ADCCLK的控制下进行的,STM32单片机上ADC转换时钟要求不超过14MHz,否则转换结果不准确。
在这里插入图片描述

ADC转换时间由信号采样时间和转换时间构成。转换时间固定为12.5个ADCCLK时钟周期。每个模拟通道的采样时间可以独立设置(参考ADC_SMPR寄存器)。

若ADCCLK时钟为14MHz,采样时间选择1.5个ADCCLK周期,则ADC转换时间是14(12.5+1.5)

注: 如果ADC_SQRx或ADC_JSQR寄存器在转换期间被更改,当前的转换被清除,一个新的启动脉冲将发送到ADC以转换新选择的组。

四. ADC转换分组

引入成组转换模式,可以由程序设置好分组的通道构成后,对多个模拟通道自动地进行逐个通道采样转换。成组转换是指在任意多个通道上以任意顺序进行一系列转换。

ADC转换通道分为规则通道组和注入通道组。规则通道相当于正常运行的程序,而注入通道相当于中断,所以在一般情况下使用规则通道,而需要在某种需求的情况下才进行采集转换,就设置为注入通道。

五. ADC转换模式

  • 单通道单次转换(单次转换模式)
  • 单通道连续转换模式(连续转换模式)
  • 多通道单次转换模式(扫描模式)
  • 多通道连续转换模式
  • 间断转换模式
  • 19
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值