ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ Τίτλος Μαθήματος Μικροελεγκτές και Ενσωματωμένα συστήματα Ανάπτυξη και Εφαρμογές Κωδικός Μαθήματος Μ2 Θεωρία / Εργαστήριο Θεωρία + Εργαστήριο Πιστωτικές μονάδες 4 Ώρες Διδασκαλίας 2Θ+1Ε Τρόπος/Μέθοδοι Διδασκαλίας Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects) Τελική εξέταση: 50%, Διαδικασία αξιολόγησης Ατομική (ομαδική) εργασία: 15% Εργαστήριο: 35% Α. ΠΕΡΙΓΡΑΦΗ Α.1 Σκοπός Ο κύριος στόχος του μαθήματος είναι η εξοικείωση των εκπαιδευομένων με την τεχνολογία των μικροελεγκτών και των ενσωματωμένων συστημάτων καθώς και των ευρέων εφαρμογών τους. Επιπρόσθετα το μάθημα στοχεύει στην επιμόρφωση των εκπαιδευομένων σχετικά με τις αρχές λειτουργίας των ενσωματωμένων συστημάτων σε ένα σύνθετο περιβάλλον σε επίπεδο υλικού, λογισμικού και αρχιτεκτονικής συστήματος, και στην εξοικείωσή τους με τις τεχνολογίες που υποστηρίζουν την ανάπτυξη και τις διαδικασίες κατασκευής τους. Στόχος είναι οι εκπαιδευόμενοι να αποκτήσουν την ικανότητα να συμμετάσχουν αποτελεσματικά σε έργα σχεδίασης, ανάπτυξης και υλοποίησης ενσωματωμένων συστημάτων. Ειδικότερα το μάθημα στοχεύει στην ανάλυση της ανάπτυξης και της χρήσης της ενσωματωμένης διάταξης, η οποία χαρακτηρίζεται από την ενοποίηση υλικού και λογισμικού σε ένα σύστημα ειδικού σκοπού. Το μάθημα αρχικά θα εστιαστεί στην περιγραφή της ιδιαιτερότητας και των βασικών χαρακτηριστικών των ενσωματωμένων συστημάτων. Θα αναλυθούν έννοιες όπως η λειτουργία πραγματικού χρόνου, η αλληλεπίδραση με το περιβάλλον και οι κύριες προδιαγραφές λειτουργίας των ενσωματωμένων διατάξεων σε εξειδικευμένες εφαρμογές. Στα πλαίσια του μαθήματος θα αναλυθεί διεξοδικά η χρήση και ο προγραμματισμός μικροελεγκτών σε γλώσσα ανωτέρου επιπέδου. Ειδικότερα θα εξεταστούν οι βασικές δομές προγραμματισμού, ο προγραμματισμός των ενσωματωμένων περιφερειακών όπως ψηφιακές είσοδοι-έξοδοι, χρονιστές και πηγές ρολογιών, ADC, η χρήση τρόπων χαμηλής κατανάλωσης ενέργειας, ο προγραμματισμός ασύρματων κόμβων αισθητήρων καθώς και η σειριακή επικοινωνία με έξυπνους αισθητήρες και ενδεικτικά τύπου LCD. Έμφαση θα δοθεί στην διδασκαλία των βασικών αρχών προγραμματισμού βασισμένων σε τεχνικές polling και διακοπών. Επιπρόσθετα εξειδικευμένα παραδείγματα εφαρμογών θα παρουσιαστούν και θα αναλυθούν βασισμένα σε μηχανές καταστάσεων (state machines).
Α.2 Μαθησιακά Αποτελέσματα Έχοντας ολοκληρώσει επιτυχώς το μάθημα οι εκπαιδευόμενοι θα είναι σε θέση να: Σχεδιάζουν, αναπτύσσουν και υλοποιούν ενσωματωμένα συστήματα ειδικών προδιαγραφών. Αντιμετωπίζουν αποτελεσματικά προβλήματα που απαιτούν προγραμματισμό πραγματικού χρόνου με χρήση διακοπών. Σχεδιάζουν και να υλοποιούν διατάξεις αυτοματισμού μέσω μικροελεγκτών. Προγραμματίζουν και να χρησιμοποιούν τα βασικά περιφερικά (A/D, UART, LCD, EEPROM). Αλληλεπιδρούν με εξωτερικές διατάξεις αισθητήρων (ψηφιακών και αναλογικών) και ενεργοποιητών (actuators). Β. ΑΝΤΙΚΕΙΜΕΝΑ ΠΟΥ ΚΑΛΥΠΤΟΝΤΑΙ 1. Εισαγωγή στις ενσωματωμένες διατάξεις Τι είναι τα ενσωματωμένα συστήματα Βασικά χαρακτηριστικά και μέρη ενσωματωμένων διατάξεων Σύγχρονες εφαρμογές Επισκόπηση μικροελεγκτών 2. Περιβάλλον ενσωματωμένων διατάξεων ΚατηγορίεςΕπεξεργαστών (microprocessors - microcontrollers - DSPs) Υψηλού επιπέδου Ενσωματωμένα Συστήματα (με χρήση ASIC ή FPGA) Επικοινωνία με τον χρήστη (Man Machine Interface) Περιφερειακά Ενσωματωμένων Συστημάτων Ενσωματωμένα Περιφερειακά (Build-in) Περιφερειακά Υλοποιημένα με Λογισμικό Εξωτερικά Περιφερειακά Εργαλεία Ανάπτυξης και Αποσφαλμάτωσης Αξιοπιστία Λειτουργίας 3. Αρχιτεκτονική Λογισμικού για Ενσωματωμένα Συστήματα Αρχιτεκτονική Απλού βρόγχου επανάληψης Αρχιτεκτονική με χρήση διακοπών (interrupts) Πολυδιεργασία - Πολυνηματοποίηση (multi-tasking ή multi-threading) 4. Σχεδιασμός Ενσωματωμένου Συστήματος Χαρακτηριστικά συσκευής Επιλογή Υλικού και Αρχιτεκτονικής Λογισμικού Υλοποίηση Συστήματος και Ολοκλήρωση συσκευής Μαζική παραγωγή συσκευής 5. Ο μικροελεγκτής σαν πλατφόρμα ενσωματωμένου συστήματος - Προγραμματισμός σε γλώσσα ανωτέρου επιπέδου
Γενικό Περίγραμμα Προγράμματος, Σχόλια (Comments), Τύποι Δεδομένων (Data Types) Συναρτήσεις (Functions), Μεταβλητές (Variables), Σταθερές (Constants) Μετατροπές Τύπων Δείκτες (Pointers), Προσπέλαση Της EEPROM, Δομές (Structures) Ορισμοί Μακροεντολές (Definitions Macros) Χρήση Διακοπών (Interrupts) Ενσωμάτωση Προγραμμάτων Συμβολικής Γλώσσας Προσπέλαση Καταχωρητών Εισόδου/Εξόδου Συναρτήσεις Βιβλιοθήκης (Library Functions) ΣυναρτήσειςΠροσπέλασηςΜνήμης (Memory Access Functions) Σειριακή επικοινωνία Χρήση LCD Χρήση του ενσωματωμένου ADC Χρήση διακοπών (Interrupts) Χρήση χρονιστών μετρητών Χρήση διαμόρφωσης παλμών (pulse wave modulation) Γ. ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Το εργαστηριακό μέρος του μαθήματος υλοποιείται μέσω 6 εργαστηριακών ασκήσεων εστιασμένων στα βασικότερα αντικείμενα της θεωρητικής διδασκαλίας. Οι ασκήσεις θα είναι προσανατολισμένες πάνω στα ακόλουθα πεδία: Άσκηση 1η: Αναπτυξιακή διάταξη STK600 / MSP430 LAUNCHPAD και ez- 430RF2500 - Εξοικείωση με ενοποιημένο περιβάλλον προγραμματισμού IDE (Integrated Development Environment) Εξοικείωση με αναπτυξιακές διατάξεις μικροελεγκτών και χρήση τους σαν πλατφόρμα ανάπτυξης ενσωματωμένων συστημάτων. Γνωριμία με το περιβάλλον πραγματισμού ανωτέρου επιπέδου. Βασικά χαρακτηριστικά και λειτουργία αναπτυξιακών διατάξεων Σύνδεση και επικοινωνία με τα βασικά μέρη ενός μικροελεγκτή Βασικά χαρακτηριστικά προγραμματιστικού περιβάλλοντος ανωτέρου επιπέδου και έλεγχος μικροελεγκτών Κατανόηση του περιβάλλοντος αλληλεπίδρασης με χρήστη (human interface). Άσκηση 2η: Περίγραμμα προγράμματος σε γλώσσα C για μικροελεγκτές AVR /MSP430 - Αμφίδρομες Πόρτες Εισόδου/Εξόδου (I/O)
Κατανόηση της βασικής δομής του προγράμματος σε γλώσσα ανωτέρου επιπέδου και ανάπτυξη στοιχειωδών προγραμμάτων. Κατανόηση της λειτουργίας των παραλλήλων πορτών Ι/Ο και χρήση τους σε βασικές εφαρμογές. Βασικά στοιχεία προγραμματισμού μικροελεγκτών Αρχικοποίηση και χρήση κύριων περιφερειακών διατάξεων Λειτουργία παραλλήλων πορτών Ι/Ο Χρήση παραλλήλων πορτών και εισαγωγή τους σε διαδικασίες αυτοματοποίησης και ελέγχου. Άσκηση 3η: Τρόποι χαμηλής κατανάλωσης Ισχύος- Χρήση ενσωματωμένων χρονιστών για την παραγωγή κυματομορφών PWM - Δημιουργία διάταξης D/A Κατανόηση του προγραμματισμού των τρόπων χαμηλής κατανάλωσης ισχύος και των γενικών αρχών προγραμματισμού μικροελεγκτών βασισμένου σε βρόγχους προσκηνίου-παρασκηνίου (foreground-background). Κατανόηση της υλοποίησης κυματομορφών PWM με την χρήση των ενσωματωμένων χρονιστών. Παραγωγή κυματομορφών PWM για λειτουργία dimming ενός LED και ενός σερβοκινητήρα. Ανάπτυξη μετατροπέα D/A με δύο βασικές μεθόδους: μέσω PWM και μέσω αντιστάσεων Βασικά στοιχεία προγραμματισμού μικροελεγκτών βασισμένων σε βρόγχους προσκηνίου-παρασκηνίου Προγραμματισμός τρόπων χαμηλής κατανάλωσης ισχύος Παραγωγή κυματομορφών PWM για εφαρμογές LED dimming και ελέγχου σερβοκινητήρων. Λειτουργία και χρήση μετατροπέων D/A Βασικοί τύποι και λειτουργίες μετατροπέων D/A. Ανάπτυξη διατάξεων D/A και χρήση τους σε εφαρμογές ενσωματωμένων συστημάτων Άσκηση 4η: Χρήση αλφαριθμητικής οθόνης LCD - Σειριακή πόρτα USART - επικοινωνία με έξυπνους αισθητήρες υγρασίας-θερμοκρασίας, ηλεκτρονικής πυξίδας και επιταχυνσιομέτρων Κατανόηση της λειτουργίας και της συνδεσμολογίας οθόνης υγρών κρυστάλλων, καθώς και της χρησιμότητάς της σε εφαρμογές αυτόνομών ενσωματωμένων διατάξεων. Κατανόηση της ασύγχρονης λειτουργίας και χρήση της σειριακής επικοινωνίας μέσω της πόρτας
USART. Κατανόηση των συνηθισμένων τρόπων σειριακής επικοινωνίας (I2C,SPI) μικροελεγκτών με έξυπνους αισθητήρες. Βασικά χαρακτηριστικά και χρήση οθονών τύπου LCD Επικοινωνία και έλεγχος οθονών τύπου LCD Λειτουργία ασύγχρονης επικοινωνίας Χρήση και επικοινωνία μέσωσειριακής πόρτας USART. Συνηθισμένοι τρόποι σειριακής επικοινωνίας μικροελεγκτών με έξυπνους αισθητήρες Άσκηση 5η: Κατασκευή αυτοματοποιημένου συστήματος συλλογής δεδομένων (datalogger) - Προγραμματισμός Ασύρματων κόμβων αισθητήρων Κατανόηση ενός ενσωματωμένου συστήματος που συλλέγει σήματα από τον πραγματικό κόσμο και αφού τα επεξεργαστεί σε πραγματικό χρόνο, αποστέλλει τα αποτελέσματα σε τερματικό με ψηφιακό τρόπο. Κατανόηση της τεχνολογίας των Ασύρματων Δικτύων Αισθητήρων (WSNs). Κατανόηση των βασικών λεπτομερειών για την υλοποίηση του ασύρματου δικτύου αισθητήρων για την μεταφορά δεδομένων από ενσωματωμένο αισθητήρα θερμοκρασίας Κατανόηση λειτουργίας και προγραμματισμού ενός ανάλογο-ψηφιακού μετατροπέα Α/D Παράλληλη συλλογή σημάτων από διαφόρους τύπους αισθητήρων Κατανόηση των ηλεκτρικών χαρακτηριστικών των αισθητήρων Στοιχειώδη επεξεργασία σήματος σε πραγματικό χρόνο Βασικά χαρακτηριστικά των Ασύρματων Δικτύων Αισθητήρων Προγραμματισμός Ασύρματων Κόμβων για την ασύρματη μεταφορά δεδομένων από ενσωματωμένο αισθητήρα Άσκηση 6η: Λειτουργίες χρονισμού - ανάδρασης και προγραμματισμός πραγματικού χρόνου Ανάπτυξη διαδικασιών πραγματικού χρόνου μέσω χρήσης διακοπών (interrupts) και χρονιστών απαριθμητών (timers counters) Χρήση διακοπών, χρονιστών, απαριθμητών Συλλογή δεδομένων και διαδικασίες ανάδρασης σε πραγματικό χρόνο. Σύνδεση διαδικασιών A/D και ψηφιακής επεξεργασίας δεδομένων Ασύγχρονη επικοινωνία με ενσωματωμένα συστήματα