MICROPROCESSOR BASED SYSTEM DESIGN
Recently wide variety of electronic goods is used. We are using these devices easily and flawlessly as these devices help us doing to our daily work. For ex:-
1. TV remote control.
2. Mobile phones.
3. FAX machines.
4. Xerox machines.etc.
But we didn't know much about these products i.e. there technologies. Each of these devices doesn't perform single function. These devices are manufactured on embedded system and it provides services in real time i.e. we don't need to wait for long to perform a function, it just performs in seconds.
Let's see how the embedded system is manufactured in mobiles.
When a person wants to buy a mobile phone,
1. What he is looking for?
2. What are the choices available in the market?
Being a mobile user a person should know about the
1. Network type: GSM or CDMA(bandwidth),
2. Battery: talk time per charge and standby time.
From above table it is clear that a embedded system used in mobile phones are very complex that they can perform more than one function on a single device.
Now move onto other examples like digital camera or an FM radio along with the telephone has a number of operating modes such as:
1. You can adjust the zoom of the digital camera.
2. You can adjust the brightness of the screen.
3. You can change the ring tone.
4. You can relay your favorite song on your favorite Fm station from your mobile.
5. You can use it as a calculator, address book, emailing device etc.
These varieties of functions can only be performed by a very flexible device. The device which performs these functions is none another then a Customized Microprocessor or we can say an Embedded Processor and the device performing a large number of functions at same time is known as an Embedded System.
It completes the requirement of all the users simultaneously, for example: You and your friend, you and the radio station, you and the telephone network etc. It has time constraint i.e. these devices have to complete every one requirement without any delay or with minimum delay. If the device works as given above then it is known as REAL TIME.
We can also say that it doesn't make us wait for long time for input and then transferring that data and then receiving that data for example: email server, as sometimes it take days to deliver a message when the network is busy.
Thus we can say that mobile work under the principle of "REAL TIME EMBEDDED SYSTEM" (RTES).
II. CHARACTERISTICS OF AN RTES
1. SINGLE FUNCTIONED
2. TIGHTLY CONSTRAINED
3. REACTIVE AND REAL TIME
In this single function means that they perform a specific function as RTES is mainly used for very specific functions. And this type of microprocessor executes same program again and again for same or single function. If you want to change the function then you have to cancel the function you are working on and then start the new function you want to use for example: as you are using mobile phone and you want to transfer from conversation to camera then first you have to cancel the conversation and then you can use camera. These all operations are monitor and handle by an operating system known as REAL TIME OPERATING SYSTEM (RTOS). It has much simpler complexity but more rigid constraints as compared to the Microsoft Windows and UNIX etc.
2. Tightly Constrained:
The constraints occur while designing and selling of RTES are more complex then the non-real time and non-embedded devices. The major constraints while designing RTES are as follows:
4. Power consumption.
3. Reactive and Real Time:
Most of the embedded systems should change environment of system and should calculate all result in real time without any delay. For example a car's cruise reacts due to change in speed and while brakes are applied. It should calculate acceleration and deceleration without any delay, because if there will be delay in the process the system can't maintain its controls. There is another example of desktop computer system which on calculates, results frequently to the input devices and if there will be delay in that process then it doesn't results in system failure.
III. COMMON ARCHITECTURE OF REAL TIME EMBEDDED SYSTEMS
As there are many architectures due number of manufactures, and if we extract them they show the embodiment and specialization of system.
Any system can divided into subsystems and then subsystems are further divided into smaller systems and each of these smaller systems contains discrete parts and the whole body is known as hardware configuration.
Many of these parts are programmable and that's why they have place to keep that programs. In RTES the on board or on chip non volatile memory keep these programs. These programs are the part of REAL TIME OPERATING SYSTEM (RTOS) and it only works as long as system is getting power supply. It can also works in the standby mode by getting a little power from the battery. This can also be known as sleep mode.
The process which uses both software and hardware part of the system affects the design process of the system. For example a multiplication process can be done by both hardware and as well as software using repeat additions. Hardware based calculation improves the speed as in increase in the difficulty of ARITHMETIC LOGIC UNIT (ALU) of the system. And the software based calculations are slower as compare to the hardware based calculations but in this case ALU is very simple to design. This whole process of selecting hardware and software is known as HARDWARE-SOFTWARE CODESIGN or simply CODESIGN.
Now we take both hardware and software together and use them as systems and subsystems. Now we can draw a block diagram showing whole system as follows:
In the above diagram red and grey circles shows interface standards. When a systems starts working it just start with only one subsystem but after some time subsystems are added to make it complete system.
For example: a desktop computer, as it is not an embedded system but still it gives us a good example of assembling a system from subsystems.
As we start assembling a desktop computer, it first starts with chassis and then move to SMPS (switched mode power supply), motherboard, and then hard disk, CDROM drive, graphics card, and Ethernet card etc. All of these systems are manufactured using Application Specific Integrated Circuits (ASICs), microprocessor, Analog circuits, Digital circuits, miniature motor, multilevel power supply, capacitors and resistors etc. And after all these chassis is closed and keyboard, mouse, speaker, visual display units, Ethernet cable, microphone, camera etc are attached.
As shown in diagram all the subsystems have fitted well into their defined slots. These slots are same for any desktop we use or assemble. The connection between any of the subsystems is known as INTERFACING. Therefore, standardization of the interfaces is necessary to male it compatible with other systems. There should universal standards so that it can swap data with other systems. It has many key standards which only work in the specific company product which manufacture it.
A desktop computer has more universal standards as compare to embedded systems. This is because of the level of designing of desktop computer. Many components of embedded system are integrated on one chip and this process on integration is known as SOC (system on chip) design. Therefore only few subsystems left which are not connected.
The various subsystems of RTES are as follows:
1. USER INTERFACE: it is used to interface with user. For example: keyboard, mouse, touch pad etc.
2. MICROCONTROLLER: it's a family of microprocessors.
3. REAL TIME OPERATING SYSTEM (RTOS): it consists of all the software use for system control and interface.
4. CONTROLLER PROCESS: it contains overall control algorithm for all the processes. It also provides timing and control for the units inside the embedded system.
5. DIGITAL SIGNAL PROCESSOR (DSP): it's a typical family of microprocessor.
6. DSP ASSEMBLY CODE: this code is used to store DSP in program memory.
7. DUAL PORTED MEMORY: this memory can be access by two systems simultaneously.
8. CODEC: in this we can compress or decompress the data.
9. USER INTERFACE PROCESS: this is the part of RTOS which runs the software for user interface processes.
10. CONTROLLER PROCESS: this is the part of RTOS which executes the software for timing and control among the various parts of embedded system.
The architecture shown above represents the Embedded System which contains more than microprocessor and employed there to perform many functions. The DSP is the one of the most heavy duty processor which can process real time signal and controls. There is no link between both the DSP's; they just use the single memory. This type of memory is known as dual ported memory. The RTOS controls the timing of all the subsystems. It processes the overall control algorithm and also diverts the difficult problems to DSP's. The ASIC's are used for motor control, voice encoding, modulation/demodulation using MODEM etc. CODECs are used for interface serial Analog to Digital converters (ADCs).
V. COMPONENTS OF EMBEDDED SYSTEMS
Now we understand what embedded system is and what makes it different from others systems like desktop computers, calculators, TV sets etc. We can now easily define the components of RTES.
This is the one of the main part of RTES. The microprocessors used in RTES are not same as the microprocessors used in general processes. These microprocessors are manufactured for specific work. For example Intel 8048, it is used in keyboard of desktop computer. It is manufactured specially for keyboards; it scans the keystrokes and sends it to computer. Same in the case of digital cameras, mobile phones use the specific processor for image and voice processing. But in the case of washer and dryer some other type of processors are used for Real Time Control and Instrumentation.
Microprocessor and memory are manufactured on the same Power Circuit Board (PCB) or chip. If we use memory in RTES it only requires compactness, speed and less power. Therefore, in this very low power semiconductor memories are used. Read Only Memory (ROM) is used for housing the operating system. The program installed on your desktop computer just work there for given time duration. When you install program in your computer it changes the setup of the desktop computer. For example if you want to change ringtone of your mobile phones and want it for some time. In these cases memory retains the data or information even after the mobile phones or desktop computer is switched off. This means the memory used in it are non-volatile and this can only be done by Flash Memories.
3. Input output devices and interface
Input/output interfaces are required to manufacture RTES. For examples: Visual Display Units such as TFT screens touch pad key board, antenna, speakers, microphones etc. The RTES are easily interfaced with other systems such as desktop computers, Local Area Network (LAN) etc. For example: if a person wants to transfer the address book into personal digital assistant (PDA). Or a person can download songs from internet and transfer then to his mp3 player.
The RTES is just the simple body as long as it is not installed. It is like the human body without soul. When you switch on the mobile phones you have to setup some functions. Whenever a person travel out of station he notices the change in the screen or if you travel some remote place you notice that there no signal sign on your screen. These all functions are performed by the Real Time Operating System sitting on the non-volatile memory of RTES. Beside the explained components there are many other components such as modulation, demodulation, motor control, CODEC.
VI. In RTES there are many constrains occurs while designing as follows:
Design metrics are used to calculate the cost function taking into account the technical and the economical considerations. It is calculating unit which calculates the system performance, cost, time, safety etc. For example: if a person use cheaper processor the performance tends to degrade.
While designing the processor the following metrics are kept into mind:
1. NRE cost: This is one time cost used to design the embedded system. Once the system is designed and onetime cost is given then any number of units can be designed without any extra cost.
2. Unit cost: The financial implication of designing the each embedded system without including the NRE cost.
3. Size: The space acquired by the embedded system, calculated in bytes for software and transistors or gates for hardware.
4. Performance: The time taken by the embedded system while executing.
5. Power consumption: The power consumed by the system, it also tells the life of the battery use in system, as if more power is consuming more heat will produce in the system.
6. Flexibility: The power to change the functions of the system without changing the NRE cost. Software's used in system are flexible.
7. Time to prototype: Time required while manufacturing the working version of the system.
8. Time to market: Time required to design the system so that it can launch in the market and sold to the customers.
9. Maintainability: It is the power to modify the system after it launched to the market.
10. Correctness: This is the confidence of the designer that he had installed system's functionality correctly. We can also check the functionality while designing the system, we can also use test circuit to check that designing was correct or not at any time of designing.
11. The performance design metric: This is calculated by checking the time taken by the system to execute the given task.
12. Throughput: This is calculated as the number of tasks performed by the system simultaneously. For example: a camera can process 4 images at same instant of time.
1. The range of embedded systems has been extended more and more diverse disciplines of technology these days. Obsolescence of technology increasing at a much faster rate as compared to the other fields. The development of Ultra-Low Power VLSI mixed signal technology is the prime factor of the performance of the systems. More and more systems are tending to be compact and portable by using RTES technology. The future of embedded systems depends on the advancements of sensor technology and battery technology.
2. The time consumes between the conception of the design problem and marketing has been the key factor for the industry.
3. In most of the cases the applications for the system need to be developed using the available processors rather than going for a fresh design.