Hello friends, I hope you are happy, healthy and content. We have been discussing embedded systems lately and this discussion would be incomplete without an in-depth discussion on Real time embedded systems. You might have observed their utility and their absolute need in our constantly changing external and internal environment, the ease of managing the room temperature with a single tap, generating several results with a single click and streaming videos and playing games anytime and anywhere are the blessings of real time embedded systems.
Definition of Real Time Embedded SystemsReal time embedded systems can be defined as;
- "The embedded systems which respond to real time situation with the help of its embedded software and hardware, within the specified time constraints are called real time embedded systems."
Characteristics of a Real-Time Embedded SystemReal time embedded systems must have the following characteristics;
1. Constant Response:
- A real-time embedded system always responds in the same manner to a certain situation, it is not allowed to deviate from its normal designated output. An air-conditioner is not allowed to throw hot air in summers.
- A deadline is crucial to the working of an embedded system, a missed deadline can cost lives and finances.
- In case of any malfunctioning, the system failure can cause havoc, what would happen if the pacemaker can't maintain the heartbeat, patient would eventually die!
4. Quick Response:
- It is the most important characteristic of all, the real-time embedded system must be swift enough to respond to the changing external environment with immediate effect.
Components of Real Time Embedded SystemsWe have already discussed the embedded system components in detail within our previous article, for a quick overview , let's revise the basic things;
- The hardware parts include a microcontroller or a microprocessor, Input and Output ports, sensors , actuators , relays, power supply or batteries and several other peripheral parts according to the design and function of the embedded system.
- Real time embedded systems have embedded software which directs the system for performing designated tasks.
- For a real time embedded system, embedded operating systems software must have the critical feature of task scheduling, because we need a system which sticks to the deadline and performs the task within that limited time range. Let's have a look, how task scheduling is done;
Task SchedulingTo understand task scheduling you must understand pre-emptive and non-preemptive scheduling.
Preemptive schedulingIT refers to the scheduling of tasks based on priority, it is a flexible process and interruption between the tasks doesn't upset the whole system. It's same as you are washing dishes and someone ask for a clean dish at immediate basis, you leave the thing in your hands and start washing that dish which is needed immediately!
Non- preemptive schedulingit is a rigid process, the other task at hand has to wait until the first one has been completed.Now, you are well aware of the types of approaches used in task scheduling, its time for a detailed outlook on the basic types of Task Scheduling done in the real time embedded systems.
First Come First Served Task Scheduling
- As the name clearly indicates, the task that is assigned first is completed first.
- This is a non-preemptive scheduling approach.
- The system is highly efficient and tries to complete the task real quick and responds quickly.
Round Robin Task Scheduling
- In this task scheduling technique the preemptive approach is applied, but there is a difference, it doesn't priorities a task, instead it allocates the time for each task.
- Its same as, you have an exam tomorrow morning and you allocate 2 hours to each chapter for revision!
Shortest Job First Task Scheduling
- All of us have done this at some point of our lives, if you aren't a very diligent student, you choose the shortest paragraph to read first. Isn't it?
- Same is done by the preemptive scheduling system in this case, the task which can be performed quickly , is chosen and performed first.
- If a new task is assigned which can be performed earlier than the one being performed at hand, the system starts performing the shorter one which has just arrived, unfair! Isn't it?
- Let's suppose its your best friends birthday and you are in charge of all the celebrations or we can say a surprise birthday party, what would you arrange first? snacks?, decorations? or a birthday cake? The answer is clear , it would be a birthday cake winning the priority list.
- Same is the case with priority scheduling, the system prioritizes all the tasks at hand, but the one with utmost urgency and priority is performed first.
- This system can be designed using both the preemptive and non-preemptive approaches.
Real time operating system
- Real time embedded systems are everywhere around us and have real time operating system as their basic component, they are almost similar to embedded operating systems , only having a few particular features different from the typical embedded operating systems due to the task specifications.
- RTOS are implied in the embedded systems which are time sensitive.
- Time constraints are the key, a task completed after due time or deadline would be rendered useless or would have a negative impact on the users. You can't enter your lecture hall after the starting time of your lecture without feeling guilty of being late!
- Time maintenance component is crucial to the real time operating system, tasks are specified and given preference according to the time constraints of each task.
Types of Real Time Embedded SystemsAs we are done with the definition and components of a real time embedded system, being made up of real time operating system, embedded software and hardware.It would be easier to learn their types. Real Time embedded systems have the following three types, we would discuss each of them in detail.
1. Soft Real Time Embedded SystemsFollowing are the characteristics of soft real time embedded systems;
- In soft real time embedded systems, timeliness of a task poses a positive impact on the system, but it is not crucial for the performance of the system.
- Missing a deadline would not degrade the performance of the whole embedded system.
Example of Soft Real Time Embedded SystemA data acquisition system can tolerate delays and hence its a soft real time embedded system.Other examples include, websites, computer games, cellular networks, online database and multimedia transmission and reception.
2. Hard Real Time Embedded SystemsFollowing are the characteristics of hard real time embedded systems;
- For a hard real time embedded system, time is crucial.
- The output must be completely on time, the prescribed deadline can not be missed in any case. You can't submit your exam paper after the time is over, or can you?
- In case a deadline is missed, it would be regarded as a system failure.
Example of Hard Real Time Embedded SystemThe missile launch system is one of the most suitable examples in such systems, if the missile is not launched in time, it would miss the target claiming a huge environmental, economic and human loss.Other examples include medical equipment and handheld devices, avionics, industrial control systems, and transportation control.
3. Firm Real Time Embedded SystemsFollowing are the characteristics of firm real time embedded systems;
- Timelines of a task are crucial but the missed deadline can be compensated as it occurs rarely.
- Missed deadline doesn't degrade the system performance.
- In case of the missed deadline, The system continues to perform and discard the delayed response.
Example of Firm Real Time Embedded SystemsA fully automated assembly line doesn't crash when a task isn't performed in time, it rather ignores that missed part and continues to complete the rest.
Examples of Real Time Embedded System
- Real time embedded systems examples are being listed below, we will only discuss the few basic ones in detail out of an endless list.
Cardiac Pacemaker - A Real Time Embedded System
- First one on the list is a pacemaker, let's have a brief idea about the function of pacemakers first, a pacemaker maintains the heart beat, so is crucial to human life. A pacemaker is a real time embedded system.
- The sensors present in the pacemaker detect the intensity of the beat and send an electrical signal, if its too low to maintain normal function of the heart, in response to this signal an electrical impulse is generated to maintain the already diminishing heartbeat, your heart can't skip a beat, otherwise you'd die of heart attack! It only happens in movies.
Airbags- A real Time Embedded System
- Who is not aware of the importance of air bags in this era of modern vehicles! Airbags are indeed one of the most celebrated safety inventions of modern age.
- Air bags are necessary for human survival in case of a road accident which is obviously a life threatening condition.
- The airbags are inflated on the detection of collision or crash by the sensors, upon detection certain chemical react instantly to inflate the bags, providing cushion to the passengers to land on, saving passengers from serious injuries.
- Hence, airbag system of a car is a real time embedded system which works within strict time constraints, otherwise it would be useless for an airbag to inflate after the passenger has already got a whiplash injury during collision, ending up in a hospital bed or a deathbed.
Manufacturing Assembly Line
- The above mentioned examples were the life threatening ones, the one we are about to discuss is light and crispy!
- Now consider a manufacturing assembly line for production of Lays, the one you have seen in your childhood on national geographic, or maybe you were lucky enough to see it in real!
- What would happen if the automated system fails to fill in the chips in designed time? It doesn't happen that much, but just imagine for an instance!
- That one delayed step would disturb all the preceding steps in line, such as sealing and flavouring the packets.
- This is not life threatening situation , but a delay that would cost millions or much more. Packaging is just the terminal step, you can yourself imagine the importance of timelines in the whole manufacturing process.
- Or in another instance the missed step would be ignored if it is not on a large scale and the process would continue, the same thing that happens in firm real time embedded systems. It all about programming the system according to your personal preference and available resources.
- Thus a manufacturing assembly line is a real time embedded system, which needs to be in time.
Crusie Control of a Car
- Cruise control which once seemed a crazy concept a while ago is now a new normal for longer trips.
- It's a real-time embedded system that controls the speed of a car.
- The real-time embedded software algorithm has basic features of keeping the car at a preset speed as indicated by the driver, maintaining a safe measurable distance from a preceding vehicle, and lastly it is designed to switch between the two discussed modes according to the real-time situation on road.
- A minor miscalculation of the speed and distance would cause havoc on the road, thus real time embedded systems need to be accurate and on time during their performance.
Safety critical systems
- We have discussed safety critical systems in one of our previous articles as well, but a discussion on real time embedded system without an example of a safety critical system is incomplete.
- First things first, Safety Critical Systems are real time embedded systems.
- You might have got a slight idea about the safety critical systems from their name, The systems which can't afford delay are called safety critical systems, their output delay can claim a human life, can pose serious financial and environmental crisis.
- One the most common example is a missile launching system.
- Missile launching system is a real time embedded system, imagine the destruction with one single delay or miscalculated response. Another example include shuttle launch in space which is also a safety critical system.
Applications of Real Time Embedded SystemsReal time embedded system applications are countless, a few popular ones are being discussed below;
- Real time embedded systems are deeply rooted into the healthcare sector either in the form of handheld devices such as insulin pump, BP apparatus, pulse oximeter or large devices such ECG machines, and industrial scanners, real time embedded systems are everywhere.
- These embedded systems have made diagnosis , treatment and prognosis much easier than before. Diagnosis and treatment would be a difficult thing to do without the real time embedded systems, how would you identify a tumor without a scan? How insulin levels would be checked? Nobody can deny the importance of real time embedded systems in the medical field.
Manufacturing and Assembly Lines
- Real time embedded systems have revolutionized the automation of production lines, you might see the fully automated processes of biscuits, chips and soda in documentaries or maybe in real. Have you ever thought how it is done? The mechanism and machinery behind the fully automated processes? These are large robots with real time embedded systems, performing their designated tasks in a real time environment.
- Control of internal environment according to the manufacturing process, for humidity , air pressure and temperature is also done by real time embedded systems. Would you ever like soggy lays? Or a soda without gas? A cookie without crunch? No! Nobody does! All these factors are controlled by real time embedded systems through predictive maintenance.
- Either it is a preventive or defensive approach, real time embedded systems are an essential part of a bigger picture in military armaments.
- You might have heard of guided missiles, detection systems and much more intelligent weapons, all these systems are real time embedded systems.
- In military SWaP size, weight and power is a decisive factor of winning and losing for the soldiers in the battlefield, real time embedded systems, reduce size and weight of the power gear and provides quicker and better turnover during a strike.
- Microcontroller technology has led to the reduction of production costs along with the manufacturing of lightweight power gear.
- You might have seen the central cooling and heating systems, smart lighting system, security system, fire alarm, security surveillance system and many other systems that are controlled by the sensors by collecting data from external environment, these are real time embedded systems which have added to the ease of human beings.
- All the above mentioned systems are controlled through internet but they can be regulated manually as well.
- We have already discussed in detail the concept of a Smart home, in which several electronic devices are connected to a central hub through internet. Real time embedded systems have helped a lot in turning this unpopular concept into reality. To say the least, it is indeed an expensive concept.
- Automotive industry has reaped the benefits of the real time embedded systems to full extent.
- Can you imagine a car without a GPS system these days? No , its an absolute necessity now!
- Crusie control, smart parking, car tracking, traction control system, and a lot more which are a part of another bigger picture have real time embedded systems in them.
- Hybrid vehicles which consume less fuel and save environment are a gift of real time embedded systems as well.
- Multimedia systems which provide the audio and video interface to their users, have real time embedded systems as their integral part.
- The gaming world would be incomplete if real time embedded systems are not implied, many of the modern games are also networked and played live among the users from all over the world at the same time.