Vous êtes sur la page 1sur 163

Calculateurs Temps Réel

Cours Calculateurs Temps Réel

Lotfi BOUSSAID
Département de Génie Électrique
Ecole Nationale d’Ingénieurs de Monastir

LotfiBoussaid@yahoo.fr

2016 - 2017

Lotfi BOUSSAID Cours Calculateurs Temps Réel 1


Calculateurs Temps Réel
Plan du cours

1. Les Systèmes Temps Réel et l’Industrie


2. Les Systèmes d’Acquisition de données
3. Les Systèmes d’Exploitation (OS)
4. Les Systèmes d’Exploitation Temps Réel (RTOS)
5. Les STR embarqués : les SOC et les SOPC
6. Les Calculateurs Dédiés au Temps Réel

Lotfi BOUSSAID Cours Calculateurs Temps Réel 2


Calculateurs Temps Réel
Plan du cours

1. Les Systèmes Temps Réel et l’Industrie


2. Les Systèmes d’Acquisition de données
3. Les Systèmes d’Exploitation (OS)
4. Les Systèmes d’Exploitation Temps Réel (RTOS)
5. Les STR embarqués : les SOC et les SOPC
6. Les Calculateurs Dédiés au Temps Réel

Lotfi BOUSSAID Cours Calculateurs Temps Réel 3


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Evolution Technologique
Au niveau Matériel (Hardware)

– (1638) 1er Ordinateur de Blaise Pascal

– (1890) La machine mécanographique à carte perforée de Hollerith

– (1936) L’invention de la triode par Lee de Forest

– (1947) John Van Neumann invente la base moderne des calculateurs

– (1950) Naissance des premiers calculateurs à base de transistors

– (1973) Premier calculateur en technologie LSI

– (1974) Invention de la carte à puce par Moréno

– (1981) l’arrivée du Personnel Computer PC (IBM)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 4


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Evolution Technologique
Au niveau Matériel (Hardware)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 5


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Evolution Technologique
Au niveau Logiciel (Software)

– (1950) Naissance du langage assembleur

– (1954) Développement du 1er langage de haut niveau : le Fortran

– (1969) Développement du système UNIX

– (1970) Mise au point du langage C

– (1983) Naissance du C++

– (1985) Apparition de Windows 1.0

– (1991) Naissance des logiciels libres – Linux et ses variantes

– (2000) C# et la programmation visuelle

Lotfi BOUSSAID Cours Calculateurs Temps Réel 6


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Géolocalisation
Evolution Technologique
Au niveau des applications

Pilotage Automatique

Réalité virtuelle

Lotfi BOUSSAID Cours Calculateurs Temps Réel 7


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Evolution Technologique
Au niveau des applications

Localisation géographique,
dépannage en cas de crash
et demande d’urgence

Lotfi BOUSSAID Cours Calculateurs Temps Réel 8


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Evolution Technologique
Au niveau des applications

Lotfi BOUSSAID Cours Calculateurs Temps Réel 9


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Définitions

Qu’est-ce qu’un Système temps réel ?

Un système temps réel est un système qui contrôle ou pilote


un procédé physique à une vitesse adaptée à l’évolution de ce
procédé quelles que soient les conditions d’utilisation

Lotfi BOUSSAID Cours Calculateurs Temps Réel 10


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Définitions
• Temps réel strict/dur (hard real-time) : le non respect d’une contrainte de temps a des
conséquences graves (humaines, économiques, écologiques) : besoin de garanties

Vol en pilotage
automatique

Lotfi BOUSSAID Cours Calculateurs Temps Réel 11


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Définitions
• Temps réel strict/dur (hard real-time) : le non respect d’une contrainte de temps a des
conséquences graves (humaines, économiques, écologiques) : besoin de garanties

Le système sera
temps réel si, et
seulement si, il est
capable de traiter
tous les événements
dans le temps
imparti.

Ligne métro parisien sans conducteur

Lotfi BOUSSAID Cours Calculateurs Temps Réel 12


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Définitions
Automotive embedded vision

Lotfi BOUSSAID Cours Calculateurs Temps Réel 13


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Définitions
Automotive embedded vision - Google’s Self-Driving

La conduite automatique
proposée par GOOGLE
est un exemple parfait de
vision embarquée
combinant des cameras,
des radars et capteurs
ultrasonics avec une
variété de DSP et de
processeurs.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 14


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Définitions
• Temps réel souple/mou (soft real-time) : on peut tolérer le non respect occasionnel d’une
contrainte de temps (garanties probabilistes)

La gestion d’une salle de marché,


avec tout le traitement des
données boursières que cela
comporte, ne fait ainsi pas appel à
de véritables systèmes temps réel,
car on attend du système qu’il
fournisse des informations justes,
mais dans un délai qualifié « d’au
mieux ».

La bourse de Wall Street à New-York.


Lotfi BOUSSAID Cours Calculateurs Temps Réel 15
Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Définitions

 Un système temps réel est un système réactif devant fournir des sorties logiquement correctes tout en
respectant strictement des contraintes temporelles explicites

 Tout système réactif est au minimum un système temps réel souple.

 Le terme "temps réel" est généralement assimilé à "temps réel dur". Ce sont les systèmes de ce type
qui posent des problèmes spécifiques tant d'analyse que de réalisation et de validation.

 Le "temps réel" n'est pas un problème de rapidité intrinsèque. Il suffit de respecter les contraintes de
temps imposées par l'environnement.

 La structure embarquée ou détachée du système n'en change pas les principes. Elle n'influence que le
type de solution retenue qui sera spécifique ou standard et plus ou moins réutilisable.

 La plupart des systèmes dits "temps réel" comportent à la fois des fonctions temps réel dures et des
fonctions temps réel souples.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 16


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Définitions
Mauvaises interprétations de la notion de Temps Réel

« Real-time is not real-fast » ou « rien ne sert de courir, il faut arriver à temps »

Aller vite n’est pas l’objectif recherché

Lotfi BOUSSAID Cours Calculateurs Temps Réel 17


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Définitions
Le temps de réponse d’un système
Le temps de réponse, ou temps de latence, est le décalage temporel
entre une commande et sa réalisation.

Le temps de cycle d’un système


Cette notion s’applique correctement aux systèmes échantillonnés et
se calcule grâce au théorème de Shannon.
De plus, le temps de traitement cyclique de l’information doit
respecter en tout point le temps de réponse du système pour
assurer une gestion pertinente du procédé.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 18


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Les différents niveaux d’une application

Niveau 1 : Partie Commande


Matériel et Logiciel
Le procédé qu’il faut contrôler ;
Entrées Sorties

Partie Opérative
Niveau 2 : Capteurs et Actionneurs

la partie opérative qui est


Couplage
constituée de l’ensemble des Partie opérative et procédé
capteurs et actionneurs formant
l’interface entre le procédé et la
partie commande ;
Procédé
Produit traité

Lotfi BOUSSAID Cours Calculateurs Temps Réel 19


Les Systèmes Temps Réel et l’Industrie
Calculateurs Temps Réel

Les différents niveaux d’une application


Niveau 3 :
le contrôle commande de l’ensemble et Partie Commande
à ce titre effectue l’ensemble des Matériel et Logiciel
traitements : Sorties
Entrées
- Les traitements de supervision qui
assurent l’interface avec l’utilisateur.
- Les traitements de contrôle Partie Opérative
commande gérant l’ensemble des Capteurs et Actionneurs
entrées-sorties.
Couplage
- Les traitements des boucles Partie opérative et procédé
d’asservissements et/ou des arcs
réflexes pour ceux qui ne sont pas
traitées par les capteurs actionneurs Procédé
intelligents. Produit traité

Lotfi BOUSSAID Cours Calculateurs Temps Réel 20


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Le temps réactionnel d’un chauffeur est 1/10ème de seconde

(Temps réactionnel : temps nécessaire pour le passage de l’influx nerveux de l’œil


jusqu’au muscle, c’est-à-dire de la perception du signal visuel jusqu’au freinage.)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 21


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les axes de communication d’un système


L’axe vertical permet la
transmission des ordres ainsi que
la remontée des informations de
contrôle commande et des
données à enregistrer.

L’axe horizontal supporte la


communication inhérente aux
traitements de communication et
de synchronisation entre les
différents éléments constitutifs de
l’application.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 22


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

La décomposition en fonctions
Cette décomposition fonctionnelle est le résultat d’une analyse méthodologique
mettant en exergue l’aspect fonctionnel.

À titre d’exemple, la réalisation d’un système de navigation et d’attaque d’un


avion engendrerait un découpage de type :
- Radar;
- Système avion,
- Contre-mesure,
- Reconnaissance, ...

Celui d’un métro serait décomposé en :


- Traction/freinage;
- Gestion des portes;
- Pilotage automatique, ...

Lotfi BOUSSAID Cours Calculateurs Temps Réel 23


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Le Temps réel et ses composantes


L’axe temporel permet de définir les différentes contraintes temporelles en
fonction d’un point de vue : l’homme a un temps de réponse qui est de l’ordre
de la seconde.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 24


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les différents types de matériel

Système Temps de
Fonction Matériel
d’exploitation réponse

IHM PC XP, Linux >100ms

Contrôle
commande Station de Travail Lynx OS, HPUX 10 ms à 100 ms
globale
1 ms à 10 ms
Fonction TR Calculateur TR VxWorks, VRTX
(voire 100 µs)
Prise en compte OS + Gestion des
Calculateur TR 10 µs à 100 µs
Événements interruptions
Composants Machines à états
Arcs Réflexes < 10 µs
spécialisés finis (FSM)

Source : Christian Garnier, Laboratoire Temps Réel ISEP, les systèmes temps réel et l’industrie, Décembre 2005

Lotfi BOUSSAID Cours Calculateurs Temps Réel 25


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les choix offerts aux réalisateurs


Pour réaliser un système temps réel, le concepteur dispose
au moins de 5 axes de liberté :

1. L’Architecture ;

2. La Communication entre les Processus ;

3. La Technologie des Calculateurs ;

4. Les Systèmes d’Exploitation ;

5. Et les Langages.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 26


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les choix offerts aux réalisateurs


1. L’Architecture :
A ce niveau, on doit prendre en compte les différentes contraintes de l’application :

− La CEM (Compatibilité Electromagnétique),


− La distance entre les équipements,
− La distance totale,
− les volumes de données à transférer,
− Les contraintes associées telles que le temps de réponse et la qualité de
service.
− Prise en compte des entrées sorties et des moyens d’interconnexion avec
le reste du système.
− L’architecture doit aussi être en parfaite adéquation avec le choix du
système d’exploitation,
Lotfi BOUSSAID Cours Calculateurs Temps Réel 27
Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les choix offerts aux réalisateurs


2. La Communication entre les processus :
Mise en œuvre dans les années 80 du protocole IPC (Inter Process Communication)
sous le contrôle des systèmes d’exploitation. :

Nous utilisons maintenant des « systèmes décentralisés ou distribués », qui


nécessitent une communication entre processus distants fonctionnant sur des
processeurs différents et utilisant des systèmes d’exploitation différents.

- En militaire on utilise des réseaux durcis garantissant le déterminisme des


échanges d’informations dans le système (mil-std 1553, digibus, ...),
- En avionique : réseaux à normes ARINC (Arinc429, Arinc653, ...).,
- AIRBUS : nouveau réseau de communication AFDX (Avionics Full Duplex
eXchange),
- Automatisme : Profibus-DP, Interbus-S, ASI-bus
- Automobile : bus CAN
- Train : le TCN (Train Communication Network) comprenant le MVB (Multiple
Vehicule Bus) et le WTB (Wire Train Bus).

Lotfi BOUSSAID Cours Calculateurs Temps Réel 28


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les choix offerts aux réalisateurs


3. La technologie des Calculateurs :
Multitude de solutions technologique au niveau des calculateurs et/ou
processeurs :

- PC avec ses différentes variantes ;


- Station de travail ;
- Calculateurs temps réel ;
- Rack VME avec une ou plusieurs cartes CPU et une collection de cartes
d’entrées-sorties ;
- Module spécialisé à base d’ASIC (SOC)
- Module à base de circuits SOPC

Lotfi BOUSSAID Cours Calculateurs Temps Réel 29


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les choix offerts aux réalisateurs


3. La technologie des Calculateurs :
Le Monde du PC

• PC XT : 8086 (1978) – 16 bits, 10 MHz

• PC AT : 80286 (1982) – 16 bits, 16 MHz, Multitâches


– 80386 SX/DX (1985) – 16/32 bits, 33 MHz, Pipeline
– 80486 (1989) – 32 bits, 66 MHz, 8 Ko de cache, superscalaire
(2 pipelines)
– Pentium Pro (1995) – 64 bits, 200 MHz
– Pentium II (1997) – 64 bits, 450 MHz, Technologie MMX
(57 Instructions)
– Pentium III (1999) – 64 bits, 1 GHz, Image 3D
– Pentium IV (1995) – 64 bits, jusqu ‘à 3 GHz
– Dual Core – 4 Mots de 64 bits / Cycle d’horloge, Bande passante
6,4 à 8,5 Ghz/s entre processeur et chipse
Pentium IV

Lotfi BOUSSAID Cours Calculateurs Temps Réel 30


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les choix offerts aux réalisateurs


3. La technologie des Calculateurs :
Les stations de travail
Fonction de contrôle et commande, IHM

– Monoprocesseur
– Biprocesseurs et Multiprocesseurs
– Ex: SUN Ultra Sparc 5 – 64 bits, 400 MHz, Multitâches, 2 Mo de cache
interne, Calcul à virgule flottante, Architecture UPA (Ultra Port Architecture
) pour le graphique.

Sun Microsystems

Lotfi BOUSSAID Cours Calculateurs Temps Réel 31


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les choix offerts aux réalisateurs


3. La technologie des Calculateurs :
Les calculateurs temps réel
Fonction TR
– (1985-1995) Rack VME (Bus Versa Module Europe
– Une ou plusieurs cartes CPU de la famille MC68000 (puis PowerPC)
– Une collection de cartes d’entrées sorties

Lotfi BOUSSAID Cours Calculateurs Temps Réel 32


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les choix offerts aux réalisateurs


3. La technologie des Calculateurs :
Les processeurs spécialisés
Fonction de contrôle d’évènements

– Microcontrôleurs (Architecture RISC)


• Microchip : PIC16Fxxx, PIC18Fxxx, etc.
• Motorolla : 68HC11, 68HC12, etc.
– DSP et DSPIC à virgule fixe et flottante
• Fujitsu, Intel, Siemens, Texas Instrument
– Processeurs intelligents (flou, neuronaux)
– Microcontrôleurs supportant des liaisons haut débit
• CAN, I2C, Ethernet, USB, etc.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 33


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les choix offerts aux réalisateurs


3. La technologie des Calculateurs :
Les solutions spécialisés
Applications complexes (embarquées, mobile, aéronautique)
Plus que 100 millions de transistors depuis 2003

Vers la conception de SOC et SOPC


Lotfi BOUSSAID Cours Calculateurs Temps Réel 34
Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les choix offerts aux réalisateurs


4. Les Systèmes d’Exploitation :
Le choix du système d’exploitation est un élément important qu’il est
nécessaire d’effectuer afin de satisfaire les contraintes inhérentes à
l’application :

- Système d’exploitation
Unix, LynxOS, HPUX, ..., Windows, XP, CE, XP Embedded,
Linux, OS9, etc.

- Système d’exploitation temps réel


VxWorks, VRTX, OSE, μCOS, FreeRTOS, OSEC, etc.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 35


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les choix offerts aux réalisateurs


5. Les langages :
Les langages de haut niveau font aussi partie des critères de choix :

- C, C++ ;
- JAVA ;
- ADA ;
- LABVIEW ;
- WINDEV ;
- HANDEL-C ;
- DELPHI ;
- Etc.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 36


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les contraintes d’un STR

• Prise en compte des réels besoins fonctionnels de l’application


– Les spécifications d’un STR (cahier des charges)
– Méthodes « essai  échec  Modification
• Prise en compte des contraintes applicables à l’application
– Le cycle de vie de l’application (Time-To-Market)
– L’aspect géographique
– Le choix des composants : Processeur, OS, le langage, etc.
• La qualité et la sûreté de fonctionnement
– La fiabilité
– La maintenabilité
– La disponibilité
– La sécurité

Lotfi BOUSSAID Cours Calculateurs Temps Réel 37


Les Systèmes
Calculateurs Temps
Temps Réel Réel et l’Industrie

Les contraintes d’un STR


• Contraintes de temps
– Choix de l’ordre d’exécution des fonctions
(Ordonnancement des calculs)
– Déterminisme d’exécution (predictability)
• On doit connaître pour tous les calculs effectués (application, OS) leur temps
de calcul de manière sûre (non sous-estimée)
– Validation des contraintes de temps à partir de la charge de travail
• Modèle du système et de la charge : analyse d’ordonnançabilité

• Contraintes de consommation et de surface


– Systèmes embarqués

Lotfi BOUSSAID Cours Calculateurs Temps Réel 38


Calculateurs Temps Réel
Plan du cours

1. Les Systèmes Temps Réel et l’Industrie


2. Les Systèmes d’Acquisition de données
3. Les Systèmes d’Exploitation (OS)
4. Les Systèmes d’Exploitation Temps Réel (RTOS)
5. Les STR embarqués : les SOC et les SOPC
6. Les Calculateurs Dédiés au Temps Réel

Lotfi BOUSSAID Cours Calculateurs Temps Réel 39


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Les chaînes d’acquisition


Les systèmes d’acquisition de données assurent une double conversion :

- Conversion des phénomènes continus en phénomènes


discontinus, par prise d’échantillons bien choisis.

- Conversion des grandeurs analogiques en grandeurs numériques.

Les Composantes d’une Chaîne d’acquisition

Filtre passe-bas
Capteur Conditionneur Anti-repliement Échantillonneur CAN

Lotfi BOUSSAID Cours Calculateurs Temps Réel 40


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Les critères de choix d’une chaîne d’acquisition


– Résolution et précision
– Nombre de canaux à traiter
– Vitesse d’échantillonnage demandée par canal
– Isolation entre canaux et taux de réjection en mode commun
– Utilisation ou non d’ampli à gain programmable.

Problématique
CAN et échantillonnage  erreurs :
• bruit de quantification
• perte d’informations à l’échantillonnage

Solution
 Réglage de la dynamique
 Réglage de la fréquence d’échantillonnage

Lotfi BOUSSAID Cours Calculateurs Temps Réel 41


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Échantillonneur bloqueur
- Prendre un échantillon de la tension d’entrée
- Maintenir cette valeur stable pendant toute la durée de la conversion.

Principe :

Influence des
constantes de
temps de l’E/B

Lotfi BOUSSAID Cours Calculateurs Temps Réel 42


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Échantillonneur bloqueur
Solution 1 :

Temps de charge :
Τcharge = RON C

Temps de décharge :
Τdécharge = Rch C

A t=3xRC  Vh=0,95Ve
A t=5xRC  Vh=0,99Ve

Lotfi BOUSSAID Cours Calculateurs Temps Réel 43


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Échantillonneur bloqueur
Solution 2 :

Structure Interne du LF398

Lotfi BOUSSAID Cours Calculateurs Temps Réel 44


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Expression mathématique d'un signal échantillonné

Lotfi BOUSSAID Cours Calculateurs Temps Réel 45


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Série de Fourier
Définition : Soit f une fonction 2π périodique intégrable sur [-π, π], on définit :

 1 T /2 1 T
T T/2 0
 a 0  f(t) dt  f(t) dt
T

 2 T /2 2 T
 n
a 
T T / 2 f(t) cos(nwt) dt 
T 0 f(t) cos(nnwt) dt , 1  n

 b n  2 T/2 f(t) sin(nt) dt  2 T
T T / 2 0 f(t) sin(nwt) dt, 1  n

 T

La série trigonométrique f ( x)  a   (a cos(nx)  b (sin( nx))


0 n n
n 1

s'appelle la série de Fourier associée à la fonction f

Lotfi BOUSSAID Cours Calculateurs Temps Réel 46


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Exemple 1 :
3 2
Soit un signal d’entrée : e(t )   s cos(nwt ) avec w 
n
n 1
T

 2 k  sin(k / Te )
h(t )   
T T k 1 k / Te
cos(kw et )

k 
h(t )   p cos(kw t   ) avec w  2 / T
k e k e e
k 0

Le signal échantillonné e*m(t) s’écrit donc :

ps
[cos (kw  nw)t     cos (kw  nw)t    ]
k  n  3
e (t )  e(t ).h(t )   
*
m
k n
e k e k
2
k 0 n 1

Lotfi BOUSSAID Cours Calculateurs Temps Réel 47


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Exemple 1 :
Si le signal d’entrée e(t)=1 cos(2π103 t) + 2 cos(2π 2 103 t) + 3 cos(2π 3 103 t)

Le spectre de e*m pour les 3 cas suivants est :

) F=20 KHz et θ=1 µs


) F=20 KHz et θ=10 µs
) F=5,5 KHz et θ=1 µs

Pas de chevauchement

Chevauchement de spectre

Exemple 2 : Téléphonie (parole : 20Hz à 20KHz et Fe=8 KHz)  Filtre anti-aliasing


Lotfi BOUSSAID Cours Calculateurs Temps Réel 48
Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Double condition sur la fréquence d’échantillonnage


Tout signal périodique appliqué à l’entrée de la chaîne d’acquisition se décompose en une somme de
composantes sinusoïdales.
On note ve = Asin2πf0t la composante de fréquence la plus élevée que l’on désire garder.

1. Fréquence d’échantillonnage minimum : Théorème de Shannon

Spectre du signal échantillonné :

L’échantillonnage provoque la superposition, sur le spectre initial du signal, du même spectre décalé de
fe, 2fe, 3fe,...nfe.

il n’y a pas chevauchement du spectre si fe-f0 > f0 ou fe > 2.f0


fo étant la fréquence du plus grand harmonique du signal à échantillonner

Lotfi BOUSSAID Cours Calculateurs Temps Réel 49


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Théorème de Shannon :

Soit un signal continu dans le temps, dont le spectre est limité à la


fréquence f0, souvent par un filtre passe-bas. Ce signal pourra être
intégralement restitué à condition d’avoir été échantillonné à une
fréquence au moins égale à 2.f0

F échantillonnage  2 . fmax du signal

Lotfi BOUSSAID Cours Calculateurs Temps Réel 50


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

2. Utilité de l’Echantillonneur / Bloqueur

Soit un signal d’entrée : tension sinusoïdale e(t) = E cos(2πft) .


La plus grande variation du signal d‘entrée se produit lorsque la pente est la plus
forte. Cette pente du signal vaut :
dv/dt (max) = 2π f E

- La conversion étant sur n bits, ce qui correspond à une résolution de :


q = 2E / 2n)

Si pendant le temps de conversion Tc , le signal d’entrée varie d’une tension inférieure à la


résolution du convertisseur (CAN), alors l’emploi d’un E/B n’est pas nécessaire.
Ce qui s’exprime par la formule : dv/dt (max) * Tc  q

Ce qui nous donne une fréquence maximum f  1 / Tc π 2n

Lotfi BOUSSAID Cours Calculateurs Temps Réel 51


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

2. Utilité de l’Echantillonneur / Bloqueur

EFFET DE LA FRÉQUENCE D'ÉCHANTILLONNAGE

La bande passante de l'oreille, généralement est entre 20 Hz et 20 kHz. On ne va


donc chercher à transmettre les informations que dans cette gamme là. C'est pour
cette raison que les disques audio sont généralement échantillonnées à 44100 Hz.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 52


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

2. Utilité de l’Echantillonneur / Bloqueur

EFFET DE LA FRÉQUENCE D'ÉCHANTILLONNAGE

Mélodie échantillonnée à Fech = 4 410 Hz

(a) signal temporel original S (bleu) et échantillonné Se (rouge), (b) spectres correspondants

Lotfi BOUSSAID Cours Calculateurs Temps Réel 53


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

2. Utilité de l’Echantillonneur / Bloqueur

EFFET DE LA FRÉQUENCE D'ÉCHANTILLONNAGE

Mélodie échantillonnée à Fech = 11 025 Hz

(a) signal temporel original S (bleu) et échantillonné Se (rouge), (b) spectres correspondants

Lotfi BOUSSAID Cours Calculateurs Temps Réel 54


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

2. Utilité de l’Echantillonneur / Bloqueur

EFFET DE LA FRÉQUENCE D'ÉCHANTILLONNAGE

Mélodie échantillonnée à Fech = 22 050 Hz

(a) signal temporel original S (bleu) et échantillonné Se (rouge), (b) spectres correspondants
Dans la pratique, en studio la fréquence d'échantillonnage peut monter jusqu'à 96 kHz

Lotfi BOUSSAID Cours Calculateurs Temps Réel 55


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Les différentes classes de chaînes d’acquisition


1. Cas où la vitesse est primordiale
Solution 1 : Un CAN par canal

Lotfi BOUSSAID Cours Calculateurs Temps Réel 56


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Les différentes classes de chaînes d’acquisition


2. Cas où la vitesse n’est pas primordiale
Solution 2 : Multiplexeur analogique

Lotfi BOUSSAID Cours Calculateurs Temps Réel 57


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Les différentes classes de chaînes d’acquisition

3. Cas où l’isolation galvanique est primordiale

Lotfi BOUSSAID Cours Calculateurs Temps Réel 58


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Les différentes classes de chaînes d’acquisition


4. Cas où la dynamique est très importante

Lotfi BOUSSAID Cours Calculateurs Temps Réel 59


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Quelques composants fréquemment utilisés en pratique


• Les multiplexeurs/démultiplexeurs analogiques
– ex : LF 11508 de National Semiconductor
8 voies, 3 bits de commande, bidirectionel, Ron=290 Ω, Imax = 10 mA, ifuite < 10 nA, temps de
commutation = 2µs

• Les échantillonneurs bloqueurs (sample & hold)


– ex : LF198 de National Semiconductor
Temps d'acquisition = 6µS pour précision à 0, 01, impédance d'entrée: 1010 Ω, impédance de
sortie: 0,5 Ω, Condensateur extérieur 1nF à 1µF, polystyrène, polypropylène ou téflon
– CD4016 + TL082

 Les convertisseurs analogique numérique


 AD585 Analog Devices (www.analog.com)
 AD670 (SAR) Analog Devices
 AD9060 (flash) Analog Devices
 AD7821 (1/2 flash) Analog Devices
 ADS800 (pipeline) Burr-Brown (www.burr-brown.com)
 ADC16071/ADC16471(delta-sigma) National Semiconductor (www.national.com)
 TLC320AD58C (delta-sigma) Texas Instruments (www.ti.com)
 Max187 MAXIM (convertisseur série 12 bits à 12µs)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 60


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Quelques composants fréquemment utilisés en pratique

+5V, Low-Power, 12-Bit Serial ADCs

Résolution : 12 Bits
Conversion : 75 Ksps
Temps de conversion : 12,25µs
Tension de réf. Interne : 4096 mv
Interface série : 3 fils
Compatible : SPI , QSPI et Microwire
Mode : A approximations successives

MAX187/MAX189 Interface Timing Sequence

Lotfi BOUSSAID Cours Calculateurs Temps Réel 61


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Quelques composants fréquemment utilisés en pratique

+5V, Low-Power, 12-Bit Serial ADCs

SHDN \: 1
 Utilisation de la tension de référence
interne de 4096 mv

Diagramme Opérationnel du MAX187

Lotfi BOUSSAID Cours Calculateurs Temps Réel 62


Les Systèmes d’Acquisition de données
Calculateurs Temps Réel

Quelques composants fréquemment utilisés en pratique

+5V, Low-Power, 12-Bit Serial ADCs

MAX187/MAX189 Interface Timing Sequence

Lotfi BOUSSAID Cours Calculateurs Temps Réel 63


Calculateurs Temps Réel

Travaux Dirigés N°1

Lotfi BOUSSAID Cours Calculateurs Temps Réel 64


Calculateurs Temps Réel
Plan du cours

1. Les Systèmes Temps Réel et l’Industrie


2. Les Systèmes d’Acquisition de données
3. Les Systèmes d’Exploitation (OS)
4. Les Systèmes d’Exploitation Temps Réel (RTOS)
5. Les STR embarqués : les SOC et les SOPC
6. Les Calculateurs Dédiés au Temps Réel

Lotfi BOUSSAID Cours Calculateurs Temps Réel 65


Les Systèmes d’Exploitation (OS)
Calculateurs Temps Réel

Rappel sur les Architectures


Microprogrammées

Lotfi BOUSSAID Cours Calculateurs Temps Réel 66


Les Systèmes d’Exploitation (OS)
Calculateurs Temps Réel

Rappel sur les Architectures


Microprogrammées

Cycle d’exécution d’une Instruction

Lotfi BOUSSAID Cours Calculateurs Temps Réel 67


Les Systèmes d’Exploitation (OS)
Calculateurs Temps Réel

Rappel sur les Architectures


Microprogrammées

Lotfi BOUSSAID Cours Calculateurs Temps Réel 68


Les Systèmes d’Exploitation (OS)
Calculateurs Temps Réel

Rappel sur les Architectures


Microprogrammées

Les Interruptions

Interruptions séquentielles Interruptions imbriquées

Lotfi BOUSSAID Cours Calculateurs Temps Réel 69


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Rappel sur les Architectures Microprogrammées


Les Mémoires Caches

Lotfi BOUSSAID Cours Calculateurs Temps Réel 70


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Rappel sur les Architectures Microprogrammées

Lotfi BOUSSAID Cours Calculateurs Temps Réel 71


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Rappel sur les Architectures Microprogrammées

Les Mémoires Caches

Lotfi BOUSSAID Cours Calculateurs Temps Réel 72


Les Systèmes d’Exploitation GPOS
Calculateurs Temps Réel

Généralités

Il existe deux catégories de logiciels :


- Les programmes d'application des utilisateurs

- Les programmes système qui permettent le fonctionnement de l'ordinateur. Parmi ceux-ci, le


système d'exploitation (SE dans la suite).

A quoi sert un système d’exploitation ?

Le SE soustrait le matériel au regard du programmeur et offre


une présentation agréable des fichiers

Lotfi BOUSSAID Cours Calculateurs Temps Réel 73


Les Systèmes d’Exploitation GPOS
Calculateurs Temps Réel

Généralités (2)

Un SE est considéré selon deux points de vue

Vue descendante Machine virtuelle

SE
Vue ascendante Gestionnaire de ressources

Une machine virtuelle


Il propose à l'utilisateur une abstraction plus simple et plus agréable que le matériel

Une gestionnaire de ressource

La gestion des ressources : (processeurs, mémoires, disques, horloges, etc.)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 74


Les Systèmes d’Exploitation GPOS
Calculateurs Temps Réel

Généralités (3)

La machine virtuelle doit fournir à l’utilisateur

- Une vue uniforme des entrées/sorties


- Une mémoire virtuelle et partageable
- La gestion de fichiers et répertoires
- La gestion de processus
- La gestion de communication interprocessus

Le Gestionnaire de ressources doit assurer


- Le bon fonctionnement des ressources et le respect des délais
- Le contrôle des accès aux ressources
- L’interruption d’une utilisation de ressource
- La gestion des erreurs
- L’empêchement des conflits
- Assister les programmes utilisateurs
- Protéger les utilisateurs dans le cas d'usage partagé

Lotfi BOUSSAID Cours Calculateurs Temps Réel 75


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Les Éléments de base d’un SE

- Gestion de la mémoire principale et des mémoires secondaires,

- Exécution des E/S à faible débit (terminaux, imprimantes) ou haut débit (disques, bandes),

- Multiprogrammation, temps partagé, parallélisme : interruption, ordonnancement, répartition en


mémoire, partage des données

- Lancement des outils du système (compilateurs, environnement utilisateur,...) et des outils pour
l'administrateur du système (création de points d'entrée, modification de privilèges,...),

- Lancement des travaux,

- Protection, sécurité ; facturation des services,

- Réseaux.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 76


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Principes des Systèmes d’Exploitation

Appels Système :
- Interface entre le système d’exploitation et les programmes d’application qui s’exécutent en mode
non privilégié (mode utilisateur)
- Les appels systèmes sont réalisés au moyen d’instructions spécifiques «Traps » ou interruptions
logicielles qui permettent le passage en mode privilégié appelé mode noyau (ou kernel)
Mode noyau :
- Le code et les données utilisés par le SE ne sont accessibles qu’en mode noyau
- Les instructions de modification de la table de segments mémoire ne sont permises qu’en mode noyau
- Les instructions de lecture et d’écriture sur les ports d’entrée/sortie ne sont permises qu’en mode noyau

Application
CALL
Bibliothèque
TRAP Mode utilisateur Mécanisme des Traps
Mode noyau
Système

Matériel

Lotfi BOUSSAID Cours Calculateurs Temps Réel 77


Les Systèmes d’Exploitation GPOS
Calculateurs Temps Réel

Types de Systèmes d’Exploitation

- Mono-utilisateur
N’accepte qu’un seul utilisateur à un moment donné

- Contrôle de processus
Ces systèmes sont principalement utilisés en milieu industriel, ils permettent de réagir en temps
garanti à des événements issus de capteurs pour maintenir la stabilité d’un processus industriel
« Feedback »

- Serveurs de fichiers
Ces systèmes contrôlent de gros ensembles d’informations interrogeables à distance  Besoin de temps
de réponse court

- Transactionnel
Ces systèmes contrôlent de grandes bases de données modifiées de façon très fréquente  Besoin de
temps de réponse court

- Général
Multi-utilisateurs et multi-tâches

Lotfi BOUSSAID Cours Calculateurs Temps Réel 78


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Les Processus
Définition 
Un processus est une instance d’un programme en cours d’exécution, il est caractérisé par :
- Son code (texte), ses données, sa pile d’exécution, les valeurs courantes des registres du processeur..

Définition 
Un processus est créé par d’autres processus (sauf le premier), il est susceptible d’être :
- Suspendu, redémarré, et de recevoir des signaux traitables de façon asynchrones

Définition 
Il existe deux niveaux d’exécution :
- Les processus classiques (lourds) possédant chacun leurs données propres
- Les tâches légères ou (Threads) qui peuvent exister au sein de chaque processus lourd

Lotfi BOUSSAID Cours Calculateurs Temps Réel 79


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Les Processus
Notion de processus
La notion de processus constitue un modèle simple et efficace pour représenter l’exécution concurrente de
tâches au sein d’un SE multitâches

Un processus modélise l’exécution d’un programme sur un processeur disposant :


- d’un compteur ordinal ;
- d’un jeu de registres ;
- de mémoire virtuelle

Le processeur physique commute entre les processus sous la direction d’un Ordonnanceur

A
B
C
D Temps

Dans les SE à temps partagé, tous les processus progressent dans le temps, mais un seul s’exécutent à la fois

Lotfi BOUSSAID Cours Calculateurs Temps Réel 80


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Les Processus
Gestion des processus
Pour la mise en œuvre du modèle des processus, le SE dispose d’une table appelé : Table des processus
Pour chaque processus on trouve :
- Les valeurs de son compteur ordinal, son pointeur de pile, et des autres registres du processeur,
- Son numéro de processus, son état, sa priorité, son vecteur d’interruptions, son occupation mémoire,
- La liste des fichiers ouverts par lui, ..

Le SE regroupe ces informations-clés sur le fonctionnement du processeur dans un mot d'état du


processeur (Processor Status Word, PSW).

État d’un processus Élu


2
4
Les processus passent par des états discrets différents :
1
Bloqué 3
Prêt

- Élu s’il est en cours d’exécution sur le processeur


- Prêt s’il est suspendu en faveur d’un autre. Il ne lui manque que la ressource processeur pour s’exécuter
- Bloqué s’il est en attente d’un évènement externe (frappe d’un clavier, bloc disque, ..)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 81


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Les Processus

L'ensemble des informations nécessaires à la poursuite de l’exécution d’un processus est


stocké dans un Bloc de Contrôle de Processus (BCP).

Le BCP comprend :

- L'état du processus : prêt à être exécuté, en attente, suspendu, ...


- Les informations sur les ressources utilisées
- mémoire principale
- temps d'exécution
- périphériques d'E/S en attente
- files d'attente dans lesquelles le processus est inclus, etc...
- Et toutes les informations nécessaires pour assurer la reprise du
processus en cas d'interruption

Lotfi BOUSSAID Cours Calculateurs Temps Réel 82


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Les Processus

Gestion des interruptions

Le traitement des interruptions par le système s’effectue en appelant la routine de traitement associée à
chaque type d’interruption, dont l’adresse est stockée dans une table indexée appelée Vecteur
d’Interruptions.

Le traitement d’une interruption par le SE s’effectue de la façon suivante :


- Le processeur sauvegarde la valeur de son compteur ordinal dans la pile courante, détermine le type
d’interruption, passe en mode noyau et charge la nouvelle valeur du compteur ordinal à partir de la valeur
contenue dans le vecteur d’interruptions.
- Sauvegarde des registres du processeur dans la pile, puis appelle la procédure principale de gestion de
l’interruption, écrite en langage C
- Au retour de la procédure de gestion, la routine de traitement restaure les registres du processeur puis
exécute l’instruction de retour de procédure (RET ou IRET)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 83


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Les Processus
Gestion des interruptions (2) Sauvegarde
du contexte

Programme normal

Déclenchement
de l’interruption   Routine
d’interruption

Reprise normale
du programme
  Restauration du
du contexte

Lotfi BOUSSAID Cours Calculateurs Temps Réel 84


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Les Processus
Communication inter-processus

Certains processus :
- Ont besoin de coopérer  nécessité de moyen de communication et de synchronisation
- Ou se trouvent en compétition pour une ressource système, soit à cause de la non partageabilité d’une
ressource, soit que les instructions peuvent provoquer des interblocages.

Ordonnancement des processus

Lorsque plusieurs processus doivent être exécutés simultanément  il faut réaliser un choix pour
ordonnancer dans le temps les processus prêts sur le processeur.

Pour les systèmes de traitement par lots, l’algorithme de traitement est relativement simple  Exécution
du programme suivant de la file dés qu’un emplacement mémoire se libère

Lotfi BOUSSAID Cours Calculateurs Temps Réel 85


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Les Processus

Ordonnancement des processus


Pour les systèmes multi-utilisateurs, multi-tâches, multi-processeur, l’algorithme d’ordonnancement peut
devenir plus complexe

Le choix de l’algorithme dépend l’application et notamment des critères suivants :

- Équité : chaque processus doit pouvoir disposer de la ressource processeur


- Efficacité : l’utilisation du processeur doit être maximale
- Temps de réponse : minimiser le temps de réponse pour les utilisateurs interactifs
- Temps d’exécution : minimiser le temps d’exécution pris par chaque travail exécuté en traitement par lot
- Rendement : le nombre de travaux exécuté par unité de temps doit être maximale

Lotfi BOUSSAID Cours Calculateurs Temps Réel 86


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Les Processus
Les différentes techniques d’ordonnancement
Ordonnancement circulaire : (round robin ou tourniquet) mécanisme d’ordonnancement le plus simple.
Il consiste à attribuer à chaque processus un quantum de temps pendant lequel il a le droit de s’exécuter.

Ordonnancement de priorité : Mécanisme de priorité afin de favoriser certaines classes de processus par
rapport à d’autres en fonction des besoins.

Ordonnancement du plus court d’abord : Ce type d’ordonnancement s’applique lorsqu’on dispose d’un
ensemble de tâches dont on peut connaître la durée à l’avance (ex: transactions journalières bancaires).

Ordonnancement dicté par une politique : Ce type d’ordonnancement permet de garantir à l’utilisateur
une performance annoncé (peut être utilisé pour les systèmes temps réel)

Ordonnancement à deux niveaux :


- Un Ordonnanceur de bas niveau, semblable à ceux déjà vus, s’occupe des processus présents en mémoire
- Un Ordonnanceur de haut niveau permet, de temps en temps, d’échanger les processus entre la mémoire et
le disque.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 87


Les Calculateurs
Systèmes d’Exploitation (OS)
Temps Réel

Les Sémaphores
L’idée est d’utiliser une variable entière pour compter le nombre de réveils en attente et d’encapsuler
cette variable dans un objet système manipulable par des appels systèmes spécifiques.

- Un sémaphore possède la valeur 0 si aucun réveil n’a été mémorisée


- Une valeur positive s’il y a un ou plusieurs réveils en attente
- L’appel système down décrémente la valeur du sémaphore lorsqu’elle est supérieure à 0
- Elle endort le processus appelant si elle est déjà à 0
- L’appel d’un système Up incrémente la valeur du sémaphore si aucun processus n’est endormi du fait
d’un appel down, ou réveille l’un de ces processus sinon
Le système de gestion de fichiers

Une des fonctions d'un SE est d'offrir au programmeur un modèle de manipulation des fichiers agréable et
indépendant du matériel utilisé.

- Les appels système permettent de créer des fichiers, de les supprimer, de lire et d'écrire dans un fichier.
- Les fichiers sont regroupés en répertoires arborescents; ils sont accessibles en énonçant leur chemin
d'accès
- Le SE gère également la protection des fichiers.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 88


Calculateurs Temps Réel
Plan du cours

1. Les Systèmes Temps Réel et l’Industrie


2. Les Systèmes d’Acquisition de données
3. Les Systèmes d’Exploitation (OS)
4. Les Systèmes d’Exploitation Temps Réel (RTOS)
5. Les STR embarqués : les SOC et les SOPC
6. Les Calculateurs Dédiés au Temps Réel

Lotfi BOUSSAID Cours Calculateurs Temps Réel 89


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Application 1 : Commande d’un Robot Véhicule

PWML
Départ: ST
LE
PORTA

PONT H MOTEUR

PWM
Gauche:
µContrôleur
Droite: PONT H MOTEUR
RI
Stop: PWMR
END

Lotfi BOUSSAID Cours Calculateurs Temps Réel 90


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Principe du suivi de ligne

PWML PWMR

170/255 170/255

MOT G MOT D

Lotfi BOUSSAID Cours Calculateurs Temps Réel 91


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Principe du suivi de ligne

PWML PWMR

170/255 170/255

MOT G MOT D

Lotfi BOUSSAID Cours Calculateurs Temps Réel 92


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Principe du suivi de ligne

PWML PWMR

90/255 170/255

MOT G MOT D

Lotfi BOUSSAID Cours Calculateurs Temps Réel 93


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Principe du suivi de ligne

PWML PWMR

90/255 170/255

Lotfi BOUSSAID Cours Calculateurs Temps Réel 94


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Quelle est la meilleure


solution à entreprendre ?

Lotfi BOUSSAID Cours Calculateurs Temps Réel 95


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Programmation par scrutation des entrées


MAIN
YES NO
RI=1

PWML = 0
PWMR = 0
PWML = 170 PWML = 90

ST=0
NO
YES NO
END=0
LE=1
YES NO YES

PWMR = 170 PWMR = 90


PWML = 0
PWMR = 0

STOP

Lotfi BOUSSAID Cours Calculateurs Temps Réel 96


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Programmation par scrutation des entrées


MAIN void main (void){

PWML = 0 PWM1 = 0;
PWMR = 0 Mais … PWM2 = 0;
la complexitéLes éléments du
modèle utilisé
du programme croît se traduisent
ST=0 directement
trop
NO vite avec le nombre(*PORTA & 0x80);
while
YES
de cas à prendre
LE=1
YES NO
en compte.
if (*PORTA & 0x40) {
PWM2 = 120;
PWMR = 120 PWMR = 90 } else {
PWM2 = 90;
}

Lotfi BOUSSAID Cours Calculateurs Temps Réel 97


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Limite de la technique de scrutation (Polling)

Echo Batterie
Emetteur Ultrason
ultrason faible

Température
TIMER PORTB excessive

Référence PWML
Départ: ST atteinte Trop d’événements
LE
PORTA

PONT H MOTEUR

PWM
Gauche: =>
Automate
Droite: µContrôleur trop complexe
PONT H MOTEUR
RI
Stop: PWMR
END Octet Fin de
Émis/reçu conversion

RS232 ADC

Lotfi BOUSSAID Cours Calculateurs Temps Réel 98


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Application Embarquée : Cas Réel (1)

Robot Sojourner analysant le rocher

Station Pathfinder après atterrissage

Lotfi BOUSSAID Cours Calculateurs Temps Réel 99


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Application Embarquée : Cas Réel (2)

Reconnaissance des panneaux de signalisation Détection de déviation de voies

Lotfi BOUSSAID Cours Calculateurs Temps Réel 100


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Définition

Les systèmes d’exploitation modernes sont basés sur des processeurs, ils doivent assurer :

- Le partage du temps du processeur entre les différentes tâches.

- Le passage d’une tâche à l’autre est assuré par un ensemble d’algorithmes appelé
Ordonnanceur (Scheduler en anglais).

- Dans un système temps réel, le but de l'Ordonnanceur est de donner à l'utilisateur


une impression de confort tout en s'assurant que toutes les tâches demandées sont
finalement exécutées.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 101


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Contraintes

Les systèmes à contraintes temps réel doivent répondre à trois critères fondamentaux :

1. Le déterminisme logique : les mêmes entrées appliquées au système doivent produire les mêmes
effets.

2. Le déterminisme temporel : une tâche donnée doit obligatoirement être exécutée dans les délais
impartis, on parle d‘échéance.

3. La fiabilité : le système doit être disponible. Cette contrainte est très forte dans le cas d'un système
embarqué car les interventions d'un opérateur sont très difficiles voire même impossibles. Cette
contrainte est indépendante de la notion de temps réel mais la fiabilité du système sera d'autant plus
mise à l'épreuve dans le cas de contraintes dures.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 102


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

La théorie de l'ordonnancement
C’est une branche de la recherche opérationnelle qui s'intéresse au calcul de dates d'exécution optimales de
tâches.

Un problème d'ordonnancement peut être considéré comme un sous-problème de planification dans lequel
il s'agit de décider de l'exécution opérationnelle des tâches planifiées.

Définition
Un problème d'ordonnancement consiste à organiser dans le temps :

 La réalisation de tâches, compte tenu de contraintes temporelles (délais, contraintes


d'enchaînement) et de contraintes portant sur la disponibilité des ressources requises.

 En production (manufacturière, de biens, de service), on peut le présenter comme un problème où il


faut réaliser le déclenchement et le contrôle de l'avancement d'un ensemble de commandes à travers
les différents centres composant le système.

 Un ordonnancement constitue une solution au problème d'ordonnancement. Il est défini par le


planning d'exécution des tâches (« ordre » et « calendrier ») et d'allocation des ressources.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 103


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

La théorie de l'ordonnancement
Définition

 Une tâche est une entité élémentaire localisée dans le temps par une date de début et/ou de fin, dont la
réalisation nécessite une durée, et qui consomme un moyen selon une certaine intensité.

 Certains modèles intègrent la notion de date due, une date à laquelle la tâche doit être finie; dans ces
cas, le retard induit une pénalité.

 Selon les problèmes, les tâches peuvent être exécutées par morceaux, ou doivent être exécutées sans
interruption ; on parle alors respectivement de problèmes préemptifs et non préemptifs.

 Lorsque les tâches ne sont soumises à aucune contrainte de cohérence, elles sont dites indépendantes.

 Plusieurs tâches peuvent constituer une activité et plusieurs activités peuvent définir un processus.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 104


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

La théorie de l'ordonnancement
Les contraintes
Les contraintes expriment des restrictions sur les valeurs que peuvent prendre simultanément les variables
de décision. On distingue :

des contraintes temporelles


 les contraintes de temps alloué, issues généralement d'impératifs de gestion et relatives aux dates
limites des tâches (délais de livraisons, disponibilité des approvisionnements) ou à la durée totale
d'un projet ;

 les contraintes de cohérence technologique, ou contraintes de gammes, qui décrivent des relations
d'ordre entre les différentes tâches ;

des contraintes de ressources


 les contraintes d'utilisation de ressources qui expriment la nature et la quantité des moyens
utilisés par les tâches, ainsi que les caractéristiques d'utilisation de ces moyens ;

 les contraintes de disponibilité des ressources qui précisent la nature et la quantité des
moyens disponibles au cours du temps. Toutes ces contraintes peuvent être formalisées sur la
base des distances entre débuts de tâches ou potentiels.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 105


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

La théorie de l'ordonnancement
Les contraintes
Les contraintes expriment des restrictions sur les valeurs que peuvent prendre simultanément les variables
de décision. On distingue :

des contraintes temporelles


 les contraintes de temps alloué, issues généralement d'impératifs de gestion et relatives aux dates
limites des tâches (délais de livraisons, disponibilité des approvisionnements) ou à la durée totale
d'un projet ;

 les contraintes de cohérence technologique, ou contraintes de gammes, qui décrivent des relations
d'ordre entre les différentes tâches ;

des contraintes de ressources


 les contraintes d'utilisation de ressources qui expriment la nature et la quantité des moyens
utilisés par les tâches, ainsi que les caractéristiques d'utilisation de ces moyens ;

 les contraintes de disponibilité des ressources qui précisent la nature et la quantité des
moyens disponibles au cours du temps. Toutes ces contraintes peuvent être formalisées sur la
base des distances entre débuts de tâches ou potentiels.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 106


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

La théorie de l'ordonnancement
Les Objectifs
Dans la résolution d'un problème d'ordonnancement, on peut choisir entre deux grands types de stratégies,
visant respectivement à l'optimalité des solutions, ou plus simplement à leur admissibilité.

L'approche par optimisation suppose que les solutions candidates à un problème puissent être ordonnées
de manière rationnelle selon un ou plusieurs critères d'évaluation numériques, construits sur la base
d'indicateurs de performances. On cherchera donc à minimiser ou maximiser de tels critères.

On note par exemple ceux liés au temps :


 Le temps total d'exécution ou le temps moyen d'achèvement d'un ensemble de tâches
 Le stock d'en-cours de traitement
 Différents retards (maximum, moyen, somme, nombre, etc.) ou avances par rapport aux dates
limites fixées ;
Et ceux liés aux ressources :
 La quantité totale ou pondérée de ressources nécessaires pour réaliser un ensemble de tâches
 La charge de chaque ressource ;
 Liés à une énergie ou un débit ;
 Liés aux coûts de lancement, de production, de transport, etc., mais aussi aux revenus, aux retours
d'investissements.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 107


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Concept du multitâches (2)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 108


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Concept du multitâches (3)


Typiquement, une tâche n’est en réalité qu’une boucle infinie pouvant être dans cinq états distincts :

- Dormante : la tâche est présente en mémoire mais n’a pas été activée. Elle n’essaye donc pas de
prendre le contrôle du CPU.

- Active (en Exécution) : c’est la tâche qui détient actuellement le contrôle du CPU.

- Prête : la tâche dispose de toutes les ressources nécessaires à son exécution, mais une tâche plus
prioritaire possède pour le moment le contrôle du CPU. Dès que cette dernière le libérera, ce sera la
plus prioritaire de toutes les tâches prêtes qui deviendra la tâche active.

- En attente : une tâche est dans cet état lorsqu’elle requière l’arrivée d’un signal extérieur (libération
d’une ressource, expiration d’un délai,…).

- Interrompue : l’exécution de la tâche a été suspendue par l’arrivée d’un signal d’interruption et le
CPU est en train de traiter cette dernière.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 109


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Concept du multitâches (4)


Exemple : sous COS-II, le diagramme de transition des états est le suivant :

Lotfi BOUSSAID Cours Calculateurs Temps Réel 110


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Politique d’ordonnancement
1. C’est un ensemble d’algorithmes utilisés par l’Ordonnanceur pour décider quelle tâche doit
être exécutée à un instant donné.

2. La politique d’un système Multi-Utilisateurs non temps réel est d’allouer à chaque tâche
une portion (quantum) de temps processeur.

3. Une tâche peut être suspendue involontairement par un RTOS ou endormi par lui-même.
Ceci servira pour faire des delay de période fixe ou attendre (Block) la disponibilité d’une
ressource qui est en cours d’utilisation.

4. Une tâche endormi ou bloquée ne peut pas être exécutée et ne peut pas obtenir des
ressources CPU

Lotfi BOUSSAID Cours Calculateurs Temps Réel 111


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Politique d’ordonnancement (2)

(1) Tâche 1 est en cours d’exécution,


(2) Le noyau suspend la tâche 1,
(3) Il relance la tâche 2,
(4) Pendant que la tâche 2 est en exécution, elle verrouille un périphérique pour son accès exclusif,
(5) Le noyau suspend la tâche 2,
(6) La tâche 3 est reprise,
(7) La tâche 3 essaye d’accéder au périphérique, mais va le trouver verrouillé et ne peut pas
continuer  elle se suspend.
(8) Le noyau reprend la tâche 1
(9) Etc, la prochaine fois la tâche 2 en exécution l’accès au périphérique puis le déverrouille,
(10) La tâche 3 en exécution trouve l’accès libre au périphérique continue l’exécution jusqu’à ce
qu’elle sera suspendue par le noyau.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 112


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Changement de contexte

Problématique :

Lotfi BOUSSAID Cours Calculateurs Temps Réel 113


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Changement de contexte

Étape 1 : Tâche A en cours d’exécution

Lotfi BOUSSAID Cours Calculateurs Temps Réel 114


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Changement de contexte

Étape 2 : Interruption se présente pendant que la Tâche A exécute l’instruction LDI


Le CPU place le compteur de programme (PC) dans la pile (Stack) avant de
faire un saut à la routine d’interruption (ISR)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 115


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Changement de contexte

Étape 3 :
- Au début de la routine Le
CPU place le contexte de la
tâche A dans la pile.
- Le noyau garde une copie
des pointeurs de pile de la
tâche A et de la tâche B qui a
été suspendu

Lotfi BOUSSAID Cours Calculateurs Temps Réel 116


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Changement de contexte

Étape 4 :
- Après la sauvegarde du contexte de la tâche A un compteur (par
exemple) est incrémenté a causé la tâche B prête à l’exécution.
- La tache B a une priorité plus élevée que la tâche A, le noyau
sélectionnera la tâche B pour lui allouer le temps CPU après la fin
de la routine d’interruption

Lotfi BOUSSAID Cours Calculateurs Temps Réel 117


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Changement de contexte

Étape 5 :
- Le contexte de la tâche B doit
être restauré
- Tout d'abord le noyau doit
retrouver le pointeur de pile
de la tâche B de la copie
sauvé avant d’être suspendu
- Le pointeur de pile de la
tâche B est chargé dans la
pile du processeur
- Ainsi, la pile pointe le top du
contexte de la tâche B

Lotfi BOUSSAID Cours Calculateurs Temps Réel 118


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Changement de contexte

Étape 6 :
- Le contexte de la tâche B est complètement restauré dans les registres appropriés

Lotfi BOUSSAID Cours Calculateurs Temps Réel 119


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Changement de contexte

Étape 7 :
- Le (PC) étant chargé, le CPU reprend la tâche B là ou elle s’est arrêtée avant de passer à
la tâche A

Lotfi BOUSSAID Cours Calculateurs Temps Réel 120


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Notion de Préemption

Noyaux Temps Réel non Préemptifs

- Chaque Tâche doit effectuer une opération


pour abandonner le contrôle du CPU.

- Pour que le système soit viable, ce processus


doit être exécuté très régulièrement.

- Une ISR peut toujours activer une tâche de


priorité supérieure, mais le contrôle du CPU
revient toujours à la tâche interrompue. Ce
n’est que lorsque cette dernière abandonne
volontairement le contrôle que la tâche de
priorité supérieure prend la main.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 121


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Notion de Préemption

Noyaux Temps Réel Préemptifs


- Le noyau est dit Préemptif si un thread peut être
interrompu par l'Ordonnanceur en fonction du
niveau de priorité afin de permettre l'exécution
d'un thread de plus haut niveau de priorité prêt à
être exécuté.

- Ceci permet d'affecter les plus hauts niveaux de


priorité à des tâches dites critiques par rapport à
l'environnement réel contrôlé par le système.

- La vérification des contextes à commuter est


réalisée de manière régulière par l'Ordonnanceur
en fonction de l'horloge logicielle interne du
système, ou Tick Timer System.

- Problème : la corruption des variables partagées

Lotfi BOUSSAID Cours Calculateurs Temps Réel 122


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Les différents types de RTOS

Il convient avant tout de préciser les différences entre Noyau, Exécutif et Système d‘Exploitation
temps réel :

 Noyau Temps Réel


Un noyau temps réel est le minimum logiciel pour pouvoir faire du temps réel : Ordonnanceur, gestion
de tâches, communications inter-tâches (un système plutôt limité mais performant).
 Exécutif temps réel
Un exécutif temps réel possède un noyau temps réel complété de modules/bibliothèques pour faciliter
la conception d'applications temps réel : gestion mémoire, gestion des E/S, gestion de timers, gestion
d'accès réseau, gestion de fichiers.
Nécessité d’une machine hôte (HOST) et de son environnement de développement croisé (compilateur
C croisé, utilitaires, debugger) ainsi que du système cible (TARGET)

 Système d'exploitation temps réel


Un système d'exploitation temps réel est le cas particulier où l'on a confusion entre le système hôte et
le système cible qui ne font plus qu'un. On a donc ici un environnement de développement natif.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 123


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Tour d’horizon des principaux systèmes temps réel

VxWorks - est aujourd'hui l’Exécutif Temps Réel le plus utilisé dans l'industrie (Société Wind
River). Fiable, portable, totalement configurable et supporte plusieurs processeurs (PowerPC, 68k,
ColdFire, 8086, Pentium, ARM, MCORE, ..

QNX - Développé par la société canadienne QNX Software , QNX est un Système Temps Réel de type
UNIX conforme à la norme POSIX

µC/OS - environnements de très petite taille construits autour de microcontrôleurs. Il est disponible sur un
grand nombre de processeurs et peut intégrer des protocoles standards comme TCP/IP (µC/IP) pour
assurer une connectivité IP sur une liaison série par PPP.

Windows CE - Annoncé par Microsoft comme Système d‘Exploitation Embarqué pour les PDAs

eCOS - (Embeddable Configurable Operating System) fut initialement développé par la société Cygnus et
adapté aux solutions à très faible empreinte mémoire et profondément enfouies.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 124


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

La norme POSIX (Portable Operating System Interface)


Norme développée par l’IEEE (Institute of Electrical and Electronic Engineering) et standardisée par
l'ANSI (American National Standard Institute) et l'ISO (International Standard Organisation).

Le but de POSIX est d'obtenir la portabilité des logiciels au niveau de leur code source indépendamment du
matériel et afin de pouvoir migrer d’un système à l’autre moyennant une compilation des sources du
programme.

Le standard POSIX est divisé en plusieurs sous-standards dont les principaux sont les suivants :

-IEEE 1003.1-1990 : POSIX Partie 1 : Interface de programmation (API) système. Ce standard contient la
définition de ces fonctions (Bindings) en langage C.

- IEEE 1003.2-1992 : Interface applicative pour le shell et applications annexes pour les systèmes de type
UNIX.

-IEEE 1003.1b-1993 : Interface de programmation (API) temps réel. Ajout du support de programmation
temps réel au standard précédent. On parle également de POSIX.4.

- IEEE 1003.1c-1995 : Interface de programmation (API) pour le multithreading.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 125


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Linux et le temps réel

1. Amélioration du noyau de linux par des patchs préemptifs à temps de latence réduit pour
satisfaire les besoins d’applications temps réel mou.

2. Développement d’un noyau auxiliaire pour les traitements des tâches à temps réel dur

Lotfi BOUSSAID Cours Calculateurs Temps Réel 126


Les Systèmes d’Exploitation Temps Réel
Calculateurs Temps Réel

Systèmes Temps Réel basé sur linux

1. RTAI (Real Time Application Interface) Département d'ingénierie aérospatiale (DIAPM) de l'Ecole
polytechnique de Milan (Politecnico di Milano). Il intègre des améliorations et des corrections
concernant en particulier les modes temps réel et la gestion des nombres flottants.

2. µClinux (prononcer « you see linux ») est l'acronyme de Microcontroller Linux. Le projet µClinux
lancé en janvier 1998 est un portage de Linux version 2.0.x originellement sur des processeurs ne
possédant d'unité de gestion mémoire MMU (Memory Management Unit). Il supporte les processeurs
(Motorola 683xx, Motorola ColdFire, i960 d'Intel, ARM7TDMI et NIOS d'Altera. µClinux basé sur le
noyau Linux 2.4.x est maintenant opérationnel.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 127


Choix d’un RTOS
Calculateurs Temps Réel

1. Les concepteurs des systèmes embarqués temps réel doivent maîtriser le comportement et les
performances des parties Soft et Hard

2. Un RTOS doit être déterministe et garantir :


a. Temps de latence max d’interruption (Worst-Case Interrupt Latency)
b. Temps de changement de contexte (Switch Context)
c. L’exécution des appels systèmes doivent être calculable (Utilisation de la technique
d’analyse : Rate Monotonic Scheduling proposée par David STEWART)

3. Un fournisseur sérieux de système RTOS doit publier un Datasheet présentant :


a. Le min, la moyenne et le max de nombre de cycles exigés par les appels systèmes
b. Temps de latence d’une interruption
c. Temps entre l’arrivée d’une interruption et le début d’exécution de la routine associée (ISR)
d. Temps alloué pour le changement de contexte

Lotfi BOUSSAID Cours Calculateurs Temps Réel 128


Choix d’un RTOS
Calculateurs Temps Réel

Sélection d’un RTOS

1. Un Scheduler préemptif de base avec quelques appels systèmes valables et du code source
fourni modifiable ne coûte pas cher (~ $1000)

2. Un RTOS avec plein de fonctionnalité a pour prix : Entre $10,000 et $50,000

3. Expérience du constructeur de RTOS


- Partenaires industriels
- Applications réalisées
- Chiffre d’affaire

Lotfi BOUSSAID Cours Calculateurs Temps Réel 129


Calculateurs Temps Réel
Les RTOS : Étude de Cas
Situation de l'offre industrielle des noyaux et exécutifs
temps réel
Étude de Embedded Systems Research (marché USA - 1995)
systèmes propriétaires 31
VxWorks 11
pSOS 9
VRTX 8 systèmes propriétaires
OS9 8
QNX 5 VxWorks
iRMX 5
Lynx-OS 4
pSOS
Autres produits < 19
VRTX

OS9
• Pas de prédominance d'un
système QNX
• système propriétaires :
- coût (Licence) iRMX
- techniques
(adaptation aux
Lynx-OS
besoins)
- stratégie (maîtrise)
Autres produits Š 1%

Lotfi BOUSSAID Cours Calculateurs Temps Réel 130


Calculateurs Temps Réel
Plan du cours

1. Les Systèmes Temps Réel et l’Industrie


2. Les Systèmes d’Acquisition de données
3. Les Systèmes d’Exploitation (OS)
4. Les Systèmes d’Exploitation Temps Réel (RTOS)
5. Les STR embarqués : les SOC et les SOPC
6. Les Calculateurs Dédiés au Temps Réel

Lotfi BOUSSAID Cours Calculateurs Temps Réel 131


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC
Les contraintes de conception des SOC

• Les produits ont une durée de plus en plus faible


- Réduire le «time to market»
- Réutilisation pour concevoir d’autres produits  rentabiliser

Lotfi BOUSSAID Cours Calculateurs Temps Réel 132


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC

Réutilisation
- Approche retenue pour limiter les coûts
IP :
- Conception d’un SOC à partir de blocs prédéfinis
Intellectual Properties

Lotfi BOUSSAID Cours Calculateurs Temps Réel 133


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC

Vers la réutilisation de bloc prédéfinis (Bibliothèques, IP)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 134


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC
Exploitation des ressources des nouveaux FPGA
Slice
S3
Slice
Switch S2 Powerful CLB
Matrix Slice • >300 MHz Performance
Synchronous Dual-Port RAM S1
Slice
• Fast & efficient logic S0
• Highest flexibility BRAM

Programmable I/O
• 840 Mbps LVDS
Digital Clock Management
• Precise frequency generation and
phase control
• Both on-chip & off-chip clock synchronization
EmbeddedPowerPC
• 300 MHz
• 420 DMIPS

Lotfi BOUSSAID Cours Calculateurs Temps Réel 135


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC

Réduction des coûts

Conséquences de la réduction des coûts de conception du matériel

- Réduire les coûts du matériel  augmente en proportion les coûts du logiciel


– 80% du coût de développement d’un SOC est aujourd’hui dû au logiciel
- Le coût du test croît de façon exponentielle
– Equipes de vérification 2 fois plus nombreuses que celles de développement

Lotfi BOUSSAID Cours Calculateurs Temps Réel 136


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC
La révolution
1400

- Le nombre de SOC vendus croît de 30% par an 1200

1000
- Prévision de répartition par secteur pour 2004 :
– Communication : 44% (croissance 24% par an) 800
Nb Soc
– Electronique grand public : 28 % (croissance 43% 600 (M)
par an)
400
– Le reste 28 %
200
- Les outils de conception évoluent moins vite
0
que la technologie 1995 2000 2005

Lotfi BOUSSAID Cours Calculateurs Temps Réel 137


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC

Qu’est ce qu’un système embarqué sur une seule puce SOC ?

Composants sur carte SoC

ROM CISC Glue CAN

Fonctions spécifiques ASIC


RAM Glue UART CNA
Composants virtuels IP
ROM RISC ASIC CAN
ATM
Cœur
DSP
RAM1
RAM FPGA UART CAN
Cœur RAM2
RISC
MPEG
ROM
Analo
E/S

Lotfi BOUSSAID Cours Calculateurs Temps Réel 138


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC

Notion d’IP (Intellectual Property)

• Blocs fonctionnels complexes réutilisables


– Hard: déjà implanté, dépendant de la technologies, fortement optimisé
– Soft: dans un langage de haut niveau (VHDL, Verilog, C++…), paramétrables
– Firm: Constitué d’une combinaison de code RTL synthétisable, de références de
bibliothèque de l’architecture cible et d’une Netlist au niveai portes
• Normalisation des interfaces
• Environnement de développement (co-design, co-spec, co-verif)
• Performances moyennes (peu optimisé)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 139


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC

Utilisation d’IP

• Bloc réutilisable (IP)


– connaître les fonctionnalités
– estimer les performances dans un système
– être sûr du bon fonctionnement de l’IP
– intégrer cet IP dans le système
– valider le système

Lotfi BOUSSAID Cours Calculateurs Temps Réel 140


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC
Commerce d ’IP « design & reuse »

Lotfi BOUSSAID Cours Calculateurs Temps Réel 141


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC

Problématique

• Modélisation des applications


• Construction de l’architecture
• Le problème du partitionnement
• Le problème des communications
• Le problème de la consommation

Lotfi BOUSSAID Cours Calculateurs Temps Réel 142


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC
Flot de conception Logicielle/Matérielle :
Le Codesign

 Spécification
 Partitionnement
 Co-synthèse
 Co-simulation
 Prototypage.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 143


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC
Les Bus utilisé dans les SOC
Le Bus AMBA

Il comprend trois bus :

1. AMBA AHB (Advanced High-performance Bus)


2. Advanced System Bus (ASB)
3. Advanced Peripheral Bus (APB)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 144


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC
Les Bus utilisé dans les SOC
Le Bus AVALON

- Le bus Avalon est un bus de chez Altera utilisé pour le processeur embarqué Nios

- L’outil SOPC Builder system d’Altera génère automatiquement l’ensemble du bus

- Les maîtres et esclaves du bus Avalon interagit ensemble avec une technique d’arbitrage appelé Slave-Side

- L’arbitrage Slave-side détermine lequel des maître gagne l’accès à l’esclave à un évènement ou plusieurs
maîtres tentent d’accéder au même temps à l’esclave.

Lotfi BOUSSAID Cours Calculateurs Temps Réel 145


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC
Les Bus utilisé dans les SOC
Le Bus CoreConnect

Il comprend trois bus :

1. PLB (Processor Local Bus)


2. OPB (On-chip Peripheral Bus)
3. DCR bus (Device Control Register bus)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 146


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC
Les Bus utilisé dans les SOC
Le Bus Wishbone

Bus partagé

Il comprend deux interfaces de bus :

1. Master Interface
2. Slave Interface

Crossbar switch interconnection

Lotfi BOUSSAID Cours Calculateurs Temps Réel 147


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC

SoC vs SoPC

• SoC
– Peu évolutif
– Grandes productions
– Fabrication et test long et coûteux
• System on Programmable Chip
– Prototypage rapide sur FPGA
– Composant reconfigurable à volonté
– Moins de portes logiques disponible
– Consommation plus élevée
– Performances moins bonnes

Lotfi BOUSSAID Cours Calculateurs Temps Réel 148


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC

Qu’est-ce qu’un Système sur puce reconfigurable SOPC ?

Processeur
Multiplieurs MEM SW ou HW

CPU
Resources Process Process
Matérielles HW HW
disponibles MEM

Resources Process
Matérielles HW
disponibles
Processeur Région
Transmetteurs HW reconfigurable

Lotfi BOUSSAID Cours Calculateurs Temps Réel 149


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC

Méthodologie de conception des SOPC ?

T1 Une seule
* Temps de reconfiguration T4 T2 T3
** Contraintes Mémoires T9 Partition
T
6 T
5
T
1
*** Contraintes surfaces T8 0
T7 1 T1
1
constraint T
2
HW HW
Firm IP Process Process
Statique
Hard. IP
Soft. IP Resources
HLE RDP HW
programmable Process
disponibles
IP RDT variables
T1
T3 Partition(
T4 T4 T2
T9 1)
Surface
T6 T5 T1
/Latence Graphe de tâche T8 0 Partition(
T41 T43 T7 T1 n)
1
T42 T1
2

Lotfi BOUSSAID Cours Calculateurs Temps Réel 150


Les STRCalculateurs
embarqués Temps Réel
: les SOC et les SOPC
Conception basée Plateforme
Module CELOXICA RC203E

Lotfi BOUSSAID Cours Calculateurs Temps Réel 151


Calculateurs Temps Réel
Plan du cours

1. Les Systèmes Temps Réel et l’Industrie


2. Les Systèmes d’Acquisition de données
3. Les Systèmes d’Exploitation (OS)
4. Les Systèmes d’Exploitation Temps Réel (RTOS)
5. Les STR embarqués : les SOC et les SOPC
6. Les Calculateurs Dédiés au Temps Réel

Lotfi BOUSSAID Cours Calculateurs Temps Réel 152


Calculateurs Temps Réel
Les Calculateurs Dédiés au Temps Réel
Calculateurs dédiés à la commande

Partie Commande
Matériel et Logiciel

Entrées Sorties

Partie Opérative
Capteurs et Actionneurs

Couplage
Partie opérative et procédé

Procédé
Produit traité

Lotfi BOUSSAID Cours Calculateurs Temps Réel 153


Calculateurs Temps Réel
Les Calculateurs Dédiés au Temps Réel
Calculateurs dédiés à la commande

Lotfi BOUSSAID Cours Calculateurs Temps Réel 154


Calculateurs Temps Réel
Les Calculateurs Dédiés au Temps Réel
Calculateurs dédiés à la commande

T4CK

T5CK

PIC32MX460F512L

5 Timers

Lotfi BOUSSAID Cours Calculateurs Temps Réel 155


Calculateurs Temps Réel
Les Calculateurs Dédiés au Temps Réel
Calculateurs dédiés à la commande
LS7083

Lotfi BOUSSAID Cours Calculateurs Temps Réel 156


Calculateurs Temps Réel
Les Calculateurs Dédiés au Temps Réel
Calculateurs dédiés à la commande
PIC18F2331/2431/4331/4431

Lotfi BOUSSAID Cours Calculateurs Temps Réel 157


Calculateurs Temps Réel
Les Calculateurs Dédiés au Temps Réel
La Commande de Systèmes Embarqués
1. Moteur CC

La consommation d’un tel moteur est d’environ


100mA, il est donc impossible de le connecter
directement sur une patte du PIC

Solution 1 : Transistor MOS : BUZ11

Lotfi BOUSSAID Cours Calculateurs Temps Réel 158


Calculateurs Temps Réel
Les Calculateurs Dédiés au Temps Réel
La Commande de Systèmes Embarqués
1. Moteur CC

Solution 2 : Pont en H

L298
(2A/PH)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 159


Calculateurs Temps Réel
Les Calculateurs Dédiés au Temps Réel
La Commande de Systèmes Embarqués
2. Moteur Pas à Pas
Moteur pas à pas bipolaire : plus facile à piloter que l’unipolaire

En alimentant successivement les bobines A, B, C, D 2 à 2 on réalise 4 pas

Lotfi BOUSSAID Cours Calculateurs Temps Réel 160


Calculateurs Temps Réel
Les Calculateurs Dédiés au Temps Réel
La Commande de Systèmes Embarqués
2. Moteur Pas à Pas

ULN2800 (1A)

Lotfi BOUSSAID Cours Calculateurs Temps Réel 161


Calculateurs Temps Réel
Les Calculateurs Dédiés au Temps Réel
II. Le Moteur pas à pas
Commande du moteur pas à pas Unipolaire : 2 phases On (3)

Un Transistor BDX53C (NPN) : Peut fournir 5 A


Un Transistor TIP122 (NPN) : Peut fournir 3 A

Lotfi BOUSSAID Cours Calculateurs Temps Réel 162


Calculateurs Temps Réel
Les Calculateurs Dédiés au Temps Réel
Le Contrôle et la Commande de Systèmes Embarqués
3. Servomoteur
Le servomoteur est constitué d’un moteur à courant continu relié à un réducteur, et asservit par un
potentiomètre et un circuit de contrôle

Pour le commander, on lui applique des


impulsions selon la norme suivante

Lotfi BOUSSAID Cours Calculateurs Temps Réel 163

Vous aimerez peut-être aussi