本文介绍在MCU平台上使用SPI-DirectC实现FPGA的在线升级功能。
对于使用Microchip FPGA若想使用离线方式对FPGA进行Bitstream的烧写,就不得不使用官方提供的DirectC组件(开源,包含JTAG-DirectC和SPI-DirectC),本文是在MCU(32bit)上实现的,采用的是SPI-DirectC组件。
1.硬件连接
硬件连接涉及MCU与FPGA如何通信,这里要将FPGA的SPI接口作为Slave,MCU的SPI接口作Master,MCU与FPGA的SPI连接如下图(参考Microchip官网“PolarFire_FPGA_and_PolarFire_SoC_FPGA_Programming_User_Guide_VB”技术文档):

硬件连接注意:
1)4线SPI接口上拉,下拉电阻配置
2)SPI_EN使能管脚需使能或连接到MCU的GPIO脚
3)IO_CFG_INTF此管脚为配置FPGA的SPI接口工作在Master模式(高电平)还是Slave模式(低电平),此管脚最好连接至MCU的GPIO脚,配合FPGA的RST脚实现动态配置FPGA的SPI为Slave模式。操作时序为:
IO_CFG_INTF拉低->delay 10ms->FPGA_RESET拉低->delay 20us->FPGA_RESET拉高
这样在不掉电的情况下,FPGA的SPI就进入了Slave模式。进一步就可以对内部sNVM进行编程操作。
4)FPGA SPI接口与MCU SPI接口电平匹配
2.源码下载
下载地址:

本文详细介绍了如何在MCU平台上利用SPI-DirectC组件,通过SPI接口实现对FPGA的在线升级。内容涵盖硬件连接、源码下载与移植、DAT文件导出以及功能测试。在硬件连接部分,强调了SPI接口的配置和使能步骤。源码移植涉及串口和SPI驱动的修改,以确保MCU与FPGA以及“UART Host Loader”的通信。最后,通过Libero环境导出DAT文件,并进行实际的功能测试,成功完成FPGA的在线升级。

2万+

被折叠的 条评论
为什么被折叠?



