I microcontroller a meno di un dollaro rivoluzionano il mondo della progettazione embedded
Come progettista embedded con molti decenni di esperienza, sono allibito da quanto siano diventati economici i microcontroller. Recentemente, dando un'occhiata a quelli a basso costo, ne ho trovati a bizzeffe venduti a meno di un dollaro (e talvolta a pochi centesimi!) anche per ordini di un solo pezzo. Alla fine, ho stilato una lista di diversi microcontroller che costano meno di un dollaro al pezzo.
Tuttavia, il vero scopo di questo post non è tanto quello di mettere i microcontroller a basso costo a confronto tra loro, ma di raffrontarli con soluzioni alternative. Tenuto conto che il primo progetto con microcontroller di ogni sviluppatore è, a quanto pare, un LED lampeggiante, mi sembra più che opportuno confrontare questi microcontroller con il leggendario chip timer 555. Il timer 555 è stato il componente imprescindibile per i LED lampeggianti sin da quando è stato introdotto, molti decenni fa.
È apparso per la prima volta nel 1972, proposto da una società di semiconduttori che non esiste più. Il dispositivo in sé esiste ancora però e si può acquistare un chip timer NE555D prodotto da Texas Instruments per molto meno di un dollaro. Da notare che questo prezzo unitario è già paragonabile al microcontroller meno costoso elencato di seguito! E non dimentichiamo che per far lampeggiare un LED, un chip timer 555 da solo non è sufficiente, servono infatti anche resistori e condensatori. I microcontroller, dal canto loro, non hanno bisogno di componenti aggiuntivi.
Inoltre, i microcontroller sono molto più versatili. È anche vero che le riviste di elettronica pubblicano idee di progettazione di circuiti per timer 555 da ben 46 anni.
Devo confessare che il timer 555 avrà sempre un posto nel mio cuore tecnologico: fa ciò che deve fare, in modo affidabile ed efficace.
Tuttavia, né un chip timer 555 né LED lampeggianti possono competere con ciò che possono fare i microcontroller anche poco costosi. Questi ultimi infatti sono in grado di controllare sistemi embedded relativamente complessi. Possono essere utilizzati per il controllo dei motori, con il modesto supporto dato dall'aggiunta di qualche MOSFET di potenza. E non da ultimo, possono implementare interfacce uomo-macchina (HMI) semplici.
Tutti e quattro i microcontroller elencati di seguito includono multiplexer di ingressi analogici multicanale che pilotano convertitori analogico/digitale (ADC) con una risoluzione minima di 8 bit. Questi ADC possono semplificare notevolmente il lato analogico dei progetti in molti sistemi embedded.
Grazie a questi microcontroller a basso costo, il passaggio dei segnali da analogico a digitale dovrebbe avvenire quanto prima nella catena di elaborazione dei segnali del sistema. Di seguito vi presento alcune opzioni di MCU su cui riflettere:
EFM8BB10F8G-A-QSOP24R di Silicon Labs
Il microcontroller EFM8BB10F8G-A-QSOP24R fa parte della famiglia di dispositivi "Busy Bee" di Silicon Labs. Si basa sulla storica architettura fondata sul microprocessore 8051 a 8 bit. È dotato di 8 kB di memoria flash e 512 byte di RAM. Ha una frequenza di funzionamento di 25 MHz, implementa un'architettura a pipeline del core del processore 8051, quindi il 70% delle sue istruzioni viene eseguito in uno o due cicli di clock. Per le periferiche, il microcontroller EFM8BB10F8G-A-QSOP24R dispone di:
- I2C
- SPI
- Porta SMBus
- UART
- Contatore/timer programmabile a tre canali con un generatore PWM
- 4 timer a 16 bit
- Un ADC a 12 bit con 16 canali di ingresso analogici
- Due comparatori analogici
Tutti questi componenti di I/O sono integrati nel contenitore del microcontroller QSOP a 24 pin. Silicon Labs offre la suite di sviluppo Simplicity Studio 4, che include un assemblatore e compilatore Keil, un debugger, un app builder per IoT, un profiler di energia, un configuratore hardware e dimostrazioni preconfigurate.
ATTINY84A-SSUR di Microchip Technology
ATTINY84A-MMH rientra nella famiglia dei microcontroller AVR a 8 bit di Microchip (ex Atmel). Questo particolare dispositivo ha una memoria di programma flash da 8 kB, 512 byte di EEPROM e 512 byte di RAM. L'architettura AVR a 8 bit offre 120 istruzioni (la maggior parte eseguite in un ciclo di clock) e un file di registro da 32 byte. Il microcontroller ha una frequenza di funzionamento di 20 MHz. Per quanto riguarda le periferiche, il microcontroller ATTINY84A-MMH è dotato di:
- Un timer/contatore hardware a 8 bit e uno a 16 bit
- Due canali PWM
- Un ADC a 10 bit con 8 ingressi analogici a terminazione singola
- Un timer watchdog programmabile per evitare che il programma entri in un circolo vizioso
Per lo sviluppo del software sono inclusi compilatori C, assemblatori di macro, un simulatore e un debugger di programmi oltre ai kit di valutazione.
PIC10F220T-E/OT di Microchip Technology
Gli sviluppatori di sistemi embedded a basso costo hanno dato per molto tempo la preferenza alla serie PIC di Microchip. Il microcontroller PIC10F220 mette a disposizione 256 parole di memoria flash per le istruzioni (ogni parola di istruzioni è di 12 bit) e 16 byte di RAM. È dotato di un set di istruzioni semplice (solo 33 istruzioni da imparare) e tutte, tranne quelle di branch, vengono eseguite in un ciclo. Le istruzioni di branch richiedono due cicli. Il ciclo dell'istruzione è di 500 nanosecondi grazie a un clock interno a 8 MHz. Questo dispositivo ha 6 pin, quindi le periferiche sono multiplate sui suoi quattro pin di I/O. Per le periferiche, PIC10F220T-E/OT include:
- Un clock/contatore in tempo reale a 8 bit
- Un ADC a 8 bit con due canali di ingresso analogici esterni
- Ben quattro pin di I/O per uso generale.
Figura 1: Il microcontroller PIC10F220T-E/OT di Microchip multipla diverse funzioni analogiche e digitali sui suoi quattro pin di I/O. (Immagine per gentile concessione di Microchip Technology)
La suite di sviluppo MPLAB di Microchip include un compilatore C, un assemblatore, un linker e una libreria di oggetti.
ATTINY10-TSHR di Microchip Technology
Se state cercando un microcontroller veramente economico, è difficile battere ATTINY10-TSHR di Microchip (Figura 2). Questo microcontroller a 6 pin, 8 bit della serie AVR di Microchip ha molti contenuti apprezzabili. La maggior parte delle 54 istruzioni viene eseguita in un ciclo di clock e il dispositivo ha una frequenza di funzionamento di 12 MHz. Questa particolare versione della serie AVR include 1 kB di memoria di istruzioni flash e 32 byte di RAM. È difficile credere che in un dispositivo a 6 pin sia possibile integrare un grande supporto di I/O, ma ATTINY10-TSHR multipla le seguenti periferiche sui suoi quattro pin di I/O:
- Un canale di rilevamento tattile capacitivo
- Un timer/contatore a 16 bit con due canali PWM
- Un timer watchdog con un oscillatore su chip separato
- Un ADC a 8 bit con 4 ingressi analogici
- Un comparatore analogico
Figura 2: Il microcontroller ATTINY10-THSR è in grado di multiplare numerose periferiche sui suoi quattro pin di I/O. (Immagine per gentile concessione di Microchip Technology)
Il supporto per lo sviluppo del software è assicurato dalla suite Atmel Studio 7.0 con i consueti strumenti: compilatore, assemblatore, linker, ecc.
Prova a convincerti a non usare un MCU
Una volta i microcontroller erano costosi, oggi non più. La metodologia di progettazione embedded si è fortemente innovata grazie a microcontroller a basso costo come i quattro sopra elencati. Al giorno d'oggi, è consigliabile optare in prima battuta per gli economici microcontroller e solo dopo pensare perché non dovrebbe essere così per quasi tutti i progetti a basso costo.
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.
Visit TechForum


Steve Leibson è stato System Engineer per HP e Cadnetix, Editor in Chief per EDN e Microprocessor Report, blogger tecnologico per Xilinx e Cadence (solo per citarne alcuni), e ha collaborato come esperto di tecnologia in due episodi di "The Next Wave with Leonard Nimoy". Da 33 anni collabora con molti progettisti allo sviluppo di sistemi migliori, più veloci e più affidabili.


