硬汉嵌入式论坛

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

[ADC] ADC采样+FFT求问

[复制链接]

2

主题

7

回帖

13

积分

新手上路

积分
13
发表于 2023-7-9 09:11:44 | 显示全部楼层 |阅读模式
关于例程V7-019ADC定时器触发+DMA双缓冲实现,求问ADCxValues[128]中的128个数据是否是按照定时器采样频率采样的连续128个点?实验出来是不是的,但是理解上好像是的。

另外,有没有方便的一次按照采样频率取诸如1024、2048个点的方式,方便一次性做FFT计算频率
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107027
QQ
发表于 2023-7-9 10:51:29 | 显示全部楼层
1、连续。
STM32H7的定时器触发ADC双缓冲方式波形效果验证
https://www.armbbs.cn/forum.php?mod=viewthread&tid=96484

2、设置DMA缓冲大小即可
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2023-7-19 17:18:25 | 显示全部楼层
eric2013 发表于 2023-7-9 10:51
1、连续。
STM32H7的定时器触发ADC双缓冲方式波形效果验证
https://www.armbbs.cn/forum.php?mod=viewthr ...

感谢
但是现在遇到一个新问题,就是设置点数<= 2048都是可以的,但是设置为4096就不行了,这是为啥呀,是cache配置问题吗,cache也是按照您的教程配的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107027
QQ
发表于 2023-7-20 11:24:45 | 显示全部楼层
Shenjy 发表于 2023-7-19 17:18
感谢
但是现在遇到一个新问题,就是设置点数

那就设置DMA缓冲到10K看看。这样一轮就可以采集10K,看看是否连续。
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2023-7-20 11:38:59 | 显示全部楼层
eric2013 发表于 2023-7-20 11:24
那就设置DMA缓冲到10K看看。这样一轮就可以采集10K,看看是否连续。

感谢回复!
我后续发现是在做adc的时候就有了问题,我用100khz采样率,采样64个点,8khz信号,采样到的波形就不对了file:///C:/Users/Fish/Desktop/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20230720113637.png
然后后续更改DMA缓冲到1024个点、2048个点,甚至无法采样。

猜测应该是cache设置的问题,可是按照您的历程,128个点的DMA缓冲也无法打印
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107027
QQ
发表于 2023-7-21 09:09:09 | 显示全部楼层
Shenjy 发表于 2023-7-20 11:38
感谢回复!
我后续发现是在做adc的时候就有了问题,我用100khz采样率,采样64个点,8khz信号,采样到的 ...

1、看下map文件,ADC数据缓冲使用的RAM空间不是采用的DTCM吧,这个空间不支持DMA。
2、第1个问题确认后,考虑把ADC所使用RAM空间,直接配置MPU关闭了Cache。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 13:21 , Processed in 0.165476 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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