Παρουσίαση/Προβολή

Μικροεπεξεργαστές
(ICSD328P) - Ασημάκης Λερός
Περιγραφή Μαθήματος
Το μάθημα έχει ως αντικείμενο τη σχεδίαση ψηφιακών συστημάτων χρησιμοποιώντας μικροεπεξεργαστές και μικροελεγκτές, και βασίζεται στη Λογική Σχεδίαση του 1ου έτους και στην Αρχιτεκτονική του 2ου.
Ειδικότεροι στόχοι του μαθήματος είναι να παρέχει:
- καλή γνώση της αρχιτεκτονικής και του τρόπου λειτουργίας μικροεπεξεργαστών και μικροελεγκτών,
- βασική γνώση της μεθοδολογίας διασύνδεσης ενός μικροϋπολογιστικού συστήματος με εξωτερικές συσκευές,
- εξοικείωση με τον προγραμματισμό μικροεπεξεργαστών και μικροελεγκτών σε C και Assembly για την υλοποίηση μιας εφαρμογής,
- κατανόηση της σχέσης μεταξύ του υλικού και του λογισμικού σε ένα υπολογιστικό σύστημα γενικότερα,
- εξοικείωση με τη μελέτη εγχειριδίων (datasheets),
- εισαγωγή στο υλικό του διαδικτύου των πραγμάτων (IoT).
Ημερομηνία δημιουργίας
Παρασκευή 28 Φεβρουαρίου 2020
-
Περιεχόμενο μαθήματος
Με βάση τους παραπάνω στόχους, στα πλαίσια του μαθήματος θα μελετήσουμε
- την εσωτερική αρχιτεκτονική ενός μικροελεγκτή
- το ρεπερτόριο εντολών (γλώσσα μηχανής και assembly)
- τον τρόπο με τον οποίο υλοποιούνται στην assembly διάφορες δομές γλωσσών υψηλού επιπέδου (βρόχοι, έλεγχοι, συναρτήσεις--υπορουτίνες κλπ)
- τον τρόπο διασύνδεσης του μικροελεγκτή με εξωτερική μνήμη και με μονάδες εισόδου--εξόδου για την υλοποίηση μιας εφαρμογής (ενός απλού ψηφιακού συστήματος)
- τον προγραμματισμό του μικροελεγκτή σε assembly και C για την υλοποίηση μιας εφαρμογής.
Το μάθημα και το εργαστήριο είναι οργανωμένο γύρω από τους μικροελεγκτές AVR της Atmel (8-bit), που χρησιμοποιούνται σε μεγάλο φάσμα εφαρμογών (είναι μια από τις τρείς πιο διαδεδομένες οικογένειες μικροελεγκτών 8-bit διεθνώς).
Ομάδα στόχος
Το μάθημα θα σας ενδιαφέρει ιδιαίτερα αν ισχύει ένα τουλάχιστον από τα παρακάτω:
- θέλετε να εμπλουτίσετε τις γνώσεις σας σε θέματα υλικού υπολογιστικών συστημάτων, καθώς και στη σχέση υλικού--λογισμικού
- θέλετε να αποκτήσετε περισσότερη εμπειρία στην υλοποίηση ψηφιακών συστημάτων
- ενδιαφέρεστε για το υλικό του διαδικτύου των πραγμάτων
- είστε χομπίστες και σας αρέσουν οι κατασκευές.
Εργαστήριο
Στο εργαστήριο θα χρησιμοποιήσουμε τον μικροελεγκτή ATMega328P της Atmel, την πλακέτα εφαρμογών Arduino Uno και το περιβάλλον ανάπτυξης εφαρμογών Atmel Studio 7. Το περιβάλλον Αrduino IDE θα είναι διαθέσιμο στο εργαστήριο, αλλά δεν θα το χρησιμοποιήσουμε. Ο κώδικας των ασκήσεων θα είναι σε Assembly και C.
Θα έχουμε περίπου οκτώ εργαστηριακές ασκήσεις. Επειδή ο χρόνος του εργαστηρίου είναι περιορισμένος, θα πρέπει οπωσδήποτε να έχετε προετοιμάσει την άσκηση πριν το εργαστήριο.
Στο εργαστήριο υπάρχουν 10 θέσεις εργασίας (PC, πλακέτα Arduino και υπόλοιπα υλικά). Αν είμαστε περισσότεροι από 10, θα δημιουργηθεί δεύτερο τμήμα την Πέμπτη.
Η παρουσία σας στο εργαστήριο είναι υποχρεωτική. Σε περίπτωση αδυναμίας σας να παρευρεθείτε στο εργαστήριο, ειδοποιήστε με όσο το δυνατόν νωρίτερα. Εργασίες που χάνονται γενικά δεν υπάρχει χρόνος να αναπληρωθούν.
Εργαστηριακό project
Εκτός των εβδομαδιαίων ασκήσεων θα υπάρχει μια μεγαλύτερης κλίμακας εργαστηριακή εργασία (project), της τάξης των 30--40 ωρών (περίπου 5--6 ώρες την εβδομάδα επί 5--6 εβδομάδες). Το θέμα θα είναι αυστηρά της επιλογής σας. Μπορείτε να αντιγράψετε ή να τροποποιήσετε οτιδήποτε βρείτε σε έντυπες ή ηλεκτρονικές πηγές, με τις προϋποθέσεις ότι (α) συμφωνώ και (β) αναφέρετε ρητά τις πηγές. Θα οριστικοποιήσουμε τα θέματα αμέσως μετά τις διακοπές του Πάσχα.
Τα παραδοτέα της εργασίας θα είναι το σχετικό υλικό και λογισμικό, ή έκθεση (φύλλο έργου) και ένα δίλεπτο video.
Βιβλιογραφία
Από τα παρακάτω θα χρησιμοποιήσουμε κυρίως τα datasheets των μικροελεγκτών. Στα βιβλία μπορείτε να βρείτε ιδέες για υλοποίηση στην τελική εργασία.
Αρχιτεκτονική και προγραμματισμός των AVR (Εύδοξος και βιβλιοθήκη):
- Π. Παπάζογλου "Αρχιτεκτονική και προγραμματισμός του μικροελεγκτή AVR", Τζιόλας 2017.
- Ν. Νικολαϊδης "Μικροελεγκτές", εκδ. Κυριακίδη 2018.
- Κ. Πεκμεστζή "Συστήματα μικροϋπολογιστών", Συμμετρία 2009. Τόμος ΙΙ, κεφ. 1, 2, 3.1, 3.2, 3.5, 3.6.
- Γεωργιάδης "Μικροελεγκτές - από τη θεωρία στην πράξη", τόμοι 1 και 2, εκδ. Νέων Τεχνολογιών 2023.
Για χομπίστες (ιδέες και λύσεις για την εργασία, Εύδοξος και βιβλιοθήκη):
- Π. Παπάζογλου & Σ.Π. Λιωνής "Ανάπτυξη εφαρμογών με το Arduino," 3η έκδοση, Τζιόλας 2021.
- Μπούρας & Κάππος "Arduino: Αλγοριθμική, προγραμματισμός και εφαρμογές", Κλειδάριθμος 2021.
- Καλοφωλιάς "Προγραμματισμός του μικροελεγκτή AVR ATMega328", Τζιόλας 2017.
Αγγλόφωνα (κάποια διαθέσιμα μέσω Εύδοξου ή στη βιβλιοθήκη):
- M. Margolis et al "Arduino cookbook: Recipes to begin, expand, and enhance your projects," 3rd edition. O' Reilly, 2020.
- S.F. Barrett & D.J. Pack "Microchip AVR® Microcontroller Primer: Programming and Interfacing," 3rd edition. Morgan & Claypool / Springer, 2019.
- M.A. Mazidi & S. Naimi "The AVR microcontroller and Embedded systems: Using Assembly and C." Pearson, 2014.
- A. Trevennor "Practical AVR microcontrollers," APress 2012.
Datasheets & manuals (www.microchip.com):
- AVR ATMega328P datasheet
- AVR instruction set manual
- AVR assembler manual
- Atmel Studio 7 user guide
Θέση του μαθήματος στο πρόγραμμα σπουδών
Αυστηρά προαπαιτούμενα:
- Λογική σχεδίαση του 1ου έτους, Θ+Ε (ψηφιακή σχεδίαση με πύλες, flip-flop κλπ)
- Αρχιτεκτονική του 2ου έτους, Θ+Ε (αναπαράσταση αριθμητικών δεδομένων, οργάνωση και λειτουργία CPU, RISC vs CISC, επαφή με τη γλώσσα μηχανής και την assembly του MIPS, δίαυλοι, τρόποι διευθυνσιοδότησης κύριας μνήμης)
Η σχεδίαση ψηφιακών συστημάτων (HDL) και το VLSI του 4ου έτους είναι επίσης σχετικά με υλικό μαθήματα (όχι προοαπαιτούμενα). Φυσική κατάληξη είναι το IoT του 5ου έτους.
Αξιολόγηση
- Εργαστηριακές ασκήσεις: 50% (περίπου 8 x 6%). Βαθμολογείται η κατανόηση του αντικειμένου της άσκησης, η επιτυχής υλοποίηση, ο αποτελεσματικός κώδικας, η παρουσίαση στο εργαστήριο και η πληρότητα του φύλλου έργου.
- Εργαστηριακό project: 40%. Βαθμολογείται η αποτελεσματική υλοποίηση σε H/W και S/W, η δυσκολία του προβλήματος, η παρουσίαση στο εργαστήριο και η πληρότητα της έκθεσης.
- Συμμετοχή στο θεωρητικό μάθημα και στο εργαστήριο: 10%. Βαθμολογείται η συνεισφορά στο μάθημα και εργαστήριο με ερωτήσεις, παρατηρήσεις, σχόλια, υποδείξεις κλπ, προφορικά ή γραπτά (μηνύματα και συζητήσεις στο eclass). Δεν μετρά η απλή παρουσία στο μάθημα, αλλά ούτε και το πλήθος των μηνυμάτων ή παρεμβάσεων.
Προσοχή στις προθεσμίες! Εργασίες καθυστερημένες μέχρι τρεις ημέρες θα έχουν βαθμό μειωμένο κατά 10%. Μετά τις τρεις ημέρες δεν θα γίνονται δεκτές.
Διδάσκων
Δρ Ασημάκης Λερός
Κτίριο ΜΠΕΣ, γραφείο Β-10
Για ερωτήσεις της μιας γραμμής (διαδικαστικά του μαθήματος, διευκρινήσεις, απορίες):
aleros at aegean dot gr ή με μήνυμα μέσω eclassΓια πιο σύνθετες ερωτήσεις και οποιοδήποτε άλλο θέμα στις ώρες γραφείου:
Τρίτη και Πέμπτη 4--6 μμ