硬汉嵌入式论坛

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

[ADC] STM32H7 ADC最大速率

[复制链接]

3

主题

6

回帖

15

积分

新手上路

积分
15
发表于 2025-3-27 11:45:46 | 显示全部楼层 |阅读模式
在测试过程中发现ADC最大采样速率达到了5M;远超手册中给的1.9M的采样速率;对此有些疑惑;







使用定时器触发DMA采样,采集1000个点,在中断回调函数中将TP引脚的电平拉高,将数据打印出来后再次开始转化,同时将TP引脚电平拉低;
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-3-27 14:35:14 | 显示全部楼层
这个超太多了, DMA会有搬运多次已经转换好的值。
回复

使用道具 举报

3

主题

6

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2025-3-27 15:31:12 | 显示全部楼层
eric2013 发表于 2025-3-27 14:35
这个超太多了, DMA会有搬运多次已经转换好的值。

dma转换的数据中会有多个重复的值吗?
我把答应的数值放大,并没有发现这种情况。
回复

使用道具 举报

3

主题

6

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2025-3-27 15:31:42 | 显示全部楼层
回复

使用道具 举报

0

主题

272

回帖

272

积分

高级会员

积分
272
发表于 2025-3-27 15:34:09 | 显示全部楼层
不同封装的芯片,ADC速度不一样,这个可以看手册
回复

使用道具 举报

3

主题

6

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2025-3-27 16:17:24 | 显示全部楼层
regbbs 发表于 2025-3-27 15:34
不同封装的芯片,ADC速度不一样,这个可以看手册

我使用的STM32H750VBT6,查了,说最大能到1.9M
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-3-27 17:18:38 | 显示全部楼层
xiyu_dang 发表于 2025-3-27 15:31
dma转换的数据中会有多个重复的值吗?
我把答应的数值放大,并没有发现这种情况。

ADC最大的转换速度是一定的,你的触发速度高于ADC的转换速度显然会存在ADC的DR数据还是上次的值。

你当前属于超频使用,而且超出太多了。ADC的主频最高才可以36MHz。STM32H7工作在400MHz,ADC1和ADC2位于200MHz的AHB1总线时钟,你这个只配了1分频,高太多了。

出来的数据参考价值不高。
回复

使用道具 举报

3

主题

6

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2025-3-27 18:24:42 | 显示全部楼层
eric2013 发表于 2025-3-27 17:18
ADC最大的转换速度是一定的,你的触发速度高于ADC的转换速度显然会存在ADC的DR数据还是上次的值。

你 ...

ADC的时钟源是100M,V版本的硬件会强制二分频,最终ADC的时钟周期应该是50M吧?


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-3-27 18:47:22 | 显示全部楼层
xiyu_dang 发表于 2025-3-27 18:24
ADC的时钟源是100M,V版本的硬件会强制二分频,最终ADC的时钟周期应该是50M吧?

是的,要适配到你的这个型号,按照你楼主位说的最高1.9M情况下,对应的ADC主频要设置多少。
回复

使用道具 举报

18

主题

92

回帖

146

积分

初级会员

积分
146
QQ
发表于 2025-3-28 09:42:40 | 显示全部楼层
xiyu_dang 发表于 2025-3-27 16:17
我使用的STM32H750VBT6,查了,说最大能到1.9M

我也是超频使用的,H750VBT6的最大采样率手册给的是1.9M。给ADC的时钟应该38Mhz,但是我采集的时候也没感觉有啥区别,我开到最大之后然后使用了2倍过采样
回复

使用道具 举报

2

主题

14

回帖

20

积分

新手上路

积分
20
发表于 2025-4-8 16:49:40 | 显示全部楼层
eric2013 发表于 2025-3-27 17:18
ADC最大的转换速度是一定的,你的触发速度高于ADC的转换速度显然会存在ADC的DR数据还是上次的值。

你 ...

硬汉哥,我这边用的是16K的定时器触发ADC DMA采样,每次只采一个数据,但是IO翻转测出来的转换速率只有8K,有点过于慢了,这可能是什么引起的呢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-4-9 10:51:45 | 显示全部楼层
小梁呐 发表于 2025-4-8 16:49
硬汉哥,我这边用的是16K的定时器触发ADC DMA采样,每次只采一个数据,但是IO翻转测出来的转换速率只有8K ...

方便的话,分享配置代码看下
回复

使用道具 举报

2

主题

14

回帖

20

积分

新手上路

积分
20
发表于 2025-4-10 08:53:35 | 显示全部楼层
eric2013 发表于 2025-4-9 10:51
方便的话,分享配置代码看下

已经找到问题了,主要是没有设置连续采样,另外定时器的时钟我一直以为用了那个240M的,没注意实际使用的是120M的,所以两问题一起导致采一个数据8K,10个数据就只有0.8K了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2025-4-10 10:17:46 | 显示全部楼层
小梁呐 发表于 2025-4-10 08:53
已经找到问题了,主要是没有设置连续采样,另外定时器的时钟我一直以为用了那个240M的,没注意实际使用的 ...

谢谢告知最终原因
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-26 01:59 , Processed in 0.585975 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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