www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SMBus - Slaves scannen


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Martin Schwaikert (sirnails)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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

Autor: Fhutdhb Ufzjjuz (weinbauer)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Martin Schwaikert (sirnails)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Martin Schwaikert (sirnails)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net