Hallo, ich habe vor mit einer I2C Verbindung mehrere Controller über ca 10m miteinander zu verbinden. Dabei soll jeder der Reihe nach Master werden und eigene Daten per Broadcast an die Anderen senden. Dies ist ein Experiment und der Code funktioniert soweit schon per direkter I2C Verbindung. Ich wollte dafür den P82B715 als I2C Extender nehmen. Laut Datenblatt hätte ich an SCL, SDA sowie LDA und LCL jeweils einen Pullup a 10kOhm gehängt. Nun bin ich aber auf diese Platine gestoßen: http://www.horter.de/i2c/i2c-extender/i2c_extender_1.html <- Übersicht http://www.horter.de/doku/i2c-extender-testplatine_db.pdf <- Schaltplan und Board Wobei mich verwirrt, dass ich dabei entscheiden muss, ob es ein Sender oder Empfänger sein muss?! Bei I2C kann doch jeder Teilnehmer senden und empfangen und somit die Leitungen herunterziehen. Kann mir das jemand kurz erklären?
>Dabei soll jeder der Reihe nach Master werden und eigene Daten per >Broadcast an die Anderen senden. Tu dir selber einen Gefallen und nimm CAN.
Es geht nicht um Sender und Empfänger sondern um, nennen wir es mal Geräte- und Kabelseite. SDA/SCL ist beim lokalen Gerät, LDA/LCL ist das Kabel mit einem höheren Pegel.
Achtung! Bei solchen "Extendern". Wenn der uC der dran hängt nur 3,3V IO-Spannung liefert, dann funktioniert das laut Datenblatt nur unter "Laborbedingungen" (25°C, und bei optimaler Streuung der Bauteiltoleranen). Das Kreuz dabei ist, dass bei I2C der Low-Pegel bis zu 1V sein darf! Der uC aber i.d.R. für ein Low eine Spannung kleiner (0,3*Vcc) also unter 0,99V benötigt. Daher sollte bei sowas der uC am I2C 5V haben!
Also der uC läuft mit 5V, mir ist jetzt aber noch nicht ganz klar, ob ich das so richtig gemacht habe. Siehe Bild
Wie hoch soll der Takt sein? 10K sind das relativ "sportlich", falls der Takt größer 100 KHz sein soll. So als Tip: Zusätzlich zu den Datenblättern gibt es auch Application Notes und teilweise auch typische Applikationsbeispiele in den Datenblättern mit Hinweisen zu Leitungslänge, Geschwindigkeit und zu verwendenden Pullups. Leitungskapazitäten und parasitäre Kapazitäten (Leiterbahnen, ...) sollte man auch berücksichtigen.
C-Tal schrieb: > http://www.horter.de/doku/i2c-extender-testplatine_db.pdf <- Schaltplan > und Board C-Tal schrieb: > Also der uC läuft mit 5V, mir ist jetzt aber noch nicht ganz klar, ob > ich das so richtig gemacht habe. > Siehe Bild Manchmal denke ich, dass die Leute einen verarschen wollen. Du hast doch einen Plan gepostet. Was ist das Problem?!
Da gabs doch mal I2C ICs welche den I2C Bus so aufbereiten, dass es dann mit einem CAN PHY extendet werden kann. Das war der P82B96, dieser IC splittet die bidirektionalen I2C Signale auf in jeweils 2 unidirektionale. Das kann dann einem CAN PHY "mit automatischer Richtungsumschaltung" vorgeworfen werden, zB dem PCA82C251 Weis jetzt aber nicht mehr wo ich das aufgeschnappt habe.
>Manchmal denke ich, dass die Leute einen verarschen wollen
Ups.
Da hat wohl der Kaffeepegel die Mindestschwelle unterschritten und ein
Mensch hat leider keinen BOD (Brown Out Detecor) ;-)
Hier hatte ich das gefunden: AN460 Using the P82B96 for bus interface http://www.nxp.com/documents/application_note/AN460.pdf
aSma>> schrieb: > C-Tal schrieb: >> http://www.horter.de/doku/i2c-extender-testplatine_db.pdf <- Schaltplan >> und Board > > C-Tal schrieb: >> Also der uC läuft mit 5V, mir ist jetzt aber noch nicht ganz klar, ob >> ich das so richtig gemacht habe. >> Siehe Bild > > Manchmal denke ich, dass die Leute einen verarschen wollen. Du hast doch > einen Plan gepostet. Was ist das Problem?! Also Das Problem ist, wie oben beschrieben, dass bei der Platine die Widerstände über Jumper eingestellt werden, je nachdem ob es ein "Sender" oder ein "Empfänger" ist. Laut Datenblatt hätte ich gesagt, dass quasi alle Jumper gesetzt werden müssen.
Wenn du auf der Kabelseite mit 12V arbeitest sind 10m selbst mit 400kHz Busgeschwindigkeit machbar. Ein PCA9600 macht bei mir 20m locker mit nem Mbits/s. PS: Schau dir einfach das Datenblatt vom P82B715 an, dann weißt du endlich wofür die Jumper sind!
:
Bearbeitet durch User
Im Zweifelsfall ist immer das richtig, was der Hersteller im Datenblatt bzw. in der Appnote schreibt. (Übrigens gibt es beim P82B96 Datenblatt auf S13/S14 eine schönes Applikationsschaltbild mit Tabelle)
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.