mikrocontroller.net

Forum: Haus & Smart Home I2C wie lang oder wie kurz


Autor: fchriis (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Remote One (remote1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
5m scheint mir um Faktor 10 zu lang. Aber was hindert dich daran die 
Frequenz extrem langsam zu machen und es zu testen?

Autor: fchriis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab im moment nichts da um es zu testen. und würde erst bestellen, 
wenn es auch in der theorie hinhaut.

an übertragungsrate wären 37 Byte pro Sekunde wünschenswert

Autor: Remote One (remote1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du auf Nummer sicher gehen willst, dann nimm RS232 oder RS485. Ich 
würde es nicht riskieren.

Autor: fchriis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bei RS232 hab ich halt das problem, dass es ja für eine kommunikation 
zwischen 2 geräten gedacht ist. wünschenswert wäre ja multimaster

Autor: Remote One (remote1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann setz dir doch ein eigenes Protokoll drauf. Am einfachsten mit 2 
Stopp Bits und ein Stopp Bit nimmst du als Priorität/Master ID oder eben 
noch Parität dazu wenn dir 2 Master nicht reichen. Da kannst du ja im 
Endeffekt machen was du willst.

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lars Lochmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jürgen W. (juergenw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: fchriis (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: mogana100 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

das wird nichts bringen da dadurch die leitungskapazität steigt.

MfG mogana100

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: old-school_offline (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg S. (joerg-s)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
old-school_offline schrieb:
> @fchriis
>
> Mit entsprechenden Treibern können Leitungslängen von weit über 100 m
> bei 100kHz erreicht werden.
Ja, siehe z.B. Liste P82B96 (Anhang)

Werde mein Hausbus wahrscheinlich auch auf Basis von P82B96 aufbauen...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.