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)
Exam: 31.03.2021 9:00 - 10:30 room tba

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 yt html pdf yt
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
html pdf yt yt
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
html pdf yt
16.11. 19.11. Specifications - catch-up
23.11. 26.11. Specification - VHDL … model circuits with VHDL
… model sequential logic with processes
… execute a VHDL simulation (transaction and process list)
html pdf yt
30.11. 3.12. Specification - Pareto … select Pareto-optimal solutions html pdf yt
7.12. 10.12. Hardware - Processing and Memory … calculate energy-optimal schedules
… differentiate CPUs, and micro-controllers
… explain caching and scratchpad memory
html pdf
14.12. 17.12. 21.12. Hardware - catch-up
11.1. 14.1. Hardware - ADC/DAC, Sensors … describe basic DAC with a resistor bank
… differentiate flash and successive ADC
html pdf
18.1. 21.1. Hardware - Busses … discuss different bus protocols
… select synchronous and asynchronous communication
25.1. 28.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
html pdf
1.2. 4.2. Software - C Programming II … explain the role of const, volatile and casting
… explain which steps are involved in compiling a C program
8.2. 11.2. Software - Embedded Machine Learning I … list approaches of acelerating digital signal procssing
… compare loop- and accelerated band-pass filtering
? Software - Embedded Machine Learning II … describe neural network internals
… compare different NN acclerators
… compare different implementation options (e.g. CMSIS)
? Software - Operating Systems … explain responsibilities of OSs
… discuss selection criteria for embedded OSs