下载此文档

通过MCU实现AlteraFPGA在线升级.docx


文档分类:汽车/机械/制造 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
Last revised by LE LE in 2021
通过MCU实现AlteraFPGA在线升级
通过MCU实现AlteraFPGA在线升级
一.问题背景
在实际工程应用中,我们时常会遇到为解决某个SH载入到FPGA芯片中。AlteraFPGA常用FLASH芯片为EPCS1和EPCS4,这两个FLASH芯片除了容量不一样,其他方面几乎完全相同,在引脚上也完全兼容。
图2FPGAAS模式烧写硬件连接图
图2所示为FPGA用JTAG在AS模式下烧写程序文件的硬件连接图。我们需要用MCU模拟AS模式的硬件操作方式,通过XModem协议,将FPGA代码文件传输到FLASH中。AS模式烧写FPGA时,与7个信号相关,其中DATA、DCLK、nCS、ASDI是FLASH的四个SPI信号,分别代表FLASH的数据输出、读写时钟、片选、数据输入。MCU也需要通过这四个引脚,将数据传输到FLASH中去。另外三个信号CONF_DONE、nCONFIG、nCE分别是烧写FLASH时,需对FPGA进行控制的三个信号。
nCE为FPGA的芯片使能信号,nCONFIG为低电平时复位FPGA的信号,CONF_DONE为FLASH载入到FPGA完成信号。在AS烧写模式,nCONFIG=0,FPGA复位,nCE=1,使FPGA芯片不被选中,CONF_DONE=0,下载开始;下载结束时,nCONFIG=1,nCE=0,进入代码由FLASH到FPGA的载入过程,当载入完毕后,CONF_DONE=1。
在对FLASH读写时,需要注意的是,EPCS1/EPCS4区别于一般的FLASH,有其自身对应的操作码,不同的操作码代表对FLASH进行不同的操作。如表1所示,有写使能、写禁止、读芯片状态、读字节、读芯片ID、写芯片状态、写字节、擦除整片、擦除片区这几个操作码。对EPCS1/EPCS4进行任何操作,都需在片选变低后,首先写入对应的操作码,然后是地址和数据。此外,在写字节、写状态、片区擦除、整片擦除之前必须要先进行写使能操作。上电、写字节、写状态、片区擦除、整片擦除完成后需要进行写禁止操作。
表1EPCS1/EPCS4操作码
四.MCU中的软件实现
软件流程
在MCU软件实现FPGA在线升级的过程中,除了对FLASH的读写,最主要的部分是通过模拟XModem协议,将文件传输到FLASH中。整个传输过程需同时遵循XModem传输逻辑以及EPCS1/EPCS4的读写规则。软件流程如图3所示:
图3MCU模拟XModem协议流程图
*.pof到*.bin文件的转换
FPGA通过编译软件QuartusⅡ生成的烧写文件为*.pof文件,由于这个文件的末尾有大量的全“FF”,并无实际的代码含义,且*.pof文件没有*.bin文件兼容的烧写工具多。为了节约文件传输时间,我们将*.pof文件中无用代码去掉,并保存为*.bin文件。具体方法如下:(1)将*.pof文件用UltraEdit编译软件打开,如图4所示,在QuartusⅡ生成的*.pof烧写文件中,最前面一段是Quartus的版本等与代码无关的信息,可将图4中红色方框部分删除,直到第一行全‘FF’开始之前,将第一行全‘FF’为代码的起始行。
图4*.pof烧写文件起始
(2)如图5所示

通过MCU实现AlteraFPGA在线升级 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人欧阳
  • 文件大小591 KB
  • 时间2022-05-28
最近更新