Microelettronica
Corso di progettazione su SoC
ARM:
Introduzione
Stefano Salvatori
Università degli Studi Roma Tre
([email protected])
Università degli Studi Roma Tre
Microelettronica 2013
Microprocessori e microcontrollori
Il termine “microprocessore” è
oggi di uso comune e diffuso.
Ad esso associamo le macchine di
calcolo di cui, sappiamo, esso
rappresenta il “cervello”.
Ma cosa dire di un
microcontrollore?
abbiamo idea in quale
ambito esso possa
trovare applicazione?
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
2
?
Con il corso si cercherà di dare una
risposta a domande di questo tipo:
cos’è un microcontrollore?
dove trova applicazione?
ma, soprattutto:
sono in grado di progettare un sistema
basato su microcontrollore?
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
3
?
Dove troviamo un microprocessore?
Dove troviamo un microcontrollore?
Conosco apparati che basino il loro
funzionamento su un microcontrollore?
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
4
Cos'è un
microcontrollore?
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
5
Cos'è un microcontrollore?
E’ un sistema che rispecchia l’architettura di un
computer (CPU, memorie, I/O)
Ha una modesta capacità di
calcolo
ma esegue le istruzioni piuttosto
rapidamente
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
6
System on a Chip
I moderni microntrollori rientrano nella categoria dei SoC, System on a Chip.
Nel chip è integrato una CPU (core) e diversi blocchi dalla funzionalità specifica:
 RAM e ROM;
 porte di interfacciamento (GPIO);
 ADC e DAC;
 hardware per la comunicazione:


UART
BUS

I2C, SPI, USB, CAN, LIN …
 Dispositivi per lo sviluppo

ISP, In System Programmable

ICE, In System Emulator
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
7

Applicazioni
Con un microcontrollore possiamo
realizzare sistemi che in logica
cablata richiederebbero molto
tempo sia per la progettazione che
la realizzazione
Viene impiegato in applicazioni
“embedded” stand-alone
Molto del lavoro di progettazione riguarda la definizione del
firmware
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
8
Dove troviamo un microcontrollore?
1
10
9
8
11 12 1
2
3
7 6 5
4
ci svegliamo al suono di una radiosveglia:
è il primo microntrollore con cui veniamo
a contatto
2
impostiamo la temperatura ambiente su
un termostato
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
9
Dove troviamo un microcontrollore?
3
10
9
prepariamo la colazione utilizzando
il forno a microonde
4
8
11 12 1
2
3
7 6 5
4
inseriamo l’antifurto
5
rispondiamo al telefono
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
10
Dove troviamo un microcontrollore?
6
comandiamo l’apertura
dell’automobile
7
10
9
8
11 12 1
2
3
7 6 5
4
e quella del cancello
8
oppure obliteriamo un
biglietto
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
11
Dove troviamo un microcontrollore?
9
guidiamo …
10
9
8
10
11 12 1
2
3
7 6 5
4
e giungiamo sul posto di
lavoro
11
o di studio
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
12
Dove troviamo un microcontrollore?
12
facciamo una pausa …
10
9
8
13
Università degli Studi Roma Tre
11 12 1
2
3
7 6 5
4
con gli amici
Microelettronica 2012
Stefano Salvatori
13
Dove troviamo un microcontrollore?
14
preleviamo dei soldi
al bancomat
10
9
8
15
11 12 1
2
3
7 6 5
4
o andiamo alla Posta
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
14
Dove troviamo un microcontrollore?
torniamo a casa e guardiamo un po’ di TV,
oppure vediamo un DVD, …
#
Università degli Studi Roma Tre
10
9
8
Microelettronica 2012
11 12 1
2
3
7 6 5
4
Stefano Salvatori
15
Dove troviamo un microcontrollore?
a fine giornata avremo preso contatto
anche con un centinaio di apparati basati
su microcontrollori
altri esempi:
 ascoltare musica
 usare una calcolatrice
 usare la lavatrice o la lavastoviglie
 ma anche il frigo o il condizionatore
 una fotocopiatrice
 un digital photo frame
 un giocattolo …
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
16
Dove troviamo un microcontrollore?
in un'automobile trovano posto decine di microcontrollori
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
17
Dove troviamo un microcontrollore?
… non in tutte
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
18
Obiettivi del corso
 Cosa è un microcontrollore
 progettare su misura applicazioni
intelligenti
 trasferimento di tecnologia
• conoscenza
• competenza
• progetti basati su microcontrollore
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
19
Corso: architettura ARM
 Generalità e cenni storici del
processore ARM
•
•
•
Generalità sui microprocessori:
MU0
Il set di istruzioni MU0
Architettura RISC
 Organizzazione dei registri
interni
•
•
Stato ARM e stato Thumb
Registri generali e di stato in
modalità ARM e Thumb
 Concetto di pipeline
•
•
 Eccezioni
•
•
•
Panoramica delle istruzioni
ARM
Istruzioni per la gestione di
stack
Istruzioni e salti condizionali
•
Origine delle eccezioni e
modalità di gestione delle
eccezioni
Vettori di interrupt e priorità
•
•
•
Organizzazione delle memorie:
little e big-endian
Il modello di indirizzamento
standard di memoria in ARM
Comportamento dello stack
•
AMBA, ASB, AHB, APB
•
Interfaccia JTAG
 Memorie
 Set di struzioni
•
pipeline a 3 stadi in ARM7TDMIS
Rischi delle pipeline
 Architetture di bus
 Sistemi di debug
 Organizzazione ARM7TDMI
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
20
Corso: LPC2103 e periferiche








Introduzione
Memoria di sistema
VIC PL190
Il controllo di sistema nel
μC LPC2103
Mappa e impostazione dei
pin
Porte di input/output
Conversione A/D e D/A
ADC
Università degli Studi Roma Tre









UART, I2C, SPI
Timer
Real Time Clock
Watchdog
Memoria Flash
Embedded ICE
Lo standard I2C
Collegamento seriale SPI
LCD standard HD44780
Microelettronica 2012
Stefano Salvatori
21
Corso: esercitazioni con l'LPC2103
 Compilazione, upload, debug di un
progetto
 uso di GPIO





•
•
comando di un LED on/off
lettura di un tasto
Gestione di tasto con interrupt
acquisizione da ADC
Gestione timer
Gestione LCD
RTC programmabile
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
22
Modalità d'esame
1. Sviluppo di un progetto con LPC2103:
a. stesura della documentazione
b. allestimento del prototipo
c. uso degli strumenti di sviluppo
d. progettazione del software
e. debugging e collaudo
2. Colloquio:
processore ARM
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
23
Riferimenti
 S. Furber “ARM, system-on-chip architecture”
2° ed., Addison Wesley
 S. Salvatori, “Introduzione alla progettazione
con gli LPC2000”, Aracne ed.
 NXP, “UM10161 LPC2101/02/03 User Manual”,
“LPC2101/02/03 datasheet”, www.nxp.com
 T. Martin, “The insider’s guide to the NXP
ARM7-based microcontrollers”, www.hitex.co.uk
 ARM Limited “ARM7TDMI-S Technical
Reference Manual”, r4p3,
http://infocenter.arm.com
Lucidi e materiale vario:
☞
www.ssalvatori.altervista.org
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
24
 La prossima volta:
Portare una pen-memory di almeno 4 GiB
per installare la live GNU/Linux e la
toolchain per lo sviluppo dei progetti
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
25
Domande
Stefano Salvatori (st. 50 - lab. 132)
☞
0657337091
[email protected]
Università degli Studi Roma Tre
Microelettronica 2012
Stefano Salvatori
26