【银杏科技ARM+FPGA双核心应用】GD32F4系列三十三—FSMC_DMA实验

[复制链接]
34623|396
pixhw 发表于 2026-1-7 22:55 | 显示全部楼层
在 GD32 固件库中配置分为三步:初始化 FSMC、初始化 DMA、启动传输。

uiint 发表于 2026-1-8 14:47 | 显示全部楼层
GD32 FSMC 配置的宽度必须与 FPGA RAM 的宽度一致,否则数据会错位。
jonas222 发表于 2026-1-8 15:27 | 显示全部楼层
在FPGA内部用BRAM(块RAM)或分布式RAM实现一个双端口RAM。
alvpeg 发表于 2026-1-8 16:59 | 显示全部楼层
合理处理共享 RAM 的并发访问
kmzuaz 发表于 2026-1-8 17:24 | 显示全部楼层
使能 DMA 传输完成中断,以便在一次数据传输完成后能够及时通知 单片机 进行后续处理。
tabmone 发表于 2026-1-8 18:03 | 显示全部楼层
通过 FSC-DMA 结合 FPGA DPRAM,本质上是将 FPGA 变成了 GD32 的“外部堆栈”。
pixhw 发表于 2026-1-8 18:46 | 显示全部楼层
FPGA 严格满足 FSMC 时序
GD32 正确配置 FSMC 时序参数
gygp 发表于 2026-1-8 19:23 | 显示全部楼层
将复杂的通信协议简化为直观的“内存访问”,是图像、音频、大批量传感器数据等应用的理想选择。
sanfuzi 发表于 2026-1-10 11:57 | 显示全部楼层
通过 FSMC-DMA 方式让 GD32 与 FPGA 进行通信,核心是把 FPGA 内部的 RAM 存储块映射为 GD32 的外部存储器,GD32 通过 FSMC 总线结合 DMA 完成高速、无 单片机 干预的读写操作
claretttt 发表于 2026-1-10 12:36 | 显示全部楼层
当需要进行数据传输时,通过设置相应的寄存器来启动 DMA 传输。
hearstnorman323 发表于 2026-1-10 14:13 | 显示全部楼层
地址/数据线等长布线,长度差≤5mm;时钟线(如SDRAM CLK)串联22Ω电阻匹配阻抗。
ingramward 发表于 2026-1-10 14:56 | 显示全部楼层
通过设置相应的寄存器来开启 FSMC 模块的时钟,使其能够正常工作
IntelCore 发表于 2026-1-10 15:10 | 显示全部楼层
GD32F4微控制器通过DMA,能让FSMC与外存快速传输数据。
bartonalfred 发表于 2026-1-10 15:53 | 显示全部楼层
FPGA 内部构建一个 双端口 RAM,映射为 GD32 的外部存储器空间,GD32 可像访问普通内存一样读写该 RAM。
kmzuaz 发表于 2026-1-10 16:25 | 显示全部楼层
FSMC自动产生读/写时序,GD32和FPGA都无需软件模拟时序。
minzisc 发表于 2026-1-10 17:01 | 显示全部楼层
典型的高速外设通信方案,非常适合大数据量的信号交互场景。
earlmax 发表于 2026-1-11 12:37 | 显示全部楼层
GD32 的 FSMC 是否支持 DMA Memory-to-Memory?
lzbf 发表于 2026-1-11 14:11 | 显示全部楼层
在 FPGA 内部,主要需要编写两个模块:FSMC 接口控制模块 和 双口 RAM (DPRAM)。
pl202 发表于 2026-1-11 15:03 | 显示全部楼层
将 FPGA 内部 RAM 模拟为 GD32 的外部 SRAM,通过 FSMC 映射到指定地址空间,再用 DMA 实现 GD32 内存与 FPGA RAM 的高速无 单片机 传输。
wangdezhi 发表于 2026-1-11 16:35 | 显示全部楼层
利用 FPGA IP 核例化一个 RAM, 两个端口独立操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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