ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ
ΙΔΡΥΜΑ ΣΕΡΡΩΝ
ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ
Ψηφιακά κυκλώματα
Σημειώσεις
Αναστάσιος Ι. Μπαλουκτσής (Μηχανολόγος/Ηλεκτρολόγος Μηχανικός, Μαθηματικός,
PhD)
Καθηγητής
Τομέας Αρχιτεκτονικής Η/Υ & Βιομηχανικών Εφαρμογών
Σέρρες 2004
Πρόλογος__________________________________________________________________ 5
Συστήματα
αριθμών________________________________________________________ 6
Δεκαδικό
σύστημα___________________________________________________________________ 6
Παράδειγμα
1.1_________________________________________________________________ 6
Δυαδικό
σύστημα____________________________________________________________________ 6
Μετατροπή
δεκαδικού σε δυαδικό_____________________________________________________ 8
Παράδειγμα
1.2_________________________________________________________________ 8
Παράδειγμα
1.3_________________________________________________________________ 9
Άλυτα
προβλήματα_______________________________________________________________ 10
Βασικές
λογικές πράξεις – λογικές πύλες_______________________________________ 10
Ψηφιακή πύλη OR__________________________________________________________________ 11
Ψηφιακή πύλη AND________________________________________________________________ 11
Ψηφιακή πύλη
ΝΟΤ_________________________________________________________________ 12
Ψηφιακή πύλη NAND (ΝΟΤ AND)_____________________________________________________ 12
Ψηφιακή πύλη NOR (NOT
OR)_________________________________________________________ 12
Ψηφιακή πύλη XOR_________________________________________________________________ 13
Ψηφιακή πύλη XNOR (NOT
XOR)______________________________________________________ 13
Συνοπτικός
πίνακας λογικών πυλών_____________________________________________________ 14
Δυνατοί
πίνακες αληθείας στο δυαδικό σύστημα____________________________________________ 15
Άλλοι τρόποι
δυαδικής κωδικοποίησης__________________________________________________ 15
Κωδικοποίηση BCD (Binary Coded Decimal)____________________________________________ 16
Παράδειγμα
1.4________________________________________________________________ 16
Μετατροπή από
BCD σε δεκαδικό__________________________________________________ 16
Παράδειγμα
1.5________________________________________________________________ 16
Κώδικας Gray___________________________________________________________________ 17
Κώδικες με
ανίχνευση σφάλματος____________________________________________________ 18
Κώδικας
περιττής ισοτιμίας_______________________________________________________ 18
Κώδικας
άρτιας ισοτιμίας________________________________________________________ 19
Ορισμός των
λογικών επιπέδων________________________________________________________ 20
Άλγεβρα Boole___________________________________________________________ 21
Ιδιότητες και
κανόνες της άλγεβρας Boole________________________________________________ 21
Λογικές
πράξεις με σταθερές________________________________________________________ 21
Λογικές
πράξεις με μια μεταβλητή____________________________________________________ 21
Παράδειγμα
1.6________________________________________________________________ 22
Λογικές
πράξεις-ιδιότητες με δυο ή περισσότερες μεταβλητές________________________________ 22
Παράδειγμα
1.7________________________________________________________________ 23
Παράδειγμα
1.8________________________________________________________________ 23
Διαδικασία
σχεδίασης ψηφιακής λογικής συνάρτησης____________________________ 24
Κανονικές
μορφές λογικών συναρτήσεων_________________________________________________ 25
Κανονική
μορφή αθροίσματος_______________________________________________________ 25
Παράδειγμα
1.9________________________________________________________________ 25
Παράδειγμα
1.10_______________________________________________________________ 26
Σύντομη γραφή
για την κανονική μορφή αθροίσματος_____________________________________ 26
Παράδειγμα
1.11_______________________________________________________________ 27
Παράδειγμα
1.12_______________________________________________________________ 27
Ημιαθροιστής___________________________________________________________________ 29
Κανονική
μορφή γινομένου___________________________________________________________ 30
Σύντομη γραφή
για την κανονική μορφή γινομένου_______________________________________ 31
Παράδειγμα
1.13_______________________________________________________________ 32
Σύνθεση
ψηφιακού κυκλώματος_____________________________________________ 33
Σύνθεση
ψηφιακών κυκλωμάτων με πύλες NAND___________________________________________ 34
Παράδειγμα
1.14_______________________________________________________________ 34
Παράδειγμα
1.15_______________________________________________________________ 35
Παράδειγμα
1.16_______________________________________________________________ 35
Αντικατάσταση
πυλών με πύλες NAND__________________________________________________ 36
Σύνθεση
ψηφιακών κυκλωμάτων με πύλες ΝΟR____________________________________________ 37
Αντικατάσταση
πυλών με πύλες NOR____________________________________________________ 37
Ελαχιστοποίηση
λογικών συναρτήσεων με τη χρήση των πινάκων Karnaugh_________ 38
Πίνακες Karnaugh__________________________________________________________________ 38
Παράδειγμα
1.17_______________________________________________________________ 40
Παράδειγμα
1.18_______________________________________________________________ 40
Παράδειγμα
1.19_______________________________________________________________ 41
Παράδειγμα
1.20_______________________________________________________________ 41
Ύπαρξη
αδιάφορων περιπτώσεων______________________________________________________ 42
Πλήρης
Αθροιστής_______________________________________________________________ 43
Σπινθήρες_______________________________________________________________ 45
Παράδειγμα
1.21_______________________________________________________________ 47
Ασκήσεις
επανάληψης 1____________________________________________________ 49
Άσκηση 1.1_______________________________________________________________________ 49
Άσκηση 1.2_______________________________________________________________________ 49
Άσκηση 1.3_______________________________________________________________________ 50
Άσκηση 1.4_______________________________________________________________________ 50
Άσκηση 1.5_______________________________________________________________________ 50
Άσκηση 1.6_______________________________________________________________________ 51
Άσκηση 1.7_______________________________________________________________________ 52
Άσκηση 1.8_______________________________________________________________________ 52
Άσκηση 1.9_______________________________________________________________________ 53
Άσκηση 1.10______________________________________________________________________ 54
Κυκλώματα
ακολουθιακής λογικής____________________________________________ 57
Γενικές
μορφές κυκλωμάτων__________________________________________________________ 57
Flip – Flops_______________________________________________________________________ 58
Το SR (Set-Reset) flip-flop (ff)_______________________________________________________ 59
Το Clocked SR - ff________________________________________________________________ 61
Flip – Flop τύπου D_______________________________________________________________ 61
Flip – Flop τύπου T (Toggle ff)______________________________________________________ 62
Flip – Flop τύπου JK______________________________________________________________ 62
Υλοποίηση σύγχρονων flip-flops με όρους SR-ff____________________________________________ 62
Υλοποίηση σύγχρονων flip-flops με όρους SR-ff____________________________________________ 63
Παράδειγμα 2.1:__________________________________________________________________ 63
Προβλήματα
που σχετίζονται με απλά σύγχρονα ff________________________________________ 64
1. Aναπήδηση εισόδου_______________________________________________________ 64
2. Κακή λειτουργία κυκλωμάτων που χρησιμοποιούν διαδοχικά ff________________________ 65
3. Ταλαντώσεις σε ff λόγω ανάδρασης___________________________________________ 65
Μέθοδοι
επίλυσης των προβλημάτων_________________________________________________ 66
Διάταξη
“Αφέντη – Σκλάβου” ff___________________________________________________ 66
Δημιουργία
εσωτερικού ρολογιού για παραγωγή παλμού βραχείας διάρκειας___________________ 66
Εφαρμογές ff_____________________________________________________________ 67
Απλοί
καταχωρητές_______________________________________________________________ 68
Καταχωρητές
ολίσθησης___________________________________________________________ 68
Κυκλώματα
μετρητών_____________________________________________________________ 69
Ασύγχρονοι
μετρητές______________________________________________________________ 70
Σύγχρονοι
μετρητές_______________________________________________________________ 72
Βασικοί
ορισμοί για τους μετρητές____________________________________________________ 73
Τροποποίηση
του βασικού σύγχρονου μετρητή για τη δημιουργία ενός MOD-M μετρητή______________ 73
Εισαγωγή στο
σχεδιασμό ψηφιακών κυκλωμάτων με διαγράμματα καταστάσεων (state diagrams) 74
Διαγράμματα
καταστάσεων___________________________________________________________ 74
Παράδειγμα
2.2________________________________________________________________ 75
Πίνακες
Καταστάσεων_______________________________________________________________ 76
Παράδειγμα
2.3________________________________________________________________ 76
Πίνακας
διέγερσης και εξισώσεις διέγερσης________________________________________________ 77
Παράδειγμα
2.4________________________________________________________________ 77
Εξισώσεις
διέγερσης______________________________________________________________ 78
Παράδειγμα
2.5________________________________________________________________ 79
Πρόβλημα 2.1_________________________________________________________________ 82
Προβλήματα
από καταστάσεις που δεν χρησιμοποιούνται_____________________________________ 85
Παράδειγμα
2.6________________________________________________________________ 86
Ασκήσεις
επανάληψης 2____________________________________________________ 88
Άσκηση 2.1_______________________________________________________________________ 88
Άσκηση 2.2_______________________________________________________________________ 89
Άσκηση 2.3_______________________________________________________________________ 91
Άσκηση 2.4_______________________________________________________________________ 92
Άσκηση 2.5_______________________________________________________________________ 95
Οι σημειώσεις αυτές αποτελούν βασικό διδακτικό βοήθημα για το μάθημα «Ψηφιακά Κυκλώματα» που διδάσκεται στο Τμήμα Πληροφορικής & Επικοινωνιών του ΤΕΙ Σερρών στο 3ο εξάμηνο σπουδών.
Η ανάπτυξη των ψηφιακών ηλεκτρονικών, που πραγματοποιήθηκε τα τελευταία 30 χρόνια, αποτελεί γεγονός, για το οποίο δεν υπάρχει κάτι ανάλογο σε κανέναν άλλο κλάδο της επιστήμης του μηχανικού. Μάλιστα κατά τη ραγδαία αυτή ανάπτυξη, ενώ το πραγματικό κόστος των ψηφιακών ολοκληρωμένων κυκλωμάτων (hardware) μειώνονταν στο μισό κάθε έτος, η σύνθεση και η πολυπλοκότητά τους τετραπλασιάζονταν κάθε τρία έτη.
Έχοντας υπόψη το παραπάνω σκηνικό της ταχύτατης ανάπτυξης, οι σημειώσεις δομήθηκαν με κατεύθυνση να παρέχουν στους φοιτητές τις αναγκαίες θεμελιώδεις έννοιες της ψηφιακής λογικής και ταυτόχρονα να τους εξοικειώνουν με μεθόδους σχεδιασμού και τεχνικές στο επίπεδο του συστήματος. Επίσης, στις σημειώσεις περιλαμβάνονται ασκήσεις για τους φοιτητές με τις λύσεις τους, ώστε να αναδεικνύεται η πρακτική χρησιμότητα των διαφόρων εννοιών που εισάγονται στη θεωρία, αλλά και ο σωστός τρόπος εφαρμογής των.
Οπωσδήποτε, για περισσότερη εμβάθυνση, απαιτείται η χρήση πρόσθετης βιβλιογραφίας, η οποία διατίθεται στη βιβλιοθήκη του ΤΕΙ Σερρών.
Αναστάσιος Μπαλουκτσής
Ένα σύστημα αριθμών
χρησιμοποιεί ένα σύνολο συμβόλων γνωστό ως ψηφία. Υπάρχουν διάφορα συστήματα
αριθμών όπως το δεκαδικό, το δυαδικό κ.λ.π.
Στο δεκαδικό σύστημα
χρησιμοποιούνται δέκα ψηφία 0, 1, 2, 3, 4, 5, 6, 7, 8, & 9 , ενώ
το 10 ορίζεται ως βάση του
συστήματος.
Η γενική μορφή της απεικόνισης στο δεκαδικό σύστημα
είναι:
ή ο αριθμός
παριστάνεται ως
όπου dι (0,1,…,9) είναι οι
συντελεστές των αντίστοιχων δυνάμεων του 10.
Γενικά οι αριθμοί
μπορεί να έχουν βάσεις διάφορες του 10, για παράσειγμα:
βάση 16, δεκαεξαδικό
σύστημα,
βάση 8, οκταδικό σύστημα, ή
βάση 2, δυαδικό σύστημα.
Στο δυαδικό σύστημα
που έχει βάση το 2 υπάρχουν δύο ψηφία, το 0 και το 1.
Παράδειγμα
δυαδικού αριθμού:
ο αντίστοιχος
δεκαδικός του 1010 είναι ο 8+0+2+0=10
Η μορφή της γενικής
παράστασης στο δυαδικό σύστημα είναι:
ή ο αριθμός παριστάνεται ως
όπου bi (0 ή 1) είναι δυαδικά ψηφία (bits) που παριστάνουν τους συντελεστές των αντίστοιχων
δυνάμεων του 2.
Για παράδειγμα οι
ακέραιοι δυαδικοί αριθμοί με 4 ψηφία είναι της μορφής:
Ο μεγαλύτερος αριθμός
με 4 ψηφία είναι ο 1111 ο οποίος είναι ισοδύναμος με τον
δεκαδικό αριθμό 15.
Γενικά ένας δυαδικός
αριθμός με n ψηφία μπορεί να παραστήσει ένα εύρος από 2n δεκαδικoύς αριθμούς:
1 ψηφίο 0 και 1
2 ψηφία 0
- 3
3 ψηφία 0
- 7
4 ψηφία 0 - 15
5 ψηφία 0 – 31
κ.λ.π.
Για τη μετατροπή ενός
ακέραιου δεκαδικού σε δυαδικό χρησιμοποιείται η διαδικασία της διαδοχικής
διαίρεσης ως εξής:
Γενική μορφή ενός ακεραίου δυαδικού είναι:
και ο αντίστοιχος δεκαδικός του:
συνεπώς παρατηρούμε
ότι διαιρώντας τον D με το 2 προκύπτει ως πηλίκο το
και ως υπόλοιπο το
Κατόπιν διαιρώντας το
πηλίκο με 2 θα προκύψει ως νέο πηλίκο το
και υπόλοιπο
Επαναλαμβάνεται η
διαδικασία μέχρι να προκύψει πηλίκο μηδέν. Τα υπόλοιπα των διαιρέσεων είναι
ουσιαστικά τα ψηφία του δυαδικού αριθμού.
Να μετατραπεί
ο ακέραιος 1910 στον
αντίστοιχο δυαδικό B2
Απάντηση --(επαλήθευση)
1η
διαίρεση με το 2;
D/2=19/2= πηλίκο 9 και υπόλοιπο 1 άρα b0=1
2η
διαίρεση με το 2;
9/2= πηλίκο 4 και υπόλοιπο 1 άρα b1=1
3η
διαίρεση με το 2;
4/2= πηλίκο 2 και υπόλοιπο 0 άρα b2=0
4η
διαίρεση με το 2;
2/2= πηλίκο 1 και υπόλοιπο 0 άρα b3=0
5η
διαίρεση με το 2;
1/2= πηλίκο 0 και
υπόλοιπο 1 άρα b4=1
συνεπώς ο αντίστοιχος δυαδικός αριθμός είναι:
Β2=10011=1910
Για τη μετατροπή του
κλασματικού μέρους ενός δεκαδικού αριθμού στο αντίστοιχο κλασματικό μέρος του
δυαδικού χρησιμοποιείται η διαδικασία των διαδοχικών
πολλαπλασιασμών ως εξής:
Γενική μορφή του κλασματικού μέρους ενός δυαδικού είναι:
και το αντίστοιχο κλασματικό μέρος του δεκαδικού είναι:
συνεπώς παρατηρούμε
ότι πολλαπλασιάζοντας τον D με το 2 προκύπτει;
άρα το ακέραιο μέρος του νέου αριθμού (0 ή 1) είναι το
ψηφίο και το κλασματικό του
μέρος το
Κατόπιν πολλαπλασιάζουμε το νέο κλασματικό μέρος με 2
οπότε προκύπτει το ψηφίο
Επαναλαμβάνεται η
διαδικασία μέχρι να προκύψει κλασματικό μέρος μηδέν ή να επιτευχθεί η επιθυμητή
ακρίβεια.
Να μετατραπεί
ο δεκαδικός 28.375 στον αντίστοιχο δυαδικό
Απάντηση
Πρώτα
υπολογίζεται το ακέραιο μέρος:
1η
διαίρεση με το 2:
D/2=28/2= πηλίκο 14 και υπόλοιπο 0 άρα b0=0
2η
διαίρεση με το 2:
14/2= πηλίκο 7 και υπόλοιπο 0 άρα b1=0
3η
διαίρεση με το 2:
7/2= πηλίκο 3 και υπόλοιπο 1 άρα b2=1
4η
διαίρεση με το 2:
3/2= πηλίκο 1 και υπόλοιπο 1 άρα b3=1
5η
διαίρεση με το 2:
1/2= πηλίκο 0 και
υπόλοιπο 1 άρα b4=1
Συνεπώς το
ακέραιο μέρος του δυαδικού είναι: 111002
Κατόπιν
υπολογίζεται το κλασματικό μέρος του δυαδικού:
0,375 x 2 = 0,75 με ακέραιο μέρος 0 και κλασματικό 0,75
0.75 x 2 = 1.50 με ακέραιο μέρος 1 και κλασματικό 0,50
0.50 x 2 = 1.00 με ακέραιο μέρος 1 και κλασματικό 0
Συνεπώς το
κλασματικό μέρος του δυαδικού είναι: ,0112
Ο αντίστοιχος δυαδικός είναι: 11100, 0112
(1) Να μετατραπούν οι δεκαδικοί αριθμοί στους
αντίστοιχους δυαδικούς:
(α) 710
(β) 3910
(γ) 7510
(δ) 13010
(ε) 0,87510
(2) Να μετατραπούν οι δυαδικοί αριθμοί στους
αντίστοιχους δεκαδικούς: --(επαλήθευση)
(α) 001012
(β) 1010112
(γ) 0,11012
(δ) 111101,1011112
Βασικές λογικές
πράξεις –
λογικές πύλες
Μία λογική πράξη
μεταξύ μεταβλητών είναι μία συνάρτηση που ορίζεται από έναν πίνακα αληθείας (truth table). Το ηλεκτρικό κύκλωμα που εκτελεί μία λογική πράξη
ονομάζεται λογική ή ψηφιακή πύλη και παριστάνεται
από ένα σύμβολο. Τα δυαδικά ψηφία 1
και 0, που ουσιαστικά παριστάνουν τις
δύο καταστάσεις αληθής (true), ψευδής (false), στη φυσική τους υπόσταση είναι δυο διακριτά επίπεδα
ηλεκτρικής τάσης (συνήθως στην ιδανική περίπτωση 5V και 0V).
Ψηφιακή
πύλη OR --(πειραματισμός)
H έξοδος είναι αληθής (true) (1), εάν μια από τις εισόδους ή και οι δυο είναι
αληθείς (1)
Σύμβολο Πίνακας
αληθείας
Ψηφιακή
πύλη AND --(πειραματισμός)
H έξοδος είναι αληθής (1), όταν και οι δυο είσοδοι είναι
αληθείς (1)
Σύμβολο
Πίνακας αληθείας
Ψηφιακή
πύλη ΝΟΤ --(πειραματισμός)
Δημιουργεί αντιστροφή
του σήματος εισόδου
Σύμβολο Πίνακας αληθείας
Ψηφιακή πύλη NAND (ΝΟΤ
AND)
Η έξοδος είναι ψευδής (0) μόνο όταν Α και Β είναι αληθείς (1)
Σύμβολο Πίνακας
αληθείας
Ψηφιακή πύλη NOR (NOT OR) --(πειραματισμός)
H έξοδος είναι αληθής (1), όταν και οι δύο είσοδοι είναι ψευδείς (0)
Σύμβολο Πίνακας
αληθείας
Ψηφιακή πύλη XOR --(πειραματισμός)
H έξοδος είναι αληθής (1), όταν ή μία εκ των δύο εισόδων είναι αληθής (1),
αλλά όχι και οι δύο ταυτόχρονα:
Σύμβολο Πίνακας αληθείας
Ψηφιακή πύλη XNOR (NOT XOR)
H έξοδος είναι αληθής (1) όταν και οι δυο είσοδοι είναι ψευδείς (0), ή και
οι δυο είναι αληθείς (1)
Σύμβολο Πίνακας αληθείας
Συνοπτικός πίνακας λογικών πυλών
Δυνατοί πίνακες
αληθείας στο δυαδικό σύστημα
Ένας πίνακας αληθείας παριστάνει τη συνάρτηση μεταξύ των εισόδων και
της εξόδου ενός λογικού συστήματος. Για δυο εισόδους (F, T) υπάρχουν τέσσερις πιθανοί συνδυασμοί πραγματικών τιμών:
FF, FT, TF, TT
Επειδή κάθε δυνατή είσοδος μπορεί
να δώσει δύο διαφορετικές εξόδους (0, 1) συνεπάγεται ότι οι δυνατοί πίνακες
αληθείας για ένα λογικό σύστημα δύο εισόδων είναι:
Άλλοι τρόποι δυαδικής
κωδικοποίησης
Εκτός από την κανονική δυαδική κωδικοποίηση υπάρχουν κι΄ άλλοι τρόποι δυαδικής κωδικοποίησης οι οποίοι
χρησιμοποιούνται σε διάφορες περιπτώσεις.
Η κωδικοποίηση καθιστά δυνατή την
απλή μετατροπή μεταξύ δυαδικού και δεκαδικού αριθμού. Κάθε ψηφίο ενός δεκαδικού
αριθμού αντικαθίσταται από 4 bits του αντίστοιχου δυαδικού του.
Μετατροπή του 4510 σε BCD
Επομένως 4510=01000101
Η δυαδική λέξη χωρίζεται σε ομάδες
των 4bits ξεκινώντας από το λιγότερο σημαντικό ψηφίο. Κατόπιν η κάθε ομάδα
μετατρέπεται στον αντίστοιχο δεκαδικό.
Μετατροπή 1010011 σε δεκαδικό
Απάντηση: