English       Login
        Startseite         |         Institut für Informatik         |         Technische Fakultät

Introduction to Embedded Systems - Winter Term 20/21

Embedded Systems are key application drivers of information technology for the coming years. These are systems which are embedded in complex application scenarios, and are tasked with data processing tasks. This course is about the foundations of modelling and designing embedded systems with the help of specifications languages (e.g. statecharts, petrinets, VHDL), the hardware and software of embedded systems (bus systems, AD/DA-conversion, sensors), C programming, and cautionary tales about computing.

Learning Goals: You will understand the specific properties of embedded systems, their architecture and components, their hardware and software interface, the communication between components, basic analog-digital-analog conversion methods, low-power designs and specification techniques. You will be able to specify embedded systems with VHDL, statechart and petri-nets and reason about properties of the modeled system, and write basic programs in C for an embedded platform.

Instructor : Dr. Philipp M. Scholl
Teaching Assistant: Pascal Raiola
Lecture: every Tuesday, 08:00-10:00, 2.11.2020 to 13.2.2021
Tutorial: every Friday, 09:00-10:00, 4.11.2020 to 15.2.2021
Material/Forum: ilias (password will be mailed to you)

Course Setup

The course is split into a lecture and tutorial part. The lecture will be recorded and live-streamed every tuesday from 08:00 - 10:00, starting on 2.11.2020 until 23.2.2021. The tutorial session will be held live every friday from 09:00 - 10:00, starting on the 4.11.2020 ending on 15.2.2021. All material will be provided on this webpage and on ilias (password will be mailed to you). The live stream will be accessible. There will be a break from 23.12.2020 to 6.1.2021.

The lecture live stream will be available on the lecture BBB

The german tutorial session will be available on the german tutorial BBB and will be held by Niklas Thiedecke.

The english tutorial session will be available on the english tutorial BBB and will be held by Robin Burchard.


3.11. Introduction … define an embedded system
… discuss embedded systems
… list application scenarios
html html
10.11. Specification - Finite State Machines … describe and classify specification languages
… execute mealy and moore type automata
… transform state machines
html html
17.11. Specification - Statecharts … illustrate hierarchies (OR) and concurrency (AND)
… motivate Event-Condition-Action structures
… differentiate synchronous and superstep simulation
… model a systems with yakindu and generate code
… describe systematic concurrency
24.11. Specification - Petri Nets … name the elements of a petri-net
… execute a petri-net
1.12. Specification - Petri Nets II … calculate a petri-net in vector-matrix notation
… distinguish C/E and P/T variants
… check invariants
8.12. Specification - VHDL I … describe the structure of VHDL specifications
… model logic signals with VHDL
… describe the mapping to FPGA logic from VHDL
15.12. Specification - VHDL II … model sequential logic with processes
… execute a VHDL simulation (transaction and process list)
… model gate delays
22.12. Hardware - Pareto, FPGA … select Pareto-optimal solutions
… explain FPGA workflows and reconfigurable logic
12. 1. Hardware - Processing and Memory … calculate energy-optimal schedules
… explain scratchpad memory
… differentiate DSP, CPUs, and micro-controllers
19. 1. Hardware - ADC/DAC, Sensors and Busses … compare different bus protocols
… discuss pros and cons of different bus systems
… select synchronous and asynchronous communication … describe basic DAC with a resistor bank
… differentiate flash and successive ADC
26. 1. Software - C Programming I … write basic C progams
… describe how variables are declared and allocated
… explain flow control constructs in C
… modify memory directly with pointers
2. 2. Software - C Programming I rep … modify memory directly with pointers html
9. 2. Software - C Programming II … explain the role of const, volatile and casting
… explain which steps are involved in compiling a C program