COMPLIANCE DESIGN OF AUTOMOTIVE SYSTEMS M
cod. 1009252

Anno accademico 2020/21
2° anno di corso - Primo semestre
Docente
Carlo CONCARI
Settore scientifico disciplinare
Convertitori, macchine e azionamenti elettrici (ING-IND/32)
Ambito
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

Embedded hardware for compliant systems (2 hr)
Sensing, control, actuation, redundancy, power supply, insulation.

Structured approach to firmware design (2 hr)
V-model, levels of abstraction, validation, verification, documentation.

Implementation: the building system (7 hr)
Source code, preprocessor, compiler, assembly language, machine code, internal operation of the CPU, registers, stack, assembler, linker, optimization.

Software testing and documentation (3 hr)
Unit testing, static and dynamic code analysis, code coverage, process documentation, inline documentation, Doxygen, authoring tools.

Version control systems (3 hr)
Concurrent development, centralized vs. distributed VCSs, SVN, GIT, repositories, update, commit, branching, tagging, merging.

Standards (1 hr)
Standardization organizations, operation, stage codes.

Safety standards (2 hr)
Introduction to safety standards, safety integrity levels, good programming practices.

Coding standards (2 hr)
Motivation, MISRA C, CERT C, Barr Group, rule examples.

Communication protocols (2 hr)
CAN, CANopen, J1939, introduction to industrial communication protocols.

Fixed point ALUs (6 hr)
Fixed point numeric formats, fixed point arithmetic, normalized fractional format, calculations with normalized quantities, examples (Ohm’s law, magnetic flux observer for IMs), TDL calculation structures, µC vs. DSP, fixed point numeric saturation.

Real time computation (3 hr)
Numerical approximation of functions and differential calculus, optimization.

Bootloaders (1 hr)
MCU vs. FPGA and SoC, MCU booting sequence, interrupt vector table relocation, OpenBLT.

Watchdogs (1 hr)
Timeout watchdog, windowed watchdog, hardware watchdog, independence, best practices.

Memory management and protection (1 hr)
Paging, alignment, MMU/MPU, virtual memory, error checking and management.

Lab: tutorial on automatic code generation (3 hr)

Lab: tutorial on unit testing and code analysis (3 hr)

Lab: xIL (3 hr)
Model in the loop, software in the loop, processor in the loop, hardware in the loop, rapid control prototyping.

Lab: project description and assignment (3 hr)

Lab: project design (3 hr)

Lab: project development (3 hr)

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

- - -

Obiettivi agenda 2030 per lo sviluppo sostenibile

- - -