-
Die vorliegende Erfindung betrifft digitale
Prüfgeräte für eingebaute Schaltungen zum Prüfen von neu
konstruierten Leiterkarten-Baugruppen. Die Prüfer sind
normalerweise mit einer Zentraleinheit, einer
Prüfkopfsteuerung, einer oder mehreren Treiber/Empfängerkarten
und Kanälen versehen. Die Kanäle werden dazu benutzt,
entweder einen Leiterkarten-Baugruppen-Prüfknoten
anzusteuern oder ein Signal von diesem Knoten zu empfangen
oder Signale sowohl anzusteuern als auch zu empfangen.
Ein kleines Prüfgerät für eingebaute Schaltungen kann mit
bis zu zirka zweihundert Kanälen ausgestattet sein und
kann kleine Karten prüfen. Auch gibt es große digitale
Prüf-geräte für eingebaute Schaltungen mit mehr als
dreitausend Kanälen. Typische digitale Prüfgeräte für
eingebaute Schaltungen werden in den folgenden Patenten
offenbart: US-Patent-Nr. 4,339,819 im Namen Jacobsen;
US-Patent-Nr. 4,216,539 im Namen Raymond et al.; US-
Patent-Nr. 3,943,439 im Namen Raymond und US-Patent-Nr.
3,931,506 im Namen Borrelli et al. Diese Patente werden
durch Bezugnahme hier aufgenommen.
-
Eine Prüfkopfsteuerung ist eine aufwendige
elektronische Schaltung, die viele Aufgaben in einem
Prüfgerät für eingebaute Schaltungen durchführt. Die
Prüfkopfsteuerung ist häufig die Hauptschnittstelle
zwischen der Zentraleinheit und den übrigen
elektronischen Schaltungen im Prüfgerät. Die Liste der Funktionen
der Prüfkopfsteuerung kann in vielen Prüfgeräten die
Steuerung von Vakuumröhren für Armaturenbetätigung, die
Wechselwirkung mit Bediener-Steuerelementen und Anzeigen
und viele andere notwendige Aufgaben umfassen.
-
Eine bedeutende Fünktion der Prüfkopfsteuerung
ist die Steuerung des Betriebes der
Treiber/Empfängerkarten, d.h. die Unterstützung dieser Karten beim Aufstellen
und Ausführen einer Gruppe von Prüfvektoren. Ein
"Prüfvektor" ist eine zeitliche Momentaufnahme des Zustandes
aller Anschlüsse eines Prüflings. Eine "Gruppe" ist eine
geeordnete Folge von Vektoren, die für die Durchführung
einer Prüfung des Prüflings bestimmt ist.
-
Gewöhnlich sendet die Zentraleinheit eine Gruppe
beschreibende Informationen zur Prüfkopfsteuerung, und
danach fährt die Prüfkopfsteuerung die Gruppe.
-
Die durch die Tätigkeit der Prüfkopfsteuerung
erzeugte Prüfgruppe ist viel schneller, als möglich wäre,
wenn ein Minicomputer den Fortschritt der Gruppe von
einem Vektor zum nächsten organisieren würde. Typische
Computer-Befehlszykluszeiten haben die Größenordnung von
fünfhundert bis eintausend Nanosekunden, und es können
mehrere Befehle erforderlich sein, um den Computer von
einem Vektor zum nächsten weiterzuführen. So könnte der
benötigte Zeitraum, um in einer Computeransteuerfolge von
einem Vektor zum nächsten zu gelangen, eher bei fünf bis
zehn Mikrosekunden liegen. Ein typisches
prüfkopfsteuerungsbasierendes System erzeugt die Vektoren mit
paralleler vektorerzeugender Sonderhardware, die einen neuen
Vektor alle zwanzig bis fünfhundert Nanosekunden
abliefern kann, drei oder mehr Größenordnungen schneller
als bei Steuerung der Prüfvektorgruppen durch einen
Minicomputer.
-
In Prüfgeräten für eingebaute Schaltungen nach
dem Stand der Technik ist es normal, daß jeder Anschluß
des Prüflings nach Bedarf zu den entsprechenden
Gelegenheiten während einer gegebenen Prüfgruppe angesteuert und
abgetastet wird.
-
In Prüfgeräten für eingebaute Schaltungen nach
dem Stand der Technik ist gewöhnlich jede Kanalschaltung
mit einem örtlichen Speicher ("RAM") ausgerüstet. Der
Speicher enthält eine kodierte Darstellung der
Zustandsfolge, die von dem Kanal während der Gruppe durchlaufen
wird. Der vorherrschende Faktor bei der Geschwindigkeit
einer Prüfvektorgruppe ist häufig die
Speichergeschwindigkeit. Wenn der Speicher nur beispielsweise alle
hundert Nanosekunden einmal ausgelesen werden kann, kann
der Treiber seinen Zustand nicht häufiger ändern.
Geschwindigkeit ist aus zwei Gründen wünschenswert. Als erstes
ist es bekannt, daß Vorrichtungen, die Prüfungen mit
niedrigen Vektorgruppenraten bestehen, bei höheren Raten
ausfallen können. So ist ein Prüfgerät mit schnellerer
Gruppenrate ein wirkungsvollerer Detektor fehlerhafter
Vorrichtungen. Als zweites werden digitale Prüfgeräte für
eingebaute Schaltungen in Werken mit hoher
Produktionsfähigkeit benutzt und dürfen nicht durch ihren
Zeitverbrauch Engpässe für wichtige Produktflüsse darstellen.
-
Die Speicher werden typisch viel schneller
ausgelesen als eingeschrieben. Während einer Gruppe
werden alle Speicher parallel ausgelesen, aber die
Zentraleinheit muß sie einzeln auffüllen, ehe sie die
Prüfkopfsteuerung zum Fahren der Gruppe auffordern kann.
Auch muß die Zentraleinheit vor Fahren der Gruppe für
jedes von der Zentraleinheit zu einem Speicher
übertragene Informationswort mehrere Anweisungen ausführen.
-
Digitale Prüfgeräte für eingebaute Schaltungen
verdanken ihre gut bekannte Prüf- und Diagnoseleistung
der Betriebsweise, eine Leiterkarten-Baugruppe durch
Einzelprüfung der Bauteile zu prüfen. Um einen einzelnen
Bauteil in einer Leiterkarten-Baugruppe zu prüfen, muß
ein Prüfgerät Signale direkt an seine Eingänge anlegen
und die von seinen Ausgängen kommenden Signale messen.
Insbesondere, und im Idealfall, muß das Prüfgerät
vortäuschen, daß es keine Nachbarbauteile gibt, die Störsignale
zur Beeinflussung der Anwendung der sorgfältig
ausgelegten Prüfvektoren des Prüfgeräts erzeugen. Sollte ein
Nachbarbauteil zu einer ungelegenen Zeit seinen Zustand
ändern, kann das von seinem Ausgang kommende Signal
Rauschen verursachen, das den vom Prüfgerät kommenden
Signalen überlagert wird, und ein falsches Ergebnis
bewirken.
-
In Prüfgeräten für eingebaute Schaltungen wird
versucht, das Problem der Nachbarbauteile dadurch zu
bewältigen, daß ihre Signale durch Treiber mit sehr
niedrigem Widerstand zugeführt werden. Typische Treiber
für eingebaute Schaltungen können normale
Logikspannungspegel treiben und gleichzeitig über vierhundert
Milliampere liefern oder aufnehmen. In der Prüfgeräteindustrie
wird dies als "Rücktreiben" (backdriving) bezeichnet.
Diese Strommenge reicht dazu aus, die etwas höheren
Widerstände der Ausgänge von Nachbarbauteilen zu
überwinden. Es stellt jedoch nicht eine vollständige Lösung des
Problems dar. Einige Ausgänge einer Leiterkarten-
Baugruppe sind tatsächlich dazu in der Lage, einen
typischen Treiber für eingebaute Schaltungen zu
überwinden, und an anderen Ausgängen liegen willkürliche Signale
(zum Beispiel freilaufende Taktoszillatoren), die
bewirken, daß Spitzen mit kurzer Wellenlänge durch das
Gleichstrom-Rücktreibsignal durchsickern.
-
In jeder gegebenen Leiterkarten-Baugruppe gibt es
eine Gruppe identifizierbarer Punkte, die, wenn sie in
den entsprechenden Zustand programmiert sind,
Oszillatoren stillegen und alle Datenbusse "sperren". Die Liste
ist nicht die gleiche von einer Leiterkarten-Baugruppe
zur anderen, und es ist daher nützlich, diese Eigenschaft
ganz allgemein zu erkennen und dafür im Programmiersystem
des Prüfgeräts Vorkehrungen zu treffen. Bei der Prüfung
von eingebauten Schaltungen ist es üblich, diese Punkte
am Anfang des Programmes in einem Software-Konstrukt
aufzuführen, womit die Punkte (in den richtigen Zustand
programmiert) in jeder nachfolgenden Prüfgruppe
aufgenommen werden, ob sie besonders für diese Gruppe
programmiert waren oder nicht.
-
Da mit der Programmierung dieser Liste von
Punkten bezweckt wird, Vorrichtungen auf dem Prüfling zu
"sperren", die die Prüfgruppen stören würden, wird die
Liste gewöhnlich als "Sperrtabelle" bezeichnet. Damit
kann der Prüfungsprogrammierer einen Hintergundzustand
aufstellen, indem ein Prüfling gesperrt ist; alle
nachfolgenden Vektorgruppen im Programm werden diesem
Hintergrundzustand überlagert. Das spart Programmier- und
Fehlersuchaufwand, indem es dem Programmierer einen Weg
bietet, wie er sich mit den Störungsproblemen nur einmal
zu befassen braucht und auf diese Weise das Problem nicht
mehr bei jeder Prüfung des Prüflings anzuerkennen und zu
bewältigen hat.
-
Nun hat das Softwaresystem, das diesen Dienst der
Herstellung eines Hintergrundzustands bietet, eine
wichtige Managementaufgabe zu erfüllen. Für jede Gruppe
muß die Software in Betracht ziehen, ob (1) einer der zu
messenden Punkte in der Sperrtabelle aufgeführt wird oder
nicht und ob (2) einer der anzureizenden Punkte in der
Sperrtabelle aufgeführt wird.
-
Wenn eine bestimmte Prüfung die Messung eines
bestimmten Ausgangs erfordert und dieser Ausgang aufgrund
des Eintrags in der Sperrtabelle zu einem stationären
Zustand zurückgetrieben wird, würde das Meßsignal
natürlich keine korrekte Reaktion ergeben. Der Eintrag muß
daher vom Prüfgerät zeitweilig aus der Sperrtabelle
entfernt werden.
-
Auch muß, wenn eine bestimmte Prüfung das
Anreizen eines Punktes erfordert, der gerade in der
Sperrtabelle aufgeführt wird, die Sperrtabelle wiederum
zeitweilig geändert werden, um anstelle des sperrenden
Hintergrundzustands den gewünschten Anreiz anzulegen.
Nach jeder Gruppe muß die Sperrtabelle in ihren
"Normalzustand" zurückgeführt werden.
-
Es wäre eindeutig von Nutzen, die für die
Änderung und Wiedernormalisierung der Sperrtabelle
aufgewandte Zeit zu verringern. Auch würde es nützlich
sein, die auf das Auffüllen der Kanalspeicher zwischen
Gruppen von Prüfvektoren aufgewandte Zeit zu verringern.
-
Dahingehende Versuche nach dem Stand der Technik
umfassen: Erhöhen der Geschwindigkeit der
Fernladerhardware, z.B. mit Direktzugriffs-(DMA-)Hardware im Computer;
Aufteilung des Kanalspeichers, so daß eine Fernladung für
viele unterschiedliche Gruppen dienen kann; Verbesserung
des Wirkungsgrades des Kodes, mit dem die zu erzeugenden
Vektoren beschrieben werden, so daß lange Bitfolgen aus
einer geringen Menge ferngeladener Informationen
regeneriert werden können, und Verbesserung der
Speicherstruktur, so daß Operationen wie "Löschen", die mehrere Zellen
im Speicher beeinflussen, in einem einzigen Ereignis
durchgeführt werden können.
-
Durch die vorliegende Erfindung wird die Aufgabe
der Zentraleinheit, die Sperrtabelle zu ändern und die
Kanalspeicher mit kodierten Informationen für die nächste
Gruppe neu zu laden, vereinfacht. Damit trägt die
vorliegende Erfindung zur Neuprogrammiergeschwindigkeit
zwischen Gruppen bei. Die vorliegende Erfindung schützt
den Inhalt der Speicher vorgewählter, mit der
Sperrtabelle verbundener Kanalschaltungen dagegen,
jedesmal dann gelöscht zu werden, wenn der für die
Prüffolge erforderliche Anreiz gelöscht wird.
-
Die oben erwähnten und andere Aspekte der
vorliegenden Erfindung werden näher anhand der bevorzugten
Ausführungsform in Verbindung mit den beiliegenden
Zeichnungen beschrieben, in denen gleiche Glieder gleiche
Bezugsnummern führen. Es zeigen:
-
Figur 1 ein nach der vorliegenden Erfindung
aufgebautes digitales Prüfgerät für eingebaute
Schaltungen; und
-
Figur 2 einen Teil des in Figur 1 dargestellten
Treiber/Empfängerkanals.
-
In Figur 1 wird ein nach der vorliegenden
Erfindung aufgebautes Prüfgerät 10 für eingebaute Schaltungen
dargestellt. Das Prüfgerät 10 enthält eine Zentraleinheit
12 (d.h. einen Rechner), eine Prüfkopfsteuerung 14 und
eine oder mehrere Treiber/Empfängerkarten 16, die, auch
mit Kanalschaltungen 18 bezeichnete,
Treiber/Empfängerkanäle enthalten. Einige Kanäle 18a treiben nur eine mit
einem Signal geprüfte Leiterkarten-Baugruppe, einige
Kanäle 18b empfangen nur Signale von der geprüften
Leiterkarten-Baugruppe, und andere Kanäle 18c treiben und
empfangen auch. Die Prüfkopfsteuerung 14 konzentriert
sich auf ein Modul, anstatt über viele
Treiber/Empfängerkarten verteilt zu sein. Diese Architektur bildet ein
ausbauf ähiges Prüfgerät. So unterstützt die
Prüfkopfsteuerung 14 jede praktische Anzahl von
Treiber/Empfängerkanälen 18, unterstützt aber in der bevorzugten
Ausführungsform fünfhundertzwölf Treiber/Empfängerkanäle 18,
was sich auf bis zweitausendachtundvierzig Kanäle
erweitern läßt.
-
Die Kanäle 18 sind mit einem
Aufnahmevorrichtungsempfänger 19 verbunden, der mit einer
Prüf-Aufnahmevorrichtung 20 verbunden ist, die mit einem Prüfling 21
verbunden ist. Die in Verbindung mit der
Prüfkopfsteuerung 14 arbeitenden Treiber/Empfängerkanäle 18 erzeugen
eine Gruppe von Prüfvektoren viel schneller, als dies die
Zentraleinheit 12 allein tun könnte.
-
In der Zentraleinheit 12 ist ein Prüfprogramm 22 und
ein Ausführungslogikprogramm 24 für das Prüfprogramm 22
als Software eingespeichert. Die Zentraleinheit 12 sendet
unter Steuerung des Prüfprogramms 22 und der
Ausführungslogiksoftware 24 kodierte Informationen zur
Prüfkopfsteuerung 14, die eine Gruppe von Prüfvektoren beschreiben,
die eine Prüfung oder einen Teil einer Prüfung des
Prüflings 20 bilden sollen. Diese Informationen werden
von der Prüfkopfsteuerung 14 in Speicher eingespeichert,
die sich sowohl in der Prüfkopfsteuerung 14 als auch auf
den Treiber/Empfängerkarten 16 befinden. Auf einen
nachfolgenden Befehl von der Zentraleinheit 12 hin
bewirkt die Prüfkopfsteuerung 14, daß die
Kanalschaltungen 18 entsprechend der kodierten Informationen
eine Prüfvektorengruppe mit hoher Geschwindigkeit
erzeugen. So gibt es zwei Hauptphasen in dem Vorgang: (1)
Die Zentraleinheit 12 sendet eine Gruppe beschreibende
Informationen zur Prüfkopfsteuerung 14, und (2) die
Prüfkopfsteuerung 14 fährt die Gruppe.
-
An jedem gegebenen Punkt in einer Gruppe enthält
der Prüfvektor Informationen über jede Verbindung
zwischen dem Prüfling 20 und dem Prüfgerät 10. Für jede
interessierende Signalleitung 26 kann das Prüfgerät 10
treiben (d.h. ein Logiksignal mit niedrigem Widerstand
liefern) oder empfangen. Wenn es treibt, kann es einen
Pegel "wahr" oder "falsch" treiben. Wenn des Prüfgerät
empfängt, erwartet es, daß der Prüfling ein Signal "wahr"
oder ein Signal "falsch" liefert. Eine
Treiber/Empfängerkanalschaltung 18 ist in der Lage, diese vier getrennten
Logikgrößen (treiben oder nicht, wahr oder falsch;
empfangen oder nicht, wahr oder falsch) darzustellen und
könnte sich daher auf jedem gegebenen Vektor in der
Gruppe in jedem von sechzehn Zuständen befinden und
könnte von der Prüfkopfsteuerung 14 angewiesen werden,
entweder im selben Zustand zu verbleiben oder für den
nächsten Vektor in der Gruppe zu jedem der anderen
fünfzehn Zustände zu wechseln.
-
Der Kanal 18 besitzt einen örtlichen Speicher 28
("RAM"). Die Zentraleinheit 12 enthält eine Sperrtabelle
29.
-
In der Figur 2 wird der nach der vorliegenden
Erfindung aufgebaute Treiber/Empfängerkanal 18
dargestellt. Durch Ansammlung von Signalleitungen 30 werden
Informationen zwischen der Prüfkopfsteuerung 14 und den
Treiber/Empfängerkarten 16 überführt. Die Signalleitungen
30 befinden sich Physisch an der Rückwand eines
Baugruppenträgers, der vierundsechzig Treiber/Empfängerkarten 16
aufnimmt.
-
Da sich in jedem Prüfgerät 10 mehrere
Treiber/Empfängerkarten 16 befinden, muß jede Karte 16 eine
eindeutige Adresse aufweisen. Von einer
Kanaladressenerkennungsschaltung 32 wird erkannt, wenn die
Prüfkopfsteuerung 14 Informationen spezifisch für eine gegebene
Karte 16 abliefert. Auf diese Weise bearbeitet eine
Treiber/ Empfängerkarte 16 die ersten zweiunddreißig
Kanäle 18, und die nächste Treiber/Empfängerkarte 16 in
dem Baugruppenträger bearbeitet die zweiten
zweiunddreißig Kanäle 18, usw.
-
Es ist von Nutzen, wenn die Prüfkopfsteuerung 14
Anweisungen an Gruppen von Karten 16 abgibt, z.B. zur
Herstellung eines Ausgangszustands, ohne die Anweisung
mehrere Male, einmal für jede Adresse, wiederholen zu
müssen. Für diesen Zweck enthält die
Treiber/Empfängerkarte 16 auch eine
Adressenerkennungs-Übersteuerungsschaltung 34. Wenn die Prüfkopfsteuerung 14 allen Karten
16 dieselbe Anweisung geben muß, wird von der Steuerung
14 gleichzeitig die
Adressenerkennungs-Übersteuerungsschaltung 34 auf allen Karten 16 angesteuert.
-
Die Ausgaben der Adressenerkennungsschaltung 32
und der Übersteuerungsschaltung 34 werden in einem ODER-
Gatter 36 verknüpft, um eine
Anweisungserkennungsschaltung 38 freizugeben. So kann eine Treiber/Empfängerkarte
16 entweder dann auf Anweisungen reagieren, wenn die
Karte 16 einzeln adressiert wird, oder wenn die Karte 16
durch die Funktion der
Adressenerkennungs-Übersteuerungsschaltung 34 zu einem Teil einer Kartengruppe wird.
-
Eine sehr nützliche Anweisung in einer
Treiber/Empfängerkarte
16 ist eine Anweisung "Kanalspeicher
löschen" 27, mit der der Kanalspeicher 28 gelöscht wird.
In gegenwärtig verfügbaren Prüfgeräten werden die
Kanalspeicher 28 zwischen Gruppen gelöscht und dann aus
einem initialisierten Zustand heraus aufprogrammiert. Das
Programm besteht aus Informationen der Sperrtabelle 29
zuzüglich der kodierten Informationen für die neue
Gruppe. Die Prozedur "alles löschen und neu
programmieren" wird gegenüber einem schrittweisen
Neuprogrammierungsansatz bevorzugt, da die erstere unkomplizierter
und in meisten Fällen weniger zeitaufwendig ist. Sollten
die Kanäle 18 schrittweise zwischen Gruppen neu
programmiert werden, dann müßte der Rechner 12 genau die
Änderungen von einem Gruppenprogramm zum nächsten
bestimmen und nur die Anderungen neu schreiben.
-
Auch bewirken typische Programmierweisen die
Neuprogrammierung beinahe aller Kanäle 18, die nicht in
der Sperrtabelle aufgeführt sind. Es werden daher weniger
Zyklen benötigt, besonders da die Adressenerkennungs-
Übersteuerungsschaltung 34 eine globale Rücksetzfunktion
in einer Operation bereitstellt. Wenn die Kanäle 18 nicht
mit einer Adressenerkennungs-Übersteuerungsschaltung 34
versehen wären, müßte jeder Kanal 18 einzeln gelöscht
werden.
-
Nach der vorliegenden Erfindung erhöht sich die
Neuprogrammierungsgeschwindigkeit, da die Sperrtabelle 29
nicht wieder für jede neue Prüfung aufgestellt wird.
Anstelle dessen werden zu Beginn einer langen Reihe
getrennter Prüfungen die Informationen der Sperrtabelle
29 in diejenigen Kanäle 18 eingeschrieben, die an der
Funktion der Sperrtabelle 29 teilnehmen werden. Jedem
dieser Kanäle 18 wird dann eine Lösch-Sperranweisung 40
zugesandt.
-
Jeder Kanal 18 besitzt die in Figur 2
dargestellte Struktur zur steuerbaren Stellung der Wirkung der
globalen Löschanweisung 27. Eine Anweisung "Löschsperre
setzen" 41 setzt ein, beispielsweise als Löschsperr-Flip-
Flop 42 dargestelltes, Sperrzustandshaltemittel. Das
Löschsperr-Flip-Flop 42 kann auch durch eine Anweisung
"Löschsperre rücksetzen" 44 rückgesetzt werden.
-
Die Ausgabe des Löschsperr-Flip-Flops 42 wirkt
über ein NICHT-Gatter 46 und ein beispielsweise als
UND-Gatter 48 dargestelltes Verknüpfungsmittel. Wenn das
Löschsperr-Flip-Flop 42 gesetzt worden ist, wird der
Speicher 28 nicht von der Anweisung "Kanalspeicher
löschen" 27 gelöscht. Wenn das Löschsperr-Flip-Flop 42
nicht gesetzt worden ist, wird die Anweisung
"Kanalspeicher löschen" 27 das Löschen des Kanalspeichers 28
bewirken.
-
So kann der Inhalt der Speicher, deren Kanäle den
Hintergrundzustand liefern, erhalten bleiben, wenn alle
anderen Speicher gelöscht werden. Daraus ergibt sich eine
bedeutende Zeitersparnis im Vergleich zu bestehenden
Verfahren zur Neuprogrammierung von Kanalspeichern
zwischen Vektorgruppen.