一种远程升级方法和装置制造方法及图纸

技术编号:14881499 阅读:124 留言:0更新日期:2017-03-24 04:03
本发明专利技术提供了一种远程升级方法和装置,应用于FPGA,包括至少一个存储于FLASH中的远程升级数据流,首先载入远程升级数据流,将应用数据流开关程序配置为第一状态,执行应用数据流跳转程序,根据应用数据流跳转程序跳转并载入指定位置的应用数据流,在载入指定位置的应用数据流的过程中,配置应用数据流开关程序为第二状态,若载入应用数据流的过程中出现错误,则再次重新载入远程升级数据流,并顺序载入黄金数据流。通过本发明专利技术的实施,有效的避免了由于异常断电等情况导致载入应用数据流中断时载入不完整的应用数据流,而是载入黄金数据流,提高了FPGA应用的可靠性和稳定性。

【技术实现步骤摘要】

本专利技术涉及可编程逻辑器件
,尤其涉及一种远程升级方法和装置
技术介绍
远程升级是现场可编程门阵列(FPGA)的一个主要优点,通过升级涉及增强系统功能。如图1所示,远程升级时,通过远程升级通道(例如Ethernet以太网,PCIe,USB等)或媒介(例如USB存储条,SD存储卡等)从远端发送数据流到FPGA。FPGA的用户逻辑通过通信协议(例如TCP/IP,PCI,UDP,UART等)或专有接口接收数据流,将数据流编程到FLASH中。FPGA上电时,通过主配置模式将数据流从FLASH取出,实现对FPGA的配置。传统的远程升级数据流结构如图2所示,至少顺序包括:应用数据流跳转程序、黄金数据流、应用数据流;其中,执行应用数据流跳转程序可直接跳转到指定位置的应用数据流;黄金数据流是一种正确的备用数据流,他有充分的完整性和可执行性,特点是其数据版本较低。更新应用数据流时,远程升级应用环境负责多变,经常会异常断电,如果在升级的过程中异常断电了,从传统的远程升级数据流的结构可以发现,在再次上电后,仍然会顺序执行应用数据流跳转程序,进而跳转到指定的应用数据流,而此时的应用数据流由于断电已经是不完整的数据流,不能成功的配置FPGA,会导致整个系统陷入死循环中,可靠性差,制约了FPGA的应用。
技术实现思路
本专利技术提供了一种远程升级方法和装置,解决了现有技术中远程升级可靠性差,出现错误难以解决的问题。为了解决上述技术问题,本专利技术提供了一种远程升级方法,应用于FPGA,包括至少一个存储于FLASH中的远程升级数据流,包括:载入所述远程升级数据流,所述远程升级数据流至少顺序包括:应用数据流开关程序、应用数据流跳转程序、黄金数据流、应用数据流;其中,所述应用数据流开关程序处于第一状态时,所述应用数据流跳转程序使能,所述应用数据流开关程序处于第二状态时,所述应用数据流跳转程序去使能;将所述应用数据流开关程序配置为第一状态;执行所述应用数据流跳转程序,根据所述应用数据流跳转程序跳转并载入指定位置的所述应用数据流;在载入指定位置的所述应用数据流的过程中,配置所述应用数据流开关程序为第二状态;若载入所述应用数据流的过程中出现错误,则再次重新载入所述远程升级数据流,并顺序载入所述黄金数据流。可选的,所述方法还包括:若载入所述应用数据流的过程中未出现错误,则在载入所述应用数据流完成后,配置所述应用数据流开关程序为第一状态。可选的,所述应用数据流开关程序处于第一状态包括:所述应用数据流开关程序被擦除,或所述应用数据流开关程序被打开。可选的,所述FLASH至少包括SPIFLASH和BPIFLASH中的任意一种,其中,当所述FLASH包括SPIFLASH时,所述应用数据流开关程序由同步字和至少一个填充字组成;当所述FLASH包括BPIFLASH时,所述应用数据流开关程序由总线位宽自动监测和至少一个填充字组成。可选的,当所述FLASH包括SPIFLASH时,所述应用数据流开关程序被擦除包括:所述同步字被擦除;被擦除的同步字的存储空间被所述填充字所覆盖。为了解决上述技术问题,本专利技术还提供了一种远程升级装置,应用于FPGA,包括载入模块、配置模块;其中:所述载入模块载入远程升级数据流,所述远程升级数据流存储于FLASH中,所述远程升级数据流至少顺序包括:应用数据流开关程序、应用数据流跳转程序、黄金数据流、应用数据流;其中,所述应用数据流开关程序处于第一状态时,所述应用数据流跳转程序使能,所述应用数据流开关程序处于第二状态时,所述应用数据流跳转程序去使能;所述配置模块将所述应用数据流开关程序配置为第一状态;所述载入模块执行所述应用数据流跳转程序,根据所述应用数据流跳转程序跳转并载入指定位置的所述应用数据流;在载入指定位置的所述应用数据流的过程中,所述配置模块配置所述应用数据流开关程序为第二状态;若所述载入模块载入所述应用数据流的过程中出现错误,所述载入模块再次重新载入所述远程升级数据流,并顺序载入所述黄金数据流。可选的,所述配置模块还用于:若所述载入模块载入所述应用数据流的过程中未出现错误,则在载入所述应用数据流完成后,配置所述应用数据流开关程序为第一状态。可选的,所述配置模块将所述应用数据流开关程序配置为第一状态包括:将所述应用数据流开关程序擦除,或将所述应用数据流开关程序打开。可选的,所述FLASH至少包括SPIFLASH和BPIFLASH中的任意一种,其中,当所述FLASH包括SPIFLASH时,所述应用数据流开关程序由同步字和至少一个填充字组成;当所述FLASH包括BPIFLASH时,所述应用数据流开关程序由总线位宽自动监测和至少一个填充字组成。可选的,所述当所述FLASH包括SPIFLASH时,所述配置模块将所述应用数据流开关程序擦除包括:将所述同步字擦除;被擦除的同步字的存储空间被所述填充字所覆盖。有益效果本专利技术提供了一种远程升级方法和装置,应用于FPGA,包括至少一个存储于FLASH中的远程升级数据流,首先载入远程升级数据流,将应用数据流开关程序配置为第一状态,执行应用数据流跳转程序,根据应用数据流跳转程序跳转并载入指定位置的应用数据流,在载入指定位置的应用数据流的过程中,配置应用数据流开关程序为第二状态,若载入应用数据流的过程中出现错误,则再次重新载入远程升级数据流,并顺序载入黄金数据流。通过本专利技术的实施,有效的避免了由于异常断电等情况导致载入应用数据流中断时载入不完整的应用数据流,而是载入黄金数据流,提高了FPGA应用的可靠性和稳定性。附图说明图1为现有技术中远程升级的流程图;图2为现有技术中远程升级数据流的组成示意图;图3为现有技术中FPGA远程升级方法流程图;图4为本专利技术第一实施例提供的一种远程升级方法流程图;图5为本专利技术第一实施例提供的一种远程升级数据流的组成示意图;图6为本专利技术第一实施例提供的一种SPIFLASH组成示意图;图7为本专利技术第一实施例提供的一种BPIFLASH组成示意图;图8为本专利技术第二实施例提供的一种远程升级装置模块示意图;图9为本专利技术第三实施例提供的一种远程升级方法流程图。具体实施方式请参考图3,图3示出了现有技术中FPGA远程升级的流程,包括:S301、上电之后,载入应用数据流跳转程序;S302、根据应用数据流跳转程序载入指定位置的应用数据流;S303、载入过程中是否发生错误,若是,转到S304,若否,转到S305;其中,这里的错误是由应用数据流中的错误检测程序所检测到的,可以包括应用数据流的版本错误,应用数据流中的软件代码错误等等;S304、载入黄金数据流;其中,载入黄金数据流是从FLASH0地址载入的,黄金数据流是一种完整的备用数据流,一般不会发生变化,在故障时可以保证FPGA的正常工作。S305、FPGA进入正常工作状态,或者说是用户模式;与之对应的,是FPGA载入FLASH中的应用数据流未完成时的配置模式。S306、是否进行远程升级,若是,转到S307,若否,则转到S305;S307、更新应用数据流。更新应用数据流的过程需要从FLASH中载入指定位置的新的应用数据流,因此,跳转到S301,载入应用数据流跳转程序。可以看出,现有技术中的远程升级的方案针对可能出现的错误仅仅是利用应用本文档来自技高网...
一种远程升级方法和装置

【技术保护点】
一种远程升级方法,应用于FPGA,包括至少一个存储于FLASH中的远程升级数据流,其特征在于,包括:载入所述远程升级数据流,所述远程升级数据流至少顺序包括:应用数据流开关程序、应用数据流跳转程序、黄金数据流、应用数据流;其中,所述应用数据流开关程序处于第一状态时,所述应用数据流跳转程序使能,所述应用数据流开关程序处于第二状态时,所述应用数据流跳转程序去使能;将所述应用数据流开关程序配置为第一状态;执行所述应用数据流跳转程序,根据所述应用数据流跳转程序跳转并载入指定位置的所述应用数据流;在载入指定位置的所述应用数据流的过程中,配置所述应用数据流开关程序为第二状态;若载入所述应用数据流的过程中出现错误,则再次重新载入所述远程升级数据流,并顺序载入所述黄金数据流。

【技术特征摘要】
1.一种远程升级方法,应用于FPGA,包括至少一个存储于FLASH中的远程升级数据流,其特征在于,包括:载入所述远程升级数据流,所述远程升级数据流至少顺序包括:应用数据流开关程序、应用数据流跳转程序、黄金数据流、应用数据流;其中,所述应用数据流开关程序处于第一状态时,所述应用数据流跳转程序使能,所述应用数据流开关程序处于第二状态时,所述应用数据流跳转程序去使能;将所述应用数据流开关程序配置为第一状态;执行所述应用数据流跳转程序,根据所述应用数据流跳转程序跳转并载入指定位置的所述应用数据流;在载入指定位置的所述应用数据流的过程中,配置所述应用数据流开关程序为第二状态;若载入所述应用数据流的过程中出现错误,则再次重新载入所述远程升级数据流,并顺序载入所述黄金数据流。2.如权利要求1所述的远程升级方法,其特征在于,所述方法还包括:若载入所述应用数据流的过程中未出现错误,则在载入所述应用数据流完成后,配置所述应用数据流开关程序为第一状态。3.如权利要求1或2所述的远程升级方法,其特征在于,所述应用数据流开关程序处于第一状态包括:所述应用数据流开关程序被擦除。4.如权利要求3所述的远程升级方法,其特征在于,所述FLASH至少包括SPIFLASH和BPIFLASH中的任意一种,其中,当所述FLASH包括SPIFLASH时,所述应用数据流开关程序由同步字和至少一个填充字组成;当所述FLASH包括BPIFLASH时,所述应用数据流开关程序由总线位宽自动监测和至少一个填充字组成。5.如权利要求4所述的远程升级方法,其特征在于,当所述FLASH包括SPIFLASH时,所述应用数据流开关程序被擦除包括:所述同步字被擦除;被擦除的同步字的存储空间被所述填充字所覆盖。6.一种远程升级装置,应用于FPGA,其特征在于,包括载入模块、配置模块;其中:...

【专利技术属性】
技术研发人员:赵世赟
申请(专利权)人:深圳市紫光同创电子有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1