I2C 2 Draht - 3 Draht

OP #1139573
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
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
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.
Gast
> 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.
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
OP
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.