CPE-746-JUST-Fall 2006 - PowerPoint PPT Presentation

About This Presentation
Title:

CPE-746-JUST-Fall 2006

Description:

A real-time system is one in which the correctness of the computations not only ... Operating System. Real-time operating systems must provide support for: ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 51
Provided by: mohammad73
Category:

less

Transcript and Presenter's Notes

Title: CPE-746-JUST-Fall 2006


1
Real Time Embedded Systems
  • Done by Lara Quadan Lina Sawalha
  • Supervised by Dr. Loai Tawalbeh
  • Computer Engineering Department
  • Jordan University of Science and Technology

2
Introduction
  • Computer is entering all facets of life from home
    electronics to production of different products
    and material.
  • Many of the computers are embedded and thus
    hidden for the user.
  • So it is necessary to know about the control and
    characteristics of embedded real-time systems to
    implement reliable ones.

3
Real-time Systems
  • A real-time system is one in which the
    correctness of the computations not only depends
    on their logical correctness, but also on the
    time at which the result is produced. In other
    words, a late answer is a wrong answer.
  • A real-time system consists of tasks under
    deadline constrains.
  • Real-time systems maybe distributed systems,
    consisting of components that are physically
    distributed. These systems consists of multiple
    processing units and communication links.

4
Functional Requirements
  • Data Collection
  • Sensors
  • Signals
  • Alarm
  • Direct Digital Control
  • Actuators
  • Man-machine interaction

5
Temporal Requirements
  • Tasks may have deadline
  • Minimal latency jitter
  • Minimal error detection latency
  • Timing requirements due to tight software control
    loops.
  • Human interface timing requirements

6
Application Areas
  • Customer electronics
  • Cameras
  • Camcorders
  • Customer products
  • Dish washers
  • Microwave ovens
  • Cars
  • Anti-lock braking
  • Engine control
  • Drive-by-wire
  • Planes
  • Stability
  • Jet engine
  • Fly-by-wire
  • Military
  • Weapons
  • Satellites
  • Industrial process controllers
  • Computer/Communication products
  • Peripherals
  • Fax machines
  • Protection security systems
  • Intruder Alarm
  • Smoke/Gas detection
  • Robotics

7
Control Theory
  • A control system is an interconnection of
    components forming a system configuration that
    will provide a desired system response.
  • Types of control
  • Open-loop control a system that utilizes a
    device to control the process without feedback.
    Thus the output has no effect upon the signal to
    the process.
  • Closed-loop control A system that uses a
    measurement of the system output through sensors
    and compares it with the desired output (called
    feedback system).

8
Embedded digital controlled systems
  • When a digital controller (microprocessor/Microcon
    troller) is used in the embedded system to
    control the plant or process an analog/digital
    converter (A/D) is required as well as
    digital/analog converter (D/A) to interface the
    input/output controller digital signals with the
    analog signals from the other component in the
    system.
  • it is very important to consider the timing for
    the real-time digital controlled system.

9
Cruise Control
  • Regulate the speed of a car by adjusting the
    throttle
  • Input by the driver ? sets a speed and car
    maintains it.
  • Measures the speed through device connected to
    the driver shaft.
  • Hard real-time driver shaft revolution event.
  • Soft real-time driver inputs, throttle
    adjustments.

10
Cont.
  • Disturbances road surface and grade, wind and
    obstacles.
  • Input by the driver ? sets a speed and car
    maintains it.
  • If the driver give a brake command to the car the
    cruise control system will be interrupted and the
    car speed will slow down or be stopped.

11
Other car embedded systems
12
Autopilot
  • Objective function to control the direction
  • and speed of the plane.
  • Outputs actual direction and speed of the plane
  • Control inputs path markings and speed.
  • Disturbances wind, obstacles.
  • subsystems power system,
  • engines, steering system,
  • braking system, . . .

13
Cont.
14
Robot Vacuum cleaner
15
Cont.
  • Operating environment
  • closed indoor environments
  • such as rooms.
  • Controlling System
  • Human turn on and off the robot
  • Computer Sensors stairs and wall detection
    (IR sensors).
  • Controls robot location through controlling the
    robot speed and steering to follow the walls.
  • Actuators motors and wheels.

16
Hard Disk Drive Control
  • The disk rotates at a speed between 1800 and 7200
    rpm.
  • The head flies above the disk at a distance of
    less than 100 nm.
  • Position accuracy is 1 micro meter.
  • Move the head from track a to track b within 50
    ms.
  • Motor to actuate the arm to the desired location
    on the disk.

17
Cont.
  • For DVD
  • system?

18
Wireless Sensor Network Embedded System
Sensor nodes scattered in a sensor field
19
Cont.
  • Collection of sensor nodes in a field.
  • Each node collects data and send it to a sink.
  • The sink aggregates the data and send it to a
    main processing unit.
  • Each sensor node can manipulate data using its
    own embedded microcontroller (microprocessor),
    transceiver and communication model.

20
Keck Astronomical Telescope
  • World largest telescope
  • The main objective is to collect and focus
    starlight using a large concave mirror.
  • The shape of the mirror determines the quality of
    the observed image.
  • The diameter of the mirror is 10 m.
  • The mirror is a mosaic of 36 hexagonal small
    mirrors.
  • The 36 segments must be aligned so that the
    resulting mirror has the desired shape

21
  • Behind each segment are three actuators applying
    forces at three points on the segment affecting
    its orientation.
  • In the gap between every two adjacent segments a
    capacitor type sensors measuring the local
    displacement between segments.
  • These displacements should be controlled to give
    the desired shape and direction for the mirror.

22
Auto-washing machines
  • The user will select the required washing
    program.
  • A set of sensor will monitor the washing process
    variables such as water level, temperature, and
    the rotation speed. Where the embedded controller
    will keep these values agree with the selected
    washing program. through out the washing time.

23
Classifications of RT systems
  • Hard vs. Soft systems
  • Fail-safe vs. Fail operational
  • Guaranteed-response vs. Best-effort
  • Resource-adequate vs. Resource-inadequate
  • Event-triggered vs. Time-triggered

24
Hard vs. Soft Real Time Systems
  • Hard RTS
  • A RTS where the tasks have to be
  • performed not only correctly but also
  • on time. i.e. a catastrophic system
    failure can
  • occur if the system is not responding
    on time.
  • E.g., the aircraft turbulence (instability in the
    atmosphere) controller should respond on time, if
    not there will be a definite disaster.
  • Other examples
  • control systems for space probes and nuclear
    reactors.
  • refresh rates for video, or DRAM.
  • collision alert.

25
Cont.
  • Soft RTS
  • A RTS where the tasks have to be
  • performed as fast as possible, but the
    tasks
  • need not be finished within deadlines.
  • I.e. It may go beyond specified deadlines without
    catastrophic failures (For example, if the video
    game is not responding on time, its only a delay
    where the user may not want to wait, but even
    then nothing awful is going to happen).

26
Cont.
  • Another e.g. Laser printer rated by
    pages-per-minute, but can take differing times to
    print a page (depending on the "complexity" of
    the page) without harming the machine or the
    customer.
  • Task execution may also be timed-out display
    updates, connection establishment.
  • Other examples of Soft real time systems
  • videoconferencing
  • stock price quotation systems
  • airline reservation systems
  • automatic teller

27
Characteristics of RTS
  • Response time - hard real-time applications,
    milliseconds or less, preclude direct human
    intervention during normal operation and in
    critical situations. - Soft real-time and on-line
    systems are often in the order of seconds.
  • Peak-load performance - hard real-time system
    the peak-load scenario must be well-defined,
    guaranteed to meet the specified deadlines in all
    situations.- soft-real time system, the average
    performance is important, and a degraded
    operation in a rarely occurring peak load case is
    tolerated
  • Control of Pace A hard real-time system must
    remain synchronous with all the state of the
    environment in all cases. This is in contrast to
    an on-line system, which can exercise some
    control over the environment in case it cannot
    process the offered load.
  • Safety Hard real-time systems are often safety
    critical.
  • Size of Data files Hard real-time systems have
    small data files and real-time databases.
    Temporal accuracy is often the concern here. Soft
    real time systems has larger databases so
    long-term integrity of large data files is the
    key issues.

28
Characteristics of RTS
  • Redundancy Type If an error occurs in a soft
    real-time system, the computation is rolled back
    to a previously established checkpoint to
    initiate a recovery action. In hard real-time
    systems, recovery is of limited use.

29
Common Misconceptions
  • Misconceptions about Real-Time Systems
  • Stankovic'88
  • faster hardware implies all deadlines will be met
  • real-time computing is merely fast computing
  • RT systems are low-level coding done using ad-hoc
    methods.
  • Fast is relative. More important that system is
    fast enough", deterministic and predictable.
  • Worst-case response times of interest rather than
    average-case.
  • Scheduling theory, software design, formal
    methods and RTOS are changing things.
  • It is important to note that hard versus soft
    real-time does not necessarily relate to the
    length of time available.

30
Real Time terminologies
  • Synchronous events occur at predictable times in
    the flow-of-control.
  • Asynchronous interrupts
  • Multitasking The process of scheduling and
    switching the CPU between several tasks, a single
    CPU switches its attention between several
    sequential tasks. Multiple is like
    foreground/background with multiple backgrounds.
    Multitasking maximizes the utilization of the CPU
    and also provides for modular constructions of
    applications.
  • Task A task is called a Thread, is a simple
    program which thinks it has the CPU all to
    itself. Each task typically is an infinite loop
    that can be in any one of the three states
    RUNNING, READY (-TO-RUN), BLOCKED.
  • Resource A resource is any entity used by a
    task. A resource can thus be an I/O device, such
    as a printer, a keyboard, or a display, or a
    variable, a structure, or an array.

31
Real Time terminologies
  • Shared Resource A shared resource is a resource
    that can be used by more than one task. Each task
    should gain exclusive access to the shared
    resource to prevent data corruption. This is
    called Mutual Exclusion. For e.g., a global
    variable can be used by many tasks, or printer
    which could be shared by "n" users.
  • Critical Section of Code Also called Critical
    Region, is code that needs to be treated
    indivisibly once the section of code starts
    executing, it must not be interrupted. To ensure
    this, interrupts are typically disabled before
    the critical code is executed and enable when the
    critical code is finished.
  • Reentrancy A reentrant function can be used by
    more than one task without fear of data
    corruption. a reentrant function can be
    interrupted at any time and resumed at a later
    time without loss of data. Reentrant functions
    either use local variables (i.e. CPU registers or
    variables on the stack) or protect data when
    global variables are used.

32
Operating System
  • Real-time operating systems must provide support
    for
  • Guaranteeing real-time constraints.
  • Supporting fault tolerance and distribution.
  • Time constraint resource allocations and
  • scheduling.
  • Time constraint end-to-end communications.

33
Real Time Operating System (RTOS)
  • Fundamental requirements for an RTOS
  • The OS behavior must be predictable
  • The OS must be multithreaded and preemptive.
  • The OS must support thread priority.
  • The OS must support predictable thread
    synchronization mechanisms.
  • Additional Requirements
  • The maximum time that device drivers use to
    process an interrupt, and specific IRQ
    information relating to those device drivers,
    must be known.
  • The interrupt latency (the time from interrupt to
    task run) must be predictable and compatible with
    application requirements

34
  • Kernel
  • Is the core program of the Operating System, and
    determines its behavior
  • Is responsible for System Resources and for
    context switch.
  • Also responsible for task scheduling.
  • In RTOS since the size of the kernel is small,
    its also referred to as Micro Kernel.
  • Kernel types
  • Microkernel - scheduler
  • Kernel - a microkernel with intertask
    synchronization
  • Executive - a kernel that includes privatized
    memory blocks, I/O services, and other complex
    issues. Most commercial realtime
  • kernels are in this category.
  • Operating system - an executive that also
    provides generalized user interface, security,
    file management system, etc.

35
RTOS
  • Three groups
  • Small, fast, proprietary kernels
  • Real-time extensions to commercial operating
    systems
  • Research operating systems
  • Small, fast, proprietary kernels
  • homegrown
  • commercial offerings
  • QNX, PDOS, pSOS, VCOS, VRTX32, VxWorks
  • To reduce the run-time overheads incurred by the
    kernel and to make the system fast, the kernel
  • has a small size
  • responds to external interrupts quickly
  • minimizes intervals during which interrupts are
    disabled
  • provides fixed or variable sized partitions for
    memory
  • management as well as the ability to lock code
    and data in memory
  • provides special sequential files that can
    accumulate data at a fast rate

36
RTOS
  • To deal with timing constraints, the kernel
  • provides bounded execution time for most
    primitives
  • maintains a real-time clock
  • provides primitives to delay processing by a
    fixed amount of time and to suspend/resume
    execution
  • Also, the kernel
  • performs multitasking and intertask communication
    and synchronization via standard primitives such
    as mailboxes, events, signals, and semaphores.
  • For complex embedded systems, these kernels are
    inadequate as they are designed to be fast rather
    than to be predictable in every aspect.

37
Examples of RTOS
  • Open source
  • eCos
  • Fiasco (L4 clone) 1
  • FreeRTOS
  • Linux as of kernel version 2.6.18
  • Phoenix-RTOS
  • Nut/OS 2
  • Prex
  • RTAI
  • RTEMS
  • RTLinux
  • SHaRK 3
  • TRON Project
  • Xenomai 4
  • Proprietary
  • Ardence RTX - BeOS
  • ChorusOS - DNIX
  • DSOS - embOS (Segger)
  • ITRON
  • LynxOS - MicroC/OS-II
  • MQX RTOS 5 - Nucleus
  • OS-9 - OSE
  • OSEK/VDX - OSEKtime
  • PDOS - Phar Lap ETS
  • PikeOS - Portos
  • pSOS - QNX
  • RMX - RSX-11
  • RT-11 - RTOS-UH
  • RTXC - Salvo RTOS 6
  • SINTRAN III - Symbian OS
  • ThreadX - VRTX
  • VxWorks - Windows CE
  • µnOS - UNIX-RTR

38
RTLinux
  • Real-Time Linux (now part of FSMLabs Inc.)
  • that is suitable for Real-Time applications.
  • Its view is that the application system can be
    split into two parts
  • Real-time
  • Non real-time
  • With this approach, it splits the applications to
    run on either the Linux kernel, or a real-time
    kernel!

39
RTLinux
  • Between the real and non-real parts communication
    is performed through FIFOs called RT-FIFOs.
  • These FIFOs are
  • Locked to memory in kernel space.
  • FIFOs appear as devices to Linux user processes.
  • Reads and writes are non-blocking and atomic.

40
RTLinux
  • RTLinux eliminates the problem of the kernel
    blocking interrupts by replacing HW interrupts by
    SW emulated interrupts.
  • Thus, the RT kernel intersects all interrupts!
  • If an interrupt is to let a RT task execute, then
    the RT kernel pre-empts any general application
    and runs the RT task.
  • Flags are used to emulate interrupt disabling.

41
VxWorks
  • Monolithic Kernel
  • Reduced run-time overhead, but increased kernel
    size compared to Microkernel designs
  • Supports Real-Time POSIX standards
  • Common in industry
  • Mars missions
  • Honda ASIMO robot
  • Switches
  • MRI scanners
  • Car engine control systems

42
Software vs. Hardware
  • Hardware
  • Fast
  • Power-efficient
  • Used for performance and security
  • Software
  • Flexible
  • Reusable

43
Examples on Software Subsystems
  • The software components of an embedded system can
    be diverse.
  • Software running on a microprocessor core.
  • Written in a High level language
  • Cooperative multi-tasking software running on one
    or more DSP processors
  • Largely written in Assembly code due to a lack of
    high quality compilers
  • An RTOS kernel running on the microprocessor core
    and/or DSP core
  • Control Processes running on a microcontroller
  • User interface modules running on the
    microprocessor
  • Devise drivers for interface protocols e.g.
    TCP/IP, ATM

44
Software Languages
  • Specifying machine code concisely
  • Sequential semantics
  • Perform this operation
  • Change system state
  • Raising abstraction symbols, expressions,
    control-flow, functions, objects, templates,
    garbage collection.
  • C/C/Java
  • Real Time Operating Systems Adds concurrency,
    timing control

45
Hardware Subsystems
  • Microprocessor cores
  • DSP cores
  • Field Programmable Gate Arrays (FPGAs)
  • Application specific integrated circuits
  • (ASICs)
  • standard cell/synthesized deigns
  • custom ICS
  • Memory
  • RAM, ROM, PROM, ...
  • Conten addressable memory (CAM)
  • Specialized DRAMs, multi-bank memories,
  • System Bus structures interfaces
  • I/O interfaces
  • Others

46
Hardware languages
  • Specifying connected gates concisely
  • Originally targeted at simulation
  • Discrete event semantics skip idle portions
  • Mixture of structural and procedural modeling
  • Hardware Languages
  • Verilog
  • Structural and procedural modeling
  • Four-valued vectors
  • Gate and transistor primitives
  • Less flexible, succinct
  • VHDL
  • Structural and procedural modeling
  • Few built-in types Powerful type system
  • Fewer built-in features for hardware modeling
  • More flexible, verbose
  • SystemC 1.0, Cynlib VHDL/Verilog in C

47
Hardware/Software Codesign
  • Most systems and mixed between hardware and
    software.
  • Traditional Design
  • SW and HW partitioning is decided at an early
    stage, and designs proceed separately from then
    onward.
  • CAD today addresses synthesis problems at a
    purely hardware level
  • efficient techniques for data-path and control
    synthesis down to silicon.
  • ECS use diverse (commodity) components
  • uP, DSP cores, network and bus interfaces, etc.
  • "New fangled" Codesign
  • A flexible design strategy, wherein the HW/SW
    designs proceed in parallel, with feedback and
    interaction occurring between the two as the
    design progresses.
  • Final HW/SW partition/allocation is made after
    evaluating trade-offs and performance of options.

48
Examples of mixed hardware-software embedded
systems
  • Embedded controllers for reactive real-time
    applications are implemented as mixed
    software-hardware systems. These controllers
    utilize Micro-processors, Micro-controllers and
    Digital Signal Processors but are neither used
    nor perceived as computers. Generally, software
    is used for features and flexibility, while
    hardware is used for performance. Some examples
    of applications of embedded controllers are
  • Consumer Electronics microwave ovens, cameras,
    compact disk players.
  • Telecommunications telephone switches, cellular
    phones.
  • Automotive engine controllers, anti-lock brake
    controllers.
  • Plant Control robots, plant monitors.

49
Embedded System Design
  • Modelling
  • the system to be designed, and experimenting with
    algorithms involved
  • Refining (or partitioning)
  • the function to be implemented into smaller,
    interacting pieces
  • HW-SW partitioning Allocating
  • elements in the refined model to either (1) HW
    units, or (2) SW running on custom hardware or a
    general microprocessor.
  • Scheduling
  • the times at which the functions are executed.
  • This is important when several modules in the
    partition share a single hardware unit.
  • Mapping (Implementing)
  • a functional description into (1) software that
    runs on a processor or (2) a collection of
    custom, semi-custom, or commodity HW.

50
References
  • Kopetz, H. , Real-Time Systems Design Principles
    for Distributed Embedded Applications.
  • Calton Pu, 1B RTE Concepts and Examples
  • A Framework for Hardware-Software Co-Design of
    Embedded Systems, University of California,
    Berkeley.
  • http//www.ics.uci.edu/rgupta/ics212/w2002/models
    .pdf
  • http//www.ics.uci.edu/rgupta/ics212/w2002/intro.
    pdf
  • http//www.cs.unb.ca/courses/cs4405/lectures/real-
    time.pdf
  • http//www.ece.cmu.edu/koopman/des_s99/real_time/
    introduction
  • http//en.wikipedia.org/wiki/
  • http//www.ics.uci.edu/rgupta/iec/introduction/
Write a Comment
User Comments (0)
About PowerShow.com