Περίληψη: | Η εργασία που παρουσιάζεται αφορά την ανάπτυξη ενός ενσωματωμένου συστήματος σε πολλαπλές επαναπρογραμματιζόμενες συσκευές (FPGAs), η επικοινωνία των οποίων γίνεται με τη χρήση του πρωτόκολλου επικοινωνίας TCP/IP. Αρχικά ορίστηκε σε κάθε επαναπρογραμματιζόμενη συσκευή, ένας ενσωματωμένος επεξεργαστής ΜicroBlaze, που ακολουθεί αρχιτεκτονικά την τεχνολογία RISC. Για την κατασκευή της TCP/IP συνδεσιμότητας, αναπτύθηκε σε κάθε core το απαιτούμενο λογισμικό σε γλώσσα προγραμματισμού C, με τη χρήση του open source πρωτοκόλλου επικοινωνίας Light Weight IP. Το συγκεκριμένο πρωτόκολλο είναι ειδικά κατασκευασμένο για σχεδίαση ενσωματωμένων συστημάτων και οι δυνατότητες του οδήγησαν στην ανάπτυξη λογισμικού, προσαρμοσμένο στις απαιτήσεις της ΤCP επικονωνίας και των διαθέσιμων πόρων του επιλεγμένου ενσωματωμένου επεξεργαστή. Η μεταφορά δεδομένων μεταξύ των FPGAs, πραγματοποιήθηκε με την σύνδεση των boards σε έναν μεταγωγέα επιπέδου ζεύξης(Ethernet switch) και Ethernet καλωδίων επικοινωνίας. Ακολούθως, σε κάθε core υλοποίηθηκε σχεδίαση υλικού, η οποία ενσωματώθηκε στο υπόλοιπο υλικό μέσω του διαύλου επικοινωνίας του MicroBlaze επεξεργαστή, με τη μορφή ενός περιφεριακού IP core. Για την επικοινωνία του επιπρόσθετου υλικού με το ενσωματωμένο λογισμικό, χρησιμοποιήθηκαν μηχανισμοί υλικού όπως ουρές δεδομένων εισόδου και εξόδου. Mε αυτόν τον τρόπο, κατέστη δυνατή η ανάπτυξη ενός μηχανισμού που περιλαμβάνει την αποστολή δεδομένων από το κομμάτι του λογισμικού στο υλικό, τη λήψη των δεδομένων από την custom περιφερειακή λογική, την επεξεργασία τους στο κομμάτι του υλικού, την ανάγνωση τους από το λογισμικό και την μετάδοση τους μέσω TCP/IP σύνδεσης σε ένα άλλο αναπτυξιακό, το οποίο μπορεί με τον ίδιο μηχανισμό να επεξεργαστεί τα ληφθέντα δεδομένα. Συμπερασματικά , με έναν αρκετά συμβατό τρόπο , γίνεται εφικτή η κατανομή οποιασδήποτε λογικής σχεδίασης, σε κομμάτια υλικού, τα οποία έχοντας ενσωματωθεί σε ξεχωριστά αναπτυξιακά boards, έχουν τη δυνατότητα να μεταφέρουν και να επεξεργάζονται δεδομένα μεταξύ τους, με χρήση ενός μηχανισμού λογισμικού, υπεύθυνο για τη διαμόρφωση της TCP επικοινωνίας.
|