Embedded Systems

Embedded Systems Design Process

The ideas employed during the design process in embedded systems can be subdivided into 8 steps:

  1. Abstraction.
  2. Hardware and software architecture.
  3. Extra functional properties.
  4. System related family of designs.
  5. Modular design.
  6. Mapping.
  7. User interface design.
  8. Refinements.

Abstraction

Each problem component is first abstracted. For instance, in the design of a robotic system, the problem of abstraction can be in terms of control of arms and motors.

Hardware and Software Architecture

Architectures should be well comprehended before a design.

Extra Functional Properties

Extra functionalities needed in the system being developed should be taken into consideration during the design process.

System Related Family of Designs

The families of related systems that have been developed earlier should be taken into consideration during the design process.

Modular Design

Ideas around modular design should be employed. System designing can be done in quick way by decomposition of software into modules that are to be executed. Modules should be such that they can be composed (coupled or integrated) later. Effective modular design should ensure effective function independence, cohesion and coupling.

Modules should be clearly understood and should maintain continuity. Additionally, appropriate protection strategies are required for each module. A module is not allowed to change or modify another module’s functionality, for instance protection from a device driver modifying the configuration of another device.

Mapping

Mapping into various representations is done from software requirements. For instance, data flow in the same path during the program flow can be mapped together as a single entity. Transform and transaction mapping design processes are used in designing. For instance, an image is input data to a system; it can have a different number of pixels and colours. The system does not process each pixel and colour individually. Transform mapping of image is accomplished by an appropriate compression and storage algorithms. Transaction mapping is performed to define the sequence of images.

User Interface Design

User interfaces are typically designed as per user requirement, analysis of the environment and system functions. For instance, in an automatic chocolate vending machine system, the user interface is a liquid crystal display (LCD) multiline graphics display. It can display a welcome message as well as specify the coins needed to be inserted into the machine for each type of chocolate. The same machine can be designed with touchscreen user interface (graphic user interface [GUI]) or it may be designed with voice user interfaces (VUIs). Any of these interface designs has to be validated by the client before the design can proceed to the implementation stage.

Related: Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux

Refinements

Each component and module design requirements should be refined iteratively until it becomes the most suitable for implementation by the software team.

Share
John Mulindi

John Mulindi has a background in a technical field and he writes on topics ranging from automation, computer systems, embedded systems, mechatronics to measurement and control.

Recent Posts

Rigid-Flex PCBs: Enhancing Durability and Flexibility in Electronic Devices

The world of electronics is constantly evolving, allowing designers and manufacturers to push the boundaries…

2 months ago

Key Features of PIC16X84 Family of Microcontrollers

PIC microcontrollers are fabricated by Microchip Technology. PIC16C84 and PIC16F84 are the two microcontrollers in…

9 months ago

ADD Instruction in Intel 8051 (MCS-51) Microcontroller

The ADD instruction tells the microcontroller’s CPU to add the source byte to register A…

9 months ago

Main Features of Intel 8086 Microprocessor

8-bit microprocessors are limited in their speed (the number of instructions that can be executed…

9 months ago

Basic Features of 68HC11 Family of Microcontrollers

The 68HC11 (also abbreviated as 6811 or HC11) is an 8-bit microcontroller that was introduced…

9 months ago

Process Synchronization using Semaphores

Mutual exclusion typically imposes some conditions on access to a given resource by two or…

9 months ago