Herunterladen Inhalt Inhalt Diese Seite drucken

Thermometer-Sensor (Ds75, Lm75, Tmp101) - elv USB-I2C Handbuch

Inhaltsverzeichnis

Werbung

[Auslesen einer bestimmten Speicherzelle - „Random-Read" (24C01 und 24C02)]
SA0 00 R01 P
Antwort (z. B.):
0F
[Auslesen einer bestimmten Speicherzelle - „Random-Read" (24C04, 24C08 und 24C16)]
SA0 00 R01 P
Antwort (z. B.):
0F
[Aktuelle Speicherzelle auslesen - „Current-Address-Read" (24C01, 24C02, 24C04, 24C08 und 24C16)]
SA1 01 P
Antwort (z. B.):
01
Hinweis:
Beim Beschreiben eines EEPROM bietet es sich eventuell an, zur Kontrolle testweise mal den Parameter
Y31 zu setzen (siehe Kapitel 4.2.5.). Dieser gibt die ACK/NACK-Antworten des EEPROMs weiter an den PC.
Dadurch kann man sehen, ob die Schreib-Anweisungen z.B. zu schnell zum EEPROM gesendet werden,
und dieses die Daten nicht alle speichern kann (Antwort ist dann N statt K).
4.5.4.

Thermometer-Sensor (DS75, LM75, TMP101)

Eine ganze Reihe von I²C-Bausteinen dient der Messung von Umwelteinflüssen, wie z.B. Temperatur, Luft-
feuchtigkeit und Luftdruck. Zur Messung der Temperatur gibt es beispielsweise die sich recht ähnlichen
DS75, LM75 und TMP101.
Neben ähnlichen Messeigenschaften, gleicher Geräte-Adresse und einer weitestgehend gleichen Ansteue-
rung, besitzen alle ein Register zur Konfiguration. Deren Einstellungen sollten vor der eigentlichen Messung
beachtet werden. Dazu finden sich detaillierte Informationen in den zugehörigen Datenblättern der Hersteller.
Um dieses Register konfigurieren zu können, muss es (nach der Adressierung des Gerätes) mit dem Pointer-
Register 0x01 adressiert werden. In den folgenden Beispielen sind die 3 frei belegbaren Adresspins am
Baustein mit GND verbunden (A0=0, A1=0, A2=0). Daraus ergeben sich für die drei Temperatursensor-
Bausteine LM75, DS75 und den TMP101 die Lese-Adresse 0x91 und die Schreib-Adresse 0x90.
Die Messergebnisse werden in einem 2 Byte großen Temperatur-Registern bereitgestellt, dessen Format
sich von Baustein zu Baustein unterscheidet und daher für die Auswertung im jeweiligen Datenblatt nachzu-
lesen ist.
Am Beispiel des LM75 sieht die Konfiguration des Sensors mit der Einstellung 0x00 beispielsweise folgen-
dermaßen aus:
S90 01 00 P
Der LM75 schreibt alle 100 bis 300ms einen aktuellen Temperaturwert (Hexadezimal) in seine Temperatur-
Register. Zum Ausgelesen muss das Pointer-Register 0x00 sein. Das erste Temperatur-Register enthält die
Temperatur in vollen Grad Celsius (MSB enthält das Vorzeichen) und im zweiten Register gibt das MSB
(Bit 8) den Wert der Nachkommastelle in 0,5°C an (d ie restlichen 7 Bits im 2. Byte sind undefiniert):
S90 00 R 02 P
Antwort (gemessen: 20,5 Grad Celsius):
14 80
Geschrieben als selbst laufendes Makro, welches jede Sekunde eine Messung zum PC sendet:
V00{S90 00 R 02 P L03E8 >00}
Gestartet wird das Makro mit:
>00
35

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis