一、ADC简介
1、ADC,全称:Analog-to-Digital Converter,指模拟/数字转换器
把一些传感器的物理量转换成电压,使用ADC采集电压,然后转换成数字量,经过单片机处理,进行控制和显示。
2、常见的ADC类型
3、并联比较型工作示意图
假如VREF参考电压为8v,那么从下到上电压为1V,2V、、8V,Vx为模拟电压输入,假如输入电压为1V,那最下边的比较器就会给编码器输出电压,然后编码器经过编码,就是输出001,代表1V。如果输出为3V,则第三个比较器输出给编码器,输出011,代表3V。这个编码器输出是3位的,称为ADC的分辨率。
优点:转换速度快
缺点:成本高、功耗高、分辨率低,成本高主要是需要2的分辨率次方个电阻,这里分辨率为3,所以需要8个电阻,7个比较器。如果是12位的分辨率,需要4096个电阻和4095个比较器。
4、逐次逼近型工作示意图
首先是数码寄存器进行编码,一般是先把高位定位1,也就是100,然后经过D/A转换器转换成模拟电压,连接到比较器上边,输入电压Vx与这个电压进行比较,如果输入电压大于等于比较电压,控制电路会把数码寄存器的最高位锁存下来,然后第二轮把次高位置为1,当还是输入电压大,就把第二位也保存下来,将最低位设置为1,进行第三轮比对,如果输入电压还是比比较电压大,就超过了量程范围了,如果比比较电压小,就说明此时输入电压与比较电压接近,次数数码寄存器的值就是ADC的值了,采集也是接近,不是准确的。
类似于天平,一点点的加大电压。
特点:分辨率和采样速度相互矛盾,分辨率越高,采样速率越低
优点:结构简单、低功耗
缺点:转换速度较慢
5、ADC的特性参数
分辨率:表示ADC能辨别的最小模拟量,用二进制位数表示,比如:8、10、12、16位等。可以理解为刻度划分,以12位为例,如果参考电压为3.3V,就会把3.3V平分为4096份。
转换时间:表示完成一次A/D转换所需要的时间,转换时间越短,采样率就可以越高,如果一次转换时间为200ms,则1s可以转换5次。
精度:最小刻度基础上叠加各种误差的参数,精度受ADC性能、温度和气压等影响
量化误差:用数字量近似表示模拟量,采用四舍五入原则,此过程产生的误差为量化误差。假设最小分辨率为1V,当输入电压为0.8V的时候,四舍五入被ADC采集后是1V,量化误差就是0.2V。
6、STM32各系列ADC的主要特性

二、ADC工作原理
2.1 ADC框图简介
F1系列:
①参考电压/模拟部分电压,其中VDDA和VSSA就是供电电源,VREF+和VREF-是参考电压。
②输入通道,总共有16个通道,都是来自IO口的复用。可以看到图中ADC通道总共有18个,16个为IO口,还有两个通道,一个通道连接温度传感器,另一个连接内部参考电压VREFINT。
③转换序列,决定18个通道怎么分组进行转换的。
④触发源,一个是规则组触发,一个是注入组触发。规则组触发来自下面部分,首先需要将图中EXTRIG位置1。然后看图发现,由EXTSEL位决定。如果选择外部中断线11或者定时器8的,还需要多设置一个选择器。注入组触发跟规则组是类似的。只是触发源不一样。左边是ADC1和ADC2的触发源,右边的是ADC3的触发源。
⑤转换时间,由ADC时钟影响。
⑥数据寄存器,ADC转换结果会放到数据寄存器里边,有注入通道数据寄存器和规则通道数据寄存器。其中注入通道数据寄存器有4个,每个注入通道各对应一个寄存器。而规则通道数据寄存器只有一个,所以16个通道公用一个寄存器。由于公用可能导致数据丢失,所以下方有DMA请求,开启相应的DMA请求,让DMA帮助搬运数据,防止数据丢失。
⑦</