Introduction to Embedded Systems
Syllabus
This module will cover the following aspects
• An overview of embedded systems
• Examples of embedded systems
• Features of embedded systems
2 © 2020 Arm Limited
Embedded systems
Internet of Things (IoT)
• Application-specific computer system
• Built into a larger system
• Often with real-time computing constraints
Adding embedded systems to larger systems
• Better performance
• More functions and features
• Lower cost, for e.g., through automation • More dependability
Examples: smartphones, smart watches, printers, gaming consoles, wireless routers
Input
Environment
Embedded system
Software Hardware
Output
User interface
Other systems
3 © 2020 Arm Limited
CPUs → MCUs → Embedded Systems Microprocessor or Central Processing unit (CPU)
Memory interface
Instruction fetcher Instruction decoder Register banks
ALU
To memory blocks
Microprocessor
Defined typically as a single processor core that supports at least instruction fetching, decoding, and executing
Used for general purpose computing, but needs to be supported with memory and Input/Output (I/O) interfaces
4 © 2020 Arm Limited
CPUs → MCUs → Embedded Systems Microcontroller Unit (MCU)
Microprocessor Program memory Data memory System Bus
Digital I/O Analog I/O
Timers Other peripherals
MCU
Typically has a single processor core
Has memory blocks, digital I/Os, analog I/Os, and other basic peripherals
Used for basic control purposes, such as embedded applications
5 © 2020 Arm Limited
CPUs → MCUs → Embedded Systems Embedded system
Typically implemented using MCUs
Often integrated into a larger mechanical or electrical system Usually has real-time constraints
Embedded system
6 © 2020 Arm Limited
Embedded system example: Bike computer
• Functions
• Speed, cadence, distance, heart rate (HR) measurements
• Constraints
• Size, weight, and cost; power and energy
• Inputs
• Wheel rotation sensor and mode key
• Output
• Liquid crystal display (LCD), BLE interface to smartphone
• Uses low performance microcontroller
7 © 2020 Arm Limited
Inputs:
Wheel rotation Mode key
Outputs: Display/transmit speed, HR, etc.
Embedded system example: Gasoline engine control unit
• Functions
• Fuel injection
• Air intake setting
• Spark timing
• Exhaust gas circulation
• Electronic throttle control • Knock control
• Constraints
• Reliability in a harsh environment • Cost
• Weight
• Many inputs and outputs
• Discrete sensors and actuators
• Network interface to rest of the car
• Uses high performance microcontroller
• E.g., 32-bit, 3MB flash memory, 150–300MHz
8 © 2020 Arm Limited
Options for building embedded systems
Implementation
Design Cost
Unit Cost
Upgrades & Bug
Fixes
Size
Weight
Power
System Speed
Discrete Logic
low
medium
difficult
large
high
?
very fast
ASIC
high ($500K/ mask set)
very low
difficult
very small
very low
low
extremely fast
Programmable logic: FPGA, PLD
low to medium
medium
easy
small
low
medium to high
very fast
Microprocessor + memory + peripherals
low to medium
medium
easy
small to medium
low to medium
medium
moderate
MCU (int. memory & peripherals)
low
low to medium
easy
small
low
medium
slow to moderate
Embedded PC
low
high
easy
medium
medium to high
medium to high
fast
9 © 2020 Arm Limited
Software Running on Dedicated Generic Hardware Hardware
Benefits of embedded systems
Greater performance
and efficiency
More sophisticated control through software
Lower cost
Cheaper components Reduced manufacturing costs
Reduced operating and maintenance costs
More features
Many not possible or impractical using other approaches
Better
dependability
Adaptive systems that can compensate for failures
Better diagnostics to improve repair time
10
© 2020 Arm Limited
Functions of embedded systems
Closed-loop control system
Monitor a process, adjust an output to maintain the desired set point of operation (temperature, speed, direction, etc.)
Sequencing
Step through different stages based on environment and system conditions
Signal processing
Remove noise, select desired signal features
Communications and networking
Exchange information reliably and quickly
11 © 2020 Arm Limited
Attributes of embedded systems
Interfacing with larger systems/ environment
• Analog signals for reading sensors
• Use voltage to represent a physical value
Concurrent, reactive behaviors
• Power electronics for driving motors and
solenoids •
• Digital interfaces for communicating with other digital devices
• Simple: switches
• Complex: displays
• •
Must respond to sequences and combinations of events
Real-time systems have deadlines on responses
Typically must perform multiple separate activities concurrently
12 © 2020 Arm Limited
Attributes of embedded systems Fault handling
Diagnostics
• Help systems developer and service personnel determine problems quickly
• •
Many systems must operate independently for long periods of time that requires them to handle likely faults without crashing
Often, the fault-handling code is larger and more complex than the normal-case code
13
© 2020 Arm Limited
Constraints specific to embedded devices
Cost
Competitive markets penalize products that do not deliver adequate value for money
Size and weight limits
Mobile (aviation, automotive) and portable (e.g., handheld, wearable) systems
Power and energy limits
Battery capacity, cooling limits
Environment
Temperatures may range from -40 degrees C to 125 degrees C, or even more.
14 © 2020 Arm Limited
The impact of constraints
MCUs used (rather than microprocessors)
Programming language
• Programmed in C rather than in Java that results in smaller and faster code, so less expensive MCU
• Some performance-critical code may be in Assembly (a lower-level language)
Operating system (OS)
• Typically no OS, but instead simple scheduler, or even just interrupts + main code (foreground/background system)
• If OS used, likely to be a lean real-time one (RTOS).
• •
Include peripherals to interface with other devices and respond efficiently
On-chip RAM and ROM reduce circuit board complexity and cost
15
© 2020 Arm Limited