STM 32 Introduzione La scheda STM 32 prodotta
- Slides: 17
STM 32
Introduzione • La scheda STM 32 è prodotta dalla STMicroelectronics, azienda franco-italiana con sede a Ginevra. • Tra le famiglie di microcontrollori a 32 -bit (a differenza della scheda arduino UNO che è a 8 bit) prodotti dall’azienda negli ultimi anni, l’STM 32 è il loro primo microcontrollore basato sul nuovo core ARM Cortex-M 3 che garantisce nuovi standard per quanto riguarda costi e performance, oltre ad essere in grado di operare a basso consumo.
Architettura base
Il microcontrollore in generale • La matrice di bus è dotata di un arbiter che permette di minimizzare la negozzizazionetra la CPU e i dati in ingresso • AHB Advanced HIGH Performance Bus • APB Advanced Peripheral Bus • DMA fa da arbitro alla SRAM per APB 1 e APB 2 Tuttavia, i 2/3 del tempo è dedicato alle periferiche, 1/3 del tempo è dedicato alla CPU
Caratteristiche • • • • Caratteristiche del microcontrollore STM 32 F 411 RET 6 in LQFP 64 package ARM 32 -bit Cortex-M 4 CPU con FPU 100 MHz massima frequenza della CPU VDD da 1. 7 V a 3. 6 V 512 KB Flash 128 KB SRAM GPIO (50) con possibilità di interrupt esterno 12 -bit ADC con 16 canali RTC Timers (8) I 2 C (3) USART (3) SPI (5) USB OTG piena velocità SDIO
Classifica • Esistono svariati tipi di schede STM 32 e sono classificate come: – STM 32 F 4 x – STM 32 F 3 x – STM 32 L 1 x – STM 32 F 0 • Serie L: Ultra low power a 32 pin • Serie F fino a F 3: Mainstream da 32 a 64 pin • Serie F 4 fino a F 7: High performance con processore che va dagli 85 Mhz ai 216 Mhz, da 64 a 144 pin
Classifica
Nucleo F 401 RE • La scheda Nucleo F 401 RE ha le seguenti caratteristiche: – – Due tipi di estensioni. Connettività Arduino Uno Revision 3 Connettività STMicroelectronics Morpho per un accesso pieno a tutti gli I/O dell’ STM 32 – – – – CPU 84 MHz Memoria flash a 512 KB SRAM 96 KB 50 GPIO ADC 12 bit e 16 canali Una parte della scheda è resa simile a quella di Arduino con 14 pin digitali e 6 analogici Alimentazione “flessibile” • • • USB VBUS o sorgente esterna (3. 3 V, 5 V, 7 – 12 V) Power management access point LED utente (LD 2) Due pulsanti: USER e RESET USB re-enumeration capability: tre differenti funzioni supportate dalla USB: – – – COM port virtuale Mass storage (USB Disk drive) per la programmazione drag’n’drop Debugging
Nucleo F 401 RE
Nucleo F 401 RE
Le parti della nucleo • La scheda è formata da due parti: – un programmatore ST-Link, utilizzato per caricare il firmware sul microcontrollore della scheda; – una scheda di sviluppo su cui è locato il microcontrollore. • Una volta programmato, le due parti si possono staccare ma, il microcontrollore non si può più riprogrammare. Il programma resta per sempre invariato ma lo spazio occupato è molto di meno
Le parti della nucleo
pin
Firmware • La scheda nucleo si può programmare in vari modi; tra i più noti: – STM 32 Cube. MX – mbed. Eclipse. Studio – La piattaforma online mbed
Sintassi • La sintassi è simile al c++ • È un po’ diversa da Arduino • È case sensitive • Richiede sempre una libreria “mbed. h” • Il template è il seguente: #include “mbed. h” Dichiarazioni variabili globali int main(){dichiarazioni variabili locali ……. . }
Sintassi • Con un esempio, riesce tutto meglio #include “mbed. h” Digital. In lettore(D 5); //il pin D 5 è stato chiamato lettore e dichiarato come input Digital. Out led(D 6); // il pin D 6 è stato chiamato led e dichiarato come output int main(){ if(lettore==0)led=0; //se il livello logico del lettore è zero, il led è spento If(lettore==1)led=1; // se il livello logico del lettore è uno, il led è acceso Wait(3); //attende 3 secondi}
Sintassi • Il programma precedente, esegue le istruzioni solo una volta. Per far eseguire le istruzioni sempre, bisogna inserire l’istruzione while(1) nel seguente modo: #include “mbed. h” Digital. In lettore(D 5); //il pin D 5 è stato chiamato lettore e dichiarato come input Digital. Out led(D 6); // il pin D 6 è stato chiamato led e dichiarato come output int main(){ while(1){ if(lettore==0)led=0; //se il livello logico del lettore è zero, il led è spento If(lettore==1)led=1; // se il livello logico del lettore è uno, il led è acceso Wait(3); //attende 3 secondi } }
- Come viene prodotta l'insulina
- Introduzione alle criptovalute
- Data e luogo in una lettera
- Foscolo alla sera
- Tesina sulle donne introduzione
- Introduzione a python
- Introduzione agli algoritmi e strutture dati
- Introduzione alla psicometria
- Tesina shoah terza media
- Introduzione alla sociologia ritzer
- Pensiero complesso morin
- Equazioni di maxwell in forma integrale
- I promessi sposi autore
- Introduzione al testo poetico
- Introduzione alle basi di dati
- Esempio introduzione tesina sul fascismo
- Introduzione caccia al tesoro
- Riggettato