Forum: Mikrocontroller und Digitale Elektronik I2C Bus längere Reichweite


von Nico H. (nico95_h)


Lesenswert?

Hallo zusammen. Gibt es eine Möglichkeit ein I2C Bus auf bis zu 50 Meter 
zu verlängern.

von Cyblord -. (cyblord)


Lesenswert?

Nico Herpers schrieb:
> Hallo zusammen. Gibt es eine Möglichkeit ein I2C Bus auf bis zu 50 Meter
> zu verlängern.

Schon mal mit nem Kabel versucht?

von Falk B. (falk)


Lesenswert?

@ Nico Herpers (nico95_h)

>Hallo zusammen. Gibt es eine Möglichkeit ein I2C Bus auf bis zu 50 Meter
>zu verlängern.

Es gahen auch 500m wenn es sein muss. Man muss halt mit der Taktfrequenz 
runtergehen, weil die steigende Flanke durch den eher schwachen Pull-Up 
und die Kabelkapazität recht lahm wird.

von Rainer (Gast)


Lesenswert?

Es gibt I²C-Bus extender, wie den P82B715.
Vielleicht erreichst du damit ja deine 50m. Ansonsten hilft, wie Falk 
bereits sagte, vermutlich nur mit der Taktfrequenz runter zu gehen.

Gruß
Rainer

von Achim (Gast)


Lesenswert?

Hallo Nico
das geht eigentlich ohne Probleme. Man kann den P82B715 nehmen. da mit 
kommt man auf ca. 5 bis 10m. Dann gibts noch den P82B96. Damit können ca 
50 bis 200m möglich sein. Ein Problem kann dabei die Betriebsspannung 
sein.
achim

von Hoppel (Gast)


Lesenswert?

Nico Herpers schrieb:
> Gibt es eine Möglichkeit ein I2C Bus auf bis zu 50 Meter
> zu verlängern.

Wenn Du blutiger Anfänger bist, wenig Ahnung von EMV und 
Schaltungstechnik hast und trotzdem eine stabile Lösung suchst, dann 
rate ich Dir: Vergiss es!

Wenn Du aber der absolute Crack in der Schaltungstechnik bist und Du 
sämtliche EMV-Normen auswendig kennst, dann kannst Du es machen. Dabei 
frage ich mich aber, wieso stellst Du diese Frage und nimmst nicht 
gleich eine RS485-Übertragung?

von HildeK (Gast)


Lesenswert?

I²C ist entwickelt worden für die Kommunikation innerhalb einer Platine 
- eher nicht für 50m Entfernung. Das heißt nicht, dass es nicht trotzdem 
gehen kann.
Auf jeden Fall solltest du die einzelnen Busteilnehmer dahingehend 
prüfen, welchen minimalen Pullup man verwenden darf. Laut I²C-Spec von 
NXP sollten da noch knapp 1kΩ möglich sein.
Niedrige Taktfrequenz wurde ja schon erwähnt.

Hoppel schrieb:
> Wenn Du blutiger Anfänger bist, wenig Ahnung von EMV und
> Schaltungstechnik hast und trotzdem eine stabile Lösung suchst, dann
> rate ich Dir: Vergiss es!

Schon ein wenig heftig - oder?
Man kämfpt hier eher mit noch akzeptablen Anstiegszeiten, bei teifsten 
Wiederholfrequenzen. Da ist EMV das kleinste Problem.

von Jobst Q. (joquis)


Lesenswert?

Entscheidend ist eine niedrige Taktfrequenz und ein niedriger 
PullUp-Widerstand.

Ich hatte ein System mit P82B715 (Stromextendern) und 330 Ohm PullUps, 
da gab es bis 100m keinerlei Probleme.

Für noch größere Entfernungen kann man die CAN-Physik verwenden:#

http://www.cctools.eu/ext_index.php?artikel=1823

von Jobst Q. (joquis)


Lesenswert?

Hoppel schrieb:
> Wenn Du aber der absolute Crack in der Schaltungstechnik bist und Du
> sämtliche EMV-Normen auswendig kennst, dann kannst Du es machen. Dabei
> frage ich mich aber, wieso stellst Du diese Frage und nimmst nicht
> gleich eine RS485-Übertragung?

Vielleicht weil es fertige ICs aller Einsatzgebiete gibt, die man mit 
I2C ansprechen kann, mit RS485 aber nicht ?

von Stefan B. (sibbl) Benutzerseite


Lesenswert?

Bei mir hat der PCA9600 geholfen.
Laut Datenblatt bis 250m geeignet.

: Bearbeitet durch User
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.