STM32的ADC简介

一、ADC简介

STM32的ADC是一种12位逐次逼近型模拟数字转换器。它具备18个通道,能够测量16个外部信号源以及2个内部信号源。各通道的A/D转换可以执行单次、连续、扫描或间断模式。转换结果可采用左对齐或右对齐的方式(12位)存储于16位数据寄存器中。

二、ADC特点

ADC(Analog-Digital Converter)即模拟-数字转换器,可将引脚上连续变化的模拟电压转换为存储于内存中的数字变量,从而搭建起模拟电路与数字电路之间的桥梁。该ADC为12位逐次逼近型,转换时间为1us。其输入电压范围为0~3.3V,转换结果范围为0~4095。拥有18个输入通道,可测量16个外部和2个内部信号源。具备规则组和注入组两个转换单元,且模拟看门狗能够自动监测输入电压范围。

STM32F103C8T6的ADC资源包括ADC1和ADC2,拥有10个外部输入通道。

12位代表ADC的分辨率,其数值范围为0~2^12-1;

1us表示从转换开始到产生结果所需的最短时间为1us,对应的AD转换频率为1MHz;

16个外部信号源即16个GPIO口,引脚可直接测量电压;

2个内部信号源分别是内部温度传感器(用于测量CPU温度)和内部参考电压(基准电压约为1.2V,不随外部供电电压变化,可用于校准外部引脚电压);

三、ADC功能图

  1. 逐次逼近型ADC芯片结构框图
  1. ADC框图

四、ADC基本结构

从左侧来看,有18个信号源进入AD转换器,可选择16个规则组和4个注入组,转换完成的结果会存储于AD数据寄存器,其中规则组有1个,注入组有4个。触发数据转换的触发控制部分提供软件触发和硬件触发两种方式。右侧推动ADC逐次比较的时钟CLOCK来源于RCC时钟。模拟看门狗位于上方,用于监测转换结果的范围,一旦超出阈值便会申请中断。规则组和注入组转换完成后会产生EOC信号,会设置标志位,同时也可以申请中断。

五、输入通道

六、转换模式

ADC可选择单次转换或连续转换,扫描或非扫描模式,它们的不同组合会产生四种模式。

  1. ADC单通道
  • 单次转换,扫描模式失能:转换一次后停止,再次启动转换需重新触发;
  • 连续转换,扫描模式失能:转换一次后自动进入下一轮转换,只需在开始时触发一次;
  1. ADC多通道
  • 单次转换,扫描模式使能:ADC的多个通道按配置顺序依次转换,完成后停止,再次启动需重新触发;
  • 连续转换,扫描模式使能:ADC的多个通道按配置顺序依次转换,完成后继续下一轮,开始时触发一次即可。在扫描模式下,下一次的刷新会覆盖上一次的值,且可通过DMA传输数据。

七、触发控制

八、数据对齐

12位ADC转换器的转换结果为12位数据,但数据寄存器为16位,因此存在数据对齐问题。

  1. 数据右对齐:十二位数据靠右,高位补0;

  2. 数据左对齐:十二位数据靠左,低位补0;

九、转换时间

ADC的转换过程包括采样、保持、量化和编码四个步骤。

Tconv = 采样时间 + 12.5个ADC周期(采样时间是采样与保持的时间总和;12.5个ADC周期是量化与编码所需的时间)(ADC周期是从RCC分频而来的ADCCLK,最大值为14MHz)

当ADCCLK为14MHz,采样时间为1.5个ADC周期时:

Tconv = 1.5 + 12.5 = 14个ADC周期 = 1us

采样时间短可提高速度,采样时间长则能避免毛刺干扰。

十、校准

ADC具备内置自校准模式。校准可显著降低因内部电容器组变化导致的精度误差。校准过程中,每个电容器上都会计算出一个误差修正码(数字值),该码用于消除后续转换中每个电容器产生的误差。

建议每次上电后执行一次校准。

启动校准前,ADC需处于关电状态至少两个ADC时钟周期。

相关推荐
Dev_XH12 小时前
【成品设计】基于单片机的家用智能浇花系统的设计与实现
stm32·单片机·嵌入式硬件·物联网
意法半导体STM3213 小时前
【官方原创】LAT1717 STM32N6 如何使用单个XSPI驱动双片相同HyperRAM
stm32·单片机·嵌入式硬件·mcu·stm32n6·hyperram
木子单片机13 小时前
基于单片机的直流电机调速系统设计
单片机·嵌入式硬件·51单片机·nosql·keil
Zwawa15 小时前
两根线怎么挂住一堆设备:I2C 协议原理
c语言·单片机·嵌入式
倔强的胡萝卜17 小时前
基于STM32F103C8T6的温度报警器设计
stm32·单片机·嵌入式硬件
缘来是你远去是我17 小时前
ZYNQ 系列芯片中断机制详解:类型、处理过程与中断处理函数
单片机·嵌入式硬件
LCG米19 小时前
STM32 定时器主从模式输出精确脉冲数实测:TRGO 触发链拆解、多发一脉冲根因与干净停止时序落地
stm32·单片机·嵌入式硬件·嵌入式
青梅味猪大肠19 小时前
【操作系统-60】临近适应算法
java·linux·开发语言·嵌入式硬件·算法·操作系统
ChaseVLSI20 小时前
FPGA与ASIC的区别详解:内部结构、开发成本与适用场景,项目选型到底该选哪个
嵌入式硬件·fpga开发·硬件架构·硬件工程
东莞市壹星自动化设备有限公司20 小时前
透明圆瓶内部特征怎样定位:折射追踪与近远相位分支
嵌入式硬件·自动化·需求分析·几何学·骨骼绑定