Professional Documents
Culture Documents
Real Time and Embedded Systems
Real Time and Embedded Systems
Source: https://www.cise.ufl.edu/~mssz/CompOrg/CDAintro.html
Source: https://www.electronicshub.org/dtmf-mobile-controlled-robot-without-microcontroller/
▪ Book 4: Russell, D. J. (2010). Introduction to embedded systems: using ANSI C and the arduino
development environment. Synthesis Lectures on Digital Circuits and Systems, 5(1), 1-275.
▪ However, the concept of time is not an intrinsic property of a control system. It is always
dependent on the environment / scenario.
▪ A system whose correctness depends not only on the correctness of logical results (e.g.,
decisions), but also on the time at which the results are produced.
▪ In fact, whereas the objective of fast computing is to minimize the average response time
of a given set of tasks, the objective of real-time computing is to meet the individual timing
requirement of each task
▪ In fact, whereas the objective of fast computing is to minimize the average response time of a
given set of tasks, the objective of real-time computing is to meet the individual timing
requirement of each task.
▪ When different computational activities have different timing constraints, average performance
has little significance for the correct behaviour of the system.
▪ As we have seen in previous examples, real time systems focus on performing specific tasks within
a specific deadline. Tasks can be categorized into:
▪ Hard: A real-time task is said to be hard if producing the results after its deadline may cause
catastrophic consequences on the system under control
▪ Firm: A real-time task is said to be firm if producing the results after its deadline is useless for
the system, but does not cause damage
▪ Soft: A real-time task is said to be soft if producing the results after its deadline still has some
utility for the system, although causing performance degradation
▪ Hard tasks are often found in safety-critical systems related to sensing, actuation and control such
as the following:
▪ Examples of firm tasks: video streaming, on-line image processing, sensory data-transmission.
▪Timeliness: Results have to be correct not only in value but also in the time domain. As a
consequence, the operating system must provide specific kernel mechanisms for time management
and for handling tasks with explicit timing constraints and different criticality.
▪ Robustness: Real-time systems must not collapse when they are subject to peak-load conditions,
so they must be designed to manage all anticipated load scenarios.
▪ Fault tolerance: Single hardware and software failures should not cause the system to crash.
▪ The first component that affects the predictability of the scheduling is the processor itself. The
internal characteristics of the processor, such as instruction prefetch, pipelining, cache memory,
and direct memory access (DMA) mechanisms, are the first cause of nondeterminism.
▪ Other important components that influence the execution of the task set are the internal
characteristics of the real-time kernel, such as the scheduling algorithm, the synchronization
mechanism, the types of semaphores, the memory management policy, the communication
semantics, and the interrupt handling mechanism
▪ The operations are implemented as procedures, and are placed in a pre-defined list covering every minor
cycle.
▪ When a minor cycle begins, the timer task calls each procedure in the list.
▪ Concurrency is not used; long operations must be manually broken to fit frames.