- Docente: Carlo Concari
- Crediti formativi: 6
- SSD: ING-IND/32
- Lingua di insegnamento: Inglese
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea Magistrale in Advanced automotive electronic engineering (cod. 9238)
Conoscenze e abilità da conseguire
The aim of the course is to provide the theoretical basis and the practical skills to design embedded hardware compliant with security standard (Hardware safety integrity requirements for the complete SIF and architectural constraints). In particular Power Supply Management and Computing Redundancy, will be deeply analyzed. In addition, high performance modular programming with respect to automotive and safety standards (AUTOSAR, ADSIL, SIL) and the automatic code generation using Matlab/Simulink will be considered.
Contenuti
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 (8 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)
Testi/Bibliografia
Slide e appunti forniti dal docente.
Metodi didattici
Lezioni frontali, attività di laboratorio a gruppi.
Modalità di verifica e valutazione dell'apprendimento
Relazione sulle attività di laboratorio e esame orale.
Al termine delle attività di laboratorio ogni gruppo di studenti dovrà consegnare una relazione scritta. Dopo aver ricevuto la valutazione del proprio lavoro, i componenti di ogni gruppo potranno accedere individualmente all'esame orale.
Il risultato dell'esame orale conta per i 2/3 of del voto finale, mentre le attività di laboratorio contano per 1/3.
Strumenti a supporto della didattica
Videoproiettore, PC.
Orario di ricevimento
Consulta il sito web di Carlo Concari