1.ADC简介
ADC(Analog-Digital Converter)模拟-数字转换器(DAC---数字模拟转换器)
ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁
12位逐次逼近型ADC,1us转换时间
输入电压范围:0 ~ 3.3V,转换结果范围:0 ~ 4095
18个输入通道,可测量16个外部和2个内部信号源
规则组和注入组两个转换单元
模拟看门狗自动监测输入电压范围
STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道
2.逐次逼近型ADC结构
ADC0809的内部结构图,它是一个独立的8位逐次逼近型ADC芯片。IN0~IN7是8路输入通道。
通道选择开关用来选择一路。地址锁存和译码,把选中的路的通道号放在这三个脚上,ALE锁存信号。
电压比较器:可以判断两个输入信号电压的大小关系,输出一个高低电平指示谁大谁小,DAC是数模转换器。
EOC是转换结束信号,CLOCK是ADC时钟。
3.STM32的ADC框图
4.ADC基本结构图
5.输入通道
6.转换模式
7.触发控制
8.数据对齐
9.转换时间
AD转换的步骤:采样,保持,量化,编码
ADC使用若干个ADC_CLK周期对输入电压采样,采样周期数目可以通过ADC_SMPR1和ADC_SMPR2寄存器中的SMP[2:0]位更改。每个通道可以分别用不同的时间采样。
总转换时间如下计算:
T CONV = 采样时间+ 12.5个周期
例如:
当ADCCLK=14MHz,采样时间为1.5周期
TCONV = 1.5 + 12.5 = 14周期 = 1μs
10.校准
ADC有一个内置自校准模式。校准可大幅减小因内部电容器组的变化而造成的准精度误差。在校准期间,在每个电容器上都会计算出一个误差修正码(数字值),这个码用于消除在随后的转换中每个电容器上产生的误差。
通过设置ADC_CR2寄存器的CAL位启动校准。一旦校准结束,CAL位被硬件复位,可以开始正常转换。建议在上电时执行一次ADC校准。校准阶段结束后,校准码储存在ADC_DR中。
注意:
1 建议在每次上电后执行一次校准。
2 启动校准前, ADC 必须处于关电状态 (ADON=’0’) 超过至少两个 ADC 时钟周期。