Rispondere ai requisiti delle applicazioni in modo più efficace con gli MCU ARM® Cortex® ad alta integrazione
Contributo di Editori nordamericani di DigiKey
2024-06-04
Gli sviluppatori devono affrontare molte sfide per soddisfare una serie di requisiti in continua espansione sui prodotti intelligenti in applicazioni per i consumatori, il settore industriale, le città intelligenti e la sanità. Ogni applicazione presenta una serie di requisiti unici in termini di prestazioni, sicurezza, bassissimo consumo energetico, connettività wireless a lungo raggio e costi. Troppo spesso gli sviluppatori sono costretti a scendere a compromessi tra questi requisiti a causa della scarsa corrispondenza tra l'applicazione e le capacità delle unità microcontroller (MCU) disponibili.
Questo articolo presenta una serie di soluzioni di processori di STMicroelectronics in grado di offrire combinazioni di prestazioni, durata della batteria, sicurezza e connettività wireless che sono fondamentali per il successo dei progetti in un'ampia gamma di applicazioni.
Soddisfare i severi requisiti di sicurezza
Gli MCU bootflash STM32H7R/S di STMicroelectronics (Figura 1) offrono le prestazioni elevate, grafica, sicurezza e una distinta base minima per molti prodotti intelligenti destinati ad applicazioni industriali, di elettronica consumer, per le città intelligenti e la sanità. Basati su un processore ARM® Cortex®-M7 da 600 MHz con unità in virgola mobile (FPU) a doppia precisione, questi MCU sono dotati di grafica integrata, sottosistemi di sicurezza e una serie completa di periferiche e interfacce di connettività.
Figura 1: Gli MCU bootflash STM32H7R/S integrano un ARM Cortex-M7 ad alte prestazioni con una serie completa di periferiche, blocchi funzionali e funzionalità specializzate per realizzare prodotti intelligenti sicuri. (Immagine per gentile concessione di STMicroelectronics)
Oltre alla cache L1 dei processori, che comprende 32 kB di cache delle istruzioni e 32 kB di cache dei dati, questi MCU sono dotati di 620 kB di memoria statica ad accesso casuale (SRAM), 64 kB di flash embedded e interfacce multiple per l'accesso ad alta velocità alle memorie esterne. Questa combinazione di SRAM, flash embedded e accesso alla memoria esterna con capacità di esecuzione in loco (XiP) offre agli sviluppatori un alto livello di flessibilità nell'implementazione di sistemi embedded sicuri e ad alte prestazioni.
Per garantire la sicurezza delle applicazioni eseguite nella memoria esterna, gli MCU STM32H7S integrano anche tre motori di crittografia della memoria (MCE) che eseguono la codifica e decodifica al volo su memorie esterne non volatili o volatili, con un controllo programmato dell'accesso a ben quattro regioni diverse per ciascun MCE. In combinazione con ulteriori funzioni di sicurezza basate su hardware, tra cui l'analisi della potenza differenziale e la protezione contro gli attacchi a canale laterale, gli MCU STM32H7S sono certificati SESIP e PSA Assurance Level 3.
Per garantire l'esecuzione affidabile di attività time-critical, come le routine di servizio di interrupt, parte della SRAM è mappata sull'interfaccia di memoria strettamente accoppiata (TCM) dell'MCU, fornendo una memoria a stato di attesa nullo per istruzioni e dati critici. Per garantire l'integrità del sistema, l'MCU combina diverse funzioni di sicurezza con la sua flash embedded per consentire l'avvio sicuro e il controllo dell'integrità dell'applicazione, fornendo una radice di attendibilità (RoT) per il sistema e il software applicativo in esecuzione nella memoria su e non su chip. Se combinato con appropriati meccanismi di protezione basati su hardware, l'uso della flash embedded per memorizzare il bootloader di attendibilità offre vantaggi significativi in termini di flessibilità rispetto all'uso della memoria di sola lettura (ROM) negli MCU tradizionali.
Più percorsi per l'avvio sicuro
Per fornire la RoT essenziale alla sicurezza del sistema, l'avvio sicuro si basa su codice immutabile attendibile, sempre eseguito immediatamente dopo il reset del sistema. Questo codice verifica che nella fase successiva della sequenza di avvio del sistema sia eseguito solo software attendibile. Con gli MCU STM32H7R/S, gli sviluppatori hanno a disposizione più percorsi per l'avvio sicuro quando costruiscono sistemi attendibili. Possono utilizzare un firmware RoT precostituito o controllare autonomamente la sequenza di avvio (Figura 2).
Figura 2: Gli MCU STM32H7R/S offrono diversi percorsi di avvio per semplificare lo sviluppo. (Immagine per gentile concessione di STMicroelectronics)
Dopo il reset del sistema, tutti gli MCU STM32H7R/S iniziano la sequenza di avvio eseguendo i servizi sicuri di radice attendibile (RSS) situati nella memoria flash protetta del sistema. Le fasi successive della sequenza di avvio dipendono dal tipo di MCU e dalla scelta del percorso di avvio da parte dello sviluppatore. Per ogni percorso di avvio, gli MCU STM32H7R/S utilizzano il meccanismo di livello di protezione nascosto (HDPL) per garantire l'isolamento temporale di ogni livello di avvio. Quando la sequenza di avvio passa da un livello di avvio al successivo, il contatore HDPL incrementa e le risorse associate al livello di avvio precedente vengono nascoste dal livello corrente.
Mantenimento della RoT durante l'intera sequenza di avvio
Nel percorso di avvio dei sistemi di produzione basati su STM32H7R, RSS viene eseguito immediatamente al reset del sistema. RSS esegue il firmware RoT immutabile (iRoT) del produttore di apparecchiature originali (OEM) dalla memoria flash dell'utente. Poiché l'HDPL viene incrementato a questo livello successivo, RSS rimane nascosto al firmware OEMiRoT, che gestisce la fase successiva della sequenza di avvio. Se l'applicazione è progettata per supportare il firmware RoT aggiornabile (uRoT), l'OEMiRoT esegue il firmware OEMuRoT dalla memoria esterna. Nella fase finale della sequenza di avvio, il firmware OEMiRoT (o OEMuRoT opzionale) esegue il codice applicativo. L'HDPL assicura che l'RSS, l'OEMiRoT e l'OEMuRoT opzionale siano tutti nascosti all'applicazione.
I sistemi di produzione basati su STM32H7S possono essere configurati per seguire un percorso di avvio simile a quello dei sistemi STM32H7R, lasciando il controllo completo del processo di avvio allo sviluppatore. Con gli MCU STM32H7S, gli sviluppatori possono anche scegliere un percorso altamente sicuro che richiama il firmware iRoT (STiRoT) precostituito di STMicroelectronics dalla memoria flash di sistema protetta.
Nel percorso di avvio abilitato da STiRoT, una routine (iLoader) nella flash embedded protetta carica il codice per il livello di avvio successivo nella SRAM interna. STiRoT controlla quindi l'integrità e l'autenticità del codice prima di consentirne l'esecuzione. Per i percorsi di avvio a una fase, iLoader carica il codice dell'applicazione nella SRAM. Per i percorsi di avvio a due fasi, iLoader carica OEMuRoT dalla flash esterna alla SRAM.
Una volta nella SRAM interna, il codice applicativo (o il firmware OEMuRoT) viene controllato per verificarne l'integrità e l'autenticità senza il rischio di un attacco durante la verifica del codice che risiede nella memoria esterna. Una volta convalidato, l'OEMuRoT esegue i controlli di integrità e autenticità sul codice applicativo prima della sua esecuzione. Gli sviluppatori possono facilmente estendere questo percorso di avvio a due fasi per convalidare gli aggiornamenti del codice applicativo o anche del firmware OEMuRoT (Figura 3).
Figura 3: Gli MCU STM32H7S consentono l'aggiornamento sicuro e l'avvio sicuro attraverso un processo a più fasi studiato per garantire l'integrità e l'autenticità del codice in ogni fase. (Immagine per gentile concessione di STMicroelectronics)
Durante il normale funzionamento nei sistemi di produzione, la flash embedded negli MCU STM32H7R/S si trova in uno stato chiuso, in cui viene eseguito il provisioning del firmware RoT e viene applicata una voce di avvio valida. Questi MCU forniscono inoltre un totale di quattro PRODUCT_STATE progettati per supportare l'intero ciclo di vita del prodotto (Figura 4).
|
Figura 4: Gli MCU STM32H7R/S operano in uno dei quattro PRODUCT_STATE studiati per supportare l'intero ciclo di vita del prodotto. (Immagine per gentile concessione di STMicroelectronics)
Gli sviluppatori possono controllare il PRODUCT_STATE in tre modi:
- Stato non volatile (NVSTATE), che imposta la memoria flash in uno stato aperto o chiuso
- OEM provisioned (OEM_PROVD), che definisce la stabilità dell'area di protezione HDP (protezione sicura nascosta) che garantisce che il codice eseguito in quest'area rimanga nascosto dopo l'avvio
- Metodo di autenticazione del debug (DBG_AUTH), che definisce il metodo utilizzato per aprire il debug del dispositivo
Con questi quattro stati, gli MCU STM32H7R/S supportano i requisiti di sicurezza di ogni fase critica del ciclo di vita del prodotto: sviluppo, produzione e distribuzione sul campo del prodotto (Figura 5).
Figura 5: Quando un prodotto passa dallo sviluppo e dalla produzione al campo, gli MCU STM32H7R/S possono proteggere il codice e i dati sensibili nella flash embedded, fornendo al contempo un accesso di debug autenticato quando necessario. (Immagine per gentile concessione di STMicroelectronics)
In pratica, l'autenticazione di debug offre una potente funzione di sicurezza concepita per rispondere alle sfide pratiche del supporto del ciclo di vita del prodotto. Per i sistemi di produzione che operano nello stato chiuso, gli sviluppatori possono utilizzare un protocollo di autenticazione che consente a un debugger sicuro di riaprire l'accesso senza compromettere l'RoT in una sessione di debug limitata. Nel debug di regressione completo, la sicurezza del codice e dei dati non è garantita.
Soddisfare la necessità di interfacce utente potenziate nei prodotti intelligenti
Sebbene la sicurezza resti fondamentale, i prodotti intelligenti dipendono da interfacce grafiche (GUI) sempre più sofisticate. Gli MCU STM32H7R/S soddisfano questo requisito grazie agli acceleratori grafici integrati. Tra questi, l'acceleratore Chrom-ART negli MCU STM32H7R3/S3 e l'unità di elaborazione grafica (GPU) NeoChrom negli MCU STM32H7R7/S7. Mentre l'acceleratore 2D Chrom-ART e la GPU NeoChrom 2.5D supportano più formati con operazioni di disegno e blitting, la GPU NeoChrom supporta le operazioni necessarie per il texture mapping (Figura 6).
|
Figura 6: L'acceleratore grafico Chrom-ART negli MCU STM32H7R3/S3 e la GPU NeoChrom negli MCU STM32H7R7/S7 forniscono le prestazioni grafiche e le funzionalità necessarie alle GUI dei prodotti intelligenti. (Immagine per gentile concessione di STMicroelectronics)
Per la valutazione e lo sviluppo, STMicroelectronics offre la scheda di sviluppo NUCLEO-H7S3L8 STM32 Nucleo-144 per STM32H7R3 e il kit Discovery STM32H7S78-DK per STM32H7S7.
Progettata per lo sviluppo rapido di prototipi, la scheda Nucleo-144 integra un debugger/programmatore ST-LINK e offre LED, pulsanti e diverse opzioni di connettori per la scheda. Il kit Discovery STM32H7S78-DK offre Wi-Fi, diversi LED e pulsanti, un debugger/programmatore STLINK-V3EC e diversi connettori su scheda, tra cui due USB Type-C® e un connettore Ethernet RJ45.
Per lo sviluppo software, STMicroelectronics fornisce il pacchetto MCU STM32Cube come parte dell'ecosistema STM32Cube. Oltre ai moduli HAL (Hardware Abstraction Layer), ai BSP (Board Support Package) e alle API (interfaccia di programmazione di applicazioni) a basso livello di registro, il pacchetto MCU STM32Cube offre componenti middleware, stack di connettività e codice di esempio. Per lo sviluppo della grafica, l'azienda offre il framework grafico X-CUBE-TOUCHGFX, comprendente:
- Lo strumento TouchGFX Designer per lo sviluppo e la simulazione di applicazioni grafiche
- La libreria grafica accelerata via hardware TouchGFX Engine
- TouchGFX Generator, un plugin STM32CubeMX per configurare e generare il livello di astrazione TouchGFX utilizzato da TouchGFX Engine per accedere all'hardware e al sistema operativo sottostanti
Assicurare la lunga durata della batteria
Il minimo consumo di energia e la massima durata della batteria rimangono fattori chiave per la progettazione in molti ambiti applicativi. Gli MCU serie STM32U0 di STMicroelectronics sono progettati per garantire il risparmio energetico e la durata della batteria richiesti in molte applicazioni industriali, medicali, di misurazione intelligente e per il mercato consumer. Basata su un processore ARM Cortex-M0+ a 56 MHz a bassissimo consumo, la serie di MCU STM32U0 si divide in tre famiglie per consentire agli sviluppatori di scegliere la configurazione ottimale di SRAM, flash e periferiche necessaria ai loro progetti.
La famiglia STM32U031 offre la configurazione più compatta con 12 kB di SRAM, fino a 64 kB di memoria flash, timer multipli, periferiche analogiche e opzioni di connettività (Figura 7).
Figura 7: Le tre famiglie della serie di MCU STM32U0 si basano su una serie crescente di caratteristiche presenti nella famiglia di MCU STM32U031. (Immagine per gentile concessione di STMicroelectronics)
Estendendo le caratteristiche della famiglia STM32U031, la famiglia STM32U073 aggiunge un controller LCD integrato, canali di connettività e periferiche analogiche aggiuntivi, 40 kB di SRAM e fino a 256 kB di memoria flash. La famiglia STM32U083 si basa su queste caratteristiche aggiungendo un acceleratore hardware Advanced Encryption Standard (AES).
Oltre all'elevata integrazione, tutti gli MCU serie STM32U0 offrono prestazioni a bassissimo consumo. In modalità di esecuzione, consumano solo 52 μA/MHz mentre operano con il loro regolatore interno a bassa caduta di tensione (LDO).
Gli sviluppatori possono scegliere tra diverse modalità a basso consumo, tra cui tre modalità di arresto, per ridurre al minimo il consumo energetico nelle applicazioni alimentate a batteria. Ad esempio, nella modalità di arresto con il consumo energetico più basso, gli MCU STM32U031 assorbono solo 630 nA con clock in tempo reale (RTC) o 515 nA senza RTC. In questa stessa modalità di arresto, gli MCU STM32U073 e STM32U083 richiedono solo 825 nA con RTC o 695 nA senza RTC. Tuttavia, tutte e tre le famiglie della serie STM32U0, funzionanti con un clock di riattivazione a 24 MHz, possono raggiungere la modalità di esecuzione da questa modalità operativa a basso consumo in soli 12,0 µs nella flash e 7,67 µs nella SRAM.
Nonostante il funzionamento a bassissimo consumo e grazie all'acceleratore di memoria adattativo in tempo reale (ART) integrato, questi MCU ottengono prestazioni equivalenti all'esecuzione in stato di attesa nullo da flash a una frequenza del processore di 56 MHz.
Per il supporto allo sviluppo, STMicroelectronics offre la scheda di valutazione NUCLEO-U031R8 basata su STM32U031, la scheda di valutazione NUCLEO-U083RC basata su STM32U083 e il kit Discovery STM32U083C-DK basato su STM32U083. Come per altri dispositivi della famiglia STM32, il pacchetto MCU STM32Cube per l'ecosistema STM32Cube dell'azienda fornisce moduli HAL, BSP, API di basso livello, middleware, stack di connettività e codice di esempio.
Connettività wireless a lungo raggio
Progetti efficienti con connettività wireless a lungo raggio sotto i gigahertz sono essenziali nelle applicazioni per l'Internet delle cose (IoT) destinate a città intelligenti, agricoltura, telemisurazione, telerilevamento e sistemi industriali. Molte di queste applicazioni devono mantenere comunicazioni affidabili nonostante le interferenze provenienti da fonti ambientali come la rete elettrica o i macchinari nelle vicinanze. Ciò indica l'uso di una connettività di rete ad ampio raggio resistente alle interferenze (LoRaWAN).
Il modulo STM32WL5MOCH6TR di STMicroelectronics offre una soluzione certificata LoRaWAN in grado di funzionare in Europa, Asia e America. Questa capacità operativa in più regioni risiede nel supporto del modulo radio per gli standard europei a 868 MHz e per quelli nordamericani a 915 MHz, che supportano una potenza superiore. Il supporto di più schemi di modulazione e il campo di frequenze lineari da 150 a 960 MHz consentono al modulo di supportare il funzionamento in tutto il mondo con vari protocolli di comunicazione standard e proprietari, come Sigfox, W-MBUS e mioty.
Basato su un'architettura dual-core che combina un ARM Cortex-M0+ e un ARM Cortex-M4, il modulo STM32WL5MOC combina il suo transceiver radio flessibile, fino a 64 kB di SRAM e fino a 256 kB di memoria flash con un sottosistema di sicurezza completo, timer, periferiche analogiche, interfacce di connettività, funzioni di controllo e componenti passivi per l'alimentatore a commutazione (SMPS) embedded. Inoltre, un Secure Element STSAFE-A100 di STMicroelectronics è incluso nella variante STM32WL5MOCH6STR (Figura 8).
Figura 8: Il modulo STM32WL5MOC offre una soluzione drop-in per la connettività sub-GHz, combinando la sua architettura dual-core con una radio flessibile, funzioni di sicurezza, più blocchi funzionali e componenti passivi. (Immagine per gentile concessione di STMicroelectronics)
L'ampia funzionalità integrata del modulo STM32WL5MOC e la certificazione LoRaWAN offrono ai progettisti una soluzione hardware drop-in ottimizzata per applicazioni wireless a lungo raggio. STMicroelectronics accelera ulteriormente lo sviluppo con una serie completa di risorse, tra cui la scheda di espansione B-WL5M-SUBG1, che combina un modulo STM32WL5MOC, 4 Mb di memoria flash, 256 kb di EEPROM, sensori per sistemi microelettromeccanici (MEMS) di STMicroelectronics, vari connettori per la scheda, LED e pulsanti. Per lo sviluppo software, il pacchetto MCU STM32CubeWL supporta le schede serie STM32WL come parte dell'ecosistema STM32Cube.
Conclusione
I prodotti intelligenti per applicazioni consumer, industriali, sanitarie e di altro tipo presentano livelli di sicurezza, consumo energetico, connettività e complessità progettuale che raramente corrispondono alle capacità di un singolo microcontroller. La serie di MCU STM32 offre ai progettisti un'ampia scelta di opzioni di elaborazione per garantire una corrispondenza ottimale tra i diversi requisiti di progettazione. Schede e software supportano i processori e semplificano lo sviluppo.
Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.



