Re: Probleme mit Cat5 Kabel Kategorie: I²C-Bus (von André H. - 12.03.2003 21:45) | |
Als Antwort auf Probleme mit Cat5 Kabel von Oliver Behrens - 12.03.2003 10:35
| |
Hallo Oliver, Zuerst: Das Thema AVR ist hier mehr als OFFTOPIC, da es in diesem Forum und auf meiner Site ausschlie�lich um die C-Control II und dem Drumherum geht. > habe hier unter Tips & Ergänzungen nen Beitrag zu langen Busleitungen per I2C gefunden. > Habe nun einen Controller (AVR) mit einem TempSensor DS1621 entsprechend verbunden. > Nehme ich nun ein Cat5 Kabel (ca. 10m) und lege sowohl SDA wie auch SCL auf ' s Kabel, > so kommt leider nichts an (au�er low). Benutze ich aber jeweils für SDA und SCL ein eigenes > Cat5 Kabel oder auch ein anders Kabel, so funktioniert es bei gleichen Aufbau prima. Dieser Beitrag betrifft nur die C-Control II. Bedenke, da� I²C-Bus nicht gleich I²C-Bus ist. Bei der C-Control I z.B. kann der interne I²C-Bus z.B. nicht länger als 5 bis 6 Meter gezogen werden. Dann ist meistens schon Schlu� ! Bei der CC2 beträgt mein Längenrekord ohne Pufferbausteine bereits ca. 90Meter. Viele Faktoren bestimmen, ob eine gro�e Leitungslänge möglich ist. 1. Die Taktrate: Bei der CC2 beträgt diese ziemlich genau 100kHz Wie gro� ist diese bei Deinem Controller ? Bei der CC1 z.B. wird der I²C-Bus im Mittel mit ca. 130kHz gefahren. Kurz, je langsamer die Taktrate, desto länger der Bus 2.Wie hoch ist der Widerstand der Ports im geschalteten Zustand ? Bei der CC2 ist dieser realtiv gering. Dies spielt im Zusammenhang mit der Geschwindigkeit eine Rolle. 3.Wie sauber ist der Bus programmiert ? Der Controller mu� open-collector-Ausgänge für SDA und SCL verwenden, sonst kann man gro�e Längen gleich Vergessen. (siehe CC1) Sind die Pulslängen beim CLK-Puls lang genug? Zu kurze Pulse werden durch die Induktivität eines langen Kabels leicht "verschluckt". (mit OSZI prüfen) Das sind die 3 wichtigsten Punkte, die überprüft werden müssen. Au�erdem benötigst Du bei langen Kabeln an beiden Enden Pull-Up-widerstände. Achte aber darauf, da� der Gesamtwiderstand nicht unter 1k fällt. (bzw. höherer Wert ansonsten zwei I²C-Bus Extender verwenden) > P.S. Als Widerstände habe ich jeweils 330Ohm im Bereich des Controllers wie auch beim > TEmp.Sensor genommen. Entferne die 330 Ohm am Controller, wenn dies der einzige Master am I²C-Bus. 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: |