0% found this document useful (0 votes)
7 views

Module-1.1 - Introduction to Embedded Systems

This document outlines an introductory module on Embedded Systems and IoT for the academic year 2024/2025 at UNIBO, led by Prof. Alessandro Ricci. It covers fundamental concepts, architecture, and characteristics of embedded systems, including their applications in various fields such as consumer electronics, automotive, healthcare, and Industry 4.0. Additionally, it discusses the integration of cyber-physical systems and the significance of real-time processing in embedded applications.

Uploaded by

arvin.lajani3
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Module-1.1 - Introduction to Embedded Systems

This document outlines an introductory module on Embedded Systems and IoT for the academic year 2024/2025 at UNIBO, led by Prof. Alessandro Ricci. It covers fundamental concepts, architecture, and characteristics of embedded systems, including their applications in various fields such as consumer electronics, automotive, healthcare, and Industry 4.0. Additionally, it discusses the integration of cyber-physical systems and the significance of real-time processing in embedded applications.

Uploaded by

arvin.lajani3
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 72

v1.

0
20240919

Embedded Systems and IoT


Ingegneria e Scienze Informatiche - UNIBO
a.y. 2024/2025
Lecturer: Prof. Alessandro Ricci

[module 1.1]
INTRODUCTION TO
EMBEDDED SYSTEMS
ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 1
SUMMARY
• This module provides an overview of main concepts
about embedded systems
– basic terminology and concepts
– embedded system architecture
– intro to design and development of embedded
software

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 2


EMBEDDED SYSTEMS: DEFINITION
• Special-purpose computing systems
– i.e. they do a specific function or task embedded in
devices and physical/electronic systems, of different
sizes and with different purposes
– the task of the embedded system requires an
interaction with the physical world by means of
sensors and actuators
• Typically composed by two parts: hardware + software
– sometime the sw part can be missing
• Embedded software
– software part of an embedded system

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 3


EMBEDDED SYSTEM PERVASIVENESS
• Consumer electronics
– smartphones, cameras, wearables,…
• Home appliances
– thermostats, smart lighting systems, smart fridges,
robot vacuum cleaners, alarm systems, …
• Office automation
– copy machines, printers,…
• Business equipment
– ATM, cash register, …
• Cars, vehicles,…
– drive system, navigation system, …
• …
ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 4
HOME APPLIANCES

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 5


INTERNET OF THINGS e SMART
THINGS

Nest smart thermostat Kevo smart lock

WeMo smart things


ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 6
SMART HOME

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 7


AUTOMOTIVE

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 8


AVIONICS

“Airborne functions in commercial aircraft are controlled by modular avionics systems.


Embedded computers take on vital functions such as flight and engine control, or navigation.”
(https://www.men.de/)
ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 9
INDUSTRY

https://www.men.de/

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 10


HEALTHCARE

WristOx

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 11


MOBILE E WEARABLE DEVICES

smartglasses
smart-watch

Fitbit
smart armband
ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 12
EMBEDDED SYSTEM EMBEDDING

(Embedded system introduction, http://www.tik.ee.ethz.ch/education/lectures/ES/slides/


1_introduction)

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 13


CHARACTERISTICS
• Specific purpose/functionality
– an embedded system typically executes one specific
application
• never-ending program (a process)
– typically executing a task repeatedly
• design time => utilizzare e massimizzate la
robustezza
– designed for robustness and minimisation of used
resources
– ad hoc user interface and experience

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 14


CHARACTERISTICS
• Tightly constrained (resource) ed efficiency
– design constrains typically more strict in terms of
available CPU/memory/power/… than desktop/server
systems
• Use of design metrics
– measuring characteristics of implementation/
development
• cost - including NRE costs (non-recurring-
engineering = one time cost)
• size, performance, energy consumption
• Design oriented to efficiency
– energy efficient, code-size efficient, run-time efficient,
weight efficient, cost efficient

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 15


CHARACTERISTICS
• Critical systems
– embedded systems often play a critical role in the context
where they are used
• e.g. healthcare devices, transportation, industry..
• This calls for a design oriented to
– dependability, reliability, availability
• high probability of proper and continuous functioning
– safety and security
• never arming users or environments
• strict security and privacy norms

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 16


CHARACTERISTICS
• Reactivity and real-time
– embedded systems are typically used in application
contexts in which the system must be promptly react to
stimula from the physical environment, by performing
computations and actions in real-time, within a deadline,
without latencies
– in the case of hard real-time, the deadline violation is
considered a failure of the system and could cause critical
problems

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 17


SISTEMI CYBER-PHYSICAL (CPS)
• Cyber-Physical Systems (CPS)
– systems that integrates computations with physical
processes
• vs. information processing systems
• Specific characterising aspects compared to information
processing systems:
– strong time dependency and management of time
• not only for performance, but correctness
– concurrency
• physical processes are typically in parallel
– reactivity, asynchronous events
• reactive systems vs. transformational systems
ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 18
SISTEMI CYBER-PHYSICAL (CPS)
• 3 parts or subsystems
– physical part
• can include devices, mechanical/biological systems, chemical
processes, human operators (users)

{
– computational/embedded part
cyber

• one or multiple computing platforms, each equipped with sensors,


actuators, and one or multiple computers
– network part
• provides the mechanisms to connect the computing platforms

(IES book, p. 6)

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 19


EXAMPLE: QUADCOPTER DRONE

(IES book, p. 7)

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 20


CPS: INTER-DISCIPLINARITY

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 21


INDUSTRY 4.0
• Industry 4.0, Industrie 4.0 o fourth industrial revolution
– affects industrial manufacturing and industry in general
• Also referred as smart factory

https://en.wikipedia.org/wiki/Industry_4.0

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 22


DIGITAL TRANSFORMATION OF
FACTORIES
• It includes cyber-physical systems, Internet of Things (IoT)
(Industrial IoT) and cloud computing
– cyber-physical systems monitor physical processes, creating a
virtual representation of physical assets, allowing for remote/
distributed decision making
– By exploiting IoT, cyber-physical systems communicate and
cooperate through the Internet, and with human operators in real
time
– cloud-based Internet services are made available both inside an
organisation and outside for partners that are part of the value
chain

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 23


“PHYSICAL COMPUTING”
PERSPECTIVE
• Terms used to refer computational systems that interact
with the physical world, typically targeted to the
construction and exploration of human-machine
interaction frameworks

Introduction xxv

Figure I.4
The parts of a physical
computing system.

(“Physical Computing”. Dan O’Sullivan, Tom Igoe. Thomson)


Circuits
You will have to build a little circuitry as the glue between the transducers you use to
ESIOTsense and
ISI-LT control the world and themodule-1.1
- UNIBO computers -you use to interpret
Introduction what’s Systems
to Embedded going on. For the 24
majority of common transducers, you will copy one of four or five basic circuits we’ll lay
WEARABLE COMPUTING
• Wearable embedded systems
– examples
• smart wrists, smart-watches, smartglasses
– eyewear computing
• based on smartglasses
– spatial computing
• based on mixed/augmented reality systems
• Enabling technologies for
– hands-free systems

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 25


EMBEDDED SYSTEM ARCHITECTURE

Application Software

Operating System

Hardware

(the sw layers could be missing)

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 26


HARDWARE ARCHITECTURE

Random
Read-Only
Access
Memory
Memory
(ROM)
(RAM)

Sensors Actuators
& Input Central Processing Unit
& Output
Devices (CPU)
Devices

Communication
Application-specific circuitry
Interfaces

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 27


HARDWARE ARCHITECTURE: CPU

Random
Read-Only
Access
Memory
Memory
(ROM)
(RAM)

Sensors Actuators
& Input Central Processing Unit
& Output
Devices (CPU)
Devices

Communication
Application-specific circuitry
Interfaces

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 28


CPU: TECHNOLOGIES
• Three kinds of processor technologies
– general-purpose processors (=> software)
• processors featuring a predefined architecture and an instruction set
(instruction set architecture, ISA) e the behaviour of the system is
defined by the program (software) in execution
– single-purpose processors
• digital circuits designed to implement a specific function or program
• ASIC = Application-Specific Integrated Circuit
– Application-Specific Processors (ASIP)
• middle case
• programmable processors, optimised for a specific class of
applications with common features
– e.g.: micro-controllori (MCU), SoC (System-on-a-Chip), DSP
(Digital Signal Processors)
• even in this case, the application logic is defined at the software level

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 29


SINGLE-PURPOSE PROCESSORS
• Different implementations
– Full-Custom/VLSI
• the implementation accounts for designing the full processor
in a custom way, optimising all levels
– Semi-custom
• ASIC - application specific IC - in this case the starting point
is a set of predefined levels, implementing the processor on
top
– PLD - programmable logic device
• all levels are already there, but can be configured/
“programmed” for the purpose
• the levels implement programmable circuits, where the
programmability is given by the possibility of create/destroy
connections, gates, etc.

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 30


SINGLE-PURPOSE PROCESSORS
• PLA (Programmable Logic Array)
– programmable array of AND gates + OR gates
• PAL (Programmable Array Logic )
– single type of array
• FPGA (Field Programmable Gate Array)
– integrated circuits with programmable functions via software
• more general level of programmability compared to PLA and
PAL
– allows for implementing complex logics, strong scalability
• millions of gates for a single FPGA device
– programming languages: Verilog, VHDL
– schematic-entry visual-based programming languages
• LabView

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 31


FPGA

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 32


FPGA PROGRAMMING

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 33


MICRO CONTROLLER UNIT (MCU)
• Differently from traditional microprocessors, microcontrollers integrate on
a single chip all the components required to have full functional
autonomy for the tasks that the embedded is designed for
– CPU, persistent memory, volatile memory, I/O channels (pins), interrupt
controller unit, and other specialised components
– both CISC CPU based on Von Neumann architecture, and RISC based,
such as the Texas Instruments MSP430
– 8, 16, 32 bit
• Examples
– historical: 8 bit MCU: Motorola 68000, Intel 8080 (1975), Zilog Z80, Intel
8051
– more recents: Atmel AVR, Texas Instruments MSP430, Microchip
PIC16C84, ARM a 32 bit, Hitachi H8, PowerPC
• Fragmented marketplace, many OEMs and many architectures, no one
dominant

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 34


MICROCONTROLLERS - EXAMPLES
• List: https://en.wikipedia.org/wiki/List_of_common_microcontrollers
• Well-known micro from Texas
Instruments, widespread
– 16 bit, ultra-low-power
• LaunchPad Development Kits
TI MPS430
– from 16 to a 25 MHz, from 32
KB up to a 512 KB Flag, from 2
up to 66 KB SRAM

PIC16C Microchip - 8 bit MCU CMOS - 5


MIPS, 1,5 KB memory for programs,
RAM up to 72 bytes .- clock 4 MHz
PIC 16505

ATMega328P 8 bit MCU, but instruction takes one or


two 16-bit words, 2KB SRAM, 32KB
FLASH, 16 MHz

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 35


MICROCONTROLLERS VS
MICROPROCESSORS

Caratteristica Microcontroller Microprocessor


Max clock speed 200 MhZ 4GHz

Max MegaFLOPS 200 5000

Power consumed (watt) 1 50

Minimum price per item (USD) 50

Number of items sold 11000 1000

https://en.wikipedia.org/wiki/Microcontroller

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 36


SINGLE-BOARD MICRO-CONTROLLER
• Solutions that integrate in a single board a microcontroller
and all necessary circuits and electronics to perform a
control task
– the board can be immediately used then by engineers
to develop and run the embedded software, without
the need to design and develop any HW for the control
• Examples:
– consumer market/makers: Arduino
– industries: XMC family

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 37


ARDUINO (UNO)

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 38


ARDUINO FAMILY http://arduino.cc

Uno - 8 bit 16 Mhz, 2+32KB, 14+6 pin M0 - 32 bit 48 Mhz, 32+256KB

Yun - 32 bit 400 Mhz, 64+16MB

Mega - 8 bit 16 Mhz, 8+256KB, 54+16 pin

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 39


RECENT EXTENSIONS

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 40


INDUSTRIAL EXAMPLE

https://www.in neon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-cortex-m/
ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 41
fi
SOC AND SINGLE-BOARD CPU
• SOC = System-on-a-Chip
– chip integrates a complete system, including CPU, memory, I/O
controllers, network controllers
– similar to microcontroller, but typically more powerful
• 32 or 64 bit, clock ~ hundred of MHz up to GHz, memory ~
hundred of MB
– typically used to create single-board CPU
• Esempi:
– BROADCOM BCM2837 64bit ARMv8 Cortex A53 Quad Core
(1.2Ghz)
• used in Raspberry Pi 3
– ARM Sitara AM335x SoC - including ARM Cortex-A8 processor
• used in BeagleBone, Arduino Tre
– Texas Instruments OMAP3530
– …

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 42


RASPBERRY FAMILY
Raspberry Pi (2012)
- SOC: Broadcom
BCM2835
- 700 MHz single-
core ARM1176JZF-S
- 256 MB

Raspberry Pi 2 (2015)
- SOC: Broadcom
BCM2836
- 900 MHz 32-bit quad-
core ARM Cortex-A7
- 1 GB RAM

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 43


RASPBERRY FAMILY
Raspberry Pi 3 (2016)
- Broadcom BCM2837
- 1.2 GHz 64-bit quad-
core ARM Cortex-A53
- 1 GB RAM

Raspberry Pi 4 (2019)
- Broadcom BCM2711
- 4× Cortex-A72 1.5
GHz
- 1,2, 4 GB RAM

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 44


RASPBERRY FAMILY
Raspberry Pi 5 (2023)
- Broadcom BCM2712
2.4GHz quad-core 64-
bit Arm Cortex-A76
CPU, 512KB per-core
L2 caches, and a 2MB
shared L3 cache
- VideoCore VII GPU
- SDRAM: 4GB and
8GB SKUs

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 45


ESP 8266
• SoC designed for IoT
• Hardware
– Processor: L106 32-bit RISC
microprocessor core 80 MHz*
– 64 KiB of instruction RAM, 96 KiB of
data RAM
– 16 GPIO pins
• SPI, I²C, I²S + UART
• 10-bit ADC
– IEEE 802.11 b/g/n Wi-Fi
• Different kind of SDK and firmware ESP8266
– GCC toolchain, Wiring / Arduino, SoC
NodeMCU Lua-based, MicroPython
Python based, ESP-Open-RTOS Open
source FreeRTOS-based…

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 46


ESP32
• ESP8266 successor
• Hardware
– Processor: Xtensa dual-core (or single-
core) 32-bit LX6 microprocessor,
operating at 160 or 240 MHz
– Memory: 520 KiB RAM, 448 KiB ROM
– 34 GPIO pins
ESP32 SoC
• SPI, I²C, I²S + UART
• 12-bit ADC
– IEEE 802.11 b/g/n Wi-Fi
– …
• Different kind of SDK and firmware
– GCC toolchain, Wiring / Arduino,
NodeMCU Lua-based, MicroPython
Python based, ESP-Open-RTOS Open
source FreeRTOS-based…

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 47


WHICH TECHNOLOGY TO CHOOSE

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 48


TREND: MCU AND SOC
• The choice depends on the requirements of the project and it is
always a trade-off
• Nevertheless, solutions based on microcontrollers and SoC — and
related single boards — are more and more adopted and pervasive
– they ease the development of families of products, that can be
designed to provide different kind of functionalities, ad different
costs
• flexibility, efficiency, more scalable with the complexity
– the use of processors with a predefined instruction set often
leads to a quicker implementation (than the use of custom
logics)
• this is the effect of the continuous progress of the CPU
• Microcontrollers and SoC programmability brings effective
benefits to the overall design and development process

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 49


HARDWARE ARCHITECTURE:
SENSORS, ACTUATORS, BUS
Random
Read-Only
Access
Memory
Memory
(ROM)
(RAM)

Sensors Actuators
& Input Central Processing Unit
& Output
Devices (CPU)
Devices

Communication
Application-specific circuitry
Interfaces

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 50


SENSORS AND ACTUATORS
• An embedded system interacts with the environment where it is situated by
means of sensors and actuators
• Sensors
– transducers devices that make it possible to measure a certain specific
physical phenomenon (e.g. temperature, humidity, acceleration, distance,
etc) or detect and quantify a chemical concentration (e.g. smoke)
– provide a measurable representation of a phenomenon in a specific
scale or interval
– can be either analog or digital
• analog => the electrical measurement produced in output — either
voltage or current — changes according to variations of the
measured phenomenon in input
• for analog sensor, the microcontroller integrates a analog-digital-
converter (ADC)
• digital => the electrical value is mapped into a discrete set of values
(e.g. two values, HIGH and LOW)
• Actuators
– devices that produce some measurable effect on the environment

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 51


SENSOR EXAMPLES

Temperature sensor (analog)


Proximity sensor GPS

Luminosity sensor

Presence sensor (PIR)


MPU-6050
3 axes Gyro+Accelerometer

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 52


BUS AND COMMUNICATION
PROTOCOLS
• The interaction between the MCU/microprocessor and
sensors/actuators is enabled by communication channels
(bus) based on specific communication protocols
• In embedded systems buses/protocols are typically serial
– i.e. multi-bits words are sent/receive as a sequential
stream of bits
• Examples
– I2C, SPI, JTAG
– CAN-bus

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 53


ASYNCHRONOUS SERIAL - UART
• Universal Asynchronous Receiver-Transmitter
– oldest serial protocol, supported by any MCU
– allows for converting parallel bit streams into a
sequential asynchronous stream, and viceversa
– actually UART does not generate or receive directly
the signals to be converted: this is typically done by
separate interface devices/protocols such as RS-232,
Bluetooth, USB,…
• USART (Universal Synchronous/Asynchronous Receiver-
Transmitter) extends the protocol with a line for a clock
signal for synchronisation

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 54


I2C, SPI e JTAG
• I2C (Inter-Integrated Circuit)
– widespread serial bus/protocol synchronous
– very simple: only 2 lines — 1 for a clock, 1 for data
• SPI (Serial Peripheral Interface)
– another synchronous bus/protocol
– more complex that I2C
• JTAG
– standard protocol for testing devices and useful for
debugging embedded software

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 55


CAN-BUS
• Controller Area Network (CAN-bus)
– standard serial protocol used in automotive,
introduced by Bosch
– designed to connect multiple control units
– robust enough to work in environments with
electromagnetic interferences
– based on message multicast

• A node can be also a sensor/actuator + host processor

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 56


COMMUNICATION INTERFACE AND
TECHNOLOGIES
• Technologies and standards that allow for a wired and
wireless communication with other systems (either
embedded or not )
• Wireless in particular
– Bluetooth and Bluetooth Low-Energy (BLE)
– ZigBee
– Z-Wave
– LoRoWan
– Wifi
–…

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 57


EMBEDDED SYSTEM
DEVELOPMENT
PROCESS:
AN OVERVIEW

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 58


EMBEDDED SYSTEM ENGINEERING

• Iterative process
– modelling
– design
– analysis

(IES book, p. 8)
ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 59
EMBEDDED SYSTEM ENGINEERING:
THE PROCESS
• Modeling
– process to get a deep understanding and knowledge about the system to
be built
– such knowledge is represented in terms of models, which are the result
of this process
– they represent what the system does
• Design
– process targeted to create artefacts that represent the system
– it specifies how the system does what it does
– modelling can have an important role also in this stage
– providing an abstract description about how the the system should
work, in spite of any specific implementation
• Analysis
– process targeted to get a deep understanding about how the system
behaves
– it specifies why the system does what it does (or it does not do what it
was supposed to do)
ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 60
MODELLING
• Model = rigorous description of the relevant aspects of a
system, useful to explicitly specify and understand
properties of the system and its dynamics
– dynamics = temporal evolution
• Embedded systems and CPS are systems composed by
physical subsystems integrated with computational and
network systems => a model of an embedded system
can include all three parts (physical, computing,
networking)
– modelling the physical part
– modelling the logical/computational part
• software, algorithms

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 61


MODELLING THE DYNAMIC
BEHAVIOUR
• Modelling the physical part => continuous-time dynamics
– mathematical models & control theory
• typically studied in automation & control
engineering courses
• Modelling the logical part => discrete-time dynamics
– state machines and their composition
– tasks & concurrent models
• this course
• Modelling hybrid systems (e.g. CPS)
– actor models (IES book)

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 62


DESIGN AND DEVELOPMENT

• Embedded system design:

– choose the proper HW architecture and technology

– choose the proper SW architecture

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 63


ANALYSIS
• Every system is designed to satisfy some specific requirements
– this is true in particular for safety-critical systems
• Requirements should be expressed rigorously in terms of properties
or specifications, in some formal language
– “a design without specification cannot be right or wrong, it can be
only surprising!” (Young et al., 1985)
• Tools
– formal languages to specify properties
• e.g. temporal logics
– techniques for analysing the properties and to verify them upon
the model describing the dynamics of the system
– e.g. model-checking

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 64


TOP-DOWN AND BOTTOM-UP
DESIGN
• Design can be either top-down or bottom up, through
different levels
– requirements

top-down

bottom-up
– specification
– architecture
– components
– system integration

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 65


REQUIREMENTS
• Requirements elicitation and collection from customers
and domain experts about what the system is expected to
do
– functional requirements
• functions/tasks that the system must perform
– non-functional requirements
• performance, cost (manufacturing and NRE),
physical dimension, weight, power consumption,..
• Use of requirement forms
– including name, objective, inputs, outputs, functions,
performance, cost, power consumption, size

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 66


SPECIFICATION
• Rigorous description of requirements
– it is a contract between the customer and designers
• It should be clear and detailed enough to allow for
verifying customer requirements and expectation
– not ambiguous
• UML language, formal languages
– e.g. temporal logics

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 67


DESIGN & ARCHITECTURE
• Description of how the system implements the functions
described in specs
• Architecture
– plan of the overall structure of the system, to be used
to drive the development of components
– it describes which components are part of the system
and how they interact
• Block Diagram
– hardware and software

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 68


BLOCK DIAGRAMS

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 69


FROM COMPONENT DESIGN TO
SYSTEM INTEGRATION
• Individual component design and development
– both HW and SW parts
• e.g.: FPGA, boards, SW modules
– some components can be ready-made, i.e. already
available
• CPU, GPS receivers, topographic databases,
services..
• System integration
– integration of components as defined by the
architecture
– critical part of the design

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 70


PROGRAMMING, DEVELOPMENT
AND DEBUGGING
• Embedded software development
– traditional or model-driven
• Typically on host computers
– tool-chain to create executables, to be uploaded and executed on the
embedded system
• High-level languages and platforms
– C/C++ languages and system libraries
• pervasively used in microcontroller-based solutions
– in embedded systems with an OS => widespread use of languages/
platforms with a runtime architecture
• languages: C/C++ but also JavaScript, Java, C#, Python, Rust, …
• platforms: Embedded Java, Android,…
• Debugging
– exploiting serial connection for logging messages on a host PC
– JTAG interface/protocol
ISAC - ISI-LM - Cesena - UNIBO module-1.1 - Introduction to Embedded Systems 71
REFERENCES
• Wayne Wolf. Computers as Components - Principles of Embedded
Computer System Design. Morgan Kaufman
– chapter 1
• [IES Book] Ed Lee and S. Seshia. Introduction to Embedded
Systems. A Cyber-Physical Systems Approach. UC Berkley
– chapter 1
• Frank Vahid and Tony Givargis. Embedded System Design - A
unified Hardware/Software perspective - Introduction. Wiley
– chapter 1

ESIOT ISI-LT - UNIBO module-1.1 - Introduction to Embedded Systems 72

You might also like