SMBus - Slaves scannen

OP #2659547
Lesenswert?

Hallo miteinander,

ich suche nach einer Möglichkeit, um alle Slaves an einem SMBus Master 
zu finden. Speziell geht es um einen MLX90614. Es können aber auch noch 
andere Slaves angeschlossen sein. Leider reagiert der MLX auf drei 
Adressen (00, 5A, 90). Somit weiß ich nie, wieviele Slaves angeschlossen 
sind, wenn ich pauschal einen Lesezugriff auf eine bekannte 
Speicherstelle durchführe. Auch können die Slaves variieren.

Gibt es irgendwie ein "Hello"-Signal, mit dem ich alle Adressen 
durchscannen kann, und der Slave dann antwortet?

Grüße

M. Schwaikert
#2659642
Lesenswert?

5A ist die Defaultadresse ... hab mit dem Ding auch schon gespielt, bei 
mir antwortete der nur über seine Slaveadresse, sonst nix und über die 
anderen hab ich auch im Datenblatt nix gefunden.

In meiner Anwendung hab ich aber nur den Einen am I2C / SMBus, führe 
aber auch beim Programmstart nen Scan durch, geht 1A ...

evtl. der Bustakt zu hoch?

Einen generellen Ping gibts meines Wissens nicht, Du kannst nur alle 
möglichen 127 Read-Adressen durchgehen und abfragen ... sind ja nicht so 
viele.
OP #2659673
Lesenswert?

Das mit dem Abfragen habe ich soweit probiert. Problematisch ist aber, 
dass ich ja auf eine definierte Speicheradresse zugreifen muss. Verletze 
ich diese, antwortet das Gerät mit TWI Error. Genauso, wenn ich eine 
Adresse anspreche, die nicht existent ist. Ich kann also auch aus dem 
Fehler nicht auf ein angeschlossenes Gerät tippen.
OP #2660186
Lesenswert?

Mal eine andere Frage an dieser Stelle:

Lt. Datenblatt ist die Geräteadresse 5A. Wenn ich aus dem EEProm diese 
auslese, erhalte ich allerdings A8 20 04. Angeblich ist nur das Lower 
Byte interessant. Nur wie sind A8 und 5A unter einen Hut zu bringen?

Schönen Abend noch,

grüße

M. Schwaikert

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren