Hallo zusammen, benötige Hilfe bei der Dimensionierung einer i2c-Verbindung zwischen einem Master und zwei abgesetzten Slaves. Der erste Slave ist 30 m vom Master entfernt und der zweite Slave nochmals 30 m, insgesamt 60 m (siehe beigefügte Skizze). Als Kabel kommen zwei „J-Y-(St)Y-4x2x0,8“ Leitungen mit jeweils 30 m Länge zum Einsatz. Als Expander – beim Master und den Slaves - kommt jeweils ein P82B96 zum Einsatz. Bei der verwendeten ic2-Expander Schaltung handelt es sich um die auf Seite 13 – Fig. 14 – aus dem Datenblatt von NPX (siehe ebenfalls die Skizze). Wie berechnet man die Dimensionierung von R1 und R2 für alle drei Expander, so dass die Kommunikation zwischen allen dreien sauber funktioniert? Schon jetzt herzlichen Dank für eure Hilfe. Grüßle, André
Warum I2C bei den Leitungslängen. Da macht doch RS485 oder CAN mehr Sinn.
Hi Jan, eigentlich ganz einfach, weil ich schon sehr viel mit i2c - auf kurzen Strecken - gemacht habe und alles dafür hier "rumliegt" (die drei 96er habe ich mal vor langer Zeit besorgt) und ich mit RS485 und CAN so gut wie noch nichts gemacht habe... Könnte sich jedoch jetzt ändern... ;o)=) Grüßle, André
I2C ist ja eigentlich nur für "on Board" Kommunikation. Ich habe vor Jahren mit I2C Expandern was gemacht. Ich glaube da musste man den Common dann mitführen. Sprich 3 Leitungen. Aber wie gesagt, ich würde bei 30 m RS485 machen. Protokoll musst du halt selbst definieren. Aber da gibt es auch ganz viele Ideen in diesem Internet von dem alle immer reden :-)
André G. schrieb: > Schon jetzt herzlichen Dank für eure Hilfe. Bei solch einem Mist helfe ich nicht. Ein I2C Bus ist hochempfindlich da vergleichsweise hochohmig. Du wirst Sterben vor Störungen.
Ich rate Dir zu der Lektüre des Datenblattes. Da steht eigentlich alles drin.
Mist Aufdecker schrieb: > Bei solch einem Mist helfe ich nicht. Dann ist deine Antwort eigentlich zu viel hier. Konstruktiv beitragen oder einfach mal dir Fresse halten. Oben habe ich bereits die richtigen Alternativen wie RS485 oder CAN genannt. Aber so ist das uC Forum. Immer nur nörgeln und meckern. Ein Hoch auf Deutschland
Jan schrieb: > Dann ist deine Antwort eigentlich zu viel hier. Nein. Da ich auf die Gefahr hinweise. Aber du scheinst das Zauberwort "hochohmig" nicht zu kennen da du keine Ahnung hast und daher nicht erkennst was es für die Anwendung für eine Bedeutung hat.
André G. schrieb: > Wie berechnet man die Dimensionierung von R1 und R2 für alle drei > Expander, so dass die Kommunikation zwischen allen dreien sauber > funktioniert? So, dass die Kabelkapazität beim Freigeben der Busleitung schnell genug umgeladen wird. Das hängt also von deinem Kabel und deiner Busgeschwindigkeit ab. Außerdem musst du die Grenzwerte des Treibers beachten und gegenüber dem Störpegel auf den Leitungen ausreichenden Abstand sicher stellen.
Hallo Jan, hallo MistAufdecker, hallo Theor, @Jan: Hab mal kurz RS485 bei Internet gestöbert... eine bi-direktionale I/O-Erweiterung a la MCP23017 scheint damit nicht möglich. Ist jedoch der Hintergrund der Causa... oder hat Du evtl. nen Link oder Info dbzgl.? Mit CAN habe ich überhaupt noch nichts gemacht, seh mir CAN mal an... @MistAufdecker: Laut Datenblätter soll es bei >= 9V-Cable ganz stabil und zuverlässig funktionieren... und das bei weit mehr als 60 m... so zumindest die Aussagen in vielen Threads und Datenblättern. @Theor: Ja, habe ich... da ich aber (leider) kein Nachrichten- und/oder Elektronikingenieur bin, ist mir die Sache mit den Delays/Reflektionen von SDA/SCL mathematisch nicht ganz klar... deshalb auch meine Frage hier... hätte es ja ansonsten schon berechnet... ;o)=) Grüßle, André
Hallo Wolfgang, soweit ist mir das schon alles klar... aber wie berechne ich das...?!? ;o)=) Hast Du mir evtl. einen Link, der das How-To zeigt? Gerne auch auf englisch... ;o) Grüßle, André
André G. schrieb: > Laut Datenblätter soll es bei >= 9V-Cable ganz stabil > und zuverlässig funktionieren... und das bei weit mehr als 60 m... so > zumindest die Aussagen in vielen Threads und Datenblättern. Was ist ein >= 9V-Cable? Deine Kabelspezifikationen im Eingang sind unklar, deshalb habe ich meine Warnung (Mist) ausgeprochen. Wenn die I2C- Leitungen abgeschirmt werden mag es gut sein. Aber nichts Gutes gegenüber einem RS485 Bus.
Hallo MistAufdecker, 9V-Cable ist die Spannung (V+-Cable Drive) die auf die externe Leitung gegeben wird, siehe Skizze von mir. Hast Du mir bzgl. RS485 einen Link oder Info bzgl. GPIO-Expander â la MCP23017? Zwei von diesen Dingern sollen/müssen/dürfen nach 60 m ihren Dienst tun und entsprechend auch Rückmelden... Wie auch die Beiden nach 30 m. Grüßle, André
André G. schrieb: > so zumindest die Aussagen in vielen Threads und Datenblättern. André G. schrieb: > aber wie berechne ich das...?!? So wie es die Leute in den von dir zitierten "vielen Threads" gemacht haben. Die versprechen dir ja auch das Blaue vom Himmel.
André G. schrieb: > Hast Du mir bzgl. RS485 einen Link Zufälliger Fund. So macht man das. Schaltbild Seite 5 https://air.unimi.it/retrieve/handle/2434/284647/408097/Relazione%20RS485.pdf
Hallo Mist Aufdecker, mir hat gar niemand etwas versprochen und wie Wolfgang geschrieben hat, ist vieles von der Peripherie abhängig. Wenn in den Threads bzgl. meiner Frage etwas steht, dann die ermittelten Werte (R1, R2, etc. pp.) aber halt auf die Peripherie die dort zum Einsatz kommt (meist sind es Cat.-Kabel)... tja, und die helfen einem bei einem 4x2x0,8-Kabel halt net wirklich weiter. Jetzt kann man(n) ganz, ganz lange verschiedene R1 und R2 Werte Testen oder halt berechnen... nach letzterem Suche ich... da ich aber nicht der hellste bin, tu ich mich halt ein wenig schwer mit "HF-Mathe" ... deshalb ja auch meine Frage hier... Grüßle, André
Jan schrieb: > Warum I2C bei den Leitungslängen. Da macht doch RS485 oder CAN mehr > Sinn. Das hätte ich auch spontan gesagt. Ich habe für einen solchen Zweck mal I2C komplett virtualisiert und symmetrisch übertragen, weil der Master und der Sensor nur I2C konnten. Konnte damals 400k mit einem 25MHz FPGA. Es werden auch Störungen aktiv unterdrückt, um die Leitung im symmetrischen Bereich zu halten. Wurde von einem Kunden in ähnlicher Weise eingesetzt, Rechte liegen noch bei mir, patentiert ist es nicht.
:
Bearbeitet durch User
Jan schrieb: > Aber so ist das uC Forum. Immer nur nörgeln und meckern. Merke: So wie man in den Wald hinein ruft so schallt es zurück. Um sinnvolle Antworten zu bekommen, muss man auch sinnvolle Fragen stellen.
André G. schrieb: > mir hat gar niemand etwas versprochen Doch haben sie. Implizit. Denn bei ihnen hat es ja funktioniert, "ganz stabil und zuverlässig". Dann haben die ja auch ihre Hausaufgaben gemacht und den I2C Bus ordentlich dimensioniert. Das ist deine Referenz. Und nur du weisst es. André G. schrieb: > und das bei weit mehr als 60 m... so > zumindest die Aussagen in vielen Threads Und falls du es übersehen haben solltest: Beitrag "Re: i2c – R1 & R2 Dimensionierung – bei 60 m (â 2 x 30 m) - mit P82B96"
André G. schrieb: > Jetzt kann man(n) ganz, ganz lange verschiedene R1 > und R2 Werte Testen oder halt berechnen... Du kannst du auch kurz einen Wert einbauen, die Signale angucken und den Wert gezielt ändern, bis die Signalform ok ist - geht schneller als die Lösungssuche hier im Thread ;-) Die Signallaufzeit ergibt sich aus der Kabellänge, dem Verkürzungsfaktor des Kabels und der Lichtgeschwindigkeit.
André G. schrieb: > da ich aber nicht der hellste bin, tu ich mich halt ein wenig schwer mit > "HF-Mathe" ... deshalb ja auch meine Frage hier... Dafür gibt es ja auch problemadäquate Lösungen, z.B. RS-485. ;-) Im Datenblatt gibt es Vorschläge für Rx/Cx unter Punkt 10.2.1.2 Detailed Design Procedure Ich würde halt im Bereich 100 kHz bleiben. Und ob das für 2 Slaves funktioniert? Keine Ahnung. Eventuell braucht der 30Meter Slave 2 x P82P96.
André G. schrieb: > Jetzt kann man(n) ganz, ganz lange verschiedene R1 > und R2 Werte Testen oder halt berechnen... Berechnen kannst du das nicht wirklich, ist auch nicht nötig. Zuerst ein Blick ins Datenblatt des P82 und den Maximalstrom nachgelesen. Dann mit Hilfe von Gevatter Ohm und der Busspannung den kleinsten Widerstand errechnen, bei dem der Maximalstrom noch nicht überschritten wird. Ich hab doch mal selbst nachgesehen. Der P82 kann 60mA treiben. Wenn der "lange" Bus also mit 12V läuft, ist der Minimalwert der Pullups 200Ω. Man könnte also mit je 1kΩ bei jedem Slave anfangen. Was zählt ist dann die Parallelschaltung der drei Widerstände. Die 4000 zulässigen pF wirst du bei diesen Längen nicht erreichen. Viel wichtiger ist, das Kabel richtig zu belegen. Nie, niemals SCL und SDA in ein Paar! Da hat man immer übersprechen. Sondern SCL mit GND in ein Paar und SDA mit den 12V in ein anderes (oder anders herum). Viel Erfolg MfG Klaus
Echo-des-Tages schrieb: > Jan schrieb: > Aber so ist das uC Forum. Immer nur nörgeln und meckern. > > Merke: So wie man in den Wald hinein ruft so schallt es zurück. > Um sinnvolle Antworten zu bekommen, muss man auch sinnvolle Fragen > stellen. Ach, wenn hier malneine Frage nicht 100% ausformuliert ist, oder sich gar nur Rechtschreibfehler eingeschlichen haben, wird darauf rumgehackt, statt sich ums Problem zu kümmern. Wie du sicherlich oben gesehen hast, habe ich eine entsprechende, sinnvolle Antwort gegeben. Nämlich RS485 oder CAN. Mit beiden hast du eine weitaus bessere Bandbreite als mit einem popeligen I2C. Abgesehen, dass I2C nicht für so große Strecken gemacht ist.
Mist Aufdecker schrieb: > Jan schrieb: > Dann ist deine Antwort eigentlich zu viel hier. > > Nein. Da ich auf die Gefahr hinweise. Aber du scheinst das > Zauberwort "hochohmig" nicht zu kennen da du keine Ahnung > hast und daher nicht erkennst was es für die Anwendung für > eine Bedeutung hat. Dir ist schon bewusst, dass das eigentliche Problem bei I2C nicht die Hochohmigkeit, sonder eher die Kapazität ist. Da gibt es sehr schöne Formeln im Standard (oh ja, man muss was lesen, statt nur mit Begriffe um sich zu werfen). Aber wer bin ich schon, der deine Weisheit in Frage stellt. In diesem Sinne. Ich wünsche dir André viel Erfolg bei seinem Projekt. Wenn du nicht aufs Übertragungssystem festgelegt bist, solltest du den Übertragungsweg überarbeiten. Gruß Jan
Klaus schrieb: > Berechnen kannst du das nicht wirklich, ist auch nicht nötig. Natürlich kann man das berechnen! Abschnitt 7, Seite 55: https://www.nxp.com/docs/en/user-guide/UM10204.pdf
Harry L. schrieb: > Klaus schrieb: >> Berechnen kannst du das nicht wirklich, ist auch nicht nötig. > > Natürlich kann man das berechnen! > > Abschnitt 7, Seite 55: > https://www.nxp.com/docs/en/user-guide/UM10204.pdf Das bezieht sich auf I2C ohne den P82B96 und ist damit keine wirkliche Hilfe. Und es kommen da auch nur Maximal oder Minimalwerte heraus. MfG Klaus
Klaus schrieb: > Das bezieht sich auf I2C ohne den P82B96 und ist damit keine wirkliche > Hilfe. Und es kommen da auch nur Maximal oder Minimalwerte heraus. Ach wirklich? Schon mal auf die Idee gekommen, daß sich das von mir verlinkte Dokument auf den I²C-Bus im Allgemeinen wie von NXP definiert bezieht, und auch der P82B96 ein I²C-Bus-Bauteil von NXP ist? ..."interpretieren können" muß man die Angaben schon selbst. Da steht alles, was man braucht um die PullUps korrekt zu dimensionieren. Daß das ohne Grundlagen-Wissen nicht funktioniert, kann man kaum NXP zur Last legen. Genau dieses Grundlagen-Wissen versetzt einen aber in die Lage, zu entscheiden, ob für die jeweilige Anwendung der Maximal-Wert ausreicht, oder man eher den Minimal-Wert benötigt.
Hallo zusammen, vielen Dank - an alle - für die vielen Tipps und Hinweise. Das "Problem" ist nicht die Dimensionierung einer "Master - Slave Strecke", sondern dass es sich um eine "Master - Slave - Slave Strecke" handelt und hierzu die Hintergrundinfos naturgemäß etwas dürftiger sind... i.M. ist es "kein Problem" die R1 u. R2 für "Master - 30 m - Slave" zu ermitteln. Auch nicht "Master - 60 m - Slave 2" ... sondern eben die Werte für "Master - 30 m - Slave 1 - 30 m - Slave 2". @Klaus: Danke für den Hinweis bzgl. Parallelschaltung von R1/M || zu R1/S1 || zu R1/S2! Die Belegung der Kabel, GND/SDA und +VCable/SCL, beachte ich stringent... ;o) Das "Problem" mit dem Testen der Werte über die "Flankenoptik" ist, dass es halt immer "nur" auf einer Strecke passt. Ändert man aufgrund der "Flankenoptik" am dritten Wert etwas, ändert sich die Flanke entweder am Ersten oder am Zweiten - LOOP - ;) Es ist ein bisschen so, wie der sich im Kreis drehende Hund, der versucht seine eigenen Lunte einzuholen. Aber werd das Ganze unter Beachtung der Tatsache erneut testen, dass ja die drei R1 parallel liegen... das hab ich - bis jetzt - wie den Wald vor lauter Bäumen nicht "gesehen"... ;O)=) ... da passt mal wieder: A fool with a tool is still a fool ... wie gut das Tool auch immer sein mag... ;O)=) @Jan: Danke für die Wünsche! ;o) ... Kann man(n) immer gebrauchen... Parallel zu allen Tipps sehe ich mir RS485 und CAN i.d.Z. ebenfalls mal näher an. Schadet ja nie, seinen "Horizont" - und sei es nur technisch - zu erweitern... denn leben nicht alle Menschen unter der gleichen Sonne? ;o) In diesem Sinne: An alle nochmals vielen Dank und einen schönen Sa.-Abend und noch besseren So. Und schon jetzt nen guten Start in die neue Woche! Grüßle
André G. schrieb: > vielen Dank - an alle - für die vielen Tipps und Hinweise. Schön von dir vor allem dass du nicht hörst bzw liest was du nicht hören willst bzw lesen willst. Vielleicht liegt es aber auch an deiner fehlenden Bildung in Elektronik. Jan schrieb: > I2C ist ja eigentlich nur für "on Board" Kommunikation. Mist Aufdecker schrieb: > Ein I2C Bus ist hochempfindlich da vergleichsweise hochohmig. Nur soviel: hochohmig bedeuted in diesem Zusammenhang dass es äussere Störungen vergleichsweise leicht haben auf die Signal- leitungen einzuwirken und Störsignale zu produzieren. Daher meine Aussage (auch wenn sie etwas übertrieben sein mag): Mist Aufdecker schrieb: > Du wirst Sterben vor Störungen.
Harry L. schrieb: > Schon mal auf die Idee gekommen, daß sich das von mir verlinkte Dokument > auf den I²C-Bus im Allgemeinen wie von NXP definiert bezieht, und auch > der P82B96 ein I²C-Bus-Bauteil von NXP ist? Na sicher. Nur hat der Bus zwischen zwei P82B96 bis zu 15V, das kommt bei I2C nicht vor. Er darf eine Kapazität von 4000 pF haben, I2C nur 400. Und der Maximalstrom im Pullup darf 60mA sein, I2C nur drei. Ansonsten ist alles wie I2C, nur die Rechnungen ergeben naturgemäß andere Werte und die Angaben im I2C Manual sind unbrauchbar. Während ich das so schreibe kommt mir der Verdacht, du hast das Datenblatt des P82B96 garnicht gelesen. André G. schrieb: > Das "Problem" mit dem Testen der Werte über > die "Flankenoptik" ist, dass es halt immer "nur" auf einer Strecke > passt. Ändert man aufgrund der "Flankenoptik" am dritten Wert etwas, > ändert sich die Flanke entweder am Ersten oder am Zweiten - LOOP - ;) Na sicher. Solange die Low-High-Flanke schnell genug ist, funktioniert das. Das Aussehen spielt keine Rolle, es kann auch "rund" sein. Die High-Low-Flanke ist immer ok, sie wird ja aktiv erzeugt. Und da muß man nichts einstellen. Es ist ein Digitalsignal, das muß nur die Schaltschwellen für 0 und 1 unter oder überschreiten. Nimm dreimal 1k bei 12V und das funktioniert, auch wenn du den letzten Busteil mal abkoppelst. MfG Klaus
Klaus schrieb: > Während ich das so schreibe kommt mir der Verdacht, du hast das > Datenblatt des P82B96 garnicht gelesen. Ich glaube fast, du hast das DB nicht gelesen/verstanden.. https://www.nxp.com/docs/en/data-sheet/P82B96.pdf Auf Seite 12 steht doch glasklar beschrieben, wie man die Widerstände dimensioniert.... Die I2C-Seite hatten wir ja bereits geklärt. Was denn jetzt noch?
Moin, Man kann sich natuerlich auch die Hose mittels einer Beisszange anziehen. Und sicherlich gibts irgendwo auch ein Datenblatt fuer eine spezielle Hosenbeisszange. Trotzdem zieht sich nur eine sehr kleine Minderheit Hosen mit der Beisszange an, so wie auch nur eine sehr kleine Minderheit I2C Busse mit Ausdehnungen ueber mehrere Meter baut. Gruss WK
Dergute W. schrieb: > so wie auch nur eine sehr kleine Minderheit I2C Busse mit > Ausdehnungen ueber mehrere Meter baut. Das würde ich zwar auch nicht wollen, aber genau dafür ist der P82B96 gemacht.
noreply@noreply.com schrieb: > Dafür gibt es ja auch problemadäquate Lösungen, z.B. RS-485. ;-) Das geht aber nur, wenn der Sensor das auch kann. Ansonsten ist man immer gezwungen, Analogtechnik dazwischen zu setzen, um die Leitungen zu überbrücken und diese zumindest symmetrisch auszulegen. Das aber löst oft nicht die ganzen Probleme, die in solchen Umgebungen entstehen: Die Schwierigkeit ist ja nicht wirklich die Länge der Leitungen! Die Reflektionen und Dämpfungen bekommt man eigentlich leicht in den Griff. Der Umstand ist aber der, dass diese Leitungen meistens in Umgebungen eingesetzt werden, wo es rauh zugeht. Sei es Maschinenbau, Anlagentechnik aber auch Medizintechnik wenn Hochspannungsversorgungen und große Ströme mit im Spiel sind. Da kommen hochfrequente Spikes rein, die die differenziellen Leitungen in die Sättigung treiben und das Auslesen erschweren, bzw. auf der Taktleitung direkt mal Scheintakte erzeugen. Niederfrequente Wellen hingegen legen gleich mehrere ms an Kommunikation lahm. Dem kann man weder durch hochfrequente Übertragung noch durch Herabsetzen auf 100k begegnen. Redundantes Senden hilft auch nicht, wenn dadurch die kritische Reaktionsgeschwindigkeit eines Systems gesenkt wird. In dem von mir vorgeschlagenen System wurden die Störungen gemessen, auf die Leitungen beaufschlagt und gegengesteuert. Takte können noch regeneriert werden, selbst wenn sie mit 1MHz laufen und 90% Störpegel enthalten.
Jürgen S. schrieb: > noreply@noreply.com schrieb: >> Dafür gibt es ja auch problemadäquate Lösungen, z.B. RS-485. ;-) > > Das geht aber nur, wenn der Sensor das auch kann. Ansonsten ist man > immer gezwungen, Was wir aber nicht wissen. Das müßte schon ein sehr spezieller und wertvoller Sensor sein. Bei 3 Euro pro P82B96. Btw. Es ist noch nicht mal Vcc bekannt, die mit übertragen werden muß. Die brauche ich aber zur Dimensionierung der Pull-Up-Widerstände gemäß Datenblatt. Von Gleichspannungsanteilen auf Kabeln im Außenbereich mal ganz zu schweigen. Und Sorry, mein Fehler. Multiple Slaves ist in RS-422 definiert. https://de.wikipedia.org/wiki/EIA-422
Jürgen S. schrieb: > Analogtechnik dazwischen zu setzen, um die Leitungen zu > überbrücken und diese zumindest symmetrisch auszulegen. Das aber löst > oft nicht die ganzen Probleme, die in solchen Umgebungen entstehen: Als ich jung war, habe ich zwei Centronics-Schnittstellen über eine Infrarotübertragung virtuell verbunden. Ich bin mir auftretender Probleme bewußt.
Hallo, bin über eine Suche hierher gekommen. Wie baue ich ein solches Filter? Beitrag "Re: kritische I2C-Kommunikation in gestörten Bereichen" Bis zu welchem Pegel kann es eine Störung verhindern? Lässt sich das sagen?
Cederick schrieb: > Bis zu welchem Pegel kann es eine Störung verhindern? > Lässt sich das sagen? Eine Störung verhindern, kann es in dem Sinne erst einmal nicht und wie groß die Toleranz ist, hängt vom Pegel ab. Je größer und länger der Störimpuls, desto größer ist der Aussetzer im Signal. Das Filter oben ist eine Mischung aus diskretem Störfilter, FIR-Filter und PLL. Die Taktperiode sollte prinzipiell bekannt sein oder muss ausgemessen werden, was die Schaltung komplizierter macht, aber geht. BTDT Eine Störung aktiv verhindern, kann es in dem Sinne, als das in diesem System aktiv gegengesteuert wird, d.h. die Signalamplitude des differentiellen Systems wird ja durch den Ausgangstreiber regelt. Die Regelung z.B. mit einem OP kann man so auslegen, dass alles, was nicht Signal ist, stärker unterdrückt wird. Das erweitert den Betriebsbereich, weil die Leitungen dann nicht-, bzw. später oder nur teilweise an den Anschlag gehen und die andere immer noch interpretierbar bleibt. Gerade I2C-Teilnehmer können sich ja auch "aufhängen". noreply@noreply.com schrieb: > Von Gleichspannungsanteilen auf Kabeln im Außenbereich mal ganz zu > schweigen. Die z.B. werden minimiert. noreply@noreply.com schrieb: > Was wir aber nicht wissen. Was aber durchaus vorkommt, wenn in einem System jemand unbedingt etwas messen muss, was nur Sensoren erfassen können, die eine "normale" I2C-Schnittstelle besitzen, aber die Leitungen vorgeben sind, weil das System ein großes bewegliches Teil ist, welches nicht mehr umgebaut werden kann und eine festgelegte Verkabelung hat. Da ist nach-RÜSTUNG angesagt.
André G. schrieb: > vielen Dank - an alle - für die vielen Tipps und Hinweise. Hallo André, bist Du mit den 2 x 30 m I2C klar gekommen? Aus irgendeinem Grund habe ich diesen Thread übersehen. Ich nutze den I2C - Bus für meine Heizungssteuerung schon bald 20 Jahre. Meine erste Herausforderung war drei Etagenverteiler per I2C zu erreichen. Wenn die Leitung für 100 kHz zu lang ist geht man einfach mit dem Takt herunter. Dann kann man auch locker 10 m überbrücken. Seit über 10 Jahren arbeite ich mit 1,5 kHz. Selbst im Heizungskeller gehe ich vom Master über 8 m zu einem passiven I2C - Verteiler und spreche dort jeweils 4 DS1631 sternförmig an. Also
1 | |
2 | 8 m + 2 m |
3 | + 2 m |
4 | + 2 m |
5 | + 2 m |
Ich hatte sogar noch bis letzter Woche zwei weitere DS1631 am I2C - Verteiler angeschlossen. Der 6. war doch zuviel. Es kam zu Adressierungstörungen und habe dann auf 4 Stück reduziert. Dieser Verteiler ist kein Muxer, sondern nur ein Buchsenfeld! Eigentlich sollte nach der reinen I2C Lehre, bzw. nach den I2C - Ungläubigen, so etwas gar nicht funktionieren. Tut es aber doch. Dabei ist der DS1631 wie eine Diva, ziemlich anspruchsvoll. Tests mit 4 adrigem Telefonkabel, 50 m auf der Rolle und einen PCF8574 funktionierten sogar bis zu 100 kHz. Der PCF8574 ist aber ein Urgestein und verzeiht anscheinend unsaubere Signale. Aktuell möchte ich einen Außensensor auf den DS1631 umstellen. Die Leitung könnte 20 m lang sein. Hier plane ich eine Reichweiterverlängerung mit P82B96 ein. Davon habe ich noch drei Stück, benötige aber natürlich nur 2 davon. Und in diesem Zug bin ich auf Deinen Thread gestoßen. Noch etwas Unterstützung: Beitrag "I2C Bus längere Reichweite" mfg Klaus
:
Bearbeitet durch User
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.