硬汉嵌入式论坛

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

[ADC] 双定时器触发双ADC采样

[复制链接]

9

主题

36

回帖

63

积分

初级会员

积分
63
发表于 2022-11-17 15:28:30 | 显示全部楼层 |阅读模式
RT,硬汉哥,请问一下,STM32H7能不能实现用两个定时器分别来触发ADC1和ADC2采样n个点?比如用TIM1以500K的频率触发ADC1采样5000个点,用TIM2(或者其他,这里举例)以1M的频率采样50000个点?开始采样的时候是同时的,结束的话因为点数不同所以不会同时结束,然后都分别使用DMA方式搬运数据,这样可行吗?
回复

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2022-11-17 15:34:22 | 显示全部楼层
有点描述错误,用TIM2(或者其他,这里举例)以1M的频率触发ADC2采样50000个点
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106999
QQ
发表于 2022-11-17 17:00:53 | 显示全部楼层
没问题,这个互不影响的。
回复

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2022-11-17 17:45:06 | 显示全部楼层
eric2013 发表于 2022-11-17 17:00
没问题,这个互不影响的。

好的,谢谢了
回复

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2022-11-18 10:49:16 | 显示全部楼层
eric2013 发表于 2022-11-17 17:00
没问题,这个互不影响的。

还想请教一下,这种情况下DMA是不是也要都用起来,比如ADC1使用的是DMA1,那ADC2是不是就要使用DMA2了?因为是要同时采集两个信号的,并且这种情况下,我还有其他外设:比如SDMMC也需要用其中一个DMA那怎么处理呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106999
QQ
发表于 2022-11-18 13:37:21 | 显示全部楼层
zhangxiusong 发表于 2022-11-18 10:49
还想请教一下,这种情况下DMA是不是也要都用起来,比如ADC1使用的是DMA1,那ADC2是不是就要使用DMA2了? ...

1、每个DMA下有多个数据流,选择不同的数据流即可,ADC1和ADC2可以都使用DMA1下的不同数据流。
2、H7的SDMMC有自己独立的IDMA,他不需要使用通用DMA
回复

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2022-11-18 14:08:11 | 显示全部楼层
eric2013 发表于 2022-11-18 13:37
1、每个DMA下有多个数据流,选择不同的数据流即可,ADC1和ADC2可以都使用DMA1下的不同数据流。
2、H7的S ...

文档上说8路数据流,但是不是并行处理的,有优先级和仲裁器的,就想中断的概念一样,如果同时发生数据流要搬运,只会搬完一个再搬另一个对吧?我现在希望的是两路采集都是在同时进行的,只是采样频率和采样点数不能一样,比如用数据流1和数据流2,都发生了ADC转换完成的数据要搬运(ADC1对应数据流1和ADC2对应数据流2),根据文档说的不是并行处理,然后优先级都设置成一样,仲裁器优先搬运数据流1也就是ADC1的数据,然后再搬运数据流2也就是ADC2的数据,会不会数据流2(ADC2)的数据还未搬运,然后ADC2的下一次数据又来了?那不是丢点了?理想化的是并行处理,互不干涉。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106999
QQ
发表于 2022-11-19 08:58:29 | 显示全部楼层
zhangxiusong 发表于 2022-11-18 14:08
文档上说8路数据流,但是不是并行处理的,有优先级和仲裁器的,就想中断的概念一样,如果同时发生数据流 ...

这个要正确理解DMA搬运;
(1)并不是完全搬运完,DMA也有FIFO缓存的,而且DMA搬运间隙,只要有时间就会执行其它DMA请求。
(2)这个时候最重要的还是考验DMA的总带宽性能,H7的带宽处理多个ADC同时干活完全无压力。像我们早期的F407一代示波器,就是三路定时器触发+3个ADC+3组DMA数据流做的三通道快速数据快速交替采样还处理的过来。
回复

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2022-11-19 10:45:44 | 显示全部楼层
eric2013 发表于 2022-11-19 08:58
这个要正确理解DMA搬运;
(1)并不是完全搬运完,DMA也有FIFO缓存的,而且DMA搬运间隙,只要有时间就会 ...

好的,明白了,再次感谢你硬汉大哥,解惑这块您真的做的很棒。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 08:42 , Processed in 0.255122 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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