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 |