0% ont trouvé ce document utile (0 vote)
333 vues30 pages

Cours SE IMI

Ce document présente un cours sur les systèmes embarqués. Il définit ce qu'est un système embarqué, donne des exemples de domaines d'application et décrit les caractéristiques et la complexité de tels systèmes. Le document se concentre également sur la fiabilité et la sûreté des systèmes embarqués.

Transféré par

LAHCIENE ELHOUCINE
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
333 vues30 pages

Cours SE IMI

Ce document présente un cours sur les systèmes embarqués. Il définit ce qu'est un système embarqué, donne des exemples de domaines d'application et décrit les caractéristiques et la complexité de tels systèmes. Le document se concentre également sur la fiabilité et la sûreté des systèmes embarqués.

Transféré par

LAHCIENE ELHOUCINE
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE

UNIVERSITE D’ORAN-2 MOHAMED BEN AHMED

‫ﻣﻌﮭـــد اﻟﺻﯾﺎﻧـــﺔ واﻷﻣـــن اﻟﺻﻧﺎﻋـــﻲ‬

Institut de Maintenance et de Sécurité Industrielle

DEPARTEMENT DE MAINTENANCE EN INSTRUMENTATION

MASTER 2 INGENIERIE DE LA MAINTENANCE EN INSTRUMENTATION IMI

Cours Systèmes Embarqués

Réalisé par :

Professeur HASSINI Abdelatif

Cours Systèmes Embarqués 1


Partie I. Introduction aux systèmes embarqués

Cours Systèmes Embarqués 2


1. Définition d’un système embarqué

Un système embarqué est un système complexe qui intègre du logiciel et du matériel conçus
ensemble afin de fournir des fonctionnalités données. Il contient généralement un ou plusieurs
microprocesseurs destinés à exécuter un ensemble de programmes définis lors de la conception
et stockés dans des mémoires. Le système matériel et l’application (logiciel) sont intimement
liés et immergés dans le matériel et ne sont pas aussi facilement discernables comme dans un
environnement de travail classique de type ordinateur de bureau PC (Personal Computer). Un
système embarqué est autonome et ne possède pas des entrées/sorties standards tels qu’un
clavier ou un écran d'ordinateur. Contrairement à un PC, l’interface IHM (Interface Homme
machine) d’un système embarqué peut être aussi simple qu’une diode électroluminescente LED
(Light Emitter Diode) qui clignote ou aussi complexe qu’un système de vision de nuit en temps
réel ; les afficheurs à cristaux liquides LCD (Liquid Crystal Display) de structure généralement
simple sont couramment utilisés. Afin d’optimiser les performances et la fiabilité de ces
systèmes, des circuits numériques programmables FPGA (Fild Programmable GateArray), des
circuits dédiés à des applications spécifiques ASIC (Application SpecificIntegrated Circuits) ou
des modules analogiques sont en plus utilisés. Le logiciel a une fonctionnalité fixe à exécuter qui
est spécifique à une application. L'utilisateur n'a pas la possibilité de modifier les programmes.
Bien souvent, il n'a pas conscience d'utiliser un système à base des microprocesseurs. Les
systèmes embarqués sont désormais utilisés dans des applications diverses tels que le transport
(avionique, espace, automobile, ferroviaire), dans les appareils électriques et électroniques
(appareils photo, jouets, postes de télévision, électroménager, systèmes audio, téléphones
portables), dans la distribution d’énergie, dans l’automatisation, …, etc.

2. Domaine d’application

Exemples de systèmes embarqués :

− Télécommunication (smartphone, téléphone portable, Fax …)


− Aéronautique (Avion, Radar, satellite…)
− Automobile (GPS, ABS, ESP …)
− Médecine − Robo que
− Domaine militaire
− Jeux
− Equipements électriques et électroménagers : télévision, lave linge, lave vaisselle…
− Equipements bureautiques : imprimante, copieur…
− Equipements dans les bâtiments : ascenseur, système de surveillance, système d’éclairage
- autres

Cours Systèmes Embarqués 3


3. Caractéristiques d’un système embarqué

− Temps réel : Les systèmes embarqués fonctionnent généralement en Temps Réel (TR) : les
opérations de calcul sont alors faites en réponse à un événement extérieur (interruption
matérielle). La validité et la pertinence d’un résultat dépendent du moment où il est délivré.
Une échéance manquée induit une erreur de fonctionnement qui peut entraîner soit une panne
du système (plantage), soit une dégradation non dramatique de ses performances.

− Coût : Lorsque les systèmes embarqués sont utilisés dans les produits de grande
consommation, ils sont fabriqués en grande série. Les exigences de coût se traduisent alors en
contraintes sur les différentes composantes du système : utilisation de faibles capacités
mémoires et de petits processeurs (4 bits ou 8 bits), mais en grand nombre. Ainsi, les systèmes
embarqués sont particulièrement sensibles au coût de production. Il existe des applications dans
lesquelles les contraintes de coût de production et de maintenance ont une importance de
même niveau que les performances envisagées.

− Consommation d’énergie : Dans les systèmes embarqués autonomes, la consommation


d’énergie est un point critique pour le coût. En effet, une consommation excessive augmente le
prix de revient du système embarqué, car il faut alors des batteries de forte capacité.

− Poids et volume

− Mobilité

− Autonomie

− Sécurité

− Fiabilité

4. Complexité d’un système embarqué

Les systèmes embarqués requièrent souvent un faible encombrement (faible poids) PDA
(Personal Digital Assistant), Internet et téléphone mobiles, …). Leur technologie fait alors appel à
une électronique et à des applications portables où l’on doit minimiser aussi bien
l’encombrement que la consommation électrique. Par conséquent, la réalisation du packaging
afin de faire cohabiter sur une faible surface de l’électronique analogique, de l’électronique
numérique, des composantes RF (Radiofréquence) sans interférences est une tâche difficile. En
effet, les performances des systèmes sur carte deviennent obsolètes dans le contexte des

Cours Systèmes Embarqués 4


besoins actuels. Dans les stratégies de conception actuelles, un système embarqué est
généralement intégré sur un support silicium unique constituant ainsi un système complet
intégré sur une puce SoC(System on a Chip). Les systèmes sur puce contiennent généralement
une grande variété de dispositifs programmables tels que des microcontrôleurs, des processeurs
de traitement de signaux DSP (Digital-Signal Processor) et des ASIC qui sont développés pour des
applications complexes nécessitant une production en grande série. Les mémoires (ROM et
RAM) y sont intégrés pour le stockage des données et des programmes. Ces composants
digitaux cohabitent généralement sur le même support de silicium avec des composants
analogiques et mixtes divers tels que des composantes radiofréquence (RF) comme moyen de
communication, des composantes optiques pour le transfert de données à haut débit, des
MEMS (Micro Electro Mechanical System) pour l’interfaçage avec le monde externe, des
convertisseurs analogiques/numérique et numérique/analogique requis pour le dialogue
interne. L’objectif est d’obtenir une coopération harmonieuse entre composants embarqués
afin de garantir des services globaux. Des contraintes d’implémentation physique sont liées à la
consommation de ressources et au contexte de déploiement tel que le poids, la taille physique,
la résistance aux vibrations, ou aux irradiations, …, etc.

5. Système de contrôle et système contrôlé

Quelle que soit la nature et la complexité du système, on décompose un système embarqués en


:

• le système contrôlé

• le système de contrôle

> Le système contrôlé = environnement (procédé) équipé d'une instrumentation qui réalise
l'interface avec le système de contrôle

> Le système de contrôle = éléments matériels (microprocesseurs…) et logiciels dont la mission


est d'agir sur le procédé via les actionneurs en fonction de l'état de ce procédé indiqué par les
capteurs de manière maintenir ou conduire le procédé dans un état donné.

Cours Systèmes Embarqués 5


Un système électronique embarqué ou enfoui est un élément constitutif d’un système plus
complexe pour lequel il rend des services bien précis (contrôle, surveillance, communication…).
Il est constitué de parties matérielles et logicielles qui sont conçues spécifiquement pour réaliser
une fonction dédiée. Système embarqué = Système électronique/informatique conçu pour
réaliser une ou plusieurs tâches précises.

6. Fiabilité et sûreté des SE

Du fait de leur portabilité et de la mobilité des produits dans lesquels ils sont incorporés, les
systèmes embarqués évoluent généralement dans de conditions environnementales non
déterministes et souvent non maîtrisées. Ils sont exposés à des variations et autres contraintes
environnementales susceptibles d’induire des défaillances : vibrations, chocs, variation de
température, variations d’alimentation, interférences RF, corrosion, humidité, radiations, …
D’où la nécessité de prendre en compte des évolutions des caractéristiques des composants en
fonction des conditions environnementales. En même temps que s’accroît leur sophistication,
les systèmes embarqués sont utilisés dans des applications de plus en plus critiques dans
lesquels leur dysfonctionnement peut générer des nuisances, des pertes économiques ou des
conséquences inacceptables pouvant aller jusqu’à la perte de vies humaines. C'est le cas, par
exemple, des applications médicales ou celles de transports pour lesquelles une défaillance peut
avoir un impact direct sur la vie d'êtres humains. C’est aussi le cas des applications spatiales,
souterraines ou sous-marines où la défaillance peut entraîner des conséquences redoutables
aussi bien en termes de sécurité qu’au niveau économique. Ce type de systèmes doit garantir
une très haute fiabilité et doit pouvoir réagir en cas de panne de l'un de ses composants.

7. Sécurité des SE

Les systèmes embarqués mettant en œuvre la connectivité IP sont aujourd’hui potentiellement


vulnérables à une attaque par le réseau. Les attaques concernent actuellement les routeurs, les
imprimantes réseau... mais rien n’empêche une attaque d’une maison individuelle avec son
réseau domotique ou d’une voiture connectées à Internet.

L’aspect sécurité d’un système embarqué doit être maintenant pris en compte lors de sa
conception. La sécurité des systèmes embarqués concerne essentiellement les points suivants :
– Le matériel.
– Le logiciel embarqué.
– Les communications avec le monde extérieur.

Un système embarqué doit garantir la confidentialité et l’intégrité des données.

Cours Systèmes Embarqués 6


Parmi les types d’attaques sur un SE on peut citer :

− Les attaques matérielles : accéder aux composants, Attaques en courant, électromagnétisme


(il faut utiliser la cage de Faraday), utiliser un faisceau laser ou faisceau d’ions lourds, le probing
qui consiste à une descente de sondes pour agir sur les composants (il faut faire le durcissement
: technologies SOS (Silicon On Saphire) et SOI (Silicon On Insulator – isolant)

− Les attaques logicielles : virus, cheval de Troie, deny of service, modification d’adresse IP,
modification d’horloge, fermer un port socket.

− Détection et piratage des communications.

8. Comparaison aux systèmes informatiques standards

Informatique Embarqué

• Processeur standard • Processeur dédié (contrôleur)


– Multiples unités fonctionnelles (flottant) – Architecture adaptée
– Vitesse élevée (> GHz) – Vitesse faible (~200 MHz)
– Consommation électrique élevée – 8-32bits : mémoire limitée
– Chaleur – Basse consommation
– Taille – Petite taille, grand volume => faible coût
• MMU (Memory Management Unit) (mémoire • Processeur DSP (Digital signal processor)
virtuelle) (traitements)
• OS – Très puissants
• Cache • Quelques Mo de mémoire
• Grand nombre de périphériques • RTOS

9. Classification des systèmes embarqués

a. Système Transformationnel : Activité de calcul, qui lit ses données et ses entrées lors de son
démarrage, qui fournit ses sorties, puis meurt.

b. Système Interactif : Système en interaction quasi permanente avec son environnement, y compris
après l'initialisation du système ; la réaction du système est déterminée par les événements reçus et par
l'état courant (fonction des événements et des réactions passés) ; le rythme de l'interaction est
déterminé par le système et non par l'environnement.

c. Système Réactif ou Temps Réel : Système en interaction permanente avec son environnement, y
compris après l'initialisation du système ; la réaction du système est déterminée par les événements
reçus et par l'état courant (fonction des événements et des réactions passées) ; mais le rythme de
l'interaction est déterminé par l'environnement et non par le système.
Cours Systèmes Embarqués 7
9. Systèmes embarqués temps réel

9.1 Définition : (CNRS 1988) :


Peut être qualifiée de "temps-réel" (ou "temps contraint", ou encore "réactif") toute application
mettant en œuvre un système informatique dont le fonctionnement est assujetti à l'évolution
dynamique de l'environnement qui lui est connecté et dont il doit contrôler le comportement.

Système
Informatique

Ce sont des systèmes liés au contrôle de procédés l'exécution de programmes dans ces systèmes doit
terminer avant une date appelée échéance au-delà de laquelle les résultats ne sont plus valides.
On distingue deux type de systèmes embarqués temps-réel :
Exemple critique : le contrôleur de frein d'une voiture
• Système temps-réel dur/stricte (hard real-time)
Le non-respect des échéances peut avoir des conséquences graves sur le fonctionnement du système ou
sur son environnement (autopilotage, freinage, assistance médicalisée…). Les échéances ne doivent
jamais être dépassées.
• Système temps-réel mou (soft real-time)
Le non-respect des échéances ralentit le système sans conséquences graves (billetterie automatique…).
Le système doit répondre au mieux, le plus rapidement possible.
La plupart des systèmes embarqués sont dit mutlirate ou multi-période

 Les données sont capturées à un certain rythme


 Les traitements sur ces données ne sont pas forcément à la même granularité
 Différents traitements peuvent intervenir de manière indépendante
 Les actionneurs fonctionnent à une fréquence différente

Cours Systèmes Embarqués 8


10. Architecture générale et fonctionnement d’un système embarqué

10.1) Architecture générale :

L’architecture des systèmes embarqués peut varier selon les systèmes: on peut par exemple, ne pas
trouver de systèmes auxiliaires dans de nombreux systèmes embarqués autonome et indépendants. En
revanche, l'architecture de base est la plupart du temps composée d'une unité centrale de traitement
(CPU), d'un système d'exploitation qui réside parfois uniquement en un logiciel spécifique (ex: routeur),
ou une boucle d'exécution (ex: ABS). De même l'interface IHM n'est pas souvent existante, mais est
souvent utile pour reconfigurer le système ou vérifier son comportement.
Le fonctionnement du système se résume ainsi:
 Il reçoit des informations de l'environnement extérieur qu'il converti en signal numérique
 L'unité de traitement composée du CPU, de la mémoire, du logiciel, de l'ASIC et éventuellement
de système externes traite l'information
 Le traitement génère éventuellement une sortie qui est envoyée vers la sortie, les systèmes
auxiliaire, les ports de monitoring ou l'IHM

ASIC/FPGA

Actuateurs

IHM : Interface Homme Machine

CAN : Convertisseur Analogique Numérique

CNA : Convertisseur Numérique Analogique

CPU : Central Processing Unit (Processeur)

FPGA: Field Programmable Gate Array

Cours Systèmes Embarqués 9


ASIC: Application Specific Integrated Circuit

10.2) Fonctionnement général : boucle infinie

Tant que TOUJOURS faire


Acquisition des entrées (données capteurs, mesures…)
Calcul des ordres à envoyer au procédé
Émission des ordres
Fin tant que

Mais, deux modes de fonctionnement :

 fonctionnement cyclique (time driven ou système "synchrone")


 fonctionnement événementiel (event driven)
 fonctionnement mixte : à base de traitements périodiques et et apériodiques (déclenchés sur
événements)

10.3) Fonctionnement Cyclique:

 scrutation d'une mémoire d'entrée périodiquement (polling)


 échantillonnage des entrées sur l'horloge du système
 activation du système à chaque top d'horloge

A chaque top d'horloge faire


Lecture de la mémoire des entrées
Calcul des ordres à envoyer au procédé
Émission des ordres
Fin

Mais ce type de système est peu "réactif" si l'environnement produit des informations à des fréquences
différentes ce qui oblige à prévoir toutes les réactions du système dans la même boucle donc il y a
un problème de performance et en est obligé à imbriquer des boucles de fréquences multiples ce qui
implique des difficultés de réalisation, de lisibilité du code et d'évolution

10.4) Fonctionnement Evénementiel :


Le fonctionnement est basé sur le principe d'activation du système à chaque événement (notion
d'interruption)
A chaque interruption faire
Lecture de l'information arrivée
Activation du traitement correspondant
Émission des ordres issus de ce traitement
Cours Systèmes Embarqués 10
Fin
Mais dans ce cas le problème réside dans le cas où une interruption survient alors que le système est en
train de traiter une interruption précédente, ce qui implique des contraintes de programmation :

 notion de priorité des interruptions


 notion de "tâche" associée à une ou plusieurs interruptions
 mécanisme de préemption et de reprise de tâche
 gestion de l'exécution concurrente des tâches (ordonnancement)

=> Un système temps réel est souvent un système multitâche incluant un gestionnaire de tâches
(Ordonnanceur)

11. Contraintes d'un système embarqué

a. l’informatique embarquée

Les domaines d'utilisation de l'informatique embarqués sont très variés. Les systèmes embarqués sont
donc soumis à des contraintes physiques, de fonctionnement, logicielles, ou matérielles différentes.
On peut classer les acteurs de l'informatique embarquée suivant les critères suivants:

Secteur d'activité Contraintes

Équipements scientifiques Performances, fiabilité, coût

Équipements militaires et aérospatiaux Performances, fiabilité, pérennité, intégration

Transports Fiabilité, coût, interactivité

Informatique industrielle Fiabilité, coût, pérennité

Matériel de bureau Performance, coût, standardisation

Réseau et télécommunications Performance, fiabilité, intégration

Électronique grand public Performance, coût, design / intégration

b. Les contraintes de développement sur un système embarqué

Les contraintes de développements sur un système embarqué sont nombreuses et se rapprochent assez
de celles rencontrées en informatique en général:

 La complexité des algorithmes utilisés doit être relativement faible d'autant plus que les
performances et la puissance des systèmes est moindre.
 L'absence de MMU limite la taille des applications.
Cours Systèmes Embarqués 11
 L’absence de media de stockage permanent..
 De nombreuses applications des systèmes embarquées sont des applications temps réels: On
doit souvent ajouter une contrainte temps-réel.
 L'utilisation d'outils de Génie Logiciel est fortement conseillée
 La conception orientée objet est préconisée dès que cela est possible

Complexité des algorithmes


Du fait d'une puissance de calcul et d'une mémoire limité, on préférera des algorithmes peu complexe
sur un système embarqué. Par exemple, l'utilisation de la récursivité sur des systèmes à faible
performance est peu recommandée. La principale limitation est due à l'absence, sur de nombreux
système, d'une Unité de Gestion de la Mémoire (MMU : un composant permettant de contrôler les
accès qu'un processeur fait à la mémoire de l'ordinateur dans lequel il est placé ).

Absence de MMU
L'absence de MMU rend impossible la gestion de la mémoire virtuelle. Les processus se retrouvent donc
très vite limités en mémoire car ils doivent tous partager le même espace mémoire, y compris la pile.

Absence de media de stockage permanent


Les systèmes embarqués sont généralement dépourvus d'unité de stockage telle qu'un disque dur ou
une bande magnétique. La sauvegarde des données est généralement faite en ROM ou en mémoire
FLASH. L'utilisation de ces mémoires et relativement onéreuse et peu fiable. En cas de crash, les
données sont généralement perdues. Il existe cependant des systèmes de fichiers pour FlashRAM
journalisés.

Le temps réel
Un système fonctionne en temps réel lorsqu'il est capable d'absorber toutes les informations d'entrée
sans qu'elles soient trop vieilles pour l'intérêt qu'elles présentent, et par ailleurs, de réagir à celles-ci
suffisamment vite pour que cette réaction ait un sens. Les systèmes embarqués temps réels requièrent
la présence d'un automate d'ordonnancement adapté au temps réels (le plus connu: EDF (Earlest
Deadline First). Il arrive parfois que ce soient uniquement des systèmes dédiés à une tache, dans ce cas,
il n'y a pas d'automate d'ordonnancement, le système exécute indéfiniment une seule et même boucle.
C'est le cas de l'ABS.

Le génie logiciel
Aucune méthode de génie logiciel n'y est spécialement préconisé pour le développement de systèmes
embarqués mais le choix d'une méthode est fortement conseillé: Un logiciel pour l'embarqué est en
général produit de manière industrielle et les mises à jours coûtent chers. Les erreurs de conception
sont plus que jamais très coûteuses. Enfin, on pourra citer UML (Unified Modeling Language) et SDL
(Specification and Description Language) qui sont deux notations très utilisées pour la modélisation des
systèmes informatiques.

Cours Systèmes Embarqués 12


La conception objet
La conception objet est recommandée car elle permet la réduction des coûts et la réutilisation du code
produit. Là encore, les gains financiers motivent ce choix de conception.

Ces nombreuses contraintes introduisent un coût important dans le développement d'un système
embarqué.

12. Systèmes d’exploitation particuliers

12.1 Systèmes d’exploitation

Un système d'exploitation (noté SE ou OS pour Operating System) est l’ensemble de programmes


permettant à l’utilisateur d’exploiter les ressources matérielles de l'ordinateur, il est chargé d'assurer la
liaison entre les ressources matérielles, l'utilisateur et les applications (traitement de texte, jeu vidéo ...).
C’est le programme fondamental des programmes systèmes. Il contrôle les ressources de l'ordinateur et
fournit la base sur laquelle seront construits les programmes d'application.

Application

Système d’Application

Pilotes

Matériel

Figure . Couches d’un système d’exploitation

Le système d'exploitation permet ainsi de "dissocier" les programmes et le matériel, afin notamment de
simplifier la gestion des ressources et offrir à l'utilisateur une interface homme-machine (IHM) simplifiée
afin de lui permettre de s'affranchir de la complexité de la machine physique.

12.2 Systèmes d’exploitation embarqués

Les systèmes d’exploitation embarqués sont des systèmes d'exploitation prévus pour fonctionner sur
des machines de petite taille, telles que des PDA (personal digital assistants ou en français assistants
numériques personnels débutez en 1996 ) ou des appareils électroniques autonomes (sondes spatiales,
robot, ordinateur de bord de véhicule, etc.), possédant une autonomie réduite. Ainsi, une
caractéristique essentielle des systèmes embarqués est leur gestion avancée de l'énergie et leur
capacité à fonctionner avec des ressources limitées. Les principaux systèmes embarqués «grand public»
pour assistants numériques personnels sont : Windows CE / Windows Mobile / Window Smartphone /
Android /Bada/BlackBerry OS/Firefox OS/KaiOS/ Ubuntu Touch/ UBports …etc

Cours Systèmes Embarqués 13


12.3 Systèmes d’exploitation temps réel ( RTOS)

Les systèmes d’exploitation temps réel ( RTOS) sont des systèmes pour lesquels l'exécution des
programmes est soumise à des contraintes temporelles. Les résultats de l'exécution d'un programme
n'est plus valide au delà d'un certain temps connu et déterminé à l'avance. Généralement on trouve ces
systèmes TR dans les systèmes embarqués Exemples de systèmes d'exploitation temps réel : OS-9 ;
RTLinux (RealTime Linux) ; QNX ; VxWorks; eCos; FreeRTOS; Linux embarqué; LynxOS ; PikeOS ;
RTEMS ;µC/OS-II.. etc.

Cours Systèmes Embarqués 14


Partie II. Composants matériels d’un système embarqué

Cours Systèmes Embarqués 15


[Link]

L'architecture matérielle d'un système embarqué liste les composants le constituant ainsi que la
manière avec laquelle ils sont agencés entre eux. Il existe plusieurs types de représentations possibles
pour décrire une architecture matérielle, la plus courante et pratique étant un diagramme blocs. Ce type
de diagramme comporte généralement :

 Des blocs qui représentent les différents composants, unités ou sous-systèmes composant le
système embarqué, selon le niveau d'abstraction désiré pour la description de l'architecture
matérielle.
 Des liens entres blocs qui représentent un contrôle, une commande, un échange d'information,
avec éventuellement le type de communication utilisé, de nouveau selon le niveau d'abstraction
désiré.

L’ architecture type d'un système embarqué. On y voit les principaux composants que l'on retrouve
dans la plupart des systèmes embarqués.

Deux ouvertures vers le monde extérieur sont présentes : le bus de périphériques et un port utilisé pour
le debug des programmes. Pour le reste, outre le processeur, on peut voir qu'il y a des horloges, des
mémoires, des dispositifs généraux, spécifiques et de communication. Ces composants sont reliés au
processeur à l'aide de bus système pouvant être de différents types. Cette architecture type se retrouve,
par exemple, sur des cartes telles que l'Arduino, la Raspberry Pi ou la BeagleBone Black.

Cours Systèmes Embarqués 16


II. Principaux composants

Un système embarqué étant destiné à une application spécifique, son hardware est spécialement conçu pour
ce dernier. On élimine, par exemple, tout circuit superflu afin de réduire les couts engendrés par des
ressources inutiles. De plus, plusieurs choix sont possibles pour l'unité de calcul à prendre. Voyons ici une
série de composants ou sous-systèmes de l'architecture type d'un système embarqué.

1. Unité de calcul

Après l'apparition de l'Intel 4004 et du MOS-LSI, de nombreux autres types d'unités de calcul ont vu le
jour, chacun ayant ses propres spécificités. Dans le monde des systèmes embarqués, il y a une pléthore
de choix possibles pour déterminer l'unité de calcul qui sera utilisée.

Il y a tout d'abord le processeur, notamment caractérisé par son jeu d'instructions, c'est-à-dire
l'ensemble des instructions qu'il est capable d'exécuter, par sa fréquence d'horloge (Hz) et au nombre
d'instructions exécutables par secondes (MIPS). Ces deux dernières caractéristiques permettent d'établir
ses capacités et sa puissance de calcul.

On retrouve également des circuits spécifiques qui implémentent des fonctions directement câblées en
hardware. Ce deuxième type d'unité de calcul est moins générique, mais plus rapide, performant et
généralement plus compact que les processeurs.

Plusieurs types d'implémentations sont possibles pour les unités de calcul, allant de systèmes plus
génériques comme l'Intel 4004 vers des solutions beaucoup plus spécifiques. On distingue
essentiellement quatre grandes catégories :

 Le General Purpose Processor (processeur à usage général) (GPP) propose un jeu d'instructions
assez large et varié permettant de réaliser beaucoup de choses. C'est le genre de processeur
que l'on retrouve notamment dans les ordinateurs « traditionnels ».
 L'Application-Specific Instruction set Processor (processeur dont le jeu d'instructions est
spécifique à l'application) (ASIP) possède un jeu d'instructions qui est spécifiquement conçu
pour un certain ensemble d'opérations.
 Vient ensuite le hardware reprogrammable dont la fonction peut être modifiée après sa
fabrication, une fois sorti d'usine donc. Pour être précis, il s'agit plus d'une reconfiguration que
d'une reprogrammation étant donné que ce type d'unité de calcul n'exécute pas d'instructions.
 Enfin, l'unité de calcul la plus spécifique est l'Application-Specific Integrated Circuit (circuit
intégré propre à une application et spécialisé pour cette dernière) (ASIC) qui est un circuit
intégré réalisant les fonctions nécessaires pour une application donnée.

2. Horloge

L'horloge est le second composant essentiel, avec l'alimentation en énergie. En effet, elle est utilisée
pour cadencer le fonctionnement du processeur et donc l'exécution des instructions. C'est à son rythme
que le processeur répète inlassablement le cycle fetch-decode-execute, récupérant les instructions
depuis la mémoire, les décodant et les exécutant.

Cours Systèmes Embarqués 17


Le circuit oscillateur d'horloge peut utiliser un crystal externe au processeur, un résonateur céramique
associé de manière interne au processeur ou enfin un oscillateur externe sous la forme d'un circuit
intégré rattaché au processeur. Le crystal offre la solution la plus stable en fréquence, mais doit être
placé le plus près possible du processeur. À l'opposé, le résonateur céramique est interne au processeur,
mais moins stable (dérive d'une dizaine de minutes par mois, comparé à entre une et cinq minutes pour
le crystal). Enfin, le circuit intégré externe est beaucoup plus contrôlable, ce qui est notamment utile
lorsque différents composants du système embarqué sont pilotés de manière concurrente.

Un système embarqué contient également des Real-Time Clocks (RTC), c'est-à-dire des circuits de timer.
Elles sont utilisées par divers composants, notamment l'ordonnanceur de tâches dans le cadre d'un
microprocesseur ou pour des systèmes temps réel.

3. Mémoire

Un autre type de composant que l'on retrouve dans tous les systèmes embarqués est la mémoire. Il
existe de nombreux types de mémoire pouvant être permanentes ou volatiles, internes ou externes.
Concernant les systèmes embarqués, on retrouve notamment les trois types suivants :

 La Read-Only Memory (mémoire morte, ou mémoire à lecture seule) (ROM) est une mémoire
permanente et en lecture seule utilisée pour stocker le programme exécuté par le système
embarqué. Le processeur y récupère les instructions à exécuter. On y retrouve également
d'autres données comme le code de démarrage et d'initialisation du système, des pointeurs vers
une série de routines, etc.
 La Random-Access Memory (mémoire vive, ou mémoire à accès aléatoire) (RAM) est une
mémoire volatile utilisée comme mémoire de travail. Elle stocke les variables créées par le
programme et est utilisée comme mémoire tampon d'entrée/sortie pour le traitement de son
ou d'images, par exemple.
 Enfin, l'Electrically Erasable Programmable ROM (mémoire ROM effaçable électriquement)
(EEPROM) est une mémoire permanente, mais dont le contenu peut être modifié en flashant la
mémoire à l'aide d'un procédé électrique. On l'utilise notamment comme mémoire cache, pour
stocker une copie des instructions et données chargées à l'avance depuis une mémoire externe
ou des résultats temporaires de calculs pour du traitement rapide.

4. Alimentation
Afin de pouvoir fonctionner, un système embarqué a besoin d’être alimenté en énergie électrique. Il
doit dispenser d’une source d’énergie qui peut être :

− Le courant du secteur : par exemple machine à laver, récepteur, poste de télévision, système
d’alarme…

− Batteries et piles pour les systèmes mobiles : téléphone portable, robot …

− Générateur de courant électrique : alternateur de voiture pour le cas du GPS, de l’ABS, de l’ESP −
Energie renouvelable : énergie solaire

Cours Systèmes Embarqués 18


− Energie produite par le système : par exemple Certains systèmes de contrôle de pression des pneus se
trouvent embarqués dans les roues elles-mêmes, et n’ont pas d’accès filaire pour leur alimentation ou
leur communication. Ils doivent donc s’auto- alimenter (grâce à l’énergie piézoélectrique) et
communiquer par radio avec l’organe de gestion central de la voiture.

Dans le cas des systèmes critiques, une alimentation redondante doit être utilisée. Par exemple un
système d’alarme doit fonctionner correctement en cas de coupure du courant de secteur. Un système
embarqué doit être équipé d’un système de gestion de l’alimentation. Par exemple les systèmes
alimentés par une batterie comme les téléphones.

5 . Conversion Numérique-Analogique
5.1 Définition

Un Convertisseur Numérique Analogique (CNA) reçoit une information numérique ( mot de n bits ) et le
transforme en un niveau analogique ( tension ou courant ).

Schéma :

5.2 Relation entre V et N(10)

Il est nécessaire de connaître la plage de tension utilisée par le CNA; cette plage est définie par les deux
tensions V ref+ et Vref- :

- pour le nombre N(10) = 0 en entrée, V sera minimale ( V = Vref- ),

- pour le nombre N(10) = 2n en entrée, V sera maximale ( V = Vref+ ).

Remarque : le nombre maximal en entrée est Nmax = 2n – 1 on ne pourra donc pas avoir Vmax = Vref+ .

 La relation reliant V à N(10) est donc la suivante :

Avec :

Cours Systèmes Embarqués 19


Q est le quantum du convertisseur ( plus petite variation de tension en sortie ).

 La tension maximale en sortie est donc :

Soit = + −

3- Définitions

 Quantum Q : résolution analogique ( plus petite variation de tension en sortie ).


 1/2n: résolution numérique.

5.3 Caractéristique des CNA réels

 Temps de conversion: le temps de conversion est limité par la vitesse de commutation des
interrupteurs électroniques. Ce temps limite la fréquence d'échantillonnage.

5.4 Exemples de CNA

a- CNA à résistances pondérées


Schéma

 pour n = 4 :

Cours Systèmes Embarqués 20


( a 0 a1 a2 a 3 )2 représente le mot binaire à l'entrée du convertisseur.

N(10) = 23 a 3 + 22 a2 + 21 a 1 + 20 a0 = 8 a3 + 4 a2 + 2 a1 + a0 est le nombre décimal.

Si le bit ai est égal à 0 alors l'interrupteur est relié à la masse.

Si le bit ai est égal à 1 alors l'interrupteur est relié à Uref.

 Relation US = f ( N(10) )

 Remarques :
- La relation générale des CNA est vérifiée avec Uref- = 0 ; Uref+ = Uref et Q < 0.
- L'inconvénient de ce type de convertisseur est la difficulté à fabriquer des résistances
pondérées précises.

b- CNA à réseau R-2R avec sortie en tension

Schéma pour n = 4 :

( a 0 a1 a2 a 3 )2 représente le mot binaire à l'entrée du convertisseur.

N(10) = 23 a 3 + 22 a2 + 21 a 1 + 20 a0 = 8 a3 + 4 a2 + 2 a1 + a0 est le nombre décimal.

Si le bit ai est égal à 0 alors l'interrupteur est relié à la masse.

Cours Systèmes Embarqués 21


Si le bit ai est égal à 1 alors l'interrupteur est relié à Uref.

 Relation US = f ( N(10) )

On montre que:

Donc:

 Remarques :
- La relation générale des CNA est vérifiée avec Uref- = 0 ; Uref+ = Uref et Q > 0.
- L'inconvénient de ce type de convertisseur est l'existence de régimes transitoires de durées
non négligeables ( commutation de tension pour les interrupteurs )

c- CNA à réseau R-2R avec sortie en courant


Schéma pour n = 4 :

( a0 a 1 a2 a3 )2 représente le mot binaire à l'entrée du convertisseur.

N(10) = 23 a 3 + 22 a2 + 21 a 1 + 20 a0 = 8 a3 + 4 a2 + 2 a1 + a0 est le nombre décimal.

Si le bit a i est égal à 0 alors l'interrupteur est relié à la masse.

Si le bit a i est égal à 1 alors l'interrupteur est relié à Uref.

 Relation US = f ( N(10) )

Cours Systèmes Embarqués 22


 Remarques :
- La relation générale des CNA est vérifiée avec Uref- = 0 ; Uref+ = Uref et Q < 0.
- Les courants dans les résistances sont constants.
- Les interrupteurs commutent des courants ( peu de régime transitoire ). de
tension pour les interrupteurs )

6. Conversion Analogique-Numérique
6.1- Définition

Un Convertisseur Analogique Numérique ( CAN ) reçoit une information analogique ( tension ou courant
) et la transforme en un code de sortie numérique ( mot de n bits ).

6.2- Relation entre V et N(10)

Il est nécessaire de connaître la plage de tension convertie en entrée du CAN; cette plage est définie par
les deux tensions Vref+ et Vref- :

- pour la tension V minimale ( V = Vref- ), le nombre en sortie sera N(10) = 0,

- pour la tension V maximale ( V = Vref+ ), le nombre en sortie sera N(10) = 2n,

Cours Systèmes Embarqués 23


 Remarque: le nombre maximal en sortie est Nmax = 2 n – 1 on ne pourra donc pas convertir une
tension égale à Vref+ . La relation reliant V à N(10) est identique à celle du CAN :

Exprimons plutôt N(10) en fonction de V :

La tension maximale en entrée est donc :

6.3- Définitions

 Quantum Q : résolution analogique ( plus petite variation de tension mesurable en entrée ).


 1/2n : résolution numérique.

6.4- Caractéristique des CAN réels

 Le temps de conversion d'un CAN est généralement plus long que pour un CNA car la
conversion utilise des opérations de comptage.
 Les défauts d'un CAN réel sont de même types que ceux d'un CNA :
- Erreur de décalage
- Erreur de linéarité
- Erreur de gain.

6.5- Exemples de CAN

a- CAN à simple rampe

 Schéma :

Cours Systèmes Embarqués 24


 Principe de fonctionnement : La tension ue à convertir est comparée à une rampe de tension
ur(t) ( charge d'un condensateur à courant constant I0 ). Tant que ue > ur(t) , le compteur
binaire s'incrémente. Dès que ue = ur(t), le compteur s'arrête et son contenu est : N(10) = k. ue
avec k = C .I0 / TH .

 Limitations : La précision dépend de la valeur de C0 et de la stabilité du signal d'horloge uH(t).


On peut améliorer la précision en réalisant un convertisseur à double rampe

b- CAN à comparaison directe

 Schéma :

 Principe de fonctionnement :

La tension ue à convertir est comparée à une rampe "numérique" tension uCNA(t) ( tension de sortie du

ue > uCNA , le compteur binaire s'incrémente.


CNA dont l'entrée est la sortie du compteur ). Tant que

Dès que ue = uCNA , le compteur s'arrête et son contenu est : N(10) = k. ue avec k = 1/qCNA (qCNA =
quantum du CNA ).

 Limitations :
Comme pour le CAN à rampe, le temps de conversion est long. La précision dépend de celle du
CNA utilisé pour produire uCNA.

c- CAN à comparateur en échelle ( flash )

Cours Systèmes Embarqués 25


 Schéma :

Le montage comporte un ensemble de comparateurs. Les entrées "+" sont reliées entre elles et on leur
applique la tension ue à convertir. Une tension de référence Uref est divisée par un réseau de résistances
R et les fractions de Uref sont appliquées aux entrées "-" des comparateurs. Enfin, un circuit de logique
combinatoire délivre le nombre N(2) à partir des sorties des comparateurs.

 Principe de fonctionnement ( prenons par exemple Uref = 5V ):


- Les tensions appliquées aux entrées "-" des comparateurs sont : U0- = Uref / 5 = 1V ; U1- = 2V ;
U2- = 3V ; U3- = 4V ; U4- = 2V .
- Les tensions en sortie des comparateurs sont inscrites dans le tableau ci-dessous :



Cours Systèmes Embarqués 26


 Bilan :
La résolution du CAN étudié est de 1V, il faudra donc un grand nombre de comparateurs pour
avoir une bonne résolution.
La conversion est très rapide ( pas de comptage ).

7. Actionneurs
Dans une machine ou un système de commande à distance, semi automatique ou automatique,
un actionneur est l'organe de la partie opérative qui, recevant un ordre de la partie commande
via un éventuel pré-actionneur, convertit l'énergie qui lui est fournie en un travail utile à
l'exécution de tâches, éventuellement programmées, d'un système automatisé. En d'autres
termes, un actionneur est l'organe fournissant la force nécessaire à l'exécution d'un travail
ordonné par une unité de commande distante. Les Actionneurs permettent de transformer
l’énergie reçue en un phénomène physique (déplacement, dégagement de chaleur, émission de
lumière ...)

Exemples d’actionneurs :
- Les vérins : Les vérins permettent d’obtenir un mouvement rectiligne avec plus ou moins de
force. Ils peuvent fonctionner soit avec de l’air comprimé (vérin pneumatique), soit avec de
l’huile hydraulique (vérin hydraulique).

Cours Systèmes Embarqués 27


- Les moteurs électriques : Le moteur électrique permet d’obtenir des mouvements en rotation
par le biais de l’axe de sortie du moteur. Cependant, à l’aide d’un système mécanique
(crémaillère par exemple), ce mouvement circulaire peut être transformé en un mouvement
rectiligne. Egalement à l’aide d’un «réducteur» en sortie du moteur, ce mouvement circulaire
peut avoir davantage de force (un couple plus grand).

- Les servomoteurs : Un servomoteur est un moteur électrique «amélioré», dont la rotation de


l’axe de sortie est paramétrable. C’est à dire que l’axe de sortie du servomoteur est capable de
s’arrêter sur une position prédéterminée puis de rester sur cette position. Cette position sera
indiquée en degrés. Par exemple : moteur d’essuie glace d’une voiture.

Cours Systèmes Embarqués 28


- Une électrovanne: C'est un actionneur qui permet de contrôler, à partir d'un courant
électrique, le débit d'un liquide. On l'utilise par exemple dans un système d'arrosage
automatique ou bien les robinets automatiques

- Haut parleur ou sirènes: systèmes d’alarme et système de détection d’incendie

- Afficheur ou voyant: Permet de créer un échange visuel, soit par un voyant, soit par un
message textuel ou numérique.

Cours Systèmes Embarqués 29


- Résistance chauffante: C'est un actionneur qui permet, à partir d'un courant électrique, de
produire de la chaleur.

Cours Systèmes Embarqués 30

Vous aimerez peut-être aussi