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) ακροδέκτης εισόδου – εξόδου. Ο ακροδέκτης Ι/Ο είναι διπλής κατευθύνσεως για αμφίδρομη επικοινωνία τριών αγωγών. Αυτός ο ακροδέκτης έχει μια εσωτερική αντίσταση 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 και μετά ακολουθεί τo byte δεδομένων. Το bit 7, το περισσότερο σημαντικό ψηφίο (MSB) του command byte πρέπει να έχει τιμή το λογικό 1. Εάν αυτό το bit έχει την τιμή του λογικού 0 οι εγγραφές στο DS1302 απενεργοποιούνται. Το bit 6, του command byte, όταν έχει τιμή το λογικό 0 αναφέρεται σε δεδομένα ρολογιού και ημερομηνίας ενώ όταν έχει τιμή το λογικού 1 αναφέρεται σε δεδομένα της μνήμης RAM. Τα bit από 1 έως 5 του command byte προσδιορίζουν τον επιθυμητό καταχωρητή που θέλουμε να κάνουμε εγγραφή ή διάβασμα δεδομένων. Τέλος το bit 0, το λιγότερο σημαντικό ψηφίο (LSB) όταν έχει τιμή το λογικό 0 έχουμε την εγγραφή δεδομένων στο DS1302 ενώ όταν έχει τιμή το λογικό 1 έχουμε διάβασμα δεδομένων από το DS1302.
CE AND CLOCK CONTROL
Οδηγώντας τον ακροδέκτη CE σε high αρχικοποιείται όλη η μεταφορά δεδομένων. Το σήμα CE ενεργοποιεί το λογικό κύκλωμα για πρόσβαση στο καταχωρητή ολίσθησης του DS1302 για μεταφορά δεδομένων. Το σήμα CE μας παρέχει τη μέθοδο τερματισμού μεταφοράς δεδομένων σε μορφή είτε single-byte είτε multiple-byte. Ένας κύκλος μεταφοράς δεδομένων αποτελείται από την ακμή ανόδου ακολουθούμενου από την ακμή καθόδου του σήματος CE. Για είσοδο δεδομένων στο DS1302 τα δεδομένα πρέπει να είναι έγκυρα την στιγμή της ακμής ανόδου του σήματος ρολογιού SCLK. Τα δεδομένα εξόδου από το DS1302 είναι έγκυρα την στιγμή της ακμής καθόδου του σήματος ρολογιού SCLK.
Εάν η είσοδος CE πάει σε λογικό 0 (low) η μεταφορά δεδομένων τερματίζεται και ο ακροδέκτης Ι/Ο τίθεται σε κατάσταση μεγάλης αντίστασης. Το σχήμα δείχνει το τρόπο μεταφοράς δεδομένων. Το σήμα SCLK πρέπει να είναι σε λογικό 0 όταν το σήμα CE οδηγείται στην κατάσταση του λογικού 1 (high)
DATA INPUT – ΕΙΣΟΔΟΣ ΔΕΔΟΜΕΝΩΝ
Μετά τους οκτώ SCLK κύκλους της αποστολής του command byte στο DS1302, το οποίο το θετει για είσοδο δεδομένων (το LSB του command byte είναι 0), το DS1302 διαβάζει τα bits στην γραμμή Ι/Ο δεδομένων με την κάθε ακμή ανόδου των επόμενων οκτώ SCLK κύκλων. Η είσοδος δεδομένων αρχίζει με το bit0.
DATA OUTPUT – ΕΞΟΔΟΣ ΔΕΔΟΜΕΝΩΝ
Μετά τους οκτώ SCLK κύκλους της αποστολής του command byte στο DS1302 το οποίο το θέτει για έξοδο δεδομένων, δίνει τα bits εξόδου στη γραμμή Ι/Ο δεδομένων με την κάθε ακμή καθόδου των επόμενων οκτώ SCLK κύκλων. Σημείωση: το πρώτο bit των δεδομένων που θα στείλει το DS1302 συμβαίνει στην πρώτη ακμή καθόδου ακριβώς μετά την ακμή ανόδου του τελευταίου bit του command byte που στέλνουμε σε αυτό το τσιπ. Η έξοδος δεδομένων αρχίζει με το bit0.
CLOCK/CALENDAR–ΩΡΑ/ΗΜΕΡΟΛΟΓΙΟ
Οι πληροφορίες για την ώρα και ημερομηνία λαμβάνονται με το διάβασμα του κατάλληλου καταχωρητή του DS1302. Ο πίνακας 3 απεικονίζει τους RTC (real time clock) καταχωρητές. Η ώρα και η ημερομηνία αρχικοποιούνται με εγγραφή στους κατάλληλους καταχωρητές. Τα περιεχόμενα της ώρας και της ημερομηνίας είναι σε μορφή BCD (binary coded decimal format).
Ο επόμενος πίνακας δείχνει τους RTC καταχωρητές. Η πρώτη στήλη READ του πίνακα αντιστοιχεί στην δεκαεξαδική μορφή της εντολής του command byte που ορίζει το συγκεκριμένο καταχωρητή του DS1302 σε κατάσταση διαβάσματος. Η στήλη WRITE του ίδιου πίνακα αναφέρεται στο command byte που αντιστοιχεί στον ίδιο καταχωρητή σε κατάσταση γραψίματος. Για διάβασμα από το DS1302 το LSB (το λιγότερο σημαντικό ψηφίο) του command byte πρέπει να είναι το λογικό 1 ενώ για γράψιμο στο DS1302 το 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
…