L’STM32N6 è l’STM32 più recente e più potente ed il primo dotato di Neural-ART Accelerator, un’unità di elaborazione neurale (NPU) personalizzata in grado di raggiungere 600 GOPS, consentendo così alle applicazioni di apprendimento automatico che richiedevano un microprocessore accelerato di essere eseguite su un MCU. È anche la nostra prima MCU Cortex-M55 ed è una delle poche del settore a funzionare a 800 MHz. Inoltre, con 4,2 MB, l’STM32N6 include la più grande RAM mai incorporata in un STM32. È anche il nostro primo dispositivo ad includere la nostra GPU NeoChrom insieme a un codificatore hardware H.264. Di conseguenza, viste le sue capacità, ST offrirà anche una versione generica dell’STM32N6 senza NPU per renderlo ancora più accessibile.*
Indice dei contenuti
Qual è lo stato attuale del machine learning at the edge?
Democratizzare l’intelligenza artificiale sulle MCU

L’idea di eseguire un’applicazione di apprendimento automatico perimetrale è tutt’altro che nuova. ST ha contribuito a renderla popolare quando nel 2019 ha lanciato l’ STM32Cube.AI. La soluzione software converte una rete neurale in codice C ottimizzato per i microcontrollori STM32, garantendo così ottime prestazioni nonostante i vincoli di elaborazione e memoria. Ha permesso la creazione di applicazioni come il riconoscimento dei guasti sulle stampanti 3D e altri tipi di rilevamento e classificazione delle anomalie che ST ha reso accessibili grazie a strumenti come NanoEdge AI Studio. Tuttavia, le elevate esigenze computazionali di molti algoritmi di rete neurale superano le capacità dei microcontrollori classici, il che fino ad ora ha imposto l’utilizzo di un microprocessore dotato di NPU.
L’inevitabilità dell’intelligenza artificiale sulle MCU
Il punto è che, per quanto un microprocessore possa essere eccezionale, alcuni integratori avranno sempre bisogno di un microcontrollore. Le ragioni sono molteplici: dalla semplificazione della Bill of Materials (BOM) all’utilizzo di un sistema operativo real-time, fino al minor consumo energetico.” In ogni caso, l’intelligenza artificiale all’edge diventerà onnipresente solo quando sarà più accessibile su tutti i sistemi embedded. Di conseguenza, l’industria si sta unendo per rafforzare l’intelligenza artificiale sui microcontrollori e un numero sempre maggiore di MCU sta adottando una NPU. Tuttavia, queste unità di elaborazione neurale tendono a essere molto simili, se non identiche. ST, però, ha scelto una strada diversa. Abbiamo infatti adottato l’approccio unico di progettare una NPU internamente.
STM32N6: perché una NPU personalizzata?
La storia dell’acceleratore Neural-ART

Oggi possiamo rivelare che i nostri team hanno lavorato sull’acceleratore ST Neural-ART fin dal 2016. La soluzione software STM32Cube.AI che abbiamo rilasciato nel 2019 è stata direttamente influenzata dalla ricerca e dallo sviluppo condotti all’epoca sull’acceleratore ST Neural-ART. Poi, man mano che il settore ha adottato STM32Cube.AI e abbiamo visto come gli ingegneri utilizzavano le nostre soluzioni per creare prodotti innovativi di intelligenza artificiale, abbiamo modificato il nostro acceleratore Neural-ART per rilasciare qualcosa di unico. Nessun altro produttore di MCU generiche dispone di un ecosistema hardware e software per l’intelligenza artificiale edge così profondamente personalizzato e ottimizzato.
L’unicità dell’acceleratore Neural-ART
Concretamente, l’acceleratore Neural-ART nell’attuale STM32N6 ha quasi 300 unità di moltiplicazione-accumulazione configurabili e due bus di memoria AXI a 64 bit per un throughput di 600 GOPS. Si tratta di un valore 600 volte superiore a quello che è possibile ottenere con il nostro STM32H7 più veloce, che non dispone di una NPU. Questa architettura rivoluzionaria non solo consente di effettuare un maggior numero di operazioni per ciclo di clock e di ottimizzare il flusso di dati per evitare colli di bottiglia, ma è anche ottimizzata per il consumo di energia, con un’impressionante velocità di 3 TOPS/W.
ST ha anche fatto in modo che il suo acceleratore Neural-ART supportasse, al momento del lancio, un numero di operatori AI superiore a quello comunemente utilizzato nel settore. Il nuovo STM32N6 è già compatibile con il maggior numero di operatori AI di TensorFlow Lite, Keras e ONNX e ci impegniamo ad aumentare costantemente il numero di operatori supportati in futuro. Inoltre, la possibilità di utilizzare il formato ONNX significa che i data scientist possono utilizzare l’STM32N6 per la più ampia gamma di applicazioni AI. In parole povere, non volevamo solo fornire un hardware più ottimizzato rispetto alle soluzioni concorrenti, ma anche una piattaforma più accessibile che permettesse agli sviluppatori di utilizzare il loro attuale flusso di lavoro e di ridurre i tempi di commercializzazione.
STM32N6: cosa lo rende un MCU di punta?
Un potente Cortex-M55

L’STM32N6 è prima di tutto un STM32. Infatti, è il più potente STM32 di ST, soprattutto perché è il nostro primo microcontrollore a utilizzare un nodo di processo a 16 nm FinFET. Adottando questa tecnologia litografica, ci siamo assicurati di poter far funzionare il Cortex-M55 a 800 MHz. Inoltre, ci ha permesso di incorporare la più grande quantità di RAM in un STM32 e di includere numerosi IP. L’STM32N6 è dotato anche di un modulo Gigabit Ethernet con supporto per reti sensibili al tempo, sei interfacce SPI e due I3C, due ADC a 12 bit, quattro timer avanzati a 32 bit e altro ancora.
Una pipeline di telecamere unica nel suo genere
Poiché prevediamo che i clienti utilizzeranno l’STM32N6 con le telecamere nelle applicazioni di visione artificiale, grazie alla sua NPU e alle sue prestazioni complessive, abbiamo incluso il nostro più recente processore del segnale di immagine (ISP), lo stesso presente nell’STM32MP2 e compatibile con il software STM32 ISP IQTune. Il software consente agli sviluppatori di non dover ricorrere a costosi fornitori di servizi di terze parti per sintonizzare l’ISP sul sensore CMOS, sull’obiettivo, sulle condizioni di illuminazione e altro ancora. L’STM32N6 supporta anche MIPI CSI-2, quindi l’STM32N6 supporta l’interfaccia delle fotocamere più diffusa nelle applicazioni mobili senza bisogno di un ISP esterno compatibile con questa particolare interfaccia seriale della fotocamera. In questo modo, l’STM32N6 è in grado di elaborare più facilmente le immagini provenienti da più sensori di immagine e di garantire un sistema pronto per il futuro.
Una GPU 2.5D, molta RAM integrata e un codificatore H.264

Inoltre, l’STM32N6 offre una configurazione di memoria unica per gli sviluppatori di GUI. I 4,2 MB di RAM dell’STM32N6 sono in grado di memorizzare un doppio frame buffer per un display 1280 x 800. L’STM32N6 è dotato anche di interfacce flash SPI Octo e Hexa per recuperare le risorse nella flash esterna, con la cache delle risorse nella RAM esterna, senza rischiare un collo di bottiglia.
L’STM32N6 integra anche la nostra GPU NeoChrom, un encoder H.264 e un encoder e decoder JPEG. Grazie all’ampia RAM integrata e alle veloci interfacce flash, la nuova MCU di punta consente di realizzare nuove applicazioni come pannelli di sicurezza con ricche interfacce utente e streaming video dai sensori delle telecamere. Ciò significa anche che gli sviluppatori possono immaginare di eseguire una rete neurale insieme a un’interfaccia grafica senza dover utilizzare più MCU, poiché la NPU, la GPU e i codificatori e decodificatori multimediali possono scaricare il processore, consentendo così di avere molte più capacità su un unico dispositivo.
Un ecosistema completo di strumenti e partner
La personalizzazione dell’acceleratore Neural-ART e la nostra profonda integrazione con l’hardware dell’STM32N6 (la cosiddetta “vicinanza al metallo”) consentono a ST di fornire un ecosistema software completo. Questo ecosistema facilita e ottimizza notevolmente lo sviluppo di nuove applicazioni abilitate all’IA per tale microcontrollore. Si comincia con ST Edge AI Suite, un archivio di strumenti software gratuiti, casi d’uso e documentazione che aiutano gli sviluppatori a creare AI per l’Intelligent Edge, indipendentemente dal loro livello di esperienza. ST Edge AI Suite comprende anche strumenti come Edge AI Developer Cloud, che offre reti neurali dedicate nel nostro STM32 model zoo, una board farm per il benchmarking nel mondo reale e molto altro ancora.
ST si impegna a garantire che gli ingegneri possano lavorare con i framework esistenti. Per questo motivo abbiamo sviluppato una tecnologia di base (ST Edge AI Core) per ottimizzare e convertire le reti neurali dei framework AI più diffusi in modo da sfruttare appieno l’acceleratore Neural-ART. Inoltre, il nostro ecosistema mira a rafforzare la collaborazione con numerosi partner hardware e software e stiamo lavorando costantemente all’integrazione in ecosistemi più ampi. Ad esempio, gli sviluppatori possono utilizzare STM32Cube.AI insieme a NVIDIA TAO Toolkit, all’acceleratore AWS STM32 ML at the Edge o sperimentare il nostro model zoo su Hugging Face, che ospita un numero crescente di contenuti di STM32 AI.

Come iniziare?
L’STM32N6 è una nuova pietra miliare perché, come dimostrano la NPU, la GPU, la RAM integrata, il Cortex-M55, le periferiche e altre specifiche, trasforma le applicazioni di AI ad alte prestazioni su MCU consentendo nuovi casi d’uso, come la computer vision, l’elaborazione audio e altro ancora. Anche senza la sua NPU, l’STM32N6 si aggiudica la corona di ammiraglia STM32 elevando le applicazioni video e multimediali avanzate, consentendo di migliorare la UX e le UI complesse che in precedenza richiedevano MCU dedicati e più costosi. In poche parole, l’STM32N6 inaugura una nuova era dell’informatica rendendo più accessibili le applicazioni AI di fascia alta e all’edge.
Il modo migliore per entrare a far parte di questa rivoluzione è iniziare con una delle schede di sviluppo STM32N6 già disponibili. Attualmente offriamo una scheda Nucleo e un Discovery Kit, e abbiamo da poco rilasciato STM32CubeN6, un pacchetto software dedicato che include middleware ed esempi di codice. Abbiamo inoltre aggiornato la nostra ST Edge AI Suite per supportare questo nuovo dispositivo. Il TouchGFX Designer, dal canto suo, è ora fornito con il Board Support Package (BSP) specifico per il kit, permettendo così agli sviluppatori di prendere rapidamente confidenza con il nuovo hardware e creare interfacce utente di forte impatto. Siamo anche entusiasti di annunciare che ulteriori schede di sviluppo per l’STM32N6 da parte di terzi arriveranno prossimamente.