Types of Embedded Systems

Hello friends, I hope you all are happy, healthy and content! Today, we will be discussing the types of embedded systems. But, Before jumping to the types of embedded systems, let's first revise what is an Embedded System? I hope you have a clear idea about the embedded systems, if not, there is always a solution!

Definition of an embedded system

"An embedded system is a unique combination of computer hardware and a software designed for performing a specific function or set of functions from a certain input" For a detailed overview of the embedded system and its components, you can refer to the complete article on our website about embedded systems.

Types of Embedded Systems

Presuming that you are well aware of the embedded systems and its components, we will be discussing types of embedded systems in detail in this section. Embedded systems can be classified on two bases;
  1. Performance and functional requirements of the system.
  2. Performance of the Microcontroller used in the embedded system.

Types of embedded systems based on performance

As the name suggests these type of embedded systems comprise of a specific type of embedded system, aptly named after their functionalities and performance;
  • Stand-Alone Embedded System.
  • Real-Time Embedded System.
  • Networked Embedded System.
  • Mobile Embedded System.

1. Stand-Alone Embedded System

You might have made a rough sketch of a stand-alone embedded system by now after seeing the heading, let me explain it first so you may decide later if it was a right guess or not!
  • A stand-alone embedded system is an isolated system that operates on its own.
  • It converts digital or analog signals based on its input method, into the output in form of a task or a response.

Example of Stand-alone Embedded System

  • I have a simple example for you to understand these stand-alone embedded systems, if you have a fully automatic washing machine or a dishwasher at your home, it makes use of such an embedded system.
  • In the case of a washing machine, you start the process by feeding in the digital command for the task by setting water level, wash time, rinse time, spin time, and type of wash cycle.
  • The digital input is then processed by the embedded system through its various components into the output, which you receive in the form of task performed that is the fully washed, rinsed and spun clothes which are ready to be ironed without any hassle!
  • Many appliances such as sound systems, convection ovens, dishwashers have stand-alone embedded systems inside them.

2. Real-time embedded systems

  • Real-time embedded systems are required to perform their assigned function or furnish the output under strict time constraints.
  • Exact timing is crucial to the working of a real-time embedded system as the name suggests!
They can be further classified as;
  1. Hard real-time embedded systems.
  2. Soft real-time embedded systems.

Hard real-time embedded system

  • Hard-real Time embedded systems imply strict time control, otherwise, there would be a critical system failure.
  • There is lesser interaction of physical hardware with the embedded software in hard real-time embedded systems.
  • Missing a deadline for output generation is considered as the complete system failure in the case of a hard real-time embedded system.
  • In case of a delay at the system's end, it could only be up to a few microseconds, any value greater than this would pose serious problems.
Example:
  • Heart pacemaker; pacemakers initiate normal heartbeat for people with heart pathologies, your heart can't skip a beat! It only happens in movies!
  • Missile launch, what's the purpose of launching a missile if it isn't able to hit the target at the desired time? Wouldn't it be a waste of time any resources?
  • Air traffic control, timing is crucial as there are many lives at stake in this case.

Soft real-time embedded systems

  • Soft real-time embedded systems can tolerate delays in task or output execution by providing low service quality.
  • Soft real-time embedded systems aim at prioritizing a task when a certain subset of commands is given to the system for generating output.
  • The efficiency of the system degrades as deadlines are missed, this happens due to burnout and overload of the system with already existing commands.
Example:
  • Online database.
  • Live audio or video systems.

3. Networked Embedded Systems

In this modern era with the advancement of technology, networked embedded systems are being widely used. Before explaining network embedded systems, i want you to understand a networked system, Do you know what is a networked system? Let me explain; a networked system is a group of computers or devices connected through a network either through WAN, LAN or internet! So, a Networked embedded system can be defined as;
  • "The embedded system which requires a network to approach the resources for performing a given task is called a networked embedded system."
The network can be wireless or a wired connection in form of WAN, LAN or internet.

Example of Networked System

 
  • In this highly advanced era of WIFI, we'll be discussing the example of a networked embedded system using a WIFI to operate!
  • You might have seen advertisements of air conditioners and refrigerators using WiFi in their operation.
  • It’s a simple process, you start by installing an app already present at the play store, connect that app with your appliance and operate your appliance with the help of this app! Refer to the diagram below for a better understanding;
  • You can manage everything related to your appliance, from temperature regulation to self-cleaning, from your phone with internet connectivity! Isn't it revolutionary? Yes, it is, all thanks to a networked embedded system using an internet connection to operate an appliance for performing the desired tasks!

4. Mobile embedded system

  • As technology advanced and revolutionized, mobile embedded systems never stopped amazing the consumers with their growth and advancement in every era.
  • Mobile embedded systems are used in portable electronic devices such as mobile phones, tablets, modern-day PRISM cameras, DSLR and whatnot, they are everywhere, every small handheld electronic device makes use of them!
So it was all about embedded systems based on performance and function. We will be moving on to our next section, discussing the type of embedded systems based on the type of Microcontroller. Let's first discuss, what is a microcontroller?

What is a microcontroller?

A microcontroller is a small chip having CPU, RAM, ROM, I/O ports and timers on it; it is simply a pizza with its toppings!

Features of a Microcontroller

Here are some of the features of a microcontroller:
  • You can have your cheese burst pizza but your microcontroller can only bear a limited amount of RAM, ROM and I/O ports, extra topping isn't even allowed in the form of additional memory!
  • There are certain alternatives to the microcontrollers, but the latter suits well with the embedded systems, so why not use the one which suits the best?
  • Microcontrollers are available in different bit sizes from 4 bit, 8bit, 16bit to 32 bit,64 bit you can use the one required for your task.
  • They are cost-effective, minimize power consumption, control-oriented and highly reliable.
Now you are well aware of the microcontroller and its feature, we will be discussing the types of embedded systems based on the performance of microcontrollers!

Types of Embedded System Based on the Performance of Microcontroller

Following are the three types of embedded systems based on the performance of the microcontroller;
  • Small Scale Embedded System.
  • Medium Scale Embedded System.
  • Sophisticated Embedded System.

1. Small Scale Embedded System

  • As the name suggests a small scale embedded system makes use of a small sized microcontroller, ranging from 8 bit to 16 bit.
  • They are less complex in terms of hardware and software and can be operated with batteries as well because of their smaller size.
  • Mostly the C programing language is used in such embedded systems.
Examples of Small Scale Embedded System
  • Bluetooth headphones.
  • Digital pedometer.

2. Medium Scale Embedded System

  • Medium-scale embedded systems are more complex in terms of their hardware and software than the small-scale embedded systems discussed above.
  • They make use of microcontrollers that are larger in bit size i.e numerous 16-bit size microcontrollers or a 32-bit microcontroller is used in making the embedded system.
  • Programming languages like Java, C, C++ are used to develop software for medium-scale embedded systems.
Example of Medium Scale Embedded System ATM, which is widely used by us nowadays has a medium-scale embedded system in it. You can read a detailed account of its working in my previous tutorial about practical applications of embedded systems available on the website!

3. Sophisticated Embedded System

  • Sophisticated embedded systems, as the name suggests are highly advanced and developed in terms of hardware and software.
  • They make use of numerous 32 bit or 64-bit microcontrollers along with multiple programmable logic arrays PLA and configurable processors.
  • They are highly complex and are designed for performing complex tasks and functions.
Examples of Sophisticated Embedded System Here are some of the examples using sophisticated embedded systems;
  • Modern-day air conditioners
  • Medical imaging systems
  • Industrial-scale ovens
  • Hybrid vehicles
Sophisticated embedded systems mark an end to our discussion about the types of embedded systems, I presume, you are now fully aware of the topic we have discussed in depth today, I have tried my level best to cover all the aspects related to this topic in an easy way, without any doubt it is an easy one to grasp, for better understanding and developing a clearer perspective you can revise the concerned section, a second read never hurt anyone! Have a good day!

What is an Embedded System? Definition, Examples, Types & Development

Hello friends, I hope you all are fine. Today, we will discuss What is an Embedded System? We will also have a look at Embedded Systems definition, examples, applications, types & development. For most of you, this term would have been quite familiar & normally people confuse it with a computer or Industrial PC etc. A computer is an application of high-performance Embedded computing but it's not an embedded system itself.

In my article, I am going to tell you all the basic information, need to know about Embedded Systems. What is an embedded system? How is it different from our personal computers? What are its main features? How can we enhance the performance of Embedded Systems? What are the main components of Embedded Systems? What would be the design parameters and constraints in designing an Embedded System? How can we classify such systems? and in the end, I am going to share some common examples.

I have also posted a tutorial on What is Embedded Computer? So, you should also read that because I have shared the basics in it. Moreover, if you are interested in learning Embedded System Programming then you should have a look at 8 Things for Learning Embedded system Programming. Let’s first define a system before diving into embedded systems, because that's essential and without understanding the basics you can't move to the pro.

What is System ???

  • A system is a group of units, joined together to work in a specific routine and perform some fixed operation.
  • These units could be of any nature i.e. if you are working on an electronics system then these units will be electronic components.
  • Similarly, if you are working on some mechanical system then these units will be mechanical equipment or machinery etc.
  • So, now let's have a look at the embedded systems and see what are its units.

What is an Embedded System ???

What is an Embedded System? In order to understand this question, let's take a simple example of traffic signal lights. "Traffic signal lights" is a simple system, following a fixed routine (i.e. Red, Yellow & Green). Before embedded systems, DLD(Digital Logic Design) was normally used to design such systems using 555 Timer. In DLD circuits, we have to design logic using electronic components (logic gates etc.), which makes the circuit quite messy and thus too difficult to debug. Moreover, DLD circuits are too difficult to upgrade as it involves hardware testing. If you check the image on the right side, I have divided this circuit into 3 blocks:
  • Green Block: Input Power Supply(battery).
  • Red Block: Electronics circuitry for Logic Designing.
  • Orange Block: Output LEDs.
In order to overcome all these DLD issues, embedded systems were introduced where we write the logic in programming code. So, unlike DLD(pure electronics), embedded systems consist of both electronics hardware and programming software. As you can see in the second figure, we are controlling 8 LEDs using a single microcontroller. Now all the logics are written within this microcontroller in the form of programming code i.e. For how long Red LED should remain ON "OR" the duration between lights etc. Now the electronics part is very simple, we can add as many LEDs as we want, we can also change the logic in our software without touching the hardware & most importantly, now we can make it smart by adding cameras or sensors etc.
Embedded Systems Key Features
1 Key Component Microcontroller/Microprocessor
2 Electronics Hardware Must (At Least Basic circuit of the embedded controller)
3 Mechanical Hardware Could be
4 Programming Must
5 For Microcontrollers Low-Level Language(i.e. C, Assembly language etc.)
6 For Microprocessors High-Level Language(i.e. Python, C# etc.)
Let's have a look at a proper Embedded Systems Definition:

Embedded Systems Definition

  • An Embedded system is a microprocessor/microcontroller based smart system, constituted of both hardware(electronics must) & software(programming) and designed to perform a set of tasks.
  • It could be a big independent system or a small part of some other system(Embedded or not).

Embedded Controller

  • An Embedded Controller is a key component of an embedded system, which stores programming code in its ROM(read-only memory) and performs assigned tasks. An embedded controller is of two types:
    • Microcontroller: Arduino, PIC Microcontroller, Atmel etc. (Low-Level Programming: Assembly Language, C programming etc.)
    • Microprocessor: RaspberryPi, FPGA, BeagleBone, Arduino YUN etc. (High-Level Programming: Python, C++ etc.)
  • So, we can say embedded systems have their own programmable computer, which we can call embedded computer systems but it's different than general-purpose computers.

A general-purpose computer such as Pentium PC or Intel Industrial PC is not embedded systems as it doesn't perform any specific embedded function. A PC itself is connected to many embedded systems, such as a printer, keyboard, mouse, scanner, modem and many others. Such systems perform specific functions and have their own microcontrollers in them.

Embedded Hardware

  • In order to power up an Embedded Controller, we need to design an electronics hardware circuit, which we can call Embedded Hardware.
  • In the case of microcontrollers, we also need to design its electronics basic circuit, to provide operating frequency.
  • If our embedded system is dealing with complex items i.e. sensors, motors, actuators, solenoids etc., then we have to design their respective control circuits.
  • Embedded hardware could also be some mechanical structure or hydraulic/pneumatic pumps etc.
In simple words, embedded hardware depends entirely on the nature of embedded systems but it must involve electronics circuitry as we have to power up our microcontroller.

Embedded Software

  • An Embedded Software is a piece of programming code, has to be uploaded in ROM(read-only memory) of the Embedded Controller & enables the embedded system to perform specific tasks.
  • Microcontroller companies have also designed windows based software, where programmers can write & compile codes.
  • For Microprocessor, high-level programming languages are used i.e. python, C#, C++ etc.

Embedded Systems Example

I have written a detailed tutorial on Examples of Embedded Systems, which you should read as I have shared real-life examples of Embedded Systems in it. Let's have a look at a few of them:

Printer

  • The printer has its own embedded computer system, thus it doesn't need any external controller.
  • The embedded controller in the printer is programmed to perform few fixed tasks i.e. read the data and print it on paper.
Few other Embedded Systems examples are:
  • Telecommunication.
  • Medical Appliances.
  • Military systems.
  • Automobiles.
  • Consumers Electronics.

I hope that by now, you have an idea of what is Embedded Systems? Now let's have a look at key characteristics of an embedded system.

Characteristics of Embedded System

Embedded Systems have few specific characteristics, which you will find in all of them, These Embedded Systems characteristics are as follows:

Specific Function

  • As I told in the previous section, an embedded system is not a general-purpose system, instead, it's designed to perform specific functions.
  • If we have a look at embedded system examples (i.e. Camera, Mp3 Player, mobile phones etc.), they are all designed to perform some fixed task(although rich in features).
  • These specific tasks are installed in embedded systems using programming and once installed, embedded systems keep on doing their assigned tasks.

Specific Algorithm

  • For performing specific tasks, the algorithm also needs to be specific.
  • Although in smart embedded systems, Artificial intelligence has changed the game.

User Interface

  • Embedded systems may or may not have a user interface i.e. GUI (graphical user interface).
  • In 95% Embedded projects, GUI is available in either hardware(LCD, GLCD, TF etc.) or software(interface to control machines) form.
  • A user interacts with the embedded system using these user interfaces.

Real-Time Operation

  • Another characteristic of embedded systems is to operate in real-time.
  • According to the associated functionality, embedded systems react to events happening in real time and response accordingly.

Multi-Operational

  • In Embedded systems, multiple operations may occur at the same time at different rates.
  • For example, obtaining data, processing data, processing audio or video signals etc.
  • All these operations may occur simultaneously or at different times and at different rates.
  • Here, I should discuss the MIMO systems, they are multi input and multi-output systems and its opposite is SISO means single-input single output.
Now let's have a look at few features of an Embedded system:

Features of Embedded Systems

These features decide the overall ranking of an embedded system:

Performance

  • The performance and accuracy of an embedded system is the main feature.
  • It is measured considering all the conditions and constraints on the system.

Cost

  • The cost factor is another important feature.
  • Such systems are built for performing specific functions and in large quantities.
  • The design process is costly but once a system is designed, customized and produced in bulk, overall cost becomes minimum.

Size

  • One of the features of an embedded system is its size.
  • The size should be small and it is done by adding more functionality in a single chip so that the need for external parts is reduced.

Power Consumption

  • The power consumption is also low.
  • This feature is becoming more and more important in new systems.
  • Sometimes it happens that your embedded system has to be isolated and needs to run for a very long time so in such cases the power consumption is a critical factor and it has to be really low.

Reliability

  • Embedded systems are reliable if they are operated under normal conditions.

These are the features of embedded systems. In the next part of my article, I am going to mention some constraints that should be kept in mind while designing such systems.

Embedded Systems Constraints

There are three constraints on designing of almost every embedded system:

Available System Memory

  • It is necessary to consider the memory available when designing an embedded system.
  • So selection of Microcontroller or Microprocessor plays an important role here.
  • Before starting an embedded system, you must first do the complete calculation of memory usage.

Available processor speed

  • One of the critical things to look upon is processor speed in the case of embedded systems.
  • For example, if your task is to calculate the time of some incident then you must select a high speed processor.

Power Dissipation

  • The need to limit the power dissipation is another constraint.
  • This is usually done by adding more functions to the CPU.
  • New designs of high performance embedded processors have more and more functions on a single chip to reduce space and power consumption.
  • It’s the choice of the user to decide which functions he wants to use.

Now I am moving towards the next section of this article, where I am going to give you an idea of the basic composition of embedded systems.

Embedded Systems Components

  • Embedded Systems Components can be categorized into four main groups
  • , which are:
    • Analog Components.
    • Digital Components.
    • Software.
    • Converters.

Analog Components

Analog Components are very necessary components as they help in interacting with the real world. Examples of analog components are:

  • Sensors.
  • Actuators.
  • Controllers.

Digital Components

Digital components mostly reside on the chip and do the processing operations. Examples are:

  • Processors.
  • Co-processors.
  • Memory.
  • Controllers.
  • Buses.
  • Application-Specific Integrated Circuits (ASIC).

Converters

Converters are used for converting signals. For example:

  • Analog to Digital Converter (A2D).
  • Digital to Analog Converter (D2A).

Software

Without software, an embedded system cannot work. The software is written in both low & high-level languages. This software is burnt to some non-volatile memory i.e. ROM. Examples are:

  • Application Programs.
  • Exception Handlers.

So these were the components of an embedded system. Let’s now talk about types of Embedded Systems:

Types of Embedded Systems

  • There are numerous types of Embedded systems, based on performance and functionality.
  • Based on performance, there are three types of Embedded systems, which are:
    • Small Scale.
    • Medium Scale.
    • Sophisticated.
  • On the basis of functionality, Embedded systems types are:
    • Real-Time Embedded systems.
    • Standalone Embedded systems.
    • Networked Embedded systems.
    • Mobile Embedded systems.

Let's have an overview of these Embedded Systems types, one by one:

Real-Time Embedded Systems

  • If an embedded system has to operate for a specific time, without any delay in the output/input, are termed as Real-Time Embedded Systems.
  • Vehicle Number Plate Recognition using Camera is an example of Real Time Embedded System, such cameras are operating in big cities, they get the plate number using image processing in real-time.
  • Real-Time Embedded Systems follow time constraints & give output at specific times.
  • Here's a screenshot of Pixy Camera, which is very small in size, easily interfaceable with microcontrollers/microprocessors and used in real time embedded systems, you can read more about it here: Getting Started with Pixy Camera.

Stand-Alone Embedded Systems

  • Stand alone embedded system takes input from its own input ports, processes data and gives output.
  • Such systems work on their own, without using any external host.

Networked Embedded Systems

  • Networked Embedded System is the fastest-growing type of embedded systems.
  • These systems are connected with networks that could be LAN, WAN or the internet.
  • The connection can be wireless or wired.
  • Such systems use the network to access all the resources.

Mobile Embedded Systems

  • This is the class of embedded systems that are used in portable devices.
  • Examples of such devices are mobile phones, cameras, music players etc.
Based on the performance of the microcontroller, there are three types of embedded systems:

Small Scale Embedded Systems

  • If the microcontroller used in an embedded system is 8 bit or 16 bit, it is classified into a small scale embedded system.
  • Such systems have less complex hardware and software parts and can also be operated on batteries.
  • Normally such embedded systems use Arduino boards or PIC Microcontrollers or 8051 Microcontrollers etc.

Medium Scale Embedded Systems

  • The second class is a medium scale embedded system.
  • It uses one or more than one 16 bit or 32 bit microcontrollers.
  • It may use DSP (digital signal processor) or may use RISC (reduced instruction set computer).
  • The hardware and software of these systems are complex.

Sophisticated Embedded Systems

  • The third class of embedded systems is sophisticated.
  • Such systems have huge hardware and software complexity.
  • So they need PLA (programmable logic array), scalable or configurable processors.
  • These systems have speed constraints.

That was all about the types and classification of embedded systems. I have discussed the basic information about each type with you guys. I am moving towards the next segment which is on microcontrollers. It is important to discuss why microcontrollers are used with embedded systems. Let’s define a microcontroller first.

Embedded Systems Development

  • If you ask me who's an Embedded Systems Developer, my reply will be a Mechatronics engineer.
  • If you want to be an embedded systems developer, you have to learn:
    • Electronics Circuits: It's required for interfacing sensors/modules with embedded controllers.
    • Embedded Programming: Embedded controllers are trained to specific tasks using programming codes.

Microcontroller

  • Microcontroller has a CPU as the main part and other parts like RAM, ROM, I/O ports, and timers on a single chip.
  • You can say that it has all components fixed on one chip.
  • It is different from microprocessors which have Input/ output ports, timers and other peripherals connected as external parts.
  • You should also read 10 Things for Choosing Microcontroller as it's gonna help if you wanna select Microcontroller for your Embedded Systems Project.
  • Microcontrollers are suitable for applications which have limits on size and cost.
  • The user can not add external devices to such a processor.
  • No memory could be added.
  • Few examples of Microcontrollers are Arduino, PIC Microcontroller, 8051 Microcontroller etc.
  • Microcontrollers are suited for embedded systems.
  • Other than microcontrollers, field-programmable gate arrays (FPGAs), Application specific integrated circuits (ASIC), custom logic etc. could be used as alternatives.
  • They come in a variety of types. 4 bit, 8 bit, 16 bit and 32 bit. Mostly 32 bit microcontrollers are used in embedded systems.
  • The advantages of using microcontrollers are:
    • Microcontrollers are efficient.
    • They can make use of the same logic to perform many diverse functions.
    • Microcontrollers simplify the design of families of products.
    • They use more logic to implement functions.
    • Microcontrollers now have features that control and minimize power consumption.
  • Owing to all these advantages and growing development in this field, microprocessors are used vastly.

Now let’s move towards the last segment of this article. I am sharing some applications here.

Embedded Systems Applications

There are a number of areas where embedded systems are used today. Their applications are not limited and it is hard to write all of them here. Embedded Systems are used in areas like:

  • Automobiles
  • Telecommunication
  • Consumer Electronics
  • Computer
  • Homes
  • Offices

Here I am going to give you a list of other applications and examples of embedded systems. They include:

  • Anti-lock brakes.
  • Auto-focus camera.
  • Teller machines.
  • Automatic toll systems.
  • Automatic transmission.
  • Avionic systems etc.
So, that's all about the Embedded Systems and I hope now you can easily understand what is an Embedded System? why and where it is used? You should also have a look at these Embedded System Projects. If you have any questions, regarding this topic then ask in comments and I will try my best to reply them. :)
Syed Zain Nasir

I am Syed Zain Nasir, the founder of <a href=https://www.TheEngineeringProjects.com/>The Engineering Projects</a> (TEP). I am a programmer since 2009 before that I just search things, make small projects and now I am sharing my knowledge through this platform.I also work as a freelancer and did many projects related to programming and electrical circuitry. <a href=https://plus.google.com/+SyedZainNasir/>My Google Profile+</a>

Share
Published by
Syed Zain Nasir