RPI-i2c-µC Multimastermode

  • Hallo,

    ich möchte eine RPI und einen PIC-Microcontroller über I2C verbinden.
    Je nach Situation soll eines der Geräte die Kommunikation aufnehmen.
    Der PIC soll das Powermamagement übernehmen und weil schon mal AD-Wandler drin sind auch gleich noch die Auswertung von 2 PT100-Tempfühlern mit übernehmen.
    z.B.
    PIC als Master: erkennt krittische Spannung -> Info an RBI
    RPI als Master: fordert die Tempwerte vom PIC an
    Bei Nichtbenutzung währ der PIC den RPI runter uns sich selbst in der sleepmode.
    Aufwachen des PICs (und damit evtl des RPIs) passiert über Interrupt(timer/portbchange/i2c) am PIC.

    Bisher habe ich aber noch keine Möglichkeit gefunden den RPI als Slave ein zusetzen.
    Die einzige Idee die ich dazu bisher habe ist eine zusätliche "Meldeleitung" vom PIC->RPI (Interruptauslösung an eimen RPI-Pin) damit der RPI im MQastermode sich die Daten vom PIC holt.

    Was meint Ihr dazu?
    Für weitere Ideen bin ich Dankbar!

    aber jetzt erst mal guten Rutsch an alle...dann bis Neujahr

    cu xbow

  • Hi

    also ich hatte da für den Ultraschall-Sensor auch keine bessere Idee als einen Interrupt.
    Ich glaube auch nicht dass es möglich ist, den RPi als Slave zu nutzen. Wäre auch irgendwie kompliziert: wer soll wann Slave sein und was, wenn plötzlich beide Slave sind ... :s
    Da bräuchte es imho wieder eine Management-Instanz ...

    cheers und rutsche ebenfalls gut ;) ...
    -ds-

  • Hi

    frohe neues!


    also ich hatte da für den Ultraschall-Sensor auch keine bessere Idee als einen Interrupt.


    Es läuft wohl daraufhinaus eine Meldeleitung mit Interrupt zu nehmen :s

    Quote

    Ich glaube auch nicht dass es möglich ist, den RPi als Slave zu nutzen. Wäre auch irgendwie kompliziert: wer soll wann Slave sein und was, wenn plötzlich beide Slave sind ... :s
    Da bräuchte es imho wieder eine Management-Instanz ...


    Man müsste das I2CProtokoll für der RPI im Slavebetrieb wohl in Software realisieren.
    Eine separate Management-Instanz braucht es dazu imho nicht. Alle Geräte lauschen als Slaves auf der Taktleitung. Auf dem Bus ist default kein Taktsignal. Das Gerät was die Kommunikation starten will übernimmt den Bus(CLK low - Startcondition) und spielt dann Master(erzeugt den Takt). Nach Kommunikation gibt es den Bus wieder frei und laucht wieder (Slavemode). Klar ist, wenn der Bus belegt ist, darf ein anderes Gerät nicht den Bus übernehmen um Master zuspielen.
    ... soweit die Theorie... :denker:
    Bisher habe ich im Netz leider auch noch nicht viel gefunden. Mit der Interrupterkennung des RPIs muss ich mich auch erst mal vertraut machen.
    Werde mir erst mal diesen Artikel reinziehen...

    cu xbow

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!