0% found this document useful (0 votes)
20 views58 pages

1 Introduction

The document outlines a course on Embedded Systems, detailing its organization, lecture schedule, and components of the curriculum, including theoretical foundations and practical aspects of embedded system design. It emphasizes the importance of real-time constraints, efficiency, and specialization in embedded systems, alongside a practical laboratory component utilizing advanced hardware. The course aims to equip students with both theoretical knowledge and hands-on experience in embedded system development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views58 pages

1 Introduction

The document outlines a course on Embedded Systems, detailing its organization, lecture schedule, and components of the curriculum, including theoretical foundations and practical aspects of embedded system design. It emphasizes the importance of real-time constraints, efficiency, and specialization in embedded systems, alongside a practical laboratory component utilizing advanced hardware. The course aims to equip students with both theoretical knowledge and hands-on experience in embedded system development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

Embedded Systems

1 - Introduction

© Lothar Thiele
Computer Engineering and Networks Laboratory
Michele Magno
D-ITET Center for project-based Learning
Organization
WWW: https://pbl.ee.ethz.ch/education/embedded-systems.html
Lecture: Michele Magno <[email protected]>; Lothar Thiele,
[email protected];
Coordination: Seonyeong Heo (ETZ D97.7) <[email protected]>
References:
▪ P. Marwedel: Embedded System Design, Springer, ISBN 978-3-319-85812-8/978-3-030-
60909-2, 2018/2021. You can find it also as open access!
▪ G.C. Buttazzo: Hard Real-Time Computing Systems. Springer Verlag, ISBN 978-1-4614-
0676-1, 2011.
▪ Edward A. Lee and Sanjit A. Seshia: Introduction to Embedded Systems, A Cyber-
Physical Systems Approach, Second Edition, MIT Press, ISBN 978-0-262-53381-2, 2017.

Sources: The slides contain ideas and material of J. Rabaey, K. Keuzer, M. Wolf, P.
Marwedel, P. Koopman, E. Lee, P. Dutta, S. Seshia, and from the above cited books.

1-2
Organization Summary
▪ Lectures are held on Mondays from 14:15 to 16:00 in ETF C1 until further notice. Life streaming
and slides are available via the web page of the lecture from the previous year (some part will
be new!!). In addition, you find audio and video recordings of most of the slides as well as
recordings of this years and last years life streams on the web page of the lecture.
▪ Exercises: The exercises are made available before the date of the exercise. During an exercise,
teaching assistants will summarize the lecture material required to solve the exercise questions,
give hints how to approach the solution, answer your questions and discuss the correct solution
at the end of the exercise. The electronic version of the exercise questions and solutions will be
placed online after the exercise has been conducted. Exercises will take place from 4pm - 6pm
on Wednesdays and Fridays as indicated in the timetable.
▪ Laboratory: Laboratory exercises will be conducted in teams of 2 people. Due to the large
number of students, there will be two successive ES-​Lab sessions at the days of the ES-​Lab (see
timetable): Session A from 4pm - 6pm on Wednesday and session B from 4pm - 6pm on Friday.
Both sessions will take place in rooms D61.1 and D96. If you still need to sign up you can do this
in the lecture (preferred) or via email to the lecture coordinator.

1-3
Lecture Organization

134

1-4
Further Material via the Web Page (under
development)

1-5
When and where?

1-6
What will you learn?
▪ Theoretical foundations and principles of the analysis and design of embedded
systems.
▪ Practical aspects of embedded system design, mainly software design.

The course has three components:


▪ Lecture: Communicate principles and practical aspects of embedded systems.
▪ Exercise: Use paper and pencil to deepen your understanding of analysis and
design principles . EXAMS ☺
▪ Laboratory (ES-Lab): Introduction into practical aspects of embedded systems
design. Use of state-of-the-art hardware and design tools.

1-7
Please read carfully!!
▪ https://pbl.ee.ethz.ch/education/embedded-systems.html

1-8
Practical part of this course.
•Discovery kit for IoT node with STM32U5 series
• Ultra-low-power STM32U585AII6Q microcontroller based on the Arm® Cortex®-M33 core with Arm® TrustZone®, 2 Mbytes of
Flash memory and 786 Kbytes of SRAM, and SMPS in UFBGA169 package
• 512-Mbit Quad-SPI Flash memory, 64-Mbit Octo-SPI PSRAM, 256-Kbit I2C EEPROM
• USB FS, Sink and Source power, 2.5 W power capability
• 802.11 b/g/n compliant Wi-Fi® module from MXCHIP
• Bluetooth® Low Energy from STMicroelectronics
• MEMS sensors from STMicroelectronics
• 2 digital microphones
• Relative humidity and temperature sensor
• 3-axis magnetometer
• 3D accelerometer and 3D gyroscope
• Pressure sensor, 260-1260 hPa absolute digital output barometer
• Time-of-flight and gesture-detection sensor
▪ Ambient-light sensor
▪ Authentication and security for peripherals and IoT devices from STMicroelectronics
▪ 2 user LEDs
▪ User push-button
▪ Reset push-button
▪ Board connectors
▪ USB Type-C®
▪ ARDUINO® Uno V3 expansion connectors
▪ Camera module expansion connector
▪ 2× STMod+ expansion connectors
▪ Pmod™ expansion connector
▪ Flexible power-supply options: ST-LINK USB VBUS, USB connector, or external sources
▪ On-board STLINK-V3E debugger/programmer with USB re-enumeration capability: mass storage, Virtual COM port, and debug
port
▪ Comprehensive free software libraries and examples available with the STM32CubeU5 MCU Package
▪ Support of a wide choice of Integrated Development Environments (IDEs) including IAR Embedded Workbench®, MDK-ARM,
and STM32CubeIDE

1-9
Be careful and please do not …

1 - 10
You have to return the board at the end!

1 - 11
Embedded Systems - Impact

1 - 12
Embedded Systems
Embedded systems (ES) = information processing systems
embedded into a larger product

•Examples:

• Often, the main reason for buying is not information processing


1 - 13
© www.braingrid.org
© www.openpr.com
1 - 14
Many Names – Similar Meanings

© Edward Lee
1 - 15
Embedded System
Embedded System

Hardware & Computation


Software reasoning
deciding
big data

CYBER Communication
WORLD
observing influencing
PHYSICAL
WORLD physical/biological/social
processes

Nature
Use feedback to influence the dynamics of the physical
world by taking smart decisions in the cyber world
1 - 19
Reactivity & Timing
Embedded systems are often reactive:
▪ Reactive systems must react to stimuli from the system environment :

„A reactive system is one which is in continual interaction with is environment and


executes at a pace determined by that environment“ [Bergé, 1995]

Embedded systems often must meet real-time constraints:


▪ For hard real-time systems, right answers arriving too late are wrong. All other
time-constraints are called soft. A guaranteed system response has to be explained
without statistical arguments.

„A real-time constraint is called hard, if not meeting that constraint could


result in a catastrophe“ [Kopetz, 1997].

1 - 20
Predictability & Dependability

CPS = cyber-physical system

“It is essential to predict how a CPS is going to behave under any


circumstances […] before it is deployed.”Maj14

“CPS must operate dependably, safely, securely, efficiently and in


real-time.”Raj10

Maj14 R. Majumdar & B. Brandenburg (2014). Foundations of Cyber-Physical Systems.


Raj10 R. Rajkumar et al. (2010). Cyber-Physical Systems: The Next Computing Revolution.
1 - 21
Efficiency & Specialization
▪ Embedded systems must be efficient:
▪ Energy efficient
▪ Code-size and data memory efficient
▪ Run-time efficient
▪ Weight efficient
▪ Cost efficient

Embedded Systems are often specialized towards a certain


application or application domain:
▪ Knowledge about the expected behavior and the system environment at design
time is exploited to minimize resource usage and to maximize predictability and
reliability.

1 - 22
Comparison
Embedded Systems: General Purpose Computing
▪ Few applications that are known at ▪ Broad class of applications.
design-time.
▪ Not programmable by end user. ▪ Programmable by end user.

▪ Fixed run-time requirements (additional ▪ Faster is better.


computing power often not useful).

▪ Typical criteria: ▪ Typical criteria:


▪ cost ▪ cost
▪ power consumption ▪ power consumption
▪ size and weight ▪ average speed
▪ dependability
▪ worst-case speed

1 - 23
Lecture Overview

1. Introduction to Embedded Systems


2. Software Development
3. Hardware-Software Interface
4. Programming Paradigms
Software Hardware-
5. Embedded Operating Systems
Software
6. Real-time Scheduling
7. Shared Resources
8. Hardware Components
Hardware 9. Power and Energy
10. Architecture Synthesis and
System Integration

1 - 24
Agenda Embedded Systems
DATE Topic

26.09 / Magno Lecture 1: Chapters 1. Introduction

Lecture 2: Chapters 2. Software Development and Chapter 3. Hardware-


03.10/ Magno ​Software Interface (Processor VS MCU, Core ARM cortex-M 33,
Lecture 3: Chapter 3 Hardware-​​Software Interface (Clocks, Memory,
10.10 / Magno Interrupts of ARM Cortex M33)
17.10 / Magno Lecture 4: Chapter 3 Hardware-​​Software Interface (Serial Interface)
24.10 / Magno Lecture 5: Chapter 3 Hardware-Software Interface ( ADC/ DAC/Timers/PWM)
31.10 / Dr. Heo Summary, Labs, exercises
Lecture 6: Chapter 4 Programming Models and Chapter 5 Operating
07.11 / Thiele systems
Lecture 7: Operating Systems and. Chapter 6 Aperiodic and Periodic
14.11 / Thiele Scheduling
21.11 / Thiele Lecture 8 L Chapter 6. Aperiodic and Periodic Scheduling
28.11 / Thiele Lecture 9: Chapter 7 Shared Resources
05.12 / Magno Lecture 11: Chapter 8 Power and Energy
Lecture 12: Chapter 9 Sensing; energy considerations, data rates, buffering, spatial
12.12 / Michele vs. temporal density.
19.12 / Michele Lecture 13: Chapter 10 Architecture Synthesis and System Integration

1 - 25
Components and Requirements by Example

1 - 26
1 - 27
1 - 28
1 - 29
Components and Requirements by Example
- Hardware System Architecture -

1 - 30
High-Level Block Diagram View
low power CPU higher performance CPU
• enabling power to the rest of the system • sensor reading and motor control
• battery charging and voltage • flight control
measurement • telemetry (including the battery voltage)
• wireless radio (boot and operate) • additional user development
• detect and check expansion boards • USB connection

UART:
• communication protocol (Universal
Asynchronous Receiver/Transmitter)
• exchange of data packets to and from
interfaces (wireless, USB)

1 - 31
EEPROM:
• electrically erasable programmable
High-Level Block Diagram View read-only memory
Acronyms: sensor board • used for firmware (part of data and
software that usually is not
• Wkup: Wakeup signal changed, configuration data)
• GPIO: General-purpose input/output • can not be easily overwritten in
signal comparison to Flash
• SPI: Serial Peripheral Interface Bus
• I2C: Inter-Integrated Circuit (Bus)
• PWM: Pulse-width modulated Signal
• VCC: power-supply

Flash memory:
• non-volatile random-access memory
for program and data
1 - 32
1 - 33
High-Level Physical View

1 - 34
High-Level Physical View

1 - 35
Low-Level Schematic Diagram View

LEDs

(1 page out of 3)
1 - 36
Low-Level Schematic Diagram View

(1 page out of 3) Motors


1 - 37
High-Level Software View
▪ The software is built on top of a real-time operating system “FreeRTOS”.
▪ We will use the same operating system in the ES-Lab … .

1 - 38
High-Level Software View

The software architecture supports

▪ real-time tasks for motor control (gathering sensor values and pilot commands,
sensor fusion, automatic control, driving motors using PWM (pulse width
modulation, … ) but also

▪ non-real-time tasks (maintenance and test, handling external events, pilot


commands, … ).

1 - 40
High-Level Software View
Block diagram of the stabilization system:

sensor reading & transfer to cleaning and information


analog-digital processor preprocessing extraction from automatic control actuation
conversion sensors
on sensor
component 1 - 41
Components and Requirements by Example
- Processing Elements -

1 - 42
What can you do to increase performance?

1 - 43
From Computer Engineering

1 - 44
From Computer Engineering
iPhone Prozessor A12
• 2 processor cores
- high performance
• 4 processor cores - less
performant
• Acceleration for
Neural Networks
• Graphics processor
• Caches

1 - 47
What can you do to decrease power consumption?

1 - 48
Embedded Multicore Example
Trends:
▪ Specialize multicore processors towards real-time processing and low power
consumption (parallelism can decrease energy consumption)
▪ Target domains:

1 - 49
Why does higher parallelism help in reducing power?

1 - 50
System-on-Chip
Samsung Galaxy S6
– Exynos 7420 System on a Chip (SoC)
– 8 ARM Cortex processing cores
•Exynos 5422
(4 x A57, 4 x A53)
– 30 nanometer: transistor gate width

1 - 51
How to manage extreme workload variability?

1 - 52
System-on-Chip
Samsung Galaxy S6
– Exynos 7420 System on a Chip (SoC)
– 8 ARM Cortex processing cores
•Exynos 5422
(4 x A57, 4 x A53)
– 30 nanometer: transistor gate width

1 - 53
From Computer Engineering
iPhone Prozessor A12
• 2 processor cores
- high performance
• 4 processor cores - less
performant
• Acceleration for
Neural Networks
• Graphics processor
• Caches

1 - 54
Components and Requirements by Example
- Systems -

1 - 56
Zero Power Systems and Sensors

Streaming information to
and from the physical world:

• “Smart Dust”
• Sensor Networks
• Cyber-Physical Systems
• Internet-of-Things (IoT)

1 - 57
Zero Power Systems and Sensors

IEEE Journal of Solid-State Circuits, IEEE Journal of Solid-State


Jan 2013, 229-243. Circuits, April 2017, 961-971.
1 - 58
Trends …
▪ Embedded systems are communicating with each other, with servers or with the cloud.
Communication is increasingly wireless.

▪ Higher degree of integration on a single chip or integrated components:


▪ Memory + processor + I/O-units + (wireless) communication.
▪ Use of networks-on-chip for communication between units.
▪ Use of homogeneous or heterogeneous multiprocessor systems on a chip (MPSoC).
▪ Use of integrated microsystems that contain energy harvesting, energy storage, sensing,
processing and communication (“zero power systems”).
▪ The complexity and amount of software is increasing.

▪ Low power and energy constraints (portable or unattended devices) are increasingly important,
as well as temperature constraints (overheating).
▪ There is increasing interest in energy harvesting to achieve long term autonomous operation.

1 - 59
Learning objective of Today Class
▪ Where we are what we will do.
▪ What are Embedded Systems and CPS
▪ Both hardware and software are important and you will learn
▪ Processors and evolution of them
▪ Trends and topics

1 - 60
How we do learning at PBL?

1 - 61
Research focus: Embedded Systems and Wireless
Smart Sensors for a better and greener world
▪ An embedded system is some combination of computer hardware and software, either fixed in capability
or programmable, that is designed for a specific function or for specific functions within a larger system.

•Main Teaching at ETH


• Embedded systems – 300 students per year
• Machine Learning on Microcontrollers – 100 students per year •Michele Magno •26/09/2022 •62
• Over 100 students projects per year. 1 - 62
•29.05.2020
Next Generation of IoT devices: Always-on Smart Sensors
PBL research activities in all the 4 areas.

•1. ) Edge Signal Processing and AI

•Smart devices
•for perpetual operation

•3. ) Low power system design •2. ) Energy harvesting

•4. ) Low Power and long-range communication

1 - 63
You are kindly invited for the PBL OPEN day… right
now ☺

1 - 64
See you later or next week!

1 - 65

You might also like