I2C 2 Draht - 3 Draht

#1139573
Lesenswert?

Hallo zusammen,

Eigentlich was ganz Triviales zum Thema I2C Busverbindung

Wie schon öfters beschrieben, habe ich mich auf folgendes bezogen:
http://www.roboternetz.de/wissen/index.php/I2C#Bit.C3.BCbertragung

Wie man in der Grafik schön sieht, gibt es zwei Leitungen SDA und SCL.

Das verleitet natürlich, auch nur zwei Leitungen zu verwenden und
wundert sich dann, daß die Sache nicht funktioniert.

Ich hatte zwei ATMEGA644p auf zwei galvanisch getrennten Platinen.
Jede Platine hat ihre eigene Stromversorgung.

So geht das aber nicht. Es fehlt die Masseverbindung. Also braucht man
letzten Endes doch mindestens drei Leitungen. SDA,SCL und Masse.

Ist natürlich trivial, aber vielleicht passiert ja jemand anderem
auch dieses Missgeschick.

Und noch was. Nicht vergessen, die beiden Pullup Widerstände
(z.B. 1kOhm) gegen +5V.

ciao
Bernhard
Gast #1139752
Lesenswert?

Hallo zusammen,

Eigentlich was ganz Triviales zum Thema SPI Busverbindung

Wie schon öfters beschrieben, habe ich mich auf folgendes bezogen:
http://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/SPI_Stern.svg/600px-SPI_Stern.svg.png

Wie man in der Grafik schön sieht, gibt es vier Leitungen SCK, MOSI, 
MISO und SS.

Das verleitet natürlich, auch nur vier Leitungen zu verwenden und
wundert sich dann, daß die Sache nicht funktioniert.

Ich hatte zwei ATMEGA644p auf zwei galvanisch getrennten Platinen.
Jede Platine hat ihre eigene Stromversorgung.

So geht das aber nicht. Es fehlt die Masseverbindung. Also braucht man
letzten Endes doch mindestens fünf Leitungen.SCK, MOSI, MISO und SS  und 
Masse. (Bei zwei Geräten eigentlich noch nichtmal SS)

Ist natürlich trivial, aber vielleicht passiert ja jemand anderem
auch dieses Missgeschick.


ciao
Max
Gast #1139775
Lesenswert?

> Musst nur Lichtwellenleiter verwenden und schon geht's. Ist bei I2C aber
> etwas schwieriger als bei SPI.

Da wird die optische Masseverbindung ja noch komplizierter.
Und von den optischen Pullup-Widerständen gar nicht zu reden.
#1139846
Lesenswert?

Ich denke mal, das ist ein absolutes Anfängerproblem, obgleich ich von 
sowas bisher noch nie gehört hatte.

Wer sich mit elektronischen Schaltungen beschäftigt, der merkt schnell, 
daß nur die Signale gezählt werden.
Und in Schaltplänen werden VCC/GND oft nichtmal eingezeichnet, erst auf 
dem PCB sind sie verbunden.


Peter
#1139933
Lesenswert?

Hallo Peter,

Es ist ein Anfängerproblem. ok. Ist aber nicht nur mir passiert.
I2C ist eben kein symmetrischer Bus.
Wenn die Sensoren weit abgesetzt mit eigener Batterieversorgung 
arbeiten, kann es schon passieren, daß zum Beispiel bei Twisted-Pair 
Kabel vergessen wird, die Masse von board zu board durchzuschleifen.
I2C funktioniert dann übrigens immer noch.
Je nach dem, wie hochohmig die Masseverbindungen sind.
Aber die Datenübertagung ist dann nicht mehr betriebssicher.

Bernhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren