Hallo Meine Frage ist relativ einfach. Wie weit geht der I2C Bus? Habe schon gesucht. Mit entsprechenden Treibern und Empfängern z.B. PCA9515 und P82B96 und P82B715 geht das. Ist im Hausbus oder auf NXP alles beschrieben. Leider haben diese den Nachteil, das ich immer 2 verwenden muss. Was kann ich aber nehmen, nur 1 IC, um längen von ca max 2m zu überbrücken achim
Achim Seeger schrieb: > Was kann ich aber nehmen, nur 1 IC, um längen von ca max 2m zu > überbrücken Mit der Kabelkapazität steht und fällt hier die Sache. Schau dir mal den LTC4311 an. Nimm Twisted-Pair-Leitungen wobei SDA mit VCC und SDL mit GND verdrillt wird, an den Kabelenden zwischen VCC und GND ein Kondensator (siehe I²C-Spec).
Hier gibts ein paar Erfahrungen zur Länge: http://www.mikrocontroller.net/articles/I2C_als_Hausbus#Eigene_Erfahrungen
Hallo Danke für die Antworten. Den Text zu Hausbus mit I2C kenne ich bereits. Es sind Artikel und IC zu längen über 200m und über 1,2 km angegeben. So weit will ich ja garnicht. Mir reichen schon 2 bis 3 m. Der IC LTC 4311 ist recht interessant. Habe mir das Datenblatt gezogen. Hat jemand Erfahrung damit gemacht oder ein Beispiel für eine Schaltung? achim
Aber warum MUSS man denn einen Platinenbus wie I2C unbedingt extern nutzen um damit mehrere Meter zu überbrücken? Warum nur? Sicherlich geht es, sicher gibt es Lösungen dafür, sicher kann man auch 1 km machen wenn mans drauf anlegt. Warum warum? Weil man jetzt endlich mal I2C kapiert hat und den Teufel tun wird noch irgendein anderes Bussystem auch nur anzugucken? Weil man seine 10 Zeilen Code für I2C genau so lassen will, aber statt nen EEPROM anzusprechen, lieber Quer durchs Haus das Garagentor aufmachen will? gruß cyblord
Hallo Cyblord Es geht einzig dabei um eine ca. 1 m abgesetzte Anzeige und Bedienung. Diese Sache ist leider bauart bedingt. Auf diesen 1 m wollte ich einfach nicht noch mal umsetzen auf einen anderen Bus. Da ja nach Angabe ca. 0,5 m möglich sind, fehlt nicht viel. Der LTC ist ein sehr gutes Beispiel. Leider finde ich kaum was dazu. Da bleibt woll nur die Methode mit dem Sender und Empfänger. Auch die Geschwindigkeit zu reduzieren los gehen. achim
Der längste I2C-Bus, den ich bisher sah, war 300m lang, und der µC hatte noch nicht mal einen I2C-Controller, das lief über Bitbanging. Alles über normales Telefoninstallationskabel, z.B. einen Sternvierer. Die Übertragungsrate ist natürlich nicht besonders, aber wo es gar nicht darauf an kommt?
Achim Seeger schrieb: > Mir reichen schon 2 bis 3 m. Die Reichweite hängt auch von der Taktrate ab. Aber 2 - 3 m sollten schon mit 100 KHz laufen. Die Pullups sollten dabei möglichst klein gehalten sein. Der Grenzwert liegt bei einem 5V - Bus bei ca. 1,7 K. Sicherheitshalber sollte man 2,0 K - 2,2 K nehmen.
Achim Seeger schrieb: > Es geht einzig dabei um eine ca. 1 m abgesetzte Anzeige und Bedienung. Wegen 1m würde ich keinen Aufstand machen. Mach es einfach. Ganz normal, ohne Kokolores für grosse Distanzen.
Danke für die Antworten. Noch mal was zum Verständnis. Die Pullups habe ich auf verschiedenen Seiten von 10k bis runter auf 3k7 gesehen. Was ist ein normaler Wert und je grösser die Entfernung um so kleiner (min. 3k)? achim
Hi >Was ist ein normaler Wert und >je grösser die Entfernung um so kleiner (min. 3k)? Such mal nach I2C-bus specification and user manual MfG Spess
Achim Seeger schrieb: > je grösser die Entfernung um so kleiner (min. 3k)? Yep. Je länger die Leitung, desto grösser deren Kapazität, desto langsamer die steigende Flanke bei gleichem Pullup. Die Grenze bildet der zulässige Strom des Pulldowns im Treiber.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.