Vous êtes sur la page 1sur 7

SYSTEMES EMBARQUES : Etude générale d’un système embarqué 2015

Chapitre II : Etude générale d’un système embarqué

II.1. Objectifs spécifiques du chapitre


 Enumérer les éléments constitutifs d’un système embarqué (entrées, sorties, interfaces...);
 Identifier les caractéristiques et le rôle de chaque élément constitutif d’un S.E (Matériel
et logiciel) ;
 Connaitre la notion système temps réel.

II.2. Introduction
Le système embarqué est un système électronique/informatique réalisant une ou plusieurs tâches
bien déterminées tout en respectant des contraintes, principalement la contrainte temps.
Dans ce chapitre, nous allons en premier lieu présenter en détails les éléments des S.E.. en
second lieu, nous allons aborder la notion temps réel pour les S.E..

II.3. Eléments constitutifs d’un système embarqué

Un système embarqué est composé principalement par deux parties :

» Une partie matérielle utilisée pour la performance :


 CPU (unité de traitement)
 Mémoires
 Interfaces d’entrées/sorties…..

» Une partie logicielle utilisée pour sa flexibilité


 Logiciels
 Système d’exploitation

Partie A : Partie matérielle

Enseignante : YAAKOUBI H.
1
SYSTEMES EMBARQUES : Etude générale d’un système embarqué 2015

La structure de base d’un système embarqué est donnée par la figure ci-dessous :

II.3.1. Entrées d’un S.E.


Les entrées d’un S.E. sont les capteurs qui mesurent les informations provenant de
l’environnement extérieur.

II.3.2. Sorties d’un S.E.


Les sorties d’un S.E. sont les éléments qui effectuent les actions sur l’environnement. Ce sont
généralement des actionneurs, des afficheurs…

II.3.4. Convertisseurs A/N, N/A


CAN : l’entrée d’un S.E. est une grandeur analogique, le CAN converti cette grandeur
analogique en une grandeur numérique pour qu’elle puisse être traitée par le CPU.

CNA : l’ordre transmis par un S.E. (sortie) au système contrôlé est numérique, le CNA converti
cet ordre en une grandeur analogique puisque le système contrôlé est un système physique.

II.3.5. Alimentation
Plusieurs options sont possibles pour alimenter en énergie un système embarqué. S'il ne doit pas
être portable, on peut utiliser un adaptateur secteur AC/DC et sinon, il peut être alimenté par une batterie.
Dans les deux cas, plusieurs plages de fonctionnement doivent être disponibles pour les éventuels
besoins différents des composants d'un même système embarqué. On retrouve typiquement les quatre
plages suivantes :
 5.05.0 V ±0.25±0.25 V
 3.33.3 V ±0.3±0.3 V
 2.02.0 V ±0.2±0.2 V
 1.51.5 V ±0.2±0.2 V

II.3.6. Processeurs embarqués

Enseignante : YAAKOUBI H.
2
SYSTEMES EMBARQUES : Etude générale d’un système embarqué 2015

Les systèmes embarqués contrôlent de nombreux appareils actuellement utilisés aujourd'hui.


Quatre-vingt-dix-huit pour cent de tous les microprocesseurs fabriqués sont utilisés dans des systèmes
embarqués.

a. Principaux types de Prosseurs embarqués

Différents types de processeurs sont utilisés dans les systèmes embarqués, tels que :
 ASIP : Application Specific Instruction-set Processor ;
 ASSP : Application Specific Standard Product ;
 DSP : Digital Signal Processors ;
 RISC : Reduced instruction set computer ;
 Microcontroleurs.

Les systèmes embarqués modernes sont souvent basés sur microcontrôleurs ou des
microprocesseurs ordinaires, une classe standard commune de processeurs dédiés est le processeur de
signal numérique (DSP).

 MICROCONTROLEUR
 Utilisé pour le contrôle embarqué :
 Contrôleurs simples,
 Manipule des événements,
 Quelques données mais en faible quantité.
 Exemple : caméscope, disque dur, appareil photo numérique, machine à laver …
 Quelques caractéristiques fréquentes
 Périphériques présents sur le circuit (timer, convertisse analogique numérique, interface
de communication), accessible directement grâce aux registres.
 Programme et données intégrées au circuit
 Accès direct du programmeur à de nombreuses broche du circuit
 Instructions spécialisées pour les manipulations de bits.

 DSP: Digital Signal Processors

Enseignante : YAAKOUBI H.
3
SYSTEMES EMBARQUES : Etude générale d’un système embarqué 2015

 Utilisés pour les applications de traitement du signal


 Grande quantité de données numérisées, souvent organisées en flux.
 Exemple : Filtre numérique sur téléphone, TV numérique, synthétiseur de sons….
 Quelques caractéristiques en plus :
 Bande passante élevée (deux bus) ;
 Arithmétique septique (mode d’arrondi) ;
 Registres dédiés pour certains opérateurs ;
 Constructeurs: Texas Instrument, puis Analog Devices, Motorola ;
 Instructions dédiées pour les calculs de traitement du signal: multiplication accumulation.

b. Architecture es processeurs embarques

Les deux Von Neumann , ainsi que divers degrés de architectures Harvard , sont utilisés.

 Architecture "Von Neuman" ou "Princeton"

 La mémoire contient les données et les instructions


 L’unité centrale (CPU) charge les instructions depuis la
mémoire.
 Un ensemble de registres aide le CPU:
 Compteur d’instructions (Program counter: PC),
 Registre d’instruction (Instruction register: IR)
 Pointeur de pile (stack pointer: SP)
 Registres à usage général (Accumulateur: A)

 Architecture Harvard

 Données et instructions dans des mémoires séparées


 Autorise deux accès simultanés à la mémoire.
 Utilisé pour la plupart des DSP meilleure bande passante
 Performances plus prédictibles

Un processeur embarqué est constitué par :

 L’unité de contrôle configure le chemin de donnée suivant


l’instruction à exécuter.
 L’exécution d’une instruction est décomposée en plusieurs
phases d’un cycle.
c. Les langages de programmation des CPU:
Il existe trois familles de langages :

Enseignante : YAAKOUBI H.
4
SYSTEMES EMBARQUES : Etude générale d’un système embarqué 2015

 Langages assembleurs
 Ces langages furent longtemps les seuls à être utilisés dans le contexte des STR
 Dépendant par nature de l'architecture cible (matériel et système d'exploitation)
 Aucune abstraction possible et grande difficulté de développement, de maintenance et
d'évolution.
 Langages à proscrire sauf pour l'implémentation de petites fonctionnalités très spécifiques et
apportant une grande amélioration des performances.

 Langages séquentiels liés à des librairies système


 Les plus connus sont le C, le C++, Fortran.
 Apportent un plus grand pouvoir d'abstraction et une certaine indépendance du matériel.
 Mais, doivent faire appel à des librairies systèmes spécifiques pour la manipulation des
processus.
 Ils posent le problème de la standardisation des appels systèmes mais sont quelques fois le
seul choix possible à cause de la spécificité d'une cible et des outils de développement sur
celle-ci.

 Langages concurrents de haut niveau


 Langages généralistes incluant de plus la notion de tâches et des primitives de
synchronisation
 Haut pouvoir d'abstraction, indépendance des architecture et des systèmes cibles
 Parmi ces langages, Ada et Java sont des plus aboutis
 Ces langages sont à privilégier lorsque d'autres contraintes ne rendent pas leur choix
impossible.

d. Mémoire des processeurs embarqués


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)

Enseignante : YAAKOUBI H.
5
SYSTEMES EMBARQUES : Etude générale d’un système embarqué 2015

(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.

 Mémoires statiques (SRAM) : petites, rapides, consommatrices, peu denses (chères) ;


 Mémoires dynamiques (DRAM) : grandes, lentes, très denses, transactions chères.

Partie B : Partie logicielle

II.4. Logiciels pour les systèmes embarqués

II.4.1. Spécificités des logiciels embarqués

Comme pour tout développement de logiciel, les concepteurs de systèmes embarqués utilisent des
assembleurs, des compilateurs et des débogueurs pour développer les logiciels de ces systèmes. Les
outils logiciels peuvent provenir des différentes sources :

 Des compagnies spécialisées dans les logiciels pour systèmes embarqués ;


 D’outils de développement pour ordinateurs personnels, lorsque le processeur utilisé est proche
d'un processeur utilisé dans les PC.
Peuvent s'y ajouter des outils plus spécifiques, comme :
 Des débogueurs de circuits ou des émulateurs pour le débogage des programmes, au niveau du
processeur ou au niveau des périphériques ;
 Des suites logicielles comme MATLAB ou Mathematica pour des domaines applicatifs comme le
traitement du signal, la simulation numérique, etc.
 Des bibliothèques qui fournissent les fonctions mathématiques ou de traitement du signal les plus
courantes pour le ou les processeurs utilisés.

II.4.2. Spécificités des logiciels embarqués

Les solutions embarquées utilisent des composants Soft conjointement avec le Hard  Par
analogie aux ordinateurs, ces composants logiciels devront tournés sur un système d’exploitation.  un
système d’exploitation embarqué n’a pas toutes les fonctionnalités et les caractéristiques qu’un un
système d’exploitation pour ordinateur.
Un ensemble de programmes responsable de la gestion des opérations de :

Enseignante : YAAKOUBI H.
6
SYSTEMES EMBARQUES : Etude générale d’un système embarqué 2015

 Contrôle ;
 Coordination ;
 Utilisation du matériel ;
 Partage des ressources d’un dispositif entre divers programmes tournant sur ce dispositif.
Une plateforme logicielle sur laquelle les autres programmes (programmes d’applications) peuvent
s’exécuter sur des appareils mobiles ; PDA, téléphones cellulaires, smartphones,… Les SEM se
diffèrent en fonction des fonctionnalités qu’ils soutiennent :
 La gestion de la mémoire ;
 La gestion des microprocesseurs et l’ordonnancement ;
 La gestion de système de fichiers ;
 La gestion des I/O ;
 La gestion de sécurité ;
 La gestion de fonctionnalité multimédia ; etc….

II.5. Notion des systèmes temps réel


II.5.1. Définition
Un système temps réel est un système numérique qui doit répondre à un ensemble de stimuli
provenant de l’environnement dans un intervalle de temps dicté par ce même environnement (i.e. des
contraintes temporelles).
Pour un système temps-réel, il ne suffit pas de fournir des résultats corrects, il faut aussi les
fournir en temps et en heure  Résultats corrects au sens temporel.
II.5.1. Classification
 Temps réel dur (‘hard real-time’) : le non respect des contraintes temporelles entraîne la faute
du système contrôle de trafic aérien, système de conduite de missile, ...
 Temps réel souple (‘soft real-time’) : le respect des échéances est important mais le non respect
des échéances n’a pas de graves conséquences  système d'acquisition de données pour
affichage…
 Temps réel ferme (‘firm real-time’) : temps réel souple, mais si l’échéance est
dépassée le résultat obtenu n’a plus de valeur (et est donc écarté) projection vidéo…

Enseignante : YAAKOUBI H.
7

Vous aimerez peut-être aussi