You are on page 1of 33

Embedded Systems (PEC223)

Dr. Amit Kumar Vishwakarma


Assistant Professor, ECED
Thapar Institute of Engineering and Technology, Patiala, Punjab
Email: amit.vishwakarma@thapar.edu
9651700815
Simple Definition of Embedded System
Embedded system: any device that includes a
computer but is not itself a general purpose computer.

Hardware and software: part of some larger systems


and expected to function without human intervention.
Examples
 Personal digital assistant (PDA)

 Printer

 Cell phone

 Automobile

 Television

 Household appliances

 Surveillance systems
Ubiquity of Embedded Systems
 Workplace: Printers, Scanners, Network switches
 Banks: ATM, Passbook printers
 Hospitals: Medical equipments
 Industry: Industrial equipments, automation.
 Agriculture: Drip irrigation, Soil quality instrument
 Supermarkets: POS, scanners
 Defence and spaces: Missiles, rockets, satellites, space probes.
 Transport: Locomotives, cars
 Telecom: Mobile broadband equipment, switches, telephone exchanges
 Entertainment: Projection systems in cinema halls, 4D seats
Embedded systems application areas
 Small and single microcontroller applications: Small toys, home gadgets, etc.
 Control and automotive systems: ABS, Cruise controls, etc.
 Distributed embedded control: Networked industrial control applications,
automotive.
 Networking: Network switches, routers
 Critical systems: Nuclear, medical and aviation devices.
 Robotics: Warehouse robots, assembly line robots.
 Computer peripheral applications: Portable HDDs, Printers, Scanners
 Signal Processing: Radar, Security cameras.
Examples of embedded systems at home
Communication: Mobile phone, Landline phone, Modem

Entertainment: TV, TV remote, Set-up box, Music system,


Noise cancellation headphones, Digital picture frame.

Convenience: Washing machine, RO water purifier,


Microwave oven, Shaving Razors (Certain kinds)

Comfort: Air conditioner, fancy hot water geyser, Mood


lamps.
Examples of embedded systems at home
Health: Treadmill, blood sugar and pressure measurement,
Fitness tracker watches.
• Utilities: Electricity (electronic) meter, RFID tags.
• Transport: Car, Scooter/motorcycles, Electric bicycles
Embedded System Definitions
1. An embedded system is a system that has software embedded into
computer-hardware, which makes a system dedicated for an
application (s) or specific part of an application or product or part of
a larger system.
2. An embedded system is one that has a dedicated purpose software
embedded in a computer hardware.
3. It is a dedicated computer based system for an application(s) or
product. It may be an independent system or a part of large system.
Its software usually embeds into a ROM (Read Only Memory) or
flash.
4. It is any device that includes a programmable computer but is not
itself intended to be a general purpose computer.
5. Embedded Systems are the electronic systems that contain a
microprocessor or a microcontroller, but we do not think of them as
computers– the computer is hidden or embedded in the system.
8 01/21/2024
Constraints of an Embedded system
• Design
• Available system-memory
• Available processor speed
• Limited power dissipation when running the system
continuously in cycles of the system start, wait for
event, wake-up and run, sleep and stop.
• Performance,
• power,
• size,
• non-recurring design cost, and manufacturing costs.
01/21/2024 9
Important considerations for selection a processor

For a system designer, the following are important


considerations when selecting a processor:
• Instruction set.
• Maximum bits in an operand (8 or 16 or 32 or 64) in
a single arithmetic or logical operation.
• Clock frequency in MHz or GHz and processing
speed in Million Instructions Per Second (MIPS).
• Cache Memory
• Processor ability to solve the complex algorithms
used in meeting the deadlines for their processing.
01/21/2024 10
Purpose of Embedded Systems
• Data Collection/Storage/Representation
• Data Communication
• Data (Signal) Processing
• Monitoring
• Control
• Application Specific User Interface
Various building blocks of embedded
system
• CPU
• Memory (RAM, ROM)
• Input devices
• Output devices
• Communication interface
• Application specific circuitry
Classification of Embedded System
• Stand-alone embedded system
– They take inputs, process them and produces desired results.
E.g. process control, automobiles, consumer electronic items
etc.
• Real-time embedded systems
– Any specific work has to be done in a specific time period are
called real-time systems. E.g. opening a valve in exactly 30ms
• Networked information appliances
– Systems that are provided with network interfaces and
accessed by networks such as LAN or the internet. These are
connected to a network, typically running a TCP/IP
• Mobile devices
• Ref: https://www.slideshare.net/erwin_globio/embedded-
system-presentation-35074257
• Internal Buses
– It internally connects all the structural units inside the processor
– Its width can be 8,16,32, or 64 bits
• Address Bus
– It is the external bus that carries the address from the MAR to the memory
as well as the IO devices and the other unit of the system
• Data Bus
– It is an external bus that carries the data from or to the address
• Control Bus
– It is an external bus to carry control signal between the processor and
memory devices
• Bus Interface Unit
– It is the interface unit between the processors internal units with the
external buses
• Memory Address Register (MAR)
– It holds the address of the byte or word to be fetched from external
memories
• Memory Data Register (MDR)
Languages for Programming Embedded
Systems
• C, C++, Ada, Forth, and Java
• When selecting a programming language for an embedded
system, experts say you must understand the strengths and
weaknesses of each language. It’s equally important to
know the limitations and goals of your system.
• For many embedded systems, C or C++ will be the best
choices. In part, that’s because they are “compiled”
languages and extremely efficient. In compiled languages,
the machine (or embedded device) directly translates the
code, which means the language is fast and stable.
• Devices that have minimal memory or power will
often require that efficiency. So, programmers often
use C or C++ in those devices. C or C++ are
frequently used in microcontrollers and in
embedded devices that use real operating systems.
Those systems also demand the speed and efficiency
that C and C++ provide. You’ll also find C and C++
in several other embedded systems. Some experts
estimate that about 80% of all embedded systems
use the C programming language.
Difference between High Level and Low
level languages
• Both High level language and low level language are
the programming languages’s types. The main
difference between high level language and low level
language is that, Programmers can easily understand or
interpret or compile the high level language in
comparison of machine.
• On the other hand, Machine can easily understand the
low level language in comparison of human beings.
Examples of high level languages are C, C++, Java,
Python, etc. Let’s see the difference between high level
and low level languages:
1 It is programmer friendly language. It is a machine friendly language.

2 Low level language is high memory Low level language is high memory efficient.
efficient.

3 It is easy to understand. It is tough to understand.

4 Debugging is easy. Debugging is complex comparatively.

5 It is simple to maintain. It is complex to maintain comparatively.

6 It can run on any platform. It is machine-dependent.

7 It needs compiler or interpreter for It needs assembler for translation.


translation.

8 It is used widely for programming. It is not commonly used now-a-days in


programming.

9 C, C++, Java, Python, etc. Assembly Language


Computer and Instruction Set Architectures
John Von Neumann Model

John Von Neumann (1903-1957) was an Austria-Hungary-born American mathematician who


made contributions to quantum physics, set theory, topology, economics, computer science.
Von Neumann Architecture
Harvard Architecture
The Harvard Architecture
The Harvard architecture…….contd.
CISC vs RISC
Complex instruction set computer(CISC)
Reduced instruction set computer (RISC)
ARM History
References

You might also like