-
Diese
Erfindung bezieht sich auf das Gebiet der Elektronik, und insbesondere
auf eine Anordnung, die die Zusammenschaltung von Anordnungen, die
ein I2C-Interface
verwenden, erleichtert.
-
Der „Inter
Integrated Circuit"(I2C)-Bus ist ein Industriestandard-Bus-Interface, das von
der Philips Corporation entwickelt wurde, das es integrierten Schaltungen
erlaubt, direkt miteinander über
einen einfachen bidirektionalen 2-Draht-Bus zu kommunizieren. Das
Miteinanderverbinden von Anordnungen in einem I2C-basierten
System kann durch direktes Anschließen von ihnen an die zwei Busleitungen
erreicht werden: eine serielle Datenleitung (SDA) für die Kommunikation
von Daten und eine serielle Taktleitung (SCL) für die Steuerung und Synchronisation der
Kommunikation von Daten zwischen den Anordnungen.
-
1 zeigt
ein Blockschaltbild eines I2C-Repeaters 1 mit
einem Kanal (SDA oder SCL). In einem typischen I2C-Bus
wird eine weitere identische Schaltung wie die in 1 für den anderen
Kanal (SCL oder SDA, wie auch immer) verwendet. Repeater 1 ist
eine Anordnung, die die Trennung zweier I2C-Bus-Segmente,
Segmente A und B, durch elektrisches Isolieren der zwei Segmente
und Wiederholen der Signale von einem Element zu dem anderen erlaubt.
Jedes Segment ist ein „Wired-OR"-Typ. Alle Anordnungen
an dem Bus sind Anordnungen mit offenem Kollektor/offener Drain
und sind nur fähig,
den Bus in einen L (Low)-Zustand (ungefähr 0 Volt) zu treiben. Ein
externer Pull-up-Widerstand
zieht den Bus auf H (High) (etwa Vdd), wenn keine Anordnung ihn
auf L (Low) treibt. Ein Hauptnachteil mit dieser Art Repeater ist,
dass er in einen L (Low)-Zustand
einrasten („latchen") kann. Wenn beispielsweise
Segment A auf L (Low) getrieben ist, treibt Repeater 1 Segment
B durch Puffer 10 auf L (Low). Dieses durch Puffer 10 verursachte
L (Low) an Segment B darf nicht verursachen, dass Puffer 20 Segment
A auf L (Low) treibt, sonst findet eine Latch-Bedingung statt. Auch
kann Puffer 20 nicht abgeschaltet werden, weil jede Anordnung
an Segment B Segment B auf L (Low) treiben kann, in welchem Fall
Puffer 20 Segment A auf L (Low) treiben muss. Das Dokument US-A- 3.832.498 offenbart
einen bidirektionalen Bus-Puffer mit einer Vorkehrung zum Vermeiden
von Latch-Up.
-
Deshalb
gibt es einen Bedarf für
eine Konfiguration, die effektiv bestimmen kann, ob ein Repeater-Puffer,
d.h. Puffer 10, die einzige Anordnung ist, die den Bus
auf L (Low) treibt, um so jegliche Latch-Bedingungen zu vermeiden.
-
Die
vorliegende Erfindung schafft einen Ausgangstreiber, der verwendet
werden kann, um zu bestimmen, ob ein Repeater-Puffer die einzige
Anordnung ist, die einen Bus auf L (Low) treibt. Gemäß der Erfindung
wird der Strom durch die Ausgangstreiberschaltung mit einem Referenzstrom
verglichen. Wenn der Strom größer als
der Referenzstrom ist, dann ist die Ausgangstreiberschaltung (und
so der Repeater-Puffer) der einzige Ausgang, der den Bus auf L (Low)
treibt. Anderseits, wenn der Strom geringer als der Referenzstrom
ist, dann ist die Ausgangstreiberschaltung nicht die einzige Anordnung,
die den Bus auf L (Low) treibt. Diese Information kann in einem
I2C-Repeater verwendet werden, um die richtige
Antwort des Repeaters zu bestimmen und eine Latch-Bedingung zu verhindern.
-
Gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung wird eine Ausgangstreiberschaltung zum
Anschließen
an einen Bus geschaffen. Die Schaltung umfasst einen ersten Ausgangstreiber,
der an den Bus angeschlossen ist; einen zweiten Ausgangstreiber
zum Erzeugen eines Referenzstroms; und einen Komparator, der an
den ersten und zweiten Ausgangstreiber angeschlossen ist, zum Vergleichen
von Strom, der durch den ersten Ausgangstreiber fließt, mit
dem Referenzstrom, um zu bestimmen, ob es eine externe Anordnung
gibt, die den Bus treibt.
-
Gemäß einem
Aspekt der ersten Ausführungsform
der Erfindung enthält
der erste Ausgangstreiber einen ersten Widerstand und einen ersten Transistor,
und der zweite Ausgangstreiber enthält einen zweiten Widerstand
und einen zweiten Transistor.
-
Gemäß einem
anderen Aspekt der ersten Ausführungsform
der Erfindung ist der erste Widerstand im Wert ein wenig größer als
der zweite Widerstand und der erste und zweite Transistor sind im Wesentlichen
identisch.
-
Gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung wird eine Ausgangstreiberschaltung zum
Anschließen
an einen Bus geschaffen. Die Schaltung umfasst eine Parallelschaltung
mit ersten und zweiten Pfaden, der erste Pfad zum Anschließen an den
Bus; einen Transistor, der in Serie an die Parallelschaltung angeschlossen
ist; und einen Komparator, der an den ersten und zweiten Pfad angeschlossen
ist, zum Vergleichen von Strömen, die
durch die zwei Pfade fließen,
um zu bestimmen, ob es eine externe Anordnung gibt, die den Bus treibt.
-
Gemäß einem
Aspekt der zweiten Ausführungsform
der Erfindung enthält
der erste Pfad erste und zweite Widerstände, und der zweite Pfad enthält dritte
und vierte Widerstände.
-
Gemäß einem
anderen Aspekt der zweiten Ausführungsform
der Erfindung ist der erste Pfad ein niederohmiger Pfad und der
zweite Pfad ein hochohmiger Pfad. Außerdem sind die ersten, zweiten,
dritten und vierten Widerstände
so skaliert, dass, wenn es keine externen Anordnungen gibt, die
den Bus treiben, der Komparator eine vorher festgelegte Differenz
zwischen den Strömen,
die durch die zwei Pfade fließen,
detektiert.
-
Andere
Aufgaben und Leistungen zusammen mit einem vollständigeren
Verstehen der Erfindung werden durch Bezug auf die folgenden Beschreibungen
und Ansprüche
in Verbindung mit der einhergehenden Zeichnung offensichtlicher
und verständlicher.
-
Diese
und andere Aspekte der Erfindung sind in der Zeichnung dargestellt
und werden im Folgenden näher
beschrieben. Es zeigen:
-
1 ein
Blockdiagramm eines Standard-I2C-Repeaters
mit einem Kanal;
-
2 eine
Ausgangstreiberschaltung gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung;
-
3 die
Ausgangstreiberschaltung von 2 mit einer
zusätzlichen
Anordnung;
-
4 eine
Ausgangstreiberschaltung gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung; und
-
5 die
Ausgangstreiberschaltung von 4 mit einer
zusätzlichen
Anordnung.
-
In
allen Figuren weisen gleiche Bezugzeichen auf gleiche oder entsprechende
Merkmale oder Funktionen hin.
-
2 illustriert
eine Ausgangstreiberschaltung 30 gemäß einer ersten Ausführungsform
der vorliegenden Erfindung. Schaltung 30 ist die Ausgangsschaltung
eines Puffers (z.B. Puffer 10 oder 20 in 1).
Beispielsweise entspricht in dem Fall von Puffer 20 VoutA
der Spannung am Bussegment A in 1. Im dem
Fall von Puffer 10 20 VoutA der Spannung am Bussegment
A in 1. Im dem Fall von Puffer 10 entspricht
VoutA der Spannung am Bussegment B in 1.
-
In 2 umfasst
Schaltung 30 einen Ausgangstreiber 32, einen Repliktreiber 34 und
einen Komparator 36 beispielsweise in der Form eines Op-Amps.
Ausgangstreiber 32 enthält
einen Drainwiderstand R1 und einen NMOS-Transistor Q1. Repliktreiber 34 enthält einen
Drainwiderstand R2, etwas niedriger als R1, und einen zu Q1 identischen NMOS-Transistor
Q2. Replikausgangstreiber 34 wird zum Erzeugen eines Referenzstroms
verwendet, wie unten diskutiert werden wird.
-
Wenn
die Gatespannung (an Knoten gt1) der Transistoren Q1 und Q2 H (High)
wird, schalten beide Transistoren ein und ziehen ihre Ausgänge auf
L (Low). Da der Ausgang L (Low) wird, wird die Drain/Source-Spannung
jedes Transistors weniger als die Gate/Source-Spannung und geht
in den linearen Betriebsbereich und verhält sich folglich wie ein Widerstand.
Da die Transistoren Q1 und Q2 identisch sind und identische Gate/Source-Spannungen
haben, tendieren sie dazu, gleiches Verhalten und identische Widerstandswerte
zu haben. Dieses Widerstandsverhalten verbessert sich, wenn die Drain/Source-Spannung
abnimmt. Deshalb sind die Ströme
durch die Transistoren Q1 und Q2 identisch, wenn sie identische
Lasten haben, angenommen, dass die Widerstandswerte der zwei Transistoren identisch
sind. Lasten für
den Transistor Q1 sind R1 und Rx1, während die Lasten für den Transistor
Q2 R2 und Rx2 sind. Lastwiderstände
Rx1 und Rx2 sind als identisch gewählt. Bei der Auswahl R2 < R1 fließt ein etwas
unterschiedlicher Strom durch Transistoren Q1 und Q2. Diese Stromdifferenz
wird als eine Spannungsdifferenz über Widerstand R1 gegen Masse und
R2 gegen Masse gemessen. Wenn Ausgangstreiberschaltung 30 die
einzige Anordnung ist, den Bus auf L (Low) treibt, ist die an R1
gesehene Spannung VoutA größer als
die Spannung VsamA an R2. Diese Spannungsdifferenz wird von Komparator 36 detektiert.
Also wenn Knoten gt1 auf H (High) geht, geht der Ausgang von Komparator 36 auch
auf H (High) und zeigt an, dass Ausgangstreiberschalung 30 (d.h.
der Puffer) die einzige Ausgangsanordnung ist, die den Bus treibt.
-
Wenn
die Ausgangstreiberschaltung 30 wegen einer zusätzlichen
Anordnung 50 wie in 3 illustriert
nicht die einzige Anordnung ist, die den Bus auf L (Low) treibt,
fließt
weniger Strom durch R1 und die an R1 gesehene Spannung VoutA ist
kleiner als die Spannung VsamA an R2. Diese Spannungsdifferenz wird
auch von dem Komparator 36 detektiert. Die Änderung
der Spannung an R1 aufgrund des Stromteilens auf dem Bus wird verwendet,
um zu bestimmen, ob die Ausgangstreiberschaltung 30 (und so
der Repeaterpuf fer) die einzige Anordnung ist, die den Bus treibt.
Wenn, in 3, der Knoten gt1 H (High) wird,
während
der Knoten gt3 immer noch L (Low) ist, zeigt das an, dass die Ausgangstreiberschaltung 30 (d.d.
der Puffer) die einzige Anordnung ist, die den Bus auf L (Low) treibt,
und der Ausgang des Komparators 36 ist H (High). Wenn Knoten
gt1 und gt3 beide auf H (High) gehen, zeigt das an, dass es eine
zusätzliche
Anordnung 50 gibt, die den Bus auf L (Low) treibt, und
der Ausgang des Komparators 36 geht auf L (Low).
-
4 zeigt
eine Ausgangstreiberschaltung 60 gemäß einer zweiten Ausführungsform
der vorliegenden Erfindung. Wie Schaltung 30 ist Schaltung 60 die
Ausgangstufe eines Puffers (z.B. Puffer 10 oder 20 in 1). Ähnlich entspricht
in dem Fall von Puffer 20 VoutA1 der Spannung am Bussegment
A in 1. In dem Fall von Puffer 10 entspricht
VoutA1 der Spannung am Bussegment B.
-
In 4 umfasst
Schaltung 60 eine Parallelschaltung 62, einen
NMOS-Transistor
Q4 und einen Komparator 66. Parallelschaltung 62 enthält zwei Pfade:
Pfad 1 und Pfad 2. Der Strom durch Ausgangstransistor Q4 wird zwischen
den zwei Pfaden geteilt. Die Ströme
durch diese Pfade werden in der Form von Spannungsabfällen durch
Komparator 66 verglichen, um zu bestimmen, ob Ausgangstreiberschaltung 60 (d.h.
der Puffer) die einzige Anordnung ist, die den Bus (d.h. VoutA1)
auf L (Low) zieht. Wenn Transistor Q4 ON ist, ist der Drainstrom
von Q4 die Summe der Ströme
durch die zwei Pfade. Pfad 1 ist ein niederohmiger Pfad, der Widerstände R1a
und R1b enthält.
Pfad 2 ist ein hochohmiger Pfad, der Widerstände R2a und R2b enthält. In einem
speziellen Beispiel haben R1a und R1b jeder den Wert von 20 Ohm
und R2a und R2b haben jeder einen Wert von 10 kOhm. Die Widerstände in Pfad
2 müssen
im Wert nicht gleich sein, um einen festen Spannungsoffset für Komparator 66 zu
erzeugen. Auf diese Weise ist, wenn Ausgangstreibertransistor Q4
ON ist und Ausgangstreiberschaltung 60 (d.h. der Puffer)
die einzige Anordnung ist, die den Bus auf L (Low) treibt, der Strom
durch R1a gleich dem Strom durch R1b und an R1a wird ein Spannungspegel
VsamA1 gesetzt. Da der Strom durch R2a immer dem Strom durch R2b gleicht,
können
diese zwei Widerstände
so skaliert werden, dass die Spannung VsamA1 an R2a kleiner als
die Spannung VoutA1 an R1a ist. Wenn also Knoten gt4 auf H (High)
geht, geht der Ausgang des Komparators 66 auf H (High)
und zeigt an, dass Ausgangstreiberschaltung 60 (d.h. der
Puffer) die einzige Ausgangsanordnung ist, die den Bus treibt.
-
Wenn
eine andere Anordnung 80 auch den Bus auf L (Low) treibt,
wie in 5 gezeigt, ist der Strom durch R1b größer als
der Strom durch R1a. Dies veranlasst den Spannungspegel VsamA1 an R1a
unter den an R2a gesetzten Pegel VoutA1 zu fallen, was von Komparator 66 detektiert
werden kann, wie in 5 gezeigt. Diese Änderung
in der Spannung an R1a aufgrund des Stromteilens an dem Bus wird
verwendet, um zu bestimmen, ob Ausgangstreiberschaltung 60 (d.h.
der Puffer) die einzige Anordnung ist, die den Bus treibt. Wenn
also, in 5, Knoten gt4 auf H (High) geht,
während
Knoten gt5 immer noch L (Low) ist, zeigt dies an, dass Ausgangstreiberschaltung 60 (und
so der Puffer) die einzige Anordnung ist, die den Bus auf L (Low)
treibt, und der Ausgang des Komparators 66 ist H (High).
Wenn beide Knoten gt4 und gt5 auf H (High) gehen, zeigt dies an,
das es eine zusätzliche
Anordnung 80 gibt, die den Bus auf L (Low) treibt, und
der Ausgang von Komparator geht auf L (Low).
-
Obwohl
die Erfindung in Verbindung mit speziellen Ausführungsformen beschrieben worden
ist, wird es deutlich sein, dass angesichts der vorhergehenden Beschreibung
viele Alternativen, Modifikationen und Variationen für den Fachmann
möglich
sind. Dementsprechend ist es beabsichtigt, alle solche Alternativen,
Modifikationen und Variationen als mit in den Schutzumfang der Erfindung
fallend zu umfassen.