ES Module 1
ES Module 1
SYSTEM
COURSE OUTCOMES
After completion of the course, students should be able to
By
Dr. Mitali Shewale
Contents
• Introduction & Definition Of Embedded System
• Embedded Systems Vs General Computing Systems
• History Of Embedded Systems
• Classification
• Major Application Areas
• Purpose Of Embedded Systems
• Characteristics And Quality Attributes Of Embedded Systems
• Embedded Processor Requirements, Types
• RISC Processors
• Harvard & Super Harvard Architecture
• Selection of Processors & Microcontrollers
• SYSTEM:
SOFTWARE
HARDWARE APPLICATION
DEFINITION OF EMBEDDED SYSTEM contd.
• Combination of:
Hardware
Software
Mechanical components
and is supposed to do one specific task only
• Example: Washing machine
H/W: Buttons, Display & Buzzer, electronic circuit
S/W: Chip that holds the software that drives, controls & monitors various
operations
Mechanical: Internals of washing machine which actually wash the clothes,
controls i/p & o/p of water, the chassis.
DEFINITION OF EMBEDDED SYSTEM contd.
CPU APPLICATION
MEMORY OS
I/O DEVICES DEVICE DRIVERS
EMBEDDED SYSTEM
Block Diagram of Embedded system
• Address bus: Unidirectional bus that is
used to carry the memory or I/O
device address to which the data is
to be transferred. It is a group of
conducting wires which carries
address only. Address bus is
unidirectional because data flow in one
direction, from microprocessor to
memory or from microprocessor to
I/O devices
Combination of H/W & a general purpose OS for Combination of special purpose H/W & embedded OS
Contents executing variety of applications for executing specific set of applications
Processing power Have very high processing power Relatively low processing power
ES & GENERAL PURPOSE COMPUTER SYSTEMS (contd.)
Criteria General purpose computer Embedded system
High storage capacity or memory to Embedded systems have less memory
Storage capacity store data and information on the capacity as compared to computers
system
Size Generally larger in size Smaller in size than computers
Cost More expensive Less expensive
System complexity Computers involve more complex Embedded systems are comparatively
system design less complex
History Of Embedded Systems
• In the older days ES were built around the old vacuum tube and
transistor technologies and the embedded algorithms were
developed in low-level languages
• Advances in semiconductor and nano-technology and the IT
revolution gave a thrust to the development of miniature
embedded systems
APOLLO GUIDANCE COMPUTER (AGC)
• First recognized modern embedded system is the APOLLO
GUIDANCE COMPUTER (AGC) developed by the MIT
(Massachusetts Institute of Technology) Instrumentation
Laboratory for the Lunar Expedition
• The AGC Inertial Guidance Systems ran for both the Command
Module (CM) and the Lunar Excursion Module (LEM).
• The Command Module was designed to encircle the moon while
the Lunar Excursion Module and its crew members had gone down
Autonetics D-17
• The first mass-production ES was the guidance computer for the Minuteman-I
missile in 1961
• Discrete transistor logic was used to build the “Autonetics D-17” guiding
computer, which included a hard drive for primary memory
• Despite the fact that the first integrated circuit was created in September 1958,
computers that used them didn’t start to exist until 1963
Embedded System for Vehicle
• The Volkswagen (VW) 1600 introduced the first embedded system for a car in
1968, using a microprocessor to manage its electronic fuel injection system
Embedded Software
• Real-time VxWorks, the first embedded operating system, was published by Wind
River in 1987
• In 1996, Microsoft released Windows Embedded CE
• The first embedded Linux products started to appear around the late 1990s
• Nowadays, practically all embedded devices run Linux
CLASSIFICATION OF EMBEDDED SYSTEMS
1] Based on Complexity/ Based on microcontroller performance:
Small-Scale, Medium-Scale, Large-Scale ES
2] Based on Generation: First, second, third, fourth
3] Based on Performance and Functional Requirements:
Networked Embedded Systems, Real-Time Embedded Systems,
Mobile Embedded Systems, Standalone Embedded Systems
4] Based on Deterministic Behavior: Soft Real-Time Systems,
Hard Real-Time Systems
5] Based on Triggering: Event-Triggered Embedded Systems,
Time-Triggered Embedded Systems
1] Based on Complexity/ Based on microcontroller performance
• Small Scale Embedded Systems
Performance not time-critical
Built around low performance & low cost 8 or 16 bit μp or μc
For developing embedded software, the main programming tools are an editor,
assembler, cross assembler and integrated development environment (IDE)
Example: An electronic toy
• Medium Scale Embedded Systems
Built around medium performance & low cost 16 or 32 bit μp or μc
Contain OS
Hardware and software complexities
For developing embedded software, the main programming tools are C, C++, JAVA,
debugger, simulator and IDE
Example: Industrial machines
Large Scale Embedded Systems
These systems have highly complex hardware and software, like ones
built on 32-bit or 64-bit RISC processors, System-on-Chip (SoC),
processors/controllers, and scalable and configurable processors
A high-performance real-time OS is usually required for task
scheduling, prioritization, and management
They are used in innovative applications that demand hardware and
software design
Example: aerospace technologies, industrial automation, and wireless
communication systems
2] Based on Generation
• First Generation
In1960s, these systems used individual components like
transistors and resistors
They were built with 8-bit μp and 4-bit μc, and their H/W &
firmware were quite simple
• Examples: Digital phone keypads and stepper motor control units
• Second Generation
Developed in the 1970s, these systems employed integrated
circuits (ICs) to enhance performance and shrink the size
They replaced 8-bit processors and 4-bit controllers with 16-bit μp
and 8-bit μc, resulting in powerful and intricate systems than the
first generation
Examples: Data acquisition systems and SCADA systems
• Third Generation
These were developed in the 1980s and used μp’s as the main processing unit
During this period, domain-specific processors/controllers, such as Digital Signal Processors
(DSP) & Application-Specific Integrated Circuits (ASICs) emerged
Embedded real-time operating systems also evolved in this generation, which featured
powerful 32-bit μp’s &16-bit μc’s
Examples: Robotics, industrial process control
• Fourth Generation
These were developed in the 1990s and used advance μp’s & software to improve
performance and reduce power consumption
Modern advancements in μp’s & μc’s, along with new concepts such as System-on-Chip
(SoC), reconfigurable processors, multicore processors, have significantly improved the
performance of ES
These systems often use high-performance real-time operating systems for their operation
Examples: Smart devices and digital cameras
3] Based on Performance and Functional Requirements
4. Distributed
• Certain ES’s are part of a larger system and thus form components of a
distributed system
• These components are independent of each other but have to work
together for the larger system to function properly
• Ex. A car has many embedded systems controlled to its dash board. Each
one is an independent ES yet the entire car can be said to function properly
only if all the systems work together
5. Small size and weight
• An ES that is compact in size and has light weight will be desirable or more
popular than one that is bulky and heavy
• Ex. Currently available cell phones. The cell phones that have the maximum
features are popular but also their size and weight is an important characteristic
• For convenience users prefer mobile phones than phablets (phone + tablet pc)
6. Power concerns
• It is desirable that the power utilization and heat dissipation of any embedded
system be low
• If more heat is dissipated then additional units like heat sinks or cooling fans
need to be added to the circuit
• If more power is required then a battery of higher power or more batteries
need to be accommodated in the embedded system
Quality Attributes Of Embedded Systems
These are the attributes that together form the deciding factor about the
quality of an ES
b) Throughput
• Throughput deals with the efficiency of system
• It can be defined as rate of production or process of a defined process over a stated period of time
• In case of card reader like the ones used in buses, throughput means how much transaction the reader
can perform in a minute or hour or day
c) Reliability
• Reliability is a measure of how much percentage you rely upon the proper functioning of the system
• Mean Time between failures and Mean Time To Repair are terms used in defining system reliability
Mean Time between failures: Average time the system is functioning before a failure occurs
Mean time to repair: Average time the system has spent in repairs
d) Maintainability
• Maintainability deals with support and maintenance to the end user or a
client in case of technical issues & product failures or on the basis of a
routine system Checkup
• It can be classified into two types :-
1. Scheduled or Periodic Maintenance: This is the maintenance that is
required regularly after a periodic time interval
Example : Periodic Cleaning of Air Conditioners, Refilling of printer cartridges
2. Maintenance to unexpected failure: This involves the maintenance due to a
sudden breakdown in the functioning of the system
Example: Air conditioner not powering on, Printer not taking paper in spite of
a full paper stack
e) Security
• Confidentiality, Integrity and Availability are three corner stones of information security
Confidentiality deals with protection data from unauthorized disclosure
Integrity gives protection from unauthorized modification
Availability gives protection from unauthorized user
Ex. An Electronic Safety Deposit Locker can be used only with a pin number like a password
f) Safety
• Safety deals with the possible damage that can happen to the operating person and
environment due to the breakdown of an embedded system or due to the emission of
hazardous materials from the embedded products
• A safety analysis is a must in product engineering to evaluate the anticipated damage and
determine the best course of action to bring down the consequence of damages to an
acceptable level
Non Operational Attributes
2. Power Consumption
• Low Power: Many embedded systems are battery-powered, requiring processors with low
power consumption to extend battery life
• Power Management: Advanced power management features to dynamically adjust power
usage based on the current workload
3. Memory Requirements
• RAM and ROM: Adequate RAM for running applications and ROM for storing firmware. The
specific amount depends on the complexity of the tasks
• Memory Management: Efficient memory management to optimize performance and resource
utilization
4. Integration and Peripherals
• Peripheral Support: Embedded processors often need to interface with various peripherals
like sensors, actuators, communication modules, etc.
• Integrated Peripherals: Some processors include built-in peripherals to reduce the need
for external components
5. Connectivity
• Communication Interfaces: Support for communication protocols such as UART, SPI, I2C,
CAN, Ethernet, etc., depending on the application.
• Wireless Connectivity: For IoT applications, integrated support for wireless communication
standards like Wi-Fi, Bluetooth, Zigbee, or LoRa
6. Reliability and Stability
• Robustness: The processor must operate reliably under different environmental
conditions, including temperature variations, humidity, and potential electromagnetic
interference.
• Error Handling: Features like error detection and correction to ensure data integrity and
system stability
7. Size
• Compact Design: The physical size of the processor should be suitable for the embedded
system’s design constraints
8. Security: Security features to protect against data breaches and unauthorized access.
9. Cost-Effectiveness
• Budget Constraints: The cost of the processor should fit within the budget constraints of the
project.
• Cost vs. Performance: Balance between performance requirements and cost to ensure
economic feasibility.
10. Development Support
• Toolchain and SDK (S/W development kit): Availability of development tools, software
development kits, and libraries to facilitate efficient software development
• Community and Documentation: Access to robust documentation, community support, and
resources to assist in development and troubleshooting
Types of Embedded Processor
Embedded processors come in various types, each tailored to meet specific requirements
of diverse applications. Here is an overview of the main types of embedded processors:
1. Microcontrollers (MCUs)
• Description: Microcontrollers are compact, integrated circuits that contain a processor
core, memory, and programmable input/output peripherals on a single chip. They are
designed for specific control-oriented tasks
• Applications: Consumer electronics, automotive systems, home appliances, industrial
automation, and IoT devices.
• Examples: ARM Cortex-M series, PIC microcontrollers, Atmel AVR
2. Digital Signal Processors (DSPs)
• Description: DSPs are specialized processors designed for high-speed numerical
processing. They excel in handling complex mathematical computations, making
them ideal for signal processing tasks
• Applications: Audio and video processing, telecommunications, medical imaging,
and control systems
• Examples: Texas Instruments TMS320 series etc
7] Cost
• The cost of a microcontroller can be influenced by various factors such as its processing
capabilities, amount of memory, the number of peripherals, and even supply and demand
• For hobbyists and small production runs, the cost difference may not be significant, but for
large-scale manufacturing, even a small cost difference can add up
• Balance the performance and features with cost. High-end processors are generally more
expensive, so it's essential to select a device that meets the application's needs without
unnecessary overhead
8] Environmental and Physical Requirements
• Operating Conditions: Evaluate the operating temperature range, humidity, and other
environmental conditions where the device will be used. Ensure the selected processor or
microcontroller is rated for those conditions
• Size and Form Factor*: Consider the physical size and packaging of the processor or
microcontroller, especially in applications with space constraints
*(Form factor is a hardware design aspect that defines and prescribes the size, shape, and other physical
specifications of components)