Course unit content
Analysis, design and development of embedded systems for the automotive field.
Full programme
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 (5 hr)
Source code, preprocessor, compiler, assembly language, machine code, internal operation of the CPU, registers, stack, assembler, linker, optimization.
Software testing and documentation (2 hr)
Unit testing, static and dynamic code analysis, code coverage, process documentation, inline documentation, Doxygen, authoring tools.
Version control systems (2 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 (5 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 (2 hr)
Numerical approximation of functions and differential calculus, optimization.
Watchdogs (1 hr)
Timeout watchdog, windowed watchdog, hardware watchdog, independence, best practices.
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.
Bibliography
Lecture notes, standards, and documentation of the software used.