Το μάθημα αποσκοπεί στη γνωριμία των φοιτητών με τα χαρακτηριστικά, τον προγραμματισμό και τις εφαρμογές των μικροελεγκτών, έχοντας ως βασικό υπόδειγμα μια διαδεδομένη και ανοιχτού κώδικα οικογένεια μικροελεγκτών. Η διδασκαλία του μαθήματος περιλαμβάνει διαλέξεις θεωρίας και εργαστηριακές ασκήσεις.
Το θεωρητικό μέρος του μαθήματος περιλαμβάνει τα εξής: δομή και βασικές αρχιτεκτονικές, τύποι μνήμης και hardware υποστήριξης, παρουσίαση της οικογένεια των μικροελεγκτών που χρησιμοποιείται ως υπόδειγμα στο μάθημα. Διαχείριση δυαδικής πληροφορίας, συστήματα αναπαράστασης και κωδικοποίησης αριθμών. Προγραμματισμός μικροελεγκτών σε γλώσσες C και wiring-C ιδιαιτερότητες και βασικά εργαλεία. Ψηφιακές θύρες εισόδου – εξόδου. Μηχανισμός interrupts, γραμμές εξωτερικών διακοπών. Χρονιστές/απαριθμητές. τύποι μετατροπέων A/D και D/A, βασικές αρχές δειγματοληψίας σήματος, θεώρημα δειγματοληψίας του Shanon. Πρωτόκολλα σύγχρονης και ασύγχρονης σειριακής επικοινωνίας. Ολοκλήρωση ενσωματωμένων συστημάτων με μικροελεγκτή – παραδείγματα εφαρμογών. Επιλογή τεχνολογιών και παραμέτρων υλοποίησης ψηφιακών ελεγκτών, προγραμματισμός συστημάτων πραγματικού χρόνου.
Το εργαστηριακό μέρος του μαθήματος περιλαμβάνει τα εξής: εισαγωγή στο περιβάλλον προγραμματισμού, ψηφιακές θύρες, αναλογικές θύρες και ψευδοαναλογικές θύρες εξόδου, καταγραφή δεδομένων, οδήγηση 7-segment display και οθόνης LCD, διασύνδεση και προγραμματισμός μονάδων πληκτρολογίου, χρήση interrupts, χρονιστές-απαριθμητές, γεννήτριες παλμοσειρών, παραγωγή σημάτων PWM, ο μετατροπέας A/D, ασύγχρονη σειριακή επικοινωνία. Οδήγηση και έλεγχος κινητήρων (DC, RC-servo, Βηματικών) από μικροελεγκτή. Προσαρμογή και διασύνδεση αναλογικών και ψηφιακών αισθητήρων με διάφορα πρωτόκολλα επικοινωνίας. Οι φοιτητές θα κληθούν να υλοποιήσουν εργασίες μικρής κλίμακας μετά το πέρας κάθε μιας ενότητας και ένα project μεγαλύτερης δυσκολίας.
Με την επιτυχή ολοκλήρωση του μαθήματος, οι φοιτητές αναμένεται:
Το θεωρητικό μέρος του μαθήματος περιλαμβάνει τα εξής: δομή και βασικές αρχιτεκτονικές, τύποι μνήμης και hardware υποστήριξης, παρουσίαση της οικογένεια των μικροελεγκτών που χρησιμοποιείται ως υπόδειγμα στο μάθημα. Διαχείριση δυαδικής πληροφορίας, συστήματα αναπαράστασης και κωδικοποίησης αριθμών. Προγραμματισμός μικροελεγκτών σε γλώσσες C και wiring-C ιδιαιτερότητες και βασικά εργαλεία. Ψηφιακές θύρες εισόδου – εξόδου. Μηχανισμός interrupts, γραμμές εξωτερικών διακοπών. Χρονιστές/απαριθμητές. τύποι μετατροπέων A/D και D/A, βασικές αρχές δειγματοληψίας σήματος, θεώρημα δειγματοληψίας του Shanon. Πρωτόκολλα σύγχρονης και ασύγχρονης σειριακής επικοινωνίας. Ολοκλήρωση ενσωματωμένων συστημάτων με μικροελεγκτή – παραδείγματα εφαρμογών. Επιλογή τεχνολογιών και παραμέτρων υλοποίησης ψηφιακών ελεγκτών, προγραμματισμός συστημάτων πραγματικού χρόνου.
Το εργαστηριακό μέρος του μαθήματος περιλαμβάνει τα εξής: εισαγωγή στο περιβάλλον προγραμματισμού, ψηφιακές θύρες, αναλογικές θύρες και ψευδοαναλογικές θύρες εξόδου, καταγραφή δεδομένων, οδήγηση 7-segment display και οθόνης LCD, διασύνδεση και προγραμματισμός μονάδων πληκτρολογίου, χρήση interrupts, χρονιστές-απαριθμητές, γεννήτριες παλμοσειρών, παραγωγή σημάτων PWM, ο μετατροπέας A/D, ασύγχρονη σειριακή επικοινωνία. Οδήγηση και έλεγχος κινητήρων (DC, RC-servo, Βηματικών) από μικροελεγκτή. Προσαρμογή και διασύνδεση αναλογικών και ψηφιακών αισθητήρων με διάφορα πρωτόκολλα επικοινωνίας. Οι φοιτητές θα κληθούν να υλοποιήσουν εργασίες μικρής κλίμακας μετά το πέρας κάθε μιας ενότητας και ένα project μεγαλύτερης δυσκολίας.
Με την επιτυχή ολοκλήρωση του μαθήματος, οι φοιτητές αναμένεται:
- Να γνωρίζουν τα βασικά χαρακτηριστικά της αρχιτεκτονικής και των ενσωματωμένων περιφερειακών των μικροελεγκτών. Να κατανοούν το εύρος και το πλαίσιο εφαρμογής των δυνατοτήτων που παρέχουν οι μικροελεγκτές για την επίλυση πρακτικών προβλημάτων.
- Να μπορούν να χρησιμοποιούν τη γλώσσα προγραμματισμού C και wire-C για την προσπέλαση και αξιοποίηση των πόρων του μικροελεγκτή, στα πλαίσια ανάπτυξης εφαρμογών.
- Να έχουν αποκτήσει πρακτική εμπειρία στα παραπάνω, μέσω του εργαστηριακού μέρους του μαθήματος.
- Να διαθέτουν το γνωστικό υπόβαθρο για την αξιοποίηση των δυνατοτήτων των μικροελεγκτών, στο πλαίσιο των απαιτήσεων άλλων μαθημάτων.
Απαιτούμενες γνώσεις: Προχωρημένος Προγραμματισμός, Αισθητήρες και Συστήματα Μετρήσεων, Συστήματα Αυτομάτου Ελέγχου.