Hallo Leute, ich habe ein wenig Problem mit der I2C-Technik. Verdrahtung : AVR ---> SDA + SCL Leitung Pull-Up 4,7 (5v) ---> RTC (DS1307) Auslesen läuft ! dazu nun an SCA / SDL den Extender 82B715 ran die Sx-Leitung und mit je 330 Ohm auf Pufferleitung Lx gegen 5V (Ub). Sobald ich an eine Leitung an den Pufferanschluss Lx anschliesse (anderes Ende offen an der Leitung !) klappt das Auslesen der Uhr (nur Wert 165 - für die eizelnen Stellen Minuten / Stunden usw.) nicht mehr. Die Leitung hat keinen Kurzschluss zueinander, auch nicht gegen den geerdeten Schirm. Die Leitung ist ca. 15m lang. Wo müssen nun welche Pull-Ups hin, muss etwa pro Device immer ein Extender ran oder sollte es wie oben beschrieben klappen. Am anderen Ende habe ich dann einen PCF8574 ,hinter dem Extender an den Sx-Leitungen, angeschlossen mit 4,7 k SCA / SCL gegen +5V, die Ansteuerung klappt, nur die Uhr direkt am "Master" geht dann nicht mehr, also entweder oder, ich hätte gerne beides. Muss pro Extender immer die Puffenleitungen mit 330 upgepullt werden..? Man wird das ein Stromverbrauch bei 12 Devices... Wer hat hier Erfahrung und könnte mir helfen... Gruss A. Arndt
Hallo, also ich hab mal ein i2c um die 17 Meter verlängert mit dem aktiven Pullup von big C (unter c-control rubrik). den hab ich wenige cm vom controller entfernt parallel geschalten. der Temperatursensor war dann weit weg(ca 17m)montiert. Gruß Andi
Hallo, konnte nicht ganz folgen, welche Teile wurden genau wo und wie angeschlossen... Also wurde der Extender direkt am Master angeschlossen und kein I²C-Device paralell zum Master direkt angeschloosen ? Gruss A. Arndt
die 2 Widerst. müssen auf der L = long sein (ist Verbindung zum nächsten 82B715) und darf kein anderes IC angeschlossen sein. l-hase
Hallo, ich habe etwas getüffelt : Die Pull-Ups von 330 Ohm müssen nur 1x auf die "Pufferleitung" (Lx und Ly) Am Master läuft nun die RTC mit je 330 Ohm in Reihe zum SDA und SCL-Anschluss der RTC und dann mit 22 kOhm Pull-Ups direkt an den 82P715. Die Pullups am Extender-Ausgang (nicht Puffer-Leitung) sind wohl auch abhängig davon, wieviele I²C-Devices an diesem 82P715 (Slave) hängen. Würde mich gerne weiter austauschen mit Nutzern dieses I²C-Long Bus, also immer hierherein mit den Infos. Gruss A. Arndt
Hab auch noch ne Frage zum I2C-Extender... ich möchte mehrere Platinen (zwischen 3 und 10) per i2c verbinden (nacheinander, nicht sternförmig) also: Platine 1 -------- Platine 2 --------... -------Platine n da jede leitung bis zu 5m lang werden kann brauche ich die Extender. Nun werde ich aber aus dem Datenblatt des P82B715 nicht ganz schlau... (http://www.ortodoxism.ro/datasheets/philips/P82B715PN.pdf) Laut Figure 3 auf Seite 4 müsste ich ja auf jeder Platine zwei (!) Extender verwenden?! also PL1-Extender ------- Extender-PL2-Extender-------Extender-PL3-Ext. usw... Stimmt das so oder komm ich irgendwie auch günstiger weg? Andi
Hi Andi, für jede Platine brauchst du einen Extender. PL1 Extender ---- PL2 Extender ---- PL3 Extender usw. Grüße OLLI
Hallo, ich denke es werden zwei Extender-Bausteine pro Plaine nötig sein, da die Kommunikation bidirektional ist. Gruß Manfred
@ Manfred (Gast) >ich denke es werden zwei Extender-Bausteine pro Plaine nötig sein, da >die Kommunikation bidirektional ist. Ich denke, es wird GAR KEIN I2C Expander benötigt. Ich hab hier gerade ne Platine "in der Mangel", dort ist ein I2C-Poti drauf. Da hängen an SDA 100nF (Ja einhundert Nanofarad) als EMV-Blocker dran, mit 10k Pull-Up. Über Sinn und Unsinn dieser Schaltung will ich hier nicht diskutieren, ist nicht auf meinem Mist gewachsen. Worauf ich hinaus will ist, dass die wunderbar per I2C kommuniziert, wenn gleich nur mit 500 Hz. Das gleiche kann man dort auch machen. Der Master muss nur langsamer takten, dann sind lange Kabel auch kein Thema. Allerdings muss man darauf achten, dass die Spannungsabfälle auf der Masse klein bleiben, sonst geht es nicht, eagl wie langsam. Also genügend dicke Kabel benutzen oder nur kleine Ströme zulassen. MfG Falk
Naja also ich möchte auf jeden Fall nen Extender verwenden um auch die Geschwindigkeit nutzen zu können. Hat jemand von euch Erfahrungen mit dem von mir oben beschriebenen Aufbau?! Bin mir nun immer noch nicht sicher ob ich einen oder zwei Extender pro platine brauche!? Danke, Andi
nachtrag: also ich hab jetzt schon des öfteren gelesen, dass einer pro Platine reichen würde, im Datenblatt heisst es aber: "The I2C bus capacitance limit of 400pF restricts practical communication distances to a few meters. Using one 82B715 at --> each end <-- of longer cables reduces the cable loading capacitance on the I2C bus by a factor of 10 times and may allow the use of low cost general purpose wiring to extend bus lengths." Also bräuchte ich doch zwei pro Platine?! Andi
Hallo, ich behaupte der Extender wirkt nur in eine Richtung. Wenn Platine A an Platine B sendet ist der Extender auf Platine A aktiv und der Extender auf Platine B hochohmig. Sendet B nach A ist es umgekehrt. Wird nur ein Extender, z. B. auf Platine A verwendet, so muß dein Treiber auf Platine B die Leitungskapazität treiben. Begrentzt deine Geschwindigkeit. Also zwei Extender nehmen. Gruß Manfred
So hier noch was Neues zum P82B715: Schaut euch mal die Seite 5 an: http://www.nxp.com/acrobat/applicationnotes/AN444.pdf Laut der Schaltung reicht dann doch einer pro Platine, ich hänge ihn ja an die twi-pins und mache die Verkabelung (also vom "Vorgänger" zu den "Nachfolgern") erst nache dem Extender. Werd das so jetzt mal testen. Grüße, Andi
Die I2C Konstandstromquelle hat bei mir leider nix gebracht. Obwohl am Oszi relativ gute Flanken erkennbar waren. Jetzt hab ich 2 Linedriver (für 2-3m) gebastelt. JCU hat jetzt eine Verbindung mit einem TMC222. Am Master verwende ich die Pullup des Masters(ca. 47k) dann 82b715 (mit 5V) und 680_OHM PU----Leitung----680_OHM 82b715 (5V) 6k8 pullup. Zu obiger Klarstellung: 1 82b715 pro Platine. Man baut einen "Master"-i2c Bus daran einen "Buffert"-I2c Bus und an diesen "BUS" hängt man die 82b715 "invers" an und erhält an jedem Standort einen "SUB-I2C" Bus(10cm bis einige Meter) als Stichleitung. Der Exdender ändert nur die Impedanz und kann einige mA mehr treiben. Anfänglich dachte ich er setzt auch auf bis zu 12V um, aber leider gibt er die Vcc an den unbuffert I2C Bus auch ab. Das könnte dann den ein oder anderen IC zerstören. Werde dann mal einen dritten kaufen, da ich eigentlich für die 2m ohne Buffer auskommen wollte, oder ich nehm den rs485 für die 15m in den zweiten Schaltschrank und mach mit dem Atmega als Intelligenz dort weiter. (Ist fast billiger als viel I2C kram und 1xSoftware). Gruß T.A.
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.