stm32F407学习DAY.27 ADC

一、基本原理

1、并联比较型

精度低,功耗大

转换速度快

2、逐次逼近型

功耗低,结构简单

速度慢

二、特性参数

1、分辨率

ADC能辨别的最小模拟量,以二进制位数表示,如8、10、12、16

假设AD是12位,测量3.3V的电压,可分辨3.3/4096≈0.0008V

2、转换时间

完成一次AD转换所需要的时间,时间越短,采样率越高

1s内,假设转换时间为200ms,可转换5次;转换时间100ms,可转换10次

3、精度

最小刻度基础上,叠加误差影响的参数(受ADC性能、温度、气压等影响)

4、量化误差

用数字量近似表示模拟量,会出现无法完全覆盖的情况,四舍五入后,与实际值的差就是量化误差

三、STM32F1/4的ADC特点

四、框图(以F4为例)与工作原理

1、参考电压/模拟部分电压

1)框图

2)原理

2、通道

1)框图

外部:16个通道,通过GPIO复用

内部:3个,温度传感器、参考电压、电池电压(F1只有2个,无VBAT)

2)原理

3、转换序列

1)框图

利用注入通道和规则通道进行分组

2)原理

注入组可以打断规则组的转换

3个规则序列寄存器:SQR1 2 3

注入通道寄存器:1个 JSQR

假设转化2个通道,JL设定成1(∵取值0-3代表1-4个通道),x=4-1=3,则注入序列的转换顺序是从JSQ3开始的;假设第一个要转换的通道是15,第二个要转换的通道是10,将15写入JSQ3,10写入JSQ4

快速记忆:转换n个,就从寄存器4-n+1开始转换

4、触发源

1)框图

分为注入组和规则组,常用规则组

先将EXTEN控制使能位置1,再通过EXTSEL选择触发源

2)原理

触发转换方式:

a.ADON位触发转换(仅限F1,少用)

当ADC_CR2寄存器的ADON位=1,在单独给ADON位写1,会触发规则组转换

b.外部事件触发转换:规则组、触发组

F1:

F4:

5、转换时间

1)框图

2)原理

设置ADC时钟

F1:ADC挂载在APB2上 APB2时钟最大为主频的1/2

ADC转换时间:Tconv=采样时间+12.5个周期(F4为+12个周期)

(F4)

采样时间通过SMPRx寄存器设置

6、数据寄存器

1)框图

规则组只有一个16位数据寄存器,可通过DMA将数据存入SRAM中

注入组有4个16位数据寄存器

2)原理

F1:

∵对F1来说,ADC为12位,寄存器有16个位,需要利用ADCx_CR2寄存器的ALIGN,位选择左对齐、右对齐,一般选右对齐

F4:

7、中断

1)框图

数据存入内存后,产生转换结束标志位,若开启中断使能位(将某中断位置1),就会产生ADC中断

2)原理

若使能控制位,会产生中断到NVIC

DMA请求只适用于规则组

8、单次转换模式和连续转换模式

通过CONT位设置

9、扫描模式

相关推荐
测试学习test1 分钟前
SPI读取W25Q64硬件驱动(HAL库)
数据库·stm32·嵌入式硬件·算法
xingzhemengyou111 分钟前
STM32对函数进行CRC校验
stm32·单片机·嵌入式硬件
FPGA小徐12 分钟前
STM32引脚详解:PC13-TAMPER-RTC 多功能复用引脚完全剖析(踩坑+配置+布线)
单片机·嵌入式硬件
Joe_Wang522 分钟前
【从0到1学习JVM · 25】同样都要停顿所有线程,Parallel比Serial到底强在哪
java·jvm·学习·垃圾回收
M78佐菲31 分钟前
ARM学习笔记(9)
linux·arm开发·笔记·嵌入式硬件·学习
铅笔小新z38 分钟前
【stm32】中断与异常
stm32·单片机·嵌入式硬件
阳光九叶草LXGZXJ1 小时前
达梦数据库-学习-67-SSL加密认证
linux·运维·数据库·sql·学习·ssl
東隅已逝,桑榆非晚1 小时前
priority_queue的介绍和使用
c++·经验分享·笔记·学习
量子-Alex1 小时前
【大模型强化学习后训练】强化学习后训练算力应投向何处?模型规模、搜索、学习与反馈
人工智能·学习
番茄灭世神2 小时前
PN学堂GD32教程第11篇——I2C与EEPROM
c语言·stm32·单片机·嵌入式·gd32