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

Διδάσκοντες Απόστολος Μηλιώνης
Κατηγορία μαθήματος Ε/ΥΥΥ
Κωδικός μαθήματος ΨΣ-203
Πιστωτικές μονάδες 5
Ώρες μαθήματος 3 ώρες
Ώρες εργαστηρίων 2 ώρες
Ηλεκτρονικό υλικό Προβολή στον Αρίσταρχο (Open e-Class)

Μαθησιακά Αποτελέσματα

Το μάθημα των Ενσωματωμένων Συστημάτων επιχειρεί να αναλύσει διεξοδικά και σε μεθοδολογική βάση την αρχιτεκτονική και την πολυεπίπεδη σχεδίαση των ενσωματωμένων συστημάτων και των εφαρμογών τους με έμφαση στα δικτυακά ενσωματωμένα συστήματα. Μεταξύ των θεμάτων που αναλύονται είναι η αρχιτεκτονική των δικτυακών ενσωματωμένων συστημάτων, με έμφαση στους επεξεργαστές επικοινωνιών και τις δικτυακές συσκευές, ο μετασχηματισμός λειτουργικών απαιτήσεων σε αρχιτεκτονικές προδιαγραφές, οι αρχές σχεδίασης συστημάτων, η μεθοδολογία προσαρμογής του λειτουργικού συστήματος Linux στην ιδιαίτερη αρχιτεκτονική των συστημάτων, η μεθοδολογία ανάπτυξης οδηγών συσκευών και η αξιολόγηση επίδοσης των συστημάτων. Η ανάπτυξη ενσωματωμένων εφαρμογών σε επόμενο στάδιο είναι σε μεγάλο βαθμό απεξαρτημένη από τις ιδιαιτερότητες και αρχιτεκτονικές λεπτομέρειες των συστημάτων και ανάλογη με γνώριμες διαδικασίες ανάπτυξης εφαρμογών σε υπολογιστικά συστήματα, ενδεχομένως με ορισμένους περιορισμούς και με την χρήση ειδικών εκδόσεων περιορισμένης λειτουργικότητας των εργαλείων ανάπτυξης.

Παράλληλα με τη διδασκαλία του μαθήματος υποστηρίζεται Εργαστήριο στα πλαίσια του οποίου οι φοιτητές θα εξοικειωθούν με τις διαδικασίες και τεχνικές ανάπτυξης προσαρμοσμένων εικόνων συστημάτων αρχείων και λειτουργικών συστημάτων GNU/Linux για την υποστήριξη δικτυακών ενσωματωμένων συστημάτων. Η έλευση του Διαδικτύου των Αντικειμένων (ΙοΤ) απαιτεί την δημιουργία ευέλικτων και εύρωστων συστημάτων που αποτελούνται από λειτουργικά συστήματα και εφαρμογές προσαρμοσμένες στα χαρακτηριστικά του εκάστοτε τομέα και τις δυνατότητες του υλικού.

Με την ολοκλήρωση του μαθήματος οι φοιτητές θα αποκτήσουν προχωρημένες εξειδικευμένες γνώσεις μηχανικού στο γνωστικό πεδίο των Ενσωματωμένων Συστημάτων (βλ. Περιεχόμενο Μαθήματος) που επιτρέπουν την κριτική εμβάθυνση και έρευνα στο ευρύ επιστημονικό πεδίο των Ενσωματωμένων Συστημάτων και την υλοποίηση πρωτότυπων και καινοτομικών ενσωματωμένων συστημάτων και εφαρμογών.

Περιεχόμενα

  • Επεξεργαστές Επικοινωνιών
    • Αρχιτεκτονική επεξεργαστών επικοινωνιών, ενσωματωμένοι δικτυακοί επεξεργαστικοί πυρήνες, δικτυακές και περιφερειακές συσκευές, χαρτογράφηση μνήμης, πόρτες Ι/Ο και προκαθορισμένες δικτυακές λειτουργίες, ελεγκτές και λειτουργία δικτυακών συσκευών (TDM, serial, ΑΤΜ, fast Ethernet, HDLC, πολλαπλών καναλιών), εξυπηρέτηση αιτήσεων διακοπής.
  • Αρχιτεκτονικές Δικτυακών Ενσωματωμένων Συστημάτων και Συστημική Σχεδίαση
    • Ενδεικτικές ολοκληρωμένες αρχιτεκτονικές δικτυακών συστημάτων (έμφαση σε IAD: Integrated Access Devices), σχηματική σχεδίαση, αρθρωτή διαφοροποιήσιμη σχεδίαση.
  • Εργαλεία Ανάπτυξης, Ενσωματωμένο Λογισμικό Συστημάτων και Διαδικασίες
    • Διαμεταγλωττιστές, GNU cross-development tool chain, βασική αρχικοποίηση συστήματος (JTAG), διαμόρφωση χαρακτηριστικών bootloader, διαμόρφωση λειτουργικού συστήματος, αρχιτεκτονική πυρήνα, διαμεταγλώττιση, debian packages, ενσωματωμένο σύστημα αρχείων, διαμόρφωση και ενσωμάτωση λειτουργικού συστήματος.
  • Οδηγοί Δικτυακών Συσκευών
    • Αρχές σχεδίασης οδηγών δικτυακών συσκευών, συσκευές TDM, Ethernet, HDLC, multi-channel, ανάπτυξη σύνθετης δικτυακής συσκευής πρόσβασης ΑΤΜ, network API λειτουργικού συστήματος Linux.
  • Αξιολόγηση Επίδοσης Δικτυακών Ενσωματωμένων Συστημάτων
    • Μελέτη και ανάλυση επίδοσης υψίρρυθμων δικτυακών συσκευών ενσωματωμένων συστημάτων, βελτιστοποίηση επίδοσης, interrupt moderation.
  • Εφαρμογές Δικτυακών Ενσωματωμένων Συστημάτων
    • Δικτυακές υπηρεσίες (NAT, DHCP, routing, IP QoS, VLAN, VPN κλπ), δικτυοκεντρική διαχείριση, τηλεφωνία, Asterisk PBX, οικιακός αυτοματισμός, φωνητική επικοινωνία, βιντεοεπιτήρηση.
  • Περιορισμένα Ενσωματωμένα Συστήματα
    • Αναλυτική σχεδίαση συστημάτων και συσκευών περιορισμένων δυνατοτήτων, ultra-low power design, αναλυτική μελέτη ενδεικτικών εφαρμογών.
  • Εργαστήριο
    • Στα πλαίσια του εργαστήριου, οι φοιτητές θα εξοικειωθούν με:
      • Τη διαμόρφωση και κτίσιμο εφαρμογών στο GNU/Linux, καθώς και με εργαλεία για την αυτοματοποίηση αυτών.
      • Τεχνικές απασφαλμάτωσης, διαχείρισης εφαρμογών και βελτιστοποιήσεις που αποσκοπούν στη επίτευξη κατάλληλης ισορροπίας μεταξύ επιδόσεων και απαιτήσεων σε μνήμη και αποθηκευτικό χώρο.
      • Τη δομή του πυρήνα και τις τεχνικές διαμόρφωσης, κτισίματος και απασφαλμάτωσης. Αναφορά σε ιδιαίτερα χρήσιμες συνταγές διαμόρφωσης.
      • Τη δημιουργία cross-compile αλυσίδας για το διαχωρισμό μεταξύ της αρχιτεκτονικής ανάπτυξης και της αρχιτεκτονικής στόχου καθώς και τεχνικές επιβεβαίωσης ορθής λειτουργίας μέσω εξομοίωσης.
      • Τη διαδικασία αρχικοποίησης του λειτουργικού συστήματος και της προσαρμογής αυτής.
      • Τη δομή του root συστήματος αρχείων, τη σημασία των συστημάτων αρχείων στο Linux και την κατανόηση του διαχωρισμού μεταξύ συστημάτων αρχείων και ψευδο-συστημάτων αρχείων καθώς και τους διάφορους τύπους που υπάρχουν και πότε πρέπει να χρησιμοποιούνται.
      • Εργαλεία για την ολοκλήρωση και παραγωγή του τελικού λειτουργικού συστήματος.

Προτεινόμενα Συγγράμματα

  • Μηλιώνης A. (2006): Δικτυακά Ενσωματωμένα Συστήματα, Πανεπιστημιακές Σημειώσεις.
  • Wolf W. (2008): Οι Υπολογιστές ως Συστατικά Στοιχεία, Εκδόσεις Νέων Τεχνολογιών.
  • Ashenden P. (2010): Ψηφιακή Σχεδίαση: Ενσωματωμένα Συστήματα με VHDL, Εκδόσεις Νέων Τεχνολογιών.
  • Wolf W. (2014): Σχεδιασμός Ψηφιακών Συστημάτων σε FPGAs, Εκδόσεις Νέων Τεχνολογιών.
  • Brown S. & Vranesic Z. (2011): Σχεδίαση Ψηφιακών Συστημάτων με τη Γλώσσα VHDL, Εκδόσεις Τζιόλα.
  • Πογαρίδης Δ. (2013): Ψηφιακή Σχεδίαση με τη Γλώσσα VHDL: Αρχές και Πρακτικές, Εκδόσεις Δίσιγμα.
  • Pedroni V. (2008): Σχεδιασμός Κυκλωμάτων με τη VHDL, Εκδόσεις Κλειδάριθμος.
  • Σουραβλάς Σ., Ρουμελιώτης Μ. (2008): Ψηφιακά Συστήματα: Μοντελοποίηση & Προσομοίωση με τη γλώσσα VHDL, Εκδόσεις Τζιόλα.
  • Πογαρίδης Δ. (2015): Ενσωματωμένα Συστήματα: Οι Ελεγκτές AVR και Arduino, Εκδόσεις Δίσιγμα.
  • Καλοβρέκτης Κ. (2012): Βασικές Δομές Ενσωματωμένων Συστημάτων, Εκδόσεις Βαρβαρήγου.
  • Αποστολάκος Σ. & Μηλιώνης Α. (2014): Δορυφορικές ραδιοεπικοινωνίες IP στον Έλεγχο Εναέριας Κυκλοφορίας: Σχεδίαση, Ανάπτυξη και Αξιολόγηση Τηλεπικοινωνιακών Συστημάτων, Αυτοέκδοση.
  • Πεκμεστζή Κ. (2009): Συστήματα Μικροϋπολογιστών Ι: Μικροεπεξεργαστές, Εκδόσεις Συμμετρία.
  • Πεκμεστζή Κ. (2015): Συστήματα Μικροϋπολογιστών ΙΙ: Μικροελεγκτές, Εκδόσεις Συμμετρία.
  • Πετρέλλης Ν, Αλεξίου Γ. (2012): Μικροεπεξεργαστές και Σχεδιασμός Μικροϋπολογιστικών Συστημάτων, Εκδόσεις Κλειδάριθμος.
  • Πογαρίδης Δ. (2014): Σχεδίαση Συστημάτων Μικροϋπολογιστών, Εκδόσεις Ίων.
  • Rabaey J., Chandrakasan A., Borivoje N. (2006): Ψηφιακά Ολοκληρωμένα Κυκλώματα: Μία Σχεδιαστική Προσέγγιση, Εκδόσεις Κλειδάριθμος.
  • Patterson D. & Hennessy J. (2010): Οργάνωση και Σχεδίαση Υπολογιστών, η Διασύνδεση Υλικού και Λογισμικού, Τόμοι Α & Β, 4η αμερικάνικη έκδοση, Εκδόσεις Κλειδάριθμος.
  • Yaghmour K., Masters J., Ben-Yossef G. & Gherum P. (2008): Building Embedded Linux Systems, O’Reily.
  • Peckol J. (2007): Embedded Systems: A Contemporary Design Tool, Wiley.
  • Corbet J., Rubini A. & Kroah-Hartman G. (2005): Linux Device Drivers, 3rd Edition, O’Reilly.

Πρόσθετη Βιβλιογραφία

Επιπλέον, στον Eύδοξο αναρτώνται σε ηλεκτρονική μορφή άρθρα, οπτικοακουστικό υλικό διαλέξεων και διαδικτυακές διευθύνσεις για χρήσιμες πληροφορίες καθώς και ασκήσεις για την εξάσκηση των φοιτητών/τριών. Παρουσιάζονται μελέτες περίπτωσης, παραδειγματικά προβλήματα και μέθοδοι επίλυσης αυτών.