An embedded system is a small dedicated system made up of microcontroller or microprocessor. There are some common characteristics of embedded systems that are important to consider and make them different from the general purpose computer.
- 0.1 Single Functioned
- 0.2 Tightly Constrained
- 0.3 Reactive and Real Time
- 0.4 Perform Specific Task
- 0.5 Part of the Main Systems
- 0.6 User Interface
- 0.7 Processors in Embedded Systems
- 0.8 Ready-Made Boards
- 1 Application Specific Integrated Circuits(ASIC)
- 2 Read Also
The embedded systems in this category execute a single function or program only. This type of embedded systems are generally simple, low cost and less complex in nature. Examples are like a digital wristwatch, digital thermometer or printer etc.
The embedded systems have some constrained like cost, size, performance and battery power. These constrained are set before the system design and may vary by the system to system. For a system, if the performance is a primary factor then it should be designed in such a way that performance is always achieved. Sometimes it is very difficult to design a system with some tight constrained and it becomes a design challenge.
Reactive and Real Time
Every embedded system has some input and output. When some input goes to the system it will react and perform some action. Let’s understand the difference between reactive and real-time embedded systems.
Any embedded system may have some input and output. Based on the input the system has to perform some task, action or functionality. If a system is only reactive means it will react on input but when it is not sure. In such type of system, there is no time limit to perform the system. Because they are reactive, they react only.
Let’s take an example, you have an oven and you put something for cooking inside. When you press the power button to start cooking. Sometimes it takes two minutes, sometimes it takes five minutes to start almost in random time. It is the reactive system. It is reacting but when we don’t know.
There is no time constrained or deadline to start the system. At some application where time is an important factor reactive systems are not suitable. They should have a time frame in which they have to respond. And the time frame may be soft and hard.
The embedded system that performs in given time frame or deadline. And it is categorised in
- Soft Real-Time Systems
- Hard Real-Time Systems
Soft Real-Time Systems
In the soft real-time system, the deadline to perform the task may vary. And output after the deadline is still useful or acceptable. This deadline differs from system to system.
Like you power ON an oven and it starts within 3 minutes. Still, it cooks well nothing goes wrong. It is the soft real-time system.
You power on a TV with a remote, and it not working in one or two attempts. Now it starts and everything is fine.
So if the output is acceptable, nothing makes wrong due to system delay. Then we consider it in the soft real-time system.
Hard Real-Time Systems
A system should perform in given time frame. And if performs after that the output is not acceptable or useful. Like in traffic light controller everything should be done in time. A single second is important.
Perform Specific Task
Embedded systems are better than general purpose computer even they are small processing elements inside like microprocessor and microcontroller. And the speed is typically in the range of MHz.
The key point is they perform a specific task only. They are not having any other task to do. So the total focus of the processor is to perform a single dedicated task.
Part of the Main Systems
Sometimes the embedded system may be a part of the main system. For example, we have a computer and there are different parts in it like sound card, modem, wifi module and Bluetooth module. The computer is not an embedded system because it performs a different task so it is a general purpose computer. But a sound card is always a sound card. A wifi module is always working as wifi module. The functionality of the subsystems has remained same.
Embedded systems need an interface by which a user can interact with the system. This user interface may be by using some input switches or sensor. The user interface is generally based on application and user need. Sometimes the interface consisting of touchscreen or LCD.
We may need to transfer the data between the embedded devices. So that time we use some communication protocol like UART, CAN, SPI and I2C. So we can easily communicate and send the data between the embedded devices.
Processors in Embedded Systems
We may characterize Embedded System based on the processor. The embedded systems is of two types using microprocessor or microcontroller.
- Processor-Based Embedded Systems
- Microcontroller Based Embedded Systems
The selection of processor or microcontroller is based on different factors like
- 8-bit, 16-bit or 32-bit Architecture
- Amount of RAM and ROM
- Number of I/O pins
- On-Chip Features
We know that embedded system is using the microcontroller or microprocessor as a processing unit. For a particular application, we need to go through the different design cycles to complete the embedded board for a particular application. And it needs some expert to carry all the technical task.
But now, there are different embedded boards are available from simple to advanced level. According to the application need and complexity, we may use these board and reduce the development time. These boards are like
- Arduino Board
- Raspberry Pie
- Banana Pi
- Intel Galileo
Application Specific Integrated Circuits(ASIC)
There is a different reason to user ASIC when we talk about the embedded systems. Why we use ASIC
- To reduce the cost
- Small in Size
- Fast Development
- Less Chance of Copying the Product
You may have seen toys, calculators, the digital wristwatch, game cassettes and there is a small Chip on Board(COB). This is the best example of ASIC.