FPGA在线升级的一种可行方案

Altera的Cyclone IV系列芯片,用EPCS系列的spi flash可以完成在线升级的功能。整体思路是把pof文件写进EPCS,就可以实现FPGA的上电自动加载,从EPCS里读出FPGA的配置。
一、 硬件设计
 


二、 控制逻辑
FPGA上电时,会自动通过DATA0,DCLK,nCSO,ASDO这四个引脚读取EPCS芯片里的数据,从第一个page开始遍历整个flash。如果我们事先已经在里EPCS里写入了pof文件的内容,就可以完成上电加载。事实上AS模式下载jic文件,也是这个原理,固化jic文件的过程就是把jic文件写入EPCS的过程。
整体的方案是:建立一个工程,该工程已实现了通过usb口操作EPCS的功能,可以完成读和写。将该工程的jic文件固化进FPGA,这样我们就可以通过USB口将任意工程的pof文件下载到EPCS里,USB口的操作做成一个软件,读取某个路径下的pof文件写入EPCS,从而完成FPGA的在线升级。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值