Systèmes embarqués en troisième année de l`Ecole Centrale

Transcription

Systèmes embarqués en troisième année de l`Ecole Centrale
CIMIRLY
Systèmes embarqués en troisième année de l'Ecole Centrale de Lyon
F. Mieyeville, D. Navarro, L. Carrel,
Ecole Centrale de Lyon
Résumé : Cet article présente le cours de systèmes embarqués enseigné en troisième année de
l'Ecole Centrale de Lyon. Après un rappel du déroulement de la scolarité à l'Ecole Centrale de
Lyon, on s'attachera à présenter l'enseignement de l'électronique dans une école généraliste avec
les contraintes qu'un tel cursus peut imposer, en particulier au niveau de la troisième année.
I) Contexte
1. Scolarité à l'ECL
Les élèves-ingénieurs de l'Ecole Centrale de Lyon suivent deux ans de formation de tronc
commun sur des domaines allant de la mécanique aux mathématiques en passant par les matériaux,
l'informatique, les mathématiques, le génie électrique, les sciences humaines et sociales,...
En troisième année, ils se spécialisent dans une option (Transports Terrestres, Aéronautique,
Micro-Nano-Bio-Technologies, Génie Civil et Environnement, Informatique et Communication,
Mathématiques et Décision, Énergie,...) représentant un domaine sectoriel et un métier (Ingénieur
Recherche et Développement, Ingénieur Logistique, Ingénieur de Production, Ingénieur Consultant,
Ingénieur en Conception) représentant une fonction d'ingénieur. La répartition horaire option/métier
et environ de deux tiers / un tiers.
Les élèves choisissent 7 modules ouverts parmi les 50 proposés qu'ils suivent au premier
trimestre en parallèle de leur métier. La spécialisation proprement dite dans le domaine sectoriel est
faite au second trimestre où les élèves suivent le cursus spécifique de leur option. La troisième
année se conclue par le Travail de Fin d'Étude à partir de début avril.
Le déroulement de la scolarité est synthétisé dans le tableau suivant :
P4
CIMIRLY
Le cours de troisième année de systèmes embarqués dont il est question dans cette article est
un module ouvert rattaché à l'option Transports Terrestres de l'Ecole Centrale de Lyon. Un module
ouvert est un cours qui, tout en étant plutôt orienté sur une option est suffisamment ouvert pour être
suivi par tout autre élève de toute autre option. Un module ouvert est composé de huit cours
magistraux de deux heures et de trois séances pratiques de quatre heures.
2. L'électronique en troisième année à l'ECL
L'enseignement d'électronique se trouve ainsi réparti sur trois options différentes :
Transports Terrestres pour l'aspect systèmes, Micro-Nano-Biotechnologies pour l'aspect composants
et conception de circuits analogiques et Aéronautique pour l'aspect électronique programmable.
Le public rencontré a un parcours en électronique extrêmement disparate. A part une
formation commune en électronique générale de 20 heures de cours magistraux, 12 heures de
travaux dirigés et 6 heures de travaux pratiques en première année, un élève-ingénieur peut ne pas
avoir suivi d'autre enseignement en électronique du fait de l'aspect optionnel de l'EEA en deuxième
année.
En effet, un élève-ingénieur de deuxième année doit suivre une formation type EEA
d'environ 80 heures parmi les dix dont quatre axées électronique, cinq axées électrotechnique et une
axée automatique. Il n'est donc pas rare de retrouver en troisième année un étudiant n'ayant suivi en
électronique que le cursus de première année.
Pour ajouter à la complexité, on peut retrouver en troisième année dans le même module
ouvert, un élève du type précédemment évoqué en compagnie d'un autre élève qui lui aura suivi une
spécialisation d'électronique de plus de 80 heures en deuxième année.
II) Cours de troisième année de « Systèmes embarqués »
1. Systèmes embarqués : définition et état des lieux pédagogique
Si on regarde la définition de systèmes embarqués, on peut trouver ce qui suit : « Un
système embarqué peut être défini comme un système électronique et informatique autonome, qui
est dédié à une tâche bien précise. Ses ressources disponibles sont généralement limitées. Cette
limitation est généralement d'ordre spatial (taille limitée) et énergétique (consommation
restreinte). »
A travers la notion de systèmes embarqués, on peut traiter tous les aspects de la
microélectronique, des circuits intégrés au SoC (System On Chip), tous les aspects de l'interfaçage
(conversion analogique/numérique et numérique analogique mais également entrées/sorties – I2C,
USB, RS232, ethernet,...-), tous les aspects programmation matérielle et logicielle, ...
Une rapide étude des cours existants sur les systèmes embarqués permettent d'établir le
constat suivant : dans les années 90, sous l'appellation de systèmes embarqués se retrouvaient
principalement des cours d'architecture de microprocesseurs/microcontrôleur ou alors des cours
orientés informatique, principalement de type linux ou RTOS (1). En résumé, des cours centrés sur
l'architecture informatique du côté matériel et logiciel.
A l'heure actuelle, en plus de ces cours qu'on pourrait qualifier de traditionnels, on trouve de
plus en plus de cours (2) traitant des réseaux de capteurs sans fil (WSN pour Wireless Sensor
Network) exemple par excellence de la notion de système embarqué distribué.
2. Cahier des charges
En tant que module ouvert, l'enseignement de systèmes embarqués de troisième année doit
être accessible à tous les élèves tout en étant un enseignement spécialisé de haut niveau.
P4
CIMIRLY
C'est pourquoi, ce cours est axé principalement sur l'aspect logiciel/matériel des systèmes
embarqués afin de s'appuyer sur les connaissances informatiques (à la fois logicielles et
architecturales) de l'élève ingénieur. Du point de vue électronique, l'accent est mis sur l'aspect
système et plus particulièrement sur les systèmes sur puces (System-On-Chip : SoC).
3. Structure et contenu du cours
Le cours de troisième année dispensé aux élèves de l'Ecole Centrale de Lyon est structuré de
la manière suivante :
✔ Introduction aux systèmes embarqués et aux SoC
✔ Architecture microcontrôleurs et leur programmation
✔ Communication inter-puces
✔ SoC : architectures de bus et Network-On-Chip
✔ Systèmes exploitation et temps réel
✔ Compilation croisée (cross-compilation) et contraintes d'un système d'exploitation
sur de l'embarqué
✔ Exemple d'application : réseau de capteur sans fil
L'introduction aux systèmes embarqués permet d'introduire les systèmes embarqués dans
l'évolution de la microélectronique, de présenter les enjeux technologiques et économiques (temps
de vie de plus en plus réduit des produits électroniques, importance des environnements de
conception), de montrer quelques exemples d'application et d'introduire la notion de Systèmes Sur
Puce, intégration ultime des systèmes embarqués. Sont également introduite au cours de cette
introduction les blocs IP (Intellectual Properties) et la notion de réutilisabilité.
Les cours sur le microcontrôleur et les communications permettent de présenter
l'architecture et le fonctionnement de microprocesseurs et microcontrôleur en insistant beaucoup
plus sur ce dernier. Sont également traitées les différentes manières de programmer un système
embarqué à base de microcontrôleur, les exemples pris étant ceux qui seront utilisés sur la platine de
TP. L'aspect communication permet d'aborder, outre les notions de communication filaire
classiques, les standards qui se retrouvent sur tout microcontrôleur (série, I2C, ...) mais également
d'aborder les notions plus complexes d'intégration dans un réseau de type CAN ou Flexray. Sont
enfin abordés la communication RF et les protocoles utilisés dans l'embarqué avec une orientation
forte WSN (Zigbee), ce dernier faisant l'objet du cours d'exemple applicatif.
L'aspect communication évoqué précédemment amène à s'intéresser à la notion de bus interpuces et intra-puces et aux protocoles qui y sont associés. Sont ainsi traitées les notions d'accès au
bus, les différentes stratégies envisageables, le tout illustré par différents exemples provenant
d'exemples réels. Les systèmes embarqués tendant vers une intégration de plus en plus poussée, un
accent important est mis sur l'aspect intra-puce. C'est également pour cela que la notion de NoC
(Network On Chip) est abordée.
L'aspect informatique n'est pas oublié puisqu'il fait l'objet de deux cours portant sur la compilation
croisée et la notion de kernel (application linux embarqué). Les étudiants étudient la structure
élémentaire d'un système d'exploitation et des contraintes temps réel afin de pouvoir appréhender
les enjeux de l'élaboration d'un système d'exploitation et ses applications déployable sur un système
à faible ressource à temps réel la plupart du temps.
Un exemple applicatif de systèmes embarqués est présenté lors du dernier cours: les réseaux
de capteur sans fils (WSN – Wireless Sensor Networks) qui ont l'avantage de mettre en évidence
tous les enjeux potentiels d'un système embarqué distribué : autonomie, gestion d'énergie,
déploiement et accessibilité, sécurité, reconfigurabilité, logiciel embarqué, fiabilité, stratégie de
P4
CIMIRLY
réseau et intelligence distribuée.
4. Contenu des séances de travaux pratiques
Toutes ces notions sont mises en pratiques lors des séances de travaux pratiques regroupées
en une séance d'introduction de 4 heures sous la forme de bureau d'étude présentant le but des
travaux pratiques et les notions afférentes : programmation d'un bootloader CAN autonome. Au
cours de cette séance, sont présentées les notions de bootloader, les caractéristiques détaillée du bus
CAN visé et la platine utilisée par la suite. Sont également introduites, par le biais d'exemple
pratique les rudiments de la programmation de microcontrôleur (PIC de Microchip dans notre cas).
La platine utilisée est basée sur un microcontrôleur PIC18F258 de Microchip couplé à une interface
CAN MCP2551 de Microchip (cf. photographie suivante).
Le choix du bus CAN provient de l'option de rattachement du module ouvert « Systèmes
embarqués » à savoir Transport Terrestres. Il a été choisi d'aborder la notion de bootloader en TP car
c'est tout simplement le point de départ de tout système embarqué évolutif.
Les étudiants ont ensuite deux séances de quatre heures de TP en travail par binôme pour
implémenter un bootloader d'une part, le protocole de communication CAN d'autre part et enfin un
système embarqué dont le firmware peut être mis à jour par le biais du bus CAN.
Cette dernière partie se valide d'abord par une communication avec un PC équipé de
l'interface matérielle et logicielle CAN adéquate puis dans un deuxième temps par l'interfaçage
mutuel des platines CAN de chaque binôme. Pour parvenir à ce résultat, les étudiants ont à leur
disposition un sujet récapitulatif des tâches successives à réaliser ainsi que les documentations
techniques afférent à la platine.
III) Évolution
Ce cours n'en étant qu'à sa première année d'existence, il sera forcément amené à évoluer.
L'évolution la plus probable sera le développement de l'aspect réseau sans fil, du fait de
l'importance croissante de ce genre de dispositif (intelligence ambiante, surveillance,...) et du
nombre de notions qu'il permet d'aborder de manière naturelle.
Une plateforme de réseaux de capteur sans fil est en cours de déploiement et son utilisation
complétera ou remplacera à court terme les activités pratiques actuellement enseignées.
Références
(1) Patrick Kadionik, http://kadionik.developpez.com/, Systèmes embarqués (ENSEIRB)
(2) Andreas Savvide, Yale, EE460A, Networked Embedded Systems and Sensor Networks.
P4