ΕΙΣΑΓΩΓΗ μέρος 1 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Π. ΚΩΣΤΑΡΑΚΗΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ
Δομή Μαθήματος Εισαγωγικά θεωρητικά μαθήματα Εργαστήριο Θεωρία - Ανάλυση Άσκησης Ανάπτυξη – Υλοποίηση Άσκησης – Παράδοση κώδικα
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ ΕΙΣΑΓΩΓΗ – ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ mC / mP ΔΕΚΑΕΞΑΔΙΚΟ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΥΡΙΑ ΜΕΡΗ μ C MC68HC705C8A ΑΡΧΙΤΕΚΤΟΝΙΚΗ - ΚΑΤΑΧΩΡΗΤΕΣ ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ASSEMBLY ΑΝΑΠΤΥΞΙΑΚΟ ΕΡΓΑΛΕΙΟ
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ ΕΡΓΑΣΤΗΡΙΑ ΔΙΑΣΥΝΔΕΣΗ ΦΩΤΟΔΙΟΔΩΝ ΔΙΑΣΥΝΔΕΣΗ ΔΙΑΚΟΠΤΗ ΑΠΕΙΚΟΝΙΣΗ ΣΕ ΕΝΔΕΙΚΤΗ 7 ΤΟΜΕΩΝ ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗ ΕΦΑΡΜΟΓΕΣ ΑΠΕΙΚΟΝΙΣΗΣ ΠΛΗΚΤΡΟΛΟΓΙΟ
ΒΙΒΛΙΟΓΡΑΦΙΑ Εισαγωγή στους μικροελεγκτές, Π. Κωσταράκης Μικροεπεξεργαστές : Αρχές και Εφαρμογές, Gilmore M68HC05 Applications Guide MC68HC705C8A Technical Data
ΕΙΣΑΓΩΓΗ – ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ Μικροϋπολογιστής : Είναι ένας υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών : Ανάλογα με τον πυρήνα τους χωρίζονται σε μικροϋπολογιστές με μικροεπεξεργαστή ( μ P - uP) και μικροϋπολογιστές με μικροελεγκτή ( μ C - uC)
ΔΙΑΦΟΡΕΣ μ P / μ C Ο μ P είναι ένα ολοκληρωμένο κύκλωμα που περιλαμβάνει CPU και κυκλώματα διευθυνσιοδότησης μνήμης. Ο μ C περιλαμβάνει επιπλέον ρολόι, θύρες εισόδου / εξόδου ( γενικότερα διάφορα περιφερειακά ) και εσωτερική μνήμη RAM & ROM. Είναι δηλαδή ένας πλήρης υπολογιστής ενσωματωμένος σ ’ ένα IC ( ενώ αντίθετα ο μ P γίνεται Η / Υ με την προσθήκη πολλών εξαρτημάτων ).
ΜΠΛΟΚ ΔΙΑΓΡΑΜΜΑ μ C Bus δεδομένων, εντολών, κλ π μPμP Μνήμη I/O συσκευές μCμC
ΔΙΑΦΟΡΕΣ μ P / μ C O μ P χρησιμοποιείται σε πολύπλοκα μαθηματικά προβλήματα και σε μη θορυβώδη περιβάλλοντα, ενώ ο μ C σε εφαρμογές ελέγχου και σε θορυβώδη περιβάλλοντα ( βιομηχανία ). Με απλά λόγια ο μ P ειναι μια κεντρικη μοναδα επεξεργασίας παρόμοια με αυτή που βρίσκουμε σε σε οποιοδήποτε PC
ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ Intel 4004 o πρώτος μικροεπεξεργαστής. 4-bit, 2300 ΤΡΑΝΖΙΣΤΟΡΣ Νοέμβριος 1971 46 εντολές, « ταχύτητα » 740 ΚΗ z: ~5000 πιο αργός από τωρινούς μ P
ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ Zilog Z80 Ιούνιος 1976 8-bit « ταχύτητα » 2.5MHz
Ο νόμος του Moore διατυπώθηκε το 1965 Ο αριθμός των τρανσίστορ που βρίσκονται σε ένα ολοκληρωμένο κύκλωμα διπλασιάζεται κάθε 2 χρόνια. Η ισχύς των ολοκληρωμένων διπλασιάζεται κάθε 18 μήνες. Ο φυσικός Michio Kaku υποστηρίζει ότι ο περίφημος νόμος του Moore σύντομα (~2022) θα πάψει να επαληθεύεται, διότι το πυρίτιο φθάνει στα όριά του και χρειάζεται να βρεθεί υλικό που θα το αντικαταστήσει. Η κατασκευή ολοκληρωμένων στα 5 νανόμετρα είναι το απόλυτο όριο του πυριτίου και δε μπορεί να φτάσει πιο κάτω.
ΣΗΜΕΡΑ
mC Δεκάδες εταιρείες κατασκευάζουν microcontrollers. Intel: 8051/2 Atmel: AVR Microchip: PIC Motorola (Freescale) 68HC705 MC68HC705C8A
ΘΕΜΑΤΙΚΕΣ ΜΑΘΗΜΑΤΟΣ Ορισμοί Βασικές Έννοιες Ο μικροελεγκτής MC68HC705C8A WIN IDE Εργαστηριακές Ασκήσεις
ΔΕΚΑΕΞΑΔΙΚΟ ΣΕ ΔΕΚΑΔΙΚΟ DecHex A 11B 12C 13D 14E 15F 1F5C h 3 (Msb)210 hex1F5C dec μετατρ 1 ● (16 3 )15 ● (16 2 )5 ● (16 1 )12 ● (16 0 )
ΔΕΚΑΕΞΑΔΙΚΟ ΣΕ ΔΥΑΔΙΚΟ 0=0000 1=0001 2=0010 3=0011 4=0100 5=0101 6=0110 7=0111 8=1000 9=1001 A=1010 B=1011 C=1100 D=1101 E=1110 F= (Msb)210 hex1F5C bin
ΑΣΚΗΣΗ Να μετατραπει το 9ABC h σε δεκαδικό και δυαδικό
ΑΡΧΙΤΕΚΤΟΝΙΚΗ μ P/C – ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Ο κάθε επεξεργαστής έχει τη δικιά του αρχιτεκτονική Μήκος λέξης δεδομένων Μέγεθος μνήμης Ταχύτητα εκτέλεσης εντολών
Μονάδες Bit: 0 ή 1 Byte: Σύνολο 8b, b Nibble: Μισό byte Word: 2 bytes
Μήκος λέξης δεδομένων 4-bits 8-bits 16-bits 32-bits 64-bits O επεξεργαστής με το μεγαλύτερο μήκος λέξης θα εκτελέσει μια λειτουργία με τη μεγαλύτερη ταχύτητα άρα δεν υπάρχει λογός να χρησιμοποιούμε μ P 4,8,16,32-bits
Μήκος λέξης δεδομένων Εξαρτάται απο την εφάρμογη που θα χρησιμοποιηθεί. μ P 4 και 8 bits χρησιμοποιούνται σε προιόντα και εφαρμογές χαμηλού κόστους όπως αριθμομηχανές, τηλεφωνητές, τηλεχειριστήρια κλπ
Μήκος λέξης δεδομένων Ο 32-bit μ P πόσες φορές ειναι γρηγορότερος απο τον 8-bit μ P?
Addr bus 1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΕΠΕΞΕΡΓΑΣΤΩΝ ΜΝΗΜΗ (data + instr) Data bus Addr bus CPU ΜΝΗΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ instr Data bus 1 CPU Addr bus 2 Data bus 2 ΜΝΗΜΗ ΔΕΔΟΜΕΝΩΝ data Von Neumann Harvard
ΜΝΗΜΗ 68HC05 Η μνήμη των μ C της οικογένειας 68HC05 έχουν οργανωθεί σύμφωνα με την αρχιτεκτονική Von Neumann. Σ ’ αυτήν την αρχιτεκτονική το πρόγραμμα και τα δεδομένα εμφανίζονται στον ίδιο χάρτη μνήμης. Επομένως στην αρχιτεκτονική αυτή, η διασύνδεση της CPU με τη μνήμη γίνεται από έναν δίαυλο διευθύνσεων (address bus) και από ένα δίαυλο δεδομένων (data bus). Το address bus χρησιμοποιείται για να αναγνωρίσει η CPU τη διεύθυνση της μνήμης που θα προσπελάσει, ενώ το data bus για την μεταφορά δεδομένων από τη CPU προς τη μνήμη και αντίστροφα. ( Δίαυλος : η φυσική διασύνδεση που επιτρέπει την μεταφορά δεδομένων από ένα σημείο του υπολογιστή σε ένα άλλο. Κάθε αγώγιμη σύνδεση του διαύλου λέγεται γραμμή -line).
ΜΝΗΜΗ 68HC05 Η CPU του μ C MC68HC705C8A είναι 8-bit, κατά συνέπεια η μνήμη του οργανώνεται σε bytes (1byte=8bits). Τα bytes τοποθετούνται το ένα έπειτα από το άλλο έτσι ώστε να σχηματίσουν μια ομάδα από 8192 bytes (0-1FFF) h. Η χωρητικότητα της μνήμης του μ C είναι 8 Kbytes (8192 bytes) κατά συνέπεια το address bus του μ C αυτού είναι 13bits (2 13 =8192), ενώ το data bus είναι 8-bit.
ΤΥΠΟΙ ΜΝΗΜΗΣ 1. RAM (Random Access Memory) Read/write (R/W) Volatile (Πτητικές) 2. ROM (Read-Only Memory) Non-volatile EEPROM EPROM
H μνήμη του MC68HC705C8A αποτελείται από RAM για τα προσωρινά δεδομένα EPROM για τα μόνιμα δεδομένα
Μέγεθος μνήμης Η CPU μπορει να κάνει address σε Χ bytes μνήμης. Η μνήμη μπορεί να είναι RAM, EPROM, EEPROM κλπ. Γενικά Η μνήμη μπορει να ειναι μνήμη προγράμματος ή δεδομένων. Η μνήμη προγράμματος μπορεί να χρησιμοποιηθεί και ως μνήμη δεδομένων. Στη RAM γράφονται μεταβλητά δεδομένα
Πρόθεμα % Δυαδικό $ Δεκαεξαδικό Χωρίς πρόθεμα Δεκαδικό 15 = %1111 = $F
MEMORY MAP Κώδικας μας
Ταχύτητα MC68HC705C8A Για τη σωστή λειτουργία της CPU απαιτείται ένα ρολόι για το συγχρονισμό των διάφορων λειτουργιών. Για να ολοκληρωθεί η εκτέλεση μιας εντολής απαιτείται ένας αριθμός βημάτων. Κάθε βήμα εκτελείται σ ’ ένα « κτύπο » ρολογιού ( κύκλο μηχανής ). Π. χ. η εντολή πρόσθεσης απαιτεί 5 κύκλους μηχανής για να εκτελεστεί. Η συχνότητα του ρολογιού και τα βήματα εκτέλεσης μιας εντολής καθορίζουν την ταχύτητα ενός μικροελεγκτή.
Ταχύτητα MC68HC705C8A Ο μ C MC68HC705C8A που εξετάζουμε δέχεται μέγιστο εξωτερικό ρολόι συχνότητας 4MHz το οποίο διαιρείται εσωτερικά ÷2. Τα βήματα εκτέλεσης μιας εντολή γίνονται σύμφωνα με το εσωτερικό ρολόι του μ C κατά συνέπεια κάθε κύκλος μηχανής υπολογίζεται t=1/2MHz=0.5 μ sec. Οι περισσότερες εντολές του μ C χρειάζονται 2-5 κύκλους μηχανής για να εκτελεστούν, κατά συνέπεια η CPU μπορεί να εκτελεί περίπου εντολές /sec. (0.5MIPS)
Ταχύτητα μ C Ταχύτητα χρονισμού (Clock Speed) Η ταχύτητα με την οποία λειτουργεί ο ταλαντωτής χρονισμού Million Instructions Per Second (MIPS) O αριθμός των εντολών μηχανής που εκτελεί ο επεξεργαστής σε ένα sec
Ταχύτητα μ P ΕΤΟΣμPμP MIPS at clock speed 1971 Intel MIPS at 740 kHz 1982 Intel MIPS at 12.5 MHz 1994 Intel Pentium188 MIPS at 100 MHz 2004 Pentium 4 Extreme Edition9,726 MIPS at 3.2 GHz 2013 Intel Core i7 4770k128,000 MIPS at 3.9GHz
Καταχωρητές (Registers) Σημαντικό ξεχωριστό μέρος της αρχιτεκτονικής του κάθε μικροεπεξεργαστή αποτελούν οι καταχωρητές του. Αποτελούν προσωρινές συσκευές αποθήκευσης δεδομένων. Μπορούν να χρησιμοποιηθούν και για συγκεκριμένες λειτουργίες
Instruction SET Σετ εντολών μ C. Είναι το σύνολο εντολών που του επιτρέπουν να μετακινεί και να διαχειρίζεται δεδομένα. Είναι μοναδικό για κάθε επεξεργαστή αν και υπάρχουν παρα πολλά κοινά χαρακτηριστικά.
Ολοκληρωμένο σύστημα αναπτυξης μ C Περιλαμβάνει το software που επιτρέπει στον σπουδαστή να γράψει, τροποποιήσει και να ελεγξει τον κώδικα. Περιλαμβάνει το hardware που επιτρέπει στο σπουδαστή να ελέγξει σε πραγματικό χρόνο την ασκησή του
Ολοκληρωμένο σύστημα αναπτυξης μ C Για να δοκιμαστεί η λειτουργία των ασκήσεων θα χρησιμοποιηηθει το software WinIDE. Το WinIDE περιλαμβάνει cross assembler, και debugger simulator. Με τη βοήθεια αυτού του αναπτυξιακού εργαλείου είναι εφικτή η προσομοίωση του μικροεπεξεργαστή και των on-chip περιφερειακών του.
Ολοκληρωμένο σύστημα αναπτυξης μ C
Πρόγραμμα IDE - ΒΙΒΛΙΟΓΡΑΦΙΑ WinIDE πρόγραμμα WinIDE πρόγραμμα MC68HC705C8A: Technical Data MC68HC705C8A: Technical Data M68HC05: Applications Guide M68HC05: Applications Guide M68ICS05C In-Circuit Simulation M68ICS05C In-Circuit Simulation
ΣΥΝΟΠΤΙΚΑ 1. Μελέτη θεωρίας Άσκησης 2. Ανάπτυξη κώδικα, Προσωμοίωση 3. Προγραμματισμός μ C και έλεγχος σε αναπτυξιακή πλακέτα. 4. Παράδοση πηγαίου κώδικα κλπ αρχείων σε ηλεκτρονική μορφή