Re: I2C-Tranceiver Kategorie: I²C-Bus (von André H. - 16.07.2008 14:22) | ||
Als Antwort auf Re: I2C-Tranceiver von Werner - 16.07.2008 13:03 | ||
| ||
Hallo Erner, Hallo Mexx, > von mir mal ein paar andere Fragen: > 1. Welche Tranceiver nutzt du denn? Von CC-Tools (ergo einen P82B96 + 2x PCA82C250)? > Wenn ja, warum dann an der zentralen Stelle zwei Tranceiver einsetzen. Das Modul > arbeitet ja anscheinend so wie in der Application Note in Figure 6 beschrieben. Dann > können an diesem Bus auch 100 Knoten betrieben werden. Wo die Station dabei > hängt ist zweitrangig. Wichtig sind nur die Abschlusswiderstände zwischen SDA L & SDA H > und SCL L & SCL H. So ist es. Es gibt keine Notwendigkeit für zwei Tranceiver an der CC2, wenn von dieser nur max. zwei Stränge wegführen. Der Tranceiver an der CC2 sitzt dann eben in der Mitte des Tranceiver- Busses. Aber, das eigentliche Problem ist ein anderes, welches bei "2." angesprochen wird. Im der Anleitung des I²C-Bus-Trancievers habe ich leider leider nur bei einem Tranceiver im Verschaltungsbeispiel den Hinweis "auch I²C-Master" geschrieben. Vielleicht war das etwas irreführend. Wo der I²C-Bus-Master am Bus sitzt, ist immer egal. > 2. Werden bei beiden Tranceivern Pull-Ups am lokalen I2C-Bus eingesetzt? > Falls ja, mal eher einen entfernen. Hatte am I2C-Bus schon mal das Problem, dass ich > an den "Endgeräten" jeweils Pull-Pus eingesetzt hatte. Nach dem zusammenschalten > mehrerer dieser "Endgeräte" war dann die Leitung so auf "Hoch" geprügelt, dass die > Low-Signale "versaut" wurden, mit der Folge, dass die Endgeräte anfingen sich merkwürdig > zu verhalten. > > Leider kenne ich die Tranceiver-Platinen von André nicht. Also gehe ich nur theoretisch vor ;-( > Aber vielleicht hilfts? Die Tranceiver haben alle 10k-Pull-Ups an SDA und SCL. Wenn man nun zu viele an die CC2 hängt, können die Pegel nichtmehr sauber auf Low gezogen werden, was sich dann in dem Phänomen äu�ert, da� nicht alle Slaves ansprechbar sind. Befindet sich an der CC2 kein Puffer oder Extender, äu�ert sich dies relativ früh, da die I/Os nur mit 5mA belastbar sind. Bei höheren Strömen schlägt der Innenwiderstand der Ports zu. :-) Kurz die Spannung bei Low wird zu hoch. Die CC2 hat intern 4,7k als Pull-up. dieser Widerstand sollte bei einem Bus direkt an der CC2 eigentlich nicht unter 3k betragen, da ansonsten eben genau dieses Problem auftreten kann. Deshalb habe ich beispielsweise bei den CC2-ReglerBoard-Bundles immer ein I²C-Bus-Puffer dabei. Daher würde ich einfach den zweiten I²C-Tranceiver an der CC2 weglassen, und vom ersten zwei Strange wegführen. Wichtig ist, da� bei diesem Tranceiver, welcher nun in der Mitte des Tranceiver-Busses liegt, die Abschlu�widerstände deaktiviert sind. Nur an den Kabelenden dürfen die Jumper für die Abschlu�widerstände gesetzt sein, bzw. Abschlu�widerstände angebracht werden. MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: I2C-Tranceiver (von Mexx - 16.07.2008 20:32) Re: I2C-Tranceiver (von André H. - 16.07.2008 21:59) Re: I2C-Tranceiver (von Mexx - 16.07.2008 23:35) Re: I2C-Tranceiver (von Mexx - 27.01.2009 22:10) |