Embedded Systems and Inform
Embedded Systems and Inform
Embedded Systems and Inform
Embedded Hardware
All embedded system has a microprocessor or microcontroller for processing of information and execution of programs, memory in the form of ROM/RAM for storing embedded software programs and data, and I/O interfaces for external interface. Any additional requirement in an embedded system is dependent on the equipment it is controlling. Very often these systems have a standard serial port, a network interface, I/O interface, or hardware to interact with sensors and activators on the equipment.
Embedded Software
C has become the language of choice for embedded programmers, because it has the benefit of processor independence, which allows the programmer to concentrate on algorithms and applications, rather than on the details of processor architecture. However, many of its advantages apply equally to other high-level languages as well. Perhaps the greatest strength of C is that it gives embedded programmers an extraordinary degree of direct hardware control without sacrificing the benefits of high-level languages. Compilers and cross compilers are also available for almost every processor with C. Any source code written in C or C++ or Assembly language must be converted into an executable image that can be loaded onto a ROM chip. The process of converting the source code representation of your embedded software into an executable image involves three distinct steps, and the system or computer on which these processes are executed is called a host computer. First, each of the source files that make an embedded application must be compiled or assembled into distinct object files. Second, all of the object files that result from the first step must be linked into a final object file called the relocatable program.
Finally, the physical memory address must be assigned to the relocatable program. The result of the third step is a file that contains an executable image that is ported on the ROM chip. This ROM chip, along with the processor and other devices and interfaces, makes an embedded system run. There are some very basic differences between conventional programming and embedded programming. First, each target platform is unique. Second, there is a difference in the development and debugging of applications.
testing tools during the development of embedded software mainly because of there low cost. Remote debuggers are helpful in monitoring and controlling the state of embedded software, but only in in-circuit emulators (ICEs) allow you to examine the state of the processor on which that program is running. In fact an ICE actually takes the place of the processor on your target board, or in other words, emulates the work of the processor and provides the human interface with what exactly is happening on the board in real-time. This also allows the ICE to support powerful debugging features such as hardware breakpoints and real-time tracing. Many other debugging tools such as simulators, logic analysers and oscilloscopes are also available in embedded systems. A simulator is a completely host-based program that simulates the functionality and instruction set of the target processor. Although simulators have many disadvantages, they are quite valuable in the early stages of the project when there isnt as yet any actual hardware for the programmers to experiment with. The biggest disadvantage of a simulator is that it simulates only the processor. And embedded systems frequently contain one or more other peripherals. Interaction with these devices can only sometimes be imitated. You may not do much with the simulator once you have the actual embedded hardware available to you. Once the target hardware is available, you can use logic analysers and oscilloscopes as debugging tools. These are very useful for debugging the interactions between the processor and other chips on the board. These tools only view signals that lie outside the processor, and cannot control the flow of execution of your software like debuggers or emulators can. A logic analyser is equipment that is designed to find whether the electrical signal it is attached to is currently to logic level 1 or 0. An oscilloscope so another piece of equipment for hardware debugging, and is used to examine any electrical signal, analogue signal, or digital signal on the hardware.
Application Areas
Government Engineering College, Thiruvananthapuram
5
Embedded software is present in almost every electronic device you use today. There is embedded software inside your watch, cellular phone, automobile, thermostats, industrial control equipment, and scientific and medical equipment. Defence services use it to guide missiles and detect enemy aircrafts. Thus embedded systems cover such a broad range of products that generalization is difficult. Here are some broad categories:Aerospace and defence electronics (ADE): Astronomical research, flight safety and flight management, fire control, robotics, vehicular control. Broadcast and entertainment: analogue and digital sound products, audio control systems, DVD players, digital TV, set-top boxes. Data communication: Analogue modems, ATM broad band switches, cable modems. Digital imaging: Digital still camera, digital video cameras, fax machines, printers, scanners. Industrial measurement and control: Building environmental control systems, industrial sensors, test & measurement devices, traffic management systems. Medical electronics: Cardiovascular devices, critical care systems, diagnostic devices, surgical devices. Server I/O: Embedded servers, LAN devices, supercomputing, server management. Mobile data infrastructures: Mobile data terminals, satellites terminals, wireless LANs, pagers, wireless phones.
Design Requirements
Government Engineering College, Thiruvananthapuram
6
Embedded systems typically have tight constraints on both functionality and implementation. In particular, they have must guarantee real time operation reactive to external events, conform to size and weight limits, budget power and cooling consumption, satisfy safety and reliability requirements, and meet tight cost targets. Real time/reactive operation Real time systems operation means that the correctness of a computation depends, in part, on the time at which it is delivered. In many cases the system design must take into account worst-case performance. Predicting the worst case may be difficult on complicated architectures, leading to overly pessimistic estimates erring on the side of caution. The Signal Processing and Mission Critical example systems have a significant requirement for real time operation in order to meet external I/O and control stability requirements. Reactive computation means that the software executes in response to external events. These events may be periodic, in which case scheduling of events to guarantee performance may be possible. On the other hand, many events may be aperiodic, in which case the maximum event arrival rate must be estimated in order to accommodate worst-case situations. Most embedded systems have a significant reactive component. Small size, low weight Many embedded computers are physically located within some larger artifact. Therefore, their form factor may be dictated by aesthetics, form factors existing in pre-electronic versions, or having to fit into interstices among mechanical components. In transportation and portable systems, weight may be critical for fuel economy or human endurance. Among the examples, the Mission Critical system has much more stringent size and weight requirements than the others because of its use in a flight vehicle, although all examples have restrictions of this type. Safe and reliable Government Engineering College, Thiruvananthapuram
7
Some systems have obvious risks associated with failure. In mission-critical applications such as aircraft flight control, severe personal injury or equipment damage could result from a failure of the embedded computer. Traditionally, such systems have employed multiply-redundant computers or distributed consensus protocols in order to ensure continued operation after an equipment failure However, many embedded systems that could cause personal or property damage cannot tolerate the added cost of redundancy in hardware or processing capacity needed for traditional fault tolerance techniques. This vulnerability is often resolved at the system level as discussed later. Harsh environment Many embedded systems do not operate in a controlled environment. Excessive heat is often a problem, especially in applications involving combustion (e.g., many transportation applications). Additional problems can be caused for embedded computing by a need for protection from vibration, shock, lightning, power supply fluctuations, water, corrosion, fire, and general physical abuse. For example, in the Mission Critical example application the computer must function for a guaranteed, but brief, period of time even under non-survivable fire conditions. Cost sensitivity Even though embedded computers have stringent requirements, cost is almost always an issue (even increasingly for military systems). Although designers of systems large and small may talk about the importance of cost with equal urgency, their sensitivity to cost changes can vary dramatically. A reason for this may be that the effect of computer costs on profitability is more a function of the proportion of cost changes compared to the total system cost, rather than compared to the digital electronics cost alone
Information Appliance
In the past, embedded systems allowed information appliances to carry out simple and specific functions only. But with the penetration of the Internet into the homes of many ordinary families, it was realized that electric appliances could make human life easier and more convenient if they could access Internet information. Electric appliances can now access the Internet, compute and do what they were not able to do earlier. In other words, electric appliances are being transformed into information appliances (IA) or what may also be called embedded IA. Like the traditional embedded systems, the embedded information appliance needs only the least amount of hardware to operate. It can operate even without a hard disk, or with low power and small footprint. IA product can be classified into four mainstream products: Set-Top Boxes (STB) Personal Access Device (PAD) Thin Client (TC) Residential Gateway (or Home Gateway) Most IA products may be derived, with little or some modifications, from these four types of products.
Set-Top Boxes
The set-top box is driving the digital revolution right into your living room. Your fingertips now command a wealth of high quality digital information and digital entertainment, right from your favorite armchair. The set-top box revolutionizes home entertainment by providing vibrant television images with crystal clear sound, along with e-mail, Web surfing, along with customized information such as stock quotes, weather and traffic updates, on-line shopping, and video-on-demand, right through a traditional television. Government Engineering College, Thiruvananthapuram
9
Thin Client
A thin client is an information access drive that provides users with remote access to applications and data that are maintained and executed on a central server. The thin-client computing environment consists of an application server, a network, and thin-client devices. By centralizing deployment and updates of corporate applications, thin clients allow for simplified Information Systems (IS) management with dramatically increased security.
Residential Gateway
The RG mainly provides various kinds of interfaces that link all the electronic devices. The RG unlike the PC, is a very small, slim and light piece of hardware and may soon be incorporated inside other popular electronic appliances. It will play the role of an information hub responsible for the exchange of information between all kinds of electronic devices in an ordinary home.
Conclusion
10
We are standing on the threshold of an exciting new age of information technology that will change our lives and the future forever. Soon we shall see more and more digitization of appliances, and these will be fuelled by human need. Embedded systems and Information Appliances have virtually entered every sphere of our life and they will truly change the way we live.
11