Accelerare i progetti di MCU e MPU con una piattaforma di sviluppo flessibile

Di Kenton Williston

Contributo di Editori nordamericani di DigiKey

I sistemi embedded e le loro applicazioni si stanno diversificando rapidamente, così come i processori che le rendono possibili. In risposta, i processori embedded si stanno facendo sempre più sofisticati, offrendo agli ingegneri un elenco crescente di opzioni spesso con caratteristiche che si sovrappongono. Sebbene un maggior numero di scelte sia sempre ben accetto, esaminare nei dettagli tutte le possibilità può richiedere tempi molto lungo e non è sempre fattibile. Per il successo in un ambiente dinamico, gli sviluppatori hanno bisogno di un mezzo per valutare rapidamente le diverse opzioni di silicio, dalle unità microcontroller (MCU) alle unità microprocessore (MPU), semplificando al contempo la prototipazione.

Un modo per aiutare i progettisti consiste nell'adozione di un approccio all'hardware basato sui componenti costitutivi. Combinando schede di sviluppo semplificate con un'ampia libreria di moduli di espansione e software di supporto, i progettisti possono creare combinazioni rispondenti alle loro specifiche esigenze.

Questo articolo esamina come stiano cambiando i requisiti di progettazione dei sistemi embedded e cosa significhino per la selezione dei processori. Illustra quindi come una piattaforma di NXP consenta ai progettisti di studiare più classi di processori, passando da MCU a basso consumo a MPU e processori applicativi di classe Linux altamente integrati.

I confini sempre più sfumati della progettazione embedded

Fino a poco tempo fa, la maggior parte delle applicazioni embedded rientrava in categorie ben definite. Le semplici logiche di I/O e di controllo erano appannaggio degli MCU a 8 bit; gli MCU a 32 bit gestivano compiti complessi in tempo reale. Le applicazioni che richiedevano un sistema operativo (OS) completo o un'interfaccia grafica utente (GUI) erano decisamente appannaggio degli MPU.

Oggi questi confini sono sfumati. Molte applicazioni tradizionali a 8 bit sono state spinte nel dominio dei 32 bit, in quanto le applicazioni precedentemente standalone aggiungono connettività sofisticata. Gli stack software complessi stanno proliferando nelle applicazioni in tempo reale, unendo le esigenze delle applicazioni MCU e MPU. Allo stesso tempo, l'intelligenza artificiale (IA) e l'apprendimento automatico (ML) sono integrati in una gamma sempre più ampia di applicazioni.

Anche le distinzioni tra le classi di processori sono diventate più labili. Gli MCU ad alte prestazioni sono ora dotati di acceleratori grafici e funzionalità IA/ML che un tempo erano riservate agli MPU di fascia alta. Gli MPU stanno aggiungendo funzionalità in tempo reale che in precedenza erano disponibili solo sugli MCU. Ad aggiungere complessità, la richiesta di grafica di alto livello, IA e altre funzioni sofisticate ha spinto l'introduzione di processori applicativi, con architetture prese in prestito dai cellulari.

Tutto ciò mentre l'innovazione continua ad accelerare. Tra l'inizio di un ciclo di progettazione e il lancio del prodotto, le dinamiche di mercato possono modificare sensibilmente i requisiti di un progetto. Ad esempio, un progetto headless (senza GUI) basato su MCU potrebbe inaspettatamente far spuntare un touchscreen, rendendo necessario il passaggio a un MPU. Per contro, il team di marketing di un prodotto potrebbe decidere all'ultimo momento che un prodotto di fascia alta debba essere accompagnato da una versione entry-level, innescando una ricerca sfrenata di un processore a basso costo.

Queste tendenze e questi cambiamenti hanno creato la necessità di un ecosistema di valutazione dei processori che consenta ai progettisti di esplorare facilmente le varie opzioni. Le schede di valutazione tradizionali hanno faticato a soddisfare questa domanda. Spesso destinati a dimostrare ogni caratteristica significativa di una famiglia di processori, tendevano a utilizzare progetti complessi ottimizzati per una gamma ristretta di applicazioni. Di conseguenza, l'impegno riversato in una scheda era raramente trasferibile a un'altra.

Una piattaforma flessibile consente la valutazione più rapida dei processori

Per rispondere alle esigenze dei progettisti di sistemi embedded, NXP ha affrontato il problema in modo innovativo, sviluppando la piattaforma di sviluppo FRDM (Figura 1). Anziché offrire tutte le funzioni possibili e immaginabili, le schede FRDM includono solo l'essenziale: processore, memoria e I/O di base. A queste, è possibile aggiungere funzionalità specifiche per le applicazioni attingendo al vasto ecosistema di basette di espansione Arduino (Arduino), Pmod (Digilent) e mikroBUS (MikroElektronika). NXP supporta questo approccio modulare dal suo Expansion Board Hub, che offre opzioni per display, sensori, interfacce di comunicazione e molto altro.

Immagine delle schede FRDM di NXPFigura 1: Le schede FRDM includono solo l'essenziale, lasciando funzionalità come display e I/O alle schede di espansione basate sugli standard. (Immagine per gentile concessione di NXP)

Questo approccio facilita l'estensione delle funzionalità e il riutilizzo dell'hardware nei vari progetti. Poiché i moduli di espansione condividono le stesse interfacce standard del settore, la stessa scheda periferica può essere valutata con diversi processori. Ad esempio, il progettista può convalidare un modulo di sensori su una piattaforma MCU entry-level, quindi riutilizzare quello stesso hardware con un MPU ad alte prestazioni, il tutto senza riprogettare il prototipo.

A rendere questa flessibilità così potente è l'ampiezza dei processori basati su ARM supportati dalla piattaforma FRDM. La linea inizia con MCU entry-level a bassissimo consumo e si estende fino a un'ampia gamma di dispositivi ricchi di funzionalità, tra cui opzioni personalizzate per il controllo motori, la grafica e la connettività wireless. Nella fascia alta, comprende MPU e processori applicativi con prestazioni di classe gigahertz (GHz) e funzionalità avanzate, come gli acceleratori IA.

Come iniziare con una scheda di sviluppo MCU entry-level

Il modello FRDM-MCXC444 (Figura 2) illustra le capacità della piattaforma FRDM. Questa scheda entry-level offre una base a bassissimo consumo per applicazioni embedded sensibili ai costi, con l'MCU MCXC444VLH. Questo MCU fa parte della serie MCX C di NXP, progettata per applicazioni in cui l'efficienza energetica e il basso costo sono fondamentali.

Immagine della scheda entry-level FRDM-MCXC444 di NXPFigura 2: La scheda entry-level FRDM-MCXC444 è dotata di un MCU a basso consumo serie MCX C (MCXC444VLH), un piccolo LCD e porte USB. (Immagine per gentile concessione di NXP)

MCXC444VLH si basa su un core ARM Cortex-M0+ che funziona fino a 48 MHz. Assorbe 54 µA/MHz in modalità di funzionamento a bassissimo consumo e solo 1,96 µA in modalità di sospensione profonda. Il basso assorbimento di corrente lo rende particolarmente adatto alle applicazioni alimentate a batteria.

Un'altra caratteristica distintiva di MCXC444VLH è il controller LCD a segmenti integrato, che supporta fino a 24 × 8 o 28 × 4 segmenti senza richiedere driver esterni. Include inoltre la funzionalità USB 2.0 Full Speed, senza la necessità di un cristallo esterno, riducendo così i costi in distinta base e la complessità della scheda.

La scheda FRDM-MCXC444 presenta queste caratteristiche con un LCD e USB integrati. Altre caratteristiche degne di nota sono l'accelerometro e il sensore di luminosità per la prototipazione di progetti basati su sensori. La scheda è un buon punto di partenza per i dispositivi alimentati a batteria che richiedono interfacce utente semplici e connettività periodica.

Controllo motori con una scheda di sviluppo MCU mainstream

Passando alla fascia media, FRDM-MCXA346 (Figura 3) evidenzia come la piattaforma FRDM supporti compiti di controllo più precisi. Questa scheda è destinata al controllo motori ed è dotata dell'MCU MCXA346VLQ, parte della serie MCX A di NXP, progettata per applicazioni mainstream che richiedono un'integrazione sofisticata.

Immagine della scheda di valutazione FRDM-MCXA346 di NXPFigura 3: La scheda di valutazione FRDM-MCXA346 è basata su un MCU MCX serie A (MCXA346VLA) e offre una ricca serie di funzionalità per il controllo industriale, tra cui CAN FD. (Immagine per gentile concessione di NXP)

Figura 1: MCXA346VLQ è basato su un core ARM Cortex-M33 che funziona a 180 MHz. Include 1 MB di memoria flash e 256 kB di memoria statica ad accesso casuale (SRAM), per un'ampia capacità di memorizzazione per il codice e i dati delle applicazioni. L'unità in virgola mobile (FPU) e le estensioni per l'elaborazione di segnali digitali (DSP) del processore la rendono adatta a complessi algoritmi di controllo.

Per le applicazioni di controllo motore, MCXA346VLQ offre un supporto hardware completo. Due moduli FlexPWM, ciascuno con quattro sottomoduli, forniscono fino a 16 uscite complementari di modulazione della larghezza di impulso (PWM) per il pilotaggio di motori c.c. brushless (BLDC) e sincroni a magneti permanenti (PMSM). Quattro convertitori analogico/digitali (ADC) a 16 bit campionano fino a 3,2 Msps per un monitoraggio preciso di più fasi del motore. Due moduli encoder/decoder in quadratura (eQDC) gestiscono la retroazione di posizione del rotore, mentre due moduli e/o/invertitore (AOI) forniscono la logica hardware per sequenze di controllo complesse.

La scheda FRDM-MCXA346 offre un accesso diretto agli I/O principali, tra cui USB Full Speed e CAN FD per le applicazioni di connettività di rete industriale. La scheda supporta interfacce parallele per display e telecamere, consentendo lo sviluppo di GUI senza la necessità di hardware esterno. Queste caratteristiche rendono la scheda particolarmente adatta allo sviluppo di apparecchiature industriali che richiedono un'interfaccia uomo-macchina (HMI).

Affrontare l'Edge IA con una scheda di sviluppo MPU ad alte prestazioni

Al vertice della gamma FRDM, FRDM-IMX8MPLUS (Figura 4) dimostra come la piattaforma vada oltre gli MCU e comprenda la progettazione di processori applicativi completi. Questa scheda si basa su MIMX8ML8DVNLZAB, un membro della famiglia i.MX 8M Plus di NXP che offre processori multi-core a più GHz e acceleratori IA.

Immagine della scheda di sviluppo FRDM-IMX8MPLUS di NXPFigura 4: La scheda di sviluppo FRDM-IMX8MPLUS si basa sull'MPU MIMX8ML8DVNLZAB della famiglia i.MX 8M Plus; include ampie interfacce multimediali e accelerazione IA. (Immagine per gentile concessione di NXP)

In particolare, la scheda FRDM-IMX8MPLUS combina quattro core ARM Cortex-A53 che funzionano fino a 1,8 GHz con un core dedicato Cortex-M7 in tempo reale che funziona a 800 MHz e un'unità di elaborazione neurale (NPU) che fornisce 2,3 TOPS. Questa architettura eterogenea è una solida base per la visione artificiale, il riconoscimento vocale e altre applicazioni di IA e supporta anche il controllo in tempo reale.

Per la multimedialità e la connettività, la scheda offre una serie completa di interfacce. Le uscite HDMI 2.0, MIPI-DSI e la doppia segnalazione differenziale a bassa tensione (LVDS) supportano lo sviluppo di display, mentre i doppi ingressi MIPI-CSI consentono l'integrazione di telecamere per applicazioni di visione. La rete e l'espansione sono altrettanto versatili, con Dual Gigabit Ethernet, USB 3.0 e un modulo tri-radio Wi-Fi 6/Bluetooth 5.4/802.15.4 integrato.

Accelerare lo sviluppo con supporto software completo

La flessibilità hardware della piattaforma FRDM è accompagnata da risorse software complete, destinate a semplificare lo sviluppo con l'intera gamma di processori. NXP supporta questo aspetto fornendo due percorsi di sviluppo software, uno per MCU in tempo reale e uno per MPU ad alte prestazioni.

Per lo sviluppo di MCU, NXP fornisce la suite di software e strumenti MCUXpresso, una suite completa per processori Cortex-M (come MCX C e MCX A) che comprende l'ambiente di sviluppo integrato (IDE) MCUXpresso, un'estensione VS Code, strumenti di configurazione e un kit di sviluppo software (SDK) di alta qualità. Questo percorso è specifico per le applicazioni in tempo reale e supporta gli IDE embedded più noti, come Embedded Workbench di IAR Systems e Keil MDK.

Per lo sviluppo di MPU su processori come i.MX 8M Plus, NXP offre un solido supporto per Embedded Linux, compresi BSP (board support package) per Yocto Project e Debian. Per iniziare rapidamente, NXP offre GoPoint, un repository di demo precostituite basate su Linux e guide passo-passo per applicazioni avanzate, come visione artificiale, IA e multimedialità.

Per accelerare la prototipazione sul lato MCU, NXP offre anche MCUXpresso Application Code Hub. Si tratta di un archivio centralizzato di esempi software e demo di applicazioni sviluppati da esperti e partner di NXP. L'hub fornisce oltre 180 esempi di codice che spaziano dal controllo motori al rilevamento e all'IA. Questi esempi sono progettati per funzionare direttamente con le schede FRDM, consentendo di migrare un prototipo applicativo realizzato su una scheda MCU FRDM a un altro MCU compatibile con modifiche minime.

Conclusione

Poiché i requisiti dei sistemi embedded si evolvono e si sovrappongono, gli ingegneri hanno bisogno di modi efficienti per sperimentare con più processori e prototipare rapidamente le loro idee. L'hardware modulare e le risorse software condivise della piattaforma FRDM di NXP facilitano questa esplorazione, supportando ogni aspetto, da MCU a basso consumo al controllo di fascia media fino a MPU abilitati per l'IA di classe Linux. Standardizzando l'espansione e il riutilizzo del codice, si accorcia il percorso dall'idea al prototipo funzionante, preservando al tempo stesso la flessibilità in funzione della scalabilità dei progetti.

DigiKey logo

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.

Informazioni su questo autore

Image of Kenton Williston

Kenton Williston

Kenton Williston ha conseguito un B.S. in ingegneria elettrica nel 2000 e ha iniziato la carriera come analista di benchmark dei processori. Da allora ha lavorato come redattore presso il gruppo EE Times e ha contribuito a lanciare e condurre numerose pubblicazioni e conferenze al servizio del settore dell'elettronica.

Informazioni su questo editore

Editori nordamericani di DigiKey