-
Die
Erfindung bezieht sich auf Systeme zum Testen einer Verbindung zwischen
einem ersten und einem zweiten Chip und/oder zum Testen einer Vielzahl
von Verbindungen zwischen einer Vielzahl von Chips, insbesondere
zur Verwendung bei sicherheitskritischen Anwendungen.
-
HINTERGRUND DER ERFINDUNG
-
Für sicherheitskritische
Anwendungen werden elektronische Vorrichtungen in Sicherheitsanforderungsstufen
(Safety Integrity Levels (SIL)) klassifiziert. Dazu müssen die
Fehlerwahrscheinlichkeiten und das Verhalten einzelner Vorrichtungen
und des Gesamtsystems ermittelt werden.
-
Beim Überwachen
eines Systems mehrerer integrierter Schaltkreise oder Chips beispielsweise
auf einer Platine besteht ein Aspekt darin, die Verbindungen zwischen
diesen integrierten Schaltkreisen zu überprüfen.
-
Für Produktionstests
ist der Einsatz von Grenzpfadabtastungen (Boundary Scans) weit verbreitet,
um alle Verbindungen eines zu testenden Systems zu überprüfen. Da
dieser Test ein komplettes Abschalten des Systems erfordert, ist
er für
Tests während
des Betriebs des Systems nicht geeignet.
-
Ein
anderer Ansatz zum Überprüfen von
Verbindungen zwischen Chips ist es, die Anwendungssoftware überprüfen zu lassen,
ob die richtigen Werte übertragen
werden. Dies verletzt jedoch die Notwendigkeit, dass Sicherheitsgarantie-Komponenten
unabhängig
sein müssen,
d. h. nicht von einer nicht richtig funktionierenden Anwendung abgeschaltet
werden können.
-
Daher
besteht Bedarf an einem System zum Testen von Verbindungen zwischen
integrierten Schaltkreisen oder Chips während des Betriebs der zu testenden
integrierten Schaltkreise und/oder Chips.
-
Die
Erfindung löst
das o. g. bzw. weitere Probleme durch die Gegenstände der
unabhängigen
Ansprüche.
Vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben.
-
Gemäß einem
Aspekt wird ein System zur Verfügung
gestellt zum Testen einer Verbindung zwischen einem ersten Chip
und einem zweiten Chip,
wobei ein erster Pin des ersten Chips
mit einem ersten Pin des zweiten Chips über die Verbindung verbunden ist,
um die Übertragung
eines Signals von dem ersten Chip zu dem zweiten Chip zu ermöglichen;
wobei
ein zweiter Pin des ersten Chips mit einem zweiten Pin des zweiten
Chips über
eine weitere Verbindung verbunden ist, um das von dem ersten Chip
an den zweiten Chip gesendete Signal als zurückgesendetes Signal an den
ersten Chip zurückzusenden;
und
wobei der erste Chip eine Schaltung aufweist, die dazu
ausgelegt ist, das zurückgesendete
Signal mit dem Signal zu vergleichen.
-
Vorteilhaft
wird das Signal in dem zweiten Chip invertiert, bevor es an den
ersten Chip zurückgesendet wird,
und wobei die in dem ersten Chip enthaltene Schaltung des Weiteren
so ausgelegt ist, dass sie das zurückgesendete invertierte Signal
mit dem Signal vergleicht.
-
Vorteilhaft
ist die in dem ersten Chip enthaltene Schaltung des Weiteren so
ausgelegt, dass sie Signaleigenschaften des Signals und des zurückgesendeten
Signals zeitabhängig überwacht.
-
Gemäß einem
weiteren Aspekt wird ein System zur Verfügung gestellt zum Testen einer
Verbindung zwischen einem ersten Chip und einem zweiten Chip, wobei
ein
erster Pin des ersten Chips mit einem ersten Pin des zweiten Chips über die
Verbindung verbunden ist, um die Übertragung eines Signals von
dem ersten Chip zu dem zweiten Chip zu ermöglichen; und
wobei die
Verbindung einen Rücksendepfad
aufweist, der den ersten Pin des ersten Chips mit einem zweiten Pin
des ersten Chips verbindet, um das Signal an den ersten Chip zurückzusenden;
und
wobei der erste Chip eine Schaltung aufweist, die so ausgelegt
ist, dass sie das zurückgesendete
Signal mit dem Signal vergleicht.
-
Vorteilhaft
ist die in dem ersten Chip enthaltene Schaltung des Weiteren so
ausgelegt, dass sie Signaleigenschaften des Signals und des zurückgesendeten
Signals zeitabhängig überwacht.
-
Gemäß einem
weiteren Aspekt wird ein System zur Verfügung gestellt, das aufweist:
einen
ersten Chip, der eine erste Steuerlogik und eine erste Pad-Struktur
aufweist;
einen zweiten Chip, der eine zweite Steuerlogik und
eine zweite Pad-Struktur aufweist;
eine Vielzahl von Verbindungen,
die die erste und die zweite Pad-Struktur verbinden;
wobei
die erste Steuerlogik veranlasst, dass die erste Pad-Struktur ein Testsignal
an die zweite Pad-Struktur über
die Vielzahl von Verbindungen sendet;
wobei die zweite Steuerlogik
veranlasst, dass die zweite Pad-Struktur
das Testsignal über
die Vielzahl von Verbindungen an die erste Pad-Struktur zurücksendet;
und
wobei die erste Pad-Struktur das Testsignal mit dem von
der zweiten Pad-Struktur zurückgesendeten
Testsignal vergleicht.
-
Vorteilhaft
werden zwei verschiedene Verbindungen der Vielzahl von Verbindungen
zum Senden und Zurücksenden
des Testsignals verwendet.
-
Vorteilhaft
weist das System des Weiteren eine Steuereinheit auf, die mit der
ersten Steuerlogik und der zweiten Steuerlogik verbunden ist und
diese steuert.
-
Vorteilhaft
ist die Steuereinheit in dem ersten Chip enthalten.
-
Vorteilhaft
enthalten sowohl der erste Chip als auch der zweite Chip Teile der
Steuereinheit, wobei die Teile der Steuereinheit so mitwirken, dass
sie die erste Steuerlogik und die zweite Steuerlogik steuern.
-
Vorteilhaft
wird das Testsignal invertiert, bevor es an die erste Pad-Struktur
zurückgesendet
wird.
-
Vorteilhaft
werden alle oder ausgewählte
Verbindungen der Vielzahl von Verbindungen der Reihe nach mit einem
Wert ”0” und einem
Wert ”1” getestet.
-
Vorteilhaft
werden alle oder ausgewählte
Verbindungen der Vielzahl von Verbindungen der Reihe nach in beiden
Richtungen getestet.
-
Gemäß einem
Aspekt wird ein System bereitgestellt, das aufweist:
einen
ersten Chip, der eine erste Vielzahl von Pad-Struktur-Blöcken aufweist;
einen
zweiten Chip, der eine zweite Vielzahl von Pad-Struktur-Blöcken aufweist;
eine
Vielzahl von Verbindungen, die jeweils einen Pad-Struktur-Block
der ersten Vielzahl von Pad-Struktur-Blöcken mit einem entsprechenden
Pad-Struktur-Block der zweiten Vielzahl von Pad-Struktur-Blöcken verbinden;
wobei
die Pad-Struktur-Blöcke
des ersten Chips miteinander verbunden sind, um einen Ring zu bilden,
und
wobei die Pad-Struktur-Blöcke des zweiten Chips miteinander
verbunden sind, um einen Ring zu bilden;
wobei die erste Vielzahl
von Pad-Struktur-Blöcken
so konfiguriert ist, dass sie ein Testsignal an die zweite Vielzahl
von Pad-Struktur-Blöcken über eine
Verbindung der Vielzahl von Verbindungen sendet, und wobei die zweite
Vielzahl von Pad-Struktur-Blöcken so
konfiguriert ist, dass sie das Testsignal an die erste Vielzahl
von Pad-Struktur-Blöcken über eine
weitere Verbindung der Vielzahl von Verbindungen zurücksendet,
und
wobei die erste Vielzahl von Pad-Struktur-Blöcken des Weiteren so konfiguriert
ist, dass sie das Testsignal mit dem zurückgesendeten Testsignal vergleicht.
-
Vorteilhaft
ist die zweite Vielzahl von Pad-Struktur-Blöcken so konfiguriert, dass
sie ein weiteres Testsignal an die erste Vielzahl von Pad-Struktur-Blöcken über die
eine Verbindung der Vielzahl von Verbindungen sendet, und wobei
die erste Vielzahl von Pad-Struktur-Blöcken so konfiguriert ist, dass
sie das weitere Testsignal an die zweite Vielzahl von Pad-Struktur-Blöcken über die
weitere Verbindung der Vielzahl von Verbindungen zurücksendet,
und wobei die zweite Vielzahl von Pad-Struktur-Blöcken des Weiteren so konfiguriert
ist, dass sie das weitere Testsignal mit dem zurückgesendeten weiteren Testsignal
vergleicht.
-
Vorteilhaft
weist der erste Chip des Weiteren eine erste Steuerlogik und der
zweite Chip des Weiteren eine zweite Steuerlogik auf, wobei die
erste Steuerlogik und die zweite Steuerlogik veranlassen, dass die
ersten und zweiten Vielzahlen von Pad-Strukturen Testsignale senden
und zurücksenden
und Testsignale mit entsprechenden zurückgesendeten Testsignalen vergleichen.
-
Vorteilhaft
senden entsprechende Pad-Struktur-Blöcke der ersten und zweiten
Vielzahlen von Pad-Struktur-Blöcken
ein Prüfsignal,
das ein Ergebnis des Vergleichs von Testsignalen enthält, an die
erste Steuerlogik bzw. die zweite Steuerlogik.
-
Vorteilhaft
wird das Testsignal von einem ersten Pad-Struktur-Block der ersten
Vielzahl von Pad-Struktur-Blöcken über die
eine Verbindung an einen ersten Pad-Struktur-Block der zweiten Vielzahl
von Pad-Struktur-Blöcken
gesendet, von dem ersten Pad-Struktur-Block der zweiten Vielzahl
von Pad-Struktur-Blöcken an einen
zweiten Pad-Struktur-Block der zweiten Viel zahl von Pad-Struktur-Blöcken weitergeleitet,
von dem zweiten Pad-Struktur-Block der zweiten Vielzahl von Pad-Struktur-Blöcken an
einen zweiten Pad-Struktur-Block der ersten Vielzahl von Pad-Struktur-Blöcken übertragen,
und von dem zweiten Pad-Struktur-Block der ersten Vielzahl von Pad-Struktur-Blöcken an
den ersten Pad-Struktur-Block der ersten Vielzahl von Pad-Struktur-Blöcken weitergeleitet.
-
Vorteilhaft
wird das weitere Testsignal von dem ersten Pad-Struktur-Block der zweiten Vielzahl
von Pad-Struktur-Blöcken über die
eine Verbindung an den ersten Pad-Struktur-Block der ersten Vielzahl
von Pad-Struktur-Blöcken
gesendet, von dem er sten Pad-Struktur-Block der ersten Vielzahl
von Pad-Struktur-Blöcken an
einen zweiten Pad-Struktur-Block der ersten Vielzahl von Pad-Struktur-Blöcken weitergeleitet,
von dem zweiten Pad-Struktur-Block der ersten Vielzahl von Pad-Struktur-Blöcken an
den zweiten Pad-Struktur-Block der zweiten Vielzahl von Pad-Struktur-Blöcken übertragen,
und von dem zweiten Pad-Struktur-Block der
zweiten Vielzahl von Pad-Struktur-Blöcken an den ersten Pad-Struktur-Block
der zweiten Vielzahl von Pad-Struktur-Blöcken weitergeleitet.
-
Vorteilhaft
sind die ersten Pad-Struktur-Blöcke
der ersten und zweiten Vielzahlen von Pad-Struktur-Blöcken so
konfiguriert, dass sei das empfangene Testsignal invertieren, bevor
sie es an die zweiten Pad-Struktur-Blöcke der ersten und zweiten
Vielzahlen von Pad-Struktur-Blöcken
weiterleiten.
-
Vorteilhaft
weist der erste Chip des Weiteren eine erste Steuerlogik und der
zweite Chip des Weiteren eine zweite Steuerlogik auf, wobei die
erste Steuerlogik und die zweite Steuerlogik veranlassen, dass die
ersten und zweiten Vielzahlen von Pad-Strukturen Testsignale senden,
weiterleiten und zurücksenden
und Testsignale mit entsprechenden zurückgesendeten Testsignalen vergleichen.
-
Vorteilhaft
senden entsprechende Pad-Struktur-Blöcke der ersten und zweiten
Vielzahlen von Pad-Struktur-Blöcken
ein Prüfsignal,
das ein Ergebnis des Vergleichs von Testsignalen enthält, an die
erste Steuerlogik bzw. die zweite Steuerlogik.
-
Gemäß einem
Aspekt wird ein System bereitgestellt zum Testen einer Vielzahl
von Verbindungen zwischen einer Vielzahl von Chips, wobei das System
wenigstens aufweist:
eine erste Steuerlogik, die in einem ersten
Chip der Vielzahl von Chips implementiert ist;
eine zweite
Steuerlogik, die in einem zweiten Chip der Vielzahl von Chips implementiert
ist;
eine Steuereinheit, die mit der ersten Steuerlogik und
der zweiten Steuerlogik verbunden ist;
wobei die Steuereinheit
Steuersignale an die erste Steuerlogik und an die zweite Steuerlogik
sendet, damit veranlasst wird, dass:
die erste Steuerlogik
Signale über
die Vielzahl von Verbindungen an die zweite Steuerlogik sendet und
von dieser empfängt;
die
zweite Steuerlogik Signale über
die Vielzahl von Verbindungen an die erste Steuerlogik sendet und
von dieser empfängt;
die
erste Steuerlogik entsprechende Paare gesendeter und empfangener
Signale vergleicht, um zu ermitteln, ob Signale korrekt über eine
entsprechende Verbindung der Vielzahl von Verbindungen zwischen
dem ersten und dem zweiten Chip übertragen
werden;
die zweite Steuerlogik entsprechende Paare gesendeter
und empfangener Signale vergleicht, um zu ermitteln, ob Signale
korrekt über
eine weitere entsprechende Verbindung der Vielzahl von Verbindungen
zwischen dem ersten und dem zweiten Chip übertragen werden.
-
Vorteilhaft
ist die Steuereinheit in einem Chip der Vielzahl von Chips enthalten
und steuert wenigstens die erste Steuerlogik und die zweite Steuerlogik.
-
Vorteilhaft
enthält
jeder Chip der Vielzahl von Chips Teile der Steuereinheit, wobei
die Teile der Steuereinheit so mitwirken, dass Sie wenigstens die
erste Steuerlogik und die zweite Steuerlogik steuern.
-
Vorteilhaft
ist die Steuereinheit so konfiguriert, dass sie ein Testverfahren
durch Übernehmender
Vielzahl von Verbindun gen, Durchführen von Tests und Zurückgeben
der Vielzahl von Verbindungen ohne aktives Mitwirken von Funktionslogiken
der Vielzahl von Chips durchführt.
-
Vorteilhaft
ist die Steuereinheit des Weiteren so konfiguriert, dass sie Mehrschritt-Testsequenzen durchführt.
-
Vorteilhaft
weist das System wenigstens drei Chips auf, wobei die Vielzahl von
Verbindungen wenigstens einen Chip mit wenigstens zwei weiteren
Chips der wenigstens drei Chips verbindet, und wobei die Steuereinheit
veranlasst, dass die Vielzahl von Verbindungen zwischen den wenigstens
drei Chips gleichzeitig oder der Reihe nach getestet wird.
-
Vorteilhaft
veranlaßt
die Steuereinheit, dass nur ein Teil des Systems getestet wird,
während
der verbleibende Teil des Systems funktionsgemäß arbeitet.
-
Vorteilhaft
weist das System des Weiteren auf: eine Schaltung, die jeweils Pad-Strukturen
des ersten und des zweiten Chips hinzugefügt ist, wobei die Schaltung
so ausgelegt ist, dass sie Verbindungen zwischen verschiedenen Pads
des ersten Chips und zwischen verschiedenen Pads des zweiten Chips
bereitstellt.
-
Vorteilhaft
weist die Schaltung wenigstens einen Multiplexer auf, um Ausgangsdaten
durch Testdaten zu ersetzen, ohne eine Funktionslogik von Kernen
des entsprechenden Chips zu beeinträchtigen.
-
Vorteilhaft
weist die Schaltung des Weiteren wenigstens ein Latch auf, um das
Eingangssignal vor dem Test zu speichern und an die Funktionslogik
des Kerns des entsprechenden Chips wei terzuleiten, so dass der Empfang
von Testdaten nicht von der Funktionslogik gesehen wird.
-
Gemäß einem
Aspekt wird ein System bereitgestellt zum Testen von Pins und/oder
Verbindungen zwischen Vorrichtungen, wobei das System so konfiguriert
ist, dass es die Pin- und/oder Konnektivitätstests während des Normalbetriebs der
Vorrichtungen durch Verwenden wenigstens einer Verbindung zwischen
den Vorrichtungen für
den Konnektivitäts-
und/oder Pintest während
eines Zeitraums, in dem wenigstens eine Verbindung nicht zu ihrem
Hauptzweck verwendet wird, durchführt.
-
Vorteilhaft
liegt der Zeitraum zwischen zwei Datenübertragungsfenstern oder Datenframes.
-
Vorteilhaft
wird ein Handshake-Mechanismus verwendet, um Zeitkollisionen von
Testaktivität
und Datenübertragungen
zu vermeiden.
-
Vorteilhaft
ist der Konnektivitäts-
und/oder Pintest, der die wenigstens eine Verbindung verwendet,
mit einer Einstellung der Hauptzweck-Aktivität für die wenigstens eine Verbindung
synchronisiert.
-
Vorteilhaft
ist die wenigstens eine Verbindung eine Datenübertragungs-Schnittstellenverbindung,
wobei ein Aktivierungssignal zum Synchronisieren des Konnektivitäts- und/oder
Pintests mit einer Einstellung der Hauptzweck-Aktivität verwendet
wird.
-
Vorteilhaft
ist die wenigstens eine Verbindung eine Serial Peripheral Interface(SPI)-Verbindung,
die eine Slaveauswahlleitung und weitere SPI-Verbindungsleitungen
aufweist.
-
Vorteilhaft
wird die Slaveauswahlleitung zum Synchronisieren des Konnektivitäts- und/oder
Pintests mit einer Einstellung einer Hauptzweck-Aktivität auf den
weiteren SPI-Verbindungsleitungen
verwendet.
-
Vorteilhaft
werden die weiteren SPI-Verbindungsleitungen zum Testen der Verbindungen
anderer Funktionen verwendet.
-
KURZE BESCHREIBUNG DER MEHREREN ANSICHTEN
DER ZEICHNUNG(EN)
-
Die
anliegenden Zeichnungen sind beigefügt, um ein breiteres Verständnis der
vorliegenden Erfindung zu ermöglichen
und sind in der vorliegenden Beschreibung beinhaltet und stellen
einen Teil davon dar. Die Zeichnungen zeigen Ausführungsformen
der vorliegenden Erfindung und dienen zusammen mit der Beschreibung
dazu, die Grundlagen der Erfindung zu erläutern. Weitere Ausführungsformen
der vorliegenden Erfindung und viele der beabsichtigten Vorteile
der vorliegenden Erfindung werden ohne weiteres geschätzt werden,
wenn sie unter Bezug auf die folgende Beschreibung besser verstanden
werden.
-
1a zeigt
ein Schaltschema eines Systems gemäß einer Ausführungsform
der Erfindung.
-
1b zeigt
ein Schaltschema eines Systems gemäß einer weiteren Ausführungsform
der Erfindung.
-
2 zeigt
ein Schaltschema eines Teils eines Chips gemäß einer weiteren Ausführungsform
der Erfindung.
-
3 zeigt
ein Schaltschema eines Teils eines Systems gemäß einer weiteren Ausführungsform
der Erfindung.
-
4 zeigt
eine Ausführungsform
einer Pad-Struktur.
-
Die 5a–5g zeigen
den Betrieb eines Teils eines Systems gemäß einer weiteren Ausführungsform
der Erfindung, wobei sieben verschiedene Zustände des Teils des Systems gezeigt
sind.
-
6 zeigt
eine Ausführungsform
einer Steuerlogik.
-
7 zeigt
ein Schaltschema eines Teils eines Systems gemäß einer weiteren Ausführungsform
der Erfindung.
-
8a zeigt
eine beispielhafte Serial Peripheral Interface(SPI)-Verbindung zwischen
einer SPI-Mastervorrichtung 71 und einer SPI-Slavevorrichtung.
-
8b zeigt
ein Schaltschema eines Teils eines Systems gemäß einer weiteren Ausführungsform
der Erfindung, implementiert in einem Serial Peripheral Interface.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
In
der folgenden detaillierten Beschreibung wird Bezug genommen auf
die beigefügten
Zeichnungen, die einen Teil davon bilden, und in denen mittels Illustration
spezifische Ausführungsformen
gezeigt sind, in denen die Erfindung praktiziert werden kann. Es
ist selbstverständlich,
dass andere Ausführungsformen
verwendet und strukturelle oder andere Änderungen vorgenommen werden
können,
ohne vom Umfang der vorliegenden Erfindung abzuweichen. Die folgende
detaillierte Beschreibung ist daher nicht in einem einschränkenden
Sinne zu verstehen, und der Umfang der vorliegenden Erfindung wird
durch die beigefügten
Patentansprüche
definiert.
-
1a zeigt
ein Schaltschema eines Systems gemäß einer Ausführungsform
der Erfindung.
-
Das
System 10a weist einen ersten Chip oder eine erste Vorrichtung 11 und
einen zweiten Chip oder eine zweite Vorrichtung 12 auf.
Der erste Chip 11 weist eine Ausgangsstufe 14,
eine Eingangsstufe 15, erste und zweite Pins 16, 17 auf,
und der zweite Chip 12 weist einen dritten Pin 18 auf.
-
Die
Ausgangsstufe 14 ist über
die Verbindung 101 mit dem ersten Pin 16 verbunden,
und der erste Pin 16 des ersten Chips 11 ist des
Weiteren über
die Verbindungen 102, 102a mit dem dritten Pin 18 des
zweiten Chips 12 verbunden und über die Verbindungen 102, 102b mit
dem zweiten Pin 17 des ersten Chips 11. Der zweite
Pin 17 des ersten Chips 11 ist des Weiteren über die
Verbindung 103 mit der Eingangsstufe 15 verbunden.
-
Bei
der in 1a gezeigten Ausführungsform
wird das von dem ersten Chip 11 an den zweiten Chip 12 gesendete
Signal auch direkt an den ersten Chip, oder vielmehr an den zweiten
Pin 17 des ersten Chips 11, zurückgesendet.
Somit wird der Signalausgang über
den ersten Pin 16 direkt von außerhalb des ersten Chips 11 an
den zweiten Pin 17 zurückgesendet,
was das Überprüfen gegebenenfalls
fehlerhafter Verbindungen und Lötstellen
des ersten Chips 11 ermöglicht,
jedoch nicht der Qualität
des Signals, das an dem zweiten Chip 12 ankommt.
-
Die
Ausführungsform
der 1b beseitigt diesen Mangel, jedoch auf Kosten
eines zusätzlichen
Pins für
den zweiten Chip 12.
-
Das
System 10b weist einen ersten Chip oder eine erste Vorrichtung 11 auf,
der/die dem ersten Chip 11 des in 1a gezeigten
Systems 10a entspricht, und einen zweiten Chip oder eine
zweite Vorrichtung 13. Der erste Chip 11 weist
eine Ausgangsstufe 14, eine Eingangsstufe 15 und
erste und zweite Pins 16, 17 auf. Der zweite Chip 13 entspricht
im Wesentlichen dem zweiten Chip 12 des Systems 10a,
weist jedoch zwei Pins, den dritten Pin 18 und den vierten
Pin 19, auf.
-
Die
Ausgangsstufe 14 ist über
die Verbindung 105 mit dem ersten Pin 16 verbunden,
und der erste Pin 16 des ersten Chips 11 ist über die
Verbindung 106 des Weiteren mit dem dritten Pin 18 des
zweiten Chips 12 verbunden. Der dritte Pin 18 ist über die
Verbindung 107 mit dem vierten Pin 19 in dem zweiten
Chip 13 verbunden, wobei der vierte Pin 19 des
Weiteren über
die Verbindung 108 mit dem zweiten Pin 17 des
ersten Chips 11 verbunden ist. Der zweite Pin 17 ist
des Weiteren mit der Eingangsstufe 15 verbunden.
-
Bei
der in 1b gezeigten Ausführungsform
ermöglicht
das System 10b das Überwachen
des gesamten Übertragungspfads
und der Pfadstruktur des zweiten Chips 13, da das entsprechende
Signal in dem zweiten Chip 13 über den zusätzlichen vierten Pin 19 des
zweiten Chips zurückgesendet
wird. Diese Ausführungsform
führt jedoch
zu höheren
Produktionskosten für
den zweiten Chip.
-
Vorzugsweise
kann das Signal von dem zweiten Chip 13 an den ersten Chip 11 in
modifizierter Form zurückgesendet
werden. Demgemäß kann das
Signal in dem zweiten Chip 13 invertiert werden, bevor
das – nun
invertierte – Signal
an den ersten Chip 11 zurückgesendet wird. Dadurch kann
von dem zweiten Chip 13 eine Art „Lebenszeichen” erhalten
werden, was die Ermittlung möglicher
Fehler in dem Übertragungspfad
zwischen dem Übertragen
und dem Zurücksenden
des Signals ermöglicht.
Des Weiteren wird durch das aktive Invertieren des zurückgesendeten
Signals auch eine fehlende oder fehlerhafte Energiever sorgung ermittelt. Wenn
die Invertierung durch ein Flip-Flop erfolgt, könnte auch ein fehlender Takt
ermittelt werden. Dies verursacht jedoch Latenz, da das zurückgesendete
Signal erst nach einer Taktperiode überprüft werden kann.
-
Zum Überprüfen der
Signale, d. h. zum Vergleichen des (ursprünglichen) Signals mit dem zurückgesendeten
Signal, kann vorteilhaft eine zusätzliche generische Logik bereitgestellt
werden. Dies ist eine effizientere Art des Durchführens von
Signalvergleich, als die entsprechenden Funktionsmodule selbst die Überprüfung der
Signale vornehmen zu lassen.
-
Moderne
Vorrichtungen, z. B. Mikrocontroller, stellen häufig mehr Logikfunktionen bereit
als Port-Pins. Demgemäß ist es
möglich,
dass ein Port-Pin verschiedene Signale von mehreren Modulen treiben
und empfangen muss. Der Benutzer dieser Vorrichtungen kann bestimmen,
welches Signal an welchem Pin vorhanden ist. Für diese Vorrichtungen ist es
besonders vorteilhaft, Einrichtungen zum Überwachen von Signalen unabhängig von
der Funktion der Signale bereit zu stellen.
-
2 zeigt
einen Chip gemäß einer
Ausführungsform
der Erfindung, der in den Systemen 10a und 10b der 1a bzw. 1b implementiert
werden kann.
-
Der
Chip 21, beispielsweise ein Mikrocontroller, weist ein
erstes Modul 22, ein zweites Modul 23, einen Multiplexer 24,
eine Ausgangsstufe 25, eine Eingangsstufe 26,
einen Signalüberprüfungsblock 27,
einen ersten Pin 28 und einen zweiten Pin 29 auf.
-
Das
erste Modul 22 und das zweite Modul 23 sind über die
Verbindungen 201 bzw. 202 mit dem Multiplexer 24 verbunden.
Der Multiplexer 24 ist des Weiteren über die Verbindungen 203, 203a mit
der Ausgangsstufe 25 verbunden, und über die Verbindungen 203, 203b mit
dem Signalüberprüfungsblock 27.
Die Ausgangsstufe 25 ist des Weiteren über die Verbindung 204 mit
dem ersten Pin 28 verbunden. Der zweite Pin ist über die
Verbindung 207 mit der Eingangsstufe 26 verbunden,
die über
die Verbindung 208 auch mit dem Signalüberprüfungsblock 27 verbunden
ist. Der Signalüberprüfungsblock 27 ist
mit dem Multiplexer 24 und der Eingangsstufe 26 verbunden.
-
Der
Chip 21 der 2 ermöglicht es dem Benutzer, das
an den ersten Pin 28 zu treibende Funktionssignal auszuwählen, d.
h. in diesem Fall zu wählen,
von welchem Modul, dem ersten Modul 22 oder dem zweiten
Modul 23, ein Funktionssignal an den ersten Pin 28 getrieben
wird. Das Funktionssignal von dem ausgewählten Modul kann dann beispielsweise
gemäß einer
der oben unter Bezug auf die 1a und 1b beschriebenen
Ausführungsformen
oder gemäß anderen
Mitteln zum Zurücksenden
des Signals zurückgesendet werden.
-
Das
zurückgesendete
Signal wird an dem zweiten Pin 29 empfangen und über die
Eingangsstufe 26 an den Signalüberprüfungsblock 27 weitergeleitet.
Der Signalüberprüfungsblock 27 empfängt sowohl
das ausgewählte
Funktionssignal als auch das zurückgesendete
Signal an seinen Eingängen
und überprüft die Signale.
-
Ein
einfacher Test kann sein, das ausgewählte Funktionssignal und das
zurückgesendete
Signal mit Flankenerkennungsfähigkeit
auszustatten. Eine Zustandsmaschine kann die Reihenfolge der Flanken
(z. B. ansteigende Flanke des Funktionssignals – ansteigende Flanke des zurückgesendeten
Signals fallende Flanke des Funktionssignals – fallende Flanke des zurückgesendeten
Signals – etc.) überwachen.
Falls eine andere Flanke erscheint, als die erwartete, kann ein
Alarmsignal ak tiviert werden, um einen Fehler anzuzeigen. Je nach
Anwendung kann das Alarmsignal ein Interrupt (Unterbrechung), ein
Trap (Falle) oder sogar ein Reset (Rücksetzen) auslösen.
-
Eine
mögliche
Invertierung des zurückgesendeten
Signals kann durch eine zusätzliche
Invertierung des zurückgesendeten
Signals in der Eingangsstufe 26 ausgeglichen werden, so
dass der Signalüberprüfungsblock 27 durch
eine Invertierung des Signals in der Zielvorrichtung nicht beeinträchtigt wird.
-
Der
Signalüberprüfungsblock 27 ist
vorteilhaft in der Nähe
der Port-Pins implementiert, da diese Stelle die Leitungslänge in dem
Chip reduziert. Es ist jedoch selbstverständlich nicht zwingend, den
Signalüberprüfungsblock 27 nahe
den Port-Pins anzuordnen.
-
Die
beschriebene Architektur des Chips 21 stellt eine Signalüberwachungseinrichtung
für gewissermaßen alle
Zwecke bereit, die nicht auf eine bestimmte Art von Funktionssignal
beschränkt
ist, sondern zum Überwachen
von Signalen jeder Art von Funktionsmodulen verwendet werden kann.
Daher sind verschiedene Ausprägungen
der Signalüberwachung
einfach in einer Vorrichtung oder einem Chip zu implementieren,
da nur die Anzahl der Signalüberprüfungsblöcke angepasst
werden muss.
-
Des
Weiteren lässt
die Implementierung des Signalüberprüfungsblocks 27 als
einfache und kostengünstige
Zustandsmaschine in einem Chip die Option offen, den zusätzlichen
(und teueren) Pin für
eine andere Funktion (nicht als Eingang für zurückgesendete Signale) zu verwenden.
-
Des
Weiteren werden, da die Signaltestfähigkeit in einem Chip implementiert
ist, jedoch außerhalb
des entsprechenden Funktionsmoduls, die Funktionsmodule nicht noch
kom plexer und benötigen
daher keinen zusätzlichen
Chipbereich zum Implementieren der Testfähigkeit in dem entsprechenden
Funktionsmodul.
-
Vorzugsweise
kann die Signalüberprüfungslogik
des Signalüberprüfungsblocks 27 so
erweitert werden, dass die Signaleigenschaften zeitabhängig überwacht
werden. Es kann beispielsweise nützlich
sein festzulegen, dass zwei Flanken des Funktionssignals nicht in
einer zu nahen Abfolge aufeinander folgen. Auf diese Weise können zusätzliche Überwachungsinformationen
erhalten werden, insbesondere, wenn der Signalüberprüfungsblock 27 mit
einem Takt ausgestattet ist, der von dem Systemtakt des Mikroprozessors
unabhängig ist.
Außerdem
kann die Zeit zwischen einer Flanke des Funktionssignals und der
entsprechenden Flanke des zurückgesendeten
Signals Informationen über
die Art des Fehlers, der in dem System auftritt, zur Verfügung stellen,
beispielsweise Veränderungen
der Impedanz von Verbindungen, die durch kalte Lötstellen, auftretende Haarrisse
oder Korrosion verursacht werden.
-
3 zeigt
ein Schaltschema eines Teils eines Systems gemäß einer weiteren Ausführungsform
der Erfindung.
-
Das
System 30 weist einen ersten Chip 31, einen zweiten
Chip 32 und eine Steuereinheit 30 auf, die über die
Verbindungen 305 bzw. 306 mit den ersten und zweiten
Chips verbunden ist. Es wird jedoch angemerkt, dass die Steuereinheit 39 auch
Teil des ersten Chips 31 oder des zweiten Chips 32 sein
kann, obwohl sie in 3 als separater Chip dargestellt
ist.
-
Der
erste Chip 31 weist eine erste Port-Gruppe 33a,
eine zweite Port-Gruppe 33b, eine erste Pad-Struktur 35 und
eine erste Steuerlogik 37 auf, die über die Verbindung 303 mit
der ersten Pad-Struktur und über
die Verbindung 305 mit der Steuereinheit verbunden ist.
-
Der
zweite Chip 32 weist eine dritte Port-Gruppe 34a,
eine vierte Port-Gruppe 34b, eine zweite Pad-Struktur 36 und
eine zweite Steuerlogik 38 auf, die über die Verbindung 304 mit
der zweiten Pad-Struktur und über
die Verbindung 306 mit der Steuereinheit 39 verbunden
ist.
-
Die
in 3 gezeigte Ausführungsform verwendet Verbindungen
und Pins, die in dem System 30 bereits vorhanden sind,
als Rücksendepfad
für zu
testende Signale, d. h. für
den Test sind keine zusätzlichen Pins
erforderlich. Zu Testzwecken werden relevante Verbindungen als eigene
Sätze von
Punkt-zu-Punkt-Drähten zwischen
Vorrichtungen unabhängig
von ihrem Anwendungsinhalt betrachtet, wobei alle Verbindungen zwischen
zwei Vorrichtungen gebündelt
und zusammen verarbeitet werden. Eine zentrale Steuereinheit steuert
die Pad-Strukturen mittels Steuerlogikschaltungen, die den Vorrichtungen
hinzugefügt
werden, deren Verbindungen zu testen sind. Aus diesem Grund sind
die Pad-Strukturen gewöhnlicher
Chips leicht modifiziert, d. h. Schaltungen werden hinzugefügt, um Steuersignale
von der entsprechenden Steuerlogik auf demselben Chip zu empfangen.
Durch Steuern der modifizierten Pad-Strukturen von außen, d.
h. von der zentralen Steuereinheit, ist es möglich, die Richtung des Datenflusses
(hinein und hinaus) und den transportierten Wert (1 oder 0) unabhängig von
der Vorrichtungsanwendung auszuwählen.
Die modifizierten Pad-Strukturen sind auch so konfiguriert, dass
sie das zurückgesendete
Signal überprüfen und
das Ergebnis, das nachfolgend „Prüfsignal” genannt
wird, an die entsprechende Steuerlogik weiterleiten.
-
Die
Eingangs-/Ausgang-Pins (input/output pins; IO-Pins) einer Vorrichtung
können
gemäß ihrer
Konnektivität
in Gruppen aufgeteilt werden, wobei alle in einer Vorrichtung gruppierten
Signale mit derselben Gegenvorrichtung verbunden werden, und Signale,
die in der einen Vorrichtung gruppiert sind, auch in der Gegenvorrichtung
gruppiert sind. In einer Vorrichtung können mehrere Gruppen von Signalen
vorhanden sein, aber jedes Signal gehört nur zu einer Gruppe. Die
Richtung des Datenflusses ist für
die Gruppierung nicht relevant, und Signale, die nicht als kritisch
betrachtet werden, d. h. Signale, die nicht zu testen sind, können in dem
Test außer
Acht gelassen werden.
-
In 4 ist
eine Ausführungsform
einer Pad-Struktur gezeigt. Es wird jedoch angemerkt, dass die in 4 gezeigte
Ausführungsform
nur eine mögliche
Ausgestaltung einer Pad-Struktur
darstellt, die in einem erfindungsgemäßen System implementiert werden
könnte.
Selbstverständlich
können
beliebige andere geeignete Ausgestaltungen von Pad-Strukturen ebenfalls
in erfindungsgemäßen Systemen
implementiert werden.
-
Die
Pad-Struktur 400 von 4 weist
einen ersten Eingang 411 und einen zweiten Eingang 412,
einen Ausgang 413, einen ersten Multiplexer 431,
einen zweiten Multiplexer 432, einen Eingangstreiber 452,
ein Pad 420, einen Ausgangstreiber 451, einen
Latch (Auffangregister) 440, ein NOT-Gate 461 und
ein XOR-Gate 462 auf.
-
Der
erste Eingang 411 ist über
die Verbindung 401 mit einem ersten Eingang des ersten
Multiplexers 431 verbunden. Der zweite Eingang 412 ist über die
Verbindung 402 mit einem zweiten Eingang des ersten Multiplexers 431 verbunden.
Ein erster Eingang des Ausgangstreibers 451 ist über die
Verbindung 403 mit einem Ausgang des ersten Multiplexers 431 verbunden
und ein zweiter Eingang des Ausgangstreibers 451 ist über die
Verbindung 404 mit einem Ausgang des zweiten Multiplexers
ver bunden. Ein Ausgang des Ausgangstreibers 451 ist über die
Verbindung 405 mit dem Pad 420 verbunden, wobei
der Pad 420 über
die Verbindung 406 des Weiteren mit einem Eingang des Eingangstreibers 452 verbunden
ist. Ein Ausgang des Eingangstreibers 452 ist über die
Verbindungen 407 und 407a mit einem Eingang des
Latches 440 und über
die Verbindungen 407 und 407b mit einem Eingang
des NOT-Gates 461 verbunden. Ein Ausgang des NOT-Gates 461 ist über die
Verbindung 408 mit einem Eingang des XOR-Gates verbunden,
und ein Ausgang des Latches 440 ist über die Verbindung 409 mit
dem Ausgang 413 verbunden.
-
Die
Pad-Struktur wird durch Steuersignale, z. B. ”A”, ”B”, ”C”, ”D”, die an den Multiplexern 431, 432 und
dem Latch 440 von einer assoziierten Steuerlogik empfangen
werden, gesteuert: Zunächst
identifizieren die Steuersignale, welcher Eingang der Multiplexer 431, 432 an
den Ausgangstreiber 451 weitergeleitet wird: Nur, wenn
ein bestimmtes Steuersignal, z. B. ”D”, aktiviert ist, werden Signale,
die an den Eingängen 411, 412 empfangen
werden, an den Ausgangstreiber 451 weitergeleitet. Anderenfalls,
d. h., wenn beispielsweise eines oder mehrere der Steuersignale ”A”, ”B” oder ”C” aktiviert
sind, können
Signale, die zum Testen erforderlich sind (wie unten genauer beschrieben
werden wird), weitergeleitet werden, oder es können überhaupt keine Signale weitergeleitet
werden. Dann stellen die Steuersignale den Betriebsmodus des Latches 440 her:
Der Latch ist transparent, während
ein bestimmtes Steuersignal aktiviert ist, z. B. ”D”, behält jedoch
seinen vorherigen Wert, sobald und solange das bestimmte Signal,
z. B. ”D”, deaktiviert
ist.
-
Für den beispielhaften
Satz von Steuersignalen ”A”, ”B”, ”C” und ”D” können die
folgenden Betriebsmodi hergestellt werden:
- D:
- ”normale Funktion”, die Vorrichtung
arbeitet bestimmungsgemäß;
- C + A:
- treibe ”0” aktiv
zu dem Pad und leite es an den ”oberen” Nachbarn
weiter (next_o);
- C + B:
- vergleiche Gegenstück des Eingangswerts,
der von dem ”unteren” Nachbarn
gesendet wurde (prev_i);
- A:
- treibe den von dem ”oberen” Nachbarn
empfangenen (und invertierten) Wert (next_i);
- B:
- leite Gegenstück des empfangenen
Werts an ”unteren” Nachbarn
weiter (prev_o).
-
Jeder
der Vielzahl von Pad-Struktur-Blöcken
einer Pad-Struktur
eines entsprechenden Chips ist bidirektional mit seinen zwei Nachbarn
in seiner Signalgruppe verbunden. Diese Verbindungen bilden einen
Ring (oder streng genommen zwei Ringe: next_o => prev_i und prev_o => next_i), da der letzte Pad-Struktur-Block mit
dem ersten Pad-Struktur-Block verbunden ist. Des Weiteren erzeugt
jeder Pad-Struktur-Block ein Ausgangs- oder Prüfsignal (check_o) und leitet
es an die Steuerlogik weiter.
-
Durch
geeignete Steuerung der Pad-Strukturen können nun zwei benachbarte Verbindungsdrähte schleifenartig
getestet werden, wie in Tabelle 1 gezeigt ist:
Erster Chip | Draht | Zweiter
Chip |
Index | Modus | Funktion | | Funktion | Modus | Index |
i
+ 1 | C + A | Sende ”0”;
Vergleiche
(nicht ”0”) mit ”1” | →”0”→ | Empfange ”0”
Leite
nicht ”0” (über prev_o)
hinunter | B | i
+ 1 |
i | C
+ B | Empfange ”1”
Leite
1 (über
next_o) hinauf
Vergleiche (nicht ”1”) mit ”0” | ←”1”← | Sende ”1” zurück | A | i |
i – 1 | C
+ A | Sende ”0”;
Vergleiche
(nicht ”0”) mit ”1” | →”0”→ | Empfange ”0”
Leite
nicht ”0” (über prev_o)
hinunter | B | i – 1 |
Tabelle
1: Elementare Prüfschleife
-
Die
Richtung des Datenflusses in dem Draht kann durch den Controller
umgekehrt werden, indem er dem zweiten Chip den Modus ”C” gibt (Vertauschen
von rechts und links in der Tabelle), während der gesendete Wert von
der A/B-Zuteilung gesteuert wird (Ersetze in der Tabelle ”A” durch ”B” und umgekehrt).
Es wird angemerkt, dass jeder Pad-Wert stets parallel nach beiden
Polaritäten
geprüft
wird.
-
Um
die Anwendung des oben genannten Testverfahrens zu erläutern, werden
mehrere Testschritte unter Bezug auf die 5a bis 5g beschrieben,
wobei ein System mit zwei Chips mit jeweils vier Pins als Beispiel
verwendet wird. Die beiden Chips sind so miteinander verbunden,
dass jeder Pin des ersten Chips mit einem entsprechenden Pin des
zweiten Chips verbunden ist. Es wird jedoch angemerkt, dass die
in den 5a bis 5g gezeigte
und im Folgenden beschriebene Ausführungsform nur als Beispiel
verwendet wird, auf dessen Grundlage Aspekte der Erfindung gezeigt
werden. Die Erfindung kann in einem System implementiert werden,
das eine beliebige Anzahl von Chips aufweist, wobei die Chips eine
beliebige Anzahl von Pins aufweisen können.
-
In
jeder der 5a bis 5g sind
vier Pad-Struktur-Blöcke 51a bis 51d gezeigt,
die Teil eines ersten Chips sind, und vier weitere Pad-Struktur-Blöcke 52a bis 52d,
die Teil eines zweiten Chips sind.
-
Die
Pad-Struktur-Blöcke 51a bis 51d sind
bidirektional mit ihren beiden jeweiligen Nachbarn verbunden, wobei
die Blöcke 51d und 51a als
gegenseitige Nachbarn betrachtet werden. Demgemäß ist der Block 51a mit
dem Block 51b und dem Block 51d verbunden, und
der Block 51b ist mit dem Block 51c und dem Block 51a verbunden,
etc.
-
Die
Pad-Struktur-Blöcke 52a bis 52d sind
ebenso bidirektional mit ihren beiden jeweiligen Nachbarn verbunden,
wobei die Blöcke 52d und 52a als
gegenseitige Nachbarn betrachtet werden. Demgemäß ist der Block 52a mit
dem Block 52b und dem Block 52d verbunden, der
Block 52b ist mit dem Block 52c und dem Block 52a verbunden,
etc.
-
In 5a ist
das Steuersignal ”D” für jede Pad-Struktur aktiviert,
was dazu führt,
dass die Chips/Vorrichtungen bestimmungsgemäß arbeiten. In diesem Betriebsmodus
werden die Funktionssignale ”X” und ”Y” von den
Pad-Struktur-Blöcken 51a, 51b an
die Pad-Struktur-Blöcke 52a bzw. 52b weitergeleitet,
und die Funktionssignale ”V”, ”W” werden
von den Pad-Struktur-Blöcken 52c, 52d an
die Pad-Struktur-Blöcke 51c bzw. 51d weitergeleitet.
-
In
den folgenden Schritten, die in den 5b bis 5g gezeigt
sind, wird der tatsächliche
Test durchgeführt,
wobei nach sechs Schritten (5b bis 5g)
eine Testschleife beendet ist. Während
dieser Schritte (5b bis 5g) ist
das Steuersignal ”D” deaktiviert.
Somit behalten die in den Pad-Struktur-Blöcken 51c, 51d, 52a und 52b enthaltenen
Latches ihre vorherigen Werte und leiten die Funktionssignale ”V”, ”W”, ”X” und ”Y” weiter
(solange das Steuersignal ”D” deaktiviert
ist).
-
Im
nächsten
Schritt, in 5b, wird das Steuersignal ”C + A” in den
Pad-Struktur-Blöcken 51a und 51c aktiviert,
was dazu führt,
dass sie eine ”0” an ihre
Pads treiben und die ”0” an die
Pad-Struktur-Blöcke 52a bzw. 52c und
auch an ihre ”oberen” Nachbarn,
die Blöcke 51d bzw. 51b,
weiterleiten. Zusätzlich
wird der Wert ”0” invertiert
(”nicht
0”) und
mit einem von den ”unteren” Nachbarn,
den Blöcken 51b bzw. 51d,
empfangenen Wert verglichen. Des Weiteren empfangen die Pad-Struktur-Blöcke 52a und 52c das
Steuersignal ”C
+ B”,
was dazu führt,
dass die Blöcke 52a und 52c die ”0” empfangen
und an ihre ”oberen” Nachbarn,
die Blöcke 52d bzw. 52b,
weiterleiten, und das Gegenstück
des empfangenen Werts (”nicht
0”) mit
einem von ihren ”unteren” Nachbarn,
den Pad-Struktur-Blöcken 52b bzw. 52d,
empfangenen Wert vergleichen.
-
In
demselben Schritt empfangen die Pad-Struktur-Blöcke 52b und 52d das
Steuersignal ”C
+ A”,
was dazu führt,
dass die Pad-Struktur-Blöcke 52b und 52d eine ”0” an ihre
Pads treiben und die ”0” an die Pad-Struktur-Blöcke 51b bzw. 52d und
auch an ihre ”oberen” Nachbarn,
die Blöcke 52a bzw. 52c,
weiterleiten. Zusätzlich
wird der Wert ”0” invertiert
(”nicht
0”) und
mit einem von den ”unteren” Nachbarn,
den Blöcken 52a bzw. 52c,
empfangenen Wert verglichen. In den Pad-Struktur-Blöcken 51b und 51d wird
das Steuersignal ”C +
B” aktiviert,
was dazu führt,
dass die Blöcke 51b und 51d die ”0” empfangen
und an ihre ”oberen” Nachbarn, die
Blöcke 51a bzw. 51c weiterleiten
und das Gegenstück
des empfangenen Werts (”nicht
0”) mit
einem von ihren ”unteren” Nachbarn,
den Blöcken 51c bzw. 51a,
empfangenen Wert vergleichen.
-
Im
nächsten
Schritt, in 5c, wird das Steuersignal ”C + A” weiterhin
in den Pad-Struktur-Blöcken 51a und 51c aktiviert,
was dazu führt,
dass sie eine ”0” an ihre
Pads treiben und die ”0” an die
Pad-Struktur-Blöcke 52a bzw. 52c und auch
an ihre ”oberen” Nachbarn 51d bzw. 51b weiterleiten.
Zusätzlich
wird der Wert ”0” invertiert
(”nicht
0”) und
mit einem von den ”unteren” Nachbarn,
den Blöcken 51b bzw. 51d,
empfangenen Wert verglichen. Des Weiteren empfangen die Pad-Struktur-Blöcke 52a und 52c das
Steuersignal ”B”, was dazu führt, dass
die Blöcke 52a und 52c die ”0” empfangen
und an ihre ”oberen” Nachbarn,
die Blöcke 52d bzw. 52b weiterleiten,
den empfangenen Wert invertieren, und den invertierten Wert (”nicht 0”) an ihre „unteren” Nachbarn,
die Blöcke 52b bzw. 52d,
weiterleiten und den invertierten Wert (”nicht 0”) mit einem von den ”unteren” Nachbarn,
den Pad-Struktur-Blöcken 52b bzw. 52d,
empfangenen Wert vergleichen.
-
In
demselben Schritt empfangen die Pad-Struktur-Blöcke 52b und 52d das
Steuersignal ”A”, was dazu führt, dass
die Blöcke 52b und 52d einen
Wert (”1”) von ihren „oberen” Nachbarn,
den Blöcken 52a bzw. 52c empfangen,
diesen Wert (”1”) treiben
und an die Pad-Struktur-Blöcke 51b bzw. 51d weiterleiten
und diesen Wert invertieren (”nicht
1”) und
ihn mit einem von ihren „unteren” Nachbarn,
den Blöcken 52c bzw. 52a,
empfangenen Wert vergleichen. In den Pad-Struktur-Blöcken 51b und 51d wird
das Steuersignal ”C
+ B” aktiviert, was
dazu führt,
dass die Blöcke 51b und 51d die ”1” empfangen
und an ihre ”oberen” Nachbarn,
die Blöcke 51a bzw. 51c,
weiterleiten und das Gegenstück
des empfangenen Werts (”nicht
1”) mit
einem von ihren ”unteren” Nachbarn,
den Blöcken 51c bzw. 51a,
empfangenen Wert vergleichen.
-
In
dem der Reihe nach nächsten
Schritt, in 5d, wird das Steuersignal ”A” in den
Pad-Struktur-Blöcken 51a und 51c aktiviert,
was dazu führt,
dass die Blöcke 51a und 51c einen
Wert (”1”) von ihren „oberen” Nachbarn,
den Blöcken 51d bzw. 51b empfangen,
diesen Wert (”1”) treiben
und an die Pad-Struktur-Blöcke 52a bzw. 52c weiterleiten
und diesen Wert in vertieren (”nicht
1”) und
ihn mit einem von ihren „unteren” Nachbarn,
den Blöcken 51b bzw. 51d,
empfangenen Wert vergleichen. In den Pad-Struktur-Blöcken 52a und 52c wird
das Steuersignal ”C
+ B” aktiviert,
was dazu führt,
dass die Blöcke 52a und 52c die ”1” empfangen
und an ihre ”oberen” Nachbarn,
die Blöcke 52d bzw. 52b,
weiterleiten und das Gegenstück
des empfangenen Werts (”nicht
1”) mit
einem von ihren ”unteren” Nachbarn,
den Blöcken 52b bzw. 52d,
empfangenen Wert vergleichen.
-
In
demselben Schritt empfangen die Pad-Struktur-Blöcke 52b und 52d das
Steuersignal ”C
+ A”,
was dazu führt,
dass die Pad-Struktur-Blöcke 52b und 52d eine ”0” an ihre
Pads treiben und die ”0” an die Pad-Struktur-Blöcke 51b bzw. 51d weiterleiten
und die ”0” auch an
ihre ”oberen” Nachbarn,
die Blöcke 52a bzw. 52c,
weiterleiten. Zusätzlich
wird der Wert ”0” invertiert
(”nicht
0”) und
mit einem von den ”unteren” Nachbarn,
den Blöcken 52c bzw. 52a,
empfangenen Wert verglichen. In den Pad-Struktur-Blöcken 51b und 51d wird
das Steuersignal ”B” aktiviert,
was dazu führt,
dass die Blöcke 51b und 51d die ”0” empfangen
und an ihre ”oberen” Nachbarn,
die Blöcke 51a bzw. 51c,
weiterleiten und den empfangenen Wert invertieren und den invertierten
Wert (”nicht
0”) an
ihre „unteren” Nachbarn,
die Blöcke 51c bzw. 51a,
weiterleiten und den invertierten Wert (”nicht 0”) mit einem von den ”unteren” Nachbarn,
den Blöcken 51c bzw. 51a,
empfangenen Wert vergleichen.
-
In
dem in der Reihenfolge nächsten
Schritt, in 5e, wird das Steuersignal ”C + A” in den
Pad-Struktur-Blöcken 52a und 52c aktiviert,
was dazu führt,
dass sie eine ”0” an ihre
Pads treiben und die ”0” an die Pad-Struktur-Blöcke 51a bzw. 51c und
auch an ihre ”oberen” Nachbarn 52d bzw. 52b weiterleiten.
Zusätzlich wird
der Wert ”0” invertiert
(”nicht
0”) und
mit einem von den ”unteren” Nachbarn,
den Blöcken 52b bzw. 52d, empfangenen
Wert verglichen. Des Weiteren empfangen die Pad-Struktur-Blöcke 51a und 51c das
Steuersignal ”C
+ B”,
was dazu führt,
dass die Blöcke 51a und 51c die ”0” empfangen
und an ihre ”oberen” Nachbarn, die
Blöcke 51d bzw. 51b,
weiterleiten und das Gegenstück
des empfangenen Werts (”nicht
0”) mit
einem von ihren ”unteren” Nachbarn,
den Pad-Struktur-Blöcken 51b bzw. 51d,
empfangenen Wert vergleichen.
-
In
demselben Schritt empfangen die Pad-Struktur-Blöcke 51b und 51d das
Steuersignal ”C
+ A was dazu führt,
dass die Pad-Struktur-Blöcke 51b und 51d eine ”0” an ihre
Pads treiben und die ”0” an die Pad-Struktur-Blöcke 52b bzw. 52d und
auch an ihre ”oberen” Nachbarn, 51a bzw. 51c,
weiterleiten. Zusätzlich wird
der Wert ”0” invertiert
(”nicht
0”) und
mit einem von den ”unteren” Nachbarn,
den Blöcken 51c bzw. 51a, empfangenen
Wert verglichen. In den Blöcken 52b und 52d wird
das Steuersignal ”C
+ B” aktiviert,
was dazu führt,
dass die Blöcke 52b und 52d die ”0” empfangen
und an ihre ”oberen” Nachbarn,
die Blöcke 52a bzw. 52c,
weiterleiten und das Gegenstück
des empfangenen Werts (”nicht
0”) mit
einem von den ”unteren” Nachbarn,
den Blöcken 52c bzw. 52a,
empfangenen Wert vergleichen.
-
In
dem in der Reihenfolge nächsten
Schritt, in 5f, empfangen die Pad-Struktur-Blöcke 52a und 52c das
Steuersignal ”A”, was dazu
führt,
dass die Blöcke 52a und 52c einen
Wert (”1”) von ihren „oberen” Nachbarn,
den Blöcken 52d bzw. 52b,
empfangen, diesen Wert (”1”) treiben
und an die Pad-Struktur-Blöcke 51a bzw. 51c weiterleiten
und diesen Wert invertieren (”nicht
1”) und
ihn mit einem von den ”unteren” Nachbarn,
den Blöcken 52b bzw. 52d,
empfangenen Wert vergleichen. In den Pad-Struktur-Blöcken 51a und 51c wird
das Steuersignal ”C
+ B” aktiviert,
was dazu führt,
dass die Blöcke 51a und 51c die ”1” empfangen
und an ihre ”oberen” Nachbarn,
die Blöcke 51d bzw. 51b,
weiterleiten und das Gegenstück
des emp fangenen Werts (”nicht
1”) mit
einem von den ”unteren” Nachbarn,
den Blöcken 51b bzw. 51d,
empfangenen Wert vergleichen.
-
In
demselben Schritt wird das Steuersignal ”C + A” in den Pad-Struktur-Blöcken 51b und 51d aktiviert, was
dazu führt,
dass sie eine ”0” an ihre
Pads treiben und die ”0” an die
Pad-Struktur-Blöcke 52b bzw. 52d und auch
an ihre ”oberen” Nachbarn, 51a bzw. 51c,
weiterleiten. Zusätzlich
wird der Wert ”0” invertiert
(”nicht
0”) und
mit einem von den ”unteren” Nachbarn,
den Blöcken 51c bzw. 51a,
empfangenen Wert verglichen. Des Weiteren empfangen die Pad-Struktur-Blöcke 52b und 52d das
Steuersignal ”B”, was dazu
führt,
dass die Blöcke 52b und 52d die ”0” empfangen
und an ihre ”oberen” Nachbarn,
die Blöcke 52a bzw. 52c,
weiterleiten, den empfangenen Wert invertieren und den invertierten
Wert (”nicht
0”) an
ihre „unteren” Nachbarn,
die Blöcke 52c bzw. 52a,
weiterleiten und den invertierten Wert (”nicht 0”) mit einem von den ”unteren” Nachbarn,
den Pad-Struktur-Blöcken 52c bzw. 52a,
empfangenen Wert vergleichen.
-
In
dem in der Reihenfolge nächsten
Schritt, in 5g, empfangen die Pad-Struktur-Blöcke 52a und 52c das
Steuersignal ”C
+ A”,
was dazu führt,
dass die Pad-Struktur-Blöcke 52a und 52c eine ”0” an ihre
Pads treiben und die ”0” an die
Pad-Struktur-Blöcke 51a bzw. 51c und
auch an ihre ”oberen” Nachbarn,
die Blöcke 52d bzw. 52b,
weiterleiten. Zusätzlich
wird der Wert ”0” invertiert
(”nicht
0”) und
mit einem von den ”unteren” Nachbarn,
den Blöcken 52b bzw. 52d,
empfangenen Wert verglichen. In den Pad-Struktur-Blöcken 51a und 51c wird
das Steuersignal ”B” aktiviert,
was dazu führt,
dass die Blöcke 51a und 51c die ”0” empfangen
und an ihre ”oberen” Nachbarn,
die Blöcke 51d bzw. 51b,
weiterleiten und den empfangenen Wert invertieren und den invertierten
Wert (”nicht
0”) an
ihre ”unteren” Nachbarn,
die Blöcke 51b bzw. 51d,
weiterleiten und den invertierten Wert (”nicht 0”) mit einem von ihren ”unteren” Nachbarn,
den Blöcken 51b bzw. 51d,
empfangenen Wert vergleichen.
-
In
demselben Schritt wird das Steuersignal ”A” in den Pad-Struktur-Blöcken 51b und 51d aktiviert,
was dazu führt,
dass die Blöcke 51b und 51d einen
Wert (”1”) von ihren „oberen” Nachbarn,
den Blöcken 51a bzw. 51c,
empfangen, diesen Wert (”1”) treiben
und an die Pad-Struktur-Blöcke 52b bzw. 52d und
auch an ihre „oberen” Nachbarn,
die Blöcke 51a bzw. 51c,
weiterleiten, diesen Wert invertieren (”nicht 1”) und ihn mit einem von ihren „unteren” Nachbarn,
den Blöcken 51c bzw. 51a,
empfangenen Wert vergleichen. In den Pad-Struktur-Blöcken 52b und 52d wird
das Steuersignal ”C
+ B” aktiviert,
was dazu führt,
dass die Blöcke 52b und 52d die ”1” empfangen
und an ihre ”oberen” Nachbarn,
die Blöcke 52a bzw. 52c,
weiterleiten und das Gegenstück des
empfangenen Werts (”nicht
1”) mit
einem von ihren ”unteren” Nachbarn,
den Blöcken 52c bzw. 52a,
empfangenen Wert vergleichen.
-
Nach
der Durchführung
von sechs Schritten (5b bis 5g) ist
bei der oben beschriebenen Ausführungsform
eine Schleife beendet, d. h. alle Verbindungen wurden sorgfältig getestet,
d. h. beide Signale ”0” und ”1” wurden
jeweils über
jede Verbindung in beiden Richtungen gesendet und alle gesendeten
Signale wurden dann überprüft. Bei
der Überprüfung der
Ergebnisse ist zu beachten, dass in den Schritten 5b und 5e die Pad-Strukturen
beider Chips das Steuersignal ”C” empfangen
und daher alle Prüfsignale
(check_o) 1 sein müssen,
während
in den Schritten 5c, 5d, 5f und 5g die
Pad-Strukturen nur eines Chips das Steuersignal ”C” empfangen und daher alle
Prüfsignale
(check_o) 0 sein müssen.
-
Alle
Pad-Struktur-Blöcke
eines Chips werden mit einer assoziierten Steuerlogik verbunden,
die in dem einen Chip implementiert ist, um die Ergebnisse des Signaltests
an die Steuerlogik zu übertragen.
-
Eine
Ausführungsform
einer beispielhaften Steuerlogik ist in 6 gezeigt.
Es wird jedoch angemerkt, dass die in 6 gezeigte
Ausführungsform
nur eine mögliche
Ausgestaltung für
eine Steuerlogik zeigt, die in einem erfindungsgemäßen System
implementiert werden könnte.
Selbstverständlich
können
beliebige andere geeignete Ausgestaltungen für Steuerlogikschaltungen ebenfalls
in erfindungsgemäßen Systemen
implementiert werden.
-
Die
Steuerlogik 600 von 6 weist
ein OR-Gate 611, ein NOR-Gate 612, ein NOT-Gate 613,
einen Ausgangstreiber 621, einen ersten Eingangstreiber 622,
einen zweiten Eingangstreiber 623, einen dritten Eingangstreiber 624,
einen ersten Pin 631, einen zweiten Pin 632 und
einen dritten Pin 633 auf.
-
Das
OR-Gate 611 empfängt
Prüfsignale
(prüfe(zuerst)...
prüfe(zuletzt);
(check(first)... check(last)) der assoziierten Pad-Struktur und
leitet das Ergebnis der OR-Funktion über die Verbindung 601 an
den Ausgangstreiber 621 weiter, dessen Ausgang über die
Verbindung 602 mit dem ersten Pin 631 verbunden
ist.
-
Der
erste Pin 631, der zweite Pin 632 und der dritte
Pin 633 sind mit einer zentralen Steuereinheit verbunden,
die sich außerhalb
des entsprechenden Chips befindet. In der Steuerlogik 600 ist
der erste Pin 631 des Weiteren über die Verbindung 603 mit
dem ersten Eingangstreiber 622 verbunden, wobei der Ausgang des
Eingangstreibers über
die Verbindung 604 mit dem NOR-Gate 612 verbunden
ist. Der zweite Pin 632 ist ü ber die Verbindung 603 mit
dem zweiten Eingangstreiber 623 verbunden und der Ausgang
des zweiten Eingangstreibers 623 ist über die Verbindungen 606 und 606a mit
dem NOR-Gate 612 und über
die Verbindungen 606 und 606b mit dem NOT-Gate 613 verbunden.
-
Wie
aus 6 ersichtlich ist, stellt die Steuerlogik 600 eine
einfache und effektive Schaltung bereit zum Konvertieren von Signalen,
die von einer zentralen Steuereinheit empfangen wurden, in Steuersignale
(z. B. ”A”, ”B”, ”C” und ”D”), die
geeignet sind, assoziierte Pad-Strukturen zu steuern. In diesem
Beispiel werden die Steuersignale ”A” und ”B” so erzeugt, dass eine Reihe
assoziierter Pad-Struktur-Blöcke
die Steuersignale ”A” und ”B” in abwechselnder
Reihenfolge empfängt.
Es wird angemerkt, dass die Steuerlogik 600 nur 3 Pins zum
Kommunizieren mit der Steuereinheit benötigt.
-
7 zeigt
ein Schaltschema eines Teils eines Systems gemäß einer weiteren Ausführungsform
der Erfindung, das eine Mehrzweck-Teststruktur für Ports und Pins ist (ein Port
ist eine Gruppe von Pins). Ein Pinteststeuerblock (der in dieser
Figur nicht explizit gezeigt ist) definiert das Ausgangspinsignal,
das gegenüber einem
ankommenden Signal zu überwachen
ist. Der Ausgangs-Multiplexer 82a–82n und 92a–92n für jeden Pin 81a–81n und 91a–91n kann
so programmiert werden, dass er das gewünschte Funktions-Ausgangssignal aus
einer Gruppe verfügbarer
Ausgangssignale treibt. Zusätzlich
zu der Programmierbarkeit kann der Pinteststeuerblock ein auszugebendes
Testsignal einführen,
das von einem ausgewählten
Eingangspin abgeleitet ist. Dies repräsentiert die Rückkopplungsschleife
in der ersten Vorrichtung 80 (spiegle ein Eingangssignal
zurück an
einen Ausgang). In der zweiten Vorrichtung 90 wird das
Eingangssignal an einem ausgewählten
Pin mit dem ausgewählten Ausgangssignal
(des Ausgangspins) verglichen. Dies erfolgt durch den Übereinstimmungsprüfblock 99.
-
In
dieser Figur kann die Portstruktur der ersten Vorrichtung 80 ein
von der zweiten Vorrichtung 90 empfangenes Signal zurückspiegeln.
Die zweite Vorrichtung 90 prüft die auszugebenden Daten
mit ihren entsprechenden Eingangsdaten, die von der ersten Vorrichtung 80 zurückgespiegelt
werden.
-
Nachfolgend
wird eine beispielhafte Implementierung der hier bereits beschriebenen
Konnektivitäts-/Pintests
erläutert. 8a zeigt
eine beispielhafte Serial Peripheral Interface(SPI)-Verbindung zwischen einer
SPI-Mastervorrichtung 71 und einer SPI-Slavevorrichtung 72.
Es ist jedoch selbstverständlich,
dass die SPI-Verbindung nur als Beispiel erläutert wird. Beliebige Datenübertragungs-Schnittstellenverbindungen
können
verwendet werden, um die Konnektivitäts-/Pintests zu implementieren,
vorausgesetzt, dass sie eine Art von Aktivierungssignalen verwenden,
die den Beginn und das Ende einer Datenübertragung anzeigen. Eine SPI-Verbindung
verwendet eine Slaveauswahlleitung 73, um den Beginn und
das Ende einer Datenübertragung
anzuzeigen. Während
der Datenübertragungszeit
haben einige Leitungen (hier Master aus/Slave ein; master out/slave
in (MOSI) 74, Master ein/Slave aus; master in/slave out
(MISO) 75 und serieller Takt; serial clock (SCLK) 76)
eine dedizierte Funktion (Definieren von Datenrichtung, Treibertyp,
etc.) und müssen
ein klar bestimmtes Protokoll beachten.
-
Zwischen
zwei Datenübertragungsfenstern
(oder Datenframes) ist die Slaveauswahlleitung inaktiv. Während das
Slaveauswahlsignal inaktiv ist, werden die Pegel an den Leitungen
MOSI 74, MISO 75, SCLK 76 von den Sende-
und Empfangsvorrichtungen (Master 71 und Slave 72)
ignoriert, so dass diese Leitungen für Konnektivitäts- und
Pintests verwendet werden können.
Daher wird während
der Laufzeit ein Selbsttest bereitgestellt, der den Betrieb der
Hauptzweckvorrichtung nicht beeinträchtigt.
-
Daher
muss eine Pinteststeuereinheit ”wissen”, wann
das Slaveauswahlsignal untätig
ist, und ob bald mehr Datenframes zu senden sind (Anfrage anhängig). Eine
Implementierung eines Ansatzes zur Vermeidung von Zeitkollisionen
von Testaktivität
und Datenübertragungen
ist in 8b ersichtlich. Ein Handshake-Mechanismus
ist beispielsweise vorteilhaft, um Zeitkollisionen der Pintestaktivität und einer
neu ankommenden Anfrage zur Datenübertragung zu vermeiden. Eine
einfache Lösung
ist es, ein WAIT-Signal einzuführen,
das den Start des nächsten
Datenframes verzögert,
bis der Pintestprozess (oder ein Teil davon) beendet ist.
-
Wenn
die Einstellung der inaktiven Slaveauswahlperiode in dem System
bekannt ist, ist der Handshake-Mechanismus nicht zwingend erforderlich.
In diesem Fall muss die Pintesteinheit mit der Einstellung der Hauptpinfunktion
synchronisiert werden.
-
Bei
dem bereits unter Bezug auf die 3 bis 6 beschriebenen
Testbeispiel kann das Testverfahren für MOSI 74, MISO 75,
SCLK 76 (wie oben beschrieben) stattfinden, während die
Slaveauswahl 73 inaktiv ist. Dies ist ein Aspekt des Pintestens
(Test der Pins selbst).
-
Ein
weiterer Aspekt ist die Tatsache, dass während der Inaktivierungszeit
des Slaveauswählens 73 eines
SPI die verbleibenden SPI-Pins zum Testen von Verbindungen anderer
Funktionen verwendet werden (sobald bekannt ist, dass die Pins selbst
in Ordnung sind, was durch den bereits beschriebenen Ansatz getestet wurde).
Pinsignale anderer Funktionen (z. B. Universal Asynchronous Receiver
Transmitter (UART) oder Controller Area Network (CAN), etc.) können beispielsweise
durch das Verwenden zeitweise nicht benutzter SPI-Verbindungen auf
die Sendevorrichtung zurückgespiegelt
werden.
-
Es
ist selbstverständlich,
dass die Verwendung der SPI-Leitungen
nur ein Beispiel für
zeitweise nicht benutzte Pins ist und die Verwendung anderer funktionaler
Verbindungsleitungen für
den beschriebenen Konnektivitäts-/Pintest
ebenfalls möglich
ist.
-
Bei
einer bevorzugten Ausführungsform
der Erfindung kann ein Konnektivitäts-/Pintest sowohl mittels der
Teststruktur von 7 als auch mit den SPI-Verbindungen,
wie sie unter Bezug auf 8b beschrieben wurden,
durchgeführt
werden. Des Weiteren können,
wenn eine bestimmte Funktion (z. B. Universal Asynchronous Receiver
Transmitter (UART) oder Controller Area Network (CAN), etc.) nicht
direkt die Möglichkeit
bietet, eine Leerlaufzeit zum Pintesten zu verwenden, die in Frage
stehenden Verbindungen dadurch getestet werden, dass Testsignale über zeitweise
nicht benutzte Leitungen anderer Funktionen (z. B. Serial Peripheral
Interface (SPI)) zurückgespiegelt
werden.
-
Bei
dieser Art von Pinteststruktur ist es möglich, eine bestimmte Anzahl
von Verbindungen zwischen zwei Vorrichtungen der Reihe nach abzutasten.
-
Es
wird jedoch angemerkt, dass die Pintestfunktionen beider Vorrichtungen
miteinander synchronisiert werden müssen (beide Vorrichtungen müssen ”wissen”, welchen
Pin sie wann testen müssen).
Dies kann durch Definieren einer Abfolge von Tests in beiden Vorrichtungen
erfolgen (z. B. Definieren einer Abtastsequenz und der Dauer des
Tests für
die zu testenden Verbindungen). Die Sequenz wird schrittweise in
beiden Vorrichtungen synchron durchgeführt, weil die Vorrichtungen
dieselbe Slaveauswahlleitung ”sehen”. Die Konfiguration
der Testsequenz kann durch Standard-Kommunikationseinrichtungen
zwischen den Vorrichtungen (z. B. durch die SPI-Datenübertragung
selbst) durchgeführt
werden.
-
Es
ist jedoch selbstverständlich,
dass die SPI-Verbindungen nur ein Beispiel sind und dieser Mechanismus
für alle
Arten von Funktionsverbindungen angewendet werden kann.