DS1820, DS18B20 e DS18S20 sono le sigle di tre noti
sensori di temperatura di Dallas/Maxim.
Pur trattandosi di dispositivi simili, esistono tra di loro alcune differenze.
Queste differenze possono trarre in inganno l'utilizzatore poco
esperto che non è a conoscenza. Vediamo qui di chiarire le cose.
DS1820
DS1820 è il dispositivo originale dal quale sono stati derivati
gli altri. Esso utilizza una topologia a doppio oscillatore per eseguire una conversione di temperatura. La risoluzione del DS1820
è di 9 bit; una risoluzione maggiore può essere raggiunta con la lettura di due byte di registro
Count per ° C e Count Remain ed effettuando un calcolo aggiuntivo.
DS1820 è un dispositivo obsoleto, non più in produzione dal 2000 ed
è sostituito da DS18B20 o DS18S20.
DS18S20 - DS18B20
Il DS18B20 e DS18S20 utilizzano entrambi le stesse
idee di base, ma sono leggermente diversi dall'originale.
Le misure di temperatura sono realizzate con due riferimenti
di tensione bandgap, una delle quali ha un coefficiente di temperatura elevata e cambia
in modo deterministico con la temperatura; l'altra fonte di tensione ha un basso coefficiente di temperatura
ed è molto stabile rispetto ad essa. Un convertitore analogico-digitale (ADC)
rileva la differenza tra queste due tensioni e la trasforma in un valore
digitale che rappresenta la temperatura del dispositivo. La risoluzione della conversione temperatura può essere selezionata da 9 a 12 bit.
DS18S20 stato progettato per essere un sostituto diretto del DS1820.
Qui, l'ADC è configurato in fabbrica per eseguire sempre conversioni a 12 bit. Il
dato a 12 bit viene arrotondato a un valore a 9 bit e memorizzato nel registro di temperatura. Per consentire una
risoluzione maggiore di 9 bit, viene calcolato un valore per il registro Count Remain. Il
registro Count per ° C è impostato in fabbrica al valore di 16. Utilizzando il
Count Remain e il Count per ° C con la formula precedente si può arrivare ad
una risoluzione fino a 12 bit. In questo modo non occorrono
modifiche negli algoritmi che sono stati scritti per il DS1820.
L'unica differenza sensibile è il tempo di conversione che è 750ms rispetto
ai 500ms di DS1820, fatto dovuto proprio alla modalità di conversione del
DS18S20.
DS18B20 ha le stesse funzioni, ma differisce da DS18S20 in un aspetto importante: il progettista può selezionare la risoluzione desiderata
tra 9 e 12 bit, utilizzando un registro di configurazione.
Questa flessibilità permette all'utente di ridurre il tempo di conversione ADC e conservare la
carica del condensatore integrato (se alimentato in parasitic mode) se non sono richieste risoluzioni più elevate. La tabella 1 mostra il tempo conversione della temperatura e
il relativo LSB per ogni possibile risoluzione.
Risoluzione |
9 bit |
10 bit |
11 bit |
12 bit |
Tempo di conversione [ms] |
93.75 |
187.5 |
375 |
750 |
LSB [°C] |
0.5 |
0.25 |
0.125 |
0.0625 |
Si nota che, a parità di risoluzione, DS18B20 è molto più veloce di DS18S20.
I registri di temperatura del DS18B20 e DS18S20 sono ponderati in modo diverso. Il registro temperatura nel DS18S20 è
analogo a quello del DS1820; il registro di temperatura del DS18B20 è formattato per fornire 12 bit di risoluzione. Questa formattazione nel DS18B20 elimina la necessità di eseguire un calcolo aggiuntivo (richiesta dal DS18S20) se è richiesta la risoluzione superiore a 9 bit. Lo stato di
power-up di default del registro la temperatura in entrambi i dispositivi è di + 85 ° C. I formati per i registri di temperatura sono mostrati
nelle seguenti tabelle:
DS18S20 (DS1820) Temperature Register Format
|
bit 7 |
bit 6 |
bit 5 |
bit 4 |
bit 3 |
bit 2 |
bit 1 |
bit 0 |
LSB |
26 |
25 |
2 4 |
2 3 |
2 2 |
2 1 |
2 0 |
2 -1 |
MSB |
S |
S |
S |
S |
S |
S |
S |
S |
DS18B20 Temperature Register Format
|
bit 7 |
bit 6 |
bit 5 |
bit 4 |
bit 3 |
bit 2 |
bit 1 |
bit 0 |
LSB |
23 |
22 |
21 |
20 |
2-1 |
2-2 |
2-3 |
2-4 |
MSB |
S |
S |
S |
S |
S |
2 6 |
2 5 |
2 4 |
dove S indica il segno del risultato (0=positivo, 1= negativo).
Anche la memoria scratchpad in questi dispositivi differisce leggermente.
- Nel DS18B20 dispone di un registro di configurazione che permette di cambiare risoluzione.
e non sono presenti i due registri aggiuntivi che sono necessari dove si
richiedono più di 9 bit di risoluzione.
- Il DS18S20 ha struttura analoga al DS1820
|
DS18S20 |
DS18B20 |
byte 0 |
Temperatura LSB (AAh) |
Temperatura LSB (50h) |
byte 1 |
Temperatura MSB (00h) |
Temperatura MSB (05h) |
byte 2 |
Registro Th |
Registro Th |
byte 3 |
Registro Tl |
Registro Tl |
byte 4 |
Riservato (FFh) |
Registro Configurazione |
byte 5 |
Riservato (FFh) |
Riservato (FFh) |
byte 6 |
Count Remain (0Ch) |
Riservato |
byte 7 |
Count per °C |
Riservato (10h) |
byte 8 |
CRC |
CRC |
Una ulteriore differenza è costituita dal codice ROM in cui è diversa la
codifica della famiglia per questi due dispositivi.
- Il codice famiglia per il DS18B20 è 28h
- DS18S20 mantiene lo stesso codice famiglia del DS1820 originale, che è
10h.
|
|
Per ultimo, una differenza marginale è costituita dal package che
è un PR35 per il DS1820 e un TO-92 per gli altri.
PR35 è una versione del TO-92 leggermente più lunga, ma, avendo
lo stesse altre dimensioni meccaniche uguali e lo stesso pinout, non
c'è alcun problema nel montaggio del dispositivo. |
Conclusioni.
DS18S20 è consigliato solo per applicazioni in cui si stava utilizzando il DS1820 originale. Usato come un rimpiazzo, il DS18S20
salva il progettista dal dover apportare modifiche al firmware esistente.
Tuttavia alcune modifiche del codice possono essere richieste perché DS18S20 ha un tempo di conversione più lungo (750ms) rispetto al DS1820 (500 ms).
Da notare che esiste una versione DS18S20-PAR che funziona solo con
alimentazione in parasitic mode.
DS18B20 è consigliato per qualsiasi nuova applicazione, con la
possibilità di risultati a 9 o 12 bit di risoluzione della temperatura. Questo dispositivo offre una maggiore flessibilità ed è più facile da usare rispetto al DS18S20.
Si tratta di aggiungere la gestione del registro di configurazione, mentre in
compenso si ha una elevata velocità di conversione della temperatura.
Documentazione.
|