- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 21

Thema: I2C Bus

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    24.03.2010
    Ort
    Steiermark
    Alter
    32
    Beiträge
    65
    Ok es ist sind 2 PCA9555D Bausteine die ich verwenden will. Das heißt ich muss due +5V vom µC und GND an den Bus hängen damit alles einwandfrei funktioniert?

    MfG Snow Wolf

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von Chypsylon
    Registriert seit
    02.02.2011
    Ort
    Graz/Österreich
    Beiträge
    256
    Zitat Zitat von Snow Wolf Beitrag anzeigen
    Ok es ist sind 2 PCA9555D Bausteine die ich verwenden will. Das heißt ich muss due +5V vom µC und GND an den Bus hängen damit alles einwandfrei funktioniert?
    Mit dem Bus (also SCL und SDA) ist nur +5V über Pullup Wiederstände (z.B. 4,7k) verbunden aber die PCA9555D musst du mit GND und +5V versorgen (wahrscheinlich eh was du gemeint hast )
    Grüße aus Graz

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Chypsylon Beitrag anzeigen
    Mit dem Bus (also SCL und SDA) ist nur +5V über Pullup Wiederstände (z.B. 4,7k) verbunden aber die PCA9555D musst du mit GND und +5V versorgen (wahrscheinlich eh was du gemeint hast )
    Grüße aus Graz
    Ich versuche mal ein wenig System in das Ganze zu bringen. Jeder Chip braucht eine Versorgung. Ich hab jetzt die PCA9555 nicht nachgesehen, aber ich vermute sie brauchen 5V, der ATmega16 auch. Wenn sie miteinander kommunizieren sollen, sollten sie eine gemeinsame Masse haben.

    Und nun der Bus. I2C hat 2 Leitungen, die müssen an alle Beteiligten gehen, es ist ja ein Bus. Der Bus ist OC, daher werden Pullups an beiden Leitungen gebraucht. Die I2C Spec sagt, jeder Ausgang muß 3mA treiben können, also darf der Pullup nicht so klein sein, daß mehr als 3mA fließen. Von der Physik ist das schon alles. Von der Logik muß man noch beachten, das alle Knoten am Bus eine eigene Adresse haben. Der µC ist der Master, die beiden PCA9555 müssen auf unterschiedliche Adressen gesetzt werden.

    Ein Interrupt gehört nicht zum I2C Bus. Wenn ich aber als Master nicht dauernd die Slaves pollen will, kann mir ein Interrupt die Arbeit erleichtern. Dazu wird jeder Interruptausgang eines PCA9555 an einen Interrupteingang des µC gelegt. Wenn dann ein Interrupt auftritt, weiß der µC an welchem PCA ein Ereigniss aufgetreten ist, um das er sich kümmern muß.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  4. #4
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    48
    Beiträge
    68
    Hallo

    Ich gebe dir noch einen kleinen Tip.

    Ich habe das so gelöst. die I2c-Bausteine benötigen für ihre Arbeit ja +5V. Da ich jetzt nicht weiß wie lange deine Leitung dazwischen ist empfehle ich dir
    bei längerer Leitung den Spannungsregler für die beiden PCA mit auf der Platine unterzubringen wo sich sich befinden.
    Ich habe das über eine 10 poligen Wannenstecker gemacht
    Ich habe dort + 12V, GND, SCA und SCL. Die 5 Volt werden dann über ein 78L05 aus den 12 Volt gewonnen.
    Ich habe mich für diese Lösung entschieden um SPannungsverlust vorzubeugen da ich dazwischen längere Leitungen haben.

    MFG
    Patrick

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    24.03.2010
    Ort
    Steiermark
    Alter
    32
    Beiträge
    65
    Ich glaub so werde ich das machen. Aber wenn ich nur GND verbinde müsste es dann nicht auch funktionieren?

    MfG Snow Wolf

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Snow Wolf Beitrag anzeigen
    Ich glaub so werde ich das machen. Aber wenn ich nur GND verbinde müsste es dann nicht auch funktionieren?
    Ja, es wird.

    Der I²C Bus ist nur für relativ kurze Verbindungen geeignet, Lange Leitungen = Große Kapazitäten können die Bausteine nicht treiben. Genau genommen ist der I²C BUS ein Platinen BUS welcher NICHT wirklich für Kabel Anbindung geeignet ist.
    Der Rest ist Probieren, Testen und Glück oder auch nicht haben
    Das hat mit Glück nichts zu tun. Ein I2C Ausgang muß 3mA und 400pF treiben. Wenn man dann das verwendete Kabel berücksichtigt, läßt sich die Länge genau bestimmen. Um die größte Länge zu erreichen, muß der Pullup so klein wie möglich sein, um die Signalanstiegszeit kurz zu halten. Wenn man durch ungeschickte Kabelbelegung Probleme mit Übersprechen hat, hat das mit I2C nichts zu tun. Selbstverständlich ist der I2C Bus für Geräteinterne Kabel gedacht gewesen, z.B. zwischen den Baugruppen eines Röhrenfernsehers.
    Mit speziellen Treiberbausteinen und den richtigen Kabeln sind auch Buslängen von über 100m möglich, auch ohne Glück.

    Ich habe das über eine 10 poligen Wannenstecker gemacht
    Ich habe dort + 12V, GND, SCA und SCL. Die 5 Volt werden dann über ein 78L05 aus den 12 Volt gewonnen.
    Ich habe mich für diese Lösung entschieden um SPannungsverlust vorzubeugen da ich dazwischen längere Leitungen haben.
    Das ist eine vernünftige Lösung. Wenn man dann noch, wie bei anderen Datenkabeln auch üblich, zwischen zwei signalführenden Adern eine Passive Ader (12V oder GND) führt, minimiert man ein mögliches Übersprechen. Und wenns mal etwas mehr Strom sein soll, einen Schaltregler statt des 78L05.

    MfG Klebwax

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  7. #7
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    48
    Beiträge
    68
    Ich arbeite mit 2,2 K Pull-Up Widerständen.
    Einmal in der Nähe des AT-Mega und einmal in der Nähe der I2C Bausteine.
    Ich habe wie gesagt bei 10 m keine Probleme gehabt und die beiden Leitungen liegen Nebeneinander..also scl und sda.

    ich nutzte eine 1opoligen Wannenstecker wobei die beiden Gegenüberliegenden Pins immer Gleiches Potential haben.
    Daher immer zwei Leitungen gleiches Potential
    aber ich gebe recht das man die beiden Leitungen evlt noch voneinander trennen sollte
    Oder einfach einen Treiber dazwischen dann ist das Problem aus der Welt.
    Ich glaube mit dem Treiber werde ich mal einen Versuch machen

    MFG
    modtronic

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von modtronic Beitrag anzeigen
    Hallo

    Ich gebe dir noch einen kleinen Tip.

    Ich habe das so gelöst. die I2c-Bausteine benötigen für ihre Arbeit ja +5V. Da ich jetzt nicht weiß wie lange deine Leitung dazwischen ist empfehle ich dir
    bei längerer Leitung den Spannungsregler für die beiden PCA mit auf der Platine unterzubringen wo sich sich befinden.
    Ich habe das über eine 10 poligen Wannenstecker gemacht
    Ich habe dort + 12V, GND, SCA und SCL. Die 5 Volt werden dann über ein 78L05 aus den 12 Volt gewonnen.
    Ich habe mich für diese Lösung entschieden um SPannungsverlust vorzubeugen da ich dazwischen längere Leitungen haben.

    MFG
    Patrick
    Der I²C Bus ist nur für relativ kurze Verbindungen geeignet, Lange Leitungen = Große Kapazitäten können die Bausteine nicht treiben. Genau genommen ist der I²C BUS ein Platinen BUS welcher NICHT wirklich für Kabel Anbindung geeignet ist.
    Der Rest ist Probieren, Testen und Glück oder auch nicht haben....Man könnte einmal versuchen rs485 Leitungstreiber an I²C zu koppeln, das sind auch OC Treiber welche Parallel am Bus hängen, aber locker 1200m überbrücken können.

    Gruß Richard

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    24.03.2010
    Ort
    Steiermark
    Alter
    32
    Beiträge
    65
    Naja und wie geht das mit den Treibern? Kann ich da einfach 2 nehmen anstecken und schon geht das ganz normal?

    MfG Snow Wolf

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von Snow Wolf Beitrag anzeigen
    Naja und wie geht das mit den Treibern? Kann ich da einfach 2 nehmen anstecken und schon geht das ganz normal?

    MfG Snow Wolf
    Ich habe extra "versuchen" geschrieben weil (ich) das noch nie probiert habe.

    Gruß Richard

Berechtigungen

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

Labornetzteil AliExpress