I2C wie lang oder wie kurz

Gast #1615426
Lesenswert?

Hallo,

ich hab hier im Forum verschiedene Meinungen zu I2C als Hausbus gelesen.
Einerseits sei es nur für eine Verbindung auf der selben Platine 
gedacht, anderer seits sind auch größere Strecken möglich.

Also was denn nun? Ich würde es für eine Verbindung von etwa 5 Metern 
benötigen. Es geht nicht um leben und tot, also eine 99.99%ige 
Zuverlässigkeit muss garnich sein.. Dennoch so gut wie möglich bitte ;)

Viele Grüße,
Chris
#1615650
Lesenswert?

fchriis schrieb:
> Also was denn nun? Ich würde es für eine Verbindung von etwa 5 Metern
> benötigen. Es geht nicht um leben und tot, also eine 99.99%ige
> Zuverlässigkeit muss garnich sein.. Dennoch so gut wie möglich bitte ;)
Für längere Strecken gibt es Treiber Bausteine die I2C ähnlich umsetzen 
wie RS485.
Gast #1615678
Lesenswert?

Das Problem ist die Buskapazität, die die Flankananstiegszeit erhöht.
I2C-Bus darf laut Spezifikation 400pF Buskapazität haben. Ein Teilnehmer 
hat etwa 10pF und Kabel schlagen mit etwa 150pF pro Meter zu Buche. Wenn 
es ne Hobbyanwendung ist sollten 5m aber trotzdem kein Problem sein. 
Setze die Pull-Ups auf 3,3k und die Baudrate auf 10kBit/s. Falls dir die 
Übertragungsgeschwindigkeit genügt. Ich denke damit könntest du sogar 
noch bisschen mehr Entfernung schaffen. Einfach mal probieren. :)
Alternativ gibt es eben Treiber-IC, die du für die höheren Entfernungen 
nutzen könnetst. Da steigt die mögliche Entfernung etwa um den Faktor 
10.
#1615758
Lesenswert?

Hallo Chris,
bei mir im Haus sind ca. 120m I2C-Busleitung verlegt. Sowohl Master als 
auch Slaves sind mit dem Reichweitenextender P82B715 ausgestattet. Der 
Bustakt liegt bei ca. 90 kHz. Fehlübertragungen sind mir in den letzten 
12 Jahren! nicht aufgefallen. Und bei mir hängen immerhin 18 Slaves am 
Bus. Die Pull-up Widerstände von SCL und SDA auf der "Langstreckenseite" 
habe ich auf 150 Ohm reduziert (also zwischen den Extendern). Zwischen 
Master und Extender habe ich als Pull-up Widerstände 2,2k eingesetzt, 
zwischen Extender und Slave keine. Reihenwiderstände sind keine 
vorhanden. Die Busleitung sollte aber geschirmt sein.
Gast #1615775
Lesenswert?

Vielen dank für eure Antworten.
Den Baustein werd ich mir auch anschauen.

Zur Schirmung: Ich hab vor CAT5 Kabel zu verlegen (da ich sie schon da 
habe). Reicht deren Schirmung?

Und hat es Vor- oder Nachteile die einzelnen Adern des Kabels zusammen 
zu nehmen? Also ich mein mehrere Adern für eine Leitung.
Gast #1723345
Lesenswert?

Hallo Chris,
wie Lars schon schrieb, entscheidend für die maximale Länge des Kabels 
sind die Buskapazität und die Übertragungsrate. Bei mir läuft ein I2C 
Bus ohne Reichweitenextender seit Jahren im Haus störungsfrei. Länge ca. 
50 m, Geschwindigkeit ca. 1 kHz. Allerdings mit Pull-up zu +12V, 
entsprechenden Zehner Dioden (5V) und Serienwiderstand 110 Ohm. 
Theoretisch sind damit bis zu 500 m bei Cat 6 Kabel drin (mit 
entsprechendem Treiber beim Master). Entsprechende Reichweitentests mit 
Dokumentation kannst du über meine Homepage downloaden 
(hauscomputer.gmxhome.de)
Gast #1723851
Lesenswert?

@fchriis

Mit entsprechenden Treibern können Leitungslängen von weit über 100 m
bei 100kHz erreicht werden.

Leitungs-Treiber:
P 82B96    I²C-Bus Repeater/Hubs/Extenders (von mir bevorzugt verwendet)
P 82B715   I²C bus extender

Gruss Ralf

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