appuntiDiIngegneria
Microcontrollori
Sommario
1.1. Microcontrollori ................................................................................................................................2
1.1.1. Architettura di un Microcontrollore ...............................................................................................4
1.1.2. Microcontrollori PIC ......................................................................................................................6
1.1.3. Arduino ....................................................................................................................................... 10
1.1.4. Microcontrollori AVR ................................................................................................................... 13
1
1.1. Microcontrollori
I microcontrollori sono dei dispositivi elettronici programmabili integrati su un unico chip, che
utilizzano una piattaforma hardware ad hoc e sono usati per la realizzazione di sistemi di controllo
digitale, in particolare sono spesso utilizzati per la progettazione dei sistemi embedded, cioè dei
sistemi di elaborazione di tipo special purpose, ovvero atti ad una determinata applicazione e non
riprogrammabili dall’utente. Quindi obiettivo dei Microcontrollori non è fare calcolo, ma eseguire
specifici controlli, si possono pensare come un’evoluzione dei Processori. Si analizzano le
caratteristiche principali dei Microcontrollori e le analogie rispetto i Processori:
Microcontrollori Processori
Tutti i loro componenti sono integrati in un unico chip, Solo la CPU e le caches sono integrate sul chip, la
compresa la Memoria. Memoria e le Periferiche sono esterne al chip.
Usano un’architettura di Harvard, con due memorie Usano un’architettura di Von Neumann con un’unica
Memoria sia per i dati che per le istruzioni, permettendo
separate per i dati e per le istruzioni, permettendo un più flessibilità nell’allocazione in Memoria.
parallelismo che aumenta l’efficienza del sistema.
La CPU al loro interno è RISC: presentano quindi un set di La CPU è CISC, hanno un set di istruzioni più ampio ed
istruzioni più limitato ed è privilegiata la ognuna di esse è più complessa ed ha un lunghezza
velocità/semplicità piuttosto che la versatilità. differente, è privilegiata dunque la versatilità e la varietà
piuttosto che la velocità e la semplicità.
Sono Special Purpose: hanno una potenza più Sono General Purpose: hanno una potenza
limitata,sono usati per applicazioni specifiche (spesso per maggiore,sono infatti usati per applicazioni che
eseguire sempre lo stesso identico compito), quindi sono richiedono elevate prestazioni computazionali dove i
più semplici ed economici. vincoli di costo e spazio non sono stringenti.
Il programma di gestione risiede al suo interno in Esegue un programma che risiede in un area di
un’apposita area di memoria non volatile di tipo ROM, Memoria esterna in quanto esso non risiede più al suo
EEPROM oppure FLASH. interno.
Non vengono realizzate pipelines lunghe e non ci sono Vengono realizzate pipelines lunghe e memorie grandi,
memorie molto grandi, tutto lo spazio che avanza sul per cui non avanza moto spazio per funzionalità
silicio viene utilizzato per integrare Periferiche aggiuntive.
(Funzionalità) aggiuntive come Watch Dogs, Leds,
Timers oppure Prescalers, di conseguenza ci saranno più
linee (pin) che escono dal chip.
Sono integrati dei convertitori A/D, comparatori e Non sono integrate queste funzioni, ed al posto del Timer
generatori di segnali. È presente sempre almeno un c’è il clock della CPU.
timer.
Utilizzare un Microcontrollore anziché un Processore comporta una serie di vantaggi quali:
Sono richiesti pochi chip;
Progetti semplici con costi meno elevati ed una bassa occupazione di spazio;
Richiesta poca potenza per alimentare il sistema; 2
Richieste poche connessioni esterne poiché quasi tutto ciò che serve è già integrato sul
chip;
Molti pin disponibili per l’ I/O in quanto sono richiesti solo pochi pin per i Bus;
Affidabilità globale elevata dato il basso numero di componenti ed interconnessioni;
Non è richiesto un Sistema Operativo vista la semplicità.
Ma si dovrà tenere conto anche di una serie di svantaggi e limitazioni:
Flessibilità ridotta: non si possono modificare facilmente le funzioni progettate sul chip;
Possibilità espansione memoria e I/O limitata o inesistente;
Limitata banda di trasferimento dati per via dei limiti di velocità dei singoli chip;
Basse prestazioni dell’ I/O dovute alla necessità di mettere tutto su un solo chip.
Si può trovare un Microcontrollore in ogni genere di dispositivo, ad esempio:
Prodotti per l’informazione personale:
Telefoni cellulari
Orologi
Registratori
Calcolatrici
Componenti Laptop:
Mouse
Tastiere
Modem
Fax
Schede sonore
Caricatori di batterie
Applicazioni Home:
Serrature per porte
Sistemi di allarme
Condizionatori
Telecomandi
Settore industriale:
Regolatori industriali
Controllo di assi (posizione, velocità, etc)
Un Microcontrollore lavora in base ad un programma installato in una memoria non volatile: la
programmazione è tipicamente in linguaggio Assembler e differisce da una casa produttrice
all’altra, ma a volte utilizza anche altri linguaggi come il C o il Visual Basic, che però se inerenti
nell’ambito di un Microcontrollore prendono l nome di MikroC e MikroBasic (per via della
semplicità perché hanno un numero di librerie e funzionalità ridotte). 3
1.1.1. Architettura di un Microcontrollore
Viene adesso mostrata l’architettura tipica di un Microcontrollore:
Come si può
-
Tutte le esercitazioni Microcontrollori
-
Tutta la teoria dei microcontrollori
-
Calcolo dispersioni termiche - raccolta di 6 esercizi per il I° parziale
-
Antropologia - parte 6