Nuova ricerca

PAOLO SANTINELLI

Docente a contratto
Dipartimento di Scienze e Metodi dell'Ingegneria

Insegnamento: Progettazione di sistemi embedded

Ingegneria meccatronica (Offerta formativa 2020)

Obiettivi formativi

Il corso si pone l’obiettivo di fornire gli strumenti necessari ad affrontare tutte le fasi di sviluppo di un sistema embedded, dalla definizione delle specifiche dell'applicazione da realizzare fino alla realizzazione e al test del prototipo.
Con riferimento ai descrittori di Dublino, gli obiettivi possono essere così riassunti:
Conoscenza e capacità di comprensione: acquisizione dei concetti base di HW/SW Co-design; metodologie di progettazione e definizione delle specifiche di un sistema embedded; principali componenti hardware; principali metodi di comunicazione; fondamenti di progettazione fault-tolerant; tecniche di validazione; sintesi di reti logiche; logiche programmabili; principali tipologie di memoria; programmazione software e sintesi di codice VHDL per sistemi embedded
Capacità di applicare conoscenza e comprensione: tramite l’utilizzo di tecniche analitiche, opportune metodologie di progettazione, simulatori circuitali ed ambienti di sviluppo specifici, lo studente acquisisce: la capacità di analizzare e progettare le specifiche funzionali di un sistema embedded; la capacità di analizzare progettare e realizzare circuiti elettronici analogici e digitali, sistemi di comunicazione, sistemi fault tolerant, reti logiche, firmware per microcontrollori e codice VHDL per FPGA
Autonomia di Giudizio: Capacità di effettuare in autonomia ed in base alla propria esperienza scelte progettuali anche in caso di specifiche incomplete. Capacità di organizzazione delle varie fasi di sviluppo di un progetto anche complesso
Comunicazione: Capacità di lavorare in gruppo e di esporre valutazioni e considerazioni relative a tutti gli aspetti di un progetto anche complesso sia ad interlocutori specialisti che non specialisti
Capacità di apprendimento: Capacità di affinare una metodologia efficace di studio sia individuale che di gruppo che permetta di affrontare e risolvere problemi anche complessi

Prerequisiti

Elettronica; Elettronica Industriale; Progettazione Elettronica; Fondamenti di Informatica, Fondamenti di Controlli Automatici, Convertitori Statici di Energia, Fondamenti di Azionamenti Elettrici

Programma del corso

1.Introduzione sui Sistemi Embedded: Definizioni e caratteristiche dei sistemi embedded, esempi reali in diversi scenari applicativi
2.Hardware/Software Co-design: Metodologie di HW/SW co-design. Concetti di Platform-based design. Definizione dell'architettura di sistema e valutazione di alternative progettuali. Criteri di HW/SW partitioning.
3.Definizione delle Specifiche di Progetto: Metodologie di progettazione, flusso di progettazione, modelli, metriche. Requisiti dei linguaggi di definizione delle specifiche. Dependability. Cenni sui più comuni linguaggi di definizione delle specifiche.
4.Cenni di Progettazione Hardware: Esempi di sensori ed attuatori tradizionali e MEMS, circuiti di Sample&Hold, principi base di Convertitori A/D e D/A. Concetti di progettazione “energy aware”
5.Comunicazione in Sistemi Embedded: trasmissione seriale e parallela, Loop 4-20mA, Protocollo UART e interfaccia RS232, Protocollo SPI. Caratteristiche generali del protocollo CAN, struttura base di una rete e di un nodo CAN.
6.Aspetti di Progettazione Fault Tolerant: Concetti generali e definizioni. Origine dei guasti, guasti di modo comune,modelli di guasto. Concetti di Ridondanza hardware, software, nell’informazione e nel tempo
7.Cenni sulla Validazione di sistemi embedded
8.Reti Logiche: reti logiche combinatorie, componenti combinatori notevoli, sintesi di reti logiche sequenziali, automi a stati finiti
9.Logiche Programmabili: classificazione dei PLD, complessità ed organizzazione delle celle, struttura delle interconnessioni, logiche programmabili a 2 livelli e complesse
10.Cenni su Architettura Generale di Microcontrollori ed FPGA
11.Memorie in Sistemi Embedded: classificazione, organizzazione, gerarchie
12.Software in Sistemi Embedded: fondamenti di programmazione assembler e VHDL, sistemi operativi e scheduling
13.Paradigma IoT: Cenni generali, protocolli dati, esempi applicativi.

Metodi didattici

Il corso prevede sia lezioni teoriche in aula che esercitazioni pratiche in laboratorio dedicate alla progettazione e realizzazione di un sistema embedded completo sia dal punto di vista hardware che software.
Durante il corso verranno utilizzate tecniche analitiche, simulatori circuitali ed ambienti di sviluppo ad hoc per quanto riguarda la programmazione software/firmware di microcontrollori e la generazione di codice VHDL per FPGA.

In base all'evoluzione dell'emergenza COVID-19, qualora non fosse possibile riprendere l'erogazione delle lezioni in presenza, le lezioni e le esercitazioni saranno erogate in modalità di video-lezioni e tutorial registrati . Saranno programmate sessioni di live streaming settimanali per dare agli student l’opportunità di interagire con il docente ed approfondire gli argomenti trattati nelle video-lezioni.

Testi di riferimento

Oltre alle dispense del corso, sono consigliati i seguenti libri di testo
• Embedded System Design; Peter Marwedel, Ed. Springer, 2011, ISBN-10: 9400702566, ISBN-13: 978-9400702561
• SISTEMI EMBEDDED - sviluppo hardware e software per sistemi dedicati; C. Brandolese, W. Fornaciari, Ed. Paerson - Prentice Hall, 2007, ISBN-10: 8871923421, ISBN-13: 978-8871923420
• Embedded System Design - A unified hardware/software introduction; F. Vahid, T. Givargis, Ed. J. Wiley & Sons, 2001, ISBN-10: 0471386782, ISBN-13: 978-0471386780
• Real-Time Systems Design Principles for Distributed Embedded Applications; H. Kopetz, Ed. Springer, 2013, ISBN-10: 1461428661ISBN-13: 978-1461428664
• PIC Microcontroller Projects in C - Basic to Advanced, 2nd Edition; D. Ibrhaim, Ed. Newens, 2014, ISBN-10: 0080999247, ISBN-13: 978-0080999241
• Embedded C Programming and the Microchip PIC; R Barnett, S.Cox, L. O'Cull, Ed. Thomson Delmar Learning, 2003, ISBN-10: 1401837484, ISBN-13: 978-1401837488
• VHDL. Progetto di sistemi digitali; M. Zwolinski, Ed. Pearson Education Italia, 2007, ISBN-10: 8871924312, ISBN-13: 978-8871924311
• The Designer's Guide to VHDL, 3rd Edition; P.J. Ashenden, Ed. Morgan Kaufmann Publishers, 2008, ISBN-10: 0120887851ISBN-13: 978-0120887859

Verifica dell'apprendimento

Durante le attività di laboratorio gli studenti si dividono autonomamente in gruppi di lavoro composti da 4-5 persone ciascuno allo scopo di progettare e realizzare un prototipo funzionante di sistema embedded per un’applicazione a loro scelta. La prova d’esame è suddivisa in 3 parti:
1. Valutazione di un report unico per ciascun gruppo di lavoro volto alla valutazione degli obiettivi di autonomia di giudizio e comunicazione
2. Una presentazione orale unica per ciascun gruppo di lavoro con discussione tecnica del progetto coi docenti e dimostrazione del corretto funzionamento del prototipo realizzato. Durante la presentazione ogni componente del gruppo presenta una parte del progetto al fine di valutare oltre agli obiettivi di autonomia di giudizio e comunicazione anche gli obiettivi di capacità di apprendimento di ciascun componente del gruppo.
3. Prova orale individuale per ciascuno studente articolata in 4 domande volta a verificare il conseguimento da parte dello studente degli obiettivi di conoscenza e capacità di comprensione e capacità di applicare conoscenza e comprensione
Per ciascun componente del gruppo il voto finale è il risultato della somma del voto comune assegnato al gruppo come risultato delle parte 1 (fino ad un massimo di 25/30), e del voto singolo relativo a parte 2 (fino a ±2/30) e parte 3 (fino a ±4/30).
Es. Parte 1: 23/30; Parte 2 -1/30; Parte 3 +3/30 -> Voto finale 23-1+2=25/30

Risultati attesi

Vedi "Obiettivi"