© 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
© 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 (ivi inclusi, 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 Ministero dell’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 su supporti 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 della pubblicazione. 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 senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).
In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide.
In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.
Nota di Copyright
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 compito preciso e determinato (a differenza di quanto succede nei sistemi general purpose)
• Il termine Embedded riflette il fatto che tali sistemi sono parte integrante di sistemi più grandi di cui sono alla base del funzionamento con compiti di controllo, elaborazione, memorizzazione, ecc.
• Il PC non è di per sé un S.E. sebbene sia talvolta utilizzato per realizzare sistemi embedded; esso include diversi sistemi embedded (disco, CD, scheda video, …)
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 di elaboratore alla fine degli anni ’40
• I primi esemplari di Sistemi Embedded si trovano già nei primi anni ’50 , il primo campo di applicazione sono stati i sistemi Real-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 operazioni aritmetiche
Fondamenti di Informatica – I Sistemi Embedded
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
Fondamenti di Informatica – I Sistemi Embedded
Principali requisiti
• I requisiti di progetto imposti ad un Sistema Embedded possono essere:
– costi
– dimensioni, prestazioni, consumi – tempi di sviluppo
– flessibilità
– aggiornabilità
– robustezza
© 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
© 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
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
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
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
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. memorie
2. dispositivi logici programmabili 3. stadi di conversione
4. Interfaccia utente e strumenti di diagnosi
5. alimentazione e raffreddamento
© 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
© 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 (Field
Programmale Gate Array) costituite da celle disposte in una struttura a matrice
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
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.
Fondamenti di Informatica – I Sistemi Embedded
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")
Fondamenti di Informatica – I Sistemi Embedded
Moduli Embedded
• Possiamo definire modulo embedded
un 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
© 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
© 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
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
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 Loader giace 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
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
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
© 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
© 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
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
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
Fondamenti di Informatica – I Sistemi Embedded