Post on 09-May-2020
transcript
S. Salvatori - Microelettronica – marzo 2019 – (1)
Microelettronica
Corso introduttivo di progettazionedi sistemi embedded a microcontrollore
prof. Stefano Salvatori
Università degli Studi Roma Tre
S. Salvatori - Microelettronica – marzo 2019 – (2)
Dove siamo?
Elettronica II
Elettronica I
Elettronica dei sistemi digitali
Microelettronica
Siamo qui
S. Salvatori - Microelettronica – marzo 2019 – (4)
Identificazione dell'hardware
microcontrollori
DigitalSignalProcessors
FPGA
SingleBoardComputer
S. Salvatori - Microelettronica – marzo 2019 – (5)
Qual è l'obiettivo di questo corso?
e si pone come obiettivo quello di mettere in condizione i singoli studenti di poter iniziare a progettare applicazioni intelligenti su misura basate su microcontrollore.
→ trasferimento di tecnologie
→ acquisizione di conoscenze e competenze nella progettazione di sistemi embedded a microcontrollore.
Questo Corso cercherà di rispondere alla domanda:
“cos'è un microcontrollore?”
S. Salvatori - Microelettronica – marzo 2019 – (6)
Conosco i microcontrollori?
Un microcontrollore è un “computer in miniatura” che potete trovare in ogni genere di oggetti.
Quanti microcontrollori usiamo ogni giorno?
Un dispositivo equipaggiato di tasti, led, display o altoparlante, è probabile che abbia anche un microcontrollore.
S. Salvatori - Microelettronica – marzo 2019 – (7)
Conosco i microcontrollori?
Ogni giorno usiamo decine di uC!
Si parla spesso di sistemi di elaborazione
S. Salvatori - Microelettronica – marzo 2019 – (8)
Sistemi di elaborazione
● I sistemi di elaborazione si trovano ovunque
● Molti di noi pensano subito a computer di tipo desktop
– PC
– Laptop
– Mainframe
– Server
– ...
● Ci sono però altri tipi di sistemi di elaborazione
– Molti di uso comune ...
S. Salvatori - Microelettronica – marzo 2019 – (9)
Sistemi di elaborazione
– Automotive
– Elettronica di consumo
– Medicina
– Ricerca scientifica
– …
● Miliardi di prodotti ogni anno
● Circa 50 in ogni abitazione e in un'automobile
S. Salvatori - Microelettronica – marzo 2019 – (10)
Sistemi di elaborazione
● Una breve lista
ABSAuto-focusAvionicaCarica-batteriaCondizionatoriConsole per videogiochiControllo missileControllori di temperaturaDecoder MPEGForno a microondeFotocopiatriciGiocattoli elettroniciLettori CD/DVDLettore impronta digitale
LavastoviglieMacch. a controllo numericoModemRiconoscitori vocaliRouterScannerSistemi audioSistemi di guidaSistemi di sicurezzaSistemi di supporto vitaSistemi medicaliStampantiStazioni base per telefonia cellulareStrumenti elettronici
TelecamereTelefoni cellulariTelefoni cordelessTrasmissioneTelevisioneVideo game portatiliVideocitofoniVideosorveglianzaVideotelefoni ...
S. Salvatori - Microelettronica – marzo 2019 – (11)
Cos'è un sistema embedded?
● Si definiscono "embedded" tutte le applicazioni che usano un microcontrollore quale processore principale e qualunque applicazione basata su microprocessore che non sia già coperta da altre aree. Ad esempio, nella categoria rientrano elettrodomestici, sistemi di condizionamento, piattaforme di misurazione intelligenti, controllori per touch-screen, controllori per sensori e motori dove i processori sono il cuore della soluzione...
da ARM®
S. Salvatori - Microelettronica – marzo 2019 – (12)
Cos'è un sistema embedded?
Noi parleremo di “Sistemi Embedded a Microcomputer”.
Sistema: insieme di componenti tra loro interagenti per svolgere un prefissato lavoro in modo coordinato;
Embedded: letteralmente, “incastonato”, cioè nascosto;
Micro: piccolo;
Computer: che contiene, cioè, un processore, una memoria e i mezzi per lo scambio delle informazioni da e verso l'esterno.
Un po' più “accademica”
S. Salvatori - Microelettronica – marzo 2019 – (13)
Cos'è un sistema embedded?
Sinonimo di sistemi embedded è
Cyber-Physical System
coniato nel 2006 (*).
Infatti i sistemi embedded coniugano la potenza di calcolo di un computer (“l'intelligenza”) con oggetti fisici (sensori e attuatori).
(*) Helen Gill, National Science Foundation, USA
S. Salvatori - Microelettronica – marzo 2019 – (14)
Cos'è un sistema embedded?
I sistemi embedded dovono in qualche modo interagire col mondo esterno.
In particolare l'interazione è verso l'uomo e si parla di:
● HCI: human-computer-interface
oppure
● MMI: man-machine interface
input
output
S. Salvatori - Microelettronica – marzo 2019 – (15)
Cos'è un sistema embedded?
Una calcolatrice, però, ricorda troppo da vicino un computer.
Non dobbiamo confondere i sistemi embedded in generale solo con questo tipo di apparati.
S. Salvatori - Microelettronica – marzo 2019 – (16)
Noi tratteremo solo sistemi embedded a microcontrollore
Sarà necessario approfondire alcuni argomenti.
● Cos'è una CPU?
● Qual è l'architettura di un sistema a microprocessore?
● Come viene gestito l'interfacciamento?
● Come può essere sviluppato il software di gestione?
● ...
CPU
ROM
RAM
I/O
ADC
DAC
comp.meccanici
sensori
attuatori
Sistemi embedded a microcontrollore
S. Salvatori - Microelettronica – marzo 2019 – (17)
Sistemi embedded a microcontrollore
Hardware
PC-desktop
embedded
Sistema Software
firm
ware
S. Salvatori - Microelettronica – marzo 2019 – (19)
Il lavoro svolto da un sistema embedded a microcontrollore è nettamente diverso da quello eseguito da un PC
Reset Reset handler
Inizializzazione del sistema
Codice di startup (in C)
Inizializzaz.dell'hardware Elaborazione
Librerie inruntime
Routine diservizio delleinterruzioni
Sistemi embedded a microcontrollore
S. Salvatori - Microelettronica – marzo 2019 – (20)
Caratteristiche tipiche
● Singola funzionalità
– Esegue un unico programma, ripetutamente
● Vincoli molto stringenti
– Basso costo, basso consumo, leggero, veloce, …
● Real-time
– Generalmente deve reagire a stimoli dell'ambiente esterno
– Deve elaborare i risultati in tempo reale senza ritardi (eccessivi)
S. Salvatori - Microelettronica – marzo 2019 – (21)
Un esempio: videocamera
Processore CCD Processore pixel
Codec JPEG
D/A
A/D
Molt/acc
DMA controller
Memory controller Interfaccia ISA UART Contr. LCD
Contr. display
CCD
Dig
ital
Cam
era
Ch
ip
Microcontrollore
S. Salvatori - Microelettronica – marzo 2019 – (22)
Sviluppo
allestimento dell'hardware
scrittura firmware
collaudo
IDEA!
Importanza della documentazione
S. Salvatori - Microelettronica – marzo 2019 – (26)
Sezione Hardware
scheda LPC845-BRK
Mouser: http://www.mouser.it (cod. 771-LPC845-BRK);
Farnell: http://it.farnell.com (cod. 2985275);
Digikey: http://www.digikey.it (cod. 568-15261-ND).
S. Salvatori - Microelettronica – marzo 2019 – (31)
Sezione Hardware
scheda LPC845-BRK
Mouser: http://www.mouser.it (cod. 771-LPC845-BRK)
S. Salvatori - Microelettronica – marzo 2019 – (32)
Sezione Hardware
componenti aggiuntivi: chi ha già un po' di materiale
- una breadboard;
- ponticelli per breadboard;
- cavetti di collegamento;
- resistori di valore diverso(da centinaia a decine di migliaia di Ω);
- trimmer o potenziometri (da 10k e da 100k Ω);
- LED di vari colori;
- pulsanti;
- un LCD alfanumerico (16 caratteri su due righe).
es. Fan kit (Amazon)
S. Salvatori - Microelettronica – marzo 2019 – (33)
Sezione Hardware
componenti aggiuntivi: minimo necessario
- una breadboard;
- ponticelli/cavetti per breadboard;
- un LCD alfanumerico (16 caratteri su due righe);
- alimentazione per LCD.
S. Salvatori - Microelettronica – marzo 2019 – (34)
Sezione Hardware
componenti aggiuntivi: minimo necessario
Es. AMAZON:
- AZDelivery Kit Breadboard MB 102 (7,99 €);
- Display LCD retroilluminato generico 1602, 16 x 2 blu (5.50 €)
- KEESIN 10 (7,49 € / 10);
- Pin Pin Breaka (8,99 € / 60) ~14 €
S. Salvatori - Microelettronica – marzo 2019 – (35)
Sezione Hardware
componenti aggiuntivi: minimo necessario
Es. AMAZON:
- AZDelivery Kit Breadboard MB 102 (7,99 €);
- Display LCD retroilluminato generico 1602, 16 x 2 blu (5.50 €)
- KEESIN 10 (7,49 € / 10);
- Pin Pin Breaka (8,99 € / 60) ~14 €
S. Salvatori - Microelettronica – marzo 2019 – (36)
Sezione Hardware
componenti aggiuntivi: minimo necessario
Es. AMAZON:
- AZDelivery Kit Breadboard MB 102 (7,99 €);
- Display LCD retroilluminato generico 1602, 16 x 2 blu (5.50 €)
- KEESIN 10 (7,49 € / 10);
- Pin Pin Breaka (8,99 € / 60) ~14 €
S. Salvatori - Microelettronica – marzo 2019 – (37)
Sezione Hardware
componenti aggiuntivi: minimo necessario
Es. AMAZON:
- AZDelivery Kit Breadboard MB 102 (7,99 €);
- Display LCD retroilluminato generico 1602, 16 x 2 blu (5.50 €)
- KEESIN 10 (7,49 € / 10);
- Pin Pin Breaka (8,99 € / 60) ~14 €
S. Salvatori - Microelettronica – marzo 2019 – (38)
Sezione Hardware
componenti aggiuntivi: minimo necessario
Es. AMAZON:
- AZDelivery Kit Breadboard MB 102 (7,99 €);
- Display LCD retroilluminato generico 1602, 16 x 2 blu (5.50 €)
- KEESIN 10 (7,49 € / 10);
- Pin Breaka (8,99 € / 60) ~14 €
S. Salvatori - Microelettronica – marzo 2019 – (44)
Corso: architettura ARM (provvisorio)
● Generalità e cenni storici del processore ARM• Generalità sui microprocessori:
MU0• Architettura RISC
● Organizzazione dei registri interni• Stato ARM e stato Thumb• Registri generali e di stato in
modalità ARM e Thumb● Set di struzioni
• Panoramica delle istruzioni ARM• Istruzioni per la gestione di
stack• Istruzioni e salti condizionali
Concetto di pipeline• pipeline a 3 stadi in ARM7TDMI-S• Rischi delle pipeline
Eccezioni• Origine delle eccezioni e modalità
di gestione delle eccezioni• Vettori di interrupt e priorità
Memorie• Organizzazione delle memorie:
little e big-endian• Il modello di indirizzamento
standard di memoria in ARM• Comportamento dello stack
Architetture di bus• AMBA, ASB, AHB, APB
Sistemi di debug• Interfaccia JTAG
Organizzazione ARM7TDMI
S. Salvatori - Microelettronica – marzo 2019 – (45)
Corso: esercitazioni con MCUXpresso
● Compilazione, upload, debug di un progetto● uso di GPIO ● gestione timer● gestione LCD● gestione delle interruzioni● acquisizione da ADC● Macchine a stati di tipo sw● ...
Ogni gruppo deve avere a disposizione una propria postazione hw/sw con cui poter lavorare anche a casa (non è obbligatorio che ogni studente abbia la dotazione hw)
S. Salvatori - Microelettronica – marzo 2019 – (46)
Modalità d'esame: studente singolo
1. Sviluppo di un progetto con LPCXpresso: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
S. Salvatori - Microelettronica – marzo 2019 – (54)
Per casa
Scaricare la documentazione, sia per il sw che per l'hw, sul sito NXP
Documentazione
S. Salvatori - Microelettronica – marzo 2019 – (57)
Per casa
“Muoversi” per acquistare il materiale per le esercitazioni