Vous êtes sur la page 1sur 49

Université des Sciences et de Technologie Houari Boumediene

MASTER ELECTRONIQUE DES SYSTÈMES EMBARQUÉS

INTRODUCTION AUX SYSTÈMES


EMBARQUÉS
Introduction aux systèmes embarqués

Manuels suggérés

1- Embedded System Design, by F. Vahid and Givargis, Wiley,


2002

2- Embedded System Design, by P. Marwedel, Kluwer


Academic, 2003

3- Embedded System Design, by Gajski, Abdi, and et. al.,


Springer, 2008

2
Introduction aux systèmes embarqués

Un système embarqué est étroitement intégré


au système principal

Il ne peut pas interagir directement avec


l'environnement

Par exemple - Un micro-ordinateur dans une


commande d'allumage de voiture

3
Introduction aux systèmes embarqués

Embedded System est un système qui intègre des logiciels et


du matériel, ce qui en fait un système dédié à une application,
à un produit ou à un système plus vaste.

Les systèmes embarqués sont des systèmes électroniques


contenant un microprocesseur et un microcontrôleur.

Trois composants principaux:


1- Matériel
2- Logiciel d'application
3- RTOS

4
Introduction aux systèmes embarqués
Qu'est-ce qu'un système embarqué ?

Systèmes embarqués =
systèmes de traitement de l'information intégrés dans un produit plus large

Deux types de calcul


Desktop - produit des millions / an
Embarqué - milliards / an

Systèmes non embarqués


PC, serveurs et ordinateurs portables

L'avenir de l'informatique!
Automobiles, divertissement, communication, aviation,
appareils portables, équipements militaires et médicaux.

5
Introduction aux systèmes embarqués
Systèmes / logiciels embarqués?

« Embedded »: notion différente selon les personnes


Pour un développeur Web:
Un téléphone portable (même un smartphone…) est un système embarqué.
Pour un développeur de firmware sur cible 8 bits avec qq kB de ROM:
Tout ce qui dispose d’un OS n’est plus vraiment très « embedded »

6
Introduction aux systèmes embarqués
Systèmes embarqués: de quoi parle t’on exactement ?

Un système embarqué n’est pas forcément:


mobile,
petit,
caché,
puissant (ou non puissant),
complexe,
alimenté par batterie,
économe en énergie,
cher (ou bon marché),
spécifique,
industriel,

7
Introduction aux systèmes embarqués

Conçu pour certaines tâches spécifiques

Soumis à des contraintes de performances en


temps réel à respecter

Comprend des combinaisons étroitement


intégrées de matériel et de logiciel

8
Introduction aux systèmes embarqués

Composants logiciels intégrés :

Embedded Application Code

Device Drivers

A Real-Time Operating System (RTOS)

Hardware abstraction layer(s)

System initialization routines


9
Composition d’un système embarqué

• Une partie matérielle utilisée pour la performance


• Micro-processeur, contrôleurs, coprocesseurs, DSP
• Mémoires
• ASIC
• Interfaces d’entrées/sorties

• Une partie logicielle utilisée pour sa flexibilité


• Programmes

10
Principales caractéristiques des SE

Encombrement mémoire
Consommation d’énergie
Poids et volume
Criticité / Fiabilité / Tolérance aux fautes
Mobilité
Communications
Interfaçage avec monde physique
Contraintes environnementales
Contraintes temps réel
Coûts

11
Quelques exemples
Équipement mobile et bureautiques : Transport :
Répondeurs, Avionique,
Copieurs, Trains, Automobiles (+ de 100 processeurs),
Téléphone portable, Contrôle de navigation,
Imprimante.

Équipement dans le bâtiment : Communications :


Ascenseurs, escalators, Satellites,
Système de surveillance, GPS,
Contrôle d’accès, Téléphonie mobile,
Systèmes d'éclairage.

Équipement de production :
Productions automatisées,
Systèmes de commande d'énergie,
équipements de stockage,
12
Principaux domaines d’application des SE

Transports
Aéronautique
Automobile / Camions / Machinisme agricole
Ferroviaire

Spatial
Militaire / Défense
Réseaux / Télécommunications
GTB / Domotique / Bâtiments
Distribution et gestion de l’énergie
Médical
Terminaux de paiement
Consumer electronics
Robotique

13
Un exemple de système embarqué
Diagramme de l'appareil photo numérique

14
Le marché des systèmes embarqués (1/3)

Selon IDC, le marché des systèmes


embarqués "intelligents" dépassera
les 1 000* milliards de dollars en
2019
Source: www.lembarque.com, 20/10/2014

En France:
76 000 entreprises (dont 13 000 purs
spécialistes)
387 500 emplois (220 000 en 2007)
CA de 73 Milliards € en 2013
9% des offres d’emploi APEC
41 000 créations de postes d’ici 2017

15
Le marché des systèmes embarqués (2/3)

16
Historique (récent)

Fin des années 1940: Le processeur Whirlwind duMIT est conçu pour
des applications temps réel

A l’origine pour contrôler un simulateur de vol.

Le premier microprocesseur est l’Intel 4004 au début des années 1970.

La calculatrice HP-35 utilise plusieurs circuits pour implémenter un


microprocesseur en 1972.

17
Historique (suite)

Les automobiles utilisent des systèmes de contrôle du moteur avec


microprocesseurs depuis les années 1970.

Contrôle du mélange fuel/air, gestion du moteur, etc.

Modes de fonctionnement multiples: démarrage, croisière, montées, etc.

Baisse des émissions polluantes, consommation optimisée.

18
Caractéristiques des systèmes embarqués

Un système embarqué doit être efficace

Energie -> Faible consommation


Taille du Code -> Ressource mémoire limitée
Temps -> Contrainte temps réel
Surface -> Espace limité
Coût -> Intégration dans des appareil grand public

Dédié à certaines applications

Connaissance du comportement à la conception qui facilite la


minimisation des ressources et la maximisation de la robustesse
Interface utilisateur dédiée (pas forcément de souris, clavier , écran…)

19
Caractéristiques des systèmes embarqués

Fonctionnement en Temps Réel :

Réactivité : des opérations de calcul doivent être faites en réponse à un


événement extérieur (interruption matérielle).

La validité d’un résultat dépend du moment où il est délivré, (deadlines).

Rater une échéance peut causer une erreur de fonctionnement.

La plus part des systèmes sont «multirate » : traitement d’informations à


différents rythmes.

20
Caractéristiques des systèmes embarqués
Faible encombrement, poids et consommation :

Consommation électrique minimisée,

Difficulté de packaging (analogique, numérique et RF),

Batterie de 8 heures et plus (PC portable : 2 heures)

Environnement sévère (Température, vibrations, variations


d’alimentation, interférences RF, corrosion, eau, feu, radiations, etc.),

Le système n’évolue pas dans un environnement contrôlé (évolutions


des caractéristiques des composants en fonction de l’environnement).

21
Caractéristiques des systèmes embarqués

Généralement connecté à un environnement physique tels que capteurs, acteurs…

Système hybride (analogique + numérique).

Les systèmes embarqués sont des systèmes réactifs

Le comportement dépend des entrées à l’instant courant.

22
Caractéristiques d’un système embarqué

Coût, sûreté et sécurité :

Le système doit toujours fonctionner correctement (faible coût et une


redondance minimale),

Sûreté de fonctionnement du logiciel (système opérationnel même


quand un composant électronique « lâche ».

Beaucoup de systèmes embarqués sont fabriqués en grande série et


doivent avoir des prix de revient extrêmement faibles

23
Un système embarqué typique

Un système embarqué typique aurait:

Un micro-contrôleur pour fournir «l'intelligence»


Circuits d'interface pour se connecter à l'application principale
Logiciel en temps réel
Matériel dédié aux fonctions dont la mise en œuvre logicielle est
trop lente
Matériel de test et de maintenance

24
Système embarqué typique

25
Spécification des systèmes embarqués
Hiérarchie
L’homme n’est pas capable de comprendre un système contenant plus de
~5 objets.
La plupart des systèmes embarqués manipulent plus d’objets
Comportement hiérarchique
Exemples: états d'une machine, processes, procédures.
Structure hiérarchique
Exemples: processeurs, racks, circuits imprimés
Comportement du temps.
Comportement orienté état
Pour des systèmes réactifs;
Automates classiques sont insuffisants.

26
Spécification des systèmes embarqués

Event-handling (événement interne ou externe)


Pas d’obstacles pour une mise en œuvre efficace
Support pour la conception de système sûrs
Sémantique non ambiguë ...

27
Spécification des systèmes embarqués

Concurrence
Systèmes réels sont concurrents
Synchronisation et communication
Composants doivent communiquer!
Présence d’éléments de programmation
Par exemple, opérations arithmétiques, boucles, et appel de fonction
doivent exister
Exécutable (pas de spécification algébrique)
Support pour le design de grands systèmes
Support spécifique au domaine

28
Spécification des systèmes embarqués

Lisibilité
Portabilité et flexibilité
Terminaison
A quel moment tous les calculs sont terminés.
Support pour les entrées/sorties
Accès direct aux périphériques ...
Propriété non-fonctionelle
tolérances aux pannes
jetable, poids, taille, facilement utilisable, extensibilité, faible
consommation ...
Modèle adéquate de calcul

29
Evolution de l’architecture d’un SE

30
LES SYSTEMES EMBARQUES ET LE TEMPS REEL

Les opérations doivent être faites avec des échéances (deadlines) précises

“Hard real time”: le manquement des échéances provoque une faute

“Soft real time”: le manquement des échéances cause des dégradations de


performances.

La plupart des systèmes sont “multi-rate” (multi-taux): Les opérations


doivent être gérées à des vitesses (très) différentes.

31
LES SYSTEMES EMBARQUES ET LE TEMPS REEL

• Généralement, un système embarqué doit respecter :

– Des contraintes temporelles fortes (Hard Real Time).


– On y trouve enfoui un système d'exploitation ou un noyau Temps Réel (Real Time
Operating System, RTOS).

• Le Temps Réel est un concept un peu vague. On pourrait le définir comme :

"Un système est dit Temps Réel lorsque l'information après acquisition et traitement reste
encore pertinente".

Ne pas mélanger Temps Réel et rapidité de calcul du système donc puissance


du processeur
32
LES SYSTEMES EMBARQUES ET LE TEMPS REEL

• Cela veut dire que dans le cas d'une information arrivant de façon périodique (sous
forme d’une interruption périodique du système), les temps d'acquisition et de
traitement doivent rester inférieurs à la période de rafraîchissement de cette
information.

• Pour cela, il faut que le noyau ou le système Temps Réel soit déterministe et préemptif
pour toujours donner la main durant le prochain tick à la tâche de plus forte priorité
prête.

33
LES SYSTEMES EMBARQUES ET LE TEMPS REEL

Les opérations doivent être faites avec des échéances (deadlines) précises

“Hard real time”: le manquement des échéances provoque une faute

“Soft real time”: le manquement des échéances cause des dégradations de


performances.

La plupart des systèmes sont “multi-rate” (multi-taux): Les opérations


doivent être gérées à des vitesses (très) différentes.

34
Les systèmes embarqués et les RTOS

La question d’utiliser un système d’exploitation Temps Réel ou non ne


se pose pratiquement plus pour les raisons suivantes :

Simplifications de l’écriture de l’application embarquée.


Portabilité.
Évolutivité.
Maîtrise des coûts.

RTOS supervise le logiciel d'application exécuté sur le matériel et organise


l'accès à une ressource en fonction des priorités de la tâche dans le système.

35
LES (RTOS) ET LES SYSTEMES EMBARQUES AUJOURD ’HUI

36
Système d’exploitation temps réel (RTOS)
RTOS : Real Time Operating System
• Caractéristiques :

– Prise en charge des interactions entre les procédures d’interruptions et le code des tâches
(utilisation de signals et pas de variables partagées)
– Choix par le RTOS de la tâche urgente à exécuter à tout moment (pas de "main")
– Suspension par le RTOS d’une tâche au milieu de son traitement et l’exécution d’une autre

• Conséquences

– Temps de réponse du système stable


– RTOS Overhead : Prend une partie du temps global de traitement

•Disponibilité

– Plusieurs versions sont disponibles sur le marché (+ outil de mise au point : debug)

37
SE et RTOS
SE ≠ RTOS

• SE (Système d’exploitation ou système opératoire)

– Au démarrage, le SE prend le contrôle


– Compilation + Edition des liens + Exécution du programme
– Multiprogrammation, multi-utilisateurs

• RTOS (Système d’exploitation temps réel)

– Edition des liens de l’application et du RTOS


– Au démarrage, l’application prend le contrôle et démarre le RTOS
– RTOS et l’application sont fortement couplés
– Aucune protection vis-à-vis de l’application meilleure performance
– Services limités aux Systèmes embarqués réduction de taille mémoire
– Configuration du RTOS : gestion des fichiers, pilotes des E/S, gestion de la
mémoire, Outils,…
38
LES SYSTEMES EMBARQUES ET LINUX

• Pourquoi retrouve-t-on Linux dans l’embarqué ? Tout d’abord pour


ses qualités qu’on lui reconnaît maintenant dans l’environnement plus
standard du PC grand public :

– Stable et efficace.
– Aide rapide en cas de problèmes par la communauté Internet des
développeurs Linux.
– Nombre de plus en plus important de logiciels disponibles.

– Connectivité IP en standard.

39
LES SYSTEMES EMBARQUES ET LINUX

• On a en fait entendu parler pour la première fois officiellement de Linux


embarqué à une exposition Linux World en 1999 où les sociétés Motorola, Force et
Ziatech ont présenté un système CompactPCI fonctionnant sous Linux.

• En 2000 a été créé le consortium Linux embarqué (Embedded Linux Consortium)


dont le but est de centraliser et de promouvoir les développements de solutions
Linux embarqué. Ce consortium regroupe des éditeurs de distribution Linux, des
éditeurs de systèmes Temps Réel propriétaires (comme WindRiver pour VxWorks)
et des fabricants de composants. Il compte actuellement plus de 100 membres.

40
LES SYSTEMES EMBARQUES ET LINUX

• Les distributions Linux embarqué ont une part de marché grandissante face à
des distributions propriétaires généralement Temps Réel comme VxWorks,
pSOS, QNX… où l’on est d’abord obligé de payer pour accéder à la plateforme
de développement puis de payer des royalties pour chaque système (ou cible) que
l’on commercialise ensuite.

• Il est à noter que l’on observe une évolution de ce système à péage de certains
face à la “ menace ” Linux.

41
LES SYSTEMES EMBARQUES ET LINUX

• Linux embarqué supporte aussi différentes extensions Temps Réel qui mettent
en place une couche d’abstraction logique entre matériel, interruptions et Linux.
Linux et l’ensemble des processus sont généralement considérés comme la tâche
de fond exécutée quand il y a rien de Temps Réel à faire…

• On peut citer comme extensions Temps Réel :

– La distribution RTLinux et sa distribution Mini RTLinux pour l’embarqué.

– La distribution RTAI.

42
Composants de systèmes embarqués

• Analog Components
Sensors, Actuators, Controllers, …
• Digital Components
Hardware
Processor, Coprocessors
Memories
Controllers, Buses
Application Specific Integrated Circuits (ASIC)
• Converters – A2D, D2A, …
• Software
Application Programs Software
Exception Handlers

43
Schéma simplifié

44
Composants matériels des systèmes embarqués - un exemple

Memory Controllers Interface

Software
(Application Programs)

Coprocessors Processor

ASIC
Converters

Analog Analog 45
Digital
Contraintes des système embarqués

• Métriques de conception principales


• Puissance dissipée
• Taille
• Coûts de production et coûts non récurrents
• Fiabilité
• Temps de commercialisation (time to market)
• D’autres contraintes existent:
• tolérance aux pannes,
• résistance aux chocs et températures,
• Flexibilité et mises-à-jour
• Souvent utilisés dans un environnement réactif soumis à des
contraintes temps réel.
• Nécessitent des systèmes haute performance

46
Résumé

Nous sommes entourés de systèmes embarqués.

La complexité embarquée se situe au niveau matériel et au niveau logiciel.

Les systèmes embarqués posent de nombreuses contraintes en terme de conception :

temps de conception, échéances, consommation, encombrement, autonomie, etc.

Les méthodologies de conception aident à gérer le processus de conception.

Un système embarqué est un système électronique et informatique autonome


ne possédant pas des entrées/sorties standards comme un clavier ou un écran
d'ordinateur.

47
Les compétences à avoirs

microprocesseur, microcontrôleur, DSP, mémoires, IO,


FPGA, VDHL,
Codesign,
Programmation en assembleur,
Programmation C, C++, java,
Systèmes d’exploitations, linux, RTOS,
réseau,
bus.
Connaissance des systèmes numériques.
Travailler en équipe avec des ingénieurs d’autres disciplines.

48
End of Presentation

Thank you!

Any Questions ?
“The future depends on what you do today.”

49

Vous aimerez peut-être aussi