CORSO LAUREA MAGISTRALE IN SCIENZE
E TECNOLOGIE DELLE PRODUZIONI
ANIMALI
Tecnologie Informatiche ed
Elettroniche per le Produzioni
Animali
(corso TIE)
Massimo Lazzari
Scienze veterinarie per la salute,
la produzione animale
e la sicurezza alimentare – VESPA
Università di Milano
CORSO LAUREA MAGISTRALE IN SCIENZE E
TECNOLOGIE DELLE PRODUZIONI ANIMALI
Microcontrollori
TIE per le Produzioni Animali
Massimo Lazzari
Scienze veterinarie per la salute,
la produzione animale
e la sicurezza alimentare – VESPA
Università di Milano
MICROCONTROLLORI SONO DELLE MACCHINE DI CALCOLO
DEFINIZIONE
Dicesi PROCESSORE una tipologia di dispositivo hardware dedicato all'esecuzione
di istruzioni.
DEFINIZIONE
Dicesi MICRO-PROCESSORE una tipologia di processore la cui struttura hardware è
interamente contenuta in un circuito integrato.
OSSERVAZIONE
Un MICRO-CONTROLLORE contiene un (micro-)processore con un set di
istruzioni ridotto ed alcune periferiche dedicate.
PROCESSORI
(CPU)
m-PROCESSORI
(MPU)
m-CONTROLLORI (MCU)
DIFFERENZA DI ARCHITETTURA CON IN NORMALI PC
Periferiche
fuori
CPU
dentro
Tutto
dentro
QUALI SONO LE DIFFERENZE TRA MICROPROCESSORE E
MICROCONTROLLORE?
MICRPOCESSORE:
•
“cuore” di un computer, fisso o portatile che sia.
•
unico chip che ha bisogno di numerose integrazioni esterne aggiuntive per poter
funzionare, tra le quali la memoria, un oscillatore di clock, periferiche di ingresso e
uscita;
•
è utilizzato su quasi tutti i computer e i dispositivi digitali come telefoni cellulari e
scanner.
MICROCONTROLLORE:
• riunisce tutti gli elementi all'interno di un unico piccolo contenitore, e in teoria non ha
bisogno di altri componenti esterni per poter funzionare.
• tutto in un unico chip, compresa la memoria per il programma, la memoria RAM,
l'oscillatore di clock, il circuito di reset e le periferiche.
• le capacità di calcolo di un microcontrollore sono estremamente ridotte. Ad esempio la
memoria RAM è formata da qualche centinaio di celle, e di solito non è espandibile.
• I microcontrollori sono progettati per eseguire un piccolo insieme di funzioni
specifiche,
IN PARTICA I MICROCONTROLLORI SONO DEI VERI E PROPRI MINICOMPUTER
QUALI SONO LE DIFFERENZE TRA MICROPROCESSORE E
MICROCONTROLLORE?
QUALI SONO LE DIFFERENZE TRA MICROPROCESSORE E
MICROCONTROLLORE?
Microcontrollore:
• chip e viene utilizzato generalmente in sistemi cosiddetti “embedded”,
cioè per applicazioni specifiche di controllo digitale.
• interagisce direttamente con il mondo esterno tramite un programma residente
nella propria memoria interna e mediante l'uso di pin specializzati o
configurabili dal programmatore.
• è disponibile in tre fasce di capacità elaborativa: 8 bit, 16 bit e 32 bit.
• l'esecuzione delle applicazioni si basa su un'architettura hardware diversa da
quella che utilizzano i microprocessori. Mentre questi ultimi eseguono i
programmi applicativi sfruttando dispositivi di memoria di massa o a memoria
volatile, i microcontrollori eseguono il programma applicativo detto FIRMWARE
che è solitamente memorizzato su un dispositivo di memoria ROM.
RISOLVONO PROBLEMI TIPO:
ACCENDERE PER TRE VOLTE IL FARETTO PER SEGNALARE UN
ALLARME
SCHIACCIO 3 VOLTE L’INTERRUTTORE
PROGRAMMO IL MICROCONTROLLORE E
SCHIACCIO 1 VOLTA L’INTERRUTTORE
INTEGRAZIONE IN SISTEMI EMBEDDED
PER FAR CIO’ VENGONO POI INTEGRATI IN SCHEDE ELETTRONICHE PIU’ O MENO
COMPLESSE.
SI COMPERA IL MICROCONTROLLER PER REALIZZARE L’EMEBEDDED SYSTEM
SONO MOLTO PIU’ DIFFUSI DEI CALCOLATORI !!!!!
MICROCONTROLLORI
STRUTTURA
Il microcontrollore è un dispositivo che raggruppa su un unico chip le funzionalità di
un processore (cpu) ed un insieme di dispositivi/periferiche.
MICROCONTROLLORI
CAMPO DI APPLICAZIONE
Poiché presentano moduli hardware integrati come:
•
Converitori Analoci-Digitali e Digitali-Analogici (ADC e DAC)
•
Pulse Width Modulation (PWM)
•
Timer, Contatori e Real Time Clock (RTC)
•
PIN di ingresso/uscita (I/O)
•
Dispositivi di rete:
•
Bus SPI - Serial Peripheral Interface
•
Bus I2C - Inter Integrated Circuit
•
CAN Bus - Controller Area Network
•
UART - Universal Asynchronous Receiver-Transmitter
Sono adatti alla realizzazione di applicazioni
•
di controllo e di coordinamento;
•
di acquisizione ed elaborazione dei segnali (Digital Signal Processor - DSP).
MICROCONTROLLORI
REQUISITI
Un microcontrollore è chiamato in generale a rispondere ai seguenti requisiti.
Requisito
Caratteristica
Beneficio
Gestione ingressi / uscite
Porte di I/O con controllo fino al
singolo bit
Controllo efficiente di dispositivi
esterni quali attuatori,
teleruttori etc.
Comunicazione Periferiche
Porta seriale, SPI, I2C, UART,
CAN, etc.
Estensione delle funzionalità con
l’uso di periferiche esterne
Controllo di motori ed attuatori
Timer, Contatori, PWM
Facilità di programmazione
Gestione di programmi logico
sequenziali
Salti condizionati, istruzioni
logiche, etc.
Facilità di realizzazione del
software logico-sequenziale
Reazione ad eventi
Gestione degli IRQ prioritari
Facilità nella realizzazione di
sistemi Real Time
Acquisizione dati da sensori
ADC
Facilità di istallazione in
ambienti pre-esistenti
MICROCONTROLLORI
SETTORI DI APPLICAZIONE
Consumer Electronics
Telefoni cellulari, tablet, orologi, registratori, calcolatrici, mouse, tastiere, modem, fax,
schede sonore, caricatori di batterie
Building Automation
serrature per porte, sistemi di allarme, termostati, condizionatori, telecomandi, VCR,
frigoriferi, exercise equipment, lavatrici, forni a micro-onde, consolle, inverter fotovoltaici
Automotive
Centraline elettroniche, ABS, navigatore satellitale, entertainment, etc.
Settore industriale
Controllo di assi (posizione, velocità), Regolatori ON-OFF, Regolatori PID, etc.
MICROCONTROLLORI
MARKET SHARE
FONTE
MICROCONTROLLORI
VANTAGGI RISPETTO AI PROCESSORI GENERAL PURPOSE
1.
I microcontrollori sono derivati dai microprocessori, mantenendone le
caratteristiche peculiari, ma con un set di istruzioni ridotto.
2.
I microcontrollori permetto un utilizzo più semplice e specifico nelle
applicazioni industriali dove molte istruzioni dei microprocessori non
vengono utilizzate.
3.
I microcontrollori hanno subito grandi evoluzioni tanto da diventare anche più
potenti dei microprocessori, mantenendo un costo minore o uguale e un
utilizzo più rapido ed intuitivo.
4.
La velocità di esecuzione delle operazioni dei microcontrollori è nettamente
maggiore rispetto ai microprocessori.
MICROCONTROLLORI
VANTAGGI RISPETTO AI CONTROLLORI DEDICATI
1.
A differenza dei controllori dedicati, eseguono istruzioni pertanto:
–
Possono eseguire elaborazioni complesse;
–
Possono comunicare con altri dispositivi;
–
Possono essere ri-programmati;
2.
Come i controllori dedicati garantiscono protezione contro le copiature
–
la maggiore parte del single-chip offre la possibiltà di proteggere da lettura il
programma contenuto nella ROM;
3.
A differenza dei controllori dedicati, hanno funzioni avanzate di risparmio
energetico
–
le versioni CMOS supportano il modo di funzionamento stand-by: è possibile
bloccare, via software, attività della CPU e quindi ottenere correnti di
alimentazione molto basse;
MICROCONTROLLORI
MARKET SIZE
FONTE
SISTEMA DI SVILUPPO DEL SOFTWARE
OSSERVAZIONE
Ogni microcontrollore esegue un set di istruzioni (codice macchina) definito
dall’utente. È pertanto necessario utilizzare opportuni sistemi di sviluppo per caricare il
software nei microcontrollori.
DEFINIZIONE
Per SISTEMA DI SVILUPPO s’intende l’insieme di strumenti (kit) software e
hardware necessari alla generazione del codice macchina che deve essere eseguito
dal processore (implementazione del software), al suo collaudo e messa a punto (debug).
(E)EPROM / FLASH
SDK