Course syllabus
Course-PM
EEN090 Embedded control systems lp4 VT26 (7.5 hp)
The course is offered by the Department of Electrical Engineering
Contact details
Lecturer
Sabino Roselli, rsabino@chalmers.se
Teaching Assistant
Wenhao Lu, wenhaol@chalmers.se (Office Hours: Tuesday 16:00-17:00 / Thursday 14.00-15.00)
Examiner
Bengt Lennartson, phone: 031-772 3722, bengt.lennartson@chalmers.se
Exam Office
Room EDIT 3342, studadm.e2@chalmers.se
Course purpose:
The aim of the course is to introduce modeling, specification, and analysis of embedded control systems, covering both theoretical foundations and practical implementation. Students will learn about the integration of control algorithms with embedded hardware, real-time constraints, and communication protocols. Topics include microcontroller architecture, real-time operating systems (RTOS), sensor interfacing, digital control techniques, and software development for embedded applications. Hands-on laboratory exercises and projects will reinforce theoretical concepts.
The following concepts will be described at different levels in the course: embedded systems architecture, task scheduling and priorities, synchronization, deadlock detection and avoidance, fault detection and digital signal processing.
Lectures and Exercises Program
| Week | Session | Date | Time | Room |
| W13 | L1 Ch1-3 Intro | 24-mar | 10:00-11:45 | TP-L26 |
| L2 Ch4-5 Memory Allocation | 25-mar | 13:15-15:00 | TP-L23 | |
| L3 Ch6 Multithreading | 26-mar | 13:15-15:00 | TP-L20 | |
| W14 | E1 Multithreading | 30-mar | 13:15-15:00 | TP-L12 |
| L4 Ch7 Scheduling | 31-mar | 10:00-11:45 | TP-L26 | |
| L5 Ch8 WCET + Interrupt | 1-apr | 13:15-15:00 | TP-L26 | |
| W16 | Release Assignment 1 | 13-apr | 00:00 | |
| E2 Scheduling rules | 13-apr | 10:00-11:45 | TP-L23 | |
| L6 Optimization 1 | 14-apr | 10:00-11:45 | TP-L26 | |
| L7 Optimization 2 | 16-Apr | 13:15-15:00 | TP-L20 | |
| E3 Optimization | 17-apr | 13:15-15.00 | TP-L20 | |
| W17 | E4 Q&A Assignment 1 | 21-Apr | 10:00-11:45 | TP-L26 |
| L8 Ch9 Synchronization | 22-Apr | 13:15-15:00 | TP-L23 | |
| L9 Ch10 Priority Inversion and Watchdog Timers | 23-Apr | 13:15-15:00 | TP-L20 | |
| Deadline Assignment 1 | 24-Apr | 17:00 | ||
| W18 | Feedback Assignment 1 | 27-apr | 17:00 | |
| E5 Petri Nets | 28-Apr | 10:00-11:45 | TP-L26 | |
| L10 Ch11 Deadlocks | 29-Apr | 13:15-15:00 | TP-L26 | |
| W19 | Release Assignment 2 | 4-apr | 00:00 | |
| Deadline Assignment 1 - Resubmission | 4-May | 17:00 | ||
| E6 Deadlocks Verification | 5-May | 10:00-11:45 | TP-L26 | |
| E7 Q&A Assignment 2 | 6-May | 13:15-15:00 | TP-L26 | |
| L11 Operating systems (FreeRTOS) | 7-May | 13:15-15:00 | TP-L21 | |
| W20 | L12 Ch12 Communication Algorithms | 12-May | 10:00-11:45 | TP-L26 |
| L13 Ch13 Fault Tollerance | 13-May | 13:15-15:00 | TP-L23 | |
| Deadline Assignment 2 | 15-May | 17:00 | ||
| W21 | Feedback Assignment 2 | 18-apr | 17:00 | |
| Lab Session Groups 1-9 | 19-May | 8:00-11:45 | E2 KURSLABB 3507B | |
| Lab Session Groups 10-18 | 20-May | 13:15-17:00 | E2 KURSLABB 3507B | |
| Lab Session Groups 19-27 | 21-May | 13:15-17:00 | E2 KURSLABB 3507B | |
| Lab Session Groups 28-36 | 22-May | 8:00-11:45 | E2 KURSLABB 3507B | |
| Deadline Assignment 2 - Resubmission | 22-May | 17:00 | ||
| W22 | L13 Guest Lecture (MANDATORY ATTENDANCE) | 26-May | 10:00-11:45 | TP-L20 |
| L14 Summary | 27-May | 13:15-15:00 | TP-L23 | |
| E8 Old exam | 28-May | 13:15-15:00 | TP-L23 | |
| W23 | Exam | 3-Jun |
Course literature
- D.W. Harder, J. Zarnett, V. Montaghami, and A. Giannikouris. A practical introduction to real-time systems for undergraduate engineering (RTS), see Files Literature.
- Jan Lundgren, Mikael Rönnqvist, Peter Värbrand. Optimization;
- Richard Barry, the FreeRTOS Team. Mastering the FreeRTOS Real Time Kernel;
Changes made since the last occasion
- Removal of the third home assignment in favor of a Laboratory session;
- Added exercises in some sessions.
Learning objectives and syllabus
- Understand Embedded Systems Fundamentals and architecture;
- Develop Embedded C code for Control Systems:
- Explain concepts related real-time systems, including concurrency, multi-tasking, and resource management;
- Describe challenges in real-time systems including deadlock and starvation, and how to tackle such challenges;
- Explain communication protocols for embedded systems;
- Characterize faults in embedded systems and how they can be avoided or addressed;
- Use real-time operating systems to manage the resources of an embedded system.
Link to the syllabus on Studieportalen Study plan
Examination form
The students are evaluated through a final written exam (4.5 hec) and compulsory home and laboratory assignments (3.0 hec).
The final grade, according to the scale Fail (U) or Pass (3, 4, 5), is given based on the individual grades for the written exam.
There are three individual assignments in the course. Additional information regarding these assignments will later be found on the Assignment page.
Course representatives
The following students have been elected by the student administration to be course representatives in the course evaluation:
TIMEL ahmad2004ch@gmail.com Ahmad Chehade
TIMEL benjaminhp02@gmail.com Benjamin Hansson-Palo
TIMEL 1annie.larsson@gmail.com Annie Larsson
TIMEL viktor.skold05@gmail.com Viktor Sköld
TKITE 7anerik@gmail.com Erik Zetterlund
To be a study representative means that you will be involved in the course evaluation process. See more details at https://www.chalmers.se/en/education/your-studies/plan-and-conduct-your-studies/course-evaluation/