Παρουσίαση 1: Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems – hardware) Εργαστήριο Αυτομάτου Ελέγχου μΥ και Ψηφιακός Έλεγχος.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Λειτουργικό Σύστημα (Operating System) 1o μέρος
Advertisements

5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το λογισμικό του υπολογιστή
ΨΗΦΙΑΚΗ ΜΝΗΜΗ (RAM – ROM).
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Λειτουργικό Σύστημα ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ENOTHTA B.1.3 (1)
*ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ* «Ανάπτυξη Αυτόνομου Συστήματος Διαχείρισης Διατάξεων Ανίχνευσης Αερίων Μιγμάτων-Οσμών» Ανδρέας Καββαδίας – Αλεξάνδρα Τσακίρη.
Δομή Μαθήματος Υπεύθυνος: Δρ Ν. Πετρέλλης, ΠΔ407
Αρχιτεκτονική Προσωπικού Υπολογιστή
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (2).
Προγραμματισμός Η/Υ Πανεπιστήμιο Αιγαίου
Το υλικο του Υπολογιστη
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (1).
Αρχιτεκτονική Υπολογιστών Γλώσσες Μηχανής
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Handling Local Variables General Purpose Registers
ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 2: Το Υλικό του Υπολογιστή
Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ. Ε
Λογισμικο συστηματοσ Κεφάλαιο 4ο
ΕΝΟΤΗΤΑ 11η Εργαστηριακές κάρτες DAQ
ΕΝΟΤΗΤΑ 14η Συστήματα Μετρήσεων και Μικροελεγκτές
Εικόνα 2.1: Η Κεντρική Μονάδα.
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ Ανάπτυξη λογισμικού σε assembly για την απεικόνιση.
Microchips-Πυριτιο Από τους μαθητές:
William Stallings Computer Organization and Architecture 7 th Edition Κεφάλαιο 16 Λειτουργία Μονάδας Ελέγχου.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ & ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΩΝ
Τα θέματα μας σήμερα Ηλεκτρονικοί υπολογιστές Υλικό και λογισμικό
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ
Ο ΗΛΕΚΤΡΟΝΙΚΟΣ ΥΠΟΛΟΓΙΣΤΗΣ
Κεφάλαιο 2 Το Εσωτερικό του υπολογιστή
Πληροφορική, Β Γυμνασίου
Α ΡΧΙΤΕΚΤΟΝΙΚΗ Μ ΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Υποκεφάλαιο 1.2 (Η κεντρική μονάδα επεξεργασίας CPU08)
Παναγόπουλος Ασημάκης Βασιλειάδης Βασίλης Β’ τάξη 6ου ΕΠΑΛ Πάτρας
Ο προσωπικός υπολογιστής εσωτερικά
Κεφ. 1 (Θ) & Κεφ. 9 (Ε): Μοντέλο επικοινωνίας δεδομένων
Φοιτήτρια: Χατζοπούλου Ειρήνη (A.E.M. 1962) Επιβλέπουσα Καθηγήτρια:
ΕΝΟΤΗΤΑ 10 η Τεχνικές Ι/Ο: Η θύρα USB  Χαρακτηριστικά της θύρας USB  Τοπολογία διαύλου USB  Κλάσεις συσκευών USB, Endpoints, pipes  Tύποι μετάδοσης.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: To λογισμικό του υπολογιστή
Μικροεπεξεργαστές Λειτουργία - Εξέλιξη
ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΗΣ.
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Τσιρογιάννης Νίκος-Μαργαρίτης Βασίλης
ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΕΛΕΓΚΤΩΝ
ΕΙΣΑΓΩΓΗ μέρος 1 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Π. ΚΩΣΤΑΡΑΚΗΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ.
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
ΜΕΡΟΣ ΠΡΩΤΟ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Μικροελεγκτές - μικροεπεξεργαστές Οι μικροεπεξεργαστές, είναι επεξεργαστές συνόλου εντολών Οι μικροελεγκτές, είναι παραλλαγή.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Κύρια Μνήμη Διάφοροι τύποι μνήμης RAM Από πάνω προς τα κάτω, DIP, SIPP, SIMM (30-pin), SIMM (72-pin), DIMM (168-pin), DDR DIMM (184-pin). Μνήμη RΟM.
Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή Το εσωτερικό της Κεντρικής Μονάδας.
Παρουσίαση Πτυχιακής Εργασίας Τεχνολογία powerline homeplug για τη δημιουργία του «έξυπνου» σπιτιού και εφαρμογή της στην κατασκευή αλληλεπιδραστικής διεπαφής.
ΜΙΚΡΟΕΛΕΓΚΤΕΣ-ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ
Όπως το περιγράφει ο δημιουργός του, το Arduino είναι μια «ανοικτού κώδικα» πλατφόρμα «πρωτοτυποποίησης» ηλεκτρονικών βασισμένη σε ευέλικτο και εύκολο.
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
Κατηγορίες και Προδιαγραφές Λογισμικού Η/Υ (Software)
Επιβλέπων: Ιωάννης Καλόμοιρος, Επίκουρος καθηγητής
Κεντρική Μονάδα Επεξεργασίας
Εισαγωγή στα Λειτουργικά Συστήματα (ΛΣ) Operating Systems (OS)
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
ΤΕΧΝΙΚΑ ΘΕΜΑΤΑ ΠΩΛΗΣΕΩΝ & ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ Β΄ ΕΠΑΛ ΚεφΑλαιο 2: ΠροδιαγραφΕΣ ΥλικοΥ Η/Υ 2.8 Μνήμη.
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (2).
ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα.
Μικροηλεκτρονική [ΜΕΡΟΣ 2ο].
Μεταγράφημα παρουσίασης:

Παρουσίαση 1: Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems – hardware) Εργαστήριο Αυτομάτου Ελέγχου μΥ και Ψηφιακός Έλεγχος

Έλεγχος με Μικροϋπολογιστές

 Ορισμός Είναι ένα συγκεκριμένου σκοπού (single-purpose) ενσωματωμένο υπολογιστικό υποσύστημα ενός συνολικού συστήματος που έχει ως σκοπό την επίβλεψη και τον έλεγχο του συστήματος αυτού.  Υλοποίηση Υπάρχουν πολλές παραλλαγές στην υλοποίηση ενσωματωμένων συστημάτων. Συνήθως είναι μικρού μεγέθους συσκευές οι οποίες αποτελούνται από 3 απαραίτητα στοιχεία: i.Μικροελεγκτές/ Μικροεπεξεργαστές ii.Μνήμη iii.Διεπαφές με το περιβάλλον

Έλεγχος με Μικροϋπολογιστές  Ορισμός Είναι ένα συγκεκριμένου σκοπού (single-purpose) ενσωματωμένο υπολογιστικό υποσύστημα ενός συνολικού συστήματος που έχει ως σκοπό την επίβλεψη και τον έλεγχο του συστήματος αυτού. Η έννοια «ενσωματωμένο» έχει να κάνει με τις λειτουργίες και όχι με το μέγεθος ή τις δυνατότητες. ΠΡΟΣΟΧΗ!  Υλοποίηση Υπάρχουν πολλές παραλλαγές στην υλοποίηση ενσωματωμένων συστημάτων. Συνήθως είναι μικρού μεγέθους συσκευές οι οποίες αποτελούνται από 3 απαραίτητα στοιχεία: i.Μικροελεγκτές/ Μικροεπεξεργαστές ii.Μνήμη iii.Διεπαφές με το περιβάλλον

 Η «καρδιά ή το μυαλο» των ενσωματωμένων συστημάτων. Έλεγχος με Μικροϋπολογιστές

 Πλατφόρμες και Λογισμικό Υπάρχουν διάφορες πλατφόρμες που χρησιμοποιούν διαφορετικού τύπου λογισμικό. Χωρίζονται σε δύο κύριες κατηγορίες: Συστήματα με μικροελεγκτές (μC) Χρησιμοποιούνται γενικώς για πολύ συγκεκριμένες λειτουργίες. Δεν διαθέτουν κάποιο λειτουργικό σύστημα. Ο προγραμματισμός τους γίνεται είτε με χαμηλού επιπέδου assemply (architecture-specific) ή ειδικές εκδόσεις της C. Συστήματα με μικροεπεξεργαστές (μP) Οι δυνατότητες τους και οι λειτουργίες τους είναι μεγαλύτερες από αυτές των μC. Συνήθως τρέχουν κάποιο «ελαφρύ» λειτουργικό σύστημα (Linux, QNX,VxWorks,*BSD) και επιδέχονται υψηλού επιπέδου προγραμματισμό. Παρέχουν όλες τις ευκολίες ενός Λ/Σ (multitasking, networking, κ.τ.λ) Έλεγχος με Μικροϋπολογιστές

 Πλατφόρμες και Λογισμικό Υπάρχουν διάφορες πλατφόρμες που χρησιμοποιούν διαφορετικού τύπου λογισμικό. Χωρίζονται σε δύο κύριες κατηγορίες: Συστήματα με μικροελεγκτές (μC) Χρησιμοποιούνται γενικώς για πολύ συγκεκριμένες λειτουργίες. Δεν διαθέτουν κάποιο λειτουργικό σύστημα. Ο προγραμματισμός τους γίνεται είτε με χαμηλού επιπέδου assemply (architecture-specific) ή ειδικές εκδόσεις της C. Συστήματα με μικροεπεξεργαστές (μP) Οι δυνατότητες τους και οι λειτουργίες τους είναι μεγαλύτερες από αυτές των μC. Συνήθως τρέχουν κάποιο «ελαφρύ» λειτουργικό σύστημα (Linux, QNX,VxWorks,*BSD) και επιδέχονται υψηλού επιπέδου προγραμματισμό. Παρέχουν όλες τις ευκολίες ενός Λ/Σ (multitasking, networking, κ.τ.λ) Δεν πρέπει να γίνεται σύγχυση των ενσωματωμένων συστημάτων με έναν κανονικό υπολογιστή (PC). Προτερήματα μP Μικρότερο μέγεθος Μικρότερη κατανάλωση ενέργειας Αυξημένη αξιοπιστία Μειονεκτήματα μP Μικρότερες επιδόσεις Λιγότερα περιφερειακά Δεν πρέπει να γίνεται σύγχυση των ενσωματωμένων συστημάτων με έναν κανονικό υπολογιστή (PC). Προτερήματα μP Μικρότερο μέγεθος Μικρότερη κατανάλωση ενέργειας Αυξημένη αξιοπιστία Μειονεκτήματα μP Μικρότερες επιδόσεις Λιγότερα περιφερειακά ΠΡΟΣΟΧΗ! Έλεγχος με Μικροϋπολογιστές

μC: AVR-ATmega 128 Μνήμες:  128 ΚΒ flash (program memory)  4KΒ SRAM (άμεσα προσπελάσιμη)  4ΚΒ EEPROM (έμμεσα προσπελάσιμη) Ι/Ο διεπαφές  8 channels 10bit ADC (analog to digital converters)  6 PWM channels  2 UART ports Αρχιτεκτονική Atmel AVR (Advanced RISC -Reduced instruction set computing)

Έλεγχος με Μικροϋπολογιστές  Θύρες Εισόδου-Εξόδου (I/O)

8-bit RISC instruction set 32 Registers του ενός byte 3 είδη μνήμης (Flash, SRAM, EEPROM) Διάφορες Ι/Ο διεπαφές. Έχει σχεδιαστεί για να τρέχει compiled κώδικα C και όχι μόνο assembly. Έλεγχος με Μικροϋπολογιστές

8-bit RISC instruction set 32 Registers του ενός byte 3 είδη μνήμης (Flash, SRAM, EEPROM) Διάφορες Ι/Ο διεπαφές. Έχει σχεδιαστεί για να τρέχει compiled κώδικα C και όχι μόνο assembly. Έλεγχος με Μικροϋπολογιστές

8-bit RISC instruction set 32 Registers του ενός byte 3 είδη μνήμης (Flash, SRAM, EEPROM) Διάφορες Ι/Ο διεπαφές. Έχει σχεδιαστεί για να τρέχει compiled κώδικα C και όχι μόνο assembly. Έλεγχος με Μικροϋπολογιστές

CPU: 400MHz Marvell PXA270 (ARM) RAM: 64MB Flash Memory: 16MB Λ/Σ: Linux –based OpenEmbedded Kernel Boards:  netwifi-microSD : Ethernet 10/100Mbps, Wi-Fi (802.11g), micro-SD card connector  Tweener: Σειριακή θύρα RS232 για επικοινωνία με το Gumstix Αρχιτεκτονική: Intel/Marvell XScale (RISC) Έλεγχος με Μικροϋπολογιστές

 Programmer Εξωτερική συσκευή για τη μεταφορά του εκτελέσιμου κώδικα στην Program Memory του AVR. Υπάρχουν διάφορες συσκευές, συνήθως RS-232 ή USB. Το CSL διαθέτει έναν AVR-ISP Mk II. Εκτός από τον programmer απαιτείται και ειδικό software, το οποίο πραγματοποιεί τον προγραμματισμό του AVR μαζί με την τροποποίηση ειδικών registers (fuses). Συσκευή Προγραμματισμού Έλεγχος με Μικροϋπολογιστές

μΥ και Ψηφιακός Έλεγχος

Παρουσίαση 2: Βασικός Προγραμματισμός AVR (AVR-lib) μΥ και Ψηφιακός Έλεγχος

Έλεγχος με Μικροϋπολογιστές μC: AVR-ATmega 128 Μνήμες:  128 ΚΒ flash (program memory)  4KΒ SRAM (άμεσα προσπελάσιμη)  4ΚΒ EEPROM (έμμεσα προσπελάσιμη) Ι/Ο διεπαφές  8 channels 10bit ADC (analog to digital converters)  6 PWM channels  2 UART ports Αρχιτεκτονική Atmel AVR (Advanced RISC -Reduced instruction set computing)

 Programmer Εξωτερική συσκευή για τη μεταφορά του εκτελέσιμου κώδικα στην Program Memory του AVR. Υπάρχουν διάφορες συσκευές, συνήθως RS-232 ή USB. Το CSL διαθέτει έναν AVR-ISP Mk II. Εκτός από τον programmer απαιτείται και ειδικό software, το οποίο πραγματοποιεί τον προγραμματισμό του AVR μαζί με την τροποποίηση ειδικών registers (fuses). Συσκευή Προγραμματισμού Έλεγχος με Μικροϋπολογιστές

 Προγραμματισμός σε C Υπάρχουν εξειδικευμένοι compilers που μπορούν να παράξουν εκτελέσιμο κώδικα για τους μικροελεγκτές της οικογένειας AVR, π.χ. AVR-GCC.  Cross-compiling Χρήση compiler σε έναν κοινό υπολογιστή. Ο κώδικας που παράγεται δεν μπορεί να τρέξει στον ίδιο τον Η/Υ απευθείας, λόγω διαφοράς αρχιτεκτονικής.  Emulator Εφόσον είναι επιθυμητή, είναι δυνατή η εκτέλεση του κώδικα που παράγει ο compiler σε έναν προσομοιωτή, χρησιμοποιώντας έναν κοινό υπολογιστή. Ο προσομοιωτής δίνει πρόσβαση στην εσωτερική κατάσταση του μικροελεγκτή και μπορεί να χρησιμοποιηθεί για τον έλεγχο της ομαλής λειτουργίας του προγράμματος. Έλεγχος με Μικροϋπολογιστές Προγραμματισμός Robostix Έλεγχος με Μικροϋπολογιστές

 Σειριακή εκτέλεση Το πρόγραμμα που υλοποιούμε σε AVR C εκτελείτε σειριακά. ΕΞΑΙΡΕΣΗ!: ISR (Interrupt Service Routine)  Έναρξη προγράμματος Κάθε πρόγραμμα στην AVR C ξεκινάει από την συνάρτηση main()  Memory-mapped I/O Οι διάφορες είσοδοι/έξοδοι του μικροελεγκτή εμφανίζονται ως κοινές, σταθερές θέσεις μνήμης μέσα στο χώρο μνήμης του προγράμματος. AVR C – Ροή Προγράμματος Έλεγχος με Μικροϋπολογιστές

 Σειριακή εκτέλεση Το πρόγραμμα που υλοποιούμε σε AVR C εκτελείτε σειριακά. Τι γίνεται όταν χρειάζεται άμεση ανταπόκριση από εξωτερικά γεγονότα;  Interrupts Ορισμός Ειδικά «κανάλια» επικοινωνίας, τα οποία προκαλούν τη διακοπή της κανονικής εκτέλεσης του προγράμματος και την εκτέλεση κώδικα σε συγκεκριμένες θέσεις μνήμης (Interrupt Handler ή Interrupt Service Routine - ISR). Τύποι Υπάρχουν εξωτερικά και εσωτερικά interrupts: Εσωτερικά είναι τα interrupts που έχουν σχέση με την ίδια την κατάσταση του μικροελεγκτή, π.χ. «έγινε υπερχείλιση ενός counter». Εξωτερικά είναι τα interrupts που προκαλούνται από το περιβάλλον, π.χ. «υπάρχουν διαθέσιμα δεδομένα στη σειριακή θύρα». Ο μικροελεγκτής διαθέτει επιπλέον εισόδους που προκαλούν interrupts. *Μετά την ολοκλήρωση εκτέλεσης του ISR, ο μικροελεγκτής επιστρέφει στην προηγούμενη θέση στο πρόγραμμα. Έλεγχος με Μικροϋπολογιστές AVR C – Interrupts Έλεγχος με Μικροϋπολογιστές

 Σειριακή εκτέλεση Το πρόγραμμα που υλοποιούμε σε AVR C εκτελείτε σειριακά. Τι γίνεται όταν χρειάζεται άμεση ανταπόκριση από εξωτερικά γεγονότα;  Interrupts Ορισμός Ειδικά «κανάλια» επικοινωνίας, τα οποία προκαλούν τη διακοπή της κανονικής εκτέλεσης του προγράμματος και την εκτέλεση κώδικα σε συγκεκριμένες θέσεις μνήμης (Interrupt Handler ή Interrupt Service Routine - ISR). Τύποι Υπάρχουν εξωτερικά και εσωτερικά interrupts: Εσωτερικά είναι τα interrupts που έχουν σχέση με την ίδια την κατάσταση του μικροελεγκτή, π.χ. «έγινε υπερχείλιση ενός counter». Εξωτερικά είναι τα interrupts που προκαλούνται από το περιβάλλον, π.χ. «υπάρχουν διαθέσιμα δεδομένα στη σειριακή θύρα». Ο μικροελεγκτής διαθέτει επιπλέον εισόδους που προκαλούν interrupts. *Μετά την ολοκλήρωση εκτέλεσης του ISR, ο μικροελεγκτής επιστρέφει στην προηγούμενη θέση στο πρόγραμμα. Έλεγχος με Μικροϋπολογιστές AVR C – Interrupts Τα interrupts επιτρέπουν την άμεση εξυπηρέτηση έκτακτων αιτημάτων, με αντίτιμο τη μη-προβλέψιμη συμπεριφορά του κώδικα. (event-based vs. Poll based) Τα interrupts επιτρέπουν την άμεση εξυπηρέτηση έκτακτων αιτημάτων, με αντίτιμο τη μη-προβλέψιμη συμπεριφορά του κώδικα. (event-based vs. Poll based) ΠΡΟΣΟΧΗ! Έλεγχος με Μικροϋπολογιστές

 “avr-libc” Για τον προγραμματισμό ενός AVR μας παρέχεται μια έτοιμη βιβλιοθήκη. Πρόκειται για μια βιβλιοθήκη C που περιέχει έτοιμες συναρτήσεις και μακροεντολές για την διευκόλυνση του προγραμματισμού των μικροελεγτών.  Χαρακτηριστικά – Ιδιότητες Γίνεται στατικά link μέσα στο ίδιο το πρόγραμμα Είναι χωρισμένη σε ενότητες (modules), με τη μορφή κανονικών header files Αξιοποιεί τις δυνατότητες του ίδιου του hardware και προσφέρει και εξομοίωση σε επίπεδο λογισμικού για χαρακτηριστικά που δεν υπάρχουν στο ίδιο το hardware. Έλεγχος με Μικροϋπολογιστές AVR C – Βιβλιοθήκη Έλεγχος με Μικροϋπολογιστές

 Θύρες Εισόδου-Εξόδου Ο AVR είναι 8-bitος, επομένως οι θύρες εισόδου/εξόδου έχουν εύρος 8 bit. Οι θύρες ψηφιακής εισόδου/εξόδου αντιστοιχούν σε 8 pins στην πλακέτα για κάθε θύρα.  Registers Κάθε θύρα σχετίζεται με 3 θέσεις μνήμης (registers): DDRx - Data Direction Register: Ρυθμίζει ποια pins της θύρας θα είναι είσοδοι και ποια έξοδοι. 0 = είσοδος, 1 = έξοδος. π.χ: DDRA = 0xF0 = = «τα 4 πρώτα pins είσοδοι, τα 4 τελευταία έξοδοι» PINx - Port Input Register: Χρησιμοποιείται για την ανάγνωση των τιμών των bits της θύρας. PORTx: Χρησιμοποιείται για τη ρύθμιση των τιμών των bits εξόδου. Επιπρόσθετα, χρησιμοποιείται για την ενεργοποίηση των εσωτερικών αντιστάσεων pull-up για τα pins εισόδου. Στις περισσότερες εφαρμογές συνιστάται η ενεργοποίηση των αντιστάσεων pull- up, δηλαδή η τιμή 1 στις αντίστοιχες θέσεις του PORTx. Έλεγχος με Μικροϋπολογιστές AVR C – Ι/Ο Είσοδος-Έξοδος Έλεγχος με Μικροϋπολογιστές

 Θύρες Εισόδου-Εξόδου του Robostix To Robostix διαθέτει διάφορες διεπαφές με το περιβάλλον. Οι κυριότερες είναι οι εξής: GPIO : Port A και Port C Την Port C μπορούμε να την χρησιμοποιήσουμε ως ψηφιακή είσοδο/έξοδο (digital I/O) A/D : Port F (8 Κανάλια) PWM : Port B (bits 5-7) και Port E (bits 3-5) (6 κανάλια) Interupts : Port G (bits 0-2) (3 εξωτερικά interupts) LEDs : Port G (bit3) <- Μπλε LED Port G (bit4) <- Κόκκινο LED Port B (bit4) <- Κίτρινο LED AVR C – Ι/Ο Είσοδος-Έξοδος Έλεγχος με Μικροϋπολογιστές

 Θύρες Εισόδου-Εξόδου του Robostix AVR C – Ι/Ο Είσοδος-Έξοδος Έλεγχος με Μικροϋπολογιστές

 Μετά-module To header file κάνει include τα κατάλληλα headers που δίνουν την δυνατότητα να χειριστούμε τις εισόδους/εξόδους της οικογένειας μικροελεγκτών AVR που διαλέγουμε.  Τύποι ορισμών Σταθερές  Συμβολικά ονόματα για τις θύρες εισόδου/εξόδου. (π.χ. PORTA, PORTC, USARTEO, ADCA, κ.τ.λ.)  Συμβολικά ονόματα για τα pins των θυρών εισόδου/εξόδου. (π.χ. PORTA1, PORTC8, κ.τ.λ.) Μακροεντολές  _BV(bit) : Αντικαθιστάται με το δεκαδικό που προκύπτει από αληθές bit στη θέση bit. π.χ: _BV(4) = (1 << 4) = = 16  bit_is_clear(reg,bit) και bit_is_set(reg,bit) : ελέγχουν αν το bit στη θέση bit της θύρας I/O reg έχει τιμή 0 ή 1 αντίστοιχα.  loop_until_bit_is_clear(reg,bit) και loop_until_bit_is_set(reg,bit) : Σταματούν την εκτέλεση του προγράμματος μέχρι το bit στη θέση bit της θύρας I/O reg έχει τιμή 0 ή 1 αντίστοιχα. Έλεγχος με Μικροϋπολογιστές AVR C – Βασικά header files Έλεγχος με Μικροϋπολογιστές

 - Παραδείγματα Αλλαγή του bit 7 της θύρας B σε 1 PORTB |= _BV(PB7); Αλλαγή του bit 4 της θύρας A σε 0 PORTA &= ~_BV(PA4); Ενέργεια με βάση την τιμή ενός bit if (bit_is_set(PINB, PB1)) { PORTA &=~_BV(PA2); } Αναμονή για μια συνθήκη loop_until_bit_is_clear (PINA, PA2); PORTB |= _BV(PB2); AVR C – Βασικά header files Έλεγχος με Μικροϋπολογιστές

 To header file περιλαμβάνει ορισμούς για τα ονόματα των interrupts καθώς και μακροεντολές για την ρύθμιση των ISR  Τύποι ορισμών Σταθερές  Oνόματα interrupts. π.χ. INT1_vect (external IRQ), TIMER0_OVF_vect (timer 0 overflow), ADC_vect (A/D conversion complete) Μακροεντολές  ISR(int_name) : Δημιουργεί ένα νέο interrupt service routine για το interrupt με όνομα int_name Έλεγχος με Μικροϋπολογιστές AVR C – Βασικά header files Έλεγχος με Μικροϋπολογιστές

 To header file περιλαμβάνει μαθηματικούς ορισμούς και συναρτήσεις για τον χειρισμό αριθμητικών δεδομένων  Τύποι ορισμών Σταθερές  M_PI = π  Μ_SQRT2 =  NAN = Not A Number  INFINITY = άπειρο Συναρτήσεις  cos(), sin(), tan(), atan(), sqrt(), square(), exp() κ.τ.λ. *Αρκετές από αυτές δεν υποστηρίζονται από το hardware απευθείας και είναι αργές. AVR C – Βασικά header files Έλεγχος με Μικροϋπολογιστές

 To header file περιλαμβάνει συναρτήσεις για την υλοποίηση των χρονοκαθυστερήσεων. Οι χρονοκαθυστερήσεις γίνονται με busy-wait: ο μικροελεγkτής καταναλώνει κύκλους ρολογιού χωρίς να προβαίνει σε καμία ενέργεια (no-op). Η διάρκεια του κύκλου ρολογιού εξαρτάται απο τη συχνότητα του επεξεργαστή  Τύποι ορισμών Συναρτήσεις  _delay_ms(amount) : Καθυστέρηση amount ms  _delay_us(amount) : Καθυστέρηση amount μs AVR C – Βασικά header files Έλεγχος με Μικροϋπολογιστές

 To header file περιλαμβάνει συναρτήσεις για την υλοποίηση των χρονοκαθυστερήσεων. Οι χρονοκαθυστερήσεις γίνονται με busy-wait: ο μικροελεγkτής καταναλώνει κύκλους ρολογιού χωρίς να προβαίνει σε καμία ενέργεια (no-op). Η διάρκεια του κύκλου ρολογιού εξαρτάται απο τη συχνότητα του επεξεργαστή  Τύποι ορισμών Συναρτήσεις  _delay_ms(amount) : Καθυστέρηση amount ms  _delay_us(amount) : Καθυστέρηση amount μs AVR C – Βασικά header files Οι συναρτήσεις αυτές απαιτούν τον ορισμό της σταθεράς F_CPU η οποία πρέπει να έχει τιμή ίση με τη συχνότητα λειτουργίας του μικροελεγκτή σε Hz. H μέγιστη χρονοκαθυστέρηση που μπορεί να δώσει η delay_ms είναι: Οι συναρτήσεις αυτές απαιτούν τον ορισμό της σταθεράς F_CPU η οποία πρέπει να έχει τιμή ίση με τη συχνότητα λειτουργίας του μικροελεγκτή σε Hz. H μέγιστη χρονοκαθυστέρηση που μπορεί να δώσει η delay_ms είναι: ΠΡΟΣΟΧΗ! Έλεγχος με Μικροϋπολογιστές

/* Define CPU Clock speed, needed by _delay_ms */ #define F_CPU UL #include void main() { /* Initialize port C as output and zero all bits */ DDRC = 0xFF; PORTC= 0x00; while(1) { /* Turn the LED off */ PORTC &= ~_BV(PC0); /* Wait for half a second */ _delay_ms(500); /* Turn the LED on */ PORTC |= _BV(PC0); /* Wait for half a second */ _delay_ms(500); } AVR C – Ολοκληρωμένο Παράδειγμα Έλεγχος με Μικροϋπολογιστές

μΥ και Ψηφιακός Έλεγχος

Παρουσίαση 3: Παρουσίαση Ασκήσεων μΥ και Ψηφιακός Έλεγχος Εργαστήριο Αυτομάτου Ελέγχου

 Έλεγχος απλών ηλεκτρικών κυκλωμάτων μέσω της πλατφόρμας Robostix.  Χρήση μόνο D/IO Interfaces  Προγραμματισμός μΥ με χρήση avr-libc σε γλώσσα C Σκοπός εργαστηριακών ασκήσεων Έλεγχος με Μικροϋπολογιστές

 Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να: Ανάψετε ένα LED Να ανιχνεύσετε το πάτημα ενός διακόπτη Να επικοινωνήσετε με εξωτερικό ολοκληρωμένο κύκλωμα Διασύνδεση με εξωτερικό περιβάλλον Έλεγχος με Μικροϋπολογιστές

 Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να: Ανάψετε ένα LED Να ανιχνεύσετε το πάτημα ενός διακόπτη Να επικοινωνήσετε με εξωτερικό ολοκληρωμένο κύκλωμα Διασύνδεση με εξωτερικό περιβάλλον Έλεγχος με Μικροϋπολογιστές

ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ & ΡΥΘΜΙΣΕΩΣ ΜΗΧΑΝΩΝ & ΕΓΚΑΤΑΣΤΑΣΕΩΝ Ε.Μ.Π  Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να: Ανάψετε ένα LED o Στα pins του μ-Υ υπάρχουν διαθέσιμες τάσεις 5V. o Υπάρχουν διαθέσιμα pins γείωσης (GND) o Το λογικό 1 σε ένα pin αντιστοιχεί σε τάση 5V. o Το λογικό 0 σε ένα pin αντιστοιχεί σε τάση 0V. o Για να μειώσουμε το ρεύμα τροφοδοσίας ενός LED συνδέουμε σε σειρά μια αντίσταση (5-10KΩ). Διασύνδεση με εξωτερικό περιβάλλον

 Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να: Ανάψετε ένα LED o Γίνεται ρύθμιση ενός bit μιας θύρας σαν έξοδο, και στέλνεται σε αυτό το λογικό 1 (5V) Διασύνδεση με εξωτερικό περιβάλλον Έλεγχος με Μικροϋπολογιστές

 Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να: Ανάψετε ένα LED Να ανιχνεύσετε το πάτημα ενός διακόπτη Να επικοινωνήσετε με εξωτερικό ολοκληρωμένο κύκλωμα Διασύνδεση με εξωτερικό περιβάλλον Έλεγχος με Μικροϋπολογιστές

 Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να: Να ανιχνεύσετε το πάτημα ενός διακόπτη o Γίνεται ρύθμιση ενός bit μιας θύρας σαν είσοδος, και στέλνεται το σήμα εξόδου μετά τον διακόπτη Διασύνδεση με εξωτερικό περιβάλλον Έλεγχος με Μικροϋπολογιστές

ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ & ΡΥΘΜΙΣΕΩΣ ΜΗΧΑΝΩΝ & ΕΓΚΑΤΑΣΤΑΣΕΩΝ Ε.Μ.Π  Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να: Να ανιχνεύσετε το πάτημα ενός διακόπτη Διασύνδεση με εξωτερικό περιβάλλον

 Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να: Ανάψετε ένα LED Να ανιχνεύσετε το πάτημα ενός διακόπτη Να επικοινωνήσετε με εξωτερικό ολοκληρωμένο κύκλωμα Διασύνδεση με εξωτερικό περιβάλλον Έλεγχος με Μικροϋπολογιστές

 Πως θα χρησιμοποιήσετε τις λειτουργίες των θυρών A & C του μ-Υ για να: Να επικοινωνήσετε με εξωτερικό ολοκληρωμένο κύκλωμα Διασύνδεση με εξωτερικό περιβάλλον Έλεγχος με Μικροϋπολογιστές

“Υλοποίηση Συστήματος Ασφαλείας με Χρήση Τριψήφιου Κωδικού Αριθμού” Σύστημα διακοπτών Άναμμα LED Ρουτίνες χρονικής καθυστέρησης Απαραίτητες γνώσεις Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 1

“Υλοποίηση Συστήματος Ασφαλείας με Χρήση Τριψήφιου Κωδικού Αριθμού” Ο κωδικός αριθμός θα ορίζεται εσωτερικά στον κώδικα και θα μπορεί να πάρει οποιαδήποτε ακέραια τιμή μεταξύ [000,999] Ο έλεγχος μπορεί να γίνεται και μετά την εισαγωγή του κάθε ψηφίου, αλλά θα τερματίζεται στην περίπτωση λανθασμένου αριθμού Τα LEDs θα παραμένουν αναμμένα για ικανό χρονικό διάστημα (1-2 sec) Περαιτέρω επισημάνσεις Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 1

“Υλοποίηση Συστήματος Ελέγχου Ολοκληρωμένου Κυκλώματος 7400” Άναμμα LED Ρουτίνες χρονικής καθυστέρησης Απαραίτητες γνώσεις Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 2

“Υλοποίηση Συστήματος Ελέγχου Ολοκληρωμένου Κυκλώματος 7400” Το πρόγραμμα θα εκτελεί και θα ελέγχει όλους τους πιθανούς συνδυασμούς και θα τερματίζεται στην περίπτωση που έστω ένας από αυτούς δεν ικανοποιείται Το κύκλωμα θα ελεγχθεί για την ορθότητά του με εισαγωγή ψευδών αποτελεσμάτων Περαιτέρω επισημάνσεις Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 2

“Υλοποίηση Συστήματος Μετρητή Αντικειμένων με Δυνατότητα Ελέγχου του Αποτελέσματος” Σύστημα διακοπτών Ρουτίνες χρονικής καθυστέρησης Άναμμα LED Απαραίτητες γνώσεις Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 3

“Υλοποίηση Συστήματος Μετρητή Αντικειμένων με Δυνατότητα Ελέγχου του Αποτελέσματος” Το αποτέλεσμα της μέτρησης απλά θα μεταφέρεται ως αριθμός σε δυαδική μορφή στη θύρα Α Τα LEDs θα παραμένουν αναμμένα για ικανό χρονικό διάστημα (1-2 sec) για διευκόλυνση του χρήστη Περαιτέρω επισημάνσεις Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 3

“Υλοποίηση Συστήματος Ελέγχου Πρόσβασης σε Κτίριο” Απαραίτητες γνώσεις Σύστημα διακοπτών Άναμμα LED Ρουτίνες χρονικής καθυστέρησης Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 4

Η ρουτίνα χρονικής καθυστέρησης θα ελέγχει συνεχώς για πάτημα διακόπτη Η ρουτίνα χρονικής καθυστέρησης θα έχει με ακρίβεια τη δεδομένη χρονική διάρκεια Περαιτέρω επισημάνσεις “Υλοποίηση Συστήματος Ελέγχου Πρόσβασης σε Κτίριο” Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 4

“Υλοποίηση Συστήματος Ελέγχου Ανελκυστήρα Διώροφης Οικοδομής ” Σύστημα διακοπτών Άναμμα LED Ρουτίνες χρονικής καθυστέρησης Απαραίτητες γνώσεις Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 5

Η ρουτίνα χρονικής καθυστέρησης θα ελέγχει συνεχώς για πάτημα διακόπτη Η ρουτίνα χρονικής καθυστέρησης θα έχει με ακρίβεια τη δεδομένη χρονική διάρκεια “Υλοποίηση Συστήματος Ελέγχου Ανελκυστήρα Διώροφης Οικοδομής ” Περαιτέρω επισημάνσεις Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 5

“Υλοποίηση Συστήματος Έξυπνων Φαναριών σε διαστάυρωση ” Σύστημα διακοπτών Άναμμα LED Ρουτίνες χρονικής καθυστέρησης Απαραίτητες γνώσεις Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 6

Η ρουτίνα χρονικής καθυστέρησης θα ελέγχει συνεχώς για πάτημα διακόπτη Θα υπάρχουν οι αναγκαίες χρονικές καθυστερήσεις μεταξύ της εναλλαγής σε πράσινο και κόκκινο σήμα Περαιτέρω επισημάνσεις Έλεγχος με Μικροϋπολογιστές ΑΣΚΗΣΗ 5 “Υλοποίηση Συστήματος Έξυπνων Φαναριών σε διαστάυρωση ”

Κατανόηση του προβλήματος Σχεδίαση γενικής μεθοδολογίας Υλοποίηση και εκτέλεση αλγορίθμου βήμα-βήμα χωρίς να γράφουμε όλο τον κώδικα από την αρχή Έλεγχος με Μικροϋπολογιστές Βήματα για καλύτερο προγραμματισμό

Ένα κακοφτιαγμένο και μη δομημένο κύκλωμα έχει ελάχιστες πιθανότητες να λειτουργήσει σωστά, ακόμα και αν ο προγραμματισμός είναι ορθός. Χρησιμοποιούμε πολύμετρο για να ελέγξουμε τις συνδέσεις του κυκλώματος, πριν να εφαρμόσουμε τάσεις σε αυτό. Για γείωση, χρησιμοποιούμε πάντα αυτή του μ/ε. (GND) Έλεγχος με Μικροϋπολογιστές ΓΕΝΙΚΕΣ ΠΑΡΑΤΗΡΗΣΕΙΣ

Έλεγχος με Μικροϋπολογιστές μΥ και Ψηφιακός Έλεγχος