Forum: Mikrocontroller und Digitale Elektronik DS1820: User Bytes im Scratchpad lesen/schreiben


von Sven Scholz (Gast)


Lesenswert?

Hallo Gemeinde,

meine Schaltung hat leider keinen EEPROM, mein MSP430 keinen FRAM und 
ich müsste 1 Byte ablegen, das auch einen Stromausfall "überleben" wird.

Meine Schaltung besitzt allerdings einen DS1820 und im Datasheet ist von 
2 User Bytes die Rede (siehe Scratchpad-Aufbau).

Eines der beiden Bytes (Byte 2 oder Byte 3) könnte ich doch für solche 
Zwecke hernehmen oder?
z.B. ich speichere dort 0x34 ab und kann nach einem Stromausfall dort 
auch wieder 0x34 lesen?

Hat das schon mal jemand erfolgreich gemacht?

Herzlichen Dank!

von Martin (Gast)


Lesenswert?

Probiert habe ich es noch nicht, aber das Datenblatt ist eindeutig. Die 
beiden Userbytes liegen im EEPROM und behalten damit ihren Wert, wenn 
die Spannung abgeschaltet wird.


Figure 7. DS18B20 Memory Map (Auszug aus dem Datenblatt)
1
...
2
Byte 2 T H Register or User Byte 1
3
Byte 3 T L Register or User Byte 2
4
...

von Sven Scholz (Gast)


Lesenswert?

Danke - Wenn das wirklich möglich ist, wäre das eine absolut feine 
Sache. :-)

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Sven Scholz schrieb:
> Danke - Wenn das wirklich möglich ist, wäre das eine absolut feine
> Sache. :-)

Hallo Sven,
wenn Du die Alarmgrenzen nicht verwendest, kannst Du die beiden Bytes 
TH/TL für eigene Zwecke verwenden.
Eine Änderung von TH alleine läuft wie folgt:
- komplettes Scratchpad lesen
- TH anpassen
- TH, TL, CONF zurückschreiben
- diese drei Scratchpad Bytes ins EEPROM schreiben

Bei einem Gerät bei dem mehrere Sensoren am Bus sitzen kann so während 
der Inbetriebnahme die Sensorposition direkt ins EEPROM schreiben.
Alternativ müsste das Gerät eine Information bekommen, welche 
1wire-Adresse einer Sensorposition entspricht. Hat auch Vorteile, aber 
der o.g. Ansatz ist oft einfacher.

Im Config-Byte legst Du die Auflösung/Wandlungszeit fest. Daher ist es 
wichtig, dass Du auch das Config-Byte sauber setzt.

marcus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.