![]() Verfahren zur Aktualisierung der Betriebssoftware für eine Einrichtung mit einem programmierbaren Lo
专利摘要:
Die Erfindung betrifft ein Verfahren zur Aktualisierung der Betriebssoftware für eine Einrichtung mit einem programmierbaren Logikbaustein, einem sogenannten FPGA, dessen Programmcode in einem elektrisch löschbar programmierbaren Festwertspeicher (EEPROM) abgelegt ist. Der Festwertspeicher ist zur Aufnahme einer Mehrzahl von Programmversionen geeignet. Es werden bedarfsweise aufeinanderfolgend mehrere Versionen der Betriebssoftware in den Festwertspeicher geschrieben, wobei jeweils ältere Versionen durch neue Versionen überschrieben werden. Beim Laden einer Version der Betriebssoftware aus dem Festwertspeicher wird deren Gültigkeit überprüft und bei vorliegender Ungültigkeit einer geladenen Version umlaufend die im Festwertspeicher nachfolgende Version der Betriebssoftware geladen. 公开号:DE102004030230A1 申请号:DE200410030230 申请日:2004-06-23 公开日:2006-01-19 发明作者:Andreas Dipl.-Ing. Goers;Helmut Dipl.-Ing. Michel 申请人:ABB Patent GmbH; IPC主号:G11C16-02
专利说明:
[0001] DieErfindung betrifft ein Verfahren zur Aktualisierung der Betriebssoftwarefür eineEinrichtung mit einem programmierbaren Logikbaustein, einem sogenanntenFPGA. [0002] Inder Mess-, Steuer- und Regelungstechnik ist die Ausfallsicherheitund das Wiederanlaufverhalten ein wichtiger Aspekt für einensicheren Betrieb. Diese Forderungen insbesondere der chemischen Industriesind dafürverantwortlich, dass bei programmierbarer Logik bisher stets elektrischlöschbarprogrammierbare Nur-Lese-Speicher,sogenannte EEPROM, sowie Antifuse basierte Techniken eingesetzt wurden.Damit steht die korrekte Logikfunktion sofort nach dem Einschaltenzur Verfügung. [0003] BausteinegroßerKomplexität,wie FPGA's (FieldProgrammable Gate Arrays), und kurzen Durchlaufzeiten stehen bisweilenin der nur einmal programmierbaren Antifuse – Technologie bereit. [0004] AntifusebasierteFPGA's werden aufeinem speziellen Programmiergerätprogrammiert und danach auf der Leiterplatte bestückt. Wirdein Fehler im FPGA entdeckt, ist ein Austausch des FPGA's nötig. Derdamit verbundene Aufwand – dazuzählen mindestensaber nicht abschließend:Gerät einschicken, Bereitstellungeines Ersatzgeräts,Entlötendes FPGAs, Bestückendes neuen FPGAs, erneute Fertigungsendtests sowie Wärmedauerläufe – verursachenenorme Kosten. [0005] Darüber hinaussind SRAM-basierten FPGAs bekannt, bei denen bisher verwendete Antifuse FPGAsin ein SRAM-basiertes FPGA integriert sind. Ein solches FPGA istbeispielsweise der Baustein SPARTAN II der Firma Xilinx. [0006] DasSRAM-basierte FPGA ist nach dem Einschalten der Betriebsspannungin einem definierten aber nicht programmierten Zustand. Dabei sindalle Ein-/Ausgabe-Leitungenhochohmig geschaltet. Danach wird die Programmierung ewartet. DasFPGA kann sowohl übereinen seriellen Datenstrom als auch über einen parallelen Datenstromprogrammiert werden. Überdrei Mode-Pins wird dem FPGA mitgeteilt, auf welche Weise der Ladevorganginitiiert wird. [0007] Indie Daten sind Kennungen und CRC-Prüfsummen eingearbeitet, dieeine korrekte Datenübertragunghoch wahrscheinlich machen. Sind die Daten korrekt übertragenund in das FPGA programmiert, wird das durch einen bestimmten Zustandvon zwei Handshake-Leitungen (DONE, INIT) signalisiert. [0008] Solleine Reprogrammierung im System erfolgen, so wird in der Regel einwiederprogrammierbares serielles EEPROM verwendet, dass mit entsprechenderZusatzlogik im Betrieb programmiert wird. Erst bei einem Neustartwird das FPGA mit dem neuen Inhalt geladen. Dann erst zeigt sichob die Datenübertragungin das serielle EEPROM fehlerfrei funktioniert hat. Hat sich einFehler eingeschlichen, oder wurde die Versorgungsspannung während es Updatesunterbrochen, ist der Betrieb der Einrichtung bis zum Austauschdes EEPROM unterbrochen. Ein fehlgeschlagenes Update des FPGA-Programm-Imageund der damit einhergehende Stillstand der Anlage wird jedoch vomAnlagenbetreiber nicht toleriert. [0009] Darüber hinausist es bekannt, aktualisierte Betriebssoftware über ein Kommunikationsnetzwerk zuladen. [0010] DerErfindung liegt die Aufgabe zugrunde, sowohl ein Update des FPGA-Programm-Images fehlertolerantim laufenden System zu realisieren als auch ein gesichertes Anlaufverhaltenzu gewährleisten. [0011] Erfindungsgemäß wird dieseAufgabe mit den Merkmalen des Patentanspruchs 1 gelöst. VorteilhafteAusgestaltungen der Erfindung sind in den rückbezogenen Ansprüchen angegeben. [0012] DieErfindung geht von Einrichtung mit einem programmierbaren Logikbaustein(FPGA), dessen Programmcode in einem elektrisch löschbar programmierbarenFestwertspeicher (EEPROM) abgelegt ist, dessen Kapazität zur Aufnahmeeiner Mehrzahl von Programmversionen geeignet ist, aus. Darüber hinausist die Einrichtung zumindest temporär an ein Kommunikationsnetzwerkanschließbar. [0013] Nachden Merkmalen der Erfindung werden bedarfsweise aufeinanderfolgendmehrere Versionen der Betriebssoftware in den Festwertspeicher geschrieben.Dabei werden jeweils ältereVersionen durch neue Versionen überschrieben.Beim Laden einer Version der Betriebssoftware aus dem Festwertspeicherwird deren Gültigkeit überprüft und beivorliegender Ungültigkeiteiner geladenen Version wird umlaufend die im Festwertspeicher nachfolgende, ältere Versionder Betriebssoftware geladen. [0014] Damitwird bei Erkennung einer beschädigtenVersion auf eine frühereVersion der Betriebssoftware zurückgefallen.Dadurch wird erreicht, dass jedenfalls ein gesichertes Anlaufender Einrichtung gewährleistetist. [0015] DieErfindung wird nachstehend anhand eines Ausführungsbeispiels näher erläutert. [0016] Ausgehendvon einem fürsich bekannten programmierbaren Logikbaustein, nachstehend als FPGAbezeichnet, ist als Programmspeicher ein Flash-EPROM vorgesehenund mit dem FPGA verbunden. Die Betriebssoftware wird in Form einessogenannten Programm-Image in den Speicher geschrieben. [0017] Dabeiist eine parallele Programmierung des FPGAs vorgesehen. Vorteilhafterweiseist ein Flash-EPROM deutlich preiswerter als ein serielles EEPROM.Darüberhinaus ist die Programmierung eines Flash-EPROMs über einDownload vom Ethernet eine seit vielen Jahren erprobte Praxis. [0018] Vorteilhafterweisekann dabei die Aktualisierung zu jedem beliebigen Zeitpunkt über dieEthernetschnittstelle des Geräteserfolgen, ohne dass Servicearbeiten nötig sind oder gar die Zuverlässigkeit derLötstellenerneut überprüft werdenmuss. [0019] Erfindungsgemäß sind mehrereProgramm-Images fürdas FPGA im Adressraum eines Flash-EPROMs hintereinander abgelegt.Beim Laden eines Programm-Images werden die Handshake-Leitungen überwacht.Aus dem Zustand dieser Handshake-Leitungen ist das korrekte oderfehlerhafte Laden eines Programm-Images erkennbar. [0020] Wirdein Programm-Image beim Laden als defekt erkannt, wird auf die nächste Bankumgeschaltet. Als Bank wird dabei ein Adressraum bezeichnet, derein vollständigesProgramm-Image beinhaltet und gleichzeitig ein ganzzahliges Vielfaches dervorhandenen Sektorgröße des Flash-EPROMs ist. [0021] Für bekannteFlash-EPROMs ist eine Sektorgröße von 64kByte typisch. [0022] Beieiner Größe des Programm-Imagevon 1040096 Bit ergibt sich demnach eine Bankgröße von 128 kByte. Ein handelsüblicher4 Megabit (512k × 8)Flash-EPROM ist demnach in 4 Bänkeaufgeteilt. [0023] DieWeiterschaltung von einer Bank zur nächsten erfolgt nach einem „roundrobin" – Verfahren.Soweit auch die letzte Bank als defektes Programm-Image erkanntwird, wird wieder bei der ersten begonnen. Bei einer Aktualisierungdes Programm-Image werden nur die für eine Bank relevanten Sektorengelöscht.Andere Bänke,in denen ältere Versionenoder der Auslieferungszustand „factory default" enthalten sind,bleiben unberührt.Tritt ein Fehler beim Löschenoder Programmieren auf, beispielsweise durch Ausfall der Versorgungsspannung während derAktualisierung, so wird auf das nächste Programm-Image zurückgefallen.Damit ist stets ein sicherer Start der Anlage gewährleistetund es kann ein weiterer Versuch für eine Aktualisierung unternommenwerden. Im Auslieferungszustand enthalten alle Banks das gleicheProgramm-Image. [0024] Gegenstandder Erfindung ist weiterhin die Rücklesbarkeit der Bank, vonder das FPGA geladen wurde. Ist die Bank von der das FPGA geladenwurde nicht gleich der ersten im Flash abgelegten, ist das ein Hinweisauf einen fehlgeschlagenen Aktualisierungsversuch signalisierbarund kann alarmiert werden.
权利要求:
Claims (3) [1] Verfahren zur Aktualisierung der Betriebssoftwarefür eineEinrichtung mit einem programmierbaren Logikbaustein (FPGA), dessenProgrammcode in einem elektrisch löschbar programmierbaren Festwertspeicher(EEPROM) abgelegt ist, dessen Kapazität zur Aufnahme einer Mehrzahlvon Programmversionen geeignet ist, wobei die Einrichtung zumindesttemporäran ein Kommunikationsnetzwerk anschließbar ist, dadurch gekennzeichnet, – dass bedarfsweiseaufeinanderfolgend mehrere Versionen der Betriebssoftware in denFestwertspeicher geschrieben werden, wobei jeweils ältere Versionendurch neue Versionen überschriebenwerden, – dassbeim Laden einer Version der Betriebssoftware aus dem Festwertspeicherderen Gültigkeit überprüft wirdund – dassbei vorliegender Ungültigkeiteiner geladenen Version umlaufend die im Festwertspeicher nachfolgendeVersion der Betriebssoftware geladen wird. [2] Verfahren nach Anspruch 1 dadurch gekennzeichnet,dass neue Versionen der Betriebssoftware über das Kommunikationsnetzwerkheruntergeladen werden. [3] Verfahren nach Anspruch 1 dadurch gekennzeichnet,dass geprüftwird, welche Version der Betriebssoftware geladen ist und dass beivon der ersten im Festwertspeicher liegenden Version abweichendenVersion signalisiert wird.
类似技术:
公开号 | 公开日 | 专利标题 US8055957B2|2011-11-08|Semiconductor integrated circuit device having fail-safe mode and memory control method JP4213585B2|2009-01-21|Fpga集積回路におけるストリームファイルのための暗号化方法 US7991988B2|2011-08-02|Communication device and firmware update method thereof US5901320A|1999-05-04|Communication system configured to enhance system reliability using special program version management US5734868A|1998-03-31|Efficient in-system programming structure and method for non-volatile programmable logic devices CN100545817C|2009-09-30|用于提高数据可靠性的数据管理技术 US7050859B1|2006-05-23|Systems and methods to port controller state and context in an open operating system US7000161B1|2006-02-14|Reconfigurable programmable logic system with configuration recovery mode EP1199726B1|2004-08-25|Verfahren und Vorrichtung zur Prüfung von integrierten Schaltkreisen CN103299276B|2016-08-31|嵌入式装置的软件更新过程 US7451366B2|2008-11-11|Nonvolatile memory devices with test data buffers and methods for testing same US6629259B2|2003-09-30|Method for automatically duplicating a BIOS KR100311292B1|2002-02-28|삭제가능 비휘발성 메모리의 완전한 재프로그램방법 US6009496A|1999-12-28|Microcontroller with programmable embedded flash memory TW589535B|2004-06-01|Method and apparatus for in-system programming through a common connection point of programmable logic devices on multiple circuit boards of a system KR20000011182A|2000-02-25|대규모메모리용비아이에스티회로 US20060248172A1|2006-11-02|Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine TWI363960B|2012-05-11|Processing system and processing method thereof KR100634414B1|2006-10-16|에러 검출용 패러티 발생기를 구비한 낸드 플래시 메모리 장치 및 그것의 에러 검출 방법 US6757204B2|2004-06-29|Circuit device having a fuse DE102006033649B4|2015-02-12|Speicherbauelement und Verfahren zum Konfigurieren eines Speicherbauelements US6711056B2|2004-03-23|Memory with row redundancy US20040202034A1|2004-10-14|Nonvolatile memory with error correction for page copy operation and method thereof US7664923B2|2010-02-16|Method and system for updating software US7675313B1|2010-03-09|Methods and systems for storing a security key using programmable fuses
同族专利:
公开号 | 公开日 DE102004030230B4|2006-12-21|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2006-01-19| OP8| Request for examination as to paragraph 44 patent law| 2007-06-14| 8364| No opposition during term of opposition| 2008-04-30| 8327| Change in the person/name/address of the patent owner|Owner name: ABB AG, 68309 MANNHEIM, DE |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 DE200410030230|DE102004030230B4|2004-06-23|2004-06-23|Verfahren zur Aktualisierung der Betriebssoftware für eine Einrichtung mit einem programmierbaren Logikbaustein|DE200410030230| DE102004030230B4|2004-06-23|2004-06-23|Verfahren zur Aktualisierung der Betriebssoftware für eine Einrichtung mit einem programmierbaren Logikbaustein| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|