ΑΣΚΗΣΗ 5 ΚΩΔΙΚΟΠΟΙΗΤΕΣ ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΕΣ Αντικείμενο της άσκησης: Λογική και μεθοδολογία σχεδίασης κωδικοποιητών και αποκωδικοποιητών, υλοποίηση συνδυαστικών κυκλωμάτων με αποκωδικοποιητές και λογικές πύλες και λειτουργική εξομοίωση με το λογισμικό EWB. 1. Κωδικοποιητές Ο κωδικοποιητής (encoder) είναι ένα κύκλωμα το οποίο διαθέτει m = 2 n ή λιγότερες γραμμές εισόδου και n γραμμές εξόδου (m 2 n ), οι οποίες παράγουν την κατάλληλη λέξη ενός δυαδικού κώδικα που αντιστοιχεί στην ενεργή (δηλαδή, έχει λογική τιμή 1 ) γραμμή εισόδου. D 0 D 1 x n ENCODER D 2 m - σε n x (m 2 n 1 ) x 0 D m Παραδείγματα κωδικοποιητών είναι ο κωδικοποιητής οκταδικού σε δυαδικό και ο κωδικοποιητής BCD σε δυαδικό. 1.1 Σχεδίαση κωδικοποιητή οκταδικού σε δυαδικό Ο συγκεκριμένος κωδικοποιητής έχει οκτώ εισόδους, μια για καθένα από τα δυνατά οκταδικά ψηφία, 0 έως 7, και τρεις εξόδους που παράγουν τον αντίστοιχο δυαδικό αριθμό, 000 έως 111. Θεωρούμε ότι μόνο μια είσοδος D i έχει τιμή 1 κάθε φορά. Πίνακας αλήθειας: D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 x 2 x 1 x 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1
Οι λογικές συναρτήσεις των εξόδων μπορούν να προσδιοριστούν εύκολα, εάν εκφράσουμε κάθε μια από αυτές ως λογικό άθροισμα των εισόδων για τις οποίες κάθε έξοδος παίρνει τιμή 1: x 2 = D 4 + D 5 + D 6 + D 7 x 1 = D 2 + D 3 + D 6 + D 7 x 0 = D 1 + D 3 + D 5 + D 7 Λογικό κύκλωμα: D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 x 2 x 1 x 0 1.2 Σχεδίαση κωδικοποιητή δεκαδικού (BCD) σε δυαδικό α) Να συμπληρωθεί ο πίνακας αλήθειας και Να προσδιοριστούν οι λογικές συναρτήσεις των εξόδων: D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 8 D 9 x 3 x 2 x 1 x 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 x 3 = x 2 = x 1 = x 0 = 2
γ) Να σχεδιαστεί το λογικό κύκλωμα: D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 8 D 9 2. Αποκωδικοποιητές Ο αποκωδικοποιητής (decoder) είναι ένα συνδυαστικό κύκλωμα που διαθέτει n γραμμές εισόδου και m = 2 n ή λιγότερες γραμμές εξόδου (m 2 n ) και μετατρέπει κωδικοποιημένη δυαδική πληροφορία σε ισοδύναμη πληροφορία που τοποθετείται στις διακριτές γραμμές εξόδου. x n x 1 x 0 DECODER n - σε m (m 2 n ) D 0 D 1 D 2 D m Στην περίπτωση που m = 2 n, ο αποκωδικοποιητής παράγει τους 2 n ελαχιστόρους των n μεταβλητών εισόδου, δηλαδή κάθε μια έξοδος δίνει έναν και μοναδικό ελαχιστόρο των μεταβλητών εισόδου. Λαμβάνοντας υπόψη ότι οποιαδήποτε λογική συνάρτηση n μεταβλητών μπορεί να εκφραστεί ως λογικό άθροισμα ελαχιστόρων, μπορούμε να υλοποιήσουμε αυτή τη λογική συνάρτηση με έναν αποκωδικοποιητή n - σε - 2 n και τη χρήση μιας ή περισσότερων πυλών OR. 3
2.1 Αποκωδικοποιητής από δυαδικό σε οκταδικό Ο συγκεκριμένος αποκωδικοποιητής έχει οκτώ εξόδους, μια για καθένα από τα δυνατά οκταδικά ψηφία, 0 έως 7, και τρεις εισόδους, αφού το μέγιστο οκταδικό ψηφίο (7) απαιτεί τρία δυαδικά ψηφία για να εκφραστεί σε δυαδική μορφή (111). Για καθένα δυνατό συνδυασμό τιμών των μεταβλητών εισόδου, μόνο μία έξοδος είναι ενεργή (λογικό 1 ). Πίνακας αλήθειας: x y z D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 Οι λογικές συναρτήσεις των εξόδων προσδιορίζονται εύκολα αφού για κάθε έξοδο έχουμε λογικό 1 μόνο για ένα συνδυασμό τιμών των μεταβλητών εισόδου. Άρα η λογική συνάρτηση κάθε μιας εξόδου ισούται με ένα και μοναδικό ελαχιστόρο του αντίστοιχου συνδυασμού τιμών των μεταβλητών εισόδου. Λογικό κύκλωμα: x y z x y z D 0=x y z D 1=x y z D 2=x yz D 3=x yz D 4=xy z D 5=xy z D 6=xyz D 7=xyz 4
2.2 Υλοποίηση συνδυαστικών κυκλωμάτων με αποκωδικοποιητή και λογικές πύλες Ο αποκωδικοποιητής από δυαδικό σε οκταδικό του προηγούμενου παραδείγματος είναι ένας γενικός αποκωδικοποιητής 3 σε 8, όπως φαίνεται από τον πίνακα αλήθειας. Χρησιμοποιώντας έναν τέτοιο αποκωδικοποιητή και πύλες OR να υλοποιήσετε τη συνάρτηση πλειοψηφίας τριών εισόδων: α) Να σχεδιάσετε το χονδρικό διάγραμμα του λογικού κυκλώματος: DEC 3-σε-8 β) Να συμπληρώσετε τον πίνακα αλήθειας της συνάρτησης πλειοψηφίας τριών εισόδων και να εκφράσετε τη συνάρτηση ως λογικό άθροισμα ελαχιστόρων: Y Z F 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 F = Σ( ) 5
γ) Να μελετήσετε το ολοκληρωμένο κύκλωμα DM74S138, να επιλέξετε κατάλληλες λογικές πύλες για να συμπληρώσετε και να ολοκληρώσετε το σχηματικό του κυκλώματος που φαίνεται στο παρακάτω σχήμα, λαμβάνοντας υπόψη την ενεργό κατάσταση των εξόδων του αποκωδικοποιητή, και να υλοποιήσετε το κύκλωμα στο περιβάλλον EWB: 6
DM74S138 DM74S139 Decoder/Demultiplexer August 1986 Revised March 2000 DM74S138 DM74S139 Decoder/Demultiplexer General Description These Schottky-clamped circuits are designed to be used in high-performance memory-decoding or data-routing applications, requiring very short propagation delay times. In high-performance memory systems these decoders can be used to minimize the effects of system decoding. When used with high-speed memories, the delay times of these decoders are usually less than the typical access time of the memory. This means that the effective system delay introduced by the decoder is negligible. The DM74S138 decodes one-of-eight lines, based upon the conditions at the three binary select inputs and the three enable inputs. Two active-low and one active-high enable inputs reduce the need for external gates or inverters when expanding. A 24-line decoder can be implemented with no external inverters, and a 32-line decoder requires only one inverter. An enable input can be used as a data input for demultiplexing applications. The DM74S139 comprises two separate two-line-to-fourline decoders in a single package. The active-low enable input can be used as a data line in demultiplexing applications. All of these decoders/demultiplexers feature fully buffered inputs, presenting only one normalized load to its driving circuit. All inputs are clamped with high-performance Schottky diodes to suppress line-ringing and simplify system design. Features Designed specifically for high speed: Memory decoders Data transmission systems DM74S138 3-to-8-line decoders incorporates 3 enable inputs to simplify cascading and/or data reception DM74S139 contains two fully independent 2-to-4-line decoders/demultiplexers Schottky clamped for high performance Typical propagation delay (3 levels of logic) DM74S138 21 ns DM74S139 21 ns Typical power dissipation DM74S138 32 mw DM74S139 34 mw Ordering Code: Order Number Package Number Package Description DM74S138M M16A 16-ead Small Outline Integrated Circuit (SOIC), JEDEC MS-012, 0.150 Narrow DM74S138SJ M16D 16-ead Small Outline Package (SOP), EIAJ TYPE II, 5.3mm Wide DM74S138N N16E 16-ead Plastic Dual-In-ine Package (PDIP), JEDEC MS-001, 0.300 Wide DM74S139M M16A 16-ead Small Outline Integrated Circuit (SOIC), JEDEC MS-012, 0.150 Narrow DM74S139SJ M16D 16-ead Small Outline Package (SOP), EIAJ TYPE II, 5.3mm Wide DM74S139N N16E 16-ead Plastic Dual-In-ine Package (PDIP), JEDEC MS-001, 0.300 Wide Devices also available in Tape and Reel. Specify by appending the suffix letter to the ordering code. 2000 Fairchild Semiconductor Corporation DS006391 www.fairchildsemi.com 7
8 Inputs Outputs Enable Select G1 G2 (Note 1) C B A YO Y1 Y2 Y3 Y4 Y5 Y6 Y7 DM74S138 DM74S139 Connection Diagrams DM74S138 DM74S139 Function Tables DM74S138 DM74S139 Inputs Outputs Enable Select G B A Y0 Y1 Y2 Y3 IG evel OW evel Don t Care Note 1: G2 G2A G2B ogic Diagrams DM74S138 DM74S139 www.fairchildsemi.com
3. Υλοποίηση αποκωδικοποιητών με απεικόνιση σε ενδείκτη 7 τμημάτων (Seven Segment Display) Μία δημοφιλής μέθοδος απεικόνισης χαρακτήρων και πιο συχνά ψηφίων είναι οι ενδείκτες των επτά τμημάτων (7 segment display). Δεν είναι τίποτα άλλο από επτά eds ορθογωνίου σχήματος τοποθετημένα στην ίδια θήκη όταν πρόκειται για ed Display ή επτά τμήματα υγρών κρυστάλλων, κατάλληλα συνδεσμολογημένα όταν πρόκειται για CD (iquid Crystal Display). Στο ακόλουθο σχήμα φαίνεται ο τρόπος απεικόνισης των επτά τμημάτων του ενδείκτη και η αντίστοιχη απεικόνιση των δεκαδικών ψηφίων. a f b e g c d Στους ενδείκτες 7 τμημάτων υπάρχουν συνδεσμολογίες κοινής ανόδου και συνδεσμολογίες κοινής καθόδου. Προφανές είναι ότι τα κοινής ανόδου display φωτοβολούν οδηγημένα από λογική κατάσταση ow (0V) και τα κοινής καθόδου από igh (+V). Η ενεργός κατάσταση εξόδου του απωκοδικοποιητή (ή κάποιου άλλου ολοκληρωμένου κυκλώματος) είναι αυτή που ορίζει την επιλογή του ενδείκτη σε κοινή άνοδο ή κοινή κάθοδο. Επίσης προφανές είναι ότι με ενεργό κατάσταση του Ο.Κ το igh, ο ενδείκτης θα πρέπει να είναι κοινής καθόδου ενώ για ενεργό κατάσταση το ow, ο ενδείκτης θα είναι κοινής ανόδου. Ενδείκτης κοινής ανόδου. Ενδείκτης κοινής καθόδου 9
3.1 Υλοποίηση αποκωδικοποιητή BCD σε απεικόνιση 7 τμημάτων (Seven Segment Display) Ο κώδικας BCD, όπως γνωρίζουμε, κωδικοποιεί τα δεκαδικά ψηφία 0 έως 9 σε δυαδική μορφή, χρησιμοποιώντας τέσσερα δυαδικά ψηφία για κάθε αντίστοιχο δεκαδικό ψηφίο. Επομένως, ο αποκωδικοποιητής έχει τέσσερις εισόδους και επτά εξόδους και το χονδρικό διάγραμμα του κυκλώματος οδήγησης του ενδείκτη είναι το ακόλουθο: x 3 x 2 x 1 x 0 BCD to 7-segment DEC a b c d e f g e f d g a c b Ο πίνακας αλήθειας ενός αποκωδικοποιητή BCD σε απεικόνιση 7 τμημάτων με ενεργό κατάσταση igh είναι ο ακόλουθος: Δεκαδικός BCD x 3 x 2 x 1 x 0 a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 0 1 0 1 1 0 1 1 0 1 1 6 0 1 1 0 1 0 1 1 1 1 1 7 0 1 1 1 1 1 1 0 0 0 1 8 1 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 1 1 1 1 0 1 1 1. Να μελετήσετε το ολοκληρωμένο κύκλωμα 7447 και να υλοποιήσετε το επόμενο κύκλωμα στο περιβάλλον του λογισμικού EWB. Να κάνετε λειτουργική εξομοίωση του κυκλώματος και να παρατηρήσετε την αποκωδικοποίηση. Σημειώνεται ότι η ενεργός κατάσταση των εξόδων του ολοκληρωμένου κυκλώματος 7447 είναι ow. 10
2. Ανατρέξτε στα τεχνικά χαρακτηριστικά του ολοκληρωμένου κυκλώματος 7447 και μελετήστε την λειτουργία των ακροδεκτών BI/RBO, T, RBI. Σε τι χρησιμεύουν οι ακροδέκτες αυτοί; 3. Γιατί υπάρχει και πού εξυπηρετεί η ύπαρξη της active low λογικής; 11
12
3.2 Σχεδίαση αποκωδικοποιητή με απεικόνιση σε ενδείκτη 7 τμημάτων Να σχεδιάσετε και να εξομοιώσετε στο περιβάλλον EWB κατάλληλο αποκωδικοποιητή σε ενδείκτη 7 τμημάτων, στον οποίο να απεικονίζονται οι χαρακτήρες Α, Γ, Ε, Ο. α) Να συμπληρώσετε τον πίνακα αλήθειας: Χ Υ ΕΝΔΕΙΞΗ a b c d e f g 0 0 Α 0 1 Γ 1 0 Ε 1 1 Ο β) Να προσδιορίσετε τις λογικές συναρτήσεις εξόδων του αποκωδικοποιητή: a = b = c = d = e = f = g = γ) Να σχεδιάσετε το λογικό κύκλωμα: δ) Να εξομοιώσετε το λογικό κύκλωμα στο περιβάλλον EWB. 13