COMPLIANCE DESIGN OF AUTOMOTIVE SYSTEMS M
cod. 1008152

Anno accademico 2019/20
2° anno di corso - Primo semestre
Docente
Settore scientifico disciplinare
Convertitori, macchine e azionamenti elettrici (ING-IND/32)
Field
A scelta dello studente
Tipologia attività formativa
Affine/Integrativa
54 ore
di attività frontali
6 crediti
sede:
insegnamento
in INGLESE

Obiettivi formativi


L’obiettivo del corso è la formazione dello studente al fine di affrontare le problematiche relative allo sviluppo di sistemi embedded per ambito automotive. L’attenzione sarà focalizzata principalmente sulla parte firmware. Ciò richiede:
• Conoscenza dei requisiti richiesti dall’ambito automotive
• Elementi di progettazione e verifica del codice
• Conoscenza avanzata delle architetture usate nell’implementazione
• Strumenti di supporto alla verifica e sintesi automatica del codice

Prerequisiti


Conoscenze di circuiti e systemi di potenza, elettronica dei sistemi embedded, sistemi digitali, fondamenti di MATLAB.

Contenuti dell'insegnamento


Metodologie di analisi, progetto e sviluppo di sistemi embedded in ambiente automotive.

Programma esteso


--- Lezione #01 (3 ore): Ingegneria del software (I) ---
* Livelli di astrazione e partizionamento dei sistemi
* Modello a V
* Il sistema di compilazione
o Preprocessore
o Compilatore
o Linker
o Ottimizzatore
o Makefile

--- Lezione #02 (3 ore): Ingegneria del software (II) ---
* Testing
o Unit testing
o Analisi statica del codice
o Copertura del codice
* Documentazione

--- Lezione #03 (3 ore): Sistemi di controllo versione (VCS) ---
* VCS centralizzati (SVN)
* VCS distribuiti (GIT)
* Versionamento
* Branch/tag
* Merge e lock

--- Lezione #04 (3 ore): Standard ---
* Standard di codifica
* Standard di sicurezza
* Standard automotive
* Modello ISO/OSI

--- Lezione #05 (3 ore): Protocolli di comunicazione ---
* Generalità
* CAN
* CANopen
* J1939

--- Lezione #06 (3 ore): Task real-time ---
* RTOS
* Driver
* Middleware
* Gestione degli interrupt

--- Lezione #07 (3 ore): Elaborazione real-time (I) ---
* Analisi numerica
* Esecuzione ricorsiva

--- Lezione #08 (3 ore): Elaborazione real-time (II) ---
* Macchine a stati
* Benchmarking

--- Lezione #09 (3 ore): MATLAB per la programmazione embedded (I) ---
* Fitting e interpolazione
* Ottimizzazione

--- Lezione #10 (3 ore): MATLAB per la programmazione embedded (II) ---
* Unit testing e test-bench "automatici"
* Model-based design
* Validazione di sistema con MIL/SIL/PIL/HIL

--- Lezione #11 (3 ore): Elementi integrativi ---
* Watchdog
* Semafori e sincronizzazione
* Gestione della memoria
* Gestione degli errori

--- Lezione #12 (3 ore): Bootloader ---
* Livelli e stadi
* Requisiti di memoria
* Riscrittura dei vettori di interrupt
* Esempio: OpenBLT
* Esempi di bootloader nativi

--- Laboratorio #13 (3 ore): Descrizione e assegnazione dei progetti ---

--- Laboratorio #14 (3 ore): Sviluppo dei progetti ---

--- Laboratorio #15 (3 ore): Tutorial sulla generazione automatica del codice ---

--- Laboratorio #16 (3 ore): Tutorial su unit testing e analisi del codice ---

--- Laboratorio #17 (3 ore): Tutorial su verifiche SIL/PIL/HIL ---

--- Laboratorio #18 (3 ore): Finalizzazione progetti ---

Bibliografia


Dispense, standard, documentazione dei tool software utilizzati.

Metodi didattici


Lezioni frontali e attività di laboratorio a gruppi

Modalità verifica apprendimento


Relazione sull'attività di laboratorio ed esame orale.
Al termine delle attività di laboratorio, ogni gruppo di lavoro dovrà consegnare una relazione scritta sulle attività svolte. Una volta consegnata la relazione e ricevuta la relativa valutazione gli studenti potranno accedere, anche singolarmente, all'esame orale.
Il voto dell'esame orale incide per 2/3 sulla valutazione finale, la valutazione dell'attività di laboratorio per 1/3.

Altre informazioni

- - -