10.2[ADC]ADC 模块的结构框图-嵌入式铁头山羊STM32笔记

将 ADC 外设展开,上图为 ADC 内部结构框图

目录

1.ADC的多路复用

多路复用对应上图(ADC 内部框图)中的红框部分,多个通道复用一个 ADC。

上图为之前学过的逐次逼近型 ADC,采样保持比较,比较过程类似天平增删砝码称重的过程。

组成:比较器(天平),模拟信号(重物),采样保持电路(重物托盘),结果寄存器(砝码),电压发生器(砝码托盘)。

采样保持电路:闭合开关,采样一个点,电容充电,电容两端电压等于模拟信号两端电压;断开开关,保持当前电压(比较器虚断,开关开路电容无法放电)。

将开关和模拟信号画到最左边,

将整个采样保持电路部分,用五边形的框来表示

如上图所示,可以表示为,采样开关+剩余部分电路

采样转换过程:左边输入模拟信号,闭合开关采样,断开开关保持,将模拟电压信号转为数字信号(12 位二进制数),将转换结果存储到结果寄存器。我们只需要从结果寄存器读取数据即可。

Q: 多路模拟信号如何转换,过程是怎样的呢?

A:采样开关复制很多份,给每一路模拟信号后都装采样开关,然后统一连接 ADC。

转换流程:闭合模拟信号 1 的开关,断开模拟信号 1 的开关,读取结果寄存器,闭合模拟信号 2 的开关,断开模拟信号 2 的开关,读取结果寄存器,,,以此类推。

可以看到,上图 ADC 内部框图的红框位置,有很多那样的开关。

通道 0-9,对应 MCU 上的 10 个 IO 引脚,可以外接 10 个模拟信号输入。

温度计和参考电压后期再讲。

上图为 MCU 上的十个通道引脚示意图,绿底标记。

Q:ADC 模拟信号输入有通道 0-9,14,15,那 10-13 去哪里了?

将 ADC 引脚分布表,摘出来

A: 可以看到, STM32F103C8T6 引脚:PA0-PA15;PB0-PB15;PC13-PC15;PD0-PD1。没有 PC0-PC3,所以也就没有 ADC 模拟信号输入通道 IN10-13

2.常规序列

https://www.bilibili.com/video/BV11X4y1j7si?t=732.7&p=50

如上图所示, ADC 内部框图上半部分蓝框为常规序列部分。

把上图常规序列部分摘录出来。

Q:什么是常规序列

A:ADC 模块的一个计划,用来控制 ADC 通道闭合的顺序和时间

闭合开关的先后顺序、闭合时间,都是根据这个计划(常规序列)来指定的。

16:表示 16 项计划(16 个模拟输入信号通道)。

左下角为示例计划表:先闭合通道 7 开关采样,保持 0.1us;再闭合通道 8 开关,保持 0.2us;再闭合通道 9 开关,保持 0.1us。

左上角为外部触发信号:这个触发为常规序列的启动信号。每来一个上升沿,常规序列就执行一遍。

外部触发的梯形结构为复用器。

外部触发来源:6 种定时器,EXTI1(外部中断),软件启动

通过一个示例看下常规序列如何工作的:

按上图设置:向常规序列填计划(第一个通道 7 采样 0.1us,第二个通道 8 采样 0.2us,第三个通道 9 采样 0.1us)

使用定时器 3,TIM3_TRG0

配置定时器 3 时基单元和从模式控制器。

时基单元:假设输入时钟频率 72MHZ,PSC 设置 71,可得 CNT 的输入为 1us。ARR 设置为 999,可得周期为 1000 * 1us = 1ms。

从模式控制器:TRGO 设置为 update 事件,1ms 输出一个脉冲。将这个信号输入给 ADC 中,这样就可以每 1ms 触发一次外部中断信号。

上图左下角,可以看出每 1ms 触发一次外部中断信号上升沿,常规序列就触发一遍。黄色为闭合时间(0.1us,0.2us,0.1us)

3.注入序列

https://www.bilibili.com/video/BV11X4y1j7si?t=1215.4&p=50

注入序列和常规序列类似。

两者区别:

|-------|------|------|
| 区别 | 注入序列 | 常规序列 |
| 通道 | 4 | 16 |
| 结果寄存器 | 单独 | 共有 |
| 优先级 | 注入序列比常规序列更高 ||

4.例子

https://www.bilibili.com/video/BV11X4y1j7si?t=1330.3&p=50

模拟信号输入:上图左下角五路输入

常规序列配置:ch0,ch1,ch2,三个计划。外部触发信号选择 TIM3_TRGO,1us 脉冲

注入序列配置:ch3,ch4,两个计划。外部触发信号选择软件启动。

执行过程:第一个脉冲到来,常规序列执行一次。第二个脉冲到来,常规序列执行,执行到 ch1 时,脉冲触发注入序列后,暂停 ch1 执行,先执行 ch3 和 ch4,转换结束后再继续转换 ch1 和 ch2。第三个脉冲到来,常规序列执行一次。

总结

简单看了下多路复用(采样保持电路为基础)和常规序列、注入序列,并举了个例子来解释序列的配置和在常规序列和注入序列都有的情况下,触发后的通道执行顺序是怎样的。

相关推荐
深圳市九鼎创展科技5 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计5 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
小龙报7 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业7 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能7 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微
czwxkn7 小时前
4STM32(stdl)TIM定时器
stm32·单片机·嵌入式硬件
Love Song残响7 小时前
NVIDIA显卡终极优化指南
stm32·单片机·嵌入式硬件
qq_672592758 小时前
电源芯片为什么发热
单片机·嵌入式硬件
天天爱吃肉82188 小时前
【跨界封神|周杰伦×王传福(陶晶莹主持):音乐创作与新能源NVH测试,底层逻辑竟完全同源!(新人必看入行指南)】
python·嵌入式硬件·算法·汽车
国科安芯8 小时前
抗辐照MCU在精密时频系统中的单粒子效应评估与可靠性验证
单片机·嵌入式硬件·架构·制造·安全性测试