Anno di corso: 1

Crediti: 8
Crediti: 8
Crediti: 8
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale

Anno di corso: 2

Anno di corso: 3

Crediti: 8
Crediti: 8
Crediti: 16
Tipo: A scelta dello studente
Crediti: 4
Tipo: Lingua/Prova Finale
Crediti: 13
Tipo: Altro

SISTEMI EMBEDDED

Scheda dell'insegnamento

Anno accademico di regolamento: 
2014/2015
Anno di corso: 
3
Anno accademico di erogazione: 
2016/2017
Tipo di attività: 
Obbligatorio a scelta
Crediti: 
8
Ciclo: 
Secondo Semestre
Ore di attivita' didattica: 
84
Prerequisiti: 

Conoscenze di base sull’architettura degli elaboratori e sull’Assembler. Buone capacità di programmazione e conoscenze di base sul linguaggio C. Concetti base su sistemi operativi e programmazione concorrente. Principi di progettazione con uso di UML

Moduli

Metodi di valutazione

Tipo di esame: 
Orale
Modalita' di verifica dell'apprendimento: 

Esame orale centrato sulla discussione dei un progetto svilupato in laboratorio.

Valutazione: 
Voto Finale

Obiettivi formativi

Comprensione delle principali problematiche relative ai sistemi embedded in tempo reale. Capacità di progettare semplici applicazioni embedded in tempo reale e di realizzarle programmando microcontrollori in Assembly e in C.

Contenuti

Sistemi embedded: caratteristiche e requisiti. Microcontrollori e DSP. Programmazione Assembly e C. Interfacciamento con la periferia. Tecniche di analisi, progettazione e programmazione. Struttura e funzionalità di un kernel in tempo reale. Studio di casi.

Programma esteso

Sistemi embedded:
- caratteristiche generali e domini applicativi;
- requisiti temporali;
- sincronizzazione con la periferia (polling e interrupt);
- metodologie di specifica e progettazione."

Microcontrollori e DSP:
- architettura hardware;
- esempi di microcontrollori a 8 e 32 bit;
- funzionalità di Digital Signal Processing.

Programmazione di un microcontrollore:
- catena di programmazine e IDE;
- programmazione Assembly e sviluppo di semplici algoritmi;
- richiami sulla programmazione C.

Interfacciamento con la periferia:
- conversione A/D e D/A;
- esempi di interfacce standard: UART, I2C
- gestione software dell'interazione con la periferia.

Casi di studio:
- sviluppo di semplici applicazioni con utilizzo di diversi standard.

Architetture hw e sw evolute:
- sistemi distribuiti: CAN bus;
- microkernel: struttura e funzionalità.

Bibliografia consigliata

M.Predko, PROGRAMMING AND CUSTOMIZING THE 8051 MICROCONTROLLER, Mc Graw-Hill, 1999;
S. Furber, ARM, System-on-chip architecture, second edition, Addison-Wesley, 2000;
J. Yiu, The definitive guide to the ARM CORTEX-M3, second Edition, Elsevier 2010.
Dispense del corso sulla pagina web (http://pessina.mib.infn.it)

Metodi didattici

Lezioni frontali (2 cfu), esercitazioni (2 cfu) e laboratorio (4 cfu), con sviluppo di progetti in piccoli gruppi.