Forum: Mikrocontroller und Digitale Elektronik I2C 2 Draht - 3 Draht


von Bernhard S. (dk9nw)


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

von Ralf S. (spacedog) Benutzerseite


Lesenswert?

Captain Obvious Strikes Back

Ab nächsten Donnerstag in deinem Kino!

von ARM-Fan (Gast)


Lesenswert?

ROFL

Ich hatte auch schon überlegt, was man auf den Post antworten sollte.
Aber Captain Obvious kannte ich wirklich noch nicht :-)

von Max (Gast)


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

von (prx) A. K. (prx)


Lesenswert?

Max wrote:

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

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

von Klauli (Gast)


Lesenswert?

Und wo kommen beim SPI Pullups hin?

von LOL (Gast)


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.

von Max (Gast)


Lesenswert?

Ohh was ist mit optischen Masseschleifen, die erzeugen immer so ein 
Brummen... ;)

von Peter D. (peda)


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

von Bernhard S. (dk9nw)


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

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.