Professional Documents
Culture Documents
microcontrollori
A. S. 2007 2008
Microprocessori - Microcontrollori
Nicola Amoroso
namoroso@mrscuole.net
NA L1
http://www.mrscuole.net/anxapic/
1
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Cosa e un microcontrollore ?
> Un piccolo computer, contenente al suo interno tutti i
circuiti necessari al suo funzionamento, senza necessita` di
circuiti integrati esterni.
> Il microprocessore vero e proprio (core) e` il cuore del
sistema e si occupa di eseguire le operazioni matematiche
(ALU) , di spostare i dati fra le varie parti della memoria, di
incrementare i numerosi contatori necessari al
funzionamento.
> Tutti i dispositivi, interni, controllati dal microprocessore
prendono il nome di periferiche
NA L1
http://www.mrscuole.net/anxapic/
2
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Cosa e un microcontrollore ?
Un microcontrollore (C ) un dispositivo di
elaborazione dati simile al microprocessore (P )
Sul P sono basati tutti i calcolatori dai personal
computer ai mainframe
Sul C sono basati dispositivi per scopi industriali o
per applicazioni particolari (autronica, domotica,
telefoni cellulari, lettori DVD, video-camere, etc )
NA L1
http://www.mrscuole.net/anxapic/
3
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Cosa e un microcontrollore ?
Il microcontrollore contiene gli stessi elementi principali di un sistema programmabile:
Processore
Memoria
Elementi di Input/output
In un PC, questi sottosistemi, sono elementi (chips) separati collegati tra loro
mediante una connessione a bus[1], su un unico circuito stampato; il sistema
completo comunque gestito da una unit centrale che prende il nome di
CPU [microprocessore (P)].
Ogni sistema pu essere configurato per applicazioni particolari con CPU,
memorie e gestione di I/O opportune.
[1] Connessione a bus => Opportune linee in parallelo che collegano tra loro sistemi,
device, etc . Il numero delle linee dipende dai collegamenti da effettuare, comunque in
genere si utilizzano bus a 4, 8, 16, 32, 64, linee.
NA L1
http://www.mrscuole.net/anxapic/
4
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Cosa e un microcontrollore ?
In un microcontrollore (C), tutti gli elementi
indicati, sono presenti su un unico chip!
Il C gestisce tutte le condizioni di I/O,
i calcoli ed eventuali controlli
Sia i C che i P sono sistemi programmabili cio non possono operare senza
opportuno codice (programma) che una lista di istruzioni, mantenute in memoria
opportuna che viene eseguita in modo sequenziale in modo tale da soddisfare al
processo richiesto.
Per questi sistemi programmabili bisogna considerare oltre allo sviluppo hardware
(Interfacciamento), anche un opportuno sviluppo software in funzione del processo da
eseguire.
NA L1
http://www.mrscuole.net/anxapic/
5
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Memorie
Fondamentalmente vi sono due tipi di memoria:
Volatili
Non volatili
NA L1
http://www.mrscuole.net/anxapic/
6
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Memorie
E facile chiedersi: perch
NA L1
http://www.mrscuole.net/anxapic/
7
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Input e Output
Un sistema digitale programmabile non molto utile senza la possibilit di
poter scambiare (Leggere/Scrivere Read/Write) dati (Segnali elettrici) con
lesterno!
Parallela
NA L1
Seriale
http://www.mrscuole.net/anxapic/
8
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Input e Output
In una porta parallela i dati (digitali) vengono trasferiti contemporaneamente su pi
collegamenti paralleli tra loro (es. 8 bits, 16 bits, 32 bits, 64 bits, etc)
In una porta seriale i dati (digitali) vengono trasferiti 1 bit per volta su una singola
linea.
Potenzialmente la porta parallela pi veloce ma necessita di un numero maggiore
di linee di collegamento e quindi vi sono maggiori possibilit di errore nel processo
di scambio; lhw e il sw di gestione invece pi semplice rispetto alla trasmissione
seriale dove, il pacchetto dati
deve essere organizzato in
gruppi prima di procedere allo
scambio (possibilit di gestione
a pacchetti e in rete [Network
data]).
NA L1
http://www.mrscuole.net/anxapic/
9
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Input e Output
Ad esempio le stampanti di vecchia generazione colloquiavano con lunit centrale
del PC mediante la porta parallela (centronics), che inviava alla stampante 1 byte
(8 bit) per volta mediante un connettore multipin (25-36 pin.
Le nuove stampanti colloquiano con la unit centrale mediante un collegamento
seriale il quale permette lo scambio di 1 bit per volta. Il nuovo standard USB
(Universal Serial Bus) pu operare ad una velocit massima di 480 megabits/sec e
seppur pi lenta del collegamento parallelo , sicuramente, molto pi veloce
rispetto ai tempi operativi di una stampante. Il collegamento USB avviene con un
semplice e robusto connettore a 4 capi che fornisce anche, se richiesto dalla
periferica, la tensione di alimentazione necessaria al suo funzionamento (N.B. =>
Solo per periferiche che non assorbono molto).
Lo stadard USB comunque complesso per la gestione sw e richiede molta
accuratezza nella creazione di driver opportuni.
NA L1
http://www.mrscuole.net/anxapic/
10
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Input e Output
Una delle funzioni principali delle PORTE (registri) quella di separare il data-bus
della CPU con il bus esterno dellhw considerato; queste porte hanno anche la
funzione di immagazzinare temporaneamente i dati da scambiare (Buffer di
memoria) che successivamente possono essere trasferiti e processati nel modo
opportuno.
I registri (porte) di tipo seriale caricano i dati in parallelo dal bus interno della CPU
e poi inviano 1 bit per volta allesterno operando come uno shift-register. Se viene
adoperato un protocollo di trasmissione asincrono, come ad esempio un RS232
(COM PORT nei vecchi PC), oltre ai bit da scambiare, il protocollo pu contenere
anche bit di START, STOP e ERROR CHECK. In definitiva le vecchie trasmissioni
seriali di tipo asincrono, potevano avere pacchetti di 11 bit. Il protocollo USART
(Universal
Syncronus/Asyncronus
Receive/Transmit)
sar
sicuramente
NA L1
http://www.mrscuole.net/anxapic/
11
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Il P contiene :
> Una ALU (Arithmetic Logic Unit ) dove
avvengono i calcoli
> diversi registri per la memorizzazione
temporanea dei dati e la gestione delle istruzioni
> Un bus interno ad alta velocit
> circuiti di controllo e di temporizzazione per
coordinare tutte le attivit
> tre bus ( Data Bus , Address Bus , Control Bus )
per comunicare col mondo esterno ( dispositivi
di memoria , dispositivi di ingresso-uscita)
NA L1
http://www.mrscuole.net/anxapic/
12
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
..
NA L1
http://www.mrscuole.net/anxapic/
13
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
Porte di ingresso/uscita
http://www.mrscuole.net/anxapic/
14
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/
RISC significa :
Reduced Instruction Set Computing
Elaborazione con insieme di istruzioni ridotto
Le istruzioni perci :
Sono poche decine
Sono eseguite molto velocemente
non serve un clock molto elevato per un efficiente
funzionamento ( dai 4-8 MHz per i tipi pi semplici, fino a 33
- 50 MHz per i tipi pi evoluti)
NA L1
http://www.mrscuole.net/anxapic/
15
http://www.mrscuole.net/anxapic/
http://www.mrscuole.net/anxapic/