2. Outline
• Course Objective
• Delivery , Assessment and Books/Reference Materials
• Tools/ Simulators
• A “short list” of embedded systems
• Definitions of Embedded Systems and Real time systems
• Simple view of real time systems
• Structure of Real time systems
• Example : weapons defense system
3. Course Objective
• This course studies issues related to the design and analysis of
systems with real-time constraints.
• The problem of ensuring such constraints is ultimately a
scheduling problem.
• Real-time applications such as factory automation, avionics and
remote sensing are distinguished by the fact that their
functional semantic is coupled with temporal correctness.
• It provides a broad introduction to real time systems and their
programming.
• Covered topics include time management, language and tool
support, real time operating systems, tasks and semaphores,
kernel objects, exception and interrupts, memory management,
scheduling theory, modularizing for concurrency,
synchronization and communication.
6. Text Books & References
• Qing Li , Real Time Concept for Embedded Systems ,CMP Books, 2003
• Sam Siewert - Real-Time Embedded Components and Systems-
Cengage Learning (2006)
7. Tools/Simulators
• Embedded system design with Microcontroller;
• 8051 microcontroller --- 8051 programming kits (keil C51 compiler)
• PIC --- PIC programmer (MPLAB PICKIT 4) (MPLAB X IDE)
• ARM microcontroller --- ARM based development Kit (MDK-ARM version 5)
• Embedded system design with Arduino;
• Arduino development Kit (Arduino Uno/Mega2560 )
• Arduino software (IDE)
• Xilinx Embedded Development kit : MicroBlaze
• Embedded system design with Xilinx Zynq FPGA and Vivado
9. Definition of Embedded Systems
• A general definition of embedded systems is: embedded systems are
computing systems with tightly coupled hardware and software
integration, that are designed to perform a dedicated function.
• Embedded systems do not provide standard computing services and
normally exist as part of a bigger system
• Embedded systems are usually constructed with the least powerful
processors that can meet the functional and performance
requirements
• The embedded systems’ developers have to manage with complex
algorithms to manage resources in the most optimized manner.
10. Embedded Processor & Application
Awareness
• General Purpose Processors
• Complex, Provide wide and full scale features and functionalities
• Expensive, Higher Power consumption and Size
• Embedded Processors
• Special‐purpose processors designed for a specific class of applications
• Focuses on size, power consumption, and price
• Another class of embedded processors focuses on performance
• e.g. Network Processors, DSP
11. Embedded system vs general-purpose
computing devices
1. Functionality
• An embedded system is designed simply for a specific function
• e.g. temperature controller
• A general-purpose computing device is designed for a wide range of
applications;
• e.g. smartphone, laptop or desktop can be used as web servers or data warehouse,
or can be used for writing articles, reading news or playing games.
2. Hardware software integration
• An embedded system is commonly built together with the software
intended to run. Such a parallel model of developing hardware and
software together is known as hardware software co-design.
• A general-purpose computing device is often built independently from the
software applications that may run on it.
12. Some common characteristics of
embedded systems
• Single‐functioned
• Executes a single program, repeatedly
• Tightly‐constrained
• Low cost, low power, small, fast, etc.
• Reactive and real‐time
• Continually reacts to changes in the system’s environment
• Must compute certain results in real‐time without delay
14. Definition of Real Time Systems
• Donald Gillies “A real‐time system is one in which the correctness of
the computations not only depends upon the logical correctness of
the computation but also upon the time in which the result is
produced. If the timing constraints are not met, system failure is said
to have occurred.”
• In most of the real‐life applications, real‐time systems often work in
an embedded scenario and most of the embedded systems have real
time processing needs
16. Structure of Real Time System
• Interaction between
controlling and
controlled systems
• 1. Periodic
• Communication is
initiated by the
controlling system
• Communication is
predictable
• 2. Aperiodic
• Communication is
initiated by the controlled
system
• Communication is
unpredictable
17.
18. weapons defense system
• Imagine a real-time weapons defense system whose role is to protect a naval
destroyer by shooting down incoming missiles. The idea is to shred an incoming
missile into pieces with bullets before it reaches the ship. The weapons system
is comprised of a radar system, a command and-decision (C&D) system, and
weapons firing control system. The controlling system is the C&D system,
whereas the controlled systems are the radar system and the weapons firing
control system.
• The radar system scans and searches for potential targets. Coordinates of a
potential target are sent to the C&D system periodically with high frequency
after the target is acquired.
• The C&D system must first determine the threat level by threat classification
and evaluation, based on the target information provided by the radar system. If
a threat is imminent, the C&D system must, at a minimum, calculate the speed
and flight path or trajectory, as well as estimate the impact location. Because a
missile tends to drift off its flight path with the degree of drift dependent on the
precision of its guidance system, the C&D system calculates an area (a box)
around the flight path.
19. weapons defense system cont…
• The C&D system then activates the weapons firing control system closest to the
anticipated impact location and guides the weapons system to fire continuously
within the moving area or box until the target is destroyed. The weapons firing
control system is comprised of large-caliber, multi-barrel, high-muzzle velocity,
high-power machine guns.
• In this weapons defense system example, the communication between the radar
system and the C&D system is aperiodic, because the occurrence of a potential
target is unpredictable and the potential target can appear at any time. The
communication between the C&D system and the weapons firing control system
is, however, periodic because the C&D system feeds the firing coordinates into
the weapons control system periodically (with an extremely high frequency).
• Initial firing coordinates are based on a pre-computed flight path but are updated
in real-time according to the actual location of the incoming missile
20. Example : weapons defense system
• Controlling System : C&D system
• Controlled System : Radar, Weapon firing control
• Communication between the radar system and the C&D system is
aperiodic.
• The communication between the C&D system and the weapons firing
control system is, however, periodic
22. Types of real time system
• Similar to embedded systems, real-time systems also have substantial
knowledge of the environment of the controlled system and the
applications running on it. This reason is one why many real-time systems
are said to be deterministic, because in those real-time systems, the
response time to a detected event is bounded. The action (or actions)
taken in response to an event is known a priori.
• A deterministic real-time system implies that each component of the
system must have a deterministic behavior that contributes to the overall
determinism of the system. As can be seen, a deterministic real-time
system can be less adaptable to the changing environment. The lack of
adaptability can result in a less robust system. The levels of determinism
and of robustness must be balanced. The method of balancing between
the two is system- and application-specific.
23. Soft RTOS…
• In a soft real-time system, it is considered undesirable, but not
catastrophic, if deadlines are occasionally missed.
• Also known as “best effort” systems
• Most modern operating systems can serve as the base for a soft real
time systems.
• Examples:
• multimedia transmission and reception,
• networking, telecom (cellular) networks,
• web sites and services
• computer games.
24. Hard RTOS…
• A hard real-time system has time-critical deadlines that must be met;
otherwise a catastrophic system failure can occur.
• Requires formal verification/guarantees of being always meet its hard
deadlines (except for fatal errors).
• Examples:
• air traffic control
• vehicle subsystems control
• Nuclear power plant control
25. 25
Design challenge – optimizing design metrics
• Common metrics
• Unit cost: the monetary cost of manufacturing each copy of the system, excluding NRE cost
• NRE cost (Non-Recurring Engineering cost): The one-time monetary cost of designing the system
• Size: the physical space required by the system
• Performance: the execution time or throughput of the system
• Power: the amount of power consumed by the system
• Flexibility: the ability to change the functionality of the system without incurring heavy NRE cost
26. 26
Design challenge – optimizing design metrics
• Common metrics (continued)
• Time-to-prototype: the time needed to build a working version of the system
• Time-to-market: the time required to develop a system to the point that it can be
released and sold to customers
• Maintainability: the ability to modify the system after its initial release
• Correctness, safety, many more