CN112965734A - 一种spartan6系列FPGA多镜像程序远程刷新方法 - Google Patents

一种spartan6系列FPGA多镜像程序远程刷新方法 Download PDF

Info

Publication number
CN112965734A
CN112965734A CN202110246728.2A CN202110246728A CN112965734A CN 112965734 A CN112965734 A CN 112965734A CN 202110246728 A CN202110246728 A CN 202110246728A CN 112965734 A CN112965734 A CN 112965734A
Authority
CN
China
Prior art keywords
mirror image
series fpga
mirror
image file
spartan6
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110246728.2A
Other languages
English (en)
Inventor
胡惠雄
陈凯
戴云霞
李春
孙今英
陈国栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Electric Group Corp
Original Assignee
Shanghai Electric Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Electric Group Corp filed Critical Shanghai Electric Group Corp
Priority to CN202110246728.2A priority Critical patent/CN112965734A/zh
Publication of CN112965734A publication Critical patent/CN112965734A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种spartan6系列FPGA多镜像程序远程刷新方法。本发明更新的时候只更新U镜像,更新后直接使用U镜像。当出现U镜像更新出现错误的时候,则启动G镜像。通过G镜像中的设计来重新更新Flash中U镜像部分的数据。由于G镜像从来没有被更新过,这样出现错误的概率也就非常小。这样即使U镜像出现错误,可以通过G镜像来完成一些工作(例如Flash读写操作),从而来保证设计一直可以使用。由此,相比与现有技术方案本发明的使用将大大降低系统刷新失败的风险,从而降低维护成本,间接的提升了产品的竞争力。

Description

一种spartan6系列FPGA多镜像程序远程刷新方法
技术领域
本发明涉及一种应用于xilinx spartan6系列FPGA(现场可编程门阵列)程序远程刷新方法,用于风电变流器的程序刷新。
背景技术
由于风机运行的特殊性,风机之间必须保持一定的间距,并且大多数风机安装在交通不便的高山与海洋中。很多陆上风场路况比较恶劣,而海上风场维护成本更加高。当前风机远程程序刷新失败后,需要人员到机位刷新程序,所以增加远程刷新的可靠性对于降低维护成本至关重要。
Xilinx spartan6平台下需要自定义编写Flash读写控制器,当无法提供JTAG等其他连接时,Flash的更新就只有远程刷新一种方案。如果写入Flash的数据出现错误,这样会导致FPGA无法加载成功。当FPGA无法加载成功或者工作不正常的时候,整个系统无法正常工作。要解决这个问题,此时必须重新通过远程更新FPGA片外Flash,纠正之前的错误。如果Flash直接由FPGA控制,当远程更新出现错误时,很可能导致远程更新彻底失效,只能安排现场更新来修复。
发明内容
本发明的目的是:提高风电变流器程序远程刷新的可靠性。
为了达到上述目的,本发明的技术方案是提供了一种spartan6系列FPGA多镜像程序远程刷新方法,其特征在于,包括以下步骤:
步骤1、在spartan6系列FPGA中设置快速检查模块,并在spartan6系列FPGA片外FLASH中设置G镜像区域、U镜像区域及M镜像区域;将初始程序烧录在G镜像区域、U镜像区域形成G镜像文件及U镜像文件;M镜像为启动镜像,M镜像区域用于存储镜像跳转关键字,通过镜像跳转关键字状态标记加载G镜像文件还是加载U镜像文件,镜像跳转关键字状态初始化为标记加载U镜像文件;
步骤2、当远程刷新spartan6系列FPGA的片外FLASH时,spartan6系列FPGA的MultiBoot Flashprogrammer将最新的程序写入片外FLASH的U镜像区域,从而更新U镜像文件;
在数据传输过程中,若出现镜像数据校验失效时,将片外FLASH中M镜像区域存储的镜像跳转关键字状态更新为标记加载G镜像文件;
步骤3、设备上电启动后,spartan6系列FPGA通过快速检查模块检查跳转关键字状态,若镜像跳转关键字状态标记为加载U镜像文件,则spartan6系列FPGA加载片外FLASH中更新后的U镜像文件,若镜像跳转关键字状态标记为加载G镜像文件,则spartan6系列FPGA加载片外FLASH中的G镜像文件。
优选地,若镜像跳转关键字状态为ON,则加载U镜像文件,若镜像跳转关键字状态为OFF,则加载G镜像文件。
优选地,步骤3中,若spartan6系列FPGA加载片外FLASH中的G镜像文件,则spartan6系列FPGA将故障上传到上位机。
本发明更新的时候只更新U镜像,更新后直接使用U镜像。当出现U镜像更新出现错误的时候,则启动G镜像。通过G镜像中的设计来重新更新Flash中U镜像部分的数据。由于G镜像从来没有被更新过,这样出现错误的概率也就非常小。这样即使U镜像出现错误,可以通过G镜像来完成一些工作(例如Flash读写操作),从而来保证设计一直可以使用。
由此,相比与现有技术方案本发明的使用将大大降低系统刷新失败的风险,从而降低维护成本,间接的提升了产品的竞争力。
附图说明
图1为远程程序更新系统图;
图2为本发明的流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
如图2所示,本发明提供的一种spartan6系列FPGA多镜像程序远程刷新方法包括以下步骤:
步骤1、在spartan6系列FPGA中设置快速检查模块,并在spartan6系列FPGA片外FLASH中设置G镜像区域、U镜像区域及M镜像区域。将初始程序烧录在G镜像区域、U镜像区域形成G镜像文件及U镜像文件。M镜像为启动镜像,M镜像区域用于存储镜像跳转关键字,通过镜像跳转关键字状态标记加载G镜像文件还是加载U镜像文件,本实施例中,若镜像跳转关键字状态为ON,则加载U镜像文件;若镜像跳转关键字状态为OFF,则加载G镜像文件。将镜像跳转关键字状态初始化为ON。
步骤2、当远程刷新spartan6系列FPGA的片外FLASH时,spartan6系列FPGA的MultiBoot Flashprogrammer将最新的程序写入片外FLASH的U镜像区域,从而更新U镜像文件。
在数据传输过程中,若出现镜像数据校验失效时,将片外FLASH中M镜像区域存储的镜像跳转关键字状态更新为OFF。
上电完成之后,spartan6系列FPGA就会按照设置进行加载操作。在主动模式下,spartan6系列FPGA会开始对Flash的操作,尝试读取Flash中存储的配置镜像数据。需要注意的是,主动模式下这一系列操作都是spartan6系列FPGA自动完成的,用户无法控制。当数据传输过程中出现概率极低的镜像数据校验失效时,此时需要更新的程序是存在问题的,不能在系统中运行的,此时如果错误地加载了U镜像,系统将会死机从而无法自恢复。通过本方法中的M镜像区域及快速检查模块可以实现退回到G镜像文件,并将故障上传到上位机,具体而言:
步骤3、设备上电启动后,spartan6系列FPGA通过快速检查模块检查跳转关键字状态,若镜像跳转关键字状态为ON,则spartan6系列FPGA加载片外FLASH中更新后的U镜像文件,从而完成程序更新。若镜像跳转关键字状态为OFF,则spartan6系列FPGA加载片外FLASH中的G镜像文件,程序更新失败,随后spartan6系列FPGA将故障上传到上位机。

Claims (3)

1.一种spartan6系列FPGA多镜像程序远程刷新方法,其特征在于,包括以下步骤:
步骤1、在spartan6系列FPGA中设置快速检查模块,并在spartan6系列FPGA片外FLASH中设置G镜像区域、U镜像区域及M镜像区域;将初始程序烧录在G镜像区域、U镜像区域形成G镜像文件及U镜像文件;M镜像为启动镜像,M镜像区域用于存储镜像跳转关键字,通过镜像跳转关键字状态标记加载G镜像文件还是加载U镜像文件,镜像跳转关键字状态初始化为标记加载U镜像文件;
步骤2、当远程刷新spartan6系列FPGA的片外FLASH时,spartan6系列FPGA的MultiBootFlashprogrammer将最新的程序写入片外FLASH的U镜像区域,从而更新U镜像文件;
在数据传输过程中,若出现镜像数据校验失效时,将片外FLASH中M镜像区域存储的镜像跳转关键字状态更新为标记加载G镜像文件;
步骤3、设备上电启动后,spartan6系列FPGA通过快速检查模块检查跳转关键字状态,若镜像跳转关键字状态标记为加载U镜像文件,则spartan6系列FPGA加载片外FLASH中更新后的U镜像文件,若镜像跳转关键字状态标记为加载G镜像文件,则spartan6系列FPGA加载片外FLASH中的G镜像文件。
2.如权利要求1所述的一种spartan6系列FPGA多镜像程序远程刷新方法,其特征在于,若镜像跳转关键字状态为ON,则加载U镜像文件,若镜像跳转关键字状态为OFF,则加载G镜像文件。
3.如权利要求1所述的一种spartan6系列FPGA多镜像程序远程刷新方法,其特征在于,步骤3中,若spartan6系列FPGA加载片外FLASH中的G镜像文件,则spartan6系列FPGA将故障上传到上位机。
CN202110246728.2A 2021-03-05 2021-03-05 一种spartan6系列FPGA多镜像程序远程刷新方法 Pending CN112965734A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110246728.2A CN112965734A (zh) 2021-03-05 2021-03-05 一种spartan6系列FPGA多镜像程序远程刷新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110246728.2A CN112965734A (zh) 2021-03-05 2021-03-05 一种spartan6系列FPGA多镜像程序远程刷新方法

Publications (1)

Publication Number Publication Date
CN112965734A true CN112965734A (zh) 2021-06-15

Family

ID=76276885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110246728.2A Pending CN112965734A (zh) 2021-03-05 2021-03-05 一种spartan6系列FPGA多镜像程序远程刷新方法

Country Status (1)

Country Link
CN (1) CN112965734A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114077567A (zh) * 2021-11-01 2022-02-22 成都九洲迪飞科技有限责任公司 一种基于串口232协议升级fpga的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955783A (zh) * 2016-05-09 2016-09-21 浙江大学 一种基于fpga控制的远程fpga逻辑代码的下载方法
WO2017041567A1 (zh) * 2015-09-07 2017-03-16 武汉精测电子技术股份有限公司 基于软核处理器的fpga多镜像升级加载方法及装置
CN106598650A (zh) * 2016-11-25 2017-04-26 积成电子股份有限公司 基于光纤通信的fpga程序在线升级的装置及方法
CN109358861A (zh) * 2018-10-08 2019-02-19 北京无线电测量研究所 Fpga程序远程加载方法及系统
CN109710295A (zh) * 2018-11-23 2019-05-03 北京计算机技术及应用研究所 一种安全可靠地fpga远程升级方法
CN110515773A (zh) * 2019-08-27 2019-11-29 北京中科晶上科技股份有限公司 配置文件的更新方法及装置、系统
CN111966384A (zh) * 2020-10-20 2020-11-20 腾讯科技(深圳)有限公司 系统更新方法、装置、设备及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017041567A1 (zh) * 2015-09-07 2017-03-16 武汉精测电子技术股份有限公司 基于软核处理器的fpga多镜像升级加载方法及装置
CN105955783A (zh) * 2016-05-09 2016-09-21 浙江大学 一种基于fpga控制的远程fpga逻辑代码的下载方法
CN106598650A (zh) * 2016-11-25 2017-04-26 积成电子股份有限公司 基于光纤通信的fpga程序在线升级的装置及方法
CN109358861A (zh) * 2018-10-08 2019-02-19 北京无线电测量研究所 Fpga程序远程加载方法及系统
CN109710295A (zh) * 2018-11-23 2019-05-03 北京计算机技术及应用研究所 一种安全可靠地fpga远程升级方法
CN110515773A (zh) * 2019-08-27 2019-11-29 北京中科晶上科技股份有限公司 配置文件的更新方法及装置、系统
CN111966384A (zh) * 2020-10-20 2020-11-20 腾讯科技(深圳)有限公司 系统更新方法、装置、设备及计算机可读存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BRYAN LI AND KIRAN K GAKHAL: "MultiBoot with 7 Series FPGAs and SPI", 《XAPP1247 (V1.1)》, 28 February 2017 (2017-02-28), pages 2 - 12 *
万垚等: "一种基于FPGA的在线升级方案", 《成都信息工程大学学报》, vol. 35, no. 2023, pages 493 - 498 *
刘钊等: "基于Xilinx-Spartan6 FPGA的MultiBoot设计的实现", 《电子科技》, vol. 25, no. 2012, pages 28 - 31 *
新浪深圳科技频道: "何绪金:FPGA双镜像备份升级方法", pages 1 - 4, Retrieved from the Internet <URL:https://www.sohu.com/a/150718792_215212> *
新浪深圳科技频道: "何绪金:FPGA双镜像备份升级方法", Retrieved from the Internet <URL:https://www.souhu.com/a/150718792_215212> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114077567A (zh) * 2021-11-01 2022-02-22 成都九洲迪飞科技有限责任公司 一种基于串口232协议升级fpga的方法

Similar Documents

Publication Publication Date Title
CN110928499B (zh) 一种芯片内嵌的flash存储器、芯片以及芯片的启动方法
US6907602B2 (en) Method for updating firmware of computer device
US20150154092A1 (en) Bios maintenance method
AU2018374925B2 (en) Starting method of energy storage system and energy storage device
JP5607725B2 (ja) 固体ディスクを制御するための装置、方法、およびコンピュータ・プログラム
US7647537B2 (en) Programmable logic device, information processing device and programmable logic device control method
CN111562932B (zh) 一种高可靠嵌入式软件升级方法及系统
CN102622249B (zh) 一种防止cpu自锁的安全启动方法
EP1701262B1 (en) Method and device of rewriting a sector storing the bootloader code in a sector erasable semiconductor memory means
CN105354063B (zh) 程序在线升级方法及系统
CN114694728A (zh) NVMe SSD的断电持续时间确定
CN112965734A (zh) 一种spartan6系列FPGA多镜像程序远程刷新方法
CN112332902B (zh) 一种星上自主控制的在轨重构系统与方法
CN102479124B (zh) 一种测试方法
CN102740279A (zh) 一种无线网络接入终端及其运行方法
JP2013175118A (ja) 制御装置、及びそのメモリ故障検出方法、その自己診断方法
CN113342571A (zh) 一种应用于嵌入式系统的eeprom数据掉电不丢失方法
CN112988465A (zh) 一种单片机升级失败自动恢复运行的方法
JP2009155092A (ja) エレベータの制御装置
CN114741091A (zh) 固件加载方法、装置、电子设备及计算机可读存储介质
CN107168650B (zh) 一种对bios的存储器中的数据的处理方法及装置
US9584131B2 (en) Programmable device, information processing device, and control method for processing circuit of programmable device
CN111796850B (zh) 一种卫星载荷软件在轨维护设备及方法
CN112817629B (zh) Arm架构服务器平台的bios刷新方法和相关装置
CN113377565B (zh) Bootrom修正系统及方法以及芯片

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination