overview of embedded system

61
Ch:1 Overview Of Embedded System Prepared By: D. Y. Vankawala Prepared By: D. Y. Vankawala

Upload: dhruwank-vankawala

Post on 18-Aug-2015

47 views

Category:

Engineering


4 download

TRANSCRIPT

  1. 1. Prepared By: D. Y. Vankawala Prepared By: D. Y. Vankawala
  2. 2. System Definition A way of working, organizing or performing one or many tasks according to a fixed set of rules, program or plan. Also an arrangement in which all units assemble and work together according to a program or plan. Prepared By: D. Y. Vankawala
  3. 3. Examples of Systems Time display system A watch Automatic cloth washing system A washing machine Prepared By: D. Y. Vankawala
  4. 4. Embedded system definitions An embedded system is a system that has software embedded into computer-hardware, which makes a system dedicated for an application (s) or specific part of an application or product or part of a larger system An embedded system is one that has a dedicated purpose software embedded in a computer hardware. It is a dedicated computer based system for an application(s) or product. It may be an independent system or a part of large system. Its software usually embeds into a ROM (Read Only Memory) or flash. It is any device that includes a programmable computer but is not itself intended to be a general purpose computer. Prepared By: D. Y. Vankawala
  5. 5. Continue Embedded Systems are the electronic systems that contain a microprocessor or a microcontroller, but we do not think of them as computers the computer is hidden or embedded in the system. Prepared By: D. Y. Vankawala
  6. 6. Characteristics of embedded system 1. Dedicated functions 2. Dedicated complex algorithm 3. Dedicated (GUIs) and other user interfaces for the application 4. Real time operations Defines the ways in which the system works, reacts to the events and interrupts, schedules the system functioning in real time and executes by following a plan to control the latencies and to meet the deadlines. [Latency Waiting interval between the instance at which a need to run the codes arises for task (or interrupt service routine) following an event and instance of start executing the codes] Prepared By: D. Y. Vankawala
  7. 7. Continue 5. Multi-rate operations Different operations may take place at distinct rates. For example, the audio, video, network data or stream and events have the different rates and time constraints to finish associated processes. Prepared By: D. Y. Vankawala
  8. 8. Automatic Chocolate Vending Machine (ACVM) Prepared By: D. Y. Vankawala
  9. 9. Prepared By: D. Y. Vankawala
  10. 10. ACVM Coin insertion slot Keypad on the top of the machine. LCD display unit on the top of the machine. It displays menus, text entered into the ACVM and pictograms, welcome, thank and other messages. Graphic interactions with the machine. Displays time and date. Delivery slot so that child can collect the chocolate and coins, if refunded. Internet connection port so that owner can know status of the ACVM sales from remote. Prepared By: D. Y. Vankawala
  11. 11. ACVM Hardware units Microcontroller or ASIP (Application Specific Instruction Set Processor) . RAM for storing temporary variables and stack ROM for application codes and RTOS codes for scheduling the tasks. Flash memory for storing user preferences, contact data, user address, user date of birth, user identification code, answers of FAQs. Timer and Interrupt controller A TCP/IP port (Internet broadband connection) to the ACVM for remote control and for getting ACVM status reports by owner. ACVM specific hardware Power supply Prepared By: D. Y. Vankawala
  12. 12. ACVM Software components Keypad input read Display Read coins Deliver chocolate TCP/IP stack processing TCP/IP stack communication Prepared By: D. Y. Vankawala
  13. 13. Room Temperature Controller(Digital Thermostat) Prepared By: D. Y. Vankawala
  14. 14. Hardware Specification Digital inputs and outputs: These are simple external pins whose logic state can be controlled by the processor to either be a logic 1 or a logic 0. They can also be used as input pins so that the processor can receive binary inputs from the external world. They can be used individually or grouped together to create parallel ports. Serial interfaces: These are interfaces that send or receive data using one or two pins in a serial mode. They are less complex to connect but are more complicated to program because the data may also be augmented with additional information as required by the data transfer protocol. Analog to digital converters: While processors operate on the digital data, the surrounding world is analog in nature. Therefore, interfaces between the system and the external world requires analog to digital conversions and vice versa. Displays: Displays are used by the processor to display the status information, error messages, and output results. They could be simple LEDs, seven segment displays, or character LCD panels. Keypads: Keypads are used by the end user to provide inputs to the embedded system. The inputs could be anything such as entering the password, changing functional settings, switching between menu items, etc. Thermostat Circuit: It is temperature sensor circuit which senses the temperature of surrounding and gives the voltage which is equivalent of surrounding temperature. Prepared By: D. Y. Vankawala
  15. 15. Functioning The surrounding temperature is sensed by the thermostat (a temperature sensor) and is converted to a proportional analog voltage. The processor cannot manipulate this signal directly, so it is converted to an equivalent digital number through a process called analog-to-digital conversion (ADC). The processor then compares this temperature reading with the high and low temperatures settings defined by the user, and turns the heater/AC on or off if required. The user uses Keypad to enter the temperature settings, which are saved into the memory. The processor displays the temperature settings and the current temperature on the LCD screen. The software to perform the entire function of monitoring and controlling the temperature is stored in the memory. The processor reads instructions from the memory and executes them. Prepared By: D. Y. Vankawala
  16. 16. Washing Machine (Various inputs and outputs in Washing Machine) Prepared By: D. Y. Vankawala
  17. 17. Inputs User push button: These are various buttons used for the interaction with user. Water Temperature: The temperature sensor senses the current temperature of the water and give this temperature as an input to the controller. Drum Speed: Current speed of drum is sensed and this input is also given to the controller. Water Level Sensor: this input gives current temperature of the water. Door close switch: it is used to sense whether the door is closed or not.Prepared By: D. Y. Vankawala
  18. 18. Outputs Drum Motor: It is connected with the washing machine drum and it is used for rotating drum. Water Heater: This signal is the output from controller and input for water heater which is used to switch on or off the heater. Water Pump: This signal is used to control the water pump of the washing machine. Water Valves: This signal is used to open or close the water valve of washing machine. User Display: It indicate the current ongoing activity and other signals related to washing machine. Door Release: It is the signal for releasing the door for washing machine. Prepared By: D. Y. Vankawala
  19. 19. Data flow diagram for washing Machine Prepared By: D. Y. Vankawala
  20. 20. Principle of washing machine Prepared By: D. Y. Vankawala
  21. 21. Block Diagram Prepared By: D. Y. Vankawala
  22. 22. Working Prepared By: D. Y. Vankawala
  23. 23. Development cycle for washing Machine Prepared By: D. Y. Vankawala
  24. 24. Continue Problem Definition: In this stage of development first we have to define a definition for washing machine which is used to identify various requirement of problems and also we can understand the whole problem related to washing machine. Economic appraisal and decision to go ahead: Once the problem definition is completed then the next step is whether the definition is economically appraise of not. If it is appraise, then they took decision to go ahead for same definition. Prepared By: D. Y. Vankawala
  25. 25. Continue System Analysis: Next step for development cycle is to analyze whole the system and indentify requirement of various hardware and software. Software and Hardware Development: Once identification of various software and hardware is done, next step to develop software and then develop hardware according to that software. Error Correction(Debugging): Once software and hardware is developed, then next step is to test both. If there is error during testing then it is solved by testing hardware and software. Final Documentation: Once all the error is solved then next step is to create the final product and prepare the final documentation. Prepared By: D. Y. Vankawala
  26. 26. Operating System (OS) Prepared By: D. Y. Vankawala
  27. 27. Overview An operating System (OS) is an intermediary between users and computer hardware. It provides users an environment in which a user can execute programs conveniently and efficiently. In technical terms, it is software which manages hardware. An operating System controls the allocation of resources and services such as memory, processors, devices and information. Prepared By: D. Y. Vankawala
  28. 28. Definition An operating system is a program that acts as an interface between the user and the computer hardware and controls the execution of all kinds of programs. Prepared By: D. Y. Vankawala
  29. 29. Prepared By: D. Y. Vankawala
  30. 30. Following are some of important functions of an operating System. Memory Management Memory management refers to management of Primary Memory or Main Memory. Main memory is a large array of words or bytes where each word or byte has its own address. Main memory provides a fast storage that can be access directly by the CPU. So for a program to be executed, it must in the main memory. Processor Management In multiprogramming environment, OS decides which process gets the processor when and how much time. This function is called process scheduling. Device Management Operating System does the following activities for device management. 1. Keeps tracks of all devices. Program responsible for this task is known as the I/O controller. 2. Decides which process gets the device when and for how much time. 3. Allocates the device in the efficient way. 4. De-allocates devices. Prepared By: D. Y. Vankawala
  31. 31. Continue File Management A file system is normally organized into directories for easy navigation and usage. These directories may contain files and other directions. Operating System does the following activities for file management. 1. Keeps track of information, location, uses, status etc. The collective facilities are often known as file system. 2. Decides who gets the resources. 3. Allocates the resources. 4. De-allocates the resources. Security By means of password and similar other techniques, preventing unauthorized access to programs and data. Control over system performance Recording delays between request for a service and response from the system. Job accounting Keeping track of time and resources used by various jobs and users Error detecting aids Production of dumps, traces, error messages and other debugging and error detecting aids. Coordination between other software and users Coordination and assignment of compilers, interpreters, assemblers and other software to the various users of the computer systems Prepared By: D. Y. Vankawala
  32. 32. Types of OS Prepared By: D. Y. Vankawala
  33. 33. 1. Batch operating system The users of batch operating system do not interact with the computer directly. Each user prepares his job on an off-line device like punch cards and submits it to the computer operator. To speed up processing, jobs with similar needs are batched together and run as a group. Thus, the programmers left their programs with the operator. The operator then sorts programs into batches with similar requirements. Prepared By: D. Y. Vankawala
  34. 34. Continue The problems with Batch Systems are following. 1. Lack of interaction between the user and job. 2. CPU is often idle, because the speeds of the mechanical I/O devices are slower than CPU. 3. Difficult to provide the desired priority. Prepared By: D. Y. Vankawala
  35. 35. 2. Time-sharing operating systems Time sharing is a technique which enables many people, located at various terminals, to use a particular computer system at the same time. Time-sharing or multitasking is a logical extension of multiprogramming. Processor's time which is shared among multiple users simultaneously is termed as time-sharing. The main difference between Multiprogrammed Batch Systems and Time-Sharing Systems is that in case of multiprogrammed batch systems, objective is to maximize processor use, whereas in Time-Sharing Systems objective is to minimize response time. Multiple jobs are executed by the CPU by switching between them, but the switches occur so frequently. Thus, the user can receive an immediate response. For example, in a transaction processing, processor execute each user program in a short burst or quantum of computation. That is if n users are present, each user can get time quantum. When the user submits the command, the response time is in few seconds at most. Operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time. Computer systems that were designed primarily as batch systems have been modified to time-sharing systems. Prepared By: D. Y. Vankawala
  36. 36. Advantages of Timesharing operating systems are following 1. Provide advantage of quick response. 2. Avoids duplication of software. 3. Reduces CPU idle time. Disadvantages of Timesharing operating systems are following. 1. Problem of reliability. 2. Question of security and integrity of user programs and data. 3. Problem of data communication. Prepared By: D. Y. Vankawala
  37. 37. Distributed operating System Distributed systems use multiple central processors to serve multiple real time application and multiple users. Data processing jobs are distributed among the processors accordingly to which one can perform each job most efficiently. The processors communicate with one another through various communication lines (such as high-speed buses or telephone lines). These are referred as loosely coupled systems or distributed systems. Processors in a distributed system may vary in size and function. These processors are referred as sites, nodes, and computers and so on. Prepared By: D. Y. Vankawala
  38. 38. Continue The advantages of distributed systems are following. 1. With resource sharing facility user at one site may be able to use the resources available at another. 2. Speedup the exchange of data with one another via electronic mail. 3. If one site fails in a distributed system, the remaining sites can potentially continue operating. 4. Better service to the customers. 5. Reduction of the load on the host computer. 6. Reduction of delays in data processing. Prepared By: D. Y. Vankawala
  39. 39. Network operating System Network Operating System runs on a server and and provides server the capability to manage data, users, groups, security, applications, and other networking functions. The primary purpose of the network operating system is to allow shared file and printer access among multiple computers in a network, typically a local area network (LAN), a private network or to other networks. Examples of network operating systems are Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD. Prepared By: D. Y. Vankawala
  40. 40. The advantages of network operating systems are following. 1. Centralized servers are highly stable. 2. Security is server managed. 3. Upgrades to new technologies and hardware can be easily integrated into the system. 4. Remote access to servers is possible from different locations and types of systems. The disadvantages of network operating systems are following. 1. High cost of buying and running a server. 2. Dependency on a central location for most operations. 3. Regular maintenance and updates are required. Prepared By: D. Y. Vankawala
  41. 41. Real Time operating System Real time system is defines as a data processing system in which the time interval required to process and respond to inputs is so small that it controls the environment. Real time processing is always on line whereas on line system need not be real time. The time taken by the system to respond to an input and display of required updated information is termed as response time. So in this method response time is very less as compared to the online processing. Real-time systems are used when there are rigid time requirements on the operation of a processor or the flow of data and real-time systems can be used as a control device in a dedicated application. Real-time operating system has well- defined, fixed time constraints otherwise system will fail. For example Scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, and home- appliance controllers, Air traffic control system etc. Prepared By: D. Y. Vankawala
  42. 42. There are two types of real-time operating systems. Hard real-time systems Hard real-time systems guarantee that critical tasks complete on time. In hard real-time systems secondary storage is limited or missing with data stored in ROM. In these systems virtual memory is almost never found. Soft real-time systems Soft real time systems are less restrictive. Critical real-time task gets priority over other tasks and retains the priority until it completes. Soft real-time systems have limited utility than hard real-time systems. For example, Multimedia, virtual reality, Advanced Scientific Projects like undersea exploration etc. Prepared By: D. Y. Vankawala
  43. 43. Types of mobile OS Prepared By: D. Y. Vankawala
  44. 44. Introduction Design and capabilities of a Mobile OS (Operating System) is very different than a general purpose OS running on desktop machines: mobile devices have constraints and restrictions on their physical characteristic such as screen size, memory, processing power and etc. Scarce availability of battery power Limited amount of computing and communication capabilities Thus, they need different types of operating systems depending on the capabilities they support. e.g. a PDA OS is different from a Smartphone OS. Operating System is a piece of software responsible for management of operations, control, coordinate the use of the hardware among the various application programs, and sharing the resources of a device. Prepared By: D. Y. Vankawala
  45. 45. Mobile OS Structure A mobile OS is a software platform on top of which other programs called application programs, can run on mobile devices such as PDA, cellular phones, smartphone and etc. Prepared By: D. Y. Vankawala Low-Level Hardware, Manufacturer Device Drivers Device Operating System Base, Kernel OS Libraries Applications
  46. 46. Different Types of Mobile OS 1. IOS (iPhone) 2. Android (Google) 3. Symbian (Nokia) 4. Blackberry OS (Blackberry) 5. Windows Phone OS (Microsoft) Prepared By: D. Y. Vankawala
  47. 47. 1. IOS (iPhone) iOS (previously iPhone OS) is a mobile operating system developed and distributed by Apple Inc. Originally released in 2007 for the iPhone and iPod Touch, it has been extended to support other Apple devices such as the iPad and Apple TV. Unlike Microsoft's Windows CE (Windows Phone) and Google's Android, Apple does not license iOS for installation on non-Apple hardware. As of 2012 Apple's App Store contained more than 700,000 iOS applications, which have collectively been downloaded more than 30 billion times . The user interface of iOS is based on the concept of direct manipulation, using multi-touch gestures. Interface control elements consist of sliders, switches, and buttons. The response to user input is immediate and provides a fluid interface. Interaction with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific definitions within the context of the iOS operating system and its multi-touch interface. Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching from portrait to landscape mode). Prepared By: D. Y. Vankawala
  48. 48. Continue iOS is derived from OS X, with which it shares the Darwin foundation, and is therefore a Unix operating system. iOS is Apple's mobile version of the OS X operating system used on Apple computers. In iOS, there are four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. The current version of the operating system (iOS 5.1.1) dedicates 1-1.5 GB of the device's flash memory for the system partition, using roughly 800 MB of that partition (varying by model) for iOS itself. Prepared By: D. Y. Vankawala
  49. 49. IOS feature Mac OS X has a preemptive multitasking environment. Preempting is the act of taking the control of operating system from one task and giving it to another task. It supports real-time behavior. In Mac OS X, each application has access to its own 4 GB address space. Not any application can directly modify the memory of the kernel. It has a strong mechanism for memory protection. Prepared By: D. Y. Vankawala
  50. 50. 2. Android(Google) Android is a Linux-based operating system designed primarily for touchscreen mobile devices such as smartphones and tablet computers, developed by Google in conjunction with the Open Handset Alliance. Initially developed by Android Inc, whom Google financially backed and later purchased in 2005, Android was unveiled in 2007 along with the founding of the Open Handset Alliance, a consortium of 86 hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. Google releases the Android code as open-source, under the Apache License. The Android Open Source Project (AOSP), lead by Google, is tasked with the maintenance and further development of Android. Additionally, Android has a large community of developers writing applications ("apps") that extend the functionality of devices. Developers write primarily in a customized version of Java. and apps can be downloaded from online stores such as Google Play (formerly Android Market), the app store run by Google, or third-party sites. In June 2012, there were more than 600,000 apps available for Android, and the estimated number of applications downloaded from Google Play was 20 billion. The first Android-powered phone was sold in October 2008, and by the end of 2010 Android had become the world's leading smartphone platform. It had a worldwide smartphone market share of 59% at the beginning of 2012 . Prepared By: D. Y. Vankawala
  51. 51. Android Feature Android is a powerful Operating System supporting a large number of applications in Smart Phones. These applications make life more comfortable and advanced for the users. Hardwares that support Android are mainly based on ARM architecture platform. Android comes with an Android market which is an online software store. It was developed by Google. It allows Android users to select, and download applications developed by third party developers and use them. There are around 2.0 lack+ games, application and widgets available on the market for users. Prepared By: D. Y. Vankawala
  52. 52. Continue Android applications are written in java programming language. Android is available as open source for developers to develop applications which can be further used for selling in android market. There are around 200000 applications developed for android with over 3 billion+ downloads. Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. For software development, Android provides Android SDK (Software development kit). Prepared By: D. Y. Vankawala
  53. 53. 3. Symbian(Nokia) Symbian is a mobile operating system designed for smartphones originally developed by Symbian Ltd. but currently maintained by Accenture.[18] The Symbian platform is the successor to Symbian OS and Nokia Series 60. The latest version, Symbian ver.3, was officially released in Q4 2010 and first used in the Nokia N8 [19]. The first Symbian phone the touchscreen Ericsson R380 Smartphone was released in 2000 [20] and was the first device to be marketed as a 'smartphone' [21]. It combined a PDA with a mobile phone [22]. Later in 2000, the Nokia 9210 communicator was released, also with Symbian. The later 9500 was Nokia's first camera phone and first Wi-Fi phone. The 9300 was smaller, and the E90 Communicator included GPS. In 2007, Nokia launched the Nokia N95 which integrated various multimedia features: GPS, a 5 megapixel camera with autofocus and LED flash, 3G and Wi-Fi connectivity and TV-out. In the next few years these features would become standard on high-end smartphones. The Nokia 6110 Navigator was a Symbian based dedicated GPS phone introduced in June 2007. Prepared By: D. Y. Vankawala
  54. 54. Symbian Feature Symbian OS is 32 bit. It is a multitasking operating system and very less dependence on peripherals. Kernel runs in the privileged mode and exports its service to user applications via user libraries. Real-time: it has a real-time, multithreaded kernel. Data Caging : it allows applications to have their own private data partition. This feature allows for applications to guarantee a secure data store. It can be used for e-commerce applications, location aware applications and etc. Multimedia: it supports audio, video recording, playback and streaming, and Image conversion. Platform Security : Symbian provides a security mechanism against malware. It allows sensitive operations can be accessed by applications which have been certified by a signing authority. In addition, it supports full encryption and certificate management, secure protocols ( HTTPS, TLS and SSL) and WIM framework. Internationalization support: it supports Unicode standard. Fully object-oriented and component- based Optimized memory management. Prepared By: D. Y. Vankawala
  55. 55. 4. Windows phone OS Windows Mobile OS is a proprietary and not open source OS originally created to be a mobile version of Windows with a user interface compliant to the current Windows version. It is based on the Windows CE v5.2 kernel, which most hardware specific components are offered as open source. Windows CE is a minimalistic real-time multi-tasking OS that can run in less than a megabyte of memory. Windows Mobile was updated to version 6.5 in October 2009 and the analysis is based on this update. With this update a new user interface inspired by trends from smartphones user interfaces. The update also included access to the new application store from Microsoft called Windows Marketplace. The amount of applications available is limited and the functionality is not creative and fancy like iPhone and Android. The Microsoft application store is not the only one for the Windows Mobile. Due to the many years on the market existing web sites contains a lot of applications available to the device. Most of them lack the creative layout and innovative steps known from the iPhone. Prepared By: D. Y. Vankawala
  56. 56. 5. Blackberry OS BlackBerry is a line of phone devices developed and designed by Research In Motion (RIM). The first BlackBerry smartphone was released in 1999. The latest BlackBerry 7 devices were announced in the Summer of 2011. BlackBerry devices are smartphones, which are designed to function as personal digital assistants, portable media players, internet browsers, gaming devices, cameras and much more. They are primarily known for their ability to send and receive push email and instant messages while maintaining a high level of security through on-device message encryption. BlackBerry devices support a large variety of instant messaging features, with the most popular being the proprietary BlackBerry Messenger service. Prepared By: D. Y. Vankawala
  57. 57. Continue The operating system is implemented supporting true multi-tasking without noticeable performance lack and due to the implementation of the OS; the applications load fast and perform really well on slow devices. The general layout and browsing through menus feels classic but it works smoothly. Multi-touch is supported in the newer versions of the OS. Blackberry OS does not support any Flash versions and the use of the internet seems to be intended for surfing, e-mail and traditional client server calendar synchronisation. Prepared By: D. Y. Vankawala
  58. 58. Comparison of IOS, Android and windows OS Prepared By: D. Y. Vankawala
  59. 59. Characteristics of real time system Large and complex vary from a few hundred lines of assembler or C to 20 million lines of estimated code for the Space Station Freedom. Concurrent control of separate system components devices operate in parallel in the real- world; better to model this parallelism by concurrent entities in the program Facilities to interact with special purpose hardware need to be able to program devices in a reliable and abstract way. Mixture of Hardware/Software: some modules implemented in hardware, even whole systems, SoC Prepared By: D. Y. Vankawala
  60. 60. Continue Extreme reliability and safety embedded systems typically control the environment in which they operate; failure to control can result in loss of life, damage to environment or economic loss. Guaranteed response times we need to be able to predict with confidence the worst case response times for systems; efficiency is important but predictability is essential. Stability --- Under overload conditions, real-time systems need to continue to meet the deadlines of the most critical tasks, though the deadlines of non-critical tasks may not be met. This is in contrast to the requirement of fairness for traditional systems even under overload conditions. Time constraints --- Every real-time task is associated with some time constraints. One form of time constraints that is very common is deadlines associated with tasks. A task deadline specifies the time before which the task must complete and produce the results. It is the responsibility of the real-time operating system (RTOS) to ensure that all tasks meet their respective time constraints Prepared By: D. Y. Vankawala