打印
[STM32F4]

做ADC+DMA时遇到问题

[复制链接]
919|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yszong|  楼主 | 2022-2-1 23:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
硬件平台为STM32F405.
     ADC时钟配置为21Mhz,软件选择采样时间周期为84个周期,那么Tconv = 84 + 12 = 96个周期,即96/21 = 4.571微秒。在软件中有配置了ADC_TwoSamplingDelay为9个周期时间。那是不是就是说我连续采样,采集一次需要花费 (96 + 9) / 21M = 5微秒的时间呢?

使用特权

评论回复
沙发
yszong|  楼主 | 2022-2-1 23:51 | 只看该作者
还有什么现象?能再详细描述下吗?

使用特权

评论回复
板凳
yszong|  楼主 | 2022-2-1 23:53 | 只看该作者
     我想将这5微秒的时间固定,是否配置好DMA之后,DMA的搬移就不会占用时间呢?也就是说我ADC一直以5微秒/点来采集数据,DMA搬移并不会在5微秒之后占用时间。请问群里大大,我的理解正确么?

使用特权

评论回复
地板
juventus9554| | 2022-2-1 23:54 | 只看该作者
ADC 连续采样, 那么这个时间间隔就是固定的.

使用特权

评论回复
5
renyaq| | 2022-2-1 23:57 | 只看该作者
DMA 会消耗几个周期的 CPU 时钟 (由实际运行中的总线空闲状态所影响) 但这个时间不会影响 ADC 转换周期

使用特权

评论回复
6
yszong|  楼主 | 2022-2-2 09:00 | 只看该作者
那么AD采样的时间需要加上软件配置的9个周期的延时时间么?

使用特权

评论回复
7
yszong|  楼主 | 2022-2-2 09:03 | 只看该作者
也就是上面说的(84+12+9)/21M.

使用特权

评论回复
8
xxrs| | 2022-2-2 09:07 | 只看该作者

后面的问题:
DMA是单独硬件,与AD并行运行,
而且DMA肯定更快。

使用特权

评论回复
9
yszong|  楼主 | 2022-2-2 09:10 | 只看该作者

这样DMA与AD并行,我就明白了。谢谢大大~~~

使用特权

评论回复
10
yszong|  楼主 | 2022-2-2 09:12 | 只看该作者

看了下ADC的双重或三重模式,发现DELAY这个位只使用在ADC的双重或三重模式。单通道AD采集并不需要设置这个位。

使用特权

评论回复
11
jlyuan| | 2022-2-2 09:14 | 只看该作者
呵呵,解决了就好啊,很有效率的嘛

使用特权

评论回复
12
dingy| | 2022-2-2 09:16 | 只看该作者
DMA 会消耗几个周期的 CPU 时钟

使用特权

评论回复
13
jiajs| | 2022-2-2 09:17 | 只看该作者
DMA占用的时钟有多少

使用特权

评论回复
14
juventus9554| | 2022-2-2 09:20 | 只看该作者
DMA是单独硬件,直接内存访问,比较快

使用特权

评论回复
15
xxrs| | 2022-2-2 09:52 | 只看该作者
不太会用dma啊

使用特权

评论回复
16
wyjie| | 2022-2-2 09:54 | 只看该作者
被采样的信号的频率是多少啊

使用特权

评论回复
17
dingy| | 2022-2-2 09:56 | 只看该作者
如果没有别的代码干扰 应该可以这么算

使用特权

评论回复
18
yszong|  楼主 | 2022-2-2 09:58 | 只看该作者
唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
19
tfqi| | 2022-3-1 15:50 | 只看该作者
这个时间不正常吗

使用特权

评论回复
20
gwsan| | 2022-3-1 15:57 | 只看该作者
DMA是单独硬件吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

830

主题

11379

帖子

4

粉丝