ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ ΜΙΚΡΟΕΛΕΓΚΤΩΝ Μέρος ο : Αποκωδικοποιητές διευθύνσεων Καθηγητής: Νικολαΐδης Νικ. ΑΣΚΗΣΗ 6 Να συνδεθούν μία μνήμη ROM 3 Kbits και μία μνήμη RAM 64 Kbits στους διαδρόμους διεύθυνσης και δεδομένων μιας CPU έτσι ώστε η ROM να ενεργοποιείται σε χαμηλές διευθύνσεις από 0000 και μετά και η RAM σε υψηλές. Να βρεθούν οι βασικές διευθύνσεις και οι εικόνες κάθε μιας από τις μνήμες. Το μέγεθος της ROM είναι 4 KBytes (000h) και της RAM 8 KBytes (000h). Οι 6δικές δ/νσεις της ROM προσδιορίζονται σε 0000h έως 0FFFh. Οι δ/νσεις της RAM αφήνονται στην επιλογή μας με τον περιορισμό να είναι υψηλές, δηλαδή στο πάνω μισό του χώρου δ/νσεων 8000h FFFFh. Η χρήση του κενού χώρου δεν προσδιορίζεται, άρα μπορεί να καταληφθεί από εικόνες των δ/νσεων των δύο ολοκληρωμένων. Η προφανής λύση εδώ είναι να ενεργοποιείται η ROM όταν Α5=0 και η RAM όταν Α5=. Οι βασικές δ/νσεις της ROM θα είναι 0000h 0FFFh και της RAM 8000h 9FFFh. Για να βρούμε τις εικόνες των δ/νσεων μπορούμε να εργαστούμε ως εξής. Λύση α Στη ROM διατίθεται χώρος 3 KBytes (A5=0) και το μέγεθός της είναι 4 KBytes. Άρα, κάθε δ/νση θα έχει 7 εικόνες: Βασικές δ/νσεις: Εικόνες: 0000h 0FFFh 000h FFFh 000h FFFh 3000h 3FFFh 4000h 4FFFh 5000h 5FFFh 6000h 6FFFh 7000h 7FFFh Στη RAM διατίθεται χώρος πάλι 3 KBytes (A5=) και το μέγεθός της είναι 8 KBytes. Άρα, κάθε δ/νση θα έχει 3 εικόνες: Βασικές δ/νσεις: Εικόνες: 8000h 9FFFh Α000h ΒFFFh C000h DFFFh E000h FFFFh
Λύση β Το μέγεθος της ROM είναι 4 KBytes, άρα απαιτεί γραμμές δ/νσης, από Α0 μέχρι Α. Η γραμμή Α5 πρέπει να είναι 0 για να επιλεγεί η ROM, απομένουν, άρα, οι αδιάφορες γραμμές Α, Α3 και Α4 που δίνουν 8 συνδυασμούς, τις βασικές δ/νσεις και 7 εικόνες. Το μέγεθος της RAM είναι 8 KBytes, άρα απαιτεί 3 γραμμές δ/νσης, από Α0 μέχρι Α. Η γραμμή Α5 πρέπει να είναι για να επιλεγεί η RAM, απομένουν, άρα, οι αδιάφορες γραμμές Α και Α3 που δίνουν 4 συνδυασμούς, τις βασικές δ/νσεις και 3 εικόνες. Αναλυτικά, οι δ/νσεις στο δυαδικό σύστημα θα είναι: Α5 Α4 Α3 Α Α Α0 Α9 Α8 Α7 Α6 Α5 Α4 Α3 Α Α Α0 ROM 0 X X X 0 0 0 0 0 0 0 0 0 0 0 0 0 X X X RAM X X 0 0 0 0 0 0 0 0 0 0 0 0 0 X X Οι βασικές δ/νσεις, αν δεν ζητείται από την άσκηση διαφορετικά, προκύπτουν αν σε κάθε αδιάφορο bit X αναθέσουμε τιμή 0. Οι βασικές δ/νσεις θα είναι λοιπόν: ROM: 0000.0000.0000.0000 (0000h) 0000... (0FFFh) RAM: 000.0000.0000.0000 (8000h) 00... (9FFFh) Οι υπόλοιποι συνδυασμοί των αδιάφορων bits θα δώσουν τις εικόνες: ROM: 000.0000.0000.0000 (000h) 000... (FFFh) 000.0000.0000.0000 (000h) 000... (FFFh) 00.0000.0000.0000 (3000h) 00... (3FFFh) 000.0000.0000.0000 (4000h) 000... (4FFFh) Ασκήσεις θεωρίας ΜΕ μέρος ο (αποκωδ/τές δ/νσεων) - -
00.0000.0000.0000 (5000h) 00... (5FFFh) 00.0000.0000.0000 (6000h) 00... (6FFFh) 0.0000.0000.0000 (7000h) 0... (7FFFh) RAM: 00.0000.0000.0000 (A000h) 0... (BFFFh) 00.0000.0000.0000 (C000h) 0... (DFFFh) 0.0000.0000.0000 (E000h)... (FFFFh) ΑΣΚΗΣΗ 7 Να συνδεθούν 4 συσκευές εξόδου στους διαδρόμους μιας CPU σε δ/νσεις της επιλογής σας από την περιοχή 8000h - 8FFFh. Να βρεθούν οι βασικές διευθύνσεις και οι εικόνες κάθε μιας από τις 4 συσκευές. Αφού δεν προσδιορίζεται το πλήθος των δ/νσεων που απαιτεί κάθε περιφερειακό, υποτίθεται ότι απαιτείται μία δ/νση για κάθε ένα. Χωρίς βλάβη της γενικότητας μπορούμε να υποθέσουμε ότι θα χρησιμοποιηθεί ένα 74HC573 για κάθε συσκευή εξόδου. Η πιο οικονομική λύση προκύπτει πάντοτε αν διαθέσουμε ίσα τμήματα όλης της διαθέσιμης περιοχής δ/νσεων στις συσκευές. Άρα, θα χωρίσουμε το χώρο 8000h 8FFFh σε 4 τμήματα, ένα για κάθε συσκευή εξόδου. Από Έως Συσκ. 8000h 83FFh Συσκ. 8400h 87FFh Συσκ. 3 8800h 8BFFh Συσκ. 4 8C00h 8FFFh Οι πρώτες δ/νσεις (8000h, 8400h, 8800h, 8C00h) θα είναι οι βασικές. Όλες οι υπόλοιπες, 03 τον αριθμό, δ/νσεις κάθε συσκευής θα είναι εικόνες της μιας βασικής. Ασκήσεις θεωρίας ΜΕ μέρος ο (αποκωδ/τές δ/νσεων) - 3 -
Αν δεν είναι σαφής η επιλογή των δ/νσεων, ακολουθήστε τη λύση με το δεύτερο τρόπο (δυαδικές δ/νσεις), όπως αυτή εξηγείται στην προηγούμενη άσκηση. Για τη σύνδεση του 74HC573 ως συσκευή εξόδου πρέπει να χρησιμοποιηθεί η είσοδος ελέγχου LE, ενώ η!οε θα είναι μόνιμα συνδεμένη στη γείωση. Δεν μπορούμε να χρησιμοποιήσουμε δ/νσεις έξω από την περιοχή 8ΧΧΧh, άρα χρειαζόμαστε έναν αποκωδικοποιητή της περιοχής αυτής. Θα χρειαστούμε τις γραμμές Α5, Α4, Α3 και Α και έναν αποκωδ/τή από 4 σε 6. Η έξοδος 8 αυτού θα οδηγεί τον αποκωδικοποιητή από σε 4 με εισόδους τις γραμμές δ/νσης Α και Α0. Ο αποκωδικοποιητής 4 σε 6 λέγεται ου επιπέδου και ο σε 4, ου επιπέδου. RD/W R 0000 (0) 000 () 000 () 00 (3) 000 (4) 00 (5) 3 4 5 6 7 8 9 LE U Q0 Q Q Q3 Q4 Q5 Q6 Q7 9 8 7 6 5 4 3 3 4 5 6 7 8 9 LE U Q0 Q Q Q3 Q4 Q5 Q6 Q7 9 8 7 6 5 4 3 00 (6)... 0 (7) 4 to 6 000 (8) 00 (0) 00 (9) 0 () 00 (0) to 4 0 () 0 () (3) A5 A4 00 () 0 (3) 0 (4) (5) A3 A A A0 3 4 5 6 7 8 9 LE U4 Q0 Q Q Q3 Q4 Q5 Q6 Q7 9 8 7 6 5 4 3 3 4 5 6 7 8 9 LE U3 Q0 Q Q Q3 Q4 Q5 Q6 Q7 9 8 7 6 5 4 3 Ασκήσεις θεωρίας ΜΕ μέρος ο (αποκωδ/τές δ/νσεων) - 4 -
Ο αποκωδικοποιητής σε 4 μας βολεύει να είναι με ενεργά υψηλές εξόδους ώστε να οδηγεί τις εισόδους LE. Αν και ο 4 σε 6 είναι με ενεργά υψηλές εξόδους, η είσοδος πρέπει να είναι και αυτή ενεργά υψηλή. Αντί για αποκωδικοποιητή 4 σε 6, μπορούμε να χρησιμοποιήσουμε μία πύλη AND 4 εισόδων και 3 πύλες ΝΟΤ, ή μία NOR 4 εισόδων και μία ΝΟΤ. ΑΣΚΗΣΗ 8 Να συνδεθούν 4 συσκευές εισόδου / εξόδου στους διαδρόμους μιας CPU σε δ/νσεις της επιλογής σας από την περιοχή 8000h - 8FFFh. Να βρεθούν οι βασικές διευθύνσεις και οι εικόνες κάθε μιας από τις 4 συσκευές. Συσκευές εισόδου / εξόδου είναι αυτές που άλλοτε δέχονται δεδομένα από τη CPU και άλλοτε στέλνουν δεδομένα σε αυτήν, π.χ. η οθόνη LCD. Εφόσον δεν αναφέρεται διαφορετικά, στην άσκηση θα θεωρήσουμε μία πολύ απλούστερη συσκευή με μία διεύθυνση εγγραφής και μία ανάγνωσης. Αυτή θα είναι μία συσκευή χωρίς γραμμές δ/νσης. Το ελάχιστο πλήθος ακροδεκτών μιας τέτοιας συσκευής είναι οι 8 ακροδέκτες δεδομένων, η γραμμή R/!W για να δηλώνεται η εργασία εγγραφής ή ανάγνωσης και η είσοδος! που, απαραίτητα πρέπει να έχει μία συσκευή για να συνδεθεί σε διάδρομο. Κατά τα λοιπά, η άσκηση είναι ίδια με την προηγούμενη. Ασκήσεις θεωρίας ΜΕ μέρος ο (αποκωδ/τές δ/νσεων) - 5 -
A5 A4 A3 A U U 00 (0) 0 () to 4 0 () (3) A A0... U4 U3 ΑΣΚΗΣΗ 9 Να συνδεθούν 4 συσκευές εξόδου στους διαδρόμους μιας CPU σε δ/νσεις της επιλογής σας από την περιοχή 8000h - 80FFh. Να βρεθούν οι βασικές διευθύνσεις και οι εικόνες κάθε μιας από τις 4 συσκευές. Εφόσον δεν αναφέρεται διαφορετικά, στην άσκηση θα θεωρήσουμε μία απλή συσκευή με μία διεύθυνση εγγραφής. Ο χώρος 8000h - 80FFh θα χωρίσει σε 4 τμήματα και θα δοθεί κάθε τμήμα σε μία συσκευή εξόδου. Οι διευθύνσεις θα είναι: Α5 Α4 Α3 Α Α Α0 Α9 Α8 Α7 Α6 Α5 Α4 Α3 Α Α Α0 hex 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8000 0 0 0 0 0 0 0 0 0 803F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8040 0 0 0 0 0 0 0 0 807F Ασκήσεις θεωρίας ΜΕ μέρος ο (αποκωδ/τές δ/νσεων) - 6 -
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8080 0 0 0 0 0 0 0 0 80BF 4 0 0 0 0 0 0 0 0 0 0 0 0 0 80C0 0 0 0 0 0 0 0 80FF Τα bits Α7 και Α6 θα χρησιμοποιηθούν ως είσοδοι σε έναν αποκωδικοποιητή από σε 4 για την επιλογή μιας από τις 4 συσκευές. Η περιοχή 80ΧΧh θα πρέπει να αποκωδικοποιηθεί με δύο αποκωδικοποιητές από 4 σε 6 (ή με πύλες). Σε κάθε μία περιοχή δ/νσεων του παραπάνω πίνακα, η πρώτη θα είναι η βασική δ/νση και οι υπόλοιπες θα είναι οι εικόνες της. 0000 (0) 0000 (0) 00 (0) 000 () 000 () 0 () 000 () 000 () to 4 0 () 00 (3) 00 (3) (3) 000 (4) 00 (5) 000 (4) 00 (5) A6 A7 00 (6) 00 (6) U4 U 4 to 6 0 (7) 000 (8) 00 (9) 00 (0) 0 () 4 to 6 0 (7) 000 (8) 00 (9) 00 (0) 0 () 00 () 0 (3) 0 (4) (5) A5 A4 A3 A A A0 A9 A8 00 () 0 (3) 0 (4) (5) U3 U... ΑΣΚΗΣΗ 0 Να συνδεθούν 4 συσκευές εξόδου στους διαδρόμους μιας CPU σε δ/νσεις της επιλογής σας από την περιοχή 8000h - 800Fh. Να βρεθούν οι βασικές διευθύνσεις και οι εικόνες κάθε μιας από τις 4 συσκευές. Ασκήσεις θεωρίας ΜΕ μέρος ο (αποκωδ/τές δ/νσεων) - 7 -
Εφόσον δεν αναφέρεται διαφορετικά, στην άσκηση θα θεωρήσουμε μία απλή συσκευή με μία διεύθυνση εγγραφής. Ο χώρος 8000h - 800Fh θα χωρίσει σε 4 τμήματα και θα δοθεί κάθε τμήμα σε μία συσκευή εξόδου. Οι διευθύνσεις θα είναι: 3 4 Α5 Α4 Α3 Α Α Α0 Α9 Α8 Α7 Α6 Α5 Α4 Α3 Α Α Α0 hex 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8000 0 0 0 0 0 0 0 0 0 0 0 0 0 8003 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8004 0 0 0 0 0 0 0 0 0 0 0 0 8007 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8008 0 0 0 0 0 0 0 0 0 0 0 0 800Β 0 0 0 0 0 0 0 0 0 0 0 0 0 800C 0 0 0 0 0 0 0 0 0 0 0 800F Τα bits Α3 και Α θα χρησιμοποιηθούν ως είσοδοι σε έναν αποκωδικοποιητή από σε 4 για την επιλογή μιας από τις 4 συσκευές. Η περιοχή 800Χh θα πρέπει να αποκωδικοποιηθεί με 3 αποκωδικοποιητές από 4 σε 6. Σε κάθε μία περιοχή δ/νσεων του προηγούμενου πίνακα, η πρώτη θα είναι η βασική δ/νση και οι υπόλοιπες θα είναι οι εικόνες της. Ασκήσεις θεωρίας ΜΕ μέρος ο (αποκωδ/τές δ/νσεων) - 8 -
0000 (0) 0000 (0) 0000 (0) 00 (0) 000 () 000 () 000 () 0 () 000 () 000 () 000 () to 4 0 () 00 (3) 00 (3) 00 (3) (3) 000 (4) 00 (5) 000 (4) 00 (5) 000 (4) 00 (5) A3 A 00 (6) 00 (6) 00 (6) U4 U 4 to 6 0 (7) 000 (8) 00 (9) 00 (0) 0 () 4 to 6 0 (7) 000 (8) 00 (9) 00 (0) 0 () 4 to 6 0 (7) 000 (8) 00 (9) 00 (0) 0 () 00 () 0 (3) 0 (4) (5) A5 A4 A3 A A A0 A9 00 () 0 (3) 0 (4) (5) A8 A7 A6 A5 00 () 0 (3) 0 (4) (5) A4 U3 U... ΑΣΚΗΣΗ Να συνδεθούν 4 συσκευές εξόδου στους διαδρόμους μιας CPU στις εξής δ/νσεις 8000h, 800h, 800h και 8003h. Με επέκταση των προηγούμενων ασκήσεων προκύπτει εύκολα ότι θα χρειαστούν 4 αποκωδικοποιητές από 4 σε 6, ένας για κάθε 6δικό ψηφίο. Οι 4 πρώτες έξοδοι του τελευταίου αποκωδικοποιητή θα συνδεθούν στα! των περιφερειακών συσκευών εξόδου. ΑΣΚΗΣΗ Να δημιουργηθεί ένα σύστημα μνήμης με έξι περιφερειακά, μία ROM 3 Kbits στις δ/νσεις από 0000 και μετά, μία μνήμη RAM 64 Kbits με τελευταία δ/νση την FFFFh και τις εξής συσκευές Ι/Ο σε δ/νσεις της επιλογής σας: α) μία συσκευή εισόδου με θέση μνήμης, β) μία εισόδου με θέσεις, γ) μία εξόδου με 4 θέσεις και δ) μία εξόδου με 8 θέσεις μνήμης. Να βρεθούν οι βασικές δ/νσεις και οι εικόνες τους για κάθε περιφερειακό. Το μέγεθος της ROM είναι 4 ΚΒ και θα καταλαμβάνει τις δ/νσεις 0000h 0FFFh, της RAM είναι 8 ΚΒ με δ/νσεις E000h FFFFh. Όλος ο υπόλοιπος χώρος μπορεί να διατεθεί στις συσκευές Ι/Ο. Αφού το μεγαλύτερο κομμάτι είναι 8 ΚΒ, δηλαδή το /8 του συνολικού χώρου δ/νσεων των 64 ΚΒ, η οικονομικότερη λύση θα είναι να χωρίσουμε τα 64 ΚΒ σε 8 τμήματα με έναν αποκωδικοποιητή από 3 σε 8 και να Ασκήσεις θεωρίας ΜΕ μέρος ο (αποκωδ/τές δ/νσεων) - 9 -
αφιερώσουμε τα 6 από τα 8 τμήματά του στα περιφερειακά. Ο αποκωδικοποιητής 3 σε 8 θα έχει, προφανώς, εισόδους τις γραμμές δ/νσης Α5, Α4 και Α3. Α5 Α4 Α3 Α Α Α0 Α9 Α8 Α7 Α6 Α5 Α4 Α3 Α Α Α0 hex ROM 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0000 0 0 0 X 0FFF IN 0 0 X X X X X X X X X X X X X 000 0 0 X X X X X X X X X X X X X 000 IN 0 0 X X X X X X X X X X X X 0 4000 0 0 X X X X X X X X X X X X 400 OUT 0 X X X X X X X X X X X 0 0 6000 0 X X X X X X X X X X X 6003 OUT 0 0 X X X X X X X X X X 0 0 0 8000 0 0 X X X X X X X X X X 8007 RAM 0 0 0 0 0 0 0 0 0 0 0 0 0 E000 FFFF Η RAM δεν έχει αδιάφορα bits δ/νσης και, επομένως, δε θα έχει εικόνες. Εξάλλου, έχει μέγεθος 8 ΚΒ και καταλαμβάνει όλο το διαθέσιμο όγδοο. Η ROM έχει ένα αδιάφορο bit και η περιοχή 0000h 0FFFh θα έχει εικόνα μέσα στην 000h FFFh. Εξάλλου, έχει μέγεθος 4 ΚΒ και καταλαμβάνει το μισό από το διαθέσιμο χώρο των 8 ΚΒ. Η συσκευή εισόδου ΙΝ έχει μία δ/νση μόνο και άρα η βασική της δ/νση θα είναι 000h και όλες οι υπόλοιπες, 89 τον αριθμό, θα είναι εικόνες αυτής της βασικής (00h - 3FFFh). Τα αδιάφορα bits της συσκευής ΙΝ είναι, άρα κάθε μία από τις βασικές δ/νσεις 4000h και 400h θα έχει = 49εικόνες. Η 4000h θα έχει εικόνες τις 400h, 4004h, 5FFEh και η 400h τις 4003h, 4005h, 5FFFh. Τα αδιάφορα bits της συσκευής OUT είναι, άρα κάθε μία από τις βασικές δ/νσεις 6000h, 600h, 600h και 6003h θα έχει = 047εικόνες. Η 6000h θα έχει εικόνες τις 6004h,6008h, 7FFCh, η 600h τις 6005h, 6009h, 7FFDh, η 600h τις 6006h, 600Ah, 7FFEh και η 6003h τις 6007h, 600Βh, 7FFFh. Με τον ίδιο τρόπο προκύπτουν για κάθε μία από τις 8 βασικές δ/νσεις της OUT οι 03 εικόνες της. Ασκήσεις θεωρίας ΜΕ μέρος ο (αποκωδ/τές δ/νσεων) - 0 -
000 (0) ROM 3 to 8 00 () 00 () 0 (3) 00 (4) 0 (5) 0 (6) (7) IN IN OUT OUT RAM A0 A A A3 A4 A5 A6 A7 A8 A9 A0 A ROM 4 KB CE ROM A0 A A A3 A4 A5 A6 A7 A8 A9 A0 A A RAM 8 KB CE RAM A5 A4 A3 IN READ READ WRITE IN OUT OUT A0 A0 A U U U3 WRITE U4 A0 A A Στο προηγούμενο κύκλωμα, για καλύτερη ευκρίνεια, έχουν παραληφθεί οι διάδρομοι δεδομένων και δ/νσεων. ΑΣΚΗΣΗ 3 Να επαναληφθεί η προηγούμενη άσκηση αν κάθε συσκευή δεσμεύει μόνο τις αναφερόμενες θέσεις,, 4 και 8, δηλαδή δεν έχει εικόνες. Στην επιλογή των ROM και RAM δε θα έχουμε αλλαγές και, επομένως, θα χρησιμοποιήσουμε πάλι τον αποκωδ/τή από 3 σε 8 του προηγούμενου σχήματος. Για την επιλογή των συσκευών Ι/Ο θα εργαστούμε ως εξής. Αποκωδικοποιούμε την περιοχή 800Χh με 3 αποκωδ/τές από 4 σε 6, έναν για κάθε ψηφίο, όπως κάναμε στην άσκηση 0. Την έξοδο 0 του τρίτου αποκωδικοποιητή την οδηγούμε στην επιλογή ενός αποκωδ/τή από 4 σε 6 με εισόδους Α3, Α, Α και Α0. Οι έξοδοι αυτού του αποκωδ/τή συνδιάζονται ως εξής: ) Η έξοδος 0 επιλέγει την η συσκευή. ) Το λογικό AND μεταξύ των εξόδων και οδηγεί τη η συσκευή. 3) Το λογικό AND μεταξύ των εξόδων 3, 4, 5 και 6 οδηγεί τη 3 η συσκευή. 4) Το λογικό AND μεταξύ των εξόδων 7 έως 4 οδηγεί τη 4 η συσκευή. Η τελευταία έξοδος 5 παραμένει ασύνδετη. Ασκήσεις θεωρίας ΜΕ μέρος ο (αποκωδ/τές δ/νσεων) - -