- Επεξήγηση υλικού του πίνακα ανάπτυξης STM32 Nucleo 64
- Προγραμματισμός των συμβουλίων ανάπτυξης STM32 Nucleo 64
- Ξεκινώντας με το STM32F401
- συμπέρασμα
- βίντεο
Για τους περισσότερους ανθρώπους εκεί έξω, ο πρώτος ενσωματωμένος πίνακας ανάπτυξης που θα είχαν εργαστεί θα ήταν πιθανότατα ένας πίνακας Arduino. Όμως, όπως όλοι μπορούν να συμφωνήσουν, το Arduino σας θα μπορούσε να σας οδηγήσει μόνο μέχρι στιγμής και κάποια μέρα πρέπει να μεταβείτε σε μια εγγενή πλατφόρμα μικροελεγκτών. Αυτή η διαδικασία μπορεί να γίνει πολύ πιο εύκολη με αυτόν τον πίνακα ανάπτυξης STM32, καθώς μπορεί να υποστηρίξει όλες τις ασπίδες Arduino για να σας βοηθήσει στην πλευρά του υλικού και διαθέτει επίσης πολλές ενσωματωμένες βιβλιοθήκες και λειτουργίες για να σας βοηθήσουν από την πλευρά του λογισμικού. Επίσης, εξοικειωμένοι με τους μικροελεγκτές STM32 θα σας βοηθήσουν να εξερευνήσετε εύκολα άλλες λειτουργικές μονάδες από το ST, όπως το SensorTile.Box που εξετάσαμε νωρίτερα. Έτσι, σε αυτό το άρθρο, ας ρίξουμε μια πλήρη ματιά σε αυτούς τους πίνακες ανάπτυξης STM32 Nucleo-64 και να μάθουμε πώς να τους χρησιμοποιούμε.
Τώρα υπάρχουν πολλές εκδόσεις των πινάκων STM32 και αυτή η συγκεκριμένη στο χέρι μου ονομάζεται STM32F401 Nucleo-64. Το όνομα STM32 αντιπροσωπεύει ότι έχουμε έναν μικροελεγκτή 32-bit στον πίνακα ανάπτυξης μας και το όνομα Nucleo-64 αντιπροσωπεύει ότι ο μικροελεγκτής έχει 64 ακίδες. Παρομοίως, υπάρχουν πολλές άλλες εκδόσεις πλακέτων Nucleo 64 όπως οι STM32F103, STM32F303 κ.λπ., αλλά μόλις μάθετε για έναν πίνακα όλες οι άλλες είναι αρκετά παρόμοιες.
Επεξήγηση υλικού του πίνακα ανάπτυξης STM32 Nucleo 64
Ας ξεκινήσουμε αποσυνδέοντας το Συμβούλιο Ανάπτυξης. Όπως μπορείτε να δείτε, το πλήρες πακέτο αποτελείται μόνο από τον πίνακα ανάπτυξης και μια κάρτα οδηγιών. Η κάρτα οδηγιών αναφέρει τις προδιαγραφές του ελεγκτή, τα pinouts, και στο πίσω μέρος, έχουμε κάποιες πληροφορίες σχετικά με τον τρόπο έναρξης και τις διαθέσιμες επιλογές εργαλειοθήκης.
Ρίνοντας μια πιο προσεκτική ματιά στον πίνακα μπορούμε να διαπιστώσουμε ότι ο πίνακας χωρίζεται σε δύο περιοχές. Το πάνω μέρος είναι το πρόγραμμα εντοπισμού σφαλμάτων ST-Link / V2 και ο προγραμματιστής, ενώ το κάτω μέρος είναι ο πραγματικός πίνακας ανάπτυξης. Με αυτόν τον τρόπο μπορείτε να προγραμματίσετε και να διορθώσετε εύκολα την πλακέτα σας έξω από το κουτί μόνο με ένα επιπλέον καλώδιο USB που μπορεί να συνδεθεί στη θύρα mini USB του πίνακα.
Με την πρώτη ματιά, ο πίνακας μπορεί να φαίνεται να έχει πολλά άλματα και εξαρτήματα, αλλά όλα είναι εκεί για να κάνουν τα πράγματα εύκολα για εμάς. Οι δύο άλτες που βρίσκετε και στις δύο πλευρές του σκάφους CN11 και CN12 είναι στην πραγματικότητα πλαστικοί άλτες, αυτοί οι άλτες μπορούν να χρησιμοποιηθούν για άλλους σκοπούς, εάν χρειαστούν στο μέλλον. Οι δύο άλτες στο CN2 χρησιμοποιούνται για τη σύνδεση του τμήματος προγραμματιστή και εντοπισμού σφαλμάτων με τον πίνακα ανάπτυξης. Στο μέλλον, μπορείτε να αφαιρέσετε αυτά τα άλματα για να χρησιμοποιήσετε τον προγραμματιστή για άλλους μικροελεγκτές ST μέσω αυτών των ακίδων. Και αυτός ο ακροδέκτης JP1 μπορεί να κλείσει για να περιορίσει το ρεύμα USB στα 100mA, εάν παραμείνει ανοιχτό, το μέγιστο ρεύμα θα είναι 300mA. Εδώ έχουμε ένα Tricolor LED (LD1) που ανάβει ως Κόκκινο όταν η πλακέτα είναι ενεργοποιημένη και γίνεται πράσινη όταν ο πίνακας έχει προγραμματιστεί επιτυχώς και γίνεται πορτοκαλί όταν υπάρχει αποτυχία επικοινωνίας.
Μεταβαίνοντας στην ενότητα ανάπτυξης έχουμε το πιο σημαντικό συστατικό μας εδώ, τον μικροελεγκτή STM32F401RET6. Πρόκειται για έναν μικροελεγκτή 64-ακίδων 32-bit με επεξεργαστή ARM Cortex M4 που λειτουργεί στα 84MHz. Διαθέτει επίσης 512 Kb Flash και 96KB SRAM. Ο μικροελεγκτής διαθέτει 10 χρονοδιακόπτες 16-bit και 32-bit και ένα μόνο 12-bit ADC. Διαθέτει επίσης τρία USART, τρία I2C, τέσσερα SPI και ένα USB 2.0 για εξωτερικές επικοινωνίες. Μπορείτε να ελέγξετε το φύλλο δεδομένων STM32F401 για να λάβετε περισσότερες τεχνικές πληροφορίες.
Τώρα έρχεται το ενδιαφέρον μέρος, όπως σας είπα νωρίτερα, το διοικητικό συμβούλιο υποστηρίζει όλες τις ασπίδες Arduino. Η πλακέτα διαθέτει δύο σειρές συνδέσμων, οι γυναικείες καρφίτσες προορίζονται για ασπίδες Arduino που ταιριάζουν απόλυτα στο ESP8266 Wi-Fi Shield και στο Semtech Arduino LoRa Shield, όπως μπορείτε να δείτε στην παρακάτω εικόνα.
Τα άλλα αρσενικά ονομάζονται καρφίτσες ST morpho που μπορούν να χρησιμοποιηθούν για τη χρήση των ακίδων reaming στον μικροελεγκτή 64 ακίδων. Έπειτα έχουμε ένα κουμπί επαναφοράς εδώ και ένα κουμπί με δυνατότητα ρύθμισης από το χρήστη που είναι συνδεδεμένο στην καρφίτσα PC13 και επίσης ένα LED εδώ που είναι συνδεδεμένο με τον πείρο D13 όπως το Arduino. Για την τροφοδοσία της πλακέτας μπορούμε είτε να χρησιμοποιήσουμε τη θύρα USB είτε να παρέχουμε απευθείας ρυθμιζόμενο 5V στο E5V ή στον ακροδέκτη 5V εδώ. Θυμηθείτε να αλλάξετε αυτό το jumper για να υποδείξετε πώς τροφοδοτείτε τον πίνακα. Το U5V δείχνει ότι η πλακέτα τροφοδοτείται από USB. Έχουμε επίσης ένα άλλο ενδιαφέρον jumper pin που ονομάζεται IDD, το οποίο μπορεί να χρησιμοποιηθεί για να μετρήσει πόσο ρεύμα καταναλώνει ο μικροελεγκτής σας συνδέοντας ένα αμπερόμετρο σε αυτές τις ακίδες.
Προγραμματισμός των συμβουλίων ανάπτυξης STM32 Nucleo 64
Ερχόμενοι στην ενότητα λογισμικού, ο πίνακας διαθέτει τεράστια υποστήριξη βιβλιοθήκης και προγραμματισμού και μπορεί να προγραμματιστεί χρησιμοποιώντας Keil, πάγκο εργασίας IAR και πολλά άλλα IDE. Αλλά το ενδιαφέρον είναι ότι υποστηρίζει το περιβάλλον ανάπτυξης ARM Mbed και STM32Cube. Για χάρη αυτού του άρθρου, αποφάσισα να χρησιμοποιήσω την πλατφόρμα ARM Mbed επειδή είναι ένα διαδικτυακό εργαλείο και το βρήκα πολύ ενδιαφέρον γιατί δεν μπορείτε να χρησιμοποιήσετε μόνο τους πίνακες ST σας αλλά και πολλούς άλλους πίνακες ανάπτυξης που χρησιμοποιούν τον μικροελεγκτή ARM.
Για όσους είναι νέοι, το ARM MBED είναι μια διαδικτυακή πλατφόρμα ανάπτυξης που παρέχει η ίδια η ARM και σας παρέχει ένα ενσωματωμένο λειτουργικό σύστημα, υπηρεσίες cloud και χαρακτηριστικά ασφαλείας για να δημιουργήσετε εύκολα ενσωματωμένες λύσεις με βάση το IoT. Είναι μια τεράστια κοινότητα ανοιχτού κώδικα και για να ενημερωθείτε λεπτομερώς για αυτό θα χρειαστεί ένα ξεχωριστό άρθρο.
Ξεκινώντας με το STM32F401
Ωστόσο, για να ξεκινήσετε, χρησιμοποιήστε ένα μίνι καλώδιο USB για να συνδέσετε την πλακέτα ανάπτυξης STM32 με τον υπολογιστή σας. Μόλις ενεργοποιηθεί, θα πρέπει να παρατηρήσετε ότι τα LED LD1 και LD3 ανάβουν με κόκκινο χρώμα και το προγραμματιζόμενο LED LD2 θα αναβοσβήνει σε πράσινο χρώμα όπως αυτό.
Θα παρατηρήσετε επίσης μια νέα μονάδα flash στον υπολογιστή σας που ονομάζεται "NODE_F401RE". Ανοίξτε το και θα βρείτε δύο αρχεία, συγκεκριμένα detail.txt και mbed.htm, όπως φαίνεται παρακάτω.
Μπορείτε να εκκινήσετε το αρχείο Mbed.htm για να ξεκινήσετε απευθείας τον προγραμματισμό του σκάφους σας στο διαδίκτυο χρησιμοποιώντας το βραχίονα Mbed. Αλλά, πριν φτάσουμε εκεί, έχουμε εγκαταστήσει τα απαιτούμενα προγράμματα οδήγησης και εγγραφή στο Mbed. Αναζητήστε το λογισμικό προγράμματος οδήγησης STSW-link009 και κατεβάστε το απευθείας από τον ιστότοπο ST, εγκαταστήστε το πρόγραμμα οδήγησης και βεβαιωθείτε ότι η συσκευή εντοπίστηκε σωστά στη διαχείριση συσκευών σας όπως φαίνεται εδώ.
Επιστρέψτε στην πλατφόρμα mbed για να εγγραφείτε στο MBED.com με τα διαπιστευτήριά σας. Στη συνέχεια, κάντε κλικ στο αρχείο MBED.HTM και θα σας υποδεχτεί με την ακόλουθη σελίδα.
Κάντε κύλιση προς τα κάτω και κάντε κλικ στο " Open Mbed compiler ". Όπως μπορείτε να δείτε, ο μεταγλωττιστής έχει ήδη αναγνωρίσει την πλατφόρμα μας ως Nucleo-F401RE και μας παρέχει πολλά βασικά παραδείγματα προγραμμάτων. Προς το παρόν, επιτρέψτε μου να επιλέξω τον " LED Blinky code " και να τον τροποποιήσω έτσι ώστε το LED να σβήνει κάθε φορά που πατάω το κουμπί.
Μόλις ο κωδικός είναι έτοιμος όπως φαίνεται παρακάτω, μπορείτε να κάνετε κλικ στο κουμπί μεταγλώττισης, το οποίο θα σας παρέχει ένα αρχείο κάδου, απλώς αντιγράψτε το αρχείο κάδου και επικολλήστε το στη μονάδα flash για να προγραμματίσετε τον πίνακα. Θα παρατηρήσετε ότι το LED LD1 γίνεται Πράσινο μόλις ολοκληρωθεί ο προγραμματισμός. Τώρα πατήστε το μπλε κουμπί και θα παρατηρήσετε ότι το πράσινο LED σβήνει. Έτσι μπορείτε να δοκιμάσετε οποιοδήποτε από τα παραδείγματα προγραμμάτων για να μάθετε διαφορετικές λειτουργίες του πίνακα. Μπορείτε επίσης να επιστρέψετε στην κύρια σελίδα για να λάβετε άλλα τεχνικά έγγραφα και υποστήριξη κοινότητας.
Μπορείτε επίσης να παρακολουθήσετε το βίντεο που είναι συνδεδεμένο στο κάτω μέρος αυτής της σελίδας, για να δείτε την πλήρη κριτική σε αυτόν τον πίνακα.
συμπέρασμα
Συνολικά πιστεύω, αυτοί οι πίνακες είναι εξαιρετικές επιλογές αν προσπαθείτε να βελτιώσετε τις δεξιότητές σας και να αναπτύξετε προηγμένες εφαρμογές. Με την πρακτική υποστήριξη υλικού και διαδικτυακή κοινότητα, η καμπύλη μάθησης αυτών των πινάκων είναι επίσης αρκετά απλή, οπότε ίσως θελήσετε να το δοκιμάσετε. Ελπίζω, απολαύσατε το άρθρο και μάθατε κάτι χρήσιμο από αυτό. Εάν έχετε οποιεσδήποτε ερωτήσεις, αφήστε τις στην παρακάτω ενότητα σχολίων ή χρησιμοποιήστε τα φόρουμ μας για άλλες τεχνικές ερωτήσεις.