STM32模数转换器ADC

ADC的作用
采集传感器的数据,测量输入电压,检查电池电量剩余,监测温湿度等。
ADC的性能指标

量程:能测量的电压范围
分辨率:ADC的分辨率通常以输出二进制数的位数表示,位数越多,分辨率越高,一般来说分辨率越高,转化时间越长。
转化时间:模拟输入电压在允许的最大变化范围内,从转换开始到获得稳定的数字量输出所需要的时间称为转换时间
在这里插入图片描述
STM32F0-ADC特性
12位精度下转换速度可高达1MHz
可配置的转换精度:6位,8位,10位,12位
转换电压范围:0 ~ 3.6V,V SSA ~ V DDA
供电范围:2.4V ~ 3.6V
19个转换通道: 16个外部通道、 3个内部通道
采样时间可配置
ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中
在这里插入图片描述
STM32F0-ADC时钟
APB时钟的2或4分频,最高14MHz
优点:不会有时钟域之间的同步带来的抖动,触发事件和转换的起始时刻之间的延迟是确定 的,从 而保证转换之间的时间间隔是固定的
缺点: ADC的转换时间和系统时钟频率相关,受系统频率的影响较大
片上14MHZ HSI RC振荡器
优点:无论MCU的运行频率,都可以保证最高的ADC工作频率可以使用自动节电模式(自动开启或关闭14MHz的内部振荡器)
缺点:触发信号的同步会带来抖动,触发事件和转换的起始时刻之间的延迟不确定
在这里插入图片描述
STM32F0-ADC通道的选择
在这里插入图片描述
19路复用通道
● 16 个从 GPIO 引脚引入的模拟输入 (ADC_IN0…ADC_IN15)
● 3 个内部模拟输入 ( 温度传感、内部参考电压、 VBAT 通道 )
ADC 可以转换一个单一通道或自动扫描一个序列通道。被转换的通道序列必须在通道选择寄存器 ADC_CHSELR 中编程选择:每个模拟输入通道有专门的一位选择位 (CHSEL0…CHSEL18).
STM32F0-ADC转化模式
在这里插入图片描述
注:
ADC 通知应用每次转换结束 (EOC) 事件
ADC 通知应用每次序列转换结束 (EOS) 事件。

这些标志位都是在ADC 中断和状态寄存(ADC_ISR)中

ADC_CFGR1可配置COUNT位 。

STM32F0-ADC转化时间
可编程采样时间 (SMP)
 T Sampling 可配置: SMP[2:0]@ADC_SMPR
需要和外部电路的输入阻抗匹配,采样时间适用于所有通道
转化的时间
T conversion 取决于转换精度: RES[1:0]@ADC_CFGR1
每个通道总的转换时间等于:
T Sampling + T conversion

例如采样精度为12位,ADC的时钟为14M:
最小转化时间为:
t CONV = 1.5T + 12.5T = 14 T= 1 µ

在这里插入图片描述
转换时间快速预览表
不需要高转换精度的应用,可以通过降低精确度来提高转换速度
假设ADC模块工作在14MHz的最高工作频率下
在这里插入图片描述
STM32F0-ADC触发方式
软件触发
软件设置ADC_CR的ADSTART=1 时,触发选择有效。
外部事件触发
外部事件 ( 例如:定时器TRGO、输入引脚 ) 触发,可以设置触发源以及触发极性
在这里插入图片描述
在这里插入图片描述

STM32F0-ADC模拟看门狗
检测待转换的模拟电压
电压超出检测范围就置位AWD@ADC_ISR,并条件性地产生中断
检测范围由上下门限寄存器指定、 12位的ADC_HTR和ADC_LTR有效值
模拟看门狗的使能控制
 AWDEN@ADC_CFGR1
检测所有通道还是单个通道由AWDSEL@ADC_CFGR1决定
检测哪个单个通道由AWDCH[4:0]@ADC_CFGR1决定
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值