Un'unità microcontrollore (MCU) è essenzialmente un piccolo computer su un singolo chip. È progettato per gestire attività specifiche all'interno di un sistema integrato senza richiedere un sistema operativo complesso.
Questi circuiti integrati (IC) compatti contengono un core (o più core) di processore, una memoria ad accesso casuale (RAM) e una memoria di sola lettura programmabile cancellabile elettricamente (EEPROM) per archiviare i programmi personalizzati eseguiti sul microcontrollore, anche quando l'unità è scollegata dall'alimentazione.
A differenza dei microprocessori generici, i microcontrollori integrano periferiche di elaborazione, memoria e input/output (I/O), inclusi timer, contatori e convertitori analogico-digitale (ADC), in un'unica unità autonoma efficiente ed economica. Combinando più componenti in un unico sistema, i microcontrollori sono adatti per applicazioni che richiedono l'elaborazione del segnale in tempo reale, come il controllo di motori e servocomandi e l'interfacciamento con vari tipi di sensori e comunicazioni.
I componenti chiave di un microcontrollore sono i seguenti:
I microcontrollori sono ideali per l'elettronica di consumo alimentata a batteria, come smartphone, smartwatch e altri dispositivi indossabili, in quanto sono leggeri, piccoli e richiedono una potenza relativamente bassa.
Tra i preferiti dagli appassionati dell'open source, i microcontrollori a basso costo e le schede di sviluppo per microcontrollori, come quelli realizzati da Arduino e Adafruit, possono essere facilmente configurati all'interno di un ambiente di sviluppo integrato (IDE) utilizzando linguaggi di programmazione comuni come C, C++ e Python. Sebbene facilmente accessibili anche ai principianti, i microcontrollori vengono utilizzati con frequenza per controllare sistemi in una vasta gamma di applicazioni professionali, tra cui prototipazione, robotica, sistemi automobilistici, automazione industriale e applicazioni Internet of Things (IoT).
Microcontrollori e microprocessori hanno molti punti in comune. Entrambi possono essere descritti come processori a chip singolo in grado di eseguire la logica di calcolo ed entrambi sono estremamente preziosi nello sviluppo e nella proliferazione della tecnologia informatica generale. Tuttavia, i due componenti differiscono sia per l'architettura hardware che per l'applicazione.
La caratteristica distintiva di un microcontrollore è la combinazione di tutti gli elementi di calcolo necessari in un unico chip: i microcontrollori non richiedono circuiti esterni aggiuntivi per funzionare. Al contrario, i microprocessori sono costituiti da una CPU e diversi chip di supporto che forniscono memoria, interfaccia seriale, I/O e altre funzioni necessarie.
Mentre i termini microprocessore e CPU vengono talvolta utilizzati in modo intercambiabile, è più preciso descrivere i semiconduttori dei microprocessori come singoli circuiti integrati che contengono una CPU e possono essere connessi ad altri ausiliari esterni, come dispositivi di input/output.
La principale differenza tra questi due tipi di microchip è che i microcontrollori sono autonomi, mentre i microprocessori sono progettati per interfacciarsi con dispositivi ausiliari esterni.
Di conseguenza, compiti più generici e impegnativi che potrebbero richiedere hardware specializzato con maggiore potenza di elaborazione sono più adatti per i microprocessori. Compiti specifici all'interno di sistemi embedded, come il controllo di sensori o motori, invece, sono applicazioni più adatte ai microcontrollori.
Quando si confrontano microcontrollori e microprocessori, è utile considerare quattro caratteristiche chiave:
I primi tipi di microcontrollori sono nati dai progressi compiuti nella produzione di microprocessori quando i ricercatori hanno sviluppato tecniche per integrare CPU, memoria e componenti periferiche in singoli chip.
Agli ingegneri di Texas Instruments Gary Boone e Michael Cochran è attribuita la creazione del primo microcontrollore nel 1971. Produttori come Intel e vari fornitori di elettronica giapponesi li hanno seguiti rapidamente.
Oggi, decine di diversi produttori di microcontrollori, come Intel, NXP e Arm, offrono centinaia di opzioni diverse, dalle soluzioni generiche per hobbisti e dilettanti a soluzioni altamente specializzate per tecnici professionisti e tutti i tipi di settori.
Questi sono alcuni dei tipi di microcontrollori più diffusi:
Il tipo più semplice di microcontrollore, con elaborazione e memoria limitate, tipicamente utilizzato in piccoli elettrodomestici come giocattoli e telecomandi.
Con una capacità due volte superiore rispetto ai modelli a 8 bit, i microcontrollori a 16 bit vengono utilizzati per applicazioni più complesse, tra cui dispositivi medici, sistemi automobilistici e sistemi di controllo industriali.
Il tipo di microcontrollore più potente e ricco di funzioni, viene utilizzato per le applicazioni più esigenti, come le console di gioco, i dispositivi di intrattenimento e l'automazione industriale di alto livello.
I microcontrollori RISC incorporano un'architettura di progettazione che semplifica e migliora le operazioni eseguendo un numero inferiore di istruzioni di calcolo più velocemente rispetto ad altre metodologie, come l'architettura CISC (Complex Instruction Set Computer).
Precedentemente acronimo di Advanced RISC Machines, questi tipi di microcontrollori incorporano l'architettura ARM, incluso il moderno sottoinsieme ARM Cortex, che rafforza le prestazioni e l'affidabilità. I microcontrollori ARM sono ampiamente utilizzati nei dispositivi mobili, nei sistemi automobilistici e nei sistemi di controllo industriali.
Sviluppato da Microchip Technology, il microcontrollore PIC è il microcontrollore più piccolo al mondo, che si trova frequentemente nella robotica, nell'automazione domestica e industriale e nei sistemi di energia rinnovabile.
Comunemente utilizzati nelle applicazioni che richiedono l'elaborazione del segnale digitale, l'elaborazione video e le reti ad alta velocità, questi microcontrollori utilizzano array di porte programmabili a livello di campo (FPGA), che possono essere configurati e riconfigurati a livello hardware per ottenere risultati di elaborazione altamente versatili e personalizzabili.
IBM Cloud Infrastructure Center è una piattaforma software compatibile con OpenStack per gestire l'infrastruttura di cloud privati su IBM zSystems e IBM LinuxONE.
Scopri i server, lo storage e il software progettati per l'hybrid cloud e la strategia AI della tua azienda.
Trova la soluzione di infrastruttura cloud adatta alle esigenze della tua azienda e scala le risorse on-demand.