-
        

+ Antworten
Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 43

Thema: Arduino Mega/Due: i2c Master port multiplexen

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.433

    Arduino Mega/Due: i2c Master port multiplexen

    Anzeige

    hallo,
    ich müsste den I2C Masterport auf dem Arduino Mega(5V) und Due (3.3V) multiplexen auf mindestens 8 einzelne I2C Ports (einer der Hauptgründe ist, dass die angeschlossenen I2C Geräte alle dieselbe I2C Device Adresse haben).

    Wie mache ich das am geschicktesten mit welchem Zusatzchip?

    Die Arduinos schaffen ja locker 400kbps per i2c, aber die Geschwindigkeit an den gemuxten Ports ist nicht so entscheidend, da reichen jeweils ~10kHz dicke.

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    599
    Hallo,

    ich kann nur zum ARM-Teil der Frage antworten. Bei Controllern wie auf dem Due gibt es normalerweise mehrere I2C-Busse, also nicht sowas wie einen Masterport. Der Due hat zwei I2C-Ports (SDA, SCL und SDA1, SCL1), es gibt aber außerhalb der Arduino-Welt Boards mit mehr Bussen.

    Der hier hat z.B. drei I2C und vier SPI:
    http://www.watterott.com/de/NUCLEO-F401RE
    die könnte man über SPI verbinden, ein Board als Master die anderen als Slaves. Für den Preis eines Due hätte man dann zwölf I2C.

    Will man das alles auf einer Platine, gibt es SPI-Lösungen wie den CP-2120. Da braucht man einen pro zusätzlichen I2C-Bus. Das geht auch nur am Due (oder anderen ARM-Boards), weil 3,3 Logik.
    http://www.silabs.com/products/inter...s/default.aspx

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.433
    man kann theoretisch sowohl den Mega- als auch die beiden Due-I2c ports frei als Master oder Slaves konfigurieren per wire.begin() (mit oder ohne dev address Parameter: wenn mit addr-Byte, dann wird er slave, ansonsten master ).

    Ich will auch nur 1 von den I2C ports verwenden, aber den eben multiplexen, um identische Slaves anschließen zu können (alle haben z.B. dev addr 0x02).
    SPI ist keine Option, es soll der Hardware-i2c Port gemuxt werden ( - oder habe ich was falsch verstanden?)

    Praktisch ist das ganze gedacht wie z.B. bei PCF8591 ADC/Analog-Muxern , nur dass eben nicht verschiedene Analog-Geräte sondern eben weitere I2C Geräte am selben Port gemuxt werden sollen).
    Geändert von HaWe (09.10.2014 um 16:19 Uhr)

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    599
    Mit Logikgatter-ICs wird das ziemlich aufwendig. Ich kenne kein Multiplexer-IC mit Open-Collector- oder Open-Drain-Ausgang. Und SDA ist auch noch ein bidirektionaler Pin, Eingang und Open-Drain-Output gleichzeitig.

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

    kleine Beitragergänzung #4 vom Mxt:

    Jeden Ausgang könnte man mit einer Diode OC ("open collector") bzw. OD ("open drain") machen, dass nur an GND "zieht".
    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!

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.433
    ja, das bidirektional stimmt, ich muss ja bytes schreiben und lesen können.
    Geschwindigkeit ist kein Thema, der Mega-i2c kann locker 400kHz und an jedem Endgerät reichen locker 10kHz aus.
    Ich muss sie nur alle einzeln pollen können.

    Die I2C slaves sind ganz normale i2c-Chips, das könnten z.B. durchaus PCFs oder MAXs oder MPUs etc. sein.

    Das mit OC oder OD verstehe ich nicht.
    Geändert von HaWe (09.10.2014 um 16:43 Uhr)

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.433
    wie man das macht, weiß ich nicht, man müsste mir dann eben die entsprechenden Sketch-Befehle noch dazu sagen damit wire.write/read richtig funktioniert und ich die einzelnen Slaves korrekt individuell pollen kann.

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    599
    Zitat Zitat von witkatz Beitrag anzeigen
    und 2 x 74HC4016 um die Signalleitungen durch zu schalten
    Geht das vom Widerstand her ?

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.433
    ach ja, es sollten schon erprobte oder bekanntermaßen funktionierende Lösungen sein, auf die ich mich 100%ig verlassen kann... 8-)

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.433
    nein, ich bin absolut Elektronik-unbeleckt, ich brauche einen fertigen i2c-Multiplexer, der mit Arduinos zusammen funktioniert

    ich verstehe übrigens auch nicht viel von der Verschaltung oder Programmierung, es müsste also auch gut erklärt sein
    (einzelne I2C Geräte kann ich natürlich schon auslesen wie z.B. einen MCU6050, und hier oder da einen Widerstand oder einen Kondensator vor den einen oder anderen Pin zu setzen - nach Anleitung - ist ntl auch kein Problem)

    - - - Aktualisiert - - -

    ps,
    da ich über die einzelnen Chips und die passende Elektronik keinen Überblick habe, nützten mir ntl auch die 10 Seiten Google-Treffer-Liste nichts - ich brauche da schon eine konkrete Angabe
    Geändert von HaWe (09.10.2014 um 17:03 Uhr)

+ Antworten
Seite 1 von 5 123 ... LetzteLetzte

Ähnliche Themen

  1. [ERLEDIGT] I2C Problem mit dem Arduino DUE
    Von jok3r im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 2
    Letzter Beitrag: 22.03.2014, 13:21
  2. Arduino Due + Treiber + Schrittmotor PROBLEM
    Von stevie3354 im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 31.01.2014, 00:11
  3. I2C Terminal von CCTools.eu und Arduino Mega
    Von meddie im Forum Arduino -Plattform
    Antworten: 0
    Letzter Beitrag: 21.08.2013, 22:12
  4. Arduino Due HSMCI - SD/SDIO/MMC
    Von Superhirn im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 0
    Letzter Beitrag: 25.01.2013, 11:57
  5. Arduino Due erschienen
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 24.10.2012, 23:20

Berechtigungen

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