从 STM32 对 FPGA 进行内存映射

主要观点:

  • 未来大型嵌入式项目计划采用大型 FPGA 与 STM32H735 搭配的架构,通过内存映射接口通信,有诸多优势,如编程简单、无需 DDR SDRAM 布局等。
  • 选用 FMC 作为 MCU 与 FPGA 之间的桥接,其操作模式适合 FPGA 桥接,占用 FPGA 约一半的 I/O 资源。
  • 设计了包含 STM32L431、STM32H735 和 Xilinx XC7S25 FPGA 的测试板,通过多种接口连接,目前主要使用 FMC 进行通信。
  • FPGA 设计采用 32 位 APB 作为内部控制平面互连,包含多个与以太网相关的模块等。
  • 编写 iperf3 兼容服务器应用程序作为基准测试接口速度,当前在 125MHz FMC 时钟下可维持 284Mbps 速率,未来有望进一步提升。

关键信息:

  • 架构特点:大型 FPGA 用于高速数据平面,STM32H735 用于控制平面,内存映射接口连接。
  • 内存接口:选用 FMC ,其无硬件缓存,同步 PSRAM 模式适合 FPGA 桥接。
  • 硬件设计:KiCAD 设计的六层测试板,包含多种接口和芯片。
  • FPGA 设计:采用 SystemVerilog 实现,内部使用 32 位 APB 互连。
  • 性能测试:通过 iperf3 基准测试,当前速率为 284Mbps ,未来有望提升。

重要细节:

  • 不同芯片的特点对比,如 STM32 的硬件 AES 和随机数生成 IP ,Zynq 无此功能。
  • FMC 桥接的具体实现,包括内部 PLL 、时钟相位调整等。
  • APB 桥接模块的结构和功能,通过树状结构实现不同地址空间的桥接。
  • 性能测试中为提高性能将数据包缓冲区等放在 DTCM 。
阅读 14
0 条评论