HALBLEITERHEFT2000
97
7-8/2000
Elektor
Von Gregor Kleine
Wer große I
2
C-Bus-Strukturen aufbauen will, hat manchmal
das Problem, dass die vier oder acht Adressen eines Bau-
steintyps nicht ausreichen oder dass die kapazitive Last auf
den beiden Leitungen SDA und SCL sehr groß ist und damit
die Taktfrequenz des Busses niedrig gewählt werden muss.
Die hier gezeigten Bausteine ermöglichen nun das Auftrennen
eines großen I
2
C-Bus-Systems in mehrere Teilbereiche. Die
Multiplexer schalten den I
2
C-Bus-Controller dann auf die
jeweils anzusprechende Teilstruktur.
Auch kommt es vor, dass Teile des I
2
C-Busses an 3 V und
andere an 5 V betrieben werden müssen. Hier helfen die Mul-
tiplexer, da sie an ihren Ein- und Ausgängen mit 5-V-Signalen
belastet werden dürfen, obwohl der Multiplexer selbst nur mit
+3 V betrieben wird ist.
Die beiden Bausteine PCA 9542 und PCA 9544 (Bild 1) enthal-
ten einen 1-auf-2- beziehungsweise 1-auf-4-Multiplexer für die
beiden bidirektionalen Leitungen SDA und SCL. Die Bausteine
selbst können an Betriebsspannungen zwischen 2,5 V und 3,6
V benutzt werden, nominell also 3 V. Beim Anlegen der
Betriebsspannung sind die angeschlossenen I
2
C-Inseln
zunächst abgeklemmt; der Multiplexer ist hochohmig. Erst das
Ansprechen des ICs mit seiner eigenen I
2
C-Adresse und
einem steuernden Control-Byte erlaubt es dann, eines der
zwei/vier angeschlossenen I
2
C-Leitungspärchen auf den
Haupt-I
2
C-Bus durchzuschalten. Um Störungen der Datenü-
bertragung auf dem Bus zu vermeiden, geschieht dies aber
erst nach dem folgenden Stopp-Zustand, wenn der I
2
C-Bus
wieder frei ist.
Die Multiplexer-ICs besitzen drei Adressanschlüsse A0, A1
und A2, so dass bis zu acht PCA 954x parallel betrieben wer-
den können. Auch für die Verarbeitung von Interrupts ist
gesorgt: Zu jedem der I
2
C-Teilbereiche gehört eine eigene
Interrupt-Leitung, die per UND-Verknüpfung mit allen ande-
ren Teilen verknüpft ist. Der Teil-I
2
C-Bus, aus dem der Inter-
rupt kommt, braucht nicht notwendigerweise aktiv geschal-
tet sein. Dieses Summensignal gelangt über einen Open-Drain-
Ausgang an den Interrupt-Eingang des Controllers. Der kann
so einen Interrupt irgendwo im Gesamtsystem feststellen und
muss dann durch Abfrage des
Multiplexers durch Auslesen
des Control-Bytes herausfin-
den, aus welchem Teil-I
2
C-Bus
der Interrupt kam. Danach
fragt er dann die Bausteine
des so gefundenen Teilnetzes
ab. Bei I
2
C-Bus wird die Inter-
ruptleitung erst wieder freige-
geben, wenn der auslösende
Baustein angesprochen und
der Interrupt quittiert worden
ist. Liegen bis dahin weitere
Interrupts vor, bleibt die Inter-
ruptleitung auf Low und der
Controller muss erneut nach
dem auslösenden I
2
C-Bau-
stein suchen.
Ein Beispiel für einen I
2
C-Bus
mit einem ersten Teil, der an
+3 V arbeitet, und einem
zweiten, der mit +5-V-Pull-Up-
Widerständen beschaltet ist,
zeigt Bild 2. Beachtet werden muss, dass die Pull-Up-Wider-
stände zwischen Controller und Multiplexer PCA 9542 not-
wendig sind, um nach dem Hochfahren der 3-V-Betriebsspan-
nung den noch nicht durchgeschalteten Multiplexer ein erstes
Mal anzusprechen. Sind sie hochohmiger (hier Faktor 10) als
die Pull-Ups der Teilnetze, so kann die Spannung im +5-V-Teil-
system noch ausreichend hoch ansteigen.
Der PCA 9542 wird im TSSOP-14-Gehäuse, der PCA 9544 im
TSSOP-20-Gehäuse geliefert. Weitere Infos gibt es unter
www.semiconductors.philips.com
(004047)rg
100n
2V5 - 3V6
004047 - 11a
PCA9542
LOGIC
INT0
INT1
INT
VSS
SCL
SDA
SC1
SD1
SC0
SD0
VDD
A0
A1
A2
11
12
13
10
14
1
2
3
4
8
7
9
6
5
100n
2V5 - 3V6
004047 - 11b
PCA9544
LOGIC
INT0
INT1
INT2
INT3
INT
VSS
SCL
SDA
SC1
SD1
SC0
SD0
VDD
SC2
SD2
SC3
SD3
A0
A1
A2
17
18
19
20
10
13
12
16
15
11
14
9
1
2
3
4
7
8
6
5
100n
22k
22k
3V
2k2
2k2
2k2
2k2
3V
3V
3V
5V
5V
5V
PCA9542
INT0
INT1
INT
SCL
SDA
SC1
SD1
SC0
SD0
VDD
VSS
A0
A1
A2
11
12
13
10
14
1
2
3
4
8
9
6
5
7
Master
I C-
INT
SDA
SCL
2
004047 - 12
3V
VDD
VSS
INT
SCL
SDA
VDD
VSS
INT
SCL
SDA
VDD
VSS
INT
SCL
SDA
VDD
VSS
INT
SCL
SDA
VDD
VSS
INT
SCL
SDA
I
2
C-Multiplexer
096