Ask now - it's free
in Lesson 1 Introduction to Real Time Embedded Systems Part I by
Distributed under Creative Commons Attribution-ShareAlike - CC BY-SA.

Know someone who can answer this question ? Share this on Facebook, Twitter, Whatsapp

← Prev Question Next Question →

1 Answer

0 like 0 dislike
edited by

Common Architecture of Real Time Embedded Systems 

Unlike general purpose computers a generic architecture can not be defined for a Real Time Embedded Systems. There are as many architecture as the number of manufacturers. Generalizing them would severely dilute the soul purpose of embodiment and specialization. However for the sake of our understanding we can discuss some common form of systems at the block diagram level. Any system can hierarchically divided into subsystems. Each subsystem may be further segregated into smaller systems. And each of these smaller systems may consist of some discrete parts. This is called Hardware configuration. Some of these parts may be programmable and therefore must have some place to keep these programs. In RTES the on-chip or on-board non-volatile memory does keep these programs. These programs are the part of the Real Time Operating System (RTOS) and continually run as long as the gadget is receiving power. A part of the RTOS also executes itself in the stand-by mode while taking a very little power from the battery. This is also called the sleep mode of the system. Both the hardware and software coexist in a coherent manner. Tasks which can be both carried out by software and hardware affect the design process of the system. For example a multiplication action may be done by hardware or it can be done by software by repeated additions. Hardware based multiplication improves the speed at the cost of increased complexity of the arithmetic logic unit (ALU) of the embedded processor. On the other hand software based multiplication is slower but the ALU is simpler to design. These are some of the conflicting requirements which need to be resolved on the requirements as imposed by the overall system. This is known as Hardware-Software Codesign or simply Codesign. Let us treat both the hardware and the imbibed software in the same spirit and treat them as systems or subsystems. Later on we shall know where to put them together and how. Thus we can now draw a hierarchical block diagram representation of the whole system as follows:


The red and grey spheres in Fig.1.2 represent interface standards. When a system is assembled it starts with some chassis or a single subsystem. Subsequently subsystems are added onto it to make it a complete system. Let us take the example of a Desktop Computer. Though not an Embedded System it can give us a nice example of assembling a system from its subsystems. You can start assembling a desktop computer (Fig.1.3) starting with the chassis and then take the SMPS (switched mode power supply), motherboard, followed by hard disk drive, CDROM drive, Graphic Cards, Ethernet Cards etc. Each of these subsystems consists of several components e.g. Application Specific Integrated Circuits (ASICs), microprocessors, Analog as well as Digital VLSI circuits, Miniature Motor and its control electronics, Multilevel Power supply units crystal clock generators, Surface mounted capacitors and resistors etc. In the end you close the chassis and connect Keyboard, Mouse, Speakers, Visual Display Units, Ethernet Cable, Microphone, Camera etc fitting them into certain well-defined sockets. As we can see that each of the subsystems inside or outside the Desktop has cables fitting well into the slots meant for them. These cables and slots are uniform for almost any Desktop you choose to assemble. The connection of one subsystem into the other and vice-versa is known as Interfacing. It is so easy to assemble because they are all standardized. Therefore, standardization of the interfaces is most essential for the universal applicability of the system and its compatibility with other systems. There can be open standards which makes it exchange information with products from other companies. It may have certain key standards, which is only meant for the specific company which manufactures them.


A Desktop Computer will have more open standards than an Embedded System. This is because of the level of integration in the later. Many of the components of the embedded systems are integrated on to a single chip. This concept is known as System on Chip (SOC) design. Thus there are only few subsystems left to be connected. 

Analyzing the assembling process of a Desktop let us comparatively assess the possible subsystems of the typical RTES. 

One such segregation is shown in Fig.1.4. The explanation of various parts as follows: 

User Interface: for interacting with users. May consists of keyboard, touch pad etc 

ASIC: Application Specific Integrated Circuit: for specific functions like motor control, data modulation etc. 

Microcontroller(µC): A family of microprocessors 

Real Time Operating System (RTOS): contains all the software for the system control and user interface 

Controller Process: The overall control algorithm for the external process. It also provides timing and control for the various units inside the embedded system. 

Digital Signal Processor (DSP) a typical family of microprocessors 

DSP assembly code: code for DSP stored in program memory 

Dual Ported Memory: Data Memory accessible by two processors at the same time 

CODEC: Compressor/Decompressor of the data 

User Interface Process: The part of the RTOS that runs the software for User Interface activities 

Controller Process: The part of the RTOS that runs the software for Timing and Control amongst the various units of the embedded system


The above architecture represents a hypothetical Embedded System (we will see more realistic ones in subsequent examples). More than one microprocessor (2 DSPs and 1 µC) are employed here to carry out different tasks. As we will learn later, the µC is generally meant for simpler and slower jobs such as carrying out a Proportional Integral (PI) control action or interpreting the user commands etc. The DSP is a more heavy duty processor capable of doing real time signal processing and control. Both the DSPs along with their operating systems and codes are independent of each other. They share the same memory without interfering with each other. This kind of memory is known as dual ported memory or two-way post-box memory. The Real Time Operating System (RTOS) controls the timing requirement of all the devices. It executes the over all control algorithm of the process while diverting more complex tasks to the DSPs. It also specifically controls the µC for the necessary user interactivity. The ASICs are specialized units capable of specialized functions such as motor control, voice encoding, modulation/demodulation (MODEM) action etc. They can be digital, analog or mixed signal VLSI circuits. CODECs are generally used for interfacing low power serial Analog-to-Digital Converters (ADCs). The analog signals from the controlled process can be monitored through an ADC interfaced through this CODEC.

Version 2 EE IIT, Kharagpur

Related questions

1 answer 44 views
1 answer 92 views
0 answers 238 views
asked Dec 31, 2018 in Electrical Engineering by Vigneshwaran Marichamy
1 answer 58 views
2 answers 145 views
0 answers 46 views
1 answer 86 views
1 answer 40 views
0 answers 25 views
0 answers 14 views

Want to ask a new question ? :-> Ask Question

Want to help the community by giving answer? :-> Unanswered Questions

Here anyone can ask and answer any question. Get help and can help to any engineering problem including Electrical, Electronics, Mechanical, Telecommunication, Instrumentation, Computer, Mathematics, Physics etc. Get answers to questions. Help is always 100% free!