Lecture 2 - 2 - Introduction To Embedded Systems
Lecture 2 - 2 - Introduction To Embedded Systems
1
Outline
Introduction to Embedded Systems
CPUs vs. MCUs vs. Embedded Systems
2
Introduction to Embedded Systems
What is an Embedded System?
Application-specific computer system
Built into a larger system
Embedded
Often with real-time computing constraints
System
Why add a computer to a larger system?
Better performance
More functions and features
Lower cost e.g. through automation
More dependability
Embedded Computer
Input from Software Output to Environment
Environment Hardware
Register banks
ALU
Microprocessor
4
CPUs vs. MCUs vs. Embedded Systems
Microcontroller (MCU)
Typically has a single processor core
Has memory blocks, Digital IOs, Analog IOs, and other basic peripherals
Typically used for basic control purpose, such as embedded applications
Program Data
Microprocessor
Memory Memory
System Bus
Other
Digital IO Analog IO Timer
peripheral
Microcontroller
5
CPUs vs. MCUs vs. 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
Example Embedded System: Bike Computer
Functions
Speed and distance measurement
Input:
Constraints Wheel rotation
Size Mode key
Cost
Power and Energy
Weight
Inputs
Wheel rotation indicator
Mode key
Output
Output:
Liquid Crystal Display
Display speed and
Use Low Performance Microcontroller distance
8-bit, 10 MIPS
7
Gasoline Automobile Engine Control Unit
Functions Many Inputs and Outputs
Fuel injection Discrete sensors & actuators
Air intake setting Network interface to rest of car
Spark timing
Exhaust gas circulation Use High Performance Microcontroller
Electronic throttle control E.g. 32-bit, 3 MB flash memory, 150 - 300 MHz
Knock control
Constraints
Reliability in harsh environment
Cost
Weight
8
Options for Building Embedded Systems
Implementation Design Unit Upgrades Size Weight Power System
Cost Cost & Bug Speed
Fixes
Dedicated Hardware
Microprocessor + low to mid mid easy small to med. low to medium moderate
memory + peripherals moderate
Software Running on
Generic Hardware
9
Benefits of Embedded Systems
Greater performance and efficiency
Software makes it possible to provide sophisticated control
Lower costs
Less expensive components can be used
Manufacturing costs reduced
Operating costs reduced
Maintenance costs reduced
More features
Many not possible or practical with other approaches
Better dependability
Adaptive system which can compensate for failures
Better diagnostics to improve repair time
10
Functions of Embedded Systems
Signal processing
Remove noise, select desired signal features
11
Attributes of Embedded Systems
Interfacing with larger system and environment
Analog signals for reading sensors
Typically use a voltage to represent a physical value
Power electronics for driving motors, solenoids
Digital interfaces for communicating with other digital devices
Simple - switches
Complex – displays
12
Attributes of Embedded Systems
Fault handling
Many systems must operate independently for long periods of time, requiring them to handle likely
faults without crashing
Often fault-handling code is larger and more complex than the normal-case code
Diagnostics
Help service personnel determine problems quickly
13
Constraints of Embedded Systems
Cost
Competitive markets penalize products which don’t deliver adequate value for the cost
Environment
Temperatures may range from -40°C to 125°C, or even more
14
Impact of Constraints
Microcontrollers used (rather than microprocessors)
Include peripherals to interface with other devices, respond efficiently
On-chip RAM, ROM reduce circuit board complexity and cost
Programming language
Programmed in the C language rather than the Java language (resulting in smaller and faster code,
so less expensive MCU)
Some performance-critical code may be in assembly language (a lower level language)
Operating system
Typically no OS, but instead simple scheduler (or even just interrupts + main code
(foreground/background system)
If OS is used, likely to be a lean RTOS
15
Building Embedded Systems
16
Building Embedded Systems using MCUs
In most embedded systems, MCUs are chosen to be the best solution, since they offer:
Low development and manufacturing cost
Easy porting and updating
Light footprint
Relatively low power consumption
Satisfactory performance for low-end products
In the following labs, we will learn how to develop a variety of embedded systems, using an easy-to-start
MCU design suite: Arduino IDE.
Open software library tools
17