CN110618827A - FPGA remote upgrading method with built-in FLASH - Google Patents

FPGA remote upgrading method with built-in FLASH Download PDF

Info

Publication number
CN110618827A
CN110618827A CN201910790189.1A CN201910790189A CN110618827A CN 110618827 A CN110618827 A CN 110618827A CN 201910790189 A CN201910790189 A CN 201910790189A CN 110618827 A CN110618827 A CN 110618827A
Authority
CN
China
Prior art keywords
fpga
communication protocol
upgrade
built
command
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
CN201910790189.1A
Other languages
Chinese (zh)
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.)
WUHAN KEMOV ELECTRIC CO Ltd
State Grid Corp of China SGCC
Luoyang Power Supply Co of State Grid Henan Electric Power Co Ltd
Original Assignee
WUHAN KEMOV ELECTRIC CO Ltd
State Grid Corp of China SGCC
Luoyang Power Supply Co of State Grid Henan Electric Power Co Ltd
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 WUHAN KEMOV ELECTRIC CO Ltd, State Grid Corp of China SGCC, Luoyang Power Supply Co of State Grid Henan Electric Power Co Ltd filed Critical WUHAN KEMOV ELECTRIC CO Ltd
Priority to CN201910790189.1A priority Critical patent/CN110618827A/en
Publication of CN110618827A publication Critical patent/CN110618827A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a built-in Flash FPAG remote upgrading system which comprises an upper computer, an Ethernet chip, an FPGA and a dial switch. Also discloses a built-in Flash FPAG remote upgrading method, generating and downloading FPGA factory firmware; generating and updating an application mirror image; and erasing, unlocking, writing an application mirror image, locking, checking, loading the application mirror image and the like by the built-in Flash. The invention provides a convenient upgrading method for the FPGA with built-in Flash, and the upgrading of the FPGA can be realized without disassembling the machine. The application range is wide.

Description

一种内置FLASH的FPGA远程升级方法A remote upgrade method of FPGA with built-in FLASH

技术领域technical field

本发明涉及智能变电站二次设备数字化检修与测试领域,具体涉及一种内置FLASH的FPGA远程升级方法。The invention relates to the field of digital maintenance and testing of secondary equipment in intelligent substations, in particular to an FPGA remote upgrade method with built-in FLASH.

背景技术Background technique

随着我国智能电网的飞速发展,智能变电站越来越多,站内二次设备的检测、测试需要大量的测试仪器。一般这些测试、测量仪器具有功能定制化、接口多样化等需求。因此,FPGA(Field-Programmable Gate Array)芯片非常适合应用在电力二次测试、测量仪器上。With the rapid development of my country's smart grid, there are more and more smart substations, and the detection and testing of secondary equipment in the station requires a large number of testing instruments. Generally, these testing and measuring instruments have requirements such as functional customization and interface diversification. Therefore, FPGA (Field-Programmable Gate Array) chips are very suitable for application in power secondary testing and measuring instruments.

目前,传统的 FPGA均基于SRAM(Static Random-Access Memory)工艺,该类型FPGA必须外置一个用来存储程序的配置Flash存储芯片。在上电时,FPGA从该Flash存储芯片加载程序到FPGA内部,完成FPGA的程序加载过程。这个加载过程时长从几十毫米到几秒不等,在有些需要快速加载的测试仪器中满不了现场要求;另外,外置Flash芯片的内容易被读出、复制导致产品的保密性变差、知识产权得不到保证。一种内置Flash存储的FPGA非常容易解决这些问题。如Intel公司的MAX10 FPGA,内置Flash存储,不超过毫秒级快速地加载,不被读出与复制,保密性好。At present, traditional FPGAs are based on SRAM (Static Random-Access Memory) technology, and this type of FPGA must be equipped with an external configuration Flash memory chip for storing programs. When the power is turned on, the FPGA loads the program from the Flash storage chip into the FPGA to complete the program loading process of the FPGA. The length of this loading process ranges from tens of millimeters to several seconds, which cannot meet the on-site requirements in some test instruments that need to be loaded quickly; in addition, the internal memory of the external Flash chip is easy to be read and copied, resulting in poor confidentiality of the product. Intellectual property rights are not guaranteed. An FPGA with built-in Flash storage can easily solve these problems. For example, Intel's MAX10 FPGA has built-in Flash storage, which can be quickly loaded within milliseconds, is not read and copied, and has good confidentiality.

基于传统SRAM架构的外置Flash 芯片的FPGA升级方法一般为:JTAG下载器更新内部程序和外置处理器(如ARM\DSP) 、硬件选择开关等电路直接擦写Flash芯片方式。The FPGA upgrade method of the external Flash chip based on the traditional SRAM architecture is generally: the JTAG downloader updates the internal program and the external processor (such as ARM\DSP), hardware selection switch and other circuits directly erase and write the Flash chip.

内置Flash存储芯片的FPGA,虽然可以采用JTAG下载器更新内部程序,但该方法只能到现场拆机或返回厂商处理。而基于外置处理器(如ARM\DSP) 的方式无法擦写FPGA内部的Flash存储模块。Although the FPGA with built-in Flash memory chip can use the JTAG downloader to update the internal program, this method can only be disassembled on site or returned to the manufacturer for processing. However, the method based on an external processor (such as ARM\DSP) cannot erase and write the Flash memory module inside the FPGA.

发明内容Contents of the invention

本发明的目的在于避免现有技术中的不足之处,提供了一种内置FLASH的FPGA远程升级方法。The purpose of the present invention is to avoid the deficiencies in the prior art, and provides a method for remotely upgrading FPGA with built-in FLASH.

本发明取得了以下技术效果:The present invention has obtained following technical effect:

一种内置Flash的FPAG远程升级方法,包括以下步骤:A FPAG remote upgrade method with built-in Flash, comprising the following steps:

步骤1、上位机运行Quartus软件,通过Quartus软件生成包含升级镜像的FPGA出厂固件;Step 1. The host computer runs the Quartus software, and the FPGA factory firmware including the upgraded image is generated through the Quartus software;

步骤2、使用Quartus软件通过JTAG接口与FPGA下载器将FPGA出厂固件下载到FPGA的内置Flash的升级区;Step 2. Use the Quartus software to download the FPGA factory firmware to the upgrade area of the FPGA's built-in Flash through the JTAG interface and the FPGA downloader;

步骤3、使用Quartus软件编译并生成应用镜像;Step 3, use the Quartus software to compile and generate an application image;

步骤4、重启FPGA,将与FPGA连接的拨动开关置为低电平,FPGA4识别拨动开关输入低电平后,FPGA从内置Flash的升级区加载升级镜像;Step 4. Restart the FPGA, set the toggle switch connected to the FPGA to a low level, and after the FPGA4 recognizes that the toggle switch is input to a low level, the FPGA loads the upgrade image from the upgrade area of the built-in Flash;

步骤5、上位机运行FPGA升级软件并载入步骤3中生成的应用镜像;Step 5. The host computer runs the FPGA upgrade software and loads the application image generated in step 3;

步骤6、FPGA升级软件通过以太网与FPGA通讯,获取FPGA的硬件平台的信息,并根据FPGA的硬件平台的信息判断所载入应用镜像是否对应FPGA的硬件平台,若对应,则执行步骤7,否则执行步骤5;Step 6. The FPGA upgrade software communicates with the FPGA through Ethernet to obtain the information of the hardware platform of the FPGA, and judges whether the loaded application image corresponds to the hardware platform of the FPGA according to the information of the hardware platform of the FPGA. If so, execute step 7. Otherwise, go to step 5;

步骤7、FPGA升级软件发布擦除命令并根据擦除命令设置通讯协议数据包,通讯协议数据包通过以太网发送到FPGA,执行步骤8;Step 7, the FPGA upgrade software issues an erase command and sets the communication protocol data packet according to the erase command, the communication protocol data packet is sent to the FPGA through Ethernet, and step 8 is performed;

步骤8、FPGA经以太网收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA内置的升级模块,升级模块解析出通讯协议数据包中的擦除命令,并将擦除命令发送到FPGA内置的时序控制模块,时序控制模块根据擦除命令产生相应的擦除时序对内置Flash进行擦除;Step 8. After the FPGA receives the communication protocol data packet sent by the FPGA upgrade software via the Ethernet, it sends the communication protocol data packet to the upgrade module built in the FPGA. The upgrade module parses out the erase command in the communication protocol data packet, and The delete command is sent to the timing control module built in the FPGA, and the timing control module generates a corresponding erasing sequence according to the erasing command to erase the built-in Flash;

步骤9、时序控制模块主动读取内置Flash的控制状态寄存器,时序控制模块在设定时间内根据控制状态寄存器判断是否擦除成功,若擦除成功,则生成擦除成功信号发送到升级模块,若擦除不成功,则生成擦除失败信号发送到升级模块,升级模块根据擦除成功信号或者擦除失败信号设置通讯协议数据包并将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出擦除成功信号或者擦除失败信号,若为擦除成功信号则执行步骤10,若为擦除失败信号则返回步骤5;Step 9. The timing control module actively reads the control status register of the built-in Flash. The timing control module judges whether the erasing is successful according to the control status register within the set time. If the erasing is successful, an erasing success signal is generated and sent to the upgrade module. If the erasing is unsuccessful, an erasure failure signal is generated and sent to the upgrade module, and the upgrade module sets the communication protocol data packet according to the erasure success signal or the erasure failure signal and sends the communication protocol data packet to the FPGA upgrade software, and the FPGA upgrade software according to The communication protocol data packet parses out the erasing success signal or the erasing failure signal, if it is the erasing success signal, execute step 10, and if it is the erasing failure signal, return to step 5;

步骤10、FPGA升级软件发布解锁命令并根据解锁命令设置通讯协议数据包,FPGA升级软件将通讯协议数据包通过以太网发往FPGA;Step 10, the FPGA upgrade software issues an unlock command and sets the communication protocol data packet according to the unlock command, and the FPGA upgrade software sends the communication protocol data packet to FPGA through Ethernet;

步骤11、FPGA经以太网收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA4内置的升级模块,升级模块解析出通讯协议数据包中的解锁命令,并将解锁命令发送到FPGA内置的时序控制模块,时序控制模块根据解锁命令产生相应的解锁时序对内置Flash进行解锁;Step 11, after the FPGA receives the communication protocol data packet sent by the FPGA upgrade software via the Ethernet, the communication protocol data packet is sent to the upgrade module built in FPGA4, and the upgrade module parses out the unlock command in the communication protocol data packet, and sends the unlock command Send it to the timing control module built in FPGA, and the timing control module will generate corresponding unlock timing according to the unlock command to unlock the built-in Flash;

步骤12、时序控制模块主动读取内置Flash的控制状态寄存器,时序控制模块在设定时间内根据控制状态寄存器判断是否解锁成功,若解锁成功,则生成解锁成功信号发送到升级模块,若解锁不成功,则生成解锁失败信号发送到升级模块,升级模块根据解锁成功信号或者解锁失败信号设置通讯协议数据包并将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出解锁成功信号或者解锁失败信号,若为解锁成功信号则执行步骤13,若为擦除失败信号则返回步骤5;Step 12. The timing control module actively reads the control status register of the built-in Flash. The timing control module judges whether the unlocking is successful according to the control status register within the set time. If the unlocking is successful, it generates an unlocking success signal and sends it to the upgrade module. If successful, an unlock failure signal is generated and sent to the upgrade module. The upgrade module sets the communication protocol data packet according to the unlock success signal or the unlock failure signal and sends the communication protocol data packet to the FPGA upgrade software. The FPGA upgrade software parses the unlock data packet according to the communication protocol data packet. Success signal or unlocking failure signal, if it is unlocking success signal, execute step 13, if it is erasing failure signal, return to step 5;

步骤13、FPGA升级软件每次获取应用镜像的设定字节的应用镜像数据,并发布写数据命令,根据写数据命令和设定字节的应用镜像数据设置通讯协议数据包;Step 13, the FPGA upgrade software obtains the application image data of the set byte of the application image each time, and issues a write data command, and sets the communication protocol packet according to the write data command and the set byte of the application image data;

步骤14、FPGA经以太网收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA内置的升级模块,升级模块解析出通讯协议数据包中的写数据命令和设定字节的应用镜像数据,并将写数据命令发送到FPGA内置的时序控制模块,时序控制模块根据写数据命令产生相应的写数据时序,并通过写数据时序将设定字节的应用镜像数据写入到内置Flash的应用区;Step 14. After the FPGA receives the communication protocol data packet sent by the FPGA upgrade software via the Ethernet, the communication protocol data packet is sent to the upgrade module built in the FPGA, and the upgrade module parses out the write data command and the setting word in the communication protocol data packet. The application mirror data of the node, and send the write data command to the timing control module built in FPGA, the timing control module generates the corresponding write data timing according to the write data command, and writes the application mirror data of the set byte through the write data timing Go to the application area with built-in Flash;

步骤15、时序控制模块主动读取内置Flash的控制状态寄存器,时序控制模块在设定时间内根据控制状态寄存器判断是否写数据成功,若写数据成功,则生成写数据成功信号发送到升级模块,若写数据不成功,则生成写数据失败信号发送到升级模块,Step 15, the timing control module actively reads the control status register of the built-in Flash, and the timing control module judges whether the data writing is successful according to the control status register within the set time. If the data writing is successful, a data writing success signal is generated and sent to the upgrade module. If the write data is unsuccessful, a write data failure signal is generated and sent to the upgrade module,

升级模块根据写数据成功信号或者写数据失败信号设置通讯协议数据包;升级模块将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出写数据成功信号或者写数据失败信号,若为写数据成功信号则执行步骤16,若为写数据失败信号则返回步骤5;The upgrade module sets the communication protocol data packet according to the write data success signal or the write data failure signal; the upgrade module sends the communication protocol data packet to the FPGA upgrade software, and the FPGA upgrade software analyzes the write data success signal or the write data failure signal according to the communication protocol data packet , if it is a write data success signal, execute step 16, and if it is a write data failure signal, return to step 5;

步骤16、重复步骤13-15,直至应用镜像全部写入到内置Flash的应用区中,全部写入完毕后执行步骤17;Step 16. Repeat steps 13-15 until the application image is completely written into the application area of the built-in Flash, and then execute step 17 after all writing is completed;

步骤17、FPGA升级软件发布读数据命令,读取内置Flash的应用区,并根据读数据命令设置通讯协议数据包,并将通讯协议数据包通过以太网发往FPGA4;Step 17, the FPGA upgrade software issues a read data command, reads the application area of the built-in Flash, and sets the communication protocol packet according to the read data command, and sends the communication protocol packet to FPGA4 via Ethernet;

步骤18、FPGA经以太网收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA内置的升级模块,升级模块解析出通讯协议数据包中的读数据命令,并将读数据命令发送到FPGA内置的时序控制模块,时序控制模块根据读数据命令产生相应的读数据时序对内置Flash的应用区进行设定长度的应用镜像的读数据操作,Step 18. After the FPGA receives the communication protocol data packet sent by the FPGA upgrade software via the Ethernet, the communication protocol data packet is sent to the FPGA built-in upgrade module, and the upgrade module parses out the read data command in the communication protocol data packet, and reads The data command is sent to the built-in timing control module of the FPGA, and the timing control module generates the corresponding read data timing according to the read data command to perform the read data operation of the application image with a set length in the application area of the built-in Flash.

步骤19、时序控制模块主动读取内置Flash的控制状态寄存器,时序控制模块在设定时间内根据控制状态寄存器判断是否读数据成功,若读数据成功,则生成读数据成功信号发送到升级模块,若读数据不成功,生成读数据失败信号发送到升级模块,升级模块根据读数据成功信号或者读数据失败信号设置通讯协议数据包,并将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出读数据成功信号或者读数据失败信号,若为读数据成功信号则执行步骤20,若为读数据失败信号则返回步骤5;Step 19, the timing control module actively reads the control status register of the built-in Flash, and the timing control module judges whether the read data is successful according to the control status register within the set time, if the read data is successful, then generates a read data success signal and sends it to the upgrade module, If the data reading is unsuccessful, a signal of failure to read data is generated and sent to the upgrade module, and the upgrade module sets the communication protocol data packet according to the signal of successful data reading or the signal of failure to read data, and sends the communication protocol data packet to the FPGA upgrade software. The communication protocol data packet is analyzed to read the data success signal or the data reading failure signal, if it is the data reading success signal, then perform step 20, and if it is the data reading failure signal, then return to step 5;

步骤20、重复步骤17-19,直到将内置Flash的应用区中存储的应用镜像全部读出到FPGA升级软件;Step 20. Repeat steps 17-19 until all the application images stored in the application area of the built-in Flash are read out to the FPGA upgrade software;

步骤21、FPGA升级软件将读取的应用镜像与步骤3中选定的应用镜像进行数据比对,若一致,执行步骤22,否则执行步骤5;Step 21. The FPGA upgrade software compares the read application image with the application image selected in step 3. If they are consistent, execute step 22; otherwise, execute step 5;

步骤22、FPGA升级软件发布加锁命令并根据加锁命令设置通讯协议数据包,并将通讯协议数据包通过以太网发往FPGA;Step 22, the FPGA upgrade software issues a locking command and sets the communication protocol data packet according to the locking command, and sends the communication protocol data packet to FPGA through Ethernet;

步骤23、FPGA经以太网收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA内置的升级模块,升级模块解析出通讯协议数据包中的加锁命令,并将加锁命令发送到FPGA内置的时序控制模块,时序控制模块根据加锁命令产生相应的加锁时序对内置Flash的应用区进行加锁操作;Step 23. After the FPGA receives the communication protocol data packet sent by the FPGA upgrade software via the Ethernet, the communication protocol data packet is sent to the upgrade module built in the FPGA. The upgrade module parses out the lock command in the communication protocol data packet, and adds The lock command is sent to the built-in timing control module of the FPGA, and the timing control module generates a corresponding lock sequence according to the lock command to lock the application area of the built-in Flash;

步骤24、时序控制模块主动读取内置Flash的控制状态寄存器,时序控制模块在设定时间内根据控制状态寄存器判断是否加锁成功,若加锁成功,则生成加锁成功信号发送到升级模块,若加锁不成功,生成加锁失败信号发送到升级模块,升级模块根据加锁成功信号或者加锁失败信号设置通讯协议数据包并发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出加锁成功信号或者加锁失败信号,若为加锁成功信号则执行步骤25,若为加锁失败信号则返回步骤5;Step 24, the timing control module actively reads the control status register of the built-in Flash, and the timing control module judges whether the locking is successful according to the control status register within the set time. If the locking is successful, a locking success signal is generated and sent to the upgrade module. If the lock is unsuccessful, a lock failure signal is generated and sent to the upgrade module. The upgrade module sets the communication protocol data packet according to the lock success signal or the lock failure signal and sends it to the FPGA upgrade software. The FPGA upgrade software analyzes the communication protocol data packet. Locking success signal or locking failure signal, if it is a locking success signal, execute step 25, and if it is a locking failure signal, return to step 5;

步骤25、将拨动开关置为高电平,FPGA识别拨动开关输入高电平后,加载应用镜像。Step 25. Set the toggle switch to a high level, and after the FPGA recognizes that the toggle switch has input a high level, load the application image.

2、根据权利要求1所述的一种内置Flash的FPAG远程升级方法,其特征在于,所述的通讯协议数据包的第一个字节代表命令类型,命令类型为写命令或读命令或写数据或读数据;2. The FPAG remote upgrade method with a built-in Flash according to claim 1, wherein the first byte of the communication protocol data packet represents the command type, and the command type is a write command or a read command or a write command. data or read data;

第二个字节和第三个字节代表为有效数据长度的高八位和低八位;The second byte and the third byte represent the high and low eight bits of the valid data length;

第四个字节代表为操作状态;The fourth byte represents the operation status;

第五个字节至第八个字节代表为地址,如果命令类型为写命令或读命令,则地址为内置Flash的控制状态寄存器地址;如果命令类型为写数据或读数据,则地址为内置Flash的存储地址;The fifth byte to the eighth byte represent the address. If the command type is write command or read command, the address is the control status register address of the built-in Flash; if the command type is write data or read data, the address is the built-in Flash Flash storage address;

自第九个字节起为数据;data starting from the ninth byte;

通讯协议数据包最少为64个字节。The communication protocol data packet is at least 64 bytes.

与现有技术相比,本发明具有以下有益效果:Compared with the prior art, the present invention has the following beneficial effects:

1、电气连接关系简单,仅使用上位机与FPGA之间的连接诶即可完成FPGA程序的升级。1. The electrical connection is simple, and the upgrade of the FPGA program can be completed only by using the connection between the host computer and the FPGA.

2、内置Flash内置于FPGA中,除产品研发人员外,其余人员难以获取内部Flash所存储的配置文件,使得装置获得了更高的保密性。2. The built-in Flash is built into the FPGA, except for product R&D personnel, it is difficult for other personnel to obtain the configuration files stored in the internal Flash, which makes the device obtain higher confidentiality.

3、对于部分需要FPGA快速上电加载的行业来说,本发明支持最高到毫秒级的FPGA上电加载速度。3. For some industries that require fast FPGA power-on and loading, the present invention supports the FPGA power-on and loading speed up to millisecond level.

4、本发明提供了一种FPGA远程升级方法,避免对产品拆机升级。4. The present invention provides an FPGA remote upgrade method, which avoids dismantling and upgrading the product.

附图说明Description of drawings

图1为本发明的内置Flash的FPAG远程升级系统的结构示意图;Fig. 1 is the structural representation of the FPAG remote upgrade system of built-in Flash of the present invention;

图2为本发明的内置Flash的分区示意图;Fig. 2 is the partition schematic diagram of the built-in Flash of the present invention;

图3为本发明的FPAG的内部结构示意图;Fig. 3 is the internal structure schematic diagram of FPAG of the present invention;

图4为本发明的内置Flash读写流程示意图;Fig. 4 is a schematic diagram of the built-in Flash reading and writing process of the present invention;

图5为本发明的FPGA升级流程图;Fig. 5 is the FPGA upgrading flowchart of the present invention;

图6为通讯协议数据包的格式定义图。FIG. 6 is a format definition diagram of a communication protocol data packet.

图中,1-上位机;2-以太网;3-以太网芯片;4-FPGA;41-内置Flash;5-拨码开关。In the figure, 1-host computer; 2-Ethernet; 3-Ethernet chip; 4-FPGA; 41-built-in Flash; 5-dip switch.

具体实施方式Detailed ways

为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。In order to facilitate those of ordinary skill in the art to understand and implement the present invention, the present invention will be described in further detail below in conjunction with the examples. It should be understood that the implementation examples described here are only used to illustrate and explain the present invention, and are not intended to limit the present invention.

本发明提供了一种内置Flash的FPAG远程升级系统。包括:上位机1,以太网芯片3,FPGA4和拨码开关5。The invention provides a FPAG remote upgrade system with built-in Flash. Including: upper computer 1, Ethernet chip 3, FPGA4 and DIP switch 5.

其中,上位机1运行FPGA升级软件;以太网芯片3用于上位机1与FPGA4的以太网数据通讯;FPGA4用于加载配置文件,实现不同的逻辑功能。拨码开关5产生高低电平,并输出到FPGA4的I/O引脚。上位机1、以太网芯片3,FPGA4依次顺序连接,拨码开关5的输出连接至FPGA4的I/O引脚,如图1所示。Among them, the host computer 1 runs FPGA upgrade software; the Ethernet chip 3 is used for Ethernet data communication between the host computer 1 and FPGA4; FPGA4 is used for loading configuration files to realize different logic functions. DIP switch 5 generates high and low levels, which are output to the I/O pins of FPGA4. The host computer 1, the Ethernet chip 3, and the FPGA4 are connected sequentially, and the output of the dial switch 5 is connected to the I/O pin of the FPGA4, as shown in Figure 1.

上位机1与FPGA4通过以太网通讯,Host computer 1 communicates with FPGA4 via Ethernet,

FPGA4内设置有内置Flash(非易失性存储)。内置Flash的存储空间被划分升级区和应用区。升级区存储升级镜像,应用区存储应用镜像。FPGA4具备多重镜像加载的功能,即通过加载升级镜像或应用镜像,实现不同的逻辑功能。Built-in Flash (non-volatile storage) is set in the FPGA4. The storage space of the built-in Flash is divided into an upgrade area and an application area. The upgrade area stores the upgrade image, and the application area stores the application image. FPGA4 has the function of loading multiple images, that is, different logic functions can be realized by loading upgrade images or application images.

优选的,FPGA4采用Intel公司的MAX10 FPGA。Preferably, FPGA4 adopts MAX10 FPGA of Intel Corporation.

加载升级镜像使FPGA4处于远程升级状态,此时FPGA4可以与上位机运行的FPGA升级软件进行以太网通讯,进而完成对FPGA4应用镜像的更新。加载应用镜像使FPGA4处于正常业务功能状态,此时FPGA4可以实现产品级功能。Loading the upgrade image puts FPGA4 in the remote upgrade state. At this time, FPGA4 can communicate with the FPGA upgrade software running on the host computer through Ethernet, and then complete the update of the FPGA4 application image. Loading the application image makes FPGA4 in a normal business function state, and FPGA4 can implement product-level functions at this time.

升级镜像与应用镜像均包含上电启动控制器,所述上电启动控制器使用DualConfiguration IP核完成FPGA4镜像文件的加载。上电启动控制器实现当检测到输入低电平时FPGA仅加载升级镜像,当检测到输入高电平时FPGA仅加载应用镜像的功能。Both the upgrade image and the application image include a power-on controller, and the power-on controller uses the DualConfiguration IP core to complete the loading of the FPGA4 image file. The power-on controller implements the function that the FPGA only loads the upgrade image when the input low level is detected, and the FPGA only loads the application image when the input high level is detected.

拨码开关5仅为FPGA4提供高低电平状态。DIP switch 5 only provides high and low level states for FPGA4.

一种内置Flash的FPGA程序远程升级方法,包含以下步骤:A method for remotely upgrading an FPGA program with built-in Flash, comprising the following steps:

步骤1、上位机1运行Quartus软件,在Quartus软件中设置FPGA配置模式为InternalConfiguration,设置加载模式为Dual Compressed Images,之后编译并生成升级镜像,打开Quartus软件的Convert Programming File界面,添加升级镜像,生成包含升级镜像的FPGA出厂固件。Step 1. Host computer 1 runs the Quartus software. In the Quartus software, set the FPGA configuration mode to InternalConfiguration, set the loading mode to Dual Compressed Images, then compile and generate the upgrade image, open the Convert Programming File interface of the Quartus software, add the upgrade image, and generate FPGA factory firmware containing the upgrade image.

步骤2、使用Quartus软件通过JTAG接口与FPGA下载器将FPGA出厂固件下载到FPGA4的内置Flash的升级区。Step 2. Use the Quartus software to download the FPGA factory firmware to the upgrade area of the built-in Flash of the FPGA4 through the JTAG interface and the FPGA downloader.

步骤3、使用Quartus软件编译并生成应用镜像。Step 3. Use the Quartus software to compile and generate an application image.

步骤4、重启FPGA4,将拨动开关置为低电平,使得拨动开关向FPGA4的I/O引脚输入低电平,FPGA4识别拨动开关输入低电平后,通过Dual Configuration IP核从内置Flash的升级区加载升级镜像。加载升级镜像后,FPGA4将具备远程升级能力,即上位机通过以太网的方式,完成对FPGA4应用镜像的更新。Step 4. Restart FPGA4, set the toggle switch to low level, so that the toggle switch inputs low level to the I/O pin of FPGA4. The upgrade area with built-in Flash loads the upgrade image. After the upgrade image is loaded, FPGA4 will have the capability of remote upgrade, that is, the upper computer can complete the update of the FPGA4 application image through Ethernet.

步骤5、上位机1运行FPGA升级软件并载入步骤3中生成的应用镜像。Step 5. Host computer 1 runs the FPGA upgrade software and loads the application image generated in step 3.

步骤6、FPGA升级软件通过以太网与FPGA4通讯,获取FPGA4的硬件平台的信息,并根据FPGA4的硬件平台的信息判断所载入应用镜像是否对应FPGA4的硬件平台,若对应,则执行步骤7,否则执行步骤5。Step 6, the FPGA upgrade software communicates with the FPGA4 via Ethernet to obtain the information of the hardware platform of the FPGA4, and judges whether the loaded application image corresponds to the hardware platform of the FPGA4 according to the information of the hardware platform of the FPGA4, and if so, execute step 7, Otherwise, go to step 5.

步骤7、FPGA升级软件发布擦除命令,擦除内置Flash的应用区,并根据擦除命令设置通讯协议数据包,Step 7. The FPGA upgrade software issues an erase command to erase the application area of the built-in Flash, and set the communication protocol data packet according to the erase command.

通讯协议数据包的第一个字节代表命令类型(Opt-cmd),0x00-表示写命令(WriteCMD/Status),0x01-表示读命令(Read CMD/Status),0x02-表示写数据(Write FlashData),0x03-表示读数据(Read Flash Data);The first byte of the communication protocol data packet represents the command type (Opt-cmd), 0x00-represents the write command (WriteCMD/Status), 0x01-represents the read command (Read CMD/Status), 0x02-represents the write data (Write FlashData ), 0x03- means read data (Read Flash Data);

第二个字节和第三个字节表示为有效数据长度(Opt-len)的高八位(Opt-len H)和低八位(Opt-len L),有效数据长度是指通讯协议数据包中自第八个字节起(Opt-data)的有效数据长度;The second byte and the third byte represent the high eight bits (Opt-len H) and low eight bits (Opt-len L) of the effective data length (Opt-len), and the effective data length refers to the communication protocol data Effective data length from the eighth byte (Opt-data) in the packet;

第四个字节表示为操作状态(Opt-status);操作状态仅在FPGA4向上位机运行的FPGA升级软件发送通讯协议数据包时有效,当FPGA4执行完上位机软件发布的命令后,将操作状态设置为0x01,示意当前操作已经完成,否则设置为0x00,示意当前操作未完成。The fourth byte represents the operation status (Opt-status); the operation status is only valid when the FPGA4 sends the communication protocol data packet to the FPGA upgrade software running on the upper computer. After the FPGA4 executes the command issued by the upper computer software, it will operate The status is set to 0x01, indicating that the current operation has been completed, otherwise it is set to 0x00, indicating that the current operation has not been completed.

第五个字节至第八个字节表示地址(Opt-Addr),如果命令类型(Opt-cmd)为“写命令”或“读命令”,则地址为内置Flash的控制状态寄存器地址;如果命令类型为“写数据”或“读数据”,则地址为内置Flash的存储地址;The fifth byte to the eighth byte represent the address (Opt-Addr). If the command type (Opt-cmd) is "write command" or "read command", the address is the address of the control status register of the built-in Flash; if If the command type is "write data" or "read data", the address is the storage address of the built-in Flash;

自第九个字节起表示数据(Opt-data);Indicate data (Opt-data) from the ninth byte;

通讯协议数据包最少为64个字节。The communication protocol data packet is at least 64 bytes.

根据擦除命令设置通讯协议数据包包括以下步骤:设置命令类型为写命令0x00,设置有效数据长度(Opt-len)为0x0001,设置操作状态(Opt-status)为0x00,设置地址(Opt-Addr)为0x00000001,设置前四个字节的数据(Opt-data)为0xFF9FFFFF,后续数据(Opt-data)填0以满足最小64字节以太网数据帧。组包完成后通过以太网接口发往FPGA4,执行步骤8。Setting the communication protocol packet according to the erase command includes the following steps: set the command type to write command 0x00, set the effective data length (Opt-len) to 0x0001, set the operation status (Opt-status) to 0x00, set the address (Opt-Addr ) to 0x00000001, set the first four bytes of data (Opt-data) to 0xFF9FFFFF, and fill the subsequent data (Opt-data) with 0 to meet the minimum 64-byte Ethernet data frame. After the package is completed, send it to FPGA4 through the Ethernet interface, and perform step 8.

步骤8、FPGA4经以太网接口收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA4内置的升级模块,升级模块解析出通讯协议数据包中的擦除命令,并将擦除命令发送到FPGA4内置的时序控制模块,时序控制模块根据擦除命令产生相应的擦除时序对内置Flash进行擦除,功能结构如图3所示。之后执行步骤9。Step 8. After FPGA4 receives the communication protocol data packet sent by the FPGA upgrade software through the Ethernet interface, the communication protocol data packet is sent to the upgrade module built in FPGA4. The upgrade module analyzes the erase command in the communication protocol data packet, and sends the The erase command is sent to the built-in timing control module of FPGA4, and the timing control module generates a corresponding erase sequence to erase the built-in Flash according to the erase command. The functional structure is shown in Figure 3. Then go to step 9.

步骤9、时序控制模块主动读取内置Flash的控制状态寄存器,当擦除成功,控制状态寄存器相应的位会自动置1,否则为0。时序控制模块在5秒内根据控制状态寄存器判断擦除成功,则生成擦除成功信号发送到升级模块,否则生成擦除失败信号发送到升级模块,升级模块根据擦除成功信号或者擦除失败信号设置通讯协议数据包;Step 9. The timing control module actively reads the control status register of the built-in Flash. When the erasing is successful, the corresponding bit of the control status register will be automatically set to 1, otherwise it will be 0. The timing control module judges that the erasure is successful according to the control status register within 5 seconds, then generates an erase success signal and sends it to the upgrade module, otherwise generates an erase failure signal and sends it to the upgrade module, and the upgrade module generates an erase success signal or an erase failure signal Set the communication protocol packet;

升级模块根据擦除成功信号或者擦除失败信号设置通讯协议数据包包括以下步骤:The upgrade module sets the communication protocol data packet according to the erase success signal or the erase failure signal, including the following steps:

设置命令类型(Opt-cmd)为0x00写命令,设置有效数据长度(Opt-len)为0x0001,若为擦除成功信号设置操作状态(Opt-status)为0x01,若为擦除失败信号设置操作状态(Opt-status)为0x00,设置地址(Opt-Addr)为0x00000000,设置前四个字节的数据(Opt-data)为0Xffffffe0,后续数据(Opt-data)字节填0以满足最小64字节以太网数据帧。Set the command type (Opt-cmd) to 0x00 write command, set the effective data length (Opt-len) to 0x0001, set the operation status (Opt-status) to 0x01 if it is an erase success signal, and set the operation if it is an erase failure signal The status (Opt-status) is 0x00, set the address (Opt-Addr) to 0x00000000, set the first four bytes of data (Opt-data) to 0Xffffffe0, and fill the subsequent data (Opt-data) bytes with 0 to meet the minimum 64 Byte Ethernet data frame.

升级模块将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出擦除成功信号或者擦除失败信号,若为擦除成功信号则执行步骤10,若为擦除失败信号则返回步骤5。The upgrade module sends the communication protocol data packet to the FPGA upgrade software. The FPGA upgrade software analyzes the erase success signal or the erase failure signal according to the communication protocol data packet. If it is an erase success signal, perform step 10; if it is an erase failure signal Then return to step 5.

步骤10、FPGA升级软件发布解锁命令,解锁Flash应用区,并根据解锁命令设置通讯协议数据包,并将通讯协议数据包通过以太网接口发往FPGA4。Step 10, the FPGA upgrade software issues an unlock command to unlock the Flash application area, and sets the communication protocol data packet according to the unlock command, and sends the communication protocol data packet to FPGA4 through the Ethernet interface.

根据解锁命令设置通讯协议数据包包括以下步骤:Setting the communication protocol data packet according to the unlock command includes the following steps:

设置命令类型(Opt-cmd)为0x00写命令,设置有效数据长度(Opt-len)为0x0001,设置操作状态(Opt-status)为0x00,设置地址(Opt-Addr)为0x00000001,设置前四个字节的数据(Opt-data)为0xFF7FFFFF,后续数据(Opt-data)字节填0以满足最小64字节以太网数据帧。组包完成后通过以太网接口发往FPGA4,执行步骤11。Set the command type (Opt-cmd) to 0x00 write command, set the effective data length (Opt-len) to 0x0001, set the operation status (Opt-status) to 0x00, set the address (Opt-Addr) to 0x00000001, set the first four The byte data (Opt-data) is 0xFF7FFFFF, and the subsequent data (Opt-data) bytes are filled with 0 to meet the minimum 64-byte Ethernet data frame. After the package is completed, send it to FPGA4 through the Ethernet interface, and go to step 11.

步骤11、FPGA4经以太网接口收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA4内置的升级模块,升级模块解析出通讯协议数据包中的解锁命令,并将解锁命令发送到FPGA4内置的时序控制模块,时序控制模块根据解锁命令产生相应的解锁时序对内置Flash进行解锁,功能结构如图3所示。之后执行步骤12。Step 11. After FPGA4 receives the communication protocol data packet sent by the FPGA upgrade software through the Ethernet interface, it sends the communication protocol data packet to the upgrade module built in FPGA4. The upgrade module parses out the unlock command in the communication protocol data packet and unlocks the The command is sent to the built-in timing control module of FPGA4, and the timing control module generates corresponding unlocking timing according to the unlocking command to unlock the built-in Flash. The functional structure is shown in Figure 3. Then go to step 12.

步骤12、时序控制模块主动读取内置Flash的控制状态寄存器,当解锁成功,控制状态寄存器相应的位会自动置1,否则为0。时序控制模块在5秒内根据控制状态寄存器判断解锁成功,则生成解锁成功信号发送到升级模块,否则生成解锁失败信号发送到升级模块,升级模块根据解锁成功信号或者解锁失败信号设置通讯协议数据包;Step 12. The timing control module actively reads the control status register of the built-in Flash. When the unlocking is successful, the corresponding bit of the control status register will be automatically set to 1, otherwise it will be 0. The timing control module judges that the unlocking is successful according to the control status register within 5 seconds, then generates an unlocking success signal and sends it to the upgrade module, otherwise generates an unlocking failure signal and sends it to the upgrade module, and the upgrade module sets the communication protocol data packet according to the unlocking success signal or the unlocking failure signal ;

升级模块根据解锁成功信号或者解锁失败信号设置通讯协议数据包包括以下步骤:The upgrade module sets the communication protocol data packet according to the unlocking success signal or the unlocking failure signal, including the following steps:

设置命令类型(Opt-cmd)为0x00写命令,设置有效数据长度(Opt-len)为0x0001,若为解锁成功信号设置操作状态(Opt-status)为0x01,若为解锁失败信号设置操作状态(Opt-status)为0x00,设置地址(Opt-Addr)为0x00000000,设置前四个字节的数据(Opt-data)为0Xffffffc0,后续数据(Opt-data)字节填0以满足最小64字节以太网数据帧。升级模块将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出解锁成功信号或者解锁失败信号,若为解锁成功信号则执行步骤13,若为擦除失败信号则返回步骤5。Set the command type (Opt-cmd) to 0x00 write command, set the effective data length (Opt-len) to 0x0001, set the operation status (Opt-status) to 0x01 for the unlock success signal, and set the operation status (Opt-status) for the unlock failure signal ( Opt-status) is 0x00, set the address (Opt-Addr) to 0x00000000, set the first four bytes of data (Opt-data) to 0Xffffffc0, and fill the subsequent data (Opt-data) bytes with 0 to meet the minimum 64 bytes Ethernet data frame. The upgrade module sends the communication protocol data packet to the FPGA upgrade software, and the FPGA upgrade software analyzes the unlock success signal or the unlock failure signal according to the communication protocol data packet, if it is the unlock success signal, execute step 13, and if it is the erase failure signal, return to step 5.

步骤13、FPGA升级软件每次获取应用镜像的最大1024字节的应用镜像数据,并发布写数据命令,根据写数据命令和最大1024字节的应用镜像数据设置通讯协议数据包,Step 13, the FPGA upgrade software obtains the maximum 1024 bytes of application image data of the application image each time, and issues a write data command, and sets the communication protocol packet according to the write data command and the maximum 1024 byte application image data,

根据写数据命令设置通讯协议数据包包括以下步骤:Setting the communication protocol data packet according to the write data command includes the following steps:

设置命令类型(Opt-cmd)为0x02写数据,设置有效数据长度(Opt-len)为0x00FF,设置操作状态(Opt-status)为0x00,设置地址(Opt-Addr)为0x00008000,将获取的1024字节应用镜像数据填充到数据(Opt-data)。组包完成后通过以太网接口发往FPGA4,执行步骤14。Set the command type (Opt-cmd) to 0x02 to write data, set the effective data length (Opt-len) to 0x00FF, set the operation status (Opt-status) to 0x00, set the address (Opt-Addr) to 0x00008000, and the obtained 1024 Bytes should be filled with mirrored data to data (Opt-data). After the package is completed, it is sent to FPGA4 through the Ethernet interface, and step 14 is performed.

步骤14、FPGA4经以太网接口收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA4内置的升级模块,升级模块解析出通讯协议数据包中的写数据命令和1024字节应用镜像数据,并将写数据命令发送到FPGA4内置的时序控制模块,时序控制模块根据写数据命令产生相应的写数据时序,并通过写数据时序将1024字节应用镜像数据写入到内置Flash的应用区,功能结构如图3所示。之后执行步骤15。Step 14: After FPGA4 receives the communication protocol data packet sent by the FPGA upgrade software through the Ethernet interface, it sends the communication protocol data packet to the upgrade module built in FPGA4, and the upgrade module parses out the write data command and 1024 words in the communication protocol data packet Section application image data, and send the write data command to the timing control module built in FPGA4, the timing control module generates the corresponding write data timing according to the write data command, and writes 1024 bytes of application mirror data to the built-in Flash through the write data timing The functional structure of the application area is shown in Figure 3. Then go to step 15.

步骤15、时序控制模块主动读取内置Flash的控制状态寄存器,当写数据成功,控制状态寄存器相应的位会自动置1,否则为0。时序控制模块在5秒内根据控制状态寄存器判断写数据成功,则生成写数据成功信号发送到升级模块,否则生成写数据失败信号发送到升级模块,升级模块根据写数据成功信号或者写数据失败信号设置通讯协议数据包;Step 15. The timing control module actively reads the control status register of the built-in Flash. When the data is successfully written, the corresponding bit of the control status register will be automatically set to 1, otherwise it will be 0. The timing control module judges the success of writing data according to the control status register within 5 seconds, then generates a write data success signal and sends it to the upgrade module, otherwise generates a write data failure signal and sends it to the upgrade module, and the upgrade module according to the write data success signal or write data failure signal Set the communication protocol packet;

升级模块根据写数据成功信号或者写数据失败信号设置通讯协议数据包包括以下步骤:The upgrade module sets the communication protocol data packet according to the write data success signal or the write data failure signal, including the following steps:

设置命令类型(Opt-cmd)为0x02写数据,设置有效数据长度(Opt-len)为0x0001,若为写数据成功信号设置操作状态(Opt-status)为0x01,若为写数据失败信号设置操作状态(Opt-status)为0x00,设置地址(Opt-Addr)为0x00008000,设置前四个字节的数据(Opt-data)为0xffffffc8,后续数据(Opt-data)字节填0以满足最小64字节以太网数据帧。升级模块将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出写数据成功信号或者写数据失败信号,若为写数据成功信号则执行步骤16,若为写数据失败信号则返回步骤5。Set the command type (Opt-cmd) to 0x02 to write data, set the effective data length (Opt-len) to 0x0001, set the operation status (Opt-status) to 0x01 if it is a signal of successful writing data, and set the operation if it is a signal of failure to write data The status (Opt-status) is 0x00, set the address (Opt-Addr) to 0x00008000, set the first four bytes of data (Opt-data) to 0xffffffc8, and fill the subsequent data (Opt-data) bytes with 0 to meet the minimum 64 Byte Ethernet data frame. The upgrade module sends the communication protocol data packet to the FPGA upgrade software, and the FPGA upgrade software analyzes the write data success signal or the write data failure signal according to the communication protocol data packet, if it is the write data success signal, then perform step 16, if it is the write data failure signal Then return to step 5.

步骤16、重复步骤13-15,直至应用镜像全部写入到内置Flash的应用区中,全部写入完毕后执行步骤17。Step 16. Repeat steps 13-15 until all the application images are written into the application area of the built-in Flash, and then go to step 17 after all writing is completed.

步骤17、FPGA升级软件发布读数据命令,读取内置Flash的应用区,并根据读数据命令设置通讯协议数据包,并将通讯协议数据包通过以太网接口发往FPGA4。Step 17, the FPGA upgrade software issues a read data command, reads the application area of the built-in Flash, and sets the communication protocol data packet according to the read data command, and sends the communication protocol data packet to FPGA4 through the Ethernet interface.

根据读数据命令设置通讯协议数据包包括以下步骤:Setting the communication protocol packet according to the read data command includes the following steps:

设置命令类型(Opt-cmd)为0x03读数据,设置有效数据长度(Opt-len)为0x00FF,设置操作状态(Opt-status)为0x00,设置地址(Opt-Addr)为0x00008000,数据(Opt-data)字节填0以满足最小64字节以太网数据帧。组包完成后通过以太网接口发往FPGA4,执行步骤18。Set the command type (Opt-cmd) to 0x03 to read data, set the effective data length (Opt-len) to 0x00FF, set the operation status (Opt-status) to 0x00, set the address (Opt-Addr) to 0x00008000, and set the data (Opt- data) byte is filled with 0 to meet the minimum 64-byte Ethernet data frame. After the package is completed, it is sent to FPGA4 through the Ethernet interface, and step 18 is performed.

步骤18、FPGA4经以太网接口收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA4内置的升级模块,升级模块解析出通讯协议数据包中的读数据命令,并将读数据命令发送到FPGA4内置的时序控制模块,时序控制模块根据读数据命令产生相应的读数据时序对内置Flash的应用区进行设定长度的应用镜像的读数据操作,功能结构如图3所示。之后执行步骤19。Step 18, after FPGA4 receives the communication protocol packet sent by the FPGA upgrade software through the Ethernet interface, the communication protocol packet is sent to the upgrade module built in FPGA4, and the upgrade module parses out the read data command in the communication protocol packet, and sends the The read data command is sent to the built-in timing control module of FPGA4, and the timing control module generates the corresponding read data timing according to the read data command to perform the read data operation of the application image with a set length in the application area of the built-in Flash. The functional structure is shown in Figure 3 . Then go to step 19.

步骤19、时序控制模块主动读取内置Flash的控制状态寄存器,当读数据成功,控制状态寄存器相应的位会自动置1,否则为0。时序控制模块在5秒内根据控制状态寄存器判断读数据成功,则生成读数据成功信号发送到升级模块,否则生成读数据失败信号发送到升级模块,升级模块根据读数据成功信号或者读数据失败信号设置通讯协议数据包,并将通讯协议数据包发送到FPGA升级软件;Step 19: The timing control module actively reads the control status register of the built-in Flash. When the data is read successfully, the corresponding bit of the control status register is automatically set to 1, otherwise it is 0. The timing control module judges the success of reading data according to the control status register within 5 seconds, then generates a read data success signal and sends it to the upgrade module, otherwise generates a read data failure signal and sends it to the upgrade module, and the upgrade module according to the read data success signal or read data failure signal Set the communication protocol data packet, and send the communication protocol data packet to the FPGA upgrade software;

升级模块根据读数据成功信号或者读数据失败信号设置通讯协议数据包包括以下步骤:The upgrade module sets the communication protocol data packet according to the read data success signal or the read data failure signal, including the following steps:

设置命令类型(Opt-cmd)为0x03读数据,设置有效数据长度(Opt-len)为0x00FF,若为读数据成功信号设置操作状态(Opt-status)为0x01,若为读数据失败信号设置操作状态(Opt-status)为0x00,设置地址(Opt-Addr)为0x00008000,设置数据(Opt-data)为读取的设定长度的应用镜像。升级模块将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出读数据成功信号或者读数据失败信号,若为读数据成功信号则执行步骤20,若为读数据失败信号则返回步骤5。Set the command type (Opt-cmd) to 0x03 to read data, set the effective data length (Opt-len) to 0x00FF, set the operation status (Opt-status) to 0x01 if it is a read data success signal, and set the operation if it is a read data failure signal The status (Opt-status) is 0x00, the setting address (Opt-Addr) is 0x00008000, and the setting data (Opt-data) is the application image of the set length read. The upgrade module sends the communication protocol data packet to the FPGA upgrade software, and the FPGA upgrade software parses the read data success signal or the read data failure signal according to the communication protocol data packet, if it is the read data success signal, then perform step 20, if it is the read data failure signal Then return to step 5.

步骤20、重复步骤17-19,直到将内置Flash的应用区中存储的应用镜像全部读出到FPGA升级软件,全部读出后执行步骤21。Step 20. Repeat steps 17-19 until all the application images stored in the application area of the built-in Flash are read out to the FPGA upgrade software, and then step 21 is executed after all are read out.

步骤21、FPGA升级软件将读取的应用镜像与步骤3中选定的应用镜像进行数据比对,若一致,执行步骤22,否则执行步骤5。Step 21. The FPGA upgrade software compares the read application image with the application image selected in step 3. If they are consistent, go to step 22; otherwise, go to step 5.

步骤22、FPGA升级软件发布加锁命令,加锁内置Flash的应用区,并根据加锁命令设置通讯协议数据包,并将通讯协议数据包通过以太网接口发往FPGA4。Step 22, the FPGA upgrade software issues a lock command, locks the application area of the built-in Flash, and sets the communication protocol data packet according to the lock command, and sends the communication protocol data packet to FPGA4 through the Ethernet interface.

根据加锁命令设置通讯协议数据包包括以下步骤:Setting the communication protocol data packet according to the lock command includes the following steps:

设置命令类型(Opt-cmd)为0x00写命令,设置有效数据长度(Opt-len)为0x0001,设置操作状态(Opt-status)为0x00,设置地址(Opt-Addr)为0x00000001,数据(Opt-data)的前四个字节为0xFFFFFFFF,数据的后续字节填0以满足最小64字节以太网数据帧。组包完成后通过以太网接口发往FPGA4,执行步骤23。Set the command type (Opt-cmd) to 0x00 write command, set the effective data length (Opt-len) to 0x0001, set the operation status (Opt-status) to 0x00, set the address (Opt-Addr) to 0x00000001, and set the data (Opt- The first four bytes of data) are 0xFFFFFFFF, and the subsequent bytes of the data are filled with 0 to meet the minimum 64-byte Ethernet data frame. After the package is completed, it is sent to FPGA4 through the Ethernet interface, and step 23 is performed.

步骤23、FPGA4经以太网接口收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA4内置的升级模块,升级模块解析出通讯协议数据包中的加锁命令,并将加锁命令发送到FPGA4内置的时序控制模块,时序控制模块根据加锁命令产生相应的加锁时序对内置Flash的应用区进行加锁操作,功能结构如图3所示。之后执行步骤24。Step 23, after FPGA4 receives the communication protocol data packet sent by the FPGA upgrade software through the Ethernet interface, the communication protocol data packet is sent to the upgrade module built in FPGA4, and the upgrade module parses out the lock command in the communication protocol data packet, and sends the The lock command is sent to the built-in timing control module of FPGA4, and the timing control module generates a corresponding lock sequence according to the lock command to lock the application area of the built-in Flash. The functional structure is shown in Figure 3. Then execute step 24.

步骤24、时序控制模块主动读取内置Flash的控制状态寄存器,当加锁成功,控制状态寄存器相应的位会自动置1,否则为0。时序控制模块在5秒内根据控制状态寄存器判断加锁成功,则生成加锁成功信号发送到升级模块,否则生成加锁失败信号发送到升级模块,升级模块根据加锁成功信号或者加锁失败信号设置通讯协议数据包;Step 24: The timing control module actively reads the control status register of the built-in Flash. When the lock is successful, the corresponding bit of the control status register will be automatically set to 1, otherwise it will be 0. The timing control module judges that the lock is successful according to the control status register within 5 seconds, then generates a lock success signal and sends it to the upgrade module, otherwise generates a lock failure signal and sends it to the upgrade module, and the upgrade module according to the lock success signal or the lock failure signal Set the communication protocol packet;

升级模块根据加锁成功信号或者加锁失败信号设置通讯协议数据包包括以下步骤:The upgrade module sets the communication protocol data packet according to the locking success signal or the locking failure signal, including the following steps:

设置命令类型(Opt-cmd)为0x00写命令,设置有效数据长度(Opt-len)为0x0001,若为加锁成功信号设置操作状态(Opt-status)为0x01,若为加锁失败信号设置操作状态(Opt-status)为0x00,设置地址(Opt-Addr)为0x00000000,设置前四个字节的数据(Opt-data)为0Xffffffe0,后续数据(Opt-data)字节填0以满足最小64字节以太网数据帧。升级模块将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出加锁成功信号或者加锁失败信号,若为加锁成功信号则执行步骤25,若为加锁失败信号则返回步骤5。Set the command type (Opt-cmd) to 0x00 write command, set the effective data length (Opt-len) to 0x0001, set the operation status (Opt-status) to 0x01 for the lock success signal, and set the operation for the lock failure signal The status (Opt-status) is 0x00, set the address (Opt-Addr) to 0x00000000, set the first four bytes of data (Opt-data) to 0Xffffffe0, and fill the subsequent data (Opt-data) bytes with 0 to meet the minimum 64 Byte Ethernet data frame. The upgrade module sends the communication protocol data packet to the FPGA upgrade software, and the FPGA upgrade software analyzes the lock success signal or the lock failure signal according to the communication protocol data packet, if it is the lock success signal, then perform step 25, if it is the lock failure signal Then return to step 5.

步骤25、将拨动开关置为高电平,FPGA4识别拨动开关输入高电平后,加载应用镜像的程序。FPGA4加载应用区存储的应用镜像后可以实现产品级功能。Step 25, set the toggle switch to a high level, and after the FPGA4 recognizes that the toggle switch is input with a high level, load the application image program. FPGA4 can realize product-level functions after loading the application image stored in the application area.

步骤26、完成FPGA升级。Step 26, complete the FPGA upgrade.

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。The specific embodiments described herein are merely illustrative of the spirit of the invention. Those skilled in the art to which the present invention belongs can make various modifications or supplements to the described specific embodiments or adopt similar methods to replace them, but they will not deviate from the spirit of the present invention or go beyond the definition of the appended claims range.

Claims (2)

1.一种内置Flash的FPAG远程升级方法,其特征在于,包括以下步骤:1. a FPAG remote upgrade method with built-in Flash, is characterized in that, comprises the following steps: 步骤1、上位机运行Quartus软件,通过Quartus软件生成包含升级镜像的FPGA出厂固件;Step 1. The host computer runs the Quartus software, and the FPGA factory firmware including the upgraded image is generated through the Quartus software; 步骤2、使用Quartus软件通过JTAG接口与FPGA下载器将FPGA出厂固件下载到FPGA的内置Flash的升级区;Step 2. Use the Quartus software to download the FPGA factory firmware to the upgrade area of the FPGA's built-in Flash through the JTAG interface and the FPGA downloader; 步骤3、使用Quartus软件编译并生成应用镜像;Step 3, use the Quartus software to compile and generate an application image; 步骤4、重启FPGA,将与FPGA连接的拨动开关置为低电平,FPGA4识别拨动开关输入低电平后,FPGA从内置Flash的升级区加载升级镜像;Step 4. Restart the FPGA, set the toggle switch connected to the FPGA to a low level, and after the FPGA4 recognizes that the toggle switch is input to a low level, the FPGA loads the upgrade image from the upgrade area of the built-in Flash; 步骤5、上位机运行FPGA升级软件并载入步骤3中生成的应用镜像;Step 5. The host computer runs the FPGA upgrade software and loads the application image generated in step 3; 步骤6、FPGA升级软件通过以太网与FPGA通讯,获取FPGA的硬件平台的信息,并根据FPGA的硬件平台的信息判断所载入应用镜像是否对应FPGA的硬件平台,若对应,则执行步骤7,否则执行步骤5;Step 6. The FPGA upgrade software communicates with the FPGA through Ethernet to obtain the information of the hardware platform of the FPGA, and judges whether the loaded application image corresponds to the hardware platform of the FPGA according to the information of the hardware platform of the FPGA. If so, execute step 7. Otherwise, go to step 5; 步骤7、FPGA升级软件发布擦除命令并根据擦除命令设置通讯协议数据包,通讯协议数据包通过以太网发送到FPGA,执行步骤8;Step 7, the FPGA upgrade software issues an erase command and sets the communication protocol data packet according to the erase command, the communication protocol data packet is sent to the FPGA through Ethernet, and step 8 is performed; 步骤8、FPGA经以太网收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA内置的升级模块,升级模块解析出通讯协议数据包中的擦除命令,并将擦除命令发送到FPGA内置的时序控制模块,时序控制模块根据擦除命令产生相应的擦除时序对内置Flash进行擦除;Step 8. After the FPGA receives the communication protocol data packet sent by the FPGA upgrade software via the Ethernet, it sends the communication protocol data packet to the upgrade module built in the FPGA. The upgrade module parses out the erase command in the communication protocol data packet, and The delete command is sent to the timing control module built in the FPGA, and the timing control module generates a corresponding erasing sequence according to the erasing command to erase the built-in Flash; 步骤9、时序控制模块主动读取内置Flash的控制状态寄存器,时序控制模块在设定时间内根据控制状态寄存器判断是否擦除成功,若擦除成功,则生成擦除成功信号发送到升级模块,若擦除不成功,则生成擦除失败信号发送到升级模块,升级模块根据擦除成功信号或者擦除失败信号设置通讯协议数据包并将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出擦除成功信号或者擦除失败信号,若为擦除成功信号则执行步骤10,若为擦除失败信号则返回步骤5;Step 9. The timing control module actively reads the control status register of the built-in Flash. The timing control module judges whether the erasing is successful according to the control status register within the set time. If the erasing is successful, an erasing success signal is generated and sent to the upgrade module. If the erasing is unsuccessful, an erasure failure signal is generated and sent to the upgrade module, and the upgrade module sets the communication protocol data packet according to the erasure success signal or the erasure failure signal and sends the communication protocol data packet to the FPGA upgrade software, and the FPGA upgrade software according to The communication protocol data packet parses out the erasing success signal or the erasing failure signal, if it is the erasing success signal, execute step 10, and if it is the erasing failure signal, return to step 5; 步骤10、FPGA升级软件发布解锁命令并根据解锁命令设置通讯协议数据包,FPGA升级软件将通讯协议数据包通过以太网发往FPGA;Step 10, the FPGA upgrade software issues an unlock command and sets the communication protocol data packet according to the unlock command, and the FPGA upgrade software sends the communication protocol data packet to FPGA through Ethernet; 步骤11、FPGA经以太网收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA4内置的升级模块,升级模块解析出通讯协议数据包中的解锁命令,并将解锁命令发送到FPGA内置的时序控制模块,时序控制模块根据解锁命令产生相应的解锁时序对内置Flash进行解锁;Step 11, after the FPGA receives the communication protocol data packet sent by the FPGA upgrade software via the Ethernet, the communication protocol data packet is sent to the upgrade module built in FPGA4, and the upgrade module parses out the unlock command in the communication protocol data packet, and sends the unlock command Send it to the timing control module built in FPGA, and the timing control module will generate corresponding unlock timing according to the unlock command to unlock the built-in Flash; 步骤12、时序控制模块主动读取内置Flash的控制状态寄存器,时序控制模块在设定时间内根据控制状态寄存器判断是否解锁成功,若解锁成功,则生成解锁成功信号发送到升级模块,若解锁不成功,则生成解锁失败信号发送到升级模块,升级模块根据解锁成功信号或者解锁失败信号设置通讯协议数据包并将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出解锁成功信号或者解锁失败信号,若为解锁成功信号则执行步骤13,若为擦除失败信号则返回步骤5;Step 12. The timing control module actively reads the control status register of the built-in Flash. The timing control module judges whether the unlocking is successful according to the control status register within the set time. If the unlocking is successful, it generates an unlocking success signal and sends it to the upgrade module. If successful, an unlock failure signal is generated and sent to the upgrade module. The upgrade module sets the communication protocol data packet according to the unlock success signal or the unlock failure signal and sends the communication protocol data packet to the FPGA upgrade software. The FPGA upgrade software parses the unlock data packet according to the communication protocol data packet. Success signal or unlocking failure signal, if it is unlocking success signal, execute step 13, if it is erasing failure signal, return to step 5; 步骤13、FPGA升级软件每次获取应用镜像的设定字节的应用镜像数据,并发布写数据命令,根据写数据命令和设定字节的应用镜像数据设置通讯协议数据包;Step 13, the FPGA upgrade software obtains the application image data of the set byte of the application image each time, and issues a write data command, and sets the communication protocol packet according to the write data command and the set byte of the application image data; 步骤14、FPGA经以太网收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA内置的升级模块,升级模块解析出通讯协议数据包中的写数据命令和设定字节的应用镜像数据,并将写数据命令发送到FPGA内置的时序控制模块,时序控制模块根据写数据命令产生相应的写数据时序,并通过写数据时序将设定字节的应用镜像数据写入到内置Flash的应用区;Step 14. After the FPGA receives the communication protocol data packet sent by the FPGA upgrade software via the Ethernet, the communication protocol data packet is sent to the upgrade module built in the FPGA, and the upgrade module parses out the write data command and the setting word in the communication protocol data packet. The application mirror data of the node, and send the write data command to the timing control module built in FPGA, the timing control module generates the corresponding write data timing according to the write data command, and writes the application mirror data of the set byte through the write data timing Go to the application area with built-in Flash; 步骤15、时序控制模块主动读取内置Flash的控制状态寄存器,时序控制模块在设定时间内根据控制状态寄存器判断是否写数据成功,若写数据成功,则生成写数据成功信号发送到升级模块,若写数据不成功,则生成写数据失败信号发送到升级模块,Step 15, the timing control module actively reads the control status register of the built-in Flash, and the timing control module judges whether the data writing is successful according to the control status register within the set time. If the data writing is successful, a data writing success signal is generated and sent to the upgrade module. If the write data is unsuccessful, a write data failure signal is generated and sent to the upgrade module, 升级模块根据写数据成功信号或者写数据失败信号设置通讯协议数据包;升级模块将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出写数据成功信号或者写数据失败信号,若为写数据成功信号则执行步骤16,若为写数据失败信号则返回步骤5;The upgrade module sets the communication protocol data packet according to the write data success signal or the write data failure signal; the upgrade module sends the communication protocol data packet to the FPGA upgrade software, and the FPGA upgrade software analyzes the write data success signal or the write data failure signal according to the communication protocol data packet , if it is a write data success signal, execute step 16, and if it is a write data failure signal, return to step 5; 步骤16、重复步骤13-15,直至应用镜像全部写入到内置Flash的应用区中,全部写入完毕后执行步骤17;Step 16. Repeat steps 13-15 until the application image is completely written into the application area of the built-in Flash, and then execute step 17 after all writing is completed; 步骤17、FPGA升级软件发布读数据命令,读取内置Flash的应用区,并根据读数据命令设置通讯协议数据包,并将通讯协议数据包通过以太网发往FPGA4;Step 17, the FPGA upgrade software issues a read data command, reads the application area of the built-in Flash, and sets the communication protocol packet according to the read data command, and sends the communication protocol packet to FPGA4 via Ethernet; 步骤18、FPGA经以太网收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA内置的升级模块,升级模块解析出通讯协议数据包中的读数据命令,并将读数据命令发送到FPGA内置的时序控制模块,时序控制模块根据读数据命令产生相应的读数据时序对内置Flash的应用区进行设定长度的应用镜像的读数据操作,Step 18. After the FPGA receives the communication protocol data packet sent by the FPGA upgrade software via the Ethernet, the communication protocol data packet is sent to the FPGA built-in upgrade module, and the upgrade module parses out the read data command in the communication protocol data packet, and reads The data command is sent to the built-in timing control module of the FPGA, and the timing control module generates the corresponding read data timing according to the read data command to perform the read data operation of the application image with a set length in the application area of the built-in Flash. 步骤19、时序控制模块主动读取内置Flash的控制状态寄存器,时序控制模块在设定时间内根据控制状态寄存器判断是否读数据成功,若读数据成功,则生成读数据成功信号发送到升级模块,若读数据不成功,生成读数据失败信号发送到升级模块,升级模块根据读数据成功信号或者读数据失败信号设置通讯协议数据包,并将通讯协议数据包发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出读数据成功信号或者读数据失败信号,若为读数据成功信号则执行步骤20,若为读数据失败信号则返回步骤5;Step 19, the timing control module actively reads the control status register of the built-in Flash, and the timing control module judges whether the read data is successful according to the control status register within the set time, if the read data is successful, then generates a read data success signal and sends it to the upgrade module, If the data reading is unsuccessful, a signal of failure to read data is generated and sent to the upgrade module, and the upgrade module sets the communication protocol data packet according to the signal of successful data reading or the signal of failure to read data, and sends the communication protocol data packet to the FPGA upgrade software. The communication protocol data packet is analyzed to read the data success signal or the data reading failure signal, if it is the data reading success signal, then perform step 20, and if it is the data reading failure signal, then return to step 5; 步骤20、重复步骤17-19,直到将内置Flash的应用区中存储的应用镜像全部读出到FPGA升级软件;Step 20. Repeat steps 17-19 until all the application images stored in the application area of the built-in Flash are read out to the FPGA upgrade software; 步骤21、FPGA升级软件将读取的应用镜像与步骤3中选定的应用镜像进行数据比对,若一致,执行步骤22,否则执行步骤5;Step 21. The FPGA upgrade software compares the read application image with the application image selected in step 3. If they are consistent, execute step 22; otherwise, execute step 5; 步骤22、FPGA升级软件发布加锁命令并根据加锁命令设置通讯协议数据包,并将通讯协议数据包通过以太网发往FPGA;Step 22, the FPGA upgrade software issues a locking command and sets the communication protocol data packet according to the locking command, and sends the communication protocol data packet to FPGA through Ethernet; 步骤23、FPGA经以太网收到FPGA升级软件发出的通讯协议数据包后,将通讯协议数据包发送到FPGA内置的升级模块,升级模块解析出通讯协议数据包中的加锁命令,并将加锁命令发送到FPGA内置的时序控制模块,时序控制模块根据加锁命令产生相应的加锁时序对内置Flash的应用区进行加锁操作;Step 23. After the FPGA receives the communication protocol data packet sent by the FPGA upgrade software via the Ethernet, the communication protocol data packet is sent to the upgrade module built in the FPGA. The upgrade module parses out the lock command in the communication protocol data packet, and adds The lock command is sent to the built-in timing control module of the FPGA, and the timing control module generates a corresponding lock sequence according to the lock command to lock the application area of the built-in Flash; 步骤24、时序控制模块主动读取内置Flash的控制状态寄存器,时序控制模块在设定时间内根据控制状态寄存器判断是否加锁成功,若加锁成功,则生成加锁成功信号发送到升级模块,若加锁不成功,生成加锁失败信号发送到升级模块,升级模块根据加锁成功信号或者加锁失败信号设置通讯协议数据包并发送到FPGA升级软件,FPGA升级软件根据通讯协议数据包解析出加锁成功信号或者加锁失败信号,若为加锁成功信号则执行步骤25,若为加锁失败信号则返回步骤5;Step 24, the timing control module actively reads the control status register of the built-in Flash, and the timing control module judges whether the locking is successful according to the control status register within the set time. If the locking is successful, a locking success signal is generated and sent to the upgrade module. If the lock is unsuccessful, a lock failure signal is generated and sent to the upgrade module. The upgrade module sets the communication protocol data packet according to the lock success signal or the lock failure signal and sends it to the FPGA upgrade software. The FPGA upgrade software analyzes the communication protocol data packet. Locking success signal or locking failure signal, if it is a locking success signal, execute step 25, and if it is a locking failure signal, return to step 5; 步骤25、将拨动开关置为高电平,FPGA识别拨动开关输入高电平后,加载应用镜像。Step 25. Set the toggle switch to a high level, and after the FPGA recognizes that the toggle switch has input a high level, load the application image. 2.根据权利要求1所述的一种内置Flash的FPAG远程升级方法,其特征在于,所述的通讯协议数据包的第一个字节代表命令类型,命令类型为写命令或读命令或写数据或读数据;2. the FPAG remote upgrade method of a kind of built-in Flash according to claim 1, is characterized in that, the first byte of described communication protocol packet represents command type, and command type is write command or read command or write data or read data; 第二个字节和第三个字节代表为有效数据长度的高八位和低八位;The second byte and the third byte represent the high and low eight bits of the valid data length; 第四个字节代表为操作状态;The fourth byte represents the operation status; 第五个字节至第八个字节代表为地址,如果命令类型为写命令或读命令,则地址为内置Flash的控制状态寄存器地址;如果命令类型为写数据或读数据,则地址为内置Flash的存储地址;The fifth byte to the eighth byte represent the address. If the command type is write command or read command, the address is the control status register address of the built-in Flash; if the command type is write data or read data, the address is the built-in Flash Flash storage address; 自第九个字节起为数据;data starting from the ninth byte; 通讯协议数据包最少为64个字节。The communication protocol data packet is at least 64 bytes.
CN201910790189.1A 2019-08-26 2019-08-26 FPGA remote upgrading method with built-in FLASH Pending CN110618827A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910790189.1A CN110618827A (en) 2019-08-26 2019-08-26 FPGA remote upgrading method with built-in FLASH

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910790189.1A CN110618827A (en) 2019-08-26 2019-08-26 FPGA remote upgrading method with built-in FLASH

Publications (1)

Publication Number Publication Date
CN110618827A true CN110618827A (en) 2019-12-27

Family

ID=68921965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910790189.1A Pending CN110618827A (en) 2019-08-26 2019-08-26 FPGA remote upgrading method with built-in FLASH

Country Status (1)

Country Link
CN (1) CN110618827A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506333A (en) * 2020-04-27 2020-08-07 湖北三江航天红峰控制有限公司 double-DSP program online upgrading method and system
CN111934911A (en) * 2020-07-15 2020-11-13 北京自动化控制设备研究所 FPGA firmware batch upgrading system and method based on network distribution
CN113138783A (en) * 2021-04-22 2021-07-20 深圳市天辰防务通信技术有限公司 FPGA (field programmable Gate array) upgrading method and device based on measurement and control host

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604244A (en) * 2008-06-13 2009-12-16 中兴通讯股份有限公司 A kind of FPGA of realization powers on and promptly uses device and method with remote upgrade
CN106598650A (en) * 2016-11-25 2017-04-26 积成电子股份有限公司 Device and method for online upgrade of FPGA program based on fiber communication
CN106933632A (en) * 2017-03-13 2017-07-07 山东网聪信息科技有限公司 FPGA function online upgrading methods based on Ethernet
US20180095670A1 (en) * 2016-09-30 2018-04-05 Amazon Technologies, Inc. Controlling access to previously-stored logic in a reconfigurable logic device
CN207200759U (en) * 2017-09-08 2018-04-06 科德数控股份有限公司 A kind of coder transitions device of EPA interface
CN109188949A (en) * 2018-06-28 2019-01-11 郑州众智科技股份有限公司 The method that host computer passes through MODBUS protocol remote upgraded electricity generation generator set controller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604244A (en) * 2008-06-13 2009-12-16 中兴通讯股份有限公司 A kind of FPGA of realization powers on and promptly uses device and method with remote upgrade
US20180095670A1 (en) * 2016-09-30 2018-04-05 Amazon Technologies, Inc. Controlling access to previously-stored logic in a reconfigurable logic device
CN106598650A (en) * 2016-11-25 2017-04-26 积成电子股份有限公司 Device and method for online upgrade of FPGA program based on fiber communication
CN106933632A (en) * 2017-03-13 2017-07-07 山东网聪信息科技有限公司 FPGA function online upgrading methods based on Ethernet
CN207200759U (en) * 2017-09-08 2018-04-06 科德数控股份有限公司 A kind of coder transitions device of EPA interface
CN109188949A (en) * 2018-06-28 2019-01-11 郑州众智科技股份有限公司 The method that host computer passes through MODBUS protocol remote upgraded electricity generation generator set controller

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A. FERNANDES ET AL.: "FPGA Remote Update for Nuclear Environments", 《IEEE TRANSACTIONS ON NUCLEAR SCIENCE》 *
HOKI: "[max10评测] (四)配置", 《博客园:HTTPS:WWW.CNBLOGS.COM/HOKI-BKY/P/4320657.HTML》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506333A (en) * 2020-04-27 2020-08-07 湖北三江航天红峰控制有限公司 double-DSP program online upgrading method and system
CN111934911A (en) * 2020-07-15 2020-11-13 北京自动化控制设备研究所 FPGA firmware batch upgrading system and method based on network distribution
CN113138783A (en) * 2021-04-22 2021-07-20 深圳市天辰防务通信技术有限公司 FPGA (field programmable Gate array) upgrading method and device based on measurement and control host

Similar Documents

Publication Publication Date Title
US20220358270A1 (en) Chip verification system and verification method therefor
CN102087606B (en) FPGA configuration file update device
CN110618827A (en) FPGA remote upgrading method with built-in FLASH
CN113835945B (en) Chip testing methods, devices, equipment and systems
WO2018064885A1 (en) Apparatus and method for configuring or updating programmable logic device
CN103198868A (en) Fault simulation system and fault analysis method for single event upset
CN113434162B (en) Method for remotely updating FPGA multi-version program on line
CN104484214A (en) Configuration, refreshing and program upgrading integrated system for SRAM (Static Random Access Memory) type FPGA (Field Programmable Gate Array)
CN104077166B (en) EPCS and EPCQ memory online upgrading methods based on IP kernel in FPGA
CN107562437A (en) A kind of system and method for the FPGA online upgradings based on the soft cores of MicroBlaze
CN108664264A (en) A kind of device and method remotely updating FPGA by JTAG modes based on CPU
CN109783340A (en) Test code programming method, IP test method and the device of SoC
CN105654993B (en) Function verification method and platform for DDR3 sdram controllers
WO2011029385A1 (en) Method, system and processor for loading logic devices online
CN108519889A (en) A remote upgrade system and method for FPGA programs based on JTAG standard
CN114201360B (en) AER function management method, device, server and storage medium
CN203250312U (en) A universal core processing sub-board with scalable interface
CN112433777A (en) Dynamic refreshing method and device for configuration data of SRAM (static random Access memory) type FPGA (field programmable Gate array)
CN111176926A (en) IP (Internet protocol) core simulation system and simulation method based on double-port SRAM (static random Access memory)
CN113297820B (en) FPGA remote loading circuit based on serial mode
CN114385546A (en) Chip comprising eFuse module, electronic device and chip burning control method
CN207264382U (en) Chip and system for field programmable gate array multi-version configuration
KR20020082799A (en) Single-chip microcomputer with dynamic burn-in test function and dynamic burn-in testing method therefor
CN112559264A (en) Simulation test method for realizing FPGA (field programmable Gate array) universal serial port by verification platform based on UVM (Universal verification Module)
CN114662428A (en) Verification method, device, platform, device and storage medium of memory circuit

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191227

RJ01 Rejection of invention patent application after publication