MCU平台使用SPI-DirectC实现FPGA在线升级

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

本文介绍在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拉高

这样在不掉电的情况下,

在实际工程应用中,我们时常会遇到为解决某个老产品的BUG,需要在工程现场更新设备的FPGA代码,或者参加电信测试时需要现场升级设备FPGA程序以便于调试。公司现阶段所用的Altera FPGA程序代码一般存放于芯片配套的FLASH存储器中,而常见的对印制板上FLASH编程有几种方法,原始的方法是使用编程器,这种方法需要要将芯片取下,十分不便,或者通过JTAG接口连接到PC机上,但需要专用下载软件(一般由芯片生产厂商提供)。在测试现场或调测机房现场,要找到FPGA的专用下载线是比较困难的,且Altera FPGA的专用下载软件并不是每个PC设备上都有的。有时仅为了更新一个FPGA的程序就需要研发或客服人员亲自到现场去烧写程序,这既不便捷,也使得设备维护成本大大增加。  经过可行性与成本的考虑,我们找到一种既方便实用又低成本的方法来实现FPGA程序的在线升级。即在MCU中(单片机或ARM均可)用软件来模拟XModem协议,将程序文件传输到FPGA的FLASH中。这种方法使用WINDOWS自带的超级终端软件来传送文件,无需安装专用软件,硬件支持仅需要一根通用串口线,只要在目标板MCU上增加一段实现XModem协议传输的代码,就可以方便的实现FPGA程序下载了。这种特点不仅方便了客服人员,也给研发和生产人员在现场调试和软件升级、修改中带来极大方便。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值