-
Die
Erfindung bezieht sich auf eine Vorrichtung zur Überprüfung eines Bussystems gemäß dem Oberbegriff
des Patentanspruchs 1 sowie auf ein Verfahren zur Überprüfung eines
Bussystems gemäß dem Patentanspruch
10.
-
Zur
numerischen Steuerung einer Werkzeugmaschine ist es erforderlich,
dass eine zentrale Steuereinheit, beispielsweise ein Mikrocontroller,
einerseits zahlreiche Sensoren wie Positions- und Beschleunigungsmessgeräte ausliest
und die von diesen Sensoren abgegebenen Ist-Werte verarbeitet, und
andererseits Steuerbefehle als Stellgrößen an Aktoren wie beispielsweise
Achsenantriebe der Werkzeugmaschine abgibt. Durch die Verbindung
der zentralen Steuereinheit mit den Sensoren und Aktoren über ein
gemeinsames Bussystem kann eine große Zahl von peripheren Einheiten,
die die Sensoren und Aktoren enthalten, vorgesehen werden. Dabei
enthalten die Peripherieeinheiten eine Vielzahl von Daten aufnehmenden
und Daten abgebenden Registern. Beispielsweise stellt ein Positionsmessgerät verschiedene
Daten wie den Positionswert und die unterschiedlichen Spannungspegel
von Positionssensoren oder Informationen über den Typ des Positionssensors
zur Verfügung.
-
Zur
Erfüllung
eines definierten Sicherheitsstandards können sicherheitstechnisch kritische Übertragungswege
wie die Übertragungswege
von Positionsinformationen in Werkzeugmaschinensteuerungen zweikanalig
und damit redundant ausgelegt werden, so dass über einen zyklischen Vergleich
der über
beide Pfade übertragenen
Informationen Abweichungen erkannt und zur Sicherung von Personen,
Werkzeugen und Werkstücken
die Werkzeugmaschine in einen sicheren Zustand gefahren werden kann.
-
Da
die zweikanalige, redundante Auslegung von Übertragungswegen in vielen
Anwendungsfällen
nur mit hohem Aufwand möglich
ist, wird zur Einhaltung des Sicherheitsstandards der kritische Übertragungsweg wie
das Bussystem zwischen der zentralen Steuereinheit und den peripheren
Einheiten einkanalig ausgebildet und in hinreichend kleinen Zeitintervallen
vollständig
auf seine ordnungsgemäße Funktion überprüft.
-
In
der älteren
deutschen Patentanmeldung 102 04
172.5 wird zur Überprüfung der
Schnittstelle zwischen einer numerischen Steuerung und deren Peripherieeinheiten
ein Verfahren angegeben, bei dem in einem Initialisierungsschritt
eine eindeutige Kennung in ein über
einen Adressbus der Schnittstelle angesprochenes Kennungsregister
jeder Peri pherieeinheit geschrieben und in einem Überprüfungsschritt
die Kennungsregister aller Peripherieeinheiten ausgelesen werden.
Dabei wird der ausgelesene Wert mit der eindeutigen Kennung jeder
Peripherieeinheit als Erwartungswert verglichen und bei Übereinstimmung
aller gelesenen Kennungswerte mit den Erwartungswerten auf eine
erfolgreiche Adressierung aller Peripherieeinheiten geschlossen
und andernfalls eine Fehlermeldung erzeugt, die eine geeignete Sicherheitsmaßnahme auslöst. Damit
kann bei regelmäßiger Wiederholung
dieser Verfahrensschritte ein auftretender Fehler in der Schnittstelle
zwischen der numerischen Steuerung und den Peripherieeinheiten rechtzeitig
erkannt und entsprechend reagiert werden.
-
Mit
diesem Verfahren kann eine Verwechslung von Peripherieeinheiten
ausgeschlossen werden, nicht aber die Verwechslung einzelner Register
innerhalb der Peripherieeinheiten, da der die zentrale Steuereinheit mit
den Peripherieeinheiten verbindende Adressbus nicht vollständig getestet
werden kann.
-
Aus
der
DE 41 07 007 A1 ist
ein elektronisches Gerät
mit einem Adress- und Datenbus bekannt, an die eine Verarbeitungseinheit
mit einem Zentralprozessor und einem Speicher sowie mehrere digitale
Ein-, Ausgabe- und Steuereinheiten angeschlossen sind, denen jeweils
eine Adresse zugeordnet ist. Um den Daten- und Adressbus auf fehlerfreien
Betrieb zu überwachen,
ist zusätzliche
eine Überwachungseinheit
mit eigener Adresse an den Daten- und Adressbus angeschlossen, die
mit einer Anzeigeeinrichtung zur Anzeigen von Daten- und Adressbusfehlern
versehen ist und eine Speichereinrichtung mit mehreren Registern
zur Speicherung von Prüfdaten
und einer Prüfadresse,
eine Vergleichseinrichtung und eine Signalausgabeeinrichtung aufweist.
Die Vergleichseinrichtung vergleicht die gespeicherten Prüfdaten mit
den innerhalb eines Kontrollzyklus von der Verarbeitungseinheit
aus der Überwachungseinheit
ausgelesenen und anschließend
wieder in die Überwachungseinheit
eingeschriebenen Prüfdaten
sowie innerhalb eines Zeitintervalls auf dem Adressbus anliegende
Adressen mit der hinterlegten Prüfadresse.
Die Signalausgabeeinrichtung gibt ein Datenbusfehlersignal bei Abweichungen
der neu eingeschriebenen Prüfdaten
gegenüber
den gespeicherten Prüfdaten
bzw. bei fehlender Übereinstimmung
der Prüfadresse
mit der auf dem Adressbus anliegenden Adresse ab.
-
Durch
Zuordnung weiterer Prüfspeicher
zum Daten- und Adressbus in der Überwachungseinheit
kann eine defekte Datenbusleitung lokalisiert werden, indem die
Prüfdaten
einen ersten Datensatz und einen durch Invasion des ersten Datensatzes
gebildeten zweiten Datensatz aufweisen, wobei jeder Leitung des
Datenbusses ein Bit zugeordnet ist, so dass durch einen Vergleich
der Inhalte der Prüfspeicher
und der Register der Überwachungseinheit
die fehlerhafte Datenbusleitung erfasst werden kann. In gleicher
Weise kann eine defekte Adressbusleitung lokalisiert werden, indem
eine erste an den Daten- und Adressbus angeschlossene Einheit mit
der Prüfadresse
zyklisch adressiert wird und eine zweite, durch Inversion der ersten
Prüfadresse gebildete
Prüfadresse
in der Überwachungseinheit
gespeichert wird, mit der eine zweite an den Daten- und Adressbus
angeschlossene Einheit zyklisch adressiert wird. Während eines
zweiten vorgegebenen Zeitintervalls vergleicht die Überwachungseinheit
die auf dem Adressbus anliegenden Adressen mit der zweiten Prüfadresse
und erzeugt ein Adressbusfehlersignal, wenn die zweite Prüfadresse
mit keiner der auf dem Adressbus anliegenden Adressen übereinstimmt.
-
Aus
der
EP 0 671 689 A2 ist
ein Verfahren zum Überprüfen einer
aus mehreren integrierten Schaltkreisen zusammengesetzten Schaltung
auf Kurzschlüsse
oder offene Verbindungen bekannt, bei dem davon ausgegangen wird,
dass benachbarte Anschlüsse
bevorzugt zu Kurzschlüssen
neigen, so dass für
jede integrierte Schaltung ein Testmuster erstellt wird und Netzwerke
mit benachbarten Anschlüssen
gruppiert werden. Jedem Netzwerk einer Gruppe wird anschließend eine
Identitätsziffer
eines hoch auflösenden
Testmusters in Form einer Matrix zugewiesen, in der die einzelnen
Netzwerke in einer Matrixreihe und die Übergänge von einem Netzwerk einer
Gruppe zum Netzwerk einer anderen Gruppe in den Matrixspalten abgebildet
sind.
-
Aus
der
EP 0 864 976 A1 ist
eine Einrichtung zur automatischen Hardware-Fehlersuche in prozessorgesteuerten
digitalen elektronischen Geräten
bekannt, bei der Hardwarefehler in und zwischen den Leitungen eines
Bussystems erfasst werden, indem in hierarchischer Struktur nacheinander
eine Überprüfung des
Steuerbusses, eine Kurzschlussprüfung
zwischen Adressbus- und Datenbusleitungen, ein Hängenbleiben auf 0 oder 1 des
Adressbusses, eine Kurzschlussprüfung
zwischen zwei Adressbusleitungen, eine Kurzschlussprüfung zwischen
Datenbusleitungen, ein Hängenbleiben
auf 0 oder 1 der Datenbusleitungen, eine Kurzschlussprüfung zwischen
Adressbusleitungen und Anschlussleitungen, eine Kurzschlussprüfung zwischen
Anschlussleitungen und ein Hängenbleiben
auf 0 oder 1 der Anschlussleitungen erfolgt.
-
Aufgabe
der vorliegenden Erfindung ist es, eine Vorrichtung und ein Verfahren
anzugeben, mit dem ein eine Steuereinheit mit einer oder mehreren
Peripherieeinheiten verbindendes Bussystem mit einfachen Mitteln überprüft werden
kann.
-
Diese
Aufgabe wird durch die Merkmale der unabhängigen Patentansprüche 1 und
10 gelöst.
-
Die
erfindungsgemäße Vorrichtung
und das erfindungsgemäße Verfahren
ermöglichen
die Überprüfung eines
eine Steuereinheit mit einer oder mehreren Peripherieeinheiten verbindenden
Bussystems auf einfache Art und Weise und insbesondere die vollständige Überprüfung des
Adressbusses zur Adressierung mehrerer in Peripherieeinheiten vorgesehener
Register.
-
Die
erfindungsgemäße Lösung geht
von der Erkenntnis aus, dass im laufenden Betrieb beispielsweise einer
Werkzeugmaschine die Adressierung der den einzelnen Peripherieeinheiten
zugeordneten Register nur dann überprüft werden
kann, wenn die betreffenden Register frei verfügbar sind. Da dies nicht oder
nur unvollständig
der Fall ist, wird zum Zwecke der Überprüfung der Funktionsfähigkeit
des Bussystems eine Zusatzeinrichtung in Form einer zusätzlichen
Speichereinrichtung installiert und an das Bussystem angeschlossen,
so dass im laufenden Betrieb die Peripherieeinheiten und deren Register
nicht direkt angesprochen werden müssen, sondern stattdessen die
zusätzliche
Speichereinrichtung mit einer vorgegebenen Anzahl von Speicherzellen,
die ein vollständiges
Abbild der Register der Peripherieeinheiten darstellen bzw. deren
Anzahl für
die Überprüfung des
Adressbusses auf Störungen,
nämlich
Kurzschlüsse,
Nebenschlüsse
oder Unterbrechungen, ausreichend ist.
-
In
einem Initialisierungsschritt können
mehrere Bitmuster an den Adressbus zur Adressierung sämtlicher
Speicherzellen der zusätzlichen
Speichereinrichtung abgegeben und Kennungen in die Speicherzellen der
zusätzlichen
Speichereinrichtung geschrieben werden, während in einem Überprüfungsschritt
die in die Speicherzellen der zusätzlichen Speichereinrichtung
geschriebenen Kennungen ausgelesen und mit Erwartungswerten verglichen
werden, die den im Initialisierungsschritt geschriebenen Kennungen
entspre chen. Bei Nichtübereinstimmung
einer Kennung mit dem Erwartungswert wird eine Fehlermeldung erzeugt
und bei Übereinstimmung
aller Kennungen mit den jeweiligen Erwartungsschritten werden Störungen (Kurzschlüsse, Nebenschlüsse, Unterbrechungen)
der Adressleitungen des Adressbusses ausgeschlossen.
-
Durch
eine zusätzliche
Adressleitung zur alternativen Adressierung der zusätzlichen
Speichereinrichtung oder der Peripherieeinheiten kann entschieden
werden, ob die Peripherieeinheiten und deren Register oder die zusätzliche
Speichereinrichtung mit deren Speicherzellen adressiert wird.
-
Neben
einem vollständigen
Abbild aller Register der Peripherieeinheiten durch Speicherzellen
der zusätzlichen
Speichereinrichtung müssen
zum vollständigen
Test des Adressbusses wenigstens so viele Speicherzellen in der
zusätzlichen
Speichereinrichtung vorhanden sein, dass zu deren Adressierung solche
Bitmuster auf dem Adressbus auftreten, die den Adressbus vollständig auf
mögliche
Störungen,
d. h. Kurzschlüsse,
Nebenschlüsse
oder Unterbrechungen, testen können.
Für einen
Adressbus mit einer Breite von N-Bit sind somit N-Speicherzellen
in der zusätzlichen
Speichereinrichtung vorzusehen, die beispielsweise mit einem Bitwalk-Muster
adressiert werden, d. h. einem Bitmuster, bei dem eine logische
1 oder eine logische 0 durch die N-Bits geschoben wird. Bei einem
4-Bit-Adressbus würde
somit das Bitmuster 1000,0100,0010,0001 einen vollständigen Test
des Adressbusses ermöglichen.
-
Für einen
2N-Bit breiten Adressbus genügen N +
1 Bitmuster als zu testende Adressen auf dem Adressbus.
-
Da
für die
vollständige Überprüfung des
Adressbusses eine erfolgreiche Adressierung jeder Speicherzelle
in der zusätzlichen
Speichereinrichtung erforderlich ist, ist die zusätzliche
Speichereinrichtung als Schreib-/Lesespeicher ausgebildet, so dass
eine eindeutige Kennung in jede Speicherzelle geschrieben und aus
den Speicherzellen ausgelesen werden kann.
-
Zum Überprüfen des
Datenbusses wird ein zusätzliches
Register oder eine zum Testen des Adressbusses verwendete Speicherzelle
der zusätzlichen
Speichereinrichtung mit der vollen Breite des Datenbusses nacheinander
mit Bitmustern beschrieben, wobei die Art des verwendeten Bitmusters
ebenfalls beliebig ist, sofern die Anforderungen an eine vollständige Überprüfung der
gesamten Datenbusbreite erfüllt
wird. Auch hier kann die Verwendung eines Bitwalk-Musters ausreichend
sein.
-
In
einer Ausgestaltung der erfindungsgemässen Lösung umfassen die Peripherieeinheiten
jeweils ein über
den Adressbus adressierbares Kennungsregister zur Speicherung einer
eindeutigen Kennung der betreffenden Peripherieeinheit sowie mindestens
ein weiteres Register zur Speicherung von Daten. Mittels in das Kennungsregister
schreibbarer eindeutiger Kennungen kann die Adressierung der Peripherieeinheiten
getestet werden, so dass ausgeschlossen werden kann, dass die zusätzliche
Adressleitung zur alternativen Adressierung bzw. Selektion der zusätzlichen
Speichereinrichtung oder der Peripherieeinheiten auf einem Pegel
verbleibt.
-
Die Überprüfung der
zusätzlichen
Adressleitung kann dabei in der Weise erfolgen, dass zwei unterschiedliche
Kennungen nacheinander jeweils in das Kennungsregister in einer
Peripherieeinheit und in die entsprechende Speicherzelle in der
zusätzlichen
Speichereinrichtung geschrieben werden. Nach diesen beiden Schreibvorgängen werden
die beiden einerseits in das Kennungsregister der Peripherieeinheit
und in die Speicherzelle der zusätzlichen
Speichereinrichtung geschriebenen unterschiedlichen Kennungen nacheinander rückgelesen,
d. h. die Kennungen werden in der Reihenfolge „Schreiben-Schreiben-Lesen-Lesen" übertragen. Ist das Lesen der
unterschiedlichen Kennungen erfolgreich, so ist die zusätzliche
Adressleitung erfolgreich getestet.
-
Zur Überprüfung der
korrekten Adressierung der Peripherieeinheiten können ebenfalls in einem Initialisierungsschritt
eindeutige Kennungen über
den Adressbus in die Kennungsregister der Peripherieeinheiten geschrieben
und die Kennungsregister in einem Überprüfungsschritt ausgelesen werden,
wobei die aus den Kennungsregistern gelesenen Kennungen mit Erwartungswerten
verglichen werden, die denen im Initialisierungsschritt geschriebenen
eindeutigen Kennungen entsprechen. Bei Nichtübereinstimmung einer Kennung mit
deren Erwartungswert wird eine Fehlermeldung erzeugt wird, bzw.
bei Ü bereinstimmung
aller Kennungen mit den jeweiligen Erwartungswerten auf eine erfolgreiche
Adressierung aller Peripherieeinheiten über den Adressbus erkannt.
-
Zur Überprüfung der
im Bussystem vorgesehenen Steuerleitungen, mit deren Hilfe über einen
lesenden oder schreibenden Zugriff auf ein Register der Peripherieeinheiten
entschieden wird, wird vorzugsweise die zusätzliche Speichereinrichtung
als Schreib-/Lesespeicher
ausgebildet, so dass die Steuerleitungen auch bei einem schreibenden
Zugriff getestet werden können.
Zum alleinigen Testen der Daten- und Adressleitungen würde demgegenüber ein
nur lesender Zugriff auf einen Festwertspeicher (ROM) genügen.
-
Eine
weiterführende
Ausgestaltung der erfindungsgemäßen Lösung ist
dadurch gekennzeichnet, dass dem Bussystem eine Überwachungseinheit zur Überprüfung des
Systemtaktes auf Aktivität
oder Frequenz-Stabilität
zugeordnet ist. Durch Abschalten des Systemtaktes an der Überwachungseinheit
kann auch die Funktion dieser Einheit getestet werden.
-
Anhand
eines in der Zeichnung dargestellten Ausführungsbeispieles soll der der
Erfindung zugrunde liegende Gedanke weiter erläutert werden.
-
Die
einzige Figur der Zeichnung zeigt in einem schematischen Blockschaltbild
einen über
ein Bussystem 1 mit mehreren Peripherieeinheiten 3 und
einer zusätzlichen
Speichereinheit 6 verbundenen Mikrocontroller 2.
Innerhalb jeder Peripherieeinheit 3 befinden sich mehrere
Register 5, in denen je nach Art der Peripherieeinheit 3 verschiedene
Daten bzw. Steuerbefehle abgelegt werden können sowie ein Kennungsregister 4.
Der Mikrocontroller 2 dient beispielsweise zur numerischen
Steuerung eine Werkzeugmaschine, an der verschiedene Sensoren wie
Positionsmessgeräte
und Aktoren wie Achsantriebe bzw. Spindelantriebe angebracht sind.
Diese Sensoren und Aktoren entsprechen den in der Zeichnungsfigur
dargestellten Peripherieeinheiten 3, die über das
Bussystem 1 mit dem Mikrocontroller 2 verbunden
sind.
-
Das
Bussystem 1 enthält
einen Adressbus 11 und einen Datenbus 12, die
eine vorgegebene Bitbreite aufweisen, die bezüglich des Adressbusses 11 die
Zahl der adressierbaren Kennungsregister 4 und Register 5 der
Peripherieeinheiten 3 und in Bezug auf den Datenbus 12 die
Bitbreite der zu übertragenden
Datenworte begrenzt. Weiterhin umfasst das Bussystem 1 Steuerleitungen 13,
mit denen festgelegt wird, ob ein Zugriff auf ein Kennungsregister 4 oder
Register 5 der Peripherieeinheiten 3 lesend oder
schreibend erfolgen soll, sowie eine gestrichelt dargestellte zusätzliche
Adressleitung 14, mit der alternativ die zusätzliche
Speichereinrichtung 6 oder die Peripherieeinheiten 3 adressiert
werden.
-
Die
ebenfalls an das Bussystem 1, d. h. an den Adressbus 11 und
den Datenbus 12 angeschlossene zusätzliche Speichereinrichtung 6 enthält mehrere
Speicherzellen 6.1 bis 6.n, deren Speicherkapazität den gesamten
Adressraum der Peripherieeinheiten 3 sowie die volle Datenbusbreite
abdeckt. Die Speicherzellen 6.1 bis 6.n können ein
vollständiges
Abbild der Register 5 der Peripherieeinheiten 3 sein.
Da wenigstens so viele Speicherzellen 6.1 bis 6.n in
der zusätzlichen
Speichereinrichtung 6 vorgesehen werden müssen, dass
zu deren Adressierung solche Bitmuster auf dem Adressbus 11 auftreten,
mit denen der Adressbus 11 vollständig auf Kurzschlüsse, Nebenschlüsse und
Unterbrechungen getestet werden kann, können auch deutlich weniger Speicherzellen 6.1 bis 6.n vorgesehen
werden als zu einem vollständigen
Abbild der Register 5 der Peripherieeinheiten 3 erforderlich
wäre.
-
Für einen
N-bitbreiten Adressbus
11 genügen N-Speicherzellen, die beispielsweise
mit einem Bitwalk-Muster
1000
0100
0010
0001
oder
einem beliebigen anderen Bitmuster adressiert werden. So läßt sich
ein 8-Bit-Adressbus
11 mit
der erfolgreichen Adressierung von nur 4 Speicherzellen mit den
Adressen
| A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 |
M1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
M2 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
M3 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
M4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
vollständig
auf Kurzschlüsse,
Nebenschlüsse
und Unterbrechungen prüfen.
A0 bis A7 benennen hier die acht Adressleitungen des Adressbusses
11,
M1 bis M4 benennen die vier Bitmuster. Auf die Reihenfolge der Bitmuster
M1 bis M4 kommt es dabei nicht an, wie unten noch erläutert wird.
Ebenso lässt
sich ein 16-Bit Adressbus
11 durch erfolgreiche Adressierung
mit den fünf
Bitmustern
| A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 | A14 | A15 |
M1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
M2 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
M3 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
M4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
M5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
vollständig
auf Kurzschlüsse,
Nebenschlüsse
und Unterbrechungen überprüfen, wobei
wiederum die Reihenfolge der Bitmuster beliebig ist.
-
Anhand
eines 8-Bit Adressbusses 11 soll hier kurz das Prinzip
erläutert
werden, nach dem die Bitmuster M1 bis M4 ausgewählt sind. Um Kurzschlüsse zu erkennen,
also das Festhängen
einer der Leitungen des Adressbusses 11 auf logisch "0" oder logisch "1",
genügt
es, wenn jede der Adressleitungen A0 bis A7 erfolgreich wenigstens
einmal auf logisch "1" und wenigstens einmal
auf logisch "0" getestet wurde.
-
Aufwendiger
ist das Testen auf Nebenschlüsse.
Es muss getestet werden, ob sich jede Adressleitung A0 bis A7 unabhängig von
jeder der anderen Adressleitungen A0 bis A7 schalten lässt. Für einen
2N-Bit breiten Adressbus 11 lässt sich
dies mit N Bitmustern bewerkstelligen, im Beispiel des 8-Bit breiten
Adressbusses 2 also mit drei Bitmustern M1 bis M3. Dabei
muss jede mögliche
N-Bitfolge (0-0-0, 1-0-0, 0-1-0, ..., 1-1-1) auftreten, wenn man
jeweils die Adressleitungen A0 bis A7 separat für jedes Bitmuster M1 bis M3
betrachtet.
-
Da
in diesen 2N N-Bitfolgen zwei N-Bitfolgen
(im Beispiel auf A0 und auf A7) nur aus logisch "0" bzw. logisch "1" bestehen, benötigt man ein weiteres Bitmuster
M4, das die beiden Adressleitungen A0 und A7 auf den jeweils inversen
Pegel schaltet. Dies wird im obigen Beispiel eines 8-Bit breiten
Adressbusses 11 erreicht, indem M4 auf A0 eine logische "1" und auf A7 eine logische "0" aufweist. Die logischen Pegel der Adressleitungen
A1 bis A6 sind in diesem Beispiel für M4 beliebig, da sie bereits
logisch "0" und logisch "1" aufwiesen. Die Unterbrechung einer
der Adressleitungen A0–A7
führt ebenfalls
zu einem Fehlschlagen des Testes, da nicht mehr alle logischen Pegel
auf dieser Adressleitung einstellbar sind.
-
Zur
vollständigen Überprüfung eines
2N-Bit breiten Adressbusses 11 sind
also lediglich N + 1 Bitmuster M1, M2, M3, M4 notwendig (für N >= 2). Dies ergibt einen
gegenüber
dem Test aller möglichen
Bitmuster eines 2N-Bit breiten Adressbusses 2 (2
hoch 2N, also 256 für einen 8-Bit breiten Adressbus 2)
eine erhebliche Zeitersparnis sowie Einsparung von Speicherzellen 6.1–6.n der
zusätzlichen
Speichereinrichtung 6, da statt 256 Speicherzellen nur
4 Speicherzellen in der zusätzlichen
Speichereinrichtung 6 erforderlich sind.
-
Die
Wahl des verwendeten Bitmusters ist dabei beliebig und nur davon
abhängig,
dass der Adressbus 11 vollständig getestet werden kann,
indem jede der Speicherzellen 6.1 bis 6.n der
zusätzlichen
Speichereinrichtung 6 erfolgreich adressiert wird, da das
Einschreiben und Auslesen einer eindeutigen Kennung in jede dieser
Speicherzellen 6.1 bis 6.n nur bei einer erfolgreichen
Adressierung der Speicherzellen 6.1 bis 6.n gelingt.
-
Um
zu überprüfen, ob
die zusätzliche
Adressleitung 14, die die alternative Adressierung der
zusätzlichen
Speichereinrichtung 6 oder der Peripherieeinheiten 3 bewirkt,
auf einem Pegel verbleibt, können
zwei unterschiedliche Kennungen nacheinander jeweils in das Kennungsregister 4 einer
Peripherieeinheit 3 und in die entsprechende Speicherzelle 6.1 bis 6.n der
zusätzlichen
Speichereinrichtung 6 geschrieben und nach diesen Schreibvorgängen die
beiden einerseits in das Kennungsregister 4 der Peripherieeinheit 3 und
in die Speicherzelle 6.1. bis 6.n der zusätzlichen
Speichereinrichtung 6 geschriebenen unterschiedlichen Kennungen
nacheinander rückgelesen
werden, so dass die Kennungen in der Reihenfolge „Schreiben-Schreiben-Lesen-Lesen" übertragen werden. Ist das Lesen
der unterschiedlichen Kennungen erfolgreich, so ist die zusätzliche
Adressleitung ebenfalls erfolgreich getestet.
-
Um
den Datenbus 12 des Bussystems 1 zu testen, wird
ein zusätzlich
an das Bussystem 1 angeschlossenes Register oder eine der
Speicherzellen 6.1 bis 6.n der zusätzlichen
Speichereinrichtung 6 mit der vollen Breite des Datenbusses 12 nacheinander
mit Bitmustern wie vorstehend im Zusammenhang mit der Überprüfung des
Adressbusses 11 dargestellt beschrieben. Auch für die Überprüfung des
Datenbusses 12 ist die Art des verwendeten Bitmusters beliebig
und kann beispielsweise aus einem Bitwalk-Muster bestehen.
-
Da
bei einer Adressierung eines bestimmten Registers 4, 5 der
Peripherieeinheiten 3 jeweils ein Teil der Breite des Adressbusses 11 zur
Adressierung der jeweiligen Peripherieeinheit 3 und ein
weiterer Teil der Breite des Adressbusses 11 zur Adressierung
des jeweiligen Registers 4, 5 innerhalb der Peripherieeinheit 3 verwendet
wird, kann ein möglicher
Fehler des Adressbusses 11 darin bestehen, dass die jeweilige
Peripherieeinheit 3 falsch adressiert wird. Ein derartiger
Fehler ist insbesondere bei sicherheitsrelevanten Peripherieeinheiten
unbedingt zu vermeiden und beim Auftreten eines derartigen Fehlers
unverzüglich
eine Fehlermeldung abzugeben, da beispielsweise durch einen Erdschluss
eines Bits zur Adressierung einer Peripherieeinheit 3 eine
falsche Peripherieeinheit 3 angesprochen wird, wobei durchaus
sinnvolle Werte in das jeweils adressierte Register 4, 5 der
entsprechenden Peripherieeinheit geschrieben bzw. aus diesem gelesen
werden, wenn es sich bei der fälschlicherweise
adressierten Peripherieeinheit 3 beispielsweise um eine
zur eigentlichen gewünschten
Peripherieeinheit 3 baugleiche Peripherieeinheit 3 handelt.
-
Zunächst wird
von dem Mikrocontroller 2 in einem Initialisierungsschritt
das Kennungsregister 4 jeder Peripherieeinheit 3 über den
Adressbus 11 angesprochen und über den Datenbus 12 mit
einer eindeutigen Kennung beschrieben. Diese kann beispielsweise
aus einer laufenden Nummer für
jede der Peripherieeinheiten 3 bestehen.
-
In
einem Überprüfungsschritt
wird vom Mikrocontroller 2 das Kennungsregister 4 jeder
Peripherieeinheit 3 ausgelesen und die gelesene Kennung
jeweils mit einem Erwartungswert verglichen. Der Erwartungswert
entspricht dabei der im Initialisierungsschritt geschriebenen eindeutigen
Kennung der gerade angesprochenen Peripherieeinheit 3.
Stimmt eine gelesene Kennung nicht mit dem Erwartungswert überein,
liegt ein Fehler vor. Es wird dann eine Fehlermeldung erzeugt und
entsprechend reagiert, indem etwa die Werkzeugmaschine in einen
sicheren Zustand versetzt wird. Stimmen alle gelesenen Werte mit
ihrem jeweiligen Erwartungswert überein,
so ist die korrekte Adressierung aller Peripherieeinheiten 3 sichergestellt.
-
Da
das Bussystem 1 neben dem Adressbus 11 und dem
Datenbus 12 noch Steuerleitungen 13 enthält, die über einen
lesenden oder schreibenden Zugriff entscheiden und/oder den Systemtakt
vom Mikrocontroller 2 zu den Peripherieeinheiten 3 übertragen,
müssen
auch diese Steuerleitungen 13 überprüft werden, damit sichergestellt
wird, dass sie u. a. für
die vorstehend dargestellten Überprüfungsschritte
einwandfrei funktionsfähig
sind. Zu diesem Zweck ist eine Überwachungseinheit 7 vorgesehen,
die den Systemtakt auf Aktivität
bzw. Frequenzstabilität überprüft. Dieser
Systemtakt ist über
eine Verbindung zum Mikrocontroller 2 abschaltbar, um auch
die Funktion der Überwachungseinheit 7 zu
testen.
-
Um
die Steuerleitung des Bussystems 1 auch bei schreibendem
Zugriff zu testen, ist die zusätzliche Speichereinrichtung 6 als
Schreib-/Lesespeicher ausgebildet. Für eine alleinige Überprüfung des
Adressbus 11 und des Datenbus 12 auf mögliche Störungen würde auch
ein nur lesender Zugriff auf die zusätzliche Speichereinrichtung
genügen,
die dann beispielsweise als ROM ausgeführt ist.