CN109388413A - A kind of FPGA method for updating program and system - Google Patents

A kind of FPGA method for updating program and system Download PDF

Info

Publication number
CN109388413A
CN109388413A CN201710655725.8A CN201710655725A CN109388413A CN 109388413 A CN109388413 A CN 109388413A CN 201710655725 A CN201710655725 A CN 201710655725A CN 109388413 A CN109388413 A CN 109388413A
Authority
CN
China
Prior art keywords
fpga
program
written
flash
frame data
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
CN201710655725.8A
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.)
CRRC Zhuzhou Institute Co Ltd
Original Assignee
CRRC Zhuzhou Institute 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 CRRC Zhuzhou Institute Co Ltd filed Critical CRRC Zhuzhou Institute Co Ltd
Priority to CN201710655725.8A priority Critical patent/CN109388413A/en
Publication of CN109388413A publication Critical patent/CN109388413A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

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

Abstract

This application discloses a kind of FPGA method for updating program, master control borad receives the target program to be written of each FPGA sent by debugging terminal;The remote control command of the debugging terminal is received, the target program to be written is sent respectively to the FPGA by the master control borad;The program of the FPGA updates IP kernel and the target program to be written received is written to carry out program update in flash, and described program updates IP kernel and is set in advance in the FPGA.The application passes through Telnet master control borad, it is written into target program and is sent to the corresponding FPGA from plate, and then the program by being set in advance in FPGA updates IP kernel, be written into the flash of target program write-in FPGA, the update of single-point program is realized, update operation is greatly simplified.Disclosed herein as well is a kind of FPGA program updating systems, equally have above-mentioned beneficial effect.

Description

A kind of FPGA method for updating program and system
Technical field
This application involves electronic technology field, in particular to a kind of FPGA method for updating program and system.
Background technique
With the development of information technology, the intelligent level of Train Communication Network is continuously improved, used in Related product FPGA it is also more and more.
Train Communication Network is mainly used for durings Train Control, Stateful Inspection, fault diagnosis, vehicle-mounted information service etc. Data transmission, be known as being train " brain " and " nerve ".During development and application, due to demand variation or Person is the self-defect of program in FPGA, it is often necessary to optimize update to FPGA program.
However, it is often a job very troublesome that the optimization of FPGA program, which updates, on train.This is because maintenance people Member generally requires to disassemble the correlation module on train, utilizes the control panel and the dedicated emulation downloader of FPGA in module The downloading for carrying out new procedures updates, and reinstalls correlation module after completing downloading and updating.Therefore, a large amount of time will disappear Consumption is in disassembly and installation module.With the increase of FPGA application amount on train, for maintenance personnel, FPGA program is more It will be newly undoubtedly a huge workload.
For this problem, a solution is proposed in the prior art.Referring to FIG. 1, Fig. 1 is to provide in the prior art The schematic diagram of FPGA method for updating program by the CPU of control panel, getting target program to be written in the method After (generally * .bin file), it is written into the flash of FPGA, so as to after control panel powers on or restarts next time, FPGA loads new procedures from flash and realizes that optimization updates.
Although the prior art shown in FIG. 1 can to avoid a large amount of disassembly and installation work, whenever needing to update one When the program of a FPGA, require to be operated on the control panel of the FPGA, therefore, when control panel quantity is more, work It measures still very greatly, needs to further increase.
Summary of the invention
The application's is designed to provide a kind of FPGA method for updating program and system, to carry out FPGA simple and conveniently Program updates, and reduces workload.
In order to solve the above technical problems, the application provides a kind of FPGA method for updating program, comprising:
Master control borad receives the target program to be written of each FPGA sent by debugging terminal;
The remote control command of the debugging terminal is received, the master control borad sends the target program to be written respectively To the FPGA;
The program of the FPGA updates IP kernel and the target program to be written received is written in flash to carry out program It updates, described program updates IP kernel and is set in advance in the FPGA.
Optionally, before the target program to be written is sent respectively to the FPGA by the master control borad further include:
The master control borad and the FPGA carry out handshake process;
If shaking hands success, the subsequent the step of target program to be written is sent respectively to the FPGA is executed.
Optionally, the target program to be written is sent respectively to the FPGA and includes: by the master control borad
The frame data of the target program to be written are sent to the FPGA by the master control borad;
The described program of the FPGA updates IP kernel and carries out CRC check;
The master control borad obtains the check results of the CRC check;If the check results mistake, to FPGA weight The new frame data for sending check results mistake;If the check results are correct, continue to send to the FPGA next Frame data, until the target program to be written of the FPGA is sent.
Optionally, the master control borad obtains the check results of the CRC check and includes:
The master control borad inquires the effective register of ack msg of the FPGA;
If non-empty, the ack msg of the FPGA is read;
If the ack msg mistake, the check results mistake;
If the ack msg is correct, the check results are correct.
Optionally, the FPGA program update IP kernel by the target program to be written received be written flash in so as to Carrying out program update includes:
The described program of the FPGA updates IP kernel and carries out erasing operation to the flash;
Described program updates IP kernel and the frame data of the target program to be written received is written in the flash;
Described program updates the frame data being written in flash described in IP kernel readback;And judge that the frame data of the readback are It is no consistent with frame data that are receiving;
If it is not, then the frame data received are written in the flash again;
If so, continuing the next frame data received to be written in the flash, until the target journey to be written Sequence is written in the flash and finishes.
Present invention also provides a kind of FPGA program updating systems, comprising:
Master control borad: for receiving the target program to be written of each FPGA sent by debugging terminal;Receive the debugging The target program to be written is sent respectively to the FPGA by the remote control command of terminal;
The FPGA: for by program update IP kernel by the target program to be written received be written flash in so as to Program update is carried out, described program updates IP kernel and is set in advance in the FPGA.
Optionally, the master control borad is also used to:
Before the target program to be written is sent respectively to the FPGA, handshake process is carried out with the FPGA; If shaking hands success, the subsequent the step of target program to be written is sent respectively to the FPGA is executed.
Optionally, the master control borad is specifically used for:
The frame data of the target program to be written are sent to the FPGA;It obtains the FPGA and carries out CRC check Check results;If the check results mistake, the frame data of check results mistake are retransmitted to the FPGA;If institute It is correct to state check results, then continues to send next frame data to the FPGA, until the target program to be written of the FPGA It is sent;
The FPGA is specifically used for:
After receiving the frame data that the master control borad is sent, IP kernel is updated by described program and carries out the school CRC It tests.
Optionally, the master control borad is specifically used for:
When obtaining the check results of the CRC check, the effective register of ack msg of the FPGA is inquired;If non-empty, Then read the ack msg of the FPGA;If the ack msg mistake, the check results mistake;If the ack msg is just Really, then the check results are correct.
Optionally, the FPGA is specifically used for:
IP kernel is updated by described program, erasing operation is carried out to the flash;
The frame data of the target program to be written received are written in the flash;
The frame data being written in flash described in readback, and judge the readback frame data whether with the frame number that receives According to consistent;
If it is not, then the frame data received are written in the flash again;
If so, continuing the next frame data received to be written in the flash, until the target journey to be written Sequence is written in the flash and finishes.
In FPGA method for updating program provided herein, master control borad receives each FPGA's sent by debugging terminal Target program to be written;The remote control command of the debugging terminal is received, the master control borad is by the target program to be written It is sent respectively to the FPGA;The program of the FPGA updates IP kernel and the target program to be written received is written in flash To carry out program update, described program updates IP kernel and is set in advance in the FPGA.
Compared with the prior art, in FPGA method for updating program provided herein, using network by the to be written of FPGA Enter target program and be sent to master control borad, and by Telnet, master control borad is enabled to distinguish received target program to be written Be sent to each FPGA, by the program of FPGA update IP kernel again will received target program to be written be written in flash with Just the update of program is carried out.The use of IP kernel is updated with program due to remotely controlling, method provided herein only need to be in net Debugging is carried out on a debugging port in network can be completed all operations, that is, realize the update of single-point program.It can be seen that this FPGA method for updating program provided by applying can effectively simplify to the largely program of the FPGA more new task from plate, significantly Improve working efficiency in ground.Above-mentioned FPGA method for updating program may be implemented in FPGA program updating system provided herein, together Sample has above-mentioned beneficial effect.
Detailed description of the invention
In order to illustrate more clearly of the technical solution in the prior art and the embodiment of the present application, below will to the prior art and Attached drawing to be used is needed to make brief introduction in the embodiment of the present application description.Certainly, in relation to the attached drawing of the embodiment of the present application below A part of the embodiment in only the application of description is not paying creativeness to those skilled in the art Under the premise of labour, other attached drawings can also be obtained according to the attached drawing of offer, other accompanying drawings obtained also belong to the application Protection scope.
Fig. 1 is the schematic diagram of provided FPGA method for updating program in the prior art;
Fig. 2 is a kind of flow chart of FPGA method for updating program provided by the embodiment of the present application;
Fig. 3 is the exemplary diagram of master control borad provided by the embodiment of the present application with the FPGA communication process from plate;
Fig. 4 is the stream that program provided by the embodiment of the present application updates that IP kernel is written into target program write-in flash Journey exemplary diagram;
Fig. 5 is a kind of structural block diagram of FPGA program updating system provided herein;
Fig. 6 updates IP kernel communication signal for the program in a kind of FPGA program updating system provided by the embodiment of the present application Figure;
Fig. 7 is a kind of system architecture schematic diagram of FPGA program updating system provided herein.
Specific embodiment
In order to which technical solutions in the embodiments of the present application is more clearly and completely described, below in conjunction with this Shen Please attached drawing in embodiment, technical solutions in the embodiments of the present application is introduced.Obviously, described embodiment is only Some embodiments of the present application, instead of all the embodiments.Based on the embodiment in the application, those of ordinary skill in the art Every other embodiment obtained without making creative work, shall fall in the protection scope of this application.
Referring to FIG. 2, Fig. 2 is a kind of flow chart of FPGA method for updating program provided by the embodiment of the present application, mainly The following steps are included:
Step 201: master control borad receives the target program to be written of each FPGA sent by debugging terminal.
In the FPGA method for updating program provided by the embodiment of the present application, by realizing that single-point updates institute in completion system There is the program more new task of the FPGA from plate, to simplify entire more new task, improves working efficiency.Specifically, the master in system Controlling plate all can access realization interconnection in network by interchanger, then the operation that single-point updates can be in a debugging of interchanger It is realized on port.
When FPGA program updates in carry out system, it is necessary first to obtain the target journey to be written of each FPGA from plate Sequence.Specifically, the object code to be written (generally * .bin file) of each FPGA generates it by tools chain through designer Afterwards, it can be sent to corresponding master control borad from the debugging terminal that access switch debugs port, to carry out subsequent journey Sequence updates operation.
Step 202: receiving the remote control command of debugging terminal, master control borad is written into target program and is sent respectively to FPGA。
After the target program to be written for getting FPGA by step 201, master control borad can be remotely logged into;And master control Plate is written into target and is sent respectively to corresponding FPGA, so as to each after the remote control command for receiving debugging terminal FPGA completes the update operation of program.Specifically, it is written into before target program is sent to FPGA in master control borad, it can also be first Handshake process is carried out, to prevent maloperation, if shaking hands success, then executes the step of sending target program to be written to FPGA. Also, rate is forbidden to maloperation in order to further increase, can also carry out multiple handshake process, those skilled in the art can be with It voluntarily selects and is arranged according to actual use situation, the application is not limited thereto.
It should be noted that multiple FPGA correspond to a master control borad in system, it is total by bus such as CPCI between the two Line realizes communication, and certainly, data communication between the two will be carried out according to certain communication protocol.Fig. 3 gives in the application A kind of preferred embodiment of communication process, detailed content just can no longer be introduced here with reference to content shown in Fig. 3.
The program of step 203:FPGA updates IP kernel and the target program to be written received is written in flash to carry out Program updates.
By step 202, after each FPGA has received respective target program to be written, IP can be updated by program Core (intellectual property core), by such as spi bus of the control bus between FPGA and flash, this is waited for Write-in target program is written in flash, to power in next time or when system reboot, is automatically performed FPGA's by flash Program updates.Certainly, the flash can be the flash inside FPGA, or FPGA plug-in flash, the application couple This is not defined.
Program mentioned here updates IP kernel, is integration module pre-designed, that program more new function may be implemented, And be set in advance in FPGA, it can be realized under the timing control of internal element to the configuration of flash and program write-in.
Flash must be carried out in normal work in strict accordance with the control sequential (such as spi bus timing) of flash, program Updating in IP kernel can be set flash time-sequence control module, in two finite state machines, that is, to write flash state machine and reading Write and read is carried out to flash under the control of flash state machine.Since the write operation of flash can only rewrite data 1 as 0, and Data 0 can be rewritten as 1 by erasing operation.Therefore, it before each write-in program data, first has to carry out erasing behaviour to flash Make, specified region is written as 1 entirely, is then written into again in target program write-in flash, to power on or restart in next time When, FPGA, which loads new procedures from flash and realizes, to be updated.
As it can be seen that, by Telnet technology, enabling master control borad in FPGA method for updating program provided by the embodiment of the present application After the target program to be written for receiving each FPGA, it is written into target program and is sent respectively to corresponding FPGA again, and IP kernel is updated using the program being pre-configured in FPGA, is written into target program write-in flash to carry out program It updates.It can be seen that method provided by the embodiment of the present application carry out it is each from the FPGA program of plate update when because remotely Login techniques and program update the use of IP kernel, whole only a debugging port on switches to be needed to be operated, that is, realize Single-point update, therefore can greatly simplify update operation, improve working efficiency.
Further, since it is each from plate FPGA by program update IP kernel complete flash in new procedures write-in, because without It is debugged, and then can be asked to avoid timing when causing to communicate with flash because of CPU timing control shakiness using from plate CPU Topic.Moreover, program, which updates IP kernel, is applicable not only to CPU class from plate, the slave plate of I/O class can be applicable to, so that this Shen Please FPGA method for updating program provided by embodiment applicability it is higher.
Referring to FIG. 3, Fig. 3 is the example of master control borad provided by the embodiment of the present application with the FPGA communication process from plate Figure.
As shown in figure 3, master control borad and from handshake process can be carried out between plate first, it may be assumed that mainboard flag0 is written in master control borad After be sent to from plate, receive from plate after reading, if can carry out remotely updating operation, be just written from plate flag0, then by leading It controls plate to read, then success of this time shaking hands, and is reset after being read.It can so be utilized again by master control borad and from plate respective Flag1 and flag2 carries out handshake process twice again.If three-way handshake success, can exclude the possibility of maloperation substantially, with Just the subsequent operation for sending target program to be written is executed.
After shaking hands successfully, master control borad the target program to be written received can be sent to as unit of frame with it is right The slave plate FPGA answered.Specifically, master control borad is to the frame number for sending target program to be written from the buffer area DPRAM of plate FPGA According to, and a frame data are finished to the flag bit set of register, to indicate that the frame data are sent.And this is being received from plate After frame data, program updates IP kernel and just carries out CRC check, and updates ack msg according to check results, while ACK number is written According to effective register, indicate that ack msg has update.Then, when the effective register of master control borad periodicity poll reading ack msg, It can be learnt that ack msg has been updated, ack msg just is read after removing the effective register of ack msg, and judged: If ack msg mistake, i.e. CRC check mistake, then master control borad sends the frame data to from plate again;If ack msg is correct, i.e., CRC check is correct, then from the flash that FPGA further is written in the frame data by plate, to carry out program update, and master control borad Continue to send next frame data to from plate, until the program to be written is sent.It is sent out in the target program to be written of the FPGA It send after finishing, data can all be updated the flag bit set of register by master control borad, to learn from plate.
Referring to Fig. 4, Fig. 4 is that the update IP kernel of program provided by the embodiment of the present application is written into target program write-in Flow example figure in flash.
As shown in figure 4, program updates IP kernel during flash is written in each frame data for being written into target program, It mainly comprises the steps that
Step 401: receiving the frame data of target program to be written.
Step 402: erasing operation is carried out to flash.
Specifically, it before being operated to flash, needs to choose the flash first, that is, drags down its chip selection signal, so Effectively write under the idle state of flash state machine afterwards it is enabled, so as to next writing commands and data into flash.As before It is described, before target program to be written is written, need to carry out erasing operation to flash, therefore, it is necessary to by being written to wiping Except instruction is to execute the erasing operation to flash.
Step 403: being written into the frame data write-in flash of target program according to the control sequential of flash.
After by step 402, program, which updates IP kernel, the frame number received is written to the flash for completing erasing According to.Specifically, it needs to undergo transmission address state and transmission two state procedures of data mode, transmission when carrying out data write-in In address state, program updates IP kernel and frame data storage address to be written is transmitted to flash, and in transmission data mode In, program updates IP kernel and the frame data is just written to its storage address to be written.
Step 404: the frame data in flash are written in readback.
In order to ensure being correctly written in for every frame data, after writing a frame data, can be written in flash with readback Frame data, and compared with the frame data of target program to be written originally, the correctness of write-in content verified.
Step 405: whether frame data and the frame data to be written for comparing readback are consistent;If it is not, being then back to step 402, if so, entering step 406.
If the frame data of readback and frame data originally to be written are inconsistent, illustrate that writing process malfunctions, then can return It is back to step 402, a series of subsequent steps such as erasing are executed, to re-write the frame data.
Step 406: judging whether target program to be written is written and finish, if it is not, being then back to step 401.
After flash is written in a frame data, it can be determined that whether target program to be written is written and finishes at this time, if not yet It finishes, then needs to be back to step 401, continue to next frame data, and execute subsequent step, until target journey to be written Sequence is written in flash and finishes.
FPGA program updating system provided by the embodiment of the present application is introduced below.FPGA program described below More new system can correspond to each other reference with above-described FPGA method for updating program.
Referring to Fig. 5, Fig. 5 is a kind of structural block diagram of FPGA program updating system provided herein;Mainly include Master control borad 501 and FPGA 502 corresponding with master control borad 501.
Master control borad 501 is mainly used for receiving the target program to be written of each FPGA 502 sent by debugging terminal;And The remote control command for receiving debugging terminal, is written into target program and is sent respectively to FPGA 502.
Specifically, when being written into target program and being sent to FPGA 502, master control borad 501 can be specifically used for will be to be written Enter target program and be sent to FPGA 502 as unit of frame, and by judging to write after FPGA 502 carries out CRC check to frame data The ack msg entered, come judge the frame data whether transmission success, if it is not, then master control borad 501 be specifically used for again to FPGA 502 The frame data are sent, if so, master control borad 501 is specifically used for sending next frame data to FPGA 502, until target to be written Program is sent.
In addition, master control borad 501 before being written into target program and being sent to FPGA 502, can be also used for and FPGA 502 carry out handshake process, to prevent maloperation.
FPGA 502 corresponding with master control borad 501 is mainly used for the target program to be written received being written in flash To carry out program update.
Specifically, FPGA 502 can use the program that pre-sets and update IP kernel, according to the control sequential of flash, After completing to the erasing operation of flash, the frame data for being written into target program, which are written in flash, corresponds to storage Region.Also, in order to ensure being correctly written in for data, after writing every frame data, program updates IP kernel can readback again The frame data having been written into, and whether judge it consistent with data originally to be written, if it is not, the frame data are then re-write, If so, next frame data can be continued to write to, until the target program to be written of the FPGA is written in flash and finishes.
Referring to Fig. 6, Fig. 6 updates IP for the program in a kind of FPGA program updating system provided by the embodiment of the present application Core communication scheme.
Program as shown in FIG. 6 updates in IP kernel communication scheme, between plate FPGA and master control borad, is pressed by cpci bus It is communicated according to the interface protocol pre-set;From between plate FPGA and flash, communicated by spi bus.In order to prevent With the maloperation in master control borad communication process, program updates IP kernel and is provided with control unit of shaking hands, for before program transportation Handshake process is carried out with master control borad, shakes hands and successfully then carries out the transmission of target program to be written.The data that program updates IP kernel are slow Memory cell is used to cache the frame data from the received target program to be written of master control borad, and CRC check unit is used for frame data Reception carry out CRC check continue to transmit next frame data, otherwise transmit the frame data again if check results are correct.Shape State feedback unit is for reading handshake process, CRC check and data readback comparison result, so that instruction generation unit generates phase The instruction answered.Data transmission unit is used in the frame data transmission write-in flash by data buffer storage unit;Data readback is more single Member is compared for the frame data in readback write-in flash with the former frame data in data buffer storage unit, if unanimously, Next frame data are continued to write to, are otherwise re-write.Also, above mentioned instruction generation unit, data transmission unit sum number It according to the work of readback comparing unit, is carried out under the timing control of flash timing control unit.
Referring to Fig. 7, Fig. 7 is a kind of system architecture schematic diagram of FPGA program updating system provided herein.
As shown in fig. 7, the master control borad in system realizes the network interconnection by interchanger, master control borad receives each from plate After the target program to be written (i.e. * .bin file) of FPGA, can under the long-range control of debugging terminal, by cpci bus and It is corresponding it is each communicated from plate FPGA, i.e., transmit target program to be written to FPGA.Wherein, described to be from plate CPU class is from plate, or I/O class is from plate.It is each be provided with from plate FPGA program update IP kernel, can by spi bus, According to the control sequential of flash, it is written into target program and is written in flash again, so as to after next time powers on or restarts, FPGA loads new procedures from flash and realizes that optimization updates.
Each embodiment is described in a progressive manner in the application, the highlights of each of the examples are with other realities The difference of example is applied, the same or similar parts in each embodiment may refer to each other.For system disclosed in embodiment Speech, since it is corresponded to the methods disclosed in the examples, so being described relatively simple, related place is referring to method part illustration ?.
Professional further appreciates that, method and step described in conjunction with the examples disclosed in this document, energy The combination with electronic hardware, computer software or the two is reached to realize, in order to clearly demonstrate the interchangeable of hardware and software Property, each exemplary composition and step are generally described according to function in the above description.These functions are actually with hard Part or software mode execute, the specific application and design constraint depending on technical solution.Professional technician can be with Each specific application is used different methods to achieve the described function, but this realization is it is not considered that exceed this Shen Range please.
The step of method described in conjunction with the examples disclosed in this document or algorithm, can directly be held with hardware, processor The combination of capable software module or the two is implemented.Software module can be placed in random access memory (RAM), memory, read-only deposit Reservoir (ROM), electrically programmable ROM, electrically erasable ROM, register, hard disk, moveable magnetic disc, CD-ROM or technology In any other form of storage medium well known in field.
Finally, it should be noted that, in present specification, the relational terms of such as " first " and " second " etc, only Only it is used to distinguish an entity or operation with another entity or operation, without necessarily requiring or implying this There are any actual relationship or orders between a little entities or operation.In addition, the terms "include", "comprise" or its His any variant, it is intended that non-exclusive inclusion is not precluded among described process, method, article or equipment etc., also It include the element that other are not explicitly listed.
Technical solution provided herein is described in detail above.Specific case used herein is to this Shen Principle and embodiment please is expounded, the present processes that the above embodiments are only used to help understand and its Core concept.It should be pointed out that for those skilled in the art, in the premise for not departing from the application principle Under, can also to the application, some improvement and modification can also be carried out, these improvement and modification also fall into the protection of the claim of this application In range.

Claims (10)

1. a kind of FPGA method for updating program characterized by comprising
Master control borad receives the target program to be written of each FPGA sent by debugging terminal;
The remote control command of the debugging terminal is received, the target program to be written is sent respectively to institute by the master control borad State FPGA;
The program of the FPGA updates IP kernel and the target program to be written received is written in flash to carry out program more Newly, described program updates IP kernel and is set in advance in the FPGA.
2. FPGA method for updating program according to claim 1, which is characterized in that in the master control borad by the mesh to be written Beacon course sequence is sent respectively to before the FPGA further include:
The master control borad and the FPGA carry out handshake process;
If shaking hands success, the subsequent the step of target program to be written is sent respectively to the FPGA is executed.
3. FPGA method for updating program according to claim 2, which is characterized in that the master control borad is by the target to be written Program is sent respectively to the FPGA
The frame data of the target program to be written are sent to the FPGA by the master control borad;
The described program of the FPGA updates IP kernel and carries out CRC check;
The master control borad obtains the check results of the CRC check;If the check results mistake, sends out again to the FPGA Send the frame data of check results mistake;If the check results are correct, continue to send next frame number to the FPGA According to until the target program to be written of the FPGA is sent.
4. FPGA method for updating program according to claim 3, which is characterized in that the master control borad obtains the CRC check Check results include:
The master control borad inquires the effective register of ack msg of the FPGA;
If non-empty, the ack msg of the FPGA is read;
If the ack msg mistake, the check results mistake;
If the ack msg is correct, the check results are correct.
5. FPGA method for updating program according to claim 3, which is characterized in that the program of the FPGA, which will update IP kernel, to be connect Include: to carry out program update in the target program to be written write-in flash received
The described program of the FPGA updates IP kernel and carries out erasing operation to the flash;
Described program updates IP kernel and the frame data of the target program to be written received is written in the flash;
Described program updates the frame data being written in flash described in IP kernel readback;And judge the readback frame data whether with The frame data received are consistent;
If it is not, then the frame data received are written in the flash again;
If so, continuing the next frame data received to be written in the flash, until the target program to be written exists Write-in finishes in the flash.
6. a kind of FPGA program updating system characterized by comprising
Master control borad: for receiving the target program to be written of each FPGA sent by debugging terminal;Receive the debugging terminal Remote control command, the target program to be written is sent respectively to the FPGA;
The FPGA: the target program to be written received is written in flash to carry out for updating IP kernel by program Program updates, and described program updates IP kernel and is set in advance in the FPGA.
7. FPGA program updating system according to claim 6, which is characterized in that the master control borad is also used to:
Before the target program to be written is sent respectively to the FPGA, handshake process is carried out with the FPGA;If holding Hand success, then execute the subsequent the step of target program to be written is sent respectively to the FPGA.
8. FPGA program updating system according to claim 7, which is characterized in that the master control borad is specifically used for:
The frame data of the target program to be written are sent to the FPGA;Obtain the verification that the FPGA carries out CRC check As a result;If the check results mistake, the frame data of check results mistake are retransmitted to the FPGA;If the school It is correct to test result, then continues to send next frame data to the FPGA, until the target program to be written of the FPGA is sent It finishes;
The FPGA is specifically used for:
After receiving the frame data that the master control borad is sent, IP kernel is updated by described program and carries out CRC check.
9. FPGA program updating system according to claim 8, which is characterized in that the master control borad is specifically used for:
When obtaining the check results of the CRC check, the effective register of ack msg of the FPGA is inquired;If non-empty is read Take the ack msg of the FPGA;If the ack msg mistake, the check results mistake;If the ack msg is correct, The check results are correct.
10. FPGA program updating system according to claim 9, which is characterized in that the FPGA is specifically used for: by described Program updates IP kernel, carries out erasing operation to the flash;Described in frame data write-in by the target program to be written received In flash;The frame data being written in flash described in readback, and judge the readback frame data whether with the frame number that receives According to consistent;If it is not, then the frame data received are written in the flash again;If so, continuing to receive down One frame data is written in the flash, until the target program to be written is written in the flash and finishes.
CN201710655725.8A 2017-08-03 2017-08-03 A kind of FPGA method for updating program and system Pending CN109388413A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710655725.8A CN109388413A (en) 2017-08-03 2017-08-03 A kind of FPGA method for updating program and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710655725.8A CN109388413A (en) 2017-08-03 2017-08-03 A kind of FPGA method for updating program and system

Publications (1)

Publication Number Publication Date
CN109388413A true CN109388413A (en) 2019-02-26

Family

ID=65412181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710655725.8A Pending CN109388413A (en) 2017-08-03 2017-08-03 A kind of FPGA method for updating program and system

Country Status (1)

Country Link
CN (1) CN109388413A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110333881A (en) * 2019-03-22 2019-10-15 中国电子科技集团公司第五十四研究所 A kind of in-orbit reconstructing method of load class device software based on spaceborne FPGA processing
CN111026428A (en) * 2019-11-22 2020-04-17 同源微(北京)半导体技术有限公司 System and method capable of simultaneously remotely updating FPGA firmware programs in multiple board cards on line
CN111506333A (en) * 2020-04-27 2020-08-07 湖北三江航天红峰控制有限公司 double-DSP program online upgrading method and system
CN112650518A (en) * 2019-10-10 2021-04-13 国创新能源汽车能源与信息创新中心(江苏)有限公司 DSP program on-line upgrading method
CN115840579A (en) * 2023-02-14 2023-03-24 合肥安迅精密技术有限公司 FPGA remote updating method, system, chip mounter and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426528A (en) * 2011-09-15 2012-04-25 中国船舶重工集团公司第七○七研究所 Online updating method for kernel program of navigation positioning receiver
CN103136028A (en) * 2013-03-11 2013-06-05 西北工业大学 FLASH memorizer long-distance on-line upgrade method based on field programmable gate array (FPGA)
CN104077166A (en) * 2014-07-10 2014-10-01 西北工业大学 EPCS and EPCQ storer online upgrading method based on IP core in FPGA
EP3043512A1 (en) * 2013-10-10 2016-07-13 ZTE Corporation Firmware upgrade method and system, upper computer and optical module
CN106201629A (en) * 2016-07-22 2016-12-07 北京广利核系统工程有限公司 A kind of method and apparatus to the programming of multi-disc target FPGA

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426528A (en) * 2011-09-15 2012-04-25 中国船舶重工集团公司第七○七研究所 Online updating method for kernel program of navigation positioning receiver
CN103136028A (en) * 2013-03-11 2013-06-05 西北工业大学 FLASH memorizer long-distance on-line upgrade method based on field programmable gate array (FPGA)
EP3043512A1 (en) * 2013-10-10 2016-07-13 ZTE Corporation Firmware upgrade method and system, upper computer and optical module
CN104077166A (en) * 2014-07-10 2014-10-01 西北工业大学 EPCS and EPCQ storer online upgrading method based on IP core in FPGA
CN106201629A (en) * 2016-07-22 2016-12-07 北京广利核系统工程有限公司 A kind of method and apparatus to the programming of multi-disc target FPGA

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110333881A (en) * 2019-03-22 2019-10-15 中国电子科技集团公司第五十四研究所 A kind of in-orbit reconstructing method of load class device software based on spaceborne FPGA processing
CN110333881B (en) * 2019-03-22 2022-09-16 中国电子科技集团公司第五十四研究所 On-orbit reconstruction method for load equipment software based on satellite-borne FPGA processing
CN112650518A (en) * 2019-10-10 2021-04-13 国创新能源汽车能源与信息创新中心(江苏)有限公司 DSP program on-line upgrading method
CN111026428A (en) * 2019-11-22 2020-04-17 同源微(北京)半导体技术有限公司 System and method capable of simultaneously remotely updating FPGA firmware programs in multiple board cards on line
CN111506333A (en) * 2020-04-27 2020-08-07 湖北三江航天红峰控制有限公司 double-DSP program online upgrading method and system
CN115840579A (en) * 2023-02-14 2023-03-24 合肥安迅精密技术有限公司 FPGA remote updating method, system, chip mounter and storage medium

Similar Documents

Publication Publication Date Title
CN102495744B (en) Control software upgrading method of electronic control devices of electric automobile based on controller area network (CAN) bus
CN109388413A (en) A kind of FPGA method for updating program and system
CN101673202B (en) Program writing method and system, pre-writing device and writing device
CN105573789B (en) The many image upgrade loading methods of FPGA and device based on soft-core processor
CN105573800B (en) A kind of veneer or multi-slab and online updating method based on ZYNQ
CN102880532B (en) Cloud technology-based test system and method
CN109002310A (en) firmware upgrade method
CN103019788A (en) Remote online upgrading method based on CAN (Controller Area Network) bus
CN104299466A (en) Remote hardware experimental method and system based on cloud computing platform
CN109842523A (en) A kind of firmware upgrade method, device, equipment and storage medium
CN204759403U (en) System based on data pass realization equipment internal module thoroughly and upgrade
CN106874054A (en) A kind of repeater inner module program on-line upgrading method and system
CN103763351A (en) Software online upgrading method based on upper computer and lower computers
CN113407393B (en) Chip verification method, terminal device, verification platform and storage medium
CN104077166B (en) EPCS and EPCQ memory online upgrading methods based on IP kernel in FPGA
CN103530225A (en) Automatic compilation testing method and automatic compilation testing platform for realizing same
CN112034732B (en) Semi-physical satellite simulation system and simulation method
CN110737452A (en) FPGA firmware online upgrading method and system
CN107870775A (en) A kind of update method of processor and BootLoader program
CN102707960B (en) Firmware update, portable mobile terminal and portable equipment
CN108989103A (en) Device upgrading method, debugger, network device and network system
CN103336701A (en) Intelligent guiding and upgrading method
CN102253845B (en) Server system
CN111104147A (en) BMC upgrading method, device, terminal and storage medium
CN103761125A (en) Application system and method for upgrading programs

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: 20190226

RJ01 Rejection of invention patent application after publication