Uni-Logo
English       Login
Rechnerarchitektur
        Startseite         |         Institut für Informatik         |         Technische Fakultät
 

Introduction to Embedded Systems - Winter Term 21/22

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.

Instructors: Dr. Philipp M. Scholl, Benjamin Völker, Julika Feldbusch
Lecture: every Tuesday, 08:00-10:00, 19.10.2021 to 11.02.2022
Tutorial: every Friday, 09:00-10:00, 22.10.2021 to 11.02.2022
Calendar: ics calendar
Room: HS 00 026 µ - SAAL (G.-Köhler-Allee 101)
Streams: Lecture, Tutorial (english), Übung (deutsch)
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, live-streamed and you can participate on-campus. The tutorial sessions will be recorded and held on-campus. The lecture will be held in english as well as the tutorials.

Schedule

19.10. 22.10. Introduction … define an embedded system
… discuss embedded systems
… list application scenarios
html pdf yt html pdf yt
26.10. 29.10. Specification - Finite State Machines … describe and classify specification languages
… execute mealy and moore type automata
… transform state machines
html pdf html pdf
2.11. 5.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
9.11. 12.11. Specification - Petri Nets … execute a petri-net
… calculate in vector-matrix notation
… distinguish C/E and P/T variants
… check invariants
16.11. 19.11. Specification - VHDL I … describe the structure of VHDL specifications
… model logic signals with VHDL
… describe the mapping to FPGA logic from VHDL
23.11. 26.11. Specification - VHDL II … model sequential logic with processes
… execute a VHDL simulation (transaction and process list)
… model gate delays
30.11. 3.12. Specification - Pareto, FPGA … select Pareto-optimal solutions
… explain FPGA workflows and reconfigurable logic
7.12. 10.12. Hardware - Processing and Memory … calculate energy-optimal schedules
… differentiate DSP, CPUs, and micro-controllers
14.12. 17.12. Hardware - ADC/DAC, Sensors … describe basic DAC with a resistor bank
… differentiate flash and successive ADC
21.12. Hardware - Busses … discuss different bus protocols
… select synchronous and asynchronous communication
11.1. 14.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
18.1. 21.1. Software - C Programming II … explain the role of const, volatile and casting
… explain which steps are involved in compiling a C program
25.1. 28.1. Software - Embedded Machine Learning I … list approaches of acelerating digital signal procssing
… compare loop- and accelerated band-pass filtering
1.2. 4.2. Software - Embedded Machine Learning II … describe neural network internals
… compare different NN acclerators
… compare different implementation options (e.g. CMSIS)
8.2. 11.2. Software - Operating Systems … explain responsibilities of OSs
… discuss selection criteria for embedded OSs