Introduction to Computer Engineering:
Networked Embedded Systems

Goal and General Information

This part of the lecture series Introduction to Computer Engineering aims to provide an introduction to the area of networked embedded systems. It consists of 4 lectures, 2 exercises, and 2 labs (1 DS each). The course is given by Marco Zimmerling, with assistance from Martina Brachmann and Fabian Mager.

Contents

Distributed systems of embedded devices play an important role in many modern applications, including Cyber-Physical Systems (CPS) and the Internet of Things (IoT). While traditional application domains, such as automotive and avionics, use wire-based communication, the flexibility and cost efficiency of wireless communication enables entirely new applications. Examples include teams of aerial drones for precision agriculture and emergency response. The mission-critical nature of these applications calls for predictability of the overall system despite the inherent dynamics of wireless networks, and the limited resources of the devices require efficient operation in terms of energy, memory, wireless bandwidth, and compute power.

In this course, the lectures and exercises provide an introduction to two important topics in networked embedded systems: real-time scheduling and communication. Real-time scheduling aims to address the need for timing predictability; we look at basic concepts and algorihms for scheduling periodic and aperiodic compute tasks on a uniprocessor. Communication is ubiquitous, ranging from efficient wired communication between on-board components to adaptive and reliable wireless communication between distributed embedded devices; we discuss serial buses like SPI and key concepts underlying state-of-the-art low-power wireless communication protocols, such as radio duty cycling and synchronous transmissions.

In addition to the lectures and exercises, the labs provide the opportunity to gain hands-on experience in programming a wireless-enabled embedded microcontroller, for example, to read out an on-board sensor, to react to an externally triggered hardware interrupt, or to transmit data over the wireless radio.

Schedule and Material

Date / Time Type Topic Material
Dec 7 / 14:50-16:20 Lecture Introduction to networked embedded systems slides
Dec 7 / 16:40-18:10 Lecture Real-time scheduling slides
Dec 9 / 14:50-16:20 Lecture Communication (part 1) slides
Dec 9 / 16:40-18:10 Exercise Real-time scheduling tasks,solutions,slides
Dec 14 / 14:50-16:20 Lab Programming an embedded wireless device tar,tar with solutions
Dec 14 / 16:40-18:10 Lab Programming an embedded wireless device tasks,solutions,slides
Dec 16 / 14:50-16:20 Lecture Communication (part 2), Q&A, thesis opportunities slides
Dec 16 / 16:40-18:10 Exercise Communication tasks,solutions,slides

Please note that the task sheets for the seminars and labs will be handed out in print at the beginning of each session. Sample solutions will be made available online as soon as possible after each session. Similarly, all slides will be made available online as soon as possible after each lecture.

Contact

If you have questions about the lectures and seminars, please do not hesitate to contact Marco Zimmerling at marco zimmerling at tu-dresden.de. In case you have questions about the labs, you may also contact Fabian Mager at fabian mager at tu-dresden.de. We will be happy to help!