Το DSD-board

Η πλακέτα DSD-i1 σχεδιάστηκε στο Εργαστήριο Ψηφιακών συστημάτων του Ελληνικού Ανοικτού Πανεπιστημίου για να καλύψει τις σύγχρονες εκπαιδευτικές ανάγκες διδασκαλίας αντικειμένων στον χώρο των ψηφιακών συστημάτων (Σχεδίαση-Προγραμματισμός-Υλοποίηση).

Είναι σχεδιασμένη ώστε να:

  • Έχει ελαχιστοποιημένο κόστος κατασκευής
  • Καλύπτει το μέγιστο εύρος διδακτικών αντικειμένων στον χώρο των ψηφιακών συστημάτων
  • Υποστηρίζει πληθώρα εργαλείων ανάπτυξης και επιπέδων δυσκολίας ανάλογα με το κοινό στο οποίο απευθύνεται το αντίστοιχο πρόγραμμα σπουδών
  • Είναι διαισθητικά εύκολη στην χρήση, έτσι ώστε να μπορεί ο φοιτητής να επικεντρωθεί στην ουσία του διδακτικού αντικειμένου και όχι στην εκμάθηση της συσκευής
  • Ελαχιστοποιεί την ανάγκη για επιπλέον υλικό και εξωτερικές περιφερειακές συσκευές
  • Ελαχιστοποιεί την πιθανότητα βλάβης υλικού από λάθος του χρήστη και μπορεί να επαναφέρεται στην αρχική της κατάσταση σε περίπτωση σφάλματος του λογισμικού
  • Καλύπτει τις απαιτήσεις πόρων υλικού σύγχρονων σχεδίων (π.χ. εφαρμογές ΙοΤ)

Χαρακτηριστικά και υλικό της Πλακέτας

  • Dual Layered PCB με εξαρτήματα σε ένα μόνο layer για ελαχιστοποίηση κόστους
  • Μικροελεγκτής 32bit ARM Cortex M3 (72Mhz, 20KB SRAM, 120KB Embedded Flash Available)
  • FPGA Intel Cyclone IV (6K LEs)
  • Επιπλέον περιφερειακή μονάδα αποθήκευσης (Discrete Flash EEprom 8Mbit) προσβάσιμη από τον μικροελεγκτή και το FPGA
  • Ενσωματωμένη θύρα USB παραμετροποιήσιμη από τον μικροελεγκτή με ακροδέκτη βιομηχανικού επιπέδου (Heavy Duty).
  • 25 Ενσωματωμένα LEDs δομημένα για αριθμητική δυαδική αναπαράσταση (3 x 8 + 1)
  • Reset button
  • Τροφοδοσία μέσω της θύρας USB με προστασία υπέρτασης στα 500mA
  • Προστατευμένη σειριακή (μέσω SPI) και παράλληλη συνδεσιμότητα ανάμεσα στο FPGA και τον μικροελεγκτή.
  • Δυο ομάδες ακροδεκτών των 40pins (HD1 & HD2) με την μία (HD1) να έχει κοινά I/Os με τον μικροελεγκτή και το FPGA
  • Διαθέσιμη MCU JTAG Port για ανάπτυξη Bootloader
  • Υποστήριξη για χρήση κάρτας Secure Digital (Micro-SD) με χρήση του 2ου PCB Layer στην συναρμολόγηση της
  • Ανοικτού υλικού και λογισμικού.

Συνοδευτικό λογισμικό πλακέτας (Ανοικτού κώδικα)

  • DSMC Lab Χ2Loader: Πακέτο διαχείρισης και προγραμματισμού του FPGA. Προσφέρει την δυνατότητα για εύκολο προγραμματισμό του FPGA ή του NIOS-II Softcore χωρίς επιπλέον υλικό (π.χ. JTAG Programmers). Επίσης φέρει γραφική σειριακή κονσόλα ώστε να μπορούν να υλοποιηθούν σχέδια με διάδραση ανάμεσα στον φοιτητή και το FPGA ή τον μικροελεγκτή μέσω της σειριακής (USB) σύνδεσης, ενώ, σε περίπτωση προβλήματος (π.χ. failed upload), παρέχει την δυνατότητα επαναφοράς της πλακέτας στην αρχική της κατάσταση (board recovery).
  • DSMC Lab ΚEIL Loader: Εργαλείο λογισμικού το οποίο δίνει την δυνατότητα να προγραμματιστεί ο μικροελεγκτής από το επαγγελματικό περιβάλλον ανάπτυξης λογισμικού KEIL-MDK χωρίς την χρήση επιπλέον υλικού.
  • Arduino IDE: Υποστηριζόμενο άμεσα από την πλακέτα (ARM Mode) μέσω του προεγκατεστημένου Maple Bootloader, είναι ένα από τα κατ’ εξοχήν χρησιμοποιούμενα στην εκπαίδευση εργαλεία ανάπτυξης λογισμικού για μικροελεγκτές.

Υποστηριζόμενα εργαλεία σχεδίασης (Κλειστού κώδικα)

  • KEIL-MDK: –Το επίσημο IDE ανάπτυξης λογισμικού της ARM και ένα από τα πιο πολύ χρησιμοποιημένα περιβάλλοντα ανάπτυξης για μικροελεγκτές βασισμένους σε πυρήνες Cortex-M της ARM και όχι μόνο. Υπό κανονικές συνθήκες απαιτεί την χρήση επιπλέον υλικού για την χρήση του (JTAG Programmer). Στην περίπτωση της πλακέτας DSD-i1 υποστηρίζεται μέσω του λογισμικού Keil-Loader. Διατίθεται δωρεάν με μέγιστο όριο Compiled Binary τα 32KB. 
  • STM32CubeMX: –Δωρεάν λογισμικό της ST Microelectronics το οποίο επιτρέπει την αρχική παραμετροποίηση του μικροελεγκτή και την εξαγωγή αρχικού κώδικα σε πολλά περιβάλλοντα ανάπτυξης λογισμικού συμπεριλαμβανομένου και του KEIL-MDK. Λειτουργεί σε συνδυασμό με το αντίστοιχο IDE και δίνει την δυνατότητα βάσει των σύγχρονων πρακτικών να καταμεριστεί η σχεδίαση ενός συστήματος σε δύο επίπεδα (χαμηλό και υψηλό)
  • Intel Quartus EDA: –Περιβάλλον σχεδιασμού ψηφιακών συστημάτων σε επίπεδο υλικού (HDL). Το τελικό σχέδιο παράγει ένα αρχείο BitStream το οποίο μπορεί να «ανέβει» στο FPGA της πλακέτας μέσω του X2Loader και ενός Firmware που έχει αναπτυχθεί και χρησιμοποιεί τον μικροελεγκτή της πλακέτας σαν υλικό προγραμματισμού του FPGA (FPGA Mode).