硬汉嵌入式论坛

 找回密码
 立即注册
查看: 599|回复: 7
收起左侧

[ADC] STM32H7三个ADC,每个ADC三个通道,要如何实现同步采集?

[复制链接]

4

主题

13

回帖

25

积分

新手上路

积分
25
发表于 2024-1-31 10:08:39 | 显示全部楼层 |阅读模式
使用STM32H7系列,使用ADC1、ADC2、和ADC3,其中每个ADC各使用两个通道,共三个ADC 六个通道,使用定时器触发,DMA双缓冲传输,如何实现多通道数的同步采样?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2024-1-31 10:20:50 | 显示全部楼层
使用同一个定时器的三个CC通道。这样就保证同步了。

另外每个ADC的两个通道是依次采集的,不是同步的,注意这点。
回复

使用道具 举报

9

主题

85

回帖

112

积分

初级会员

积分
112
发表于 2024-1-31 13:40:49 | 显示全部楼层
硬汉哥您好,看您的建议是用同一个定时器的三个CC通道, 为何不是同一个定时器的同一个CC通道? 我看CUBEMX可以这么配置,这里用不同的CC通道是有什么具体原因吗? 我用LPTIM的同一个信号触发,还是没有同步起来。多谢!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2024-1-31 14:14:51 | 显示全部楼层
szjdb 发表于 2024-1-31 13:40
硬汉哥您好,看您的建议是用同一个定时器的三个CC通道, 为何不是同一个定时器的同一个CC通道? 我看CUBEMX ...

同一个不知道行不行,我没实测。

我一直是三个CC,这个是确定可以的。
回复

使用道具 举报

4

主题

13

回帖

25

积分

新手上路

积分
25
 楼主| 发表于 2024-2-2 17:25:07 | 显示全部楼层
eric2013 发表于 2024-1-31 10:20
使用同一个定时器的三个CC通道。这样就保证同步了。

另外每个ADC的两个通道是依次采集的,不是同步的, ...

硬汉哥我还有个疑问,三个ADC采集的数据放置在三个Buffer中,那么我如何能实现这三个buffer中的数据同步传输到上位机中呢?如果使用usb VCP传输的话,会不会造成三个buffer数据之间的迟滞?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2024-2-3 08:17:13 | 显示全部楼层
langlangago 发表于 2024-2-2 17:25
硬汉哥我还有个疑问,三个ADC采集的数据放置在三个Buffer中,那么我如何能实现这三个buffer中的数据同步 ...

这就看你ADC最大数据量和USB最大传输速度了。

比如你每秒ADC是10KB,那USB完全无压力。
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
发表于 2024-2-7 11:24:57 | 显示全部楼层
可以使用ADC1和ADC2的双ADC常规同步模式,但H7不支持三ADC同步模式,如下图描述

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2024-2-13 14:56:11 | 显示全部楼层
taokingfly 发表于 2024-2-7 11:24
可以使用ADC1和ADC2的双ADC常规同步模式,但H7不支持三ADC同步模式,如下图描述

三ADC要使用同一个定时器的CC1,CC2,CC3触发ADC1,ADC2和ADC3来实现。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 06:28 , Processed in 0.297219 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表