PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C Bus über gut 20 Meter



Felix H.
14.05.2010, 13:59
Hi zusammen,

ich möchte einen I2C Bus realisieren. Die größte Leitungslänge soll bei maximal 20 Meter liegen.

Da ich viele slaves habe, würde ich gerne bei I2C bleiben da die Adressenvergabe ect. einfacher ist als mit RS232 oder RS485.

Die frage ist nun, welche Kabel (am liebsten Cat5) und welcher expander bauen für die entfernung. Am liebsten wäre mit etwas aus Transistoren zusammengelötetes, weil die Expander doch recht teuer sind. Eine große Übertragungsrate brauche ich nicht. Die Slaves sollen ständig messwerte erfassen, einen durchschnitt ausrechnen und dann auf abfrage vom Master rübergeschickt werden. Das geschieht nicht allzu oft. Ich denke alle 5-10 minuten einmal.

Gruß

mat-sche
14.05.2010, 14:32
Hi Felix,

ich nutze für meine Haussteuerung auch I2C und überbrücke so einige meter. Ich nutze dafür eine Portierung auf CAN-Signallevel und nutze RJ45 Kabel sowie die Stecker. Den CAN Level stelle ich mit einem P82B96 und 2 PCA82C250 her. Ich denke mal das es die einfachste Struktur ist, auch wenn etwas teurer.

Gruß MAT

PICture
14.05.2010, 15:15
Hallo!

@ Felix H.

Ich kann dir hoffentlich nur theoretisch helfen, da ich mit I2C Bus keine praktische Erfahrung habe.

Bei jedem Bus mit der Leitungslänge wachsen die Kapazitäten zum anderen Leitungen, was die Steilheit den Flanken bei Impulsen verschlechtert.

Die einfachste Lösung bei bidirektionalem Bus ist die Taktfrequenz zu verkleinern, was keine zusätzliche Elektronik benötigt. Bei deiner Datenmenge und Zeit für die Datenübertragung kannst du angeblich in Audiobereich arbeiten (z.B. 1 kHz).

Weitere Maßnahme wäre für alle empfangene Signale die Flanken z.B. mit Schmitttrigern zu "schärfen" und für alle gesendete Signale zu "verstärken".

Auf deiner Stelle, würde ich mit dem einfachsten anfangen, weil ein Ausbau und Komplizierung bei unausreichenden Ergebnissen immer möglich ist ... :)

MfG

Felix H.
14.05.2010, 17:53
Hi,

ok dann werde ich das einfach mal versuchen. Wie siehts denn aus, wenn ich den Bus Sternförmig vom Master aus verdrahte? Geht das überhaupt? Und wo müssen dann die Pull-Up R´s hin?

reinhars
14.05.2010, 21:09
ich habe anfangs auch mit i2c und expandern rumprobiert. was gut geholfen hat war die aktive terminierung aus der bascom hilfe.
auch wenn es mit einigen experimentieren relativ stabil gelaufen ist hab ich mir die arbeit gemacht und bin auf rs485 mit S.N.A.P-Protokoll umgestiegen und ich muss sagen es hat sich wirklich gelohnt!
günstig von den bauteilkosten und sehr zuverlässig.

sorry für das schreiben ohne punkt und komma - bin in eile.

grüße Stefan

repi64
16.05.2010, 21:14
Hi,
mit dem LTC4300(A) von Linear kannst du bis zu 100m (je nach Leitung) via I2C überbrücken.
Kenne einige Produkte, bei dennen dies erfolgreich praktiziert wird.