CN1677346A - Programmable device program update method and board card capable of updating program - Google Patents

Programmable device program update method and board card capable of updating program Download PDF

Info

Publication number
CN1677346A
CN1677346A CN 200410022188 CN200410022188A CN1677346A CN 1677346 A CN1677346 A CN 1677346A CN 200410022188 CN200410022188 CN 200410022188 CN 200410022188 A CN200410022188 A CN 200410022188A CN 1677346 A CN1677346 A CN 1677346A
Authority
CN
China
Prior art keywords
program
processing apparatus
programming device
programmable device
updating method
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
CN 200410022188
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.)
MAIPU (SICHUAN) COMMUNICATION TECHNOLOGY Co Ltd
Maipu Communication Technology Co Ltd
Original Assignee
MAIPU (SICHUAN) COMMUNICATION TECHNOLOGY 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 MAIPU (SICHUAN) COMMUNICATION TECHNOLOGY Co Ltd filed Critical MAIPU (SICHUAN) COMMUNICATION TECHNOLOGY Co Ltd
Priority to CN 200410022188 priority Critical patent/CN1677346A/en
Publication of CN1677346A publication Critical patent/CN1677346A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

A program updating method of programmable device and a program updating boardcard, relating to a storing and updating technique of downloading files of the programmable device on the boardcard of communication equipment. The invention provides a program updating method of programmable device, including the following steps: a. the system informs a processing device to initiate updating by the I2C bus and the processor device prepares; b. the processing device receives and stores data; c. the processing device informs the main system to stop running the programmable device; d. the processing device downloads the new program stored in the step b to the programmable device. The invention provides a boardcard able to update the program. The beneficial effects of the invention: on the condition of increasing the cost of a few materials, it completes program downloading for FPGA as the boardcard is power-on by CPLD and completes program updating by the I2C bus independent of data channels, not only achieving the requirements of high downloading speed and high reliability but also the downloading and updating little occupying system resources.

Description

The integrated circuit board of program updating method of programmable device and refreshable program
Technical field
The present invention relates to computer communication technology, particularly the storage of programming device file in download and the technology of renewal on the communication apparatus integrated circuit board.
Background technology
I 2C bus (or claiming iic bus) is a kind of two-wire serial bus by PHILIPS Co.'s exploitation, topmost advantage is its simplicity and validity, its occupation space is very little, thereby has reduced the space of circuit board and the quantity of chip pin, and then has reduced interconnected cost.While I 2C is a kind of general specification, all integrated this bus of most of flush bonding processors, the convenient transplanting on hardware systems.
FPGA (field programmable gate array) is that a kind of structure is flexible, the programming device that internal trigger resource density is big, and the user can change device inside line situation by programming can make it present different functions.Fast development along with EDA (electric design automation) technology, in card insert type communication class product, using FPGA on the veneer has been a very general phenomenon, FPGA is with its jumbo trigger resources, function flexibly, and the mode of upgrading easily, for the deviser provides sizable convenience, in design, more and more be used.And make full use of FPGA flexibly programmable features will be a kind of shortcut that cost seldom but can improve the comprehensive strength of product of paying to the service that the end user provides HardwareUpgring and fault to get rid of.
The general branch done two kinds in the storage that FPGA on the communication apparatus integrated circuit board is downloaded now, download and renewal operation, a kind of storer of taking to be solidificated on the integrated circuit board, power at every turn and initiatively call in data from storer by FPGA, the benefit of this method is to download not rely on the main system participation, speed is fast, and shortcoming is to be difficult for upgrading; And another mode is FPGA to be downloaded leave among the FLASH on the motherboard, by main frame it is read and write, FPGA downloads and finishes by public data channel and conversion chip, the benefit of this kind method is that code update is flexible, and shortcoming is to have taken main system FLASH space, primary processor also must participate in whole downloading process, causes device start slow.
Summary of the invention
Technical matters to be solved by this invention is, provide under a kind of situation that is implemented in the equipment normal operation long-range to the file in download of FPGA upgrade quick, stable, cost is low, the method and the corresponding device thereof of easy transplanting, make upgrade finish after integrated circuit board can continue normal operation and reach integrated circuit board is upgraded or fixed a breakdown.
The present invention solve the technical problem the technical scheme that is adopted, and a kind of program updating method of programmable device is provided, and may further comprise the steps:
A. system passes through I 2C bus notifier processes device initiates to upgrade, and processing apparatus is prepared;
B. processing apparatus receives data, and storage;
C. processing apparatus is notified main system, and system stops the operation of programming device;
The d processing apparatus downloads to programming device with the new procedures of storing among the step b.
Among the described step a, processing apparatus is provided with zone bit and represents ready.Among the described step b, processing apparatus receives data, and format transformation, encrypts.Among the described step b, the memory storage space that processing apparatus uses divides work at least two parts, and a part is deposited and upgraded the program that writes, the old program that another part can normally use before depositing and upgrading.Between described step b and the step c, also has checking procedure.Described checking procedure is: main system is passed through I 2The C bus reads the data that newly write, and verification in addition; If correctly then the renewal of notifier processes device is finished, if incorrect then renewal once more.Described step c comprises: c1. processing apparatus notice main system stops integrated circuit board work; C2. main system stops the operation of programming device, and the unloading driver; Described steps d comprises: the d1. processing apparatus sends heat and inserts interruption; D2. processing apparatus reads the program that newly writes, and according to the application configuration programming device that newly writes, if configuration is unsuccessful, processing apparatus reads old program, according to old application configuration programming device; If configuration successful enters next step; D3. test programming device, if dysfunction, main system is passed through I 2C bus notifier processes device upgrades failure, and processing apparatus reads old program, according to old application configuration programming device.After the described steps d 3, also have steps d 4: main system is exchanged old code segment pointer position and fresh code segment pointer.
Described processing apparatus is CPLD or has I 2The single-chip microcomputer of C interface, described programming device are the programming device of refreshable program code, as FPGA, DSP; Described storer is FLASH.
The present invention also provides a kind of integrated circuit board of refreshable program, comprises slot, processing apparatus, programming device, storer, and processing apparatus, programming device are connected with slot, and processing apparatus is connected with programming device, and processing apparatus also is connected with storer; In being connected of processing apparatus and slot, exist based on I 2The coupling part of C bus architecture.
About " existing based on I 2The coupling part of C bus architecture " be explained as follows: after integrated circuit board is plugged backboard,, have based on I between CPLD and the main system by slot 2The annexation of C bus, when integrated circuit board independence, in other words, when not plugging backboard, being connected between CPLD and the main system isolated, but when slot being considered as parts, (is based on I between CPLD and the main system in the above-mentioned connection 2The connection of C bus), CPLD to the connection of this section of slot be outwardness, therefore " to exist based on I 2The coupling part of C bus architecture " explain it.
The invention has the beneficial effects as follows that under the situation that increases a small amount of cost of raw material, the program of FPGA is downloaded when powering on by using CPLD to finish integrated circuit board, is independent of the I of data channel 2The C bus is finished program updates, has not only reached the high requirement of the fast reliability of speed of download, downloads and upgrades also few occupying system resources, and in communication apparatus integrated level more and more higher today, the advantage of this technology will be embodied more and more.Simultaneously, based on the programmable characteristics of CPLD, this FPGA download and method for updating only need be done a spot of change and just can be transplanted on the system of using other programming devices, have improved development efficiency, have avoided the duplication of labour.
The present invention is further illustrated below in conjunction with the drawings and specific embodiments.
Description of drawings
Fig. 1 is the method flow diagram of the specific embodiment of the invention.
Fig. 2 is the device synoptic diagram of the specific embodiment of the invention.
Embodiment
As shown in Figure 1, whole process was divided into for three steps, comprised renewal, verification and activation.During renewal, system passes through I 2The C bus is provided with CPLD one register and initiates the renewal of FPGA file in download, and begins to pass through I 2The C bus sends new data.CPLD receives after the data, and the translation data form through sending it to the data port of storer after the cryptographic algorithm computing, sends data address simultaneously.To divide work two parts for memory storage space, a part is deposited the program that newly writes, the program (program when perhaps dispatching from the factory) that another part can normally use before depositing and upgrading, two sections can be exchanged, and the content that specifically new procedures is written to which section or downloads which section is controlled by the mode that register value is set by main system to FPGA.After data write and finish, CPLD began the state of consults memory, determined whether storer writes to finish, in case finish then the related register value is set; Main system begins regularly to inquire about CPLD simultaneously, finishes information up to reading the storer programming.
Checking procedure is initiated by main system equally, and data are passed through I from storer by deciphering and the format conversion of CPLD 2C-channel is read by main system, finish read in after main system begin checking data, correctly then notify CPLD, otherwise write again.
Finish after above two steps, CPLD stops the communication of current integrated circuit board by simulation hot removal process, simulate hot insertion process afterwards and activate the work of integrated circuit board again, if FPGA can not normally download, then download again to the old program segment of storer, upgrade failure by changing address switchover; If FPGA can normally download, and function can not reach designing requirement, switch to old program segment equally; When the complete operate as normal of FPGA energy, then main system is exchanged old program segment pointer and new program segment pointer, and FPGA program is afterwards downloaded reading of data the program segment that will be defaulted as after upgrading.
Referring to Fig. 2, the invention provides the veneer that a cover works in the card insert type communication product that adopts CompactPCI (abbreviating CPCI as) bus architecture, it comprises the CPLD chip of a slice altera corp fpga chip and a slice Lattice, the FLASH of a slice SST company.As the CPLD of processing apparatus and the I of CPCI slot 2C bus, hot plug signal wire ENUM and HSS, and 5 download signal lines of FPGA (nSTATUS, nCONFIG, DATA0, DCLK, CONF_DONE), the data of FLASH chip, address and read-write chip select line are connected; Integrated circuit board by draw on the MSEL0 with FPGA with drop-down its downloading mode that is provided with of MSEL1 be the passive serial mode.When renewal process began, main system was passed through I 2C bus notice CPLD upgrades beginning and the fresh code segment pointer is set, and CPLD then begins from I 2Receive data on the C bus, write the above-mentioned appointed area of FLASH chip after format transformation and the encryption.Be sent completely back CPLD and read new file in download from FLASH, deciphering, format transformation passes through I 2C gives the main system verification.After verification is correct, CPLD simulation hot removal and hot insertion process send look-at-me to main system, reload driver, the sequential of the passive serial of CPLD simulation afterwards begins new file in download is sent to FPGA, FPGA downloads also not success after the trial of a certain stipulated number, assert that then file in download has damage, CPLD switches to old program storage area and downloads again, waits for main system initiation renewal next time; Otherwise think that program updates is successful.If integrated circuit board can not reach expectation function after the program updates success, can think that then there is mistake in program itself, main system will switch to old program segment and initiate a new FPGA download this moment; When the complete operate as normal of FPGA energy, then main system is exchanged old program segment pointer and new program segment pointer, and FPGA program is afterwards downloaded reading of data the program segment that will be defaulted as after upgrading.
Explanation of nouns:
The CPLD-CPLD;
The quick Erarable Programmable Read only Memory of FLASH-;
The DSP-digital signal processor;
Upgrade-new documentation of program is write the process of FLASH;
The cover bus specification that CompactPCI-one cover is formulated by group of PCI industrial computer manufacturer based on the pci bus function;
Be used for the signal of hot plug interrupt in the ENUM-CPCI bus, low level is effective, and expression has the hot plug action to take place;
Be used to show the signal of hot pluggable condition in the HSS-CPCI bus, different level is represented heat insertion and hot removal;
Download-CPLD sends to FLASH internal processes file the process of FPGA.

Claims (11)

1, program updating method of programmable device may further comprise the steps:
A. system passes through I 2C bus notifier processes device initiates to upgrade, and processing apparatus is prepared;
B. processing apparatus receives data, and storage;
C. processing apparatus reporting system, system stops the operation of programming device;
D. processing apparatus downloads to programming device with the new procedures of storing among the step b.
2, program updating method of programmable device as claimed in claim 1, among the described step a, processing apparatus is provided with zone bit and represents ready.
3, program updating method of programmable device as claimed in claim 1, among the described step b, processing apparatus receives data, and format transformation, encrypts.
4, program updating method of programmable device as claimed in claim 1, among the described step b, the memory storage space that processing apparatus uses divides work at least two parts, and a part is deposited and upgraded the program that writes, the old program that another part can normally use before depositing and upgrading.
5, program updating method of programmable device as claimed in claim 4 between described step b and the step c, also has checking procedure.
6, program updating method of programmable device as claimed in claim 5, described checking procedure is: main system is passed through I 2The C bus reads the data that newly write, and verification in addition; If correctly then the renewal of notifier processes device is finished, if incorrect then renewal once more.
7, program updating method of programmable device as claimed in claim 4, described steps d comprises:
D1. processing apparatus is notified main system;
D2. processing apparatus reads the program that newly writes, and according to the application configuration programming device that newly writes, if configuration is unsuccessful, processing apparatus reads old program, according to old application configuration programming device; If configuration successful enters next step;
D3. test programming device, if dysfunction, main system is passed through I 2C bus notifier processes device upgrades failure, and processing apparatus reads old program, according to old application configuration programming device.
8, program updating method of programmable device as claimed in claim 4 after the described steps d 3, also has steps d 4: main system is exchanged old code segment pointer position and fresh code segment pointer.
9, as the described program updating method of programmable device of above arbitrary claim, described processing apparatus is CPLD or has I 2The single-chip microcomputer of C interface, described programming device are the programming device of refreshable program code.
10, the integrated circuit board of refreshable program comprises slot, processing apparatus, programming device, storer, and processing apparatus, programming device are connected with slot, and processing apparatus is connected with programming device, and processing apparatus also is connected with storer; In being connected of processing apparatus and slot, exist based on I 2The coupling part of C bus architecture.
11, the integrated circuit board of refreshable program as claimed in claim 10, described processing apparatus are CPLD or have I 2The single-chip microcomputer of C interface, described programming device are the programming device of refreshable program code, and described storer is FLASH.
CN 200410022188 2004-04-01 2004-04-01 Programmable device program update method and board card capable of updating program Pending CN1677346A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410022188 CN1677346A (en) 2004-04-01 2004-04-01 Programmable device program update method and board card capable of updating program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410022188 CN1677346A (en) 2004-04-01 2004-04-01 Programmable device program update method and board card capable of updating program

Publications (1)

Publication Number Publication Date
CN1677346A true CN1677346A (en) 2005-10-05

Family

ID=35049880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410022188 Pending CN1677346A (en) 2004-04-01 2004-04-01 Programmable device program update method and board card capable of updating program

Country Status (1)

Country Link
CN (1) CN1677346A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426233C (en) * 2005-12-09 2008-10-15 中兴通讯股份有限公司 Method for automatically configurating programmable device by inlaid CPU
CN100428160C (en) * 2006-12-06 2008-10-22 华为技术有限公司 Method and system for on-line upgrading logic device
CN100432936C (en) * 2006-09-20 2008-11-12 华为技术有限公司 Method and system for loading FPGA target program
CN100445950C (en) * 2006-09-27 2008-12-24 华为技术有限公司 Inter-veneer data loading method and system and connection device for veneer loading
CN100498753C (en) * 2007-08-31 2009-06-10 上海广电(集团)有限公司中央研究院 Method for accessing on-site programmable gate array internal memory through I2C interface
CN1991731B (en) * 2005-12-26 2011-11-09 鸿富锦精密工业(深圳)有限公司 Chip burn-recording system
CN102280133A (en) * 2011-08-16 2011-12-14 杭州晟元芯片技术有限公司 Anti-interception code encryption burning method
CN104050006A (en) * 2014-07-02 2014-09-17 曙光信息产业(北京)有限公司 Updating system and updating method of FPGA
CN106843983A (en) * 2017-02-09 2017-06-13 深圳市风云实业有限公司 The system and method for remote upgrading field programmable gate array
CN109491679A (en) * 2017-09-08 2019-03-19 迈普通信技术股份有限公司 A kind of CPLD online upgrading method and device
CN109558158A (en) * 2019-01-30 2019-04-02 北京昊海雅正科技有限公司 The device and method of FPGA and DSP program is updated based on network
CN111709522A (en) * 2020-05-21 2020-09-25 哈尔滨工业大学 Deep learning target detection system based on server-embedded cooperation
CN112306933A (en) * 2019-07-15 2021-02-02 栾东海 Dual-bus control panel card based on PCI and PXIE

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426233C (en) * 2005-12-09 2008-10-15 中兴通讯股份有限公司 Method for automatically configurating programmable device by inlaid CPU
CN1991731B (en) * 2005-12-26 2011-11-09 鸿富锦精密工业(深圳)有限公司 Chip burn-recording system
CN100432936C (en) * 2006-09-20 2008-11-12 华为技术有限公司 Method and system for loading FPGA target program
CN100445950C (en) * 2006-09-27 2008-12-24 华为技术有限公司 Inter-veneer data loading method and system and connection device for veneer loading
CN100428160C (en) * 2006-12-06 2008-10-22 华为技术有限公司 Method and system for on-line upgrading logic device
CN100498753C (en) * 2007-08-31 2009-06-10 上海广电(集团)有限公司中央研究院 Method for accessing on-site programmable gate array internal memory through I2C interface
CN102280133A (en) * 2011-08-16 2011-12-14 杭州晟元芯片技术有限公司 Anti-interception code encryption burning method
CN104050006A (en) * 2014-07-02 2014-09-17 曙光信息产业(北京)有限公司 Updating system and updating method of FPGA
CN106843983A (en) * 2017-02-09 2017-06-13 深圳市风云实业有限公司 The system and method for remote upgrading field programmable gate array
CN109491679A (en) * 2017-09-08 2019-03-19 迈普通信技术股份有限公司 A kind of CPLD online upgrading method and device
CN109558158A (en) * 2019-01-30 2019-04-02 北京昊海雅正科技有限公司 The device and method of FPGA and DSP program is updated based on network
CN109558158B (en) * 2019-01-30 2024-05-31 北京昊海雅正科技有限公司 Device and method for updating FPGA and DSP programs based on network
CN112306933A (en) * 2019-07-15 2021-02-02 栾东海 Dual-bus control panel card based on PCI and PXIE
CN111709522A (en) * 2020-05-21 2020-09-25 哈尔滨工业大学 Deep learning target detection system based on server-embedded cooperation
CN111709522B (en) * 2020-05-21 2022-08-02 哈尔滨工业大学 Deep learning target detection system based on server-embedded cooperation

Similar Documents

Publication Publication Date Title
CN102609286B (en) A kind of FPGA configurator remote update system based on processor control and method thereof
US7772882B2 (en) Robust and economic solution for FPGA bit file upgrade
CN100474247C (en) Method for updating firmware in computer server systems
CN102609287B (en) A kind of devices and methods therefor by CPU remote update FPGA
CN200976140Y (en) System for updating on-site programmable gate array bit files
CN1677346A (en) Programmable device program update method and board card capable of updating program
CN102855146A (en) Firmware updating system and method
CN102339242A (en) Computer system data recovery device
CN101169729A (en) Embedded type system and method for renewing application program
CN101593120A (en) Be with outer upgrade method and system
CN106201590A (en) A kind of FPGA configuration file loading method and system
CN104077166A (en) EPCS and EPCQ storer online upgrading method based on IP core in FPGA
CN102346677A (en) Method for upgrading field programmable gate array (FPGA) program
CN108664264A (en) A kind of device and method remotely updating FPGA by JTAG modes based on CPU
CN109460240A (en) A kind of firmware programming component and firmware programming method, system and storage medium
CN102253845B (en) Server system
CN102520961A (en) Off-chip online programmable SOC (system on a chip) and control method for same
CN103902315A (en) System and method for online updating of multiple board cards
CN101639877B (en) Electronic device and method for updating basic input and output system thereof
CN102081526B (en) Basic input/output system architecture
CN1425963A (en) Embedded system software loading device and method
CN114594970A (en) DSP software remote upgrading system and method
CN113867741A (en) Debugging and upgrading system, method and device for extended chip
CN113835735A (en) FPGA remote upgrading method, system and storage medium
US20080184020A1 (en) Apparatus and method to update firmware disposed in multiple devices sharing a common address in a computing system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication