Vinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.x

EMBEDDED SYSTEMS

SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/05

 

LAUREA MAGISTRALE IN INGEGNERIA INFORMATICA

ANNO ACCADEMICO: 2022-2023

 

INFORMAZIONI GENERALI - DOCENTE

DOCENTE: ALESSANDRO CILARDO
TELEFONO: +39 081 7683852
EMAIL: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

 

INFORMAZIONI GENERALI - ATTIVITÀ

INSEGNAMENTO INTEGRATO (EVENTUALE): 
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): II
SEMESTRE (I, II): II
CFU: 6

 

INSEGNAMENTI PROPEDEUTICI

(se previsti dall'Ordinamento del CdS)

...................................................................................................................................................

 

EVENTUALI PREREQUISITI

...................................................................................................................................................

 

OBIETTIVI FORMATIVI

L'insegnamento si propone di fornire agli studenti le nozioni specialistiche relative ai moderni Sistemi Embedded (sistemi informatici dedicati espressamente progettati ed integrati in forma "embedded" in specifici prodotti, spesso vincolati a soddisfare taluni requisiti di tipo real-time e prestazionali, oltre che requisiti su consumi, ingombro, affidabilità e sicurezza) quali quelli ampiamente impiegati nei sistemi industriali (trasporti: automotive e ferroviario; energia; sistemi di controllo meccanici) o di largo consumo (telefonia, intrattenimento, elaborazione multimediale) o, in generale, sistemi dell’internet delle cose (Internet of Things, IoT), di e-health, robotica ed Intelligenza Artificiale.

 

RISULTATI DI APPRENDIMENTO ATTESI

(Descrittori di Dublino)

Conoscenza e capacità di comprensione
Il percorso formativo, basato su lezioni teoriche ed esercitative, è volto a dotare lo studente delle conoscenze relative alle architetture di tipo embedded, con enfasi sugli aspetti tecnologici e metodologici, così come della comprensione dei flussi di progettazione per sistemi di tipo System-on-Chip (SoC) e Multi-Processor System-on-Chip (MPSoC). Il corso presenta, tra gli altri, sistemi SoC con processore ARM su schede STM32F4 della STMicroelectronics ed altri processori per applicazioni embedded sintetizzati su FPGA. Nelle lezioni di laboratorio, sono anche sviluppate conoscenze di alcuni ambienti IDE per la progettazione, composti da compilatori di linguaggi HDL, quali VHDL e Verilog, debugger, simulatori e strumenti per il mapping tecnologico.

Capacità di applicare conoscenza e comprensione
Il percorso formativo è orientato a trasmettere le capacità e gli strumenti metodologici/operativi necessari ad applicare le conoscenze in termini di progettazione ingegneristica di sistemi embedded, basati su differenti architetture di tipo System-on-Chip (SoC), Multi-Processor System-on-Chip (MPSoC) e speciali (DSP, hardware dedicato), sintetizzate anche con componenti FPGA già studiati in insegnamenti precedenti del percorso di laurea magistrale. La progettazione farà ricorso a metodologie di sviluppo e ad ambienti IDE professionali ampiamente impiegati nel mondo industriale. La parte applicativa, in particolare, prevede lo sviluppo di un progetto d’aula.

 

PROGRAMMA-SYLLABUS

Il corso è organizzato in tre parti principali: una teorica, una tecnologica ed una applicativa.

Parte teorica
• Architetture speciali e generali dei Sistemi Embedded e loro strutturazione a livelli.
• Architetture hardware basate sull’integrazione di hardware commerciale (processori, periferiche, multiprocessori, multicomputer, DSP, system on chip, etc.), hardware specifico (progettato mediante HDL e tecnologie di sintesi automatica) e dispostivi per il collegamento con attuatori e sensori di campo.
• Caratteristiche architetturali dei processori e dei sistemi per applicazioni di tipo System-on-Chip (SoC) e Multi-Processor System-on-Chip (MPSoC).
• Software di base, sistemi operativi e software applicativo per sistemi dedicati con o senza vincoli di real-time.
• Generalità su sensori e attuatori: principi di funzionamento, tipologia, interfacce ed esempi d’uso.
• Reti di sensori: architettura e software di servizio.
• Logiche di partizionamento di un sistema dedicato tra unità funzionali realizzate in hardware e/o in software dei sistemi embedded SoC e MPSoC.
• Sistemi di elaborazione per applicazioni industriali critiche per costo, affidabilità, tempo, sicurezza, consumi e ingombro.
• Ciclo di sviluppo: metodologie e strumenti per la sintesi e il codesign.
• Sviluppo di un sistema embedded su board STMicroelectronics della serie STM32xxx con processori ARM.

Parte tecnologica
• Livelli hardware/software in cui è strutturato un sistema embedded: livello HAL, middleware, di sistema operativo RTOS e applicativo, anche con requisiti real-time, sottosistema di I/O caratterizzato dai più diffusi dispositivi di I/O, da sensori e attuatori e loro reti.
• Dispositivi di I/O sintetizzabili come IP core (UART/USART, PIO, I2C, SPI, USB, etc.) su FPGA.
• Componenti di base: sottosistemi di memoria, architettura di interconnessione. Bus e sistemi di interconnessione ad elevate prestazioni: i bus AMBA e AXI.
• Architetture dei più diffusi processori per sistemi embedded: la famiglia ARM; processori nativi della famiglia di FPGA (MicroBlaze di Xilinx); altri processori sintetizzabili come IP core su FPGA (processori di fascia bassa a 8, 16, 32 bit di tipo CISC e RISC, Java machine); architettura aperta RISC-V.
• Architetture System-on-Chip, famiglia di sistemi STM32Fxx.
• Architettura dei sistemi paralleli di tipo multiprocessore e reti di interconnessione.
• Architettura dei sistemi multicore e Multi-Processor System-on-Chip.
• Componenti programmabili ibridi composti da SoC o MPSoC (con processori di tipo general-purpose RISC/CISC e/o speciali quali ad esempio i Digital Signal Processor, DSP) e FPGA (per sintetizzare macchine speciali).
• Dispositivi ibridi FPGA-multicore: la famiglia Zynq.
• Architettura delle schede Digilent Zybo Zynq e ZedBoard Zynq
• Librerie di IP-Core, “intellectual Property Core”, appositamente sviluppate o presenti in librerie pubbliche e commerciali.

Parte applicativa
Per il laboratorio, gli studenti, organizzati in gruppi di lavoro, svilupperanno un progetto concreto di sistema embedded, suddiviso in sottosistemi, a partire dalle specifiche funzionali loro assegnate. La progettazione farà ricorso a metodologie di sviluppo e ad ambienti IDE a supporto, concretamente impiegati in ambito industriale. In particolare, si farà riferimento ad esempi di sistemi “on board” commerciali messi a disposizione degli studenti, con processori della famiglia ARM ed FPGA delle famiglie Xilinx.

 

MATERIALE DIDATTICO

• G. Conte, A. Mazzeo, N. Mazzocca, P. Prinetto, “Architettura dei calcolatori”, Cittastudi edizioni, 2015.
• F.Vahid, T.Givaris, “Embedded System Design - A unified Hardware/Software Introduction”, Wiley, 2002.
• K. Papovic, F. Rousseau, A. A. Jerraya, M. Wolf, “Embedded Software Design and Programming of Multiprocessor System-on-Chip”, Springer, 2010.
• M. Domeika, Software Development for Embedded Multi-core Systems a Practical Guide Using Embedded Intel ® Architecture
• “Automotive Embedded Systems Handbook, Industrial Information Technology Series CRC Press, 2009, N. Navet, F. Simonot Lion eds.
• K. Yaghmour, J. Masters, G. Ben-Yossef, and P. Gerum, “Building Embedded Linux Systems”, O’Reilly.
• Wayne Wolf, “Computers as components”, Morgan Kaufman, 2000. Planned 2nd ed
• P. Marwedel,“Embedded System Design”, Kluwer academic publishers, ISBN: 1-4020-7690-8, November 2003
• J. Sauermann, M. Thelen, “Realtime Operating Systems Concepts and Implementation of Microkernels for Embedded Systems”,
• Manuali e datasheet dei vari dispositivi utilizzati e forniti durante il corso.

 

MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO

Il docente utilizzerà: a) lezioni frontali per circa il 55% delle ore totali, b) esercitazioni per approfondire praticamente aspetti teorici per 8 ore, c) laboratorio per approfondire le conoscenze applicate per 10 ore, d) seminari per approfondire tematiche specifiche per 4 ore.

 

VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE

a) Modalità di esame:

L'esame si articola in prova:
 Scritta e orale  
 Solo scritta   
 Solo orale  
 Discussione di elaborato progettuale 
 Altro  

 

In caso di prova scritta i quesiti sono (*):
 A risposta multipla  
 A risposta libera   
 Esercizi numerici  

  

b) Modalità di valutazione:
Non applicabile (una sola tipologia di prova prevista)