- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 5 von 5

Thema: 4 AD5667 am I2C Bus

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.03.2008
    Alter
    32
    Beiträge
    114

    4 AD5667 am I2C Bus

    Anzeige

    Praxistest und DIY Projekte
    Folgendes Problem.
    Ich möchte 4 AD5667 an einem I2C betreiben. Allerdings kann ich laut Datenblatt nur 3 verschiedene Adresse vergeben. Das heisst das maximum an AD5667 an einem Bus ist gleich 3.
    Wie löse ich dieses Problem um 4 betreiben zu können?

    Kann ich es so machen?
    Ich hänge die ADDR Pins an den µC und setze die 3 mit denen ich grade nicht spreche auf Vcc während der mit dem ich spreche auf GND gesetzt wird und ich spreche immer mit der Adresse für GND. So kann ich den AD5667 auswählen der mich gerade interessiert?
    Gibt es eine bessere Lösung?

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    06.02.2007
    Beiträge
    25
    Hey wie ist es wenn du einen I2C Multiplexer davor schaltest.
    z.B. den PCA9543
    dann kannst du ohne groeßeren Aufwand mehrere I2C fähige IC mit der selben Adresse verwenden.

    BGA TK

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.11.2006
    Beiträge
    463
    Bist du sicher, dass der AD5667 im Betrieb ständig den Status von ADDR überprüft? Es kann auch sein, dass das Teil nur beim Starten schaut, wie der Pin beschaltet ist und dann die I2C-Adresse bis zum nächsten Einschalten fest speichert.

    Alternativ kann man auch einen zweiten I2C Bus (notfalls per Software) aufmachen.

    Eine weitere Möglichkeit wäre, dafür zu sorgen, dass das Taktsignal (SCL) nur noch bei einem Teil der Chips ankommt. Dazu könnte man das SCL-Signal des Masters über einen Widerstand mit einem IO-Pin verbinden. Wenn man diesen IO-Pin auf low schaltet, dann liegt dort kein Taktsignal mehr an. Wenn man den Pin jedoch auf Tristate (Input) schaltet, dann liegt dort ein Taktsignal an, das man an bis zu 3 AD5667 (mit unterschiedlicher Adresse) anschliessen kann. Clock stretching geht dann allerding nicht mehr.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    doofe Frage mal meinerseits ... aber das Ding hat zwei Adresspins
    a0 und a1 ...

    daraus ergeben sich für mich 4 Kombinationsmöglichkeiten ...

    00
    01
    10
    11

    oder hab ich da was im Datenblatt übersehen?
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  5. #5
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    53
    Beiträge
    502
    @Vitis ja hast du, denn es gibt nur ein three-state Adresspin. Siehe Tabelle 7.

    The AD56x7R/AD56x7 each have a 7-bit slave address. The five MSBs are 00011 and the two LSBs (A1, A0) are set by the state of the ADDR address pin. The facility to make hardwired changes to ADDR allows the user to incorporate up to three of these devices on one bus, as outlined in Table 7.

    @Shottky das mit dem auf GND ziehen und während des Betriebes auf zB VCC umschalten kannst du doch ganz einfach dadurch testen, dass du nur mal einen anschließt und nach dem Umschalten über eine andere Adresse zugreifst. Wenns geht ists gut. Sonst musst du halt über eine zusätzliche Schaltung nachdenken.

    sast

    雅思特史特芬
    开发及研究

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad