Wie funktioniert der DS18B20?
Das Lese- und Schreibzeit- und Temperaturmessprinzip des DS18B20 ist dasselbe wie das des DS1820, außer dass die Anzahl der Bits des erhaltenen Temperaturwerts mit der Auflösung variiert und die Verzögerungszeit während der Temperaturumwandlung von 2 s auf 750 ms verringert wird.
Das Temperaturmessprinzip DS18B20 ist in Abbildung 1 dargestellt.
In der Figur wird die Oszillationsfrequenz des Kristalloszillators mit niedrigem Temperaturkoeffizienten wenig von der Temperatur beeinflusst, und ein Impulssignal zum Erzeugen einer festen Frequenz wird an den Zähler 1 gesendet.
Der Kristalloszillator mit hohem Temperaturkoeffizienten ändert seine Oszillationsrate mit der Temperatur, und das erzeugte Signal wird als Impulseingang des Zählers 2 verwendet.
Zähler 1 und das Temperaturregister sind auf einen Basiswert voreingestellt, der -55 ° C entspricht.
Der Zähler 1 zählt das vom Quarzoszillator mit niedrigem Temperaturkoeffizienten erzeugte Impulssignal herunter. Wenn der voreingestellte Wert von Zähler 1 auf 0 verringert wird, wird der Wert des Temperaturregisters um 1 erhöht.
Die Voreinstellung des Zählers 1 wird neu geladen und der Zähler 1 wird wieder aufgenommen, um die Pulssignale von dem niedrigen Temperaturkoeffizienten Kristall erzeugt zählen.
In diesem Zyklus, bis der Zähler 2 auf 0 zählt, wird die Akkumulation des Temperaturregisterwerts gestoppt und der Wert im Temperaturregister ist die gemessene Temperatur.
Die Steigung Akkumulator wird verwendet, um die Nichtlinearität in der Temperaturmessvorgang zu kompensieren und zu korrigieren, und dessen Ausgang verwendet wird, den voreingestellten Wert des Zählers 1 zu korrigieren.
Das Temperaturmessprinzip DS18B20 ist in Abbildung 1 dargestellt.
In der Figur wird die Oszillationsfrequenz des Kristalloszillators mit niedrigem Temperaturkoeffizienten wenig von der Temperatur beeinflusst, und ein Impulssignal zum Erzeugen einer festen Frequenz wird an den Zähler 1 gesendet.
Der Kristalloszillator mit hohem Temperaturkoeffizienten ändert seine Oszillationsrate mit der Temperatur, und das erzeugte Signal wird als Impulseingang des Zählers 2 verwendet.
Zähler 1 und das Temperaturregister sind auf einen Basiswert voreingestellt, der -55 ° C entspricht.
Der Zähler 1 zählt das vom Quarzoszillator mit niedrigem Temperaturkoeffizienten erzeugte Impulssignal herunter. Wenn der voreingestellte Wert von Zähler 1 auf 0 verringert wird, wird der Wert des Temperaturregisters um 1 erhöht.
Die Voreinstellung des Zählers 1 wird neu geladen und der Zähler 1 wird wieder aufgenommen, um die Pulssignale von dem niedrigen Temperaturkoeffizienten Kristall erzeugt zählen.
In diesem Zyklus, bis der Zähler 2 auf 0 zählt, wird die Akkumulation des Temperaturregisterwerts gestoppt und der Wert im Temperaturregister ist die gemessene Temperatur.
Die Steigung Akkumulator wird verwendet, um die Nichtlinearität in der Temperaturmessvorgang zu kompensieren und zu korrigieren, und dessen Ausgang verwendet wird, den voreingestellten Wert des Zählers 1 zu korrigieren.
DS18B20 Anwendungskreis eins
DS18B20-Anwendungsschaltung Ds1820_Bus = 0; // Fallende Flanke erzeugen, Schreib-Timing eingeben (Daten in 15us senden)
Ds1820_Bus = data_1820 & 0x01; // Sende die Nummer von der niedrigen Position
Delay_X15us (3); // Verzögerung 45us, garantiert 18b20 abgetastete Daten
Ds1820_Bus = 1; // Hoch ziehen, um die Zahl zu vervollständigen
Delay_X15us (1); // Seriennummer sollte mindestens 1us sein (15us hier)
Data_1820》 "= 1; // Shift
DS18B20 Anwendungsschaltung zwei
Um während des dynamischen Umwandlungszyklus eine ausreichende Stromversorgung für den DS18B20 zu erhalten, kann der MOSFET verwendet werden, um die E / A-Leitung direkt zu VCC zu ziehen, um einen ausreichenden Strom bereitzustellen, wenn die Temperatur in den E2-Speicherbetrieb umgewandelt oder kopiert wird. Nach der Ausgabe von Befehlen, die das Kopieren in den E2-Speicher oder das Einleiten eines Temperaturübergangs betreffen, müssen die E / A-Leitungen für bis zu 10 μS in einen Hochziehzustand versetzt werden. Im Hochziehmodus kann das Problem der ungelösten Stromversorgung gelöst werden, sodass es auch für Mehrpunkt-Temperaturmessanwendungen geeignet ist. Der Nachteil ist, dass eine E / A-Leitung für ein starkes Pull-up-Schalten verwendet werden muss.
Der externe Stromversorgungsmodus ist die beste Möglichkeit, mit dem DS18B20 zu arbeiten. Die Arbeit ist stabil und zuverlässig, die Entstörungsfähigkeit ist stark und die Schaltung ist relativ einfach, und es kann ein stabiles und zuverlässiges Mehrpunkt-Temperaturüberwachungssystem entwickelt werden. Xiaobian empfiehlt, bei der Entwicklung ein externes Netzteil zu verwenden. Immerhin ist nur eine VCC-Leitung an die parasitäre Stromversorgung angeschlossen. Im externen Spannungsversorgungsmodus kann der breite Spannungsversorgungsbereich des DS18B20 voll genutzt werden, und die Temperaturgenauigkeit kann sichergestellt werden, selbst wenn die Spannungsversorgungsspannung VCC auf 3 V abfällt.
DS18B20-Anwendungsschaltung Ds1820_Bus = 0; // Fallende Flanke erzeugen, Schreib-Timing eingeben (Daten in 15us senden)
Ds1820_Bus = data_1820 & 0x01; // Sende die Nummer von der niedrigen Position
Delay_X15us (3); // Verzögerung 45us, garantiert 18b20 abgetastete Daten
Ds1820_Bus = 1; // Hoch ziehen, um die Zahl zu vervollständigen
Delay_X15us (1); // Seriennummer sollte mindestens 1us sein (15us hier)
Data_1820》 "= 1; // Shift
DS18B20 Anwendungsschaltung zwei
Um während des dynamischen Umwandlungszyklus eine ausreichende Stromversorgung für den DS18B20 zu erhalten, kann der MOSFET verwendet werden, um die E / A-Leitung direkt zu VCC zu ziehen, um einen ausreichenden Strom bereitzustellen, wenn die Temperatur in den E2-Speicherbetrieb umgewandelt oder kopiert wird. Nach der Ausgabe von Befehlen, die das Kopieren in den E2-Speicher oder das Einleiten eines Temperaturübergangs betreffen, müssen die E / A-Leitungen für bis zu 10 μS in einen Hochziehzustand versetzt werden. Im Hochziehmodus kann das Problem der ungelösten Stromversorgung gelöst werden, sodass es auch für Mehrpunkt-Temperaturmessanwendungen geeignet ist. Der Nachteil ist, dass eine E / A-Leitung für ein starkes Pull-up-Schalten verwendet werden muss.
Der externe Stromversorgungsmodus ist die beste Möglichkeit, mit dem DS18B20 zu arbeiten. Die Arbeit ist stabil und zuverlässig, die Entstörungsfähigkeit ist stark und die Schaltung ist relativ einfach, und es kann ein stabiles und zuverlässiges Mehrpunkt-Temperaturüberwachungssystem entwickelt werden. Xiaobian empfiehlt, bei der Entwicklung ein externes Netzteil zu verwenden. Immerhin ist nur eine VCC-Leitung an die parasitäre Stromversorgung angeschlossen. Im externen Spannungsversorgungsmodus kann der breite Spannungsversorgungsbereich des DS18B20 voll genutzt werden, und die Temperaturgenauigkeit kann sichergestellt werden, selbst wenn die Spannungsversorgungsspannung VCC auf 3 V abfällt.