Ο αισθηρήρας θερμοκρασίας DS18B20

Ο αισθητήρας θερμοκρασίας DS18B20

Το DS18B20 είναι ένας ψηφιακός αισθητήρας για την μέτρηση θερμοκρασίας υπό μορφή ολοκληρωμένου κυκλώματος. Η έξοδος του είναι σε βαθμούς Κελσίου με ακρίβεια 9 εως 12 bit. Ο αισθητήρας DS18B20 παρέχει και λειτουργία συναγερμού με προγραμματιζόμενα από το χρήστη πάνω και κάτω όρια. Επειδή διαθέτει μνήμη EEPROM αυτά τα όρια συναγερμού μπορούν να αποθηκευτούν σε αυτή τη μνήμη και να είναι διαθέσιμα σε περίπτωση διακοπής τάσης.
Το DS18B20 μπορεί να επικοινωνεί με τον μικροελεγκτή σειριακά με μια γραμμή δεδομένων και συγκεκριμένα με το πρωτόκολλο 1-Wire. Μπορεί να μετρήσει θερμοκρασίες -55οC έως 125oC, όμως στη περιοχή θερμοκρασιών -10οC έως 85οC με ακρίβεια ±0,5οC.
To DS18B20 μπορεί να τροφοδοτηθεί με τάση με δυο τρόπους: Ο ένας από εξωτερική τάση και ο δεύτερος με την λειτουργία του σε “parasite mode” κατά το οποίο αντλεί ισχύ από τη γραμμή δεδομένων.
Κάθε ένα DS18B20 έχει ενσωματωμένο ένα 64-bit σειριακό κωδικό που επιτρέπει την σύνδεση πολλαπλών DS18B20 στο ίδιο δύαλο και με αυτό τον τρόπο ο μικροελεγκτής μπορεί να ελέγχει πολλά BS18B20 κατανεμημένα σε μια μεγάλη περιοχή.
Το DS18B20 ενσωματώνει και μια SRAM μνήμη. Στα πρώτα δυο bytes της μνήμης αυτής αποθηκεύεται η τιμή της θερμοκρασίας. Επιπρόσθετα σε αυτή τη μνήμη SRAM περιέχονται τα bytes του πάνω και κάτω ορίου συναγερμού λειτουργίας (ΤΗ και ΤL).
Επίσης στην μνήμη SRAM αποθηκεύεται και το byte του καταχωρητή διαμόρφωσης. Ο καταχωρητής διαμόρφωσης επιτρέπει στο χρήστη στον ορισμό της ανάλυσης του μετατροπέα της θερμοκρασίας σε ψηφιακό σήμα με τιμές 9, 10, 11, ή 12 bits. Τα byte του πάνω και κάτω ορίου συναγερμού θερμοκρασίας μαζί με τον καταχωρητή διαμόρφωσης, μπορούν να αποθηκευτούν επιπλέον της μνήμης SRAM και σε μια μνήμη EEPROM έτσι ώστε να διατηρούνται τα δεδομένα τους σε περίπτωση διακοπή της τροφοδοσίας.

Λειτουργία-Μέτρηση θερμοκρασίας

Ο αισθητήρας DS18B20 μετρά τη θερμοκρασία δίνοντας την ψηφιακή τιμή της. Η ανάλυση του θερμοκρασιακού αισθητήρα ορίζεται από το χρήστη και μπορεί να είναι 9, 10, 11 ή 12 bits, δηλαδή σε βήματα θερμοκρασίας 0,5οC, 0,25οC, 0,125οC, 0,0625οC αντίστοιχα. Η προκαθορισμένη ανάλυση με την εφαρμογή της τροφοδοσίας είναι 12-bit.
Με την εφαρμογή τάσης στον θερμοκρασιακό αισθητήρα, μπαίνει σε αδρανή κατάσταση, σε χαμηλή κατανάλωση. Για να προκληθεί μια μέτρηση από το DS18B20, από αναλογική σε ψηφιακή τιμή, ο αφέντης (μικροελεγκτής) πρέπει να ζητήσει την εντολή Convert T [44h] από τον αισθητήρα. Αυτό έχει σαν αποτέλεσμα με την μέτρηση η ψηφιακή τιμή της θερμοκρασίας να αποθηκευτεί στα δυο bytes του καταχωρητή θερμοκρασίας στην περιοχή μνήμης SRAM και έπειτα το DS18B20 να μπει σε αδρανή κατάσταση.
Εάν ο αισθητήρας τροφοδοτείται από εξωτερική τάση, ο αφέντης μπορεί να ζητήσει να διαβάσει ένα bit μετά την εντολή Convert T [44h] και ο αισθητήρας θα ανταποκριθεί μεταδίδοντας το λογικό 0 όταν είναι σε κατάσταση μέτρησης και λογικό 1 όταν η μέτρηση της θερμοκρασίας έχει ολοκληρωθεί. Αυτό δεν ισχύει όταν ο αισθητήρας τροφοδοτείται μπαίνοντας σε “parasite power”.
Οι τιμές θερμοκρασίας που δίνει το DS18B20 είναι σε βαθμούς Κελσίου. Για τιμές Βαθμών Φαρενάιτ μια ρουτίνα μετατροπής πρέπει να χρησιμοποιηθεί επιπρόσθετα. Οι τιμές της θερμοκρασίας αποθηκεύονται σαν τιμές 12-bit με συμπλήρωμα ως προς δυο, στον 2-byte καταχωρητή θερμοκρασίας στην περιοχή μνήμης; SRAM.

Το bit προσήμου (S) δείχνει αν η θερμοκρασία είναι θετική ή αρνητική. Για θετικές τιμές τίθεται S=0 και για αρνητικές τιμές τίθεται S=1. Εάν το DS18B20 διαμορφωθεί σε 12-bit ανάλυση όλα τα bits του θερμοκρασιακού καταχωρητή έχουν έγκυρα δεδομένα. Για 11-bit ανάλυση το bit 0 δεν ορίζεται. Για 10-bit ανάλυση τα bits 0 και 1 δεν ορίζονται ενώ για 9-bit ανάλυση τα bits 2, 1, 0 δεν ορίζονται. Εάν το DS18B20 διαμορφωθεί σε 12-bit ανάλυση όλα τα bits του θερμοκρασιακού καταχωρητή έχουν έγκυρα δεδομένα. Για 11-bit ανάλυση το bit 0 δεν ορίζεται. Για 10-bit ανάλυση τα bits 0 και 1 δεν ορίζονται ενώ για 9-bit ανάλυση τα bits 2, 1, 0 δεν ορίζονται.

Λειτουργία – Κατάσταση συναγερμού

Ότανο αφέντης ζητήσει εντολή για μέτρηση θερμοκρασίας, η θερμοκρασιακή τιμή του DS18B20 συγκρίνεται με τις δύο τιμές των ορίων συναγερμού ΤΗ και TL οι οποίες είναι τιμές συμπληρώματος ως προς δύο και ορίζονται από το χρήστη. Οι καταχωρητές ΤΗ και TL αποθηκεύονται στα byte 2 και 3 της περιοχής μνήμης SRAM καθώς επίσης και στη μνήμη EEPROM για να διατηρηθούν οι τιμές τους σε περίπτωση διακοπή ρεύματος.

64- bit ROM κωδικός αριθμός

Σε κάθε ένα αισθητήρα DS18B20 υπάρχει μοναδικό κωδικό αριθμό, αποθηκευμένο στη μνήμη ROM. Τα οχτώ λιγότερο σημαντικά ψηφία από αυτόν τον 64-bit κωδικό, περιέχει τον 1-Wire κωδικό της οικογένειας του DS18B20 και συγκεκριμένα τον 28h. Τα επόμενα 48 bits περιέχουν ένα μοναδικό σειριακό αριθμό. Τα οκτώ περισσότερα σημαντικά ψηφία, περιέχουν το byte του κυκλικού ελέγχου απόρριψης (CRC), το οποίο υπολογίζεται από τα πρώτα 56 bits του ROM κωδικού. Περαιτέρω εξήγηση για το CRC bits μπορείτε να βρείτε στο datasheet του DS18B20.

Μνήμη

Η περιοχή της μνήμης που είναι τύπου SRAM είναι οργανωμένη όπως φαίνεται στο σχήμα 7. Τα byte0 και byte1 της περιοχής μνήμης περιέχουν το LSB και MSB του θερμοκρασιακού καταχωρητή αντίστοιχα. Τα byte αυτά είναι μόνο ανάγνωσης. Τα byte2 και byte3 παρέχουν πρόσβαση στους TH και TL καταχωρητές, ενώ το byte4 αντιστοιχεί στον καταχωρητή διαμόρφωσης. Τα byte5, 6, 7 είναι δεσμευμένα για εσωτερική χρήση και δεν μπορούν να γραφούν ενώ επιστρέφουν 1 όταν διαβαστούν. Το byte 8 της περιοχής μνήμης περιέχει τον κωδικό του κυκλικού ελέγχου απόρριψης (CRC) για τα bytes 0 έως 7 της περιοδικής μνήμης SRAM.

Τα δεδομένα των καταχωρητών συναγερμού θρμοκρασίας γράφεται στα bytes 2, 3, 7 της περιοχή μνήμης SRAM κάνοντας χρήση της εντολής Write Scratchpad [4Eh]. Τα δεδομένα αυτά γράφοναται στην περιοχή μνήμης του DS18B20 ξεκινώντας από το λιγότερο σημαντικό bit του byte2.
Για την επαλήθευση εγγραφής των δεδομένων στη μνήμη SRAM, τα δεδομένα μπορούν να διαβαστούν στην μνήμη SRAM με την εντολή Read Scrastchpad [Beh] μετά την εγγραφή τους Κατά το διάβασμα των δεδομένων της μνήμης SRAM, με αυτή την εντολή, τα δεδομένα μεταφέρονται πάνω στο 1-Wire δίαυλο δεδομένων σειριακά ξεκινώντας από το λιγότερο σημαντικό bit του βυτε0.
Υπάρχει και η μνήμη EEPROM για την αποθήκευση των δεδομένων των καταχωρητών ΤΗ, ΤL και διαμόρφωσης. Για τη μεταφορά (διάβασμα) των δεδομένων των ΤΗ, ΤL και διαμόρφωσης από τη μνήμη SRAM στη μνήμη EEPROM γίνεται με την εντολή του αφέντη Copy Scratchpad [48h]. Τα δεδομένα στην μνήμη EEPROM διατηρούνται όταν διακόπτεται η τάση τροφοδοσίας. Με την παροχή τροφοδοσίας τα δεδομένα της EEPROM ξαναφορτώνονται στις αντίστοιχες θέσεις στη περιοχή μνήμη SRAM. Ο αφέντης μπορεί να ζητήσει να φορτωθούν τα δεδομένα της μνήμης EEPROM στην περιοχή μνήμης SRAM με την εντολή Recall E2 [B8h] Όταν το DS18B20 τροφοδοτείται από εξωτερική πηγή o αφέντης μπορεί να διαβάζει το bit ακολουθούμενο της εντολής Recall E2 και το DS18B20 ανταποκρίνοντας μεταδίδοντας το λογικό 0 όταν η εντολή recall είναι σε κατάσταση εκτέλεσης και το λογικό 1 όταν η εκτέλεση της εντολής recall έχει τελειώσει.

Καταχωρητής διαμόρφωσης

Στην περιοχή της μνήμης SRAM και συγκεκριμένα το byte4 περιέχει τον καταχωρητή διαμόρφωσης (configuration register) που διαμορφώνεται όπως στο σχήμα 8. Ο χρήστης μπορεί να διαμορφώσει την ανάλυση της τιμής της θερμοκρασίας ορίζοντας κατάλληλα τον καταχωρητή διαμόρφωσης θέτοντας στις τιμές στα bits R0 και R1 αυτού του καταχωρητή. Σημειώστε οτι υπάρχει μια σχέση μεταξύ της ανάλυσης και του χρόνου μετατροπής. Το bit 7 και τα bits 0 εως 4 στον καταχωρητή διαμόρφωσης είναι δεσμευμένα για εσωτερική χρήση του αισθητήρα και δεν μπορούν να γραφούν.

1-WIRE ΔΙΑΥΛΟΣ ΔΕΔΟΜΕΝΩΝ

Ο 1-Wire δίαυλος δεδομένων χρησιμοποιεί ένα αφέντη για τον έλεγχο ενός ή περισσότερους σκλάβους συσκευές. Ο αισθητήρας DS18B20 ορίζεται πάντα ως σκλάβος. Όταν υπάρχει μόνο ένας σκλάβος στον δίαυλο δεδομένων, το σύστημα ονομάζεται “single-drop”. Το σύστημα είναι “multi-drop” όταν υπάρχουν πολλαπλοί σκλάβοι στον δίαυλο δεδομένων. Στον 1-Wire δίαυλο δεδομένων όλα τα δεδομένα και εντολές μεταδίδονται με το λιγότερο σημαντικό ψηφίο πρώτο. Η επόμενη συζήτηση για το 1-Wire δίαυλο δεδομένων χωρίζεται σε τρία μέρη:
Α] Διαμόρφωση υλικού,
Β] Διαδικασία μετάδοσης και τη
Γ] Δομή του 1-Wire σήματος με εφαρμογή ένα AVR μικροελεγκτή.

Α] ΔΙΑΜΟΡΦΩΣΗ ΥΛΙΚΟΥ

Ο 1-Wire δίαυλος δεδομένων έχει μια γραμμή δεδομένων. Κάθε συσκευή (αφέντης ή σκλάβος) συνδέεται στη γραμμή δεδομένων διαμέσου μιας ανοικτού συλλέκτη ή τριών καταστάσεων πόρτα. Αυτό επιτρέπει κάθε συσκευή να “ελευθερώνει” τη γραμμή δεδομένων όταν η συσκευή δεν μεταδίδει δεδομένα, έτσι ώστε η γραμμή δεδομένων να είναι διαθέσιμη για άλλη συσκευή. Η 1-Wire πόρτα του DS18B20 (το DQ pin) είναι ανοικτού συλλέκτη, με ένα ισοδύναμο εσωτερικό κύκλωμα σαν αυτό που δείχνεται στο σχήμα 10. Ο 1-Wire δίαυλος δεδομένων απαιτεί μια pull-up αντίσταση τιμής 5KΩ, έτσι ώστε η αδρανή κατάσταση του 1-Wire διαύλου είναι high. Εάν ο αφέντης κρατήσει τον δίαυλο δεδομένων σε low περισσότερο από 480μs όλες οι συσκευές πάνω στο δίαυλο αρχικοποιούνται (επαναφέρονται).

Β] ΔΙΑΔΙΚΑΣΙΑ ΜΕΤΑΔΟΣΗΣ

Η σειρά με την οποία γίνεται η επικοινωνία του DS18B20 με τον μικροελεγκτή είναι η ακόλουθη:
Βήμα 1: Αρχικοποίηση
Βήμα 2: Εντολή ROM (Ακολουθούμενη με τα απαραίτητα δεδομένα).
Βήμα 3: Εντολή λειτουργίας του DS18B20 (Ακολουθούμενη με τα απαραίτητα δεδομένα).
Είναι πολύ σημαντικό να ακολουθείται αυτή τη σειρά κάθε φορά που προκαλούμε πρόσβαση στο DS18B20, καθώς το DS18B20 δεν θα ανταποκριθεί, αν κάποιο από τα βήματα επικοινωνίας παραλειφθεί. Εξαιρέσεις σε αυτό τον κανόνα είναι οι εντολές Search ROM [F0h] και Alarm Search [Ech]. Έπειτα που ζητηθούν αυτές οι εντολές, ο αφέντης πρέπει να επιστρέψει στο βήμα 1 της σειράς επικοινωνίας.

Βήμα 1: Αρχικοποίηση

Η διαδικασία μεταδοσης πάνω στον 1-Wire δίαυλο δεδομένων, ξεκινά με το βήμα της αρχικοποίησης. Η αρχικοποίηση αποτελείται από τον τον παλμό επαναφοράς (αρχικοποίησης) που ζητά ο αφέντης, πάνω στο δίαυλο δεδομένων ακολουθούμενο από τους παλμούς παρουσίας που μεταδίδουν ο (οι) σκλάβος (οι). Ο παλμός παρουσίας επιτρέπει στον αφέντη να γνωρίζει ότι σκλάβοι συσκευές (όπως το DS18B20) είναι πάνω στο δίαυλο δεδομένων και είναι έτοιμες να λειτουργήσουν και να ανταποκριθούν.

Βήμα 2: Εντολές ROM

Έπειτα που ο αφέντης έχει ανιχνεύσει ένα παλμό παρουσίας από κάποιον αισθητήρα DS18B20, μπορεί να ζητήσει από αυτόν μια εντολή ROM. Αυτές οι εντολές ROM δρουν πάνω στο μοναδικό 64-bit ROM κωδικό της κάθε σκλάβου συσκευής και επιτρέπει στον αφέντη να καθορίσει μια συσκευή, αν πολλαπλές συσκευές είναι πάνω στο 1-Wire δίαυλο δεδομένων. Αυτές οι εντολές ROM επιτρέπουν, επίσης, στον αφέντη να αναγνωρίσει πόσες και τον τύπο των συσκευών που υπάρχουν πάνω στο δίαυλο δεδομένων ή αν κάποια συσκευή βρίσκεται σε κατάσταση θερμοκρασιακού συναγερμού. Υπάρχουν πέντε εντολές ROM και κάθε εντολή έχει 8-bit μέγεθος. Ο αφέντης πρέπει να ζητήσει την κατάλληλη εντολή ROM πριν ζητήσει μια εντολή λειτουργίας του DS18B20.

Search Rom [F0h]
Όταν το σύστημα αρχικά τροφοδοτείται, ο αφέντης πρέπει να αναγνωρίσει τους ROM κωδικούς όλων των σκλάβων συσκευών, πάνω στον δίαυλο δεδομένων, το οποίο επιτρέπει στον αφέντη να καθορίσει τον αριθμό και το τύπο των σκλάβων συσκευών. Αυτό μπορεί να γίνει με την εντολή Search ROM [F0h]. Ο αφέντης μαθαίνει τους ROM κωδικούς διαμέσου μιας διαδικασίας που απαιτεί από τον αφέντη να εκτελεί ένα κύκλο Search ROM όσες φορές χρειάζεται για να αναγνωρίσει όλους τους σκλάβους συσκευές. Εάν υπάρχει μόνο ένας σκλάβος πάνω στο δίαυλο δεδομένων, η απλούστερη εντολή Read ROM [33h] μπορεί να χρησιμοποιηθεί στην θέση της Search ROM διαδικασίας.

Read Rom [33h]
Η εντολή Read ROM [33h] μπορεί να χρησιμοποιηθεί όταν υπάρχει ένας σκλάβος στο δίαυλο δεδομένων. Επιτρέπει στον αφέντη να διαβάσει τον 64-bit ROM κωδικό του σκλάβου χωρίς τη χρήση της Search ROM διαδικασίας. Εάν αυτή η εντολή χρησιμοποιηθεί όταν υπάρχουν περισσότεροι από ένας σκλάβους συσκευές στο δίαυλο δεδομένων, μια σύγκρουση δεδομένων θα συμβεί, καθώς όλοι οι σκλάβοι προσπαθούν να ανταποκριθούν την ίδια χρονική στιγμή.

Match Rom [55h]
Η εντολή Match ROM ακολουθούμενη από τον 64-bit ROM κωδικό, επιτρέπει στον αφέντη να ενεργοποιήσει ένα συγκεκριμένο σκλάβο συσκευή σε ένα multi-drop ή single-drop δίαυλο δεδομένων. Μόνο ο σκλάβος που καθορίζεται από το συγκεκριμένο 64-bit ROM κωδικό θα ανταποκρίνεται σε όλες τις εντολές λειτουργίας που ζητά ο αφέντης, ενώ οι υπόλοιπες σκλάβους συσκευές περιμένουν τον παλμό αρχικοποίησης (επαναφοράς).

Skip Rom [CCh]
Ο αφέντης μπορεί να ζητήσει την εντολή Skip ROM [Cch] για να ορίσει όλες τις συσκευές του διαύλου δεδομένων ταυτόχρονα χωρίς να στείλει ROM κωδικούς. Για παράδειγμα, ο αφέντης μπορεί να προκαλέσει όλα τα DS18B20 του διαύλου δεδομένων να εκτελέσουν ταυτόχρονα μέτρηση και μετατροπή θερμοκρασίας. Ζητώντας μια Skip ROM εντολή ακολουθούμενη από την εντολή Convert T [44h].
Σημείωση: η εντολή λειτουργίας Read Scratchpad [Beh] μπορεί να ακολουθεί την εντολή Skip ROM μόνο όταν υπάρχει μια σκλάβος συσκευή στο δίαυλο δεδομένων. Σε αυτή την περίπτωση εξοικονομείται χρόνος στον αφέντη για να διαβάζει από τον σκλάβο, χωρίς να στείλει τον 64-bit ROM κωδικό. Η εντολή Skip ROM ακολουθούμενη από την εντολή Read Scratchpad θα προκαλέσει σύγκρουση δεδομένων στο δίαυλο δεδομένων όταν υπάρχουν περισσότεροι από ένα σκλάβοι από την στιγμή που υπάρχουν πολλαπλοί σκλάβοι θα προσπαθήσουν να μεταδώσουν δεδομένα ταυτόχρονα.

Alarm Search [Ech]
Η λειτουργία της εντολής Alarm Search [Ech] είναι πανομοιότυπη με την λειτουργία της εντολής Search ROM, εκτός από το ότι μόνο οι σκλάβοι με ενεργοποιημένοι τη σημαία συναγερμού θερμοκρασίας θα ανταποκριθούν. Αυτή η εντολή επιτρέπει στον αφέντη να καθορίσει εάν κάποιο DS18B20 βρίσκεται σε κατάσταση συναγερμού στην πρόσφατη μέτρηση και μετατροπή της θερμοκρασίας. Μέσα από κάθε κύκλο Alarm Search, ο αφέντης πρέπει να επιτρέψει στο βήμα 1 (αρχικοποίηση) της διαδικασία μετάδοσης.

Βήμα 3: Εντολές λειτουργίας του DS18B20

Μετά που ο αφέντης έχει χρησιμοποιήσει μια εντολή ROM, για να ορίσει το DS18B20 που επιθυμεί να επικοινωνήσει, ο αφέντης μπορεί να ζητήσει μια εντολή λειτουργίας του DS18B20. Αυτές οι εντολές λειτουργίας επιτρέπουν στον αφέντη να γράψει και να διαβάσει από την περιοχή της μνήμης του DS18B20, να αρχίσει τη μέτρηση και μετατροπή της θερμοκρασίας και να καθορίσει τον τρόπο τροφοδοσίας.

Convert T [44h]
Αυτή η εντολή αρχίζει μια απλή μέτρηση και μετατροπή θερμοκρασίας. Τα ψηφιακά αποτελέσματα αυτής της εντολής αποθηκεύονται στον 2-byte καταχωρητή θερμοκρασίας, στην περιοχή μνήμης (SRAM byte 1, 0) και μετά το DS18B20 επιστρέφει σε αδρανή κατάσταση. Εάν το DS18B20 τροφοδοτείται από εξωτερική πηγή, ο αφέντης μπορεί να διαβάσει το bit εκείνη τη στιγμή στο δίαυλο δεδομένων, μετά την εντολή Convert T και το DS18B20 ανταποκρίνεται μεταδίδοντας 0 όταν βρίσκεται ακόμη σε κατάσταση μέτρησης και μετατροπής θερμοκρασίας και 1 αν ή μέτρηση και μετατροπή έχει ολοκληρωθεί. Όταν τροφοδοτείται με “parasite power” αυτή η λειτουργία δεν μπορεί να χρησιμοποιηθεί.

Write Scratchpad [4Eh]
Αυτή η εντολή επιτρέπει στον αφέντη να γράψει τρία byte δεδομένων στην περιοχή μνήμης του DS18B20. Το πρώτο byte γράφεται στο ΤΗ καταχωρητή (byte 2 της περιοχή μνήμης) το δεύτερο byte γράφεται στο TL καταχωρητή (byte 3) και το τρίτο byte γράφεται στον καταχωρητή διαμόρφωσης (byte 4). Τα δεδομένα μεταδίδονται πρώτα το λιγότερο σημαντικό bit. Όλα και τα τρία bytes πρέπει να γραφούν πριν ο αφέντης ζητήσει εντολή αρχικοποίησης (επαναφοράς).

Read Scratchpad [BEh]
Με αυτή την εντολή ο αφέντης διαβάζει τα περιεχόμενα της περιοχή μνήμης. Τα δεδομένα μεταφέρονται ξεκινώντας από το λιγότερο σημαντικό bit του byte 0 και συνεχίζονται μέχρι το ένατο byte (byte8 -CRC) της περιοχή μνήμης. Ο αφέντης μπορεί να ζητήσει εντολή αρχικοποίησης (επαναφοράς) για να διακόψει το διάβασμα οποιαδήποτε στιγμή, εάν μόνο ένα τμήμα της περιοχή μνήμης χρειάζεται να διαβαστεί.

Copy Scratchpad [48h]
Αυτή η εντολή αντιγράφει τα περιεχόμενα των καταχωρητών ΤΗ, ΤL και διαμόρφωσης που αντιστοιχούν στα bytes 2, 3 και 4 της περιοχής της μνήμης προς την μνήμη EEPROM. Αν το DS18B20 λειτουργεί σε “parasite power mode” μέσα σε χρόνο 10μs το μέγιστο, μετά αυτή την εντολή ο αφέντης πρέπει να ενεργοποιήσει δυνατό τράβηγμα pull-up στον 1-Wire δίαυλο δεδομένων, με διάρκεια το λιγότερο 10ms.

Recall E2 [B8h]
Με αυτή την εντολή αντιγράφονται τα όρια του θερμοκρασιακού συναγερμού (ΤΗ και ΤL) και τα δεδομένα του byte διαμόρφωσης από την μνήμη EEPROM στα bytes 2, 3 και 4 αντίστοιχα στη περιοχή της μνήμης. Ο αφέντης μετά την εντολή Recall E2 μπορεί να να διαβάζει το bit του διαύλου δεδομένων και το DS18B20 ανταποκρίνεται με 0 όταν η εντολή Recall E2 είναι σε διαδικασία εκτέλεσης και 1 όταν έχει ολοκληρωθεί. Η λειτουργία recall εκτελείται αυτόματα μόλις τροφοδοτηθεί με τάση το DS18B20 έτσι ώστε τα δεδομένα να είναι διαθέσιμα μέσα στη περιοχή μνήμης με την αρχή τροφοδοσίας του DS18B20.

Read Power Supply [B4h]
Ο αφέντης μπορεί να ζητήσει αυτή την εντολή ακολουθούμενο από το διάβασμα του bit της γραμμης δεδομένων, για να του γνωστοποιηθεί έναν κάποιο DS18B20 πάνω στο δίαυλο δεδομένων λειτουργεί με τροφοδοσία “parasite power”. Κατά τη διάρκεια του διαβάσματος του bit, τα DS18B20 σε κατάσταση “parasite mode” τραβούν το δίαυλο δεδομένων σε low ενώ αυτά που τροφοδοτούνται από εξωτερική πηγή αφήνουν το δίαυλο δεδομένων σε high. Εάν ο δίαυλος δεδομένων τραβηχτεί σε low, ο αφέντης γνωρίζει ότι να τροφοδοτήσει με δυνατό pull-up στον 1-Wire δίαυλο δεδομένων κατά τη διάρκεια θερμοκρασιακών μετρήσεων και μετατροπών.

Γ] ΕΠΙΚΟΙΝΩΝΙΑ ΤΟΥ DS18B20 ΜΕ ΤΟΝ ΜΙΚΡΟΕΛΕΓΚΤΗ AVR

Σε ένα άλλο μέρος αυτού του ιστότοπου σας δείχνουμε αναλυτικά, παρουσιάζοντας τον αντίστοιχο κώδικα για την πλατφόρμα Arduino, για το πως αυτός ο μικριελεγκτής επικοινωνεί σειριακά με τον αισθητήρα ds18b20 για να μπορέσει να μετρήσει την θερμοκρασία,