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

[复制链接]
9578|36
zxq6 发表于 2017-6-13 23:00 来自手机 | 显示全部楼层
为啥不用fmc呢?
QuakeGod 发表于 2017-6-13 23:40 | 显示全部楼层
lixiaoxu186 发表于 2017-6-13 13:10
因为传输的数据多  不想使用IO口中断  浪费cup时间

应该在FPGA里面做一个缓冲,然后中断后批量传输。
毛竹君 发表于 2017-6-14 10:55 | 显示全部楼层
 楼主| lixiaoxu186 发表于 2017-6-14 16:40 | 显示全部楼层
zxq6 发表于 2017-6-13 23:00
为啥不用fmc呢?

我们想把FPGA与ARM集中到一块板子上,然后加上一些外围控制。你说的fmc是类似模块扩展吧,应用到我们针对性不强。
 楼主| lixiaoxu186 发表于 2017-6-14 16:44 | 显示全部楼层
QuakeGod 发表于 2017-6-13 23:40
应该在FPGA里面做一个缓冲,然后中断后批量传输。

因为实时采集实时传输,就是不停的采集,即使用fpga做缓存,如果不用DMA方式的话,一起传输数据和分开一个一个传是一样的,还是会浪费时间。因为输出的数据是一定的。
 楼主| lixiaoxu186 发表于 2017-6-14 16:45 | 显示全部楼层
sonicll 发表于 2017-6-13 17:39
你可以看另一个帖子的代码
TIM_DMACmd(TIM5,TIM_DMA_CC1,ENABLE );
定时器通道1的输入捕获事件触发DMA ...

QuakeGod 发表于 2017-6-14 16:49 | 显示全部楼层
lixiaoxu186 发表于 2017-6-14 16:44
因为实时采集实时传输,就是不停的采集,即使用fpga做缓存,如果不用DMA方式的话,一起传输数据和分开一 ...

不一样哦,批量传输,一批数据才一次中断,你省去了剩余的每个数据的中断时间,收益很大呢。
即便是实时的,也不是一点延迟也不允许有啊,一般都允许几帧的延迟。
像视频信号,就是采集完一帧才传输。声音信号也是。
 楼主| lixiaoxu186 发表于 2017-6-14 16:50 | 显示全部楼层
 楼主| lixiaoxu186 发表于 2017-6-14 16:51 | 显示全部楼层
Garen2 发表于 2017-6-17 21:26 | 显示全部楼层
io脚触发dma的通道不行吗
zxq6 发表于 2017-6-20 14:07 | 显示全部楼层
lixiaoxu186 发表于 2017-6-14 16:40
我们想把FPGA与ARM集中到一块板子上,然后加上一些外围控制。你说的fmc是类似模块扩展吧,应用到我们针对 ...

不是的,我说的fmc,也就是103系列的fsmc,外部并行总线。
这样子跟fpga通信就很方便了。
其实,如果感觉很困难,可以尝试使用zynq系列芯片,内部集成了arm硬核,通信很简单了。
MOn51 发表于 2017-6-24 12:52 | 显示全部楼层
早期的帖子有。DMA->GPIO.
MOn51 发表于 2017-6-24 12:53 | 显示全部楼层
天灵灵地灵灵 发表于 2017-6-25 17:45 | 显示全部楼层
旁听旁听。
JorryZhao 发表于 2018-11-8 16:33 | 显示全部楼层
学习一下!!!
放开那个鸡腿 发表于 2020-5-26 12:01 | 显示全部楼层
你好!看了你的“STM32F4系列的DMA能否实现从GPIO口到内存的传输”的帖子,最近也在搞类似的东西,不知道能不能把源码给我参考一下?
fangkainagejitui@126.com
谢谢!!!!
hangc 发表于 2021-3-25 10:53 | 显示全部楼层
所以F7要实现DMA到GPIO的话,也必须使用DMA2才可以,是不是这个意思?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部