ELETTRONICA DEI SISTEMI EMBEDDED

Crediti: 
9
Settore scientifico disciplinare: 
ELETTRONICA (ING-INF/01)
Anno accademico di offerta: 
2017/2018
Semestre dell'insegnamento: 
Primo Semestre
Lingua di insegnamento: 

Italiano

Obiettivi formativi

1. Conoscenza e comprensione.
Il corso ‘Elettronica dei Sistemi Embedded’ (63h-9CFU) offre un’ampia conoscenza sul tema dei SE che rappresentano il settore applicativo più diffuso per i moderni dispositivi elettronici. Durante il corso se ne studieranno le principali caratteristiche, le architetture, i componenti HW più utilizzati.
In particolare si offriranno contenuti su:
- Comprensione sul contesto dei SE
- Suddivisione in sotto-sistemi delle parti che costituiscono un SE
- Conoscenza dello specifico flusso di progettazione e della ripartizione delle funzioni principali fra circuiti dedicati e firmware per microprocessore
- Conoscenza dei principali protocolli di comunicazione usati nei SE, sia wired che wireless

2. Capacità di applicare conoscenza e comprensione.
Scopo del corso è quello di fornire gli strumenti per la progettazione dei SE. Per questo motivo, ampio spazio verrà dedicato ad attività di laboratorio.
Inoltre parte fondamentale dell’esame finale di verifica consiste nel progetto di un SE e della sua implementazione, che sarà poi collaudato mediante l’utilizzo di una scheda per prototipi basata su logica programmabile FPGA.
In particolare le capacità che lo studente dovrà acquisire sono le seguenti:
- capacità di definire le specifiche tecniche necessarie alla realizzazione di un determinato progetto (definizione degli I/O, individuazione dei più opportuni elementi di elaborazione, partizionamento HW/SW, .)
- capacità di implementare in Verilog la parte circuitale necessaria allo sviluppo del progetto
- capacità di scrivere in linguaggio C il firmware necessario allo svolgimento del progetto
- capacità di simulazione, implementazione e collaudo del progetto del SE mediante l’utilizzo di schede elettronica basate su FPGA

3. Capacità trasversali.
Durante le attività di laboratorio, gli studenti sono invitati a lavorare in piccoli gruppi.
Questo facilita lo sviluppo da parte degli studenti di competenze trasversali.
Essi devono imparare a confrontarsi, a risolvere problemi collaborando, ad aiutarsi reciprocamente nelle complesse attività di debug.
Inoltre devono cooperare per la scrittura della relazione descrittiva del progetto finale.

Contenuti dell'insegnamento

I contenuti del corso sono i seguenti:
- Introduzione ai Sistemi Embedded (SE)
- Caratteristiche di un SE: progettazione, mercato, e architettura dei SE
- Flusso di progettazione, partizionamento e co-design HW e SW dei SE
- Nozioni sulla progettazione dei SE
- Panoramica della componentistica tipica dei SE
- Esempi di protocolli di comunicazione wired:
RS232/RS485, SPI, I2C, JTAG, CANbus, Ethernet, TCP/IP
- Esempi di protocolli di comunicazione wireless: ZigBee
- Soluzioni circuitale per l’alimentazione dei SE
- Soluzioni circuitali per l’interfacciamento dei SE
- Introduzione al linguaggio di descrizione HW Verilog:
costrutti e circuiti di base, circuiti aritmetici, macchine a stati finiti.
- Introduzione alle logiche programmabili FPGA
- Accenni di Matlab come ausilio alla progettazione e simulazione dei SE
- Attività di progettazione di SE in laboratorio

Programma esteso

TEORIA:
- Introduzione al corso, alle attività di laboratorio e ai Sistemi Embedded (2h)
- Principali componenti HW dei SE (2h)
- Il tema del partizionamento HW e SW (2h)
- Circuiti per I/O ed introduzione al JTAG (2h)
- Introduzione ai SoC e ai SoC BUS (2h)
- Soluzioni per l'alimentazione di un SE (2h)
- I protocolli di comunicazione SPI e I2C (2h)
- La porta seriale UART - protocolli RS232, RS422, RS485 (2h)
- I Bus di campo: il protocollo CANBus(2h)
- Introduzione alle rete e protocolli IP (2h)
- Protocolli di comunicazione wireless (2h)
- Introduzione alle FPGA e al Flusso di Progettazione Digitale (2h)
- La Logica Programmabile FPGA Cyclone2 di Altera: analisi delle caratteristiche (2h)
- Cenni di crittografia e implementazioni HW (2h)
- Il linguaggio di descrizione Hardware Verilog (2h)

LABORATORIO:
- Descrizione della scheda ALTERA DEMO DE2 (2h)
- Il flusso di progetto di Quartus2 (2h)
- Esempi di circuiti realizzati in Verilog: FFD, Registri, Contatori, SHR, FSM. (4h)
- Progetto e implementazione di un Contatore-Esadecimale che visualizza l'uscita su un display a 7 segmenti. (4h)
- Descrizione Verilog dei principali circuiti aritmetici. (2h)
- Introduzione al processore RISC 32-bit NIOS2 (2h)
- Esercitazioni basate sul NIOS2 (6h)
- Attività di laboratorio relative allo sviluppo del progetto d’esame (10h)

Bibliografia

Per la parte di teoria:
- Designing Embedded Hardware, 2nd edition; John Catsoulis; O'Reilly Media
- Sistemi Embedded, Sviluppo Hardware e Software per sistemi dedicati; Carlo Brandolese, William Fornaciari; PEARSON Prentice Hall

Per le attività di laboratorio:
- Progetto di sistemi elettronici digitali basati su dispositivi FPGA; Ettore Napoli; Progetto Leonardo; Esculapio Bologna
- Embedded SOPC Design with NIOS II Processor and Verilog examples, Embedded Systems & Smart Cards; Pong P. Chu; Wiley

Metodi didattici

Il corso è diviso in lezioni frontali e attività di laboratorio.
Nelle lezioni frontali si affronteranno i temi legati alla conoscenza teorica dei sistemi embedded.
Nelle attività di laboratorio si svilupperanno conoscenze relative:
- allo sviluppo di circuiti dedicati realizzati mediante il linguaggio di descrizione hardware Verilog
- alla scrittura di codice firmware per microprocessore in linguaggio C
Modalità di lavoro:
- le attività di laboratorio sono finalizzate alla realizzazione di un progetto pratico
- gli studenti possono lavorare al progetto assegnato in modo individuale o in piccoli gruppi
- ogni progetto deve essere descritto da una relazione scritta

Modalità verifica apprendimento

La prova finale dell’esame consiste in un esame orale.
In questa prova verranno discussi e valutati in modo approfondito:
1. la conoscenza degli argomenti teorici studiati a lezione
2. il progetto di un vero e proprio sistema embedded progettato e realizzato dallo studente (da solo o con un gruppo di lavoro) durante il corso

Il voto finale è dato dalla media delle due valutazioni.
La relazione deve essere consegnata almeno una settimana prima rispetto alla data dell'esame orale.

Altre informazioni

Materiale didattico e ulteriori informazioni sono reperibili sul sito:
https://sites.google.com/site/laboratorioedse/