-
Stand der Technik
-
Die vorliegende Erfindung betrifft
ein Verfahren zum Prüfen
der Unversehrtheit einer Busverbindung zwischen einem Speicherbaustein
und einem Prozessor. Eine solche Busverbindung umfasst wenigstens
eine erste Anzahl von Adressleitungen, über die der Prozessor dem Speicherbaustein
die Adresse einer Speicherzelle signalisiert, deren Inhalt auf den Datenbus
ausgegeben werden soll, um vom Prozessor gelesen zu werden, oder
die mit einem vom Prozessor auszugebenden Datenwert beschrieben
werden soll, und eine zweite Anzahl von Datenleitungen, auf denen
zwischen Prozessor und Speicherbaustein übertragen werden.
-
Störungen einer solchen Busverbindung
treten auf, wenn wenigstens eine der Adressen- oder Datenleitungen
unterbrochen, mit Masse oder Versorgungsspannung oder mit einer
anderen Leitung kurzgeschlossen ist. Wenn ein solcher Fehler vorliegt,
kommt es im allgemeinen zu einem Absturz des Prozessors. Insbesondere
um bei sicherheitskritischen Anwendungen das Risiko eines solchen
Absturzes zu minimieren, sind Verfahren zum Prüfen der Unver sehrtheit einer
Busverbindung bekannt, die es einem Prozessor ermöglichen,
z. B. beim Hochfahren die Unversehrtheit der Busverbindung zu überprüfen und,
wenn ein Defekt der Busverbindung festgestellt wird, das Hochfahren
abzubrechen und/oder eine Fehlermeldung zu erzeugen.
-
Es sind Prüfverfahren bekannt, bei denen Defekte
der Verbindung erkannt werden, indem der Inhalt von einzelnen, vorab
festgelegten Speicherplätzen
des Speicherbausteins gelesen wird und die Unversehrtheit des Busses
anhand der Leseergebnisse bejaht oder verneint wird. Um eine solche
Prüfung
durchführen
zu können,
werden herkömmlicherweise
an bestimmten Speicherstellen eines solchen Speicherbausteins ausgewählte Bitmuster
fest eingetragen, und diese werden gelesen, um die Unversehrtheit
der Busverbindung zu beurteilen. Um eine sichere Beurteilung der
Busverbindung zu ermöglichen,
müssen
folgende Anforderungen erfüllt
sein:
- a) Auf jeder Adressleitung muss einmal
High- und einmal Low – Pegel
ausgegeben werden, (während
die anderen Adressleitungen gleich bleiben), und die mit High – Pegel
bzw. Low – Pegel
gelesenen Datenwerte müssen
sich unterscheiden;
- b) Alle Datenleitungen müssen
einmal High- und einmal Low – Pegel
aufweisen; und
- c) alle Paare voneinander auf der Busverbindung benachbarten
Leitungen müssen
zumindest einmal unterschiedliche Pegellage haben.
-
Aus diesen Anforderungen ergeben
sich diverse Probleme. Insbesondere ergibt sich aus der Anforderung
a) die Notwendigkeit, dass die zu lesenden Spei cherstellen über den
gesamten Adressraum des Speicherbausteins verstreut sein müssen. Diese Speicherstellen
stehen zum Aufnehmen von Programmanweisungen oder Daten nicht mehr
zur Verfügung.
Da sie an fest vorgegebenen Stellen im Speicher sitzen, ergeben
sich erhebliche Probleme bei der Entwicklung von Anwendungen. Bei
der Entwicklung von Anwendungsprogrammen muss berücksichtigt
werden, an welcher Stelle sich im Speicherbaustein sich die beim
Prüfvorgang
zu lesenden Informationen befinden. Diese dürfen nicht mit Code oder Daten
eines Anwendungprogramms überschrieben
werden, da anderenfalls die Prüfung
der Unversehrtheit des Busses falsche Ergebnisse liefern kann. Das
Schreiben von Code, der die Prüfinformationen
enthaltenden Speicherstellen „umgeht", ist sehr aufwendig,
da relokatierbarer Code, d.h. Code, der nur relative Verweise wie
etwa mit Bezug auf den Wert des Programmzählers definierte Sprungbefehle enthält, die
Lage der Prüfinformationen
nicht berücksichtigen
kann. Der Code muss daher speziell an denjenigen Speicherort angepasst
geschrieben werden, an dem er sich bei der fertigen Anwendung befinden
soll. Bei einer Verschiebung von Code im Speicher, die im Laufe
des Softwareentwicklungsprozesses öfters auftreten kann, muss
die Lage der Prüfinformationen
in jedem Einzelfall berücksichtigt
werden und Sprungbefehle müssen
an sie angepasst werden.
-
Vorteile der
Erfindung
-
Ein wesentlicher Vorteil des erfindungsgemäßen Verfahrens
ist, dass es nicht das Vorhandensein von festgelegten Bitmustern
an bestimmten Speicherplät zen
des Speicherbausteins erfordert, um die Unversehrtheit der Busverbindung
beurteilen zu können.
Vielmehr können
beliebige Speicherplätze
des Speicherbausteins gelesen und ausgewertet werden, ohne dass
spezifische Anforderungen an deren Inhalt zu stellen wären. Das
Verfahren kann daher an einem beliebigen Speicherbaustein durchgeführt werden,
vorausgesetzt, es besteht eine ausreichende Diversität der an
den einzelnen Speicherplätzen
gespeicherten Datenwerte. Da die Datenwerte für das erfindungsgemäße Prüfverfahren
beliebig sein können,
kann es sich insbesondere um Programmbefehle oder Daten für ein Anwendungsprogramm
handeln.
-
Gemäß einer ersten Ausgestaltung
der Erfindung ist es möglich,
festzustellen, ob die einzelnen Adressleitungen der Busverbindung
zur Masse oder zur Versorgungsspannung kurzgeschlossen sind, ohne
dass weitreichende Annahmen über
die zur Beurteilung herangezogenen Datenwerte gemacht werden müssten. Der
Ablauf des Verfahrens ist wie folgt:
- a) es
werden zwei Adressen erzeugt, die sich in genau einem Bit unterscheiden;
- b) die zwei Adressen werden auf dem Adressbus ausgegeben;
- c) die vom Speicherbaustein anhand der zwei Adressen auf den
Datenbus gegebenen Datenwerte werden verglichen.
-
Wenn die zwei Datenwerte sich unterscheiden,
so bedeutet dies, dass die unterschiedlichen Werte des einen Bits
tatsächlich
den Speicherbaustein erreicht haben und dort zwei verschiedene Speicherstellen
mit unterschiedlichen Inhalten adressiert haben. In diesem Fall
kann man folgern, dass das betreffende Bit wohl weder mit Masse
noch mit Versorgungsspannung kurzgeschlossen ist.
-
Unterscheiden sich die gelesenen
Datenwerte jedoch nicht, so kann dies entweder daran liegen, das
die an den betreffenden Speicherstellen gespeicherten Datenwerte
tatsächlich
gleich sind, oder eine Unterbrechung oder ein Kurzschluss der Datenleitung
hat bewirkt, das den beiden Fällen
identische Adressinformationen vom Speicherbaustein empfangen wurde.
Um diese zwei Fälle
zu unterscheiden, werden erfindungsgemäß die Schritte des Ausgebens
der zwei sich in einem Bit unterscheidenden Adressen und des Vergleichens
der daraufhin empfangenen Datenwerte mit anderen Paaren von Adressen
wiederholt. Wenn dann festgestellt wird, dass sich die empfangenen
Daten unterscheiden, so kann gefolgert werden, dass die dem variierten Adressbit
entsprechende Adressleitung der Busverbindung in Ordnung ist; bleibt
das Verändern
der Adresse auf Dauer erfolglos, im Extremfall, bis sämtliche
Adressen des Speicherbausteins durchprobiert worden sind, so muss
ein Defekt der Busverbindung angenommen werden.
-
Theoretisch ist zwar der Fall denkbar,
dass alle Speicherstellen des Speicherbausteins den gleichen Inhalt
haben; in diesem Falle würde
gegebenenfalls auch ein Fehler der Busverbindung angenommen. Dieser
Fall ist jedoch ohne praktische Bedeutung, da bei einem nichtflüchtigen
Speicher mit einer realistischen Größe die Wahrscheinlichkeit, dass
alle gespeicherten Datenwerte identisch sind, vernachlässigbar
ist, und bei einem flüchtigen
Speicher vor Durchführung
des Verfahrens eine Initialisierung vorgenommen werden kann, um
den Fall sämtlich
identischer Datenwerte auszuschließen.
-
In ähnlicher Weise wie die Überprüfung der Adressleitungen
auf Verbindungen zur Masse oder zur Versorgungsspannung kann auch
eine Überprüfung der
Adressleitungen auf Kurzschlüsse
untereinander stattfinden. Dieses Verfahren umfasst die Schritte:
- a) Erzeugen von wenigstens drei Adressen, die sich
in genau zwei Bits unterscheiden;
- b) ausgeben der erzeugten Adressen auf den Adressbus;
- c) Vergleichen der vom Speicherbaustein anhand der ausgegebenen
Adressen auf den Datenbus gegebenen Datenwerte;
- d) wenn die in Schritt c) enthaltenen Datenwerte sich sämtlich unterscheiden,
Feststellen, dass die den variierten Bits entsprechenden Leitungen
des Adressbusses nicht untereinander kurzgeschlossen sind;
- e) wenn die in Schritt c) erhaltenen Datenwerte sich nicht unterscheiden,
Erzeugen von wenigstens drei neuen Adressen, die sich in den gleichen Bits
unterscheiden, und Zurückkehren
zu Schritt b);
- f) wenn Schritt b) eine vorgegebene Zahl von Malen wiederholt
worden ist, ohne dass die erhaltenen Datenwerte unterschiedlich
waren, Feststellen, dass die Busverbindung defekt ist.
-
Die Zahl der in Schritt b) ausgegebenen Adressen
muss wenigstens drei betragen, um die Möglichkeit eines Kurzschlusses
verneinen zu können,
da im Falle eines Kurzschlusses der zwei geprüften Adressleitungen untereinander
die Zahl der vom Speicherbaustein zurückgegebenen unterschiedlichen
Datenwerte immer noch zwei betragen kann. Vorzugsweise werden jedoch
in Schritt b) vier Adressen ausgegeben, da anderenfalls unterschiedliche
Stärken
der Treiber der Adressleitung dazu führen könnten, dass trotz Vorhandensein
eines Kurzschlusses der Speicherbaustein unterschiedliche Adressen
erkennt.
-
Die vorgegebene Zahl von Wiederholungen des
Schritts b) kann im Prinzip willkürlich gewählt werden, je nach gewünschter
Erkennungssicherheit des Verfahrens. Vorzugsweise wird man den Schritt so
oft wiederholen, bis der gesamte Adressraum des Speicherbausteins
durchgetestet worden ist und keine sich in zwei Bits unterscheidenden
Adressen gefunden worden sind, deren Ausgabe auf den Adressbus dazu
geführt
hat, das sämtlich
unterschiedliche Datenwerte vom Speicherbaustein zurück gegeben wurden.
-
Die oben beschriebene Überprüfung des Vorhandenseins
von Kurzschlüssen
zwischen Adressleitungen kann für
alle Kombinationen von zwei Bits des Adressbusses durchgeführt werden, um
maximale Sicherheit zu erzielen. Um die Ausführungszeit des Verfahrens zu
verkürzen,
kann man sich allerdings auch darauf beschränken, nur diejenigen Kombinationen
von zwei Bits zu testen, die einander körperlich benachbarten Adressleitungen
der Busverbindung entsprechen.
-
Zweckmäßigerweise werden die oben
beschriebenen Verfahren zum Überprüfen der
Adressleitungen auf Unterbrechung oder Masse- und Versorgungskurzschlüsse einerseits
und auf Kurzschlüsse
untereinander andererseits miteinander verzahnt, indem, falls zwei
der im oben definierten Schritt c) verglichenen Datenwerte sich
unterscheiden, die sich jeweils in einem Bit unterscheidenden Adressen
entsprechen, gleichzeitig festgestellt wird, dass die diesem Bit
entsprechende Adressleitung weder unterbrochen noch mit Masse oder
Versorgungsspannung kurzgeschlossen ist. So werden zur Durchführung von
beiden Überprüfungen im
Allgemeinen nicht mehr Lesevorgänge
benötigt,
als nur zur Überprüfung auf
Vorhandensein von Kurzschlüssen
der Datenleitungen untereinander.
-
Zur Überprüfung der Unversehrtheit der
Busverbindung gehört
auch die Überprüfung der
Unversehrtheit jeder einzelnen Datenleitung. Auch hier können einerseits
Unterbrechungen oder Kurzschlüsse
zu Masse oder Versorgungsspannung oder andererseits Kurzschlüsse untereinander
vorliegen. Erfindungsgemäß wird das
Vorhandensein von Unterbrechungen und Kurzschlüssen zu Masse oder Versorgungsspannung
abgeprüft,
indem mehrere Datenwerte aus dem Speicherbaustein gelesen und bitweise
verglichen werden. Wenn dabei ein Bit gefunden wird, das bei allen
gelesenen Datenwerten gleich ist, wird entweder weiter gelesen und
verglichen, oder, wenn alle Datenwerte des Speicherbausteins gelesen
worden sind, wird festgestellt, das die Busverbindung defekt ist.
-
Diese Überprüfung ist einfach durchführbar unter
Verwendung von zwei Registern, wobei in einem ersten Register ein
Bit gesetzt wird, wenn das entsprechende Bit eines gelesenen Datenwerts
den Wert 1 hat und in dem zweiten Register ein Bit gesetzt wird,
wenn einem gelesenen Datenwert das entsprechende Bit den Wert 0
hat. Voraussetzung dafür,
das die Unversehrtheit des Datenbusses bejaht werden kann, ist,
dass im Laufe der Überprüfung in
beiden Registern alle Bits gesetzt worden sind, die einem Bit der
Datenwerte entsprechen.
-
Die Überprüfung der Datenleitungen auf Kurzschlüsse untereinander
läuft ähnlich ab
wie die Überprüfung auf
Unterbrechungen und Kurzschlüsse zur
Masse oder Versorgungsspannung. Es wird ein Datenwert aus dem Speicherbaustein
gelesen, und Bits des Datenwerts werden paarweise verglichen. Dabei
können
alle möglichen
Bitpaare verglichen werden, die aus dem Datenwert gebildet werden
können,
oder der Vergleich kann auf diejenigen Bitpaare beschränkt werden,
die einander körperlich
benachbarten Datenleitungen der Busverbindung entsprechen. Wenn
der Vergleich ergibt, das zwei Bits existieren, die bei allen bisher
gelesenen Datenwerten paarweise gleich sind, so wird entweder das
Lesen und Vergleichen fortgesetzt, oder, wenn alle Datenwerte des
Speicherbausteins gelesen worden sind, muss festgestellt werden,
das die Busverbindung defekt ist.
-
Sobald zu allen zu untersuchenden
Bitpaaren Datenwerte gefunden worden sind, bei denen sich die Werte
der Bitpaare unterscheiden, kann das Vorhanden sein von Kurzschlüssen der
Datenleitungen untereinander verneint werden.
-
Weitere Merkmale und Vorteile der
Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen
im Bezug auf die beigefügten
Figuren.
-
Figuren
-
Es zeigen:
-
1 eine
schematische Darstellung eines Datenverarbeitungsystemes mit einem
Prozessor und einem Speicherbaustein, die durch einen zu überprüfenden Bus
verbunden sind;
-
2 ein
Flussdiagramm eines Verfahrens zum Überprüfen der Unversehrtheit der
Adressleitungen; und
-
3 ein
Flussdiagramm eines Verfahrens zum Überprüfen der Unversehrtheit der
Datenleitungen der Busverbindung.
-
Beschreibung
der Ausführungsbeispiele
-
In dem Blockdiagramm der 1 ist ein Mikroprozessor
mit 1, ein erster Speicherbaustein mit 2 und ein
zweiter Speicherbaustein mit 3 bezeichnet. Die drei Komponenten
sind durch ein Bussystem 4 verbunden, welches n Adressleitungen 5,
m Datenleitungen 6 sowie Steuerleitungen 7 umfasst.
Der erste Spei cherbaustein 2 enthält ein Prüfprogramm, das vom Mikroprozessor 1 abgearbeitet
wird, um den Zustand der Busverbindung 4 zum zweiten Speicherbaustein 3 zu überprüfen. Die
Busverbindung zwischen Mikroprozessor 1 und ersten Speicherbaustein 2 wird
als intakt vorausgesetzt; diese zwei Komponenten können z.
B. auf einem gemeinsamen Halbleitersubstrat integriert sein, um
das Risiko von Störungen
dieser Verbindung zu minimieren. Die Busverbindung zwischen dem
Mikroprozessor 1 und dem ersten Speicherbaustein 2 erstreckt
sich z.B. über
eine Leiterplatte oder über
einen Steckverbinder.
-
Bei dem zweiten Speicherbaustein 3 kann
es sich z. B. um einen Nur-Lese-Speicher (ROM) oder einen Flash-Speicherchip
handeln, in dem ein von dem Mikroprozessor 1 auszuführendes
Anwendungsprogramm, Parameter dafür oder allgemeiner Daten enthalten
sind, die vom Mikroprozessor 1 unter normalen Betriebsbedingungen
nicht verändert
werden. Es könnte
sich aber auch um einen flüchtigen Speicherbaustein
(RAM) handeln, dessen Speicherplätze
nach Einschalten des Mikroprozessorssystems zufällige, unterschiedliche Werte
enthalten oder die vor Durchführung
des Prüfverfahrens
vom Mikropozessor 1 mit unterschiedlichen Datenwerten initialisiert
worden sind (wobei im Falle einer Störung der Busverbindung diese
Initialisierung natürlich
fehlgeschlagen ist).
-
Wie bereits eingangs angemerkt, umfasst eine
Prüfung
der Busverbindung zwischen Mikroprozessor 1 und Speicherbaustein 3 auf
Unversehrtheit eine Prüfung
der Adressleitungen einerseits und der Daten leitungen andererseits.
(Eine eigene Prüfung der
Steuerleitungen 7 ist nicht erforderlich, da im Falle eines
Defekts der Steuerleitungen Versuche, den Speicherbaustein 3 zu
lesen, ohnehin scheitern und somit auch bei der Prüfung der
Adress- und Datenleitungen Fehler erkannt werden.) Aus Gründen der Übersichtlichkeit
werden die Prüfung
der Adressleitungen und die Prüfung
der Datenleitungen getrennt anhand der zwei Flussdiagramme der 2 bzw. 3 beschrieben. Es versteht sich allerdings
dabei, dass beide Verfahren in der Weise ineinander greifen können, dass
ein in einem einzelnen Lesevorgang gelesener Wert sowohl zur Beurteilung
der Unversehrtheit der Datenleitungen als auch der Adressleitungen herangezogen
werden kann.
-
2 zeigt
das Flussdiagramm des Verfahrens zur Beurteilung der Adressleitungen.
In einem ersten Verfahrensschritt A1 wird ein erstes Paar von Adressleitungen
i, j aus den n Adressleitungen ausgewählt, die auf Kurzschlüsse und
Verbindungsfehler überprüft werden
sollen. In Schritt A2 werden Pegel, 0 oder 1, für die n-2 übrigen Adressleitungen ak; k = 0,1...n-1; i ≠ k ≠ j, festgelegt.
-
In Schritt A3 gibt der Mikroprozessor 1 die vier
Adressen, die durch Variieren der Adressbits ai, aj bei Konstanthaltung der übrigen Adressbits
gebildet werden können,
nacheinander auf den Adressbus aus und erfasst die daraufhin vom
Speicherbaustein 3, zurückgegenen
Datenwerte D00, D01, D10, D11.
-
Wenn in Schritt A4 festgestellt wird,
das alle diese vier Datenwerte ungleich sind, so kann daraus gefolgert
werden, dass die vom Mikroprozessor 1 ausgegebenen Adressen
den Speicherbaustein 3 unverfälscht erreicht haben, und dass
infolge dessen weder eine Unterbrechung noch ein Kurzschluss der Adressleitungen
ai, aj zur Versorgungsspannung oder
zur Masse vorliegt, noch dass die Adressleitungen ai,
aj untereinander kurz geschlossen sind (A5). Wenn
von den vier empfangenen Datenwerten wenigstens zwei gleich sind,
kann diese Feststellung nicht mit Gewissheit getroffen werden. In
diesem Fall überprüft der Mikroprozessor
in Schritt A6, ob noch eine Kombination von Pegeln der von i und
j verschiedenen Adressbits gebildet werden kann. Wenn ja, kehrt
das Verfahren mit dieser Kombination zu Schritt A2 zurück. Wenn
nein, wird angenommen, dass eine der zwei Adressleitungen ai, aj defekt ist, und
eine Fehlermeldung wird erzeugt (A8).
-
Wenn jedoch festgestellt worden ist,
das die zwei Adressleitungen ai, aj funktionieren, so prüft der Mikroprozessor 1 im
nächsten
Schritt A7, ob noch ein weiteres Paar von Indices i, j existiert,
das durchgeprüft
werden muss. Wenn ja, kehrt das Verfahren zu Schritt A1 zurück und setzt
die Überprüfung für die neuen
Indices i, j fort. Wenn kein solches Paar mehr vorhanden ist, ist
der Adressbus unversehrt.
-
Welche Paare von Indices i, j geprüft werden, kann
von der physikalischen Struktur der zu überprüfenden Busverbindung abhängig gemacht
werden. Wenn die Busverbindung lediglich über eine Leiterplatte verläuft, kann
man sich darauf beschränken, nur
diejenigen Paare von Adressleitungen ai,
aj zu überprü fen, die
auf der Leiterplatte unmittelbar benachbart verlaufen. D. h. man
wird im Allgemeinen der Reihe nach die Paare a0,
al; a1, a2;... an-2, an-1 prüfen.
Wenn die Busverbindung zusätzlich über einen Steckverbinder
verläuft,
werden zweckmäßigerweise zusätzlich auch
diejenigen Paare von Adressleitungen untersucht, die einander im
Steckverbinder benachbart sind, oder es werden sämtliche möglichen Kombinationen von zwei
Adressleitungen untersucht.
-
Das Flussdiagramm der 3 veranschaulicht das Verfahren
zur Überprüfung der
Unversehrtheit der Datenleitungen. In einem ersten Schritt D1 werden
drei Register REG0, REG1, REG2 auf Null gesetzt. REG0 und REG1 haben
jeweils m Bits entsprechend der Anzahl der Datenleitungen 6.
(Selbstversändlich
kann aus technischen Gründen
die Bitzahl der Register REG0, REG1 auch größer als m sein; die überzähligen Register
sind dann jedoch keiner Datenleitung zugeordnet und werden nicht
genutzt und im folgenden nicht weiter betrachtet.) Das Register
REG2 hat m(m-1)/2 Bits, von denen jedes einer anderen Kombination
di, dj von Datenleitungen, 0 ≤ i < m, zugeordnet ist.
-
In Schritt D2 wird an einem Speicherplatz des
Speicherbausteins 3 mit der Adresse a ein Datenwert d gelesen.
Dieser Leseschritt kann identisch sein mit einem der Lesevorgänge des
Schritts A3 aus 2, d.
h. die im Verfahren der 2 gelesenen Datenwerte
können
nebenher zur Durchführung
des Verfahrens der 3 genutzt
werden.
-
In Schritt D3 wird der Inhalt des
Registers REG0 mit dem negierten gelesenen Datenwert d oder – verknüpft und das Register REG0 mit
dem erhaltenen Ergebnis überschrieben.
In gleicher Weise wird der Wert im Register REG1 mit d oder – verknüpft und
das Register REG1 mit dem Ergebnis überschrieben. Das Register
REG0 enthält
daraufhin in allen Bits eine 1, die im Datenwert d den Wert 0 hatten,
und im Register REG1 haben alle Bits den Wert 1, die auch im Datenwert
d den Wert 1 hatten.
-
Anschließend tritt das Verfahren in
eine Schleife ein, in der für
alle Bits REG2k des Registers REG2, die
den Wert 0 haben, überprüft wird,
ob die dem Bit k zugeordnete Kombination i, j von Datenbits des
Datenwerts d gleich oder ungleich ist (D5). Wenn die entsprechenden
Datenbits di, dj des
Datenwerts d gleich sind, kehrt das Verfahren unmittelbar zu Schritt D4
zurück,
wo ein neuer Wert des Index k ausgewählt wird. Wenn in D5 festgestellt
wird, das ai ≠ aj ist,
dann wird das entsprechende Bit REG2k des
Registers REG2 auf 1 gesetzt (D6), und das Verfahren kehrt zu Schritt
D4 zurück.
-
Wenn in D4 festgestellt wird, das
keine zu überprüfenden Bits
REG2k des Registers REG2 mehr übrig sind,
wird in Schritt D7 geprüft,
ob alle m Bits des Registers REG0, die einer Datenleitung entsprechen,
den Wert 1 angenommen haben. Wenn dies nicht der Fall ist, so bedeutet
dies, das wenigstens ein Datenbit existiert, das in allen bisher
gelesenen Datenwerten d den Wert 1 hatte, so dass von diesem Bit
nicht ausgeschlossen werden kann, dass es mit der Versorgungsspannung
kurzgeschlossen ist. In diesem Fall geht das Verfahren zu Schritt
D10 über.
In Schritt D10 wird überprüft, ob es
noch einen ungelesenen Speicherplatz im Speicherbaustein 3 gibt.
Wenn ja, so kehrt das Verfahren zu Schritt D2 zurück, und
ein weiterer Datenwert d wird gelesen. Wenn nein, so wird ein Defekt
der Datenleitungen angenommen, und das Verfahren schließt mit einer Fehlermeldung
ab.
-
Wenn festgestellt wird, das alle
Bits von REG0 den Wert 1 haben, wird in Schritt D8 in gleicher Weise
geprüft,
ob alle Bits von REG1 den Wert 1 angenommen haben. Ist dies nicht
der Fall, so bedeutet dies, dass wenigstens ein Bit existiert, das
bei allen bislang gelesenen Datenwerten den Wert 0 hatte, und für das ein
Kurzschluss nach Masse nicht ausgeschlossen werden kann. Das Verfahren
geht dann über
zu Schritt D10.
-
Wenn sich erweist, das alle Bits
von REG1 den Wert 1 haben, so wird in Schritt D9 eine entsprechende
Prüfung
auch für
das Register REG2 vorgenommen. Wenn dieses Register noch Bits mit
Wert 0 enthält,
so bedeutet dies, dass wenigstens zwei Datenbits existieren, die
bei allen bislang gelesenen Datenwerten gleich waren und von denen
somit nicht ausgeschlossen werden kann, das sie untereinander kurzgeschlossen
sind. Auch in diesem Fall geht das Verfahren über zu Schritt D10. Wenn jedoch
auch die Bits von REG2 sämtlich
den Wert 1 angenommen haben, kann angenommen werden, das der Datenbus unversehrt
ist, und das Verfahren endet erfolgreich.
-
Wenn die Verfahren der 2 und 3 gemeinsam auf gleiche gelesene Datenwerte
zugreifen, so ist nicht gewiss, das beide Verfahren gleichzeitig erfolgreich
abschließen.
In einem solchen Fall wird das noch nicht erfolgreich abgeschlossene
Verfahren fortgesetzt, bis es entweder zu einem erfolgreichen Abschluss
gelangt oder alle Speicherplätze
des Speicherbausteins gelesen worden sind und ein Defekt sicher
festgestellt werden kann. Wenn dabei das Verfahren der 2, bei dem die Speicherplätze nicht
der Reihe nach gelesen werden, als erstes erfolgreich endet, kann
man im Verfahren der 3 damit
beginnen, in den einzelnen Wiederholungen von Schritt D2 die Speicherplätze des
Speicherbausteins 3 der Reihe nach vom Anfang bis zum Ende
zu lesen, so dass, wenn das Ende der Speicherplätze erreicht ist und immer
noch nicht alle Bits der Register REG0, REG1, REG2 den Wert 1 angenommen
haben, sicher festgestellt werden kann, dass ein Defekt im Adressbus
vorliegt.