打印

STM32F4系列的DMA应用

[复制链接]
8820|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiereliyi|  楼主 | 2012-8-10 13:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.请教一下STM32F4 的DMA传输速度最高多少。memory to memory.
2.我想使用STM32F4的DMA功能完成高速数据采样,外接高速ADC,采样频率>60Mhz.能不能实现,DMA有同步信号输出吗?
沙发
IJK| | 2012-8-10 13:52 | 只看该作者
1.请教一下STM32F4 的DMA传输速度最高多少。memory to memory.

估算一下,STM32F4 主频168MHz,DMA大约能到1/4速率、即40M,每次传输1 word,约相当于160M字节/秒

2.我想使用STM32F4的DMA功能完成高速数据采样,外接高速ADC,采样频率>60Mhz
采样频率60MHz,每次传16-bit (12~16位AD),那么相当于120M字节/秒,应该可以,余量不大;每次传8-bit (8位AD),那么相当于60M字节/秒,毫无问题,余量充足。

使用特权

评论回复
板凳
jiereliyi|  楼主 | 2012-8-10 16:23 | 只看该作者
1.DMA有同步信号输出吗? 因为需要用这个同步信号触发AD采样

回复2楼:
DMA总线带宽不是32位的吗,我一次传8位和传16位,占用时间是一样的。所以DMA速率如果满足我的要求必须达到60M。无论我采用8位AD还是16位。   (不考虑外部拼接,因为那样电路会复杂很多)

使用特权

评论回复
地板
jiereliyi|  楼主 | 2012-8-16 12:55 | 只看该作者
1、请教一下,DMA的循环模式。能不能用在Memory to memory的方式下。
2、循环模式 Peripheral-to-memory ,每次传输一次,相当于启动一次DMA吗?也就是最高速度能达到全速DMA的速度吗?

使用特权

评论回复
5
airwill| | 2012-8-16 14:06 | 只看该作者
我好象记得 Memory to memory 的方式下不能 DMA 的循环模式。

使用特权

评论回复
6
jiereliyi|  楼主 | 2012-8-16 16:08 | 只看该作者
看到fsmc模块可以工作在50Mhz的频率下,想用FSMC+DMA来读取AD值,组成一个fifo,这样就可以到50Mhz,但是DMA不支持memory to memory  无法组成fifo功能。呵呵
我相用这个功能做个示波器。看来有困难。

使用特权

评论回复
7
ccontrol| | 2012-8-16 16:43 | 只看该作者
看到fsmc模块可以工作在50Mhz的频率下,想用FSMC+DMA来读取AD值,组成一个fifo,这样就可以到50Mhz,但是DMA不支持memory to memory  无法组成fifo功能。呵呵
我相用这个功能做个示波器。看来有困难。 ...
jiereliyi 发表于 2012-8-16 16:08

谁说DMA不支持memory to memory?

使用特权

评论回复
8
jiereliyi|  楼主 | 2012-8-16 17:31 | 只看该作者
写错了, 是在memory to memory下 DMA不支持 循环模式

使用特权

评论回复
9
jiereliyi|  楼主 | 2012-8-17 12:02 | 只看该作者
just do it

使用特权

评论回复
10
IJK| | 2012-8-17 12:07 | 只看该作者
1.DMA有同步信号输出吗? 因为需要用这个同步信号触发AD采样

回复2楼:
DMA总线带宽不是32位的吗,我一次传8位和传16位,占用时间是一样的。所以DMA速率如果满足我的要求必须达到60M。无论我采用8位AD还是16位。    ...
jiereliyi 发表于 2012-8-10 16:23


印象里,DMA可以进行内部拼接,有待确认。

使用特权

评论回复
11
xubeiping0930| | 2014-4-26 19:23 | 只看该作者
DMA还是有些麻烦  优点就是比不用DMA的速度快  除此之外还有什么呢

使用特权

评论回复
12
夕照| | 2015-4-22 18:09 | 只看该作者
不知道怎么判断DMA数据传输完毕啊

使用特权

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

本版积分规则

5

主题

20

帖子

0

粉丝