STM32标准库开发——ADC模数转换器

本文介绍了STM32F103C8T6的ADC模块,包括12位逐次逼近型ADC的工作原理、1us转换时间和多种转换模式(单次/连续,扫描/非扫描)。还详细讲解了数据对齐、采样保持过程以及STM32ADC的结构特点和触发机制。
摘要由CSDN通过智能技术生成

ADC模数转换介绍

  • ADC (Analog-Digital Converter)模拟-数字转换器
  • .ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC,1us转换时间
  • 输入电压范围:03.3V,转换结果范围:0409518个输入通道,可测量16个外部和2个内部信号源·规则组和注入组两个转换单元
  • ·模拟看门狗自动监测输入电压范围
  • . STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道

逐次逼近型ADC示意图(ADC0809)

在这里插入图片描述

左侧部分IN0-IN7代表可以输入的通道,一共有八路输入通道 将要选择通道
通过ADDA-ADDC进行选择,再给一个ALE锁存信号,通道就会自动打开
输入的信号通过比较器不断的进行比较,采用类似二分法的方法确定输入的电压 VCC
GND为芯片的供电电压和地,VREF正负代表是转换的参考电压,电压大小与供电电压一致 EOC为结束产生的信号

STM32 ADC结构框图

在这里插入图片描述

相较于ADC0809,STM32内部的ADC芯片,自带16路输入通道。
分为注入通道,以及规则通道,注入通道意味着可以同时转化4路通道,规则通道可以同时转化16路通道,但是规则通道仅有一个寄存器保存数据,转换完需要立即将数据搬运出去
ADC支持软件触发,也支持硬件触发。例如TIM3设置1ms时间,将TIM3设置为更新时间通过TRGO输出,将ADC的触发信号选择为TIM3的TRGO信号即可。
ADDCLK为ADC时钟,用于驱动内部逐次比较,来自ADC预分频器,最大为14MHZ
转换结束,可以触发DMA请求,用于搬运数据
注入通道触发JEOC信号,规则通道触发EOC信号,俩者都可以触发中断

ADC转换模式

单次转换,非扫描模式

在这里插入图片描述

此时只有序列一的通道有效,设置好序列一的通道后,触发转换,转换完成后EOC信号为1,读取寄存器里的值,一次转换结束,停止。

连续转换,非扫描模式
在这里插入图片描述

与单次转换不同,连续转换模式下,只需要触发一次就可以一直转换下去,不用每次都手动触发ADC转换

单次转换,扫描模式
在这里插入图片描述

在单次转换,扫描模式下,可以选择要使用的通道数目,按照序列一次执行,触发ADC转换后,会根据序列执行完菜单上所有的通道,执行结束EOC信号置为1,读取寄存器值,停止。

连续转换,扫描模式
在这里插入图片描述

与单次转换不同,连续转换模式下,只需要触发一次就可以一直转换下去,不用每次都手动触发ADC转换

转换时间

在这里插入图片描述

AD转换过程中,为确保数据能够保持不变方便量化编码,所以需要一个采样保持的过程,意味着在采样一段时间内保持数据不变
在采样保持后,关闭采样开关,再开始量化编码

数据对齐

在这里插入图片描述

由于STM32中ADC芯片是12位的,但是寄存器又是16位的所以必须执行对齐操作,一般常用右对齐

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值