Ds18b20 Arbeitsprinzip und Temperatur messprinzip
Schlüsselwörter: DS18B20, Temperatursensor
DS18B20 ist ein neuer intelligenter Temperatursensor, der von DALLAS Semiconductor Company nach DS1820 neu entwickelt wurde. Im Vergleich zum herkömmlichen Thermistor kann er die gemessene Temperatur direkt ablesen und durch einfache Programmierung gemäß den tatsächlichen Anforderungen 9 bis 12 Stellen des digitalen Wertes ablesen. Die digitalen 9-Bit- und 12-Bit-Größen können in 93,75 ms bzw. 750 ms abgeschlossen werden. Und die vom DS18B20 gelesenen oder in den DS18B20 geschriebenen Informationen erfordern nur eine Zeile (einzeilige Schnittstelle) zum Lesen und Schreiben. Die Temperaturumwandlungsleistung wird vom Datenbus abgeleitet, und der Bus selbst kann den angeschlossenen DS18B20 auch ohne zusätzliche Leistung mit Strom versorgen. Daher macht die Verwendung des DS18B20 die Systemstruktur einfacher und zuverlässiger. Er hat die Genauigkeit der Temperaturmessung, die Konvertierungszeit, die Übertragungsentfernung, die Auflösung und andere Aspekte des DS1820 erheblich verbessert, um dem Benutzer eine bequemere Verwendung und zufriedenstellendere Ergebnisse zu bieten.
Hauptmerkmale des DS18B20
1) Der adaptive Spannungsbereich beträgt 3,0 V bis 5,5 V, der im parasitären Leistungsmodus über die Datenleitung mit Strom versorgt werden kann.
2) Für die bidirektionale Kommunikation ist nur eine Leitung zwischen dem DS18B20 und dem Mikroprozessor erforderlich.
3) Unterstützt die Mehrpunkt-Netzwerkfunktion. Mehrere DS18B20 können auf den nur drei Leitungen parallel geschaltet werden, um eine Mehrpunkt-Temperaturmessung zu erreichen.
4) Es sind keine externen Komponenten erforderlich, und alle Sensorelemente und Umwandlungsschaltungen sind in eine Schaltung wie eine Triode integriert.
5) Der Temperaturbereich beträgt -55 ° C ~ +125 ° C, die Genauigkeit beträgt ± 0,5 ° C bei -10 ° C ~ +85 ° C.
6) Die programmierbare Auflösung beträgt 9 bis 12 Bit, und die entsprechenden auflösbaren Temperaturen betragen 0,5 ° C, 0,25 ° C, 0,125 ° C bzw. 0,0625 ° C, was eine hochpräzise Temperaturmessung ermöglicht.
7) Bei einer 9-Bit-Auflösung kann die Temperatur in eine Anzahl von bis zu 93,75 ms und der Temperaturwert in eine Anzahl von bis zu 750 ms bei einer 12-Bit-Auflösung konvertiert werden.
8) Direktes digitales Temperatursignal ausgeben, seriell über einen einzeiligen Bus an die CPU übertragen, und CRC-Prüfcode übertragen können, der eine starke Entstörungs- und Fehlerkorrekturfähigkeit aufweist.
9) Wenn die Polarität des Netzteils umgekehrt wird, brennt der Chip nicht durch Hitze aus, funktioniert aber nicht richtig.
Der DS18B20 folgt einem einzelnen Busprotokoll. Jede Temperaturmessung muss vier Prozesse haben:
Initialisierung, Übertragung von ROM-Befehlen, Übertragung von RAM-Befehlen und Datenaustausch.
Einführung in das Arbeitsprinzip Ds18b20
Das Lese- und Schreibzeitpunkt- und Temperaturmessprinzip des DS18B20 ist das gleiche 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 DS18B20-Temperaturmessprinzip ist in Abbildung 3 dargestellt. In der Abbildung wird die Schwingungsfrequenz des Kristalloszillators mit niedrigem Temperaturkoeffizienten nur wenig von der Temperatur beeinflusst, und ein Impulssignal zur Erzeugung einer festen Frequenz wird an den Zähler 1 gesendet Der Temperaturkoeffizient des Kristalloszillators ändert seine Schwingungsrate mit der Temperatur, und das erzeugte Signal wird als Impulseingang von Zähler 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 Kristalloszillator mit niedrigem Temperaturkoeffizienten erzeugte Impulssignal herunter. Wenn der voreingestellte Wert von Zähler 1 auf 0 reduziert wird, wird der Wert des Temperaturregisters um 1 erhöht, die Voreinstellung von Zähler 1 wird neu geladen und Zähler 1 beginnt erneut mit dem Zählen des vom Kristalloszillator mit niedrigem Temperaturkoeffizienten erzeugten Impulssignals . 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. Der Steigungsakkumulator wird verwendet, um die Nichtlinearität im Temperaturmessprozess zu kompensieren und zu korrigieren, und sein Ausgang wird verwendet, um den voreingestellten Wert des Zählers 1 zu korrigieren.
Das Prinzip der Temperaturmessung von DS18B20 ist in Abbildung 2 dargestellt. Die Schwingungsfrequenz des Kristalloszillators mit niedrigem Temperaturkoeffizienten in der Figur wird durch die Temperatur wenig beeinflusst. Ein Impulssignal zum Erzeugen einer festen Frequenz wird dem Subtraktionszähler 1 zugeführt. Der Kristalloszillator mit hohem Temperaturkoeffizienten ändert seine Schwingungsfrequenz mit der Temperatur, und das erzeugte Signal wird als Impulseingang des Subtraktionszählers 2 verwendet. Das Zähltor ist ebenfalls in der Figur versteckt. Wenn das Zählgatter geöffnet ist, zählt der DS18B20 die vom Oszillator mit niedrigem Temperaturkoeffizienten erzeugten Taktimpulse, um die Temperaturmessung abzuschließen.
Die Einschalt-Zeit des Zählwertes Gate wird durch den hohen Temperaturkoeffizienten Oszillators bestimmt. Vor jeder Messung wird zunächst die Basiszahl entsprechend -55 ° C in den Subtraktionszähler 1 und das Temperaturregister gestellt. Der Subtraktionszähler 1 und das Temperaturregister sind auf einen Basiswert voreingestellt, der -55 ° C entspricht.
Der Subtraktionszähler 1 führt eine Subtraktionszählung an dem Impulssignal durch, das vom Kristalloszillator mit niedrigem Temperaturkoeffizienten erzeugt wird. Wenn der voreingestellte Wert des Subtraktionszählers 1 auf 0 reduziert wird, wird der Wert des Temperaturregisters um 1 erhöht und die Voreinstellung des Subtraktionszählers 1 wird neu geladen. Der Subtraktionszähler 1 beginnt erneut mit dem Zählen der Impulssignale, die vom Kristalloszillator mit niedrigem Temperaturkoeffizienten erzeugt werden. Dieser Zyklus wird wiederholt, bis der Subtraktionszähler 2 auf 0 zählt, die Akkumulation des Temperaturregisterwerts gestoppt ist und der Wert im Temperaturregister die gemessene Temperatur ist.
Der Steigungsakkumulator in Abbildung 2 wird verwendet, um Nichtlinearitäten im Temperaturmessprozess zu kompensieren und zu korrigieren. Sein Ausgang wird verwendet, um den voreingestellten Wert des Subtraktionszählers zu korrigieren. Solange das Zählgatter noch nicht geschlossen ist, wird der obige Vorgang wiederholt, bis der Temperaturregisterwert den gemessenen Temperaturwert erreicht. Dies ist das Prinzip der Temperaturmessung des DS18B20.
Da die einzeilige Kommunikationsfunktion des DS18B20 zeitlich geteilt ausgeführt wird, hat er außerdem ein striktes Zeitschlitzkonzept, sodass das Lese- und Schreib-Timing sehr wichtig ist. Die verschiedenen Operationen des Systems am DS18B20 müssen gemäß dem Protokoll ausgeführt werden. Die Betriebsvereinbarung lautet: DS18B20 initialisieren (Reset-Impuls senden) → ROM-Funktionsbefehl senden → Speicherbetriebsbefehl senden → Daten verarbeiten. Das Zeitdiagramm für verschiedene Operationen ist das gleiche wie beim DS1820.
DS18B20 ist ein neuer intelligenter Temperatursensor, der von DALLAS Semiconductor Company nach DS1820 neu entwickelt wurde. Im Vergleich zum herkömmlichen Thermistor kann er die gemessene Temperatur direkt ablesen und durch einfache Programmierung gemäß den tatsächlichen Anforderungen 9 bis 12 Stellen des digitalen Wertes ablesen. Die digitalen 9-Bit- und 12-Bit-Größen können in 93,75 ms bzw. 750 ms abgeschlossen werden. Und die vom DS18B20 gelesenen oder in den DS18B20 geschriebenen Informationen erfordern nur eine Zeile (einzeilige Schnittstelle) zum Lesen und Schreiben. Die Temperaturumwandlungsleistung wird vom Datenbus abgeleitet, und der Bus selbst kann den angeschlossenen DS18B20 auch ohne zusätzliche Leistung mit Strom versorgen. Daher macht die Verwendung des DS18B20 die Systemstruktur einfacher und zuverlässiger. Er hat die Genauigkeit der Temperaturmessung, die Konvertierungszeit, die Übertragungsentfernung, die Auflösung und andere Aspekte des DS1820 erheblich verbessert, um dem Benutzer eine bequemere Verwendung und zufriedenstellendere Ergebnisse zu bieten.
Hauptmerkmale des DS18B20
1) Der adaptive Spannungsbereich beträgt 3,0 V bis 5,5 V, der im parasitären Leistungsmodus über die Datenleitung mit Strom versorgt werden kann.
2) Für die bidirektionale Kommunikation ist nur eine Leitung zwischen dem DS18B20 und dem Mikroprozessor erforderlich.
3) Unterstützt die Mehrpunkt-Netzwerkfunktion. Mehrere DS18B20 können auf den nur drei Leitungen parallel geschaltet werden, um eine Mehrpunkt-Temperaturmessung zu erreichen.
4) Es sind keine externen Komponenten erforderlich, und alle Sensorelemente und Umwandlungsschaltungen sind in eine Schaltung wie eine Triode integriert.
5) Der Temperaturbereich beträgt -55 ° C ~ +125 ° C, die Genauigkeit beträgt ± 0,5 ° C bei -10 ° C ~ +85 ° C.
6) Die programmierbare Auflösung beträgt 9 bis 12 Bit, und die entsprechenden auflösbaren Temperaturen betragen 0,5 ° C, 0,25 ° C, 0,125 ° C bzw. 0,0625 ° C, was eine hochpräzise Temperaturmessung ermöglicht.
7) Bei einer 9-Bit-Auflösung kann die Temperatur in eine Anzahl von bis zu 93,75 ms und der Temperaturwert in eine Anzahl von bis zu 750 ms bei einer 12-Bit-Auflösung konvertiert werden.
8) Direktes digitales Temperatursignal ausgeben, seriell über einen einzeiligen Bus an die CPU übertragen, und CRC-Prüfcode übertragen können, der eine starke Entstörungs- und Fehlerkorrekturfähigkeit aufweist.
9) Wenn die Polarität des Netzteils umgekehrt wird, brennt der Chip nicht durch Hitze aus, funktioniert aber nicht richtig.
Der DS18B20 folgt einem einzelnen Busprotokoll. Jede Temperaturmessung muss vier Prozesse haben:
Initialisierung, Übertragung von ROM-Befehlen, Übertragung von RAM-Befehlen und Datenaustausch.
Einführung in das Arbeitsprinzip Ds18b20
Das Lese- und Schreibzeitpunkt- und Temperaturmessprinzip des DS18B20 ist das gleiche 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 DS18B20-Temperaturmessprinzip ist in Abbildung 3 dargestellt. In der Abbildung wird die Schwingungsfrequenz des Kristalloszillators mit niedrigem Temperaturkoeffizienten nur wenig von der Temperatur beeinflusst, und ein Impulssignal zur Erzeugung einer festen Frequenz wird an den Zähler 1 gesendet Der Temperaturkoeffizient des Kristalloszillators ändert seine Schwingungsrate mit der Temperatur, und das erzeugte Signal wird als Impulseingang von Zähler 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 Kristalloszillator mit niedrigem Temperaturkoeffizienten erzeugte Impulssignal herunter. Wenn der voreingestellte Wert von Zähler 1 auf 0 reduziert wird, wird der Wert des Temperaturregisters um 1 erhöht, die Voreinstellung von Zähler 1 wird neu geladen und Zähler 1 beginnt erneut mit dem Zählen des vom Kristalloszillator mit niedrigem Temperaturkoeffizienten erzeugten Impulssignals . 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. Der Steigungsakkumulator wird verwendet, um die Nichtlinearität im Temperaturmessprozess zu kompensieren und zu korrigieren, und sein Ausgang wird verwendet, um den voreingestellten Wert des Zählers 1 zu korrigieren.
Figur 2
DS18B20 Temperatur MeßprinzipDas Prinzip der Temperaturmessung von DS18B20 ist in Abbildung 2 dargestellt. Die Schwingungsfrequenz des Kristalloszillators mit niedrigem Temperaturkoeffizienten in der Figur wird durch die Temperatur wenig beeinflusst. Ein Impulssignal zum Erzeugen einer festen Frequenz wird dem Subtraktionszähler 1 zugeführt. Der Kristalloszillator mit hohem Temperaturkoeffizienten ändert seine Schwingungsfrequenz mit der Temperatur, und das erzeugte Signal wird als Impulseingang des Subtraktionszählers 2 verwendet. Das Zähltor ist ebenfalls in der Figur versteckt. Wenn das Zählgatter geöffnet ist, zählt der DS18B20 die vom Oszillator mit niedrigem Temperaturkoeffizienten erzeugten Taktimpulse, um die Temperaturmessung abzuschließen.
Die Einschalt-Zeit des Zählwertes Gate wird durch den hohen Temperaturkoeffizienten Oszillators bestimmt. Vor jeder Messung wird zunächst die Basiszahl entsprechend -55 ° C in den Subtraktionszähler 1 und das Temperaturregister gestellt. Der Subtraktionszähler 1 und das Temperaturregister sind auf einen Basiswert voreingestellt, der -55 ° C entspricht.
Der Subtraktionszähler 1 führt eine Subtraktionszählung an dem Impulssignal durch, das vom Kristalloszillator mit niedrigem Temperaturkoeffizienten erzeugt wird. Wenn der voreingestellte Wert des Subtraktionszählers 1 auf 0 reduziert wird, wird der Wert des Temperaturregisters um 1 erhöht und die Voreinstellung des Subtraktionszählers 1 wird neu geladen. Der Subtraktionszähler 1 beginnt erneut mit dem Zählen der Impulssignale, die vom Kristalloszillator mit niedrigem Temperaturkoeffizienten erzeugt werden. Dieser Zyklus wird wiederholt, bis der Subtraktionszähler 2 auf 0 zählt, die Akkumulation des Temperaturregisterwerts gestoppt ist und der Wert im Temperaturregister die gemessene Temperatur ist.
Der Steigungsakkumulator in Abbildung 2 wird verwendet, um Nichtlinearitäten im Temperaturmessprozess zu kompensieren und zu korrigieren. Sein Ausgang wird verwendet, um den voreingestellten Wert des Subtraktionszählers zu korrigieren. Solange das Zählgatter noch nicht geschlossen ist, wird der obige Vorgang wiederholt, bis der Temperaturregisterwert den gemessenen Temperaturwert erreicht. Dies ist das Prinzip der Temperaturmessung des DS18B20.
Da die einzeilige Kommunikationsfunktion des DS18B20 zeitlich geteilt ausgeführt wird, hat er außerdem ein striktes Zeitschlitzkonzept, sodass das Lese- und Schreib-Timing sehr wichtig ist. Die verschiedenen Operationen des Systems am DS18B20 müssen gemäß dem Protokoll ausgeführt werden. Die Betriebsvereinbarung lautet: DS18B20 initialisieren (Reset-Impuls senden) → ROM-Funktionsbefehl senden → Speicherbetriebsbefehl senden → Daten verarbeiten. Das Zeitdiagramm für verschiedene Operationen ist das gleiche wie beim DS1820.