FPGA程序在线升级方案求助

FPGA程序在线升级方案求助,第1张

可以使用控制器(arm或者单片)+fpga的模式,fpga的加载方式采用ps加载方式,设计控制器的程序,使其可以和pc进行通讯,这样通过pc发送指令或者加载文件给控制器,然后让控制器自动加载fpga。这些说起来简单,但是实际设计的时候会比较复杂,需要多方面的知识。

远程更新流程

当系统需要升级时,中心控制系统需要将新的FPGA比特映像文件直接发布到远程子系统,由远程子系统将比特文件更新到非易失存储器。然后由FPGA内部控制逻辑重新启动。比特映像文件更新后,下次上电启动将从新的比特映像文件。如图 1FPGA远程更新系统

多重启动 FPGA 介绍

a)多重启动介绍

VIRTEX6可以支持2套配置文件,第一个版本为安全版本存放在起始位置(spi起始地址为0),第二个版本为最终启动版本。当FPGA启动时,加载控制器会从地址0开始读取加载指令。当读到WBSTAR和IPROG指令时,控制器就跳转到WBSTAR指定的地址读取新的加载指令。在第二个配置文件中不再发IPROG指令,控制其将顺序执行以直到配置文件结束。配置顺序如图所示。

b)多重启动模块

i) 配置存储器访问接口

在FPGA配置过程中,FPGA通过指定的配置管脚访问外部非易失存储器,当配置结束后,部分管脚被释放可以用作普通逻辑管脚,但部分FPGA配置管脚是配置专用,在用户应用中是不可见的,需要例化专用模块STARTUP_VIRTEX6才能允许用户逻辑访问这些专用管脚。

VIRTEX6访问外部存储器逻辑框图和STARTUP_VIRTEX6管脚定义

在配置芯片外接一片MCU,网上也有MCU写配置芯片的程序,最好先用一片别的EEP把要配置的程序保存下来,然后再从EEP读后写道配置芯片里,然后把FPGA的复位引脚复位一下,就完成在线升级了,不过中间要做好防止掉电和其他保证及手段.我们现在做的就是MCU在接收配置程序时把FPGA复位掉,然后进行配置,防止FPGA的中断或者信号什么的影响.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11313610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存