FPGA程序远程在线更新设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1 PAGE 1 FPGA程序远程在线更新设计 为了能使系统得到更敏捷的应用,充分发挥FPGA的敏捷性、高效性,FPGA的软硬件程序都需要便利的更新和升级功能;而当形成产品后,通过JTAG和NiosIIIDE工具来联合完成对EPCSFlash的更新烧写很不便利。为此,本文结合Altera公司供应的工具,提出了一种远程在线更新FPGA配置文件和NiosII程序文件的方法。 1 概述 现场可编程门阵列(FieldProgrammableGateArray,FPGA)器件具有高密度、低功耗、高速、高牢靠性等优点,在航空航天、通信、工业掌握等方面得到了大量应用。FPGA的处理器分为软核和硬核,并且软核处理器具有高度的敏捷性和可配置性。 由于FPGA器件采用的是SRAM工艺,在断电的状况下FPGA内的配置数据将丢失,所以需要非易失的存储器来结合FPGA完成嵌入式系统的设计。EPCS(ErasableProgrammableConfigurableSerial)Flash属于串行接口Flash,具有接口简洁、体积小、配置便利的特点,通常用来存储FPGA的配置文件和NiosII的软件可执行代码。在经过合理的配置后,系统在上电后就可以从EPCSFlash中读取这些文件来启动整个系统。 为了能使系统得到更敏捷的应用,充分发挥FPGA的敏捷性、高效性,FPGA的软硬件程序都需要便利的更新和升级功能;而当形成产品后,通过JTAG和NiosIIIDE工具来联合完成对EPCSFlash的更新烧写很不便利。为此,本文结合Altera公司供应的工具,提出了一种远程在线更新FPGA配置文件和NiosII程序文件的方法。 2 系统硬件结构 系统硬件结构如图1所示。 图1 系统硬件结构图 系统主要有上位机系统、FPGA系统、EPCSFlash三个主体部分。上位机系统供应人机交互的部分,FPGA系统包括NiosII处理器、EPCS掌握器、网络及串行接口和其他外部接口,EPCSFlash主要用于存储FPGA的配置文件和Nios程序映像文件。上位机系统通过FPGA集成的网络及串行接口来完成通信工作。 FPGA采用Altera公司的CycloneIII系统的EP3C40F484I7N芯片。它具有低功耗、高集成度、易于使用的特性。EPCSFlash采用Altera公司的EPCS16SI16N芯片,它支持多种可配置的时钟源,最高支持100MHz的外部时钟源,具有16Mb的存储空间,足够满意一般的FPGA配置文件和Nios程序文件的存储需要。 3 更新程序处理流程 更新FPGA的配置文件和NiosII的应用程序的流程如图2所示。 图2 更新程序处理流程 本方法把由NiosIIIDE生成的FPGA配置文件和NiosII程序文件合并,并编程为一个可以直接执行的、包含FPGA配置文件和NiosII程序文件的二进制BIN文件。然后把该文件通过Xmodem协议由上位机系统传输给NiosII的应用程序。NiosII的应用程序接收到完整的BIN文件后,把该BIN文件写入到EPCSFlash中。最终,NiosII的应用程序停止看门狗,程序重新启动,即完成了FPGA的远程在线更新程序的过程。 4 合并程序文件 NiosII的启动要经历两个过程: ①FPGA器件本身的配置过程。假如内部规律中使用了NiosII,则配置完成的FPGA中包含有NiosII软核CPU。 ②NiosII本身的应用过程。一旦FPGA配置成功后,NiosII就被规律中的复位电路复位,从reset地址开始执行代码。 NiosIIIDE将FPGA的配置文件(.sof文件)和应用程序(.elf文件)转成flash格式文件,转换后的flash格式文件是一种SRecord格式数据,包含如下区域:。各字段的意思分别如下:表示记录的类型;表示数据的长度;表示数据写入的起始地址,该字段的长度取决于的取值;表示存储的数据;表示校验位。 配置文件和应用程序可能有多个段,每个段前面都插有一个“程序记录”。一个“程序记录”由2个32位的数据构成,一个是32位的整数,另一个是32位的地址,分别表示程序段本身的长度和程序段的运行时地址。其存储布局如图3所示。 图3 Flash文件存储布局 为了在更新程序时把FPGA配置文件和NiosII应用程序一起更新,把FPGA配置文件和NiosII应用程序合并成一个文件,并且把合并后的Flash格式的文件转换成不需要地址解码就能直

文档评论(0)

183****3081 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档