embedded systems

Published on ~polarhive/wiki

An Embedded system is an electronic / electromechanical system designed to perform a specific function and is a combination of both Hardware and Software. It is unique and the hardware and firmware are highly specialized to the application domain.

It's a micro-controller or microprocessor-based system which is designed to perform a specific task. For example, a fire alarm is an embedded system; it will sense only smoke.



Purpose of Embedded Systems


Applications of Embedded Systems

Characteristics of an Embedded Systems


Based on Generation

  1. First Generation - Built around 8-bit microprocessor & micro-controller, Simple in hardware circuit & firmware developed. Ex: Digital telephone keypads
  2. Second Generation - Built around 16-bit μp & 8-bit μc, They are more complex & powerful than 1G μp & μc, Ex: SCADA systems ==Supervisory Control & Data Acquisition System==
  3. Third Generation - Built around 32-bit μp & 16-bit μc, Concepts like Digital Signal Processors(DSPs), Application Specific Integrated Circuits(ASICs) evolved. Ex: Robotics, Media.
  4. Fourth Generation - Built around 64-bit μp & 32-bit μc, The concept of System on Chips (SoC), Multicore Processors evolved, Highly complex & very powerful. Ex: Smart Phones

Based on Complexity and Performance


Based on Deterministic Behaviour


Core of the Embedded Systems


microprocessor vs microcontroller

| Criteria             | Microprocessor                                                                                           | Microcontroller                                                                                                                                                                                                 |
| -------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Description          | A silicon chip representing CPU, performing ALU operations according to pre-defined set of instructions. | A highly integrated chip that contains Scratch pad RAM, special and general purpose register arrays, on-chip ROM/FLASH memory for program storage, timer and interrupt controller units and dedicated I/O ports |
| Dependency           | It is a dependent unit.                                                                                  | It is an independent unit.                                                                                                                                                                                      |
| Design and Operation | General purpose design and operation.                                                                    | Application-oriented or domain-specific.                                                                                                                                                                        |
| Built-in I/O Ports   | Doesn't contain a built-in I/O port.                                                                     | Contains multiple built-in I/O ports.                                                                                                                                                                           |
| Target Market        | Targeted for high-end market where performance is important.                                             | Targeted for Embedded market.                                                                                                                                                                                   |
| Power Saving Options | Limited power saving options.                                                                            | Includes a lot of power-saving features.                                                                                                                                                                        |

Digital Signal Processor


General Purpose Processor Vs Application Specific Instruction Set Processor

| Criteria                                   | General Purpose Processor (GPP)                                | Application Specific Instruction Set Processor (ASIP)                                                                                                                              |
| ------------------------------------------ | -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Designed for                               | Designed for general computational tasks. Ex: laptop, Desktop  | The processor contains architecture and instruction set optimized to specific domain/application requirements. Ex: SoC, DSP's used in automotive, telecom, media applications, etc |
| Components                                 | It contains ALU and Control Unit.                              | It incorporates a processor and on-chip peripherals demanded by the application requirement, program, and data memory.                                                             |
| Production and Cost                        | High volume of production/low cost per unit.                   | -                                                                                                                                                                                  |
| Role in Architectural Spectrum             | -                                                              | It fills the architectural spectrum between GPP and ASIC's.                                                                                                                        |

Application Specific Integrated Circuits (ASICs)

Programmable Logic Devices (PLDs)

PLDs can be reconfigured to perform any number of functions at any time.

Features of PLDs

Two major types of PLDs are

  1. CPLDs: offer a smaller amount of logic, up to about 10,000 gates, and offer very predictable timing characteristics suitable for critical control applications.
    • Example: Xilinx Coolrunner
  2. FPGAs: offer the highest amount of logic density, the most features, and the highest performance.
    • Example: Xilinx VirtexTM.

Commercial Off-the-Shelf Components (COTS)

Provides easy integration and interoperability with existing system components. It can be developed around GPP, Domain-specific Processor, ASIC, or PLDs.

| Advantages                                                                                                    | Disadvantages                                                                                                                                                                                                                   |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Readily available in the market, cheap, and developers can cut down their development time to a great extent. | Due to rapid changes in technology, if the COTS component is withdrawn by the manufacturer or production is discontinued, it will adversely affect a commercial manufacturer of ES which makes use of the specific COTS product |

Memory

Memory is required for holding data temporarily during certain operations.


Program Storage Memory (ROM)

Depends on fabrication, erasing, and programming technique, ROM is divided as follows:

A) Masked ROM (MROM)

B) Programmable Read Only Memory (PROM / OTP)

C) Erasable Programmable Read Only Memory (EPROM)

D) Electrically Erasable Programmable Read Only Memory (EEPROM)

E) FLASH

F) NVRAM (Non-volatile RAM / non-volatile storage memory)


Read-Write Memory / Random Access

RAM: is working memory of a controller/processor where it can read from it and write to it.

Volatile in nature (requires power to maintain the stored information)

A) Static RAM (SRAM)

B) Dynamic RAM (DRAM)


Difference between SRAM and DRAM

  1. SRAM

    • Made up of 6 CMOS Transistors (MOSFET)
    • Doesn't require refreshing
    • Low capacity
    • Fast in operation. Typical access time is 10ns
  2. DRAM

    • Made up of a MOSFET and a capacitor
    • Requires refreshing
    • High Capacity
    • Less expensive
    • Slow in operation. Typical access time is 60ns
    • Write Operation is faster than read operation

C) NVRAM (Non-volatile RAM)

D) Memory according to the Type of Interface


I/O Subsystem

The I/O subsystem of the embedded system facilitates the interaction of the embedded system with the external world.


Communication Interface


Onboard communication Interfaces

External / Peripheral Communication Interfaces


ARM Processor

RISC Characteristics

Features of ARM7:


Spec: RS 232 C & RS 485

It is wired, asynchronous, serial, full duplex communication


ARM Processor Fundamentals

risc


Data Flow Model

data flow model

As ARM is von Neumann architecture, the same bus is used to load instructions and data. Hence, the input data bus enters the processor core and is connected to:


Basic Processing Units

i. ALU (Arithmetic Logic Unit) ii. Barrel Shifter iii. MAC (Multiply and Accumulate Unit)

ALU (Arithmetic and Logical Unit)

Barrel Shifter

A barrel shifter is a digital circuit that can shift a data word by a specified number of bits in one clock cycle.

MAC (Multiply and Accumulate Unit)

Address Register


Registers


Current Program Status Register (CPSR)

Processor Modes

The ARM has seven operating modes:

Banked Registers

State and Instruction Sets

The state of the core determines which instruction set is being executed.


prev: communication systems