1 of 57

Embedded Systems

Unit - 1

2 of 57

Outcomes

  • Define Embedded System
  • Describe History of Embedded Systems
  • Explain the Classification of Embedded Systems
  • Describe the Major Application Areas
  • Explain the Purpose of Embedded Systems;
  • Describe the Core of Embedded System
  • Explain the Memory organization in Embedded System
  • Describe the Sensors and Actuators used in Embedded System
  • Explain the Communication Interfaces used in Embedded System
  • Describe the Embedded Firmware.

3 of 57

Introduction

  • Embedded Systems are highly domain and application specific in nature, meaning; they are specifically designed for certain set of applications in certain domains like consumer electronics, telecom, automotive, industrial control, measurement systems etc.
  • Unlike general computing systems it is not possible to replace an embedded system which is specifically designed for an application catering to a specific domain with another embedded system catering to another domain.
  • The designer of the embedded system should be aware of its characteristics, and its domain and application specific nature.

4 of 57

Embedded systems

  • An Embedded System is an electronic/electro-mechanical system designed to perform a specific function and a combination of both hardware and firmware (software).
    • Every embedded system is unique and the hardware as well as the firmware is highly specialized to the application domain.
    • Embedded systems are becoming an inevitable part of any product or equipment in all fields including household appliances, telecommunications, medical equipment, industrial control, consumer products, etc.

5 of 57

History - ES

  • Embedded systems date back to the 1960s.
  • Charles Stark Draper developed an integrated circuit in 1961 to reduce the size and weight of the Apollo Guidance Computer, the digital system installed on the Apollo Command Module and Lunar Module.
  • The first computer to use ICs, it helped astronauts collect real-time flight data.
  • First Recognized Modern Embedded System: Apollo Guidance Computer (AGC) developed by Charles Stark Draper at the MIT Instrumentation Laboratory. It has two modules
    • Command module(CM) & Lunar Excursion (LE)
      • RAM size 256 , 1K ,2K words
      • ROM size 4K,10K,36K words
      • Clock frequency is 1.024MHz
      • 5000 ,3-input RTL NOR gates are used
      • User interface is DSKY (display/Keyboard)

6 of 57

History - ES

  • In 1965, Autonetics, now a part of Boeing, developed the D-17B, the computer used in the Minuteman I missile guidance system. It is widely recognized as the first mass-produced embedded system. When the Minuteman II went into production in 1966, the D-17B was replaced with the NS-17 missile guidance system, known for its high-volume use of integrated circuits.
  • In 1968, the first embedded system for a vehicle was released; the Volkswagen 1600 used a microprocessor to control its electronic fuel injection system.

Autonetics D-17 guidance computer from a Minuteman I missile

Volkswagen 1600

7 of 57

History - ES

  • By the late 1960s and early 1970s, the price of integrated circuits dropped and usage surged. The first microcontroller was developed by Texas Instruments in 1971. The TMS1000 series, which became commercially available in 1974, contained a 4-bit processor, read-only memory (ROM) and random-access memory (RAM), and it cost around $2 apiece in bulk orders.
  • Also, in 1971, Intel released what is widely recognized as the first commercially available processor, the 4004. The 4-bit microprocessor was designed for use in calculators and small electronics, though it required eternal memory and support chips. The 8-bit Intel 8008, released in 1972, had 16 KB of memory; the Intel 8080 followed in 1974 with 64 KB of memory. The 8080's successor, the x86 series, was released in 1978 and is still largely in use today.
  • In 1987, the first embedded operating system, the real-time VxWorks, was released by Wind River, followed by Microsoft's Windows Embedded CE in 1996. By the late 1990s, the first embedded Linux products began to appear. Today, Linux is used in almost all embedded devices.

Texas Instruments in 1971

Intel 8008

8 of 57

Criteria

General Purpose Computing System

Embedded System

Contents

A system which is a combination of a generic hardware and a General Purpose Operating System for executing a variety of applications.

A system which is a combination of special purpose hardware and embedded OS for executing a specific set of applications.

OS

It contains a general purpose operating

system (GPOS).

It may or not contain an operating system for functioning.

Alterations

Applications are alterable (programmable) by the user. (It is possible for the end user to re-install the OS and also add or remove user applications.)

The firmware of the embedded system is pre-programmed and it is non-alterable by the end-user.

Key factor

Performance is the key deciding factor in the selection of the system. Faster is better.

Application specific requirements (like performance, power requirements, memory usage, etc.) are key deciding factors.

Power Consumption

More

Less

Response Time

Not critical

Critical for some applications

Execution

Need not be deterministic

Deterministic for certain types of ES like Hard Real Time systems.

Embedded Systems vs General Computing Systems

9 of 57

Classification of Embedded Systems

  • Some of the criteria used in the classification of embedded systems are:
    • Based on generation
    • Complexity and performance requirements
    • Based on deterministic behaviour
    • Based on triggering.

10 of 57

Classification Based on Generation

  • The embedded systems evolved from the first version to where they are today in terms of processing .
  • First Generation
  • The early embedded systems were built around 8bit microprocessors like 8085 and Z80, and 4bit microcontrollers.
  • Simple in hardware circuits with firmware developed in Assembly code.
  • Digital telephone keypads, stepper motor control units etc. are examples of this.

11 of 57

Based on Generation

  • Second Generation
  • These are embedded systems built around 16bit microprocessors and 8 or 16 bit microcontrollers, following the first generation embedded systems.
  • Are more complex and powerful than the first generation processors/controllers. Some of the second generation embedded systems contained embedded operating systems for their operation. Examples are -
  • Data Acquisition Systems,
  • Supervisory control and data acquisition (SCADA) systems,

12 of 57

Based on Generation

  • Third Generation
  • With advances in processor technology, embedded system developers started making use of powerful 32bit processors and 16bit microcontrollers for their design.
  • A new concept of application and domain specific processors/controllers like Digital Signal Processors (DSP) and Application Specific Integrated Circuits (ASICs) came into the picture.
  • The instruction set of processors became more complex and powerful and the concept of instruction pipelining also evolved.
  • Processors like Intel Pentium, Motorola 68K, etc. gained attention in high performance embedded requirements. Dedicated embedded real time and general purpose operating systems entered into the embedded market.
  • robotics, media, industrial process control, networking, etc.

13 of 57

Based on Generation

  • Fourth Generation
  • The advent of System on Chips (SoC), reconfigurable processors and multicore processors are bringing high performance, tight integration and miniaturization into the embedded device market.
  • The SoC technique implements a total system on a chip by integrating different functionalities with a processor core on an integrated circuit.
  • The fourth generation embedded systems are making use of high performance Real-time embedded operating systems for their functioning.
  • Smart phone devices, mobile internet devices (MIDs),

14 of 57

Classification Based on Complexity and Performance

  • According to this classification, embedded systems can be grouped into:
  • Small-Scale Embedded Systems
  • Embedded systems which are simple in application needs and where the performance requirements are not time critical fall under this category.
  • An electronic toy is a typical example of a small-scale embedded system. Small-scale embedded systems are usually built around low performance and low cost 8 or 16 bit microprocessors/microcontrollers.
  • A small-scale embedded system may or may not contain an operating system for its functioning.

15 of 57

Based on Complexity and Performance

16 of 57

Based on Complexity and Performance

  • Medium-Scale Embedded Systems
  • Embedded systems which are slightly complex in hardware and firmware (software) requirements fall under this category.
  • Medium-scale embedded systems are usually built around medium performance, low cost 16 or 32 bit microprocessors/microcontrollers or digital signal processors.
  • They usually contain an embedded operating system (either general,
  • purpose or real time operating system) for functioning.

17 of 57

Based on Complexity and Performance

18 of 57

Based on Complexity and Performance

  • Large-Scale Embedded Systems/Complex Systems
  • Embedded systems which involve highly complex hardware and firmware requirements fall under this category. They are employed in mission critical applications demanding high performance.
  • Such systems are commonly built around high performance 32 or 64 bit RISC processors/controllers or Reconfigurable System on Chip (RSoC) or multi-core processors and programmable logic devices.
  • They may contain multiple processors/controllers and co-units/hardware accelerators for offloading the processing requirements from the main processor of the system.
  • Decoding/encoding of media, cryptographic function implementation, etc. are examples for processing requirements which can be implemented using a co-processor/hardware accelerator.
  • Complex embedded systems usually contain a-high performance Real Time Operating System (RTOS) for task scheduling, prioritization and management

19 of 57

Based on Complexity and Performance

20 of 57

Classification based on Deterministic System Behaviour

  • The classification based on deterministic system behaviour is applicable for ‘Real Time’ systems.
  • The application/task execution behaviour for an embedded system can be either deterministic or non-deterministic.
  • Based on the execution behaviour, Real Time embedded systems are classified into Hard and Soft.
  • Soft real-time embedded systems have lenient output timeframes or deadlines.
  • Hard real-time embedded systems are the antithesis of soft real-time embedded systems and these systems must consistently meet their assigned output deadlines.

21 of 57

Classification based on Triggering

  • Embedded Systems which are ‘Reactive’ in nature (Like process control systems in industrial control applications) can be classified based on the trigger.
  • Reactive systems can be either event triggered or time triggered.

22 of 57

Major Application Areas of ES

  • Embedded systems are found in a variety of common electronic devices, such as:
    • consumer electronics -- Mobile phones, pagers, digital cameras, camcorders, portable video games, calculators, and personal digital assistants;
    • Home appliances -- microwave ovens, answering machines, thermostat, home security, washing machines, and lighting systems;
    • office automation -- fax machines, copiers, printers, and scanners;
    • business equipment -- cash registers, curbside check-in, alarm systems, card readers, product scanners, and automated teller machines;
    • automobiles –transmission control, cruise control, fuel injection, anti-lock brakes, and active suspension.
  • One might say that nearly any device that runs on electricity either already has, or will soon have, a computing system embedded within it.

23 of 57

Application Areas of ES

  1. Consumer electronics: Camcorders, cameras, etc.
  2. Household appliances: Television, DVD players, washing machine, fridge, microwave oven, etc.
  3. Home automation and security systems: Air conditioners, sprinklers, intruder detection alarms, closed circuit television cameras, fire alarms, etc.
  4. Automotive industry: Anti-lock breaking systems (ABS), engine control, ignition systems, automatic navigation systems, etc.
  5. Telecom: Cellular telephones, telephone switches, handset multimedia applications, etc.

24 of 57

Application Areas of ES

  1. Computer peripherals: Printers, scanners, fax machines, etc.
  2. Computer Networking systems: Network routers, switches, firewalls, etc.
  3. Healthcare: Different kinds of scanners, EEG, ECG machines etc.
  4. Measurement & Instrumentation: Digital multi meters, digital CROs, logic analyzers PLC systems, etc.
  5. Banking & Retail: Automatic teller machines (ATM) and currency counters, point of sales (POS).
  6. Card Readers: Barcode, smart card readers, hand held devices, etc.

25 of 57

Purpose of Embedded Systems

  • Each embedded system is designed to serve the purpose of any one or a combination of the following tasks:
  • Data collection/Storage/Representation
  • Data Communication
  • Data (signal) processing
  • Monitoring
  • Control
  • Application specific user interface

26 of 57

1. Data collection/Storage/Representation

  • Embedded systems designed for the purpose of data collection performs acquisition of data from the external world.
  • Data collection is usually done for storage, analysis, manipulation and transmission.
  • The term “data” refers all kinds of information, such as text, voice, image, video, electrical signals and any other measurable quantities.
  • Data can be either analog (continuous) (A/D converters) or digital (discrete).
  • The collected data may be stored directly in the system or may be transmitted to some other systems or it may be processed by the system or it may be deleted instantly after giving a meaningful representation.
  • These actions purely depend on the purpose for which the embedded system is designed.

27 of 57

2. Data Communication

  • Embedded data communication systems are deployed in applications from complex satellite communication to simple home networking systems.
  • The transmission of data is achieved either by a wired medium or by a wire-less medium. Data can either be transmitted by analog means or by digital means.
  • The data collecting embedded terminal itself can incorporate data communication units like Wireless modules (Bluetooth, ZigBee, Wi-Fi, EDGE, GPRS, etc.) or wire-line modules (RS-232C, USB, TCP/IP, PS2,etc).
  • Network hubs, routers, switches are examples of dedicated data transmission embedded systems.
  • Systems act as a dedicated transmission unit between the sending and receiving terminals, offering sophisticated functionalities like data packetizing, encrypting and decrypting.

28 of 57

3. Data (Signal) Processing

  • The data (voice, image, video, electrical signals and other measurable quantities) collected by embedded systems may be used for various kinds of data processing.
  • Embedded systems with signal processing functionalities are employed in applications demanding signal processing like speech coding, synthesis, audio video codec, transmission applications, etc.
  • A digital hearing aid is a typical example of an embedded system employing data processing. Digital hearing aid improves the hearing capacity of hearing impaired persons.

29 of 57

3. Data (Signal) Processing

30 of 57

4. Monitoring

  • Almost all embedded products coming under the medical domain are with monitoring functions only.
  • A very good example is the electro cardiogram (ECG) machine for monitoring the heartbeat of a patient. The machine is intended to do the monitoring of the heartbeat of a patient but it cannot impose control over the heartbeat. The sensors used in ECG are the different electrodes connected to the patient’s body.
  • Other examples with monitoring function are measuring instruments like digital CRO, digital multimeters, logic analyzers., etc. used in control & instrumentation applications.

31 of 57

5. Control

  • Embedded systems with control functionalities impose control over some variables according to the changes in input variables.
  • A system with control functionality contains both sensors and actuators. Sensors are connected to the input port for capturing the changes in environmental variable or measuring variable. The actuators connected to the output port are controlled according to the changes in the input variable to put an impact on the controlling variable to bring the controlled variable to the specified range.
  • Air conditioner system used in our home to control the room temperature to a specified limit is a typical example for embedded system for control purpose. An air conditioner contains a room temperature sensing element (sensor) which may be thermistor and a handheld unit for setting up (feeding) the desired temperature.

32 of 57

6. Applications specific user interface

  • Buttons, switches, keypad, lights, speakers, display units, etc. are application-specific user interfaces.
  • Mobile phone is an example of application specific user interface. In mobile phone, the user interface is provided through the keypad, graphic LCD module, system speaker, vibration alert, etc.

33 of 57

Typical Embedded System

    • Core of the Embedded System
    • Memory
    • Sensors and Actuators
    • Communication Interface
    • Embedded Firmware

34 of 57

TYPICAL EMBEDDED SYSTEM

  • A typical embedded system contains a single chip controller, which acts as the master brain of the system.
  • The controller can be a Microprocessor or a microcontroller or a Field Programmable Gate Array (FPGA) device or a Digital Signal Processor (DSP) or an Application Specific Integrated Circuit (ASIC)/ Application Specific Standard Product (ASSP).
  • Embedded hardware/software systems are basically designed to regulate a physical variable or to manipulate the state of some devices by sending some control signals to the Actuators or devices connected to the o/p ports of the system, in response to the input signals provided by the end users or Sensors which are connected to the input ports.

35 of 57

TYPICAL EMBEDDED SYSTEM

  • Keyboards, push button switches, etc. are examples for common user interface input devices whereas LEDs, liquid crystal displays, piezoelectric buzzers, etc. are examples for common user interface output devices for a typical embedded system.
  • For example, if the embedded system is designed for any handheld application, such as a mobile handset application, then the system should contain user interfaces like a keyboard for performing input operations and display unit for providing users the status of various activities in progress.

36 of 57

TYPICAL EMBEDDED SYSTEM

37 of 57

Elements of an Embedded System

38 of 57

Core of Embedded Systems

  • The core of the embedded system falls into any of the following categories:
  • General Purpose and Domain Specific Processors
    • Microprocessors
    • Microcontrollers
    • Digital Signal Processors

39 of 57

Core of Embedded Systems

  • Application Specific Integrated Circuits (ASICs)
  • Programmable Logic Devices (PLDs)
  • Commercial off-the-shelf Components (COTS)

40 of 57

Merits, Drawbacks and Application Areas of Microcontrollers and Microprocessors

  • Microprocessors are designed to perform unspecific tasks like developing software, games, website, photo editing, creating documents, etc.
  • Depending on the input, some processing for microcontroller needs to be done and output is defined. However, the relationship between input and output for microprocessor is not defined.
  • Since the applications of microcontroller are very specific, they need small resources like RAM, ROM, I/O ports etc. and hence can be embedded on a single chip. Microprocessors need high amount of resources like RAM, ROM, I/O ports etc.
  • The clock speed of Microprocessor is quite high as compared to the microcontroller. Whereas the microcontrollers operate from a few MHz (from 30 to 50 MHz), today's microprocessor operate above 1 GHz as they perform complex tasks.

41 of 57

Merits, Drawbacks and Application Areas of Microcontrollers and Microprocessors

  • Microprocessor cannot be used stand alone. They need other peripherals like RAM, ROM, buffer, I/O ports etc and hence a system designed around a microprocessor is quite costly.
  • Application areas of microcontroller: Mobile phones, CD/DVD players, Washing machines, Cameras, Security alarms, microwave oven, etc.
  • Application areas of microprocessor: Calculators, Accounting Systems, Games Machine, Complex Industrial Controllers, Data Acquisition Systems, Military applications, Communication systems, etc.

42 of 57

43 of 57

SENSORS AND ACTUATORS

  • Light Emitting Diode (LED)
  • 7-Segment LED Display
  • Optocoupler
  • Stepper Motor
  • Relay
  • Piezo Buzzer
  • Push Button Switch
  • Keyboard
  • Programmable Peripheral Interface (PPI)

44 of 57

SENSOR: �A transducer device which converts energy from one form to another for any measurement or control purpose. Sensors acts as input device

45 of 57

 ACTUATOR: �A form of transducer device (mechanical or electrical) which converts signals to corresponding physical action (motion). Actuator acts as an output device

46 of 57

ACTUATOR

  • Piezo buzzer is a piezoelectric device for generating audio indications in embedded application.
  • A piezoelectric buzzer contains a piezoelectric diaphragm which produces audible sound in response to the voltage applied to it.
  • Piezoelectric buzzers are available in two types: Self-driving and External driving.
  • The ‘Self-driving’ circuit contains all the necessary components to generate sound at a predefined tone. It will generate a tone on applying the voltage.
  • External driving piezo buzzers supports the generation of different tones. The tone can be varied by applying a variable pulse train to the piezoelectric buzzer.

47 of 57

Push button switch

  • It is an input device. Push button switch comes in two configurations, namely, Push to Make and Push to Break.
  • In the ‘Push to Make’ configuration, the switch is normally in the open state and it makes a circuit contact when it is pushed or pressed.
  • In the ‘Push to Break’ configuration, the switch is normally in the closed state and it breaks the circuit contact when it is pushed or pressed.
  • In the embedded application push button is generally used as reset and start switch.

48 of 57

Matrix keyboard

  • Keyboard is an input device for user interfacing. If the number of keys required is very limited, push button switches can be used and they can be directly interfaced to the port pins for reading.
  • Matrix keyboard is an optimum solution for handling large key requirements. It greatly reduces the number of interface connections.
  • For example, for interfacing 16 keys, in the direct interfacing technique 16 port pins are required, whereas the matrix keyboard only 8 lines are required. The 16 keys are arranged in a 4 column*4 row matrix.

49 of 57

Matrix Keyboard Interfacing

50 of 57

COMMUNICATION INTERFACE

  • For an embedded product, the communication interface can be viewed in two different perspectives; namely; Device/board level communication interface (Onboard Communication Interface) and Product level communication interface (External Communication Interface).
  • Embedded product is a combination of different types of components (chips/devices) arranged on a printed circuit board (PCB). Serial interfaces like I2C, SPI, UART, 1-Wire, etc and parallel bus interface are examples of ‘Onboard Communication Interface’.

51 of 57

ONBOARD COMMUNICATION INTERFACE

  • Onboard Communication Interface refers to the different communication channels/buses for interconnecting the various integrated circuits and other peripherals within the embedded system. The various interfaces for onboard communication are as follows:

  1. Inter Integrated Circuit (I2C) Bus
  2. Serial Peripheral Interface (SPI) Bus
  3. Universal Asynchronous Receiver Transmitter (UART)
  4. 1-Wire Interface
  5. Parallel Interface

52 of 57

I2C BUS

  • The Inter Integrated Circuit Bus is a synchronous bi-directional half duplex two wire serial interface bus.
  • The I2C bus comprise of two bus lines, namely, Serial Clock-SCL and Serial Data-SDA.
  • SCL line is responsible for generating synchronization clock pulses and SDA is responsible for transmitting the serial data across devices.
  • Devices connected to the I2C bus can act as either ‘Master’ device or ‘Slave’ device.
  • The ‘Master’ device is responsible for controlling the communication by initiating/terminating data transfer, sending data and generating necessary synchronization clock pulses.
  • ‘Slave’ devices wait for the commands from the master and respond upon receiving the commands. ‘Master’ and ‘Slave’ devices can act as either transmitter or receiver. I2C supports multi masters on the same bus.

53 of 57

Serial Peripheral Interface (SPI) Bus

  • The Serial Peripheral Interface Bus (SPI) is a synchronous bidirectional full duplex four-wire serial interface bus.
  • SPI is a single master multi-slave system.
  • SPI requires four signal lines for communication.
  • They are Master Out Slave In (MOSI), Master In Slave Out (MISO), Serial Clock (SCLK) and Slave Select (SS).
  • When compared to I2C, SPI bus is most suitable for applications requiring transfer of data in ‘streams’.

54 of 57

External Communication Interfaces

  • The External Communication Interface refers to the different communication channels/buses used by the embedded system to communicate with the external world.
  • The various interfaces for external communication are as follows -
    • RS-232 C & RS-485
    • Universal Serial Bus (USB)
    • IEEE 1394 (Firewire)
    • Infrared (IrDA)
    • Bluetooth (BT)
    • Wi-Fi
    • ZigBee
    • General Packet Radio Service (GPRS)

55 of 57

Embedded Firmware

  • Embedded firmware is the flash memory chip that stores specialized software running in a chip in an embedded device to control its functions.
  • Firmware in embedded systems fills the same purpose as a ROM but can be updated more easily for better adaptability to conditions or interconnecting with additional equipment.
  • Hardware makers use embedded firmware to control the functions of various hardware devices and systems much like a computer’s operating system controls the function of software applications.
  • Embedded firmware exists in everything from appliances so simple you might not imagine they had computer control, like toasters, to complex tracking systems in missiles. The toaster would likely never need updating but the tracking system sometimes does.
  • As the complexity of a device increases, it often makes sense to use firmware in case of design errors that an update might correct.

56 of 57

Embedded Firmware

  • Embedded firmware is used to control the limited, set functions of hardware devices and systems of greater complexity but still gives more appliance-like usage instead of a series of terminal commands.
  • Embedded firmware functions are activated by external controls or external actions of the hardware.
  • Embedded firmware and ROM-based embedded software often have communication links to other devices for functionality or to address the need for the device to be adjusted, calibrated or diagnosed or to output log files. It is also through these connections that someone might attempt embedded device hacking.
  • Embedded software varies in complexity as much the devices it is used to control. Although embedded software and embedded firmware are sometimes used synonymously, they are not exactly the same thing.
  • For example, embedded software may run on ROM chips. Also, embedded software is often the only computer code running on a piece of hardware while firmware can also refer to the chip that houses a computer’s Extensible Firmware Interface (EFI) or basic input/output system (BIOS), which hands over control to an OS that in turn launches and controls programs.

57 of 57

References