DS1302 ολοκληρωμένο κύκλωμα ημερομηνίας και ώρας

DESCRIPTION-ΠΕΡΙΓΡΑΦΗ

Το DS1302 είναι ένα ολοκληρωμένο κύκλωμα, που παρέχει ψηφιακά την ημερομηνία και ώρα. Επίσης περιλαμβάνει 31 bytes γενικού σκοπού RAM συντηρούμενη με μπαταρία. Επικοινωνεί με τον μικροελεγκτή με ένα απλό σειριακό πρωτόκολλο. Το DS1302 παρέχει πληροφόρηση για δευτερόλεπτα, λεπτά, ώρες, ημέρα, ημερομηνία, μήνα και χρόνο. Στο τέλος κάθε μήνα, η ημερομηνία αυτόματα αλλάζει για μήνες με λιγότερες από 31 ημέρες και παρέχει διόρθωση για το δίσεκτο έτος. Το ρολόι λειτουργεί είτε με 24-άωρη είτε με 12-άωρη διαμόρφωση με ένδειξη ΑΜ/ΡΜ.

Η επικοινωνία του DS1302 με τον μικροελεγκτή απλοποιείται με τη χρήση σύγχρονου σειριακού πρωτοκόλλου. Μόνο τρεις ακροδέκτες χρειάζονται για την επικοινωνία του ολοκληρωμένου κυκλώματος με τον μικροελεγκτή, οι οποίοι είναι CE, I/O(data line) και SCLK(serial clock). Δεδομένα μπορούν να μεταφέρονται προς και από το ρολόι DS1302, ένα byte κάθε φορά ή μια ριπή το πολύ 31 bytes. Το DS1302 έχει σχεδιαστεί ώστε να λειτουργεί με χαμηλή κατανάλωση ρεύματος και να διατηρεί την ώρα και την ημερομηνία με κατανάλωση μικρότερη από 1μW.

PIN DESCRIPTIONΠΕΡΙΓΡΑΦΗ ΑΚΡΟΔΕΚΤΩΝ

(Pin1, Vcc2) τροφοδοσία του ολοκληρωμένου κυκλώματος με τάση.
(Pin2 και Pin3, X1 και X2) σύνδεση κρυστάλλου 32,768KHz
(Pin4, GND) γείωση
(Pin 5, CE) ακροδέκτης εισόδου. Ο ακροδέκτης CE πρέπει να τίθεται σε high κατά την διάρκεια εγγραφής και ανάγνωσης δεδομένων. Αυτός ο ακροδέκτης έχει μια εσωτερική αντίσταση 40ΚΩ τραβήγματος pulldown προς την γείωση.
(Pin6, I/O) ακροδέκτης εισόδου – εξόδου. Ο ακροδέκτης Ι/Ο είναι διπλής κατευθύνσεως για 3-αγωγών επικοινωνία. Αυτός ο ακροδέκτης έχει μια εσωτερική αντίσταση 40ΚΩ τραβήγματος pulldown προς την γείωση.
(Pin7, SCLK) ακροδέκτης εισόδου. Αυτό το σήμα χρησιμοποιείται για το συγχρονισμό της μεταφοράς δεδομένων στην σειριακή επικοινωνία. Αυτός ο ακροδέκτης έχει μια εσωτερική αντίσταση 40ΚΩ τραβήγματος pulldown προς την γείωση.
(Pin8, Vcc1) αυτός ο ακροδέκτης συνδέεται με μια backup μπαταρία, για να διατηρεί την ώρα και την ημερομηνία στην περίπτωση διακοπής της κύριας τροφοδοσίας. Η μπαταρία μπορεί να είναι επαναφορτιζόμενη με φόρτιση από το ολοκληρωμένο κύκλωμα. Όταν η τάση Vcc2 είναι μεγαλύτερη από Vcc1+0,2V τότε η Vcc2 τροφοδοτεί το ρολόι. Όταν η Vcc2 είναι μικρότερη από Vcc1, το ρολόι τροφοδοτείται από την μπαταρία.

OSCILLATOR CIRCUITΚΥΚΛΩΜΑ ΤΑΛΑΝΤΩΤΗ

Το ολοκληρωμένο κύκλωμα DS1302 χρησιμοποιεί εξωτερικό κρύσταλλο συχνότητας 32,768ΚHz. Το κύκλωμα του ταλαντωτή δεν χρειάζεται επιπρόσθετες αντιστάσεις ή πυκνωτές για να λειτουργήσει.

Η ακρίβεια του DS1302 εξαρτάται από την ακρίβεια του κρυστάλλου και από την ακρίβεια προσαρμογής μεταξύ του χωρητικού φορτίου του κυκλώματος του ταλαντωτή και το χωρητικό φορτίο για το οποίο ο κρύσταλλος έχει κοπεί. Επιπρόσθετο σφάλμα εισάγεται από την ολίσθηση της συχνότητας λόγω θερμοκρασιακών μεταβολών. Εξωτερικός θόρυβος στο κύκλωμα επιδρά ώστε το ρολόι να “τρέχει” γρηγορότερα.

COMMAND BYTE

Το σχήμα απεικονίζει τη διάταξη του command byte. Το command byte είναι η αρχικοποίηση της μεταφοράς δεδομένων. Το bit 7, το περισσότερο σημαντικό ψηφίο (MSB) πρέπει να έχει τιμή το λογικό 1. Εάν αυτό το bit έχει την τιμή του λογικού 0 οι εγγραφές στο DS1302 απενεργοποιούνται. Το bit 6, ορίζει με την τιμή του λογικού 0 δεδομένα ρολογιού και ημερομηνίας ενώ με την τιμή του λογικού 1 ορίζει δεδομένα της μνήμης RAM. Τα bit από 1 έως 5 ορίζουν τον επιθυμητό καταχωρητή που θέλουμε για εγγραφή ή διάβασμα δεδομένων. Τέλος το bit 0, το λιγότερο σημαντικό ψηφίο (LSB) ορίζει με την τιμή του λογικού 0 εγγραφή δεδομένων στο DS1302 ενώ με την τιμή του λογικού 1 διάβασμα δεδομένων από το DS1302.

CE AND CLOCK CONTROL

Οδηγώντας τον ακροδέκτη CE σε high αρχικοποιείται όλη η μεταφορά δεδομένων. Το σήμα CE ενεργοποιεί το λογικό κύκλωμα για πρόσβαση στο καταχωρητή ολίσθησης του DS1302 για μεταφορά δεδομένων. Το σήμα CE παρέχει τη μέθοδο τερματισμού μεταφοράς δεδομένων σε μορφή είτε single-byte είτε multiple-byte. Ένας κύκλος μεταφοράς δεδομένων αποτελείται από την ακμή ανόδου ακολουθούμενου από την ακμή καθόδου. Για είσοδο δεδομένων στο DS1302 τα δεδομένα πρέπει να είναι έγκυρα την στιγμή της ακμής ανόδου του σήματος ρολογιού SCLK. Τα δεδομένα εξόδου από το DS1302 είναι έγκυρα την στιγμή της ακμής καθόδου του σήματος ρολογιού SCLK.

Εάν η είσοδος CE είναι σε λογικό 0 (low) η μεταφορά δεδομένων τερματίζεται και ο ακροδέκτης Ι/Ο τίθεται σε κατάσταση μεγάλης αντίστασης. Το σχήμα δείχνει το τρόπο μεταφοράς δεδομένων. Στην αρχή της τροφοδότησης του DS1302 το σήμα CE πρέπει να είναι σε λογικό 0 μέχρι Vcc>2,0V. Επίσης το σήμα SCLK πρέπει να είναι σε λογικό 0 όταν το σήμα CE οδηγείται στην κατάσταση του λογικού 1 (high)

DATA INPUT – ΕΙΣΟΔΟΣ ΔΕΔΟΜΕΝΩΝ

Μετά τους οκτώ SCLK κύκλους της αποστολής του command byte ακολουθούμενο από byte δεδομένων για εγγραφή που γίνεται με την κάθε ακμή ανόδου των επόμενων οκτώ SCLK κύκλων. Επιπρόσθετοι SCLK κύκλοι αγνοούνται που πρέπει ακούσια να συμβαίνουν. Η είσοδος δεδομένων αρχίζει με το bit0.

DATA OUTPUT – ΕΞΟΔΟΣ ΔΕΔΟΜΕΝΩΝ

Μετά τους οκτώ SCLK κύκλους της αποστολής του command byte για διάβασμα το DS1302 δίνει ένα byte δεδομένων με την κάθε ακμή καθόδου των επόμενων οκτώ SCLK κύκλων. Σημείωση: το πρώτο bit των δεδομένων που θα στείλει το DS1302 συμβαίνει στην πρώτη ακμή καθόδου ακριβώς μετά την ακμή ανόδου του τελευταίου bit του command byte που στέλνουμε σε αυτό το IC. Επιπρόσθετοι SCLK κύκλοι ξαναεκπέμπει το byte δεδομένων και θα πρέπει να συμβαίνει ακούσια, ενώ σε όλη τη διάρκεια το σήμα CE είναι σε high κατάσταση. Αυτή η λειτουργία επιτρέπει την κατάσταση λειτουργίας burst mode συνεχόμενου διαβάσματος. Η έξοδος δεδομένων αρχίζει με το bit0.

CLOCK/CALENDARΩΡΑ/ΗΜΕΡΟΛΟΓΙΟ

Οι πληροφορίες για την ώρα και ημερομηνία λαμβάνονται με το διάβασμα του κατάλληλου καταχωρητή του DS1302. Ο πίνακας 3 απαικονίζει τους RTC (real time clock) καταχωρητές. Η ώρα και η ημερομηνία αρχικοποιούνται με εγγραφή στους κατάλληλους καταχωρητές. Τα περιεχόμενα της ώρας και της ημερομηνίας είναι σε μορφή BCD (binary coded decimal format).

Ο επόμενος πίνακας δείχνει τους RTC καταχωρητές. Η πρώτη στήλη READ του πίνακα αντιστοιχεί στην δεκαεξαδική μορφή της εντολής του command byte που ορίζει το συγκεκριμένο καταχωρητή του DS1302 σε κατάσταση διαβάσματος. Η στήλη WRITE του ίδιου πίνακα αναφέρεται στο command byte που αντιστοιχεί στον ίδιο καταχωρητή σε κατάσταση γραψίματος. Για διάβασμα το LSB (το λιγότερο σημαντικό ψηφίο) του command byte πρέπει να είναι το λογικό 1 ενώ για γράψιμο το LSB του command byte πρέπει να είναι το λογικό 0.

Ο καταχωρητής της ημέρας της εβδομάδος αυξάνει το περιεχόμενο του τα μεσάνυχτα. Μη λογικές τιμές της ώρας και της ημερομηνίας έχει σαν αποτέλεσμα την ακαθόριστη λειτουργία. Όταν διαβάζουμε ή γράφουμε την ώρα και την ημερομηνία δευτερεύον user buffer (μικρή μνήμη) χρησιμοποιείται για την αποτροπή σφαλμάτων και συγκεκριμένα την στιγμή που οι εσωτερικοί καταχωρητές ανανεώνονται. Όταν διαβάζουμε την ώρα και την ημερομηνία οι user buffers συγχρονίζονται με τους εσωτερικούς καταχωρητές με την ακμή ανόδου του σήματος CE.

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

Το DS1302 μπορεί να λειτουργήσει είτε σε 12ωρη είτε σε 24ωρη μορφή. Το bit7 του καταχωρητή ωρών ορίζει την επιλογή μεταξύ της 12ωρης και 24ωρης μορφής. Όταν αυτό το bit είναι high ορίζει τη 12ωρη μορφή. Στη 12ωρη μορφή το bit5 είναι το ΑΜ/ΡΜ bit που με το λογικό 1 (high) ορίζει την κατάσταση ΡΜ. Στη 24ωρη μορφή το bit5 και bit4 ορίζουν το ψηφίο των δεκάδων της τιμής της ώρας. Τα δεδομένα των ωρών πρέπει να ξανααρχικοποιούνται κάθε φορά που το bit 12/24 αλλάζει.

CLOCK HALT FLAGΠΑΥΣΗ ΡΟΛΟΓΙΟΥ

Το bit7 του καταχωρητή των δευτερολέπτων ορίζεται σαν σημαία παύσης του ρολογιού. Όταν αυτό το bit τίθεται στο λογικό 1 ο ταλαντωτής του ρολογιού σταματά και το ολοκληρωμένο κύκλωμα DS1302 μπαίνει σε χαμηλή κατανάλωση standby κατάσταση, με ρεύμα κάτω από 100nA. Όταν αυτό το bit γράφεται σε λογικό 0 το ρολόι ξεκινά.

WRITE PROTECT BITΠΡΟΣΤΑΣΙΑ ΓΡΑΨΙΜΑΤΟΣ

Το bit7 του καταχωρητή ελέγχου είναι το bit προστασίας γραψίματος. Τα πρώτα επτά bits (bit0 εως 6) τίθενται σε λογικό 0 και πάντα διαβάζονται ως λογικό 0. Πριν κάθε διαδικασία εγγραφής στο ρολόι ή στην μνήμη RAM το bit7 πρέπει να τίθεται στο λογικό 0. Όταν είναι σε λογικό 1 (high) υπάρχει προστασία και δεν μπορεί να γίνει εγγραφή σε κάθε άλλο καταχωρητή. Επομένως το WP bit πρέπει να τίθεται στο λογικό 0 πριν κάθε προσπάθεια εγγραφής σε καταχωρητή.

TRICKLE – CHARGE REGISTER

Ο καταχωρητής trickle – charge ελέγχει την φόρτιση της μπαταρίας που τροφοδοτεί το DS1302 σε περίπτωση διακοπής τροφοδοσίας. Για περισσότερες πληροφορίες ανατρέξτε στο datasheet του DS1302