Συστήματα Μικροϋπολογιστών Είσοδος / Έξοδος Δεδομένων Υπεύθυνος Μαθήματος: K. ΠΕΚΜΕΣΤΖΗ
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.
Είσοδος / Έξοδος Δεδομένων Μορφή Δεδομένων Σειριακή Παράλληλη Τρόπος Διακίνησης Δεδομένων Ι/Ο ελεγχόμενη από πρόγραμμα Ι/Ο ελεγχόμενη με διακοπές I/O ελεγχόμενη από ειδικό επεξεργαστή Εντολές Ε/Ε Ε/Ε με ειδικές εντολές Ε/Ε με απεικόνιση μνήμης Η επιλογή των θυρών Ε/Ε διαφοροποιείται για τις 2 περιπτώσεις.
Χονδρικό διάγραμμα I/O δεδομένων DATA DATA DATA ΠΕΡΙΦΕΡΕΙΑΚΗ ΣΥΣΚΕΥΗ Interface ΘΥΡΑ I/O μυ - Σ Control Control Control
Απλές Θύρες I/O Απλή Θύρα Εισόδου D 0-7 ΕΙΣΟΔΟΣ IO/M Address Select RD 74LS240 G Απλή Θύρα Εξόδου IO/M Address Select WR D 0-7 74LS373 CLK ΕΞΟΔΟΣ
Εντολές I/O δεδομένων IN address ; Συσσωρευτής Α Θύρα με διεύθυνση address IN Address 3 κύκλοι 10 Καταστάσεις Opcode DB 1 1 0 1 1 address 0 1 1 A Θύρα με διεύθυνση Address
Εντολές I/O δεδομένων OUT address ; Συσσωρευτής Α Θύρα με διεύθυνση address OUT Address 3 κύκλοι Opcode D3 1 1 0 1 0 address 0 1 1 A Θύρα με διεύθυνση Address 10 Καταστάσεις
Χρονισμός Εντολής Εισόδου Δεδομένων M1 (Opcode Fetch) M2 (Read) T1 T2 T3 T4 T1 T2 T3 M3 (Input) T1 T2 T3 CLK IO/M, S1, S0 (0, 1, 1) (0, 1, 0) (1, 1, 0) A8-A15 PCH (PC+1) H 20H AD0-AD7 PCL DBH (PC+1) L 20H 20H (A) Input Data ALE RD WR Διάγραμμα χρονισμού εκτέλεσης εντολής εισόδου δεδομένων (ΙΝ 20Η)
Χρονισμός Εντολής Εξόδου Δεδομένων CLK M1 ( Opcode Fetch) M2 (Read) T1 T2 T3 T4 T1 T2 T3 M3 (Output) T1 T2 T3 IO/M, S1, S0 (0, 1, 1) (0, 1, 0) (1, 0, 1) A8- A15 PCH (PC+1) H 20H AD0- AD7 PCL D3H (PC+1) L 20H 20H (A) OutputData ALE RD WR Διάγραμμα χρονισμού εκτέλεσης εντολής εξόδου δεδομένων (OUT 20H)
Κυκλώματα επιλογής συσκευών εισόδου/ εξόδου IN 1: RD IO/M A0 Ενεργοποίηση Θύρας 1 E-IN 1 IN 8: RD IO/M A3 Ενεργοποίηση Θύρας 8Η E-IN 8 OUT 4: WR IO/M A2 Ενεργοποίηση Θύρας 2 E-OUT 4 OUT 80: WR IO/M A7 Ενεργοποίηση Θύρας 80Η E-OUT 80
Επιλογή Θύρας Ι/Ο από τη Διεύθυνση Παράδειγμα: IN 07H Υποθέτουμε ότι υπάρχει το κύκλωμα της θύρας με διεύθυνση 07H. IO/M Data Bus RD D 0-7 74LS240 G ΕΙΣΟΔΟΣ Πλήρης Αποκωδικοποίηση A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0
Ι/Ο με Απεικόνιση Μνήμης (Α) Χωρίς ξεχωριστές εντολές I/O, αλλά με τις γνωστές εντολές αναφοράς στη μνήμη. Κάθε θύρα αντιστοιχεί σε μια θέση μνήμης που δεν πρέπει να καταλαμβάνεται από κανονική μνήμη.
Ι/Ο με Απεικόνιση Μνήμης (Β) Για την επιλογή της θύρας αυτού του τύπου, η αποκωδικοποίηση πρέπει να περιλαμβάνει, αν είναι πλήρης, όλα τα bits της διεύθυνσης. IO/M RD / WR CS A 15 A 0
Υλοποίηση θυρών Ε/Ε με τη χρήση κυκλωμάτων MSI ΔΙΟΡΘΩΣΗ: Τα σήματα RD και WR πρέπει να είναι χωρίς αναστροφή.
Παράδειγμα Να σχεδιαστεί μικροϋπολογιστικό σύστημα με τον 8085 και τα εξής δεδομένα: 0000 1FFFH (8Kbytes) ROM 2000 2FFFH (4Kbytes) RAM 50H : Είσοδος 60Η : Έξοδος 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Address 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0FFF 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1000 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFF 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 2FFF
Παράδειγμα Λύση IO/M Θύρα εξόδου 50Η Θύρα εισόδου 60Η IO/M Y 5 WR 74LS373 AD 0-7 74LS541 RD Y6 Data Bus 8085 ALE 74LS373 Address Bus A 8-15 A 12 A 13 A 14 A 15 E 1 1 E 2 74138 Y 0 Y 1 Y 2 Y 5 Y 6 Y 7 IO/M RD OE A 0-12 2764 ROM CS D 0-7 OE RD D 0-7 6132 RAM IO/M WR IO/M CS WE
Τρόποι Παράλληλης Μεταφοράς Δεδομένων (Α) Χωρίς Συνθήκη Προς οθόνη 7-segment Από διακόπτες DATA
Τρόποι Παράλληλης Μεταφοράς Δεδομένων (Β) Απλού παλμού (STB ειδοποιεί για έγκυρα δεδομένα) Χαμηλές ταχύτητες Δεν επιβεβαιώνεται η δυνατότητα λήψης STB Data Data Έγκυρα Data Συσκ. 1 Συσκ. 2 STB
Τρόποι Παράλληλης Μεταφοράς Δεδομένων (Γ) Μονής Χειραψίας (Handshake) Συσκ. 1 Data Συσκ. 2 STB Πάρε ένα byte STB "Πάρε ένα χαρακτήρα" "Πήρα, στείλε μου άλλο" ACK Έλαβα ACK Data Data
Τρόποι Παράλληλης Μεταφοράς Δεδομένων (Δ) Διπλής Χειραψίας STB Έτοιμος; Πάρε ένα byte Συσκ. 1 Data Συσκ. 2 STB "Πάρε ένα χαρακτήρα" "Πήρα, στείλε μου άλλο" ACK Ναι ACK Πήρα, περιμένω αίτηση για νέο χαρακτήρα Data Data
Απλές συσκευές για Είσοδο-Έξοδο δεδομένων μυ-σ Θύρα Εισόδου 0 1 2 3 4 5 6 7 5V R μυ-σ Θύρα Εξόδου 0 1 2 3 4 5 6 7 5V R LED μυ-σ Θύρα Εισόδου 0 1 2 3 4 5 6 7 5V R μυ-σ Θύρα Εξόδου 0 1 2 3 4 5 6 7 LED R
Ενδείκτες 7- τμημάτων (7-segment displays) 0 1 2 6 a b c g f e a g d b c 7 Θύρα μυ -Σ R
Είσοδοι Διασύνδεση πληκτρολογίου με ένα μυ-σ + 5V Γραμμή 0 ΕΝ Επιλογή Θύρας Α 1 Στήλη Επιλογή Θύρας Β 0 1 2 3 4 5 6 7 Έξοδοι ΕΝ Θύρα Εξόδου Είσοδοι 2 3 Θύρα Εισόδου Έξοδοι Διάδρομος Δεδομένων
Παράδειγμα μεταφοράς δεδομένων με τη χρήση σημαίας Μια συσκευή εισόδου παρέχει δεδομένα (8bit) στην θύρα εισόδου DATA ενός Μικροϋπολογιστή 8085. Για να δηλώσει ότι έχει διαθέσιμα δεδομένα θέτει το bit7 (MSB) της θύρας ελέγχου STATUS του μυ. Να γραφεί πρόγραμμα και να δοθεί το κύκλωμα για τη μεταφορά δεδομένων σε πίνακα στη μνήμη με αρχή από τους καταχωρητές H-L. Το πλήθος δίνεται στον καταχ. C. (Το πρόγραμμα θα δοθεί στην επόμενη ενότητα) H-L Address Data 1 2. N Από τη θύρα εισόδου DATA
Είσοδος / Έξοδος με Χρήση Σημαίας D0-D7 Απομονωτής/ Μανδαλωτής Θύρας Εισόδου 8-bits Δεδομένα DATA 8 Ενεργοποίηση 1 Ανάγνωσης με (RD) Συσκευή Εισόδου RD Μανδάλωση Reset Set Παλμός Διαθεσιμότητας Δεδομένων Απομονωτής/ Μανδαλωτής (Σημαία) Θύρας Ελέγχου Bit 7 STATUS Bit 0
Σύστημα μεπεξ. με Συσκευές Ε/Ε Address Bus Data Bus Επεξεργαστής ΚΜΕ 8 8 8 8 8 8 Port Select STATUS 1 DATA 1 STATUS 2 DATA 2 STATUS 8 DATA 8 MRDC Interface 1 Interface 2 Interface 8 8 8 8 DONE DATA DONE DATA DONE DATA Περιφερειακή Συσκευή 1 Περιφερειακή Συσκευή 2 Περιφερειακή Συσκευή 8
Προγραμματιζόμενο I.C. για Ε/Ε ìe 8085 ÄéÜäñïìïò Äéåõèýíóåùí (A0-A7) Ðñïãñáììáôéæüìåíï LSI ÄéÜäñïìïò ÄåäïìÝíùí (D0-D7) ÓÞìáôá ÅëÝã ïõ êáé åðéëïãþò Èõñþí... Êáôá ùñçôþò ÊáôÜóôáóçò Êáôá ùñçôþò ÅëÝã ïõ Ðüñôá Åéóüäïõ Ðüñôá Åîüäïõ Ðüñôá ÅëÝã ïõ Åßóïäïò ÄåäïìÝíùí áðü ôçí ÅîùôåñéêÞ ÓõóêåõÞ Åîïäïò ÄåäïìÝíùí ðñïò ôçí ÅîùôåñéêÞ ÓõóêåõÞ
Δημιουργία περισσότερων θυρών Ας υποθέσουμε ότι έχουμε ένα μυ-σ όπου δεν έχουμε πρόσβαση στο διάδρομο διευθύνσεων του, όπως για παράδειγμα σε ένα PC ή σε ένα Μικροελεγκτή. Πως πρέπει να σχεδιάσουμε το σύστημα I/O για τη δημιουργία περισσότερων θυρών αν υποθέσουμε ότι διαθέτουμε μία θύρα εξόδου και μία αμφίδρομη;
ΕΠΕΚΤΑΣΗ ΘΥΡΩΝ En7 74LS645 En7 8085 74LS 373 En1 En0 74LS 645 DIR En2 DIR DIR DIR DIR DIR 74LS645 74LS645 74LS645 74LS645 74LS645 En6 En5 En4 En3 En2 6 BIDIRECTIONAL PORTS
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.