Embedded Systems: Components, Architecture, and Development

Components of Embedded Systems

An embedded system has three main components:

  • Hardware
  • Application software: This may perform a series of tasks or multiple tasks concurrently.
  • Real-Time Operating System (RTOS): Supervises the application software and provides a mechanism to let the processor run a process as per scheduling, following a plan to control latencies.

Processor

A processor is the heart of an embedded system.

Power Source

There are three possible methods for providing power to an embedded system:

  • The system’s own supply with separate supply rails for IOs, clock, basic processor, and memory.
  • Supply from a system to which the embedded system interfaces, for example, in a network card.
  • Charge pump concept used in a system with low power requirements.

Clocking Circuits

The clock controls the time for executing an instruction. The clock controls the various clocking requirements of the CPU, timer, etc.

Memory

An embedded system uses different types of memory modules for a wide range of tasks, such as storing software code and instructions for hardware.

Timer

Embedded systems often require mechanisms for counting the occurrence of events and for performing tasks at regular intervals. Embedded processors are often equipped with hardware support for this functionality. A timer is a device that counts the input at regular intervals using clock pulses at its input. The count increments on each pulse and is stored in a register called the count register. Timers are used for generating delays and waveforms with specific delays.

Serial Port

A serial port is a serial communication interface through which information transfers in or out one bit at a time. Serial data transmission is much more common in new communication protocols due to a reduction in the I/O pin count, hence a reduction in cost.

Parallel Port

A parallel port is a type of interface found on computers or embedded systems for connecting peripherals.

Interrupt Controller

An interrupt is a signal to the processor emitted by hardware or software, indicating an event that needs immediate attention. Interrupts allow an embedded system to respond to multiple real-world events rapidly.

4f8AFwLWrvnk4b0AAAAASUVORK5CYII=

ARM Architecture (ARM9)

The ARM9TDMI is a member of the ARM family of general-purpose microprocessors. The ARM9TDMI is targeted at embedded control applications where high performance, low die size, and low power are all important. The ARM9TDMI supports both the 32-bit ARM and 16-bit Thumb instruction sets, allowing the user to trade off between high performance and high code density.

Main Parts of the ARM Processor

  • Register file: The processor has a total of 37 registers made up of 31 general 32-bit registers and 6 status registers.
  • Booth Multiplier
  • Barrel shifter
  • Arithmetic Logic Unit (ALU)
  • Control Unit

Registers

The processor has a total of 37 registers made up of 31 general 32-bit registers and 6 status registers. At any one time, 16 general registers (R0 to R15) and one or two status registers are visible to the programmer. The visible registers depend on the processor mode. In all modes, 16 registers, R0 to R15, are directly accessible. All registers except R15 are general-purpose and may be used to hold data or address values. Register R15 holds the Program Counter (PC). A seventeenth register (the CPSR – Current Program Status Register) is also accessible. It contains condition code flags and the current mode bits and may be thought of as an extension to the PC.

Multiplexers

Many multiplexers are used to control the operation of the processor buses.

Arithmetic Logic Unit (ALU)

The ALU has two 32-bit inputs. The first comes from the register file, while the other comes from the shifter. ALU outputs modify the status register flags.

Booth Multiplier

The multiplier has three 32-bit inputs. All the inputs come from the register file.

Barrel Shifter

The barrel shifter has a 32-bit input to be shifted. This input comes from the register file, or it could be immediate data.

Control Unit

For any microprocessor, the control unit is the heart of the system. It is responsible for the system operation, so the control unit design is the most important part of the whole design.

Embedded Product Development Life Cycle (EDLC)

Need

The need may come from an individual, the public, or a company.

Conceptualization

Defines the scope of the concept, performs cost-benefit analysis and feasibility studies, and prepares project management and risk management plans.

Analysis

Design: The design phase identifies the application environment and creates an overall architecture for the product.

Development and Testing: The development phase transforms the design into a realizable product.

Deployment

Deployment is the process of launching the first fully functional model of the product in the market.

Support

The support phase deals with the operation and maintenance of the product in the production environment.

Upgrades

Deals with the development of upgrades (new versions) for the product already present in the market.

Retirement/Disposal

The retirement/disposal of the product is a gradual process.

Challenges in Embedded Systems

  1. Amount and type of hardware needed. Optimizing various hardware elements for a particular design.
  2. Taking into account the design metrics. Design metrics examples include power dissipation, physical size, number of gates, engineering, prototype development, and manufacturing costs.
  3. Optimizing power dissipation through clock rate reduction and operating voltage reduction.
  4. Disable the use of certain structural units of the processor to reduce power dissipation.
  5. Control of power requirements, for example, by screen auto-brightness control.
  6. Process Deadlines: Meeting the deadline of all processes in the system while keeping the memory, power dissipation, processor clock rate, and cost at a minimum is a challenge.