China Sensor Hersteller

China Temperature Sensor & Thermistor manufacturer

Codieranleitung fUEr DS18B20 Chip Sensor

ROM-Nur-Lese-Speicher zum Speichern des DS18B20ID-Codes. Die ersten 8 Bits sind der einzeilige Seriencode (der Code von DS18B20 ist 19H), die nächsten 48 Bits sind die eindeutige Seriennummer des Chips und die letzten 8 Bits sind der CRC-Code (Redundanzprüfung) der oben genannten 56 Bits. Die Daten werden zum Zeitpunkt der Produktion festgelegt und können vom Benutzer nicht geändert werden. DS18B20 verfügt über insgesamt 64-Bit-ROM.

RAM-Daten-Notizblock, der für interne Berechnungen und den Datenzugriff verwendet wird. Nach einem Stromausfall gehen Daten verloren. DS18B20 verfügt über insgesamt 9 Byte RAM, jedes Byte besteht aus 8 Bit. Das 1. und 2. Byte sind die Datenwertinformationen nach der Temperaturkonvertierung, und das 3. und 4. Byte sind das Abbild des Benutzer-EEPROMs (wird üblicherweise zur Speicherung von Temperaturalarmwerten verwendet). Sein Wert wird beim Einschalt-Reset aktualisiert. Das fünfte Byte ist das Abbild des dritten EEPROMs des Benutzers. Das 6., 7. und 8. Byte sind Zählregister, die Benutzern eine höhere Temperaturauflösung ermöglichen sollen. Es ist auch eine temporäre Speichereinheit für die interne Temperaturumrechnung und -berechnung. Das 9. Byte ist der CRC-Code der ersten 8 Bytes. EEPROM ist ein nichtflüchtiger Speicher zum Speichern von Daten, die über einen längeren Zeitraum gespeichert werden müssen, von Alarmwerten für obere und untere Temperaturen sowie von Überprüfungsdaten.
Codierung des digitalen Sensors DS18B20
DS18B20 verfügt über insgesamt 3-Bit-EEPROM und es gibt Bilder im RAM, um die Bedienung durch den Benutzer zu erleichtern.

Controller-Betriebsprozess für 18B20:
1. Zurücksetzen: Zuerst müssen wir den DS18B20-Chip zurücksetzen. Beim Zurücksetzen handelt es sich um ein Low-Level-Signal von mindestens 480 µS, das vom Controller (Mikrocontroller) an den DS18B20-Einzelbus gesendet wird. Wenn 18B20 dieses Reset-Signal empfängt, sendet er nach 15 bis 60 µS einen Chip-Präsenzimpuls zurück.

2. Präsenzimpuls: Nach Ablauf des Reset-Levels sollte der Controller den Daten-Einzelbus hochziehen, um den Präsenzimpuls nach 15 bis 60 uS zu empfangen. Der Existenzimpuls ist ein Low-Level-Signal von 60 bis 240 µS. Zu diesem Zeitpunkt haben die Kommunikation parteien eine grundlegende Einigung erzielt und der nächste Schritt wird die Datenkommunikation zwischen dem Controller und 18B20 sein. Wenn die Reset-Low-Pegel-Zeit nicht ausreicht oder der Stromkreis des einzelnen Busses unterbrochen ist, wird der Anwesenheitsimpuls nicht empfangen. Achten Sie beim Entwerfen auf den Umgang mit unerwarteten Situationen.

3. Der Controller sendet einen ROM-Befehl: Nachdem die beiden Parteien die Begrüßung beendet haben, ist die Kommunikation das Wichtigste. Insgesamt gibt es 5 ROM-Anweisungen und in jedem Arbeitszyklus kann nur eine gesendet werden. Die ROM-Anweisungen dienen zum Lesen von ROM-Daten, zum Festlegen des passenden Chips, zum Sprung-ROM, zur Chipsuche und zur Alarmchipsuche. Der ROM-Befehl ist 8 Bit lang und dient dazu, das 64-Bit-Fotolithografie-ROM auf dem Chip zu betreiben. Sein Hauptzweck besteht darin, mehrere an einen Bus angeschlossene Geräte zu unterscheiden und zu verarbeiten. Es ist wahr, dass mehrere Geräte gleichzeitig an einen einzigen Bus angeschlossen werden können und jedes Gerät durch seine eindeutige ID-Nummer unterschieden werden kann. Im Allgemeinen kann der ROM-Befehl übersprungen werden, wenn nur ein einzelner 18B20-Chip montiert ist (Hinweis: Der Skip-ROM-Befehl bedeutet hier nicht, dass kein ROM-Befehl gesendet wird, sondern ein eindeutiger „Skip-Befehl“).

4. Der Controller sendet Speicher betriebs anweisungen: Nachdem die ROM-Anweisung an 18B20 gesendet wurde, wird die Speicher betriebs anweisung sofort (ohne Unterbrechung) gesendet. Die Betriebs anweisungen bestehen ebenfalls aus 8 Bits, also insgesamt 6. Die Speicher betriebs anweisungen sind das Schreiben von RAM-Daten, das Lesen von RAM-Daten, das Kopieren von RAM-Daten in das EEPROM, die Temperaturkonvertierung, das Kopieren von Alarmwerten im EEPROM in das RAM und das Umschalten des Arbeitsmodus. Die Funktion der Speicher operation anweisung besteht darin, 18B20 zu befehlen, welche Art von Arbeit auszuführen, was der Schlüssel zur Chip steuerung ist.

5. Ausführung oder Lesen und Schreiben von Daten: Nach Abschluss einer Speicheroperationsanweisung erfolgt die Ausführung der Anweisung oder das Lesen und Schreiben von Daten. Dieser Vorgang hängt von der Speicheroperationsanweisung ab. Wenn der Temperaturumwandlungsbefehl ausgeführt wird, muss der Controller (Mikrocontroller) warten, bis 18B20 seinen Befehl ausführt. Die allgemeine Umwandlungszeit beträgt 500uS. Wenn Sie Datenlese- und -schreibanweisungen ausführen, müssen Sie das 18B20-Lese- und -Schreibtiming strikt einhalten. Die Methoden zum Lesen und Schreiben von Daten werden im Folgenden ausführlich vorgestellt.

Um die aktuellen Temperaturdaten auszulesen, müssen wir zwei Arbeitszyklen ausführen. Der erste Zyklus besteht darin, zurückzusetzen, ROM-Anweisungen zu überspringen, Betriebsanweisungen für den Temperaturumwandlungsspeicher auszuführen und auf eine Temperaturumwandlungszeit von 500 uS zu warten. Dann wird der zweite Zyklus ausgeführt, um zurückzusetzen, ROM-Anweisungen zu überspringen, Speicheroperationsanweisungen zum Lesen des RAM auszuführen und Daten zu lesen (bis zu 9 Bytes, die auf halbem Weg gestoppt werden können. Um nur einfache Temperaturwerte zu lesen, lesen Sie die ersten 2 Bytes ist, kann). Andere Betriebsabläufe sind ähnlich und werden hier nicht vorgestellt.
Magnetischer digitaler DS18B20-Sensor Steueranweisungen des digitalen Sensors DS18B20
Magnetischer digitaler DS18B20-Sensor Steueranweisungen des digitalen Sensors DS18B20

DS28B20-Chip-ROM-Anweisungsliste:
ROM lesen [33H] (Das hexadezimale Befehlswort in eckigen Klammern) Mit diesem Befehl kann der Buscontroller das 64-Bit-ROM des DS18B20 lesen. Dieser Befehl kann nur verwendet werden, wenn nur ein DS18B20 am Bus vorhanden ist. Bei mehreren Anschlüssen kommt es bei der Kommunikation zu Daten konflikten.

Match ROM (spezifizierter passender Chip) [55H]
Auf diesen Befehl folgt eine vom Controller ausgegebene 64-Bit-Seriennummer. Wenn sich mehrere DS18B20 am Bus befinden, kann nur der von der Steuerung gesendete Chip mit derselben Seriennummer antworten, und die anderen Chips warten auf den nächsten Reset. Dieser Befehl eignet sich für die Single-Chip- und Multi-Chip-Montage.

ROM überspringen (Befehl ROM überspringen) [CCH]
Dieser Befehl führt dazu, dass der Chip nicht auf die ROM-Codierung reagiert. Bei einem einzelnen Bus kann dieser Befehl ausgewählt werden, um Zeit zu sparen. Wenn dieser Befehl beim Montieren mehrerer Chips verwendet wird, kommt es zu Datenkonflikten, die zu Fehlern führen.

Such-ROM (Suchchip) [F0H]
Nachdem der Chip initialisiert wurde, ermöglicht der Suchbefehl einen Eliminierungsprozess, um das 64-Bit-ROM aller Geräte zu identifizieren, wenn mehrere Chips auf dem Bus montiert sind.

Alarmsuche (Alarm-Chip-Suche) [ECH]
Bei der Multi-Chip-Montage reagiert der Alarm-Chip-Suchbefehl nur auf den Chip, dessen Temperatur höher als der TH- oder niedriger als der TL-Alarmzustand ist. Solange der Chip nicht an Strom verliert, bleibt der Alarmstatus bestehen, bis die Temperatur erneut gemessen wird und der Alarmzustand nicht erreicht wird.

Befehlsliste für den Betrieb des DS28B20-Chip speichers:
Write Scratchpad (Daten in den RAM schreiben) [4EH]
Dies ist eine Anweisung zum Schreiben von Daten in den RAM. Die anschließend geschriebenen zwei Daten bytes werden in Adresse 2 (TH des Alarm-RAM) und Adresse 3 (TL des Alarm-RAM) gespeichert. Mit dem Reset-Signal kann der Schreibvorgang während des Schreibvorgangs abgebrochen werden.

Read Scratchpad (Daten aus dem RAM lesen) [BEH]
Dieser Befehl liest Daten aus dem RAM. Die Leseadresse beginnt bei Adresse 0 und kann bis zur Adresse 9 gelesen werden, wodurch das Lesen der gesamten RAM-Daten abgeschlossen ist. Der Chip ermöglicht es, das Reset-Signal zu verwenden, um den Lesevorgang während des Lesevorgangs abzubrechen, d. h. unnötige nachfolgende Bytes können nicht gelesen werden, um die Lesezeit zu verkürzen.

Scratchpad kopieren (RAM-Daten in EEPROM kopieren) [48H]
Dieser Befehl speichert die Daten im RAM im EEPROM, sodass die Daten beim Ausschalten der Stromversorgung nicht verloren gehen. Da der Chip seitdem mit der EEPROM-Speicher verarbeitung beschäftigt ist, wird beim Senden einer Lesezeitlücke durch den Controller „0“ auf dem Bus ausgegeben. Wenn der Speichervorgang abgeschlossen ist, gibt der Bus „1“ aus. Im parasitären Arbeitsmodus muss unmittelbar nach der Ausgabe dieses Befehls ein starker Pull-up angewendet und mindestens 10 MS lang aufrechterhalten werden, um den Chip betrieb aufrechtzuerhalten.

T (Temperaturumrechnung) [44H] umrechnen
Nach Erhalt dieses Befehls führt der Chip eine Temperatur umrechnung durch und legt den umgewandelten Temperaturwert in der 1. und 2. Adresse des RAM ab. Da der Chip seitdem mit der Temperatur umwandlungs verarbeitung beschäftigt ist, wird „0“ auf dem Bus ausgegeben, wenn der Controller eine Lesezeitlücke sendet. Wenn der Speichervorgang abgeschlossen ist, gibt der Bus „1“ aus. Im parasitären Arbeitsmodus muss unmittelbar nach der Ausgabe dieses Befehls ein starker Pull-up angewendet und mindestens 500 MS lang aufrechterhalten werden, um den Chip betrieb aufrechtzuerhalten.

EEPROM abrufen (den Alarmwert im EEPROM in den RAM kopieren) [B8H]
Dieser Befehl kopiert den Alarmwert im EEPROM in das 3. und 4. Byte im RAM. Da der Chip mit der Kopier verarbeitung beschäftigt ist, wird eine „0“ auf dem Bus ausgegeben, wenn der Controller einen Lesezeitschlitz ausgibt, und wenn der Speichervorgang abgeschlossen ist, wird eine „1“ auf dem Bus ausgegeben. Darüber hinaus wird dieser Befehl automatisch ausgeführt, wenn der Chip eingeschaltet und zurückgesetzt wird. Auf diese Weise sind die beiden Alarmbyte-Bits im RAM immer ein Spiegelbild der Daten im EEPROM.

Lesen Sie die Stromversorgung (Umschaltung des Arbeitsmodus) [B4H]
Nachdem dieser Befehl ausgegeben und eine Lesezeitlücke ausgegeben wurde, gibt der Chip sein Leistungsstatus wort zurück, „0“ ist der parasitäre Leistungsstatus und „1“ ist der externe Leistungsstatus.
PREV:Design-Schaltplan des Temperatursensors DS18B20
NEXT:Anwendung des Digitalen Sensors DS18B20

RELATED POSTS




Skype

WhatsApp

WangWang

QQ
Email me

Mail to us