Vous êtes sur la page 1sur 51

Les systmes embarqus

Introduction

Richard Grisel Professeur des Universits Universit de Rouen


Nacer Abouchi Professeur ESCPE Lyon

Introduction aux systmes embarqus


Dfinition.
Caractristiques dun systme embarqu.
Notions de codesign.
Les contraintes dans la conception des systmes

embarqus.
Mthodologie de conception.

Dfinition (1)
Embedded system: tout systme conu pour rsoudre

un problme ou une tche spcifique mais nest pas un


ordinateur dusage gnral.
Utilisent gnralement un microprocesseur combin avec

dautres matriel et logiciel pour rsoudre un problme de


calcul spcifique.
Systme

lectronique et informatique autonome ne


possdant pas des entres-sorties standards.

Le systme matriel et lapplication sont intimement lis et

noys dans le matriel et ne sont pas discernables


comme dans un environnement de travail classique de
type PC.

Dfinition (2)
N'est pas visible en tant que tel, mais est intgr dans un

quipement dot d'une autre fonction; on dit aussi que le


systme est enfoui, ce qui traduit plus fidlement le terme
anglais embedded.
Une faible barrire existe entre les systmes embarqus

et les systmes temps rels (un logiciel embarqu n'a pas


forcment de contraintes temps rel).
La conception de ces systmes est fiable (avions,

systme de freinage ABS) cause de leur utilisations


dans des domaines fortes contraintes mais galement
parce que l'accs au logiciel est souvent difficile une fois
le systme fabriqu.

Dfinition (3)
Les microprocesseurs s'tendent depuis de simples

microcontrleurs 8 bits aux 64-bit le plus rapidement et les


plus sophistiqus.
Le logiciel systme inclus s'tend d'un petit directeur un

grand logiciel d'exploitation en temps rel (RTOS) avec


une interface utilisateur graphique (GUI). Typiquement, le
logiciel systme inclus doit rpondre aux vnements
d'une manire dterministe et devrait toujours tre
oprationnel.
Les

systmes embarqus couvrent aussi bien les


commandes de navigation et de commande de trafic
arien quun simple agenda lectronique de poche.

Les types de systmes embarqus


Calcul gnral :

Jeu vido.

Contrle de systmes en Temps Rel :

Systme de navigation arien.

Traitement du signal :

Radar, Sonar,

Transmission dinformation et commutation :

Tlphone, internent.

Quelques exemples
quipement mobile et bureautiques :

Rpondeurs,
Copieurs,
Tlphone portable,
Imprimante.

quipement dans le btiment :

Ascenseurs, escalators,
Systme de surveillance,
Contrle daccs,
Systmes d'clairage.

Embarquement dun ordinateur

CPU

embedded
computer

output

analog

input

analog

mem

Quelques exemples
quipement de production :

Productions automatises,
Systmes de commande d'nergie,
quipements de stockage,

Transport :

Avionique,
Trains, Automobiles (+ de 100 processeurs),
Contrle de navigation,

Communications :

Satellites,
GPS,
Tlphonie mobile,

Historique (rcent)
Fin des annes 1940: Le processeur Whirlwind du

MIT est conu pour des applications temps rel


A lorigine pour contrler un simulateur de vol.
Le premier microprocesseur est lIntel 4004 au dbut

des annes 1970.


La calculatrice HP-35 utilise plusieurs circuits pour

implmenter un microprocesseur en 1972.

Historique (suite).
Les automobiles utilisent des systmes de contrle

du moteur avec microprocesseurs depuis les annes


1970.

Contrle du mlange fuel/air, gestion du moteur, etc.

Modes de fonctionnement multiples: dmarrage,


croisire, montes, etc.

Baisse des missions polluantes, consommation


optimise.

Caractristiques dun systme embarqu (1)


Fonctionnement en Temps Rel :

Ractivit : des oprations de calcul doivent tre faites


en rponse un vnement extrieur (interruption
matrielle).

La validit dun rsultat dpend du moment o il est


dlivr, (deadlines).

Rater une chance peut causer une erreur de


fonctionnement.

La plus part des systmes sont multirate :


traitement dinformations diffrents rythmes.

Caractristiques dun systme embarqu (2)


Faible encombrement, poids et consommation :

Consommation lectrique minimise,

Difficult de packaging (analogique, numrique et RF),

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

Environnement svre (Temprature, vibrations,


variations dalimentation, interfrences RF, corrosion,
eau, feu, radiations, etc.),

Le systme nvolue pas dans un environnement


contrl (volutions des caractristiques des
composants en fonction de lenvironnement).

Caractristiques dun systme embarqu (3)


Cot, sret et scurit :

Le systme doit toujours fonctionner correctement


(faible cot et une redondance minimale),

Sret de fonctionnement du logiciel (systme


oprationnel mme quand un composant lectronique
lche .

Beaucoup de systmes embarqus sont fabriqus en


grande srie et doivent avoir des prix de revient
extrmement faibles

Systme embarqu typique

CAPTEURS

ASIC/FPGA

LOGICIELLE

CAN

CPU

CNA

IHM

PORTS

Alimentation
auxiliaire

Entres sorties

MEMOIRES

SECUIRITE ELECTROMECANIQUE

ENVIRONNEMENT EXTERIEURE

ACTIONNEURS

Les systmes embarqus et le temps rel


Un systme embarqu doit gnralement respecter des

contraintes temporelles fortes (Hard Real Time).


On y trouve enfoui un systme d'exploitation ou un noyau

Temps Rel (Real Time Operating System, RTOS).


"Un systme est dit Temps Rel lorsque l'information

aprs acquisition et traitement reste encore pertinente".


Cela veut dire que dans le cas d'une information arrivant
de faon priodique (interruption), les temps d'acquisition
et de traitement doivent rester infrieurs la priode de
rafrachissement de cette information.
Ne pas mlanger Temps Rel et rapidit de calcul du
systme donc puissance du processeur

Le fonctionnement temps rel


Les oprations doivent tre faites avec des

chances (deadlines) prcises.

Hard real time: le manquement des chances


provoque une faute

Soft real time: le manquement des chances cause


des dgradations de performances.

La plupart des systmes sont multi-rate : Les

oprations doivent tre gres des vitesses (trs)


diffrentes.

Les systmes embarqus et les RTOS


La question dutiliser un systme dexploitation Temps Rel

ou non ne se pose pratiquement plus pour les raisons


suivantes :

Simplifications de lcriture de lapplication embarque.


Portabilit.
volutivit.
Matrise des cots.

Le systme dexploitation peut tre mme maison :

encore dans 50 % des cas !


Quelques exemples :

Linux, RTLinux, Windows CE, COS, PALM OS

Spcifications non fonctionnelles


Beaucoup de systmes sont des systmes

production de masse qui doivent avoir des cot de


fabrication bas

Mmoire limite, puissance du microprocesseur, etc.

La consommation est un facteur critique pour les

systmes fonctionnant sur piles (ou batteries).

Une consommation excessive augmente le cot mme


en cas dalimentation par le secteur.

Equipes de conception
Nombre dingnieurs faible.
Les chances sont contraintes.

6 mois pour la mise sur le march est un dlai


classique.

Des chances sont contraintes (rentre des classes,


concurrence, etc..)

Lien entre le matriel et le logiciel


le codesign
Objectif : intgrer un systme dans un mme composant

(single chip). On parle aussi de systme sur silicium SoC


(System on Chip) ou SoPC (System on Programmable
Chip), (loi empirique de Moore).
Langages de description du matriel pour synthtiser et

tester les circuits numriques. On a ainsi une approche


logicielle pour concevoir du matriel.
Les systmes numriques se sont complexifis et la mise

sur le march est plus rapide ! (notion de Design Reuse et


dIntellectual Property).

Evolution de la conception
Portes
logiques
100 M

System C !
Proprit
Intellectuelle

1M

VHDL - VERILOG

10 K
5K

RTL
Schmatique
quations

1991

1993

1995

1997

1999

2001

2003

2005

2007

Codesign hardware / software


Le codesign dans la mthodologie de conception dun

systme embarqu est de plus en plus utilis.


Le codesign permet de concevoir en mme temps la fois

le matriel et le logiciel pour une fonctionnalit


implmenter. Cela est maintenant possible avec les niveaux
dintgration
offerts
dans
les
circuits
logiques
programmables.
Le codesign permet de repousser le plus loin possible dans

la conception du systme les choix matriels faire


contrairement lapproche classique o les choix matriels
sont faits en premier lieu !

Conception et codesign
Conception traditionnelle

Codesign (flot concurrent)


Dbut

f
So
e
ar
tw

Software

Hardware

Ralis par des


ingnieurs indpendants

Ha
rd
wa
re

Dbut

Ralis par les


mmes ingnieurs

Les tapes dans le Codesign


Spcifications : liste des fonctionnalits du systme de

faon abstraite.
Modlisation : conceptualisation et affinement des
spcifications produisant un modle du matriel et du
logiciel.
Partitionnement : partage logiciel matriel.
Synthse et optimisation : synthse matrielle et
compilation logicielle.
Validation : co-simulation.
Intgration : rassemblement des diffrents modules.
Tests dintgration : vrification du fonctionnement.

Avantages du codesign
Amlioration des performances : paralllisme, algorithmes

distribus, architecture spcialise, etc.


Reconfiguration statique ou dynamique en cours de

fonctionnement.
Indpendance vis vis des volutions technologiques des

circuits logiques programmables.


Mise profit des amliorations des outils de conception

fournis par les fabricants de circuits logiques.


programmables : synthse plus efficace, performance

accrue.

Systmes embarqus et microprocesseurs (1)


Microprocesseur.
Microcontrleur : contient les I/O, la mmoire.
Digital signal processor (DSP) : microprocesseur optimis pour

le traitement du signal.
Taille des donnes dans les systmes embarqus : 8-bit, 16-bit,
32-bit.
Alternatives: Field-programmable gate arrays (FPGAs), logique
spcialise, etc.
Les microprocesseurs sont trs efficaces : la mme logique permet
de faire une multitude de fonctions ce qui simplifient la
conception de familles de produits.

Microprocesseur et logique sur-mesure


Les microprocesseurs utilisent plus de logique pour

implmenter une fonction que lquivalent en logique surmesure. Mais ils sont souvent au moins aussi rapides :

Pipelines plusieurs tages.


Conception optimise.
Technologie VLSI rcente.

La logique sur-mesure est adapte aux systmes basse

consommation.
Les microprocesseurs ont des possibilits de contrle de

la consommation (mise en sommeil de certaines parties).


Les techniques de conception logicielle peuvent aider

rduire la consommation.

Microcontrleur et DSP
Type de processeur

Microcontrleur

DSP

Besoins

Ressources ncessaires

avantages

Contrle dentres sorties

Ports dentres sorties bits

Pilotage direct
dactionneurs, etc.

Communications sries avec


lextrieur.

Port srie : SPI, IC, UART, CAN,


Microware, etc.

facilite linterfaage avec


lextrieur via le rseau, etc.

Contrle prcis de moteur et


actionneurs.

Priphriques spciaux :
compteurs temporisateurs,
gnrateurs de PWM, etc.

Programmation facile.

Rapidit dexcution de
fonction complexe de
contrle.

Sauts conditionnels, instructions de


test au niveau bit, interruption, etc.

Facilit de mise en uvre au


niveau de la programmation
des taches.

Rapidit de prise en compte


dvnements externes.

Interruption externes avec plusieurs


niveaux de priorits.

Facilit de mise en uvre


logicielle.

Entres analogiques

Convertisseur analogique
numrique

Prise en compte matrielle


de capteurs externes.

Filtres numriques

Multiplieur, etc.

Temps de calcul rduit.

Interface pour CodeurDecodeur

Port srie rapide

Prise en compte de signaux


analogiques.

Quantit importante de
donnes en entre.

Contrleur de DMA

Temps de transfert minimis

Accs rapide aux donnes.

Architecture spcifique.

Acclration de lexcution.

But de la conception (systmes embarqus)


Performances : vitesse, chances fonctionnelles.
Fonctionnalits et interface utilisateur.
Cot de fabrication.
Consommation.
Autres caractristiques du cahier des charges (taille

du botier, etc.)

Methodologies de conception
Une procdure est ncessaire pour la conception.
La comprhension de la mthodologie assure que lon ne

va pas passer cot de paramtres importants.


Les compilateurs, les outils daide la conception

logicielle, les outils de CAO, , peuvent tre utiliser pour :

automatiser les tapes mthodologiques,


surveiller et tracer la mthodologie elle-mme.

Niveaux dabstraction
Besoin
spcification
architecture
Composants
Intgration

A chaque niveau dabstraction,


on doit analyser le systme pour
dterminer ses caractristiques
actuelles et lamliorer pour
prendre en compte les dtails
manquants.

Top-down ou bottom-up
Top-down :
on part du plus haut niveau dabstraction;
on descend vers le plus dtaill.
Bottom-up :
on part des composants de base et on remonte vers
le systme.

Une conception raliste utilise les deux techniques

Challenges en conception de systmes


embarqus
De quoi avons nous besoin en terme de HW ?

Taille du CPU, taille de la mmoire.

Comment respecter les dlais ?

Hardware rapide ou Software intelligent.

Comment minimiser la consommation ?

Mise en sommeil de la logique non utilise, rduction des cycles


daccs la mmoire.

Est ce que cela fonctionne ?

Les spcifications sont elles correctes ?


Est ce que la ralisation couvre les spcifications ?
Comment teste-t-on les caractristiques temps rel ?
Comment teste-t-on en vrai grandeur (donnes relles) ?

Comment travaille ton sur le systme ?

Observabilit, contrlabilit, quelle plateforme de dveloppement


utiliser ?

Expressions des besoins


Une description prcise de ce que veut lutilisateur (client) et de

ce quil espre obtenir


Besoins fonctionnels :

Sorties en fonction des entres et des paramtres.

Besoins non fonctionnels :

temps ncessaire pour calculer la sortie,


taille, poids, etc.,
consommation,
fiabilit,
etc.
Comprendre le besoin du client et savoir aussi lidentifier !

Modle de fonctionnalits
Nom :
Objectifs :
Entres :
Sorties :
Fonctions :
Performances :
Cot de fabrication :
Consommation :
Taille :
Poids :

Exemple : Systme GPS

carte obtient la
position du GPS, la
base de donnes est
locale pour la carte.

I-78
Scotch Road

La

Latitude : 40 13
longitude: 32 19

Besoins pour le systme GPS


Fonctionnalit : Pour lautomobile, il faut montrer les axes principaux et

les repres.
Interface utilisateur :

Au moins 400 x 600 pixels pour lcran.


3 boutons maximum.
Menus droulants.

Performances : La carte doit tre balaye doucement, pas plus de 1

seconde la mise sous tension, calage sur le GPS en moins de 15


secondes.
Cot : prix de vente de 500 (approximativement). 100 de cot pour

les fournitures.
Taille/poids : Doit tenir dans la main.
Consommation : Doit fonctionner 8 heures avec 4 piles type AA.

Modle pour le systme GPS


nom
Objectifs
Entres
Sorties
Fonctions
Performances
Cot de fabrication
Consommatoin
Taille
Poids

Carte GPS
Carte routire GPS
pour conducteur
1 bouton on/off, 2 de
contrle
LCD 400 X 600 rtro
clair
rcepteur GPS; 3
rsolutions; affichage
lat/lon
Mise jour de lcran
en 0.25 sec
100 (fournitures)
100 mW
5cm x 12 cm
100 g

Spcifications
Une description plus prcise du systme :

ne doit pas identifier une architecture particulire,


donne les entres au dispositif de conception de
larchitecture.

Peut comprendre des lments fonctionnels et non

fonctionnels.
Peut

tre excutable ou sous


mathmatique pour preuve formelle.

une

forme

Spcifications pour le GPS


Doit comprendre :

Ce qui est reu du GPS.


Les donnes de la carte.
Linterface utilisateur.
Les oprations ncessaires pour satisfaire la
demande du client.
Les oprations darrire plan permettant au systme
de continuer fonctionner.

Conception de larchitecture
Quels

sont les composants


spcifications majeures ?

qui

satisfont

aux

Composants matriels :
CPUs, priphriques, etc.
Composants logiciels :
Programmes principaux et leurs oprations.
Doit prendre en compte les spcifications fonctionnelles

et non fonctionnelles.

Schma bloc du systme GPS

rcepteur
GPS

Moteur de
recherche

Rendu
visuel

Donnes

Interface
utilisateur

LCD

Architecture matrielle du GPS

LCD

Mmoire
vido

CPU
Rcepteur
GPS

Mmoire

I/O

Architecture logicielle du GPS

position

Recherche
Base de
donnes

Rendu visuel

Interface
utilisateur

timer

pixels

Exemple du systme de contrle de


freinage et de stabilit de la BMW 850i
Anti-lock Brake System (ABS)
Automatic stability control (ASC+T): contrle de la

stabilit
LABS et lASC+T communiquent.

LABS a t introduit en premier ce qui a ncessit de


sinterfacer avec le module ABS existant.

BMW 850i, (suite)


sensor

sensor

brake

brake
ABS

hydraulic
pump

brake

brake

sensor

sensor

Conception des composants matriel et


logiciel
Il faut passer beaucoup de temps de rflexion avant

de commencer coder.
Quelques composants existent, certains peuvent tre

modifis partir dautres systmes, dautres devront


tre crs.

Intgration du systme
Rassembler les composants.

Beaucoup de bugs cette tape !


Avoir un plan dintgration des composants pour

couvrir les bugs rapidement, tester le plus de


fonctionnalits le plus tt possible.

Rsum
Nous sommes entours de systmes embarqus.
La complexit embarque se situe au niveau matriel
et au niveau logiciel.
Les systmes embarqus posent de nombreuses

contraintes en terme de conception :


temps de conception, chances, consommation,
encombrement, autonomie, etc.
Les mthodologies de conception aident grer

le processus de conception.

Les comptences avoirs

microprocesseur, microcontrleur, DSP, mmoires, IO,


FPGA, VDHL,
Codesign,
Programmation en assembleur,
Programmation C, C++, java,
Systmes dexploitations, linux, RTOS,
rseau,
bus.

Connaissance des systmes numriques.


Travailler en quipe avec des ingnieurs dautres disciplines.

Vous aimerez peut-être aussi