Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 1: Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems) Εργαστήριο Αυτομάτου Ελέγχου
Ενσωματωμένα συστήματα (Embedded Systems)
Ενσωματωμένα συστήματα (Embedded Systems) Ορισμός Είναι ένα συγκεκριμένου σκοπού (single-purpose) ενσωματωμένο υπολογιστικό υποσύστημα ενός συνολικού συστήματος που έχει ως σκοπό την επίβλεψη και τον έλεγχο του συστήματος αυτού. Υλοποίηση Υπάρχουν πολλές παραλλαγές στην υλοποίηση ενσωματωμένων συστημάτων. Συνήθως είναι μικρού μεγέθους συσκευές οι οποίες αποτελούνται από 3 απαραίτητα στοιχεία: i. Μικροελεγκτές/ Μικροεπεξεργαστές ii. Μνήμη iii.διεπαφές με το περιβάλλον
Ενσωματωμένα συστήματα (Embedded Systems) Ορισμός Είναι ένα συγκεκριμένου σκοπού (single-purpose) ενσωματωμένο υπολογιστικό υποσύστημα ενός συνολικού συστήματος που έχει ως σκοπό την επίβλεψη και τον έλεγχο του συστήματος αυτού. Υλοποίηση Υπάρχουν πολλές παραλλαγές στην υλοποίηση ενσωματωμένων συστημάτων. Συνήθως είναι μικρού μεγέθους συσκευές οι οποίες αποτελούνται από 3 απαραίτητα στοιχεία: i. Μικροελεγκτές/ Μικροεπεξεργαστές ii.μνήμη iii.διεπαφές με το περιβάλλον ΠΡΟΣΟΧΗ! Η έννοια «ενσωματωμένο» έχει να κάνει με τις λειτουργίες και όχι με το μέγεθος ή τις δυνατότητες.
Ενσωματωμένα συστήματα (Embedded Systems) Η «καρδιά ή συστημάτων. το μυαλο» των ενσωματωμένων
Ενσωματωμένα συστήματα (Embedded Systems) Motor Embedded Control Unit ABS/EPS Embedded Control Unit Aircraft Mission Embedded Control Unit Quadrotor Embedded Control Unit
Ενσωματωμένα συστήματα (Embedded Systems) Πλατφόρμες και Λογισμικό Υπάρχουν διάφορες πλατφόρμες που χρησιμοποιούν διαφορετικού τύπου λογισμικό. Χωρίζονται σε δύο κύριες κατηγορίες: Συστήματα με μικροελεγκτές (μc) Χρησιμοποιούνται γενικώς για πολύ συγκεκριμένες λειτουργίες. Δεν διαθέτουν κάποιο λειτουργικό σύστημα. Ο προγραμματισμός τους γίνεται είτε με χαμηλού επιπέδου assemply (architecture-specific) ή ειδικές εκδόσεις της C. Συστήματα με μικροεπεξεργαστές (μp) Οι δυνατότητες τους και οι λειτουργίες τους είναι μεγαλύτερες από αυτές των μc. Συνήθως τρέχουν κάποιο «ελαφρύ» λειτουργικό σύστημα (Linux, QNX,VxWorks,*BSD) και επιδέχονται υψηλού επιπέδου προγραμματισμό. Παρέχουν όλες τις ευκολίες ενός Λ/Σ (multitasking, networking, κ.τ.λ)
Ενσωματωμένα συστήματα (Embedded Systems) Πλατφόρμες και Λογισμικό Υπάρχουν διάφορες πλατφόρμες που χρησιμοποιούν διαφορετικού τύπου λογισμικό. Χωρίζονται σε δύο κύριες κατηγορίες: ΠΡΟΣΟΧΗ! Συστήματα με μικροελεγκτές (μc) Δεν πρέπει να γίνεται σύγχυση των ενσωματωμένων συστημάτων με Χρησιμοποιούνται γενικώς(pc). για πολύ συγκεκριμένες λειτουργίες. Δεν έναν κανονικό υπολογιστή διαθέτουν κάποιο λειτουργικό σύστημα. Ο προγραμματισμός τους γίνεται Προτερήματα είτε με χαμηλού επιπέδου assemply (architecture-specific) ή μp ειδικές Μικρότερο εκδόσεις μέγεθος της C. Μικρότερη κατανάλωση ενέργειας Συστήματα μικροεπεξεργαστές (μp) Αυξημένημεαξιοπιστία Οι δυνατότητες τους Μειονεκτήματα μpκαι οι λειτουργίες τους είναι μεγαλύτερες από αυτές των μc. Συνήθως τρέχουν κάποιο «ελαφρύ» λειτουργικό σύστημα Μικρότερες επιδόσεις (Linux, Λιγότερα QNX,VxWorks,*BSD) και επιδέχονται υψηλού επιπέδου περιφερειακά προγραμματισμό. Παρέχουν όλες τις ευκολίες ενός Λ/Σ (multitasking, networking, κ.τ.λ)
Η πλατφόρμα Arduino Microcontroller: ATmega328 Operating Voltage: 5V Digital I/O Pins: 14 (of which 6 provide PWM output) Analog Input Pins: 6 Flash Memory: 32 KB (ATmega328) SRAM: 2 KB (ATmega328) EEPROM: 1 KB (ATmega328) Clock Speed: 16 MHz
Η πλατφόρμα Arduino Microcontroller: ATmega328 Operating Voltage: 5V Digital I/O Pins: 14 (of which 6 provide PWM output) Analog Input Pins: 6 Flash Memory: 32 KB (ATmega328) SRAM: 2 KB (ATmega328) EEPROM: 1 KB (ATmega328) Clock Speed: 16 MHz Bοηθητικός μc USB Serial Κρύσταλλος Κύκλωμα τροφοδοσίας Ατmega 328
Η πλατφόρμα Arduino Περιφερειακά shields LCD Shield WiFi Shield Motor Shield GSM Shield
Θύρες εισόδων/εξόδων (I/O) Βασικές θύρες (GPIO General Purpose I/O) Οι AVR μικροελεγτές χαρακτηριστικά. και όχι μόνο Παράδειγματα: Είσοδος: Διακόπτης button Pin: Λογικό 0 Pin: Λογικό 1 Έξοδος: LED Σήμα Εισόδου Pin: Λογικό 0 Σήμα Εισόδου Pin: Λογικό 1 διαθέτουν pins με on-off
Θύρες εισόδων/εξόδων (I/O) Σειριακή θύρα (UART) Οι σειρακές θύρες χρησιμοποιούν το πρωτόκολλο επικοινωνίας UART για να μεταφέρονται τα δεδομένα ασύχρονα απο μία συσκευή σε μία άλλη και αντίστροφα.
Θύρες εισόδων/εξόδων (I/O) Ψηφιακόι Παλμοί (PWM) Οι θύρες PWM μπρούν να χρησιμοποιηθούν είτε ως είσοδοι, είτε ως έξοδοι. Ρυθμίζοντας το πλάτος του παλμού μπρούμε να δώσουμε ή να πάρουμε ουσιαστικά διαφορετικές τιμές σε ένα ψηφιακό σήμα. Παράδειγματα: Είσοδος: RPM Sensor Έξοδος: Servo Motor
Θύρες εισόδων/εξόδων (I/O) Διάυλος I²C Ο δίαυλος I²C είναι ένας σειριακός δίαυλος και χρησιμοποιείται για την σύνδεση περιφερειακών μικρής ταχύτητας. Χρησιμοποιεί μόνο δύο καλώδια, τα οποία είναι αμφίδρομης κατεύθυνσης: Τα SCL και SDA. Η γραμμή SCL είναι η γραμμή ρολογιού, ενώ η SDA είναι η γραμμή δεδομένων. Εγγραφή σε συσκευή Ανάγνωση απο συσκευή
Η πλατφόρμα Arduino Πραγματικές εφαρμογές Τετραπτέρυγο Όχημα Rover Super gadget! Αυτόματο Ρολόι Αυτόνομη Μηχανή γκαζόν Μπάλα σε κινούμενο ταμπλό
Η αρχιτεκτονική AVR 8-bit RISC instruction set 32 Registers του ενός byte 3 είδη μνήμης (Flash, SRAM, EEPROM) Διάφορες Ι/Ο διεπαφές. Έχει σχεδιαστεί για να τρέχει compiled κώδικα C και όχι μόνο assembly.
Η αρχιτεκτονική AVR 8-bit RISC instruction set 32 Registers του ενός byte 3 είδη μνήμης (Flash, SRAM, EEPROM) Διάφορες Ι/Ο διεπαφές. Έχει σχεδιαστεί για να τρέχει compiled κώδικα C και όχι μόνο assembly.
Η αρχιτεκτονική AVR 8-bit RISC instruction set 32 Registers του ενός byte 3 είδη μνήμης (Flash, SRAM, EEPROM) Διάφορες Ι/Ο διεπαφές. Έχει σχεδιαστεί για να τρέχει compiled κώδικα C και όχι μόνο assembly.
Εργαστήριο ενσωματωμένων συστημάτων Τέλος Παρουσίασης Εργαστήριο Αυτομάτου Ελέγχου