写在前面:

    本节课将介绍STM32的ADC(Analog to Digital Converter)模数转换功能。在单片机中传输的信号均为数字信号,通过离散的高低电平表示数字逻辑的1和0,但是在现实的物理世界中只存在模拟信号,即连续变化的信号。将这些连续变化的信号——比如热,光,声音,速度通过各种传感器转化成连续的电信号,再通过ADC功能将连续的模拟信号转化成离散的数字信号给单片机进行处理。最后实现读取电池电压的功能。

1. 知识要点

1.1ADC 的概念

AD模数模块(Analog-to-Digital Converter),即模拟/数字转换器,主要功能是将连续变化的模拟信号转换为离散的数字信号。由于单片机只能处理数字信号,因此,在对外部的模拟信号进行分析、处理的过程中,必须使用ADC模块将外部的模拟信号转换成单片机所能处理的数字信号。

1.2ADC 的原理

ADC在模拟信号转化为数字信号需要经过采样、保持、量化和编码。采样和保持在采样保持电路中完成,而量化和编码步骤则在ADC中完成。

Untitled

A/D转换器有如下几种类型,每一种类型都代表了不同的”猜法”

我们可以将其类比成使用天平将电压”称出来”,下面是一个具体的例子:

设有一待测物为4.42g,满度测量量程为RNFS=5.12g,砝码有4种:RNFS/2(2.56g)、RNFS/4(1.28g)、RNFS/8(0.64g)、RNFS/16(0.32g)。测量方法采用先大砝码,后小砝码,依次比较,过程如下: 第一次:2.56g<4.42g,留; 第二次:2.56g+1.28g=3.84g<4.42g,留;

第三次:3.84g+0.64g=4.48g>4.42g,去;