ΨΗΦΙΑΚΗ ΑΡΠΑ ΜΕ ΤΗ Χ ΡΗΣΗ ΑΚΤΙ- ΝΩΝ LASER



Σχετικά έγγραφα
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΤΕΙ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ : «ΜΕΛΕΤΗ ΚΑΙ ΣΥΓΚΡΙΣΗ ΣΥΓΧΡΟΝΩΝ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΩΝ»

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ

Ενσωµατωµένα Συστήµατα

LASER ΣΟΛΙΣΤΙΚΗ ΚΙΘΑΡΑ

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος. Δρ. Μηνάς Δασυγένης

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

Ιστορία των επεξεργαστών (CPUs)

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Σημειώσεις Θεωρίας

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

ΠΛΗΡΟΦΟΡΙΚΗ 4 ο Μάθημα. Το Υλικό του Υπολογιστή

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

Βασίλειος Κοντογιάννης ΠΕ19

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική Υπολογιστών

Διαφορές single-processor αρχιτεκτονικών και SoCs

Βασικές Έννοιες Πληροφορικής

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

Λίγα λόγια από το συγγραφέα Εισαγωγή στους υπολογιστές Μονάδες µέτρησης χωρητικότητας Συσκευές εισόδου...

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Αρχιτεκτονική υπολογιστών

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Μάθημα 4.1 Βασικές μονάδες προσωπικού υπολογιστή

Λιβανός Γιώργος Εξάμηνο 2017Β

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ. ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Αρχιτεκτονική υπολογιστών

Το υλικό του υπολογιστή

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Βασικές Έννοιες της Πληροφορικής

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Μαθαίνοντας το hardware του αναπτυξιακού

ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Ηλεκτρονικός Υπολογιστής

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

Εισαγωγή στην πληροφορική

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΩΤΑΠΑΝΤΗΣΕΙΣ

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Αρχιτεκτονική υπολογιστών

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Οργάνωση Υπολογιστών (ΙI)

Σημειώσεις : Χρήστος Μουρατίδης. Κάντε κλικ για έναρξη

ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1. Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας

Εφαρμογές μικροελεγκτών

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

Bread Online. Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

Αρχιτεκτονική υπολογιστών

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

1.4 Τεχνολογικές εξελίξεις στο Υλικό Υπολογιστών

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Μαλούτα Θεανώ Σελίδα 1

Ψηφιακή Επεξεργασία Σήματος

Τεχνολογίες Κύριας Μνήμης

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Αποτίμηση ενός υπολογιστή 1

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects)

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ.

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ

Αρχιτεκτονική Υπολογιστών

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Transcript:

Τ. Ε. Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΨΗΦΙΑΚΗ ΑΡΠΑ ΜΕ ΤΗ Χ ΡΗΣΗ ΑΚΤΙ- ΝΩΝ LASER DIGITAL HARP USING LASER STRINGS Υπό ΚΩΝΣΤΑΝΤΙΝΟΥ ΚΟΥΤΡΟΓΙΑΝΝΗ ΑΝΔΡΕΑ ΤΣΕΡΕΛΗ Επιβλέπων: Καθηγητής ΔΗΜΗΤΡΙΟΣ ΠΟΓΑΡΙΔΗΣ Καβάλα 2012 1

2

"Μεγαλοφυΐα είναι 1% έμπνευση και 99% ιδρώτας" ("Genius is 1% inspiration and 99% perspiration") Thomas Edison 3

4

Ευχαριστίες Με το τέλος της παρούσας Πτυχιακής Εργασίας θα θέλαμε να εκφράσουμε τις θερμές μας ευχαριστίες σε όλο το ακαδημαϊκό προσωπικό του Τμήματος Βιομηχανικής Πληροφορικής για τις πολύτιμες γνώσεις με τις οποίες μας εφοδίασαν κατά την διάρκεια των χρόνων της φοίτησης μας στο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Καβάλας. Θα θέλαμε ιδιαίτερα να ευχαριστήσουμε τον Καθηγητή Δρ. Πογαρίδη Δημήτριο ο οποίος επέβλεψε και καθοδήγησε την παρούσα εργασία και εξασφάλισε τη χρηματοδότηση με το ποσό των 400 απ το ΤΕΙ της Καβάλας, για την κάλυψη μέρους των εξόδων της εργασίας. Επιπρόσθετα, θα θέλαμε να ευχαριστήσουμε θερμά τον συμφοιτητή μας Εμμανουήλ Μακρή για την αμέριστη και απλόχερη βοήθεια του, για τις πολύτιμες συμβουλές και γνώσεις του πάνω στη μουσική καθοδήγηση αλλά και για την υπομονή και συμπαράσταση του κατά την διεκπεραίωση και συγγραφή της πτυχιακής μας εργασίας. Θα ήταν παράλειψή μας να μην ευχαριστήσουμε τους γονείς μας για τις συμβουλές τους και τη συμπαράσταση τους. Επίσης, θα θέλαμε να εκφράσουμε την ευγνωμοσύνη μας προς τους φίλους μας οι οποίοι μας στήριζαν ακούραστα σε όλη την διάρκεια των σπουδών μας χωρίς τους οποίους αυτά τα χρόνια που πέρασαν θα ήταν πολύ πιο δύσκολα. 5

6

Περίληψη Η άρπα είναι ένα έγχορδο μουσικό όργανο, το οποίο έχει ιστορία περίπου 5.000 ετών και η χρήση του οποίου συνεχίζεται μέχρι και σήμερα. Η επανάσταση που λαμβάνει χώρα στη μουσική βιομηχανία τα τελευταία χρόνια, επιφέρει τεράστιες αλλαγές τόσο στα επιχειρηματικά μοντέλα όσο και στον τρόπο κατανάλωσης της μουσικής από το κοινό. Η ψηφιακή τεχνολογία που μεταμορφώνει και αναδιατάσσει την ίδια την δομή της αγοράς μουσικής, δημιουργεί νέο περιβάλλον. Πρόκειται για διαδικασία σε εξέλιξη και οι απόψεις των εμπλεκομένων πλευρών για το πότε και πώς θα καταλήξει διαφοροποιούνται. Σήμερα η μουσική βιομηχανία είναι σε φάση καινοτομιών και πειραματισμού. Βασικός στόχος της πτυχιακής εργασίας είναι η κατασκευή μιας ψηφιακής άρπας με την αντικατάσταση των κλασικών χορδών με ακτίνες Laser Για την υλοποίηση χρησιμοποιήθηκαν ξύλο οξιάς για το πλαίσιο, ο μικροεπεξεργαστής της ATMEL, atmega 32a, το αναπτυξιακό σύστημα STK-500, καθώς και 15 laser των 20mw Λέξεις κλειδιά : ψηφιακή άρπα, midi, laser, laser άρπα. 7

Abstract The harp is a stringed musical instrument, which has a history of about 5,000 years, the use of which continues today. The revolution taking place in the music industry in recent years brought about tremendous changes in both the business models and the way of music consumption by the public. The digital technology transforms and rearranges the very structure of the music market creating new environment. This is an ongoing process and the views of the parties involved as to when and how to end different. Today the music industry is in a phase of innovation and experimentation. The main aim of the dissertation is the construction of a digital harp by replacing the classical string ray with Laser Were used to implement the Beachwood frame, microprocessor ATMEL, ATmega 32a, the developmental system STK-500, and the 15 laser 20mw Keywords: Digital HARP, midi, laser, laser harp. 8

Περιεχόμενα Ευχαριστίες... 5 Περίληψη... 7 Abstract... 8 Περιεχόμενα... 9 Πίνακας Εικόνων... 13 Πρόλογος... 16 Κεφάλαιο 1: Εισαγωγή... 18 1.1 Η Άρπα... 18 1.2 Τεχνικές... 22 Κεφάλαιο 2:Midi και Μικροελεγκτής... 24 2.1 Εισαγωγή στα ψηφιακά δεδομένα των ήχων midi... 24 2.1.1 MIDI πρωτόκολλο... 25 2.1.2 MIDI hardware... 25 2.1.3 Η χρησιμότητα του avr στο midi... 25 2.2 Εισαγωγή στο μικροελεγκτή... 29 2.2.1 Τι είναι ο μικροελεγκτής;... 29 2.2.2 Η ιστορία των μικροεπεξεργαστών... 30 2.2.3 Η εξέλιξη των μικροεπεξεργαστών... 32 2.2.4 Σύνοψη... 43 Κεφάλαιο 3 Ο AVR... 47 3.1 Χαρακτηριστικά του AVR... 47 3.1.1 Γενική περιγραφή του AVR... 48 3.1.2 Γενική περιγραφή αρχιτεκτονικής του AVR... 49 3.2 Δομή μονάδας επεξεργασίας AVR... 50 3.2.1 Αριθμητική λογική μονάδα... 50 3.2.2 Καταχωρητές γενικής χρήσης... 50 3.2.3 Δείκτης στοίβας... 51 3.2.4 Χρόνοι εκτέλεσης των εντολών... 52 3.3 Μνήμη του AVR... 53 9

3.3.1 Μνήμη προγράμματος FLASH... 53 3.3.2 Μνήμη δεδομένων SRAM... 53 3.3.3 Μνήμη ΕEPROM... 54 3.4 Διακοπές του AVR-RESET... 55 3.5 Παράλληλες θύρες είσοδος-έξοδος... 57 3.6 Timers... 57 3.7 Συριακή θύρα USART... 58 3.8 Περιφερειακά... 58 3.8.1 Αναλογικό σήμα σε ψηφιακό... 58 3.8.2 Αναλογικός συγκριτής... 59 Κεφάλαιο 4 Προδιαγραφές συστήματος... 61... 62 4.1 Δελτίο προδιαγραφών... 63 4.1.1 Βασικές λειτουργίες... 63 4.1.2 Περιγραφή συστήματος... 63 4.1.3 Τι προσφέρει στην αγορά... 63 4.1.4 Προτεραιότητες... 64 4.2 Ανάλυση επικινδυνότητας... 64 4.3 Διάγραμμα εκτίμησης κίνδυνου... 64 Κεφάλαιο 5 Απαιτήσεις Συστήματος... 66 5.1 Απαιτήσεις... 67 5.1.1 Απαιτήσεις Λειτουργικότητας... 67 5.1.2 Απαιτήσεις ευχρηστίας... 67 5.1.3 Αξιοπιστία... 67 5.1.4 Απόδοση... 68 5.2 Κοστολόγιο... 68 Κεφάλαιο 6: Ηλεκτρονική Σχεδίαση του Συστήματος... 70 6.1 Σχεδίαση κυκλωμάτων... 70 6.1.1 Κύκλωμα χρονισμού... 70 6.1.2 Συνδεσμολογία καλωδίου MIDI... 71 6.1.3 Συνδεσμολογία σταθεροποιητή... 71 6.1.4 Συνδεσμολογία Laser... 72 6.2 Πλακέτα συστήματος... 72 Κεφάλαιο 7: Λογισμική Σχεδίαση του Συστήματος... 74 10

7.1 Λογικό διάγραμμα... 74 7.2 Λογικό διάγραμμα Void() main... 75 7.3 Λογικό διάγραμμα Void() txbyte... 76 7.4 Λογικό διάγραμμα IF... 77 7.5 Προγράμματα που χρησιμοποιήθηκαν... 78 Κεφάλαιο 8: Ενοποίηση και έλεγχος του συστήματος... 80 8.1 Εισαγωγή στον έλεγχο... 80 8.2 Γενικό σχέδιο ελέγχου... 80 8.2.1 Σκοπός ελέγχου... 80 8.2.2 Περιπτώσεις ελέγχου... 81 8.2.3 Διαδικασίες ελέγχου... 82 8.3 Έλεγχος software... 84 8.3.1 Έλεγχος κλειστού κουτιού... 84 8.4 Έλεγχος με midi filter μέσο midi ox... 87 8.5 Έλεγχος σημάτων byte μέσο avr-stk-500... 88 8.6 Έλεγχος αντίδρασης φωτοαντιστάσεων... 88 8.7 Έλεγχος midi expander... 89 8.8 Έλεγχος τροφοδοσίας και καλωδίωσης... 90 8.9 Έλεγχος Laser... 91 8.10 Συνολικός έλεγχος του συστήματος... 91 8.10.1 Τα στάδια ελέγχου... 92 8.10.2Διαδικασία ελέγχου... 92 Παράρτημα Α... 95 Βιβλιογραφία... 95 Ηλεκτρονική Βιβλιογραφία... 95 Χρησιμοποιηθέντα υλικά... 95 Παράρτημα Β... 96 Κώδικας συστήματος... 96 11

12

Πίνακας Εικόνων Εικόνα 1 Αρπιστής... 18 Εικόνα 2 Άρπα... 19 Εικόνα 3 Παίξιμο άρπας... 20 Εικόνα 4 Sébastien Érard... 21 Εικόνα 5 Κοντσέρτο για φλάουτο και άρπα... 22 Εικόνα 6 Συνδεσμολογία MIDI πόρτων... 26 Εικόνα 7 Σύνδεση υπολογιστή με μία MIDI συσκευή... 27 Εικόνα 8 Σύνδεση υπολογιστή με πολλές MIDI συσκευές... 28 Εικόνα 9 Σύνδεση υπολογιστή με πολλές MIDI συσκευές μέσο THRU BOX... 28 Εικόνα 10 Εσωτερική δομή ενός μικροεπεξεργαστή... 31 Εικόνα 11 intel 4004... 32 Εικόνα 12 intel 8008... 33 Εικόνα 13 INS8900... 35 Εικόνα 14 MC68060... 37 Εικόνα 15 Intel Pentium... 38 Εικόνα 16 intel celeron... 39 Εικόνα 17 K6-III... 40 Εικόνα 18 Athlon 64... 41 Εικόνα 19 Xeon E5500... 42 Εικόνα 20 Mικροεπεξεργαστές... 45 Εικόνα 21 ATmega32... 47 Εικόνα 22 The Arithmetic Logic Unit (ALU)... 50 Εικόνα 23 καταχωρητής AVR... 51 Εικόνα 24 Χρόνοι εκτέλεσης εντολών... 52 Εικόνα 25 Μνήμη SRAM... 54 Εικόνα 26 Διανύσματα διακοπών... 55 Εικόνα 27 AVR timer... 57 Εικόνα 28 Αναλογικό σε ψηφιακό... 59 Εικόνα 29 Αναλογικός συγκριτής... 59 Εικόνα 30 Διάγραμμα ALARP... 64 Εικόνα 31 Κύκλωμα κρυστάλλου... 70 Εικόνα 32 Κύκλωμα καλωδίου MIDI... 71 Εικόνα 33 Σταθεροποιητής τάσης... 71 Εικόνα 34 Κύκλωμα Laser... 72 Εικόνα 35 Κύκλωμα πλακέτας... 72 Εικόνα 36 Λογικό Διάγραμμα... 74 Εικόνα 37 void() main... 75 Εικόνα 38 void txbyte... 76 Εικόνα 39 Διάγραμμα IF... 77 Εικόνα 40 Αναλυτικές ρυθμίσεις Fuses... 78 Εικόνα 41 Έλεγχος δεδομένων... 87 Εικόνα 42 Διάφοροι τύποι Φωτοαντιστάσεων... 88 13

Εικόνα 43 Roland sc-55... 89 Εικόνα 44 Τύποι καλωδίων... 90 Εικόνα 45 Τροφοδοτικό... 90 Εικόνα 46 Laser... 91 Εικόνα 47 Τα στάδια ελέγχου... 92 Εικόνα 48 Διαδικασία ελέγχου... 92 Εικόνα 49 Εσωτερικό Άρπας... 93 Εικόνα 50 Η Ψ Η Φ Ι Α Κ Η Α Ρ Π Α... 93 14

15

Πρόλογος Αντικείμενο της παρούσας εργασίας είναι η κατασκευή μιας ψηφιακής άρπας με τη χρήση ακτινών Laser. Με αυτό τον τρόπο δίνετε η δυνατότητα επιλογής διαφορετικών ήχων, καθώς και η δυνατότητα άμεσης σύνδεσης του οργάνου με διάφορα ψηφιακά μέσα. Η εργασία δομείται σε κεφάλαια ως εξής: Στο Πρώτο Κεφάλαιο, γίνεται μια εισαγωγή πάνω στην άρπα και την ιστορία της. Στο Δεύτερο Κεφάλαιο, γίνεται μια περιγραφή του MIDI, καθώς και μια εισαγωγή στην ιστορία των μικροελεγκτών. Στο Τρίτο Κεφάλαιο, γίνεται εισαγωγή και ανάλυση του AVR. Στο Τέταρτο Κεφάλαιο, γίνεται περιγραφή των προδιαγραφών του συστήματος. Στο Πέμπτο Κεφάλαιο, γίνεται αναφορά στις απαιτήσεις του συστήματος. Στο Έκτο Κεφάλαιο αναλύεται η Ηλεκτρονική σχεδίαση του συστήματος Στο Έβδομο Κεφάλαιο αναλύεται η Λογισμική σχεδίαση του συστήματος Στο Όγδοο Κεφάλαιο γίνεται περιγραφή της ενοποίησης και των ελέγχων του συστήματος. Τέλος, στο παράρτημα παρατίθεται ο κώδικας προγραμματισμού που χρησιμοποιήθηκε καθώς και τα υλικά που χρησιμοποιήθηκαν. 16

17

Κεφάλαιο 1: Εισαγωγή 1.1 Η Άρπα Η άρπα είναι έγχορδο μουσικό όργανο, το οποίο έχει ιστορία τουλάχιστον 5.000 ετών και η χρήση του οποίου συνεχίζεται μέχρι και σήμερα. Χαρακτηριστικό παράδειγμα είναι ο Αρπιστής (Εθνικό Αρχαιολογικό Μουσείο, αρ. Π3908) μαρμάρινο άγαλμα Πρωτοκυκλαδικής τέχνης (2800-23OO π.χ) που παριστάνει καθιστό αρπιστή τη στιγμή που παίζει είδος άρπας. Εικόνα 1 Αρπιστής 18

Ο σκελετός της άρπας σχηματίζει τρίγωνο του οποίου η κατακόρυφη πλευρά χρησιμεύει για να στηρίζει τις δύο άλλες, επί των οποίων βρίσκονται τεντωμένες 46 χορδές χορδισμένες σε «ντο ύφεση». Εικόνα 2 Άρπα Η άρπα είναι από τα αρχαιότερα μουσικά όργανα, και εμφανίζεται με χορδές που στηρίζονταν σε ελλειψοειδή σκελετό, ελεύθερο από τη μια πλευρά. Ο τύπος αυτός διατηρείται ακόμη και σήμερα σε περιοχές της Ασίας και της Αφρικής. Εντούτοις, σε ανασκαφές που έγιναν στην Χαλδαία κατά τις πρώτες δεκαετίες του 20ού αιώνα ήλθε στο φως από τάφο της Ουρ (3η χιλιετηρίδα π.χ.) άρπα ξύλινη με σκελετό γωνιώδη. Αλλά και στην Αίγυπτο, στον τάφο του Ραμσή του Γ (1160 π.χ.) η άρπα φαίνεται να διατηρεί το παλαιό ελλειψοειδές σχήμα της, αν και έχει το ύψος του ανθρώπου, στηριζόμενη στο έδαφος. 19

Εικόνα 3 Παίξιμο άρπας Στην Ευρώπη εμφανίστηκε περί τον 8ο αιώνα μ.χ., κυρίως από τους Ιρλανδούς, αν και φαίνεται πως το γνώριζαν και οι Αγγλοσάξονες. Το όργανο εκείνο ήταν φορητό με 10-12 χορδές και στηριζόταν στα γόνατα του οργανοπαίκτη, που έκρουε τις χορδές του και με τα δύο χέρια. Έπαιξε δε σημαντικό πολιτιστικό ρόλο στον Κελτικό πολιτισμό, καθώς κάθε κλαν Κελτών είχε το βάρδο του, που αναλάμβανε να διασκεδάζει τους υπόλοιπους με την άρπα του. Η άρπα εικονίζεται σήμερα στο εθνόσημο της Ιρλανδίας, καθώς και στο ιρλανδικό νόμισμα του Ευρώ. Από τον 13ο αιώνα άρχισε το όργανο αυτό να δέχεται μεταβολές σε ενιαία εξέλιξη. Έτσι, το 1618 η άρπα α- ποτελούσε ενιαίο τύπο οργάνου σε όλη την Ευρώπη. Είχε 43 χορδές μεταλλικές, αν και στην ηπειρωτική Ευρώπη χρησιμοποιούσαν ζωικές χορδές. Κατά τον Μεσαίωνα η άρπα ήταν το κατεξοχήν αγαπημένο όργανο Βασιλέων και ευγενών. Ήταν όμως ακόμη μικρότερων διαστάσεων από τις σύγχρονες, και κρεμόταν με δερμάτινη ταινία από το λαιμό του οργανοπαίκτη. Ιδιαίτερη μεγάλη βοήθεια στην εξέλιξη της άρπας πρόσφερε ο Ιταλός Οράτιος Μίκης, στις αρχές του 17ου αιώνα, που γι αυτό το λόγο έλαβε το προσωνύμιο «Νταλ Άρπα». 20

Από τότε, εκτός της προσθήκης μερικών ακόμη χορδών και αύξησης του μεγέθους της, καμία άλλη μεταβολή δεν υπέστη το όργανο αυτό μέχρι το τέλος του ίδιου αιώνα, οπότε επινοήθηκε σύστημα ανύψωσης του τόνου όλων των χορδών, που ε- φαρμόσθηκε από τον Βαυαρό Χανσμπρούγκερ και που τροποποιήθηκε περί το 1800 από τον Σεμπαστιάν Εράρ (Sébastien Érard), το οποίο και διατηρείται μέχρι σήμερα. Τις κινήσεις ρυθμίζουν 7 πετάλια (πεντάλ), εκ των οποίων τα τρία χειρίζονται από το αριστερό πόδι και τα άλλα τέσσερα από το δεξιό. Τέλος, κατά τη διάρκεια του 20ου αιώνα, κατασκευάστηκε και η ηλεκτρική άρπα. Εικόνα 4 Sébastien Érard Στην περίοδο της Αναγέννησης και του μπαρόκ αποτελεί συχνά τμήμα του συνεχούς βάσιμου, ωστόσο δεν χρησιμοποιείται σαν σολιστικό ή συμφωνικό όργανο ορχήστρας. Την εμφάνισή της στο κλασσικό ρεπερτόριο κάνει με τα κοντσέρτα για άρπα του Χέντελ και κομμάτια του Γιόχαν Κρίστιαν Μπαχ, ενώ στην κλασική περίοδο ο Μότσαρτ γράφει το περίφημο κοντσέρτο για φλάουτο και άρπα (K.299). Εισήχθη στην ορχήστρα από τον Μπερλιόζ με το έργο του "Φανταστική Συμφωνία", όπου κατά τις οδηγίες του συνθέτη απαιτούνται τουλάχιστον τέσσερις άρπες (προφανώς για την ισορροπία του ηχου). Η εδραίωση της άρπας ως συμφωνικό όργανο της ορχήστρας διατηρήθηκε από τους περισσότερους ρομαντικούς συνθέτες, όπως οι Βάγκνερ, Στράους, Πουτσίνι, Τσαϊκόφσκι. Στο ρεπερτόριο -τόσο το συμφωνικό όσο και το σολιστικό- συνέβαλαν και οι λεγόμενοι εξπρεσιονιστές (Ραβέλ, Ντεμπυσσύ, κ.λπ) καθώς επίσης και οι Ρώσοι (Κόρσακοφ, Στραβίνσκυ κ.ά. 21

Εικόνα 5 Κοντσέρτο για φλάουτο και άρπα 1.2 Τεχνικές Η άρπα ορχήστρας (ή και άρπα με πεντάλ) έχει έκταση Ντο b1 - Σολ 7 (ενίοτε και Λα 7). Η σύγχρονη τεχνική απαιτεί να παίζεται με τα δάκτυλα (και όχι με τις ά- κρες των δακτύλων) και των δύο χεριών -εξαιρούνται τα μικρά δάκτυλα καθώς θεωρούνται αδύναμα. H πιο χαρακτηριστική τεχνική στην άρπα είναι το λεγόμενο glissando (γλίστρημα), καθώς το άκουσμά του είναι μοναδικό. Νέες τεχνικές όπως το bisbigliando (ψιθυριστά), το près de la table (κρούση κοντά στο ηχείο), το pedal glissando (γλίστρημα με χρήση του πεντάλ), τα sonnes étouffés ("πνιγμένος" ήχος) και βέβαια οι "αρμονικοί" απαντώνται στο σύγχρονο ρεπερτόριο, από συνθέτες όπως ο Μπέριο (Sequenza IΙ) και ο Μπουλέζ. Αξιοσημείωτο, τέλος, είναι το γεγονός ότι ο όρος "αρπέζ" ετυμολογείται από το "άρπισα", καθώς η άρπα σπανίως μπορεί να παίξει ολόκληρες συγχορδίες με ταυτόχρονη κρούση των απαραίτητων χορδών. 22

23

Κεφάλαιο 2:Midi και Μικροελεγκτής 2.1 Εισαγωγή στα ψηφιακά δεδομένα των ήχων midi Το MIDI (Musical Instrument Digital Interface1), είναι μια ψηφιακή γλώσσα σύνδεσης συγχρονισμού και αμφίδρομης επικοινωνίας μεταξύ ηλεκτρονικών μουσικών οργάνων ή άλλων μουσικών συσκευών και ηλεκτρονικών υπολογιστών. Τα δεδομένα που μεταβιβάζονται μέσο της σύνδεσης MIDI δεν περιγράφουν κάποιο ηχητικό κύμα αλλά περιέχουν πληροφορίες, σε ψηφιακή μορφή, για την περιγραφή και χειρισμó μουσικών γεγονότων (events) σε πραγματικό χρόνο. Τα μουσικά γεγονότα μπορεί να αφορούν το πάτημα ή την αποδέσμευση ενóς συγκεκριμένου πλήκτρου, την ταχύτητα (ένταση) με την οποία πιέζεται ένα πλήκτρο, καθώς και δεδομένα που αφορούν την κίνηση κάποιου πεντάλ ή άλλης μονάδας ελέγχου ενóς ηλεκτρονικού μουσικού οργάνου. Ο τρóπος λειτουργίας του MIDI έχει ως εξής: Όταν πιέσουμε, για παράδειγμα, το πλήκτρο του μεσαίου Ντο κάποιου ηλεκτρονικού μουσικού οργάνου που υποστηρίζει το πρωτóκολλο MIDI, τóτε το óργανο θα εκτελέσει τη νóτα Ντο. Ταυτóχρονα θα παραγάγει ένα κωδικοποιημένο σήμα στην MIDI έξοδó του το οποίο είναι αναγνωρίσιμο απó κάθε συσκευή MIDI. Το σήμα αυτó θα περιλαμβάνει τις εξής παραμέτρους: α) Note - On (Έναρξη εκτέλεσης νóτας) β) Τονικó ύψος (Pitch) Μεσαίο Ντο, γ) Ταχύτητα (Velocity) Μια τιμή απó το 0-127 σύμφωνα με την οποία θα καθορίζεται η ένταση της νóτας. Αν το σήμα αυτó μεταδοθεί σε ένα άλλο óργανο MIDI τóτε αυτó είναι δυνατóν να εκτελέσει ταυτóχρονα την ίδια νóτα με την ίδια ένταση και με κάποιο δικó του ή- χο. Μια απó τις πιο συνηθισμένες χρήσεις των δεδομένων MIDI είναι η αποθήκευση τοποθετημένων με βάση το χρóνο, ακολουθιών μουσικών γεγονóτων σε ψηφιακή μνήμη. Με την εγγραφή και στη συνέχεια αναπαραγωγή μιας τέτοιας ακολουθίας μουσικών γεγονóτων, μπορούμε να πετύχουμε την αναπαράσταση της εκτέλεσης ενóς μουσικού έργου με αποτέλεσμα παρóμοιο με μια συνηθισμένη ηχογράφηση. Η λειτουργία αυτή εκτελείται απó το sequencer. Ένα sequencer μπορεί είτε να είναι εξειδικευμένη συσκευή που πολλές φορές είναι ενσωματωμένη σε ηλεκτρονικά μουσικά 24

óργανα είτε εξειδικευμένο μουσικó λογισμικó σε ηλεκτρονικó υπολογιστή. Το μουσικó λογισμικó Cubase, μεταξύ άλλων, λειτουργεί και ως ένα MIDI sequencer τεραστίων δυνατοτήτων. 2.1.1 MIDI πρωτόκολλο Το πρωτóκολλο MIDI προβλέπει óτι το κάθε óργανο MIDI αποτελείται απó 16 MIDI-κανάλια στα οποία είναι δυνατóν να στέλνονται ταυτóχρονα και ανεξάρτητα δεδομένα με την χρήση ενóς μóνο καλωδίου. 2.1.2 MIDI hardware Τα δεδομένα αποστέλλονται μέσο ενός ρεύματος βρόχου, και συνεπώς, δεν υ- πάρχει ηλεκτρική σύνδεση μεταξύ των δύο μονάδων μέσο του midi καλωδίου. Αυτό αποτρέπει βρόχους εδάφους και αποκλείει κάθε πιθανότητα θορύβου στην έξοδο της συσκευής. Το MIDI είναι μία σημείο προς σημείο σύνδεση, δηλαδή μπορεί να συνδέσει μόνο μια συσκευή σε μια άλλη. Αυτό μπορεί να αυξηθεί με τη χρήση ενός MIDI thru box. 2.1.3 Η χρησιμότητα του avr στο midi Υπάρχουν μερικοί καλοί λόγοι για την επιλογή του AVR για εφαρμογές MIDI. Πρώτον, έχει ένα ενσωματωμένο HARDWARE UART, αυτό σημαίνει ότι δεν μεταφέρει σκουπίδια μέσο του «bit bashing» και συνεχώς διαβάζει τις πόρτες του επεξεργαστή. Δεύτερον, μπορεί να χρησιμοποιεί interrupt. Αυτό σημαίνει ότι ο AVR μπορεί να κάνει άλλα πράγματα, και να μην ανησυχείτε για τα δεδομένα MIDI έως ότου αυτά φτάσουν. Τρίτον, είναι γρήγορος. Στα 8MHz μπορεί να πάρει σχεδόν 8 MIPs. Η επεξεργασία των δεδομένων MIDI μπορεί να γίνει αρκετά περίπλοκη, και με ένα μεγάλο σύστημα που μπορείτε να υπάρχει μια σχεδόν συνεχή ροή των δεδομένων, έτσι πρέπει να είναι γρήγορος και να αποφασίζει ποια bytes θέλει να χρησιμοποιήσει και πια δεν τον ενδιαφέρουν. 25

Παρακάτω φαίνεται η συνδεσμολογία του AVR με διάφορες MIDI πόρτες. Εικόνα 6 Συνδεσμολογία MIDI πόρτων Μέχρι τώρα δεν έχει αναφερθεί για το ποιες θύρες χρησιμοποιούνται από το MIDI. Το MIDI χρησιμοποιεί 3 θύρες και είναι όλες σημείο προς σημείο, δηλαδή, μπορεί να συνδεθεί μόνο μια συσκευή σε μια άλλη. Φαίνεται παραπάνω πως υπάρχουν τρεις πόρτες: IN, OUT και THRU. Το MIDI είναι στην πραγματικότητα ένα ρεύμα βρόχου, και όχι ένα σήμα τάσης. Αυτό σημαίνει, θεωρητικά τουλάχιστον, ότι τα μακριά καλώδια δεν παρουσιάζουν πρόβλημα (μέχρι 15 μέτρα). Αυτό εξασφαλίζει επίσης ότι το midi interface είναι απομονωμένο από το υπόλοιπο περιβάλλον, έτσι αποφεύγονται βρόχοι γείωσης και ο σχετικό «θόρυβος» που τους ακολουθεί. Κοιτάζοντας το σχήμα (Εικόνα 1) παρατηρούμε την ακίδα 2, τα χαρακτηριστικά του midi καλωδίου προϋποθέτουν ότι η δίοδος συνδέεται με τον ακροδέκτη 2 της α- κίδας 5. 26

Οι θύρες OUT και THRU έχουν αυτή την ακίδα γειωμένη, το IN όμως δεν την έχει, αυτό είναι ένα ακόμα μέτρο που λαμβάνεται για την πρόληψη βρόχων γείωσης. Το MIDI IN χρησιμοποιείται για τη λήψη δεδομένων από το MIDI OUT μιας άλλης συσκευής, χρησιμοποιείται επίσης για την αποστολή δεδομένων σε μια άλλη συσκευή μέσο MIDI THRU η οποία αναπαράγει ό, τι έρχεται. Έτσι, στην απλούστερη μορφή τους, μπορείτε να έχετε έναν υπολογιστή και μια MIDI συσκευή, συνδεμένες, όπως φαίνεται παρακάτω, Εικόνα 7 Σύνδεση υπολογιστή με μία MIDI συσκευή Αυτή η ρύθμιση επιτρέπει να καταγραφούν δεδομένα MIDI στον υπολογιστή, καθώς επίσης και μία MIDI συσκευή να ακουστεί από τον υπολογιστή. 27

Έτσι αν έχουμε έναν υπολογιστή και διάφορες MIDI συσκευές, ο πιο απλός τρόπος για να συνδεθούν είναι αυτός που φαίνεται στην παρακάτω εικόνα, Εικόνα 8 Σύνδεση υπολογιστή με πολλές MIDI συσκευές Όπως φαίνεται στην εικόνα 3 η έξοδος του υπολογιστή συνδέεται στην είσοδο της MIDI συσκευής, τα δεδομένα στη συνέχεια αποστέλλονται σε άλλη MIDI συσκευή μέσο της πόρτας «THRU», με αυτό τον τρόπο συνδέουμε όσες συσκευές θέλουμε και όλες επικοινωνούν με τον υπολογιστή. Εικόνα 9 Σύνδεση υπολογιστή με πολλές MIDI συσκευές μέσο THRU BOX Στην παραπάνω εικόνα φαίνεται ότι σύστημα MIDI είναι πολύ ευέλικτο και επεκτάσιμο. Αυτό είναι κάτι πολύ σημαντικό καθώς οι άνθρωποι περιμένουν από τον AVR να είναι σε θέση να συνεργαστεί, με διάφορες MIDI συσκευές, με οποιοδήποτε τρόπο. 28

2.2 Εισαγωγή στο μικροελεγκτή 2.2.1 Τι είναι ο μικροελεγκτής; Ένας μικροελεγκτής είναι ένα υπολογιστής σε ένα - chip που βελτιστοποιείται για να ελέγξει τις συσκευές. Είναι ένας τύπος μικροεπεξεργαστή που υποστηρίζει την αυτάρκεια και την οικονομική αποτελεσματικότητα, σε αντίθεση με έναν γενικής χρήσης μικροεπεξεργαστή, το είδος που χρησιμοποιείται σε ένα PC. Ένας χαρακτηριστικός μικροελεγκτής περιέχει όλη τη μνήμη και τις I/O γραμμές που απαιτούνται, ενώ ένας μικροεπεξεργαστής γενικού σκοπού απαιτεί πρόσθετα τσιπ για να παρέχει αυτές τις απαραίτητες λειτουργίες. Οι μικροελεγκτές είναι κύριο συστατικό σε πολλά είδη ηλεκτρονικού εξοπλισμού. Είναι η μεγάλη πλειοψηφία όλων των τσιπ επεξεργαστών που πωλούνται. Πάνω από 50% είναι "απλοί" ελεγκτές, και άλλα 20% είναι πιο ειδικευμένοι επεξεργαστές ψηφιακών σημάτων (DSPs). Ένα χαρακτηριστικό σπίτι στο δυτικό κόσμο είναι πιθανό να έχει μόνο έναν ή δύο γενικής χρήσης μικροεπεξεργαστές αλλά κάπου μεταξύ μίας και δύο δωδεκάδων μικροελεγκτών. Μπορούν να βρεθούν σχεδόν σε οποιουσδήποτε τύπου ηλεκτρικής συσκευής, πλυντήρια ρούχων, φούρνους μικροκυμάτων, τηλέφωνα κ.λπ. Οι περισσότεροι μικροελεγκτές είναι σήμερα βασισμένοι στην αρχιτεκτονική Von Neumann, η οποία καθόρισε σαφώς τα τέσσερα βασικά συστατικά που απαιτoύνται για ένα ενσωματωμένο σύστημα. Αυτά περιλαμβάνουν έναν πυρήνα CPU, τη μνήμη για το πρόγραμμα (μνήμη ROM ή FLASH), τη μνήμη για τις μεταβλητές (RAM), έναν ή περισσότερους timers (αυτόνομοι και watchdog), καθώς επίσης και τις I/O γραμμές για να επικοινωνήσουν με τις εξωτερικές περιφερειακές μονάδες και τους συμπληρωματικούς πόρους - όλο αυτό σε ένα ενιαίο ολοκληρωμένο κύκλωμα. Ένας μικροελεγκτής διαφέρει από ένα γενικής χρήσης τσιπ CPU επειδή το δεύτερο είναι γενικά αρκετά εύκολο να σταθεί σε έναν λειτουργών υπολογιστή, με το ελάχιστο των εξωτερικών τσιπ υποστήριξης. Η ιδέα είναι ότι ο μικροελεγκτής θα τοποθετηθεί στη συσκευή για έλεγχο, συνδέεται στην τροφοδοσία και σε οποιεσδήποτε πληροφορίες χρειάζεται, και αυτό είναι όλο. Ένας παραδοσιακός μικροεπεξεργαστής δεν θα σας επιτρέψει να κάνετε αυτό. Απαιτεί όλους αυτούς τους στόχους να αντιμετωπιστούν από άλλα τσιπ. Παραδείγματος χάριν, κάποιος αριθμός τσιπ μνήμης RAM πρέπει να προστεθεί. Το παρεχόμενο 29

ποσό μνήμης έχει ανοχές στην παραδοσιακή προσέγγιση, αλλά τουλάχιστον μερικά εξωτερικά τσιπ μνήμης πρέπει να προστεθούν, και πρόσθετα απαιτούν ότι πολλές συνδέσεις πρέπει να γίνουν για να περάσουν τα δεδομένα από και προς αυτά. Παραδείγματος χάριν, ένας χαρακτηριστικός μικροελεγκτής θα έχει χτισμένη στη γεννήτρια ρολογιών και ένα μικρό ποσό RAM ή ROM (ή EPROM ή EEPROM), που σημαίνει ότι για να τεθεί σε λειτουργία, όλα και όλα που απαιτούνται είναι κάποιο λογισμικό ελέγχου και ένα κρύσταλλο. Οι μικροελεγκτές επίσης συνήθως θα έχουν ποικίλες συσκευές εισόδου / εξόδου, όπως οι αναλογικό σε ψηφιακό μετατροπείς, τα χρονόμετρα, οι UARTs ή ειδικευμένα σειριακά interface επικοινωνιών όπως το I²C, το SPI και το Controller Area Network (CAN). Συχνά αυτές οι ενσωματωμένες συσκευές μπορούν να ελεγχθούν από εξειδικευμένες οδηγίες επεξεργαστών. Μερικοί σύγχρονοι μικροελεγκτές περιλαμβάνουν μια ενσωματωμένη υψηλού επιπέδου γλώσσα προγραμματισμού με την BASIC είναι αρκετά κοινή σε αυτό. Οι μικροελεγκτές εμπορεύονται ταχύτητα και ευελιξία στον σχεδιασμό εξοπλισμού με το χαμηλότερο κόστος. Τέλος, πρέπει να αναφερθεί ότι μερικές αρχιτεκτονικές μικροελεγκτών είναι διαθέσιμες από πολλούς διαφορετικούς προμηθευτές σε τόσες πολλές ποικιλίες και θα μπορούσαν εύκολα να ανήκουν σε μια δική τους κατηγορία. Αρχηγός μεταξύ αυτών είναι ο 8051 και τα παράγωγα του Ζ80. 2.2.2 Η ιστορία των μικροεπεξεργαστών Η επιθυμία των κατασκευαστών συστημάτων να δημιουργήσουν συστήματα με περισσότερες δυνατότητες και με μικρότερο μέγεθος οδήγησε στην ανάγκη για ενσωμάτωση όλων των λειτουργιών ενός υπολογιστή σε ένα ή μερικά ολοκληρωμένα κυκλώματα. Η ανάπτυξη της τεχνολογίας που χρησιμοποιήθηκε για την κατασκευή των κυκλωμάτων αυτών, είχε ως αποτέλεσμα την ανάπτυξη του μικροεπεξεργαστή. Ο μικροεπεξεργαστής, είναι ένα ολοκληρωμένο κύκλωμα (IC) γενικού σκοπού, το ο- ποίο μπορεί να προγραμματιστεί. Η επεξεργασία των δεδομένων γίνεται με μια σειρά από εντολές. Οι εντολές που εκτελούνται από τον μικροεπεξεργαστή είναι εντολές σε γλώσσα μηχανής και είναι αποθηκευμένες στην κύρια μνήμη. Μια εντολή σε γλώσσα μηχανής είναι μια σειρά από δυαδικά ψηφία, όπου είναι κωδικοποιημένο το είδος της εντολής. Το σύνολο αυτών των εντολών χρησιμεύει ως μια διασύνδεση ανάμεσα στο λογισμικό (software) και το υλικό (hardware), δηλαδή ανάμεσα στα προγράμματα και 30

στους επεξεργαστές. Η λειτουργικότητα ενός μικροεπεξεργαστή εξαρτάται πλήρως από το σύνολο εντολών που είναι ικανός να εκτελέσει. Ο μικροεπεξεργαστής είναι υπεύθυνος για όλη τη λειτουργία του υπολογιστή. Αποτελείται εσωτερικά από ένα μεγάλο πλήθος τρανζίστορ (transistor), δηλαδή ηλεκτρονικούς διακόπτες που επιτρέπουν ή απαγορεύουν τη διέλευση ρεύματος, καταχωρητές (registers) και αντιστάτες. Επίσης υπάρχουν εξαρτήματα που εκτελούν συγκεκριμένες εργασίες και τα σημαντικότερα των οποίων είναι: Το εσωτερικό ρόλοι, που είναι υπεύθυνο για το συντονισμό των υπόλοιπων εξαρτημάτων στέλνοντας περιοδικά σήματα. Η αριθμητική και λογική μονάδα, που εκτελεί τις αριθμητικές και λογικές πράξεις. Η μονάδα ελέγχου που διευθύνει και συντονίζει την επεξεργασία. Η εξέλιξη των μικροεπεξεργαστών Ο τρόπος κατασκευής των Κεντρικών Μονάδων Επεξεργασίας (CPU) άλλαξε σημαντικά στις αρχές της δεκαετίας του 70, όταν κατασκευάστηκαν οι πρώτοι επεξεργαστές από ένα μόνο ολοκληρωμένο κύκλωμα μεγάλης ολοκλήρωσης. Επειδή μειώθηκε το μέγεθός τους, οι νέοι επεξεργαστές ονομάστηκαν μιρκοεπεξεργαστές. Εικόνα 10 Εσωτερική δομή ενός μικροεπεξεργαστή 31

2.2.3 Η εξέλιξη των μικροεπεξεργαστών Ο τρόπος κατασκευής των κεντρικών μονάδων επεξεργασίας άλλαξε σημαντικά στις αρχές της δεκαετίας του 70, όταν κατασκευάστηκαν οι πρώτοι επεξεργαστές από ένα μόνο ολοκληρωμένο κύκλωμα μεγάλης ολοκλήρωσης. Επειδή μειώθηκε το μέγεθός τους, οι καινούριοι επεξεργαστές ονομάστηκαν μικροεπεξεργαστές. Μέχρι τότε οι επεξεργαστές (ή πιο σωστά πλακέτες επεξεργασίας) αποτελούνταν από δεκάδες πύλες και περίπλοκα κυκλώματα τα οποία με την παρατεταμένη χρήση εξέπεμπαν θερμότητα και έπιαναν πολύ χώρο. Ο intel 4004 ήταν ο πρώτος μικροεπεξεργαστής. Δημιουργήθηκε από τον Ted Hoff και το συνεργάτη του Stan Mazor και παρουσιάστηκε το 1971. Ο intel 4004 ήταν ένας 4bit επεξεργαστής ( ο επεξεργαστής λαμβάνει 4bit από την μνήμη κάθε φορά με σκοπό να επεξεργαστεί) που αποτελούταν περίπου από 2300 τρανζίστορ με συχνότητα ρολογιού 108 khz.επιπλέον εκτελούσε 60000 πράξεις το δευτερόλεπτο και μπορούσε να δει 640 bytes μνήμης. Η αρχιξή του εφαρμογή ήταν η δημιουργία αριθμομηχανών. Τα ο Νοέμβριο του 1971 η intel ανακοίνωσε το πρώτο μικροϋπολογιστή, το σύστημα MCS-4 για το οποίο χρησιμοποιήθηκε ο 4004, το 4001 ROM chip, τo 4002 RAM chip και το 4003 shift register chip για σειριακή επικοινωνία. Ο 4004 ήταν πού περιορισμένων δυνατοτήτων, παρόλο που για την εποχή του ήταν ένα τεχνολογικό αποκορύφωμα. Ταυτόχρονα σχεδόν αναπτύχθηκαν άλλοι δυο 4 bit επεξεργαστές, ο TMS 100 της Texas Instruments και ο επεξεργαστής MP944 που χρησιμοποιήθηκε από το αμερικάνικο ναυτικό για τα πολεμικά αεροπλάνα. Εικόνα 11 intel 4004 Η έλευση του 4bit μικροεπεξεργαστή οδήγησε γρήγορα στην παρουσίαση του 8bit μικροεπεξεργαστή ο οποίος μας εισήγαγε στην εποχή του προσωπικού υπολογιστή. Το 1971 ο Federico Faggin ξεκίνησε δουλειά πάνω σε έναν 8bit επεξεργαστή, 32

τον intel 8008, τον πρώτο εμπορικό 8bit μικροεπεξεργαστή, μέλος της οικογένειας MC8.Το πρωτότυπο είχε μεγάλα προβλήματα με διαρροές ηλεκτρικού φορτίου από τις συσκευές μνήμης. Ο 8008 ανασχεδιάστηκε πλήρως και κυκλοφόρησε. Η συχνότητα ρολογιού ήταν στα 200 KHz ενώ το chip χρησιμοποιούσε 3500 κρυσταλλολυχνίες. Αμέσως ξέσπασε μεγάλο ενδιαφέρον για την ανάπτυξη μικροεπεξεργαστών, με αποτέλεσμα να αυξηθούν οι απαιτήσεις στην ταχύτητα, επικοινωνία με το περιβάλλον και πιο πολλές εντολές και εισόδους δεδομένων. Ο 8008 μπορεί να δει 16 kbytes μνήμης. Το 1973 εισάγεται ο Micral ο οποίος είναι ο πιο σύγχρονος υπολογιστής που τροφοδοτείται από έναν μικροεπεξεργαστή intel 8008. Έναν χρόνο αργότερα η Scelbi διαφημίζει τον 8H υπολογιστή, ο πρώτος παναμερικανικός διαφημιζόμενος υπολογιστής βασισμένος στον μικροεπεξεργαστή της intel 8008. Εικόνα 12 intel 8008 Τον Απρίλιο του 1974, η intel παρουσιάζει τον 8080, έναν 8bit μικροεπεξεργαστή συμβατό εν μέρει με τον 8008. Ο 8080 έτρεχε στα 2 MHz, μπορούσε να δει 64 kbytes μνήμης και περιείχε 6000 τρανζίστορ. Την ίδια χρονιά ο Gary Kildall της εταιρίας Microcomputer Applications Associates υλοποιεί το λειτουργικό σύστημα CP/M για intel 8080 me 256 bytes RAM. To Altair είχε αρκετά πλεονεκτήματα όπως τον γρήγορο μικροεπεξεργαστή 8080 και την αρχιτεκτονική του open bus. Μια από τις ατέλειες του ήταν ότι τα πάντα έπρεπε να γίνουν μετακινώντας ατελείωτους διακόπτες και εκχωρώντας τιμές στις θέσεις μνήμης για να τρέξει ένα πρόγραμμα. Ο υπολογιστής αυτός σε συνδυασμό με την ταυτόχρονη ανάπτυξη της γλώσσας Microsoft Basic από τον Bill Gates και τον Paul Gates για τους μικροεπεξεργαστές της intel θεωρείται από πολλούς σαν η ανάφλεξη της έκρηξης των προσωπικών υπολογιστών. Άλλος 8bit μικροεπεξeργαστής της intel είναι o 8085 που αποκαλύφθηκε το 1978 κι ήταν πρόγονος του 16bit 8086. 33

Τον Αύγουστο του 1974 η MOTOROLA παρουσιάζει τον 6800 έναν πρώιμο 8bit μικροεπεξεργαστή που χρησιμοποιήθηκε σε υπολογιστές, σε όλα τα ηλεκτρονικά pinball παιχνίδια, καθώς και σε βιομηχανικές συσκευές ελέγχου. Είχε 4000 τρανζίστορ, 78 εντολές, σήμα χρονισμού στα 1 ή 2 MHz με 16bit πλάτος διαύλου διευθύνσεων. Ο Μ6800 ήταν ένας από τους πρώτους μικροεπεξεργαστές με καταχωρητή δείκτη (index register). Παρόλα τα προβλήματα με την παραγωγή το 6800 ήταν καλοσχεδιασμένο. Έτσι η εταιρία MITS ξεκίνησε την σχεδίαση ενός alter βασισμένο στο MOTOROLA 6800 και λίγο αργότερα παρουσιάστηκε ο υπολογιστής Sphere I με ε- πεξεργαστή τον MOTOROLA 6800, 4 Kbytes RAM πρόγραμμα ROM MONITOR, πληκτρολόγιο και διασύνδεση βίντεο. Το 1978 η MOTOROLA ανέτρεψε ολόκληρο τον 8bit κόσμο με την εισαγωγή του 6809, ένα από τα πιο ισχυρά σχέδια μικροεπεξεργαστή και επίσης έναν από τον πιο σύνθετα σχέδια που έγιναν ποτέ στην παραγωγή οποιουδήποτε μικροεπεξεργαστή. Το σήμα χρονισμού αρχικά ήταν στο 1 MHz,στο 1.5 MHz(68A09) και στα δυο MHz(68B09). Το 1975 βγήκε στην αγορά ο μικροεπεξεργαστής MOS TECHNOLOGY ο οποίος ήταν ένα αντίγραφο της 6800 της MOTOROLA, αλλά αρκετά αλλαγμένος ώστε να μην υπάρχουν νομικά προβλήματα. Στο σύνολο εντολών οι δυο επεξεργαστές είχαν ομοιότητες αλλά αντί για 16bit καταχωρητή ο 6502 χρησιμοποιούσε δυο 8bit καταχωρητές. Ο 6502 γνώρισε μεγάλη επιτυχία γεγονός που οφείλεται στην απλότητά του αλλά κυρίως στην υψηλή αποδοτικότητά του και στην χαμηλή του τιμή. Είχε 5000 τρανζίστορ, 56 εντολές, σήμα χρονισμού αρχικά 20 KHz μέχρι MHz με 16bit πλάτος διαύλου διευθύνσεων. Το 1975 ο Federico Faggin ιδρύει την εταιρία ZILOG. Ένα χρόνο μετά την ίδρυσή της η ZILOG φτάνει τον Ζ80, έναν 8bit μικροεπεξεργαστή βασισμένο στον 8080 του οποίου η γλώσσα μηχανής είναι υπερσύνολο αυτής του intel 8080. Είχε σήμα χρονισμού στα 3.5 MHz με 16bit πλάτος διαύλου διευθύνσεων, ενώ μπορούσε να δει 64Kbytes μνήμης. Ο Ζ80 είχε μεγάλα δημοτικότητα κατά την διάρκεια της δεκαετίας του 80 καθώς επικεντρώθηκε στο χαμηλό κόστος σε συνδυασμό με την μικρή συσκευασία, τις απλές απαιτήσεις των διαδρόμων των υπολογιστών και το συνυπολογισμό των στοιχείων κυκλώματος που θα έπρεπε κανονικά να παρασχεθούν σε ένα χωριστό τσιπ. Ο μικροεπεξεργαστής RCA(CDP)1802 της RCA χρησιμοποιήθηκε για την κατασκευή των δορυφόρων voyager, Viking και του διαστημόπλοιου γαλιλαίος. Ο CDP1802 είχε πολύ μικρή κατανάλωση ενώ η αρχιτεκτονική του ήταν διαφορετική από αυτή των κοινών 8bit μικροεπεξεργαστών. Ο 1802 υποστηρίζεται ότι είναι ο 34

πρώτος ανθεκτικός σε ακτινοβολία μικροεπεξεργαστής, επειδή η διαδικασία παραγωγής του εξασφάλισε πολύ καλύτερη προστασία ενάντια στην κοσμική ακτινοβολία και τις ηλεκτροστατικές αποφορτίσεις από αυτή οποιουδήποτε άλλου επεξεργαστή της εποχής. Ο πρώτος 16bit μικροεπεξεργαστής Multi-chip ήταν ο IMP 16 της National που εισήχθη στις αρχές του 1973.Δύο χρόνια αργότερα η National εισήγαγε το πρώτο 16bit single chip μικροεπεξεργαστή, τον PACE ο οποίος ακολουθήθηκε αργότερα από την NMOS έκδοση, το INS8900. Εικόνα 13 INS8900 Το 1976 εμφανίζεται ο TMS 9900 της Texas Intstruments ένας από τους πρώτους καθαρά 16bit μικροεπεξεργαστές. Ο TMS 9900 δεν είχε καθόλου εσωτερικούς καταχωρητές, εκτός από έναν που όριζε την θέση των καταχωρητών του στη RAM όπου αποθηκεύονται. Η σχεδίαση επέτρεπε την ταχύτατη αλλαγή context, αφού για να αλλάξουν όλοι οι καταχωρητές και να κληθεί μια συνάρτηση, πρέπει να αλλάξει ο μοναδικός εσωτερικός καταχωρητής. Η συγκεκριμένη σχεδίαση είχε νόημα για την εποχή της, διότι η εσωτερική μνήμη ήταν πιο αργή από την εξωτερική. Η Intel επανέρχεται στο προσκήνιο αναβαθμίζοντας το σχέδιο του 8080 στον 16bit Intel 8086, το πρώτο μέλος της x86 οικογένειας που χρησιμοποιούν οι περισσότεροι σύγχρονοι υπολογιστές. Ο 8086 είχε 10 φορές καλύτερη απόδοση από τον 8080. Η Intel εισήγαγε τον 8086 ως οικονομικώς αποδοτικό τρόπο μεταφοράς του λογισμικού από τον 8080, και πέτυχε κερδίζοντας την εμπιστοσύνη πολλών επιχειρήσεων με εκείνη την προϋπόθεση. Ο 8086 είχε 29.000 τρανζίστορ, ταχύτητα λειτουργίας στα 10 MHz, ενώ χρησιμοποιούσε καταχωρητές των 16 bit και δίαυλο δεδομένων των 16 bit. Επιπλέον, μπορούσε να δει 1 Mbyte μνήμης. Τον Ιούνιο του 1979, αποκαλύφθηκε ο μικροεπεξεργαστής 8088, που ήταν μια παραλλαγή του 8086. Πρόκειται για έναν 16bit επεξεργαστή εσωτερικά, του οποίου ο εξωτερικός δίαυλος δε- 35

δομένων ήταν των 8 bits. Η σχεδίαση αυτή είχε σκοπό τη χρήση των υπαρχόντων 8bit controller chips για συσκευές. Ο 8088 περιείχε 29000 τρανζίστορ και μπορούσε να δει 1 Mbyte μνήμης. Μετά τον 8088 η Intel απελευθέρωσε τους 16bit μικροεπεξεργαστές 80186 και 80286, παγιώνοντας την κυριαρχία της στην αγορά προσωπικών υπολογιστών. Ο 80286 παρουσιάστηκε το 1982, και είχε συχνότητα λειτουργίας αρχικά στα 6 MHz και έπειτα στα 12 MHz. Ο ιστορικός αυτός μικροεπεξεργαστής ανήκε στην οικογένεια x86 και περιελάμβανε δίαυλο δεδομένων 16 bit, δίαυλο διευθύνσεων 24 bit. Επιπλέον, μπορούσε να δει μέχρι 16 MBytes μνήμης και περιείχε 130000 τρανζίστορ. Ο 80286 αποτελεί τον πρώτο μικροεπεξεργαστής που είχε τη δυνατότητα να λειτουργεί στην κατάσταση Protected Mode(προστατευμένη κατάσταση λειτουργίας). Το 1979, η Zilog έστειλε δείγματα του 16bit μικροεπεξεργαστή της, του Z8000. Η αρχιτεκτονική σχεδιάστηκε και υλοποιήθηκε από τους Bernard Peuto και MasatoshiShima. Ο Ζ8000 δεν ήταν συμβατός με τον Ζ80 και παρόλο που ο σχεδιασμός του ήταν πολύ καλός, δε χρησιμοποιήθηκε ευρέως, διότι έφθασε πάρα πολύ αργά στην αγορά για να σταθεί και εξαφανίστηκε γρήγορα Τα 16bit σχέδια ήταν στην αγορά μόνο για λίγο, όταν άρχισαν να εμφανίζονται οι πλήρεις 32bit εφαρμογές. Ο παγκόσμιος πρώτος single-chip 32bit μικροεπεξεργαστής ήταν ο BELLMAC 32A της AT&T Bell Labs, ο οποίος παρουσιάστηκε το 1980 και κυκλοφόρησε το 1982. Μετά από την αποστέρηση του AT&T το 1984 και την αλλαγή της επωνυμίας της εταιρίας, ο BELLMAC 32A μετονομάστηκε σε WE 32000 (WE είναι τα αρχικά της Western Electric). Η επόμενη γενιά μικροεπεξεργαστών που στηρίχτηκε στον WE 32000, είναι ο WE 32100 και ο WE 32200. Αυτοί οι μικροεπεξεργαστές χρησιμοποιήθηκαν στους μίνι-υπολογιστές AT&T 3B5, 3B15 στο 3B2, τον πρώτο super microcomputer γραφείου. Όλα αυτά τα συστήματα έτρεξαν το αρχικό λειτουργικό σύστημα Unix των Bell Labs. Ο διασημότερος 32bit μικροεπεξεργαστής είναι ο MC68000. Εισήχθη το 1979 και ήταν το πρώτο μέλος της οικογένειας m68k. Είχε 32bit καταχωρητές αλλά χρησιμοποίησε 16bit διαδρομές δεδομένων, καθώς και έναν 16bit εξωτερικό δίαυλο δεδομένων. Η Motorola το περιέγραψε γενικά ως 16bit επεξεργαστή, αν και είχε 32bit αρχιτεκτονική. Ο 68000 έτρεχε στα 8MHz και είχε 68000 τρανζίστορ. Ο συνδυασμός της υψηλής ταχύτητας, του μεγάλου χώρου αποθήκευσης (16 Mbyte) και του αρκετά χαμηλού κόστους τον έκανε τον δημοφιλέστερο μικροεπεξεργαστή της κατηγορίας του, με αποτέλεσμα να χρησιμοποιηθεί στους υπολογιστές Apple Lisa και η Macin- 36

tosh. Η επιτυχία της Motorola με τον 68000 οδήγησε στον σχεδιασμό του MC68010, ο οποίος πρόσθεσε την υποστήριξη της εικονικής μνήμης. Ο MC68020, που εισήχθη το 1985, είχε 200000 τρανζίστορ και συχνότητα λειτουργίας στα 16 MHz. Τα 68020 έγιναν ιδιαίτερα δημοφιλή στη super microcomputer Unix αγορά, ενώ πολλές μικρές επιχειρήσεις, όπως η Altos, παρήγαγαν τα συστήματα desktop. Έπειτα, ακολούθησε ο MC68030, ο οποίος πρόσθεσε τη μονάδα διαχείρισης μνήμης (MMU) στο τσιπ. Η συνεχής επιτυχία οδήγησε στον 68040, ο οποίος περιέλαβε τη μονάδα υπολογισμού κινητής υποδιαστολής (FPU) για καλύτερη απόδοση. Ο 68050 δεν κατάφερε να επιτύχει τους στόχους απόδοσής του και έτσι δεν απελευθερώθηκε. Το ακόλουθο MC68060 απελευθερώθηκε την περίοδο που κυκλοφορούσαν ευρέως στην αγορά τα πολύ γρηγορότερα σχέδια RISC. Η οικογένεια m68k εξασθένισε από την αγορά υπολογιστή γραφείου στις αρχές της δεκαετίας του 90. Εικόνα 14 MC68060 Ο πρώτος 32bit μικροεπεξεργαστής της Intel ήταν το iapx 432, ο οποίος εισήχθη το 1981 αλλά δεν ήταν μια εμπορική επιτυχία. Παρόλο που είχε μια προηγμένη αντικειμενοστραφή αρχιτεκτονική, η κακή απόδοση της, σε σχέση με άλλες ανταγωνιστικές αρχιτεκτονικές όπως το Motorola 68000, ήταν καταδικαστική. Δούλευε στα 5, 7, και 8 MHz και είχε μέγιστη απόδοση 2000000 εντολές το δευτερόλεπτο. Τον Οκτώβριο του 1985, η Intel παρουσιάζει τον απόγονο του 80286 τον μικροεπεξεργαστή 80386 με συχνότητα λειτουργίας αρχικά στα 16 MHz. Ο συγκεκριμένος επεξεργαστής χρησιμοποιούσε καθαρούς 32bit καταχωρητές και 32bit διαύλους δεδομένων και διευθύνσεων. Δεχόταν μέχρι 4 Gbytes μνήμης, ενώ περιείχε 275000 τρανζίστορ. Τα επιπλέον χαρακτηριστικά του 80386 ήταν η υποστήριξη πολυδιεργασίας (multitasking), το ενσωματωμένο κύκλωμα διαχείρισης και προστασίας της μνήμης (MNU), η 37

υποστήριξη εικονικής μνήμης με δυνατότητα σελιδοποίησης (paging) και ο μεγάλος φυσικός γραμμικός χώρος διευθυνσιοδοτήσης. Για λόγους συμβατότητας με τους προηγούμενους επεξεργαστές, ο 80386 αναγκάζεται να προσφέρει μια κατάσταση συμβατότητας με τον 8088/8086, ονόματι Real Mode (πραγματική κατάσταση λειτουργίας). Το 1989, εμφανίζεται ο μικροεπεξεργαστής Intel 80486, ο οποίος είχε 1200000 τρανζίστορ και συχνότητα λειτουργίας 50 MHz. Στον 80486, που αποτελεί επίσης απόγονο του 80286, δεν προστέθηκαν περισσότεροι καταχωρητές, αλλά ορίστηκαν κάποια bits σε ορισμένους καταχωρητές, που δεν είχαν οριστεί στον 80386. Τη δεκαετία του έκαναν την εμφάνισή τους οι μικροεπεξεργαστές Intel Pentium, οι οποίοι αποτελούσαν τη συνέχεια του 80486 ενώ είχαν υπερβαθμωτή (superscalar) αρχιτεκτονική και 32bit δίαυλο δεδομένων. Το 1993 εμφανίζεται ο Intel Pentium της οικογένειας P5, ο οποίος περιείχε 3100000 τρανζίστορ και λειτουργούσε στα 60 και 66 MHz. Το 1995, η Intel παρουσιάζει τον Pentium Pro, τον πρώτο στην οικογένεια των P6. Είχε 5500000 τρανζίστορ και ανήκε στην έκτη γενιά των επεξεργαστών της οικογένειας x86. ΟPentium Pro είχε διαφορετική αρχιτεκτονική από αυτή του Pentium, ενώ ήταν μόνο κατά 20% ταχύτερος. Δύο χρόνια αργότερα, η Intel εισάγει τον μικροεπεξεργαστήpentium II, έναν Pentium Pro με τεχνολογία MMX (ΜΜΧ εντολές) για την υποστήριξη πολυμέσων. Εικόνα 15 Intel Pentium Η μικροαρχιτεκτονική του ήταν σχεδιασμένη με τέτοιο τρόπο, ώστε η εκτέλεση του 32bit κώδικα της αρχιτεκτονικής της Intel να είναι γρήγορη και να μην απαιτεί επιπρόσθετη προσπάθεια του προγραμματιστή. Ο Pentium II είχε 7500000 τρανζίστορ και η συχνότητα λειτουργίας του βρισκόταν στα 300 MHz. Το 1999, ακολούθησε ο Pentium III με 9500000 τρανζίστορ και συχνότητα λειτουργίας στα 450 MHz 38

(έφτασε και τα 1,13 GHz). Ο συγκεκριμένος μικροεπεξεργαστής ήταν ουσιαστικά έ- νας Pentium II εφοδιασμένος με SSE (Streaming SIMD Extensions). Οι νέες αυτές επεκτάσεις των SIMD εντολών είχαν ως αποτέλεσμα την επιτάχυνση της απόδοσης των εφαρμογών σε σχέση με αυτή του Pentium II. Την επόμενη χρονιά, εμφανίστηκε ο Pentium IV. Ο επεξεργαστής αυτός ήταν σχεδιασμένος σύμφωνα με την μικροαρχιτεκτονική NetBurst, η οποία αποτελούσε και συνεχίζει να αποτελεί την τεχνολογική καρδιά του Pentium IV και διαφόρων παραλλαγών του. Με την συγκεκριμένη αρχιτεκτονική η Intel άγγιξε την κορυφή των GHz, όχι όμως και της απόδοσης, με την κυκλοφορία του επεξεργαστή Pentium D, που είχε συχνότητα λειτουργίας τα 3,73 GHz. Εκεί ήρθε το τέλος για την NetΒurst. Ο Pentium D ήταν και ο τελευταίος μικροεπεξεργαστής της σειράς Pentium, η οποία σταμάτησε να κυκλοφορεί το 2008. Από τις αρχές του 1998 η Intel αντιμετώπιζε δυσκολίες με τον PentiumII, καθώς ήταν πολύ ακριβός. Για αυτό το λόγο, δημιούργησε ένα καινούριο επεξεργαστή, που ονομάστηκε Celeron. Ο Celeron είχε πιο προσιτή τιμή, αλλά δεν μπορούσε να λειτουργήσει σε πολύ υψηλές συχνότητες. Με βάση αυτόν τον επεξεργαστή κατασκευάστηκαν εκδόσεις των Pentium II, Pentium III, Pentium IV καιpentium M. Την ίδια χρονιά με την παρουσίαση του Pentium II Celeron, η Intel παρουσίασε άλλον ένα νέο Pentium II επεξεργαστή που ονομάστηκε Xeon. Έπειτα, ακολούθησαν και άλλες εκδόσεις του επεξεργαστή. Εικόνα 16 intel celeron 39

Η εταιρεία AMD (Advanced Micro Devices) ήταν για καιρό γνωστή ως πάροχος επεξεργαστών χαμηλής απόδοσης για χρήση σε υπολογιστές χαμηλού κόστους. Το 1997, η AMD μπήκε δυναμικά στην αγορά των μικροεπεξεργαστών παρουσιάζοντας τους επεξεργαστές της σειράς K6, οι οποίοι ήταν εφάμιλλοι αυτών της Intel σε τιμή και επιδόσεις. Η RISC86 μικροαρχιτεκτονική προσδιόριζε τα χαρακτηριστικά της οικογένειας Κ6. Με τον επεξεργαστή K6-III, η AMD πέρασε πρώτη το φράγμα των 600 MHz, διεκδικώντας τον τίτλο του ταχύτερου επεξεργαστή για πρώτη φορά στους προσωπικούς υπολογιστές. To 1999, η AMD προώθησε την καινούργια οικογένεια μικροεπεξεργαστών, Athlon. Ο Athlon Classic, που αποτελεί τον πρώτο επεξεργαστή της σειράς και μεγάλο ανταγωνιστή των Pentium, εισήγαγε την έβδομη γενιά επεξεργαστών της οικογένειας x86. Εικόνα 17 K6-III Αν και οι πρώτοι 64bit επεξεργαστές εμφανίστηκαν στις αρχές του 1990, άρχισαν να εφαρμόζονται στους υπολογιστές γραφείου το 2003. Μέχρι το 2003, οι 64bit επεξεργαστές απευθύνονταν αποκλειστικά στην αγορά των ακριβών σταθμών εργασίας και των διακομιστών. Στην ευρεία αγορά, τον Σεπτέμβριο του 2003 πρώτη η AMD εισήγαγε τον Athlon 64, την καλύτερη καινοτομία στους επεξεργαστές για το έτος 2003, όπως χαρακτηρίστηκε. Έπειτα, ακολούθησε η Intel με τον Intel 64. Και οι δύο 40

επεξεργαστές μπορούσαν να τρέξουν την κληρονομιά των 32bit εφαρμογών καθώς επίσης και το νέο λογισμικό 64bit. Ένας 64bit υπολογιστής μπορεί να κάνει μαθηματικές πράξεις με μεγαλύτερους αριθμούς και να είναι πολύ πιο αποτελεσματικός με μικρότερους αριθμούς σε σχέση με έναν 32bit. Για αυτό το λόγο, πολλοί υποστηρίζουν ότι μόνο τα ακαδημαϊκά ιδρύματα και οι ιδιωτικές εταιρίες μπορούν να ωφεληθούν από τις επιδόσεις ενός 64bit επεξεργαστή, καθώς μόνο εκεί απαιτούνται μεγάλοι υπολογισμοί, γρήγορες προσβάσεις σε μεγάλες βάσεις δεδομένων αλλά και επίλυση σύνθετων προβλημάτων. Εικόνα 18 Athlon 64 Ο Athlon 64 σχεδιάστηκε σύμφωνα με την αρχιτεκτονική AMD64, διαφοροποιήθηκε ωστόσο σε ορισμένα σημεία προκειμένου να μειωθεί το κόστος του. Ένα από τα κύρια πλεονεκτήματα του Athlon 64 είναι και η τεχνολογία Cool'n'Quiet την οποία ενσωματώνει, με αποτέλεσμα να εξοικονομεί ενέργεια. Το 2005, η AMD ανακοίνωσε τους διπλοπύρηνους επεξεργαστές Opteron για servers και workstations, καθώς και τους διπλοπύρηνους επεξεργαστές Athlon 64 για προσωπικούς υπολογιστές. Στην ουσία, οι διπλοπύρηνοι Athlon 64 ήταν δύο Athlon 64 ενωμένοι μεταξύ τους με την αρχιτεκτονική Direct Connect. Τον Φεβρουάριο του 2009, ηamd παρουσίασε τον τετραπύρηνο επεξεργαστή Phenom II με το κωδικό όνομα Deneb. Σύμφωνα με την εταιρία, οι εκπληκτικές ικανότητες του νέου επεξεργαστή όσον αφορά στον υπερχρονισμό, οφείλονται στην ανανεωμένη και αρχιτεκτονικά βελτιωμένη κατασκευή του Phenom II συγκριτικά με την πρώτη έκδοση του επεξεργαστή που κυκλοφόρησε στα τέλη του 2007. Ο νέος αυτός επεξεργαστής αποτελεί ένα από τα τρία βασικά συστατικά της πλατφόρμας Dragon. Οι πιο πρόσφατοι επεξεργαστές της AMD ανακοινώθηκαν τον Ιούλιο. Συγκεκριμένα η εταιρία ενημέρωσε για τη διάθεση πέντε νέων ε- ξαπύρηνων επεξεργαστών Istanbul, με πολύ χαμηλή κατανάλωση ενέργειας. 41

Όσον αφορά στην απόδοση, τα καινούργια μοντέλα δεν καταφέρνουν να φτάσουν τους Xeon E5504 και E5520 της Intel. Εικόνα 19 Xeon E5500 Το 2006, η Intel ανακοίνωσε δέκα νέους επεξεργαστές που στηρίζονταν στην τεχνολογία Intel Core 2 Duo και Intel Core 2 Extreme. Οι συγκεκριμένοι επεξεργαστές ήταν ιδανικοί για οικιακούς και επιχειρηματικούς, επιτραπέζιους και φορητούς υπολογιστές και για σταθμούς εργασίας. Η νέα αυτή σειρά επεξεργαστών έθεσε νέα δεδομένα σε θέματα απόδοσης, εμφάνισης και κατανάλωσης των υπολογιστών ενώ παράλληλα, άλλαξε ριζικά τον τρόπο χρήσης τους. Η οικογένεια επεξεργαστών Intel Core 2 Duo στηρίζεται στην μικροαρχιτεκτονική Intel Core, η οποία παρέχει ισχυρή απόδοση με παράλληλη εξοικονόμηση ενέργειας. Με τη χρήση των δυοπυρήνων οι επεξεργαστές Intel Core 2 Duo μπορούν να διαχειριστούν πολλές εργασίες ταχύτερα, καθώς επίσης και να λειτουργήσουν πιο ομαλά όταν τρέχουν πολλαπλές εφαρμογές. Επιπλέον, βελτιώνουν εργασίες όπως η αναπαραγωγή βίντεο υψηλής ευκρίνειας, η προστασία του υπολογιστή και των στοιχείων του και η βελτιωμένη διάρκεια ζωής της μπαταρίας για κομψότερους και ελαφρύτερους φορητούς υπολογιστές. Ο Intel Core 2 Extreme Quad-Core είναι ένας εξαιρετικά γρήγορος τετραπύρηνος επεξεργαστής, η τιμή του οποίου είναι αρκετά υψηλή. To 2008, κυκλοφόρησε ο Atom, ο μικρότερος σε μέγεθος επεξεργαστής της Intel που υλοποιήθηκε με τα μικρότερα τρανζίστορ του κόσμου. Δημιουργήθηκε ως μία εντελώς νέα σχεδίαση, ειδικά για φθηνές συσκευές, όπως πολύ μικρά notebooks και φορητές συσκευές με πρόσβαση στο Internet. Για τη σχεδίαση του Atom χρησιμοποιήθηκε η μικροαρχιτεκτονική Core, η ί- δια δηλαδή τεχνολογία με την οποία η Intel κατασκευάζει τους γνωστούς Core 2 Duo 42

επεξεργαστές για επιτραπέζιους και φορητούς υπολογιστές. Την ίδια χρονιά η Intel ανακοίνωσε τη νέα σειρά επεξεργαστών της με το όνομα Core i7. Η νέα αρχιτεκτονική στην οποία βασίζονται οι Core i7 είναι ριζικά διαφορετική από οτιδήποτε έχει επιδείξει η Intel μέχρι σήμερα. Ο Intel Core i7, δεν είναι απλά ένας νέος επεξεργαστής, αλλά μία ολόκληρη νέα πλατφόρμα η οποία επεκτείνεται σε όλα τα μέρη του υπολογιστή. Τα κύρια χαρακτηριστικά του είναι: η ενσωμάτωση τεσσάρων διακριτών πυρήνων, γεγονός που σημαίνει ότι υπάρχει πλήρης έλεγχος σε καθέναν από αυτούς. η ενσωμάτωση του ελεγκτή μνήμης εντός του επεξεργαστή. Αυτό έχει ως αποτέλεσμα την πολύ καλύτερη και πιο γρήγορη επικοινωνία επεξεργαστή και μνήμης. η υποστήριξη, για πρώτη φορά από την ίδια την Intel, της χρήσης δύο ή περισσότερων καρτών γραφικών στο ίδιο σύστημα. Συχνότητες των 2,66 GHz και 2,93 GHz. Ο Core i7 αναμένεται να βελτιωθεί ακόμα περισσότερο, αφού η Intel έχει προγραμματίσει στα τέλη του 2009 την κυκλοφορία ενός νέου επεξεργαστή, τον 960, ο οποίος θα έχει συχνότητα 3,2 GHz. 2.2.4 Σύνοψη Τα τελευταία χρόνια οι μικροεπεξεργαστές είναι υπεύθυνοι για τη δημιουργία μερικών από τις μεγαλύτερες καινοτομίες στα συστήματα υπολογιστών. Οι καινοτομίες περιλαμβάνουν τους embedded μικροελεγκτές, τις συσκευές χειρός και τις κινητές συσκευές, τους προσωπικούς υπολογιστές, τους σύγχρονους σταθμούς εργασίας, τους υπερυπολογιστές χαμηλού κόστους, εξυπηρετητές εφαρμογών και αρχείων, web servers για το Internet και ευρείας κλίμακας δίκτυα υπολογιστών. Παρατηρούμε λοιπόν, ότι στη σχετικά σύντομη διάρκεια ζωής του, ο μικροεπεξεργαστής έχει κάνει τεράστιες προόδους και έχει περάσει από πολλά στάδια. Αρχικά, ο σχεδιασμός των μικροεπεξεργαστών είχε στόχο τη δημιουργία απλών συστημάτων αυτόματου ελέγχου και τη χρήση τους σε διάφορες συσκευές. Στη συνέχεια, οι σχεδιαστές μικροεπεξεργαστών ασχολήθηκαν με την ανάπτυξη ολοκληρωμένων κυκλωμάτων, γενικού σκοπού. Τα συγκεκριμένα κυκλώματα θα μπορούσαν να χρησιμοποιηθούν σε πολλές ε- φαρμογές με τη βοήθεια συμπληρωματικών ολοκληρωμένων κυκλωμάτων που κατασκευάζονταν ειδικά για κάθε εφαρμογή. Στα επόμενα χρόνια, η ραγδαία εξέλιξη της τεχνολογίας των ολοκληρωμένων κυκλωμάτων έδωσε τη δυνατότητα ενσωμάτωσης 43

εκατομμυρίων τρανζίστορ μέσα σε ένα ολοκληρωμένο κύκλωμα. Σε συνδυασμό με τις αυξημένες απαιτήσεις των χρηστών για σύγχρονες εφαρμογές ή για δικτυακές ε- φαρμογές με μετάδοση εικόνας και video, οι κατασκευαστές οδηγήθηκαν στην ανάπτυξη νέων και ισχυρών μικροεπεξεργαστών. Οι νέοι αυτοί μικροεπεξεργαστές έπρεπε να είναι ακόμα πιο γρήγοροι σε ταχύτητα, να μπορούν να καλύψουν τις απαιτήσεις των σύγχρονων εφαρμογών, να έχουν μεγαλύτερες δυνατότητες επεξεργασίας και μικρότερη κατανάλωση από τους προγενέστερούς τους. Μέσα σε λίγα χρόνια, η απόδοσή των μικροεπεξεργαστών βελτιώθηκε αισθητά, αφού σύμφωνα με τον Νόμο του Μουρ κάθε 18 μήνες ο αριθμός των τρανζίστορ πάνω σε ένα chip διπλασιαζόταν. Τα στοιχεία τα οποία είναι ενδεικτικά της εξέλιξής των σύγχρονων μικροεπεξεργαστών είναι τα εξής: Το μήκος λέξης του μικροεπεξεργαστή μεγάλωσε από τα 16 δυαδικά ψηφία στα 32 και έπειτα στα 64 δυαδικά ψηφία, με αποτέλεσμα οι σύγχρονοι μικροεπεξεργαστές να υλοποιούν άμεσα και γρήγορα μεγάλους αριθμητικούς υπολογισμούς. Αυξήθηκε το πλήθος των θέσεων μνήμης που μπορεί να προσπελάσει ο μικροεπεξεργαστής. Έτσι σήμερα, κυκλοφορούν μικροεπεξεργαστές με δίαυλο διευθύνσεων μεγέθους 64 δυαδικών και δυνατότητα διευθυνσιοδότησης πολλών GB θέσεων μνήμης. Οι μικροεπεξεργαστές άρχισαν να υποστηρίζουν συστήματα ιεραρχίας μνήμης με κρυφές μνήμες, ενώ πολλοί από αυτούς ενσωμάτωναν κάποια από τα επίπεδα αυτά, συνήθως το πρώτο επίπεδο, στο ολοκληρωμένο κύκλωμα του μικροεπεξεργαστή. Οι ταχύτητες χρονισμού των ολοκληρωμένων κυκλωμάτων μεγάλωσαν, με αποτέλεσμα την αύξηση της ταχύτητας της εκτέλεσης των προγραμμάτων του μικροεπεξεργαστή. Η αύξηση στην ταχύτητα εκτέλεσης δεν ήταν αποτέλεσμα μόνο της αύξησης της ταχύτητας χρονισμού. Οι σύγχρονοι μικροεπεξεργαστές διαθέτουν στο εσωτερικό τους πολύπλοκα κυκλώματα που διευκολύνουν τις λειτουργίες τους, όπως μονάδες αριθμητικής κινητής υποδιαστολής (FPU) για πράξεις κινητής υποδιαστολής ή μονάδες διαχείρισης της μνήμης (MMU) για τη γρήγορη προσπέλαση σε αυτήν. Άλλο ένα χαρακτηριστικό των σύγχρονων μικροεπεξεργαστών είναι ότι προσπαθούν να παραλληλίσουν την εκτέλεση των εντολών των προγραμμάτων (Instruction Level Parallelism) έτσι ώστε να πετύχουν την πιο γρήγορη εκτέλεσή τους. Για το σκοπό αυτό πολλοί μικροεπεξεργαστές εφαρμόζουν διοχέτευση (pipeline) ή διαθέ- 44

τουν πολλαπλούς καταχωρητές και αριθμητικές και λογικές μονάδες (multiple execution units) για να μπορούν να εκτελέσουν περισσότερες από μία εντολές ταυτόχρονα. Επίσης τα σύνολα εντολών και οι τρόποι διευθυνσιοδότησης έχουν υποστεί πολλές αλλαγές. Οι σύγχρονες εφαρμογές, όπως οι εφαρμογές πολυμέσων, είχαν μεγάλες απαιτήσεις σε υπολογιστική ισχύ, καθώς ασχολούνταν ταυτόχρονα με ήχο, εικόνα και video. Αυτό είχε σαν αποτέλεσμα τον εμπλουτισμό των συνόλων εντολών με εντολές που να μπορούν να διαχειριστούν αποτελεσματικά τη νέα αυτή μορφή πληροφορίας. Οι μικροεπεξεργαστές συνεχίζουν να εξελίσσονται με αμείωτους ρυθμούς, καθώς οι κατασκευαστές των μικροεπεξεργαστών εργάζονται πυρετωδώς, ώστε να κερδίσουν έδαφος έναντι του μεγάλου ανταγωνισμού που υπάρχει. Η Intel και η AMD, που έχουν κυριαρχήσει στην αγορά, συνεχώς ανακοινώνουν καινούργια προϊόντα με αποτέλεσμα να αναμένουμε την κυκλοφορία εξαπύρηνων και οχταπύρηνων επεξεργαστών. Η συνεχής βελτίωση των επιδόσεων έχει οδηγήσει στην μαζική κυκλοφορία νέων εκδόσεων μικροεπεξεργαστών. Έτσι στα επόμενα χρόνια περιμένουμε να δούμε νέες τεχνολογικές ανακαλύψεις να ενσωματώνονται σε αυτούς και να αποκτούν ακόμα μεγαλύτερες δυνατότητες επεξεργασίας. Ταυτόχρονα η χρήση τους θα επεκτείνεται σε όλο και περισσότερες εφαρμογές, κάνοντας τη ζωή μας πιο εύκολη Εικόνα 20 Mικροεπεξεργαστές 45

46

Κεφάλαιο 3 Ο AVR Στην κατασκευή της άρπας χρησιμοποιήθηκε ο μικροελεγκτής AVR της ATMEL, και ειδικότερα ο ATmega32, λόγω των πολλών δυνατοτήτων του αλλά και της χαμηλής τιμής του. Εικόνα 21 ATmega32 3.1 Χαρακτηριστικά του AVR Τα χαρακτηριστικά που μας προσφέρει ο AVR και τον κάνουν ιδιαίτερα ελκυστικό για τον σχεδιασμό ενός εμπεδωμένου συστήματος σαν και αυτό που κατασκευάστηκε είναι τα παρακάτω: Μεγάλη απόδοση, μικρή κατανάλωση Αναβαθμισμένη RISC αρχιτεκτονική 131 πολύ ισχυρές εντολές που απαιτούν μόνο ένα κύκλο ρολογιού για την εκτέλεση τους 32 καταχωρητές μεγέθους 8-ψηφίων Μέχρι 16 MIPS στα 16MHz On chip πολλαπλασιαστής 2 κύκλων Non volatile μνήμη προγράμματος και δεδομένων 32 KB Αυτοπρογραμματιζόμενη μνήμη flash 1 KB EEPROM μνήμη 2 KB εσωτερική SRAM 47

JTAG διεπαφή για εύκολο προγραμματισμό και διόρθωση των λαθών του προγράμματος (debugging) Πλήθος περιφερειακών ο 2 timers 8-ψηφίων με ξεχωριστά ρολόγια 1 timer 16-ψηφίων με ξεχωριστό ρολόι Αληθινού χρόνου μετρητής με εξωτερικό κρύσταλλο 4 κανάλια PWM 8 κανάλια 10-ψηφίων ADC TWI Master/Slave SPI λειτουργία Σειριακή θύρα με δυνατότητες σύγχρονης και ασύγχρονης λειτουργίας Watchdog timer με ξεχωριστό κρύσταλλο On-chip αναλογικό συγκριτή Ειδικά χαρακτηριστικά Reset αυτόματα με την τροφοδότηση Εσωτερικό ρολόι Εσωτερικές και εξωτερικές διακοπές 6 sleep modes για εξοικονόμηση ενέργειας Ταχύτητα έως 16MHz Μικρή κατανάλωση 3.1.1 Γενική περιγραφή του AVR Ο ATmega32 είναι ένας χαμηλής κατανάλωσης CMOS 8-ψηφίων επεξεργαστής βασισμένος πάνω στην ενισχυμένη RISC αρχιτεκτονική των AVR. Εκτελώντας τις δυναμικές του εντολές σε ένα κύκλο μηχανής επιτρέπει στον σχεδιαστή να βελτιστοποιήσει την κατανάλωση σε σχέση με την επεξεργαστική ισχύ. Ο σχεδιασμός του ATmega32 προβλέπει ένα πλούσιο σετ εντολών συνδεδεμένο με 32 καταχωρητές γενικής χρήση. Όλοι οι καταχωρητές συνδέονται άμεσα με την αριθμητική λογική μονάδα ( ALU ) επιτρέποντας τις εντολές μεταξύ καταχωρητών να εκτελεστούν σε ένα κύκλο μηχανής πετυχαίνοντας έτσι μέχρι και δέκα φορές μεγαλύτερη παραγωγή από τις CISC αρχιτεκτονικές. Επιπλέον ο AΤmega32 έχει ένα πλήθος περιφερειακών έτσι ώστε να έχει την δυνατότητα να ελέγξει ένα ολόκληρο σύστημα με περιφερειακά μόνος του. 48

3.1.2 Γενική περιγραφή αρχιτεκτονικής του AVR Με σκοπό να μεγιστοποιήσει την απόδοση στην εκτέλεση των εντολών ο AVR χρησιμοποιεί μία ειδικά σχεδιασμένη παραλλαγή της αρχιτεκτονικής Harvard με ξεχωριστή μνήμη και διαύλους για το πρόγραμμα και τα δεδομένα. Ο AVR χρησιμοποιεί άμεσο κανάλι πληροφόρησης ενός σταδίου. Ενώ μία εντολή εκτελείται η επόμενη ανακαλείται από την μνήμη προγράμματος. Αυτό οδηγεί στην εκτέλεση των εντολών σε ένα κύκλο μηχανής (οι περισσότερες από αυτές). Η μνήμη του προγράμματος είναι In-System Reprogrammable Flash. Το Register File περιέχει 32 x 8 ψηφία γενικής χρήσης καταχωρητές με χρόνο πρόσβασης ένα κύκλο ρολογιού. Οι καταχωρητές αυτοί είναι άμεσα συνδεδεμένοι με την αριθμητική λογική μονάδα επιτρέποντας την λειτουργία της ALU σε μία μονάδα χρόνου (ένα κύκλο ρολογιού). Έξι από τους 32 καταχωρητές μπορούν να χρησιμοποιηθούν σαν 3 16 ψηφία έμμεσοι καταχωρητές-δείκτες της μνήμης δεδομένων επιτρέποντας έτσι αποδοτικούς υπολογισμούς διευθύνσεων μνήμης. Ένας από αυτούς μπορεί να χρησιμοποιηθεί σαν δείκτης σε look-up πίνακες στην μνήμη του προγράμματος. Αυτοί οι καταχωρητές είναι οι X-, Y-, Z-.Η αριθμητική λογική μονάδα επιτρέπει αριθμητικές και λογικές πράξεις μεταξύ δύο καταχωρητών ή μεταξύ ενός καταχωρητή και μίας σταθεράς. Α- κόμα λειτουργίες ενός μόνο καταχωρητή εκτελούνται από τη ALU. Έπειτα από μία εκτέλεση λειτουργίας από την αριθμητική λογική μονάδα ο status-καταχωρητής ανανεώνεται για να απεικονίζει τα αποτελέσματα της λειτουργίας. Η ροή του προγράμματος διευκολύνεται από με και χωρίς προϋποθέσεις εντολές άλματος και κλήσης που μπορούν άμεσα να μεταφέρουν την εκτέλεση του προγράμματος σε οποιοδήποτε σημείο της μνήμης προγράμματος. Οι περισσότερες εντολές του AVR έχουν μορφή 16-ψηφίων. Κάθε διεύθυνση στην μνήμη του προγράμματος περιέχει μία εντολή 16 ή 32 ψηφίων. Η μνήμη προγράμματος είναι χωρισμένη σε δύο μέρη: την μνήμη εκκίνησης και την μνήμη για τις εφαρμογές. Όλες οι μνήμες στον AVR είναι γραμμικές. Κατά την διάρκεια διακοπών και υπορουτίνων η διεύθυνση επιστροφής αποθηκεύεται στην στοίβα. Η στοίβα βρίσκεται στην SRAM και συνεπώς το μέγεθος της εξαρτάται μόνο από την μνήμη SRAM που διαθέτει ο κάθε επεξεργαστής και την χρησιμοποίηση της για αποθήκευση μεταβλητών. Ο δείκτης της στοίβας πρέπει να 49

αρχικοποιείται κάθε φορά που αρχίζει ένα πρόγραμμα. Ο δείκτης της στοίβας είναι γενικά προσβάσιμος στην περιοχή I/O του μικροελεγκτή. Η μνήμη SRΑM είναι προσβάσιμη μέσο πέντε τρόπων διευθυνσιοδότησης στην αρχιτεκτονική του AVR. Ακόμα αξιοσημείωτα στην αρχιτεκτονική του AVR είναι το ευέλικτο σύστημα για την διαχείριση των διακοπών και οι 64 διευθύνσεις για περιφερειακές συσκευές. 3.2 Δομή μονάδας επεξεργασίας AVR Παρακάτω θα αναλύσουμε την κεντρική μονάδα επεξεργασίας του AVR. 3.2.1 Αριθμητική λογική μονάδα Η υψηλής απόδοσης ALU λειτουργεί σε απευθείας σύνδεση με τους 32 γενικής χρήσης καταχωρητές. Μέσα σ ένα κύκλο ρολογιού εκτελούνται οι αριθμητικές πράξεις μεταξύ δύο καταχωρητών ή μεταξύ ενός καταχωρητή και ενός ορίσματος από την μνήμη. Οι λειτουργίες της ALU διακρίνονται σε αριθμητικές, λογικές και λειτουργίες σε ψηφιακό επίπεδο. Ακόμα υποστηρίζεται δυναμική χρήση πολλαπλασιασμού τόσο σε αριθμούς χωρίς πρόσημο όσο και σε προσημασμένους αριθμούς Εικόνα 22 The Arithmetic Logic Unit (ALU) 3.2.2 Καταχωρητές γενικής χρήσης Οι καταχωρητές του AVR είναι κατασκευασμένοι έτσι ώστε να υποστηρίζουν το ενισχυμένο RISC ρεπερτόριο εντολών. Έτσι υποστηρίζονται οι εξής λειτουργίες από τους καταχωρητές: Ένα 8-ψηφίων όρισμα έξοδος και ένα 8- ψηφίων αποτέλεσμα είσοδος Δύο 8- ψηφίων ορίσματα έξοδος και ένα 8- ψηφίων αποτέλεσμα είσοδος 50

Δύο 8- ψηφίων ορίσματα έξοδος και ένα 16- ψηφίων αποτέλεσμα είσοδος Ένα 16- ψηφίων όρισμα έξοδος και ένα 16- ψηφίων αποτέλεσμα είσοδος Καταχωρητές AVR: Εικόνα 23 καταχωρητής AVR Οι περισσότερες από τις εντολές που λειτουργούν στο αρχείο καταχωρητών έ- χουν άμεση πρόσβαση σε όλους τους καταχωρητές, και οι περισσότερες από αυτές εκτελούνται σε ένα κύκλο. Όπως φαίνεται στο σχήμα 4, σε κάθε καταχωρητή ορίζεται επίσης μια διεύθυνση μνήμης δεδομένων, χαρτογραφώντας τους άμεσα στις πρώτες 32 θέσεις του διαστήματος δεδομένων. Αν και όχι φυσικά ως θέσεις SRAM, αυτή η οργάνωση μνήμης παρέχει τη μεγάλη ευελιξία στην πρόσβαση των καταχωρητών, όπως το Χ -, Υ -, και οι καταχωρητές Ζ-δεικτών μπορούν να τεθούν ως δείκτης για να συντάξουν ευρετήριο σε οποιοδήποτε καταχωρητή 3.2.3 Δείκτης στοίβας Η στοίβα χρησιμοποιείται κυρίως για την αποθήκευση των προσωρινών στοιχείων, για την αποθήκευση των τοπικών μεταβλητών και για την αποθήκευση των διευθύνσεων επιστροφής μετά από διακοπές και κλήσεις υπορουτινών. Ο καταχωρητήςδείκτης στοίβας δείχνει πάντα την κορυφή της στοίβας. Σημειώστε ότι η στοίβα ε- φαρμόζεται αυξανόμενη από τις υψηλότερες θέσεις μνήμης στις χαμηλότερες θέσεις μνήμης. Αυτό υπονοεί ότι μια εντολή push της στοίβας μειώνει το δείκτη στοίβας. Ο δείκτης στοίβας δείχνει την περιοχή στοίβας της SRAM όπου οι στοίβες υπορουτινών και διακοπών βρίσκονται. Αυτό το διάστημα στοίβας στην SRAM πρέπει 51

να καθοριστεί από το πρόγραμμα προτού να εκτελεσθούν οποιεσδήποτε κλήσεις υπορουτινών ή επιτρεπόμενων διακοπών. Ο δείκτης στοίβας πρέπει να τεθεί ως δείκτης και να δείξει επάνω από $60. Ο δείκτης στοίβας μειώνεται κατά ένα όταν ένα δεδομένο τοποθετείται στην στοίβα με την push εντολή, και μειώνεται κατά δύο όταν γίνεται push η διεύθυνση επιστροφής στη στοίβα με την κλήση υπορουτινών ή διακοπών. Αντίστοιχες αυξήσεις γίνονται όταν εκτελούνται pop εντολές. Ο δείκτης στοίβας AVR κατασκευάζεται ως δύο οκτάμπιτοι καταχωρητές στο διάστημα I/O. Ο αριθμός bits που χρησιμοποιείται είναι στην πραγματικότητα εφαρμογή εξαρτώμενη. Σημειώστε ότι τα δεδομένα σε μερικές εφαρμογές της αρχιτεκτονικής AVR είναι τόσο μικρά που μόνο ο SPL απαιτείται. Σε αυτήν την περίπτωση, ο καταχωρητής SPH δεν θα χρησιμοποιηθεί. 3.2.4 Χρόνοι εκτέλεσης των εντολών Η αναβαθμισμένη Harvard αρχιτεκτονική που διαθέτει ο AVR οδηγεί σε ένα μεγάλο παραλληλισμό εκτέλεσης εντολών κάτι που τον κάνει να φθάνει σχεδόν σε απόδοση το 1 MIPS ανά ΜΗz ρολογιού. Στα παρακάτω διαγράμματα φαίνεται η εκτέλεση συνεχόμενων εντολών από την ALU καθώς και τα στάδια εκτέλεσης μίας εντολής., Εικόνα 24 Χρόνοι εκτέλεσης εντολών 52

3.3 Μνήμη του AVR Τα τμήματα μνήμης του AVR είναι βασισμένα στο μοντέλο αρχιτεκτονικής Harvard στο οποίο τα σημαντικά τμήματα της μνήμης είναι διαχωρισμένα για να επιτυχαίνεται ταχύτερη πρόσβαση σε αυτά και αυξημένη χωρητικότητα. Η CPU έχει ξεχωριστό interface πρόσβασης στην μνήμη προγράμματος FLASH, την μνήμη δεδομένων και στην EEPROM (αν υπάρχει). 3.3.1 Μνήμη προγράμματος FLASH Η μνήμη προγράμματος FLASH είναι ένα block μνήμης FLASH η οποία αρχίζει από την διεύθυνση $0000 και το μέγεθος της εξαρτάται από το μοντέλο του AVR. (Ειδικότερα το όνομα του AVR προδίδει το μέγεθος της μνήμης. Ο ATmega32 παραδείγματος χάριν που χρησιμοποιήθηκε έχει μνήμη FLASH 32ΚΒ. Παρόμοια ο ATmega128 έχει 128KB FLASH). Η μνήμη FLASH είναι non-volatile (δηλαδή διατηρεί τα δεδομένα της μετά την απομάκρυνση της τροφοδοσίας) και έχει διάρκεια ζωής 10,000 κύκλους εγγραφής διαγραφής. Χρησιμοποιείται για την αποθήκευση του κώδικα του προγράμματος και σταθερών. Η διευθυσιοδότηση της μνήμης είναι της τάξης των 16 ψηφίων. Παρόλο που η μνήμη είναι επανεγγράψιμη δεν μπορεί να εγγραφεί μέσω ενός ε- κτελέσιμου προγράμματος, πρέπει να προγραμματιστεί από εξωτερικά μέσα. Συνεπώς είναι μία read-only μνήμη και εκεί μπορούν να αποθηκευτούν μόνο σταθερές μαζί με τον εκτελέσιμο κώδικα. Οι σταθερές όταν αποθηκεύονται στην μνήμη FLASH αυτόματα προβιβάζονται σε ακεραίους λόγω του μεγέθους της μονάδας αποθήκευσης. 3.3.2 Μνήμη δεδομένων SRAM Η μνήμη δεδομένων του AVR περιέχει τρεις περιοχές μνήμης ανάγνωσης / εγγραφής. Το χαμηλότερο σε διεύθυνση τμήμα της μνήμης περιέχει τους 32 γενικής χρήσης καταχωρητές ακολουθούμενο από τους 64 καταχωρητές εισόδου εξόδου (το νούμερο εξαρτάται από το μοντέλο του επεξεργαστή) και την εσωτερική SRAM. Οι γενικής χρήσης καταχωρητές χρησιμοποιούνται για την αποθήκευση global μεταβλητών καθώς και άλλων προσωρινών δεδομένων κατά την εκτέλεση του προγράμματος. 53

Οι 64 καταχωρητές εισόδου εξόδου χρησιμοποιούνται για την επικοινωνία με τις συσκευές εισόδου εξόδου και των άλλων περιφερειακών. Εικόνα 25 Μνήμη SRAM Η SRAM μνήμη (το υπόλοιπο τμήμα) χρησιμοποιείται για την αποθήκευση μεταβλητών που δεν χωράνε στους καταχωρητές και για τη δημιουργία της στοίβας. Αυτό το κομμάτι δεν έχει ειδικές διαιρέσεις. Τα δεδομένα συνήθως αποθηκεύονται αρχίζοντας από το πρώτο κομμάτι της μνήμης ενώ η στοίβα αποθηκεύεται στο υψηλότερο κομμάτι της μνήμης. Ο ATmega32L έχει 2048 bytes SRAM. 3.3.3 Μνήμη ΕEPROM Η μνήμη EEPROM είναι μία μνήμη που χρησιμοποιείται για την εγγραφή / ανάγνωση δεδομένων τα οποία πρέπει να διατηρούνται όταν αποκόπτεται η τροφοδοσία. Για αυτό το λόγο είναι μία non-volatile μνήμη. Συνήθως αρχίζει από την διεύθυνση 0x000 και πηγαίνει μέχρι το μέγιστο κάθε μικροϋπολογιστή (στην περίπτωση του ATmega32 τα 1024 ψηφία). Επειδή έχει αργό χρόνο προσπέλασης και περιορισμένο μέγιστο αριθμό κύκλων εγγραφής / ανάγνωσης χρησιμοποιείται κυρίως για αποθήκευση μεταβλητών που πρέπει να διατηρηθούν οι τιμές του σε μία διακοπή της τροφοδοσίας. 54

3.4 Διακοπές του AVR-RESET Οι διακοπές είναι ουσιαστικά κλήσεις συναρτήσεων από το Hardware. Όπως προδίδει και το όνομα τους οι διακοπές διακόπτουν την ροή του κυρίου προγράμματος και τον κάνουν να συνεχίσει την εκτέλεση του από ένα σημείο που είναι η ρουτίνα εξυπηρέτησης της διακοπής. Οι διακοπές είναι χρήσιμες για αυτές τις περιπτώσεις που ο επεξεργαστής πρέπει να ανταποκριθεί αμέσως σ ένα γεγονός ή σε περιπτώσεις που αντί να περιμένει ένα αργό γεγονός να συμβεί αφήνει την διακοπή να τον ειδοποιήσει. Εικόνα 26 Διανύσματα διακοπών 55

Ο AVR παρέχει διάφορες διακοπών που φαίνονται στον παραπάνω πίνακα. Όλες αυτές μαζί με το ξεχωριστό διάνυσμα διακοπής Reset έχουν ένα ξεχωριστό διάνυσμα στην μνήμη προγράμματος. Όλες οι διακοπές έχουν ξεχωριστά ψηφία ενεργοποίησης τα οποία για να ενεργοποιήσουν μία διακοπή πρέπει να γραφούν με λογικό 1 και ταυτόχρονα να είναι ενεργοποιημένες οι διακοπές στον Status καταχωρητή. Στο χαμηλότερο κομμάτι του προγράμματος μνήμης έχει by default ανατεθεί ο χώρος στον οποίο βρίσκονται τα διανύσματα των διακοπών. Η σειρά αυτή καθορίζει και την προτεραιότητα των διακοπών. Όσο πιο μικρή είναι η διεύθυνση της διακοπής τόσο πιο μεγάλη είναι η προτεραιότητα της. Την μεγαλύτερη προτεραιότητα έχει η διακοπή Reset και αμέσως επόμενη είναι η εξωτερική διακοπή Int0. Αυτό δεν σημαίνει ότι μία διακοπή μπορεί να σταματήσει την ρουτίνα εξυπηρέτησης μίας διακοπής (καθώς όταν συμβαίνει μία διακοπή απενεργοποιούνται οι διακοπές) με μικρότερη προτεραιότητα καθώς αυτό δεν μπορεί να γίνει αλλά ότι αν ταυτόχρονα περιμένουν να γίνουν δύο διακοπές πρώτη θα εκτελεστεί η διακοπή με την μεγαλύτερη προτεραιότητα. Βασικά υπάρχουν δύο είδη διακοπών. Το πρώτο είδος συμβαίνει από γεγονότα που θέτουν την σημαία της διακοπής. Τότε ο επεξεργαστής πηγαίνει στην διεύθυνση που δείχνει το διάνυσμα διακοπής για να εκτελέσει την ρουτίνα εξυπηρέτησης της διακοπής. Έπειτα επιστρέφει στην εκτέλεση του κυρίως προγράμματος και καθαρίζει την σημαία της διακοπής. Το δεύτερο είδος προέρχεται από γεγονότα τα οποία προκαλούν διακοπές όσο είναι ενεργά και δεν έχουν απαραίτητα σημαίες διακοπής. Ο χρόνος ανταπόκρισης σε μία διακοπή είναι τουλάχιστον τέσσερις κύκλοι ρολογιού. Μετά από τέσσερις κύκλους ρολογιού η ρουτίνα εξυπηρέτησης της διακοπής εκτελείται. Κατά την διάρκεια του τέταρτου κύκλου ο PC αποθηκεύεται στην στοίβα Έπειτα εκτελείται ένα άλμα (jump) για την ρουτίνα εξυπηρέτησης της διακοπής που παίρνει τρεις κύκλους. Όταν επιστρέφει το πρόγραμμα από μία ISR ο PC ανακτάται από την στοίβα, ο SP αυξάνεται κατά δύο και ενεργοποιούνται οι διακοπές στον Status καταχωρητή. Αυτό παίρνει τέσσερις κύκλους ρολογιού. 56

3.5 Παράλληλες θύρες είσοδος-έξοδος Όλες οι παράλληλες θύρες εισόδου εξόδου του AVR έχουν αυτονομία όταν χρησιμοποιούνται σαν γενικές θύρες εισόδου εξόδου. Αυτό σημαίνει ότι μπορείς να αλλάξεις την κατάσταση ενός μόνο bit στην πόρτα χωρίς να πειράξεις κανένα άλλο. Το ίδιο συμβαίνει και με την διεύθυνση της πόρτας η οποία μπορεί να αλλάξει από είσοδος σε έξοδος. Κάθε πόρτα του AVR έχει για τον έλεγχο της 3 καταχωρητές, τους PORTx, PINx και DDRx. Ανάλογα με την τιμή του DDRx η πόρτα μπορεί να χρησιμοποιηθεί σαν είσοδος ή έξοδος. Ο PORTx χρησιμοποιείται για την θέση της τιμής της πόρτας και ο PINx για την ανάγνωση της τιμής της πόρτας. 3.6 Timers Ο ATmega32 έχει τρεις χρονιστές / μετρητές για την επιτέλεση διάφορων διεργασιών. Οι timers είναι πιθανότατα το πιο ευρέως χρησιμοποιημένο περιφερειακό σε ένα μικροελεγκτή. Αυτό συμβαίνει λόγω των πολλών εφαρμογών που μπορούν να ε- πιτελέσουν. Μέσο ενός timer μπορούν να μετρηθούν περίοδοι χρόνου, να καθοριστεί το εύρος παλμών, να μετρηθεί η ταχύτητα και η συχνότητα ή να δημιουργηθούν διάφορων ειδών σήματα. Εικόνα 27 AVR timer Παρόλο που υπάρχουν δύο διαχωρισμένες μορφές, χρονομέτρηση και μέτρηση, οι timers είναι ουσιαστικά απλοί δυαδικοί μετρητές προς τα πάνω. Όταν χρησιμοποιούνται σε timing mode, οι δυαδικοί μετρητές μετρούν περιόδους ρολογιού που εφαρμόζονται στην είσοδο τους ενώ στην timing mode μετρούν παλμούς στην είσοδο τους. Οι timers μπορούν να χρησιμοποιήσουν ως είσοδο είτε υποδιαιρέσεις του ρολογιού ου μικροελεγκτή είτε εξωτερική πηγή ρολογιού. 57

3.7 Συριακή θύρα USART Η σειριακή επικοινωνία μέσω της USART είναι ουσιαστικά η αποστολή δεδομένων μέσω μίας γραμμής μόνο. Τα ψηφία των δεδομένων ξεχωρίζουν από τον χρόνο που μεσολαβεί μεταξύ τους δίνοντας την δυνατότητα στον παραλήπτη να καταλάβει την αξία του κάθε bit. Η USART λέγεται ασύγχρονη επικοινωνία λόγω του ότι δεν χρειάζεται μία γραμμή ρολογιού για να συγχρονιστούν τα bits. Η USART χρησιμοποιεί ένα start / stop ψηφίο για να ξεχωρίσει την αποστολή των δεδομένων. Η επικοινωνία μέσο USART μένη ανενεργή στο λογικό 1 και πέφτει στο 0 για να σημειώσει την αρχή μίας νέας μεταφοράς (start bit). Ακολουθεί ένα πακέτο δεδομένων με μέγεθος από 5 έως 9 ψηφίων και έπειτα το stop bit. Η πτώση της γραμμής από 1 σε 0 ενεργοποιεί την μέτρηση χρόνου στον δέκτη ο οποίος δειγματολήπτη την είσοδο του στο μέσο του ρολογιού για μέγιστη ακρίβεια.. Η USART έχει την δυνατότητα μεταφοράς δεδομένων σε διάφορα bitrates με μέγιστο για τον ATmega32 τα 115200 bps. 3.8 Περιφερειακά O ATmega32 υποστηρίζει ένα πλήθος άλλων περιφερειακών. 3.8.1 Αναλογικό σήμα σε ψηφιακό Ο ATmega32 υποστηρίζει μια διαδοχική προσέγγιση ADC 10-ψηφίων. Ο ADC συνδέεται με έναν αναλογικό πολυπλέκτη 8-καναλιών που επιτρέπει την κατασκευή από 8 single-ended τάσεις. Οι single-ended εισαγωγές τάσης αναφέρονται στα 0V (gnd). Η συσκευή υποστηρίζει επίσης 16 διαφορικούς συνδυασμούς εισαγωγής τάσης. Δύο από τις διαφορικές εισαγωγές (ADC1, ADC0 και ADC3, ADC2) είναι εξοπλισμένες με ένα προγραμματίσημο στάδιο κέρδους, που παρέχει τα βήματα ενίσχυσης 0 DB (1x), 20 DB (10x), ή 46 DB (200x) στη διαφορική τάση εισαγωγής πριν από τη μετατροπή A/D. Επτά διαφορικά αναλογικά κανάλια εισαγωγής μοιράζονται ένα κοινό αρνητικό τερματικό (ADC1), ενώ οποιαδήποτε άλλη εισαγωγή του ADC μπορεί να επιλεχτεί ως θετικό τερματικό εισαγωγής. Εάν 1x ή 10x κέρδος χρησιμοποιείται, οκτάμπιτη ανάλυση μπορεί να αναμένεται. Εάν 200x το κέρδος χρησιμοποιείται, τότε 58

επταψήφια ανάλυση μπορεί να αναμένεται. Ακόμα υποστηρίζεται χρησιμοποίηση διαφορετικής από την γείωση τάση αναφοράς Εικόνα 28 Αναλογικό σε ψηφιακό 3.8.2 Αναλογικός συγκριτής Ο αναλογικός συγκριτής συγκρίνει δύο αναλογικές εισόδους του μικροελεγκτή και θέτει σε λογικό0 ή 1 μία πόρτα εξόδου του μικροελεγκτή ανάλογα την τιμή τους. Εικόνα 29 Αναλογικός συγκριτής 59

60

Κεφάλαιο 4 Προδιαγραφές συστήματος Προδιαγραφή ενός συστήματος είναι η λεπτομερής περιγραφή ενός τεχνικού έργου που πρόκειται να κατασκευαστεί. Η προσδοκώμενη αποδοτικότητα σύμφωνα με το σχεδιασμό ενός μηχανήματος Τίτλος Λειτουργία Δεδ. Εισόδου Οι χορδές της Άρπας θα αντικατασταθούν με laser των 20mw. Τα laser χρειάζονται για να ενεργοποιούνται οι νότες. Όταν 1 laser διακόπτεται ενεργοποιείται η ανάλογη νότα που έχει ρυθμιστεί στο πρόγραμμα. Ρεύμα Προέλευση Εισόδου - Δεδ. Εξόδου Προϋπόθεση Η δέσμες των laser χτυπάνε στις φωτοαντιστάσεις. Ρεύμα Προορισμός Πλευρικά Φαινόμ. -φωταντιστάσεις Λάθος σύνδεση, λάθος στον κώδικα. Τίτλος Λειτουργία Δεδ. Εισόδου Τα πέταλ της Άρπας θα αντικατασταθούν με button. Τα button θα πατιούνται σε συνδυασμό με κάποιο laser και θα παράγεται η ανάλογη νότα. Button Προέλευση Εισόδου - Δεδ. Εξόδου - Προϋπόθεση Προορισμός Πλευρικά Φαινόμ. Ρεύμα Πλακέτα Λάθος σύνδεση, λάθος στον κώδικα. 61

. Τίτλος Λειτουργία Δεδ. Εισόδου Θα λειτουργεί με ρεύμα. Για να μπορέσει να λειτουργήσει η Άρπα θα πρέπει πρώτα να συνδεθεί στο ρεύμα. Ρεύμα Προέλευση Εισόδου - Δεδ. Εξόδου - Προϋπόθεση - Προορισμός - Πλευρικά Φαινόμ. Διακοπή ρεύματος. Τίτλος Λειτουργία Δεδ. Εισόδου Προέλευση Εισόδου Δεδ. Εξόδου Προϋπόθεση Προορισμός Πλευρικά Φαινόμ. Οι ήχοι θα παράγονται μέσω ενός midi expander. Για να μπορέσει να λειτουργήσει η Άρπα θα πρέπει πρώτα να συνδεθεί στο ρεύμα. Ρεύμα Πλακέτα ψηφιολέξεις Να σταλούν ψηφιολέξεις στο midi. Ηχεία Διακοπή ρεύματος. 62

Τίτλος Λειτουργία Δεδ. Εισόδου Το midi expander θα είναι κατάλληλα συνδεδεμένο με ηχεία. Για να μπορέσει να λειτουργήσει η Άρπα θα πρέπει πρώτα να συνδεθεί στο ρεύμα. Ρεύμα Προέλευση Εισόδου - Δεδ. Εξόδου - Προϋπόθεση Να συνδεθεί στο ρεύμα. Προορισμός - Πλευρικά Φαινόμ. Διακοπή ρεύματος. 4.1 Δελτίο προδιαγραφών 4.1.1 Βασικές λειτουργίες Οι χορδές της Άρπας θα αντικατασταθούν με laser των 20mw. Τα πετάλ της Άρπας θα αντικατασταθούν με button Θα λειτουργεί με ρεύμα. Οι ήχοι θα παράγονται μέσω ενός midi expander Θα πρέπει η Άρπα να είναι αυτόνομη. 4.1.2 Περιγραφή συστήματος Η κατασκευή μας λειτουργεί ως εξής: Έχουμε μια Άρπα η οποία έχει ψηφιοποιηθεί. Πιο συγκεκριμένα οι 15 χορδές της έχουν αντικατασταθεί με laser των 20mw και τα πεντάλ της Άρπας έχουν αντικατασταθεί με 8 button. Στο εσωτερικό της Άρπας έχει τοποθετηθεί η πλακέτα με τον μικροεπεξεργαστή όπου και έχουν γίνει οι κατάλληλες συνδέσεις. Η πλακέτα που λειτουργεί ως μεταφραστής, παίρνει τα ψηφία 0 και 1 που δέχεται από τις φωτοδιόδους, τα μεταφράζει σε ψηφιολέξεις και τα στέλνει στο midi expander όπου και παράγεται η ανάλογη νότα. Το midi expander συνδέεται με τα η- χεία και παράγεται ο ήχος. 4.1.3 Τι προσφέρει στην αγορά Είναι κάτι πρωτοποριακό και καινοτόμο, η τιμή της κυμαίνεται σε λογικά πλαίσια και είναι εύκολη στην χρήση. 63

4.1.4 Προτεραιότητες Λειτουργικότητα Χαμηλό κόστος Ασφάλεια Ευχρηστία 4.2 Ανάλυση επικινδυνότητας Εξετάσαμε τους οι πιθανούς κίνδυνοι που μπορεί να προκύψουν κατά τη διάρκεια της υλοποίησης της Άρπας, οι οποίοι ενδέχεται να έχουν αντίκτυπο στην ανθρώπινη ζωή. Ο κίνδυνος που διακρίθηκε είναι να υπερθερμανθούν τα laser και να υπάρξουν εγκαύματα στα χέρια σε περίπτωση που κάποιος τα ακουμπήσει. 4.3 Διάγραμμα εκτίμησης κίνδυνου Στη συνέχεια κρίθηκε η κρισιμότητα του κινδύνου (ασήμαντος έως καταστροφικός) και πόσο πιθανή μπορεί να είναι η εμφάνιση του (απίστευτη έως συχνή) Εικόνα 30 Διάγραμμα ALARP 64

65

Κεφάλαιο 5 Απαιτήσεις Συστήματος Ορισμός Απαιτήσεων : Περιγραφή των λειτουργιών και περιορισμών του συστήματος όσον αφορά τον πελάτη. Επακριβείς και λεπτομερείς περιγραφές της λειτουργικότητας και των περιορισμών του συστήματος. Χρησιμοποιείται για την βάση για υπογραφή συμβολαίου για την ανάπτυξη του συστήματος. Περιλαμβάνει λειτουργικά και μη-λειτουργικά χαρακτηριστικά : Τα λειτουργικά χαρακτηριστικά είναι περιγραφές των λειτουργιών που παρέχει το σύστημα. Οι μη - λειτουργικές απαιτήσεις είναι περιορισμοί στις υπηρεσίες και λειτουργίες που προσφέρει το σύστημα FURPS είναι ένα αρκτικόλεξο που αντιπροσωπεύει ένα μοντέλο για την ταξινόμηση της ποιότητας λογισμικού. Το ακρωνύμιο FURPS χρησιμοποιείται για να περιγράψει τις μεγαλύτερες κατηγορίες απαιτήσεων με υποκατηγορίες, είναι ένας τρόπος κατηγοριοποίησης Functionality - (Λειτουργικότητα) - Δυνατότητες, Γενικότητα, Ασφάλεια Usability - (Ευχρηστία) - Ανθρώπινοι παράγοντες, Αισθητική, Συνοχή, Τεκμηρίωση Reliability - (Αξιοπιστία) - Συχνότητα / Σοβαρότητα της βλάβης, Ανάκτηση, Προβλεψιμότητα, Ακρίβεια, Ο μέσος χρόνος για την αποτυχία Performance (Απόδοση) - Ταχύτητα, Αποτελεσματικότητα, Κατανάλωση πόρων, Χρόνος απόκρισης Supportability - Συντηρησιμότητα, Συμβατότητα, Προσαρμοστικότητα 66

5.1 Απαιτήσεις Οι χορδές της Άρπας θα αντικατασταθούν με laser των 20mw. Τα πεντάλ της Άρπας θα αντικατασταθούν με button. Θα λειτουργεί με ρεύμα. Οι ήχοι θα παράγονται μέσο ενός midi expander. Το midi expander θα είναι κατάλληλα συνδεδεμένο με ηχεία. Θα πρέπει η Άρπα να είναι αυτόνομη. Θα πρέπει να λειτουργεί με όσο το δυνατόν μεγαλύτερη ακρίβεια. Να παρέχει την απαιτούμενη ασφάλεια. Φιλικό interface. Ευκολία στη μεταφορά. Να είναι σταθερή. Εύκολη στην χρήση. Σταθεροποιημένη τροφοδοσία ηλεκτρικής ενέργειας. Να είναι οικονομική. 5.1.1 Απαιτήσεις Λειτουργικότητας Οι χορδές της Άρπας θα αντικατασταθούν με laser των 20mw. Τα πεντάλ της Άρπας θα αντικατασταθούν με button. Θα λειτουργεί με ρεύμα. Θα πρέπει να λειτουργεί με όσο δυνατόν μεγαλύτερη ακρίβεια. Οι ήχοι θα παράγονται μέσο ενός midi expander. Το midi expander θα είναι κατάλληλα συνδεδεμένο με ηχεία. Θα πρέπει η κιθάρα να είναι αυτόνομη. 5.1.2 Απαιτήσεις ευχρηστίας Να είναι σταθερή. Φιλικό interface. Ευκολία στη μεταφορά. Εύκολη στην χρήση. 5.1.3 Αξιοπιστία Να είναι σταθερή. Να είναι οικονομική. 67

5.1.4 Απόδοση Θα πρέπει να λειτουργεί με όσο δυνατόν μεγαλύτερη ακρίβεια. Εύκολη στην χρήση. Σταθεροποιημένη τροφοδοσία ηλεκτρικής ενέργειας. 5.2 Κοστολόγιο Παραθέτουμε αναλυτικά την κοστολόγηση όλων των Hardware υλικών που κρίνονται απαραίτητα για την κατασκευή του συναγερμού Υλικά Τεμάχια Κόστος Atmel STK 500 1 120 ευρώ MicroMega32 1 10 ευρώ Laser 15 180 ευρώ Button 8 12 ευρώ Καλώδια 6 10 ευρώ Φωτοαντιστάσεις 15 15 ευρώ Πλακέτα 1 6 ευρώ Αντιστάσεις 5 5 ευρώ Midi expander 1 90 ευρώ Ηχεία 1 30 ευρώ Τροφοδοτικό 1 65 ευρώ Πολύπριζο 1 5 ευρώ Κρύσταλλος 1 2 ευρώ Ξύλο Άρπας και κουτί 1 400 ευρώ Συνολικό Ποσό 950 ευρώ 68

69

Κεφάλαιο 6: Ηλεκτρονική Σχεδίαση του Συστήματος 6.1 Σχεδίαση κυκλωμάτων 6.1.1 Κύκλωμα χρονισμού Στην παρακάτω εικόνα φαίνεται το κύκλωμα χρονισμού του επεξεργαστή Εικόνα 31 Κύκλωμα κρυστάλλου Το κύκλωμα κρυστάλλου που απεικονίζεται στην εικόνα 5, χρησιμοποιήθηκε ώ- στε να δημιουργηθεί ένας εξωτερικός χρονιστής, με σκοπό να αποφευχθούν προβλήματα συγχρονισμού ανάμεσα στον επεξεργαστή και το MIDI expander. 70

6.1.2 Συνδεσμολογία καλωδίου MIDI Στο παρακάτω σχήμα φαίνεται η συνδεσμολογία του καλωδίου MIDI που συνδέει τον επεξεργαστή με το MIDI expander. Εικόνα 32 Κύκλωμα καλωδίου MIDI 6.1.3 Συνδεσμολογία σταθεροποιητή Η συνδεσμολογία αυτή επιτρέπει στον επεξεργαστή να επικοινωνεί με το MIDI expander, στέλνοντας ψηφιολέξεις των 16 ψηφίων μέσο του UART το οποίο συνδέεται απευθείας με την ακίδα 5 του πενταπολικού βύσματος. Στο επόμενο σχήμα απεικονίζεται η συνδεσμολογία του σταθεροποιητή τάσης που βρίσκεται πάνω στην πλακέτα.. Εικόνα 33 Σταθεροποιητής τάσης Ο σταθεροποιητής τάσης, έχει ως σκοπό την προστασία του επεξεργαστή από εσφαλμένα φορτία τάσης, που μπορεί να προκύψουν από εξωτερικούς παράγοντες. 71

6.1.4 Συνδεσμολογία Laser Εικόνα 34 Κύκλωμα Laser 6.2 Πλακέτα συστήματος Εικόνα 35 Κύκλωμα πλακέτας 72 Εικόνα 9 Κύκλωμα πλακέτας

73

Κεφάλαιο 7: Λογισμική Σχεδίαση του Συστήματος 7.1 Λογικό διάγραμμα Εικόνα 36 Λογικό Διάγραμμα 74

7.2 Λογικό διάγραμμα Void() main Εικόνα 37 void() main 75

7.3 Λογικό διάγραμμα Void() txbyte Εικόνα 38 void txbyte 76

7.4 Λογικό διάγραμμα IF Εικόνα 39 Διάγραμμα IF 77

7.5 Προγράμματα που χρησιμοποιήθηκαν Για τις ανάγκες τις πτυχιακής, εγκαταστάθηκαν τα εξής προγράμματα: Code Vision Midi ox Avr studio Το λογισμικό Code Vision χρησιμοποιήθηκε για την συγγραφή του κώδικα. Το Midi ox είναι ένα χρήσιμο εργαλείο που ελέγχει αν ο υπολογιστής λαμβάνει MIDI δεδομένα. Χρησιμοποιήθηκε για την προσομοίωση του Midi expander στον υπολογιστή και τον έλεγχο σωστής λειτουργίας των νότων. Τέλος το Avr studio εγκαταστάθηκε και τροποποιήθηκε για των προγραμματισμό του επεξεργαστή μέσο του STK-500. Για την σωστή λειτουργία του επεξεργαστή και του ρολογιού(χρονιστή) χρειάσθηκε να τροποποιηθεί η καρτέλα με όνομα Fuses του προγράμματος. Οι αλλαγές αυτές είναι HIGH 0xD9,LOW 0xEA. Οι αλλαγές έγιναν μετά από αρκετούς ελέγχους, έτσι ώστε να εξασφαλιστεί η ο- μαλή λειτουργία του επεξεργαστή με τις συσκευές MIDI. Η ακριβή τους μορφή φαίνεται στην παρακάτω εικόνα, Εικόνα 40 Αναλυτικές ρυθμίσεις Fuses 78

79

Κεφάλαιο 8: Ενοποίηση και έλεγχος του συστήματος 8.1 Εισαγωγή στον έλεγχο Ο έλεγχος του συστήματος (software, hardware) αποτελεί ένα από τα πολύ σημαντικά στάδια της κατασκευής του project καθώς με τον έλεγχο είναι δυνατόν να κριθεί αν το αποτέλεσμα είναι ικανοποιητικό ή όχι. Επίσης, με τον έλεγχο κατά τη διάρκεια δημιουργίας του λογισμικού και του υλικού αποφεύγονται τυχόν λάθη που αν δεν είχαν επισημανθεί θα δημιουργούσαν περαιτέρω προβλήματα που θα ήταν δύσκολο να εντοπιστούν και να λυθούν στο τέλος. Έλεγχος είναι η διεργασία εκτέλεσης ενός προγράμματος με σκοπό την ανακάλυψη λαθών, επομένως είναι απαραίτητο ο έλεγχος να είναι σχολαστικός και ακριβής έτσι ώστε να επιτευχθεί το καλύτερο δυνατό αποτέλεσμα. 8.2 Γενικό σχέδιο ελέγχου 8.2.1 Σκοπός ελέγχου Θα πρέπει να γίνει με τέτοιο τρόπο έτσι ώστε να εξασφαλιστεί η αποδοτική λειτουργία της κεντρικής μονάδας ελέγχου του συστήματος. Σκοπός θα είναι ο εντοπισμός όσο το δυνατόν περισσότερων λαθών (τόσο στον κώδικα του προγράμματος όσο και στη συμφωνία του λογισμικού με τις προδιαγραφές), έτσι ώστε να φτάσει το σύστημα σε σημείο όπου θα λειτουργεί σωστά. Επίσης, θα πρέπει να ελεγχθούν όλες οι περιπτώσεις λάθους έτσι ώστε να υπάρξουν όσο το δυνατόν λιγότερες ανεπιθύμητες καταστάσεις στο σύστημα. Ο έλεγχος αφορά : Ύπαρξη λαθών στον κώδικα του προγράμματος. Ανεπαρκής πληρότητα λογισμικού βάσει προδιαγραφών. Ύπαρξη λαθών προερχόμενα από εξωτερικούς παράγοντες όπως οι χρήστες του λογισμικού. 80

Αντοχή λογισμικού σε δυσμενείς καταστάσεις. Το λογισμικό πρέπει να πλήρη κάποιες προϋποθέσεις. Αυτές είναι: Να μπορεί να συνεργάζεται με το hardware. Να έχει δυνατότητα επέκτασης (ευελιξία). Να δίνει τα επιθυμητά αποτελέσματα (αξιοπιστία). Να τηρεί τις προδιαγραφές. Να παρέχει τα αναμενόμενα αποτελέσματα. Να είναι σαφές για να μπορεί να διευκολύνεται η διόρθωσή του. 8.2.2 Περιπτώσεις ελέγχου Οι περιπτώσεις ελέγχου περιέχουν τα πιθανά λάθη που μπορεί να παρουσιάσει το λογισμικό (αλγόριθμος), τις τιμές που μπορεί να δεχθεί (τιμές εισαγωγής), να απορρίψει, να επεξεργάζεται και να εμφανίζει στην έξοδο. Οι χορδές της Άρπας θα αντικατασταθούν με laser των 20mw: Το πρόβλημα που μπορεί να προκύψει είναι να χαλάσουν τα laser ή κάποιο πρόβλημα στο λογισμικό και να μην στέλνει την νότα. Τα πεντάλ της Άρπας θα αντικατασταθούν με button: Το πρόβλημα που μπορεί να προκύψει είναι να μην κάνουν επαφή τα button ή στο λογισμικό είναι να μην στέλνουν την νότα. Θα λειτουργεί με ρεύμα: Το πρόβλημα που μπορεί να προκύψει είναι να υ- πάρξει κάποιο λάθος στην συνδεσμολογία ή κάποια διακοπή. Οι ήχοι θα παράγονται μέσο ενός midi expander: Το πρόβλημα που μπορεί να προκύψει είναι να χαλάσει το midi ή να υπάρξει κάποιο λάθος στην συνδεσμολογία. Το midi expander θα είναι κατάλληλα συνδεδεμένο με ηχεία: Το πρόβλημα που μπορεί να προκύψει είναι να υπάρξει κάποιο λάθος στην συνδεσμολογία. Φιλικό interface: Το πρόβλημα που μπορεί να προκύψει στο λογισμικό είναι να εμφανίζονται οι νότες σε ακατανόητη μορφή και με διαφορετική σειρά. 81

8.2.3 Διαδικασίες ελέγχου Στις διαδικασίες ελέγχου προσπαθήσαμε μέσα από τα λάθη που είναι πολύ πιθανά να γίνουν, να ανακαλύψουμε τρόπους αντιμετώπισης αυτών, προλαμβάνοντας έτσι την κατάρρευση του ίδιου του λογισμικού την ασφάλεια του χρήστη που το χρησιμοποιεί καθώς και όσους συνδέονται άμεσα και έμμεσα με αυτό. Οι χορδές της Άρπας θα αντικατασταθούν με laser των 20mw Περιπτώσεις Ελέγχου Εικασίες λαθών: Να χαλάσουν τα laser. Να υπερθερμανθούν τα laser. Να γίνει λάθος στην συνδεσμολογία. Να χαλάσει το σύστημα που είναι συνδεδεμένα. Να υπάρξει λάθος στο software Διαδικασίες Ελέγχου: Έλεγχος και ανταπόκριση του συστήματος στο οποίο είναι συνδεδεμένα. Τακτικός έλεγχος της κατάστασης των laser. Τακτικός έλεγχος του software Αναμένεται: Να στείλει την κατάλληλη νότα. Τα πεντάλ της Άρπας θα αντικατασταθούν με button Περιπτώσεις Ελέγχου Εικασίες λαθών: Να μην κάνουν επαφή τα button. Να είναι λάθος η συνδεσμολογία. Να χαλάσει το σύστημα που είναι συνδεδεμένα. Να υπάρξει λάθος στο software. Διαδικασίες Ελέγχου: Έλεγχος και ανταπόκριση του συστήματος στο οποίο είναι συνδεδεμένα. Τακτικός έλεγχος της κατάστασης των button. Τακτικός έλεγχος του software 82

Αναμένεται: Να στείλει την κατάλληλη νότα. Θα λειτουργεί με ρεύμα Περιπτώσεις Ελέγχου Εικασίες λαθών: Λάθος συνδεσμολογία. Διακοπή ρεύματος. Διαδικασίες Ελέγχου: Έλεγχος συνδεσμολογίας. Αναμένεται: Να μπει σε λειτουργία η κιθάρα. Οι ήχοι θα παράγονται μέσο ενός midi expander Περιπτώσεις Ελέγχου Εικασίες λαθών: Να χαλάσει το midi expander. Λάθος συνδεσμολογία. Λάθος στο software. Διαδικασίες Ελέγχου: Έλεγχος συνδεσμολογίας. Έλεγχος software. Αναμένεται: Να παράγει την κατάλληλη νότα. Το midi expander θα είναι κατάλληλα συνδεδεμένο με ηχεία Περιπτώσεις Ελέγχου Εικασίες λαθών: Λάθος συνδεσμολογία. Διαδικασίες Ελέγχου: Έλεγχος συνδεσμολογίας. Αναμένεται: Παραγωγή ήχων. 83

8.3 Έλεγχος software Ο έλεγχος του συστήματος αναφέρεται στον έλεγχο κλειστού κουτιού κατά τον οποίο ελέγχονται για την καλή λειτουργία τους ένα προς ένα όλα τα επιμέρους κομμάτια του συστήματος και τον έλεγχο ανοιχτού κουτιού κατά τον οποίο ελέγχεται η συμπεριφορά των μεταβλητών μέσα στον κώδικα. 8.3.1 Έλεγχος κλειστού κουτιού Ο έλεγχος κλειστού κουτιού αφορά τους παρακάτω 6 ελέγχους που φαίνονται αναλυτικά στους 6 πίνακες που ακολουθούν. ΕΛΕΓΧΟΣ 1 Οι χορδές της Άρπας θα αντικατασταθούν με laser των 20mw. ΕΛΕΓΧΟΣ 2 Τα πεντάλ της Άρπας θα αντικατασταθούν με button. ΕΛΕΓΧΟΣ 3 Θα λειτουργεί με ρεύμα. ΕΛΕΓΧΟΣ 4 Οι ήχοι θα παράγονται μέσο ενός midi expander. ΕΛΕΓΧΟΣ 5 Το midi expander θα είναι κατάλληλα συνδεδεμένο με ηχεία. ΕΛΕΓΧΟΣ 6 Έλεγχος φιλικού interface. ΕΛΕΓΧΟΣ 1 Οι χορδές της Άρπας θα αντικατασταθούν με laser των 20mw ΕΓΚΥΡΗ ΚΛΑΣΗ ΕΙΣΟΔΟΙ Αφού διακοπεί το laser θα στείλει στον μικροεπεξεργαστή σήμα για παράγει την κατάλληλη νότα. Τα laser. ΑΝΑΜΕΝΟΜΕΝΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΑΠΟΤΕΛΕΣΜΑ Να ακουστεί η κατάλληλη νότα. Θετικό ΑΠΟΔΟΧΗ Θετική 84

ΕΛΕΓΧΟΣ 2 Τα πέταλ της Άρπας θα αντικατασταθούν με button. ΕΓΚΥΡΗ ΚΛΑΣΗ ΕΙΣΟΔΟΙ Αφού πατηθεί το button θα στείλει σήμα στον μικροεπεξεργαστή να παράγει την κατάλληλη νότα. Τα button. ΑΝΑΜΕΝΟΜΕΝΑ ΑΠΟΤΕΛΕΣΜΑΤΑ Να ακουστεί η κατάλληλη νότα. ΑΠΟΤΕΛΕΣΜΑ Θετικό. ΑΠΟΔΟΧΗ Θετική. ΕΛΕΓΧΟΣ 3 Θα λειτουργεί με ρεύμα. ΕΓΚΥΡΗ ΚΛΑΣΗ Θα συνδεθεί η συσκευή στο ρεύμα για να λειτουργήσει. ΕΙΣΟΔΟΙ Το ρεύμα. ΑΝΑΜΕΝΟΜΕΝΑ ΑΠΟΤΕΛΕΣΜΑΤΑ Να λειτουργήσει η Άρπα. ΑΠΟΤΕΛΕΣΜΑ Θετικό. ΑΠΟΔΟΧΗ Θετική 85

ΕΛΕΓΧΟΣ 4 Οι ήχοι θα παράγονται μέσω ενός midi expander. ΕΓΚΥΡΗ Θα συνδεθεί το midi expander με την ΚΛΑΣΗ κατασκευή. ΕΙΣΟΔΟΙ Ο μικροεπεξεργαστής. ΑΝΑΜΕΝΟΜΕΝΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΑΠΟΤΕΛΕΣΜΑ ΑΠΟΔΟΧΗ Να παράγει το midi expander τον κατάλληλο ήχο. Θετικό. Θετική. ΕΛΕΓΧΟΣ 5 Το midi expander θα είναι κατάλληλα συνδεδεμένο με ηχεία. ΕΓΚΥΡΗ ΚΛΑΣΗ ΕΙΣΟΔΟΙ ΑΝΑΜΕΝΟΜΕΝΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΑΠΟΤΕΛΕΣΜΑ ΑΠΟΔΟΧΗ Θα συνδέσουμε το midi expander με τα ηχεία. Ο Μικροεπεξεργαστής. Παραγωγή των κατάλληλων ήχων από τα ηχεία. Θετικό. Θετική ΕΛΕΓΧΟΣ 6 Έλεγχος φιλικού interface ΕΓΚΥΡΗ ΚΛΑΣΗ ΕΙΣΟΔΟΙ ΑΝΑΜΕΝΟΜΕΝΑ ΑΠΟΤΕΛΕΣΜΑΤΑ ΑΠΟΤΕΛΕΣΜΑ ΑΠΟΔΟΧΗ Θα υπάρχουν σαφείς οδηγίες χρήσης. Η επιλογή του χρήστη. Στον ήχο. Θετικό. Θετική. 86

8.4 Έλεγχος με midi filter μέσο midi ox Οι εντολές MIDI αποτελούνται από ένα σύνολο bytes οι οποίες ελέγχουν ποια νότα παίχτηκε (πλήκτρο πιέστηκε), πότε παίχτηκε η νότα, πόσο κράτησε, με τι πίεση πατήθηκε, τι ένταση είχε η νότα, τι διαμόρφωση είχε η νότα, τι όργανο παίχτηκε. Στην εργασία χρησιμοποιήθηκε MIDI filter σε συνδυασμό με το πρόγραμμα Midi ox για τον έλεγχο των παραπάνω στοιχείων. Στην παρακάτω φαίνεται η διαδικασία ελέγχου μέσο Midi ox. Εικόνα 41 Έλεγχος δεδομένων 87