-         

Ergebnis 1 bis 6 von 6

Thema: Abschlusswiderstände AT-Mega und i2c Bus

  1. #1
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    40
    Beiträge
    41

    Abschlusswiderstände AT-Mega und i2c Bus

    Anzeige

    Moin

    Ich habe folgende Frage.

    Ich habe eine Bussystem gebaut.
    Ein AT-Mega 16 treibt über ein poliges Flachbandkabel 8 Platinen auf denen jeweils 2 x PCF 8574 Portexpander seinen Dienst verrichtet. Das Flachbandkabel geht auf Wannenstecker und zwischen den beiden Leitungen SDA und SCL liegt immer einer dazwischen auf GND.
    Die Karte mit dem AT ist der Master.

    Ich habe für den Bus 4,7 K Pull-Up Widerstände vorgesehn.
    Diese sind jeweils auf den Slavekarten (PCF 8574) und auf dem Master untergebracht.
    Über Jumper kann ich diese Zuschalten.
    Der Bus wird eine länge von ca. 10 m haben.
    Wo ist es nun sinnvoll die Pull-Ups einzuschalten ??

    modtronic

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    10 m Länge für I2C ist reichlich viel. Für so lange Leitungen ist das nicht vorgesehen. Wegen der Leitungslänge wird man wohl besser mehr als einen der 4,7 K Widerstände aktivieren. 10 m Leitung + 16 ICs sollte etwa eine Kapazität von 1,2 nF haben. In den I2C Sepcs kann man irgendwo nachlesen was man da etwa für einen Widerstand bräuchte - vermutlich weniger als 4,7K, eher so 1 K oder 5 von den 4,7 K Widerständen.

    Als Abschlusswiderstand im Sinne einer Anpassung des Wellenwiderstandes sind 4,7 K auch viel zu groß (da wären etwa 100-150 Ohm richtig). Bein I2C dienen die Widerstände als Pullup-Widerstände. Wo die Sitzen ist relativ egal - das kann auch verteilt sein, ggf. mit leichten Vorteilen an beiden Enden.

  3. #3
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    So wie der Besserwessi schon schrieb, bei so langen Kabel wird I2C Bus ohne Treiber wahrscheinlich schnell nicht gehen (schätzungsweise bis um 30 kHz).
    Geändert von PICture (22.05.2011 um 10:46 Uhr)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von modtronic Beitrag anzeigen
    Moin

    Ich habe folgende Frage.

    Ich habe eine Bussystem gebaut.
    Ein AT-Mega 16 treibt über ein poliges Flachbandkabel 8 Platinen auf denen jeweils 2 x PCF 8574 Portexpander seinen Dienst verrichtet. Das Flachbandkabel geht auf Wannenstecker und zwischen den beiden Leitungen SDA und SCL liegt immer einer dazwischen auf GND.
    Die Karte mit dem AT ist der Master.

    Ich habe für den Bus 4,7 K Pull-Up Widerstände vorgesehn.
    Diese sind jeweils auf den Slavekarten (PCF 8574) und auf dem Master untergebracht.
    Über Jumper kann ich diese Zuschalten.
    Der Bus wird eine länge von ca. 10 m haben.
    Wo ist es nun sinnvoll die Pull-Ups einzuschalten ??

    modtronic
    Üblich ist an beiden Enden, also beim Master und beim letzten Slave. Allerdings ist das bei I²C etwas anders weil das dort Pull-Up NICHT Abschlusswiderstände zur Impedanz Anpassung sind. 4k7 ist aber OK weil die zusammen=parallel den Strom noch unter 3 mA halten. Wenn es Impedanz Probleme gibt kannst Du einmal versuchen den BUS als Ring zu verdraten, im Ring giebt es keine Leitungs Ruflektionen da ein geschlossener Kreislauf. Nachteil, man braucht mehr Adern.

    Gruß Richard

  5. #5
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Ein Ring hilft auch nicht weiter. Man hat da zwar keine Refelxion am Ende, dafür aber das Zusammenlaufen der Wellen von beiden Seiten - der Effekt ist ziehmlich der gleiche. Als Nachteil hat man noch mehr kapazitive Last da sind die ca. 1200 pF auch so schon 3 mal mehr als bei I2C vorgesehen sind.

    Gute I2C Chips sollten eine begrenzte Flankensteilheit haben (ob der AVR das hat, weiss ich aber nicht). Damit sollten Leitungs-Refelxionen das kleinere Problem sein. Beim Pullup - würde ich nahe an die 3 mA Grenze gehen die für I2C vorgesehen ist, also etwa 1,5 K (bzw. 3 der 4,7 K Widerstände) - eventuell sogar etwas darunter, denn die Kapazität ist drüber.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von Besserwessi Beitrag anzeigen
    Ein Ring hilft auch nicht weiter. Man hat da zwar keine Refelxion am Ende, dafür aber das Zusammenlaufen der Wellen von beiden Seiten - der Effekt ist ziehmlich der gleiche. Als Nachteil hat man noch mehr kapazitive Last da sind die ca. 1200 pF auch so schon 3 mal mehr als bei I2C vorgesehen sind.

    Darum habe ich auch vorsichtshalber "versuchen" geschrieben. Ich habe so etwas einmal bei einen RS485 Bus gemacht da es mit den üblichen 120 Ohm Abschluss Widerständen einfach nicht geklappt hat. Als Ring klappte das dann ohne größere Probleme, Leider war dadurch die Leitung aber etwas "sehr lang" ca. knapp 2 km. Ich habe dann den/die Abschluss Widerstände mittels Poti und Ozzie so gewählt das ein Sauberes Rechteck mit steilen Flanken auf der Leitung erschien. OK damit gab es auch weniger Probleme (Lesefehler), Letztendlich habe ich wieder den Ring genommen und die Arbeitszeit Erfassung läuft seit 20 Jahren ohne Probleme, außer es zerhaut einmal wieder Überspannung alle SN75176 Leitungstreiber.

    Gruß Richard

Ähnliche Themen

  1. TWI zwichen mega 16 und mega 8
    Von rauf81 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 9
    Letzter Beitrag: 18.04.2011, 06:44
  2. Antworten: 3
    Letzter Beitrag: 03.12.2009, 19:36
  3. Controllerboard für Mega 16, Mega 32 und Mega 644
    Von Teslafan im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 4
    Letzter Beitrag: 02.05.2009, 01:01
  4. Wieviele Servos an den Mega 8 oder Mega 16 ?
    Von minium :) im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 06.10.2006, 19:03
  5. PB7 am Mega 128
    Von ceekay im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 23.07.2006, 00:07

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •