An update and upgrade system

By designing an update and upgrade system for online loading components based on the FPGA platform, the problem that the existing technology cannot meet the unified loading and upgrading of multiple heterogeneous platforms is solved, and flexible and efficient management of complex systems is achieved.

CN119829499BActive Publication Date: 2025-06-27HUNAN QIONGYUE TECHNOLOGY CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510334056.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-20
Publication Date
2025-06-27
Estimated Expiration
2045-03-20

AI Technical Summary

Technical Problem

Existing remote upgrade systems cannot meet the unified loading upgrade and overall system management needs of multiple heterogeneous platforms in comprehensive complex systems, especially when the equipment is in remote or harsh environments.

Method used

An update and upgrade system is designed, which includes a master control unit and online loading components. The online loading component is implemented based on the FPGA platform, equipped with multiple I/O ports that can customize different physical characteristics, communicate with the main control unit through fiber connection, supports RS422 and SPI protocols, and can find and upgrade equipment for multiple heterogeneous platforms.

Benefits of technology

It realizes unified loading and upgrading of multiple heterogeneous platform equipment and overall system management, improves system flexibility and maintenance efficiency, and adapts to equipment connections with different physical characteristics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119829499B_ABST
    Figure CN119829499B_ABST
Patent Text Reader

Abstract

This application discloses an update and upgrade system, which includes a main control unit and an online loading component. The online loading component is implemented based on the FPGA platform and has I / O ports with customizable physical characteristics. The main control unit communicates with the online loading component through optical fiber connections, and the device to be updated is connected to the I / O ports through the RS422 physical channel. The main control unit uses the SRIO protocol to send device search and status query instructions to the online loading component. The online loading component checks the device status, requests the loading file and sends it to the main control unit. The main control unit sends the loading file to the online loading component based on the SRIO protocol, and the latter uses the RS422 and / or SPI protocol to transfer the loading file to the device to be updated, completing the remote update and upgrade operation. The online loading component of this application is equipped with multiple customizable I / O ports, supports various physical characteristic connections, and facilitates communication and update / upgrade with different devices.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of equipment update and upgrade, and particularly to an update and upgrade system. Background Art

[0002] In a system with a complex environment, such as an embedded device based on a Field-Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), or an Advanced RISC Machine (ARM) chip, often runs in a remote or harsh environment, or runs as part of a complex system. When these devices need to be upgraded, traditional firmware or program download and upgrade processes, such as using an emulator or a Joint Test Action Group (JTAG) downloader, become difficult to implement. Existing remote loading and upgrade systems usually transmit update and upgrade files to a specified storage device of the device to be updated through a network communication system, and then upgrade the firmware of the device through an independently designed update system within the device. However, current remote upgrade systems usually only target a single device or a single type of main chip, and use a single communication protocol to achieve independent upgrade and loading of a certain device, which cannot meet the requirements of unified loading and upgrade and overall system management for multiple heterogeneous platforms included in a comprehensive complex system.

[0003] Therefore, how to provide a more flexible remote upgrade system that is applicable to multiple heterogeneous platforms and can achieve unified loading and upgrade and overall system management is a technical problem that needs to be urgently solved by those skilled in the art. Summary of the Invention

[0004] Based on the above problems, this application provides an update and upgrade system, which can provide a more flexible remote upgrade system that is applicable to multiple heterogeneous platforms and can achieve unified loading and upgrade and overall system management.

[0005] To solve the above problems, the technical solutions provided by the embodiments of this application are as follows:

[0006] An update and upgrade system, the system includes: a main control unit and an online loading component; the online loading component includes a plurality of input / output (I / O) ports that can customize different physical characteristics; the online loading component is implemented based on the FPGA platform;

[0007] The main control unit is connected to the online loading component through an optical fiber; one or more devices to be updated are connected to one or more I / O ports of the online loading component through an RS422 physical channel;

[0008] The main control unit is configured to send device search instructions and device status query instructions to the online loading component based on the SRIO protocol;

[0009] The online loading component is configured to search for the device to be updated and check the device status of the device to be updated; if the device status of the device to be updated is the ready state, the online loading component requests a loading file from the main control unit;

[0010] The main control unit is further configured to send the loading file to the online loading component based on the SRIO protocol;

[0011] The online loading component is further configured to send the loading file to the device to be updated based on the RS422 protocol and / or the SPI protocol, and perform remote update and upgrade on the device to be updated based on the loading file.

[0012] In a possible implementation, the device to be updated includes a communication sub-module and an online upgrade sub-module; the communication sub-module of the device to be updated is connected to the online upgrade sub-module of the device to be updated;

[0013] The communication sub-module of the device to be updated is configured to receive the loading file;

[0014] The online upgrade sub-module of the device to be updated is configured to perform remote update and upgrade based on the loading file under the control of the online loading component.

[0015] In a possible implementation, the online loading component includes the file read-write control module, which includes a data verification module, a file reading module, and a file sending module;

[0016] The data verification module is connected to the file reading module; the file reading module is connected to the file sending module;

[0017] The data verification module is configured to verify the loading file cached in the file reading module;

[0018] If the verification of the loading file passes, the file reading module is configured to receive and cache the loading file;

[0019] The file sending module is configured to send the loading file cached in the file reading module to the corresponding device to be updated.

[0020] In a possible implementation, each data packet in the loading file is provided with a checksum and a check sequence number;

[0021] The data verification module is specifically configured to:

[0022] Check whether the checksum of each data packet in the loading file is consistent with the agreed checksum. If it is consistent, the checksum check of the loading file passes;

[0023] Check whether the check sequence numbers of the data packets in the loading file are consecutive. If they are consecutive, the continuity check of the loading file passes;

[0024] Among them, if the checksum check and / or the continuity check fails, it is determined that the check of the loading file cached in the file reading module fails.

[0025] In a possible implementation, the file reading module is connected to the file sending module through a data caching module;

[0026] The data caching module is used to reduce the data transmission speed difference between the file reading module and the file sending module.

[0027] In a possible implementation, the online loading component includes a device inspection module;

[0028] The device inspection module is used to check whether the working state of the online loading component is normal. If it is, it checks whether the device state of the device to be updated is in the ready state.

[0029] In a possible implementation, the online loading component is specifically used to: remotely update and upgrade the device to be updated based on the loading file by using the multi-image loading MultiBoot mode.

[0030] In a possible implementation, the I / O port includes a three-wire port and / or a two-wire port;

[0031] If the I / O port is a three-wire port, the loading file is sent to the device to be updated based on the RS422 protocol;

[0032] If the I / O port is a two-wire port, the loading file is sent to the device to be updated based on the SPI protocol.

[0033] Compared with the prior art, the present application has the following beneficial effects:

[0034] The present application provides an update and upgrade system, which includes a main control unit and an online loading component. The online loading component is implemented based on the FPGA platform and is equipped with multiple input / output (I / O) ports that can customize different physical characteristics. The main control unit is connected to the online loading component through an optical fiber to ensure high-speed and stable communication. One or more devices to be updated are connected to one or more I / O ports of the online loading component through a Recommended Standard 422 (RS422) physical channel. The main control unit is responsible for sending device search instructions and device status query instructions to the online loading component through the Serial RapidIO (SRIO) protocol. The online loading component searches for the devices to be updated according to these instructions and checks their device status. If the devices to be updated are in a ready state, the online loading component requests the loading file from the main control unit. The main control unit sends the loading file to the online loading component according to the SRIO protocol. Subsequently, the online loading component transfers the loading file to the devices to be updated through the RS422 protocol and / or the Serial Peripheral Interface (SPI) protocol, and remotely updates and upgrades the devices based on the loading file. The online loading component of the present application is implemented based on the FPGA platform and includes multiple I / O ports that can customize different physical characteristics. This enables the system to flexibly connect various types of devices and adapt to different physical characteristic requirements. Description of the Drawings

[0035] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0036] Figure 1 It is a structural diagram of an update and upgrade system provided by an embodiment of the present application. Detailed Embodiments

[0037] In order to enable those skilled in the art to better understand the solution of the present application, the following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, rather than all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present application.

[0038] In a complex system environment, embedded devices based on FPGA, DSP, or ARM chips are often located in remote locations or harsh environments, or operate as part of a large system. Traditional firmware or program download and upgrade processes, such as using an emulator or JTAG downloader, become difficult to implement in such cases. Existing remote loading and upgrade systems transfer update and upgrade files to a specified storage device of the device to be updated through a network communication system, and perform firmware upgrades through an independently designed update system within the device. However, current remote upgrade systems only target a single device or main chip type and use a single communication protocol to achieve independent upgrade loading of the device, unable to meet the unified loading and upgrade and overall system management requirements of multiple heterogeneous platforms in a comprehensive complex system.

[0039] To solve this problem, an update and upgrade system is provided in an embodiment of the present application. The update and upgrade system includes a main control unit and an online loading component. The online loading component is implemented based on the FPGA platform and has multiple I / O ports that can be customized with different physical characteristics. Through fiber optic connection, the main control unit communicates with the online loading component, and one or more devices to be updated are connected to one or more I / O ports of the online loading component through an RS422 physical channel. The main control unit uses the SRIO protocol to send device search instructions and device status query instructions to the online loading component. The online loading component is responsible for searching and checking the status of the device to be updated. Once the device is ready, it sends a request to load the file to the main control unit. The main control unit then transfers the loading file to the online loading component based on the SRIO protocol. Subsequently, the online loading component uses the RS422 protocol and / or SPI protocol to transfer the loading file to the device to be updated and remotely update and upgrade the device to be updated through the loading file. The online loading component of the present application is implemented based on the FPGA platform and includes multiple I / O ports that can be customized with different physical characteristics. This enables the system to flexibly connect various types of devices and adapt to different physical characteristic requirements.

[0040] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application without creative efforts shall fall within the protection scope of the present application.

[0041] See Figure 1 , Figure 1 is a structural diagram of an update and upgrade system provided in an embodiment of the present application. As Figure 1 shown, the update and upgrade system includes: a main control unit and an online loading component. The online loading component includes multiple I / O ports that can be customized with different physical characteristics. The online loading component is implemented based on the FPGA platform.

[0042] The master control unit is connected to the online loading component through an optical fiber; one or more devices to be updated are connected to one or more I / O ports of the online loading component through an RS422 physical channel.

[0043] The master control unit is configured to send a device search instruction and a device status query instruction to the online loading component based on the Serial Rapid I / O (SRIO) protocol.

[0044] The online loading component is configured to search for the devices to be updated and check the device status of the devices to be updated; if the device status of the devices to be updated is the ready state, the online loading component requests a loading file from the master control unit.

[0045] The master control unit is further configured to send the loading file to the online loading component based on the SRIO protocol.

[0046] The online loading component is further configured to send the loading file to the devices to be updated based on the RS422 protocol and / or the Serial Peripheral Interface (SPI) protocol, and perform remote update and upgrade on the devices to be updated based on the loading file.

[0047] In a possible implementation, the device to be updated includes a communication sub-module and an online upgrade sub-module; the communication sub-module of the device to be updated is connected to the online upgrade sub-module of the device to be updated;

[0048] The communication sub-module of the device to be updated is configured to receive the loading file;

[0049] The online upgrade sub-module of the device to be updated is configured to perform remote update and upgrade based on the loading file under the control of the online loading component.

[0050] This design enables the device to be updated to efficiently receive and process the update file, thereby achieving remote and automated firmware or software upgrade, and improving the flexibility and maintenance efficiency of the system.

[0051] In a possible implementation, the online loading component includes that the file read / write control module includes a data verification module, a file reading module, and a file sending module.

[0052] The data verification module is connected to the file reading module. The file reading module is connected to the file sending module.

[0053] The data verification module is configured to verify the loading file cached in the file reading module.

[0054] To ensure the correctness of the downloaded loading file and avoid loading failures, it is necessary to verify the loading data before caching the loading file data into the file reading module.

[0055] In a possible implementation, each data packet in the loading file is set with a checksum and a check sequence number;

[0056] The data verification module is specifically used for:

[0057] Verify whether the checksum of each data packet in the loading file is consistent with the agreed checksum. If it is consistent, the checksum verification of the loading file passes.

[0058] Verify whether the check sequence numbers of the data packets in the loading file are continuous. If they are continuous, the continuity verification of the loading file passes;

[0059] Among them, if the checksum verification and / or the continuity verification fails, it is determined that the verification of the loading file cached in the file reading module fails.

[0060] This dual verification mechanism ensures the integrity and correctness of the loading file, thereby improving the reliability and security of the update process.

[0061] In a possible implementation, if the verification of the loading file fails, the data verification module needs to feedback a signal to the main control unit so that the main control unit can re-upload the loading file.

[0062] In a possible implementation, if the verification of the loading file passes, the file reading module is used to receive and cache the loading file.

[0063] Since the amount of data in the valid loading file is large and the transmission bandwidth is high, if only the FPGA hardware resources on the main control board are used, there will be a problem that the application cache is insufficient, resulting in data loss and ultimately loading failure. Therefore, at this time, it is necessary to use the file reading module on the FPGA board (such as Double Data Rate 3 (DDR3) dynamic random access memory) to externally connect memory resources to complete data caching.

[0064] In a possible implementation, the file sending module is used to send the loading file cached in the file reading module to the corresponding device to be updated.

[0065] It should be noted that the file sending module will limit the transmission length of the loading file (such as 1Mbytes). Therefore, when the file sending module sends the data of the loading file, it is necessary to divide the loading file into multiple data packets.

[0066] In a possible implementation, the file reading module is connected to the file sending module through a data caching module.

[0067] The data caching module is used to reduce the data transfer speed difference between the file reading module and the file sending module.

[0068] The data caching module acts as a buffer between the file reading module and the file sending module and performs an operation of "speed matching". In this case, the data caching module performs speed matching to reduce the data transfer speed difference between the file reading module and the file sending module to ensure smooth data transfer between the two modules.

[0069] Specifically, the data caching module caches the received loaded file according to the working rate or processing capacity of each module and gradually releases it to the file sending module, so that the data transfer speeds between the file reading module and the file sending module are matched. In this way, data exchange at different speeds can be effectively coordinated, avoiding data loss or transmission errors caused by rate mismatches, thereby improving the efficiency and stability of the system.

[0070] In a possible implementation, the online loading component includes a device inspection module;

[0071] The device inspection module is used to check whether the working state of the online loading component is normal. If so, it checks whether the device state of the device to be updated is in the ready state.

[0072] After receiving the self-inspection command sent by the host computer, the main control module of the online loading component starts the board self-inspection program and notifies the device inspection module to complete the self-inspection and the inspection of the device state of the device to be updated. Self-inspection refers to the inspection of its own working state, checking whether the working state of the online loading component is normal, mainly including the read-write tests of the file reading module and the file sending module and the detection of other peripheral chips. The inspection of the device state of the device to be updated is to check whether the device state of the device to be updated is in the ready state. After the device inspection module completes the self-inspection and the inspection of the device state of the device to be updated, it sets the internal device status register (DSTATUS) of the FPGA and notifies the main control module to upload the status information of the device self-inspection and the inspection of the device state of the device to be updated.

[0073] In a possible implementation, the online loading component is specifically used to: remotely update and upgrade the device to be updated based on the loaded file by using the multi-image loading MultiBoot mode.

[0074] The configuration process of the MultiBoot mode includes: reading the Golden_image configuration file from the 0 address of the FPGA (i.e., the platform implementation FPGA for online loading components). When there is a jump instruction in the Golden_image during the loading process, it jumps to the address where the MultiBoot_image is stored. At this time, the FPGA attempts to load the MultiBoot_image bitstream file. If the configuration is successful, the functions of this configuration are executed. If the MultiBoot_image is configured incorrectly, a FallBack operation is triggered, and the FPGA reloads the Golden_image to ensure that the FPGA can run basic functions and avoid the situation where the FPGA becomes unusable due to errors in the MultiBoot_image.

[0075] This method can effectively implement the device upgrade operation and improve the flexibility and efficiency of the system.

[0076] In a possible implementation, the I / O port includes a three-wire port and / or a two-wire port;

[0077] If the I / O port is a three-wire port, the loading file is sent to the device to be updated based on the RS422 protocol;

[0078] If the I / O port is a two-wire port, the loading file is sent to the device to be updated based on the SPI protocol.

[0079] This design enables the system to flexibly select different communication protocols to adapt to different types of ports, thereby improving the compatibility and applicability of the system.

[0080] An update and upgrade system provided by the present application, the system includes a main control unit and an online loading component. The online loading component includes a plurality of I / O ports with customizable different physical characteristics and is implemented based on the FPGA platform. The main control unit is connected to the online loading component through an optical fiber, and one or more devices to be updated are connected to one or more I / O ports of the online loading component through an RS422 physical channel. The main control unit is used to send device search instructions and device status query instructions to the online loading component based on the SRIO protocol. The online loading component is responsible for searching for the devices to be updated and checking their device status; if the device status of the device to be updated is the ready state, the component requests the main control unit to load the file. The main control unit sends the loading file to the online loading component based on the SRIO protocol. The online loading component sends the loading file to the device to be updated based on the RS422 protocol and / or the SPI protocol, and remotely updates and upgrades the device based on the loading file. The online loading component of the present application is implemented based on the FPGA platform and includes a plurality of I / O ports with customizable different physical characteristics. This enables the system to flexibly connect various types of devices and adapt to different physical characteristic requirements.

[0081] It should be noted that the embodiments in this specification are all described in a progressive manner. The same or similar parts between the embodiments can be referred to each other, and the key points of each embodiment are the differences from other embodiments. One can select some or all of them according to actual needs to achieve the purpose of the solution of this embodiment. A person of ordinary skill in the art can understand and implement it without creative work.

[0082] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to these embodiments shown herein, but will be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. An update and upgrade system, characterized in that: The system comprises: a main control unit and an online loading component; the online loading component comprises a plurality of input / output I / O ports with customizable different physical characteristics; the online loading component is implemented based on a field programmable gate array FPGA platform; The main control unit is connected to the online loading component via an optical fiber; one or more devices to be updated are connected to one or more I / O ports of the online loading component via an RS422 physical channel; The main control unit is used to send the device search instruction and the device status query instruction to the online loading component based on the serial rapid interconnect SRIO protocol; The online loading component is used to search for the device to be updated and check the device status of the device to be updated; if the device status of the device to be updated is a ready state, the online loading component requests the main control unit to load a file; The main control unit is further used to send the loading file to the online loading component based on the SRIO protocol; The online loading component is further used to send the loading file to the device to be updated based on the RS422 protocol and / or the serial peripheral interface SPI protocol, and remotely update and upgrade the device to be updated based on the loading file; The I / O port includes a three-wire port and / or a two-wire port; If the I / O port is a three-wire port, sending the loading file to the device to be updated based on the RS422 protocol; If the I / O port is a two-wire port, the loading file is sent to the device to be updated based on the SPI protocol.

2. The system according to claim 1, characterized in that The device to be updated includes a communication submodule and an online upgrade submodule; the communication submodule of the device to be updated is connected to the online upgrade submodule of the device to be updated; The communication submodule of the device to be updated is used to receive the loading file; The online upgrade submodule of the device to be updated is used to perform remote update and upgrade based on the loading file under the control of the online loading component.

3. The system according to claim 1, characterized in that The online loading component includes a data verification module, a file reading module and a file sending module; The data verification module is connected to the file reading module; the file reading module is connected to the file sending module; The data verification module is used to verify the loaded file cached in the file reading module; If the verification of the loaded file passes, the file reading module is used to receive and cache the loaded file; The file sending module is used to send the loading file cached in the file reading module to the corresponding device to be updated.

4. The system according to claim 3, characterized in that Each data packet in the loading file is provided with a checksum and a check sequence number; The data verification module is specifically used for: Check whether the checksum of each data packet in the loaded file is consistent with the agreed checksum, if they are consistent, the checksum verification of the loaded file passes; Check whether the check sequence numbers of the data packets in the loaded file are continuous, if so, the continuity check of the loaded file passes; If any one or more of the checksum check and the continuity check fails, it is determined that the check of the loaded file cached in the file reading module fails.

5. The system according to claim 3, characterized in that The file reading module is connected to the file sending module via a data buffer module; The data cache module is used to reduce the difference in data transmission speed between the file reading module and the file sending module.

6. The system according to claim 1, characterized in that The online loading component includes a device inspection module; The device checking module is used to check whether the working status of the online loading component is normal, and if so, to check whether the device status of the device to be updated is in the ready state.

7. The system according to claim 1, characterized in that The online loading component is specifically used to: utilize the multi-image loading MultiBoot mode to remotely update and upgrade the device to be updated based on the loading file.

Citation Information

Patent Citations

  • Method for online upgrading FLASH (Flash Memory) based on in-band Ethernet

    CN106130771A

  • Device and method for online upgrade of FPGA program based on fiber communication

    CN106598650A

  • Data sending method and device, data receiving method and device and electronic equipment

    CN109756491A

  • Multi-type communication interface to network communication equipment and application method thereof

    CN113242206A

  • Multi-interface compatible expansion system based on SRIO bus and communication method

    CN114116594A