-
Hintergrund
der Erfindung
-
Die
Erfindung ist auf Platinentester und insbesondere darauf gerichtet, "Backdriving" innerhalb sicherer
Pegel zu halten.
-
Beim
sogenannten Incircuittesting werden Verbindungen einer einzelnen
Platinenkomponente zu ihren Leiterbahnen auf der Platine verifiziert,
indem vorgegebene Signalfolgen an diese Leiterbahnen gelegt und
ihr Vorhandensein auf ihnen verifiziert wird. Der Tester muss diese
Tests ausführen,
während
sich die Platine im eingeschalteten Zustand befindet. Folglich können Nachbarkomponenten
dazu neigen, einige der Eingangsanschlüsse der zu testenden Komponente
auf Pegel zu treiben, die sich von denen, die der Test erfordert,
unterscheiden. Um dies zu verhindern, verwendet der Tester manchmal einfach
Treiber mit niedriger Ausgangsimpedanz, um die betreffende Leiterbahn
auf den Pegel zu treiben, der demjenigen entgegengesetzt ist, auf
den ihn die Nachbarkomponente zu treiben versucht. Diese Überspannungsversorgung
einer auf einer Platine befindlichen Treiberschaltung wird als "Backdriving" bezeichnet.
-
Backdriving
hat eine lange Tradition, aber es ist immer umstritten gewesen.
Es führt
nämlich
gewöhnlich
zu einem Stromfluss, der Nennpegel überschreitet. Fließen Ströme dieser
Größenordnung
zu lange, können
sie Platinenkomponenten beschädigen.
Jahrelang hat daher manche zum Entwerfen und Ausführen von
Schaltungstests verwendete Software Einrichtungen enthalten, um
zu bestimmen, wann diese Schritte zu übermäßigem Backdriving führen. Erkennt
die Software einen solchen Schritt, warnt sie den Entwerfer oder
verhindert sie die Ausführung
solcher Schritte.
-
Solche
Funktionsmerkmale haben ihre Nutzen und sie sind von einigen Test-Entwerfern
im Wesentlichen in der gesamten Geschichte des automatischen Incircuittesting
verwendet worden. Ihre Nachteile sind aber schon ebenso lange offenbar.
Komponentenabweichungen verkomplizieren nämlich die Aufgabe des Testentwurfswerkzeugs,
sicherzustellen, dass übermäßiges Backdriving
vermieden wird. Der Test-Entwerfer legt Backdrive-Genzen hinsichtlich
des Backdrive-Stroms und der Backdrive-Dauer fest. Zur Vermeidung
von übermäßigem Backdriving muss
das Testentwurfswerkzeug Beschränkungen auferlegen,
die die Einhaltung dieser Grenzen nicht nur für Komponen ten mit normalen
Kenndaten sondern auch für
diejenigen sicherstellen, die die Enden der Kenndatenverteilungen
besetzen, die von den betreffenden Komponententypen erwartet werden.
-
Der
Umfang der Variationen, die aus Kombinationen von Kenndatenverteilungen
verschiedener Komponententypen resultieren können, macht es leider erforderlich,
den Satz zulässiger
Testsignalbursts (Testsignalbündel)
stark einzuschränken.
Dies macht es für
einen Test-Entwerfer schwierig, einen Test zu erreichen, den das
Testentwurfswerkzeug als die bereitgestellten Backdrive-Grenzen
einhaltend akzeptiert. Die Folge ist allzu häufig, dass der Test-Entwerfer
gänzlich
auf Backdrive-Grenzen verzichtet oder die Backdrive-Grenzen auf
Pegel beschränkt,
denen die betreffenden Komponenten nicht ausgesetzt werden sollen.
Verursacht der resultierende Test keine Beschädigung an einigen Versuchsplatinen,
wird er zur routinemäßigen Verwendung übernommen.
Dieser Ansatz für
den Test-Entwurf ist zweifellos nicht optimal. Überhaupt ist eine Beschädigung anfangs nicht
immer offenbar: Ein Test, der keine Beschädigung zu verursachen scheint,
kann tatsächlich
einen latenten Defekt einbringen. Außerdem haben verschiedene Komponentenlose
unterschiedliche Kenndaten, daher kann ein Test eine Zeit lang perfekt funktionieren
und dann plötzlich
beginnen, katastrophale Defekte zu verursachen.
-
Die
US 4,862,069 erläutert einen
Schaltungs-Tester zum Testen einer elektronischen Schaltung, um
den Zustand mehrerer Busgeräte
zu bestimmen. Der Tester enthält
eine Backdriving-Quelle zum Anlegen eines Signals an die Busse in
der Schaltung, was das individuelle Testen der Geräte ermöglicht.
In diesem Dokument gibt es jedoch keine Offenbarung der Überwachung
der Dauer, während der
das Backdriving angewendet wird, um die Möglichkeiten der Beschädigung der
Komponenten auf der Platine infolge übermäßiger Spannungs- oder Strompegel
zu verringern.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Wir
haben erkannt, dass dieses Problem, das dem Gebiet des Incircuittesting
schon lange zu schaffen macht, gemäß Anspruch 1 bzw. 13 einfach gelöst werden
kann, indem der Tester mit einer backdrive-begrenzenden Schaltung
versehen wird, die den Treiber-Laststrom
erfasst und zeitlich steuert, um in Echtzeit zu bestimmen und zu
melden, ob die Dauer von Backdrive-Pegel-Lastströmen einstellbare Grenzen überschritten
hat. Dies ermöglicht
es der Treiberschaltung, früh
genug zu reagieren, um ungünstige
Folgen zu vermeiden.
-
Gemäß der vorliegenden
Erfindung erhält die
backdrive-begrenzende Schaltung ein Zeitwertsignal, das die Höchstdauer
festlegt, in der ein Strom der Backdrive-Größenordnung ununterbrochen getrieben
werden kann. Es gibt eine Reihe von Backdrive-Strömen,
deren ununterbrochene Verwendung über eine zu lange Zeit verhindert
werden soll. Die backdrive-begrenzende Schaltung kann aber Ströme innerhalb
des Backdrive-Bereichs erfassen, ohne eine relative lange Zeit,
typischerweise hunderte oder tausende von Taktintervallen, eine
Maßnahme zu
ergreifen. Wenn der Betrieb in diesem Bereich während der Höchstdauer ununterbrochen andauert, unterbricht
ihn jedoch die backdrive-begrenzende Schaltung auf irgendeine Weise,
typischerweise durch Versetzen des Treibers in einen Zustand mit hoher
Ausgangsimpedanz.
-
Der
Test-Entwerfer kann deshalb auf das restriktive backdrive-begrenzende
Funktionsmerkmal des Testentwurfswerkzeugs verzichten oder Grenzen übernehmen,
die locker genug sind, um die gewünschte Freiheit beim Test-Entwurf
zu erlauben, weil die vorliegende Erfindung das übermäßige Backdriving verhindert,
das der resultierende Test sonst zulassen würde.
-
Die
vorliegende Erfindung fügt
auch eine andere Sicherheitsebene hinzu, die nicht einmal von den
strengsten Entwurfsregeln geboten wird. Praktisch gesehen müssen die
Funktionsmerkmale von Testentwurfswerkzeugen zum Verhindern eines übermäßigen Backdriving
weitgehend in der Annahme arbeiten, dass die zu testende Platine
eine einwandfreie ist, so dass sie das übermäßige Backdriving nicht vorherzusagen
vermögen,
das in schlechten Platinen unvorhersehbar auftreten kann. Die vorliegende
Erfindung basiert aber auf Echtzeit-Strommessung und -zeitsteuerung,
daher kann sie übermäßiges Backdriving
verhindern, auch wenn es nicht vorhergesehen werden kann.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die
nachstehende Beschreibung der Erfindung bezieht sich auf die beiliegenden
Zeichnungen; es zeigen:
-
1 ein
Blockdiagramm eines automatischen Schaltungs-Testers, der die Lehren
der vorliegenden Erfindung implementiert;
-
2 ein
vereinfachtes schematisches Diagramm der Pin-Treiber- und backdrive-begrenzenden Schaltung,
die der Tester von 1 verwendet;
-
3 einen
Graphen der Ausgangsspannung der Sensorschaltung von 2 in
Abhängigkeit vom
Laststrom;
-
4 ein
vereinfachtes schematisches Diagramm einer in der Schaltung von 2 enthaltenen Zeitmesserschaltung;
und
-
5 ein
Logik-Diagramm einer im Tester von 1 enthaltenen
Backdrive-Steuerung.
-
DETAILLIERTE BESCHREIBUNG
EINER VERANSCHAULICHENDEN AUSFÜHRUNGSFORM
-
1 zeigt
in Form eines Blockdiagramms ein Testsystem 10 zum Testen
einer Platine ("zu
testendes Gerät") 12. Eine
spezifische Vorrichtung 14 stellt den Zugang zu Testpunkten
auf dem zu testenden Gerät 12 bereit.
Platinenseitige Anschlüsse
oder "Pins" 16 an der
Vorrichtung 14 sind so positioniert, dass sie einen gleichzeitigen
Kontakt mit allen Testpunkten der Platine herzustellen vermögen, an
die im Verlauf eines Tests Signale angelegt oder an denen Signale
erfasst werden sollen. Die platinenseitigen Pins 16 sind
mit systemseitigen Anschlüssen 18 verdrahtet,
die so positioniert sind, dass sie in Systemanschlüsse 20 eines
Multiplexers oder "Scanners" eingreifen, der
eine Mehrzahl Scannerabschnitte umfasst, die in jeweiligen Pin-Platinen
enthalten sein können. 1 zeigt
nur einen einzigen durch eine einzige Pin-Platine 24 bereitgestellten
Scanner-Abschnitt 22, aber ein Testsystem enthält typischerweise
eine Mehrzahl solcher Platinen. Ein oder mehrere Busse 26 verbinden
typischerweise die Pin-Platinen mit dem Rest des Testsystems.
-
Durch
eine geeignete Schnittstelle 28 kommuniziert eine Zentraleinheit
(CPU) 30 über
einen Bus 26 mit analogen Instrumenten 32 wie
z. B. Voltmetern und Signalgeneratoren, um sie zum Messen und/oder
Liefern von Signalen an Testpunkten durch den Scanner 22 und
die Vorrichtung 14 zu programmieren. Die Instrumente 32 können den
Bus 26 auch zum Melden von Messergebnissen an die Zentraleinheit 30 verwenden,
und die Zentraleinheit 30 kann wiederum eine Anzeige 34 verwenden,
um einen vom Menschen lesbaren Bericht bereitzustellen.
-
Neben
der Durchführung
analoger Messungen legt das System auch Bursts (Signalfolgen) digitaler
Signale an verschiedene Testpunkte an und interpretiert digital
resultierende Signale an anderen Testpunkten. Zu diesem Zweck enthalten
mehrere der Pin-Platinen 24 Treibersensor-Schaltungen
wie z. B. Schaltung 36. Der Ausgangs-Port der Schaltung 36 ist
mit einem betreffenden instrumentenseitigen Scanner-Anschluss gekoppelt,
der den Scanner selektiv mit vorrichtungsseitigen Scanner-Anschlüssen koppelt,
so dass die Schaltung 36 einen Testpunkt treiben und/oder
das an ihm anliegende Signal erfassen kann. (Obwohl 1 nur
eine einzige solche Schaltung zeigt, stellt ein typischer digitaler
Schaltungstester wieder eine große Anzahl von ihnen bereit,
gewöhnlich
mehrere auf einer Pin-Platine).
-
Ein
Digitalsignal-Testburst repräsentiert
typischerweise eine relative lange Folge binärer Werte, und der typische
Hochleistungstester enthält
einen entsprechenden Speicher 38, der jedem Treibersensor
ausschließlich
zugeordnet ist. Der Speicher ist typischerweise so konzipiert, dass
er schnellen Zugriff gewährt,
weil sich die digitalen Pegel der Testbursts oft mit einer hohen
Rate ändern
müssen.
Ein digitales Folgesteuergerät
(Sequenzer) 40 liefert über
den Bus 26 und eine Platinensteuerung 42 Zeitsteuer- und
Adress-Signale an den Speicher 38.
-
Als
Reaktion auf vor einem Testburst von der Zentraleinheit 30 erhaltene
Befehle veranlasst die Steuerungsschaltung 42 der Pin-Platine 24 die
inneren Schalter des Scanner-Abschnitts 22,
den Ausgangs-Port der Treiber-/Sensorschaltung 36 durch den
zugehörigen
systemseitigen Vorrichtungsanschluss 18 und den platinenseitigen
Pin 16 mit dem gewünschten
Platinen-Testpunkt zu verbinden. Ebenfalls unter der Steuerung durch
die Zentraleinheit 30 erleichtert die Steuerung 42 das
Laden jedes Pin-Speichers 38 mit den für einen einzelnen Signalburst
erforderlichen Daten.
-
Dann
befiehlt die Zentraleinheit 30 dem Folgesteuergerät 40,
einen Burst zu beginnen. Als Reaktion veranlasst das Folgesteuergerät den Pin-Speicher 38,
Ausgangssignale zu erzeugen, die die Inhalte einer Folge von Pin-Speicherstellen
repräsentieren,
die das Folgesteuergerät
spezifiziert. Jede Pin-Speicherstelle enthält einen Code für eine der Funktionen,
die der digitale Treiber/Sensor ausführen kann. Die möglichen
Funktionen müssen
mindestens den Testpunkt auf den hohen Logikpegel oder den niedrigen
Logikpegel treiben und einen hohen Logikpegel oder einen niedrigen
Logikpegel erfassen, d. h. melden, ob der erfasste Testpunkt den
erwarteten Signalpegel angenommen hat. Der Pin-Speicher erhält diese
gemeldeten Ergebnisse, so dass er am Ende des Bursts angibt, ob
die Reaktionen des Testknotens auf alle Eingänge wie erwartet waren. Andere Codes
geben an, dass der Treiber deaktiviert (in den "Tri-State" versetzt) werden soll, oder dass der
Sensor jeden Pegel als korrekt akzeptieren soll. Es kann auch Codes
zum Wiederholen der vorherigen Funktion, Umschalten von Pegeln usw.
geben.
-
Eine
Decodiererschaltung 44 decodiert den Ausgang des Speichers
und hält
beim Erzeugen von Pegelsignalen mit einer später erläuterten Ausnahme gewöhnlich die
Codes ein, die zwischen Digitalsignalpegeln wählen, die der Treiber/Sensor
treiben und/oder als korrekt betrachten soll. Der Treiber/Sensor
arbeitet in Übereinstimmung
mit der Folge von Decodierer-Ausgangssignalen, wobei er eine befohlene
Folge von Logikpegeln an den Zieltestknoten legt und/oder verifiziert,
dass er erwartete Signalpegel aufweist.
-
Von
besonderem Interesse in Verbindung mit der vorliegenden Erfindung
ist die Treiberschaltung des Treibers/Sensors 36, die den
Laststrom treibt, d. h. als eine Laststromquelle oder -senke dient.
Der interessierende spezielle Typ digitaler Treiberschaltungen ist
hier der Typ, der zum "Backdriving" in der Lage ist,
d. h. eine Last auf einen Logikpegel zu treiben, ungeachtet des
Versuchs eines Geräts
der Platine, sie auf den anderen Logikpegel zu treiben. 2 stellt
in vereinfachter Form ein Beispiel für einen backdrive-fähigen digitalen
Treiber dar. Um die manchmal für
das Backdriving erforderlichen Laststrom-Größenordnungen zu treiben, enthält die Treiberschaltung
von 2 22 NPN-Transistoren QN1 bis QN22 zum Liefern
von Laststrom und 22 PNP-Transistoren QP1 bis QP22, um ihn zu ziehen.
-
Wenn
der vom Pin-Speicher geholte Code spezifiziert, dass der zugehörige Testpunkt
getrieben werden soll, veranlasst der Decodierer einen nicht dargestellten
Analog-Multiplexer, eine von zwei Bezugsspannungen als das Signal
DATA weiterzuleiten. Ein Verstärker 50 verstärkt die
Differenz zwischen diesem Pegel und der Spannung an einer Last 52 und
legt so das Ergebnis durch eine geeignete Vorspannungsschaltung 53 an
die Basen der Transistoren QN1 bis QN22 und QP1 bis QP22 an, um
die Last auf den Spannungspegel des DATA-(DATEN-)Signals zu treiben.
Gibt der geholte Code an, dass der Treiber nicht aktiv sein soll,
d. h. dass er in den Tri-State (mit drei Zuständen) versetzt werden soll, aktiviert
der Decodierer ein Signal TRI_STATE. Dieses Signal betätigt elektronische
Schalter SW1 und SW2 in Zustände,
in denen sie die Basen der Treibertransistoren gegen den Verstärker 50 isolieren
und sie stattdessen an den Ausgang eines Pufferverstärkers 54 mit
Verstärkungsfaktor
eins anlegen, der dadurch die Basis-Spannungen der Treibertransistoren mit
ihren Emitter-Spannungen gleich halten. Dies hält die Treibertransistoren
ausgeschaltet, minimiert aber die Verzögerung, die bei ihrem Wiedereinschalten auftritt.
-
Die
bisher beschriebene Tester-Architektur ist nur ein Beispiel für den Typ
von Platinentestern, bei dem die gegenwärtig zu beschreibenden Lehren verwirklicht
werden können,
und der Fachmann wird erkennen, dass diese Lehren auf Tester-Architekturen
anwendbar sind, die deutlich von diesem Beispiel abweichen. Insbesondere
können
sich digitale Treiber unterschiedlicher Ausführungsformen ziemlich beachtlich
von derjenigen von 2 unterscheiden. Alle haben
aber irgendwelche digitale Treiber, die Pegel zu treiben vermögen, die
zum Backdriving erforderlich aber bei zu langem Anlegen gefährlich sind.
-
Die
herkömmliche
Reaktion auf diese Gefahr besteht darin, nur Testsignalbursts zu
entwerfen, die nicht in einer übermäßigen Backdriving-Dauer
resultieren sollen. Dieser Ansatz hat jedoch zwei Nachteile. Einer
ergibt sich aus der Tatsache, dass Komponenten-Spezifikationen von
Lieferant zu Lieferant und von Los zu Los verschieden sein können. Die
zur Unterbringung der Kombination aller im ungünstigsten Fall möglichen
Werte für
eine gute Komponente erforderlichen Entwurfszwänge (Design Constraints) machen
es oft äußerst schwierig,
einen effizienten Test zu entwerfen. Der andere Nachteil besteht
darin, dass sogar ein Test, der übermäßiges Backdriving
in der im ungünstigsten
Fall guten Platine verhindern würde,
es bei einer schlechten Platine ermöglichen kann. Daher können selbst
die konservativsten Testentwurfsregeln dennoch Tests erzeugen, die übermäßiges Stromtreiben
verursachen.
-
Mit
dem nunmehr zu beschreibenden Ansatz entwirft der Test-Entwerfer
den Test immer noch typischerweise mit Backdrive-Einschränkungen,
aber diese Einschränkungen
müssen
nicht so streng sein, dass sie alle Kombinationen der ungünstigsten
Fälle abdecken.
Stattdessen kann der Test-Entwerfer die Zwänge genügend lockern, um einen effizienten
Test zu erzeugen und sich dann auf die Testzeitdetektion von zu
hohem Treiben zu verlassen, um das Backdriving des Bursts zu unterbrechen
oder anderweitig zu begrenzen, falls ein solches zu hohes Treiben
auftritt. Der Test-Entwerfer kann dies wegen eines Mechanismus tun,
den die veranschaulichte Ausführungsform
in einem Stromsensor und Zeitmesser implementiert.
-
Zunächst sei
der Stromsensor betrachtet. Die Treiber-/Sensorschaltung enthält einen
Stromsensor, der Transistoren QS1 und QS2, Dioden D1 und D2 und
einen Sensorausgangswiderstand Rsense enthält. Wie
nunmehr erklärt
wird, verursachen diese Komponenten eine Spannung über Rsense, die zur Größe des Stroms, den der Treiber
liefert oder zieht, proportional ist: Die Spannung von Rsense weist zum Laststrom die Beziehung von 3 auf.
-
Wenn
der Treiber Strom liefert, leiten die oberen Treibertransistoren
QN1 bis QN22, aber die unteren Treibertransistoren leiten nicht.
Folglich fließt in
der Kollektorschaltung von QP22 kein Strom durch die Diode D2, QS2
ist ausgeschaltet und der Strom der Diode D1 kann nur in den Kollektor
von QN22 fließen.
Nun ist die gesamte Schaltung von 2 außer der
Last 52 auf derselben integrierten Schaltung 55 angeordnet,
daher können
die Kenndaten ihrer pn-Übergänge sehr
eng abgestimmt werden. Folglich ist die Spannung am Basis-Emitter-Übergang
sehr nahe gleich der von D1. Dies bedeutet, dass der Strom von Widerstand
R1 proportional zu dem von R2 und, falls der Basisstrom von QS1
vernachlässigt werden
kann, zur Summe der Kollektorströme
der NPN-Treibertransistoren ist. Daher sind der Kollektorstrom von
QS1 und folglich die Sensorausgangsspannung über Rsense proportional
zum Ausgangsstrom des Treibers.
-
Arbeitet
der Treiber, um Strom zu ziehen statt ihn zu liefern, sind die NPN-Treibertransistoren
ausgeschaltet, aber die unteren PNP-Treibertransistoren sind eingeschaltet.
In dieser Situation kann der Strom von D1 nur durch QS2 fließen, dessen
Strom zu dem der PNP-Treibertransistoren proportional ist, ebenso wie
der von QS1 mit dem der NPN-Treibertransistoren proportional ist.
Daher sind die Ströme
von D1 und QS1 wieder proportional zu denen der Treibertransistoren,
und die Spannung von Rsense ist wieder ein
Hinweis auf die Größe des Laststroms.
-
Zusätzlich zur
Verwendung dieses Sensors zur Backdrive-Begrenzung auf eine nun
zu beschreibende Weise verwendet ihn die dargestellte Ausführungsform
auch, um zu erkennen, wann der Treiberausgang im Wesentlichen kurzgeschlossen
ist und unverzüglich
ausgeschaltet werden sollte, um eine Beschädigung zu vermeiden. Zu diesem
Zweck aktiviert ein Vergleicher 56 ein Signal SHORT_CIRCUIT_FLAG,
falls die Spannung von Rsense eine durch
die Grenzen setzende Schaltung 57 von 1 festgelegte
Schwelle SHORT_VALUE überschreitet.
Wie nun erklärt
wird, führt
die Aktivierung von SHORT_CIRCUIT_FLAG dazu, dass der Treiber unverzüglich in
den Tri-State versetzt
wird. Bevor ein Burst beginnt, setzt die Zentraleinheit 30 SHORT_VALUE
sowie andere analoge Werte durch Kommunizieren mit der Grenzen setzenden
Schaltung 57 durch die Platinensteuerung 42. Die
Schaltung 57 enthält
Register, die analoge Darstellungen dieser Werte speichern. Sie
enthält
auch Digital/Analog-Wandler, die die gespeicherten Werte in die
erforderlichen analogen Spannungen umwandeln.
-
Zur
Backdrive-Begrenzung vergleicht ein weiterer Vergleicher 58 die
Stromgröße angebende Spannung
von Rsense mit einer durch die Grenzen setzende
Schaltung 57 von 1 erzeugten
Backdrive-Schwelle CURRENT_VALUE. Überschreitet die Sensorspannung über Rsense von 2 CURRENT_VALUE,
aktiviert der Vergleicher 58 seinen Ausgang. Dies veranlasst
einen in Zusammenhang mit 4 detaillierter
beschriebenen Zeitmesser 60, die Dauer des Backdrive-Stroms
zu messen. Der Zeitmesser 60 aktiviert seinen Ausgang BACKDRIVE_FLAG,
wenn der Vergleicher 58 seinen Ausgang über eine Dauer aktiviert hat,
die länger
ist als eine durch eine Spannung TIME_VALUE, die von der Pegel setzenden
Schaltung 57 von 1 erzeugt wird,
dargestellte Frist.
-
Aus
einem nachstehend erläuterten
Grund unterteilt die Zeitmesserschaltung 60 von 2 ihr gemessenes
Zeitintervall in zwei Teilintervalle. Das erste relativ kurze Teilintervall
beginnt mit dem Öffnen
des normalerweise geschlossenen elektronischen Schalters SW3 von 4.
Das zweite normalerweise viel längere
Teilintervall beginnt mit dem nachfolgenden Öffnen eines zweiten normalerweise geschlossenen
elektronischen Schalters SW4, wenn das erste Teilintervall endet.
-
Konkret
erlaubt das Öffnen
von SW3 als Reaktion auf die Aktivierung des Ausgangs von Backdrive-Vergleicher 58 einer
Stromquelle 64, das lineare Entladen eines Intervallzeit
gebenden Kondensators C1 auf –6
Volt zu beginnen. Nach 750 Nanosekunden ist der obere Anschluss
des Kondensators C1 vom Erdpotential, auf dem SW3 ihn gehalten hatte,
als er geschlossen war, auf ein Potential von –4 Volt abgefallen. Zu diesem
Zeitpunkt schaltet ein Ausgang des Vergleichers 66 von
seinem nicht aktivierten –6-Volt-Pegel
auf seinen aktivierten +1,2-Volt-Pegel.
-
Diese
Aktivierung des Ausgangs von Vergleicher 66 veranlasst
den Schalter SW4 zum Öffnen und
einer Stromquelle 68 zu ermöglichen, das lineare Entladen
eines anderen Intervallzeit gebenden Kondensators C2 zu beginnen.
Vor dieser Aktivierung wird der obere Anschluss des Kondensators
C2, der den invertierenden Eingang an einen BACKDRIVE_FLAG erzeugenden
Vergleicher 69 liefert, von der Pegel setzenden Schaltung 57 von 1 auf
dem Dauer setzenden Spannungspegel TIME_VALUE gehalten. (Der Kondensator
C2 unterscheidet sich vom Rest der Schaltung von 4 insofern,
als er typischerweise nicht in der integrierten Schaltung 55 des
Treibers/Sensors von 2 enthalten ist. Im Gegensatz
zu Kondensator C1, der für ein
Intervall von sehr kurzer Dauer verwendet wird und deshalb klein
genug ist, um Teil dieser integrierten Schaltung zu sein, ist der
Kondensator C2 typischerweise für
Zeit dauern mit einer Länge
bis zu Zehnfachen einer Millisekunde vorgesehen, daher ist er typischerweise
als eine separate Komponente bereitgestellt).
-
Der
nicht invertierende Eingang des Vergleichers 69 ist die
Spannung an der Zusammenführung zweier
Dioden D3 und D4. Während
der Ausgang des Vergleichers 66 immer noch auf seinem niedrigen –6-Volt-Pegel
ist, wird D3 in Sperrrichtung vorgespannt, daher ist der nicht invertierende
Eingang des Vergleichers 69 der –0,7-Volt-Pegel, der daraus
resultiert, dass die Diode D4 durch eine Stromquelle 70 in
Durchlassrichtung vorgespannt wird und ihre Anode an Masse gelegt
ist. TIME_VALUE ist immer höher
als –0,7
Volt, daher ist BACKDRIVE_FLAG inaktiviert, so lang der Schalter
SW4 geschlossen ist. Dies ist wie es sein sollte, weil die Aktivierung
von BACKDRIVE_FLAG ein Hinweis darauf ist, dass die maximale Backdrive-Dauer überschritten
worden ist.
-
Wenn
der Ausgang des Vergleichers 66 auf HIGH geht, klemmt die
Wirkung einer 0,5-Volt-Quelle 72 durch eine weitere Diode
D5 die Anode von D3 auf 1,2 Volt, so dass der Diodenabfall über D3,
die der Ausgang des Vergleichers 66 jetzt in Durchlassrichtung
vorspannt, am nicht invertierenden Eingangs-Port des BACKDRIVE_FLAG-Vergleichers 69 in
einem 0,5-Volt-Pegel resultiert. Gewöhnlich ist der Pegel TIME_VALUE,
bei dem der invertierende Eingang des Vergleichers 69 beginnt,
höher als
dieser, daher bleibt BACKDRIVE_FLAG anfangs inaktiviert, obwohl
die durch CURRENT_VALUE festgesetzte Backdrive-Schwelle überschritten
worden ist. Die Stromquelle 68 veranlasst aber den Kondensator
C2 zum linearen Entladen von TIME_VALUE auf diesen 0,5-Volt-Pegel.
Erreicht die Spannung am Kondensator C2 diesen Pegel, aktiviert
der Vergleicher 69 BACKDRIVE_FLAG und zeigt dadurch an,
dass das Backdriving unterbrochen werden soll.
-
Die
analoge Spannung TIME_VALUE legt so die zulässige Backdrive-Dauer fest.
Sofern die Spannung von TIME_VALUE auf einen Wert gesetzt wurde,
der 0,5 Volt übersteigt,
ist insbesondere ist die zulässige
Backdrive-Dauer t gegeben durch:
wobei V
TV die
Spannung des Signals TIME_VALUE und I
68 der
Strom ist, den die Stromquelle
68 zieht.
-
Wie
diese Gleichung zeigt, hängt
die zum Verursachen der Deaktivierung erforderliche ununterbrochene
Backdriving-Dauer nur von der Dauer des Eingangs TIME_VALUE ab.
Bei anderen Ausführungsformen
kann sie jedoch zusätzlich
von anderen Faktoren abhängen.
Die bei einigen Ausführungsformen
dem Entladestrom der Quelle 68 entsprechende Menge ist
z. B. vielleicht nicht unveränderlich,
wie sie es bei der dargestellten Ausführungsform ist – sie kann
zusätzlich
vom Backdrive-Strom und/oder anderen Faktoren abhängen. In
einem solchen Fall würde
ein höherer
Backdrive-Strom in einer geringeren zulässigen Backdrive-Dauer resultieren.
Eine solche Anordnung kann die Backdrive- und Kurzschluss-Funktionsmerkmale
in einer gemeinsamen Schaltung bereitstellen. Würde die dargestellte Ausführungsform
modifiziert, um den Strom des Stromsensors 68 von der Differenz
zwischen der Spannung von Rsense und CURRENT_VALUE
abhängig
zu machen, könnte
beim Erreichen des Kurzschlusspegels der Ladestrom z. B. so hoch
sein, dass die unverzügliche
Aktivierung von BACKDRIVE_FLAG veranlasst werden würde.
-
Ferner
beruht die Gleichung für
die Dauer auf der Annahme, dass das Backdriving ununterbrochen ist.
Natürlich
verläuft
das Backdriving typischer intermittierend. In diesem Fall ermöglicht die
dargestellte Ausführungsform
eine längere
kumulative Backdrive-Zeit. Insbesondere wird dem Kondensator C2
ermöglicht,
sich zwischen Backdriving-Intervallen durch den Widerstand R1 aufzuladen.
Die zum Abziehen der resultierenden Ladung erforderliche Zeit trägt dadurch
zur kumulativen Backdrive-Zeit bei, die zum Erreichen der Schwelle
des BACKDRIVE_FLAG-Vergleichers 69 erforderlich ist.
-
Wie
oben erwähnt
wurde, ist die Spannung VTV des Signals
TIME_VALUE gewöhnlich
so eingestellt, dass sie 0,5 Volt überschreitet. Es kann jedoch Zeiten
geben, in denen der Tester in einem anderen Modus in Betrieb sein
soll, in dem er lediglich das Auftreten von Backdrive-Pegeln aufzeichnen
und sie nicht wirklich zeitlich messen soll. Zu diesem Zweck wird
die Spannung VTV des Signals TIME_VALUE
auf einen Wert von weniger als 0,5 Volt eingestellt. In diesem Fall
veranlasst der Übergang
des Ausgangs von Vergleicher 66 zu seinem höheren Pegel
nach 750 Nanosekunden den Ausgang BACKDRIVE_FLAG des Vergleichers 69,
unverzüglich
auf HIGH zu gehen. BACKDRIVE_FLAG wird aktiviert, falls der Backdrive-Pegel
für lediglich
750 Nanosekunden vorhanden ist. Die Dauer von 750 Nanosekunden neigt dazu,
Stromsensor-Rauschen herauszufiltern, erfasst aber sogar Einvektordauer-Backdrive-Bedingungen,
falls die Rate der Vektoranwendung beispielsweise so hoch wie 1
MHz ist.
-
Bei
einigen Ausführungsformen
werden vom Pin-Speicher, der gewöhnlich
die Digitalsensor-Ausgänge
empfängt
und ihre Werte speichert, zusätzlich aufeinander
folgende Werte von Taktzeiten des Signals BACKDRIVE_FLAG, möglicherweise
wie unten entstört,
empfangen und gespeichert. Dies liefert Informationen, die der Benutzer
oder die entsprechende Software zu Diagnosezwecken verwenden kann. Bei
der dargestellten Ausführungsform
jedoch begleitet das Signal BACKDRIVE_FLAG lediglich das Signal
SHORT_CIRCUIT_FLAG entlang des Wegs 72 von 1 zur
Halteschaltung 74, die die Logik von 5 implementiert.
(Der Verdeutlichung halber ist 5 eine Logik-Diagramm-Darstellung
der Funktionen, die die Halteschaltung der dargestellten Ausführungsform
implementieren soll. Menschliche Entwerfer einer solchen Schaltung
spezifizieren sie aber während
der tatsächlichen
Implementierung typischerweise nicht auf einer solchen niedrigen
Ebene. Stattdessen verwenden sie eine höhere Programmiersprache wie
z. B. VHDL, um einen programmierbaren Logikbaustein zu programmieren,
so dass es wahrscheinlich ist, dass die Einzelheiten der resultierenden
Schaltung in verschiedenen Aspekten von dem abweichen, was die Zeichnung
möglicherweise vorschlägt). Der
Zweck dieser Schaltung besteht zum Teil darin, sich etwaige Aktivierungen
des Kennzeichensignals ("Flag"-Signals) zu merken,
bis die CPU 30 eine Gelegenheit gehabt hat, es abzufragen.
-
Speziell
ist das Signal BACKDRIVE_FLAG der Eingang einer Entstörungsschaltung,
die durch die D-Typ-Flipflops 76a und 78a und
das AND-Gatter 80a gebildet wird. Ein OR-Gatter 82a und
ein weiteres D-Typ-Flipflop 84a bilden einen Signalspeicher, dessen
BACKDRIVE-Ausgang seinen aktivierten Zustand annimmt, wenn die entstörte Version
von BACKDRIVE_FLAG aktiviert wird. BACKDRIVE bleibt aktiviert, wenn
BACKDRIVE_FLAG danach zu seinem inaktivierten Zustand zurückkehrt,
so dass die CPU in aller Ruhe überprüfen kann,
ob das Backdrive auftritt.
-
Das
BACKDRIVE-Signal ist ein Hinweis darauf, dass der Treiber übermäßig zu hoch
getrieben hat und den backdrive-deaktivierten Modus annehmen soll.
Dieser Modus kann auf verschiedene Weise gemäß der Erfindung implementiert
werden. Eine Weise besteht darin, einfach einen Schalter zwischen dem
Treiber und dem getriebenen Platinenknoten zu öffnen. Eine andere Weise besteht
in der Verwendung eines so genannten Rückregelungsmechanismus (Foldback-Mechanismus),
bei dem das Ausgangsstromvermögen
des Treibers auf eine etwas allmähliche
Weise auf unter den Backdrive-Bereich verringert wird. Die dargestellte
Ausführungsform
ist ein Beispiel für
einen dritten Ansatz, bei dem der backdrive-deaktivierte Modus aus
einer Verwendung des Tri-State-Funktionsmerkmals
des Treibers resultiert.
-
Speziell
leitet ein AND-Gatter 85 das Resultat an ein OR-Gatter 86 weiter,
es sei denn, die CPU hat die Aktivierung eines Signals MASK und
dadurch die Deaktivierung des Funktionsmerkmals zur Backdrive-Steuerung
veranlasst. Der Decodierer 44 (1) erhält den resultierenden
aktivierten Ausgang des Gatters 86. Dies veranlasst den
Decodierer, von seinem normalen Modus, in dem der Wert seines TRI_STATE-Ausgangs
(2) durch den Ausgang des Pin-Speichers 38 bestimmt
wird, in einen Modus mit übermäßigem Backdrive
zu schalten, in dem er TRI_STATE aktiviert, selbst wenn der Ausgang
des Pin-Speichers dies nicht verlangt. Wie aus 2 ersichtlich
ist, veranlasst dies den elektronischen Schalter SW3 zum Öffnen und
den elektronischen Schalter SW4 zum Schließen und dadurch den Treiber
in seinen Zustand mit hoher Impedanz zu versetzen: Der Treiber treibt
den Knoten, an dem das übermäßige Backdrive
erfolgt, nicht mehr.
-
Bei
einigen Ausführungsformen
werden vom Pin-Speicher, der gewöhnlich
die Digitalsensor-Ausgänge
empfängt
und ihre Werte speichert, zusätzlich Werte
des Signals BACKDRIVE_FLAG zu aufeinander folgenden Taktzeiten empfangen
und gespeichert. Dies liefert Informationen, die der Benutzer oder
die entsprechende Software zu Diagnosezwecken verwenden kann.
-
Die
Platinensteuerung 42 von 1 erhält die geORte
Kombination dieses BACKDRIVE-Signals und den von der Halteschaltung 74 (nicht
gezeigt) erzeugten Signalen, die mit dem anderen Treiber/den anderen
Sensoren der Platine in Zusammenhang stehen. Sie kann als Reaktion
jede geeignete Maßnahme
ergreifen, wie z. B. Aufzeichnen des Ereignisses in einem Statusregister,
auf das die Zentraleinheit 30 mittels eines Busses 26 Zugriff
hat. Das Folgesteuergerät 40 erhält typischerweise
die Phantom-OR-Kombination
des Ausgangs eines solchen Registers und die entsprechenden Ausgänge der Backdrive-Steuerungen
anderer Platinen. Die CPU 30 kann das Auftreten von übermäßigen Backdriving während des
letzten Signalbursts durch Beobachten des resultierenden Status
des Folgesteuergeräts
detektieren. Dann kann sie die Register der Platinensteuerungen
abfragen, um den Pin oder die Pins zu finden, an denen das übermäßige Backdriving
auftrat, und danach durch Aktivieren des Rücksetzeingangs des Flipflops 84 den
BACKDRIVE-Signalspeicher von 5 rücksetzen.