Introduction To E.S. - Lecture 2
Introduction To E.S. - Lecture 2
Answer. The major steps that are involved in designing an embedded system is described by
embedded system design process. It basically is aimed at two objectives.
A design methodology is important for three reasons. First, it allows us to keep a scorecard on a
design to ensure that we have done everything we need to do, such as optimizing performance or
performing functional tests. Second, it allows us to develop computer-aided design tools.
Developing a single program that takes in a concept for an embedded system and emits a
completed design would be a daunting task, but by first breaking the process into manageable
steps, we can work on automating (or at least semi automating) the steps one at a time. Third, a
design methodology makes it much easier for members of a design team to communicate.
The below Figure summarizes the major steps in the embedded system design process. In this
top–down view, we start with the system requirements.
Requirements:
Informal descriptions gathered from the customer are known as requirements. The requirements
are refined into a specification to begin the designing of the system architecture. Requirements
can be functional or non-functional requirements. Functional requirements need output as a
function of input. Non-functional requirements include performance, cost, physical size, weight,
and power consumption. Performance may be a combination of soft performance metrics such as
approximate time to perform a user-level function and hard deadlines by which a particular
operation must be completed. Cost includes the manufacturing, nonrecurring engineering (NRE)
and other costs of designing the system. Physical size and weight are the physical aspects of the
final system. These can vary greatly depending upon the application. Power consumption can be
specified in the requirements stage in terms of battery life.
Specifications:
Requirements gathered are refined into a specification. Specification serves as the contract
between the customers and the architects. Specification is essential to create working systems
with a minimum of designer effort. It must be specific, understandable and accurately reflect the
customer’s requirements.
Architecture
The specification describes only the functions of the system. Implementation of the system is
described by the Architecture. The architecture is a plan for the overall structure of the system. It
will be used later to design the components.
Hardware and Software components:
The architectural description tells us what components we need. The component design effort
builds those components in conformance to the architecture and specification. The components
in general includes both hardware and software modules. Some of the components will be ready-
made (example :CPU, memory chips).
System integration:
After the components are built, they are integrated. Bugs are typically found during the system
integration. Good planning can help us to find the bugs quickly. By debugging a few modules at
a time, simple bugs can be uncovered. By fixing the simple bugs early, more complex or obscure
bugs can be uncovered. System integration is difficult because it usually uncovers problems. The
debugging facilities for embedded systems are usually much more limited than the desktop
systems. Careful attention is needed to insert appropriate debugging facilities during design
which can help to ease system integration problems.
[In the Embedded system design process, information is first collected and refined in the
Requirement step. Specification uses the refined information to describe the functions of the
system which accurately reflects the customer’s requirements and also serves as the contract
between the customer and the designer. The functions described by the specification are
implemented by the Architecture design. The architectural design describes the components we
need which will include both the hardware and software components. After the components are
built, they are integrated to get the final system.]
Q2. What are the basic elements of an embedded System? Very briefly describe about them
Embedded systems are basically designed to regulate a physical variable (such Microwave Oven)
or to manipulate the state of some devices by sending some signals to the actuators or devices
connected to the output port system (such as temperature in Air Conditioner), in response to the
input signal provided by the end users or sensors which are connected to the input ports. Hence
the embedded systems can be viewed as a reactive system.
The control is achieved by processing the information coming from the sensors and user
interfaces and controlling some actuators that regulate the physical variable.
Keyboards, push button, switches, etc. are Examples of common user interface input devices and
LEDs, LCDs, Piezoelectric buzzers, etc examples for common user interface output devices for a
typical embedded system.
Some embedded systems do not require any manual intervention for their operation. They
automatically sense the input parameters from real world through sensors which are connected at
input port. The sensor information is passed to the processor after signal conditioning and
digitization. The core of the system performs some predefined operations on input data with the
help of embedded firmware in the system and sends some actuating signals to the actuator
connect connected to the output port of the system.
The memory of the system is responsible for holding the code (control algorithm and other
important configuration details). There are two types of memories are used in any embedded
system. Fixed memory (ROM) is used for storing code or program. The user cannot change the
firmware in this type of memory. The most common types of memories used in embedded
systems for control algorithm storage are OTP, PROM, UVEPROM, EEPROM and FLASH
An embedded system without code (i.e. the control algorithm) implemented memory has all the
peripherals but is not capable of making decisions depending on the situational as well as real
world changes. Memory for implementing the code may be present on the processor or may be
implemented as a separate chip interfacing the processor. In a controller based embedded system,
the controller may contain internal memory for storing code such controllers are called Micro-
controllers with on-chip ROM