Before we learn Embedded System, lets learn:
What is a System?
A system is an arrangement where all its component work according to the specific defined rules. It is a method of organizing, working, or performing one or more tasks according to a fixed plan.
What is an Embedded System?
Embedded System is a combination of computer software and hardware which is either fixed in capability or programmable. An embedded system can be either an independent system, or it can be a part of a large system. It is mostly designed for a specific function or functions within a larger system. For example, a fire alarm is a common example of an embedded system which can sense only smoke.
In this Embedded Systems tutorial, you will learn:
- Example of Embedded Systems
- History of Embedded system
- Characteristics of an Embedded System
- Important terminologies used in embedded system
- What is Microcontroller?
- What is a Microprocessor?
- Architecture of the Embedded System
- Types of Embedded System
- Difference between Microprocessor and Microcontroller
- Applications of Embedded Systems
- Advantages of Embedded System
- Disadvantages of Embedded System
- Top Embedded Systems Interview Questions and Answers
Laser Printers are one of the examples of Embedded Systems which uses embedded systems to manage various aspect of the printing. Apart from performing the main task of printing, it has to take user inputs, manage communication with the computer system, to handle faults, and sense papers left on the tray, etc.
Here, the main task of the microprocessor is to understand the text and control the printing head in such a way that it discharges ink where it is needed.
To perform this, it needs to decode the different files given to it and understand the font and graphics. It will consume substantial CPU time to process the data as well as it has to take user inputs, control motors, etc.
Here, are important milestones from the history of embedded system:
- In 1960, embdded system was first used for developing Apollo Guidance System by Charles Stark Draper at MIT.
- In 1965, Autonetics, developed the D-17B, the computer used in the Minuteman missile guidance system.
- In 1968, the first embedded system for a vehicle was released.
- Texas Instruments developed the first microcontroller in 1971.
- In 1987, the first embedded OS, VxWorks, was released by Wind River.
- Microsoft’s Windows embedded CE in 1996.
- By the late 1990s, the first embedded Linux system appeared.
- The embedded market reach $140 billion in 2013.
- Analysts are projecting an Embedded market larger than $40 billion by 2030.
Following are important characteristics of an embedded system:
- Requires real time performance
- It should have high availability and reliability.
- Developed around a real-time operating system
- Usually, have easy and a diskless operation, ROM boot
- Designed for one specific task
- It must be connected with peripherals to connect input and output devices.
- Offers high reliability and stability
- Needed minimal user interface
- Limited memory, low cost, fewer power consumptions
- It does not need any secondary memory in computer.
Now in this Embedded Systems tutorial, we will cover some important terms used in embedded system.
This measure of the survival probability of the system when the function is critical during the run time.
Fault-Tolerance is the capability of a computer system to survive in the presence of faults.
Embedded system must meet various timing and other constraints. They are imposed on it by the real-time natural behavior of the external world.
For example, an airforce department which keeps track of incoming missile attacks must precisely calculate and plan their counter-attack due to hard real-time deadline. Otherwise, it’ll get destroyed.
It’s building systems with built-in debugging opportunities which allows remote maintenance.
For example, you are building a spacecraft which will land on another planter to collect various types of data and send collected detail back to us. If this spacecraft went insane and lost the control, we should be able to make some important diagnostic. So, flexibility is vital while designing an embedded system.
Portability is a measure of the ease of using the same embedded software in various environments. It requires generalized abstractions between the application program logic itself and the low-level system interfaces.
A microcontroller is a single-chip VLSI unit which is also called microcomputer. It contains all the memory and I/O interfaces needed, whereas a general-purpose microprocessor needs additional chips to offered by these necessary functions. Microcontrollers are widely used in embedded systems for real-time control applications.
A microprocessor is a single chip semiconductor device. Its CPU contains a program counter, an ALU a stack pointer, working register, a clock timing circuit. It also includes ROM and RAM, memory decoder, and many serial and parallel ports.
Below is basic architecture of the Embedded System:
Sensor helps you to measures the physical quantity and converts it to an electrical signal. It also stores the measured quantity to the memory. This signal can be ready by an observer or by any electronic instrument such as A2D converter.
2) A-D Converter:
A-D converter (analog-to-digital converter) allows you to convert an analog signal sent by the sensor into a digital signal.
Memory is used to store information. Embedded System majorly contains two memory cells 1) Volatile 2) Non volatile memory.
4) Processor & ASICs:
This component processes the data to measure the output and store it to the memory.
5) D-A Converter:
D-A converter (A digital-to-analog converter) helps you to convert the digital data fed by the processor to analog data.
An actuator allows you to compare the output given by the D-A converter to the actual output stored in it and stores the approved output in the memory.
Three types of Embedded Systems are:
- Small Scale
- Medium Scale
Small Scale Embedded Systems:
This embedded system can be designed with a single 8 or 16-bit microcontroller. It can be operated with the help of a battery. For developing small scale embedded system, an editor, assembler, (IDE), and cross assembler are the most vital programming tools.
Medium Scale Embedded Systems:
These types of embedded systems are designed using 16 or 32-bit microcontrollers. These systems offer both hardware and software complexities. C, C++, Java, and source code engineering tool, etc. are used to develop this kind of embedded system.
Sophisticated Embedded Systems
This type of embedded systems have lots of hardware and software complexities. You may require IPS, ASIPS, PLAs, configuration processor, or scalable processors. For the development of this system, you need hardware and software co-design & components which needs to combine in the final system.
Learn the difference between Microprocessor and Microcontroller
|It uses functional blocks like register, ALU, timing, and control units.||It uses functional blocks of microprocessors like RAM, timer, parallels I/O, ADC, and DAC.|
|In Microprocessor, bit handling instruction is less, One or two types only.||Microcontroller offers many kinds of bit handling instruction.|
|Offers rapid movements of code and data between external memory and microprocessor.||Offers rapid movements of code and data in the microcontroller.|
|Helps you to design general purpose digital computers system.||Helps you to design application-specific dedicated systems.|
|It allows you to do multitasking at a time.||It is a single task oriented system.|
|In Microprocessor system, you can decide the number of memory or I/O ports needed.||In Microcontroller system, the fixed number for memory or I/O makes a microcontroller ideal to complete the specific task.|
|Offers support for external memory and I/O ports, which makes it heavier and costlier system.||This type of system is lightweight and cheaper compares to the microprocessor.|
|External devices need more space, and their power consumption is quite higher.||This type of system consumes less amount of space, and power consumption is also very low.|
Following are the important applications of Embedded system:
- Ground Vehicles
- Underwater Vehicles
- Industrial Robots
- Dialysis Machine
- Infusion Pumps
- Cardiac Monitor
- Prosthetic Device
- Engine Control
- Ignition System
- Brake System
- Electronics Instruments
- Digital Alarm
- Air Conditioner
- DVD Video Player
- Fuel Injection
- Lighting System
- Door Locks
- Air Bags
- Parking Assistant System
- Anti-stealing Alarms Whippers Motion
- Control System
- Nuclear Reactors
- Space Stations
Here, are Pros/benefits of using Embedded System:
- It is able to cover a wide variety of environments
- Less likely to encore errors
- Embedded System simplified hardware which, which reduces costs overall.
- Offers an enhanced performance
- The embedded system is useful for mass production.
- The embedded system is highly reliable.
- It has very few interconnections.
- The embedded system is small in size.
- It has a fast operation.
- Offers improved product quality.
- It optimizes the use of system resources.
- It has a low power operation.
Here, are important cons/ drawbacks of using Embedded system.
- To develop an embedded system needs high development effort.
- It needs a long time to market.
- Embedded systems do a very specific task, so it can’t be programmed to do different things.
- Embedded systems offer very limited resources for memory.
- It doesn’t offer any technological improvement.
- It is difficult to backup of embedded files.
- A system is an arrangement where all its component assembles work according to the specific define rules.
- Embedded System definition : Embedded systems meaning a combination of computer software and hardware which is either fixed in capability or programmable.
- Example of embedded systems is laser printer which manage various aspect of the printing.
- In 1960, embdded system was first used for developing Apollo Guidance System by Charles Stark Draper at MIT.
- Embedded system requires real time performance
- Reliability measure of the survival probability of the system when the function is critical during the run time.
- Fault-Tolerance is the capability of a computer system to survive in the presence of faults.
- Embedded system must meet various timing and other constraints.
- Flexibility is building systems with built-in debugging opportunities which allows remote maintenance.
- Portability is a measure of the ease of using the same embedded software in various environments.
- A microcontroller is a single-chip VLSI unit which is also called microcomputer.
- A microprocessor is a single chip semiconductor device. Its CPU contains a program counter, an ALU a stack pointer, working register, a clock timing circuit.
- Architecture of the Embedded System includes: Sensor, A-D Converter, Memory, Processor & ASICs, D-A Converter, and Actuator.
- Three types of Embedded Systems are: 1) Small Scale, 2) Medium Scale, and 3) Sophisticated.
- Major difference between In Microprocessor and Microcontroller is that In Microprocessor, bit handling instruction is less while Microcontroller offers many kinds of bit handling instruction.
- Application of Embedded System includes: 1) Robotic science, 2) Medical, 3) Automotive, 3) Networking, 4)Home Devices, 5) Automobiles, and 6) Industrial Control.
- Major advantages of Embedded System is that It is able to cover a wide variety of environments.
- The major drawback of Embedded System is that it needs a long time to market.