Forum: Mikrocontroller und Digitale Elektronik I²C maximale Leitungslänge


von Martin Hofmann (Gast)


Lesenswert?

Hi

Auf wieviele Meter ist der I²C Bus begrenzt? Ich bräuchte den über etwa 
9 Meter. Wie könnte ich das Signal gegebenenfalls verstärken? Gibt es 
irgendwo asm-i²c-routinen für den 90S4433?
Vielen Dank

Martin

von peter (Gast)


Lesenswert?

9 m sollten kein problem sein.
nimm ein flachkabel und leg die leiter neben sda und scl auf masse
i2c-routinen gibts an sich genug im netz, google mal

grüße

von Matthias (Gast)


Lesenswert?

Hi

I2C bedeutet InterIC-Bus. D.h. er diehnt primär dazu innerhalb eines 
Gerätes mit mehreren IC's zu kommunizieren. Es ist sicher kein Feldbus. 
Wenn es mehr als 0,5m sind würde ich RS485 oder RS422 verwenden. Am 
anderen Ende muß dann zwar etwas mehr Intelligenz sitzen aber du 
handelst dir damit nicht so viele Probleme ein.

Matthias

von A. Arndt (Gast)


Lesenswert?

Hallo,

bei vielen Compilern ist eine Routine schon intergriert, z.B. bei 
FASTAVR, Beispiele unter www.FASTAVR.com.

Tja, die Leitungslängen, geh lieber auch Nummer sicher und nimm 
Leitungstreiber, was Matthias sagt stimmt. Treiber sind z.B. von Philips 
8-pol. DIP

Gruss
A. Arndt

von Florian Pfanner (Gast)


Lesenswert?

Ich habe mal über einen I2C Treiber gelesen. Er wandelt das 
5-Volt-Signal in 12-Volt um und zurück um die Leitungslänge zu erhöhen. 
Ich weiß aber nicht mehr wie der Chip genau heißt!???
Aber für 9m müsste ein geschirmtes kabel auch reichen.

Gruß, Florian

von Sascha (Gast)


Lesenswert?

Hallo Florian,

Du meinst den Hardware-Treiber 82B715 von Philips (da gibts auch das 
Datenblatt). Ich habe damit so etwa 20m Leitunglänge überbrückt. Als 
Teilnehmer waren 6 LM75 Temperatursensoren auf dem Bus, Frequenz war 
100kHz.

Gruß,
Sascha

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.