Microcontrollore della serie STM32F3

STM32F3 include una serie di MCU a 32 bit con prestazioni elevate, funzionalità in tempo reale, elaborazione del segnale digitale, basso consumo energetico e funzionamento a bassa tensione, mantenendo al contempo un’elevata integrazione e facilità di sviluppo. L’impareggiabile gamma di prodotti STM32 si basa su un core standard del settore e offre un’ampia gamma di strumenti e opzioni software, rendendo la gamma ideale per piccoli progetti fino a piattaforme complete.

Introduzione a STM32F3

STM32F3 è l’ultimo prodotto lanciato da STmicroelectronics. Integra un core ARM Cortex-M4 a 32 bit con istruzioni DSP e FPU che operano a 72 MHz, periferiche analogiche avanzate e memoria Flash e SRAM integrata. Grazie alla struttura di alimentazione efficiente integrata e a più modalità di consumo energetico, STM32F3 riduce il consumo energetico a livello di applicazione e semplifica la progettazione dell’applicazione.

Questa serie di MCU integra anche un veloce ADC sigma-delta a 12 bit e 5 MSPS, precisione a 16 bit, amplificatore a guadagno programmabile (4 gradini di guadagno, precisione dell’1%), comparatore veloce a 50 ns e unità di controllo dell’orologio multifunzione a 144 MHz.

Grazie alle sue capacità in tempo reale, all’elaborazione del segnale digitale, al basso consumo energetico e al funzionamento a bassa tensione, STM32F3 può gestire efficacemente segnali misti in circuiti come controllori di motori trifase, sensori biochimici e industriali e filtri audio, e può essere ampiamente utilizzato in applicazioni consumer, mediche, pratiche per il fitness portatile, il monitoraggio e la misurazione del sistema.

Caratteristiche di STM32F3

  • Comparatore ultraveloce (25 ns)
  • Amplificatore operazionale con guadagno programmabile
  • DAC a 12 bit
  • ADC ultraveloce a 12 bit, 5 M campioni al secondo per canale (cinque milioni di campioni al secondo), fino a 18 M campioni al secondo in modalità alternata
  • Preciso ADC sigma-delta a 16 bit (21 canali)
  • La SRAM Core Coupled Memory (Program Accelerator) è un’architettura di memoria dedicata al miglioramento delle prestazioni dei programmi critici per il tempo, che può aumentare le prestazioni del 43%
  • Timer PWM avanzato a 16 bit a 144 MHz (risoluzione < 7 ns) per applicazioni di controllo
  • Timer ad alta risoluzione (217 ps), autocompensante per deriva di alimentazione e temperatura
  • La matrice di interconnessione flessibile consente la comunicazione autonoma tra periferiche, risparmiando risorse CPU e consumo energetico.

Specifiche di STM32F3

La serie STM32 F3 include dispositivi con 64 a 256 KB di memoria Flash on-chip e 48 KB di SRAM. Le opzioni di package includono WLCSP66 (meno di 4,3 x 4,3 mm), LQFP48, LQFP64, LQFP100 e UFBGA100.

ManufacturerSTMicroelectronics
CoreARM Cortex M4F
Data Bus Width32 bit
I/O Count39
Maximum Clock Frequency72 MHz
Flash Memory (Maximum)256 KB
Data RAM Size32 KB
On-chip ADCYes
Operating Supply Voltage1.65 V to 3.6 V, 2 V to 3.6 V, 2.2 V to 3.6 V
Operating Temperature Range-40°C to +85°C
PackageLQFP-48, 64, 100
Mounting StyleSMD/SMT

Clock STM32F3

STM32F3 utilizza 4 sorgenti di clock: LSE per RTC integrato; HSE per il funzionamento della MCU; HSI per il clock di sistema; LSI per pilotare IWDG e RTC. Ogni sorgente di clock può essere accesa o spenta individualmente quando non viene utilizzata per ridurre il consumo energetico.

Clock HSE

Il segnale di clock esterno ad alta velocità (HSE) OSC clock ha 2 sorgenti di clock: oscillatore/risonatore ceramico esterno HSE, clock esterno utente HSE. Quando si dispone il PCB, il risonatore e la capacità di carico devono essere il più vicino possibile ai pin dell’oscillatore per ridurre al minimo la distorsione dell’uscita e il tempo di assestamento dell’oscillazione. Il valore della capacità di carico deve essere regolato in modo appropriato in base all’oscillatore selezionato.

Oscillatore a cristallo esterno (oscillatore a cristallo HSE)

Il vantaggio dell’oscillatore esterno da 4-32MHz è che ha un’elevata precisione. Il flag HSERDY (RCC_CR) nel registro di controllo dell’orologio indica se l’oscillatore HSE è stabile. Questo orologio non può essere utilizzato finché l’hardware imposta questo bit all’avvio. È possibile generare interruzioni se le interruzioni sono abilitate nel registro di interruzione dell’orologio (RCC_CIR). L’oscillatore a cristallo HSE può essere acceso o spento tramite il bit HSEON nel registro di controllo dell’orologio (RCC_CR).

Sorgente esterna (bypass HSE)

In questa modalità, è necessario fornire una sorgente di clock esterna, con una frequenza massima che non supera i 32MHz. Il pin OSC_IN deve essere pilotato utilizzando un segnale di clock esterno (onda quadra, sinusoidale o triangolare) con un duty cycle del 40-60%, a seconda della frequenza, mentre il pin OSC_OUT può essere utilizzato come GPIO.

Clock LSE

L’oscillatore a cristallo LSE è un oscillatore a cristallo esterno o risonatore ceramico a bassa velocità da 32,768kHz. Può essere utilizzato come sorgente di clock del clock in tempo reale (RTC) per fornire funzioni di clock/calendario o altri tempi. Ha i vantaggi di basso consumo energetico e alta precisione.

L’oscillatore a cristallo LSE viene acceso e spento tramite il bit LSEON nel registro di controllo del dominio di backup (RCC_BDCR). La forza di pilotaggio del cristallo può essere modificata in fase di esecuzione utilizzando i bit LSEDRV[1:0] nel registro di controllo del dominio di backup (RCC_BDCR) per ottenere il miglior equilibrio tra robustezza, tempo di avvio breve e basso consumo energetico.

Il flag LSERDY nel registro di controllo del dominio di backup (RCC_BDCR) indica se l’oscillatore a cristallo LSE è stabile. All’avvio, il segnale di clock in uscita dell’oscillatore a cristallo LSE può essere utilizzato solo dopo che l’hardware imposta questo bit. È possibile generare interruzioni se le interruzioni sono abilitate nel registro di interruzione dell’orologio (RCC_CIR).

In questa modalità, è necessario fornire una sorgente di clock esterna, con una frequenza massima che non supera 1MHz. È necessario utilizzare un segnale di clock esterno (onda quadra, onda sinusoidale o onda triangolare) con un duty cycle di circa il 50% per pilotare il pin OSC32_IN, mentre il pin OSC32_OUT può essere utilizzato come GPIO.

Clock HSI

Il segnale di clock HSI è generato dall’oscillatore RC interno da 8MHz e può essere utilizzato direttamente come clock di sistema (SYSCLK) o come ingresso PLL. Il vantaggio dell’oscillatore RC HSI è il suo costo inferiore (nessun componente esterno richiesto). Inoltre, la sua velocità di avvio è più veloce rispetto a quella del blocco dell’oscillatore a cristallo HSE, ma anche dopo la calibrazione, la sua precisione di frequenza non è buona come quella di un oscillatore a cristallo o risonatore ceramico esterno.

Poiché il processo di produzione è diverso, le frequenze dell’oscillatore RC di chip diversi sono anche diverse. ST esegue la calibrazione di fabbrica su ciascun dispositivo per ottenere una precisione dell’1% a TA = 25 ℃. Inoltre, il clock HSI può essere collegato al multiplexer MCO. Il clock può essere collegato all’ingresso del Timer 16 nell’F30x e all’ingresso del Timer 14 nell’F37x per consentire all’utente di calibrare l’oscillatore.

Clock LSI

La frequenza del clock RC interno a bassa velocità (LSI RC) è di circa 40kHz (tra 30kHz e 60kHz). Il clock LSI può essere utilizzato come sorgente di clock a basso consumo per mantenere il funzionamento in modalità stop e standby per pilotare il watchdog indipendente (IWDG) e l’RTC. Può anche essere fornito facoltativamente all’RTC per il risveglio automatico in modalità stop/standby.

Progettazione PCB di STM32F3

Per motivi tecnici è meglio utilizzare una scheda a circuito stampato multistrato (PCB) con un livello dedicato alla massa (VSS) e un altro livello dedicato all’alimentazione VDD. Questo fornisce un buon disaccoppiamento e schermatura.

Schematic of STM32F30x series MCUs
Schematic of STM32F30x series MCUs

Posizione e parametri dei componenti

Il layout iniziale del PCB deve avere circuiti separati con circuiti ad alta corrente, circuiti a bassa tensione, circuiti di componenti digitali e circuiti separati in base alle caratteristiche EMI del circuito. Questo aiuta a ridurre l’accoppiamento incrociato che causa rumore sul PCB. Fare riferimento alla tabella sottostante per i parametri dei componenti pertinenti.

ComponentsValueCountNotes
MCUSTM32F303VCT61100-pin package
Capacitor100nF4For STM32F303: 4 units
For STM32F373/378: 3 units
Ceramic Capacitors (Decoupling)
Capacitor4.7μF1Ceramic Capacitor (Decoupling)
Resistor390Ω1For HSE: Value depends on crystal characteristics.
Resistor1For LSE: Value depends on crystal characteristics.
Resistor10KΩ4For JTAG and boot mode pull-up and pull-down resistors.
Capacitor100nF3For RESET button, VDDA, and VREF+ (Ceramic Capacitors).
Capacitor1μF2For VDDA and VREF+.
Capacitor100nF3For VDDSDx and VREFSD+ (Ceramic Capacitors, only for STM32F37x).
Capacitor1μF3For VDDSDx and VREFSD+ (only for STM32F37x).
Capacitor10pF2For LSE: Value depends on crystal characteristics.
Capacitor20pF2For HSE: Value depends on crystal characteristics.
Crystal8MHz1For HSE
Crystal32kHz1For LSE
Embedded3V31If an external battery is not used in the application, it is recommended to connect VBAT externally to VDD.
Switch-1For selecting the correct boot mode.
ButtonB11Used as a reset button.
JTAG Connector-1For MCU programming/debugging.

Terra e alimentazione (VSS, VDD, VSSA, VDDA, VSSSD, VDDSD)

Ogni blocco (rumore, sensibile al fondo, digitale, ecc.) deve essere collegato a terra individualmente e tutti i ritorni a terra devono essere un punto singolo. Gli anelli devono essere evitati o avere un’area minima. L’alimentazione deve essere implementata vicino al filo di terra per ridurre al minimo l’area del circuito di alimentazione. Questo perché il circuito di alimentazione si comporta come un’antenna, quindi è il principale trasmettitore e ricevitore di EMI. Tutte le aree del PCB prive di componenti devono essere riempite con ulteriore terra per creare schermatura (specialmente quando si utilizzano PCB a singolo strato).

Disaccoppiamento

Tutti i pin di alimentazione e di terra devono essere correttamente collegati all’alimentazione. Queste connessioni, inclusi pad, tracce e fori, devono avere la resistenza più bassa possibile. Generalmente, questo si ottiene allargando le larghezze delle tracce, preferibilmente utilizzando piani di alimentazione dedicati nei PCB multistrato.

Inoltre, ogni coppia di alimentazione deve essere disaccoppiata con un condensatore ceramico da 100nF e collegato tra i pin di alimentazione del dispositivo STM32F3xx con un condensatore chimico di circa 4,7µF. Questi condensatori devono essere posizionati il più vicino possibile accanto o sotto i pin appropriati sulla parte inferiore del PCB. I valori tipici sono da 10nF a 100nF, ma il valore esatto dipende dalle esigenze dell’applicazione.

I/O non utilizzati

Di solito un’applicazione non utilizzerà il 100% delle risorse MCU. Per aumentare le prestazioni EMC ed evitare un consumo energetico aggiuntivo, i clock, i contatori o gli I/O non utilizzati non devono essere lasciati flottanti e devono essere collegati a livelli logici fissi 0 o 1. Il metodo è utilizzare resistori pull-up o pull-down esterni o interni sui pin I/O non utilizzati; oppure utilizzare il software per configurare la GPIO in modalità output. Le funzionalità che non vengono utilizzate devono essere congelate o disabilitate, che è anche il loro valore predefinito.

Diversi tipi di STM32F3

Gli MUC della serie STM32F3 includono STM32F301, STM32F302, STM32F303 e altri tipi. Non solo integrano una varietà di periferiche, ma offrono anche prestazioni più elevate e capacità analogiche per gestire fino a tre controlli del motore FOC.

STM32F301

STM32F301 è un MCU a segnale misto che utilizza il core ARM Cortex-M4 (DSP, FPU) e funziona a 72 MHz.

STM32F301
STM32F301

Questa serie di MCU ha le seguenti specifiche:

  • Fino a 3 comparatori ultra-veloci (<30 ns)
  • Amplificatore operativo (PGA) con guadagno programmabile • DAC a 12 bit
  • ADC ultra-veloce a 12 bit con 5M campioni al secondo
  • Timer di controllo motore veloce a 144 MHz (risoluzione < 7 ns)
  • L’MCU STM32F301 funziona da 2,0 a 3,6 V
  • Le capacità di memoria variano da 32 a 64K byte e sono disponibili pacchetti da 32 a 64 pin

STM32F302

STM32F302 è un MCU a segnale misto che utilizza il core ARM Cortex-M4 (DSP, FPU) e funziona a 72 MHz.

STM32F302
STM32F302

Questa serie di MCU ha le seguenti specifiche:

  • Fino a 4 comparatori veloci e ultraveloci (<30 ns)
  • Fino a 2 amplificatori operazionali (PGA) con guadagno programmabile
  • DAC a 12 bit
  • Fino a 2 ADC ultraveloci a 12 bit con 5 milioni di campioni al secondo
  • Timer di controllo motore veloce a 144 MHz (risoluzione < 7 ns)
  • Interfaccia di comunicazione USB FS e CAN 2.0B
  • STM32F302 MCU funziona da 2,0 a 3,6 V
  • Le capacità di memoria variano da 32 a 256 Kbyte e i package da 32 a 100 pin
  • L’intervallo di temperatura è da -40 a 85°C o da -40 a 105°C (la temperatura di giunzione è 125°C)

STM32F303

STM32F303 è una MCU a segnali misti che utilizza il core ARM Cortex-M4 (DSP, FPU) e funziona a 72 MHz. Questa è una serie di dispositivi con eccellenti prestazioni nella serie di MCU STM32F30x.

STM32F303
STM32F303

Questa serie di microcontrollori ha le seguenti specifiche:

  • Fino a 7 comparatori veloci e ultraveloci (<30 ns)
  • Fino a 4 amplificatori operazionali (PGA) con guadagno programmabile
  • Fino a 2 DAC a 12 bit
  • Fino a 4 ADC ultraveloci a 12 bit a 5 milioni di campioni al secondo
  • Fino a 3 timer di controllo motore veloci a 144 MHz (risoluzione < 7 ns)
  • Interfaccia di comunicazione USB FS e CAN 2.0B
  • SRAM a memoria accoppiata al core (miglioramento delle prestazioni del 43% rispetto all’esecuzione da Flash)
  • STM32F303 MCU funziona da 2,0 a 3,6 V
  • Le capacità di memoria variano da 32 a 256 Kbyte e i package da 32 a 100 pin
  • L’intervallo di temperatura è da -40 a 85°C o da -40 a 105°C (la temperatura di giunzione è 125°C)

Condividi con:

Torna in alto

Instant Quote