CN109614122B - Satellite-borne multiprocessor software on-orbit programming system and design method thereof - Google Patents

Satellite-borne multiprocessor software on-orbit programming system and design method thereof Download PDF

Info

Publication number
CN109614122B
CN109614122B CN201811494157.9A CN201811494157A CN109614122B CN 109614122 B CN109614122 B CN 109614122B CN 201811494157 A CN201811494157 A CN 201811494157A CN 109614122 B CN109614122 B CN 109614122B
Authority
CN
China
Prior art keywords
chip
software
processor
satellite
programming
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.)
Active
Application number
CN201811494157.9A
Other languages
Chinese (zh)
Other versions
CN109614122A (en
Inventor
王凤姣
刘庆波
李雁斌
唐琳
王卓群
邱晓燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Radio Equipment Research Institute
Original Assignee
Shanghai Radio Equipment Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Radio Equipment Research Institute filed Critical Shanghai Radio Equipment Research Institute
Priority to CN201811494157.9A priority Critical patent/CN109614122B/en
Publication of CN109614122A publication Critical patent/CN109614122A/en
Application granted granted Critical
Publication of CN109614122B publication Critical patent/CN109614122B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses an on-orbit programming system of satellite-borne multiprocessor software and a design method thereof, wherein the system comprises the following components: the chip comprises a single anti-fuse type FPGA chip, a plurality of PROM chips, a single NOR FLASH chip and a plurality of processor chips; the invention discloses an on-orbit programming design method of satellite-borne multiprocessor software, which stores on-orbit programming software of a plurality of processor chips in different partitions of a single NOR FLASH chip. According to the invention, the on-orbit programming software of a plurality of large-scale processors injected on the ground is solidified into the same high-capacity NOR FLASH chip through the management FPGA software stored in the anti-fuse type FPGA chip, so that the hardware cost and complexity are reduced, and the on-orbit programming code is not lost after power failure; the original safety software of each processor is stored in the respective PROM, the FPGA software is managed to control the original safety program loaded from the PROM or the on-track programming program of the corresponding processor loaded from a certain partition of the NOR FLASH chip, and the operation is flexible.

Description

Satellite-borne multiprocessor software on-orbit programming system and design method thereof
Technical Field
The invention relates to the technical field of satellite-borne software, in particular to an on-orbit programming system of satellite-borne multiprocessor software and a design method thereof.
Background
The satellite-borne software is embedded software running on a satellite-borne processor and is a control core of a satellite. After the satellite is launched, on-orbit modification or upgrade maintenance of software codes needs to be realized due to the defects of software, software function upgrade and the like, and an on-orbit programming technology is a feasible technical means, so that the availability and reliability of the satellite are greatly improved. The increasing complexity of the satellite functions brings about the increasing number of satellite-borne processors and the increasing scale of satellite-borne software codes, the existing on-orbit programming method has certain limitation, and how to design a simple and practical on-orbit programming method of the satellite-borne multiprocessor software is very important.
Non-patent document "design and implementation technology of on-orbit programming function of satellite-borne software" implements on-orbit programming by injecting a subprogram and modifying an entry address of the subprogram in an address table, does not need an external memory, is not suitable for large-scale on-orbit programming of software, and an on-orbit programming code cannot be solidified, and once power is off or reset, on-orbit programming needs to be carried out again, so that normal operation of a satellite task is influenced. Non-patent document 'research on spaceborne software reconstruction technology based on ARM + Uc/OS-II' proposes an ARM instruction dynamic reconstruction method, and the method is only suitable for on-orbit programming of software adopting an ARM processor + Uc/OS-II operating system structure and has limitation.
Patent document CN105373411A, "an on-orbit programming system and design method for satellite-borne digital signal processor", only implements on-orbit programming for satellite-borne DSP (digital signal processor) software, is not suitable for on-orbit programming for satellite-borne FPGA (programmable gate array) software, and the on-orbit programming code cannot be solidified. Patent document CN107391189A discloses an on-orbit programming method for satellite-borne software, which proposes a method for implementing on-orbit programming by using EEPROM (electrically erasable programmable read only memory), but the EEPROM has relatively small capacity, and requires multiple EEPROM chips to implement on-orbit programming of large-scale software or multiple processor software, thereby increasing hardware cost and complexity. Patent document CN107168721A, entitled "device, method, and method for loading and loading concentrated storage of satellite-borne multiprocessor software", uses a bus and a plurality of control chips to implement loading and updating of satellite-borne multiprocessor software, and has a complex control logic, which is completely different from the contents described in the present invention.
Disclosure of Invention
The invention aims to provide an on-orbit programming system of satellite-borne multiprocessor software and a design method thereof, wherein the original safety software of each satellite-borne multiprocessor software is stored in a respective PROM (programmable read only memory), a plurality of large-scale processor software injected on the ground are solidified into the same high-capacity NOR FLASH (nonvolatile FLASH memory) chip under the control of the management FPGA software stored in an antifuse type FPGA chip, and the original safety software of the processor loaded from the PROM or the on-orbit programming software of a corresponding processor loaded from a certain partition of the NOR FLASH chip can be controlled.
In order to achieve the purpose, the invention is realized by the following technical scheme:
an on-board multiprocessor software in-orbit programming system, comprising:
a monolithic antifuse-type FPGA chip;
the data lines and the control lines of the plurality of PROM chips are connected with the anti-fuse type FPGA chip;
the address line, the data line and the control line of the single-chip NOR FLASH chip are connected with the anti-fuse type FPGA chip;
and the loading configuration pins of the multi-chip processor chip are connected with the anti-fuse type FPGA chip.
Preferably, the single-chip antifuse-type FPGA chip is used for storing and managing FPGA software, automatically operates after being electrified, and realizes a remote control injection function and loading control on multiprocessor software;
the plurality of PROM chips are used for storing respective original safety software of the plurality of processor chips;
the single-chip NOR FLASH chip is used for storing the respective on-track programming software of the multi-chip processor chip in a partitioning manner;
the multi-chip processor chip controls the original security software loaded from the multi-chip PROM chip or the on-orbit programming software of the corresponding processor loaded from a certain partition of the single NOR FLASH chip through the management FPGA software stored in the single anti-fuse type FPGA chip, and each processor chip realizes respective function.
A design method based on the on-orbit programming system of the satellite-borne multiprocessor software comprises the following steps:
s1, after the system is powered on, managing the FPGA software to load the original safety software of each satellite-borne processor chip from the PROM chip by default, and enabling the system to work normally;
s2, if one or more satellite processor software needs to be programmed on the orbit, the on-orbit programming program design is carried out on the ground computer;
s3, generating program binary codes of certain or several satellite-borne processor software which need to be subjected to on-orbit programming by using a program compiler, and performing EDAC (electronic design automation) coding protection on data to generate respective on-orbit programming upper injection codes;
s4, writing in-orbit programming upper note codes of different satellite-borne processor chips into corresponding partitions of the same NOR FLASH chip through an antifuse type FPGA chip by adopting a remote note number mode;
and S5, after successful injection, selecting the antifuse-type FPGA chip through a remote control instruction, loading the injected on-orbit programming software code from the corresponding partition of the NOR FLASH chip into the corresponding on-board processor chip, and realizing on-orbit programming.
Preferably, during the on-track programming, encoding and software uploading process of steps S2-S4, each on-board processor chip is still running the original security software.
Preferably, if the software program of one or more onboard processor chips needs to be modified again, the process jumps back to step S2, and the steps S2 to S5 are executed again.
Preferably, if one or more satellite-borne processor chips need to return original security software, only the anti-fuse type FPGA chip needs to be selected through a remote control instruction to load the original security software of each satellite-borne processor chip from the PROM chip.
Compared with the prior art, the invention has the following advantages:
according to the invention, a plurality of large-scale processor software injected on the ground are solidified into the same high-capacity NOR FLASH chip through the management FPGA software stored in the anti-fuse type FPGA chip, so that the hardware cost and complexity are reduced, and the on-track programming code is not lost after power failure; the original safety software of each processor is stored in the respective PROM, the FPGA software is managed to control the original safety program loaded from the PROM or the on-track programming program of the corresponding processor loaded from a certain partition of the NOR FLASH chip, and the operation is flexible.
Drawings
FIG. 1 is a block diagram of an on-board multiprocessor software in-orbit programming system according to the present invention;
FIG. 2 is a flowchart of a design method for on-orbit programming of on-board multiprocessor software according to the present invention.
Detailed Description
The present invention will now be further described by way of the following detailed description of a preferred embodiment thereof, taken in conjunction with the accompanying drawings.
As shown in fig. 1, an on-board multiprocessor software on-track programming system includes: the single anti-fuse type FPGA chip is a control core of the whole system; the data lines and the control lines of the plurality of PROM chips are connected with the anti-fuse type FPGA chip; the address line, the data line and the control line of the single-chip NOR FLASH chip are connected with the anti-fuse type FPGA chip; and the loading configuration pins of the multi-chip processor chip are connected with the anti-fuse type FPGA chip.
The single anti-fuse type FPGA chip is used for storing and managing FPGA software, automatically operates after being powered on, and realizes a remote control injection function and loading control on multiprocessor software;
the plurality of PROM chips have the characteristics of high reliability and non-reprogrammability and are used for storing respective original safety software of the multiprocessor chips;
the single-chip NOR FLASH chip has large storage capacity and supports reprogrammable support, is used for storing the respective on-track programming software of the multi-chip processor chip in a partitioning manner, reduces the hardware cost and complexity, and does not lose on-track programming codes after power failure;
the multi-chip processor chip controls the original security software loaded from the multi-chip PROM chip or the on-orbit programming software of the corresponding processor loaded from a certain partition of the single NOR FLASH chip through the management FPGA software stored in the single anti-fuse type FPGA chip, and each processor chip realizes respective function.
Specifically, the monolithic antifuse-type FPGA chip in this example selects AX2000-1CG624M of ACTEL corporation for storing and managing FPGA software, operates automatically after being powered on, realizes a remote control injection function and loading control on multiprocessor software, and is a control core of the whole system;
the processor chip in the example selects SRAM type FPGA of XILINX company, the specific model specification is XQR4VSX55, each FPGA chip realizes respective function, and the data volume of each configuration software is 21.69 Mbit;
the PROM chip in the example selects XQR17V16CC44V of XILINX company, the storage capacity is 16Mbit, and aiming at the configuration software data volume of the XQR4VSX55 processor selected in the example, each processor needs to be provided with 2 PROM chips for storing respective original safety software;
the single-chip NOR FLASH chip in the embodiment selects 3DFO256M16VS4269 of 3D PLUS company, the storage capacity of the NOR FLASH is 256Mbit, the data volume of the XQR4VSX55 processor selected in the embodiment is considered to be encoding efficiency and storage efficiency, the size of a storage unit actually occupied by the software of the single-chip processor is 34.7Mbit, the single-chip NOR FLASH chip in the embodiment can store the configuration software of 7 processors, the hardware cost and complexity are reduced, and the on-track programming code is not lost after power failure.
In this example, preferably, as shown in FIG. 1, the 7 load configuration pins CCLK, DONE, PROG _ B, RDWR _ B, BUSY, CS _ B, INIT _ B of each XQR4VSX55 processor chip are all connected to an antifuse-type FPGA chip AX2000-1CG 624M.
In this example, as shown in fig. 1, the data lines D0-D7 and the control lines OE, CE, CLK, BUSY of each PROM chip are preferably connected to the antifuse-type FPGA chip AX2000-1CG 624M.
In this example, as shown in FIG. 1, the address lines A0-A21, the data lines D0-D15 and the control lines RESET, OE, WE, CE 0-CE 3, WP/ACC 0-WP/ACC 3, BYTE, RY/BY of the monolithic NOR FLASH chip are all connected with the antifuse type FPGA chip AX2000-1CG 624M.
The on-board multiprocessor software on-orbit programming system according to the embodiment of the invention is described above with reference to fig. 1. Further, the invention also discloses a design method based on the system, which comprises the following steps:
after the system is powered on, managing the original safety software of each satellite-borne processor chip loaded from a PROM chip by default by FPGA software, and enabling the system to work normally;
step two, if one or more satellite-borne processor software needs to be subjected to on-orbit programming, performing on-orbit programming on a ground computer;
generating a program binary code of certain or several satellite-borne processor software which needs on-track programming by using a program compiler, and performing EDAC (electronic design automation) coding protection on data, wherein the coding mode is (8, 4) Hamming codes, the coding efficiency is 2/3, namely 66.67%, namely 4-bit supervisory bit data needs to be added to single byte data, and respective on-track programming upper injection codes are generated;
writing in on-track programming upper-note codes of different satellite-borne processor chips into corresponding partitions of the same NOR FLASH chip through an antifuse type FPGA chip in a remote control note number mode, writing in a page mode during upper note, wherein 128 bytes are written in each page, the length of a single software upper-note data packet is limited to 240 bytes, writing is performed in two pages, each page has 8-byte redundancy, namely the storage efficiency is 120/128, namely 93.75%;
and step five, after successful uploading, selecting the anti-fuse type FPGA chip through a remote control instruction to load the uploaded and uploaded on-orbit programming software code from the corresponding partition of the NOR FLASH chip into the corresponding on-board processor chip, thereby realizing on-orbit programming.
In the on-orbit programming program design, coding and software uploading process from the second step to the fourth step, each satellite-borne processor chip still runs original safety software, and the normal work of the system is not influenced.
And if the software program of one or more satellite-borne processor chips needs to be modified again, jumping back to the step two, and re-executing the step two to the step five.
If one or more satellite-borne processor chips need to return to original safety software, the anti-fuse type FPGA chip is selected through a remote control instruction to load the original safety software of each satellite-borne processor from the PROM chip.
While the present invention has been described in detail with reference to the preferred embodiments, it should be understood that the above description should not be taken as limiting the invention. Various modifications and alterations to this invention will become apparent to those skilled in the art upon reading the foregoing description. Accordingly, the scope of the invention should be determined from the following claims.

Claims (5)

1. A design method based on an on-board multiprocessor software on-board programming system comprises the following steps: a monolithic antifuse-type FPGA chip; the data lines and the control lines of the plurality of PROM chips are connected with the anti-fuse type FPGA chip; the address line, the data line and the control line of the single-chip NOR FLASH chip are connected with the anti-fuse type FPGA chip; the multi-chip processor chip is characterized by comprising the following steps of:
s1, after the system is powered on, managing the FPGA software to load the original safety software of each satellite-borne processor chip from the PROM chip by default, and enabling the system to work normally;
s2, if one or more satellite processor software needs to be programmed on the orbit, the on-orbit programming program design is carried out on the ground computer;
s3, generating program binary codes of one or more satellite-borne processor software which need to be subjected to on-orbit programming by using a program compiler, and performing EDAC (electronic design automation) coding protection on data to generate respective on-orbit programming upper injection codes;
s4, writing in-orbit programming upper note codes of different satellite-borne processor chips into corresponding partitions of the same NOR FLASH chip through an antifuse type FPGA chip by adopting a remote note number mode;
and S5, after successful injection, selecting the antifuse-type FPGA chip through a remote control instruction, loading the injected on-orbit programming software code from the corresponding partition of the NOR FLASH chip into the corresponding on-board processor chip, and realizing on-orbit programming.
2. The design method of claim 1, wherein during the on-track programming, encoding and software uploading process of steps S2-S4, each on-board processor chip is still running original security software.
3. The design method of claim 1, further comprising: if the software program of one or more onboard processor chips needs to be modified again, the process jumps back to step S2, and the steps S2 to S5 are executed again.
4. The design method of any one of claims 1-3, further comprising: if one or more satellite-borne processor chips need to return to original safety software, only the anti-fuse type FPGA chip needs to be selected through a remote control instruction to load the original safety software of each satellite-borne processor chip from the PROM chip.
5. The design method of claim 1, wherein the single anti-fuse type FPGA chip is used for storing and managing FPGA software, automatically operates after being powered on, and realizes a remote control annotating function and loading control on multiprocessor software;
the plurality of PROM chips are used for storing respective original safety software of the plurality of processor chips;
the single-chip NOR FLASH chip is used for storing the respective on-track programming software of the multi-chip processor chip in a partitioning manner;
the multi-chip processor chip controls the original security software loaded from the multi-chip PROM chip or the on-orbit programming software of the corresponding processor chip loaded from a certain partition of the single NOR FLASH chip through the management FPGA software stored in the single anti-fuse type FPGA chip, and each processor chip realizes respective function.
CN201811494157.9A 2018-12-04 2018-12-04 Satellite-borne multiprocessor software on-orbit programming system and design method thereof Active CN109614122B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811494157.9A CN109614122B (en) 2018-12-04 2018-12-04 Satellite-borne multiprocessor software on-orbit programming system and design method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811494157.9A CN109614122B (en) 2018-12-04 2018-12-04 Satellite-borne multiprocessor software on-orbit programming system and design method thereof

Publications (2)

Publication Number Publication Date
CN109614122A CN109614122A (en) 2019-04-12
CN109614122B true CN109614122B (en) 2022-03-29

Family

ID=66008492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811494157.9A Active CN109614122B (en) 2018-12-04 2018-12-04 Satellite-borne multiprocessor software on-orbit programming system and design method thereof

Country Status (1)

Country Link
CN (1) CN109614122B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674046B (en) * 2019-09-24 2023-08-01 上海航天电子通讯设备研究所 Method for improving reliability of satellite-borne embedded file system
CN110929465A (en) * 2019-11-19 2020-03-27 深圳航天东方红海特卫星有限公司 Reconfigurable reliability design system and method based on FPGA industrial device
CN111611201B (en) * 2020-06-24 2022-04-19 中国人民解放军国防科技大学 Refresh self-adaptive continuous high-leanable-rail FPGA reconstruction system and method
CN111880841A (en) * 2020-07-28 2020-11-03 西安微电子技术研究所 Program reconstruction method, system and equipment of satellite-borne solid-state memory

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426665B1 (en) * 2000-09-02 2008-09-16 Actel Corporation Tileable field-programmable gate array architecture
CN101493809A (en) * 2009-03-03 2009-07-29 哈尔滨工业大学 Multi-core onboard spacecraft computer based on FPGA
CN105045335A (en) * 2015-06-23 2015-11-11 上海航天测控通信研究所 FPGA information processing system with embedded 8051IP core
CN107391189A (en) * 2017-07-17 2017-11-24 上海卫星工程研究所 The On-board programming method of On-board software
CN107729681A (en) * 2017-11-06 2018-02-23 上海航天测控通信研究所 Suitable for in-orbit reconstruct FPGA general purpose simulation and system
CN108196890A (en) * 2017-12-24 2018-06-22 北京卫星信息工程研究所 The method of in-orbit mix-loaded FPGA and CPU

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426665B1 (en) * 2000-09-02 2008-09-16 Actel Corporation Tileable field-programmable gate array architecture
CN101493809A (en) * 2009-03-03 2009-07-29 哈尔滨工业大学 Multi-core onboard spacecraft computer based on FPGA
CN105045335A (en) * 2015-06-23 2015-11-11 上海航天测控通信研究所 FPGA information processing system with embedded 8051IP core
CN107391189A (en) * 2017-07-17 2017-11-24 上海卫星工程研究所 The On-board programming method of On-board software
CN107729681A (en) * 2017-11-06 2018-02-23 上海航天测控通信研究所 Suitable for in-orbit reconstruct FPGA general purpose simulation and system
CN108196890A (en) * 2017-12-24 2018-06-22 北京卫星信息工程研究所 The method of in-orbit mix-loaded FPGA and CPU

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"一种星载DSP软件的在轨编程方法";李雁斌;《制导与引信》;20111231;第32卷(第4期);第1-5页 *

Also Published As

Publication number Publication date
CN109614122A (en) 2019-04-12

Similar Documents

Publication Publication Date Title
CN109614122B (en) Satellite-borne multiprocessor software on-orbit programming system and design method thereof
CN107957972B (en) FPGA-based on-orbit reconstruction system and method
US9367392B2 (en) NAND flash memory having internal ECC processing and method of operation thereof
US10347349B2 (en) Method and device for fail-safe erase of flash memory
US8316175B2 (en) High throughput flash memory system
CN107589905A (en) Accumulator system and its operating method
US10860422B2 (en) Method for performing data management in memory device, associated memory device and controller thereof
KR20120137416A (en) Composite semiconductor memory device with error correction
CN106325765A (en) Memory system for controlling semiconductor memory devices through plurality of channels
CN114860650A (en) Multi-chip SRAM type FPGA on-orbit configuration management device
CN113127254A (en) Storage management of multi-plane parity data in a memory subsystem
US8456917B1 (en) Logic circuit for a semiconductor memory device, and method of managing an operation in the semiconductor memory device
CN117608916A (en) On-orbit memory loading method and system based on NOR FLASH
CN108664350B (en) Data protection method, memory storage device and memory control circuit unit
US8627031B2 (en) Semiconductor memory device and method of reading data from and writing data into a plurality of storage units
TWI742698B (en) Data storage device and non-volatile memory control method
KR102324263B1 (en) Apparatus and method for updating nonvolatile memory
CN110008145B (en) Data protection method, memory control circuit unit and memory storage device
US10732894B2 (en) Method of writing in a non-volatile memory device and corresponding non-volatile memory device
CN111176732A (en) Software and hardware redundancy safe starting and maintaining method based on MRAM
CN117453279B (en) Space-borne equipment hardware architecture suitable for space strong radiation environment
CN107239224B (en) Data protection method, memory control circuit unit and memory storage device
CN117453462B (en) Reliable reconstruction and loading operation method for satellite-borne equipment software
CN114924808B (en) SRAM type FPGA on-orbit reliable loading method based on double storage programs
US11500775B2 (en) File system management in memory device

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
GR01 Patent grant
GR01 Patent grant