如何理解STM32ADC外设的内部实现原理及代码实现

分享知识,希望对各位读者有所帮助!

前言

前文介绍了外挂ADC芯片,本文介绍STM32F103内置的ADC外设


一、ADC(模数转换器)

(1)作用

ADC外设可以将引脚上连续变化的模拟电压转换为数字变量。

(2)精度

ADC转换的精度与位数有关,位数越多,精度越精准。

本文介绍的ADC外设是12位的,那么 0V ~ 3.3V范围就是0 ~ 2^{12} - 1 >>0 ~ 4095。

(3)硬件参数

芯片ADC外设最多有18个输入通道,分别是16个GPIO口、内部温度传感器和内部1.2V的基准电压。

  • 温度传感器可以用来测量CPU温度
  • 基础电压可以用来校准输入信号是否正确。

二、ADC转换原理

ADC的转换原理为逐次逼近型

取一个已知值来与输入未知值进行比较,例如目前转换范围是0 ~ 256,此时取128与未知值进行比较,若比128小,则再取64进行比较,以此类推,就可以确定未知值是多少了。

三、ADC转换原理 

根据上文,我们知道了ADC的基础知识,那么ADC内部转换到底是怎么完成的呢?

我们可以根据下图ADC框图来进行总结

  • 可以看到ADC在GPIO端口共有16个输入通道,并且在芯片内部还有温度传感器和基准电压两个输入源。 
  • 在模拟至数字转换器中,有一个注入通道和规则通道
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值