Nel corso degli ultimi anni, il costo dei microcontrollori a 32 bit (MCU) è sceso decisamente tale da trovare ampia diffusione nei sistemi embedded. La sua architettura efficiente, scalabile e con un ampio set di istruzioni unito ai potenti tool di sviluppo, ha permesso di entrare decisamente nel mercato elettronico offrendo varie soluzioni, ciascuna ottimizzata per applicazioni specifiche. Negli ultimi anni si è notata anche la tendenza dei fornitori di chip a non sviluppare core ma ad acquistare la licenza da aziende come ARM. La ARM ha un ruolo chiave nel mercato attraverso i suoi progetti per MCU avanzati in una vasta gamma di applicazioni. La serie Cortex-M è orientata verso i dispositivi MCU mixed signal e low power. Come tale, la serie è ideale per applicazioni indossabili e Internet of Things (IoT). I processori ARM Cortex-M offrono decisamente una densità di codice superiore rispetto ad altre soluzioni con vantaggi significativi in termini di requisiti ridotti di memoria, massimizzando l'utilizzo di memoria flash on-chip.
Introduzione
La serie ARM Cortex di core comprende una vasta gamma di opzioni che offrono ai progettisti una grande quantità di scelta e la possibilità di utilizzarli in svariate applicazioni. Il portafoglio Cortex è diviso sostanzialmente in tre categorie:
- Cortex-A per sistemi ad alte prestazioni
- Cortex-R per applicazioni real time
- Cortex-M per core di microcontrollori in una vasta gamma di applicazioni embedded.
La domanda di prodotti sempre a basso costo con l'aumento della connettività (ad esempio il Bluetooth) e sensori analogici sofisticati (ad esempio accelerometri, touch screen) ha comportato la necessità di integrare dispositivi analogici con funzionalità più strettamente digitali. ARM ha investito nella linea Cortex-M a partire dal 2004, quando in primo luogo è stato rilasciato il Cortex-M3.
ARM (e i suoi partner) sono stati senza dubbio una delle principali cause della attuale rivoluzione degli smartphone.
Il Cortex-M offre una gamma di opzioni di base scalabili e compatibili: dalla ultra-low-power Cortex-M0+ al top-of-the-range Cortex-M7. Il core ARM più piccolo disponibile è il Cortex-M0. Offre prestazioni a 32-bit e occupa una eccezionale piccola area di silicio, con meno di 12.5μW / MHz. Il Cortex-M0+ si basa sulla M0 ottimizzando il consumo di energia per rendere il core del processore ad alta efficienza energetica. Il core M0+ consuma solo 9.8μW/MHz. I processori Cortex-M utilizzano la tecnologia Thumb-2 ARM che fornisce un'eccellente densità di codice. Con la tecnologia Thumb-2, i processori Cortex-M supportano una base fondamentale di istruzioni Thumb 16 bit estesa per includere le più potenti istruzioni a 32 bit. Con il rilascio del core Cortex-M7, ARM acquista un fondamentale ruolo nel mercato con una sana competizione nei sistemi embedded (Figura 1).
I System-On-Chip basati su core ARM Cortex-M hanno generato e stanno generando molta curiosità verso tutti gli utenti MCU, in grado di offrire sistemi con elevata esecuzione di codice e una ricca dotazione di periferiche e memorie. Le soluzioni M3 e M4 offrono sostanzialmente ulteriore capacità DSP per i chip mixed signal (MCU Kinetis basati su Cortex M4). Tutti i Cortex-M supportano l'interfaccia JTAG per il debug e la programmazione, dotati anche di interfaccia SWD (Serial Wire Debug) per la comunicazione (debug e programming) a soli due fili. La famiglia dei core M è adottata da numerosi produttori quali NXP (LPC1x00), STMicroelectronics (ST) STM32 e Texas Instruments (TI). Gli ARM Cortex-M sono designati per operare a frequenze molto basse, limitando a sua volta l’energia richiesta: l’intero processore ARM Cortex-M è grande quanto un singolo core ARM Cortex-A.
Low Power
Fondamentalmente, la progettazione di un prodotto indossabile consiste nell'uso di un piccolo ed efficiente (performance / potenza) microcontrollore a basso consumo. Un ingrediente essenziale è un processore che gestisca sensori di movimento, come ad esempio accelerometri o giroscopi, o sensori ambientali come pressione e/o temperatura. In più progetti, il processore esegue la "fusione" dei dati dai sensori per fornire informazioni più accurate. Altrettanto importante, è la trasmissione dati da e verso il cloud. In questi scenari, i progettisti si rivolgono spesso ai processori come ARM Cortex-M3 (Figura 2). Un esempio di una soluzione MCU Cortex-M3-based è la famiglia di MCU STM32 della STMicroelectonics che è stata distribuita in molti prodotti indossabili, come Fitbit Flex e il SmartWatch Pebble. Con i Cortex-M e le relative famiglie ultra low power si riescono ad ottenere tempi computazionali che alla fine danno un bilancio energetico sicuramente migliore rispetto ad altre soluzioni.
La combinazione tra Cortex-M e moduli bluetooth fornisce un approccio ideale per i prodotti indossabili che combinano funzionalità wireless.
Il Cortex M7 combina funzionalità floating point che permettono al core di essere impiegato in applicazioni che richiedono il controllo di precisione e accuratezza, la raccolta di informazioni del sensore e la capacità di fornire intelligenza integrata. Questo è l'ultimo e il più alto membro della famiglia di processori Cortex-M a basso consumo energetico, che permetterà ai partner di costruire una serie di MCU e SoC embedded per vari settori IoT e Wearable.
Tool
Per aiutare i progettisti nella prototipazione rapida e nella creazione di opportunità di innovazione nell'ambito degli indossabili e IoT, ARM mette a disposizione una piattaforma per avere un facile accesso alle più recenti tecnologie. ARM mbed (mbed.com) è una piattaforma open-source per lo sviluppo di prodotti e applicazioni Cortex-M-based che offre kit di sviluppo e strumenti gratuiti online e librerie open source. La piattaforma mbed consente agli sviluppatori di mixare componenti come MCU, radio e sensori, attraverso uno stack software per la connettività wireless tramite Bluetooth, Wi-Fi e cellulare. La piattaforma è il modo più veloce per creare dispositivi IoT interoperabili basati su microcontrollori ARM, fornendo nello stesso tempo tutti gli ingredienti chiave per costruire applicazioni sicure ed efficienti IoT attraverso OS mbed di ARM.
Conclusioni e considerazioni
Con i suoi processori al seguito, l'attenzione di ARM si è trasformata in un assemblaggio di ecosistemi circuitali, consentendo ai clienti di implementare funzionalità varie nel modo più efficiente e rapido possibile. Sul lato software, c'è una vasta gamma di sistemi operativi, compilatori, middleware, librerie di codice e altri strumenti che supportano i processori Cortex-M tramite l'ecosistema mbed. Questa ricca collezione di risorse rende possibile, e forse sorprendentemente facile, progettare un dispositivo indossabile con connettività Bluetooth a basso consumo energetico nell’ambito IoT nel giro di settimane o addirittura giorni. Naturalmente, si è parlato molto del fatto che il mercato a 8 bit potrebbe essere divorato dai dispositivi a 32 bit. Gli analisti di mercato stimano una crescita superiore per il settore dei 32 bit contro gli 8 bit, ma quest'ultimo sempre con un CAGR positivo e significativo. Forse non vi è dubbio che un MCU a 32 bit ha capacità prestazionali superiori ad un dispositivo a 8 bit, ma la scelta del progettista dipende da molte considerazioni, oltre a quelle tecniche anche dalla facilità di progettazione e varietà di scelta. In questo momento il mercato degli 8 bit continua ad avere la sua nicchia di mercato grazie alla disponibilità di molte soluzioni efficienti con un alto grado di applicazioni, derivante a sua volta anche dalla crescita di nuove soluzioni consumer. Contemporaneamente, le soluzioni a 32 bit continuano ad espandersi con una molteplicità di periferiche on-chip a prezzi sempre più competitivi. La Intel è un sano competitore dell’ARM con il suo Intel Quark che mira al mercato IoT e wearable dei Cortex-M. Il microcontrollore D2000 Intel Quark 32 bit con il suo kit di sviluppo comprende un nucleo ultra-low-power in esecuzione a 32 MHz, con 32 KB di flash integrata e 8 KB di SRAM. Sarà una bella sfida!
Il processore ARM Cortex-M7 è specificamente sviluppato per affrontare anche i mercati di elaborazione e controllo dei segnali digitali. Hanno ricevuto una grande attenzione nelle applicazioni embedded per l’ottimo power management. In tutto questo ricordiamo l’implementazione dei core ARM nelle FPGA con notevoli successi. L’acquisizione di Altera da parte di Intel potrà significare qualcosa ??
Bella panoramica sulle soluzioni ARM per IoT e Wearable. Forse, nella lista dei produttori, manca Atmel, tra l’altro con soluzioni che consentono anche a quelli che, da semplici appassionati, si vogliono cimentare anche in modo più professionale (penso ad Arduino M0 pro che consente questo; tra l’altro già ampiamente, in altri articoli, da voi citato).
Puoi dare, inoltre, qualche altro cenno su mbed.com ?
Grazie
ARM vuole mettere in piedi una piattaforma per l’IoT: un mercato in decisa espansione. Potrebbe essere molto utile anche nell’ambito dell’IIoT dove l’industrial sarà “iperconnessa”. mbed OS servirà a far dialogare i vari dispositivi IoT con varie versioni: Device Connector, mbed Device Server e mbed Client. A parte l’ultimo con l’obiettivo di client, il primo serve per la connessione ad un cloud e il secondo dovrebbe facilitare la raccolta/trasferimento dati tra i dispositivi.