DE19525100A1 - Verfahren zur On-Board-Programmierung eines elektrisch programmierbaren Nur-Lese-Speichers - Google Patents
Verfahren zur On-Board-Programmierung eines elektrisch programmierbaren Nur-Lese-SpeichersInfo
- Publication number
- DE19525100A1 DE19525100A1 DE1995125100 DE19525100A DE19525100A1 DE 19525100 A1 DE19525100 A1 DE 19525100A1 DE 1995125100 DE1995125100 DE 1995125100 DE 19525100 A DE19525100 A DE 19525100A DE 19525100 A1 DE19525100 A1 DE 19525100A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- eprom
- data
- ram
- read
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Read Only Memory (AREA)
Description
Die Erfindung betrifft ein Verfahren zur Programmierung eines elektrisch
programmierbaren Nur-Lese-Speichers, im folgenden als EPROM bezeichnet, der in
einer Mikrorechnerschaltung als Programmspeicher physisch fest eingebunden ist und
während der Programmierung in dieser Mikrorechnerschaltung verbleibt, wobei der die
Mikrorechnerschaltung bestimmende Mikroprozessor eine explizite, hardwaremäßig
integrierte Trennung zwischen einem Schreib-Lese-Speicher, im folgenden als RAM
bezeichnet, und dem Programmspeicher aufweist und bei dem Datenspeicher und
Programmspeicher identische Adressbereiche überstreichen und ausschließlich über
eigene Steuersignale differenziert ansprechbar sind. Derartige Mirkoprozessoren sind
beispielsweise als INTEL 8051 beziehungsweise INTEL 8032 bekannt und werden
üblicherweise zu Steuerungszwecken verwendet.
Bei der Aktualisierung der Systemsoftware in Einrichtungen, deren Steuerung mit
derartigen Mikroprozessoren aufgebaut ist, wird das in der Einrichtung befindliche
EPROM physisch gegen einen die aktuelle Systemsoftware beinhaltenden EPROM
ausgetauscht. Dazu ist die Einrichtung erforderlichenfalls soweit zu zerlegen, daß das
EPROM zugänglich ist. Insbesondere in komplexen Anlagen mit einer Vielzahl
derartiger Einrichtungen ist die Aktualisierung der Systemsoftware sehr aufwendig und
zeitintensiv. Darüber hinaus ist dafür zumindest ein Teil der Anlage spannungsfrei zu
schalten, wobei ein durch die Anlage zu steuernder Prozeß zumindest teilweise zu
unterbrechen ist.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren anzugeben, das es
gestattet, ein EPROM in einer Mikrorechnerschaltung, bei der der die
Mikrorechnerschaltung bestimmende Mikroprozessor eine explizite, hardwaremäßig
integrierte Trennung zwischen einem Programmspeicher und einem Datenspeicher
aufweist und bei dem Datenspeicher und Programmspeicher identische
Adressbereiche überstreichen und ausschließlich über Steuersignale differenzierbar
sind, im eingebauten Zustand zu programmieren.
Erfindungsgemäß wird diese Aufgabe mit den Mitteln des Patentanspruches 1 gelöst.
Vorteilhafte Ausgestaltungen der Erfindung sind in den Patentansprüchen 2 bis 4
genannt.
Die Erfindung wird nachstehend anhand eines Ausführungsbeispiels näher erläutert.
Dabei wird auf einen Mikroprozessor vom Typ INTEL 8032 Bezug genommen. Die
dazu erforderlichen Zeichnungen zeigen
Fig. 1 einen Adreßplan des Mikroprozessors im Normalbetrieb
Fig. 2 einen Adreßplan des Mikroprozessors in der Betriebsart
"Programmiermodus".
Der Mikroprozessor weist einen 16 bit breiten Adreßbus und einen 8 bit breiten
Datenbus auf und ist in der Lage, zwei physisch getrennte, direktadressierbare
Speicherbereiche, die jeweils ein Speichervolumen von 64 K * 8 bit umfassen, zu
verwalten, von denen der eine als Codebereich C im Adreßbereich 0000 bis FFFF
über ein Steuersignal PSEN ausschließlich zum Lesen selektierbar ist und der andere
gemäß Fig. 1 als Datenbereich D im Adreßbereich 0000 bis FFFF über Steuersignale
zum Lesen RD und Schreiben WR selektierbar ist, wobei alle Adreßangaben
hexadezimal notiert sind.
Der Codebereich C ist physisch durch ein EPROM als Codespeicher dargestellt, das
als sogenanntes Flash-EPROM ausgeführt ist. Der Datenbereich D ist im Bereich der
Adressen 0000 bis 7FFF für Ein-/Ausgabeleitungen E/A reserviert und im
Adressbereich 8000 bis FFFF zur temporären Datenspeicherung mit einem
Datenspeicher RAM, der als statischer Datenspeicher SRAM ausgeführt ist,
ausgestattet.
Diese Konfiguration entspricht der herstellerseitig zum bestimmungsgemäßen
Gebrauch vorgeschlagenen Applikation und wird im folgenden als Betriebsart
"Normalbetrieb" bezeichnet.
Im Normalbetrieb führt der Mikroprozessor Codesequenzen, die im EPROM des
Codebereiches C gespeichert sind, in der vorgesehenen Reihenfolge aus. Die Adresse
der aktuell ausgeführten Codesequenz im Codebereich C wird durch einen
Befehlszeiger BZ, das ist ein Register mit der Breite des Adreßbusses im
Mikroprozessor, repräsentiert. Dabei werden im Datenbereich D
Ein-/Ausgabeleitungen E/A lesend und schreibend bedient und Daten im
Datenspeicher RAM gespeichert und ausgelesen.
Zum Programmieren des Codespeichers EPROM, bei dem auf den Codespeicher
EPROM schreibend zugegriffen werden soll, werden in einem ersten Schritt ladbare
Codesequenzen aus einer beliebigen Quelle in den Datenspeicher RAM geschrieben,
wobei die Betriebsart Normalbetrieb eingestellt ist. Die Codesequenzen zur
Ausführung dieses Schrittes sind im Codespeicher EPROM gespeichert.
In einem zweiten Schritt wird bei der Ausführung von Instruktionen aus dem
Programmspeicher in eine zweite Betriebsart, im folgenden als Programmiermodus
bezeichnet, gewechselt. Dazu wird gemäß Fig. 2 der Codespeicher EPROM in den
Datenbereich D unter Beibehaltung seiner Adressen 0000 bis FFFF umgeblendet und
der Datenspeicher RAM aus dem Adreßbereich 8000 bis FFFF des Datenbereichs D in
den Adreßbereich 0000 bis 7FFF des Codebereiches C umgeblendet. Der
Ein/-Ausgabebereich E/A ist im Programmiermodus ausgeblendet und daher nicht
adressierbar. Während des Programmierens werden Ein-/Ausgabeprozeduren
unterbunden. Der Wert des Befehlszählers BZ bleibt dabei erhalten. Im
Programmiermodus wird der Datenspeicher RAM als Codespeicher mit den
zugehörigen Steuersignalen und der Codespeicher EPROM als Datenspeicher mit den
prozessorseitig zum Datenspeicher gehörigen Steuersignalen angesprochen. Die
Ausführung von Instruktionen wird an der durch den Befehlszähler bezeichneten
Adresse im Codebereich C, in dem nunmehr der RAM adressiert wird, fortgesetzt.
In einem dritten Schritt wird der nunmehr als Datenspeicher betriebene EPROM
zumindest teilweise gelöscht. Bekannte EPROMs sind vor einem Überschreiben
bereits gespeicherter Informationen zumindest in dem zu überschreibenden
Adreßbereich zu löschen. Sobald EPROMs verfügbar werden, deren
Speicherzelleninhalte direkt überschreibbar sind, werden der dritte und der folgende
vierte Schritt gleichzeitig ausgeführt, in dem die ladbaren Codesequenzen aus dem
RAM im Codebereich C in den EPROM im Datenbereich D beginnend mit einer
vorgebbaren Startadresse kopiert werden.
Abschließend wird in einem fünften Schritt aus der Betriebsart Programmiermodus in
den Normalbetrieb zurückgewechselt, indem die Steuersignale für den Datenspeicher
RAM und den Codespeicher EPROM rückvertauscht werden, so daß der
Ausgangszustand, dessen Adreßplan in Fig. 1 angegeben ist, wiederhergestellt ist.
In Abarbeitung der Codesequenzen wird an der im Befehlszähler stehenden Adresse,
die nunmehr wieder auf eine Speicherstelle im Codespeicher EPROM zeigt,
fortgesetzt.
Zum vollständigen Austausch der im Codespeicher EPROM ablegbaren
Codesequenzen werden die Schritte 1 bis 5 in Abhängigkeit von der Größe des in
einem Schrittezyklus übertragbaren Codeblocks wiederholt.
Vorteilhafterweise verbleibt der Codespeicher EPROM zum Zwecke seiner
Programmierung in der ihn aufweisenden Einrichtung. Dieser Vorteil kommt
insbesondere zum Tragen in dezentral strukturierten und hierarchisch organisierten
Steuerungen mit einer Vielzahl von sogenannten Controllern, das sind autark
funktionsfähige Mikrorechnereinheiten, insbesondere mit Mikroprozessoren der
Familien INTEL 8051 oder INTEL 8032, beim Austausch der Betriebssoftware. Dabei
entfällt das zumindest teilweise Abschalten oder Unterbrechen des zu steuernden
Prozesses, da die Programmierung in Pausen zwischen zwei aufeinanderfolgenden,
prozeßbezogenen Aktivitäten des Mikroprozessors durchgeführt werden kann.
In weiterer Ausgestaltung der Erfindung ist vorgesehen, daß zum Wechsel zwischen
der ersten und der zweiten Betriebsart ein Steuersignal generiert wird. Dieses
Steuersignal wird in Abarbeitung einer Codesequenz erzeugt und über einen
Anschlußstift des Mikroprozessors ausgegeben. In Abhängigkeit vom Zustand dieses
Steuersignals werden die Zugriffssignale für den Datenspeicher RAM und den
Codespeicher EPROM vertauscht und entsprechend dem jeweiligen Speichertyp
angepaßt.
In besonderer Ausgestaltung wird das Steuersignal zum Wechsel der Betriebsarten
über einen der Ein-/Ausgabeanschlüsse des Mikroprozessors ausgegeben, der
unabhängig von dem Ein-/Ausgabebereich E/A im Datenbereich D ist.
In besonders vorteilhafter Ausgestaltung der Erfindung werden die ladbaren
Codesequenzen, die in dem Codespeicher EPROM geschrieben werden sollen, von
einem externen Datenbus in den Datenspeicher RAM geschrieben. Über diesen
Datenbus ist eine Vielzahl von Controllern gleichzeitig mit den aktuellen
Codesequenzen der Betriebssoftware versorgbar. Dabei werden in der Zeiteinheit, die
zur Programmierung eines Codespeichers EPROM benötigt wird, sämtliche
Codespeicher EPROM der selektierten Controller programmiert.
Claims (4)
1. Verfahren zur On-Board-Programmierung eines elektrisch programmierbaren
Nur-Lese-Speichers als Programmspeicher mit einem und für einen
Mikroprozessor, der eine explizite, hardwaremäßig integrierte Trennung
zwischen einem als Schreib-Lese-Speicher ausgeführten Datenspeicher und
dem Programmspeicher aufweist, wobei Datenspeicher und Programmspeicher
identische Adreßbereiche überstreichen und ausschließlich über eigene
Steuersignale differenziert ansprechbar sind und der Mikroprozessor neben
Datenanschlüssen, Adreßanschlüssen und Steuersignalanschlüssen mit Ein-/Ausgabeanschlüssen
ausgestattet ist,
dadurch gekennzeichnet,
- - daß in einem ersten Schritt in einer ersten Betriebsart "Normalbetrieb" ladbare Codesequenzen aus einer beliebigen Quelle in den Datenspeicher geschrieben werden,
- - daß in einem zweiten Schritt bei der Ausführung von Instruktionen aus dem Programmspeicher in eine zweite Betriebsart "Programmiermodus" gewechselt wird, in der temporär die Steuersignale für den Datenspeicher und für den Programmspeicher unter Anpassung an den Speichertyp vertauscht werden, wodurch der elektrisch programmierbare Nur-Lese-Speicher zum Datenspeicher und der Schreib-Lese-Speicher zum Programmspeicher wird,
- - daß in einem dritten Schritt der elektrisch programmierbare Nur-Lese-Speicher zumindest selektiv gelöscht wird,
- - daß in einem vierten Schritt die ladbaren Codesequenzen aus dem Schreib-Lese-Speicher in den gelöschten Bereich des elektrisch programmierbaren Nur-Lese-Speichers kopiert werden und
- - daß in einem fünften Schritt aus der zweiten in die erste Betriebsart zurückgewechselt wird, indem die Steuersignale für den Datenspeicher und für den Programmspeicher rückvertauscht werden.
2. Verfahren nach Anspruch 1
dadurch gekennzeichnet,
daß zum Wechsel zwischen der ersten und der zweiten Betriebsart ein
Steuersignal generiert wird.
3. Verfahren nach Anspruch 2
dadurch gekennzeichnet,
daß das Steuersignal zum Wechsel der Betriebsarten über einen der Ein-/Ausgabeanschlüsse
ausgegeben wird.
4. Verfahren nach Anspruch 1
dadurch gekennzeichnet,
daß die ladbaren Codesequenzen von einem externen Datenbus in den
Datenspeicher geschrieben werden.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19525100A DE19525100C2 (de) | 1995-06-29 | 1995-06-29 | Verfahren zur On-Board-Programmierung eines elektrisch programmierbaren Nur-Lese-Speichers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19525100A DE19525100C2 (de) | 1995-06-29 | 1995-06-29 | Verfahren zur On-Board-Programmierung eines elektrisch programmierbaren Nur-Lese-Speichers |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19525100A1 true DE19525100A1 (de) | 1997-01-09 |
DE19525100C2 DE19525100C2 (de) | 2001-10-18 |
Family
ID=7766460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19525100A Expired - Lifetime DE19525100C2 (de) | 1995-06-29 | 1995-06-29 | Verfahren zur On-Board-Programmierung eines elektrisch programmierbaren Nur-Lese-Speichers |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19525100C2 (de) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19701323A1 (de) * | 1997-01-16 | 1998-07-23 | Hartmann & Braun Gmbh & Co Kg | Verfahren und Vorrichtung zur Aktualisierung der Betriebssoftware |
DE19701322A1 (de) * | 1997-01-16 | 1998-07-23 | Hartmann & Braun Gmbh & Co Kg | Verfahren zur Aktualisierung der Betriebssoftware |
EP1209688A1 (de) * | 2000-11-23 | 2002-05-29 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Aktualisierung von Lesedateien in einem FLASH-Speicher einer industriellen Steuereinrichtung |
DE102007037879A1 (de) * | 2007-08-10 | 2009-02-12 | BSH Bosch und Siemens Hausgeräte GmbH | Hausgerät und Verfahren zum Betreiben eines Hausgeräts |
US7580992B2 (en) | 1999-09-29 | 2009-08-25 | Fisher Controls International Llc | Downloadable code in a distributed process control system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10255542B4 (de) * | 2002-11-28 | 2015-11-12 | Abb Ag | Speicheranordnung für eine Mikrorechnerschaltung |
DE10255540A1 (de) * | 2002-11-28 | 2004-06-24 | Abb Patent Gmbh | Verfahren zur Aktualisierung des Betriebssystems einer Mikrorechnerschaltung |
DE10255541B4 (de) * | 2002-11-28 | 2015-05-21 | Abb Ag | Speicheranordnung für eine Mikrorechnerschaltung |
DE10255539A1 (de) * | 2002-11-28 | 2004-06-24 | Abb Patent Gmbh | Verfahren zur Inbetriebnahme einer Mikrorechnerschaltung |
-
1995
- 1995-06-29 DE DE19525100A patent/DE19525100C2/de not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
US IBM TDB Vol. 27 Nr. 10A, März 1985, S. 5826 f * |
US-Z.: Electronic Design, H. 21, Oktober 1983, S. 145-150 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19701323A1 (de) * | 1997-01-16 | 1998-07-23 | Hartmann & Braun Gmbh & Co Kg | Verfahren und Vorrichtung zur Aktualisierung der Betriebssoftware |
DE19701322A1 (de) * | 1997-01-16 | 1998-07-23 | Hartmann & Braun Gmbh & Co Kg | Verfahren zur Aktualisierung der Betriebssoftware |
DE19701322C2 (de) * | 1997-01-16 | 2002-10-10 | Abb Patent Gmbh | Verfahren zur Aktualisierung der Betriebssoftware |
DE19701323C2 (de) * | 1997-01-16 | 2002-11-14 | Abb Patent Gmbh | Verfahren und Vorrichtung zur Aktualisierung der Betriebssoftware |
DE19701323C5 (de) * | 1997-01-16 | 2006-06-08 | Abb Patent Gmbh | Verfahren und Vorrichtung zur Aktualisierung der Betriebssoftware |
US7580992B2 (en) | 1999-09-29 | 2009-08-25 | Fisher Controls International Llc | Downloadable code in a distributed process control system |
EP1209688A1 (de) * | 2000-11-23 | 2002-05-29 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Aktualisierung von Lesedateien in einem FLASH-Speicher einer industriellen Steuereinrichtung |
DE102007037879A1 (de) * | 2007-08-10 | 2009-02-12 | BSH Bosch und Siemens Hausgeräte GmbH | Hausgerät und Verfahren zum Betreiben eines Hausgeräts |
Also Published As
Publication number | Publication date |
---|---|
DE19525100C2 (de) | 2001-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69209538T2 (de) | Automatische Konfiguration einer Einheit für koppelbare Rechner | |
DE2646162C3 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE3687787T2 (de) | Speicherzugriff-steuerungsschaltung. | |
DE10308545A1 (de) | Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms | |
EP0500973B1 (de) | EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM | |
EP1113362B1 (de) | Integrierter Halbleiterspeicher mit einer Speichereinheit zum Speichern von Adressen fehlerhafter Speicherzellen | |
DE19525100C2 (de) | Verfahren zur On-Board-Programmierung eines elektrisch programmierbaren Nur-Lese-Speichers | |
DE3314976C2 (de) | ||
DE69033031T2 (de) | Programmierbares Steuergerät | |
DE2064473B2 (de) | Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenden, gesuchten Information | |
DE68925376T2 (de) | In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas | |
DE69326329T2 (de) | Speicherzellen-Stromleseverfahren in Mikrosteuergerät | |
DE3210616A1 (de) | Rechner | |
EP0203409A1 (de) | Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes eines digitalen Zählers | |
DE1296429B (de) | Datenbearbeitungsanlage | |
DE19701323C5 (de) | Verfahren und Vorrichtung zur Aktualisierung der Betriebssoftware | |
DE4117326C2 (de) | Röntgentechnische Einrichtung | |
EP0443070B1 (de) | Anordnung zum Prüfen der Funktionsfähigkeit von Speicherplätzen eines Schreib-Lese-Speichers | |
DE2219070C3 (de) | Anordnung zur Steuerung von Programmverschiebungen und zur Wiedereingabe von Unterprogrammen bei einer mit Multiprogrammierung arbeitenden digitalen Datenverarbeitungsanlage | |
EP0645710A2 (de) | Verfahren zur Funktionsprüfung signaltechnisch nicht sicherer Speicher für mindestens zweikanalig abgespeicherte Nutzdaten und Einrichtung zur Durchführung des Verfahrens | |
EP0613077B1 (de) | Verfahren zur Reset-Erzeugung in Datenverarbeitungsanlagen | |
DE4107007A1 (de) | Elektronisches geraet | |
DE10255542B4 (de) | Speicheranordnung für eine Mikrorechnerschaltung | |
EP0326803B1 (de) | Anordnung zur Erweiterung eines Befehlsspeicherbereichs | |
DE10255541B4 (de) | Speicheranordnung für eine Mikrorechnerschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 9/22 |
|
8127 | New person/name/address of the applicant |
Owner name: ABB PATENT GMBH, 68309 MANNHEIM, DE |
|
D2 | Grant after examination | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: ABB PATENT GMBH, 68526 LADENBURG, DE |
|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: ABB AG, 68309 MANNHEIM, DE |
|
R071 | Expiry of right |