Embedded Systems Martina Maggio

News

17.05.2022

Exam dates and times

The exam dates for the embedded system course are going to be July 25th (9:00-12:00) and August 30th (13:00-16:00). Both exams are going to take place in the Günter-Hotz Lecture Hall.

12.05.2022

Tutorial date-time switch from May 18th to May 19th

This is just to inform all of you that the tutorial that was scheduled for 18.05.2022 at 10:00 has been moved to 19.05.2022 at 14:00. The updated schedule can be found in the timetable.

05.05.2022

Julia instructions to plot step response

As we saw today during the lecture, the newest version of the ControlSystems library in Julia does not support immediate plot of step responses. The simplest way I found to plot the signal is the following:

> using LinearAlgebra
> using ControlSystems
> using... Read more

As we saw today during the lecture, the newest version of the ControlSystems library in Julia does not support immediate plot of step responses. The simplest way I found to plot the signal is the following:

> using LinearAlgebra
> using ControlSystems
> using Plots
  [definition of Phi, Gamma, C, D, sampling_period]
> S = ss(Phi, Gamma, C, D, sampling_period);
> y, t, x = step(S);
> plot(t, y');

The transpose in the plot is necessary for column/row consistency.

 

Embedded Systems

Embedded systems are computer systems with a dedicated function within a larger mechanical or electrical system. The vast majority of computing systems are - in fact - embedded. Many of the systems we interact with in our daily life contain embedded systems. Think for example about a washing machine, or a dishwasher, or a smart watch, or a mobile phone. According to a 2009 article, "around 98% of the new CPUs produced each year are embedded".

Embedded systems often interact with the physical world around them, and many of them are control systems, that change the behavior of the environment around them to achieve some desired specification (think for example about a thermostat, or about the cruise control system in a car). Because their computation is dedicated to specific tasks, it is often possible to optimize the computation units to: (i) reduce the size and cost of the product, and (ii) increase its reliability and performance.

In this course we will take a look at the theoretical foundation of embedded systems programming, with a strong emphasis on cyber-physical systems. In particular, the course is divided into three modules.

  1. Models: The first part is dedicated to modeling the physics that the embedded systems interact with. We will look at (particular classes of) dynamical systems and discuss models in continuous time and discrete time. We will also look into how to model discrete state systems, and combination of discrete state and dynamical systems, known as hybrid systems.
  2. Control: The second part of the course is dedicated to control principles. We will investigate how to change the behavior of physical systems and how the computation can interact with the environment around us. In particular, we will look at two control techniques: (i) state feedback, and (ii) PID control.
  3. Implementation: The third part of the course is dedicated to study what happens when implementing code for embedded systems. In particular, we will look at scheduling, communication, fault tolerance, and testing.

Calendar

Lectures are scheduled on Tuesdays 14-16 and Thursdays 10-12 in lecture hall HS002 (building E1 3).
Tutorials are going to be held on zoom (you can find the link in the materials page).
In the timetable page, you can see a detailed plan for lectures and tutorial dates.

Evaluation

To be admitted to the exam, you need to pass a midterm assignmentThe grade is entirely determined based on the result of the exam.

Prerequisites

  • Knowledge of Linear Algebra is needed for both part 1 and 2.
    To refresh linear algebra concepts, I recommend you to watch the youtube playlist "the essence of linear algebra".

Software

You will use (at least) one alternative as software to study and practice the course content:

While Julia and Phyton are open source and easy to obtain, you can download MATLAB from asknet (free of charge with your student account). You don't need to choose a preferred language at the course start, but please make sure that you have the software you want to use installed before the first exercise session and use the software to double check the solution of your exercises.



Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators