I Sistemi Embedded -...

29
Fondamenti di Informatica – I Sistemi Embedded © 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 1 FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Laureando LUCA DA RE Facoltà di Ingegneria Università degli Studi di Udine I Sistemi Embedded

Transcript of I Sistemi Embedded -...

Page 1: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 1

FONDAMENTI DI INFORMATICA

Prof. PIER LUCA MONTESSOROLaureando LUCA DA RE

Facoltà di IngegneriaUniversità degli Studi di Udine

I Sistemi Embedded

Page 2: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 2

Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (iviinclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine.Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministerodell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni susupporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell’autore. L’informazione contenuta in queste slide è ritenuta essere accurata alla data dellapubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senzapreavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (iviincluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione). In ogni caso non può essere dichiarata conformità all’informazione contenuta in questeslide.In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devonomai essere rimossi e devono essere riportati anche in utilizzi parziali.

Nota di Copyright

Page 3: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 3

I Sistemi Embedded• Un Sistema Embedded può essere definito come un sistema

informatico dedicato, progettato cioè per svolgere un compitopreciso e determinato (a differenza di quanto succede neisistemi general purpose)

• Il termine Embedded riflette il fatto che tali sistemi sono parteintegrante di sistemi più grandi di cui sono alla base delfunzionamento con compiti di controllo, elaborazione,memorizzazione, ecc.

• Il PC non è di per sé un S.E. sebbene sia talvolta utilizzato perrealizzare sistemi embedded; esso include diversi sistemiembedded (disco, CD, scheda video, …)

Page 4: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 4

Evoluzione dei Sistemi Embedded• L’utilità dei computer in sostituzione dei controlli meccanici o

umani fu subito palese sin dall’avvento dei primi esemplari dielaboratore alla fine degli anni ’40

• I primi esemplari di Sistemi Embedded si trovano già nei primianni ’50 , il primo campo di applicazione sono stati i sistemiReal-time

• Negli anni ’70 la tecnologia VLSI (Very Large Scale Integration) ha reso possibile l’integrazione di un’intera CPU su di un singolo chip

• Il primo microprocessore progettato per un’applicazione embedded era l’Intel 4004 che eseguiva semplici operazioniaritmetiche

Page 5: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 5

Evoluzione dei Sistemi Embedded• Dagli anni ’80 i microprocessori sono stati

sviluppati con diversi livelli di complessità

• Essi sono classificati in base alla dimensione della loro word:– Si parte da un microcontrollore a 8-bit è progettato

per applicazioni a basso costo ed include una memoria ed un dispositivo di I/O

– Fino ad arrivare ad un microcontrollore a 32-bit RISC che offre alte prestazioni ed una grande potenza di calcolo

Page 6: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 6

Principali requisiti

• I requisiti di progetto imposti ad un Sistema Embedded possono essere:– costi– dimensioni, prestazioni, consumi– tempi di sviluppo– flessibilità– aggiornabilità– robustezza

Page 7: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 7

Principali requisiti• Per sistemi prodotti in larga scala il costo finale è un

aspetto fondamentale.

• Il costo è profondamente legato alle scelte di progetto, i principali fattori che lo influenzano sono:– Scelta dell’architettura (distribuita, centralizzata, …)– Hardware (tipo di CPU, tipo e quantità di memoria,

periferiche di I/O necessarie)– Software (costi di progettazione e di sviluppo)– Licenze e diritti per HW e SW (librerie, ambienti di sviluppo,

compilatori, ambienti di testing)– Numero di pezzi prodotti

Page 8: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 8

Principali requisiti• In quanto a prestazioni si devono spesso rispettare

vincoli Real-Time

• Un sistema real-time esegue dei task con obblighi temporali

• Sistemi Hard real-time vs. Soft real-time– Nei sistemi Hard real-time i task devono terminare entro

specifiche deadline temporali.– Nei sistemi Soft real-time i task possono oltrepassare le

deadline senza per questo causare guasti o malfunzionamenti importanti

• I sistemi embedded molto spesso sono dei sistemi Hard real-time

Page 9: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 9

Principali requisiti• Un sistema embedded è progettato per

eseguire una sola o comunque poche specifiche applicazioni:

– Le applicazioni da svolgere sono note a priori, prima che il processo di progettazione inizi

– Spesso è opportuno garantire al sistema la flessibilità necessaria per i futuri aggiornamenti o per un eventuale riutilizzo del componente; normalmente si raggiunge questo scopo rendendo il sistema riprogrammabile

Page 10: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 10

Principali requisiti• La tendenza è quella di ridurre sempre di più

le dimensioni ed il peso

• Di notevole rilevanza è l'immunità ai disturbi: è necessario valutare come il sistema risponde alle fluttuazioni delle tensioni di alimentazione, alle interferenze elettromagnetiche, ecc...

• Grande rilievo hanno ad esempio le emissioni elettromagnetiche emesse dal dispositivo stesso

Page 11: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 11

Struttura• I sistemi embedded sono costituiti intorno ad

una struttura a microprocessore

Page 12: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 12

Struttura

• Attorno al microprocessore vi sono:1. memorie2. dispositivi logici programmabili3. stadi di conversione4. Interfaccia utente e strumenti di diagnosi5. alimentazione e raffreddamento

Page 13: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 13

1. Memorie

• Spesso ci si riferisce al software scritto per alcuni sistemi embedded con la parola firmware

• Il firmware si trova memorizzato in supporti di memoria detta a stato solido, come ad esempio la memoria Flash

• Queste sono memorie su circuito integrato scrivibili e cancellabili più volte

Page 14: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 14

2. Dispositivi logici programmabili• I PLD (Programmale Logic Devices) vengono

programmati per applicazioni specifiche (ASIC, Application Specific Integrated Circuit)

• Negli ultimi anni stanno prendendo piede nel mercato dell'elettronica le logiche programmabili di tipo FPGA (FieldProgrammale Gate Array) costituite da celle disposte in una struttura a matrice

Page 15: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 15

3. Stadi di conversione

• L’interazione del sistema col mondo esterno, di per sé analogico, rende indispensabile per un S.E. la capacità di raccogliere, campionare e trasmettere segnali

• I S.E. includono dispositivi quali:– Sensori– Attuatori– Convertitori A/D e D/A

Page 16: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 16

4. Interfaccia utente e strumenti di diagnosi

• L’interazione con l’utente avviene con mezzi spesso semplificati:– Display di dimensione ridotta– Dispositivi di input limitati– Dispositivi di I/O specializzati rispetto alle

competenze o al modo di operare dell’utente

• Si possono sommare eventuali strumenti di diagnosi che possono essere previsti per individuare in modo veloce situazioni di allarme, guasti, errori di sistema, ecc.

Page 17: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 17

5. Alimentazione e raffreddamento• Il consumo di potenza influisce direttamente

sul costo complessivo e sulla complessitàdell’hardware in particolar modo per quanto riguarda alimentatori, batterie, sistemi di raffreddamento

• È necessario ridurre le potenze in gioco:– da un lato si cerca di aumentare l'autonomia dei

dispositivi elettronici portatili – dall'altro si vuole ridimensionare i sistemi di

raffreddamento ("cooling")

Page 18: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 18

Moduli Embedded

• Possiamo definire modulo embeddedun sistema di elaborazione che, opportunamente completato con dell'elettronica di interfacciamento, ed eventualmente abbinato ad altri moduli, può essere integrato in un dispositivo andando a costituire un sistema embedded

Page 19: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 19

Moduli Embedded• Le possibili applicazioni di questi moduli sono

le più svariate, per cui a seconda dei casi si avrà una struttura hardware adeguata

• Tuttavia alcuni elementi base si trovano sempre a bordo di questi moduli, poiché ne costituiscono il nucleo:– Microprocessore– Memoria RAM– Memoria ROM

Page 20: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 20

Microprocessore

• È il circuito integrato fondamentale del modulo, ed in esso troviamo, oltre all'unità centrale di calcolo, anche una serie di interfacce integrate destinate a rendere accessibili alla CPU tutte le periferiche di sistema

Page 21: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 21

Memoria RAM e ROM

• Memoria RAM: è utilizzata come memoria di sistema, ovvero la memoria in cui il programma risiede durante la sua esecuzione assieme ai dati su cui opera

• Memoria ROM: destinata all'immagazzinamento non volatile di dati; solitamente il firmware del modulo si trova su questo supporto

Page 22: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 22

Software• Vi sono due principali soluzioni software:

– Boot Loader + Sistema Operativo: il Boot Loadergiace in ROM ed ha lo scopo di inizializzare tutto l'hardware di sistema, verificarne il corretto funzionamento e successivamente caricare il sistema operativo in memoria RAM ed avviarne l'esecuzione

– Applicazione standalone: nel caso di alcuni sistemi embedded con un numero molto ridotto di periferiche si preferisce scrivere un'applicazione che gestisce autonomamente tutte le risorse di sistema

Page 23: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 23

Porting

• Un ruolo fondamentale è rivestito dall'eventuale accoppiata sistema operativo-boot loader, per i quali ènecessario un adattamento affinchépossano funzionare correttamente sul sistema embedded progettato

• Tale operazione è denominata porting, e prevede tra le altre cose la scrittura dei drivers di periferica

Page 24: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 24

Esempio S.E.: PPChamelaon• PPChameleon è in modulo embedded pronto all'uso,

basato sul processore IBM PowerPC 405EP e distribuito da Dave s.r.l.

• Il suo nome riflette la capacità di cambiare “pelle” in modo da adempiere alle varietà di richieste provenienti da esigenze industriali e di telecomunicazioni sia su filo, sia wireless

Page 25: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 25

Caratteristiche PPChameleon• PPChameleon è fornito di tutte le

caratteristiche principali necessarie per creare un sistema personalizzato basato sul processore IBM PowerPC 405EP

• Per esempio è attrezzato con:– una memoria flash NOR (adatta per la

memorizzazione del software di boot)– una memoria SDRAM utile per l’esecuzione dei

programmi– una logica di reset tale da provvedere

un’appropriata sequenza di accensione e controllo sulla potenza

Page 26: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 26

Caratteristiche PPChameleon

• CPU: PowerPC 405EP• Speed: 133, 266 or 333 MHz• Flash NOR (ROM): 4 Mbytes• RAM: 32, 64 or 128 Mbytes• EEPROM : 16Kbit• Flash NAND: 32 [16 or 64] Mbytes• Reset: External and CPU supervisor with Master Reset input• Power supply: 3.3V and 1.8V supply• Power consumption: 800mA [typ] / 1240 mA [worst case]• Weight: 20 g• Dimensions: 67.5 x 50.8 mm2 [2.7 x 2.0 inches]• Edge connector: JEDEC Standard No. 21-C, module 4.20.6

Page 27: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 27

Schema a blocchi PPChameleon• Tutti i segnali passano attraverso un connettore DDR-SO DIMM

(200 pin), così l’utente può facilmente integrare il modulo nel proprio sistema di destinazione

Page 28: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 28

PPChameleon Evaluation Board• La casa costruttrice dispone anche di una

PPChameleon Evaluation Board• Essa permette di testare il modulo CPU

PPChameleon ed eventualmente di aggiungere schede di espansione

• Inoltre le fornisce:– alimentazione ATX– memoria SRAM– memoria NAND– interfaccia JTAG– 3 slot PCI– connettore bus di espansione– due connettori ethernet RJ45– comunicazione seriale RS485 e full RS232

Page 29: I Sistemi Embedded - web.diegm.uniud.itweb.diegm.uniud.it/pierluca/public_html/.../08_embedded_systems/... · • Spesso ci si riferisce al software scritto per alcuni sistemi embedded

Fondamenti di Informatica – I Sistemi Embedded

© 2007 Pier Luca Montessoro e Luca Da Re (si veda la nota di copyright alla slide n. 2) 29

Applicazioni di PPChameleon

• Grazie alla sua ampia struttura d’interfaccia, PPChameleon può essere usato in una varietà di applicazioni ad alta comunicazione:– sistemi di sicurezza– controlli in logica programmabile– gestione dell’energia– equipaggiamento medico– applicazioni home controllate dal web– gateways di telecomunicazione