Implementation Strategies for Complex Embedded Systems Flashcards
A key characteristic of all embedded systems
is that they are designed to perform a
Specific
task or function.
can range from a simple
stand-alone device to a chassis of networked
cards to a system composed of many separate
networked embedded elements
Embedded system
The traditional design approach
has been to traverse the two sides
of the accompanying diagram
separately. That is:
Design the hardware
components.
* Design the software
components.
* Bring the two together.
* Spend time testing and
debugging the system.
The Hardware Portion of
the life cycle involves:
- the design
- development
- test of the physical system
architecture - packaging printed circuit
boards and the individual
components.
Entails the tasks or algorithmic
portion of the application.
The Software Portion
Good system designers and
designs proceed using a
minimum of five steps:
- Requirements Definition.
- System Specification.
- Functional Design.
- Architectural Design.
- Prototyping
is
to capture a formal
description of the
complete system from
the customer’s point of
view and then to
document these needs
as written definitions
and descriptions.
The goal of the
requirements
identification process
- Name and Description of the
Entity - Responsibilities—Activities
- Relationships
- Safety and Reliability
THE ENVIRONMENT
- System Inputs and Outputs
- Responsibilities—Activities
- Safety and Reliability
THE SYSTEM
a precise description of
the system that meets stated requirements.
SYSTEM SPECIFICATIONS
Ideally, a specification document should be
- Complete
- Consistent
- Comprehensible
*Traceable to the requirements - Unambiguous
- Modifiable
*Able to be written
is
carried out based on a search of
essential internal variables and
events in the system
A first functional decomposition
In executing an ——– ——-,
the goal is to select the most
appropriate solution to the original
problems based on exploration of a
variety of architectures and the
choice of the best-suited
hardware/software partitioning and
allocation of functionality.
architectural design
Software design - the following must be analyzed and
decided:
- Whether to use a real-time kernel
- Whether several functions can be
combined in order to reduce the
number of software - tasks and if so, how?
- A priority for each task
Software design
Hardware Architecture -Among the important criteria that we
strive to optimize are:
- Implementation (or factory) cost
- Development time and cost
- Performance and dependability
constraints - Power consumption
- Size
The number of bits assigned
to registers:
- 8-bit
- 16-bit
- 32-bit
- 64-bit
Central Processing Unit (CPU)
Important considerations:
Clock speed
Level of parallelism offered by the processor
The range of an embedded microprocessor
system is from the low hundreds of
megahertz (200 MHz) to over 1GHz.
Clock speed
Processors also offer instructions that are
—————- ———- to optimize the execution of
algorithms that exhibit data-level parallelism.
Single Instructions, Multiple Data
(SIMD)
where with the
addition of a relatively small amount of logic,
the processor presents two separate logical
cores
Symmetric multithreading
As —– —– increase, more and more logic is added to
the processor die, creating families
of application-specific service
processors
integration levels
often used to
describe these highly integrated
processors.
system on
chip (SOC)
SOCs integrate capabilities to connect
the SOC to external memory devices
and nonvolatile storage devices using
glue-less interfaces
a term used to indicate
that there is no additional logic needed
to connect the two devices,
Integration Level
Glue-less
In order to develop efficient power aware
systems, it is often beneficial for an embedded
application to group work into bursts of activity
with the processor running at full clock rate
followed by periods of processor idle states.
Power Consumption
In many cases, considerable effort is expended
in designing a core compute module that can be
employed in a number of different product lines
with varying I/O or interface capabilities.
Form Factor
An attribute often sacrificed in designing
embedded systems is the ability to expand
hardware capabilities over time.
Expansion
Application-Specific
Hardware
Add capabilities by adding a —
—
or
by developing an —–
field-
programmable gate array (FPGA), application-
specific integrated circuit (ASIC)
There are many safety and security
standards that may be applicable to
the industry you work in, such as:
- Multilevel secure (MLS)
- Safety Integrity Level (SIL)
- Federal Information Processing
Standards Publications (FIPs)
It is important to validate and test your
system by running your system for several
days and reviewing such resources.
Reliability/Availability
There are also features such as:
—- ——–
- automatically corrects single bit errors and
detects multiple bit errors in memory.
Error-Correcting-Code (ECC) memory
The embedded platforms must support the
latest IP stacks. Finally, a transition to IPv6 is
likely.
Ethernet is the ubiquitous wired interface
available on many platforms.
Connectivity
It is critical that embedded devices
have an active life cycle, where
security-related updates are pushed
to the devices just as they are in the
desktop environment.
Security
A prototype implementation includes:
Detailed
design
* Debugging
* Validation
* Testing