-         
Ergebnis 1 bis 4 von 4

Thema: I2C-Bus mit ausgeschalteten Teilnehmern

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.11.2004
    Beiträge
    123

    I2C-Bus mit ausgeschalteten Teilnehmern

    Anzeige

    Hallo,

    habe mal eine Frage. Ich habe mehrere I2C Teilnehmer z.B RNBFRA, KEYLCD IO-Ports ... an einem I2C-Bus. Wenn ich nun die Spannungsversorgung des KEYLCD abschalte und weiterhin angestöpselt lasse, killt mir das den kompletten Bus, sprich das RNBFRA macht garnichts mehr!

    Warum und was kann ich dagegen tun?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.10.2004
    Ort
    ferd. Waldmüllerg. 7/2
    Alter
    33
    Beiträge
    456
    Wahrscheinlich, weil der angeschlossene Moul die beiden Leitungen (eigentlich genügt es auch schon eine ^^) aktiv nach low zieht. So denkt jeder, der Bus sei besetzt (CLK auf low) und traut sich nicht, seine Daten auf diesen zu setten, beziehungsweise alle erhalten plötzlich nur noch 0-en als Daten (SDATA auf low). Dies kommt daher zustande, dass keiner die Leitungen aktiv nach 5V ziehen kann/darf/soll (open collector).

    Was du tun kannst? Das einzige, was mir so auf die Schnelle einfällt (außer den Teilnehmer NICHT abzuschalten) wäre, die beiden Leitungen (und die Versorgungsspannung) mit einem Relay physikalisch vom Bus zu trennen. Bräuchtest halt ein 3-poliges Relay pro Teilnehmer...

    MfG
    Mobius

    €dit: Ansonsten, wäre es vielleicht möglich, das Modul nur in den Ruhemodus zu schicken? Kenn mich leider mit AVRs nicht aus und weiß daher leider nicht, ob es möglich ist, den µC durch einen I2C Interrupt aus diesem zu reißen. Wäre halt eine weitere Möglichkeit, den, zumindest PIC sind im Sleep seeehr sparsam (wenige 100µA)...

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.08.2005
    Alter
    33
    Beiträge
    685
    Eine Alternative zum Relai wären evtl. 2 Transistoren
    Dazu braucht man aber noch ein freien Digitalport.
    Diesen als Ausgang und auf jeweils 2 npn Transistoren (mit 4k7 Vorwiderstand), die jeweils in der SDA und SCL Leitung hängen [/code]

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    32
    Beiträge
    4.255
    Mit nur 2 Transistoren ists nicht getan, weil die Leitungen ja bidirektional betriben werden.
    Man könnte mal versuchen, einen 4066 als Schalter für den Bus zu benutzen.

Berechtigungen

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