stm-ADC模数转换器

一、ADC简介
ADC(Analog-Digital Converter)模拟-数字转换器

ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁(DAC,数字模拟转换器,使用DAC就可以将数字变量转为模拟电压(PWM也是一种))

12位逐次逼近型ADC(它的表示范围就是0~2^(12-1)——> 0~4095),1us转换时间(对应频率1MHz)

输入电压范围:0~3.3V,转换结果范围:0~4095

18个输入通道,可测量16个外部(16个GPIO口)和2个内部信号源(内部温度传感器和内部参考电压)

规则组和注入组两个转换单元

模拟看门狗自动监测输入电压范围。

STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道

二、逐次逼近型ADC

第一次比较的时候输出一半,也就是128,比较谁大谁小,如果DAC电压大了,第二次比较的时候,就在给64,如果还大,第三次给32,如果这次小了,第四次那么就给32-64之间的值。如果用二进制来表示的话这些数据正好二进制是每一位的位权,那么这个按段的过程相当于就是对二进制从高位到低位依次判断是1还是0的过程,对于8位的ADC,依次判断8次就能找到未知电压的编码了。

三、ADC框图

规则组虽然可以转16个通道,但是只有一个数据寄存器,如果不想被覆盖,那在赋值之后尽快拿走

注入组有4个通道,4个数据寄存器,不需要担心数据被覆盖的问题。

我们学习规则组,通过结合DMA转运数据,这样就不用担心数据被覆盖的问题了。

触发ADC转换的信号有两种,软件触发(在程序中手动调用一条代码)和硬件触发。

ADCCLK最大是14MHz,选择的预分频也只能是6分频12MHz和8分频9MHz。

四、ADC基本结构

五、输出通道

六、转换模式

单次转换,非扫描模式

连续转换,非扫描模式

单次转换,扫描模式

连续转换,扫描模式

七、触发控制

八、数据对齐

常用右对齐

九、转换时间
AD转换的步骤:采样,保持,量化,编码
STM32 ADC的总转换时间为:
TCONV = 采样时间 + 12.5个ADC周期
例如:当ADCCLK=14MHz,采样时间为1.5个ADC周期
TCONV = 1.5 + 12.5 = 14个ADC周期 = 1μs
十、校准

ADC有一个内置自校准模式。校准可大幅减小因内部电容器组的变化而造成的准精度误差。校准期间,在每个电容器上都会计算出一个误差修正码(数字值),这个码用于消除在随后的转换中每个电容器上产生的误差。
建议在每次上电后执行一次校准。
启动校准前, ADC必须处于关电状态超过至少两个ADC时钟周期。

十一、硬件电路

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值