Vous êtes sur la page 1sur 20

Introduction aux systèmes embarqués temps réel

Systèmes embarqués temps réel – GIF-3004


Professeur : Christian Gagné

Semaine 1 : 10 janvier 2017

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 1 / 20


Qu’est-ce qu’un système embarqué ?

Système embarqué : système informatique autonome utilisé pour des


tâches précises dans un système électronique ou mécanique plus
vaste, comportant souvent des contraintes de temps réel
Systèmes embarqués sont omniprésents
I Automobile
I Avionique et aérospatiale
I Électroménagers
I Électronique domestique (téléviseurs, réseautique, consoles de jeu)
I Téléphones intelligents
90 % des microprocesseurs sont fabriqués comme des composantes de
systèmes embarqués
Objets interconnectés (Internet-of-Things) offrent des perspectives
prometteuses
I Maisons et villes intelligentes
I Systèmes de transport intelligents
I Capteurs personnels
SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 2 / 20
Exemples de systèmes embarqués

Domaine public, http://history.nasa.gov/diagrams/ad019.gif

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 3 / 20


Exemples de systèmes embarqués

Tiré de http://www.chipsetc.com/computer-chips-inside-the-car.html

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 4 / 20


Exemples de systèmes embarqués

Tiré de https://www.quora.com/Are-Airbus-planes-that-easy-to-pilot

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 5 / 20


Exemples de systèmes embarqués

Domaine public, https://en.wikipedia.org/w/index.php?curid=35958088

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 6 / 20


Exemples de systèmes embarqués

Par Android Open Source project, CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=52569362

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 7 / 20


Historique des SETR
Années 1960 : systèmes de guidage
I Systèmes de guidage des missiles Minuteman (1961) et Minuteman II
(1966)
I Systèmes de guidage des capsules Apollo (1966)
I On fortement contribué au développement de circuits intégrés
Années 1970 : premiers microprocesseurs et microcontrôleurs
I Intel 4004 (1971) : microprocesseur conçu pour calculatrices et autres
petits dispositifs
I Texas Instrument TMS 1000 (1974) : premier microcontrôleur,
combinant un microprocesseur, de la mémoire et des lignes
d’entrée/sortie
Années 1980-1990 : développement des systèmes d’exploitation
I QNX (1982) : système d’exploitation temps réel commercial, reconnu
pour sa stabilité
I VxWorks (1987) : un autre système d’exploitation temps réel
commercial
I Linux (1991) : clone de Unix, open source
SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 8 / 20
Système temps réel

Système temps réel : système matériel ou logiciel sujet à des


contraintes temps réel
I Par exemple, de devoir répondre en deçà d’une certaine période de
temps à certains événements
Fonctions fondamentales d’un système temps réel
I Collecte d’information (capteurs, communications)
I Actions du système sur son environnement (actuateurs)
I Interactions humain-machine (assister les opérateurs)
Exigences temporelles
I Exigences associées à interactions humain-machine faciles à respecter
I Exigences provenant d’une boucle de contrôle sont beaucoup plus
contraignantes

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 9 / 20


system.
ExempleTheboucle deObject.
Controlled contrôle
Assume that the system of Fig. 1.3 is in equilibrium.
Whenever the steam flow is increased by a step function, the temperature of the
liquid in the vessel will change according to Fig. 1.4 until a new equilibrium is
reached. This response function of the temperature in the vessel depends on the
environmental conditions, e.g., the amount of liquid in the vessel, and the flow of
Exemple d’un système avec boucle de contrôle
steam through the heat exchanger, i.e., on the dynamics of the controlled object.
I Objet contrôlé : cuve contenant un liquide
(In the following section, we will use d to denote a duration and t to denote an
I Capteurs
instant, i.e.,: atempérature
point in time).de la cuve et flot de vapeur
I Actuateur : valve modifiant le débit de vapeur
set point selected
controlling computer system
by an operator
temperature control valve
sensor for steam flow
flow sensor
steam pipe
F
controlled
object

Tiré de Hermann Kopetz. Real-time systems : design principles for distributed embedded applications.
Fig. 1.3 A simple control loop
Springer Science & Business Media, 2011.
temp.

temperature of liquid
90%
SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 10 / 20
temperature control valve
sensor for steam flow
flow sensor

Variabilité des délais controlled


F
steam pipe

object

Fig. 1.3 A simple control loop


Délai et temps de montée de la boucle de contrôle

temp.
temperature of liquid
90%

10%
real-time
dobject drise
on
Fig. 1.4 Delay and rise time steam flow
of the step response off

Variabilité (jitter) dans le délai de traitement 9


1.3 Temporal Requirements

Fig. 1.5 Delay and delay observation of the delay jitter:


jitter controlled object variability of the delay Δd
delay dcomputer output to real-time
the acutator

Variabilité
Table 1.1du délai
Parameters est une
of an elementary source d’incertitude dans les mesures,
control loop
Symbol Parameter Sphere of control 1 TheRelationships
comparativement
d
10
object à delay
Controlled object un délai Controlledconnu
object constant
Real-Time Environment
Physical process
driseFig. 1.6 Rise time of
The effect ofstep
jitterresponse Controlled object Physical process
temp.

dsample Sampling
on the measured periodT
variable Computer dsample < < drise
dcomputer Computer delay Computer
additional
dcomputer < dsample
dT(t)
Ddcomputer Jitter of the computer delay measurement
Computer Ddcomputer ΔT
< =< ddt computer

ddeadtime Dead time error ΔT


Computer and controlled dcomputer + dobject
object
jitter Δd real-time

Figures tirées de Hermann Kopetz. Real-time systems : design principles for distributed embedded applications.
time for performing the calculations, the computer delay is determined by the time
Springer Science & Business
1.3.3forMedia,
required Minimal 2011.
Error-Detection
communication Latency
and the reaction time of the actuator.
SETR – GIF-3004 (U. Laval)
Parameters of a Control Loop. Table 1.1Introduction
summarizes theaux SETR
temporal parameters that C. Gagné 11 / 20
Temps réel dur et doux

Système temps réel dur : doit toujours produire le résultat attendu au


moment approprié
I Plus permissif sur les contraintes avec temps réel doux
Caractéristiques et comparaison
Caractéristique Temps réel dur Temps réel doux
Temps de réponse Temps court et Temps plus long et man-
échéances strictes quement d’échéances
toléré
Performance à charge Prévisible Dégradation possible
maximale
Cadence de contrôle Dictée par l’environne- Dictée par l’ordinateur
ment
Sûreté Souvent critique Non-critique
Taille des fichiers de Petite/moyenne Grande
données
Redondance Active Points de reprise (check-
pointing)
Intégrité des données Court terme Long terme
Détection d’erreurs Autonome Assisté par l’usager

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 12 / 20


Sûreté de fonctionnement (dependability)
Fiabilité : probabilité qu’un système offrira service jusqu’au temps t,
sachant qu’il est opérationnel au temps t0
Sûreté : fiabilité d’un système relativement à l’atteinte d’un état
d’échec critique
I Faute maligne : mène à un état d’échec critique
I Faute bénigne : peut être réparée
Maintenabilité : temps nécessaire pour réparer un système après une
faute bénigne
Disponibilité : fraction du temps où un système est en service
MTTF MTTF
disponibilité
1.5 Classification of Real-Time Systems = = 13
MTTF + MTTR MTBF
Fig. 1.7 Relationship up failure repair failure
between MTTF, MTBF and system state MTBF
MTTR MTTR MTTF
down
real-time
Tiré de Hermann Kopetz. Real-time systems : design principles for distributed embedded applications.
Springer Science & Business Media, 2011.
A high availability can be achieved either by a long MTTF or by a short MTTR.
The designer
Sécurité has thus some freedom
: authenticité in the selectionde
et intégrité of her/his approach to the ainsi que capacité
l’information,
construction of a high-availability system.
à prévenir les accès non autorisés
SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 13 / 20
Gestion de défaillances

Avec temps réel dur, un ou plusieurs états sûrs doivent être identifiés
en cas de défaillance
I Si ces états peuvent être atteints rapidement, le système est sûr en
cas de défaillance (fail-safe)
I En cas de défaillance, un système sûr en cas de défaillance doit avoir
une probabilité de détection proche de 1 (high error-detection coverage)
Dans certaines circonstances, un état sûr ne peut pas être atteint
I Ex. système de contrôle de vol d’un avion
I Le système doit être opérationnel en cas de défaillance
(fail-operational), offrant un niveau de service minimal permettant
d’éviter des catastrophes

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 14 / 20


Autres caractéristiques du temps réel
Réponse garantie vs meilleur effort
I Si hypothèses précises sur charge et fautes rencontrées peuvent être
énoncées, on parle d’un système avec réponse garantie
(guaranteed-response)
I Probabilité de défaillance revient alors à probabilité que les hypothèses
de charge et de fautes ne soient pas respectées
I Sinon une telle réponse analytique n’est pas possible, on parle d’un
système avec le meilleur effort (best-effort)
Types de contrôle
I Contrôle activé par le temps : activités produites l’interne, par
l’horloge
I Contrôle activé par un évènement : activités initiées par des
évènements externes
F Requiert un ordonnancement dynamique des tâches
I Exemple illustratif : lecture des boutons d’appel d’un ascenseur
F Contrôle activé par le temps : lecture des boutons est périodique
(pooling)
F Contrôle activé par un évènement : appuyer sur un bouton génère une
interruption immédiate au système
SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 15 / 20
Systèmes d’exploitation pour l’embarqué
Stratégies pour implémentation de systèmes embarqués
I Fonction unique : courte routine en assembleur
I Programme unique : programme plus élaboré, souvent en langage C
I Tâches parallèles : super-boucle codée par l’utilisateur pour exécution
concourante de plusieurs tâches
I Système d’exploitation temps réel (RTOS) : système d’exploitation
minimaliste, destiné pour l’embarqué, avec ordonnancement et autres
primitives permettant le temps réel
I Système d’exploitation d’usage général (GPOS) : système d’exploitation
générique avec grande variété de fonctionnalités, ne comportant pas
nécessairement toutes les fonctionnalités pour le temps réel
I Système d’exploitation parallèle : système d’exploitation pour systèmes
multiprocesseurs
Programme / Tâches
Fonction application parallèles
unique (ASM) unique (C) (super-boucle) RTOS GPOS OS parallèle

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 16 / 20


Architecture ARM

ARM (Advanced RISC Machine) : famille d’architectures RISC de


microprocesseurs
I Lancée dans les années 1980 par la compagnie anglaise Acorn
Computers
I Se démarque par des designs à faible consommation énergétique
I Compagnie indépendante dans les années 1990, licencie l’architecture à
des tiers (Apple, DEC)
I En 2013, 10M de puces fabriquées, près 60% des dispositifs mobiles
comportent une composante ARM
Conception de composantes
I Propose des solutions intégrables dans des designs plus vastes
I Solutions complètes (system-on-a-chip) aussi offertes
I Compagnie ARM ne fabrique pas de puces
Dernière version : ARMv8
I Architecture 64 bits multi-cœurs
I Présent dans iPhone (5S et suivants), Android, Raspberry Pi 3

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 17 / 20


Plateforme Raspberry Pi 3

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 18 / 20


Unix et POSIX

Unix : famille de systèmes d’exploitation multitâche et


multiutilisateurs
I Origine de AT&T, fin années 1960, conçu pour être portable, basé sur
une certaine philosophie
I Modèle de système d’exploitation générique, utilisable à différentes
échelles (embarqué autant que supercalculateurs)
I Nombreuses variantes, Linux est la plus connue
Langage C : développé par la même équipe que Unix
I Conçu pour se compiler efficacement en code machine
I Élément central pour rendre Unix portable
POSIX : standardisation de Unix
I Offre une interface système standardisée, permettant une portabilité au
niveau du code (compilation nécessaire)
I Offre entre autres API C pour appels standards au système
d’exploitation

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 19 / 20


Linux et le temps réel

Linux essentiellement un reimplémentation de Unix, conforme à


POSIX
I Système d’exploitation d’usage général avec la plus grande base
d’installation (surtout grâce à Android)
Linux ne permet pas pleinement le temps réel
I Processus réguliers doivent être préemptés par processus temps réel
I Accès exclusif à certaines ressources
Patch PREEMPT RT
(https://wiki.linuxfoundation.org/realtime/start)
I Modèles de préemption supplémentaires pour temps réel
I Contrôle des ressources alloués au temps réel, pour éviter des bloquages
I Offre plusieurs algorithmes d’ordonnancement supplémentaires
I Gestion du problème d’inversion de la priorité

SETR – GIF-3004 (U. Laval) Introduction aux SETR C. Gagné 20 / 20

Vous aimerez peut-être aussi