DE4308464A1 - Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren - Google Patents

Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren

Info

Publication number
DE4308464A1
DE4308464A1 DE19934308464 DE4308464A DE4308464A1 DE 4308464 A1 DE4308464 A1 DE 4308464A1 DE 19934308464 DE19934308464 DE 19934308464 DE 4308464 A DE4308464 A DE 4308464A DE 4308464 A1 DE4308464 A1 DE 4308464A1
Authority
DE
Germany
Prior art keywords
memory
test
checksum
addresses
lines
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.)
Ceased
Application number
DE19934308464
Other languages
English (en)
Inventor
Stefan Hohrein
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.)
Mannesmann VDO AG
Original Assignee
Mannesmann VDO AG
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 Mannesmann VDO AG filed Critical Mannesmann VDO AG
Priority to DE19934308464 priority Critical patent/DE4308464A1/de
Publication of DE4308464A1 publication Critical patent/DE4308464A1/de
Ceased legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

Die Erfindung betrifft ein Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen des Adreßbusses eines Mikroprozessors in Bezug auf einen angeschlossenen Pro­ gramm-/Datenspeicher, bei welchem zyklisch eine Testroutine mit Checksum-Bildung durchgeführt wird.
Mikroprozessoren weisen in ihrem Schaltungsaufbau eine große Komplexität auf. Es läßt sich daher nicht vorherse­ hen, wie sie auf Störungen reagieren.
Der Austausch von Daten zwischen der Recheneinheit sowie flüchtigen und nichtflüchtigen Speichern eines Mikroprozes­ sors kann durch Kurzschlüsse gegen Versorgungsspannung oder Masse bzw. zwischen einzelnen Leitungsführungen gestört sein, so daß die Funktionstüchtigkeit des Mikroprozessors nicht mehr gewährleistet ist.
Bei einem Fehler sind bestimmte Adreßbereiche nicht mehr vorhanden, während andere mehrfach erscheinen. Bei Kurz­ schluß bedeutet das, daß eine Leitung ihren Zustand nicht mehr wechseln kann oder mehrere Leitungen immer den glei­ chen Zustand aufweisen.
Um die Funktionstüchtigkeit des Mikroprozessors zu überprü­ fen, ist es üblich, über den gesamten Adreßbereich einen ROM-Test mit Checksum-Bildung durchzuführen, was eine lange Rechen- und Fehlerreaktionszeit zur Folge hat. Da diese Tests sehr zeitaufwendig sind, sind sie für eine Dauerüber­ wachung des Mikroprozessors ungeeignet.
Aus sicherheitsrelevanten Gründen wird daher die Fehler­ überwachung des Mikroprozessors während des Betriebes über externe Mechanismen abgedeckt.
sind z. B. sogenannte Watchdog-Schaltungen bekannt, bei welchen bei ungestörtem Programmablauf ein Rückssetzimpuls ausgelöst wird. Ist der Programmablauf des Prozessors ge­ stört, unterbleibt der Rücksetzimpuls und eine Fehlerreak­ tion wird aktiviert.
Der Nachteil dieser Anordnung besteht in dem zusätzlichen schaltungstechnischen Aufwand der externen Überwachung bzw. der externen Baugruppen, die die Reaktion bewirken (Endstufenabschaltung etc.)
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren an­ zugeben, bei welchem die Funktionstüchtigkeit des Adreß- Busses eines Mikroprozessors überprüft wird, wobei die Recheneinheit möglichst gering belastet wird und eine ge­ ringe Fehlerreaktionszeit gewährleistet ist.
Erfindungsgemäß wird die Aufgabe dadurch gelöst, daß eine begrenzte Anzahl von Adressen des Speichers abgefragt wird, auf deren Grundlage eine Checksum-Bildung erfolgt und deren Ergebnis mit einem abgespeicherten Wert verglichen wird, wobei nach der ersten Abfrage eine den gesamten Adreßraum des Speichers ansprechende Abfrage durchgeführt wird.
Der Vorteil der Erfindung besteht darin, daß der Prozessor selbst die Abfrage vornimmt, ohne daß zusätzlicher externer schaltungstechnischer Aufwand notwendig ist.
Über einen laufzeitintensiven Test werden die Grundlagen für die Funktionstüchtigkeit eines schnellen Tests sicher­ gestellt und ab diesem Zeitpunkt nur noch schnelle Tests durchgeführt.
Aufgrund der kurzen Reaktionszeit kann der Test häufig wie­ derholt werden, was insbesondere für sicherheitstechnische Anwendungen wichtig ist.
Vorteilhafterweise wird der Speicherbereich in zwei Hälften aufgeteilt, wobei aus diesen jeweils die andere Speicher­ hälfte geprüft wird. Mit dieser Maßnahme wird sicher­ gestellt, daß nicht gerade die Testroutine aufgrund eines Defektes ausgeblendet wird.
In einer Ausgestaltung wird bei jeder Abfrage eine be­ grenzte Anzahl anderer Adressen des Speichers aktiviert. Dadurch wird die Wahrscheinlichkeit erhöht, ein zuverläs­ siges Testergebnis zu erhalten.
Bei der Abfrage von Adressen im Schreib-Lese-Speicher wird die ausgewählte Menge an Adressen vor der Checksum-Bildung gesichert, zum Ablauf des Tests manipuliert und zumindest bei positivem Testergebnis wieder in den Schreib-Lese-Spei­ cher rückgeführt. Dadurch wird gewährleistet, daß die im Speicher enthaltenen flexiblen Daten nicht zerstört werden. Bei positivem Testergebnis stehen die Daten zur weiteren Verarbeitung zur Verfügung.
Erfindung läßt verschiedene Ausführungsformen zu. Eine davon soll anhand der Figuren der Zeichnung näher erläutert werden. Es zeigt:
Fig. 1 Daten- und Adreßleitungen innerhalb eines Mikro­ prozessorsystems,
Fig. 2 Programmablauf des erfindungsgemäßen Verfahrens.
Ein Mikroprozessor besteht, wie aus Fig. 1 ersichtlich, aus einer Recheneinheit CPU, einem RAM als Arbeitsspeicher und einem ROM als nichtflüchtigen Speicher, die über Daten- und Adreßbusse miteinander verbunden sind und dadurch Informa­ tionen austauschen. Bei Systemen mit gemultiplextem Adreß- /Datenbus ist zusätzlich ein Latch vorhanden.
Der Ablauf des Testverfahrens ist in Fig. 2 dargestellt. Dem vorliegenden Beispiel liegt ein Mikroprozessor mit ei­ nem ROM zugrunde, dessen Speicherkapazität 128 KByte be­ trägt. Dies bedeutet, daß 17 Adreßleitungen in dem System vorhanden sind. Für die Durchführung des Testes werden die neun vorhandenen oberen Adreßleitungen benutzt. Dadurch ergibt sich ein unterer Adreßraum von 28 = 256 Byte.
In einem ersten Schritt 31 wird das Ergebnisregister ge­ löscht und im Schritt 32 der Schleifenzähler initialisiert.
Anschließend wird in einer Schleife 33, 34, 35 ein Checksum gebildet, bis der gewünschte Adreßraum bei Schritt 35 abgearbeitet ist. Bei der Checksumbildung 33 wird jeweils ein Byte aus dem unteren Adreßraum (bei 8 Bit → pro 256 Byte je ein Byte) Modulo 16 aufaddiert.
Beim allerersten Durchlauf 36 wird dieses Ergebnis im RAM für alle weiteren Tests abgelegt (Schritt 36, 37)
Um sicherzustellen, daß dieser erste Test nicht schon ein falsches Ergebnis geliefert hat, wird nach dem oben be­ schriebenen allerersten Durchlauf noch ein "konventioneller" ROM-Test 38 durchgeführt, d. h. eine Checksum über alle Bytes des Adreßraumes, dessen Ergebnis durch Vergleich 39 mit der im EPROM abgelegten Checksum festgestellt wird.
Ist der konventionelle ROM-Test negativ, so erfolgt ein Programmabbruch (Fehlerreaktion).
Bei positivem Testergebnis wird das Programm normal weiter­ laufen.
Ist es nicht der "1. Durchlauf" 36, so wird sofort der Ver­ gleich 40 mit der im Speicher abgelegten Checksum durchgeführt und gegebenenfalls verzweigt.
Somit reicht ein Test aus, der eine Kontrolle des Vorhan­ denseins der richtigen Adreßräume vornimmt, um die Funk­ tionstüchtigkeit des ROM festzustellen.
Dieses Verfahren hat den Vorteil, daß es im Normalbetrieb schnell ist, da nur noch ein Bruchteil (z. B. 1/256) des ROM-Umfanges gelesen und aufaddiert werden muß.
Für einen Prozessor wie den 80C166 [40 MHz] von Siemens wäre bin Aufwand von ca. 2 × 26 Byte Code und ca. 0,1 msec pro 100 msec Laufzeit notwendig, um bei einem 128 KByte ROM eine Reaktionszeit von 200 msec zu garantieren.
Beim Intel 8096 [12 MHz] sind bei einer Reaktionszeit von 200 msec 2 × 19 Byte und ca. 1,3 msec/100 msec Laufzeit notwendig.
Um sicherzustellen, daß nicht gerade die ROM-Testroutine aufgrund eines Defektes ausgeblendet wurde, wird der ROM- Bereich in zwei Hälften aufgeteilt und aus diesem heraus wird jeweils die andere Hälfte geprüft.
Eine Verbesserung der Zuverlässigkeit des Testes wird er­ reicht, wenn durch einfache Manipulation der Adreßrechnung eine "wandernde" Position des Adreßpointers innerhalb ei­ nes 256-Byte-Adreßraumes hervorgerufen wird.
Denkbar ist dabei, daß ohne größeren Aufwand der Offset zwischen zwei aufeinanderfolgenden CHECK-Bytes nicht 256, sondern eine beliebige Zahl, z. B. 257 oder 248 beträgt.
Bei geringen Änderungen läßt sich dieses Verfahren auch für RAM-Bereiche anwenden. Hier muß lediglich die Checksum-Bil­ dung durch einen modifizierten RAM-Test ergänzt werden. Da­ bei wird zuerst je ein Byte eines Adreßraumes gesichert und die Zellen mit einer fortlaufenden Nummer beschrieben. In einem zweiten Durchlauf werden die Nummern geprüft und im 3. Durchlauf schließlich der Urzustand wieder herge­ stellt. Der Code- und Laufzeitaufwand ist relativ zum ROM- Test höher, aber aufgrund der normalerweise wesentlich kleineren RAM-Bereiche ebenfalls noch effektiv genug, um befriedigende Ergebnisse zu liefern.

Claims (4)

1. Verfahren zur Erkennung von Hardwarefehlern auf den Lei­ tungen eines Adreßbusses in Mikroprozessoren in Bezug auf einen angeschlossenen Programm-/Datenspeicher, bei welchem zyklisch eine Testroutine mit Checksum-Bildung durchgeführt wird, dadurch gekennzeichnet, daß eine begrenzte Anzahl von Adressen des Speichers abgefragt wird, auf deren Grundlage eine Checksum-Bildung erfolgt, deren Ergebnis mit einem ab­ gespeicherten Wert verglichen wird, wobei nach der ersten Abfrage eine den gesamten Adreßraum des Speichers anspre­ chende Abfrage durchgeführt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Speicherbereich in zwei Hälften aufgeteilt wird, wobei aus diesem jeweils die andere Speicherhälfte geprüft wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeich­ net, daß bei jeder Abfrage eine begrenzte Anzahl anderer, relativer Adressen des Speichers aktiviert wird.
4. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeich­ net, daß bei der Abfrage der Adressen von Schreib-Lese- Speichern die ausgewählte Menge an Adressen vor der Checksum-Bildung gesichert, zum Ablauf des Tests manipu­ liert und zumindest bei positivem Testergebnis wieder in den Schreib-Lese-Speicher rückgeführt wird.
DE19934308464 1993-03-17 1993-03-17 Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren Ceased DE4308464A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19934308464 DE4308464A1 (de) 1993-03-17 1993-03-17 Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19934308464 DE4308464A1 (de) 1993-03-17 1993-03-17 Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren

Publications (1)

Publication Number Publication Date
DE4308464A1 true DE4308464A1 (de) 1994-09-22

Family

ID=6483026

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19934308464 Ceased DE4308464A1 (de) 1993-03-17 1993-03-17 Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren

Country Status (1)

Country Link
DE (1) DE4308464A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10058220A1 (de) * 2000-11-23 2002-05-29 Daimler Chrysler Ag Verfahren zum Betreiben einer einen Datenspeicher aufweisenden Vorrichtung

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3709524A1 (de) * 1987-03-23 1988-10-06 Bosch Gmbh Robert Verfahren zur ueberpruefung der speicherzelleninhalte eines programmspeichers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3709524A1 (de) * 1987-03-23 1988-10-06 Bosch Gmbh Robert Verfahren zur ueberpruefung der speicherzelleninhalte eines programmspeichers

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DIEHL, Werner: Mikroprozessoren und Mikrocomputer,Würzburg 1977, Vogel-Verlag, S. 14 *
HÖLSCHER, H. und RADER, J.: Mikrocomputer in der Sicherheitstechnik, Köln 1984, Verlag TÜV Rhein- land, S. 7-37 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10058220A1 (de) * 2000-11-23 2002-05-29 Daimler Chrysler Ag Verfahren zum Betreiben einer einen Datenspeicher aufweisenden Vorrichtung

Similar Documents

Publication Publication Date Title
DE3111447C2 (de)
DE3842289C2 (de) Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE4100151C2 (de)
WO2000070620A1 (de) Speicheranordnung mit adressverwürfelung
DE3227292C2 (de)
DE2906789B2 (de)
EP2539899B1 (de) Verfahren zur überprüfung der funktionsfähigkeit eines speicherelements
DE4107558A1 (de) Verfahren und vorrichtung zum schutz der daten eines rom
EP1444700A2 (de) Speichertest
DE4308464A1 (de) Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren
EP0151810B1 (de) Verfahren und Schaltungsanordnung zum Prüfen eines Programms in Datenverarbeitungsanlagen
EP0353660B1 (de) Verfahren zur Fehlersicherung in Speichersystemen von Datenverarbeitungsanlagen, insbesondere Fernsprechvermittlungsanlagen
DE10127194B4 (de) Verfahren und Vorrichtung zum Ausblenden von nicht funktionstüchtigen Speicherzellen
DE102006004168A1 (de) Überprüfung eines Adressdecoders
DE4429633C2 (de) Verfahren und Vorrichtung zur Überwachung von Speicherzellen eines Speichers
DE4303406C2 (de) Verfahren zur Inhaltsänderung eines Registers eines Mikrocomputers
DE3433679A1 (de) Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere von steuerbits in als cache-speicher arbeitenden pufferspeichern einer datenverarbeitungsanlage
EP0613077B1 (de) Verfahren zur Reset-Erzeugung in Datenverarbeitungsanlagen
DE102017115057B4 (de) Verfahren zur Überprüfung sicherheitsrelevanter Register- oder Speicherzellen auf Stuck-At-Fehler im Betrieb durch Vergleich zweier Schreibvorgänge mit unterschiedlichem Inversionsstatus
DE102017115058B4 (de) Verfahren zur Überprüfung sicherheitsrelevanter Register- oder Speicherzellen auf Stuck-At-Fehler im Betrieb und Herbeiführung der Ausfallsicherheit
EP0645710A2 (de) Verfahren zur Funktionsprüfung signaltechnisch nicht sicherer Speicher für mindestens zweikanalig abgespeicherte Nutzdaten und Einrichtung zur Durchführung des Verfahrens
DE60209201T2 (de) Verfahren zum Speichern von Registereigenschaften in einer Datenstruktur und dazugehörige Datenstruktur
DE10128996B4 (de) Verfahren und Vorrichtung zur Überwachung von Speicherzellen eines flüchtigen Datenspeichers
DE10206189A1 (de) Speichertest

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: MANNESMANN VDO AG, 60326 FRANKFURT, DE

8131 Rejection