发新帖我要提问
12
返回列表
打印
[STM32F4]

STM32F4系列的DMA能否实现从GPIO口到内存的传输

[复制链接]
楼主: lixiaoxu186
手机看帖
扫描二维码
随时随地手机跟帖
21
zxq6| | 2017-6-13 23:00 | 只看该作者 回帖奖励 |倒序浏览
为啥不用fmc呢?

使用特权

评论回复
22
QuakeGod| | 2017-6-13 23:40 | 只看该作者
lixiaoxu186 发表于 2017-6-13 13:10
因为传输的数据多  不想使用IO口中断  浪费cup时间

应该在FPGA里面做一个缓冲,然后中断后批量传输。

使用特权

评论回复
23
毛竹君| | 2017-6-14 10:55 | 只看该作者


























使用特权

评论回复
24
lixiaoxu186|  楼主 | 2017-6-14 16:40 | 只看该作者
zxq6 发表于 2017-6-13 23:00
为啥不用fmc呢?

我们想把FPGA与ARM集中到一块板子上,然后加上一些外围控制。你说的fmc是类似模块扩展吧,应用到我们针对性不强。

使用特权

评论回复
25
lixiaoxu186|  楼主 | 2017-6-14 16:44 | 只看该作者
QuakeGod 发表于 2017-6-13 23:40
应该在FPGA里面做一个缓冲,然后中断后批量传输。

因为实时采集实时传输,就是不停的采集,即使用fpga做缓存,如果不用DMA方式的话,一起传输数据和分开一个一个传是一样的,还是会浪费时间。因为输出的数据是一定的。

使用特权

评论回复
26
lixiaoxu186|  楼主 | 2017-6-14 16:45 | 只看该作者
sonicll 发表于 2017-6-13 17:39
你可以看另一个帖子的代码
TIM_DMACmd(TIM5,TIM_DMA_CC1,ENABLE );
定时器通道1的输入捕获事件触发DMA ...

使用特权

评论回复
27
QuakeGod| | 2017-6-14 16:49 | 只看该作者
lixiaoxu186 发表于 2017-6-14 16:44
因为实时采集实时传输,就是不停的采集,即使用fpga做缓存,如果不用DMA方式的话,一起传输数据和分开一 ...

不一样哦,批量传输,一批数据才一次中断,你省去了剩余的每个数据的中断时间,收益很大呢。
即便是实时的,也不是一点延迟也不允许有啊,一般都允许几帧的延迟。
像视频信号,就是采集完一帧才传输。声音信号也是。

使用特权

评论回复
28
lixiaoxu186|  楼主 | 2017-6-14 16:50 | 只看该作者

使用特权

评论回复
29
lixiaoxu186|  楼主 | 2017-6-14 16:51 | 只看该作者

使用特权

评论回复
30
Garen2| | 2017-6-17 21:26 | 只看该作者
io脚触发dma的通道不行吗

使用特权

评论回复
31
zxq6| | 2017-6-20 14:07 | 只看该作者
lixiaoxu186 发表于 2017-6-14 16:40
我们想把FPGA与ARM集中到一块板子上,然后加上一些外围控制。你说的fmc是类似模块扩展吧,应用到我们针对 ...

不是的,我说的fmc,也就是103系列的fsmc,外部并行总线。
这样子跟fpga通信就很方便了。
其实,如果感觉很困难,可以尝试使用zynq系列芯片,内部集成了arm硬核,通信很简单了。

使用特权

评论回复
32
MOn51| | 2017-6-24 12:52 | 只看该作者
早期的帖子有。DMA->GPIO.

使用特权

评论回复
33
MOn51| | 2017-6-24 12:53 | 只看该作者
34
天灵灵地灵灵| | 2017-6-25 17:45 | 只看该作者
旁听旁听。

使用特权

评论回复
35
JorryZhao| | 2018-11-8 16:33 | 只看该作者
学习一下!!!

使用特权

评论回复
36
放开那个鸡腿| | 2020-5-26 12:01 | 只看该作者
你好!看了你的“STM32F4系列的DMA能否实现从GPIO口到内存的传输”的帖子,最近也在搞类似的东西,不知道能不能把源码给我参考一下?
fangkainagejitui@126.com
谢谢!!!!

使用特权

评论回复
37
hangc| | 2021-3-25 10:53 | 只看该作者
所以F7要实现DMA到GPIO的话,也必须使用DMA2才可以,是不是这个意思?

使用特权

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

本版积分规则