Κεφαλαιο 4 Ψηφιακή Λογική & Συστήματα 1. Εισαγωγή - Γενικά 2. Συστήματα Αρίθμησης & Κώδικες 3. Μετατροπή & Δειγματοληψία Σημάτων 4. Λογικές Πύλες 5. Πίνακες Αληθείας - Ιδιότητες των Πυλών - Σχεδίαση Ψηφιακών Κυκλωμάτων 6. Απλοποίηση Λογικών Παραστάσεων Κυκλωμάτων μέσω Πινάκων Karnaugh & 7. Τυπικά Συνδυαστικά Κυκλώματα 8. Flip - Flop 9. Καταχωρητές Απαριθμητές 10. Πολυδονητές Ψηφιακοί Χρονιστές
Γενικά - Εισαγωγή Ένα ψηφιακό σήμα είναι μία συνάρτηση που μπορεί να πάρει μόνο διακριτές τιμές. Οι διακριτές καταστάσεις των ψηφιακών σημάτων εκφράζονται σαν το καρτεσιανό γινόμενο ενός πεπερασμένου πλήθους ανεξαρτήτων συνιστωσών η κάθε μία από τις οποίες παίρνει μόνο δύο μόνο τιμές : υψηλή και χαμηλή. Η μαθηματική μας παιδεία και ο φυσικός κόσμος παρέχουν εξοικείωση με τις συνεχείς μεταβλητές και τον αλγεβρικό - υπολογιστικό χειρισμό τους. ΌΜΩΣ: Ο ψηφιακός κόσμος είναι ιδιαίτερα πρόσφορος για ένα πρακτικό λόγο: οι αλγεβρικές πράξεις αναλογικών ποσοτήτων μπορούν να υλοποιηθούν μέσω λογικών πράξεων των αντιστοίχων ψηφιακών προσεγγίσεών τους. Οι διατάξεις που υλοποιούν τις λογικές πράξεις είναι εύκολα και φθηνά υλοποιήσιμες. Είναι δυνατή, όμως, η με ελεγχόμενη ακρίβεια μετάβαση από το ψηφιακό (διακριτό) πεδίο στο συνεχές και αντιστρόφως μέσω καταλλήλων ηλεκτρονικών συσκευών (Digital-Analog-Converters, Analog-Digital- Converters). 2
Συστήματα Αρίθμησης & Κώδικες 259. 3765 210 510 910 310 710 610 510 2 1 0 1 2 3 4 Ο αριθμός είναι εκφρασμένος στο δεκαδικό σύστημα, δηλ. έχει βάση 10. b 1 2 0 1 2 Γενικά, ένας αριθμός με βάση γράφεται και σημαίνει αντίστοιχα : a a a. a a a a b a b a b a b a b a b n n m n1 n2 0 1 2 m b n1 n2 0 1 2 m b Το δυαδικό σύστημα αρίθμησης ( =2) χρησιμοποιεί δύο ψηφία (1,0) που αντιστοιχούν στις δύο στάθμες της ψηφιακής λογικής (υψηλή, χαμηλή). Στα ψηφιακά ηλεκτρονικά κυκλώματα συνήθως η υψηλή τιμή είναι +5V ενώ η χαμηλή 0V. Κάθε δυαδικό ψηφίο ονομάζεται bit (Binary Digit). Στην έκφραση ενός δυαδικού αριθμού το bit λέγεται ελάχιστα ενδεικτικό (Least Significant Bit - LSB), ενώ το λέγεται μέγιστα ενδεικτικό (Most Significant Bit - MSB). Χρησιμοποιούνται και άλλα συστήματα για λόγους προγραμματιστικής ευκολίας σε χαμηλό επίπεδο Το οκταδικό σύστημα αρίθμησης ( b =8) χρησιμοποιεί τα ψηφία (0,1,2,3,4,5,6,7) και χρησιμοποιείται στους προγραμματιζόμενους λογικούς ελεγκτές (PLC) για τον καθορισμό των διευθύνσεων των συσκευών εισόδου και εξόδου. Το δεκαεξαδικό σύστημα αρίθμησης ( b =16) χρησιμοποιεί τα ψηφία (0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F). Ένα άλλο χρησιμοποιούμενο σύστημα αρίθμησης στους Η/Υ είναι το δυαδικά κωδικοποιημένο δεκαδικό (Binary Coded Decimal - BCD). Κατ αυτό το σύστημα, έχουμε δυαδική παράσταση κάθε δεκαδικού ψηφίου. Προφανώς, για την παράσταση κάθε ενός από τα δέκα ψηφίων του δεκαδικού συστήματος {0,1,,9} απαιτούνται τουλάχιστον 4 bits. 3
Συστήματα Αρίθμησης & Κώδικες Ο κώδικας ASCII (American Standard Code for Information Interchange) κωδικοποιεί όλους τους χαρακτήρες (π.χ. 1, α, ESC ) που απαιτούνται για την επικοινωνία μεταξύ ψηφιακών συσκευών (δηλαδή, σε βιομηχανικό περιβάλλον, ρομπότ, Η/Υ, μηχανές CNC, ψηφιακούς κατευθυντές κ.λ.π). Ο ASCII στηρίζεται στην ίδια ιδέα με το BCD. Όμως σε αυτόν, κάθε χαρακτήρας απαιτεί 7bit ενώ το 8 ο bit μπορεί να χρησιμοποιηθεί είτε για διόρθωση πιθανού σφάλματος μετάδοσης (parity bit) είτε για την μετάδοση ειδικών χαρακτήρων. Όπως φαίνεται, η κωδικοποίηση ASCII δεν είναι εντελώς τυχαία αλλά παρουσιάζει κάποια λογική π.χ. 1 0110001,. Γενικά ισχύουν δηλαδή οι ASCII 2 0110010ASCII ισοδυναμίες 290 1001000102 001010010000 10 0110010 01110010110000 4 2 9 0 BCD 2 9 0 ASCII
Μετατροπή & Δειγματοληψία Σημάτων Τα διάφορα μεγέθη των φυσικών διεργασιών τα μετράμε με αισθητήρες που ουσιαστικά παρέχουν ηλεκτρικά σήματα χαμηλής ισχύος που αντιστοιχούν σε αυτά τα μεγέθη. Από μαθηματικής σκοπιάς, τα σήματα αυτά είναι συναρτήσεις από το πεδίο του χρόνου στο χώρο των πραγματικών αριθμών. Δηλαδή είναι συναρτήσεις συνεχούς χρόνου και συνεχών τιμών. Οι ψηφιακοί Η/Υ είναι συσκευές διακριτού χρόνου και διακριτών τιμών. Δηλ. ο χρόνος (ανεξάρτητη μεταβλητή) αυξάνει κατά ακέραια βήματα και οι τιμές (εξαρτημένες μεταβλητές) παίρνουν μόνο διακριτές τιμές. Είναι προφανής λοιπόν η ανάγκη για διατάξεις οι οποίες : Κάνουν δειγματοληψία των αναλογικών σημάτων μιας φυσικής διεργασίας κατά τακτά χρονικά διαστήματα, σύμφωνα με την έννοια του διακριτού χρόνου. Αυτό γίνεται από τους δειγματολήπτες (Sample and Hold Devices - S/H). Μετατρέπουν τα (συνεχών τιμών) σήματα που τους δίδουν κατά τακτά χρονικά διαστήματα οι S/H, σε διακριτά (ψηφιακά) σήματα. Αυτές οι διατάξεις λέγονται μετατροπείς αναλογικού σε ψηφιακό (Analog to Digital Converters - ADC). Μετατρέπουν τα διακριτά σήματα των Η/Υ σε συνεχή για περαιτέρω χρήση στον φυσικό κόσμο. Αυτές οι διατάξεις λέγονται μετατροπείς ψηφιακού σε αναλογικό (Digital to Analog Converters - DAC). 5
b 0 R Μετατροπέας Ψηφιακού Σήματος σε Αναλογικό R R R R R 0 b0 b1 bn 2 b N 2 N 1 N 1 R 2R 2 R 2 R RF RFR b1 bn b b N R 2 2 2 2 N1 0 0 2 N1 Η μεγίστη τάση εξόδου λαμβάνεται για 11 111 F R F R 0 N1 max N R 1 1 2R 2 1 1 2 2 2 N R R 2 N Σε ένα αριθμό Ν-bit αντιστοιχούν καταστάσεις (00 000 έως 11 11) και αντιστοιχούν 2 N 1 βήματα. Η διακριτότητα (resolution) είναι η διαφορά τάσης που αντιστοιχεί σε κάθε βήμα, δηλαδή 0 R max FR r N 2 1 R 1 2 N 1 b 1 2R R F b 2 4R i F - + 0 b 2 N-1 2 N-1 R 6
Μετατροπέας Αναλογικού Σήματος σε Ψηφιακό Ο δειγματολήπτης (S/H) παίρνει δείγματα του στιγμιαίου εύρους ενός σήματος και διατηρεί την τάση που αντιστοιχεί σταθερή, τροφοδοτώντας έναν κβαντιστή, μέχρι την επόμενη στιγμή δειγματοληψίας. Αυτό γίνεται γιατί ο κβαντιστής απαιτεί κάποιο χρόνο για να μετατρέψει τα αναλογικά σήματα εισόδου σε ψηφιακά και αν το σήμα εισόδου του άλλαζε κατά την διάρκεια αυτού του χρόνου θα έδινε εσφαλμένα αποτελέσματα. Το σχήμα δείχνει έναν S/H. Όταν το FET ενεργοποιείται, ο πυκνωτής ταχέως φορτίζεται ή αποφορτίζεται στο επίπεδο του αναλογικού σήματος εισόδου. Όταν το FET απενεργοποιηθεί ο πυκνωτής κρατάει το φορτίο του μέχρις ότου το FET Control Systems Laboratory επανενεργοποιηθεί. 7
Μετατροπέας Αναλογικού Σήματος σε Ψηφιακό O (κλασσικός) κβαντιστής διαδοχικής προσέγγισης (successive approximation) φαίνεται στο σχήμα. Η μετατροπή ξεκινάει με την εντολή εκκινήσεως που καθαρίζει τα προηγούμενα δεδομένα. Το MSB της εισόδου του γίνεται 1. Αν η τιμή της εξόδου του είναι μικρότερη από το αναλογικό σήμα εισόδου, διαδοχικά αυξάνονται τα bit εισόδου του DAC μέχρις ότου η έξοδος του DAC ξεπεράσει το αναλογικό σήμα εισόδου. Ο αριθμός bit του ADC είναι ίδιος με αυτόν του χρησιμοποιούμενου DAC. Η διακριτότητα ή επίπεδο κβαντισμού (quantization level) είναι max min q N 2 1 max min όπου, είναι η μέγιστη και ελάχιστη τάση εισόδου του αναλογικού σήματος. Μεταβολή της τάσης εισόδου μικρότερη από q μπορεί να οδηγήσει σε μη αλλαγή της κατάστασης εξόδου πράγμα που φανερώνει την ύπαρξη ενός σφάλματος κβαντισμού (quantization error). 8
Λογικές Πύλες Οι λογικές πύλες (logic gates) είναι ηλεκτρονικά κυκλώματα που επιτελούν διάφορες λογικές πράξεις. Οι λογικές πράξεις και η άλγεβρα που διέπει αυτές μελετήθηκε από τον άγγλο μαθηματικό George Boole που εισήγε την αρχή: «όλες ο προτάσεις μπορούν να αποδειχθούν με σωστές απαντήσεις σε πεπερασμένο αριθμό ερωτήσεων τύπου σωστό αληθές». Οι λογικές πράξεις της Άλγεβρας Boole είναι : A B AND Y AND OR NOT A B Y=AB A B Y=A+B X Y= 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 A B OR Y X NOT Y X A B NAND Y NAND NOR A B Y=AB A B Y=A 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 9 B A B NOR Y
Λογικές Πύλες Υπάρχουν οι πύλες XOR (EXCLUSIVE OR) που ορίζεται σαν και η XΝOR (EXCLUSIVE ΝOR) που ορίζεται ως A B A B. Τα σύμβολά τους και οι αντίστοιχοι πίνακες αληθείας φαίνονται παρακάτω A B A B A B A B XOR XOR Y A B XΝOR XNOR A B Y=AB A B Y=AB 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 1 Y 10
Πίνακες Αληθείας Λογική συνάρτηση είναι μία συνάρτηση που σχηματίζεται από δυαδικές μεταβλητές και λογικές πράξεις π.χ f ( x, y, z) x y x z y z g( x, y, z) x y x z Μπορούμε να κατασκευάσουμε τους αντίστοιχους πίνακες αληθείας οι οποίοι να περιέχουν όλους τους λογικούς συνδυασμούς (πεδίο ορισμού) αυτών των μεταβλητών και να δούμε το αντίστοιχο πεδίο τιμών (range). Από τον πίνακα αληθείας μπορεί να δει κανείς ότι για όλους τους συνδυασμούς των μεταβλητών, δηλ. σε όλο το πεδίο ορισμού x y x z y z x y x z Είναι προφανές ότι ο πίνακας αληθείας είναι ένα εργαλείο απόδειξης ιδιοτήτων των λογικών συναρτήσεων. x y z x y x z y z f ( x, y, z ) g( x, y, z) 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 0 1 1 1 11
Ιδιότητες Λογικών Πράξεων Σχεδίαση Λογικών Κυκλωμάτων Ιδιότητες + Ιδιότητες Ιδιότητες ΝΟΤ ( ) ( ) x y z x ( y z) ( x y) z x x x y y x x x 1 x x x x x 0 x 1 x x x y x y x 0 0 x y z x y z x y z x y y x x x x x 1 1 x 0 x Άλλες Ιδιότητες x ( y z) x y x z x x y x x y z ( x y) ( x z) Νόμοι De Morgan x x x x x x x x 1 2 3 n 1 2 3 x x x x x x x x 1 2 3 n 1 2 3 Αλγόριθμος Σχεδίασης : Κατασκευή πίνακα αληθείας με βάση της σχετικές προδιαγραφές Εύρεση εκείνων των γραμμών του πίνακα αληθείας όπου η έξοδος είναι αληθής (δηλ. ισούται με «1»). Για κάθε τέτοια γραμμή, βρίσκουμε τον συνδυασμό εισόδων με την πράξη AND που κάνει τη «σύζευξή» τους αληθή (σύζευξη = AND). Κάνουμε «διάζευξη» σε όλες αυτές τις συζεύξεις (διάζευξη = OR). n n 12
Σχεδίαση Λογικών Κυκλωμάτων: Παράδειγμα Control Systems Laboratory Να ευρεθεί η λογική συνάρτηση g( x, y, z) και το αντίστοιχο λογικό κύκλωμα που η g( x, y, z) είναι αληθής (1) όταν η πλειοψηφία των τριών εισόδων είναι αληθής και ψευδής (0) σε κάθε άλλη περίπτωση. g( x, y, z) xyz xyz xyz xyz g( x, y, z) xyz xyz xyz xyz xyz xyz xy( z z) xyz xyz xy x yz xyz xyz xyz x y x y z g( x, y, z) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 z Αλγόριθμος Σχεδίασης : Κατασκευή πίνακα αληθείας με βάση της σχετικές προδιαγραφές Εύρεση εκείνων των γραμμών του πίνακα αληθείας όπου η έξοδος είναι αληθής (δηλ. ισούται με «1»). Για κάθε τέτοια γραμμή, βρίσκουμε τον συνδυασμό εισόδων με την πράξη AND που κάνει τη «σύζευξή» τους αληθή (σύζευξη = AND). Κάνουμε «διάζευξη» σε όλες αυτές τις συζεύξεις (διάζευξη = OR). xyz xyz xy g( x, y, z) xyz xyz xy 13
Απλοποίηση Λογικών Παραστάσεων μέσω Πινάκων Karnaugh Συστηματικός και γραφικός τρόπος απλοποίησης λογικών παραστάσεων και κυκλωμάτων. Πρακτικά εφαρμόσιμος για παραστάσεις μέχρι και 4, το πολύ, μεταβλητών. Για μεγαλύτερο αριθμό μεταβλητών υπάρχουν ειδικά προγράμματα απλοποίησης που στηρίζονται (και) σε μεθοδολογίες τεχνητής νοημοσύνης. Για μια λογική συνάρτηση, οι πίνακες Karnaugh παριστάνουν τη σχέση μεταξύ λογικών εισόδων και εξόδου, κάτι που κάνουν άλλωστε τόσον οι πίνακες αληθείας όσο και οι λογικές εξισώσεις. Αρχικά θα δειχθεί το πώς οι πίνακες Karnaugh προκύπτουν από τους πίνακες αληθείας και με βάση αυτό θα γίνει η όλη ανάπτυξη της μεθοδολογίας απλοποίησης, ενώ μετά θα δειχθεί το πως προκύπτουν και από τις λογικές εξισώσεις. 14
Κατασκευή Πινάκων Karnaugh x X ABC ABC ABC ABC X ABCD ABCD ABCD ABCD 15
Ομαδοποίση των Κελιών: Κατά Ζεύγη X ABC ABC AB X ABC ABC BC X ABC ABC BC X ABCD ABC D ABCD ABCD ABC ABD «Η ομαδοποίηση ζευγών γειτνιαζόντων κελιών οδηγεί σε εξαφάνιση της μεταβλητής που εμφανίζεται σε κάθε ζεύγος τόσο σε κανονική όσο και σε συμπληρωματική μορφή». 16
Ομαδοποίση των Κελιών: Κατά Τετράδες X C X BD X AB Η ομαδοποίηση τετράδων γειτνιαζόντων κελιών οδηγεί σε εξαφάνιση εκείνων των δύο μεταβλητών που εμφανίζονται σε κάθε τετράδα τόσο σε κανονική όσο και σε συμπληρωματική μορφή. X AD X BD 17
Ομαδοποίση των Κελιών: Κατά Οκτάδες X C Η ομαδοποίηση οκτάδων γειτνιαζόντων κελιών οδηγεί σε εξαφάνιση εκείνων των τριών μεταβλητών που εμφανίζονται σε κάθε οκτάδα τόσο σε κανονική όσο και σε συμπληρωματική μορφή. X B X B X D 18
Απλοποίηση μέσω Πίνακα Karnaugh Η απλοποίηση θα γίνει με βάση τα προηγούμενα και 2 βασικές παρατηρήσεις: σε ένα πίνακα Karnaugh πρέπει να αναζητούμε όσο το δυνατόν μεγαλύτερες ομάδες έτσι ώστε να έχουμε την μεγαλύτερη δυνατή απλοποίηση, και δεδομένου ότι για κάθε λογική μεταβλητή z ισχύει z = z + z, στην αναζήτησή μας για όσο το δυνατόν μεγαλύτερες ομάδες κελιών, ένα κελί μπορεί να ανήκει σε 2 ή περισσότερες ομάδες. Η διαδικασία απλοποίησης είναι η παρακάτω: Βήμα 1: Κατασκευή του πίνακα Karnaugh. Βήμα 2: Ανεύρεση & περικύκλωση απομονωμένων κελιών με περιεχόμενο «1» (δηλ. αυτών που δεν γειτνιάζουν με άλλα) Βήμα 3: Ανεύρεση & περικύκλωση αυτοτελών ζευγών κελιών με περιεχόμενο «1», δηλαδή ζευγών που περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Ανεύρεση & περικύκλωση οκτάδων κελιών με περιεχόμενο «1», ακόμα και αν κάποια κελιά τους ανήκουν σε προηγουμένως ανευρεθέντα αυτοτελή ζεύγη. Βήμα 5: Ανεύρεση & περικύκλωση τετράδων κελιών με περιεχόμενο «1» που περιέχουν ένα ή περισσότερα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 6: Ανεύρεση & περικύκλωση ζευγών κελιών με περιεχόμενο «1» για να περιληφθούν τα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 7: Διάζευξη (OR) όλων των όρων που προκύπτουν από τις παραπάνω ομάδες. Control Systems Laboratory 19
Απλοποίηση μέσω Πίνακα Karnaugh: Παράδειγμα - 1 Στον παρακάτω πίνακα έχει ήδη γίνει το «βήμα-1». Επομένως: Βήμα 2: Το κελί 4 είναι το μοναδικό που δεν γειτνιάζει με άλλα. Βήμα 3: Στο ζεύγος (11,15) το κελί 15 γειτνιάζει μόνο με το 11. Είναι και το μοναδικό ζεύγος τέτοιου τύπου. Βήμα 4: Δεν υπάρχουν οκτάδες. Βήμα 5: Στην τετράδα (6,7,10,11) το κελί 11 είναι ήδη κομμάτι του ζεύγους (11,15) Βήμα 6: Δεν υπάρχουν άλλα ζεύγη Βήμα 7: X ABC D ACD BD loop C D C D C D C D A B 0 0 0 1 A B 0 1 1 0 A B 0 1 1 0 A B 0 0 1 0 4 loop loop 6, 11, 15 7, 10, 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Βήμα 1: Κατασκευή του πίνακα Karnaugh. Βήμα 2: Ανεύρεση & περικύκλωση απομονωμένων κελιών με περιεχόμενο «1» (δηλ. αυτών που δεν γειτνιάζουν με άλλα) Βήμα 3: Ανεύρεση & περικύκλωση αυτοτελών ζευγών κελιών με περιεχόμενο «1», δηλαδή ζευγών που περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Ανεύρεση & περικύκλωση οκτάδων κελιών με περιεχόμενο «1», ακόμα και αν κάποια κελιά τους ανήκουν σε προηγουμένως ανευρεθέντα αυτοτελή ζεύγη. Βήμα 5: Ανεύρεση & περικύκλωση τετράδων κελιών με περιεχόμενο «1» που περιέχουν ένα ή περισσότερα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 6: Ανεύρεση & περικύκλωση ζευγών κελιών με περιεχόμενο «1» για να περιληφθούν τα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 7: Διάζευξη (OR) όλων των όρων που προκύπτουν από τις παραπάνω ομάδες. 20
Απλοποίηση μέσω Πίνακα Karnaugh: Παράδειγμα - 2 Στον παρακάτω πίνακα έχει ήδη γίνει το «βήμα-1». Επομένως: Βήμα 2: Δεν υπάρχουν απομονωμένα κελιά. Βήμα 3: Στο ζεύγος (3,7) το κελί 3 γειτνιάζει μόνο με το 7. Είναι και το μοναδικό ζεύγος τέτοιου τύπου. Βήμα 4: Δεν υπάρχουν οκτάδες. Βήμα 5: Στην τετράδα (5,6,7,8) το κελί 7 είναι ήδη κομμάτι του ζεύγους (3,7). Στην τετράδα (5,6,9,10) τα κελιά 5,6 είναι ήδη κομμάτια της τετράδας (5,6,7,8) Βήμα 6: Δεν υπάρχουν άλλα ζεύγη Βήμα 7: X AB BC ACD loop 5, loop 5 loop 6, 7, 8 6, 9, 10 3, 7 C D C D C D C D A B 0 0 1 0 1 2 3 4 A B 1 1 1 1 5 6 7 8 A B 1 1 0 0 9 10 11 12 A B 0 0 0 0 13 14 15 16 Βήμα 1: Κατασκευή του πίνακα Karnaugh. Βήμα 2: Ανεύρεση & περικύκλωση απομονωμένων κελιών με περιεχόμενο «1» (δηλ. αυτών που δεν γειτνιάζουν με άλλα) Βήμα 3: Ανεύρεση & περικύκλωση αυτοτελών ζευγών κελιών με περιεχόμενο «1», δηλαδή ζευγών που περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Ανεύρεση & περικύκλωση οκτάδων κελιών με περιεχόμενο «1», ακόμα και αν κάποια κελιά τους ανήκουν σε προηγουμένως ανευρεθέντα αυτοτελή ζεύγη. Βήμα 5: Ανεύρεση & περικύκλωση τετράδων κελιών με περιεχόμενο «1» που περιέχουν ένα ή περισσότερα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 6: Ανεύρεση & περικύκλωση ζευγών κελιών με περιεχόμενο «1» για να περιληφθούν τα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 7: Διάζευξη (OR) όλων των όρων που προκύπτουν από τις παραπάνω ομάδες. 21
Απλοποίηση μέσω Πίνακα Karnaugh: Παράδειγμα - 3 Στον παρακάτω πίνακα έχει ήδη γίνει το «βήμα-1». Επομένως: Βήμα 2: Δεν υπάρχουν απομονωμένα κελιά. Βήμα 3: Τα αυτοτελή ζεύγη είναι τα (2,6), (7,8), (9,10) και (11,15). Αυτά περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Δεν υπάρχουν οκτάδες. Βήμα 5: Δεν υπάρχουν τετράδες (Στην τετράδα (6,7,10,11) όλα τα κελιά είναι ήδη τμήματα προηγουμένων ομάδων) Βήμα 6: Δεν υπάρχουν άλλα ζεύγη Βήμα 7: X ABC ACD ABC ACD 9, 10 2, 6 7, 8 11, 15 C D C D C D C D A B 0 1 0 0 1 2 3 4 A B 0 1 1 1 5 6 7 8 A B 1 1 1 0 9 10 11 12 A B 0 0 1 0 13 14 15 16 Βήμα 1: Κατασκευή του πίνακα Karnaugh. Βήμα 2: Ανεύρεση & περικύκλωση απομονωμένων κελιών με περιεχόμενο «1» (δηλ. αυτών που δεν γειτνιάζουν με άλλα) Βήμα 3: Ανεύρεση & περικύκλωση αυτοτελών ζευγών κελιών με περιεχόμενο «1», δηλαδή ζευγών που περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Ανεύρεση & περικύκλωση οκτάδων κελιών με περιεχόμενο «1», ακόμα και αν κάποια κελιά τους ανήκουν σε προηγουμένως ανευρεθέντα αυτοτελή ζεύγη. Βήμα 5: Ανεύρεση & περικύκλωση τετράδων κελιών με περιεχόμενο «1» που περιέχουν ένα ή περισσότερα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 6: Ανεύρεση & περικύκλωση ζευγών κελιών με περιεχόμενο «1» για να περιληφθούν τα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 7: Διάζευξη (OR) όλων των όρων που προκύπτουν από τις παραπάνω ομάδες. 22
Απλοποίηση μέσω Πίνακα Karnaugh: Παράδειγμα - 4 Στον παρακάτω πίνακα έχει ήδη γίνει το «βήμα-1». Επομένως: Βήμα 2: Δεν υπάρχουν απομονωμένα κελιά. Βήμα 3: Δεν υπάρχουν αυτοτελή ζεύγη. Βήμα 4: Δεν υπάρχουν οκτάδες. Βήμα 5: Δεν υπάρχουν τετράδες Βήμα 6: Τα ζεύγη φαίνονται στο σχήμα Βήμα 7: X ACD ABC ABC ACD C D C D C D C D A B 0 1 0 0 1 2 3 4 A B 0 1 1 1 5 6 7 8 A B 0 0 0 1 9 10 11 12 A B 1 1 0 1 13 14 15 16 Βήμα 1: Κατασκευή του πίνακα Karnaugh. Βήμα 2: Ανεύρεση & περικύκλωση απομονωμένων κελιών με περιεχόμενο «1» (δηλ. αυτών που δεν γειτνιάζουν με άλλα) Βήμα 3: Ανεύρεση & περικύκλωση αυτοτελών ζευγών κελιών με περιεχόμενο «1», δηλαδή ζευγών που περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Ανεύρεση & περικύκλωση οκτάδων κελιών με περιεχόμενο «1», ακόμα και αν κάποια κελιά τους ανήκουν σε προηγουμένως ανευρεθέντα αυτοτελή ζεύγη. Βήμα 5: Ανεύρεση & περικύκλωση τετράδων κελιών με περιεχόμενο «1» που περιέχουν ένα ή περισσότερα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 6: Ανεύρεση & περικύκλωση ζευγών κελιών με περιεχόμενο «1» για να περιληφθούν τα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 7: Διάζευξη (OR) όλων των όρων που προκύπτουν από τις παραπάνω ομάδες. 23
Απλοποίηση μέσω Πίνακα Karnaugh: Παράδειγμα - 5 Για το ίδιο πίνακα όμως Βήμα 2: Δεν υπάρχουν απομονωμένα κελιά. Βήμα 3: Δεν υπάρχουν αυτοτελή ζεύγη. Βήμα 4: Δεν υπάρχουν οκτάδες. Βήμα 5: Δεν υπάρχουν τετράδες Βήμα 6: Τα ζεύγη φαίνονται στο σχήμα Βήμα 7: X ABD BCD BCD ABD C D C D C D C D A B 0 1 0 0 1 2 3 4 A B 0 1 1 1 5 6 7 8 A B 0 0 0 1 9 10 11 12 A B 1 1 0 1 13 14 15 16 Δηλαδή, υπάρχουν δύο περιπτώσεις ισοδυνάμων λύσεων δεδομένου ότι και οι δύο είναι της ίδιας πολυπλοκότητας. Βήμα 1: Κατασκευή του πίνακα Karnaugh. Βήμα 2: Ανεύρεση & περικύκλωση απομονωμένων κελιών με περιεχόμενο «1» (δηλ. αυτών που δεν γειτνιάζουν με άλλα) Βήμα 3: Ανεύρεση & περικύκλωση αυτοτελών ζευγών κελιών με περιεχόμενο «1», δηλαδή ζευγών που περιέχουν ένα τουλάχιστον κελί που γειτνιάζει μόνο με το άλλο. Βήμα 4: Ανεύρεση & περικύκλωση οκτάδων κελιών με περιεχόμενο «1», ακόμα και αν κάποια κελιά τους ανήκουν σε προηγουμένως ανευρεθέντα αυτοτελή ζεύγη. Βήμα 5: Ανεύρεση & περικύκλωση τετράδων κελιών με περιεχόμενο «1» που περιέχουν ένα ή περισσότερα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 6: Ανεύρεση & περικύκλωση ζευγών κελιών με περιεχόμενο «1» για να περιληφθούν τα κελιά με περιεχόμενο «1» τα οποία δεν έχουν ήδη περικυκλωθεί προηγουμένως. Πρέπει να γίνει προσπάθεια εύρεσης του ελάχιστου αριθμού τέτοιων ομάδων. Βήμα 7: Διάζευξη (OR) όλων των όρων που προκύπτουν από τις παραπάνω ομάδες. 24
Απλοποίηση Λογικών Εκφράσεων μέσω Πινάκων Karnaugh Οι πίνακες Karnaugh μπορούν να χρησιμοποιηθούν και για απλοποίηση λογικών εκφράσεων μέσω μιας απλής μεθοδολογίας: 1. Αναπτύσσεται η λογική έκφραση έτσι ώστε να πάρουμε την μορφή «αθροίσματος απλών γινομένων» (όπου το άθροισμα αντιστοιχεί σε διαδοχικά OR ενώ το γινόμενο σε διαδοχικά AND). 2. Κατασκευάζουμε τον πίνακα Karnaugh που αντιστοιχεί στον αριθμό μεταβλητών που εμπλέκονται στην λογική έκφραση. 3. Σε κάθε γινόμενο ευρίσκεται το αντίστοιχο κελί του πίνακα Karnaugh και τοποθετείται «1». 4. Στα κελιά που απομένουν τοποθετείται «0». 5. Προχωρούμε στην απλοποίηση σύμφωνα με την διαδικασία της προηγούμενης παραγράφου. 25
Απλοποίηση Λογικών Εκφράσεων μέσω Πινάκων Karnaugh: Παράδειγμα Να απλοποιηθεί η έκφραση: y C ABD D ABC D 1. Αρχικά αναπτύσσουμε την μορφή «αθροίσματος απλών γινομένων» και παίρνουμε y ABCD CD ABC D. 2. Στην ανωτέρω έκφραση εμπλέκονται 4 μεταβλητές οπότε θα έχουμε έναν 44 πίνακα Karnaugh. 3. Σε κάθε όρο της μορφής «αθροίσματος απλών γινομένων» τα κελιά που αντιστοιχούν και γίνονται «1» είναι: 1 4. Τα υπόλοιπα κελιά (3,7,11) παίρνουν την τιμή «0». 5. Εφαρμόζοντας τα βήματα 2-7 της προηγούμενης παραγράφου C D C D C D C D A B 1 1 0 1 1 2 3 4 A B 1 1 0 1 5 6 7 8 A B 1 1 0 1 9 10 11 12 A B 1 1 1 1 13 14 15 16 26 y C AB D ABCD CD 2,6,10,14 ABC 15,16 D 1,5,9,13,4,8,12,16
Συνθήκες Τύπου «Αδιάφορο» Κατά την σχεδίαση ψηφιακών κυκλωμάτων που σχετίζονται με πρακτικές εφαρμογές είναι δυνατό ορισμένοι συνδυασμοί εισόδων, κύρια επειδή δεν συμβαίνουν ποτέ, να μην επιθυμούμε να αντιστοιχούν σε κάποια συγκεκριμένη επιθυμητή έξοδο, είναι η έξοδος δηλαδή «αδιάφορη» ( don t care ). Για παράδειγμα, στον παρακάτω πίνακα αληθείας οι συνδυασμοί εισόδων (Α=0, Β=C=1) και (Α=1, Β=C=0) έχουν μη συγκεκριμένη επιθυμητή έξοδο, δηλαδή x. Στην κατασκευή του πίνακα Karnaugh που αντιστοιχεί είναι προφανές ότι τα αντίστοιχα κελιά θα πάρουν την τιμή x. Κατά συνέπεια είναι λογικό να θεωρήσουμε τα διάφορα x να παίρνουν, κατά περίπτωση, τέτοιες τιμές ώστε να συντελούν στην δημιουργία μεγαλυτέρων ομάδων πράγμα που θα οδηγήσει σε απλούστερα κυκλώματα. Δεδομένου ότι δεν υπάρχει συστηματικός τρόπος για να αποφασίσουμε την τιμή των x θα πρέπει να στηριχθούμε σε εποπτεία. 27
Τυπικά Συνδυαστικά Κυκλώματα Τα συνδυαστικά κυκλώματα είναι μία κατηγορία ψηφιακών κυκλωμάτων των οποίων οι έξοδοι, κάθε στιγμή, είναι συναρτήσεις των εισόδων τους και μόνον, εκείνη την στιγμή. Αποκωδικοποιητές (Decoders) Είναι συνδυαστικά κυκλώματα που επιτρέπουν την μετατροπή ενός δυαδικού αριθμού σε κάποιο άλλο τύπο (format). Έτσι, αν έχουν n εισόδους μπορούν να έχουν μέχρι 2 n γραμμές εξόδου και σε κάθε είσοδο να δημιουργείται κάποιο ζητούμενο πρότυπο (pattern) εξόδου. Κλασσικό παράδειγμα είναι το ψηφιακό κύκλωμα που οδηγεί τον SSD. Ένα τέτοιο κύκλωμα φαίνεται στο σχήμα. x(t) Combinatorial Digital Circuit b g y t c b gh f x t y(t) Αν θελήσουμε να αναλύσουμε αυτό το κύκλωμα, μπορούμε να κατασκευάσουμε τον πίνακα αληθείας που αντιστοιχεί στις απαιτούμενες ενεργοποιήσεις των φωτοδιόδων. Χρησιμοποιώντας την μεθοδολογία της προηγουμένης παραγράφου μπορεί κανείς να βρει τις λογικές συναρτήσεις 28
Τυπικά Συνδυαστικά Κυκλώματα Αθροιστής (Adder) Ο αθροιστής είναι ένα πολύ σημαντικό κύκλωμα επειδή μέσω αυτού πραγματοποιούνται όχι μόνο η πρόσθεση αλλά και οι άλλες πράξεις. Το σχήμα δείχνει το IC 7483 που είναι ένας αθροιστής τεσσάρων bit. 29
Τυπικά Συνδυαστικά Κυκλώματα Πολυπλέκτες (Multiplexers MUX) Συνδυαστικά κυκλώματα με τα οποία είναι δυνατή κάθε φορά, μέσω n γραμμών επιλογής, η διέλευση μίας εισόδου από τις 2 n γραμμές εισόδου. Στο σχήμα έχουμε ένας πολυπλέκτη με 3 γραμμές επιλογής (A,B,C), 8 γραμμές εισόδου D0, D1,, D7 και την γραμμή εξόδου Ζ και την αντίστροφή της, π.χ. για A=1, B=0, C=1 τότε 101 5 οπότε διέρχεται η 5η γραμμή δηλ. Χρησιμοποιούνται σε βιομηχανικά ABC 2 2 10 ηλεκτρονικά κυκλώματα και ιδιαίτερα σε Σ.Α.Ε. που απαιτείται δειγματοληψία για μετρήσεις. Τα συστήματα συλλογής δεδομένων (Data Acquisition Systems - DAQ) χρησιμοποιούν MUX στην είσοδό τους για εισαγωγή μετρήσεων (π.χ. πίεση, θερμοκρασία) σε έναν μικροϋπολογιστή ελέγχου. Z 30 D 5
Τυπικά Συνδυαστικά Κυκλώματα Μία εφαρμογή ελέγχου φαίνεται στο σχήμα όπου αισθητήρες μετρούν στο δοχείο: πίεση, θερμοκρασία, ύψος υγρού και εισροή υγρού. Ακολουθείται μία πολύ απλή στρατηγική ελέγχου σύμφωνα με την οποία: όταν 3 από τις 4 μεταβλητές εξόδου ξεπεράσουν κάποια όρια (έλθουν στην κατάσταση 1 ) τότε ενεργοποιείται ο συναγερμός (Ζ=1) άλλως είναι ανενεργός (Ζ=0). 31
Τυπικά Συνδυαστικά Κυκλώματα Αποπολυπλέκτες (Demultiplexers DEMUX) Kάνουν ακριβώς το αντίθετο σε σχέση με τους πολυπλέκτες: δηλ. κάνουν δυνατή την σε κάθε στιγμή, μέσω γραμμών επιλογής, διέλευση μίας και μοναδικής εισόδου σε μία επιλεχθείσα γραμμή εξόδου. Στο σχήμα έχουμε πολυπλέκτης με n=3 γραμμές επιλογής(a,b,c), 2 n =8 γραμμές εξόδου O0, O1,, O7 π.χ. για A=1, B=0, C=1 οπότε διέρχεται η είσοδος προς την 5 η γραμμή εξόδου δηλ. O Control Systems Laboratory ABC 2 101 2 5 10 5 Input 32
Flip-Flop Το flip-flop είναι ένα βασικό στοιχείο μίας κατηγορίας ψηφιακών κυκλωμάτων των οποίων η έξοδος εξαρτάται όχι μόνο από την τρέχουσα τιμή εισόδου, όπως στα συνδυαστικά κυκλώματα, αλλά και από την προηγούμενη κατάστασή της, δηλαδή b g b g b g y t fcx t, y t 1h Αυτά τα κυκλώματα λέγονται σειριακά (sequential) και όπως φαίνεται από την παραπάνω σχέση εμπεριέχουν κάποια ιδιότητα μνήμης. Το flip-flop είναι σειριακό κύκλωμα που έχει την δυνατότητα αποθήκευσης μιας κατάστασης (1 ή 0), ενός bit δηλαδή. Υπάρχουν πολλές κατηγορίες flip-flop, αλλά εμείς θα εξετάσουμε τρία πολύ απλά αλλά και πολύ συχνά χρησιμοποιημένα είδη flipflop, τα : RS, D και JK. 33
Flip-Flop: RS Έχει δύο εισόδους, την είσοδο θέσης S (set) και την είσοδο επαναφοράς R (reset), και δύο εξόδους, τις Q και Q, που σε κανονική λειτουργία θα πρέπει να είναι συμπληρωματικές Q' Q. Tα RS flip-flop μπορούν να υλοποιηθούν είτε με πύλες NOR είτε με NAND. Είναι εύκολο να πιστοποιήσουμε ότι και για τις δύο υλοποιήσεις : Θέση : όταν S=1, R=0 τότε Q=1, Q' Q=0 Επαναφορά : όταν S=0, R=1 τότε Q=0, Q' Q =1, και Αποθήκευση : όταν S=0, R=0 τότε Q(t+1)=Q(t), Q (t+1)=q (t)= Q (t) Ο συνδυασμός εισόδων S=1, R=1 δεν είναι επιθυμητός μιας και οδηγεί σε ταυτοποίηση των εξόδων. Αυτή η συμπεριφορά καταγράφεται στον παρακάτω πίνακα αληθείας. S R S R Q' Q 0 1 Q 34 1 0 1 0 SET CLR Q' S R Q(t+1) 0 0 Q(t) 0 1 0 1 0 1 1 1 - S R Q Q 0 1 0
Flip-Flop: D Είναι ένας τύπος συγχρονιζόμενου flip-flop, δηλαδή ενός flip-flop όπου οι έξοδοί του δεν αλλάζουν μόνο με αλλαγή των εισόδων R, S αλλά χρειάζεται ένας ωρολογιακός παλμός (clocking pulse). To D flip-flop φαίνεται στο σχήμα μαζί με τον πίνακα αληθείας του. Προφανώς η πύλη ΝΟΤ χρησιμοποιήθηκε για να εξασφαλίσει ότι οι είσοδοι του RS flip-flop θα είναι πάντοτε συμπληρωματικές. T D Q(t+1) 0 0 Q(t) 0 1 Q(t) 1 0 0 1 1 1 35 D clock T D T SET CLR Q Q Q Q'
Flip-Flop: JK Είναι ο πιο ευρέως χρησιμοποιούμενος τύπος flip-flop στα βιομηχανικά ηλεκτρονικά. Ανήκει στην κατηγορία των συγχρονιζομένων flip-flop και το βασικό χαρακτηριστικό του είναι ότι έχει ελεγχόμενη συμπεριφορά σε όλους τους συνδυασμούς των εισόδων JK. Η συμπεριφορά του είναι παρόμοια με αυτή του RS με το πρόσθετο επιθυμητό χαρακτηριστικό ότι η είσοδος J=1, K=1 έχει σαν αποτέλεσμα απλή αντιστροφή των εξόδων. Υπάρχουν και εξελιγμένοι τύποι αυτού του flipflop στους οποίους οι έξοδοι επηρεάζονται όχι όταν η τιμή του ρολογιού είναι 1, αλλά όταν έχουμε τις μεταβολές του ρολογιού: θετικά διεγειρόμενο JK flip-flop (positive edgetriggered JK flip-flop) J clock T T J K SET CLR K Q Q Q Q' J K Q(t+1) 0 0 Q(t) 0 1 0 1 0 1 1 1 Q (t) αρνητικά διεγειρόμενο JK flip-flop (negative edge-triggered JK flip-flop) 36 T J K SET CLR Q Q
O u t p u t P a t t e r n Control Systems Laboratory Καταχωρητές (Registers) Ο καταχωρητής είναι μία ψηφιακή διάταξη αποθήκευσης bit. Το σχήμα δείχνει ένα τυπικό καταχωρητή αποθήκευσης με (positive edge-triggered) D flip-flop, που αποθηκεύει μία 4-μπιτη λέξη. Όταν η είσοδος περιέχει μία λέξη, πχ. 1101, τότε όταν το ρολόι δώσει παλμό (010, ) αυτή η λέξη εμφανίζεται και στις εξόδους Q, και παραμένει εκεί άθικτη μέχρι την επόμενη θετική διέργεση από το ρολόι. Στο καταχωρητή ολίσθησης (shift register) το πρότυπο των bit που είναι αποθηκευμένα ολισθαίνουν δεξιά. Χρησιμοποιείται σε μια σειρά εφαρμογών όπως αλλαγή δεδομένων από ένα format σε άλλο, έλεγχο αλληλουχίας, κυκλώματα χρονισμού κ.λ.π. Αν υποθέσουμε ότι θέλουμε να εισάγουμε σε αυτό τον καταχωρητή την λέξη 1011, δηλαδή στο τέλος να έχουμε τότε σε κάθε αρνητική διέγερση του παλμού ρολογιού εισάγονται ένα-ένα τα bits που βρίσκονται εκείνη τη στιγμή στην είσοδο, δηλαδή εισάγουμε την σειρά 1,1,0,1 και σταδιακά οι έξοδοι των flip-flop γίνονται... Η εισαγωγή των δεδομένων γίνεται σειριακά ενώ αυτές διατίθενται παράλληλα. J K Q(t+1) 0 0 Q(t) 0 1 0 1 0 1 1 1 Q (t) I n p u t P a t t e r n 1 1 0 1 Clock Παλμός Ρολογιού 37 D D D D SET CLR SET CLR SET CLR SET CLR Q Q Q Q Q Q Q Q Q1 Q Q 2 3 Q4 0 0 0 0 0 1 1 0 0 0 2 1 1 0 0 3 0 1 1 0 4 1 0 1 1 1 1 0 1
Καταχωρητές (Registers) Μια μικρή παραλλαγή του καταχωρητή ολίσθησης είναι ο δακτυλιοειδής απαριθμητής (ring counter). Όπως φαίνεται στο σχήμα, η έξοδος του τελευταίου flipflop συνδέεται άμεσα με το πρώτο και έτσι η λέξη των bit επανέρχεται κυκλικά, όπως φαίνεται και στον πίνακα. Παλμοί Q Ρολογιού 1 Q2 Q3 0 1 0 0 1 0 1 0 2 0 0 1 3 1 0 0 4 0 1 0 5 0 0 1 38
J K Q(t+1) 0 0 Q(t) 0 1 0 1 0 1 1 1 Q (t) Απαριθμητές (Counters) Παλμοί Ρολογιού Q 1 1 2 3 4 5 6 7 8 9 10 Q 2 Q 3 Q 4 Οι απαριθμητές είναι ακολουθιακά κυκλώματα που χρησιμοποιούνται για να μετρήσουν τον αριθμό δυαδικών παλμών που εφαρμόζονται σε αυτόν. Χρησιμοποιούνται σε βιομηχανικές εφαρμογές καταγραφής αριθμού αντικειμένων σε μεταφορική ταινία, μέτρησης μήκους παραγομένου υλικού, μέτρησης στροφών στρεφόμενης μηχανής κλπ. Οι ψηφιακοί απαριθμητές κατασκευάζονται με flip-flop (συνήθως JK), και είναι είτε σειριακοί είτε παράλληλοι. Ο απλούστερος τύπος απαριθμητή είναι ο σειριακός (series) ή ασύγχρονος (asynchronous) απαριθμητής που χρησιμοποιεί την έξοδο του ενός flip-flop σαν είσοδο ρολογιού στο επόμενο. Διακρίνουμε τους απαριθμητές σε αυξανόμενους (up-counters) ή ελαττούμενους (down-counters). Οι πρώτοι αυξάνουν την αποθηκευμένη αριθμητική τους τιμή σε κάθε παλμό, εν αντιθέσει με τους δεύτερους. Είναι προφανές ότι για τον 4bit ασύγχρονο αυξανόμενο απαριθμητή του σχήματος αντιστοιχούν 16 καταστάσεις. Δεδομένου ότι όλοι οι είσοδοι των flip-flop είναι 1, η έξοδός τους θα εναλλάσσεται κάθε φορά που έχουμε αρνητική μετάβαση σε ένα παλμό ρολογιού (λόγω των αρνητικά διεγειρόμενων JK flip-flop). Clock Pulses Q4 Q3 2 Q 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 Q 1 15 1 1 1 1 16 0 0 0 0 39
Δεκαδικοί Απαριθμητές (BCD Counters) Χρήσιμοι στις βιομηχανικές εφαρμογές μιας και είναι κατάλληλοι για οπτική απεικόνιση. Στο σχήμα φαίνεται ο ασύγχρονος BCD απαριθμητής τύπου 8421. Η διάταξη αυτή παρέχεται εμπορικά με την μορφή του IC 7490. Στο σχήμα φαίνεται ένα κύκλωμα απαρίθμησης που χρησιμοποιείται σε καταμέτρηση αντικειμένων σε μεταφορική ταινία. Ο διακόπτης LS1 παρέχει δρα σαν διεγέρτης σε μία σειρά τεσσάρων IC 7490 στα οποία αντιστοιχεί ένας αποκωδικοποιητής που οδηγεί ένα ψηφιοδείκτη 7 τμημάτων (SSD). Προφανώς ο κύκλος μέτρησης αυτού του συστήματος είναι 0 έως 9999. Στο σχήμα φαίνεται η υλοποίηση ενός αυξανόμενου/ελαττούμενου απαριθμητή (δυνατότητα τόσο αυξήσεως όσο και ελαττώσεως ανάλογα με το σήμα διέγερσης). Όταν το σήμα ελέγχου μετρήσεως (count control) είναι 1 τότε έχουμε αύξηση, ενώ όταν είναι 0, έχουμε ελάττωση. Οι είσοδοι JK είναι πάντοτε 1 και γι αυτό δεν φαίνονται στο σχήμα. 40
Πολυδονητές Tα flip-flop μπορούν να οδηγηθούν σε δύο ευσταθείς καταστάσεις και γι αυτό αποκαλούνται και δισταθείς πολυδονητές (bistable multivibrators). Επίσης υπάρχουν κυκλώματα: με μία μόνο ευσταθή κατάσταση που αποκαλούνται μονοσταθείς πολυδονητές (monostable multivibrators) που δεν έχουν ευσταθείς καταστάσεις, όπου δηλαδή ταλαντώνονται μεταξύ δύο ασταθών καταστάσεων και αποκαλούνται ασταθείς πολυδονητές (astable multivibrators). Οι δύο τελευταίες κλάσεις κυκλωμάτων χρησιμοποιούνται σε κυκλώματα χρονισμού. Τα κυκλώματα χρονισμού έχουν όλο και μεγαλύτερη απήχηση σε βιομηχανικές εφαρμογές λόγω της μεγάλης αξιοπιστίας τους και χαμηλού κόστους των. 41
Χρονιστές Πολλά κυκλώματα χρονισμού στηρίζονται στο κλασσικό, γενικής χρήσεως και ευρέως χρησιμοποιούμενο ολοκληρωμένο κύκλωμα (IC), το 555 Η τάση τροφοδοσίας VCC 5Vδιαιρείται μέσω του διαιρέτη τάσης των 3 αντιστάσεων 5kΩ (στο οποίο οφείλει και το όνομά του, 5-5-5) στις τάσεις αναφοράς των δύο συγκριτών, για τον 1 και V CC 3 για τον 2. Όταν ο ακροδέκτης trigger πέσει κάτω από τότε η έξοδος του 2 αλλάζει κατάσταση (άνω κορεσμός) που οδηγεί την έξοδο, μέσω του flip-flop και του αναστροφέα, στην κατάσταση high. Όταν ο ακροδέκτης threshold ανέβει πάνω από 2V CC 3 τότε η έξοδος του 1 αλλάζει κατάσταση (άνω κορεσμός) που οδηγεί την έξοδο, μέσω του flip-flop και του αναστροφέα, στην κατάσταση low. 2 3 V CC V CC 3 S R Q(t+1) 0 0 Q(t) 0 1 0 1 0 1 1 1-42
Αυτό το φαινόμενο σε ορισμένους πολυδονητές (τύπου retriggerable) δεν συμβαίνει, δηλαδή μια διέγερση που λαμβάνει την χρονική στιγμή t i σημαίνει ότι η έξοδος θα είναι ΟΝ μέχρι την στιγμή t i +t p ακόμα και όταν η έξοδος είναι ΟΝ την στιγμή t i. Μονοσταθείς Πολυδονητές Είναι κυκλώματα που ανταποκρίνονται σε κάποια διέγερση (trigger) εισόδου Τ, θέτοντας «άμεσα» την έξοδό τους σε κατάσταση διέγερσης (ΟΝ) επί ένα χρονικό διάστημα ενώ μετά επιστρέφουν στην ευσταθή κατάστασή τους (OFF). Σαν παράδειγμα: Τ 0 1 2 3 4 5 6 7 8 9 (ms) Η έξοδος: t p t p ανταποκρίνεται επί χρόνο στην διέγερση που λαμβάνει χώρα τις στιγμές 1 & 5, ενώ δεν ανταποκρίνεται στην διέγερση που λαμβάνει χώρα τη στιγμή 6 δεδομένου ότι εκείνη την στιγμή είναι ήδη σε διέγερση. Ο μονοσταθής πολυδονητής του σχήματος βασίζεται στον 555 και χρησιμοποιείται σε ηλεκτρονικές διατάξεις που απαιτούν μικρό t p Υπάρχουν άλλα IC πολυδονητών που χρησιμοποιούνται ανάλογα με τις απαιτήσεις μας (π.χ. το SN74121) και στα οποία η τιμή t p δίδεται από συναρτήσεις τιμών εξωτερικά συνδεδεμένων αντιστάσεων και πυκνωτών. t p Βιομηχανικά Ηλεκτρονικά - Κ.Ι.Κυριακόπουλος 43
Ασταθείς Πολυδονητές Είναι κυκλώματα που παρέχουν μια επαναλαμβανόμενη κυματομορφή του τύπου Το σχήμα δείχνει έναν 555 με δίκτυο RC που παράγει μία τέτοια κυματομορφή που έχει συχνότητα και χαρακτηριστικά 1 2 f t 0.693 R C 1 T B όπου RA RB 6.6 0.693 A B 12 C 500 pf 1pF 10 F t R R C t1 t2 RA 1k T t t 1 2 Προφανώς αν RB RA τότε 1 2 οπότε μπορεί το κύκλωμα να χρησιμοποιηθεί σαν ρολόι (clock) σε κυκλώματα που απαιτούν χρονισμό. t 44 t
Control Systems Laboratory Άλλοι Τύποι Ρολογιών Οι πύλες τύπου ΝΟΤ είναι δυνατόν, όταν η διεγείρουσα είσοδός τους είναι σχετικά αργή, να παρουσιάσουν ανεπιθύμητη αστάθεια (ταλαντώσεις) στην έξοδό τους πριν την μετάβαση στην τελική τους κατάσταση πράγμα που δεν συνάδει με την αναμενόμενη ψηφιακή «συμπεριφορά» τους που τις θέλει να μεταβαίνουν σχεδόν ακαριαία και χωρίς ταλαντώσεις από την μία κατάσταση στην άλλη. Ένας αναστροφέας Schmitt-Trigger (Schmitt-Trigger Inverter) είναι ένα IC τύπου ΝΟΤ το οποίο έχει το χαρακτηριστικό ότι έχει ευσταθή απόκριση ανεξάρτητα από το πόσο αργή είναι η διεγείρουσα είσοδός του. Αυτή η ευσταθής συμπεριφορά τον κάνει κατάλληλο για χρήση σε κυκλώματα ρολογιού τύπου Schmitt-Trigger Ταλαντωτή (Schmitt-Trigger Oscillator) όπως στο παρακάτω σχήμα όπου ανάλογα με το τύπο IC που χρησιμοποιούμε για τον αναστροφέα Schmitt-Trigger έχουμε και τις ανάλογες συναρτήσεις που δίνουν την συχνότητα της κυματομορφής εξόδου. Σε εφαρμογές όπου απαιτείται πολύ ακριβής χρονισμός (π.χ. μυ κλπ) τα παραπάνω κυκλώματα δεν είναι δυνατόν να χρησιμοποιηθούν δεδομένων των μη ακριβώς γνωστών τιμών των στοιχείων R,C ένεκα θερμοκρασίας και γήρανσης των. Σε αυτές τις περιπτώσεις χρησιμοποιούνται ειδικά IC κρυσταλλικών ταλαντωτών (crystal oscillators) που στηρίζονται σε κρυστάλλους χαλαζία των οποίων το μέγεθος και σχήμα καθορίζει με ακρίβεια την συχνότητα ταλάντωσής τους (10 khz 80 MHz) ανεξάρτητα από θερμοκρασία και γήρανση. Τύπος IC του Συχνότητα Περιορισμοί αναστροφέα Schmitt-Trigger 7414 0.8/RC R 500 Ω 74LS14 0.8/RC R 2 kω 74HC14 1.2/RC R 10 MΩ R C 100 pf 45 +5 V V out Αναστροφέας Schmitt-Trigger 4 V 0 V