Re: Generelle Frage zum Bus Kategorie: I²C-Bus (von André H. - 18.12.2004 23:58) | ||
Als Antwort auf Re: Generelle Frage zum Bus von Thomas - 3.12.2004 15:14 | ||
| ||
Hallo Jochen & Thomas, Thomas hat schon das meiste erwähnt. Ich schreib aber noch ein paar Anmerkungen dazu: > > Au�erdem lese ich immer, dass man für den Bus am besten ein abgeschirmtes Kabel verwendet. Jetzt > > habe ich noch ganz dunkel in Erinenrung, dass man die Abschirmung mit Masse verbindet. Hei�t das > > also, dass ich 3 Drähte innen habe und au�en GND auf der Abschirmung liegen habe? Ich wei�, ich > > bin ein totaler Anfänger... Vorzugsweise sollte eine geschirmte Steuerleitung (Litze) oder CAT5-Kabel verwendet werden. Der Schrim darf nicht als Leiter benutzt werden !! Der Schirm sollte einseitig (bei der CC2) auf Masse gelegt werden Soll die Versorgung für die Peripherie mit über dasselbe Kabel geführt werden, so sollten für GND und V+ je zwei Adern reserviert werden. Ansonsten erhält man u.U. zuviel Spannungsabfall, was bei GND zu Problemen bei der �bertragung führen kann. > Auf der cc2net-Seite findest Du unter "Tips&Erfahrungen" einiges > zum i2c-Bus und Leitungslängen. Der Bereich hei�t "Tips & Ergänzungen". > > Desweiteren habe ich momentan ingesamt 4 Clients auf dem I2C-Bus. Die Peripherie am I²C-Bus nennt man Slaves, nicht Clients. > > Wie verbinde ich diese denn jetzt > > am geschicktesten? Alle 4 auf die Lötpads des Reglerboards oder kann ich die 4 Leitungen per > > Lüsterklemmen "vervielfältigen" und jeden Client dann an eine eigenen Klemme anschlie�en? Der I²C-Bus ist ein Bus. Daher gilt eine streng busförmige Verkabelung. Also von einem Gerät zum nächsten. Eine Sternverkabelung ist dabei nicht vorgesehen und kann, bei längeren Leitungen ohne weitere Ma�nahmen, zu Problemen führen. > Ich kenne die Releaisplatine nicht (vermute aber das Andre das schon > ordentlich gemacht hat) - dort sollte die Bus-Abkopplung (100 Ohm in dem Signalpfad) Als Sollwerte sollten 330 Ohm-Widerstände verwendet werden., nicht 100 Ohm. Diese Widerstände dienen nicht zur Abkopplung oder, wie manche denken, als �berlastungsschutz, sondern dazu, Leitungreflexionen anden ICs zu minimieren. > und der Pullup für den Bus (2k2 - 4k7) geschehen. Extra Pull-Ups sollten nicht gesetzt werden. Lediglich bei längeren Busleitungen sollten an jedem Ende extra Pull-Ups von ca. 10k gesetzt werden. Kleinere Widerstände sollten nur gesetzt werden, wenn an der CC2 ein I²C-Bus-Extender oder I²C-Bus-Puffer sitzt. Ansonsten passiert es sehr leicht, da� man die I/Os, an denen der I²C-Bus sitzt, überlastet. > > Ich benutze sowohl die Porterweiterung als auch die Relaisplatinen von CC-Tools. Leider habe ich > > überhaupt nicht verstanden, wie das mit den Adressen auswählen und den Jumpern zusammenhängt. > > Irgendwie kann ich fast nicht glauben, dass das so stimmt wie im "Beipackzettel" beschrieben. Oder > > ich stehe mal wieder voll auf dem Schlauch. Kann mir das jemand vielleicht nochmals gaaanz langsam > > erklären? > > Was ist genau die Frage? Die Portexpander (PCF8574, MAX3711) haben eine sogenannte > Basis-Adresse sowie Adresseingänge. Diese sind meist mit A0, A1, A2 bezeichnet. Ist der Jumper > zu einem Adresseingang gesteckt, liegt dieser auf GND (low) und hat den Wert 0. Ist der Jumper nicht > gesteckt, hat A0 hat den Wert 1, A1 den Wert 2 und A2 den Wert 4. PCF8574 und MAX7311 sind zwei paar Schuhe. Es gibt mehrer Arten der Adressierungen, die bei den einzelnen I²C-Bus-ICs unterschiedlich sein kann. Beim PCF8574 gibt es drei Adressleitungen, die entweder auf GND oder 5V gesetzt werden. Aus dem Bit-Muster A2 bis A0 ergibt sich die (Sub-)Adresse. Der Baustein MAX7311 ist ein Sonderfall. Hier gibt es zwar auch drei Adressleitungen, jedoch funktioineren diese nicht binär, als zwei mögliche Zustände, sondern man kann pro Adresspin vier verschiedene "Pegel" zuweisen. Ich nenne dies immer Quads. (Quad = ähnlich wie Bit, aber vier Zustände) Die vier möglichen Pegel sind GND,5V,SCL und SDA. GND und SCL stehen für eine logische 0, 5V und SDA für eine logische 1. Die erste Adresse beim MAX7311 ist für A2 bis A0 GND, SCL, GND , die zweite wäre GND, SCL, 5V , dir dritte GND, SDA, GND ,die vierte GND, SDA, 5V usw. . Die weiteren Adressen kannst Du aus der Tabelle des Moduls max7311.c2 bzw. der HTML-Hilfe zum Modul entnehmen. 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: |