ES_Module_1
Introduction to Embedded Systems
Systems
A system is a way of working, organizing or doing one or many tasks according to a
fixed plan, program, or a set of rules.
Embedded System
Definition
"An embedded system is a system that has embedded software and computer-
hardware, which makes it a system dedicated for an application or specific part of
an application or product or a part of a larger system."
"It is any device that includes a programmable computer, but is not itself intended
to be a general-purpose computer."
Embedded system means a processor is embedded into that application.
An embedded product uses a microprocessor or microcontroller to do only one
task.
In an embedded system, there is only one application software that is typically
burned into the ROM.
Example: Printer, Keyboard, Video game player.
Tip
Main reason for buying is not information processing.
Components of a computer system
1. A microprocessor.
2. A large memory of the following two kinds:
a. Primary memory: RAM, ROM.
b. Secondary memory: Hard disks.
3. I/O units such as touch screen, modem, fax etc.
4. Input units such as keyboard, mice, digitizer, scanner etc.
5. Output units such as an LCD screen, video monitor, printer, etc.
6. Networking units such as an Ethernet card, front-end processor-based server, bus
driers, etc.
7. An operating system that has general purpose user and application software in the
secondary memory.
Components of an Embedded system
1. RAM, ROM, Don't need a secondary memory.
2. Main application software programs.
3. A real-time OS (RTOS).
Characteristics
Must be efficient :
energy efficient.
code-size efficient.
run-time efficient.
weight efficient.
cost efficient.
Dedicated towards a certain application: Knowledge about behavior at design time
can be used to minimize resources and to maximize robustness.
Dedicated user interface.
Many must meet real-time constraints:
A real-time system must react to stimuli from the controlled object within the
time interval dictated by the environment. eg:- ATMs, Car electronics...
A correct answer arriving late is wrong.
Types:
Hard real time.
Soft real-time.
Frequently connected to physical environment through sensors and actuators.
Hybrid systems (analog + digital parts).
Typically are reactive systems: A reactive system is one which is in continual
interaction with its environment and executes at a pace determined by that
environment
Behaviour depends on input and current state automata model often
appropriate.!
Low manufacturing costs:
Many embedded systems are are mass market items that must have low
manufacturing costs.
limited memory, microprocessor power,...
Difference between general purpose and
embedded systems
Embedded systems architecture
Classifications
Generations:
Gen 1: 8-bit like 8085 and Z80 and 4-bit MCs.
Gen 2: 16-bit MPs and 8 or 16-bit MCs. Eg- SCADA, Data Acquisition Systems, etc.
Gen 3: 16/32-bit DSPs and ASICs.
Gen 4: SoCs , reconfigurable processors and multicore processors. Eg:
smartphones, MIDs, etc.
Based on complexity and performance
Small scale: The embedded systems built around low performance and low cost.
8-16 bit. Suitable for non time-critical applications.
medium scale: built around performance, low cost 16/32-bit MPs/MCs/DSPs.
Slightly complex in hardware and firmware. Contain GPOS or RTOS.
Large scale: 32/64-bit RISC processors.
Based on Deterministic behaviour
Soft real time: Missing a deadline is tolerated to a certain degree.(eg:- set top box,
washing machine)
Hard real time: Missing a deadline can have catastrophic consequences.(eg;:-
industrial control, car air bags)
Based on triggering
event triggered: Activities within the system (task run-time...) are dynamic and
depend upon occurrence of different events.
Time triggered: Activities within the system follow a statically computed
schedule(i.e., they are allocated time slots during which they can take place) and
thus by nature are predictable.
Based on purpose
data collection/storage:
perform acquisition from external wprld.
the collected data can either be analog or digital.
usually done for storage, kanalysis, manipulsation, transmission.
can be stored internally or externally.
eg- camera.
data communication
complex stellite commn to home commn
embedded data commn sysms are dedicated for data commn
the data commn can happen through wired interface(ethernet, rs232c, usb,...)
or wireless interface(wifi, gsm, bluetooth,...).
network hubs, routers, switches, modems, are typical examples.
data (signal) processing
employed in speech coding, synthesis, audio video codec, transmission,...
computational intensive systems.
employs dsps.
monitoring
lot of input sensors
ECG, CRO,multi-meter
control
sensors and actuators
eg- ACs
application specific user interface
mobile phones,targets specific users
Characteristics of Embedded systems
1. Application and domain specific
a. cannot be used for purposes other than designed for
2. reactive and real-time
3. operates in harsh environments
a. may need to be temperature graded and shoch absorbant
4. distributed
a. may be part of a big ES
5. small size and weight
a. it is preferred to be compact
6. power concerns
a. minimum power
7. single-functioned
8. complex functionality
9. tightly-constrained
10. safety-critical
11. ## Embedded Development Life Cycle (EDLC)
What is EDLC?
"EDLC is an analysis-design-implementation based problem solving approach for the
product development."
Analysis- what product need to be developed.
Design- Good approach for building it.
Implementation- To develop it.
Why EDLC?
Essential in understanding the scope and complexities involved in any embedded
product development cycle.
Defines interaction among various groups of product development sectors.
Objectives of EDLC
Aim of any product development is the marginal benefit.
Note
Marginal benfit = Return of investment
Product needs to be acceptable by the end user. i.e., it has to meet the
requirements of the end user in terms of quality, reliability & functionality.
EDLC helps on ensuring all these requirements by following three objectives:
1. Ensuring high quality products are delivered to the user.
2. Risk minimization and defect prevention in product development through
project management.
3. Maximize productivity.
Ensuring High quality products
Sure! Here's a regenerated version of the explanation of the Embedded Product
Development Cycle (EDLC) from an exam point of view, including the topics of
objectives, phases of EDLC, and EDLC models:
Embedded Product Development Cycle (EDLC)
Objectives of EDLC:
Develop embedded products with specific functions and built-in computing
capabilities.
Ensure the successful design, development, and deployment of embedded
products.
Meet user needs and expectations while considering market demands and
constraints.
Deliver high-quality and reliable embedded products that comply with regulations.
Phases of EDLC:
1. Requirement Analysis:
Identify functional and non-functional requirements.
Conduct market research and user studies.
Define product specifications, constraints, and target audience.
2. System Design:
Develop a high-level system architecture.
Define hardware-software interfaces.
Identify necessary components (sensors, actuators, etc.).
Consider power management, security, and regulatory compliance.
3. Hardware Design:
Design physical hardware components.
Select appropriate electronic components.
Create schematics and PCB layouts.
Prototype and test the hardware design.
4. Firmware/Software Development:
Develop firmware/software for controlling the product.
Write low-level code for hardware interaction.
Implement algorithms and logic.
Conduct unit testing and verification.
5. Integration and Testing:
Integrate hardware and firmware/software components.
Perform system-level testing.
Debug and resolve issues.
Validate against requirements.
6. Manufacturing and Production:
Prepare documentation for manufacturing.
Select manufacturing processes and partners.
Coordinate PCB production and component assembly.
Perform quality control checks.
7. Deployment and Maintenance:
Package and distribute the product.
Provide user manuals and technical support.
Maintain and update deployed products.
Gather user feedback for improvements.
EDLC Models:
1. Waterfall Model:
Sequential and linear approach to development.
Each phase is completed before moving to the next.
Well-defined requirements and minimal changes during development.
Limited flexibility and adaptability to changing needs.
2. Agile Model:
Iterative and incremental development approach.
Emphasizes flexibility, collaboration, and rapid feedback.
Requirements and solutions evolve through continuous iterations.
Regularly review and adapt development processes.
3. Spiral Model:
Combines elements of both waterfall and prototyping models.
Iterative approach with risk analysis and mitigation.
Progresses through multiple cycles, each with its own set of phases.
Allows for early user feedback and risk management.
Understanding the objectives, phases, and different models of the Embedded Product
Development Cycle (EDLC) is crucial for effectively developing embedded products. By
following this cycle and selecting an appropriate EDLC model, organizations can
ensure successful product development while meeting user needs and industry
standards.