Attributes of embedded systems

  • single function
  • is not possible to run arbitrary programs on the system
  • tight integration of hardware and software to meet the functionality, microcontroller usually supports most of peripherals needed
  • software footprint memory needed is kept to the bare minimum needed to fit into available on chip memory or limited off chip ram flash to keep costs as low as possible
  • need to support constraints in terms of response time, throughput to ensure adequate user experience
  • battery powered systems need to be optimized for long life by employing multiple power saving strategies

Other design parameters

  • Cost - selection of HW components and software license costs are driven by the cost at which the system has to be built to be competitive in the market
  • Reliability - How long the system should work, what is the range of operating temperatures (this will decide the grade of HW components needed), amount of SW testing needed to ensure the right levels of reliability
  • Upgradability - Modern embedded systems often have a way to upgrade their software (often called firmware) over a network connection - needs the right HW and SW support for the same if the use case demands it.
  • Serviceability - What is the level of service and repair possible - component level replacement, board level, drives HW design, some high end systems may need redundant HW and SW design

Embedded vs General Purpose computation

  • A general purpose computer is designed to execure multiple types of programs at different times or concurrently as per the user needs
  • In general, there are no tight timing constraints for programs or functions that are being run in a general purpose computer
    • As long as the time taken to complete is within the operator’s expectations, it is considered to be fine
      • For example a piece of numerical calculation can be completed within 5 seconds or 10 seconds without too much discomfort for the user.
    • In contrast, most embedded systems have tighter expectations on when a particular task has to be complerer as many actions are linked to external inputs /outputs
      • For example in a rocket control system, any actuation of the flight control surfaces have to be done in extreme time precision, a delay could meman that the rocket’s flight path changes by a huge amount leading to mission failure.
  • In embedded systems the programs or tasks that are allowed to run are generall planned and frozen when the system is designed.
    • The designers consider all the tasks to be done, the timing constraints for each of them, the available CPU bandwidth, memory and other system resources like timers, and then come up with the software designt that ensures all the expectations are met.
    • Generally adding additional tasks to an existing system will need a careful analysis to ensure that none of the constraints will be violared sure to lack of CPU capacity, memory or other system resources.
  • In general purpose computer systems, we can run additional programs, and the only impact would be slower turnaround for the various programs and as long as the users are fine with it, there is no issue.
    • users will notice issues only when the system gets completely overloaded and runs out of memory leading to crashing of programs.

Applications of embedded systems

  • Manufacturing equipment
  • domestic appliances
  • AV equipment
  • gaming consoles
  • telecommunication equipment
  • medical equipment
  • cars and vehicles
  • motion sensors

Hard real time vs Soft real time systems

  • Hard real time systems are those where the timing requirements are very stringent and failure to meet them can often end in disastrous consequences.
    • Nuclear reactor control system
    • Rocket flight control system
    • Avionics software
    • Antilock braking software or similar automotive control systems
    • X Ray machines
  • Soft real time systems are those where there are time constraints but the violations don’t lead to disastrous consequences. The effects may be more in terms of reduced quality of the user experience.
    • Home routers
    • digital televisions
    • Smart televisions
    • Surveillance cameras
    • Automotive infotainment systemsm
    • settop box
    • digital watches, wrist bands