Sei sulla pagina 1di 15

Corso introduttivo sui

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

Le memorie volatili [RAM Random Access Memory] perdono i dati immagazzinati


quando non sono pi alimentate.
Le memorie non volatili [ROM Read Only Memory] mantengono i dati
immagazzinati anche in assenza di alimentazione.
In un PC una piccola ROM (2-4 Mb) usata per memorizzare le condizioni Hw e
Sw per lo start del sistema; esso contiene il programma BIOS (Basic Input Output
System); il sitema operativo della macchine (es. MS WindowsTM) e le applicazioni
del sistema (es. MS Word) vengono invece caricate in RAM prima di essere
eseguite e questo richiede abbastanza tempo.

NA L1

http://www.mrscuole.net/anxapic/
6

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Memorie
E facile chiedersi: perch

il SO non viene memorizzato in una

ROM? Diventa cos facilmente e velocemente accessibile!


La RAM veloce, sicura, compatta e semplice da gestire; il SO pu essere
cambiato o aggiornato senza toccare lhw del sistema, inoltre gli attuali SO sono
molto grandi e composti da pi sw collegati tra loro, ogni sw viene caricato in RAM
nel momento in cui serve mentre le altre applicazioni sono caricati su memorie
statiche molto capienti (es. HD, etc) e caricati in RAM solo quando servono.
Memorie ROM di tipo FLASH (Elettricamente riscrivibili) sono usate invece in
sistemi mobili di capacit limitata (es MP3 players, memory card, USB pen, etc)
questo perch questi sistemi utilizzano sw di

gestione facilmente aggiornabili,

infatti essi contengono microcontrollori la cui program-memory pu essere


riprogrammata.

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!

Le porte sono insiemi di Pin (Collegamenti mediante piedini), basati su


registri e insiemi di control-registers (registri di controllo) che permettono
lo scambio In/Out di dati in modo controllato mediante un opportuno
protocollo di comunicazione.

Vi sono due tipi fondamentali di porte (e quindi modalit di comunicazione):

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

approfondito in corsi opportuni in seguito.

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/

Il P ha bisogno per funzionare:

Di unampia area di memoria esterna sia di lavoro (RAM) che di


massa (hard disk ecc ) , dato che tratta grandi quantit di dati

Di interfacce verso dispositivi esterni di Input (tastiera,


mouse,scanner, hard disk, floppy , microfoni .)

Di interfacce verso dispositivi esterni di Output ( monitor, stampante,


altoparlanti, hard disk, floppy,modem )

Di potenza di alimentazione anche di decine di watt

..

NA L1

http://www.mrscuole.net/anxapic/
13

http://www.mrscuole.net/anxapic/

http://www.mrscuole.net/anxapic/

Il C invece possiede su un unico chip:

Una CPU RISC

Una piccola memoria di programma (EPROM-EEPROM)

Una piccola memoria di lavoro RAM ( alcuni KB)

Porte di ingresso/uscita

Contatori, timer, convertitore A/D

Uart, Pwm, interfacce di comunicazione di vari tipi

Contiene cio, sia quello che possiede un P (anche se in


quantit molto ridotta), sia parti che il P non possiede.
Ha ingombro minimo e richiede poca potenza di alimentazione
NA L1

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/