stm32 ADC&DMA部分

本文详细介绍了STM32的ADC功能,包括12位逐次逼近型ADC的工作原理、输入通道、转换时间和校准过程。此外,还讨论了DMA在STM32中的作用,阐述了DMA的高速数据传输特性及其在存储器和外设间传输数据的优势。通过具体的实验例子展示了如何进行单通道ADC转换和DMA的数据转运操作。
摘要由CSDN通过智能技术生成

ADC

(Analog-Digital Converter)模拟-数字转换器

ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 

12位逐次逼近型ADC,1us转换时间

 输入电压范围:0~3.3V,转换结果范围:0~4095 (2^12-1)

18个输入通道,可测量16个外部和2个内部信号源

规则组和注入组两个转换单元 模拟看门狗自动监测输入电压范围

STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道

0f13a5f4f4bd444ea3e0ae5034da2af6.png

 202e5062957b41a0aff903a874f7c04b.png

触发控制可以有软件触发或硬件自动触发,对应配置相应寄存器的最后三位选择触发源。

基本步骤:

1.GPIO和AD时钟的开启,注意配置成模拟输入的状态。

2.AD时钟配置,满足小于14MHZ,即转换的基本时钟

3.规则组的相关配置,对应ADC号,通道号,序列号(rank),采样时间

4.AD相关配置,包含模式选择,是否连续触发,是否扫描列表,数据对齐方式,触发源的选择,以及菜单中的通道数目

5.开关控制,ADC使能有效,以及复位校准和开始校准的配置(固定流程)

 各通道与引脚的对应关系bb1b5c66c2bb47a182e8955d9843767c.png

转换时间:

 AD转换的步骤:采样,保持,量化,编码

STM32 ADC的总转换时间为: TCONV = 采样时间 + 12.5个ADC周期

例如:当ADCCLK=14MHz,采样时间为1.5个ADC周期     TCONV = 1.5 + 12.5 = 14个ADC周期 = 1μs

校准:

ADC有一个内置自校准模式。校准可大幅减小因内部电容器组的变化而造成的准精度误差。校准期间,在每个电容器上都会计算出一个误差修正码(数字值),这个码用于消除在随后的转换中每个电容器上产生的误差 建议在每次上电后执行一次校准 启动校准前, ADC必须处于关电状态超过至少两个ADC时钟周期。

实验:单通道转换 PA0(ADC1的通道0接电位器)

// AD
void AD_Init(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	
	RCC_ADCCLKConfig(RCC_PCLK2_Div6);  //时钟分频,需要满足不超
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值