CN112965734A - 一种spartan6系列FPGA多镜像程序远程刷新方法 - Google Patents
一种spartan6系列FPGA多镜像程序远程刷新方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 11
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000013524 data verification Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 4
- 238000012423 maintenance Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic 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
技术领域
本发明涉及一种应用于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将故障上传到上位机。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114077567A (zh) * | 2021-11-01 | 2022-02-22 | 成都九洲迪飞科技有限责任公司 | 一种基于串口232协议升级fpga的方法 |
Citations (7)
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 | 腾讯科技(深圳)有限公司 | 系统更新方法、装置、设备及计算机可读存储介质 |
-
2021
- 2021-03-05 CN CN202110246728.2A patent/CN112965734A/zh active Pending
Patent Citations (7)
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)
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)
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 |