Microelettronica - Altervista...S. Salvatori - Microelettronica – marzo 2019 – (11) Cos'è un...

58
S. Salvatori - Microelettronica – marzo 2019 – (1) Microelettronica Corso introduttivo di progettazione di sistemi embedded a microcontrollore prof. Stefano Salvatori Università degli Studi Roma Tre

Transcript of Microelettronica - Altervista...S. Salvatori - Microelettronica – marzo 2019 – (11) Cos'è un...

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 – (3)

Il caso di ST

ARM Cortex M0+

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 – (18)

Sistemi embedded a microcontrollore

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 – (23)

Il lavoro

in aula

S. Salvatori - Microelettronica – marzo 2019 – (24)

esercitazioni

dal livello “zero” ...

...a ...

S. Salvatori - Microelettronica – marzo 2019 – (25)

Sezione Hardware

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 – (27)

Sezione Hardware

scheda LPC845-BRK

S. Salvatori - Microelettronica – marzo 2019 – (28)

Sezione Hardware

scheda LPC845-BRK

S. Salvatori - Microelettronica – marzo 2019 – (29)

Sezione Hardware

scheda LPC845-BRK

S. Salvatori - Microelettronica – marzo 2019 – (30)

Sezione Hardware

Documentazione

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 – (39)

Sezione software

MCUXpresso IDE

S. Salvatori - Microelettronica – marzo 2019 – (40)

Sezione software

MCUXpresso IDE

S. Salvatori - Microelettronica – marzo 2019 – (41)

Sezione software

Documentazione

S. Salvatori - Microelettronica – marzo 2019 – (42)

Sezione software

MCUXpresso IDE

S. Salvatori - Microelettronica – marzo 2019 – (43)

Note sul corso

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 – (47)

Esempio d'esame: testo

S. Salvatori - Microelettronica – marzo 2019 – (48)

Esempio d'esame: testo

S. Salvatori - Microelettronica – marzo 2019 – (49)

Esempio d'esame: testo

S. Salvatori - Microelettronica – marzo 2019 – (50)

Esempio d'esame: sulla soluzione

S. Salvatori - Microelettronica – marzo 2019 – (51)

Esempio d'esame: sulla soluzione

S. Salvatori - Microelettronica – marzo 2019 – (52)

Per Casa

S. Salvatori - Microelettronica – marzo 2019 – (53)

Per casa

Scaricare MCUXpresso IDE sul sito NXP

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 – (55)

Per casa

S. Salvatori - Microelettronica – marzo 2019 – (56)

Per casa: download

S. Salvatori - Microelettronica – marzo 2019 – (57)

Per casa

“Muoversi” per acquistare il materiale per le esercitazioni

S. Salvatori - Microelettronica – marzo 2019 – (58)

Domande?

Stefano Salvatori

[email protected]

www.ssalvatori.altervista.org☞

“Se ascolto, dimentico. Se vedo, ricordo. Se faccio, capisco!”

Confucio