Utilizzare un microcontroller a 8 bit ottimizzato per semplificare la progettazione di dispositivi con vincoli di risorse

Di Kenton Williston

Contributo di Editori nordamericani di DigiKey

Per i progettisti di dispositivi con vincoli di potenza e di spazio, come utensili elettrici, prodotti per l'igiene personale, giocattoli, elettrodomestici e comandi per l'illuminazione, tipicamente è sufficiente un'unità microcontroller (MCU) a 8 bit. Tuttavia, più le applicazioni si evolvono, più richiedono velocità elevate, opzioni periferiche più potenti e strumenti di sviluppo software più robusti. La migrazione a un'alternativa a 16 o 32 bit può essere utile, ma spesso a discapito di un contenitore di dimensioni maggiori e di una maggiore potenza.

Per risolvere questi problemi, i progettisti possono avvalersi di MCU basati sull'architettura 8051 che portano molti dei vantaggi dei processori a 16 e 32 bit nel dominio degli 8 bit. Lo fanno in un contenitore di soli 2 x 2 mm, offrendo al contempo un ambiente di sviluppo moderno.

Questo articolo descrive brevemente l'architettura 8051 e la sua idoneità per applicazioni con vincoli di risorse. Presenta quindi una famiglia di MCU basata su 8051 di Silicon Labs, descrive i principali sottosistemi e mostra come ciascuno risolve le sfide di progettazione più importanti. L'articolo si conclude con una discussione sul supporto hardware e software.

Perché utilizzare l'architettura 8051?

Quando si sceglie un MCU per un'applicazione con vincoli di spazio, i processori a 8 bit come l'affermato 8051 offrono molti vantaggi, tra cui un ingombro compatto, un basso consumo energetico e un design semplice. Tuttavia, molti processori 8051 hanno periferiche relativamente semplici, che ne limitano l'idoneità per casi d'uso specifici. Ad esempio, i convertitori analogico/digitali (ADC) a bassa risoluzione sono insufficienti per applicazioni ad alta precisione come i dispositivi medici.

Anche le frequenze di clock relativamente lente possono essere un problema. Il tipico MCU 8051 funziona a frequenze di clock tra 8 e 32 MHz, mentre i progetti più vecchi richiedono più cicli di clock per elaborare le istruzioni. Questa bassa velocità può limitare la capacità degli MCU a 8 bit di supportare operazioni in tempo reale come il controllo preciso dei motori.

Inoltre, gli ambienti di sviluppo software tradizionali per i processori 8051 non sono allineati con le aspettative dei moderni sviluppatori software. Se combinato con le limitazioni intrinseche dell'architettura a 8 bit, questo può portare a un processo di codifica lento e frustrante.

Le limitazioni dei tradizionali processori a 8 bit possono indurre gli sviluppatori a considerare la possibilità di migrare verso MCU a 16 o 32 bit. Sebbene questi MCU offrano un'ampia potenza di calcolo, periferiche ad alte prestazioni e ambienti software moderni, sono anche relativamente grandi. Ciò rende più difficile la loro integrazione in progetti con vincoli di spazio e portare a ritardi nello sviluppo o all'aumento delle dimensioni del progetto.

L'aumento delle dimensioni del codice e del consumo energetico associato agli MCU a 16 e 32 bit può anche risultare in progetti non ottimali. Questi inconvenienti sono particolarmente problematici per le molte applicazioni che non coinvolgono la matematica complessa e che quindi non beneficiano delle capacità avanzate di questi processori.

L'equilibrio ideale tra questi compromessi può non essere evidente all'inizio di un progetto, e cambiare processore a metà del ciclo di progettazione può ritardare lo sviluppo o compromettere le dimensioni o la funzionalità del prodotto. Pertanto, molti progetti con vincoli di spazio possono trarre vantaggio da un MCU basato su 8051 più capace, che porta molti dei vantaggi dei processori a 16 e 32 bit nel dominio compatto e a basso consumo degli 8 bit.

EFM8BB50 offre maggiori funzionalità agli MCU a 8 bit

Silicon Labs ha realizzato la famiglia di MCU a 8 bit EFM8BB50 tenendo conto di queste considerazioni (Figura 1). Questi MCU offrono prestazioni migliorate, periferiche avanzate e un moderno ambiente di sviluppo software.

Diagramma a blocchi dell'MCU EFM8BB50 di Silicon Labs (fare clic per ingrandire)Figura 1: Diagramma a blocchi dell'MCU EFM8BB50. (Immagine per gentile concessione di Silicon Labs)

Il cuore dell'MCU è il core CIP-51 8051, un'implementazione di Silicon Labs dell'architettura 8051 ottimizzata per aumentare le prestazioni, ridurre il consumo energetico e migliorare le funzionalità. Le prestazioni sono particolarmente degne di nota. In EFM8BB50, il core raggiunge velocità fino a 50 MHz e il 70% delle istruzioni viene eseguito in uno o due cicli di clock. Ciò conferisce agli MCU prestazioni notevolmente superiori rispetto ai tradizionali processori a 8 bit, dando agli sviluppatori la possibilità di realizzare applicazioni più complesse.

Gli MCU si distinguono anche per le loro dimensioni compatte. Le varianti a 16 pin della famiglia, come EFM8BB50F16G-A-QFN16, sono disponibili in contenitori di dimensioni pari a 2,5 x 2,5 mm. Le versioni a 12 pin, come EFM8BB50F16G-A-QFN12, sono ancora più piccole, con dimensioni del contenitore di 2 x 2 mm.

Nonostante queste dimensioni ridotte, gli MCU EFM8BB50 sono dotati di una serie impressionante di funzioni, tra cui:

  • Un ADC a 12 bit, essenziale per le applicazioni che richiedono dati precisi dai sensori
  • Un sensore di temperatura integrato che consente all'MCU di monitorare la propria temperatura interna o la temperatura ambiente senza la necessità di componenti esterni
  • Un array di contatori programmabili (PCA) a tre canali con modulazione della larghezza di impulso (PWM) in grado di generare segnali PWM per il controllo dell'uscita variabile in applicazioni quali il controllo dei motori e il dimmeraggio dei LED
  • Un motore PWM a tre canali con inserzione del tempo morto (DTI) per il controllo aggiuntivo dell'elettronica di potenza, come i driver dei motori o i convertitori di potenza

Altri ingressi/uscite (I/O) includono una serie di interfacce di comunicazione seriale, una serie di timer a 8 e 16 bit e quattro unità logiche configurabili Tutti i pin della famiglia MCU sono a 5 V e gli I/O digitali possono essere assegnati in modo flessibile per sfruttare al meglio il numero limitato di pin

Gestione del consumo energetico avanzata

EFM8BB50 incorpora diverse funzioni di gestione energetica per ottimizzare il consumo e prolungare la durata della batteria. Queste iniziano con diverse modalità di potenza, tra cui una di inattività che riduce la velocità di clock del core mantenendo attive le periferiche. La modalità di arresto va oltre, arrestando il core e la maggior parte delle periferiche e preservando il contenuto della RAM e dei registri. Alcune periferiche possono essere impostate per riattivare il core dalla modalità di arresto, a vantaggio delle applicazioni guidate dagli eventi che rimangono prevalentemente in uno stato di basso consumo.

Le opzioni di clock flessibili favoriscono ulteriormente il risparmio energetico. Un oscillatore interno di precisione elimina la necessità di oscillatori a cristallo esterni in molte situazioni d'uso, riducendo il consumo energetico complessivo. L'MCU supporta anche il controllo dei segnali di clock, che disabilita selettivamente i clock di varie periferiche, consentendo agli sviluppatori di spegnere quelli non utilizzati.

Anche le periferiche sono state progettate tenendo conto dell'efficienza energetica. In particolare, l'unità logica configurabile (CLU) può eseguire semplici funzioni logiche in modo indipendente, riducendo la necessità di riattivare il core dalle modalità a basso consumo per operazioni semplici. Inoltre, l'UART a basso consumo (LEUART) può funzionare in modalità di potenza in cui l'oscillatore primario è disattivato, consentendo la comunicazione seriale negli stati a basso consumo.

Supporto allo sviluppo intuitivo del software

Gli sviluppatori possono creare software per la famiglia EFM8BB50 con la suite Simplicity Studio di Silicon Labs. Questo ambiente è utilizzato per EFM8BB50 a 8 bit, per gli MCU a 32 bit e per i System-on-Chip sistemi. Di conseguenza, gli sviluppatori ottengono un ambiente moderno con le caratteristiche che si aspettano da processori più potenti. Ad esempio, offre un profilatore di energia che fornisce un profilo energetico del codice in tempo reale (Figura 2).

Immagine di Simplicity Studio di Silicon Labs, che include un profilatore di energia (fare clic per ingrandire)Figura 2: Simplicity Studio include un profilatore di energia che fornisce un profilo energetico del codice in tempo reale. (Immagine per gentile concessione di Silicon Labs)

Gli strumenti sono creati attorno a un ambiente di sviluppo integrato (IDE) con editor di codice standard del settore, compilatori, debugger e un motore di interfaccia utente (UI) per sviluppare interfacce moderne e reattive. Questo ambiente di sviluppo fornisce l'accesso alle risorse web e SDK specifiche del dispositivo, nonché a strumenti di configurazione software e hardware specializzati.

Simplicity Studio supporta anche Secure Vault di Silicon Labs. Una suite di sicurezza altamente avanzata con certificazione PSA di livello 3, Secure Vault consente ai progettisti di irrobustire i dispositivi per Internet delle cose (IoT) e di proteggere la loro superficie di attacco dalle crescenti minacce informatiche, allineandosi al contempo alle normative in continua evoluzione sulla sicurezza informatica.

Come muovere i primi passi con i kit di valutazione

Gli sviluppatori interessati a sperimentare EFM8BB50 possono prendere in considerazione il kit di esplorazione BB50-EK2702A mostrato nella Figura 3. Questo kit in fattore di forma compatto è allineato con le dimensioni della basetta sperimentale per facilitarne il collegamento a sistemi prototipali e hardware di laboratorio. È dotato di un'interfaccia USB, di un debugger SEGGER J-Link integrato, di un LED e di un pulsante per l'interazione con l'utente. Il kit è pienamente supportato dalla suite Simplicity Studio e può essere utilizzato con l'utility Energy Profiler. Vengono forniti esempi di software per ogni periferica, e le dimostrazioni riguardano il LED, il pulsante e l'UART.

Immagine del kit di esplorazione BB50-EK2702A di Silicon LabsFigura 3: Il kit di esplorazione BB50-EK2702A. (Immagine per gentile concessione di Silicon Labs)

Il kit comprende uno zoccolo mikroBUS e un connettore Qwiic. Questo supporto hardware aggiuntivo consente agli sviluppatori di creare e prototipare rapidamente le applicazioni utilizzando schede di serie di vari fornitori.

Gli sviluppatori interessati a un punto di partenza più completo possono utilizzare il kit BB50-PK5208A Pro illustrato nella Figura 4. Progettato per valutazioni e test approfonditi, questo kit contiene sensori e periferiche che dimostrano molte delle capacità dell'MCU.

Immagine del kit BB50-PK5208A Pro di Silicon LabsFigura 4: Il kit BB50-PK5208A Pro è utile per la valutazione e i test approfonditi. (Immagine per gentile concessione di Silicon Labs)

Il kit Pro include la connettività USB, un LCD a bassissima potenza con memoria da 128 x 128 pixel, un joystick analogico a otto direzioni, un LED e un pulsante utente. È inoltre dotato del sensore di umidità relativa e temperatura Si7021 di Silicon Labs e di diverse fonti di alimentazione, tra cui USB e una batteria a bottone.

Per l'espansione, la scheda offre una basetta a 20 pin di 2,54 mm. Fornisce inoltre piazzole di breakout per l'accesso diretto ai pin di I/O. Come il kit di esplorazione, il kit Pro supporta il profilatore di energia e viene fornito con esempi di software per ogni periferica.

Opzioni del debugger EFM8BB50

Silicon Labs offre diversi debugger per supportare i suoi MCU. Per il debug generale, l'azienda offre DEBUGADPTR1-USB, una scheda debug USB a 8 bit con un semplice connettore a 10 pin.

Il debugger Simplicity Link SI-DBG1015A offre funzionalità più specializzate e si collega all'interfaccia Mini Simplicity inclusa in entrambi i kit sopra citati. Oltre alle funzionalità di base, Simplicity Link offre ulteriori capacità, tra cui un debugger SEGGER J-Link, un'interfaccia di tracciamento dei pacchetti, una porta COM virtuale e piazzole di breakout per la facile tastatura dei singoli segnali.

Conclusione

I moderni MCU 8051, come EFM8BB50, portano nel dominio degli 8 bit le funzionalità tipicamente associate ai dispositivi a 16 e 32 bit. Grazie alla velocità di clock, alle periferiche ad alte prestazioni e al robusto ambiente di sviluppo software, questa famiglia di MCU offre agli sviluppatori il giusto mix di funzionalità per un numero crescente di applicazioni con vincoli di spazio e potenza, ma che richiedono maggiori prestazioni e flessibilità.

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