Διαφάνειες Νο 4

Πίνακες διέγερσης των flip-flops
Στην παράγραφο 2 είδαµε τους χαρακτηριστικούς πίνακες των διαφόρων τύπων flip-flops.
Αυτοί ορίζουν τις λογικές ιδιότητες των flip-flops και χαρακτηρίζουν πλήρως τη λειτουργία
τους.
Τα flip-flops που βρίσκουµε σε chips στο εµπόριο ορίζονται, µερικές φορές, µε λίγο
διαφορετικούς χαρακτηριστικούς πίνακες.
Στον πίνακα 1 βλέπουµε αυτή τη δεύτερη µορφή χαρακτηριστικών πινάκων για τα flip-flops
τύπου RS, JK, D, .και Τ.
Ο πίνακας 1 δίνει την κατάσταση του κάθε flip-flop σαν συνάρτηση των εισόδων του και της
προηγούµενης του κατάστασης.
Με Q(t) συµβολίζουµε την παρούσα κατάσταση και µε Q(t+ 1) την επόµενη κατάσταση —
µετά τον παλµό του ρολογιού.
1
Πίνακας 1
Για το flip-flop τύπου RS, ο πίνακας δείχνει ότι η επόµενη κατάσταση ισούται µε την
παρούσα, όταν οι είσοδοι είναι S = R = 0. Όταν R = 1, ο επόµενος παλµός του ρολογιού
µηδενίζει το flip-flop, ενώ όταν S=1 το θέτει. Όταν S=R=1, το ερωτηµατικό που βλέπουµε
στον πίνακα δείχνει απροσδιόριστη επόµενη κατάσταση.
Ο πίνακας του flip-flop τύπου JK είναι ίδιος µε τον προηγούµενο, αν αντικαταστήσουµε το
S µε το J και το R µε το Κ, εκτός από την περίπτωση απροσδιοριστίας.
Όταν J = Κ = 1, η επόµενη κατάσταση είναι το συµπλήρωµα. της παρούσας:
Q(t+1)=
Q'(t)
Για το flip-flop τύπου D η επόµενη κατάσταση καθορίζεται πλήρως από την είσοδο D και
είναι ανεξάρτητη από την παρούσα κατάσταση.
Για το flip-flop τύπου Τ, η επόµενη κατάσταση είναι ίδια µε την παρούσα αν Τ=0 και το
συµπλήρωµα της αν T= 1.
2
Ο χαρακτηριστικός πίνακας είναι χρήσιµος για τον ορισµό της λειτουργίας ενός flip-flop
και για την ανάλυση κυκλωµάτων. Μας καθορίζει τη ν επόµενη κατάσταση, όταν ξέρουµε
την παρούσα και τις εισόδους.
Κατά τη σχεδίαση κυκλωµάτων, όµως, συνήθως ξέρουµε τη µετάβαση από την παρούσα
στην επόµενη κατάσταση και θέλουµε να βρούµε τις συνθήκες εισόδου του flip-flop που θα
την πραγµατοποιήσουν.
Για το σκοπό αυτό χρειαζόµαστε ένα πίνακα που να δίνει τις απαιτούµενες είσοδες για
ορισµένη αλλαγή της κατάστασης. Αυτός λέγεται πίνακας διέγερσης ("excitation table").
Οι πίνακες διέγερσης των τεσσάρων τύπων flip-flops δίνονται στον πίνακα 2.
Οι πίνακες αυτοί έχουν δύο στήλες για τα Q(t) και Q(t + 1) και µια στήλη για κάθε είσοδο,
η οποία και δείχνει πώς να επιτευχθεί η επιθυµητή µετάβαση.
Υπάρχουν τέσσερις δυνατές µεταβάσεις από παρούσα σε επόµενη κατάσταση. Από το
χαρακτηριστικό πίνακα του κάθε flip-flop, βρίσκουµε τις απαιτούµενες συνθήκες εισόδου
για κάθε µια από τις τέσσερις µεταβάσεις. Το σύµβολο Χ παριστάνει έναν αδιάφορο όρο,
δηλαδή δεν πειράζει αν η αντίστοιχη είσοδος είναι 1 ή 0.
Flip-flop τύπου RS
Ο πίνακας 2(α) είναι ο πίνακας διέγερσης του flip-flop τύπου RS.
3
Πίνακας 2
Στην πρώτη γραµµή, το flip-flop είναι στην κατάσταση 0 στο χρόνο t και θέλουµε να µείνει
στην κατάσταση αυτή και µετά τον παλµό.
Απ'το χαρακτηριστικό πίνακα βλέπουµε ότι αν S= R=0, το flip-flop δε θ'αλλάξει
κατάσταση. Άρα πρέπει νάχουµε S=R=0.
Όµως, στην πραγµατικότητα, δεν πειράζει αν το R γίνει και 1, δεδοµένου ότι κάτι τέτοιο θα
φέρει (δηλαδή θ'αφήσει) το flip-flop στην κατάσταση 0. Άρα το R µπορεί να είναι, είτε 1.
είτε 0 και γι'αυτό σηµειώνουµε Χ.
Στη δεύτερη γραµµή, το flip-flop είναι στην κατάσταση 0 και θέλουµε να πάει στην 1. Από
το χαρακτηριστικό πίνακα βρίσκουµε ότι ο µόνος τρόπος να το πετύχουµε είναι να κάνουµε
το S=1 και το R=0.
4
Στην τρίτη γραµµή, για τη µετάβαση από την κατάσταση 1 στην 0, πρέπει να έχουµε S=0
και R= 1.
Τελικά, έστω ότι το flip-flop είναι στην κατάσταση 1 και θέλουµε να µείνει σε αυτήν.
Οπωσδήποτε, το R πρέπει να είναι 0, αφού δε θέλουµε να µηδενίσουµε το flip-flop. Το
S όµως µπορεί να είναι, είτε 0, είτε 1
Στην πρώτη περίπτωση, η κατάσταση του flip-flop µένει αµετάβλητη, ενώ στη δεύτερη
το flip-flop τίθεται στην κατάσταση 1, αυτό δηλαδή που θέλαµε. Γι' αυτό το S
εµφανίζεται σαν αδιάφορος όρος.
Flip-flop τύπου JK
Ο πίνακας 2(β) είναι ο πίνακας διέγερσης του flip-flop τύπου JK. Όταν και η παρούσα
και η επόµενη κατάσταση είναι 0, το J πρέπει να είναι 0, αλλά το Κ δεν έχει σηµασία τι
θα είναι.
Αντίστοιχα, όταν και η παρούσα και η επόµενη κατάσταση είναι 1, το Κ πρέπει να είναι
0, ενώ το J δεν έχει σηµασία τι θα είναι.
Τώρα, αν το flip-flop θέλουµε ν'αλλάξει κατάσταση από την 0 στην 1, το J πρέπει να
είναι 1, αφού αυτό είναι που θέτει το flip-flop. Το Κ όµως µπορεί να είναι είτε 0 είτε 1
Εάν Κ=0, τότε J=1 θέτει το flip-flop στην κατάσταση 1
5
Εάν Κ= 1 και J=1, τότε το flip-flop αλλάζει κατάσταση, και, αφού ήταν στην 0,
πηγαίνει στην 1. Έτσι, για τη µετάβαση 0-προς-1, η είσοδος K σηµειώνεται σαν
αδιάφορος όρος.
Για τη µετάβαση από την κατάσταση 1 στην 0, πρέπει Κ=1, αφού το Κ είναι που
µηδενίζει το flip-flop. Απ'την άλλη µεριά, το J µπορεί να είναι είτε 0 είτε 1, αφού το
J=0 δεν κάνει τίποτα, ενώ το J=1 µαζί µε το Κ = 1 αντιστρέφει το flip-flop και
εποµένως το φέρνει από το 1 στο 0.
Από τον πίνακα διέγερσης του flip-flop τύπου JK φαίνονται τα πλεονεκτήµατα της
χρήσης αυτού του τύπου στη σχεδίαση ακολουθιακών κυκλωµάτων. ∆εδοµένου ότι
έχει τόσο πολλούς αδιάφορους όρους, τα συνδυαστικά κυκλώµατα για τις
συναρτήσεις εισόδου είναι πολύ. πιθανό να είναι απλούστερα, αφού οι αδιάφοροι
όροι γενικά τείνουν να απλοποιούν τις συναρτήσεις.
Flip-flop τύπου D
Ο πίνακας 2 (γ) είναι ο πίνακας διέγερσης του flip-flop τύπου D.
Από το χαρακτηριστικό του πίνακα (πίνακας 1 (γ)), παρατηρούµε ότι η
επόµενη κατάσταση ισούται πάντα µε την είσοδο D, και είναι ανεξάρτητη από
την παρούσα κατάσταση.
6
Εποµένως, εάν η Q(t+1) πρέπει να είναι 0, τότε και η D πρέπει να είναι 0 και
εάν Q(t+ 1)= 1 τότε πρέπει και D == 1 — όλα αυτά ανεξάρτητα από την
τιµή της Q(t).
Flip-flop τύπου Τ
Ο πίνακας 2(δ) είναι ο πίνακας διέγερσης του flip-flop τύπου Τ.
Από το χαρακτηριστικό πίνακα 1(δ), βλέπουµε ότι όταν Τ=1 η.
κατάσταση αντιστρέφεται, ενώ όταν Τ=0 µένει αµετάβλητη. Άρα, όταν
θέλουµε η κατάσταση του flip-flop να µείνει η ίδια πρέπει Τ=0, ενώ όταν
θέλουµε να αλλάξει πρέπει Τ=1.
Αλλα Flip-flops
Η µέθοδος σχεδίασης που περιγράφεται στο παρόν κεφάλαιο µπορεί να
χρησιµοποιηθεί µε οποιονδήποτε τύπο flip-flop.
Χρειάζεται να γνωρίζουµε το χαρακτηριστικό πίνακα του flip-flop από
τον οποίο µπορεί να προκύψει ο πίνακας διέγερσής του. Στη συνέχεια, ο
πίνακας διέγερσης χρησιµοποιείται για να βρεθούν οι συναρτήσεις
εισόδου
του
flip-flop,
όπως
θα
εξηγηθεί
παρακάτω.
7
Μέθοδος σχεδίασης
Η σχεδίαση ενός ακολουθιακού κυκλώµατος µε ρολόϊ αρχίζει µε ένα σύνολο
προδιαγραφών και τελειώνει µε ένα λογικό διάγραµµα ή µε µερικές
συναρτήσεις Boole από τις οποίες µπορεί να προκύψει το λογικό διάγραµµα.
Ενώ ένα συνδυαστικό κύκλωµα περιγράφεται πλήρως µε τον πίνακα αλήθειας
του, ένα ακολουθιακό κύκλωµα χρειάζεται τον πίνακα καταστάσεών του για
να περιγραφεί ολοκληρωτικά.
Το πρώτο βήµα στη σχεδίαση ενός ακολουθιακού κυκλώµατος είναι το να
βρούµε τον πίνακα καταστάσεων του ή κάποιαν άλλη ισοδύναµη
αναπαράσταση, όπως το διάγραµµα ή οι εξισώσεις καταστάσεων.
Ένα σύγχρονο ακολουθιακό κύκλωµα αποτελείται από flip-flops και
συνδυαστικές πύλες. Η σχεδίαση του κυκλώµατος συνίσταται στην επιλογή
των flip-flops και µετά, στην εύρεση ενός δικτύου συνδυαστικών πυλών το
οποίο, µαζί µε τα flip-flops, θα δώσει ένα κύκλωµα που να ικανοποιεί τις
τεθείσες προδιαγραφές.
Το πλήθος των flip-flops καθορίζεται από το πλήθος των καταστάσεων που
χρειάζονται στο κύκλωµα.
Το συνδυαστικό κύκλωµα, το βρίσκουµε από τον πίνακα καταστάσεων, µε
µεθόδους που παρουσιάζονται σε αυτό το κεφάλαιο.
8
Μόλις αποφασιστεί το πλήθος και ο τύπος των flip-flops, η υπόλοιπη
σχεδίαση γίνεται µε ένα µετασχηµατισµό από το ακολουθιακό πρόβληµα σε
ένα συνδυαστικό πρόβληµα.
Έτσι, µπορούµε να εφαρµόσουµε τις τεχνικές της σχεδίασης συνδυαστικών
κυκλωµάτων.
Σε αυτή την παράγραφο δίνετε µια διαδικασία για τη σχεδίαση ακολουθιακών κυκλωµάτων. Σκοπός της είναι να χρησιµεύσει σαν οδηγός για τους
αρχάριους, κι έτσι, µε τον καιρό και µε την εµπειρία µπορεί κανείς να τη
συντοµέψει.
Πρώτα δίνετε ο κατάλογος των διαδοχικών βηµάτων:
1. Περιγράφουµε φραστικά την επιθυµητή συµπεριφορά του κυκλώµατος.
Αυτή µπορεί να συνοδεύεται από ένα διάγραµµα καταστάσεων,
διάγραµµα χρονισµού ή άλλες σχετικές πληροφορίες.
2. Από τα παραπάνω στοιχεία, βρίσκουµε τον πίνακα καταστάσεων.
3. Πιθανόν να µπορούµε να κάνουµε ελαχιστοποίηση καταστάσεων, εάν
αυτό που µας ενδιαφέρει είναι οι σχέσεις εισόδου-εξόδου, ανεξάρτητα
από τον αριθµό των καταστάσεων.
9
4. Κωδικοποιούµε τις καταστάσεις µε δυαδικές τιµές, εάν ο πίνακας καταστάσεων (από τα βήµατα 2 ή 3) περιέχει αλφαβητικά σύµβολα.
5. Βρίσκουµε πόσα flip-flops χρειάζονται και δίνουµε στο καθένα ένα
γράµµα για σύµβολο του.
6. ∆ιαλέγουµε τι τύπου flip-flops θα χρησιµοποιήσουµε.
7. Από τον πίνακα καταστάσεων, βρίσκουµε τους πίνακες διέγερσης και
εξόδων του κυκλώµατος.
8. Χρησιµοποιώντας χάρτες ή οποιαδήποτε άλλη µέθοδο απλοποίησης,
βρίσκουµε τις συναρτήσεις των flip-flops.
9. Σχεδιάζουµε το λογικό διάγραµµα.
Η φραστική περιγραφή της συµπεριφοράς του κυκλώµατος συνήθως
υποθέτει ότι ο αναγνώστης της είναι εξοικειωµένος µε την τεχνική
ορολογία των ψηφιακών συστηµάτων.
Οι φραστικές περιγραφές κυκλωµάτων µπορεί συχνά να µην είναι
πλήρεις και ακριβείς, κι έτσι µπορεί ο σχεδιαστής να πρέπει να
χρησιµοποιήσει τη διαίσθηση και την εµπειρία του για να φτάσει στη
σωστή ερµηνεία των προδιαγραφών.
10
Πάντως, µόλις αυτές οι προδιαγραφές µεταφραστούν σε πίνακα
καταστάσεων, από κει και πέρα µπορούµε να εφαρµόσουµε την
επίσηµη διαδικασία σχεδίασης που περιγράφετε εδώ.
Η ελαχιστοποίηση και η κωδικοποίηση των καταστάσεων συζητήθηκαν
στα προηγούµενα. Στα παραδείγµατα που ακολουθούν, υποθέτουµε ότι
ο αριθµός των καταστάσεων και ο δυαδικός κώδικας της καθεµιάς είναι
γνωστά. Έτσι, παρακάτω, δε θα ασχοληθούµε µε τα βήµατα 3 και 4.
Όπως έχουµε ήδη πει, το πλήθος των flip-flops καθορίζεται από το
πλήθος των καταστάσεων.
Σ'ένα κύκλωµα, µπορεί να υπάρχουν αχρησιµοποίητες δυαδικές
καταστάσεις αν το πλήθος των χρησιµοποιούµενων καταστάσεων δεν
είναι δύναµη του 2.
Οι αχρησιµοποίητες αυτές καταστάσεις είναι αδιάφοροι όροι κατά τη
σχεδίαση του συνδυαστικού µέρους του κυκλώµατος
Υπό την προϋπόθεση βέβαια ότι στο κύκλωµα δίνουµε πάντα
προσεχτικά την αρχική του κατάσταση, ώστε ποτέ να µην βρεθεί σε µια
από αυτές τις αχρησιµοποίητες καταστάσεις.
11
Ο τύπος των flip-flops που θα χρησιµοποιηθούν µπορεί να
περιλαµβάνεται στις προδιαγραφές του κυκλώµατος ή µπορεί να
εξαρτάται από το τι είναι διαθέσιµο στο σχεδιαστή.
Πολλά ψηφιακά συστήµατα κατασκευάζονται ολόκληρα µε flip-flops
τύπου JK. γιατί είναι τα πιο ευέλικτα στη σχεδίαση.
Όταν υπάρχει δυνατότητα επιλογής του τύπου των flip-flops,
συνιστάται να χρησιµοποιεί κανείς τους τύπους RS ή D για εφαρµογές
που χρειάζονται µεταφορά δεδοµένων (όπως καταχωρητές ολίσθησης),
τον τύπο Τ για εφαρµογές που έχουν µέσα τους αντιστροφές (όπως π.χ.
οι δυαδικοί µετρητές) και τον τύπο JK για άλλες, γενικές εφαρµογές.
Οι συναρτήσεις εξόδου του κυκλώµατος µπορούν να βρεθούν από το
τµήµα εξόδου του πίνακα καταστάσεων.
Ο πίνακας διέγερσης του κυκλώµατος είναι παρόµοιος µε αυτούς των
µεµονωµένων flip-flops, µόνο που οι συνθήκες εισόδου καθορίζονται
από τις πληροφορίες που περιέχει ο πίνακας καταστάσεων στις στήλες
παρούσας και επόµενης κατάστασης,.
Θα δώσουµε ένα παράδειγµα για να δείξουµε καλύτερα πως
βρίσκουµε τον πίνακα διέγερσης και τις συναρτήσεις εισόδου των flipflops.
12
θέλουµε να σχεδιάσουµε το ακολουθιακό κύκλωµα µε ρολόι του
οποίου το διάγραµµα καταστάσεων δίνεται στο σχήµα 1. Να
χρησιµοποιηθούν flip-flops τύπου JK.
Το
διάγραµµα
καταστάσεων
περιέχει
τέσσερις
καταστάσεις,
κωδικοποιηµένες ήδη σε δυαδικές τιµές.
Αφού πάνω στα βέλη υπάρχει ένα µόνο δυαδικό ψηφίο, χωρίς «/»,
συµπεραίνουµε ότι υπάρχει µία µόνο µεταβλητή εισόδου και καµία
µεταβλητή εξόδου.
Άρα, η ίδια η κατάσταση των flip-flops πρέπει να θεωρηθεί σαν έξοδος
του κυκλώµατος.
Σχήµα 1: διάγραµµα καταστάσεων
13
Ας ονοµάσουµε Α και Β τα δύο flip-flops που χρειάζονται για να
αναπαραστήσουν τις τέσσερις καταστάσεις και ας ονοµάσουµε x τη
µεταβλητή εισόδου.
Ο πίνακας 3 είναι ο πίνακας καταστάσεων αυτού του κυκλώµατος, όπως
βγαίνει από το διάγραµµα καταστάσεων. Παρατηρείστε ότι δεν
υπάρχει µέρος εξόδου για αυτό το κύκλωµα.
Παρούσα
Κατάσταση
Επόµενη κατάσταση
x=0
x=1
Α
Β
Α
Β
Α
Β
0
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
Πίνακας 3
Θα δούµε τώρα πώς να βρίσκουµε τον πίνακα διέγερσης και το
συνδυαστικό κύκλωµα.
Η εύρεση του πίνακα διέγερσης διευκολύνεται εάν ξαναφτιάξουµε τον
πίνακα καταστάσεων µε διαφορετική µορφή.
14
Στον πίνακα 4 βλέπουµε αυτή τη διαφορετική µορφή, όπου την
παρούσα κατάσταση και τις µεταβλητές εισόδου τις έχουµε βάλει µαζί,
µε τον ίδιο τρόπο όπως και το αριστερό µέρος ενός πίνακα αλήθειας.
Το ποια είναι η επόµενη κατάσταση, για κάθε συνδυασµό παρούσας
κατάστασης και εισόδων, το αντιγράφουµε από τον πίνακα 3.
Είσοδοι του συνδυαστικού
κυκλώµατος
Παρούσα
κατάσταση
Έξοδοι του συνδυαστικού
κυκλώµατος
. Είσοδοι των flip-flop
Επόµενη
κατάσταση
Είσοδος
Α
Β.
x
Α
Β
JA
ΚΑ
JB
KB
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
Χ
Χ
Χ
Χ
Χ
Χ
Χ
Χ
0
0
0
1
0
1
Χ
Χ
0
1
Χ
Χ
Χ
Χ
1
0
Χ
Χ
0
1
Πίνακας 4: Πίνακας διέγερσης
Ο πίνακας διέγερσης ενός κυκλώµατος είναι ένας κατάλογος των
συνθηκών εισόδου των flip-flops οι οποίες θα προκαλέσουν τις
επιθυµητές µεταβολές καταστάσεων,
15
Οι συνθήκες αυτές εξαρτώνται και από τον τύπο των flip-flops.
Σε αυτό το παράδειγµα, οι προδιαγραφές ήταν για flip-flops τύπου JK,
άρα χρειαζόµαστε στήλες για τις εισόδους J και Κ του flip-flop Α (τις
JA και ΚΑ}, καθώς και για αυτές του flip-flop Β (τις JB και KB).
Ο πίνακας 2(β) ήταν ο πίνακας διέγερσης του flip-flop τύπου JK. Αυτόν,
θα τον χρησιµοποιήσουµε τώρα για να βρούµε τον πίνακα διέγερσης
του κυκλώµατος.
Για παράδειγµα, στην πρώτη σειρά του πίνακα 4 βλέπουµε ότι το flipflop Α πηγαίνει από παρούσα κατάσταση 0 σε επόµενη κατάσταση
επίσης 0.
Από τον πίνακα 2(β) βρίσκουµε ότι για τη µετάβαση καταστάσεων από
0 σε 0 χρειαζόµαστε J=0 και Κ=Χ.
Έτσι, στην πρώτη γραµµή, κάτω από τα JA και ΚΑ, γράφουµε 0 και Χ.
Στην πρώτη γραµµή έχουµε επίσης το flip-flop Β που πηγαίνει από
κατάσταση 0 σε επίσης 0, άρα γράφουµε 0 και Χ και κάτω από τα JB
και ΚΒ.
16
Στη δεύτερη γραµµή του πίνακα 4, το flip-flop Β αλλάζει από
κατάσταση 0 σε επόµενη κατάσταση 1.
Από τον πίνακα 2(β) βρίσκουµε ότι µια τέτοια µετάβαση χρειάζεται
J=1 και Κ=Χ. κι έτσι γράφουµε 1 και Χ στη δεύτερη γραµµή, κάτω
από τα JB και KB, αντίστοιχα.
Συνεχίζουµε αυτή τη διαδικασία και για τον υπόλοιπο πίνακα,
παίρνοντας στοιχεία από τον πίνακα 2(β) και συµπληρώνοντας µε αυτά
τις κατάλληλες γραµµές και στήλες.
Ας σταθούµε τώρα προς στιγµήν και ας µελετήσουµε τις πληροφορίες
πού µας είναι διαθέσιµες από ένα πίνακα διέγερσης όπως ο πίνακας 4.
Ξέρουµε ότι ένα ακολουθιακό κύκλωµα αποτελείται από ορισµένα flipflops κι από ένα συνδυαστικό κύκλωµα.
Το σχήµα 2 δείχνει τα δύο flip-flops τύπου JK που χρειάζεται το
κύκλωµα µας εδώ, καθώς κι ένα κουτί που παριστάνει το συνδυαστικό
κύκλωµα.
17
Εξωτερικές
Έξοδοι
(καµιά
εδώ)
Σχήµα 2: Σχηµατικό διάγραµµα του ακολουβιακού κυκλώµατος
Από αυτό το διάγραµµα φαίνεται ότι οι έξοδοι του συνδυαστικού
κυκλώµατος αποτελούν τις εισόδους των flip-flops καθώς και τις
εξωτερικές εξόδους (εάν υπάρχουν).
Οι είσοδοι του συνδυαστικού κυκλώµατος είναι οι εξωτερικές είσοδοι,
καθώς και η παρούσα κατάσταση των flip-flops.
Κάθε συνδυαστικό κύκλωµα περιγράφεται πλήρως από τον πίνακα
αλήθειας του, εάν προσέξουµε δε καλά θα δούµε ότι ο πίνακας αλήθειας
του εδώ συνδυαστικού µας κυκλώµατος υπάρχει µέσα στον πίνακα
διέγερσης.
18
Οι είσοδoi του συνδυαστικού µας κυκλώµατος βρίσκονται στις στήλες
της παρούσας κατάστασης και των εξωτερικών εισόδων και οι έξοδοι
του συνδυαστικού µας κυκλώµατος βρίσκονται στις στήλες των εισόδων
των flip-flops.
Εποµένως ο πίνακας διέγερσης µετατρέπει το διάγραµµα καταστάσεων
ενός ακολουθιακού κυκλώµατος στον πίνακα αλήθειας του συνδυαστικού
µέρους του κυκλώµατος, από τον οποίον και µπορεί το τελευταίο αυτό
να σχεδιαστεί.
Τώρα µπορούµε να βρούµε τις απλοποιηµένες συναρτήσεις Boole του
συνδυαστικού κυκλώµατος. Οι είσοδοί του είναι οι µεταβλητές Α, Β και
x.
Oi έξοδoί του είναι οι µεταβλητές JA, ΚΑ, JB και KB. Από τον πίνακα
αλήθειας (πίνακας 4) φτιάχνουµε τους χάρτες του σχήµατος 3, από
όπου και βρίσκουµε τις τέσσερις απλοποιηµένες συναρτήσεις για τις
εισόδους των flip-flops:
JA=Βx'
JB=x
ΚΑ=Βx
KB=AOx
19
Έτσι, τελικά, το λογικό διάγραµµα του ακολουθιακού µας κυκλώµατος είναι αυτό
που φαίνεται στο σχήµα 4 και που αποτελείται από δύο flip-flops, δύο πύλες ΚΑΙ,
µία πύλη ισοδυναµίας και έναν αντιστροφέα.
Σχήµα 3: Χάρτες για το συνδυαστικό kύκλωµα Α
Σχσσσσ
Σχήµα 4
20
Για παράδειγµα, µπορούµε να πάρουµε τις πληροφορίες για τους
χάρτες του σχήµατος 3 κατ'ευθείαν από τον πίνακα 3, χωρίς να
χρειάζεται να φτιάξουµε πρώτα τον πίνακα 4.
Για το σκοπό αυτό, διατρέχουµε τον πίνακα 3 για κάθε
συνδυασµό παρούσας κατάστασης και εισόδου και τα συγκρίνουµε µε την αντίστοιχη επόµενη κατάσταση.
Για κάθε περίπτωση, βρίσκουµε τις απαιτούµενες συνθήκες
εισόδου, όπως καθορίζονται από τον πίνακα διέγερσης 2 του flipflop. Τότε, αντί να βάλουµε το 0, 1 ή Χ που βρήκαµε στον
πίνακα διέγερσης του κυκλώµατος (4), το γράφουµε κατευθείαν
στο κατάλληλο τετράγωνο του κατάλληλου χάρτη.
Έστω πως ένα ακολουθιακό κύκλωµα έχει m flip-flops, k είσοδες
ανά flip-flop, n εξωτερικές εισόδους και j εξωτερικές εξόδους..
Τότε, ο πίνακας διέγερσής του θα αποτελείται από (m+n) στήλες
για την παρούσα κατάσταση και τις εισόδους, m στήλες για την
επόµενη κατάσταση, mk στήλες για ης διεγέρσεις των flip-flops,
θα έχει δε µέχρι 2m+n γραµµές—οργανωµένες µε κάποια βολική
µορφή δυαδικής µέτρησης.
21
Ο πίνακας αλήθειας του συνδυαστικού µέρους του κυκλώµατος
περιέχεται σe αυτόν τον πίνακα διέγερσης και αποτελείται από τις
(m+n) στήλες της παρούσας κατάστασης και των εισόδων, σαν
στήλες εισόδου, και από τις (mk+j) στήλες των εισόδων των flipflops και των εξωτερικών εξόδων, σαν στήλες εξόδου.
Σχεδίαση µε αχρησιµοποίητες καταστάσεις
Ένα κύκλωµα µε m flip-flops έχει 2m καταστάσεις.
Υπάρχουν περιπτώσεις όπου ένα ακολουθιακό κύκλωµα µπορεί να µην
τις χρησιµοποιεί όλες αυτές τις καταστάσεις. Οι καταστάσεις που δε
χρησιµοποιούνται δεν αναγράφονται και στον πίνακα καταστάσεων.
Όταν απλοποιούµε τις συναρτήσεις διέγερσης των flip-flops, οι
αχρησιµοποίητες καταστάσεις µπορούν να θεωρούνται σαν αδιάφοροι
όροι.
22
Παράδειγµα 1:
Αποτελειώστε τη σχεδίαση του ακολουθιακού κυκλώµατος µε το
οποίο ασχοληθήκαµε στην ελαχιστοποίηση και κωδικοποίηση
καταστάσεων. Χρησιµοποιείστε τον ελαχιστοποιηµένο πίνακα
καταστάσεων µε την κωδικοποίηση 1, όπως δόθηκε στον πίνακα
κωδικοποίησης. Χρησιµοποιείστε flip-flops τύπου RS.
Τον ελαχιστοποιηµένο πίνακα καταστάσεων µε την κωδικοποίηση 1,
τον ξαναφτιάχνουµε στον πίνακα 5, στη µορφή που βολεύει για να τον
µετατρέψουµε στον πίνακα διεγέρσεων.
Τις εισόδους των flip-flops τις βρίσκουµε από τις στήλες παρούσας και
επόµενης κατάστασης.
Αφού χρησιµοποιούµε flip-flops τύπου RS, τις διεγέρσεις εισόδου τους
τις παίρνουµε από τον πίνακα 2(α).
Τα τρία flip-flops τα ονοµάσαµε Α. Β και C, τη µεταβλητή · .εισόδου x
και τη µεταβλητή εξόδου y.
Από αυτόν τον πίνακα διέγερσης 5 µπορούµε να πάρουµε όλες τις
πληροφορίες που χρειάζονται για τη σχεδίαση
23
Πίνακας 5: Πίνακας διέγερσης για το Παράδειγµα 1.
Παρούσα
κατάσταση
Επόµενη κατάσταση
Είσοδoi των flip-flop
Έξοδος
Είσοδος
Α
Β
C
x
A Β
C
SA RA SB RB SC RC
y
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
0
1
X
X
0
X
0
0
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
0
X
X
X
0
X
0
0
0
1
0
0
1
X
0
0
0
0
0
0
0
X
0
0
1
1
1
X
X
X
X
X
0
1
0
X
0
1
0
X
0
0
1
0
X
0
1
0
X
0
1
Υπάρχουν τρείς αχρησιµοποίητες καταστάσεις σε αυτό το κύκλωµα:
οι 000, 110 και 111.
Όταν πάρουµε υπόψη µας και τη µεταβλητή εισόδου, βλέπουµε ότι
αυτές δίνουν έξι αδιάφορους ελαχιστόρους — τους 0, 1, 12, 13, 14
και 15.
Αυτοί οι 6 δυαδικοί συνδυασµοί, δε συµπεριλαµβάνονται στον πίνακα
διέγερσης (στήλες παρούσας κατάστασης και εισόδου) και τους
χρησιµοποιούµε σαν αδιάφορους όρους.
Το συνδυαστικό µέρος του ακολουθιακού µας κυκλώµατος το απλοποιούµε µε τους χάρτες του σχήµατος 5.
Υπάρχουν επτά χάρτες εκεί —-έξι για τις συναρτήσεις διέγερσης των
τριών flip-flops και ένας για την έξοδο y.
24
Ο κάθε χάρτης έχει τουλάχιστον έξι Χ, στα έξι τετράγωνα των
αδιάφορων ελαχιστόρων 0, 1, 12,. 13, 14 και 15.
Οι υπόλοιποι αδιάφοροι όροι στους χάρτες προέρχονται από τις
στήλες διέγερσης των flip-flops του πίνακα 5.
Κάτω από κάθε χάρτη δίνεται η απλοποιηµένη συνάρτηση. Το
κύκλωµα που βγαίνει απ'. αυτές τις συναρτήσεις Boole δίνεται στο
σχήµα 6.
Ένα θέµα το οποίο αγνοήσαµε µέχρι στιγµής είναι η αρχική
κατάσταση του ακολουθιακού κυκλώµατος. Όταν ανάβουµε την
τροφοδοσία ενός ψηφιακού συστήµατος, δεν ξέρουµε σε ποια
κατάσταση θα σταθεροποιηθούν τα flip-flops του.
Συχνά, υπάρχει µια είσοδος «γενικής µηδένισης» ("masterreset"), της οποίας ο σκοπός είναι να φέρει τις καταστάσεις όλων
των flip-flops του συστήµατος σε µια γνωστή αρχική τιµή.
25
Σχήµα 5: Χάρτες για την απλοποίηση του κυκλώµατος του παραδείγµατος 1
Συνήθως, η γενική µηδένιση είναι ένα σήµα που εφαρµόζεται σε όλα τα
flip-flops, ασύγχρονα, πριν αρχίσει η κανονική λειτουργία µε το ρολόι.
Στις περισσότερες περιπτώσεις αυτό το σήµα µηδενίζει τα flip-flops, αλλά
µπορεί και µερικά από αυτά να τα θέτει στην κατάσταση 1.
Για παράδειγµα, το κύκλωµα του σχ. 6 µπορεί να θέλουµε να το φέρουµε
στην αρχική κατάσταση ABC = 001, αφού η κατάσταση 000 είναι άκυρη
26
γι'αυτό το κύκλωµα.
Σχήµα 6: Το λογικό διάγραµµα του κυκλώµατος του παραδείγµατος 1.
27
Αλλά, όµως, τι γίνεται αν δεν έχουµε προνοήσει να φέρουµε το κύκλωµα σε µιαν αρχική έγκυρη κατάσταση; Ή, ακόµα χειρότερα, τι γίνεται
αν το κύκλωµα βρεθεί ξαφνικά σε µιαν από τις αχρησιµοποίητες
καταστάσεις του λόγω κάποιου σήµατος θορύβου ή κάποιας άλλης
απρόβλεπτης αιτίας;
Σε αυτές τις περιπτώσεις πρέπει να σιγουρευτούµε ότι το κύκλωµα θα
φτάσει τελικά σε µια από τις έγκυρες καταστάσεις του, ούτως ώστε να
επαναλάβει από εκεί την κανονική του λειτουργία.
Αλλοιώς, εάν το ακολουθιακό κύκλωµα τύχει να αρχίσει να
κυκλοφορεί µεταξύ των αχρησιµοποίητων καταστάσεων του, δε θα
υπάρχει κανένας τρόπος να το επαναφέρουµε στην επιθυµητή ακολουθία καταστάσεων για την οποία σχεδιάστηκε.
Παρόλο που θα µπορούσε κανείς να υποθέσει ότι µια τέτοια
ανεπιθύµητη κατάσταση δε θα συµβεί ποτέ, η αλήθεια είναι πως αργά
ή γρήγορα θα συµβεί (έστω λόγω θορύβου), κι έτσι πρέπει να έχουµε
πάρει τα µέτρα µας εναντίον της.
28
Παραπάνω, τις αχρησιµοποίητες καταστάσεις ενός ακολουθιακού
κυκλώµατος τις θεωρήσαµε σαν αδιάφορους όρους κατά τη σχεδίαση
του.
Από την άλλη µεριά, τα m flip-flops του συστήµατος µπορούν να
βρεθούν σε οποιαδήποτε από τις 2m δυνατές καταστάσεις τους, και,
µετά τη σχεδίαση του κυκλώµατος, µπορούµε να το αναλύσουµε και
να δούµε τι όντως συµβαίνει µ'αυτές τις καταστάσεις που αρχικά
θεωρήσαµε αχρησιµοποίητες.
Από αυτή την ανάλυση θα βρούµε τις «επόµενες καταστάσεις» µετά από
«παρούσες αχρησιµοποίητες καταστάσεις».
Είναι πάντα φρόνιµο να αναλύει κανείς το κύκλωµα που µόλις
σχεδίασε, για να σιγουρευτεί ότι συµπεριφέρεται όντως κατά τον
επιθυµητό τρόπο, δηλαδή ότι δεν έχουν γίνει λάθη κατά τη
σχεδίαση.
29
Παράδειγµα 2: Αναλύστε το ακολουθιακό κύκλωµα που βρήκαµε στο
παράδειγµα 6-1 και βρείτε τις συνέπειες των αχρησιµοποίητων
καταστάσεων.
Οι αχρησιµοποίητες καταστάσεις είναι οι 000, 110 και 111.
Την ανάλυση θα την κάνουµε µε τη µέθοδο που είδαµε όταν συζητήσαµε
την ελαχιστοποίηση και κωδικοποίηση των καταστάσεων.
Οι χάρτες του σχήµατος 5 µπορεί επίσης να µας φανούν χρήσιµοι για
την ανάλυση. Αυτό που θέλουµε εδώ είναι να αρχίσουµε µε το κύκλωµα
του σχήµατος 6 και να βρούµε το διάγραµµα ή .τον πίνακα
καταστάσεων του (για όλες όµως τις καταστάσεις).
Εάν ο πίνακας καταστάσεων που θα βρούµε είναι ίδιος µε τον πίνακα 6
(text3)(ή µε το κατάλληλο κοµµάτι του 5(text4)), τότε θα ξέρουµε ότι η
σχεδίαση έγινε σωστά.
Επιπλέον, θα βρούµε και τις επόµενες καταστάσεις µετά τις
αχρησιµοποίητες 000, 110, και 111.
Οι χάρτες του σχήµατος 5 µπορούν να µας βοηθήσουν να βρούµε την
επόµενη από κάθε αχρησιµοποίητη κατάσταση.
Ας θεωρήσουµε, π.χ. την αχρησιµοποίητη κατάσταση 000.
30
Εάν για κάποιο λόγο το κύκλωµα τύχει να βρεθεί σε παρούσα
κατάσταση 000, τότε µια είσοδος X= 0 θα το πάει σε κάποια επόµενη
κατάσταση και µια είσοδος x =1 θα το πάει σε κάποια άλλη (ή την ίδια)
επόµενη κατάσταση.
Ας κοιτάξουµε πρώτα τον ελαχιστόρο AΒCx=0000.
Από
τους
χάρτες,
βλέπουµε
ότι
αυτός
ο
ελαχιστόρος
δε
συµπεριλαµβάνεται σε καµιά συνάρτηση εκτός µόνο στην SC.
Εποµένως, τα flip-flops Α και Β θα µείνουν αµετάβλητα, ενώ το C θα
τεθεί στην κατάσταση 1.
Αφού η παρούσα κατάσταση είναι ABC=000, η επόµενη θα είναι
ABC=001.
Οι χάρτες επίσης δείχνουν ότι o ελαχιστόρος ABCx=0001
περιλαµβάνεται στις συναρτήσεις SB και RC, άρα το B θα τεθεί σε 1 και
το C θα µηδενιστεί.
Εποµένως, αν στην κατάσταση ABC = 000 η είσοδος είναι x=1, τότε η
επόµενη κατάσταση θα είναι ABC = 010 (το C είναι ήδη 0). Ο χάρτης
του y δείχνει ότι η έξοδος θα είναι 0 γι'αυτούς τους δυο ελαχιστόρους.
31
Το αποτέλεσµα αυτής της ανάλυσης είναι το διάγραµµα καταστάσεων
που φαίνεται στο σχήµα 7.
Το κύκλωµα λειτουργεί κατά τις προδιαγραφές, εφόσον µένει στις
καταστάσεις 001, 010, 011, 100 και 101. Εάν ποτέ βρεθεί σε µια απ'τις
άκυρες καταστάσεις 000, 110 ή 111, τότε θα πάει σίγουρα σε µια από
τις έγκυρες καταστάσεις µέσα σε χρόνο ενός ή δύο παλµών ρολογιού
και ανεξάρτητα απ'το τι είσοδοι θα του εφαρµοστούν.
Σχήµα 7: Το πλήρες διάγραµµα καταστάσεων του κυκλώµατος του σχήµατος 6.
Εποµένως, το κύκλωµα έχει αυτόµατη εκκίνηση (self-starting) και αυτόµατη
διόρθωση (self-correcting), αφού τελικά πηγαίνει σε µια έγκυρη
κατάσταση και συνεχίζει από εκεί την κανονική του λειτουργία.
Μια ανεπιθύµητη περίπτωση θα ήταν η επόµενη κατάσταση της 111 (για
x=0 ή x=1) να ήταν η 110.
32
Αν συνέβαινε αυτό, και. δεδοµένου ότι η επόµενη κατάσταση της 110
είναι η 111 (για x = 0), τότε το κύκλωµα θα µπορούσε να αρχίσει να
κυκλοφορεί συνεχώς µεταξύ των καταστάσεων 110 και 111, αν κάπως
βρισκόταν σε µια απ'αυτές και η είσοδος x τύχαινε να είναι κατάλληλη,
και θα µπορούσε να µείνει σ'αυτές για πάντα.
Πρέπει να αποφεύγουµε σχολαστικά την ύπαρξη αχρησιµοποίητων
καταστάσεων που προκαλούν τέτοια ανεπιθύµητη συµπεριφορά.
Εάν τυχόν διαπιστώσουµε ότι υπάρχει κάποια τέτοια, τότε πρέπει να
ξανασχεδιάζουµε το κύκλωµα.
Ο ευκολότερος τρόπος να το κάνουµε αυτό είναι να σπάσουµε τον
(τους) κύκλο των αχρησιµοποίητων καταστάσεων, επιβάλλοντας η µία
από αυτές, να έχει σαν επόµενή της κατάσταση µιαν έγκυρη.
33
Σχεδίαση µετρητών
Ένα ακολουθιακό κύκλωµα που περνάει από µια προδιαγραµµένη
ακολουθία καταστάσεων όταν του εφαρµόζουµε παλµούς στην είσοδο
λέγεται «µετρητής» ("counter").
Οι παλµοί εισόδου, που τους λέµε «παλµούς µέτρησης» ("count
pulses"), µπορεί να είναι παλµοί ρολογιού ή µπορεί να προέρχονται
από κάποια εξωτερική πηγή, και µπορεί να έρχονται σε κανονικά ή σε
ακανόνιστα διαστήµατα.
Σε ένα µετρητή η ακολουθία των καταστάσεων µπορεί να είναι η
δυαδική σειρά µέτρησης ή µια οποιαδήποτε άλλη σειρά.
Μετρητές βρίσκουµε σχεδόν µέσα σε όλα τα ψηφιακά µηχανήµατα.
Τους χρησιµοποιούµε για να µετράµε πόσες φορές συµβαίνει κάποιο
γεγονός ή για τη δηµιουργία ακολουθιών χρονισµού για τον έλεγχο
των λειτουργιών ενός ψηφιακού συστήµατος.
Από τις διάφορες ακολουθίες µέτρησης που µπορεί να έχει ένας µετρητής η απλούστερη και ευρύτερα διαδεδοµένη είναι ή απλή δυαδική σειρά
µέτρησης. Ένας τέτοιος µετρητής λέγεται «δυαδικός µετρητής» ("binary
counter").
34
Ένας δυαδικός µετρητής των n bits αποτελείται από n flip-flops και
µπορεί να µετράει στο δυαδικό από το 0 ως το 2n —1.
Σαν παράδειγµα, το σχήµα 8 δείχνει το διάγραµµα καταστάσεων ενός
τριδύφιου µετρητή.
Σχήµα 8: Το διάγραµµα καταστάσεων ενός τριδύφιου δυαδικού µετρητή.
Όπως βλέπουµε από τους κώδικες των καταστάσεων µέσα στους
κύκλους, οι έξοδοι των flip-flops µετράνε στο δυαδικό, από το 000 ως
το 111 και µετά ξανά από την αρχή.
Στα βέλη µεταξύ των καταστάσεων δε σηµειώνονται τιµές εισόδου και
εξόδου, όπως στα άλλα διαγράµµατα καταστάσεων, διότι η µεν έξοδος
του µετρητή είναι η ίδια η κατάστασή του, είσοδο δε άλλη από τους
παλµούς δεν έχει.
Θυµηθείτε ότι σε ένα ακολουθιακό κύκλωµα µε ρολόι, οι µεταβάσεις
από κατάσταση σε κατάσταση γίνονται µε τον παλµό του ρολογιού —
όσο δεν εµφανίζεται παλµός, τα flip-flops µένουν αµετάβλητα.
35
Γι'αυτό το λόγο, η µεταβλητή CP (παλµοί ρολογιού) ποτέ δεν
εµφανίζεται σαν µεταβλητή εισόδου σε ένα πίνακα ή διάγραµµα
καταστάσεων, διότι η ύπαρξη και τα αποτελέσµατά της πάντα
εννοούνται.
Έτσι, η µόνη είσοδος ενός µετρητή είναι οι παλµοί και οι µεταβάσεις
από κατάσταση σε κατάσταση συµβαίνουν όποτε έρχονται οι παλµοί.
η δε επόµενη κατάσταση εξαρτάται αποκλειστικά και µόνο από την
παρούσα.
Έτσι, ένας µετρητής προδιαγράφεται πλήρως αν δώσουµε την
ακολουθία των µετρήσεών του, δηλαδή των καταστάσεών του.
Στον πίνακα 6 δίνεται η σειρά µετρήσεων ενός τριδύφιου δυαδικού
µετρητή.
Η κάθε γραµµή, αριστερά, παριστάνει την παρούσα κατάσταση και η
επόµενη της γραµµή είναι η επόµενη κατάσταση (η επόµενη της
τελευταίας, 111, είναι η πρώτη, 000).
36
Έτσι, έχουµε όλες τις πληροφορίες που χρειάζονται για τη σχεδίαση του
κυκλώµατος και θα ακολουθήσουµε την ίδια αρχική διαδικασία
σχεδίασης, µόνο που ο πίνακας διέγερσης µπορεί να βρεθεί κατευθείαν
από τη σειρά µέτρησης.
Πίνακας 6: Πίνακας διέγερσης ενός τριδύφιου δυαδικού µετρητή
Ακολουθία µετρήσεων
Είσοδοι των flip-flops
Α2
Α1
Α0
ΤΑ2
ΤΑ1
ΤΑ0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
Ο πίνακας 6 είναι ο πίνακας διέγερσης του τριδύφιου δυαδικού µετρητή.
Τα τρία flip-flops τα ονοµάζουµε A2, Α1 και A0.
Ο καταλληλότερος τύπος flip-flop για τους δυαδικούς µετρητές είναι ο
Τ (ή ο JK, όπου οι είσοδοι J και Κ είναι βραχυκυκλωµένες).
37
Τις διεγέρσεις των εισόδων Τ τις βρίσκουµε από τον πίνακα διέγερσης
του flip-flop τύπου Τ και από την παρούσα και την. επόµενη κατάσταση,
δηλαδή από τις µετρήσεις σε µια γραµµή και στην επόµενη της.
Για παράδειγµα, θεωρείστε τη γραµµή 001. Η παρούσα κατάσταση
είναι η 001 και η επόµενη είναι η 010 (στην από κάτω γραµµή).
Συγκρίνοντας αυτές τις δύο καταστάσεις, βλέπουµε ότι το Α2 πηγαίνει
από κατάσταση 0 σε 0 — άρα ΤΑ2=0, αφού το flip-flop αυτό πρέπει να
µείνει αµετάβλητο.
Το A1 πάει από το 0 στο 1 — άρα ΤΑ1=1, αφού αυτό το flip-flop
πρέπει να αντιστραφεί µε τον παλµό µέτρησης.
Οµοίως, το A0 αλλάζει από 1 σε 0, άρα TA0 = 1 για να γίνει αυτή η
αντιστροφή.
38
Την τελευταία γραµµή (111) τη συγκρίνουµε µε την πρώτη (000) που
είναι η επόµενή της κατάσταση.
Αφού και τα τρία flip-flops πρέπει να αντιστραφούν (από το 1 στο 0),
έχουµε ΤΑ2 = ΤΑ1 =ΤΑ0 =1.
Σχήµα 9: Χάρτες για τον τριδύφιο δυαδικό µετρητή
Τις συναρτήσεις εισόδου των flip-flops, που τις παίρνουµε από τον πίνακα
διέγερσης, τις απλοποιούµε µε τους χάρτες του σχήµατος 9.
Κάτω από κάθε χάρτη έχουµε γράψει την αντίστοιχη απλοποιηµένη
συνάρτηση Boole.
Αυτές οι συναρτήσεις περιγράφουν το συνδυαστικό κοµµάτι του
κυκλώµατος και βάζοντας αυτό µαζί µε τα τρία flip-flops παίρνουµε το
λογικό διάγραµµα του µετρητή που φαίνεται στο σχήµα 10.
39
Παλµοί
µέτρησης
Σχήµα 10: Το λογικό διάγραµµα του τριδύφιου δυαδικού µετρητή.
Ένας µετρητής µε n flip-flops µπορεί να έχει και ακολουθία µέτρησης µε
λιγότερες από 2n καταστάσεις.
Π.χ. ένας µετρητής BCD ακολουθεί τη δυαδική σειρά από 0000 ως 1001
και µετά επιστρέφει στην 0000 και ξαναρχίζει
Άλλοι µετρητές µπορεί να ακολουθούν κάποια αυθαίρετη σειρά η οποία
πιθανόν να µην είναι η απλή δυαδική σειρά. Πάντως, σε όλες αυτές τις
περιπτώσεις η διαδικασία σχεδίασης είναι η ίδια:
Γράφουµε
τη
σειρά
µέτρησης,
συγκρίνουµε
^1
τις
διαδοχικές
καταστάσεις και φτιάχνουµε τον πίνακα διέγερσης. Υπενθυµίζουµε ότι
η επόµενη της τελευ ταίας κατάστασης είναι η πρώτη.
40
Παράδειγµα 3: Σχεδιάστε ένα µετρητή που να έχει µιαν επαναλαµβανόµενη ακολουθία έξι καταστάσεων, όπως δείχνει ο πίνακας
7.
Σ'αυτή την ακολουθία, τα flip-flops Β και C επαναλαµβάνουν τη
µέτρηση 00, 01, 10, ενώ το flip-flop Α εναλλάσσεται µεταξύ του
0 και του 1 κάθε τρείς µετρήσεις.
Η σειρά µέτρησης των ABC δεν είναι η απλή δυαδική και
υπάρχουν δύο αχρησιµοποίητες καταστάσεις — οι 011 και 111.
∆ιαλέγουµε flip-flops τύπου JK και στη συνέχεια φτιάχνουµε τον
πίνακα διέγερσης που φαίνεται στσν πίνακα 7.
Οι είσοδοι KB και KC έχουν µόνο 1 και Χ στις στήλες τους, κι
έτσι αυτές θα τις κρατάµε συνεχώς στο 1.
Τις υπόλοιπες συναρτήσεις εισόδου των flip-flops µπορούµε να
τις απλοποιήσουµε, µη ξεχνώντας και ότι οι ελαχιστόροι 3 και 7
είναι αδιάφοροι όροι.
Οι απλοποιηµένες συναρτήσεις είναι:
JA=Β
ΚΑ=Β
JB=C
KB=1
JC= Β'
KC= 1
41
Κατά συνέπεια, το λογικό διάγραµµα του µετρητή είναι όπως
φαίνεται στο σχήµα 11(α).
Αφού
υπάρχουν
δύο
αχρησιµοποίητες
καταστάσεις,
αναλύουµε το κύκλωµα για να βρούµε τις συνέπειές τους.
Το σχήµα 11(β) δείχνει το πλήρες διάγραµµα καταστάσεων
που παίρνουµε απ'αυτή την ανάλυση.
Από ό,τι βλέπουµε, αν το κύκλωµα βρεθεί ποτέ σε µια από τις
αχρησιµοποίητες καταστάσεις, ο αµέσως επόµενος παλµός
µέτρησης θα το φέρει σε µια από τις έγκυρες καταστάσεις
του, από όπου και θα συνεχίσει κανονικά να µετράει.
Άρα αυτός ο µετρητής έχει αυτόµατα εκκίνηση, δηλαδή από
οποιαδήποτε κατάσταση κι αν ξεκινήσει θα φτάσει τελικά στη
σωστή ακολουθία µετρήσεων.
Πίνακας 7: Πίνακας διέγερσης για το παράδειγµα 3
Ακολουθία µετρήσεων Είσοδες των flip-flops
Α
Β
C
JA
ΚΑ
JB
KB
JC
KC
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
X
X
X
X
X
X
0
0
1
0
1
X
0
1
X
X
X
1
X
X
1
1
X
0
1
X
0
X
1
X
X
1
X
42
(α) Λογικό διάγραµµα του µετρητή
(β) ∆ιάγραµµα καταστάσεων του µετρητή
Σχήµα 11: Η λύση του παραδείγµατος 3.
Σχεδίαση µε εξισώσεις καταστάσεων
Ένα ακολουθιακό κύκλωµα µπορεί να σχεδιαστεί µε βάση τις εξισώσεις καταστάσεων,
αντί για τον πίνακα διέγερσης.
Οι εξισώσεις καταστάσεων είναι αλγεβρικές εκφράσεις που δίνουν την επόµενη
κατάσταση σα συνάρτηση της παρούσας κατάστασης και των µεταβλητών εισόδων.
43
Οι εξισώσεις καταστάσεων ενός ακολουθιακού κυκλώµατος εκφράζουν σε αλγεβρική
µορφή τις ίδιες πληροφορίες τις οποίες ο πίνακας καταστάσεων εκφράζει σε µορφή
πίνακα.
Η σχεδίαση βάσει εξισώσεων καταστάσεων βολεύει, όταν οι προδιαγραφές του
κυκλώµατος είναι ήδη σε αυτή τη µορφή, ή όταν οι εξισώσεις καταστάσεων βγαίνουν
εύκολα από τον πίνακα καταστάσεων.
Από την άλλη µεριά, η µέθοδος αυτή, σχεδίασης είναι µεν προτιµητέα όταν
χρησιµοποιούµε flip-flops τύπου D και µπορεί µερικές φορές να βολεύει για flip-flops
τύπου JK, ενώ για τα τύπου RS ή Τ είναι µεν δυνατή, αλλά απαιτεί πολλές αλγεβρικές
πράξεις.
Θα δούµε πώς εφαρµόζεται αυτή η µέθοδος σε ακολουθιακά κυκλώµατα µε flip-flops
τύπου D ή JK.
Σε όλες τις περιπτώσεις, το σηµείο εκκίνησης είναι η χαρακτηριστική εξίσωση του flipflop.
44