STMCU小助手
发布时间:2022-7-31 23:32
|
在 STM32 家族里,多数系列芯片内含 2 到 3 个 ADC 模块,有的甚至更多,比方 G4 系列可以有 5 个ADC 模块。其中,通道数因不同的系列或型号多少不等,几个到几十个的都有。有时,我们可能需要多个 ADC 模块同时工作,比方 3 个 ADC 模块同时采样转换。这时如果芯片内含有 3 个 ADC 模块,并支持同时采样转换就很方便。STM32 家族里的 STM32F4 系列、STM32F7 等其它系列都含有 3个 ADC 模块,并支持同时 AD 采样转换。 这里就 3 个 ADC 模块同时进行采样转换应用,做个简单实现演示,以供有需要的用户参考。 此时 3 个 ADC 模块会建立主从关系。以 STM32F4 芯片为例。内部大致框架如下:
采样转换时按如下图示操作,每次对属于 3 个 AD 模块的 3 个通道进行 AD 转换。如果多组的话,依次扫描进行。" O4 S. K, K5 i. [$ b $ |3 Z n0 ?6 ], D# `
# Y3 k' j4 ? l8 F2 o# A# c - M% u7 S; S- p, w 各通道转换结束时产生 DMA 请求,DMA 按照 ADC1、ADC2、ADC3 的顺序依次将数据取走,然后放到指定的内存空间。1 s% C# I4 H+ O, r7 X 好,大致原理就介绍这么多。更多细节还是请阅读 STM32 参考手册的 ADC 相关章节。 这里在 ADC1/ADC2/ADC3 三个模块各选择 2 各通道,它们的通道号及相关输入连接如下:9 H- y' t9 j8 ]3 a) {6 F 【注:ADC 模块的参考电压也选用 VDD.下面实验基于 STM32F407 DISCOVERY 板来进行。】: R- k6 H7 \& Q b5 W: v7 F$ e1 q G 2 x; @4 d0 A" G& X- s3 r" u8 n5 q1 b 8 l* k6 ~# H# D. p
另外,我这里使用 STM32 的 TIM3 的更新事件触发 ADC 转换。 一、使用 STM32CubeMx 图形化配置工具完成基本配置 1.1 RCC/SYS 等必需配置项目【略】 1.2 对 ADC 进行配置。 1.2.1 对 ADC1 及相关 DMA 进行配置。3 D+ \3 \2 R# Q; |4 U2 I. f G - p2 q/ U' i, d" h
. T- ?# I+ W: W. s) g" i% Y 至于对 ADC2 和 ADC3 及相关 DMA 进行配置,主要参数和配置流程跟 ADC1 一样,它们做从 ADC,少了个触发选择项。注意选择对应的 ADC 通道及采样时间。考虑到版面,这里就不重复贴图了。 , T: V( _$ L2 C2 E. m9 b: W 完整版请查看:附件 5 a, r: ?) J( V, C8 R ( K: B$ N! B5 B) O- M$ ^" W: Q e j & y3 }( g; R5 f4 c! h |
Simultaneous_sampling_and_conversion_of_multiple_ADC.pdf
下载467.81 KB, 下载次数: 3
【STM32H5 评测】ADC 电压表
经验分享 | 通过STM32 TIMER的PWM功能模拟输出正弦波
STM32H563 ADC+TIM+DMA应用演示
经验分享 | STM32N6 ADC DMA 传输失败案例分享
实战经验 | MC SDK V6.x软件HSO功能ADC采样设计说明
经验分享 | 为什么重启ADC的DMA传输要先停掉ADC?
经验分享 | 为什么重启ADC的DMA传输要先停掉ADC?
经验分享 | STM32 ADC过采样话题
经验分享 | STM32双定时器+ADC+DMA实战案例
经验分享 | STM32U5系列TIMER+DMA+DAC应用演示
微信公众号
手机版