i2c-Bus erstellen - mehrere Teilnehmer

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    jetzt mag ich doch mal mit i2c was herumspielen und mir dazu in Kürze was Hardware organisieren.
    Jetzt habe ich nur eine Frage.
    i2c ist ja ein Bus-System, wonach ich einem Bus entsprechend mehrere Geräte ansteuern/auslesen können sollte.

    Da ich gerne kompliziert denke, wollte ich es mal einfach versuchen und bin deswegen vielleicht was naiv.

    Für l2c brauche ich die Pins SCL und SDA.
    Angenommen ich wollte jetzt einmal ein RTC-Modul und z.B. ein Display via Expander - oder was auch immer - über l2c ansprechen, kann ich dann einfach diese PINs von einer Leitung abzwacken, wie bei 1wire? oder müssen die Module SCL und SDA selber durch Pins herausführen?
    Ansonsten würde ich z.B. eine RTC anschließen und wäre l2c-technisch bereits ausgelastet....

    Sorry, wenn ich mich doof ausdrücke.


    edit:

    ok...man kann einfach so mehrere Sachen "in-line" anschließen. Sollte besser nach sowas vorab suchen hihi. erledigt.

    Einmal editiert, zuletzt von beyondx (9. Februar 2013 um 00:23)

  • Das kombiniertes Formart ermöglicht das Schreiben und Lesen innerhalb eines Zugriffes. Es wird nur ein Start und Ende gesendet.

    Hier mal das Beispiel:

    "write" sendet - [S]Addr[Wr][A]Data[A][P]


    "read" sendet - [S]Addr[Rd][A][DataHi][A][DataLo][NA][P]


    "combined" sendet - [S]Addr[Wr][A]Data[A][Sr]Addr[Rd][A][DataHi][A][DataLo][NA][P]


    Das heißt, zwischen dem lesen und schreiben wird kein Stop-Bit gesendet, sondern nur eine "repeated START condition".


    Wenn du nun ein Sensor hast, der zwingend das "combined" vorsieht, bekommst du die Kommunikation nicht hin, sofern der Kontrollor es nicht unterstützt. Daher die Frage.


    Wobei viele i2c-Sensoren das auch ignorieren der. BMP085 zum Beispiel hat das zwar im Datenblatt stehen, lässt aber den Pointer auf dem Register stehen, so dass man ihn mit write und read abfragen kann.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!