- Βασική αρχή του αποκωδικοποιητή:
- Μειονεκτήματα των τυπικών αποκωδικοποιητών:
- Αποκωδικοποιητής προτεραιότητας:
- 3: 8 Αποκωδικοποιητές:
- 4:16 Αποκωδικοποιητής:
- Εφαρμογές:
Ο αποκωδικοποιητής είναι ένας τύπος συνδυαστικού κυκλώματος που αποκωδικοποιεί μια τιμή μικρού bit σε τιμή μεγάλου bit. Συνήθως χρησιμοποιείται σε συνδυασμό με κωδικοποιητές που κάνει ακριβώς το αντίθετο από αυτό που κάνει ένας αποκωδικοποιητής, οπότε διαβάστε για τους κωδικοποιητές εδώ προτού συνεχίσετε με τους αποκωδικοποιητές. Και πάλι, όπως και οι Encoders, υπάρχουν και πολλοί τύποι αποκωδικοποιητών, αλλά ο αριθμός των γραμμών εξόδου σε έναν αποκωδικοποιητή θα είναι πάντα μεγαλύτερος από τον αριθμό των γραμμών εισόδου. Θα μάθουμε πώς λειτουργεί ένας αποκωδικοποιητής και πώς μπορούμε να δημιουργήσουμε ένα για το έργο μας σε αυτό το σεμινάριο.
Βασική αρχή του αποκωδικοποιητή:
Όπως ειπώθηκε νωρίτερα, ο αποκωδικοποιητής είναι απλώς ένα αντίθετο μέρος ενός κωδικοποιητή. Παίρνει έναν συγκεκριμένο αριθμό δυαδικών τιμών ως εισόδους και αποκωδικοποιεί έπειτα σε περισσότερες γραμμές χρησιμοποιώντας λογική. Ένα δείγμα αποκωδικοποιητή φαίνεται παρακάτω, ο οποίος λαμβάνει 2 γραμμές ως είσοδο και τους μετατρέπει σε 4 γραμμές.
Ένας άλλος κανόνας με τους αποκωδικοποιητές είναι ότι, εάν ο αριθμός των εισόδων θεωρείται ως n (εδώ n = 2), τότε ο αριθμός των εξόδων θα είναι πάντα ίσος με 2 n (2 2 = 4) που είναι τέσσερις στην περίπτωσή μας. Ο αποκωδικοποιητής έχει 2 γραμμές εισόδου και 4 γραμμές εξόδου. Ως εκ τούτου, αυτός ο τύπος αποκωδικοποιητή ονομάζεται αποκωδικοποιητής 2: 4. Οι δύο ακίδες εισόδου ονομάζονται I1 και I0 και οι τέσσερις ακίδες εξόδου ονομάζονται από O0 έως O3 όπως φαίνεται παραπάνω.
Είναι επίσης σημαντικό να γνωρίζουμε ότι ένας συνηθισμένος αποκωδικοποιητής όπως αυτός που εμφανίζεται εδώ έχει ένα μειονέκτημα ότι δεν είναι σε θέση να διακρίνει μεταξύ της κατάστασης και των δύο εισόδων να είναι μηδέν (δεν είναι συνδεδεμένα με άλλα κυκλώματα) και των δύο εισόδων να είναι χαμηλές (λογική 0). Αυτό το μειονέκτημα μπορεί να επιλυθεί χρησιμοποιώντας έναν αποκωδικοποιητή προτεραιότητας τον οποίο θα μάθουμε αργότερα σε αυτό το άρθρο. Ο πίνακας αλήθειας ενός συνηθισμένου αποκωδικοποιητή φαίνεται παρακάτω
Από τον πίνακα αλήθειας αποκωδικοποιητή μπορούμε να γράψουμε την έκφραση Boolean για κάθε γραμμή εξόδου, απλώς ακολουθήστε όπου η έξοδος γίνεται υψηλή και σχηματίζουμε μια λογική AND βασισμένη στις τιμές των I1 και I0. Είναι πολύ παρόμοιο με τη μέθοδο Encoder, αλλά εδώ χρησιμοποιούμε τη λογική AND αντί για τη λογική OR. Η Boolean Expression και για τις τέσσερις γραμμές δίνονται παρακάτω, όπου το σύμβολο (.) Αντιπροσωπεύει AND λογική και το σύμβολο (') αντιπροσωπεύει NOT Logic
O 0 = I 1 '. I 0 ' O 1 = I 1 '.I 0 O 2 = I 1.I 0 ' O 3 = I 1.I 0
Τώρα που έχουμε και τις τέσσερις εκφράσεις μπορούμε να μετατρέψουμε αυτές τις εκφράσεις σε ένα συνδυαστικό κύκλωμα πύλης λογικής χρησιμοποιώντας τις πύλες AND και NOT πύλες. Απλώς χρησιμοποιήστε τις πύλες AND στη θέση του (.) Και μια πύλη NOT (ανεστραμμένη λογική) στη θέση του (') και θα λάβετε το ακόλουθο λογικό διάγραμμα.
Ας δημιουργήσουμε το διάγραμμα κυκλώματος αποκωδικοποιητή 2: 4 στο breadboard και να δούμε πώς λειτουργεί στην πραγματική ζωή. Για να λειτουργήσει ως υλικό, πρέπει να χρησιμοποιήσετε το λογικό IC πύλης όπως το 7404 για NOT πύλη και το 7408 για το AND. Οι δύο είσοδοι I0 και I1 παρέχονται μέσω ενός μπουτόν και η έξοδος παρατηρείται μέσω των φώτων LED. Μόλις κάνετε τη σύνδεση στο breadboard θα μοιάζει κάπως έτσι στην παρακάτω εικόνα
Η πλακέτα τροφοδοτείται από εξωτερική τροφοδοσία + 5V, η οποία με τη σειρά της τροφοδοτεί την πύλη IC μέσω των ακίδων Vcc (pin 14) και γείωσης (pin 7). Η είσοδος δίνεται από κουμπιά, όταν πατηθεί είναι λογική 1 και όταν δεν πατηθεί δίνει λογική 0, προστίθεται επίσης μια αντίσταση προς τα κάτω της αξίας 1k κατά μήκος των γραμμών εισόδου για να αποφευχθεί η επιπλέουσα κατάσταση των ακίδων. Οι γραμμές εξόδου (O0 έως O3) δίνονται μέσω αυτών των κόκκινων λυχνιών LED, εάν ανάβουν είναι λογική 1 αλλιώς είναι λογική 0. Η πλήρης λειτουργία αυτού του κυκλώματος αποκωδικοποιητή εμφανίζεται στο παρακάτω βίντεο
Σημειώστε ότι ο πίνακας αλήθειας για κάθε είσοδο εμφανίζεται στην επάνω αριστερή γωνία και το LED ανάβει επίσης με τον ίδιο τρόπο. Παρομοίως, μπορούμε επίσης να δημιουργήσουμε συνδυαστικό λογικό διάγραμμα για όλους τους τύπους αποκωδικοποιητών και να τα χτίσουμε σε υλικό σαν αυτό. Μπορείτε επίσης να εξετάσετε τα άμεσα διαθέσιμα IC αποκωδικοποιητή εάν το έργο σας ταιριάζει.
Μειονεκτήματα των τυπικών αποκωδικοποιητών:
Ακριβώς όπως ένας κωδικοποιητής, ο τυπικός αποκωδικοποιητής πάσχει επίσης από το ίδιο πρόβλημα, εάν και οι δύο είσοδοι δεν είναι συνδεδεμένες (λογική X), η έξοδος δεν θα παραμείνει ως μηδέν. Αντίθετα, ο αποκωδικοποιητής θα το θεωρήσει λογική 0 και το bit O0 θα γίνει υψηλό.
Αποκωδικοποιητής προτεραιότητας:
Έτσι, χρησιμοποιούμε τον αποκωδικοποιητή προτεραιότητας για να ξεπεράσουμε αυτό το πρόβλημα, αυτός ο τύπος αποκωδικοποιητή έχει έναν επιπλέον ακροδέκτη εισόδου με την ένδειξη "E" (Ενεργοποίηση) ο οποίος θα συνδεθεί με τον έγκυρο ακροδέκτη του αποκωδικοποιητή προτεραιότητας. Το διάγραμμα μπλοκ για έναν αποκωδικοποιητή προτεραιότητας φαίνεται παρακάτω.
Ο πίνακας αλήθειας για έναν κωδικοποιητή προτεραιότητας εμφανίζεται επίσης παρακάτω, εδώ το X δεν αντιπροσωπεύει καμία σύνδεση και το «1» αντιπροσωπεύει τη λογική υψηλή και το «0» αντιπροσωπεύει τη λογική χαμηλή. Σημειώστε ότι το bit ενεργοποίησης είναι 0 όταν δεν υπάρχει σύνδεση στις γραμμές εισόδου και ως εκ τούτου οι γραμμές εξόδου θα παραμείνουν επίσης μηδέν. Με αυτόν τον τρόπο θα μπορέσουμε να ξεπεράσουμε το προαναφερθέν μειονέκτημα.
Όπως πάντα από τον πίνακα αλήθειας μπορούμε να οδηγήσουμε την έκφραση Boolean για τις γραμμές εξόδου O0 έως O3. Η Boolean Expression για τον παραπάνω πίνακα αλήθειας φαίνεται παρακάτω. Εάν ρίξετε μια πιο προσεκτική ματιά, μπορείτε να παρατηρήσετε ότι η έκφραση είναι ίδια με αυτήν ενός κανονικού αποκωδικοποιητή 2: 4 αλλά το Ενεργοποίηση bit (E) έχει γίνει στο AND με την έκφραση.
O 0 = EI 1 '. I 0 ' O 1 = EI 1 '. I 0 O 2 = EI 1.I 0 ' O 3 = EI 1.I 0
Το συνδυαστικό λογικό διάγραμμα για την παραπάνω έκφραση Boolean μπορεί να δημιουργηθεί χρησιμοποιώντας δύο μετατροπείς (NOT Gates) και 3 εισόδους και πύλες AND. Απλώς αντικαταστήστε το σύμβολο (') με μετατροπείς και το σύμβολο (.) Με πύλη AND και θα λάβετε το ακόλουθο λογικό διάγραμμα.
3: 8 Αποκωδικοποιητές:
Υπάρχουν επίσης μερικοί αποκωδικοποιητές υψηλότερης τάξης όπως ο αποκωδικοποιητής 3: 8 και ο αποκωδικοποιητής 4:16 που χρησιμοποιούνται πιο συχνά. Αυτοί οι αποκωδικοποιητές χρησιμοποιούνται συχνά σε πακέτα IC για την πολυπλοκότητα του κυκλώματος. Είναι επίσης πολύ συνηθισμένο να συνδυάζετε αποκωδικοποιητές χαμηλότερης τάξης όπως οι αποκωδικοποιητές 2: 4 για να σχηματίσετε αποκωδικοποιητή υψηλότερης τάξης. Για παράδειγμα, γνωρίζουμε ότι ένας αποκωδικοποιητής 2: 4 έχει 2 εισόδους (I0 και I1) και 4 εξόδους (O0 έως O3) και ένας αποκωδικοποιητής 3: 8 έχει τρεις εισόδους (I0 έως I2) και οκτώ εξόδους (O0 έως O7). Μπορούμε να χρησιμοποιήσουμε τους ακόλουθους τύπους για να υπολογίσουμε τον αριθμό των αποκωδικοποιητών χαμηλότερης τάξης (2: 4) που απαιτούνται για να σχηματίσουμε έναν αποκωδικοποιητή υψηλότερης τάξης όπως τον αποκωδικοποιητή 3: 8
Απαιτούμενος αριθμός αποκωδικοποιητή χαμηλότερης τάξης = m2 / m1 Όπου, m2 -> αριθμός εξόδων για αποκωδικοποιητή χαμηλότερης τάξης m1 -> αριθμός εξόδων για αποκωδικοποιητή υψηλότερης τάξης
Στην περίπτωσή μας, η τιμή του m1 θα είναι 4 και η τιμή του m2 θα είναι 8, οπότε εφαρμόζοντας αυτές τις τιμές στους παραπάνω τύπους παίρνουμε
Απαιτούμενος αριθμός 2: 4 Αποκωδικοποιητής για 3: 8 Αποκωδικοποιητής = 8/4 = 2
Τώρα ξέρουμε ότι θα χρειαζόμαστε δύο αποκωδικοποιητές 2: 4 για να σχηματίσουμε έναν αποκωδικοποιητή 3: 8, αλλά πώς πρέπει να συνδεθούν αυτά τα δύο για να συγκεντρωθούν. Το παρακάτω διάγραμμα μπλοκ δείχνει ακριβώς αυτό
Όπως μπορείτε να δείτε, οι είσοδοι A0 και A1 συνδέονται ως παράλληλες είσοδοι και για τους δύο αποκωδικοποιητές και, στη συνέχεια, ο Ενεργοποιημένος πείρος του πρώτου αποκωδικοποιητή γίνεται για να λειτουργεί ως A2 (τρίτη είσοδος). Το ανεστραμμένο σήμα του A2 δίνεται στον Ενεργοποιημένο πείρο του δεύτερου αποκωδικοποιητή για να πάρει τις εξόδους Y0 έως Y3. Εδώ οι έξοδοι Υ0 έως Υ3 αναφέρονται ως Κάτω τέσσερα λεπτά και οι έξοδοι Υ4 έως Υ7 αναφέρονται ως υψηλότερα τέσσερα λεπτά. Τα minterms χαμηλότερης τάξης λαμβάνονται από τον δεύτερο αποκωδικοποιητή και τα minterms υψηλότερης τάξης λαμβάνονται από τον πρώτο αποκωδικοποιητή. Παρόλο που ένα αξιοσημείωτο μειονέκτημα σε αυτόν τον τύπο συνδυαστικής σχεδίασης είναι αυτό, ο αποκωδικοποιητής δεν θα έχει έναν Ενεργοποιημένο πείρο που τον καθιστά ευαίσθητο στα προβλήματα που έχουμε συζητήσει νωρίτερα.
4:16 Αποκωδικοποιητής:
Παρόμοια με έναν αποκωδικοποιητή 3: 8, ένας αποκωδικοποιητής 4:16 μπορεί επίσης να κατασκευαστεί συνδυάζοντας δύο αποκωδικοποιητές 3: 8. Για έναν αποκωδικοποιητή 4: 16 θα έχουμε τέσσερις εισόδους (A0 έως A3) και δεκαέξι εξόδους (Y0 έως Y15). Ενώ για έναν αποκωδικοποιητή 3: 8 θα έχουμε μόνο τρεις εισόδους (A0 έως A2).
Έχουμε ήδη χρησιμοποιήσει τους τύπους για να υπολογίσουμε τον απαιτούμενο αριθμό αποκωδικοποιητή, σε αυτήν την περίπτωση η τιμή του m1 θα είναι 8 αφού ο αποκωδικοποιητής 3: 8 έχει 8 εξόδους και η τιμή του m2 θα είναι 16 αφού ο αποκωδικοποιητής 4:16 έχει 16 εξόδους, οπότε εφαρμόζουμε αυτές τις τιμές στους παραπάνω τύπους
Απαιτούμενος αριθμός 3: 8 Αποκωδικοποιητής για 4:16 Αποκωδικοποιητής = 16/8 = 2
Επομένως, απαιτούμε δύο αποκωδικοποιητές 3: 8 για την κατασκευή αποκωδικοποιητή 4:16, η διάταξη αυτών των δύο αποκωδικοποιητών 3: 8 θα είναι επίσης παρόμοια με αυτήν που κάναμε νωρίτερα. Το διάγραμμα μπλοκ για τη σύνδεση αυτών των δύο αποκωδικοποιητών 3: 8 φαίνεται παρακάτω.
Εδώ οι έξοδοι Υ0 έως Υ7 θεωρούνται χαμηλότερες οκτώ λεπτά και η έξοδος από Υ8 έως Υ16 θεωρούνται υψηλότερες οκτώ λεπτά. Τα κάτω δεξιά minterms δημιουργούνται απευθείας χρησιμοποιώντας τις εισόδους A0, A1 και A2. Τα ίδια σήματα δίδονται επίσης στις τρεις εισόδους του πρώτου αποκωδικοποιητή, αλλά ο ακροδέκτης Ενεργοποίηση του πρώτου αποκωδικοποιητή χρησιμοποιείται ως ο τέταρτος ακροδέκτης εισόδου (A3). Το ανεστραμμένο σήμα της τέταρτης εισόδου Α3 δίνεται στον ακροδέκτη ενεργοποίησης του δεύτερου αποκωδικοποιητή. Ο πρώτος αποκωδικοποιητής εξάγει την υψηλότερη τιμή οκτώ λεπτών.
Εφαρμογές:
Ένας αποκωδικοποιητής χρησιμοποιείται συνήθως σε συνδυασμό με έναν κωδικοποιητή και ως εκ τούτου και οι δύο μοιράζονται τις ίδιες εφαρμογές. Χωρίς αποκωδικοποιητές και κωδικοποιητές, τα σύγχρονα ηλεκτρονικά είδη όπως το κινητό τηλέφωνο και οι φορητοί υπολογιστές δεν θα ήταν δυνατά. Λίγες σημαντικές εφαρμογές των αποκωδικοποιητών παρατίθενται παρακάτω.
- Εφαρμογή σήματος ακολουθίας
- Εφαρμογές σήματος χρονισμού
- Γραμμές δικτύου
- Στοιχεία μνήμης
- Δίκτυα τηλεφώνου