- Spiegazione hardware della scheda di sviluppo STM32 Nucleo 64
- Programmazione delle schede di sviluppo STM32 Nucleo 64
- Introduzione a STM32F401
- Conclusione
- video
Per la maggior parte delle persone là fuori, la prima scheda di sviluppo incorporata su cui avrebbero lavorato molto probabilmente sarebbe stata una scheda Arduino. Ma, come anche tutti possono essere d'accordo, il tuo Arduino potrebbe portarti solo così lontano e un giorno dovrai passare a una piattaforma di microcontrollore nativa. Questo processo può essere reso molto più semplice con questa scheda di sviluppo STM32 in quanto può supportare tutti gli shield Arduino per aiutarti dal lato hardware e ha anche molte librerie e funzioni integrate per aiutarti dal lato software. Inoltre, familiarizzare con un microcontrollore STM32 ti aiuterà a esplorare facilmente altri moduli di sviluppo da ST come SensorTile.Box che abbiamo esaminato in precedenza. Quindi in questo articolo, diamo uno sguardo completo a queste schede di sviluppo STM32 Nucleo-64 e impariamo come usarle.
Ora ci sono molte versioni di schede STM32 disponibili e questa in particolare nella mia mano si chiama STM32F401 Nucleo-64. Il nome STM32 indica che abbiamo un microcontrollore a 32 bit sulla nostra scheda di sviluppo e il nome Nucleo-64 indica che il microcontrollore ha 64 pin. Allo stesso modo, ci sono molte altre versioni di schede Nucleo 64 come STM32F103, STM32F303, ecc., Ma una volta che si impara a conoscere una scheda, tutte le altre sono abbastanza simili.
Spiegazione hardware della scheda di sviluppo STM32 Nucleo 64
Cominciamo aprendo la confezione della nostra scheda di sviluppo. Come puoi vedere, il pacchetto completo è costituito solo dalla nostra scheda di sviluppo e da una scheda di istruzioni. La scheda di istruzioni menziona le specifiche del controller, i suoi pinout e sul retro abbiamo alcune informazioni su come iniziare e le opzioni disponibili della toolchain.
Dando uno sguardo più da vicino al tabellone possiamo scoprire che il tabellone è diviso in due regioni. La sezione superiore è il debugger e programmatore ST-Link / V2 mentre la sezione inferiore è la scheda di sviluppo effettiva. In questo modo puoi facilmente programmare ed eseguire il debug della tua scheda fuori dalla scatola solo con un cavo USB aggiuntivo che può essere collegato alla mini porta USB sulla scheda.
A prima vista, la scheda potrebbe sembrare avere molti ponticelli e componenti, ma sono tutti lì per semplificarci le cose. I due jumper che trovi su entrambi i lati della scheda CN11 e CN12 sono in realtà jumper fittizi, questi jumper possono essere utilizzati per altri scopi se necessario in futuro. I due jumper su CN2 servono per collegare la sezione programmatore e debugger con la nostra scheda di sviluppo. In futuro, è possibile rimuovere questi ponticelli per utilizzare il programmatore per altri microcontrollori ST tramite questi pin. E questo pin del connettore JP1 può essere chiuso per limitare la corrente USB a 100mA, se lasciato aperto la corrente massima sarà 300mA. Qui abbiamo un LED tricolore (LD1) che si accende come rosso quando la scheda è alimentata e diventa verde quando la scheda è programmata con successo e diventa arancione quando c'è un errore di comunicazione.
Passando alla sezione di sviluppo, abbiamo il nostro componente più importante qui, il microcontrollore STM32F401RET6. Questo è un microcontrollore a 32 bit a 64 pin con un processore ARM Cortex M4 che opera a 84 MHz. Ha anche 512 Kb Flash e 96 KB SRAM. Il microcontrollore ha 10 timer a 16 e 32 bit e un singolo ADC a 12 bit. Dispone inoltre di tre USART, tre I2C, quattro SPI e una USB 2.0 per le comunicazioni esterne. È possibile controllare la scheda tecnica STM32F401 per ottenere ulteriori informazioni tecniche.
Ora arriva la parte interessante, come ti ho detto in precedenza la scheda supporta tutti gli shield Arduino. La scheda ha due set di connettori, i pin femmina sono per gli shield Arduino che si adattano perfettamente al nostro ESP8266 Wi-Fi Shield e al nostro Semtech Arduino LoRa Shield come puoi vedere nell'immagine qui sotto.
Gli altri maschi sono chiamati perni ST morpho che possono essere utilizzati per utilizzare i perni di alesatura sul nostro microcontrollore a 64 pin. Quindi abbiamo un pulsante di ripristino qui e un pulsante configurabile dall'utente che è collegato al pin PC13 e anche un LED qui che è collegato al pin D13 proprio come Arduino. Per alimentare la scheda possiamo utilizzare la porta USB o fornire direttamente 5V regolati all'E5V o al pin 5V qui. Ricordati di cambiare questo jumper per indicare come stai alimentando la scheda; U5V indica che la scheda è alimentata tramite USB. Abbiamo anche un altro interessante pin jumper qui chiamato IDD che può essere utilizzato per misurare la quantità di corrente consumata dal microcontrollore collegando un amperometro a questi pin.
Programmazione delle schede di sviluppo STM32 Nucleo 64
Venendo alla sezione software, la scheda ha un'enorme libreria e supporto per la programmazione e può essere programmata usando Keil, IAR workbench e molti altri IDE. Ma la cosa interessante è che supporta l' ambiente di sviluppo ARM Mbed e STM32Cube. Per il bene di questo articolo, ho deciso di utilizzare la piattaforma ARM Mbed perché è uno strumento online e l'ho trovata molto interessante perché non solo puoi utilizzare le tue schede ST ma molte altre schede di sviluppo che utilizzano il microcontrollore ARM.
Per coloro che sono nuovi, ARM MBED è una piattaforma di sviluppo online fornita dalla stessa ARM e offre un sistema operativo integrato, servizi cloud e funzionalità di sicurezza per creare facilmente soluzioni integrate basate su IoT. È un'enorme comunità open source e per parlarne in dettaglio sarà necessario un articolo separato.
Introduzione a STM32F401
Tuttavia, per iniziare, utilizza un mini cavo USB per collegare la scheda di sviluppo STM32 al computer. Una volta alimentato, dovresti notare che i LED LD1 e LD3 si accendono in rosso e il LED programmabile LD2 lampeggia in verde in questo modo.
Noterai anche una nuova unità flash sul tuo computer chiamata "NODE_F401RE". Aprilo e troverai due file, cioè details.txt e mbed.htm, come mostrato di seguito.
Puoi lanciare il file Mbed.htm per iniziare direttamente a programmare la tua scheda online usando il braccio Mbed. Ma, prima di arrivarci, abbiamo installato i driver richiesti e l'iscrizione a Mbed. Cerca il software del driver STSW-link009 e scaricalo direttamente dal sito Web di ST, installa il driver e assicurati che il dispositivo venga rilevato correttamente in Gestione dispositivi come mostrato qui.
Torna alla tua piattaforma mbed per iscriverti a MBED.com con le tue credenziali. Quindi, fai clic sul file MBED.HTM e sarai accolto con la pagina seguente.
Scorri verso il basso e fai clic su " Apri compilatore Mbed ". Come puoi vedere, il compilatore ha già riconosciuto la nostra piattaforma come Nucleo-F401RE e ci fornisce molti programmi di esempio di base. Per ora, lasciami selezionare il " codice lampeggiante del LED " e modificarlo in modo che il LED si spenga ogni volta che premo il pulsante.
Una volta che il codice è pronto come mostrato di seguito, puoi fare clic sul pulsante di compilazione, che ti fornirà un file bin, basta copiare il file bin e incollarlo nell'unità flash per programmare la scheda. Noterai che il LED LD1 diventa verde una volta completata la programmazione. Ora premi il pulsante blu e noterai che il LED verde si spegne. In questo modo puoi provare uno qualsiasi dei programmi di esempio per apprendere diverse funzionalità della scheda. Puoi anche tornare alla pagina principale per ottenere altri documenti tecnici e il supporto della community.
Puoi anche guardare il video linkato in fondo a questa pagina, per visualizzare la recensione completa su questo forum.
Conclusione
Nel complesso credo che queste schede siano scelte eccellenti se stai cercando di aumentare di livello le tue capacità e sviluppare applicazioni avanzate. Con il suo pratico supporto hardware e la comunità online, anche la curva di apprendimento di queste schede è abbastanza semplice, quindi potresti provare. Spero che l'articolo ti sia piaciuto e che abbia imparato qualcosa di utile da esso. Se hai domande, lasciale nella sezione commenti qui sotto o usa i nostri forum per altre domande tecniche.