ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ 2001
Προγραμματιζόμενοι απαριθμητές Οι προγραμματιζόμενοι απαριθμητές έχουν την δυνατότητα να παράγουν ένα παλμό στην έξοδό τους σε κάθε Ν παλμούς της εισόδου. Ο αριθμός Ν έχει την δυνατότητα να αλλάζει σε αντίθεση με τους απαριθμητές modulo Ν. Έτσι οι προγραμματιζόμενοι απαριθμητές έχουν την δυνατότητα να αλλάξουν modulo της απαρίθμησης. O Counter 74192 Ένας δημοφιλής προγραμματιζόμενος counter που μας δίνει την δυνατότητα να υλοποιήσουμε πολύπλοκες προγραμματιζόμενες απαριθμητικές διατάξεις είναι ο 74192. Ο counter αυτός έχει την δυνατότητα να μετρήσει και προς τα επάνω (count up) και προς τα κάτω (count down) και είναι δεκαδικός (modulo 10). Ο counter έχει τις παρακάτω εισόδους / εξόδους: Μία είσοδο ρολογιού για την Count Up () απαρίθμηση. Η ανιούσα παρυφή του ρολογιού αυξάνει την τιμή του counter κατά ένα, εφ όσον η είσοδος Count own είναι 1. Μία είσοδο ρολογιού για την Count own () απαρίθμηση. Η ανιούσα παρυφή του ρολογιού μειώνει την τιμή του counter κατά ένα, εφ όσον η είσοδος Count Up είναι 1. Μία είσοδο. Όταν το είναι 1 η τιμή του counter γίνεται 0000. Η είσοδος είναι ασύγχρονη και υπερισχύει των εισόδων Count Up και Count own. Μία είσοδο. Όταν το είναι 0 η τιμή του counter γίνεται ίση με τις εισόδους preset. Τέσσερις εισόδους Preset () που μεταφέρουν την τιμή τους στα τέσσερα Flip Flops του counter όταν η είσοδος είναι 0. Τέσσερις εξόδους () που αντιστοιχούν στην τιμή των τεσσάρων Flip Flop του Counter από LSB προς MSB. Μία έξοδο Terminal Count Up (). Η έξοδος αυτή γίνεται 0 όταν η τιμή του counter είναι 1001 (9) και η είσοδος Count Up είναι 0. Μία έξοδο Terminal Count own (). Η έξοδος αυτή γίνεται 0 όταν η τιμή του counter είναι 0000 (0) και η είσοδος Count own είναι 0. Στο παρακάτω σχήμα δείχνεται το block διάγραμμα του 74192: Σχ. 1 Το Block διάγραμμα του 74192 Ο 74192 μπορεί να χρησιμοποιηθεί σε συνδεσμολογία σειράς (cascade) για την υλοποίηση πολύπλοκων απαριθμητικών διατάξεων 2/9
Count own Απαρίθμηση Η συνδεσμολογία του counter 74192 για count down απαρίθμηση δείχνεται στο παρακάτω σχήμα. Παρατηρείστε ότι ο counter 1 μετρά τις μονάδες και έχει Presets (0010)= 2 και ότι ο counter 2 μετρά τις δεκάδες και έχει Presets (0001)= 1 '0' '0' '0' '0' '0' '0' Σχ. 2 Προγραμματιζόμενος count down απαριθμητής Στο παρακάτω σχήμα δείχνεται η προς τα κάτω απαρίθμηση του συστήματος των δύο counters με preset = 12. Σε κάθε ανιούσα παρυφή του clock η τιμή του απαριθμητή μειώνεται κατά ένα. Κάθε τιμή του απαριθμητή διαρκεί μία περίοδο του clock εκτός από την τιμή 0 και 12 (preset τιμή). Η τιμή 0 διαρκεί όσο το clock είναι 1 και η τιμή 12 εμφανίζεται όσο το clock είναι 0. Έτσι ο απαριθμητής εμφανίζει συνολικά 13 καταστάσεις (από 0 έως και 12) μέσα σε 12 περιόδους του clock. 4 3 2 1 0 2 1 0 9 8 7 6 5 4 1 0 1 0 2 Σχ. 3 Ακολουθία απαρίθμησης count down Στο παρακάτω σχήμα δείχνεται η λεπτομέρεια γύρω από το σήμα ( 2) 1 0 2 1 1 2 0 1 Σχ. 4 Λεπτομέρεια της διαδικασίας Η πίπτουσα παρυφή του θέτει το 1 σε Low μετά από χρόνο Τd Η πίπτουσα παρυφή του 1 θέτει το 2 σε Low μετά από χρόνο Τd Επειδή το 2 είναι Low οι counters γίνονται preset στο 12 Επειδή το περιεχόμενο των counters είναι διάφορο από το μηδέν τα 1 και 2 πηγαίνουν σε High μετά από χρόνο Τ 3/9
Ο απαριθμητής είναι δυνατόν να δεχθεί την ανιούσα παρυφή στην είσοδο μετά από χρόνο T SH (Setup Hold time). Ο χρόνος αυτός απαιτείται ώστε τα κυκλώματα που δέχονται τον παλμό 2 να σταθεροποιήσουν την κατάστασή τους. Αυτός είναι και ο λόγος που η ανιούσα παρυφή του 1 δεν απαριθμείται αμέσως μετά το. Έτσι από την πίπτουσα παρυφή του Clk μέχρι την επόμενη ανιούσα παρυφή το χρονικό διάστημα που θα μεσολαβήσει είναι Κ Τd + T + T SH. (Όπου Κ είναι ο αριθμός των counters που χρησιμοποιούνται στο σύστημα του απαριθμητή). Συνεπώς η μέγιστη συχνότητα καλής λειτουργίας για το σύστημα των counters είναι: F max = 1 2 T LOA T SH ( K Td + + ) 4/9
Count Up Απαρίθμηση Η συνδεσμολογία του counter 74192 για count up απαρίθμηση 12 καταστάσεων δείχνεται στο παρακάτω σχήμα. Παρατηρείστε ότι ο counter 1 μετρά τις μονάδες και πρέπει να έχει Presets (0111)= 7 και ότι ο counter 2 μετρά τις δεκάδες πρέπει να έχει Presets (1000)= 8 '0' '0' '0' '0' Σχ. 5 Προγραμματιζόμενος count up απαριθμητής Παρόμοια είναι η λειτουργία του συστήματος στην προς τα άνω απαρίθμηση. Παρατηρείστε ότι οι κυματομορφές είναι ίδιες. Μόνο οι τιμές των counters είναι διαφορετικές. Όμως και εδώ μπορούμε να παρατηρήσουμε ότι το άθροισμα των τιμών τους είναι πάντα εννέα (9). Επιπλέον πρέπει να τονιστεί ότι για την απαρίθμηση Ν παλμών η τιμή που πρέπει να τεθεί στα presets των counter είναι η 9-Ν. Για παράδειγμα, για να απαριθμήσουμε 12 παλμούς πρέπει να θέσουμε στα presets του απαριθμητή την τιμή 99-12=87, δηλαδή την τιμή 8 στον counter που μετρά τις δεκάδες και την τιμή 7 στον counter που μετρά τις μονάδες. Στο παρακάτω σχήμα δείχνεται η προς τα κάτω απαρίθμηση του συστήματος των δύο counters με preset = 87 5 6 7 8 9 7 8 9 0 1 2 3 4 5 1 9 8 9 2 Σχ. 6 Ακολουθία απαρίθμησης count up Στο παρακάτω σχήμα δείχνεται η λεπτομέρεια γύρω από το σήμα ( 2) 8 9 7 8 1 2 9 8 Σχ. 7 Λεπτομέρεια της διαδικασίας Η πίπτουσα παρυφή του θέτει το 1 σε Low μετά από χρόνο Τd 5/9
Η πίπτουσα παρυφή του 1 θέτει το 2 σε Low μετά από χρόνο Τd Επειδή το 2 είναι Low οι counters γίνονται preset στο 87 Επειδή το περιεχόμενο των counters είναι διάφορο από το μηδέν τα 1 και 2 πηγαίνουν σε High μετά από χρόνο Τ Παρατηρείστε ότι και στις δύο περιπτώσεις ο παλμός που αρχικοποιεί τους counters () είναι πολύ μικρός. Έτσι είναι δυνατόν κάποιο από τα Flip-Flops να μην μπορέσει να τεθεί στην κατάσταση που πρέπει με αποτέλεσμα την λανθασμένη λειτουργία του συστήματος. Το πρόβλημα αυτό αντιμετωπίζεται με την προσθήκη ενός πυκνωτή στην γραμμή που αυξάνει τον χρόνο που η τάση είναι σε χαμηλή στάθμη. Ακόμα μία μέθοδος που λύνει το παραπάνω πρόβλημα ενώ ταυτόχρονα αυξάνει σημαντικά την συχνότητα καλής λειτουργίας του συστήματος παρουσιάζετε παρακάτω. 6/9
Απαριθμητής με την τεχνική Early ecode Η τεχνική Early ecode έγκειται στη πρώιμη αναγνώριση της επερχόμενης κατάστασης στην οποία πρέπει να αντιδράσει το κύκλωμα σύγχρονα με την παρυφή του. Μία τέτοια τεχνική εφαρμόζεται στους σύγχρονους απαριθμητές. Σήμερα τα περισσότερα ακολουθιακά κυκλώματα εφαρμόζουν τεχνικές Early ecoding. Ένα ιδιαίτερο χαρακτηριστικό των κυκλωμάτων με αυτή την τεχνική είναι ότι το είναι κοινό σε όλα τα Flip Flops και ότι οι άλλες είσοδοι των Flip Flops προέρχονται από συνδυαστικά κυκλώματα που ελέγχουν την προηγούμενη κατάσταση του κυκλώματος. Count own Απαρίθμηση Στο παρακάτω σχήμα δείχνεται η τοπολογία του κυκλώματος με την Early ecode τεχνική στην Count own απαρίθμηση. Ο παλμός προκύπτει από την δειγματοληψία της τιμής του απαριθμητή και έχει διάρκεια ίση με την περίοδο του ρολογιού. '0' '0' '0' '0' '0' '0' Ck Σχ. 8 Προγραμματιζόμενος count down απαριθμητής με την τεχνική Early decode Στο παρακάτω σχήμα δείχνεται η λειτουργία του κυκλώματος. Παρατηρείστε ότι ο ψηφιακός συγκριτής ανιχνεύει την τιμή 2 θέτοντας την είσοδο του Flip-Flop σε χαμηλή στάθμη. Η στάθμη αυτή δειγματοληπτείται σε κάθε ανιούσα παρυφή του ρολογιού και συνεπώς εμφανίζεται σε χαμηλή στάθμη την χρονική περίοδο που ο απαριθμητής θα έδειχνε την τιμή 1. Έτσι κατά αυτή την χρονική περίοδο ο απαριθμητής φορτώνεται με την τιμή των Presets. 4 3 2 2 1 0 9 8 7 6 5 4 0 1 0 Borrow 1 Σχ. 9 Ακολουθία απαρίθμησης count down Στο παρακάτω σχήμα δείχνεται σε μεγέθυνση η διαδικασία φόρτωσης του απαριθμητή. 7/9
2 1 2 0 1 Σχ. 10 Λεπτομέρεια της διαδικασίας Η ανιούσα παρυφή του ρολογιού ξεκινά την παρακάτω διαδικασία: Η ανιούσα παρυφή του θέτει ταυτόχρονα το σε Low και τον στην τιμή 1 μετά από χρόνο Τd Επειδή το είναι Low οι counters γίνονται preset στο 12 μετά από χρόνο Τd, και ταυτόχρονα, επειδή ο δεν είναι 2 το γίνεται 1 Επειδή ο παλμός εξόδου του Flip Flop είναι σύγχρονος με την ανιούσα παρυφή του, ο παλμός που σταματά την φόρτωση των Presets (θέτει το = 1 ) δεν απαριθμείται. Στο παρακάτω σχήμα δείχνεται σε μεγέθυνση η λεπτομέρεια αυτή: 2 1 Σχ. 11 Λεπτομέρεια στο τέλος της διαδικασίας Παρατηρείστε ότι η ανιούσα παρυφή του βρίσκει τους counters σε κατάσταση, αφού το είναι 0. Εξ αιτίας αυτής της παρυφής το μετά από μία μικρή καθυστέρηση γίνεται 1 και συνεπώς οι Counters θα μπορέσουν να μετρήσουν την επόμενη παρυφή. Η μέγιστη συχνότητα καλής λειτουργίας στον απαριθμητή με την μέθοδο του Early ecode είναι ανεξάρτητη από τον αριθμό των Counters που χρησιμοποιούνται στον απαριθμητή και ισούται με 1/(4Td). Συνεπώς η τεχνική Early ecode βελτιώνει σημαντικά τις επιδώσεις του απαριθμητή αλλά απαιτεί περισσότερες πύλες για την υλοποίησή της. 8/9
Count Up απαρίθμηση Κατ αντιστοιχία, για την υλοποίηση του Count Up απαριθμητή με την τεχνική Early ecode θα πρέπει να ανιχνεύεται συμπληρωματική ως προς 2 τιμή, δηλαδή η τιμή 99-2=97. '0' '0' '0' '0' Ck Σχ. 12 Προγραμματιζόμενος count up απαριθμητής Οι κυματομορφές που παρατηρούνται στον Count Up απαριθμητή 12 καταστάσεων δίδονται στο παρακάτω σχήμα: 5 6 7 7 8 9 0 1 2 3 4 5 9 8 9 Carry 1 Σχ. 13 Ακολουθία απαρίθμησης count up Μπορείτε να διαπιστώσετε ότι οι κυματομορφές είναι ίδιες με αυτές που ισχύουν στην Count own απαρίθμηση και ότι οι αριθμοί που εμφανίζονται στους Counters είναι συμπληρωματικοί ως προς το 9. Οι ίδιες κυματομορφές εμφανίζονται και στην μεγέθυνση της στιγμής του : 7 8 7 9 8 Σχ. 14 Λεπτομέρεια της διαδικασίας 9/9
SN54192, SN54LS192, SN74192, SN74LS192 SYNCHRONOUS 4-BIT UP/OWN COUNTERS (UAL CLOCK WITH CLEAR) SLS074 ECMEBER 1972 REVISE MARCH 1988 2 POST OFFICE BOX 655303 ALLAS, TEXAS 75265
SN54192, SN54LS192, SN74192, SN74LS192 SYNCHRONOUS 4-BIT UP/OWN COUNTERS (UAL CLOCK WITH CLEAR) SLS074 ECMEBER 1972 REVISE MARCH 1988 POST OFFICE BOX 655303 ALLAS, TEXAS 75265 5