The course aims at providing knowledge about the development of embedded systems for automotive applications. The main focus lays in the firmware. The course will provide knowledge in:
• Requirements for automotive electronics systems
• Design and testing of embedded code
• Advanced information about embedded architectures
• Tools to support automatic testing and synthesis of embedded code
Notions of power circuits and systems, embedded and digital systems srchitecture, Matlab fundamentals.
Course contents summary
Analysis, design and development of embedded systems for the automotive field.
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.
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.
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)
Lecture notes, standards and documentation of the software used.
Lectures and team laboratory activity
Assessment methods and criteria
Report on the laboratory activity and oral examination.
At the end of the laboratory activities each team of students must deliver a written report. After receiving an evaluation of their report, the students can individually take the oral examination.
The result of the oral examination accounts for 2/3 of the final mark, while the laboratory activity accounts for 1/3.