Download presentation
Presentation is loading. Please wait.
Published byIra Lamb Modified over 8 years ago
1
Real-time Embedded Systems Module overview Introduction to Real-time Systems and Scheduling
2
ABSTRACT As more and more Utilities, Vehicles, and Processing & Manufacturing employ embedded and real-time systems to operate reliably, securely & efficiently the practical study of underlying principles and current practice in this area enhances career opportunity.
3
AIMS To enable students to: 1.understand architectural structures used in, and operational details of, real-time embedded computer systems, which cover a wide range of application areas including safety-critical and security systems 2.develop skills in implementing and evaluating multi-tasking software for real- time diagnostic, control & security systems
4
LEARNING OUTCOMES On successful completion of this unit students should be able, at threshold level, to: 1 Appraise RTOS and embedded computer systems' structures and Applications 2 Develop specimen real-time embedded computer system solutions
5
SYLLABUS 1.Real-Time Embedded Systems Partitioning: software/system/hardware/system-on-chip. 2.Embedded systems and design approaches and security of embedded systems. 3.The use of industrial development systems, hardware and software, and their role in design, development and testing. 4.Deterministic software: multi-tasking operating systems, micro-kernels for real-time applications. 5.Scheduling for real-time operation: prediction and operation in simple and complex systems
6
BOOKS Cooling J, 2002, Software Engineering for Real-time Systems, Addison Wesley, ISBN 0201596202 Heath, S, 2000, Embedded System Design, Newnes, ISBN 0750632372 Walls C, 2005, Embedded Software: The Works, Newnes, ISBN 0750679549 Williams R, 2005, Real-Time Systems Development, Butterworth-Heinemann, ISBN 0750664711 Burns A & Wellings A, 1997, Real-Time Systems and Programming Languages Addison Wesley, ISBN 020140365X
7
WHAT IS EMBEDDED?
8
An Embedded System is one where Computational parts (processor(s), stores etc.) are an essential & integral part of a larger whole system E.g. Mobile Phone, A3xx Airbus, Car engine management system, Nuclear reactor control, Freeview Chemical production plant.
9
WHAT IS EMBEDDED? Embedded System Characteristics: Often dedicated software e.g. Mobile Phone, A3xx Airbus, Often replaces previous control system (commonly mechanical) e.g. Chemical production plant, Often no keyboard/display - no disk e.g. Car engine management system
10
ENVIRONMENT FOR EMBEDDED? Less-controlled than common PCs Power Source Variability plus: EMI (electromagnetic interference) ESD (electrostatic discharge) Heat: proximity / limited cooling / fire Vibration: shock / drop testing Corrosive environment - water!
11
EMBEDDED DESIGN REQUIREMENTS Design the whole system not just the microprocessor or the electronics! RealTime or Reactive Systems? Safety and Reliability factors Long life cycle (e.g. car e.m.s.) Size (small?) / Weight Power (low) / Cooling Cost versus Speed / Performance
12
EMBEDDED DESIGN APPROACH ES Computer design uses Simulation FPGA etc. - works first time fewer components, fewer corrections Mechanical design uses Prototypes frequent adjustment - to get the ergonomics and usability right Embedded systems are a compromise of both styles
13
Environment USER... DSPLY / KEYS JTAG/ DIAGNOSTIC FPGA/CPLD WHAT IS EMBEDDED? ACTUATORS SENSORS A/D D/A STORE (ROM+RAM) SOFTWARE C P U Electro-Mechanical Backup FAIL-SAFE device
14
TYPES OF SYSTEMS TRANSFORMATIONAL SYSTEMS Transform Inputs to Outputs (IRQ inputs) May be Continuous or Terminate CONCURRENT SYSTEMS Potential Parallelism + Synchronisation/Communication REACTIVE SYSTEMS Continuous connection with their environment by reacting to stimulus/events. Periodic: schedule is static, Aperiodic: statistical & dynamic schedule. REAL TIME SYSTEMS TIME MATTERS!!
15
WHAT IS REAL TIME? A Real-time System is one where the correctness of computations depends not only on the logical correctness but also on the time at which results are produced Applies to the time of Outputs & Inputs Real-Time is NOT Efficiency or Speed Real-Time IS Temporal Correctness!
16
REAL TIME REQUIREMENTS An Early Output is as wrong as a Late Output (but it is possible to delay output if early) Absolute and Relative Temporal Constraints JITTER (small variation around correct time) Explicit constraints - display video in 0.25 sec Derived constraints - accuracy, fault tolerance, HCI constraints (derived are more common) The Real-Time Encyclopaedia at: http://www.realtime-info.be/encyc/market/rtos/
17
REAL TIME REAL-TIME SYSTEMS Logical & Temporal Correctness Scheduling, Reliable in Time Performance Temporal Accuracy SOFT REAL-TIME CAN Function "more slowly" NOT Step-Function in Degradation Performance Temporal Accuracy HARD REAL-TIME Step-Function in Degradation
18
SOFT REAL TIME: FAILURE MODES Time constraints may be missed by small amounts (% of time constraint) Infrequently (% of instances) Sporadic events or Periodic instances may be missed (skipped) (probability) Think about how the system could recover !
19
HARD REAL TIME: FAILURE MODES NON-ESSENTIAL ONLY DEGRADES IN THE LONG TERM ESSENTIAL FAILURE IN DEADLINE (F.I.D.) SERIOUSLY DEGRADES PERFORMANCE SAFETY CRITICAL FAILURE IN DEADLINE CATASTROPHIC HARD REAL-TIME Step-Function in Degradation
20
SAFETY and LIVENESS ERROR conditions (exceptions) usually state what is not required, but in complex systems it is normally better to specify safety properties by stating directly what is required so… SAFETY: nothing bad happens LIVENESS: something good eventually happens
21
NON-DETERMINISM Real-Time, and Embedded Systems are NON-DETERMINISTIC as they must respond to events which occur in an unpredictable order. Events or interrupts cause process switches e.g. an I/O completion interrupt will cause the OS to switch to an I/O process. =>The way a system switches between processes cannot be pre-determined
22
DISPATCHING & SWITCHING Saving and restoring of PROGRAMS' state (complete state!) Switch from one PROGRAM to another is contributor to 'System Overhead' CONTEXT SWITCHING: the actual switch of the processes
23
PROCESS SWITCHING CO-OPERATIVE SWITCHING Currently running task voluntarily gives up processor, allowing other processes to run Often simple ROUND ROBIN or FIFO queue Fair, but problem of task monopolising CPU TIME-SLICE SWITCHING Time-slicing processor at regular intervals between all tasks (run by each user) PRE-EMPTIVE SWITCHING Currently running task will be interrupted and processor given to another waiting process Needs "priorities" to chose which
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.