|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Adresse des
LM75 am I2C-Bus
-
Der LM 75 Baustein besitzen drei Pins
A0-A1 zur Einstellung seiner Adresse am I2C-Bus (Verbindungen
gegen GND (log 0) oder Vcc (log1)). Die restlichen Bits der
Adresse sind vom Hersteller vorgegeben. Insgesamt lassen sich
damit 8 Bausteine am Bus betreiben.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Das letzte
'Adressbit' (R/W) gibt an, ob der Baustein beschrieben oder
gelesen werden soll. Ist dieses Bit=0, so will der Master
schreiben, ist das Bit=1, so will der Master lesen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Die
Steuerregister des LM75
-
Insgesamt sind im LM75 fünf Register
vorhanden, mit denen der Baustein gesteuert werden kann.
|
|
|
|
|
|
|
|
|
|
|
|
Mit ihm werden
die vier weiteren Register mit den Adressen 00-03 adressiert.
Nach dem Start des Bausteins ist es auf 00 gesetzt und macht es
so möglich, sofort das Temperaturregister zu lesen. Zum
Lesen der anderen Register muss zunächst deren Adresse in
das Zeiger-Register geschrieben werden, von nun an beziehen
sich alle Lesevorgänge auf das eingestellte Register.
Die Register
mit den Adressen 01-03 können auch beschrieben werden.
Hierzu muss vor jedem Schreibvorgang ihre Adresse in das
Zeiger-Register eingeschrieben werden. Erst der zweite
Schreibvorgang betrifft das gewählte Register.

|
|
|
|
|
|
|
|
|
|
|
|
Dieses 16 Bit
-Register enthält den gemessenen Temperaturwert. Seine
Adresse ist nach dem ersten Einschalten des Bausteins
ausgewählt, so dass es sofort über zwei I2C- 8 Bit
Abfragen gelesen werden kann. Das Register kann nicht
beschrieben werden. Ein Lesevorgang hält die momentan
ablaufende Temperaturwandlung an, so dass der gelesene Wert
während des Lesevorgangs keiner Veränderung
unterliegt. Nach dem Lesevorgang wird die nächste
Temperaturwandlung automatisch gestartet. Sie benötigt
eine Zeit von 100ms. Erst nach diesem Zeitraum macht es Sinn
das Register erneut zu lesen.
|
|
|
|
|
|
|
|
In diesem
Register können einige Voreinstellungen des Bausteins
vorgenommen werden. (s.unten) Es kann gelesen und beschrieben
werden. Um dieses Register zu erreichen muss im Zeigerregister
die Adresse 01 eingeschrieben werden. Diese Adresse bleibt
gültig, bis im Zeigerregister eine andere Adresse gesetzt
wird.
|
|
|
|
|
|
|
|
Dieses Register
enthält den unteren Temperaturwert, bei dem der
Ausgangspin OS wieder inaktiv wird, nachdem er durch das
Erreichen des oberen Temperaturwertes aktiviert wurde. Das
Register kann beschrieben und gelesen werden. Um dieses
Register zu erreichen muss im Zeigerregister die Adresse 02
eingeschrieben werden. Diese Adresse bleibt gültig, bis im
Zeigerregister eine andere Adresse gesetzt wird.
|
|
|
|
|
|
|
|
Dieses Register
enthält den oberen Temperaturwert, bei dem der Ausgangspin
OS aktiv wird. Das Register kann beschrieben und gelesen
werden. Um dieses Register zu erreichen muss im Zeigerregister
die Adresse 03 eingeschrieben werden. Diese Adresse bleibt
gültig, bis im Zeigerregister eine andere Adresse gesetzt
wird.
|
|
|
|
|
|
|
|
- Die Werte
in den Temperaturregistern 00, 02 und 03
-
Das Temperaturregister und die Register
TOS sowie THYST bestehen aus 16 Bits, in denen die
Temperaturwerte als vorzeichenbehaftete Dezimalzahlen abgelegt
sind. Dabei steht im MSB (Bit15) das Vorzeichen, wobei eine 1
das negative Vorzeichen - und eine 0 das positive Vorzeichen +
darstellen. In den folgenden Bits 14-8 befindet sich der
ganzzahlige Vorkommateil des Temperaturwertes in binärer
Codierung. Die Bits 15-8 des oberen Bytes ergeben also eine
vorzeichenbehaftete Binärzahl im Zweierkomplement.
-

-
-
Das LSB muss als die Nachkommastelle .0
bzw. .5 ausgewertet werden. Ist das LSB = 0 soll die
Nachkommastelle .0 dargestellt werden, bei LSB = 1, die
Nachkommastelle .5. Die nachfolgenden niederwertigen Bits sind
undefiniert und müssen ausmaskiert werden. Da der
Übertragungsvorgang dieses Wertes über den I2C-Bus in
zwei Bytes durchgeführt wird, wobei das HIGH Byte als
erstes erscheint, kann das HIGH Byte bereits als
vorzeichenbehafteter Wert verwendet werden, das LOW Byte
dagegen bedarf einer Sonderbehandlung.
|
|
|
|
|
|
|
|
|
|
|
|
- Das
Konfigurationsregister 01
-
Das Konfigurationsregister des LM75 lässt
einige Voreinstellungen des Bausteins zu, die sich vorrangig
auf den Ausgangspin OS beziehen. Nach dem Start sind alle Bits
auf 0 gesetzt. Das Register kann gelesen und geschrieben
werden. Folgende Einstellungen können vorgenommen werden
..
-

|
|
|
|
|
|
|
|
Der gesamte
Baustein kann in einen Sparmodus umgeschaltet werden, bei dem
seine Stromaufnahme noch etwa 1µA beträgt. Der
Ausgang OS wird dabei zurückgesetzt, es bleibt jedoch das
I2C-Interface aktiv, so dass der Baustein wieder eingeschaltet
werden kann. Während des 'Power Down' Zustandes können
die Register TOS, THYST und das Konfigurationsregister geselen
und beschrieben werden.
|
|
|
|
|
|
|
|
Mit diesem Bit
kann der Ausgang OS in den Compare- (Bit1=0) oder den
Interruptmodus (Bit1=1) umgeschaltet werden. Der Unterschied
beider Zustände liegt darin, dass im Interruptmodus der
Aktivitätszustand, der sich bei OS beim Über- oder
Unterschreiten der Grenzen einstellt, per Programm
zurückgenommen werden muss. Dies geschieht durch das Lesen
eines der Register im LM75. Im Comparezustand folgt der Ausgang
den Grenzen die in TOS und THYST gesetzt sind automatisch, ein
Überschreiten von TOS aktiviert OS ein Unterschreiten von
THYST deaktiviert OS. Die Starteinstellungen von TOS beträgt
80°C und die von THYST 75°C.
|
|
|
|
|
|
|
|
Mit diesem Bit
kann bestimmt werden, welchen Zustand der Ausgangspin OS bei
Aktivität annehmen soll. Ist Bit2 = 0, so signalisiert der
Pin mit einer 0 im Ausgang, dass ein Ereignis eingetreten ist.
Ist nichts los, so verbleibt er auf log1. Im Fall von Bit2 = 1
ändert sich dieses Verhalten ins Gegenteil.
|
|
|
|
|
|
|
|
Mit diesen
beiden Bits kann die Sensibilität beim Überschreiten
der Schaltgrenze reduziert werden. Bevor OS tatsächlich
schaltet, muss eine vorgegebene Anzahl von Temperaturwerten
oberhalb bzw. unterhalb der Schaltschwelle gemessen worden
sein. Die Anzahl kann der obigen Tabelle entnommen werden.
|
|
|
|
|
|
|
|
Diese Bits sind
unbenutzt, müssen nach den Herstellerangaben aber, wegen
interner nicht dokumentierter Bedeutung, auf 0 gesetzt werden.
|
|
|
|
|
|
|
|
|
|