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、扫描模式

相关推荐
嵌入式-老费6 分钟前
瑞芯微soc的学习和应用(题外话之esp32开发)
学习
辰同学ovo1 小时前
从全局登录状态管理学习 Redux
前端·javascript·学习·react.js
ting94520001 小时前
告别无效学习:Scholé 如何用 AI 重构职场学习,让学习直接嵌入工作流
人工智能·学习·重构
xian_wwq1 小时前
【学习笔记】Harness到底是什么
笔记·学习·ai·harness
wuxinyan1231 小时前
大模型学习之路004:RAG 零基础入门教程(第一篇):基础理论与文档处理流水线
人工智能·学习·rag
冯诺依曼的锦鲤1 小时前
从零实现高并发内存池:TCMalloc 核心架构拆解
c++·学习·算法·架构
网络工程小王2 小时前
【LangChain Output Parser 输出解析器】输出篇
人工智能·学习·langchain
踏着七彩祥云的小丑2 小时前
嵌入式——认识电子元器件——晶体谐振器系列
单片机·嵌入式硬件
AI周红伟2 小时前
周红伟:DeepSeek官方教您如何部署Hermes Agent 和接入 DeepSeek-V4-Pro
人工智能·深度学习·学习·机器学习·copilot·openclaw