PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C leitungslänge



xeniter
02.10.2007, 16:03
Wie schaut das mit dem I2C Bus in der Praxis aus? Wie lange dürfen die Leitungen wirklich sein ohne Störungen zu haben? Kann ein Fahrtenregler genug störungen verursachen damit er den bus stört?

hat da jemand erfahrungswerte? wäre echt für jede info dankbar

mfg xeniter

MichaelM
02.10.2007, 18:21
Hallo,
normalerweise etwa 30 bis 50cm, wenn nichts stört kann man auch 2 bis 3m überbrücken, ich würde mich aber nicht darauf verlassen. Auf einem Roboter oder ähnlichem würde ich unter 50cm bleiben, bei große Entfernungen minimal mögliche Widerstände verwenden und niedriger takten, am Besten generell nur bis 100kHz. Ein Fahrtregler kann erheblich stören, wenn man bei Strömen ab 10A nicht aufpasst kann sogar mal der Mikrocontroller abstürzen. Bei mir läuft der Bus bei 100kHz und ca. 50cm stabil, ich habe jedoch die Widerstände mit 1,5k schon recht niedrig gewählt, außerdem bei der Verdrahtung und Masseführung aufgepasst.

Gruß,
Michael

KlaRaw
02.10.2007, 19:32
Hallo xeniter,
Deine Frage kommt immer wieder auf. Die erste Adresse ist der Entwickler des I2C-Bus: Philips.

APPLICATION NOTE AN255-02
I²C / SMBus REPEATERS, HUBS AND EXPANDERS

AN10216-01
I2C MANUAL

Bei schwierigen Umfeldbedingungen gibt es zwei Möglichkeiten, die Leitung zu verbessern und/oder die Impendanz zu verringern.

Letzteres geht hervorragend mit dem P82B96. Als hochwertiges Kabel wäre CAT5 oder CAT7 Kabel zu empfehlen. Um die Reichweiten zu verlängern hilft auch oftmals die Verringerung der Taktrate.

Gruss Klaus.

Crazy Harry
02.10.2007, 23:10
ich habe zig lc-displays mit kabellängen von 1.1-2.3m am laufen ... neben einem verbrennungsmotor (2- und 4-zylinder 4-takt). als kabel verwende ich 4x0.14mm² geschirmt über das auch die spannungsversorgung der displays geht. pullup-widerstände jeweils 1k. im notfall gibt es auch repeater-bausteine mit denen das bis in den km-bereich geht ;)

HansHans
06.10.2007, 21:40
Ich hatte mal einen Versuch gemacht,
mit je einem 82B715 I²C bus extender auf jeder Seite.
(1.Seite M32 zweite Seite ein M75 Temperatursensor )

dazwischen : Cat5e Netzwerk Paschkabel

Dann habe ich immer mehr Patchkabel dazu gesteckt
bei 50m+30m+15m+10m+5m hatte ich keine
lagen Patchkabe bzw. Verbinder mehr und musste
den Versuch also bei 110m abbrechen obwohl ich die
Temperatur immer noch Richtig vom LM75 auslesen
konnte.

Gruß HansHans

Crazy Harry
08.10.2007, 06:37
@HansHans: wie groß waren die Pullup-Widerstände bei deinem Versuch ?

HansHans
08.10.2007, 21:17
Bei der Verwendung des I²Cbus extender P82B715
gibt es ja mehrere Pullup-Widerstände
ich beziehe mich jetzt mal auf Datenblatt vom 82B715

R1 (Local Bus ) = 22kOhm
R2 (Buffered Line) = 2x 1kOhm also 500Ohm
R3 (Remote Bus) = 10 kOhm


R2 habe ich auf zwei Widerstände aufgeteilt ,
einer am Anfang einer am Ende (der 110m) ob das besser ist als nur
einer weiß ich nicht aber es erschien mir irgendwie Logischer .

Gruß HH

P.S Die Antwort auf deine nächste Frage ist : 50 Khz

MKrispin
08.02.2020, 03:05
Hallo HansHans,
Dein Beitrag ist mal ein wirklich hilfreicher zu diesem Thema.
Danke, erspart mir genau den selben Versuch.

Den Termination Resistor wuerde ich nur am Ende des Bus anlegen, wenn der Master am anderen Ende sitzt.
Das ist ja auch die typische Topologie in der Industrie fuer serielle Verbindungen allgemein und sollte bei den Leitungslaengen auch die Verknuepfung aller Sensoren am Bus ermoeglichen
Der Widerstand direkt am Master belastet lediglich den Ausgang, bzw daempft den Eingang des Master und reduziert das Signal insgesamt, nicht aber nur die leistungsarmen(hochohmigen) Stoersignale.
Wenn nur ganz am Ende terminiert wird , wird das Nutz/Stoersignalverhaeltnis besser zugunsten des leistungsstaerkeren Nutzsignal.
LG aus Singapur, die Stadt die niemals schlaeft :p

oberallgeier
08.02.2020, 09:19
.. LG aus Singapur, die Stadt die niemals schlaeft ..Hallo, hmmm, die Stadt schläft nie - vielleicht auch nicht die Bewohner; Deine Mail zeigt bei mir Uhrzeit 4:05. Aber der letzte Post vor Deinem im Thread war vor dreizehn Jahren, der letzte Besuch im Forum von HansHans war am 07. Oktober 2008. Ob den HansHans da Deine Antwort erreicht?

Manf
08.02.2020, 10:02
Ich dachte auch schon an ein paar Bemerkungen zum Thema Leitungslänge die zur Entfernung nach Singapur und zur Laufzeit passen, aber ich habe sie wieder verworfen.
Hausptsache es hat inhaltlich geholfen.
Natürlich sollten wir HansHans oder ggf. seinen Nachkommen die Grüße ausrichten.

Moppi
08.02.2020, 10:29
Hallo!

Wenn das offene Threads sind, schreiben User ihren Beitrag.
Ein Filter sollte helfen, einmal pro Vierteljahr zu prüfen, ob ein Thread noch genutzt wird.
Insbesondere könnte dann, wenn auch die User nicht mehr aktiv sind, ein solcher Thread
automatisch geschlossen werden.
Nur so eine Idee...

MfG

MKrispin
09.02.2020, 16:20
Zur Uhrzeit, ja - ich bin auch oefter laenger auf in SG. War ja Wochenende, zumal quasi eine Vollmondnacht mit einem zur Zeit besonders hellem Mond :-)
Das der Beitrag von vor 13 Jahren ist habe ich gar nicht gesehen. Aendert aber doch nichts daran trotzdem ein Danke auszusprechen.
Alle vorherigen Beitraege zu dem Thema gingen alle an der Ursprungsfrage vorbei. Ich habe auch in anderen Foren genau diese Antwort gesucht, die nun durch plausiblen Versuch geloest wurde.

- - - Aktualisiert - - -

Danke, aber genau das haette mir ja eben nicht geholfen. Ich haette dann genau die Antwort auf die gleiche Frage bezueglich max Leitungslaenge des I2C bus eben nicht gefunden.
Ich bin lediglich verwundert wie lange es diesen Bus schon gibt und ich da grosse Luecken habe, obwohl ich 30 Jahre in der Automatisierungsbranche taetig bin.

- - - Aktualisiert - - -

Ja Ja, ich habe nicht auf das Datum geachtet. Ich war so froh endlich eine Antwort auf die gleiche Frage von mir gefunden zu haben die mir plausible genug erschien.
Offensichtlich lesen aber ja doch noch ein paar Leute in diesem Thread :-)
Diese moegen ja nun von meiner Anmerkung zur Terminierung profitieren.
Ist doch gut wenn das Internet nichts vergisst.

Achim S.
09.02.2020, 19:58
Egal wie alt das ist. Der I2C Bus ist sehr gut. Arbeite seit Jahren damit und habe die unterschiedlichsten Module dazu gebaut. Mit einem einfachen PCF.. und Atm 128 schaffe ich ca 5-8m bei 100kHz. Das nächste dann ist ca. 30m und als längstes Kabel komme ich auf ca. 300m. Damit ist dann so ziemlich alles möglich. Wenn der Bus richtig programmiert ist funktioniert er wunderbar. Betreibe z.B. ein Farb TFT Display mit 64000 Farben damt. Leider wird er einfach zu wenig eingesetzt und noch weniger Beispiele für Hard- und Software.
achim