-
SACHGEBIET
DER ERFINDUNG
-
Die vorliegende Erfindung betrifft
digitale Daten-Bus-Systeme.
-
HINTERGRUND
-
Systeme wie elektronische Verbraucher-Systeme
enthalten üblicherweise
mehrere Vorrichtungen wie integrierte Schaltungen, die miteinander
unter Verwendung von einem Daten-Bus zur Übertragung von Informationen
zwischen den Vorrichtungen verbunden sind. Ein Beispiel dieses System-Typs
ist ein Fernsehempfänger,
der einen seriellen I2C-Daten-Bus zur Übermittlung
von Abstimmdaten von einem Steuer-Mikroprozessor zu einem Tuner enthält, um den
Tuner zu veranlassen, einen bestimmten Kanal abzustimmen. Ein I2C-Daten-Bus
ist ein bekannter serieller Daten-Bus, der zwei Bus-Leitungen umfasst,
eine mit SCL bezeichnete Taktleitung und eine mit SDA bezeichnete
serielle Datenleitung, die Informationen zwischen mit dem Bus verbundenen
Vorrichtungen übermittelt.
Jeder Vorrichtung ist eine eindeutige Adresse zugeordnet, die es erlaubt,
auf dem Bus Kommunikationen einer bestimmten Vorrichtung zuzuführen. Jede
Vorrichtung kann Daten senden, Daten empfangen oder beides, wie
es die Funktion der Vorrichtung erfordert. Zusätzlich zu dem Senden und Empfangen
von Daten kann jede Vorrichtung auch als Master oder Slave funktionieren,
wenn Daten-Transfers ausgeführt
werden. Ein Master ist eine Vorrichtung, die einen Daten-Transfer
auf dem Bus auslöst
und die Taktsignale erzeugt, um den Transfer zu erlauben. In diesem
Fall wird jede adressierte Vorrichtung als Slave betrachtet.
-
Der I2C-Bus
ist ein Multi-Master-Bus, d. h. dass mehr als eine Vorrichtung den
Bus steuern kann. Master sind üblicherweise
Steuervorrichtungen wie Mikroprozessoren, Mikrocomputer oder Mikrosteuereinheiten
(hier auch als „Steuereinheiten" bezeichnet). Die
Möglichkeit,
mehr als eine Mikrosteuereinheit mit den Busmitteln zu verbinden,
bedeutet, dass mehr als ein Master versuchen kann, einen Datentransfer
zur selben Zeit auf dem Bus auszulösen. Ein als Arbitrierung bekanntes
Verfahren begünstigt die
Lösung
eines solchen Ereignisses. Das Arbitrierungsverfahren beruht auf
der verdrahteten UND-Verbindung aller I2C-Schnittstellen zu
dem Bus. Sollten zwei oder mehr Master versuchen, Informationen
auf dem Bus zu platzieren, verliert der erste, der eine logische
Eins erzeugen soll, während
der andere eine logische Null erzeugt, das Arbitrierungsverfahren.
Die Taktsignale sind während
des Arbitrierungsverfahrens eine synchronisierte Kombination der
Takte, die von den Masters unter Verwendung der verdrahteten UND-Verbindung mit der
SCL-Leitung erzeugt werden. Die Spezifikation für das I2C-Bus-Protokoll
spezifiziert, dass die Ausgangsstufen von Vorrichtungen, die mit
dem Bus verbunden sind, einen offenen Drain oder einen offenen Kollektor
haben müssen,
um die verdrahtete UND-Funktion auszuführen. Demzufolge wird ein Pull-up
der Bus-Leitungen üblicherweise
durch Pull-up-Widerstände
ausgeführt,
die zwischen den Bus-Leitungen und
der Versorgungs-Spannungsquelle angeordnet sind.
-
Die Erzeugung von Taktsignalen auf
dem I2C-Bus ist immer die Verantwortlichkeit
der Master-Vorrichtungen. Jeder Master erzeugt sein eigenes Taktsignal,
wenn Daten auf dem Bus übertragen
werden. Daten sind nur während
der logisch hohen Periode des Takts gültig. Bus-Taktsignale von einem Master
können
nur durch einen anderen Master geändert werden, wenn ein Arbitrierungsverfahren
auftritt, oder wenn die Taktsignale durch eine langsame Slave-Vorrichtung
gestreckt werden, die die Taktleitung niedrig hält. Z. B. muss jedem Informations-Byte,
das auf die SDA-Leitung gebracht wird (d. h. 8 Informations-Bits),
ein Bestätigungs-Bit
folgen. Ein auf die Bestätigung
bezogener Taktimpuls wird von dem Master erzeugt. Während des
Bestätigungs-Taktimpulses
gibt der Sender die SDA-Leitung frei, und der Empfänger muss
die SDA-Leitung herunterziehen (pull-down). Eine Empfangs-Vorrichtung kann
den Empfang eines anderen Daten-Bytes
verzögern,
zum Beispiel bis sie eine andere Fuktion ausgeführt hat, wie die Versorgung
einer Unterbrechung, indem die SCL-Taktleitung niedrig gehalten
wird, was die Sendevorrichtung in einen Wartezustand zwingt. US-Patent
4,689,740, ausgegeben für
Adrianus P. M. M. Moelands und Herman Schutte beschreibt die Operation
von dem I2C-Bus und dem Protokoll in Einzelheiten.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die Erfindung beinhaltet zum Teil
die Erkenntnis, dass zwar die relative Einfachheit und Verfügbarkeit
von zahlreichen kompatiblen Vorrichtungen ein Bus-Protokoll wie
I2C erwünscht
machen, die Form des dem Bus-Protokoll zugeordneten Bus-Treibers
für bestimmte
Anordnungen jedoch nicht angemessen sein kann. Zum Beispiel benutzen
Bus-Treiber, die mit einem I2C-Bus-System
verwendet werden, üblicherweise
eine offene Kollektor-(oder Drain)-Vorrichtung mit einem Pull-up-Widerstand,
der zwischen der Bus-Leitung und einer Bezugs-Spannungsquelle angeordnet
ist. Die kapazitive Belastung einer Bus-Leitung in Verbindung mit
dem Widerstandswert eines Pull-up-Widerstands kann beträchtlich
die Geschwindigkeit verschlechtern, mit der eine Bus-Leitung hochgezogen
(pulled-up) werden kann. Ferner nimmt die kapazitive Last mit der
Zahl der mit dem Bus verbundenen Vorrichtungen zu. Dies kann zu
einem Problem bei Anwendungen führen,
die eine hohe Geschwindigkeit erfordern und hohe kapazitive Lasten
einschließt,
wie während
der Fertigungsprüfung
einer Vorrichtung, die eine Bus-Ansteuer-Fähigkeit aufweist. Es sei bemerkt,
dass der hier verwendete Ausdruck „Vorrichtung" integrierte Schaltungen und
Vorrichtungen wie Fernsehempfänger
einschließt.
Ferner hat der Master zahlreiche andere Aufgaben neben der Kommunikation
mit den Slave-Vorrichtungen auszuführen. Daher besteht ein Bedarf
für eine
Bus-Treibervorrichtung, die zur Ansteuerung von Bussen wie eines
I2C-Busses mit großen Lasten bei hoher Geschwindigkeit
geeignet ist, um die Kommunikation zwischen Masterund Slave-Vorrichtungen
so schnell wie möglich
auszuführen.
-
Außerdem hat der Erfinder erkannt,
dass die Verwendung einer modifizierten Form eines Bus-Treibers,
der große
Lasten mit hohen Geschwindigkeiten ansteuern kann, inkompatibel
mit vorhandenen Bus-kompatiblen Vorrichtungen sein kann. Insbesondere
sind vorhandene I2C-kompatible Vorrichtungen
für eine
stromziehende Fähigkeit
ausgelegt, die nur ausreicht, eine Bus-Leitung herunterzuziehen,
die durch einen Pull-up-Widerstand hochgehalten wird (z. B. während eines
Bestätigungs-Intervalls
oder um einen Wartezustand zu verursachen). Eine solche stromziehende
Fähigkeit
kann unangemessen sein, um eine Bus-Leitung herunterzuziehen, die
von einer Treiberschaltung mit hoher Geschwindigkeit angesteuert
wird.
-
Der Erfinder hat auch erkannt, dass
es zwar erwünscht
sein kann, Daten mit hohen Datenraten über einen Stark be lasteten
Bus zu übertragen,
aber wenn man dies tut, unerwünschte
Rauscheffekte erzeugt werden können.
Die Ansteuerung von Daten über
einen Daten-Bus mit hohen Datenraten beinhaltet die Verwendung von
schnellen Signalflanken, die hochfrequente harmonische Komponenten
haben. In einem Fernsehsystem können
diese hochfrequenten Harmonischen z. B. Rauschen in den Videosignal-Verarbei-tungskanal
einführen
und unerwünschte Rauscheffekte
in einem angezeigten Videobild erzeugen.
-
Diese und andere Aufgaben werden
durch die in den unabhängigen
Ansprüchen
1 und 9 offenbarten Lehren gelöst.
-
Die Erfindung besteht auch zum Teil
in der Schaffung einer Vorrichtung zur Zuführung von Daten zu einem Daten-Bus, die die oben
beschriebenen Probleme löst.
Genauer gesagt umfasst die gemäß einem
Aspekt der Erfindung aufgebaute Vorrichtung einen Daten-Bus, eine
passive Pull-up-Vorrichtung zur Änderung
eines Signals auf dem Daten-Bus zwischen einem ersten und einem
zweiten Zustand mit einer ersten Rate während einer ersten Betriebsart, und
eine aktive Gegentakt-Vorrichtung, die während einer zweiten Betriebsart
wirksam gemacht wird, um das Signal zwischen dem ersten und dem
zweiten Zustand mit einer zweiten Rate zu ändern, die sich von der ersten
Rate unterscheidet. Die zweite Betriebsart kann einen bestimmten
Zustand des Busses entsprechen, z. B. einem Bestätigungszustand oder einem Daten-Lesezustand.
-
Von einer Vorrichtung erzeugte Informationen
werden einem I2C-Daten-Bus über eine
Gegentakt-Vorrichtung zugeführt.
Während
der ersten Betriebsart führt
die Gegentakt-Vorrichtung
dem I2C-Daten-Bus Informationen mit einer
ers ten Rate zu. Während
der zweiten Betriebsart führt
die Gegentakt-Vorrichtung dem I2C-Daten-Bus
Informationen mit einer zweiten Rate zu.
-
Gemäß einem weiteren Aspekt der
Erfindung umfasst die Vorrichtung eine Kopplungs-Vorrichtung zum
Zuführen
von Daten zu einem Daten-Bus, und einen Timing-Signalgenerator zum
Erzeugen eines Timing-Signals, das den ersten und zweiten Teil eines
Fernsehsignals anzeigt. Die Kopplungs-Vorrichtung wird von einer Steuer-Vorrichtung als
Reaktion auf das Timing-Signal so gesteuert, dass die Kopplungs-Vorrichtung dem Daten-Bus
Daten mit einer ersten Rate während
des ersten Teils des Fernsehsignals zuführt und dem Daten-Bus Daten
mit einer zweiten Rate während
des zweiten Teils des Fernsehsignals zuführt.
-
Der erste Teil des Fernsehsignals
kann ein aktives Video-Intervall umfassen, während der zweite Teil des Fernsehsignals
ein Austrast-Intervall umfassen kann. Die erste Rate, mit der die
Daten dem Daten-Bus zugeführt
werden, kann geringer als die zweite Rate sein, mit der die Daten
dem Bus zugeführt
werden. Eine in der Kopplungs-Vorrichtung enthaltene Gegentakt-Vorrichtung
kann während
des ersten Teils des Fernsehsignals unwirksam gemacht werden und
wirksam für
die Ansteuerung von Daten auf dem Daten-Bus mit der zweiten Rate
während des
zweiten Teils des Fernsehsignals.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die Zeichnungen dienen dem besseren
Verständnis
der Erfindung. In den Zeichnungen stellen dar:
-
1 in
Form eines schematischen Diagramms eine Anordnung von Master- und
Slave-Vorrichtungen,
die über
einen Daten-Bus
kommunizieren;
-
2A–2D Timing-Diagramme, die
die Arbeitsweise des in 1 dargestellten
Systems veranschaulichen;
-
3 in
Form eines schematischen Diagramms eine Ausführungsform eines Daten-Bus-Kommunikations-Systems
zum Übertragen von
Daten zwischen Master- und Slave-Vorrichtungen
gemäß der vorliegenden
Erfindung;
-
4 in
Form eines schematischen Diagramms eine Ausführungsform eines Teils des
in 3 dargestellten Systems;
und
-
5A–5D Timing-Diagramme, die
die Arbeitsweise des in 3 dargestellten
Systems veranschaulichen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In einem konventionellen Daten-Bus-System,
z. B. dem in 1 gezeigten
I2C-Bus-System, ist eine Master-Vorrichtung 2 mit
einer Slave-Vorrichtung 4 (mit Slave #1 bezeichnet) durch
den I2C-Bus 6 verbunden. Gemäß I2C-Konventionen
werden Bezeichnungen SDA und SCL verwendet, um die serielle Datenleitung
bzw. die Taktleitung in I2C-Bus-Ausführungen
zu kennzeichnen, die hier beschrieben und in den Zeichnungen dargestellt
sind. Die Master-Vorrichtung 2 umfasst einen Treiber zum
Ansteuern jeder Bus-Leitung. Genauer gesagt werden die Bus-Leitungen
SCL und SDA in 1 durch
mit ihnen verbundene bipolare NPN-Transistoren 8 bzw. 10 angesteuert.
-
Die Basis jedes Transistors 8 und 10 ist
mit einem Ausgang eines entsprechenden Inverters 11, 12 verbunden.
Ein entsprechendes Ansteuer-Signal SCL DRIVE und SDA DRIVE, ist
mit dem Eingang eines entsprechenden Inverters 11, 12 verbunden. Wenn
SCL DRIVE oder SDA DRIVE Signale auf einem logisch hohen Pegel sind,
schalten die entsprechenden NPN-Transistoren 8 oder 10 nicht
ein und bewirken, dass die Leitungen SCL und SDA über Pull-up-Widerstände RC bzw. RD auf einen
hohen Pegel gezogen werden, z. B. 5 Volt in 1. Wenn die SCL DRIVE- oder SDA DRIVE-
Signale nicht auf einem logisch niedrigen Pegel sind, schalten die
entsprechenden NPN-Transistoren 8 oder 10 ein,
um ihre entsprechenden Bus-Leitungen auf einen niedrigen Pegel herunterzuziehen,
z. B. Schaltungsmasse in 1.
Die Slave-Vorrichtung 4 enthält eine Pull-down-Vorrichtung,
die in 1 als bipolarer NPN-Transistor 13 ausgeführt ist,
dessen Basis-Anschluss mit dem Ausgang eines Inverters 14 verbunden
ist. Der Transistor 13 zieht bei Empfang eines logisch
hohen Signals an seiner Basis die SDA-Leitung herunter. Der Eingang
des Inverters 14 empfängt
das Signal „Lese
Daten". Das Herunterziehen
der SDA-Leitung durch den Transistor 13 erfolgt, wenn Daten
aus der Slave-Vorrichtung 4 ausgelesen werden, z. B. der „Lese Daten"-Eingang wird zwischen hoch
und niedrig umgeschaltet. Von der Slave-Vorrichtung 4 von den SCL-
und SDA-Bus-Leitungen empfangene Daten werden der Empfänger-Logik
zugeführt,
die die Daten verarbeitet.
-
Der Pull-up-Widerstand der SCL-Leitung
ist mit RC bezeichnet, und der Pull-up-Widerstand
der SDA-Leitung ist mit RD bezeichnet. Wie
dargestellt, ist jeder Pull-up-Widerstand
mit einem Ende an eine Versorgungsspannung, zum Beispiel 5 Volt,
und an einen entsprechenden Kondensator CC bzw.
CD angeschlossen, die die äquivalenten
Gesamt-Kapazitäten einer
entsprechenden Bus-Leitung darstellen. Die SDA- und SCL-Bus-Leitungen
sind auch mit anderen Slave-Vorrichtungen
verbunden, wie in 1 dargestellt
ist. Die SDA-Leitung ist bi-direktional, während die SCL-Leitung nur ein
Ausgang von der Master-Vorrichtung ist, die das Taktsignal erzeugt,
d. h. die Vorrichtung 2 in 1.
-
2A–2D veranschaulichen relative
Timing-Diagramme des SCL DRIVE-Signals, des in der SCL-Leitung vorhandenen
Signals, des SDA DRIVE-Signals und des in der SDA-Leitung vorhandenen Signals.
Die SCL DRIVE- und SDA DRIVE-Signale sind die Ansteuer-Signale,
die mit der SCL- bzw. SDA-Bus-Leitung
durch eine Kopplungs-Vorrichtung verbunden sind, wie zum Beispiel
den Bus-Treiber-Vorrichtungen 8, 11 und 10, 12 in 1. Eine 9-Bit-Übertragung,
die ein Bestätigungs-Bit
enthält, ist
in 2A bis 2D durch die Wellenformen
für die Signale
SCL DRIVE, SCL, SDA DRIVE und SDA veranschaulicht. Ein fest ausgezogener
Teil der Wellenform für
das Signal SCL ist mit „niedrige
CC" bezeichnet
und zeigt die Signal-Wellenform in der SCL-Leitung, die von der
niedrigen kapazitiven Last in der SCL-Leitung herrührt. Der
gestrichelte Teil der SCL-Wellenform, der mit „hohe CC" bezeichnet ist, gibt
die Signal-Wellenform in der SCL-Leitung an, die von einer hohen
kapazitiven Last in der SCL-Leitung herrührt. In gleicher Weise ist
eine mit niedriger Kapazität
belastete SDA-Leitung dargestellt (der fest ausgezogene Leitungsteil
der SDA-Wellenform ist mit „niedrige
CD" bezeichnet)
und eine mit hoher Kapazität
belastete SDA-Leitung
(der gestrichelte Leitungsteil der SDA-Wellenform ist mit „hohe CD" bezeichnet).
Der Daten-Zustand (logische 0 und 1) während des Bestätigungs-Intervalls
(gekennzeichnet durch die Erzeugung des Bestätigungs-Taktimpulses durch
den Master, Freigabe der SDA-Leitung durch den Sender und Herunterziehen
der SDA-Leitung durch den Empfänger
während
des Bestätigungs-Taktimpulses)
ist auch in 2A–2D veranschaulicht.
-
3 veranschaulicht
die Vorrichtung zur Ansteuerung von einem Daten-Bus gemäß den Prinzipien
der vorliegenden Erfindung. Um Vorsorge für höhere Daten-Raten auf stark
belasteten Bus-Leitungen zu treffen, z. B. um Fertigungs-Prüfung mit
hoher Geschwindigkeit zu ermöglichen,
veranschaulicht 3 ein
System zur Verminderung von langsamen Anstiegszeiten, die einer
hohen kapazitiven Belastung auf einer Bus-Leitung zugeordnet sind.
Insbesondere enthält
der Bus-Treiber innerhalb der Master-Vorrichtung 2 Puffer-Vorrichtungen 15 und 16,
die ein aktives Heraufziehen und Herunterziehen der Bus-Leitungen
vorsehen. Genauer gesagt steuern Drei-Zustands-Puffer 15 und 16 entsprechende Bus-Leitungen SCL und
SDA im Hochgeschwindigkeit-Betrieb an, der als Gegentakt-Betrieb
bezeichnet werden soll. Die Arbeitsweise von dem Bus in der konventionellen
Weise (z. B. bei einem Betrieb mit niedriger Geschwindigkeit über die
passiven Pull-up-Widerstände)
ist noch möglich.
Im Gegentakt-Betrieb sind jedoch die Drei-Zustands-Puffer 15 und 16 immer
in einem aktiven Zustand, und die Bus-Leitungen werden auf einen
logisch hohen Pegel viel schneller im Vergleich mit dem konventionellen
Betrieb durch die verhält nismäßig großen Quellenströme angesteuert,
die von den Drei-Zustands-Puffern zugeführt werden.
-
Drei-Zustands-Puffer wie die Puffer 15 und 16 in 3 können, wie in 4 dargestellt ist, ausgeführt werden.
Obwohl 4 eine Ausführungsform mit
Feldeffekt-Transistoren
zeigt, können
verschiedene Technologien einschließlich bipolaren und Feldeffekt-Transistoren
verwendet werden, um die gezeigten Treiber auszuführen. In 4 sind die Drain-Anschlüsse des
PMOS-Transistors 17 und des NMOS-Transistors 18 miteinander
verbunden. Der Source-Anschluss
des Transistors 17 ist mit einer Versorgungs-Spannung, z. B. 5
Volt, verbunden, und der Source-Anschluss des Transistors 18 ist
mit einem Bezugs-Potential, z. B. Masse, verbunden. Der Gate-Anschluss
des Transistors 17 ist mit dem Ausgang eines NAND-Gatters 34 verbunden,
dem als Eingang das Signal INPUT, das die Daten enthält, die auf
den Bus gesteuert werden sollen, und das Signal ENABLE zugeführt wird.
Der Gate-Anschluss des Transistors 18 ist mit dem Ausgang
des NOR-Gatters 32 verbunden, dem als Eingang das Signal
INPUT und eine invertierte Version des Signals ENABLE (invertiert über den
Inverter 30) zugeführt
wird. Wenn das Signal ENABLE hoch ist (auflogischer 1), wird der
Puffer zur Übertragung
von Daten wirksam gemacht. Genauer gesagt verlaufen im wirksamen
Zustand die logischen 0-Werte im Signal INPUT durch das NOR-Gatter 32 und
den Transistor 18 auf den Bus (Signal OUTPUT), während logische
1-Werte im Signal INPUT durch das NAND-Gatter 34 und den Transistor 17 auf
den Bus verlaufen.
-
Rückkehrend
zu 1 wird das Signal
PP MODE (Gegentakt-Betrieb) durch einen Mikroprozessor 27 erzeugt.
Der Mikroprozessor 27 entscheidet, ob er ein Gegentakt- Betriebs-Signal mit
entweder hohem oder niedrigem logischen Pegel erzeugen soll, das
bestimmt, ob der Master 2 im Gegentakt oder –2 im Gegentakt- oder Normal-Betrieb
arbeitet. Das Signal PP MODE wird einem Eingang des NAND-Gatters 22 über den
Inverter 20 zugeführt. Das
Signal SCL DRIVE wird auch durch den Mikroprozessor 27 erzeugt
und dem anderen Eingang des NAND-Gatters 22 zugeführt. Der
Ausgang des NAND-Gatters 22 liefert das ENABLE-Signal für den Drei-Zustands-Puffer 15,
so dass der Puffer 15 immer wirksam ist, wenn das Signal
PP MODE sich auf einem logisch hohen Pegel befindet. Die SCL-Bus-Leitung
wird auf einen logisch hohen Pegel durch die aktive Vorrichtung
in dem Drei-Zustands-Puffer 15 in
Verbindung mit einem logisch hohen SCL DRIVE-Signal heraufgezogen,
während
der Drei-Zustands-Puffer 15 wirksam
ist, was ein erster Zustand ist. Die SCL-Bus-Leitung wird durch den Drei-Zustands-Puffer 15 in
Verbindung mit einem logisch niedrigen SCL DRIVE-Signal auf einen
logisch niedrigen Pegel heruntergezogen, während der Drei-Zustands-Puffer 15 wirksam
ist, was ein zweiter Zustand ist. Der Drei-Zustands-Puffer 15 wird
immer wirksam gemacht, um die SCL-Bus-Leitung anzusteuern und die
Leitung SCL zwischen dem ersten und zweiten Signal-Zustand (hoher
und niedriger logischer Pegel) zu ändern, wenn das Signal PP MODE
auf einem logischen hohen Pegel ist.
-
Um die Gegentakt-Betriebsart zum
Erzielen eines logischen hohen Pegels auf der Bus-Leitung SDA zu
erzielen, muss der Master 2 nicht entweder Daten von dem
adressierten Slave lesen oder einen SCL-Taktimpuls für das von
dem Slave erzeugten Bestätigungs-Bit
erzeugen. Das Signal PP MODE wird auch einem Eingang des NAND-Gatters 23 über den
Inverter 21 zugeführt.
Das Signal SDA DRIVE wird auch durch den Mikroprozessor 27 erzeugt
und dem anderen Eingang des NAND- Gatters 23 zugeführt. Der
Ausgang des NAND-Gatters 23 liefert das Signal zum Wirksammachen
des Drei-Zustands-Puffers 16, so dass der Puffer 16 immer
wirksam ist, wenn das Signal PP MODE auf einem logisch hohen Pegel
ist. Die SDA-Bus-Leitung
wird auf einen logisch hohen Pegel durch die in dem Drei-Zustands-Puffer 16 enthaltene
aktive Vorrichtung in Verbindung mit einem logisch hohen SDA DRIVE-Signal hochgezogen,
während
die SDA-Bus-Leitung auf einen logisch niedrigen Pegel durch den
Drei-Zustands-Puffer 16 in Verbindung mit einem logisch niedrigen
SDA DRIVE-Signal heruntergezogen wird, während der Drei-Zustands-Puffer 16 wirksam
ist.
-
Wenn der Master 2 in einem
Lesezyklus oder in einem Bestätigungs-Intervall
ist, erzeugt der Mikroprozessor 27 ein logisch niedriges
PP MODE-Signal, und die Puffer 15 und 16 werden
unwirksam gemacht, wenn das SCL- bzw. das SDA DRIVE-Signal auf einem
logisch hohen Pegel ist. In diesem Fall arbeiten die SCL- und SDA-Busse
in einer normalen, durch die externen Widerstände RC bzw.
RD hochgezogenen Betriebsart. Während dieser
Zeiten erzeugt der Mikroprozessor 27 ein PP MODE-Signal
mit logisch niedrigem Pegel. Somit ist bei Normal-Betrieb das Signal
PP MODE ein logisch niedriges Steuer-Bit, und die Drei-Zustands-Puffer,
die den I2C-Bus ansteuern, sind in einem
Zustand mit hoher Ausgangsimpedanz während Intervallen, wenn die
SCL DRIVE- und SDA DRIVE-Signale auf einem logisch hohen Pegel sind.
In anderen Worten wird die Gegentakt-Betriebsart abgeschaltet, wenn
SCL DRIVE und SDA DRIVE auf einer logischen „1" sind. Der logisch hohe Pegel auf den
Bus-Leitungen wird durch Pull-up-Widerstände RC und
RD errichtet, wenn das Signal PP MODE eine
logische „0" ist. Dies bedeutet, dass
die passiven Pull-up-Widerstände
die Signale auf den Bus-Leitungen zwischen dem ersten und zweiten
Zustand (logisch niedrige und hohe Pegel) mit einer Rate ändern, die
durch den Wert des Pull-up-Widerstands und die kapazitive Last auf
den Bus-Leitungen bestimmt wird.
-
Die 5A bis 5D veranschaulichen die relativen
Timing-Diagramme von ausgewählten
Signalen auf dem in 3 dargestellten
Bus. Nun folgen die der Gegentakt-Betriebsart zugeordneten Wellenformen
alle der durch die ausgezogene Linie angezeigten Form mit niedriger
kapazitiver Last. Es sei bemerkt, dass der Gegentakt-Betrieb der
Master-Zellenvorrichtung 2 ausgesetzt
werden muss, während der
Master 2 Daten liest, die durch eine Slave-Zelle 4 zugeführt werden.
Dies ist erforderlich, weil im allgemeinen nicht erwartet werden
kann, dass die Slaves auf dem Bus Gegentakt-Bus-Ansteuer-Fähigkeiten haben.
Tatsächlich
sei bemerkt, dass das in 2A bis 2D gezeigte Bestätigungs-Intervall das Ergebnis davon
ist, dass die Slave-Vorrichtung 4 entweder
die SDA-Bus-Leitung freigibt oder niedrig hält. Wenn die Slave-Vorrichtungen
Daten zurücksenden,
muss der Master die SDA-Bus-Leitung freigegeben haben, so dass diese
Bus-Leitung durch einen Slave heruntergezogen werden kann. Ferner
muss der SCL-Bus-Takt während
der Lese-Periode
verlangsamt werden, um die langsame Anstiegszeit des zurückgesendeten
Datensignals auf dem SDA-Bus zu berücksichtigen.
-
Wie in 5A bis 5D gezeigt ist, wird während des
Bestätigungs-Intervalls,
das dem neunten SCL-Taktzyklus entspricht, in dem die adressierte Slave-Vorrichtung
ein Daten-Bit zum Master zurücksendet,
der Master von Gegentakt auf normale Ansteuerung geschaltet wird.
Es ist dargestellt, dass die Takt-Periode willkürlich durch einen Faktor von
2 in dem Bestätigungs-Intervall
erhöht
wird. Die Steuerung der Takt-Periode erfolgt durch Software, die
vom Mikroprozessor 27 ausgeführt wird. Wenn die Slave-Vorrichtung entweder
Lesedaten oder ein Bestätigungs-Bit
(entweder logisch hoch oder logisch niedrig während des neunten Taktimpulses)
zurücksendet,
platziert die Slave-Vorrichtung
Daten auf dem Bus, indem die SDA-Bus-Leitung heruntergezogen wird
oder indem zugelassen wird, dass die SDA-Bus-Leitung durch den Pull-up-Widerstand
heraufgezogen wird. Der Zweck der Erhöhung der Takt-Periode des Impulses
auf der SCL-Bus-Leitung, wenn die Slave-Vorrichtung Daten zurücksendet, dient
zur Anpassung der Tatsache, dass die Slave-Vorrichtung nicht in
der Lage ist, im Gegentakt-Betrieb
zu arbeiten. Eine reine Slave-Vorrichtung (hier als Slave-Vorrichtung
definiert, die keine Möglichkeit
hat, als Master zu agieren) zieht niemals den Bus durch einen Gegentakt-Betrieb
hoch. Es sei jedoch bemerkt, dass es bei einer anderen Ausführungsform
der Erfindung möglich
ist, die Bus-Steuerung
durch Gegentakt-Betrieb unter Verwendung eines als Slave agierenden
Masters auszuführen.
-
Obwohl die Erfindung hier in Einzelheiten
unter Bezugnahme auf ihre bevorzugte Ausführungsform beschrieben wurde,
sei bemerkt, dass diese Beschreibung nur ein Beispiel ist und nicht
in einem begrenzenden Sinn verstanden werden soll. Es soll ferner
verstanden werden, dass verschiedene Änderungen in den Einzelheiten
der Ausführungsformen
der Erfindung und zusätzliche
Ausführungsformen
der Erfindung ersichtlich sind und von Personen mit allgemeinem
Fachwissen unter Bezugnahme auf diese Beschreibung vorgenommen werden
können.
Obwohl im Hinblick auf ein Ausführungsbeispiel
die Einbeziehung von einem Daten-Bus gemäß dem I2C-Protokoll beschrieben
ist, ist die Erfindung bei anderen Daten-Bus-Protokollen anwendbar,
die entweder serielle oder parallele Daten-Übertragung beinhalten. Ein
Beispiel für
ein anderes Daten-Bus-Protokoll, für das die Erfindung nützlich sein
kann, ist das IM-Daten-Bus-Protokoll, das von ITT unterstützt wird.
-
Obwohl konventionelle Slave-Vorrichtungen keinen
Gegentakt-Betrieb enthalten, können
auch reine Slave-Vorrichtungen
von Herstellern in Betrachtung der hier offenbarten Erfindung gebaut
werden, die den Drei-Zustands-Puffer
enthalten, der in gleicher Weise in der oben beschriebenen Master-Vorrichtung
enthalten ist. Obwohl spezifische logische Steuer-Signal-Polaritäten und
Schaltungs-Ausführungen
beschrieben worden sind, sei hervorgehoben, dass der Fachmann Modifikationen
beim Aufbau und der Funktion der Erfindung, wie sie nachfolgend
beansprucht ist, vornehmen kann.