DE10245661A1 - Verfahren zum Prüfen einer Busverbindung - Google Patents

Verfahren zum Prüfen einer Busverbindung Download PDF

Info

Publication number
DE10245661A1
DE10245661A1 DE2002145661 DE10245661A DE10245661A1 DE 10245661 A1 DE10245661 A1 DE 10245661A1 DE 2002145661 DE2002145661 DE 2002145661 DE 10245661 A DE10245661 A DE 10245661A DE 10245661 A1 DE10245661 A1 DE 10245661A1
Authority
DE
Germany
Prior art keywords
bus
data values
data
bit
bits
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.)
Withdrawn
Application number
DE2002145661
Other languages
English (en)
Inventor
Peter Poinstingl
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE2002145661 priority Critical patent/DE10245661A1/de
Publication of DE10245661A1 publication Critical patent/DE10245661A1/de
Withdrawn 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Zum Prüfen der Unversehrtheit einer einen Adressbus und einen Datenbus aufweisenden Busverbindung zwischen einem Speicherbaustein und einem Prozessor werden: DOLLAR A a) wenigstens drei Adressen erzeugt (A3), die sich in genau zwei Bits unterscheiden; DOLLAR A b) die erzeugten Adressen auf den Adressbus ausgegeben (A3); DOLLAR A c) die vom Speicherbaustein anhand der ausgegebenen Adressen auf den Datenbus gegebenen Datenwerte (D00, D01, D10, D11) verglichen (D4). DOLLAR A d) Wenn die in Schritt c) erhaltenen Datenwerte sich sämtlich unterscheiden, wird festgestellt, dass die den variierten Bits entsprechenden Leitungen des Adressbusses nicht untereinander kurzgeschlossen sind. DOLLAR A e) Wenn die in Schritt c) erhaltenen Datenwerte sich nicht unterscheiden, werden wenigstens drei neue Adressen erzeugt (A3), die sich in den gleichen Bits unterscheiden, und das Verfahren kehrt zu Schritt b) zurück. DOLLAR A f) Wenn Schritt b) eine vorgegebene Zahl von Malen wiederholt worden ist, ohne dass die erhaltenen Datenwerte unterschiedlich waren, wird festgestellt (A8), dass die Busverbindung defekt ist.

Description

  • 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.

Claims (15)

  1. Verfahren zum Prüfen der Unversehrtheit einer einen Adressbus (5) und einen Datenbus (6) aufweisenden Busverbindung (4) zwischen einem Speicherbaustein (3) und einem Prozessor (1), mit den Schritten a) Erzeugen (A3) von zwei Adressen, die sich in genau einem Bit unterscheiden; b) Ausgeben (A3) der zwei Adressen auf den Adressbus; c) Vergleichen (A4) der vom Speicherbaustein (13) anhand der zwei Adressen auf den Datenbus (6) gegebenen Datenwerte; d) wenn die zwei Datenwerte sich unterscheiden, Feststellen (A5), dass die dem variierten Bit entsprechende Leitung des Adressbusses weder mit Masse noch mit Versorgungsspannung kurzgeschlossen ist; e) wenn die zwei Datenwerte sich nicht unterscheiden, Erzeugen (A3) von zwei neuen Adressen, die sich in dem gleichen Bit unterscheiden, und Zurückkehren zu Schritt b); f) wenn Schritt b) eine vorgegebene Zahl von Malen wiederholt worden ist, ohne dass die zwei Datenwerte unterschiedlich waren, Feststellen (A8), dass die Busverbindung defekt ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Busverbindung dann für defekt befunden wird, wenn keine zwei sich in dem variierten Bit unterscheidenden Adressen gefunden werden, deren Ausgabe auf den Adressbus dazu führt, dass der Speicherbaustein unterschiedliche Datenwerte auf den Datenbus gibt.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Schritte a) bis f) für alle Bits (ai) des Adressbusses (5) durchgeführt werden.
  4. Verfahren zum Prüfen der Unversehrtheit einer einen Adressbus und einen Datenbus aufweisenden Busverbindung zwischen einem Speicherbaustein und einem Prozessor, mit den Schritten: a) Erzeugen (A3) von wenigstens drei Adressen, die sich in genau zwei Bits unterscheiden; b) Ausgeben (A3) der erzeugten Adressen auf den Adressbus; c) Vergleichen (A4) der vom Speicherbaustein anhand der ausgegebenen Adressen auf den Datenbus gegebenen Datenwerte (D00, D01, D10, D11); d) wenn die in Schritt c) erhaltenen Datenwerte sich sämtlich unterscheiden, Feststellen (A5), 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 (A3) 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 (A8), dass die Busverbindung defekt ist.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Zahl der in Schritt a) bzw. Schritt e) erzeugten Adressen vier ist.
  6. Verfahren nach Anspruch 4 oder 5 , dadurch gekennzeichnet, dass die Busverbindung (4) dann für defekt befunden wird, wenn keine sich in zwei Bits unterscheidenden Adressen existieren, deren Ausgabe auf den Adressbus dazu führt, dass der Speicherbaustein (3) unterschiedliche Datenwerte auf den Datenbus (6) gibt.
  7. Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass die Schritte a) bis f) für alle Kombinationen von zwei Bits (ai, aj) des Adressbusses (5) durchgeführt werden.
  8. Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass die Schritte a) bis f) für diejenigen Kombinationen von zwei Bits (ai, aj) durchgeführt werden, die einan der körperlich benachbarten Leitungen des Adressbusses (5) entsprechen.
  9. Verfahren nach einem der Ansprüche 4 bis 8, dadurch gekennzeichnet, dass wenn von den in Schritt c) erhaltenen Datenwerten (D00, D01, D10, D11) zwei Datenwerte sich unterscheiden, die sich in einem einzigen Bit unterscheidenden Adressen entsprechen, festgestellt wird, dass die diesem einzigen Bit entsprechende Leitung des Adressbusses weder mit Masse noch mit Versorgungsspannung kurzgeschlossen ist.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die Busverbindung (4) dann für defekt befunden wird, wenn keine zwei sich in diesem einzigen Bit unterscheidenden Adressen gefunden werden, deren Ausgabe auf den Adressbus dazu führt, dass der Speicherbaustein unterschiedliche Datenwerte auf den Datenbus gibt.
  11. Verfahren nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass der Adressbus (5) für unversehrt befunden wird, wenn für alle seine Bits (a0,...an-1) festgestellt worden ist, dass sie weder mit einem anderen Bit, noch mit Masse, noch mit Versorgungsspannung kurzgeschlossen sind.
  12. Verfahren zum Prüfen der Unversehrtheit einer einen Adressbus und einen Datenbus aufweisenden Busverbindung zwischen einem Speicherbaustein und einem Prozessor, mit den Schritten: g) Lesen (D2; A3) einer Mehrzahl von Datenwerten aus dem Speicherbaustein (3); h) Vergleichen (D3, D4, D5, D7, D8, D9) der gelesenen Datenwerte; i) wenn ein Bit existiert, das bei allen gelesenen Datenwerten gleich ist, entweder: j) Lesen (D2) wenigstens eines weiteren Datenwerts und Zurückkehren zu Schritt h), oder k) wenn alle Datenwerte des Speicherbausteins gelesen worden sind (D10), feststellen, dass die Busverbindung defekt ist.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass in einem ersten Register (REGT) ein Bit gesetzt wird (D3), wenn das entsprechende Bit eines gelesenen Datenwerts den Wert 1 hat und in einem zweiten Register (REG0) ein Bit gesetzt wird (D3), wenn in einem gelesenen Datenwert das entsprechende Bit den Wert 0 hat, und dass nur dann nicht festgestellt wird, dass die Busverbindung defekt ist, wenn in beiden Registern alle Bits gesetzt sind (D8,D9), die einem Bit der Datenwerte entsprechen.
  14. Verfahren zum Prüfen der Unversehrtheit einer einen Adressbus (5) und einen Datenbus (6) aufweisenden Busverbindung (4) zwischen einem Speicherbaustein(3) und einem Prozessor (1), mit den Schritten: g) Lesen eines Datenwerts (D2, A3) aus dem Speicherbaustein (3); h) paarweises Vergleichen (D5) von Bits des Datenwerts; i) wenn zwei Bits existieren, die bei allen bisher gelesenen Datenwerten paarweise gleich sind (D9), entweder: j) Lesen (D2) wenigstens eines weiteren Datenwerts und Zurückkehren zu Schritt h), oder, k) wenn alle Datenwerte des Speicherbausteins gelesen worden sind (D10), feststellen, dass die Busverbindung defekt ist.
  15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass in einem Register (REG2), das zu jeder Kombination von zwei ungleichwertigen Bits des Adressbusses (5) ein zugeordnetes Bit aufweist, das der Kombination zugeordnete Bit (REG2k) gesetzt wird, wenn ein Datenwert gelesen(D3) wird, bei dem sich die zwei Bits (di, dj) der Kombination unterscheiden, und dass nur dann nicht festgestellt wird, dass die Busverbindung (4) defekt ist, wenn alle zugeordneten Bits des Registers (REG2) gesetzt sind.
DE2002145661 2002-09-30 2002-09-30 Verfahren zum Prüfen einer Busverbindung Withdrawn DE10245661A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002145661 DE10245661A1 (de) 2002-09-30 2002-09-30 Verfahren zum Prüfen einer Busverbindung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002145661 DE10245661A1 (de) 2002-09-30 2002-09-30 Verfahren zum Prüfen einer Busverbindung

Publications (1)

Publication Number Publication Date
DE10245661A1 true DE10245661A1 (de) 2004-04-08

Family

ID=31984301

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002145661 Withdrawn DE10245661A1 (de) 2002-09-30 2002-09-30 Verfahren zum Prüfen einer Busverbindung

Country Status (1)

Country Link
DE (1) DE10245661A1 (de)

Similar Documents

Publication Publication Date Title
DE2328869C2 (de) Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems
DE3111447C2 (de)
DE69126057T2 (de) Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung
DE2256135C3 (de) Verfahren zum Prüfen von monolithisch integrierten Halbleiterschaltungen
DE2225841C3 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
EP0038947A2 (de) Programmierbare logische Anordnung
DE3876459T2 (de) Speicher und deren pruefung.
DE3702408C2 (de)
DE2722124A1 (de) Anordnung zum feststellen des prioritaetsranges in einem dv-system
DE2550342A1 (de) Matrixanordnung von logischen schaltungen
DE69904618T2 (de) Detektionstechnik von speicherabschnittfehlern und einzel-, doppel und triplebitfehlern
EP1008993A2 (de) Schreib/Lesespeicher mit Selbsttestvorrichtung und zugehöriges Testverfahren
EP0615211B1 (de) Verfahren zum Speichern sicherheitsrelevanter Daten
DE69927571T2 (de) Datenprozessor und Verfahren zum Verarbeiten von Daten
DE102006019426B4 (de) Speichermodulsteuerung, Speichersteuerung und entsprechende Speicheranordnung sowie Verfahren zur Fehlerkorrektur
EP0353660B1 (de) Verfahren zur Fehlersicherung in Speichersystemen von Datenverarbeitungsanlagen, insbesondere Fernsprechvermittlungsanlagen
DE10062404A1 (de) Vorrichtung und Verfahren zum Reduzieren der Anzahl von Adressen fehlerhafter Speicherzellen
EP1149384A1 (de) Verfahren zur funktionsüberprüfung von speicherzellen eines integrierten halbleiterspeichers
DE10245661A1 (de) Verfahren zum Prüfen einer Busverbindung
WO1988009554A1 (en) Process and arrangement for self-checking of a word-oriented ram
DE102006050542A1 (de) Verfahren zum Übertragen von Signalen zwischen einem Speicherbauelement und einer Speichersteuereinheit
WO1999054819A1 (de) Speicheranordnung mit redundanten speicherzellen und verfahren zum zugriff auf redundante speicherzellen
EP0246556B1 (de) Schaltungsanordnung zum Überwachen einer Steuereinheit
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
DE10331543B4 (de) Verfahren zum Testen einer zu testenden Schaltungseinheit und Schaltungsanordnung zur Durchführung des Verfahrens

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20150401