L’STM32C091, l’STM32C092 e l’STM32C051 inaugurano una nuova era per la serie STM32C0, ampliandone l’appeal verso mercati che probabilmente non pensavano di poter utilizzare una soluzione così conveniente. Offrendo una quantità di memoria pari a quella disponibile su alcuni STM32G0 e fornendo anche il supporto FDCAN, l’STM32C09x può essere destinato a dispositivi industriali che richiedono più memoria e anche una semplice interfaccia utente. Allo stesso modo, l’STM32C051 aumenta notevolmente la sua capacità di memoria rispetto all’STM32C031 per offrire un nuovo rapporto prezzo/prestazioni che farà sì che un numero ancora maggiore di team adotti un’architettura a 32 bit per rendere le proprie applicazioni adatte alle esigenze future. In poche parole, ST inizia il 2025 rendendo più accessibili i moderni sistemi IoT.
Indice dei contenuti
Cosa c’è di nuovo?
STM32C091 e STM32C092
L’STM32C091 e l’STM32C092 sono quasi identici, tranne per il fatto che il secondo, rispetto al primo, ha un controller FDCAN. La distinzione è altamente simbolica perché si rivolge alle numerose applicazioni industriali che si stanno spostando verso le applicazioni a 32 bit, beneficiando di un MCU economico con una memoria più elevata. Infatti, entrambi gli STM32C09x sono dotati di una memoria Flash fino a 256 KB, due bus I2C e due SPI, quattro interfacce USART e un ADC a 12 bit con un massimo di 19 canali. L’STM32C09x ha anche un maggior numero di timer generici rispetto agli altri modelli per consentire applicazioni più complesse. Inoltre, i nuovi dispositivi dispongono di un controller DMA con due canali in più (7 in totale) grazie alla memoria aggiuntiva.
È interessante notare che la presenza del controller FDCAN fa sì che l’STM32C092 abbia 30 KB di RAM, mentre l’STM32C091 ne ha 36 KB. La differenza è dovuta al fatto che dobbiamo riservare 6 KB di RAM per l’IP FDCAN. Tuttavia, se un’applicazione industriale richiede FDCAN per applicazioni di robotica, automazione di fabbrica o per rivolgersi ad altri mercati come quello delle apparecchiature mediche, il compromesso della RAM non è mai un problema perché significa poter utilizzare un’interfaccia difficile da trovare a questo prezzo. L’STM32C092 ha anche 6 KB di RAM in più rispetto all’STM32C071, garantendo così agli sviluppatori un maggiore spazio per le loro applicazioni.
Come abbiamo visto con l’STM32C071 (di cui parliamo più avanti), le capacità di memoria dell’STM32C091 e dell’STM32C092 consentono anche di eseguire piccole interfacce grafiche. ST continua quindi ad ampliare la portata della sua serie entry-level, garantendo che possa eseguire più applicazioni e adattarsi a più casi d’uso. Poiché gli utenti richiedono sempre più display e rappresentazioni visive delle funzioni con cui interagiscono, la possibilità di eseguire una semplice interfaccia utente su un MCU economico significa che gli ingegneri non devono utilizzare un co-processore aggiuntivo, non devono rendere più complesso il layout del PCB e possono usufruire di una distinta base inferiore.
STM32C051
L’STM32C051 raddoppia la memoria dell’STM32C031, portando la flash a 64 KB e la RAM a 12 KB. Tuttavia, tutto ciò avviene mantenendo le stesse dimensioni del die, gli stessi package e gli stessi pin-out, il che lo rende un dispositivo “divertente” per gli ingegneri. Invece di passare settimane o mesi a ottimizzare ogni singolo modulo, a rifattorizzare intere porzioni di codice e ad agonizzare su ogni tipo di dato, l’STM32C051 offre agli sviluppatori un nuovo margine di manovra per inviare le loro applicazioni in anticipo e ridurre l’impronta di memoria in un secondo momento. Nell’era della prototipazione rapida e dei lanci soft, questa flessibilità è una necessità. Ecco perché stiamo rilasciando questo nuovo codice prodotto: per consentire a un maggior numero di sviluppatori di passare facilmente al mondo dei 32 bit.
Una vecchia sfida: creare applicazioni entry-level
L’STM32C0
L’STM32C0 è un nuovo microcontrollore per applicazioni entry-level con un prezzo in grado di adattarsi alle distinte base che in precedenza richiedevano MCU a 8 bit poco costose. Il dispositivo aumenta l’accessibilità della famiglia di dispositivi STM32 e offre una notevole capacità di calcolo grazie a un Cortex-M0+ che funziona a 48 MHz e che ha ottenuto 114 punti in CoreMark. A seconda della configurazione, la serie STM32C0 oscilla tra 16 KB di Flash e 6 KB di RAM e 128 KB di Flash e 24 KB di RAM. La ST offre anche un’ampia gamma di pacchetti per garantire che i PCB che si affidano a un piccolo microcontrollore a 8 bit mantengano il loro fattore di forma.
La sfida dell’entry-level
I microcontrollori a 8 bit continuano a svolgere un ruolo entusiasmante nel settore e ST continua a dedicarsi alla serie STM8. Alcune aziende hanno bisogno della EEPROM disponibile nelle nostre MCU a 8 bit, mentre altre dipendono dalla qualifica automotive AEC-Q10x di alcuni dei nostri dispositivi. Tuttavia, in molti casi i progettisti scelgono un MCU a 8 bit solo per questioni di prezzo. Le loro applicazioni funzionano abbastanza bene con registri a 8 bit, il che significa che il loro obiettivo principale è la distinta base. Il problema è che la scelta di un’architettura a 8 bit può avere conseguenze costose a lungo termine.

Una delle sfide che si incontrano quando si lavora a un’applicazione entry-level è la limitata possibilità di aggiornamento. Pur dando la priorità a un BoM basso, molti progetti di successo hanno spesso bisogno di più memoria, throughput di calcolo, pin, ecc. Tuttavia, le architetture a 8 bit hanno restrizioni più rigide e quindi offrono meno possibilità di aggiornamento. Le limitazioni intrinseche delle MCU a 8 bit possono anche significare che un’azienda deve qualificare più dispositivi invece di avere un unico componente che si adatta a numerose applicazioni. Infine, dato che il settore si sta inevitabilmente orientando verso i sistemi a 32 bit, l’uso di un dispositivo a 8 bit potrebbe impedire agli sviluppatori di utilizzare stack software o codici esistenti che accorcerebbero notevolmente i tempi di commercializzazione.
STM32C071
Più memoria, stesso piccolo pacchetto
L’STM32C071 è ora disponibile al pubblico e rappresenta il primo aggiornamento di memoria massivo, in quanto quadruplica la configurazione di memoria dell’STM32C031 grazie a 128 KB di flash e 24 KB di RAM. In parole povere, i prodotti che dovevano adottare dispositivi molto più costosi a causa dei vincoli di memoria possono ora esistere nei mercati entry-level, rendendoli così molto più competitivi. E poiché prevediamo che molti di questi sistemi utilizzeranno l’USB per fornire energia, abbiamo aggiunto un controller USB senza cristalli. Infatti, gli ingegneri possono utilizzare il clock interno, evitando così la necessità di un cristallo esterno, che aumenta la distinta base e la complessità del layout del PCB.
Inoltre, nonostante la RAM e la Flash siano nettamente superiori, gli STM32C071 sono ancora disponibili nello stesso piccolo package TSSOP20 (6,5 mm x 4,4 mm). Questo ha spinto alcuni clienti della ST a puntare sul nuovo dispositivo perché apre le porte ad applicazioni molto più complesse nelle periferiche USB per PC con limiti di spazio. In precedenza, una simile quantità di RAM e di flash richiedeva die di silicio più grandi che non potevano essere inseriti in un alloggiamento di questo tipo. Tuttavia, grazie all’esperienza litografica di ST, l’STM32C071 è in grado di fornire una quantità di memoria sostanzialmente maggiore pur utilizzando lo stesso package dell’STM32C031.
GUI per tutti
Un’altra importante funzionalità annunciata dall’STM32C071 è la possibilità di pilotare interfacce utente che in precedenza richiedevano dispositivi più costosi. In effetti, una distinta base con un display TFT da 2,4 senza funzionalità touch, un STM32C071, 4 MB di flash esterna e un PCB a 2 strati può aggirarsi intorno ai 5 dollari, aprendo così molti più sistemi a un’interfaccia grafica. Nella nostra demo dell’interfaccia utente, che vuole imitare uno scenario reale, il codice TouchGFX occupa solo 102 KB, mentre il frame buffer parziale e il framework dell’interfaccia utente richiedono 20,8 KB di RAM. Le risorse hanno bisogno di quasi 900 KB di flash esterna, ma la presenza dell’interfaccia SPI fa sì che l’STM32C071 abbia una larghezza di banda sufficiente per evitare rallentamenti.
In effetti, l’entusiasmo del settore per questo lancio è esemplificato al meglio dal rilascio di nuove schede di sviluppo con display integrato da parte di Riverdi e TSD. Come abbiamo già detto sul blog, Riverside è famosa per i suoi display integrati STM32 e l’azienda ha già aggiornato il suo portafoglio con un nuovo modello dotato di STM32C071. Allo stesso modo, TSD ha rilasciato il suo “Knob”. Il display rotondo è destinato a piccoli sistemi embedded con interfacce rivolte al consumatore. Entrambe le società utilizzano un display IPS da 240 x 240.
Di conseguenza, l’STM32C071 è altamente simbolico perché porta più funzionalità e capacità dall’STM32G0 all’STM32C0. Oltre al controller USB, all’SPI aggiuntivo e all’interfaccia I2C, abbiamo anche un timer a 32 bit. Dopotutto, la nostra strategia è sempre stata quella di rendere accessibili a tutti i sistemi un maggior numero di funzioni. L’STM32C071 è quindi un nuovo elemento di supporto alla roadmap, in quanto colma il divario tra le MCU entry-level e l’STM32G0 che i team devono utilizzare per fornire lo stesso set di funzionalità ai loro clienti. Per questo motivo abbiamo anche assicurato la compatibilità del pin-out tra l’STM32C071 e l’STM32G0 e ora offriamo un nuovo package a 64 pin per il nuovo STM32C0.
Una nuova soluzione: un dispositivo a 32 bit come alternativa a un MCU a 8 bit
In che modo ST sta aiutando gli sviluppatori a passare ai 32 bit?

ST è consapevole che, nonostante tutti i vantaggi di un’architettura a 32 bit, i vincoli finanziari e fisici possono costringere alcuni team a utilizzare un’alternativa a 8 bit. Ecco perché l’STM32C0 ha pacchetti e prezzi che rivaleggiano con gli MCU a 8 bit. In parole povere, apre gli ingegneri a nuovi mercati consentendo loro di effettuare la transizione senza mandare in fumo il loro BoM o i progetti esistenti. Data la garanzia di affidabilità di ST, la capacità del nostro dispositivo di supportare temperature operative fino a 125ºC e le numerose periferiche, l’STM32C0 è l’MCU più conveniente oggi.
Inoltre, ST ha fatto in modo che il passaggio da un’architettura a 8 bit a una a 32 bit fosse il più efficiente e semplice possibile. Ad esempio, abbiamo pubblicato una nota applicativa con le linee guida per passare da un STM8L o STM8S a un STM32C0. Il documento approfondisce la migrazione delle periferiche e dimostra che il passaggio a un’architettura a 32 bit spesso comporta un aumento delle dimensioni del codice compreso tra il 6% e il 15% nella maggior parte dei casi. ST ha anche organizzato un webinar disponibile su richiesta, e l’ambiente di sviluppo STM32 può ottimizzare notevolmente le operazioni. Strumenti come STM32CubeMX e STM32CubeIDE, software di debug come STM32CubeProgrammer o pacchetti di espansione STM32Cube ottimizzano i flussi di lavoro e aiutano persino a riutilizzare il codice o i moduli.
In che modo l’STM32C0 facilita la transizione?

L’STM32C0 non è stato progettato solo per incoraggiare gli ingegneri a passare dai sistemi a 8 bit, ma anche per creare applicazioni entry-level più capaci. Di conseguenza, abbiamo lavorato per migliorare la densità di funzioni. L’STM32C0 ha quindi uno dei package più piccoli per un MCU generico grazie al suo alloggiamento QFN a 20 pin da 3 mm x 3 mm, possibile solo perché il die è così piccolo. ST offre anche una versione SO8N a 8 pin o un package WLCSP12 particolarmente sottile. Allo stesso modo, l’STM32C0 ha modalità di consumo energetico significativamente inferiori rispetto ad altri dispositivi a 8 bit, il che significa che è possibile creare progetti più efficienti.
In che modo l’STM32C0 è un trampolino di lancio verso sistemi più potenti?

I lettori più attenti avranno capito che il nuovo STM32C0 prende spunto dal STM32G0, che utilizza lo stesso core Cortex. Di conseguenza, la ST ha fatto in modo che gli sviluppatori potessero passare rapidamente dall’STM32C0 all’STM32G0. Ad esempio, la nuova MCU ha la stessa linea di alimentazione Vdd e Vss presente nell’STM32G0, semplificando i progetti di PCB e riducendo i costi. L’STM32C0 include anche un oscillatore RC interno ad alta velocità altamente preciso a 48 MHz. Di conseguenza, i progettisti non hanno bisogno di aggiungerne uno esterno, riducendo così il BoM complessivo. I due dispositivi condividono anche un ADC e dei timer simili e una configurazione di pinout coerente facilita il passaggio da uno all’altro.
Come iniziare a lavorare con l’STM32C0?
Primi passi
Il modo migliore per sperimentare con l’STM32C0 è procurarsi una delle schede di sviluppo. Il NUCLEO-C092RC e il NUCLEO-C051C8 permetteranno agli ingegneri di iniziare un progetto con gli ultimi membri della famiglia STM32C0. Come suggerisce il nome, la NUCLEO-C092RC è dotata di STM32C092, che supporta FDCAN e include anche un connettore FDCAN in modo che gli sviluppatori possano iniziare subito la loro prova di certificazione con l’interfaccia. L’MCU del NUCLEO-C092RC offre anche 256 KB di flash, mentre il NUCLEO-C051C8 ha un package a 48 pin e 64 KB di flash.
Siamo inoltre entusiasti di fornire il NUCLEO-C071RB. Grazie ai suoi 128 KB di flash e ai suoi 24 KB di RAM, è possibile pilotare un piccolo display 320 x 240 utilizzando un’interfaccia SPI, rendendolo così uno dei modi più convenienti per introdurre un’interfaccia grafica negli elettrodomestici e in altri elettrodomestici. Infatti, ST offre un’applicazione dimostrativa dell’interfaccia utente di un cuoci riso che può essere eseguita sulle nuove schede Nucleo e sulla X-NUCLEO-GFX01M2 che molti sviluppatori utilizzano quando iniziano un progetto su TouchGFX.
Il NUCLEO-C031C6 è un sistema Nucleo-64 tradizionale con un connettore Arduino Uno V3 per consentire agli utenti di impilare le schede di espansione. Il STM32C0316-DK utilizza lo stesso dispositivo STM32C031, ma in un bundle che viene fornito con STLINK-V3MINIE, la prima sonda STLINK a utilizzare una porta USB-C.. La scheda presenta anche un connettore DIP28 compatibile con il microcontrollore ATMEGA328 a 8 bit. È interessante notare che la scheda può accogliere anche dispositivi STM32G0. In questo modo è uno strumento di transizione per migrare alle applicazioni a 32 bit e sperimentare più facilmente con un MCU più potente.
L’STM32C0116-DK STM32C0116-DK è una piattaforma più piccola che utilizza l’STM32C011 in un modulo DIL20 in modo che i team possano rimuovere e condividere il modulo da una scheda all’altra. ST offre quindi un nuovo approccio alla prototipazione per rendere più pratici i flussi di lavoro creando una soluzione portatile e intercambiabile.