Forum: Mikrocontroller und Digitale Elektronik I2C Routing mehrere Slaves


von John_34 (Gast)


Lesenswert?

Hallo,

ich habe eine Platine auf der ich mehrere I2C Slaves (3 Stk.) an 
unterschiedlichen Stellen habe.

Kann ich die Leiterbahnen vom uC jeweils im Stich zu jedem der Slaves 
legen, oder muss ich zuerst an den ersten, dann an den zweiten usw. ?

von Kastanie (Gast)


Lesenswert?

John_34 schrieb:
> Kann ich die Leiterbahnen vom uC jeweils im Stich zu jedem der Slaves
> legen

Ja!

von Johnny B. (johnnyb)


Lesenswert?

John_34 schrieb:
> Kann ich die Leiterbahnen vom uC jeweils im Stich zu jedem der Slaves
> legen, oder muss ich zuerst an den ersten, dann an den zweiten usw. ?

Sofern Du nur die langsameren Geschwindigkeiten nutzt (< 400kbps) und 
die Leitungslängen sich im Rahmen bewegen, spielt die Verdrahtung keine 
Rolle.

von Klaus (Gast)


Lesenswert?

Johnny B. schrieb:
> Sofern Du nur die langsameren Geschwindigkeiten nutzt (< 400kbps) und
> die Leitungslängen sich im Rahmen bewegen, spielt die Verdrahtung keine
> Rolle.

So pingelig würd ich nicht sein. Selbst beim guten alten Z80 hatten 
manche Steuersignale mehrere Megahertz und die Boards leicht A4-Blatt 
Größe. Das hat auch alles, selbst gewrapt funktioniert.

MfG Klaus

von John_34 (Gast)


Lesenswert?

Danke!

von c-hater (Gast)


Lesenswert?

John_34 schrieb:

> ich habe eine Platine auf der ich mehrere I2C Slaves (3 Stk.) an
> unterschiedlichen Stellen habe.
>
> Kann ich die Leiterbahnen vom uC jeweils im Stich zu jedem der Slaves
> legen, oder muss ich zuerst an den ersten, dann an den zweiten usw. ?

Du kannst im Prinzip machen, was du willst. Schlimmstenfalls musst du 
dich mit einer geringeren I2C-Bitrate abfinden als prinzipiell möglich.

Ich würde es aber gleich richtig machen: sprich: "BUS-Layout". Und das 
dann noch dadurch toppen, dass die Pullups in zwei Hälten (mit doppeltem 
Widerstandswert) aufgeteilt werden, wovon jede Hälfte an ein Busende 
kommt.

Nein, wirklich nötig ist so ein Layout in den allermeisten Fällen 
natürlich nicht. Sicher ist aber auch: es schadet garantiert nicht...

von Klaus (Gast)


Lesenswert?

c-hater schrieb:
> Ich würde es aber gleich richtig machen: sprich: "BUS-Layout". Und das
> dann noch dadurch toppen, dass die Pullups in zwei Hälten (mit doppeltem
> Widerstandswert) aufgeteilt werden, wovon jede Hälfte an ein Busende
> kommt.

Wenn schon dann SCL und SDA möglichst weit auseinader oder eine 
Masseleitung dazwischen. Das Übersprechen von SCL auf SDA ist eines der 
häufigsten Probleme bei I2C. Die OC Struktur ist da besonders anfällig.

MfG Klaus

von c-hater (Gast)


Lesenswert?

Klaus schrieb:

> Wenn schon dann SCL und SDA möglichst weit auseinader oder eine
> Masseleitung dazwischen.

Letzteres natürlich.

> Das Übersprechen von SCL auf SDA ist eines der
> häufigsten Probleme bei I2C. Die OC Struktur ist da besonders anfällig.

Jepp, völlig korrekt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.