STM32学习笔记14——ADC part2

这篇博客详细介绍了STM32在双重和三重ADC模式下的工作原理,包括注入同时模式、规则同时模式、交替模式和交替触发模式。在这些模式下,转换可以通过外部触发或交替触发启动,数据通过DMA传输,并强调了不同模式下转换序列的同步和数据存储。此外,还提到了温度传感器和电池充电监视的ADC应用。
摘要由CSDN通过智能技术生成

多重 ADC 模式
在具有两个或更多 ADC 的器件中,可使用双重(具有两个 ADC)和三重(具有三个 ADC) ADC 模式(参见图 41)。
在多重 ADC 模式下,通过 ADC1 主器件到 ADC2 和 ADC3 从器件的交替触发或同时触发来 启动转换,具体取决于 ADC_CCR 寄存器中的 MULTI[4:0] 位所选的模式。
注意:在多重 ADC 模式下,配置外部事件触发转换时,应用必须设置为仅主器件触发而禁止从器件 触发,以防止出现意外触发而启动不需要的从转换。
可实现以下四种模式:
● 注入同时模式
● 规则同时模式
● 交替模式
● 交替触发模式
也可按以下方式组合使用上述模式:
● 注入同时模式 + 规则同时模式
● 规则同时模式 + 交替触发模式
注意:在多重 ADC 模式下,可在多模式数据寄存器 (ADC_CDR) 中读取转换的数据。可在多模式状 态寄存器 (ADC_CSR) 中读取状态位。
多重ADC框图
1. 尽管 ADC2 和 ADC3 上存在外部触发,但它们并未显示在此图中。
2. 在双重 ADC 模式下,不存在 ADC3 从器件部分。
3. 在三重 ADC 模式下,ADC 通用数据寄存器 (ADC_CDR) 包含 ADC1、ADC2 和 ADC3 的规则转换数据。
按照所选的存储顺序使用全部 32 个寄存器位。
在双重 ADC 模式下,ADC 通用数据寄存器 (ADC_CDR) 包含 ADC1 和 ADC2 的规则转换数据。使用全部
32 个寄存器位。
● 多重 ADC 模式下的 DMA 请求:
在多重 ADC 模式下,可将 DMA 配置为使用三种不同的模式来传输转换的数据。在所有情况下,要使用的 DMA 流均连接到 ADC:
— DMA 模式 1:每发出一个 DMA 请求(一个数据项可用),就会传输一个表示 ADC转换的数据项的半字。
在双重 ADC 模式下,发出第一个请求时传输 ADC1 的数据,发出第二个请求时传输 ADC2 的数据,依次类推。
在三重 ADC 模式下,发出第一个请求时传输 ADC1 的数据,发出第二个请求时传输ADC2 的数据,发出第三个请求时传输 ADC3 的数据;重复此序列。因此 DMA 首先传输 ADC1 的数据,随后传输 ADC2 的数据,再传输 ADC3 的数据,依次类推。
DMA 模式 1 用于三重规则同时模式。
示例:
三重规则同时模式:生成 3 个连续的 DMA 请求(每个请求对应一个转换数据项)
第 1 个请求:ADC_CDR[31:0] = ADC1_DR[15:0]
第 2 个请求:ADC_CDR[31:0] = ADC2_DR[15:0]
第 3 个请求:ADC_CDR[31:0] = ADC3_DR[15:0]
第 4 个请求:ADC_CDR[31:0] = ADC1_DR[15:0]
— DMA 模式 2:每发送一个 DMA 请求(两个数据项可用),就会以字的形式传输表
示两个 ADC 转换数据项的两个半字。
在双重 ADC 模式下,发出第一个请求时会传输 ADC2 和 ADC1 的数据(ADC2 数据占用高位半字,ADC1 数据占用低位半字),依此类推。
在三重 ADC 模式下,将生成三个 DMA 请求:发出第一个请求时,会传输 ADC2和 ADC1 的数据(ADC2 数据占用高位半字,ADC1 数据占用低位半字)。发出第二个请求时,会传输 ADC1 和 ADC3 的数据(ADC1 数据占用高位半字,ADC3数据占用低位半字)。发出第三个请求时,会传输 ADC3 和 ADC2 的数据(ADC3数据占用高位半字,ADC2 数据占用低位半字),依此类推。
DMA 模式 2 用于交替模式和规则同时模式(仅适用于双重 ADC 模式)。
示例:
a) 双重交替模式:每当有 2 个数据项可用时,就会生成一个 DMA 请求:
第 1 个请求:ADC_CDR[31:0] = ADC2_DR[15:0] | ADC1_DR[15:0]
第 2 个请求:ADC_CDR[31:0] = ADC2_DR[15:0] | ADC1_DR[15:0]
b) 三重交替模式:每当有 2 个数据项可用时,就会生成一个 DMA 请求
第 1 个请求:ADC_CDR[31:0] = ADC2_DR[15:0] | ADC1_DR[15:0]
第 2 个请求:ADC_CDR[31:0] = ADC1_DR[15:0] | ADC3_DR[15:0]
第 3 个请求:ADC_CDR[31:0] = ADC3_DR[15:0] | ADC2_DR[15:0]
第 4 个请求:ADC_CDR[31:0] = ADC2_DR[15:0] | ADC1_DR[15:0]
— DMA 模式 3:此模式与 DMA 模式 2 相似。唯一的区别是:在这种模式下,每发送一个 DMA 请求(两个数据项可用),就会以半字的形式传输表示两个 ADC 转换数据项的两个字节。此模式下的数据传输顺序与 DMA 模式 2 相似。
DMA 模

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值