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

ES Module 1

The document outlines the course outcomes for an embedded systems course, detailing the hardware and software architecture, communication interfaces, project organization, and design of small-scale embedded systems. It provides a comprehensive introduction to embedded systems, including their definitions, classifications, and applications in various domains such as automotive and consumer electronics. Additionally, it discusses the evolution of embedded systems, their characteristics, and the differences between embedded systems and general-purpose computers.

Uploaded by

ta2846025
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

ES Module 1

The document outlines the course outcomes for an embedded systems course, detailing the hardware and software architecture, communication interfaces, project organization, and design of small-scale embedded systems. It provides a comprehensive introduction to embedded systems, including their definitions, classifications, and applications in various domains such as automotive and consumer electronics. Additionally, it discusses the evolution of embedded systems, their characteristics, and the differences between embedded systems and general-purpose computers.

Uploaded by

ta2846025
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 63

EMBEDDED

SYSTEM
COURSE OUTCOMES
After completion of the course, students should be able to

• Describe the hardware and software architecture of embedded system


• Identify the necessary communication Interface for the embedded
system
• Organize the complete embedded system development project
• Design and develop the small-scale embedded system
Module 1
Introduction to Embedded system

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:

Way of working, organizing or performing tasks


according to a fixed set of rules, program, or plan

Arrangement in which all units are assembled and


work together
DEFINITION OF EMBEDDED 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.

• TODD MORTON: ES are electronic systems that


contain a processor within it. The computer is hidden
or embedded in the system

• RAJKAMAL: An ES is one that has computer hardware


with software embedded in it as one of its most
important component
• ES is a dedicated computer based system for an
application or product. It may be either an independent
system or a part of a larger system and its software is
usually embedded in ROM

• TIM WILMSHURST: ES is a processor based, software


driven reliable real time control system. It is autonomous
or human/ network interactive. It operates on diverse
physical variables in diverse environment and sold into
competitive and cost conscious market
WHAT IS INSIDE THE EMBEDDED SYSTEM?
HARDWARE SOFTWARE

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

• Data bus: Bidirectional bus that is used


to transfer data between the μp &
other components such as memory
and I/O devices. It is used to carry data
• to
Control bus: Bidirectional
or from the memory orbus that is used to carry control signals between the
i/o devices
μp & other components such as memory and I/O devices. It is used to transmit
commands to the memory or I/O devices for performing specific operations
Washing Machine-Application-Specific Embedded System

• Washing Machine is a typical example of an embedded system providing


extensive support in home automation applications
• An embedded system contains sensors, actuators, control unit and
application-specific user interfaces like keyboards, display units, etc. You can
see all these components in a washing machine if you have a closer look at it
• Some of them are visible and some of them may be invisible to you
• The actuator part of washing machine consists of a motorized agitator (tall
spindles in the center of the wash basket that twist back and forth, rubbing against
clothes to loosen up and remove stains), tumble tub, water drawing pump and
inlet valve to control the flow of water into the unit
• The sensor part consists of the water temperature sensor, level sensor, etc.
• The control part contains a microprocessor/controller based board with
interfaces to the sensors and actuators
• The sensor data is fed back to the control unit and the control unit generates
the necessary actuator outputs
• The control unit also provides connectivity to user interfaces like keypad for
setting the washing time, selecting the type of material to be washed like light,
medium, heavy duty, etc.
• User feedback is reflected through the display unit and LEDs connected to the
control board
Functional block diagram of a washing machine
• The integrated control panel consists of microprocessor/controller
based board with I/O interfaces and a control algorithm running in
it.
• Input interface includes the keyboard which consists of wash type
selector namely Wash, Spin and Rinse, cloth type selector namely
Light, Medium, Heavy duty and washing time setting, etc.
• The output interface consists of LED/LCD displays, status indication
LEDs, etc. connected to the I/O bus of the controller.
• The other types of I/O interfaces which are invisible to the end user
are different kinds of sensor interfaces, namely, water temperature
sensor, water level sensor, etc. and actuator interface including
motor control for agitator and tub movement control, inlet water
flow control, etc.
Automotive-Domain-Specific Examples of Embedded System

Inner Workings of Automotive Embedded Systems

• Automotive embedded systems are the one where electronics take


control over the mechanical systems
• The presence of automotive embedded system in a vehicle varies
from simple mirror and wiper controls to complex air bag controller
and antilock brake systems (ABS)
• Automotive embedded systems are normally built around
microcontrollers or DSPs or a hybrid of the two and are generally
known as Electronic Control Units (ECUs)
• The various types of ECUs used in the automotive embedded industry
can be broadly classified into two types-High speed embedded control
units and Low speed embedded control units.
• High speed Electronic Control Units (HECUs) : HECUs are deployed in
critical control units requiring fast response, like fuel injection systems,
antilock brake systems, etc.
• Low speed Electronic Control Units (LECUs): LECUs are deployed in
applications where response time is not so critical. They are generally
built around low cost microprocessors/microcontrollers and digital signal
processors. Audio controllers, passenger and driver door locks, door
glass controls, etc. are examples for LECUs
ES & GENERAL PURPOSE COMPUTER SYSTEMS
Criteria General purpose computer Embedded system
General purpose electronic device used to Specialized computer system used to perform one or a
Purpose perform different types of tasks few specific tasks

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

A computer typically consists of a CPU, storage ES are designed with a microcontroller


System hardware unit, and I/O units
which consists of a CPU, memory unit, and
I/O interface on a single IC chip
OS Contains general purpose OS May or may not contain OS
Alterations Applications are alterable Non- alterable
Key Factor Performance Application specific requirements (like
performance ,power, memory etc.)

Power More Less


Consumption

Response time Not critical Critical

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

Upgradability Easily upgradable with new hardware Require significant hardware


and software modification for upgradation
Maintenance & Do not require much maintenance &
updates Need regular maintenance and updates
updates

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

• Networked Embedded Systems


These connect to a network to access resources from one location
This network may be a LAN, WAN, or the internet, and the
connection can be wired or wireless
Examples: Embedded web servers, home security systems, ATM
machines, and card swipe machines

• Real-Time Embedded Systems


These systems provide the required output within a predetermined
time frame
They adhere to strict time constraints for task completion
Examples: Automotive airbag control systems and flight control
systems
• Mobile Embedded Systems
These systems are compact, user-friendly, and resource-
efficient
They are commonly found in portable devices such as mobile
phones, digital cameras, mp3 players, and personal digital
assistants
These systems are designed for ease of use and portability

• Standalone Embedded Systems


These systems are self-sufficient and do not rely on other
systems
They accept input in analog or digital form, process it, and
generate an output
Examples: mp3 players, digital cameras, video game
consoles, etc.
4] Based on Deterministic Behavior

• Soft Real-Time Systems


These systems do not enforce strict timing constraints for task deadlines
While they still require a response time to specific events, missing a deadline is
acceptable
Examples include ATMs and multimedia systems. In these cases, a late answer
is still an acceptable answer

• Hard Real-Time Systems


These systems demand strict adherence to their timing constraints, as
failing to meet the required response time can result in severe consequences
or system failure
That is why, for these systems, a late answer is always considered a wrong
answer
Examples are airbag control systems and antilock braking systems in vehicles
5] Based on Triggering

• Event-Triggered Embedded Systems


These systems rely on specific external events or activities to initiate tasks
They respond to changes in variables such as temperature, pressure, or user
inputs, making them more adaptive to their environment
They are particularly suited for applications requiring immediate responses or
real-time reactions, such as intrusion detection systems, medical device
monitoring, etc.

• Time-Triggered Embedded Systems


These systems are activated or initiated at pre-determined intervals or at a
specific point in time
In these systems, the tasks are scheduled to be executed based on a
predefined time or periodic timer, which ensures the timely and consistent
execution of processes
They are used for data collection, industrial systems with routine control
loops, and scheduled car maintenance systems
APPLICATIONS OF EMBEDDED SYSTEMS
1. Consumer Electronics: Camcorders, Cameras
2. Household appliances: Washing machine, Refrigerator
3. Automotive industry: Anti-lock breaking system(ABS), engine control
4. Home automation & security systems: Air conditioners, sprinklers, fire alarms
5. Telecom: Cellular phones, telephone switches
6. Computer peripherals: Printers, scanners
7. Computer networking systems: Network routers and switches
8. Healthcare: EEG, ECG machines
9. Banking & Retail: Automatic teller machines, point of sales
10. Card Readers: Barcode, smart card readers
PURPOSE OF EMBEDDED SYSTEMS
1. Data collection/Storage/Representation
• ES designed for the purpose of data collection performs acquisition of data
from the external world
• Data collection is usually done for storage, analysis, manipulation &
transmission
• Data can be analog or digital
• ES’s with analog data capturing techniques collect data directly in the form of
analog signal whereas ES’s with digital data collection mechanism converts
the analog signal to the digital signal using analog to digital converters
• If the data is digital it can be directly captured by digital embedded system
• Example: Digital camera. Images are captured and the captured image may
be stored within the memory of the camera. The captured image can also be
presented to the user through a graphic LCD unit
2. Data Communication
• Embedded data communication systems are deployed in applications from complex satellite
communication to simple home networking systems
• The transmission of data is achieved either by a wire-line medium or by a wire-less medium
 Wireless modules: Bluetooth, Wi-Fi
Wire-line modules: USB
• Data can either be transmitted by analog means or by digital means
• Network hubs, routers, switches are examples of dedicated data transmission embedded
systems

3. Digital Signal Processing


• ES’s with signal processing functionalities are employed in applications demanding signal
processing like speech coding, audio video codec, transmission applications etc.
• Digital hearing aid is a typical example of an embedded system employing data processing
4. Monitoring
• All embedded products coming under the medical domain are with monitoring functions
• Eg: Electro cardiogram machine is intended to do the monitoring of the heartbeat of a patient but it
cannot impose control over the heartbeat
• Other examples with monitoring function are digital CRO, digital multi-meters, and logic analyzers
5. Control
• A system with control functionality contains both sensors and actuators
• Sensors are connected to the input port for capturing the changes in environmental variable and
the actuators connected to the output port are controlled according to the changes in the input
variable
• Eg: Air conditioner system used to control the room temperature to a specified limit
6. Application Specific User Interface
• Buttons, switches, keypad, lights, bells, display units etc are application specific user interfaces
• Mobile phone is an example of application specific user interface. In mobile phone the user
interface is provided through the keypad, system speaker, vibration alert etc
Characteristics Of Embedded Systems
1. Application and Domain specific
• An embedded system is designed for a specific purpose only. It will not do any other
task
• Ex. A washing machine can only wash, it cannot cook
• Certain embedded systems are specific to a domain: ex. A hearing aid is an application
that belongs to the domain of signal processing

2. Reactive and Real time


• Certain ES’s are designed to react to the events that occur in the nearby environment
• These events also occur real-time
• Ex. An AC adjusts its mechanical parts as soon as it gets a signal from its sensors to
increase or decrease the temperature when the user operates it using a remote control
• An embedded system uses sensors to take inputs and has actuators to bring out the
required functionality
3. Operation in harsh environment
• Certain ES’s are designed to operate in harsh environments (like very high or
very low temperature or extreme rains)
• These ES’s have to be capable of sustaining the environmental conditions it
is designed to operate in

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

There are two types of quality attributes are:-


1. Operational Quality Attributes: These are attributes related to operation
or functioning of an embedded system
2. Non-Operational Quality Attributes: These are the attributes that are
associated with the embedded system before it can be put in operation
Operational Attributes
a) Response
• Response is a measure of quickness of the system
• It gives you an idea about how fast your system is tracking the input variables
• Most of the ES demand fast response which should be real-time

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

a) Testability and Debug-ability


• It deals with how easily one can test his/her design, application and by which mean he/she can
test it
• In hardware testing we check if the peripherals and total hardware, function in desired manner
• Firmware testing is functioning in expected way
• Debug-ability means debugging the product for figuring out the probable sources that create
unexpected behavior in the total system
b) Evolvability
• It refer to ease with which the embedded product can be modified to take advantage of new
firmware or hardware technology
c) Portability
• Portability is measured of “system Independence”
• An embedded product can be called portable if it is capable of performing its operation as it is
intended to do in various environments irrespective of different processor and or controller and
embedded operating systems
d) Time to prototype and market
• Time to Market is the time elapsed between the conceptualization of a product and time at which
the product is ready for selling or use
• Product prototyping help in reducing time to market
• Prototyping is an informal kind of rapid product development in which important feature of the
under consider are develop
• In order to shorten the time to prototype, make use of all possible option like use of reuse, off the
self component (hardware products that are ready-made and available for sale to
the general public) etc.
e) Per unit and total cost
• Cost is an important factor which needs to be carefully monitored
• Proper market study and cost benefit analysis should be carried out before taking decision on the
per unit cost of the embedded product
• When the product is introduced in the market, for the initial period the sales and revenue will be low
• There won’t be much competition when the product sales and revenue increase
• During the maturing phase, the growth will be steady and revenue reaches highest point and at
retirement time there will be a drop in sales volume
Embedded Processor Requirements
• Embedded processors are specialized microprocessors designed to
handle specific tasks within larger systems, providing computing
capabilities to a wide range of applications
• The requirements for embedded processors can vary significantly based
on the application, but they generally include the following key
considerations:
1. Performance Requirements
• Processing Speed: The processor must be fast enough to handle the required computational
tasks within the desired time frame
• Real-Time Processing: For applications such as automotive systems and industrial automation,
the processor must support real-time operations with low latency

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

3. Field-Programmable Gate Arrays (FPGAs)


• Description: FPGAs are integrated circuits that can be configured by the user after
manufacturing. They offer a high degree of flexibility and can be programmed to
perform specific functions
• Applications: Prototyping, custom hardware development, high-performance
computing, and applications requiring rapid reconfiguration
• Examples: Xilinx series, Intel series
4. Application-Specific Integrated Circuits (ASICs)
• Description: ASICs are custom-designed processors created for a particular application.
They provide high performance and efficiency but lack the flexibility of reconfiguration.
• Applications: High-volume products like smartphones, specialized industrial
equipment, and consumer electronics.
• Examples: Custom processors used in proprietary systems, such as Apple's A-series
chips.
5. System-on-Chip (SoC)
• Description: SoCs integrate the CPU, memory, peripherals, and other components onto
a single chip, providing a complete system on a single piece of silicon. They offer high
integration and efficiency.
• Applications: Mobile devices, embedded systems requiring high integration,
automotive infotainment systems, and smart home devices.
• Examples: Qualcomm Snapdragon, Apple A-series, Raspberry Pi SoCs.
6. Network Processors
• Description: Network processors are optimized for managing and processing
network data. They include features that accelerate packet processing and network
protocol handling.
• Applications: Routers, switches, firewalls, and other network infrastructure
equipment.
• Examples: Intel IXP series, Broadcom network processors.

7. Microprocessor Units (MPUs)


• Description: MPUs are general-purpose processors that provide higher performance
and complexity compared to MCUs. They are suited for tasks requiring more
computational power and flexibility.
• Applications: Embedded computing systems, industrial control, automotive systems,
and robotics.
• Examples: ARM Cortex-A series, Intel Atom processors
8. Programmable Logic Controllers (PLCs)
• Description: PLCs are industrial digital computers designed for controlling
manufacturing processes. They are robust and can operate in harsh industrial
environments.
• Applications: Industrial automation, factory automation, and process control.
• Examples: Siemens S7 series, Allen-Bradley ControlLogix.

9. Graphics Processing Units (GPUs)


• Description: Although traditionally used for rendering graphics, GPUs are
increasingly used in embedded systems for parallel processing tasks due to their
ability to handle large volumes of data simultaneously.
• Applications: Machine learning, autonomous vehicles, image processing, and gaming
devices.
• Examples: NVIDIA Tegra, AMD Radeon Embedded.
Reduced Instruction Set Computer (RISC) Processors

• It focuses on a small, highly optimized set of instructions


• The main philosophy behind RISC is to simplify the processor design by
using a limited number of instructions, which can be executed in a single
clock cycle
• This approach contrasts with CISC architectures, which use a larger set of
instructions, some of which may take multiple clock cycles to execute
• RISC Architecture
• The hardware of RISC architecture is designed to execute the
instruction quickly, which is possible because of the more precise and
smaller number of instructions and a large number of registers
• In RISC, the data path is used to store and manipulate data in a
computer. It is responsible for managing data within the processor and
its movement between the processor and the memory
• The processor uses a cache to reduce the access time to the main
memory
• The instruction cache is beneficial for retrieving and storing the data of
frequently used instructions. It speeds up the process of instruction
execution.
• The data cache provides storage for frequently used data from the
main memory
• Examples of RISC Processors: ARM Cortex-M (microcontrollers), ARM Cortex-A (application processors), ARM
Cortex-R (real-time processors), Million instructions per second (MIPS) processors etc.
Harvard Architecture
• The Harvard architecture was first named after the Harvard
Mark I computer
• Compared with the Von Neumann architecture, a Harvard
architecture processor has two outstanding features:
i] Instructions and data are stored in two separate memory
modules
ii] Two independent buses are used as dedicated
communication paths between the CPU and memory; there is
no connection between the two buses
• Because the Harvard architecture has separate program memory and data memory, it can
provide greater data-memory bandwidth, making it the ideal choice for digital signal
processing
• Most systems designed for DSP adopt the Harvard architecture
Harvard V/s Von-Neumann Processor/Controller Architecture
Von-Neumann Harvard
It has single data/address bus to fetch both It has separate data/address bus to fetch both
program and data program and data
Both program and data are stored in a same Separate memory for program and data
(single) memory
Slower execution Faster execution
It first fetches an instruction, and then it Both instruction and data are fetched
fetches the data to process the instruction simultaneously
More instruction cycles are required Less instruction cycles are required
Program can be easily modified by itself It is difficult for program contents to be
because it is stored in read-write memory modified by the program itself
Widely used in microprocessors Widely used in microcontrollers
Ex: Intel 8086, MSP430, ARM7 Ex: Intel 8051, PIC, ARM9
Super Harvard Architecture
• Super Harvard architecture is a variant of the traditional
Harvard architecture that adds an additional memory space
for storing data constants or coefficients. It provides three
separate memory spaces for instructions, data, and constants,
each with its own dedicated bus for accessing the respective
memory.
• The key components of a super Harvard architecture are:
1.Program/ Instruction Memory: Stores the program
instructions, typically implemented using ROM or flash
memory
2.Data Memory: Stores the data required for computation,
3.typically
Constantimplemented
Memory: Storesusing RAM values or coefficients used by the program, such as filter
constant
coefficients in signal processing applications. This memory is often implemented using ROM or
flash memory
4. CPU: The central processing unit that executes instructions and performs computations
5. Instruction Bus: Dedicated bus for fetching instructions from the instruction
memory.
6. Data Bus: Dedicated bus for reading and writing data to and from the data
memory.
7. Constant Bus: Dedicated bus for reading constants from the constant memory
• Direct memory access (DMA): used for transferring data to/from input/output
devices
• Icache (Instruction cache): It is vital for improving the speed, efficiency, and energy
consumption of a processor. It allows for the rapid execution of instructions, supporting the overall
goal of achieving high computational speeds
Advantages
• Increased performance due to parallel instruction and data fetching
• Reduced memory access time through separate caches
• Enhanced efficiency for computationally intensive tasks through hardware accelerators
• Improved flexibility due to multiple buses and memory spaces
Disadvantages
• Higher complexity and cost compared to traditional Harvard architecture
• Increased design challenges for efficient memory management
Selection of Processors & Microcontrollers
• When selecting a processor or microcontroller for a specific application, several factors must
be considered to ensure optimal performance, cost-efficiency, and suitability for the task at
hand. Below are key considerations:

1] Understand the Application


• The first thing that one should do before choosing any microcontroller for a project on an
embedded system is to acquire a deep knowledge of the application for which the
microcontroller-based solution is required
• Regarding this, a technical specification sheet is always developed as it will help in
understanding the particular features that a microcontroller will be used for in a project
2] Processor Speed
• Processing speed is the first parameter which decides how fast your product can perform
• It is important to check the number of instruction a process can execute in a second (MIPS)
3] Processing Power
• Determine the computational requirements of the application
• High-performance applications such as image processing or machine learning might require
powerful processors, while simple control tasks might be efficiently handled by lower-end
microcontrollers
4] Power Consumption
• The ability to reduce power consumption to a level with temporary operating requirements is
crucial to preserving battery life, as well as overall energy costs in mains-powered systems
• Processors can offer a wide range of options for optimizing an application’s power profile
• One such feature is dynamic power management – the ability to adjust core frequency and
operating voltage to meet a certain performance level
• Another is the availability of multiple power modes that turn off various unneeded resources,
including memories and peripherals, during certain time intervals
• System wakeup (through general-purpose I/O, a real-time clock, or another stimulus) is an integral
part of this power mode control
• Yet another degree of flexibility in power management is the presence of multiple voltage domains
for core, I/O, and memories, allowing different system components to operate at lower voltages
when practical
5] Peripherals for Product design
• Using the general hardware block diagram, make a list of all the external interfaces that the
microcontroller will need to support
• There are two general types of interfaces that need to be listed
• The first are communication interfaces. These are peripherals such as Ethernet, USB, I2C,
SPI, UART, and so on. Make a special note if the application requires USB or some form of
Ethernet. These interfaces greatly affect how much program space the microcontroller will
need to support
• The second type of interface is digital inputs and outputs, analog to digital inputs, PWM’s,
etc.
• These two interface types will dictate the number of pins that will be required by the
microcontroller
6] Development Ecosystem
• Development Tools: Consider the availability and quality of development tools, including IDEs,
debuggers, and simulation environments. A robust ecosystem can significantly reduce
development time and complexity
• Community and Documentation: Strong community support and comprehensive
documentation can be valuable resources during development, especially for troubleshooting
and optimizing performance

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)

9] Manufacturer and Reliability


• Reputation and Reliability: Select a processor or microcontroller from a reputable
manufacturer known for producing reliable and well-supported products.
• Support and Warranty: Consider the manufacturer's support services and warranty
terms, especially for critical applications where reliability is important

You might also like