-
Die
Erfindung bezieht sich auf ein elektronisches Gerät mit
- – Stationen,
- – einem
Bus, der die Stationen für
den Austausch einer ein Signalprotokoll erfüllenden Nachricht miteinander
verbindet, wobei die Nachricht aufeinander folgend zeitlich verschachtelt
ein Kopfteilsignal, ein Inhaltssignal und ein den Abschluss der
Nachricht anzeigendes Signal beinhaltet, und der Bus einen ersten
und zweiten Abschnitt umfasst; und
- – einer
Brückenstation,
die den ersten und zweiten Abschnitt miteinander verbindet.
-
Die
Erfindung bezieht sich ferner auf eine Brückenstation für die Verwendung
in einem derartigen elektronischen Gerät.
-
Ein
derartiges elektronisches Gerät
ist von dem im „Data
Handbook IC20: 80C51-based 8-bit microcontrollers", herausgegeben von
Philips Semiconductors im Jahre 1994, Seiten 1141–1159, beschriebenen,
im Handel erhältlichen
I2C-Bussystem her bekannt.
-
Das
I2C-Bussystem verwendet zwei Signalleiter: einen Taktsignalleiter
(SCL), der ein Taktsignal überträgt, und
einen Datensignalleiter (SDA), der ein Datensignal überträgt. Der
Bus kann aus einem Abschnitt mit einem Taktsignalleiter und einem
Datensignalleiter bestehen, oder aus verschiedenen Abschnitten,
die jeweils ihren eigenen Taktsignalleiter und Datensignalleiter
haben, wobei die Abschnitte durch Brückenschaltungen miteinander
verbunden sind, die das Taktsignal und das Datensignal zwischen
den Abschnitten weiterleiten. Die bekannten Brückenstationen dienen hauptsächlich dazu,
die maximale Länge
des I2C-Busses auszudehnen.
-
Für die Nachrichtenübertragung über den
I2C-Bus müssen
die Stationen an verschiedenen Vorgängen gemäß einem Signalprotokoll teilnehmen.
Wenn eine Station eine Nachrichtenübertragung einleiten möchte, muss
sie zunächst
feststellen, ob der Bus frei ist, was gemäß dem Signalprotokoll der Fall
ist, wenn keine andere Nachrichtenübertragung gestartet wurde
oder wenn alle zuvor gestarteten Nachrichtenübertragungen durch so genannte „Stoppbedingungen" beendet wurden,
was einen Logikpegelübergang
im Datensignal einbezieht, wenn das Taktsignal einen Pegel hat,
der gültige
Daten anzeigt. Wenn der Bus frei ist, kann eine Station mit der Übertragung
beginnen. In diesem Fall müssen
alle anderen Stationen den Bus auf die Übertragung so genannter „Startbedingungen" (wozu ebenfalls
ein Logikpegelübergang
im Datensignal gehört,
wenn das Taktsignal einen Pegel hat, der gültige Daten anzeigt) und einer
Adresse überwachen,
die an vorgegebenen Positionen im Anschluss an eine derartige Startbedingung übertragen
wird, um festzustellen, ob sie aufgefordert werden, an der Nachrichtenübertragung
teilzunehmen.
-
Dadurch
wird einer Übertragung über den
I2C-Bus eine Geschwindigkeitsbegrenzung auferlegt. Wenn die Übertragungsgeschwindigkeit
so hoch wäre,
dass eine Station zu langsam wäre,
um die Übertragung überwachen
zu können,
könnten
sich Fehler ergeben, weil eine derartige Station eine Start- oder
Stoppbedingung verpassen oder irrtümlicherweise eine Start- oder
Stoppbedingung feststellen könnte
und veranlasst würde, eine Übertragung
zu versuchen oder eine Übertragung
irrtümlicherweise
zu unterlassen.
-
Es
sind zahlreiche integrierte Schaltungen erhältlich, die bis zu einer bestimmten
Geschwindigkeit wie an einen I2C-Bus angeschlossene Stationen funktionieren
können.
Im Prinzip ist es möglich,
zusätzliche
integrierte Schaltungen zu konstruieren, die Nachrichten mit einer
höheren
Geschwindigkeit als diese integrierten Schaltungen übertragen
können,
wobei die höhere
Geschwindigkeit derartiger zusätzlicher
Schaltungen jedoch nicht genutzt werden kann, wenn sie mit den bestehenden
integrierten Schaltungen auf einem herkömmlichen I2C-Bus kombiniert
werden. Das liegt daran, dass sich während einer Hochgeschwindigkeitsübertragung
aufgrund verpasster oder falscher Start- und Stoppbedingungen Fehler
in einer langsamen Station ergeben können, selbst wenn die eigentlich
an der Übertragung
einer bestimmten Nachricht teilnehmenden Stationen in der Lage wären, die
betreffende Nachricht mit der höheren
Geschwindigkeit zu übertragen.
-
Die
Erfindung hat zur Aufgabe, die Geschwindigkeit, mit der eine Nachrichtenübertragung
in einem Kommunikationsbusübertragungssystem
gemäß dem Vorwort
stattfinden kann, zu erhöhen,
ohne dabei Fehler zu verursachen.
-
Das
elektronische Gerät
gemäß der vorliegenden
Erfindung ist dadurch gekennzeichnet, dass mindestens eine der Stationen
dafür eingerichtet
ist, das Inhaltssignal mit einer relativ höheren Taktgeschwindigkeit als
das Kopfteilsignal zu übertragen,
nachdem mit Hilfe des Kopfteilsignals auf die Übertragung mit einer solchen
relativ höheren
Taktgeschwindigkeit hingewiesen wurde, wobei die mindestens eine
Station und eine Teil gruppe der Stationen, die die Nachricht mit
dem Inhaltssignal mit einer relativ höheren Geschwindigkeit empfangen
können, über den
ersten Abschnitt mit dem Bus verbunden sind, die Brückenstation
dafür eingerichtet
ist, das Kopfteilsignal zwischen dem ersten und zweiten Abschnitt
weiterzuleiten, ein Ersatzsignal unabhängig vom Inhaltssignal für das Inhaltssignal
im zweiten Busabschnitt in Reaktion auf die Feststellung des genannten
Hinweises zu ersetzen und weiterhin Signale zwischen dem ersten
und zweiten Abschnitt in Reaktion auf das Signal weiterzuleiten,
das eine Beendigung der Nachricht anzeigt, wobei das Kopfteilsignal,
das Ersatzsignal und die nach der Wiederaufnahme weitergeleiteten
Signale zusammen das Signalprotokoll mit einer relativ geringeren
Taktgeschwindigkeit als die relativ höhere Taktgeschwindigkeit erfüllen. Ein
derartiges elektronisches Gerät
kann sowohl langsame („low-speed") als auch schnelle
(„high-speed") Stationen enthalten,
d.h. Stationen, die bei einer gewissen (höheren) Geschwindigkeit entsprechend
fehleranfällig
und fehlerfrei sind. Alle „low-speed"-Stationen empfangen
das Taktsignal vom zweiten Busabschnitt.
-
Jegliche
Signale, die für
alle Stationen zwecks Handhabung des Signalprotokolls relevant sind,
werden von der Brückenstation
weitergeleitet und erreichen alle Stationen, wobei jedoch das Inhaltssignal,
das die höhere
Geschwindigkeit betrifft, von der Brückenstation auf den ersten
Taktsignalleiter beschränkt
wird. Während
des Zeitintervalls, in dem diese Hochgeschwindigkeitsübertragung
des Inhaltssignals auftreten kann, präsentiert die Brückenstation
den langsamen Stationen ein Ersatzsignal, das keine Hochgeschwindigkeitsübertragung
betrifft, indem beispielsweise das Taktsignal des zweiten Abschnitts
inaktiv gehalten wird, um den Anschein eines ruhigen Busses vorzugeben.
Dadurch werden die langsamen Stationen nicht dazu veranlasst, aufgrund
einer Hochgeschwindigkeitsnachrichtenübertragung Fehler zu begehen.
-
Das
erfindungsgemäße elektronische
Gerät hat
eine Ausführungsform,
bei der die Stationen dafür
eingerichtet sind, den Kopfteil für die Entscheidung über Buszugriffsrechte
zu benutzen. Für
den Entscheidungsvorgang kann beispielsweise das standardmäßige I2C-Entscheidungsprotokoll
benutzt werden. Dadurch können
alle Stationen, sowohl diejenigen, die Signale vom ersten Abschnitt
empfangen, als auch diejenigen, die Signale vom zweiten Abschnitt
empfangen, an der Entscheidung teilnehmen, um das Recht zu erhalten,
die Nachrichtenübertragung über den
Bus zu steuern. Im Falle des mindestens einen der Stationssignale,
das mit der höheren
Geschwindigkeit übertragen
werden soll, wird nach dem Kopfteil klar, ob diese Station die Entscheidung
gewonnen hat. Anschlie ßend
bleiben alle Stationen, auch die mit dem zweiten Abschnitt verbundenen,
passiv und unternehmen während
des Ersatzsignals nichts. Dadurch kann ein einfaches, beide Abschnitte
des Busses abdeckendes Gesamtentscheidungsprotokoll verwendet werden,
das gleichzeitig dazu dient, der Brückenstation mitzuteilen, ob
die beiden Abschnitte des Busses während der Übertragung des Inhaltssignals
voneinander isoliert werden sollten.
-
Das
erfindungsgemäße elektronische
Gerät hat
eine weitere Ausführungsform,
bei der die Stationen dafür
eingerichtet sind, zumindest während
des Kopfteilsignals gemeinsam als eine verdrahtete Logikfunktion Signale
auf dem Bus zu erzeugen, wobei die Brückenstation während der Übertragung
des Kopfteilsignals nach der Wideraufnahme ein im ersten Busabschnitt
ermitteltes Resultat der verdrahteten Logik an den zweiten Busabschnitt
weitergibt und umgekehrt, und wobei die Brückenstation Ansteuerungssignale
der verdrahteten Logik für
den zweiten Abschnitt erzeugt, um das Ersatzsignal im zweiten Abschnitt
anzusteuern. Die Benutzung einer verdrahteten Logik ermöglicht es,
die Busverdrahtung zu minimieren und zentralisierte Bussteuerungsschaltungen
zu beseitigen. Durch Benutzung der Brückenstation kann während der
gesamten Nachrichtenübertragung
im zweiten Busabschnitt eine verdrahtete Logik benutzt werden.
-
Das
erfindungsgemäße elektronische
Gerät hat
eine weitere Ausführungsform,
bei der der erste Abschnitt einen ersten und zweiten Signalleiter
und der zweite Abschnitt einen dritten und vierten Signalleiter
umfasst, wobei es das Signalprotokoll erfordert, dass der Abschluss
der Nachricht durch einen Logikübergang
eines Potenzials des ersten und dritten Signalleiters von einem
ersten auf einen zweiten Pegel angezeigt wird, wobei die Potenziale
des zweiten und vierten Signalleiters einen festgelegten Logikpegel
haben, wobei die Brückenstation
den dritten und vierten Signalleiter auf dem ersten Pegel und den
festgelegten Logikpegel während
der Übertragung
des Inhaltssignals entsprechend im ersten Abschnitt hält, wobei
die Brückenstation
in Reaktion auf das Detektieren des Logikübergangs eines Potenzials des
ersten Signalleiters vom ersten auf den zweiten Pegel das Potenzial
des dritten Signalleiters vom ersten Pegel auf den zweiten Pegel
bringt, wobei sich das Potenzial des zweiten Signalleiters auf dem
festgelegten Logikpegel befindet. Das den Abschluss der Nachricht
anzeigende Signal ist beispielsweise eine Stoppbedingung wie beim
I2C-Bus, die einen Niedrig-zu-Hoch-Übergang des Datensignalleiters
SDA zu einem Zeitpunkt umfasst, an dem der Taktsignalleiter SCL
gültige
Daten anzeigt. Erfindungsgemäß kann das
den Abschluss der Nachricht anzeigende Signal an den zweiten Abschnitt
weitergegeben werden, indem lediglich die Logikpegel, die auf das
den Abschluss der Nachricht anzeigende Signal im ersten Abschnitt
folgen, an den zweiten Abschnitt weitergeleitet werden. Der zweite
Abschnitt muss sich nach dem Ersatzsignal und vor einer derartigen
Weiterleitung keinem weiteren Übergang
unterziehen und kann daher sehr schnell die Kommunikation mit dem
ersten Abschnitt beginnen.
-
Das
erfindungsgemäße elektronische
Gerät hat
eine weitere Ausführungsform,
bei der das Potenzial von mindestens einem, dem dritten oder dem
vierten, Signalleiter durch eine verdrahtete Logikfunktion aufgebaut
wird, die während
der Übertragung
des Ersatzsignals durch eine weitere Teilgruppe der Stationen beeinflussbar
ist, wobei die Brückenstation
das Potenzial von mindestens einem, dem dritten oder dem vierten,
Signalleiter überwacht,
und wobei die Brückenstation
die Weiterleitung der Signale zwischen dem ersten und dem zweiten
Abschnitt in Reaktion auf das Detektieren eines Übergangs im genannten Potenzial
von dem mindestens einen, dem dritten oder dem vierten, Signalleiter
fortsetzt. Im Falle einer Busblockade kann eine mit dem zweiten
Abschnitt verbundene Station die Brückenstation daher veranlassen,
die Verbindung zum ersten Abschnitt erneut zu öffnen. Eine derartige Station
kann dies beispielweise tun, wenn bis zum Ende eines Zeitüberwachungsintervalls
außer
dem Ersatzsignal nichts weiter empfangen wurde. Nachdem die Signalweiterleitung
fortgesetzt wurde, kann die Station beispielsweise ein Zurücksetzen
anderer Stationen im Buskommunikationssystem veranlassen.
-
Das
erfindungsgemäße elektronische
Gerät hat
eine weitere Ausführungsform,
bei der die mindestens eine der Stationen eine verdrahtete Logiksteuerschaltung
und eine Gegentaktsteuerschaltung zur Steuerung des ersten Busabschnitts
umfasst, wobei die mindestens eine der Stationen den ersten Abschnitt
mit Hilfe der verdrahteten Logiksteuerschaltung während der Übertragung
des Kopfteilsignals und nach Übertragung
des Signals ansteuert, mit dem der Abschluss der Nachricht angezeigt
wird, und wobei die mindestens eine der Stationen den ersten Abschnitt
mit Hilfe der Gegentaktsteuerschaltung während der Übertragung des Inhaltssignals
ansteuert. Mit Gegentaktbetrieb ist hier jeder Betrieb gemeint,
bei dem ein entsprechendes Element, das Strom liefern kann, aktiv
eingeschaltet wird, um jeden von zwei jeweils entgegengesetzten Übergängen der
Potenzialebene zu starten. Die Gegentaktsteuerung ermöglicht es,
eine hohe Geschwindigkeit zu benutzen, ist aber inkompatibel mit
der verdrahteten Logik. Die Brückenstation
ermöglicht
es, die Gegentaktsteuerung für
Inhaltssignale im ersten Abschnitt mit der verdrahteten Logik im
zweiten Abschnitt zu kombinieren.
-
Eine
Gegentaktsteuerung ist insbesondere für das Taktsignal wünschenswert,
weil dieses Signal üblicherweise
eine höhere
Frequenz als das Datensignal hat (vor allem im I2C-Bus). Es können daher
mehrere Taktquellen benutzt werden, wobei während der Nachricht, d.h. während des
Inhaltssignals, größtenteils
die Gegentaktsteuerung für
das Taktsignal benutzt wird.
-
Das
erfindungsgemäße elektronische
Gerät hat
eine weitere Ausführungsform,
bei der die mindestens eine der Stationen in der Lage ist, mindestens
zwei Arten von eine Übertragung
anzeigenden Kopfteilsignalen mit bzw. ohne die relativ höhere Taktgeschwindigkeit
zu übertragen,
und die Brückenstation
in Reaktion auf das die Übertragung
anzeigende Kopfteilsignal weiterhin Signale ohne die jeweils relativ
höhere
Taktgeschwindigkeit zwischen dem ersten und dem zweiten Abschnitt
weiterleitet. Dadurch kann die mindestens eine der Stationen auswählen, ob
die Brückenstation
offen bleibt, zum Beispiel um mit einer mit dem zweiten Busabschnitt
verbundenen Station zu kommunizieren, oder ob die Brückenstation
die beiden Abschnitte des Busses für eine Hochgeschwindigkeitsübertragung
des Inhaltssignals isoliert.
-
Das
erfindungsgemäße elektronische
Gerät hat
eine weitere Ausführungsform,
bei der die mindestens eine der Stationen dafür eingerichtet ist, ein auf
das Kopfteilsignal folgendes und dem Inhaltssignal mit der relativ
hohen Taktgeschwindigkeit vorhergehendes Adresssignal zu übertragen,
und bei der jede einzelne der Stationen der Teilgruppe selektiv
auf die Nachricht reagiert, je nachdem, ob das Adresssignal mit
einer eigenen Adresse der jeweiligen Stationen übereinstimmt. Auf diese Weise
muss nur das Kopfteil, das die hohe Geschwindigkeit anzeigt und
auch zum Zwecke der Entscheidung dienen kann, mit geringer Geschwindigkeit übertragen
werden. Auch das Adressieren, d.h. das Auswählen einer der verschiedenen
mit dem ersten Abschnitt verbundenen Stationen, kann mit hoher Geschwindigkeit
erfolgen.
-
Das
erfindungsgemäße elektronische
Gerät hat
eine weitere Ausführungsform,
bei der die mindestens eine der Stationen dafür eingerichtet ist, ein weiteres
auf das Kopfteilsignal folgendes und einem weiteren Inhaltssignal
vorhergehendes Adresssignal zu übertragen,
das dem Nachrichtenabschlusssignal vorausgeht, wobei das weitere
Adresssignal und das weitere Inhaltssignal mit der relativ hohen
Geschwindigkeit übertragen
werden, wobei jede einzelne der Stationen der Teilgruppe selektiv
auf das weitere Inhaltssignal reagiert, je nachdem, ob das weitere
Adresssignal mit einer eigenen Adresse der jeweiligen einen der
Stationen übereinstimmt,
und wobei die Brückenstation
das Ersatzsignal im zwei ten Abschnitt während der Übertragung des weiteren Adresssignals
und des weiteren Inhaltssignals aufrechterhält. Dadurch können verschiedene
Stationen mit hoher Geschwindigkeit adressiert werden, während der
zweite Abschnitt isoliert bleibt. Dies kann beispielsweise mit Hilfe
wiederholter Startbedingungen geschehen, die dem ersten Abschnitt
gemäß dem I2C-Protokoll
gefolgt von den entsprechenden Adressen zugeführt werden.
-
Die
meisten dieser vorteilhaften Merkmale werden durch die Brückenstation
möglich
gemacht. Die Erfindung ermöglicht
es, langsame Stationen mit dem zweiten Abschnitt auch dann zu verbinden,
wenn diese Stationen herkömmliche
I2C-Stationen sind, deren Verbindung zum Bus vollkommen optional
ist.
-
Diese
und andere vorteilhafte Aspekte der Erfindung werden unter Verwendung
der Figuren näher
beschrieben. Dabei zeigen:
-
1 ein
Gerät gemäß vorliegender
Erfindung;
-
2 ein
Signaldiagramm einer Nachrichtenübertragung;
-
3 einen
Ablaufplan vom Betrieb einer Steuerschaltung;
-
4 ein
Gerät gemäß einer
alternativen Ausführungsform
der Erfindung;
-
5 ein
Signal einer Ausführungsform
einer Nachrichtenübertragung;
-
6 eine
Ausführungsform
einer Master-Station.
-
1 zeigt
ein erfindungsgemäßes Gerät mit einem
Kommunikationsbus 12a, b mit einem ersten und zweiten Abschnitt.
Das Gerät
enthält
eine Reihe von Stationen 10a–e, die mit dem Kommunikationsbus 12a, b
verbunden sind, und eine Brückenstation 14,
die die beiden Abschnitte 12a, b des Kommunikationsbusses verbindet.
Jeder Busabschnitt 12a, b enthält einen Taktsignalleiter SCL,
SCLH und einen Datensignalleiter SDA, SDAH. Die Stationen 10a–e sind
mit den Leitern 12a, b über
Widerstände
Rs verbunden, die dazu dienen, Störimpulse und ein Schwingungsverzerrungen
aufgrund allzu schneller Signalflanken zu unterdrücken.
-
Die
Stationen 10a–e
sind in eine erste und eine zweite Teilgruppe, 10a–c, 10d e,
unterteilt, die dem ersten bzw. zweiten Abschnitt 12a,
b des Busses entsprechen. Jede zu einer Teilgruppe 10a–c, 10d–e gehörende Station 10a–e hat Verbindungen
zum Taktsignalleiter SCL, SCLH und zum Datensignalleiter SDA, SDAH des
zu dieser Teilgruppe 10a–c, 10d–e gehörenden Abschnitts 12a,
b.
-
In
jeder Station 10a–e
hat die Verbindung zum Datensignalleiter SDA, SDAH eine Kopplung 102a–e zu einem
Eingangsfilter (nicht abgebildet). In jeder Station ist die Verbindung
zum Datensignalleiter SDA, SDAH über
den Kanal eines Transistors 100a–e mit einem ersten Stromversorgungsanschluss
Vss gekoppelt. Die Datensignalleiter SDA, SDAH jedes Abschnitts 12a,
b sind mit einem entsprechenden zweiten Stromversorgungsanschluss
Vdd1, Vdd2 verbunden, jeder Leiter SDA, SDAH über einen eigenen Widerstand
Rp.
-
In
jeder Station 10a–e
hat die Verbindung zum Taktsignalleiter SCL, SCLH eine Kopplung 104a–e zu einem
weiteren Eingangsfilter (nicht abgebildet). In einigen der Stationen 10c,
d ist die Verbindung zum Taktsignalleiter SCL, SCLH über den
Kanal eines Transistors 106c, d mit dem ersten Stromversorgungsanschluss Vss
gekoppelt. Ein derartiger Transistor 106a, b, e ist in
den anderen Stationen 100a, b, e optional. Die Taktsignalleiter
SCL, SCLH jedes Abschnitts 12a, b sind mit dem entsprechenden
zweiten Stromversorgungsanschluss Vdd1, Vdd2 verbunden, jeder Leiter
SCL, SCLH über
einen eigenen Widerstand Rp.
-
Mindestens
eine der mit dem ersten Abschnitt 12a verbundenen Stationen 1 0c enthält eine
schaltbare Stromquelle 108, die zwischen den Taktsignalleiter
SCLH des ersten Abschnitts 12a und den zweiten Stromversorgungsanschluss
Vdd1 geschaltet ist. Als eine schaltbare Stromquelle kann beispielsweise
ein MOS-Transistor (nicht abgebildet) verwendet werden, dessen Drainanschluss
mit den Taktsignalleiter SCLH verbunden ist. Vorzugsweise ist dieser
MOS-Transistor so klein ausgeführt,
dass kein Schaden an dem Gerät entsteht,
falls die Stromquelle 108 infolge eines Fehlers zur selben
Zeit Strom liefert, in der ein Transistor 106a–e leitet.
-
Die
Brückenstation 14 enthält einen
ersten Transistor DBT, dessen Kanal die Datensignalleiter SDA, SDAH
der beiden Abschnitte 12a, b des Busses miteinander verbindet.
Die Brückenstation 14 enthält einen zweiten
Transistor CBT, dessen Kanal die Taktsignalleiter SCL, SCLH der
beiden Abschnitte 12a, b des Busses miteinander verbindet.
Die Brückenstation 14 enthält einen
dritten Transistor DPT 149, dessen Kanal den Datensignalleiter
SDA des zweiten Abschnitts 12b des Busses 12a,
b mit dem ersten Stromversorgungsanschluss Vss verbindet. Die Brückenstation 14 enthält eine
Steuerschaltung 148, die Eingangssignale von den Datensignalleitern
SDA, SDAH und den Taktsignalleitern SCL, SCLH der beiden Abschnitte 12a,
b des Busses empfängt.
Die Steuerschaltung 148 hat Ausgänge, die mit der Steuerelektrode
des ersten, des zweiten bzw. des dritten Transistors DBT, CBT verbunden
sind.
-
Darüber hinaus
enthält
die Brückenstation 14,
wie die erste Teilgruppe der Stationen 10a–c, eine Kopplung 142 vom
Datensignalleiter SDAH und vom Taktsignalleiter SCLH des ersten
Abschnitts 12a zu einem Eingangsfilter (nicht abgebildet)
bzw. zu einem weiteren Eingangsfilter (nicht abgebildet). Ferner
enthält
die Brückenstation 14 Transistoren 140, 146,
deren Kanäle
den Datensignalleiter SDAH und den Taktsignalleiter SCLH des ersten
Abschnitts 12a mit dem ersten Stromversorgungsanschluss
Vss koppeln. Weiterhin enthält die
Brückenstation 14 eine
schaltbare Stromquelle 147, die zwischen den Taktsignalleiter
SCLH des ersten Abschnitts 12a und den zweiten Stromversorgungsanschluss
Vdd1 geschaltet ist.
-
Im
Betrieb kann das Gerät
in einer ersten und zweiten Betriebsart arbeiten. In der ersten
Betriebsart arbeitet das Gerät
vollständig
gemäß dem konventionellen
I2C-Protokoll. In
der ersten Betriebsart steuert die Steuerschaltung 148 in
der Brückenstation 14 die
Steuerelektrode des ersten und des zweiten Transistors CBT und DBT
auf den Potenzialpegel der niedrigeren der beiden zweiten Stromversorgungsspannungen
Vdd1, Vdd2, so dass diese ersten und zweiten Transistoren CBT, DBT
Signale vom ersten Abschnitt 12a des Busses an den zweiten
Abschnitt 12b weiterleiten und umgekehrt. Wenn das Potenzial
eines Leiters SCL, SCLH, SDA, SDAH in einem Abschnitt 12a, 12b auf
das Potenzial der ersten Stromversorgung gezogen wird, wird auch
das Potenzial des entsprechenden Leiters SCL, SCLH, SDA, SDAH in
dem anderen Abschnitt 12a, b heruntergezogen. Andernfalls
wird das Potenzial der Leiter über
die Widerstände
Rp auf das Potenzial des entsprechenden zweiten Stromversorgungsanschlusses
Vdd1, Vdd2 heraufgezogen. Im Prinzip lässt die Brückenstation 14 die
Transistoren 140, 144, 149, die den Bus
mit dem ersten Stromversorgungsanschluss Vss und der schaltbaren
Stromquelle 148 verbinden, in der ersten Betriebsart nicht-leitend
(es sei denn, die Brückenstation nimmt
als eine normale Station am I2C-Protokoll teil).
-
Das
zweite Versorgungspotenzial Vdd1, Vdd2 liegt beispielsweise 3,3
V und 5 V über
dem ersten Versorgungsanschluss Vss. Es können auch andere zweite Stromversorgungspotenziale
Vdd1, Vdd2 verwendet werden. Dadurch können die Abschnitte des Busses 12a,
b mit unterschiedlichen Stromversorgungen arbeiten. Der erste und
zweite Transistor CBT und DBT dienen daher dem zweifachen Zweck,
für eine
Spannungspegelverschiebung zwischen den beiden Abschnitten des Busses 12a,
b zu sorgen, durch die Teilgruppen von Stationen 10a–e verwendet
werden können,
die mit unterschiedlichen Versorgungsspannungen arbeiten, und die
beiden Abschnitte voneinander zu isolieren, wenn im ersten Abschnitt
Nachrichtenübertragungen
mit Hochgeschwindigkeit stattfinden. Vorzugsweise ist das zweite
Versorgungspotenzial Vdd1 des ersten Abschnitts 12a (der
Nachrichten mit Hochgeschwindigkeit übertragen kann) niedriger als
das des zweiten Abschnitts 12b. Unter anderem wird dies
dem Effekt einer erhöhten
Leistungsaufnahme aufgrund der höheren Frequenz
entgegenwirken. Die Potenziale Vdd1, Vdd2 können einander jedoch auch gleich
sein. In diesem Fall arbeiten der erste und der zweite Transistor
CBT und DBT nur als Schalter, die die beiden Abschnitte 12a, b
des Busses verbinden oder trennen.
-
In
der ersten Betriebsart kommunizieren die Stationen 10a–e mit Hilfe
des I2C-Protokolls miteinander. Dieses Protokoll wird in „Data Handbook
IC20: 80C51-based 8-bit microcontrollers", herausgegeben von Philips Semiconductors
im Jahre 1994, Seiten 1141–1159,
beschrieben. Kurz gesagt, beginnt das Protokoll mit einem Ruhezustand
des Busses, in dem sich alle Leiter SDA, SDAH, SCL, SCLH auf dem
Potenzial der entsprechenden zweiten Versorgungsspannung Vdd1, Vdd2
befinden. Eine Station (z.B. 10c), die mit der Kommunikation
beginnen will, erzeugt eine Startbedingung, indem das Potenzial
der Datensignalleiter SDA, SDAH auf das Potenzial der ersten Versorgungsspannung
Vss gezogen wird (indem der Kanal des Transistors 100c leitend
gemacht wird). Das Potenzial des Taktsignalleiters SCL, SCLH verbleibt
auf dem Potenzialpegel der zweiten Versorgungsspannung Vdd1, Vdd2
(indem der Kanal des Transistors 106c nicht-leitend bleibt).
Diese Kombination aus Signalen auf den Leitern SDA, SDAH, SCL, SCLH
wird als Startbedingung bezeichnet. Anschließend versucht die Station 10c eine
Reihe von Taktsignalimpulsen und Datensignalpegeln zu erzeugen, indem
die Transistoren 100c, 106c, die den Bus mit der
ersten Stromversorgung Vss verbinden, entweder leitend oder nicht-leitend
gemacht werden. Die Daten werden bestätigt, indem zugelassen wird,
dass die Taktsignalleiter SCL, SCLH auf das Potenzial der zweiten
Stromversorgung Vdd1, Vdd2 gezogen werden. Die anderen Stationen 10a–e können Taktimpulse
verzögern,
indem der Taktsignalleiter (mit Hilfe der Transistoren 106a–c, die
die Taktsignalleiter SCL, SCLH mit dem ersten Stromversorgungsanschluss
Vss verbinden) weiterhin auf das Potenzial der ersten Stromversorgung
Vss gezogen bleibt. Dadurch können
sich die anderen Stationen 10a–e so viel Zeit nehmen, wie
für die
Datenverarbeitung erforderlich ist.
-
Die
Station 10c, die mit der Kommunikation beginnen will (als „Master-Station" bezeichnet), liefert
einen Kopfteil als Daten zum Bus 12a, b, gefolgt von einer
Adresse einer „Slave"-Station 10a–e, mit
der sie kommunizieren möchte,
sowie einem Datenbit (Lese/Schreib-Bit), das angibt, ob die Master-Station
oder die Slave-Station Daten auf den Bus schreiben soll. Jede Station 10a–e empfängt das
Datensignal und das Taktsignal vom Bus 12a, b über ihre
Eingangsfilter (nicht abgebildet), die Rauschen, wie beispielsweise
Spannungsspitzen, beseitigen. Jede Station 10a–e bestimmt,
ob das empfangene Signal ihre Adresse enthält und ob Lesen oder Schreiben
erforderlich ist, und beginnt entsprechend an der Kommunikation
teilzunehmen.
-
Anschließend liefert
entweder die Master-Station 10c oder die Slave-Station 10a–e Daten
an den Bus 12a, b. Nach diesem Datenaustausch kann die
Master-Station 10c eine erneute Startbedingung gefolgt
von einer weiteren Adresse einer Slave-Station 10a–e mit einem
Lese/Schreib-Bit für
den Datenaustausch mit einer anderen Slave-Station 10a–e ausgeben.
Abschließend
erzeugt die Master-Station eine so genannte „Stoppbedingung", indem sie es zulässt, dass
das Potenzial der Datensignalleiter SDA, SDAH vom Potenzial der
ersten Stromversorgung Vss auf das Potenzial der zweiten Stromversorgung
Vdd1, Vdd2 zu einem Zeitpunkt gezogen wird, zu dem das Potenzial
der Taktsignalleiter SCL, SCLH auf dem Potenzialpegel der zweiten Stromversorgung
Vdd1, Vdd2 verbleibt.
-
Im
I2C-Protokoll werden Daten in Einheiten von 8 aufeinander folgenden
Bits übertragen.
Auf jede Einheit folgt ein Quittungsbit, mit dem eine die Daten
empfangende Station 10a–e den Empfang bestätigen kann, indem
sie das Potenzial des Datensignalleiters SDA, SDAH auf das Potenzial
der ersten Stromversorgung zieht und es dann gestattet, dass das
Potenzial der Taktsignalleiter SCL, SCLH auf das Potenzial der Stromversorgung
Vdd1, Vdd2 gezogen wird. Für
den Fall, dass die empfangende Station 100a–e die Einheit
verpasst hat oder nicht in der Lage war, sie zu verarbeiten, gestattet
es die empfangende Station, dass das Potenzial der Datensignalleiter
SDA, SDAH während
des Taktsignalimpulses für
das Quittungsbit weiterhin auf das Potenzial der zweiten Stromversorgung
Vdd1, Vdd2 gezogen bleibt. In Reaktion darauf wird die die Einheit
sendende Station 100a–e
beispielsweise die Übertragung
erneut versuchen oder die Übertragung
abbrechen.
-
Mehr
als eine Station 10a–e
kann versuchen, Master-Station zu werden, indem sie eine Startbedingung
und nachfolgend Daten erzeugt. Wenn eine derartige Station 10a–e feststellt,
dass der Bus 12a, b beschäftigt ist (die Startbedingung
wurde gesendet und anschließend
noch keine Stoppbedingung gesendet), wird sie warten, bis der Bus 12a,
b ruhig ist. Dies lässt
die Möglichkeit
zu, dass zwei Stationen 10a–e eine Startbedingung im Wesentlichen
zur selben Zeit erzeugen. Um dieses Problem zu lösen, überwachen die Stationen 10a–e das Potenzial
des Datensignalleiters SDA, SDAH. Wenn dieses Potenzial während eines
beliebigen Taktimpulses (ausgenommen Quittung) zu einem Zeitpunkt
in Rich tung des Potenzials der ersten Stromversorgung Vss gezogen
wird, zu dem die Station 10a–e ihren Transistor 106a–c nicht-leitend
gelassen hat, damit das Potenzial des Datensignalleiters auf das
Potenzial der zweiten Stromversorgung Vdd1, Vdd2 gezogen werden
kann, schließt
die Station 10a–e
daraus, dass eine andere Station 10a–e ebenfalls versucht, Master-Station zu werden,
und stellt die Übertragung
bis zur nächsten
Stoppbedingung ein (ausgenommen natürlich, wenn sie angesprochen
wird). Diesen Vorgang nennt man Entscheidung, und von einer Station 10a–e, die die Übertragung
einstellt, sagt man, sie habe die Entscheidung verloren.
-
In
der zweiten Betriebsart („dem
Hochgeschwindigkeitsmodus")
werden die schaltbaren Stromquellen 108, 147 benutzt,
um die Geschwindigkeit, mit der das Potenzial des Taktsignalleiters
SCLH des ersten Abschnitts 12a auf den zweiten Stromversorgungsanschluss
Vdd1 gezogen wird, aktiv zu erhöhen.
Dies bildet eine Gegentaktstufe, in der ein Gerät wie eine Transistor sowohl
zur Erzeugung von ansteigenden Flanken im Taktsignal als auch zur
Erzeugung von abfallenden Flanken aktiv eingeschaltet und erst wieder
vor der folgenden entgegengesetzten Flanke abgeschaltet wird. Dies
steht im Gegensatz zur verdrahteten Logiksteuerung in der ersten
Betriebsart, bei der nur eine Flanke des Taktsignals aktiv erzeugt
wird, während
die andere durch Aufladung über
den Widerstand Rp verursacht wird, falls keine andere Station den
Taktsignalleiter SCL ansteuert.
-
In
der ersten Betriebsart liegt die Frequenz des Taktsignals üblicherweise
unter 400 KBit/s, und in der zweiten Betriebsart kann die Frequenz
des Taktsignals auf 3,5 MBit/s ansteigen, d.h. deutlich über 400
KBit/s und üblicherweise über 1 MBit/s.
Aufgabe der Erfindung ist es, diese zweite Betriebsart in einem
Gerät zu
ermöglichen,
das ebenfalls Stationen 10a–e enthält, die ohne Berücksichtigung
dieser Betriebsart entwickelt wurden (d.h. Eingangsfilter (nicht
abgebildet) enthalten, die derart hohen Frequenzen herausfiltern).
Weitere Aufgaben der Erfindung liegen darin, diese zweite Betriebsart
mit dem Entscheidungs- und Quittungsprozess des I2C-Protokols zu
kombinieren.
-
2 zeigt
ein Signaldiagramm einer Nachrichtenübertragung unter Verwendung
der zweiten Betriebsart, dem Hochgeschwindigkeitsmodus. Bis zu einem
Zeitpunkt tH beginnt die Nachrichtenübertragung in der ersten Betriebsart
(herkömmliches
I2C) mit einer Startbedingung S, gefolgt von Kopfteilbits 1–9, unter
Verwendung der Leiter SDA, SDAH, SCL, SCLH beider Abschnitte des
Busses 12a, b. Die Entscheidung findet während der Übertragung
des Kopfteils in der ersten Betriebsart statt, die damit als Entscheidungsmodus dient.
Mit der Entscheidung soll sichergestellt werden, dass eine Station 10a–e, die
Informationen im Hochgeschwindigkeitsmodus austauschen möchte, sicher
sein kann, dass sie entweder die Entscheidung verloren hat, oder
dass alle anderen Stationen 10a–e erkannt haben, dass sie
die Entscheidung verloren haben. Dies wird erreicht, indem jeder
Station im Gerät,
die im Hochgeschwindigkeitsmodus übertragen kann, ein eindeutiger
Kopfteil zugewiesen wird (d.h., der eindeutige Kopfteil ist für jede derartige
Station unterschiedlich). Diese eindeutigen Kopfteile haben einen „niedrigeren" Wert als jeder für eine herkömmliche
I2C-Nachrichtenübertragung
benutzte Kopfteil (niedriger in dem Sinne, dass eine Station 10a–e, die
einen für
eine herkömmliche I2C-Nachrichtenübertragung
verwendeten Kopfteil auf den Bus 12a, b gibt, stets die
Entscheidung gegenüber einer
Station 10a–e
verliert, die ihren eindeutigen Kopfteil auf den Bus 12a,
b gibt).
-
Die
eindeutigen Kopfteile liegen beispielsweise im Bereich 00001xxx
(in der Reihenfolge der Übertragung,
wobei 0 angibt, dass die Datensignalleiter SDA, SDAH durch den Transistor 100a–e, der
den Datensignalleiter SDA, SDAH mit dem ersten Stromversorgungsanschluss 1 verbindet,
in Richtung des ersten Stromversorgungspotenzials Vss gezogen wird,
wobei 1 angibt, dass dieser Transistor 100a–e nicht-leitend
gehalten wird, und „x" einen Zustand dieses
Transistors 100a–e
angibt, der spezifisch für
den eindeutigen Code einer bestimmten Station ist). Normale I2C-Kopfteile
haben mindestens ein „1"-Bit in den ersten
vier Bits. Diese Auswahl eines eindeutigen Kopfteils macht einen
zusätzlichen
Bereich von Kopfteilen 00000xxx möglich, dessen Verwendung durch
eine Station 10a–e
einen garantierten Entscheidungssieg über die eindeutigen Kopfteile
für spezielle
Zwecke ermöglicht,
wie beispielsweise ein von I2C her bekanntes, so genanntes allgemeines
Signal.
-
Eine
Station 10a–e
hat die Möglichkeit,
entweder einen herkömmlichen
I2C-Kopfteil zu
verwenden, falls sie nicht im Hochgeschwindigkeitsmodus kommunizieren
möchte,
weil beispielsweise bekannt ist, dass der Kommunikationspartner
nicht in diesem Hochgeschwindigkeitsmodus arbeiten kann, oder ihren
eindeutigen Kopfteil zu verwenden, falls sie den Hochgeschwindigkeitsmodus
benutzen möchte.
Bei einer Übertragung
des Kopfteils in der ersten Betriebsart (herkömmliches I2C) können alle
Stationen an der Entscheidung teilnehmen. Wahlweise folgt auf den
Kopfteil ein Quittungsbit, das nicht bestätigt werden sollte.
-
Wenn
die Station, z.B. 10c, die im zweiten Hochgeschwindigkeitsmodus
kommunizieren möchte, durch
den Gewinn der Entscheidung zur Master-Station wird, wechselt sie
zum Zeitpunkt tH in den Hochgeschwindigkeitsmodus. Nach dem Zeitpunkt
tH wechselt die Master-Station in einen Datenübertragungsmodus. In diesem
Modus über trägt die Master-Station 10c eine
erneute Startbedingung Sr, gefolgt von einer Adresse einer Slave-Station
(Bits 1–7)
und einem Lese/Schreib-Bit (8). Die Adresse kann, wie für den I2C-Bus
definiert, erweitert werden. Darauf folgen ein Quittungsbit und
eine Reihe von Dateneinheiten, jeweils mit einem eigenem Quittungsbit.
In der zweiten Betriebsart, dem Hochgeschwindigkeits- oder Datenübertragungsmodus,
erzeugt die Master-Station normalerweise die Anstiegsflanken des
Taktsignals, indem sie den Transistor 100c, der den Taktsignalleiter
SCLH mit dem ersten Stromversorgungsanschluss Vss verbindet, nicht-leitend
macht, und die schaltbare Stromquelle 108 aktiviert, um
Strom zum Taktsignalleiter SCLH zu leiten. Dies wird in 2 mittels
gerader Anstiegsflanken anstelle von exponentiellen Anstiegsflanken
angegeben, die für
den Fall dargestellt sind, dass die schaltbare Stromquelle nicht
aktiviert ist und die Anstiegsflanken von dem Widerstand Rs verursacht
werden.
-
Optional
lässt die
Master-Station 10c die schaltbare Stromquelle 108 an
der Anstiegsflanke des Taktsignals auf dem Taktsignalleiter SCLH
für jedes
erste Bit einer Dateneinheit inaktiv. In diesem Fall steigt das Potenzial
des Taktsignalleiters SCLH aufgrund der Aufladung über den
mit dem zweiten Stromversorgungsanschluss Vdd1 verbundenen Widerstand
Rs an. Dadurch kann eine Slave-Station 10a–b, die
an der Kommunikation mit der Master-Station 10c teilnimmt,
die Anstiegsflanke des Taktsignals verzögern, indem ihr Transistor 106a–b, der
den Taktsignalleiter SCLH mit dem ersten Stromversorgungsanschluss
Vss verbindet, leitend bleibt. Die Master-Station nimmt die Erzeugung
der Taktsignalimpulse erst wieder auf, nachdem das Potenzial des
Taktsignalleiters SCLH angestiegen ist. Dadurch kann eine Slave-Station 10a–b die Übertragung
der nächsten
Dateneinheit so lange verzögern,
bis sie für
die Verarbeitung der Dateneinheit bereit ist.
-
Nachdem
der Datenaustausch mit einer Slave-Station 10a–b abgeschlossen
ist, kann die Master-Station 10c eine erneute Startbedingung
Sr* (als gestrichelte Linie angedeutet) erzeugen, gefolgt von der
Adresse einer neuen Slave-Station und einem neuen Lese/Schreib-Bit
für einen
weiteren Datenaustausch. Dies kann beliebig oft wiederholt werden.
Anstelle der neuen Startbedingung Sr* kann die Master-Station eine
Stoppbedingung P erzeugen, die den Abschluss der Nachrichtenübertragung
und die Bereitschaft für
eine erneute Entscheidung angibt. Dies beendet die zweite Betriebsart,
den Hochgeschwindigkeitsmodus, und es erfolgt eine Rückkehr zur
ersten Betriebsart, dem konventionellen I2C-Modus, zum Zeitpunkt
tFS.
-
Die
Brückenstation 14 isoliert
den zweiten Busabschnitt 12b während der zweiten Betriebsart,
dem Hochgeschwindigkeitsmodus, vom ersten Abschnitt 12a.
Zu diesem Zweck überwacht
die Steuerschaltung 148 die Übertragung auf dem Bus 12a,
b.
-
3 zeigt
einen Ablaufplan für
den Betrieb der Steuerschaltung 148. Zunächst liefert
die Steuerschaltung 148 das niedrigere der beiden Versorgungspotenziale
Vdd1, Vdd2 an die Steuerelektrode des ersten und des zweiten Transistors
CBT, DBT, um es diesen Transistoren CBT, DBT zu gestatten, Datensignale
und ein Taktsignal von einem Busabschnitt 12a, b an den
anderen weiterzuleiten und umgekehrt. Die Steuerschaltung 148 versorgt
den dritten Transistor DPT mit dem ersten Versorgungspotenzial Vss,
um ihn nicht-leitend zu halten. In diesem Zustand überwacht
die Steuerschaltung 148 den Bus auf eine Startbedingung.
Dies wird durch Schritt 30 im Ablaufplan dargestellt. Dies
wird fortgesetzt, bis die Steuerschaltung 148 eine Startbedingung
feststellt. Daraufhin führt
die Steuerschaltung 148 einen zweiten Schritt aus, bei
dem sie anhand des Kopfteils der auf die Startbedingung folgenden
Nachricht ermittelt, ob die Übertragung
in der zweiten Betriebsart, dem Hochgeschwindigkeitsmodus, stattfindet.
Dies geschieht, indem ermittelt wird, ob der Kopfteil mit irgendeinem
der eindeutigen Kopfteile übereinstimmt,
die Stationen 10a–c
zugeordnet sind, die im Hochgeschwindigkeitsmodus übertragen
können.
Vorzugsweise bilden diese eindeutigen Kopfteile eine ununterbrochene
Reihe. In diesem Fall braucht die Steuerschaltung 148 nicht
jeden einzelnen, eindeutigen Kopfteil zu speichern.
-
Falls
der Kopfteil mit keinem der eindeutigen Kopfteile übereinstimmt,
findet keine Übertragung
im Hochgeschwindigkeitsmodus statt, und die Steuerschaltung führt einen
dritten Schritt 34 aus, bei dem die Steuerschaltung den
Bus auf eine Stoppbedingung überwacht.
Nach dieser Stoppbedingung kehrt die Steuerschaltung wieder zum
ersten Schritt zurück.
-
Wenn
der Kopfteil mit einem der eindeutigen Kopfteile übereinstimmt,
findet die Übertragung
im Hochgeschwindigkeitsmodus statt, und die Steuerschaltung führt einen
vierten Schritt 36 aus. Bei diesem Schritt bringt die Steuerschaltung 148 das
Potenzial der Steuerelektrode des ersten Transistors DBT, der die
Datensignalleiter SDA, SDAH der beiden Abschnitte verbindet, auf
den ersten Stromversorgungspegel Vss, um den ersten Transistor DBT
nicht-leitend zu machen. Die Steuerschaltung 148 liefert
eines der zweiten Stromversorgungspotenziale an den dritten Transistor
DPT, um den dritten Transistor DPT, der den Datensignalleiter SDA
des zweiten Abschnitts 12b mit dem ersten Stromversorgungspotenzial
verbindet, leitend zu machen. Anschließend wartet die Steuerschaltung 148, bis
das Potenzial der Taktsignalleiter SCL, SCLH vor der erneuten Startbedingung
Sr nach dem Kopfteil und dem optionalen Quittungsbit ansteigt (zu
welchem Zeitpunkt sicher ist, dass alle Stationen das Entscheidungsergebnis
akzeptiert haben), und die Steuerschaltung 148 liefert
daraufhin das erste Stromversorgungspotenzial Vss an die Steuerelektrode
des zweiten Transistors CBT, der zwischen die Taktsignalleiter SCL,
SCLH der beiden Abschnitte 12a, b des Busses geschaltet
ist. Dadurch werden die Taktsignalleiter SCL, SCLH der beiden Abschnitte 12a,
b des Busses isoliert.
-
Als
Nächstes
führt die
Steuerschaltung 148 einen fünften Schritt 38 des
Ablaufplans aus, bei dem die Steuerschaltung 148 den ersten
Busabschnitt auf eine Stoppbedingung überwacht. In Reaktion auf diese Stoppbedingung
führt die
Steuerschaltung 148 einen sechsten Schritt 39 aus,
der den dritten Transistor DPT im sechsten Schritt 39 nichleitend
macht. Dadurch steigt das Potenzial des Datensignalleiters SDA des
zweiten Busabschnitts an, wodurch auch im zweiten Busabschnitt eine
Stoppbedingung erzeugt wird. Daraufhin macht die Steuerschaltung 148 den
ersten Transistor DBT leitend, indem sie das niedrigere der beiden
zweiten Versorgungspotenziale Vdd1, Vdd2 an seine Steuerelektrode
liefert. Auch die Steuerelektrode des zweiten Transistors SCL wird
mit dem niedrigeren der beiden zweiten Versorgungspotenziale Vdd1,
Vdd2 versorgt. Nach dem sechsten Schritt 39 kehrt die Steuerschaltung 148 zum
ersten Schritt des Ablaufplans zurück.
-
Auf
diese Weise simulieren die Signale im zweiten Busabschnitt 12b den
Zustand eines I2C-Busses nach einer Entscheidung, allerdings ohne
irgendwelche Daten, gefolgt von einer Stoppbedingung, wenn eine Nachrichtenübertragung
im ersten Busabschnitt 12a abgeschlossen ist. Dadurch werden
die das Datensignal und das Taktsignal vom zweiten Busabschnitt 12b empfangenden
Stationen 10d–e
nicht den Hochfrequenzsignalen vom ersten Abschnitt 12a ausgesetzt,
sondern einem ruhigen, aber beschäftigten Bus, der es diesen Stationen 10d,
e so lange nicht gestattet zu versuchen, eine neue Nachricht zu
starten, bis die Nachricht im ersten Busabschnitt vollständig ist.
-
Im
Prinzip könnte
auch die Brückenschaltung 14 Signale
an den zweiten Busabschnitt 12b liefern, um ihre eigenen
Daten über
diesen zweiten Abschnitt 12b während der Zeit auszutauschen,
in der Nachricht über den
ersten Busabschnitt 12b ausgetauscht wird; die Brückenstation
könnten
es auch gestatten, dass während dieser
Zeit eine Entscheidung im zweiten Abschnitt stattfindet. In diesem
Fall muss die Brückenstation 14 jedoch
sicherstellen, dass beide Abschnitte jeweils wieder in einen Zustand
nach oder un mittelbar vor einer Stoppbedingung zurückkehren,
bevor ein Kontakt zwischen den Abschnitten 12a, b wiederhergestellt
wird.
-
Optional
kann die Steuerschaltung 148 auch den zweiten Busabschnitt 12b überwachen.
Dies ist vorteilhaft, wenn es ermöglicht werden soll, Blockaden
aufzuheben, bei denen die Nachricht im ersten Busabschnitt nie abgeschlossen
oder die Verbindung zwischen den Bussen aufgrund eines Fehlers nicht
wiederhergestellt wird. Eine mit dem zweiten Busabschnitt 12b verbundene
Station 10d–e
kann eine Wächterfunktion ausführen, um
derartige Blockaden zu erkennen: wenn eine Stoppbedingung nicht
innerhalb eines vorgegebenen Wächterzeitintervalls
nach einer Startbedingung erkannt wird, kann eine mit dem zweiten
Busabschnitt 12b verbundene Station ein Blockadesignal
erzeugen, indem sie das Potenzial des Taktsignalleiters SCL des zweiten
Busabschnitt 12b einige Male (einmal oder öfter) nach
unten zieht. Die Steuerschaltung 148 detektiert optional
den resultierenden Potenzialabfall oder die Potenzialabfälle des
Taktsignalleiters SCL im zweiten Busabschnitt 12b und kehrt
in Reaktion darauf in den Anfangsstatus (Schritt 30) zurück, in dem
die Steuerschaltung 148 das niedrigere der beiden Versorgungspotenziale
Vdd1, Vdd2 an die Steuerelektrode des ersten und des zweiten Transistors
CBT, DBT liefert, um es diesen Transistoren CBT, DBT zu gestatten,
Datensignale und Taktsignale von einem Busabschnitt 12a,
b zum anderen weiterzuleiten und umgekehrt. In Reaktion auf die Erkennung
des Abfalls oder der Abfälle
versorgt die Steuerschaltung 148 auch den dritten Transistor
DPT mit dem ersten Versorgungspotenzial Vss, um ihn nicht-leitend
zu halten. Dadurch können
die Stationen 10d–e
in beiden Abschnitten des Busses 12a, b Signale (z.B. eine
Stoppbedingung) erzwingen, um eine in die Blockade einbezogene Station
zurückzusetzen.
-
In 1 verfügt die Brückenstation
auch über
eine normale Schnittstelle zum ersten Busabschnitt 12a, wie
jede andere Station, z.B. 10c. Dadurch kann die Brückenstation 14 auch
als eine normale Station 10a–c arbeiten. Jede der Stationen 10a–e kann
in einem separaten IC-Gehäuse
enthalten sein. In diesem Fall kann die Funktion einer Brückenstation
und einer normalen Station in einem einzelnen IC-Gehäuse kombiniert
sein, das für
den Anschluss an den Bus 12a, b vier Stifte (SDA, SDAH,
SCL, SCLH) benötigt.
Die Benutzung dieser Stifte kann programmierbar gemacht werden,
so dass die für
den Anschluss an den zweiten Abschnitt 12b benutzten Stifte
SDA, SCL nach einer geeigneten Programmierung auch für andere
Zwecke benutzt werden können,
falls das IC-Gehäuse
nicht als Brückenstation
benutzt wird. Dies ist der Fall für eine der Stationen 10c, bei
der zwei mit einem * gekennzeichneten Stifte für diese anderen Zwecke (falls
vorhanden) benutzt werden, aber auch für die Busanschlüsse SDA,
SDAH verwendet werden könnten.
-
Wenn
nur Stationen im Gerät
vorhanden sind, die den zweiten, Hochgeschwindigkeitsmodus verarbeiten
können,
ist natürlich überhaupt
keine Brückenfunktion
erforderlich, und der zweite Busabschnitt 12b kann weggelassen
werden; in diesem Fall können
die Verbindungen für
den zweiten Abschnitt 12b des Busses auch für andere
Zwecke benutzt werden.
-
Wie
in 1 gezeigt, wird für den Datensignalleiter SDAH
des ersten Abschnitts 12a keine schaltbare Stromquelle
benutzt, sondern stattdessen ein Pull-Up-Widerstand Rp, um das Potenzial dieses
Leiters heraufzuziehen. Dies kann mit einem schnellen Taktsignal
kombiniert werden, das mit einer schaltbaren Stromquelle 108 erzeugt
wird, weil das Datensignal nur die halbe Frequenz des Taktsignals
haben muss. Für
eine höhere Geschwindigkeit
kann für
das Datensignal, wie beim Taktsignal, natürlich auch eine schaltbare
Stromquelle benutzt werden. Allerdings erfordert dies eine präzisere Synchronisierung,
um Ansteuerungskonflikte zu vermeiden.
-
4 zeigt
ein Gerät
gemäß einer
alternativen Ausführungsform
der Erfindung. Das Gerät
enthält
eine Anzahl von Stationen 40a–f. Die Stationen 40a–f sind über einen
Kommunikationsbus verbunden, der zwei Abschnitte mit entsprechenden
Taktsignalleitern SCLm und SCLk enthält. Die Abschnitte teilen sich
einen Datensignalleiter SDA. Darüber
hinaus enthält
das Gerät
einen Versorgungsleiter 42 für eine Versorgungsspannung Vdd.
Der Versorgungsleiter 42 ist über einen entsprechenden Widerstand
Rp mit dem Datensignalleiter SDA und den beiden Taktsignalleitern
SCLk, SCLm gekoppelt. Zwei der Stationen 40a, b werden
an den Datensignalleiter SDA und einen der Taktsignalleiter SCLm
angeschlossen gezeigt. Die beiden anderen Stationen 40c, f
werden an den Datensignalleiter SDA und den anderen der Taktsignalleiter
SCLk angeschlossen gezeigt. Die übrigen
Stationen 40c, d werden an den Datensignalleiter und die
beiden Taktsignalleiter SCLm und SCLk angeschlossen gezeigt. Das
Gerät kann
beispielsweise eine gedruckte Leiterplatte enthalten, auf der der
Datensignalleiter SDA und die beiden Taktsignalleiter SCLm, SCLk
als Leiterbahnen ausgeführt
sind, wobei die Stationen 40a–f jeweils einer einzelnen
integrierten Schaltung entsprechen, die auf der Leiterplatte montiert
und elektrisch mit dem Datensignalleiter SDA und einem oder mehreren
der Taktsignalleiter SCLm, SCLk verbunden ist.
-
Im
Betrieb werden die Informationen zwischen den Stationen über den
Bus SDA, SCLk, SCLm übertragen.
Die Informationsübertragung
erfolgt gemäß einer
Erweiterung der I2C-Bus-Spezifikation, die im Philips Datenbuch
IC 12a für
einen aus einem Datensignalleiter SDA und einem Taktsignalleiter
SCL bestehenden Bus beschrieben wird. Während der Informationsübertragung
wird ein Informationsbit auf den Datensignalleiter SDA gegeben,
und seine Gültigkeit
wird signalisiert, indem das Potenzial eines entsprechenden Taktsignalleiters
SCLk, SCLm angehoben wird. Als Vorbereitung auf ein nächstes Informationsbit
wird das Potenzial des Taktsignalleiters SCLk, SCLm wieder abgesenkt.
Anschließend
wiederholt sich der Vorgang mit dem nächsten Bit. Eine Informationsübertragung
kann mit einer geringen Geschwindigkeit (beispielsweise mit einer
Taktfrequenz von 100.000 oder 400.000 Taktimpulsen pro Sekunde)
vorgenommen werden, in welchem Fall das Taktsignal zumindest über den
ersten Taktsignalleiter SCLk geliefert wird. Informationen können auch
mit einer hohen Geschwindigkeit (beispielsweise 4.000.000 Taktimpulse
pro Sekunde) geliefert werden, in welchem Fall das Taktsignal über den
zweiten Taktsignalleiter SCLm, nicht jedoch über den ersten Taktsignalleiter
SCLm geliefert wird. Dadurch werden Stationen 40c–d, die
nicht mit der hohen Taktgeschwindigkeit arbeiten können, keinem
Hochgeschwindigkeitstaktsignal ausgesetzt.
-
Am
Ende der Nachricht signalisiert die Master-Station (z.B. 40c,
d), die die Bussignale steuert, den Abschluss der Nachricht, indem
sie mindestens den ersten Taktsignalleiter SCLk benutzt (und den
zweiten Taktsignalleiter SCLm, für
den Fall, dass nicht alle der Stationen mit dem ersten Taktsignalleiter
SCLk verbunden sind). Dadurch können
alle Stationen, d.h. auch Stationen 40e, f, die nicht mit
der hohen Taktgeschwindigkeit arbeiten können, das Ende der Nachricht
auch dann feststellen, wenn der Informationsinhalt der Nachricht
selbst mit Hochgeschwindigkeit übertragen
wird.
-
5 zeigt
ein Timing-Diagramm einer Ausführungsform
für einen
Nachrichtenaustausch über
den Bus SDA, SCLm, SCLk. Der Nachrichtenaustausch beginnt mit einem
Zeitintervall, in dem ein Startsignal 50 der Nachricht übertragen
wird, und erforderlichenfalls Signale 52 für eine Entscheidung
zwischen potenziell unterschiedlichen Master-Stationen. Das Startsignal 50 ist
für alle
Stationen 40a–f
vorgesehen und wird daher mindestens unter Verwendung des ersten
Taktsignalleiters SCLk übertragen,
und für
den Fall, dass einige Stationen 40e, f nur mit dem zweiten
Taktsignalleiter SCLm verbunden sind, auch über diesen Taktsignalleiter SCLm.
-
Als
Startsignal wird eine so genannte „Startbedingung" 50 benutzt, wobei
es sich um eine Pegelübertragung
des von einer Master-Station (z.B. 40c, d) verursachten
Potenzials des Datensignalleiters SDA handelt, während die Potenziale der beiden
Taktsignalleiter SCLm, SCLk beide hoch sind, das heißt, den
Pegel haben, der normalerweise signalisiert, dass der Datensignalleiter
SDA gültige,
hohe Daten transportiert (oder zumindest, wenn die Potenziale der
ersten Taktsignalleiter SCLk in dem Fall hoch sind, dass Taktsignalleiter mit
allen Stationen 40a–f
verbunden sind). Die Master-Station (z.B. 40c, d), die
die Nachricht startet, verursacht den Pegelübergang, indem sie einen niederohmigen
Pfad zwischen einem Stromversorgungsanschluss mit einem geringen
Potenzial und den Taktsignalleitern SCLm, SCLk schafft.
-
Die
Startbedingung ist der Anfang eines Entscheidungsprozesses. Die
Startbedingung wird von den anderen Stationen erkannt. Als Ergebnis
der Erkennung unterlassen es die übrigen Master-Stationen (z.B. 40c–d), die
keine Startbedingung geschickt haben, mit Nachrichten anzufangen,
bis eine Stoppbedingung (später
zu beschreiben) erkannt wird. Die Master-Station, die eine Startbedingung
sendet, kann nicht sicher sein, dass sie die einzige Master-Station
ist (z.B. 40c, d), die die Kontrolle über den Bus anfordert, weil
es unmöglich
ist, festzustellen, ob eine andere Master-Station (z.B. 40c,
d) eine Startbedingung mehr oder weniger gleichzeitig übertragen
hat.
-
Der
Entscheidungsvorgang wird durch die Übertragung eines Codes 52 mit
acht Datenbits fortgesetzt, der durch eine beliebige Master-Station 40c,
d übertragen
wird, die die Kontrolle des Busses anfordert. Zu diesem Zweck werden
acht Taktimpulse auf beiden Taktsignalleitern erzeugt (oder zumindest
auf dem ersten Taktsignalleiter SCLk, wenn dessen Potenzial in dem
Fall hoch ist, dass der Taktsignalleiter mit allen Stationen 40a–f verbunden
ist). Um diese Taktimpulse zu erzeugen, benutzen die Stationen den
verdrahteten Logikbetrieb des Busses: die Station verwenden kein
aktives Pull-Up. Dadurch kann jede Station die Taktimpulse verzögern, um
genügend
Zeit für
die Datenverarbeitung zu haben.
-
Jede
Master-Station (z.B. 40c, d), die eine Startbedingung übertragen
hat und noch an der Entscheidung teilnimmt, zieht die Taktsignalleiter
SCLk, SCLm herunter, um dadurch Taktsignale zu erzeugen. Jeder solcher
Master (z.B. 40c, d) gibt die Bits seines Codes sequentiell
auf den Datensignalleiter SDA, indem er auswählt, während der Zeitintervalle, in
denen die Taktsignalleiter heruntergezogen sind, je nach seinem
Code einen Pfad entweder geringer oder hoher Impedanz zwischen dem
Datensignalleiter SDA zu schaffen.
-
Jede
Master-Station, die keinen Pfad geringer Impedanz bereitstellt und
dennoch feststellt, dass der Datensignalleiter SDA heruntergezogen
ist, schließt
daraus, dass sie die Entscheidung verloren hat, und hört so lange
auf, Taktimpulse und Daten zu übertragen,
bis sie eine Stoppbedingung erkennt.
-
Mindestens
eine Master-Station (z.B. 40c, d) kann Informationen mit
einer hohen Taktgeschwindigkeit (z.B. 4 MBit pro Sekunde) übertragen.
Die Codes der Master-Stationen
(z.B. 40c, d) sind so gewählt, dass die eigenen Codes
dieser Master-Station oder solcher Master-Stationen eindeutig ist,
so dass jede solche Master-Station sicher sei kann, die Entscheidung
gewonnen zu haben, falls sie nach dem achten Bit das Übertragen
ihres Codes als Daten nicht eingestellt hat.
-
Eine
Master-Station (z.B. 40c, d), die in der Lage ist, Informationen
mit hoher Taktgeschwindigkeit zu übertragen, kann auf eine hohe
Taktgeschwindigkeit umschalten, sofern sie die Entscheidung gewonnen
hat und Informationen an eine Slave-Station (40a–f) übertragen
möchte,
die ebenfalls Informationen mit hoher Taktgeschwindigkeit übertragen
kann. In diesem Fall wechselt die Master-Station (z.B. 40c,
d) zu einem Zeitpunkt tn in einen Hochgeschwindigkeitsmodus. Im
Hochgeschwindigkeitsmodus überträgt die Master-Station (z.B. 40c,
d) Taktimpulse mit einer hohen Geschwindigkeit über den zweiten Taktsignalleiter
SCLm, nicht jedoch über
den ersten Taktsignalleiter SCLk. Im Hochgeschwindigkeitsmodus hält die Master-Station
(z.B. 40c, d) das Potenzial des ersten Taktsignalleiters
SCLk auf einem niedrigen Pegel, d.h. auf dem Pegel, der angibt, dass
keine gültigen
Daten auf dem Datensignalleiter SDA vorhanden sind.
-
In
der Ausführungsform
aus 5 beginnt eine Übertragung im Hochgeschwindigkeitsmodus
mit einer erneuten Startbedingung, die als ein Pegelübergang
des Potenzials des Datensignalleiters SDA ausgeführt wird, wenn das Potenzial
des zweiten Taktsignalleiters SCLm hoch ist. Auf die erneute Startbedingung folgt
die Übertragung
einer Slave-Adresse einer Slave-Station (z.B. 40e, f),
die von der Master-Station erzeugt wird, indem Taktimpulse auf dem
zweiten Taktsignalleiter SCLm erzeugt und während des Hochpegels aufeinander
folgender Taktimpulse aufeinander folgende Bits der Slave-Adresse geliefert
werden. Die Slave-Stationen (z.B. 40e, f), die Informationen
mit hoher Geschwindigkeit übertragen
können, überwachen
die übertragene
Adresse, und ein Slave, der seine eigene Adresse erkennt, beginnt,
an der Informationsübertragung
teilzunehmen. Die Übertragung
kann von der Master-Station (z.B. 40c, d) zur Slave-Station
(z.B. 40e, f) oder umgekehrt stattfinden, wie in der I2C-Spezifikation
definiert, ausgenommen, es wird nur der zweite Taktsignalleiter SCLm
benutzt, der im Gegentakt angesteuert werden kann.
-
Wenn
die Master-Station (z.B. 40c, d) fertig ist, verlässt sie
den Hochgeschwindigkeitsmodus (zum Zeitpunkt tk) und signalisiert
mit Hilfe einer Stoppbedingung 56 das Ende der Nachricht.
Zur Stoppbedingung 56 gehört ein Pegelübergang
auf dem Datensignalleiter SDA, wenn das Potenzial beider Taktsignalleiter SCLm,
SCLk hoch ist, d.h. auf dem Pegel, der normalerweise gültige Daten
angibt (falls alle Stationen 40a–f mit dem ersten Taktsignalleiter
SCLk verbunden sind, reicht ein hoher Pegel an diesem Taktsignalleiter
aus). Der Pegelübergang
auf dem Datensignalleiter während
der Stoppbedingung ist demjenigen während der Startbedingung 50 entgegengesetzt.
-
Alle
Stationen 40a–f
erkennen die Stoppbedingung 56. Danach steht es den Master-Stationen 40a–f frei,
erneut die Kontrolle über
den Bus zu erlangen, und die Slave-Stationen 40a–f überwachen
den Bus auf neue Nachrichten, um festzustellen, ob sie aufgefordert
werden, an einer Informationsübertragung
teilzunehmen.
-
Wenn
eine Master-Station 40a–f die Kontrolle über den
Bus erlangt hat, kann sie auch beschließen, Informationen mit einer
geringen Taktgeschwindigkeit zu übertragen
(d.h. weniger als 1 MHz, zum Beispiel 100 bis 400 KBit pro Sekunde),
beispielsweise, weil die an einer Informationsübertragung beteiligte Slave-Station Informationen
nur mit geringer Geschwindigkeit und nicht mit Hochgeschwindigkeit
(z.B. mehr als 1 MHz, zum Beispiel 4 MBit pro Sekunde) übertragen
kann, oder weil der Master selbst nur mit geringer Geschwindigkeit übertragen
kann. In diesem Fall benutzt die Master-Station 40a–f den ersten
Taktsignalleiter SCLk, um Taktimpulse weiterzuleiten, die die Slave-Adresse
und alle zu übertragenden
Informationen definieren, wie im Wesentlichen für I2C spezifiziert.
-
Zwischen
der anfänglichen
Startbedingung 50 und der Stoppbedingung 56 kann
die Master-Station 40a–f
die die Kontrolle über
den Bus erlangt hat, eine beliebige Anzahl zusätzlicher Startbedingungen erzeugen,
gefolgt von der Übertragung
einer Slave-Adresse
und einer Informationsübertragung,
ohne erneut an einer Entscheidung bezüglich der Kontrolle über den
Bus teilnehmen zu müssen.
Je nachdem, ob die auf eine zusätzliche
Startbedingung folgende Informationsübertragung mit geringer oder
hoher Geschwindigkeit stattfindet, wird das Potenzial des ersten
Taktsignalleiters SCLk oder des zweiten Taktsignalleiters SCLm während einer
zusätzlichen
Startbedingung auf einem hohen Pegel gehal ten. Auf diese Weise kann
in einer Nachricht jede Kombination aus Hoch- und Niedriggeschwindigkeitsübertragungen
benutzt werden.
-
Stationen 40a–f, die
nur einen Taktsignalleiter SCLk oder SCLm überwachen, werden keine Adressierung
und Nachrichtenübertragung
erkennen, die den Taktsignalleiter SCLk oder SCLm betreffen, den
sie nicht überwachen.
Solche Stationen warten so lange weiter auf eine entsprechende Adresse
oder Information, bis sie eine Stoppbedingung 56 empfangen.
-
Wenn
mehr als zwei unterschiedliche Taktgeschwindigkeiten bei Stationen
zu benutzen sind, die Informationen nur mit der niedrigsten Geschwindigkeit
oder nur mit der niedrigsten und der mittleren oder mit mehreren
Geschwindigkeiten übertragen
können,
kann man im Prinzip eine entsprechend größere Anzahl von Taktsignalleitern
benutzen, jeden für
eine bestimmte Geschwindigkeit, wobei die anfängliche Startbedingung, jede
Entscheidung und die Stoppbedingung nur die niedrigste Geschwindigkeit
betreffen.
-
4 ist
zu entnehmen, dass die Master-Stationen (z.B. 40c, d),
die Informationen mit hoher Geschwindigkeit übertragen können, Verbindungen zu allen
Taktsignalleitern haben, um in der Lage zu sein, allen Stationen 40a–f den Beginn
einer Nachricht zu signalisieren, eine Entscheidung durchzuführen und
Informationen an alle anderen Stationen 40a–f zu übertragen.
Stationen 40c, d, die Informationen nur mit niedriger Geschwindigkeit übertragen
können,
sind nur mit dem ersten Taktsignalleiter SCLk verbunden. Zu diesen
Stationen können
Master-Stationen gehören,
die dann Informationen nur mit niedriger Geschwindigkeit übertragen können. Slave-Stationen 40a,
b, die Informationen mit hoher Geschwindigkeit übertragen können, die sich nicht um die
Kontrolle über
den Bus zu bemühen
brauchen und nur mit Master-Stationen kommunizieren müssen, die
Informationen mit hoher Geschwindigkeit übertragen können, müssen nur mit dem zweiten Taktsignalleiter
SCLm verbunden sein.
-
6 zeigt
eine Ausführungsform
einer Master-Station 60 mit einer Schnittstelle zum Bus
SDA SCLm, SCLk. Die Master-Station 60 enthält eine
Steuer/Funktionseinheit 61. Darüber hinaus enthält die Master-Station 60 eine
Gegentaktstufe mit einem PMOS-Transistor 67 und einem NMOS-Transistor 66,
deren Kanäle
zwischen zwei Stromversorgungsanschlüssen (Vdd und Vss) in Reihe
geschaltet sind. Die Steuer/Funktionseinheit 61 hat eine
Verbindung zu jeder der Gate-Elektroden des PMOS-Transistors 67 und NMOS-Transistors 66.
Ein Knotenpunkt zwischen dem PMOS- Transistor 67 und dem NMOS-Transistor 66 ist
mit dem Datensignalleiter SDA und einem Eingang der Steuer/Funktionseinheit 61 gekoppelt.
-
Darüber hinaus
enthält
die Master-Station 60 eine zweite Gegentaktstufe mit einem
PMOS-Transistor 64 und einem NMOS-Transistor 63,
deren Kanäle
zwischen zwei Stromversorgungsanschlüssen in Reihe geschaltet sind.
Die Steuer/Funktionseinheit 60 hat eine Verbindung zu jeder
der Gate-Elektroden des PMOS-Transistors 64 und NMOS-Transistors 63.
Ein Knotenpunkt zwischen dem PMOS-Transistor 64 und dem
NMOS-Transistor 63 ist
mit dem zweiten Taktsignalleiter SCLm für eine Hochgeschwindigkeitstaktung und
der Steuer/Funktionseinheit 61 gekoppelt.
-
Die
Master-Station 60 enthält
einen Pull-Down-NMOS-Transistor 62 mit einem Kanal, der
zwischen einen der Stromversorgungsanschlüsse (Vss) und den ersten Taktsignalleiter
(SCLk) für
eine Niedriggeschwindigkeitstaktung geschaltet ist. Die Steuer/Funktionseinheit 61 hat
einen Ausgang, der mit der Gate-Elektrode des Pull-Down-NMOS-Transistors 62 gekoppelt
ist. Der erste Taktsignalleiter ist mit einem Eingang der Steuer/Funktionseinheit 61 gekoppelt.
-
Die
Master-Station 60 enthält
einen NMOS-Pass-Transistor 65 mit einem Kanal, der zwischen
den ersten Taktsignalleiter SCLk und den zweiten Taktsignalleiter
SCLm geschaltet ist. Eine Gate-Elektrode des Pass-Transistors 65 ist
mit der Steuer/Funktionseinheit 61 gekoppelt.
-
Im
Betrieb überwacht
die Steuer/Funktionseinheit 61 den Bus SDA, SCLm, SCLk,
um festzustellen, ob eine Nachricht gesendet wird oder ob es gestattet
ist, zu versuchen, die Kontrolle über den Bus SDA, SCLm, SCLk
zu erlangen. Wenn die Master-Station 60 eine Nachricht
senden möchte
und es gestattet ist, die Kontrolle über den Bus SDA, SCLm, SCLk
zu erlangen, signalisiert sie eine Startbedingung, indem sie den NMOS-Transistor 66 in
der ersten Gegentaktstufe leitend macht, um das Potenzial des Datensignalleiters
SDA herunterzuziehen. Der PMOS-Transistor 67 in der ersten
Gegentaktstufe wird nicht-leitend gehalten. Die Transistoren 63, 64 in
der zweiten Gegentaktstufe werden nich-leitend gehalten und der Pull-Down-Transistor 62 wird
nicht-leitend gehalten, so dass das Potenzial auf den Taktsignalleitern
SCLk, SCLm durch Pull-Up-Widerstände,
die mit diesen Leitern SCLk, SCLm verbunden sind, hoch gehalten
werden kann. Die Steuer/Funktionseinheit 61 kann den Pass-Transistor 65 leitend
halten. Folglich benutzt die Steuer/Funktionseinheit 61 während der
Entscheidung den NMOS-Transistor 63 in der zweiten Gegentaktstufe
und den Pull-Down-Transistor 62, um auf beiden Taktsignalleitern SCLm,
SCLk Taktimpulse zu erzeugen. Der NMOS-Transistor 66 der
ersten Gegentaktstufe wird benutzt, um den Code der Master-Station 60 auf
den Datensignalleiter SDA zu geben. Die PMOS-Transistoren 64, 67 in
den ersten und zweiten Gegentakttransistoren werden zu diesem Zeitpunkt weiterhin
nicht-leitend gehalten.
-
Während der
Entscheidung überwacht
die Steuer/Funktionseinheit 61 den Bus SDA, SCLk, SCLm,
um festzustellen, ob die Master-Station 60 die Kontrolle über den
Bus erlangt hat. Wenn dies geschehen ist und die Master-Station
Informationen mit einem hohen Geschwindigkeitstakt über den
Bus übertragen
muss, macht die Steuer/Funktionseinheit 61 den Pass-Transistor 62 und
den Pull-Down-Transistor 62 nicht-leitend.
-
Anschließend beginnt
die Steuer/Funktionseinheit damit, sowohl mittels des NMOS-Transistors 63 als auch
des PMOS-Transistors 64 der zweiten Gegentaktstufen Taktimpulse über den
zweiten Taktsignalleiter SCLm zu senden. Die Benutzung sowohl des
NMOS-Transistors 63 als auch des PMOS-Transistors 64 ermöglicht es,
kürzere
Taktimpulse zu erzeugen, als dies nur mit dem NMOS-Transistor 63 und
einem Pull-Up-Widerstand
möglich
wäre. Die
Benutzung des PMOS-Transistors 64 ist gestattet, weil die
Master-Station 60 sicher weiß, dass keine andere Station
das Potenzial des zweiten Taktsignalleiters SCLm herunterziehen
wird, nachdem die Master-Station die Entscheidungsperiode einmal
beendet hat. Wenn der Master Informationen zum Slave überträgt, werden
mit Hilfe beider Transistoren 66, 67 der ersten
Gegentaktstufe Bits auf den Datensignalleiter SDA geschrieben. Dies
ist aus demselben Grund wie die Benutzung der zweiten Gegentaktstufe gestattet
und beschleunigt zudem die Übertragung.
Wenn die Slave-Station Informationen zur Master-Station überträgt, kann
die Slave-Station eine ähnliche
Gegentaktstufe wie die Master-Station benutzen.
-
Die
Frequenz von Potenzialänderungen
auf dem Datensignalleiter darf auf dem Taktsignalleiter nur die Hälfte betragen.
Für eine
maximale Geschwindigkeit ist es daher wichtig, dass der Master den
Taktsignalleiter SCLm mittels Gegentakt ansteuert, anstatt den Datensignalleiter
mittels Gegentakt anzusteuern. Weil die Taktsignalleiter im Hochgeschwindigkeitsmodus
voneinander getrennt sind, verringert sich die kapazitive Last des Taktausgangs
der Master-Station, und die Geschwindigkeit des Taktsignals kann
hoch sein. Eine ähnliche
Verringerung der kapazitiven Last des Datensignalleiters SDA ist
nicht erforderlich, weil sich das Signal auf dem Datensignalleiter
SDA langsamer ändert
und der Datensignalleiter deshalb ungeteilt bleiben kann. Um jedoch das
Fehlerrisiko durch lang saure Stationen aufgrund von Hochfrequenzübergängen auf
dem Datensignalleiter zu verringern, kann man auch den Datensignalleiter
SDA in zwei Abschnitte aufteilen, wobei ein Abschnitt mit den Stationen
verbunden ist, die nur mit dem einen Taktsignalleiter SCLk verbunden
sind, und der andere Abschnitt mit den beiden anderen Stationen
verbunden ist. Zwischen den beiden Abschnitten befindet sich eine Brückenstation,
die die beiden Abschnitte verbindet oder isoliert, je nachdem, ob
die Brückenstation
anhand der Entscheidung feststellt, dass eine Hochgeschwindigkeitsübertragung
stattfinden wird.
-
Nach
jeweils acht Bits wird der empfangenden Station gestattet, den Empfang
dieser Bits zu quittieren. Zu diesem Zweck gibt die Master-Station
jedes Mal einen neunten Taktimpuls auf den zweiten Taktsignalleiter SCLm.
Die empfangende Station quittiert dies, indem sie das Potenzial
auf dem Datensignalleiter SDA während
des neunten Taktimpulses niedrig hält. In einer Ausführungsform
kann die Master-Station 60 das langsamere Hochziehen des
Datensignalleiters SDA zulassen, falls keine Quittung gegeben wird,
wobei in diesem Fall die Master-Station 60 das Vorquittierungszeitintervall
zwischen dem achten und dem neunten Taktimpuls länger als die Zeitintervalle
zwischen den anderen Taktimpulsen macht. Dieses Vorquittierungszeitintervall
ist vorzugsweise mindestens zweimal so groß wie die anderen Zeitintervalle,
was sich problemlos realisieren lässt, indem ein Taktimpuls zwischen
dem achten und dem neunten Taktimpuls übersprungen wird.
-
Eine
Master-Station, wie sie in 6 dargestellt
ist, kann auch in Geräten
mit Stationen benutzt werden, die Übertragungen nur mit niedriger
Geschwindigkeit oder nur mit hoher Geschwindigkeit durchführen können, wobei
in einem solchen Fall jeweils der erste Taktsignalleiter SCLk oder
der zweite Taktsignalleiter SCLk beim Gerät in der Regel weggelassen
wird.
-
Text in der
Zeichnung
-
1
-
-
2
-
-
- F/Smode
- F/S-Betriebsart
- Hs-mode
- Hochgeschwindigkeitsbetriebsart