Proposition d un plan d étude pour l option «informatique embarquée» Motivation : L informatique embarquée est un sous ensemble de l informatique qui est en pleine croissance. Elle intègre plusieurs aspects s étalant sur un spectre large de domaines d applications, comme la transmission numérique (télécommunications), les systèmes multimédias, la téléphonie mobile, la sécurité des données (réseau de capteurs), le transport, reconnaissance, domotique, visio-conférence, video-surveillance, les systèmes de contrôle et de supervision industriels (contrôle de procédé, de qualité, robotique). A titre d exemple, selon le magazine spécialisé in-stat (http://www.in-stat.com/), les revenus annuels mondiaux des média phones (téléphone mobile évolué intégrant un mini PC, TV, internet) atteindra les 8 billions $ d ici 2013. Le besoin d automatisation des chaines de fabrication impose l utilisation de microcontrôleurs évolués pouvant gérer des processus industriels complexes souvent en réseau. L évolution de l automobile donne lieu à l intégration de plus en plus importante des systèmes embarqués. On estime que 20 à 30% du coup final du véhicule. Il y a par exemple 40 calculateurs qui sont installés dans la Peugeot 607). Les systèmes embarqués vont surtout servir la sécurité (assistance de freinage, radar de recul, etc.). Les systèmes embarqués sont utilisé aussi en agriculture sous forme de réseaux de capteurs sans fil pour la collecte de données et la gestion de l irrigation par exemple. La partie informatique des systèmes embarqués atteint 65% (plus que le matériel). Par conséquent, de nouvelles approches et de nouveaux outils s imposent pour développer les couches logicielles sur les nouvelles architectures. Dans ce contexte, plusieurs formations se sont proposées pour former des ingénieurs dans la matière. Objectifs : L objectif de l option est de compléter et d étendre la formation des élèves ingénieurs afin de pouvoir intégrer ce marché de plus en plus important. Cette formation couvre les nouvelles architectures, les nouvelles technologies et les langages et les outils de conception. En effet, les applications sur les systèmes embarqués sont souvent exécutées sur des nouvelles architectures plus ou moins spécialisées. Ces systèmes sont à base de processeurs d ordre général, de processeurs spécifiques (DSP, co-processeurs spécialisés, accélérateurs matériels), des contrôleurs de communication, des mémoires hiérarchisées, des périphériques (écran, clavier, capteur d image). Ces nouvelles architectures embarquent de plus en plus des systèmes d exploitation OS (comme le Linux embarqué). La conception de ce type de ces systèmes fait intervenir plusieurs langages et techniques : Programmation en C/C++ pour l embarqué, OS et RTOS embarqué, Programmation en C/assembleur pour la programmation embarqué, etc. Le développement de système embarqué fait souvent à des kits de développement, par exemple le Kit OMAP ou la plateforme Davinci. Elles doivent être complétées par d autres aspects architecturaux plus ou moins spécialisées (multiprocesseurs, architectures parallèles, etc.). Une maîtrise des méthodes de conception logicielle et/ matérielle évoluées et mixte (codesign). Enfin les systèmes embarqués ciblent de plus en plus les circuits préfabriqués dit
FPGA pour embarquer ces nouvelles technologies. Cette technologie allie performance des circuits matériels câblés et la flexibilité des solutions programmables. Ainsi, l option tente à fournir aux étudiants un aperçu sur l informatique embarqué des aspects tant théoriques (concepts et méthodologies) que pratiques (langages et plateformes). Les problèmes liés à la conception et à l implémentation et/ou au prototypage des systèmes embarqués sont adressés. De plus, l'étudiant aborde la programmation temps réel, avec une compréhension de base pour les systèmes embarqués, la communication temps réel, le traitement de données, la théorie de contrôle et la simulation. Ainsi, l'étudiant se familiarise avec l'intégration d aspects multidisciplinaires dès le niveau système. Il sera capable de réaliser la partie logicielle dans une plateforme de système embarqué, d identifier les goulots de performance, pouvoir de les éliminer afin d améliorer les performances du système embarqués dans le niveau approprié. Implication des industriels et Possibilités d embauche : Le profil de cette option est assez demandé en industrie. D ailleurs plusieurs ont exprimé leur intérêt de recrutement et de participation à la formation et de co-encadrement de PFE. On cite en particulier: SAGEM, ST, TELNET,ARDIA,Cynapsys, etc. comme SA Alpha Engineering, TDS, Powers mind, etc. comme P&ME Des lettres d appui peuvent être fournies. Groupes de modules Groupe de modules Volume horaire année CI TP coef GM1 : langages & système d exploitation embarqué C embarqué/systemc 2 ème année 22.5 22.5 Conception de haut niveau et VHDL 2 ème année 22.5 22.5 Systèmes d exploitation embarqué temps réel 3 ème année 22.5 Linux embarqué 3 ème année 22.5 GM2 : Architectures des Processeurs embarqués Microcontrôleur et Processeur ARM 2 ème année 22.5 DSP et processeur multimédia 2 ème année 22.5 22.5 Architectures multiprocesseurs 3 ème année 22.5 GM3 : techniques de Conception des systèmes embarqués Systèmes embarqués 3 ème année 22.5 Co-design 22.5 SoC sur FPGAs 3 ème année 22.5 22.5 GM4 : Applications embarquées Traitement multimédia embarqué 3 ème année 22.5 22.5
Réseaux de capteur sans fil 3 ème année 22.5 22.5 Contrôle intelligent : robotique 22.5 2 ème année : 150 heures 3 ème année : 285 heures. Descriptif des modules : 1. Module C embarqué/ SystemC : Le but de ce module est la maîtrise des deux langages de programmation C et systemc. Le langage est très utilisé pour la programmation des processeurs embarqués, les DSP et les processeurs multimédia. la majorité des normes (compression vidéo, standard de transmission) proposent des versions gratuites en langage C. Le C embarqué est un sous ensemble du langage C spécifique aux systèmes embarqués. Il est plus simple que le langage C mais garde toute sa puissance (accès aux périphériques, performance du compilateur, etc...). Le SystemC est un langage de programmation capable de modéliser des circuits matériels. Il intègre en effet différentes notions comme la concurrence, la gestion du temps. Il peut être utilisé aussi bien pour la spécification que pour la cosimulation logicielle matérielle. Enseignants : M. Melliti (Telnet)/Fatma Abbes (ISI Mahdia) 2. Module Conception de haut niveau et VHDL: Le langage VHDL permet la modélisation des circuits numériques avec différents niveaux d abstraction allant du niveau fonctionnel jusqu au niveau portes logiques. Il permet la modélisation et le test rapide de composants numériques complexes. Le but de ce cours est la maîtrise du langage VDHL et du flot de conception des circuits associés en utilisant les circuits numériques programmables de type FPGA. Enseignants : Khaled Jerbi (ENIS)/Zied Nen Salem (Alpha Engineering) 3. Systèmes d exploitation temps réel Les systèmes embarqués ont une part de marché grandissante. Ces systèmes contiennent des architectures et des applications de complexité ascendante et des contraintes temps réel en croissance continue. Tous ces paramètres imposent l utilisation des systèmes d exploitation temps réel (RTOS). L objectif de ce cours est de donner un aperçu général sur les RTOS, leurs spécificités et les mécanismes qu ils offrent pour la gestion de temps réel (ordonnancement temps réel, préemption, synchronisation). Enseignants : Maher Ben Jemaa (ENIS)/ Rym Chouour (ENIS) 4. Linux embarqué Le but de ce TP est la prise en main d un exemple très utilisé de RTOS qui est le linux embarqué. Il s agit de maîtriser la programmation temps réel basé sur le langage C (interruptions, le multitâche, mécanisme de synchronisation). Enseignants : Khaled ben Amor (Telnet)/ M. F. Magdich (Telnet) 5. Microcontrôleur et Processeur ARM
Le but de ce cours est la maîtrise d une classe de processeurs embarqués dédiés au contrôle. Une attention particulière sera donnée aux microcontrôleurs ARM très utilisés dans le domaine embarqué. Un aperçu général sur leur architecture sera donné. Des exemples de leurs programmations seront effectués. Enseignants : Jalel Ktari (ENIS)/Ameur Sboui (Telnet) 6. DSP et processeur multimédia Le but de cours est l étude des processeurs spécifiques aux télécommunications et au multimédia. Ces processeurs utilisent diverses techniques pour assurer la complexité des application de télécom/multimédia. Un aperçu sera donné sur ces différentes techniques (modes d adressage spécifiques, architectures super scalaires et VLIW, caches hiérarchiques, exploitation du parallélisme). Une étude de cas sur la conception d un (mini) processeur spécialisé sera menée : conception et intégration de coprocesseurs, mesure de gain. Enseignants : Nader Ben Amor (ENIS)/Yousra Ben Jemaa (ENIS) 7. Architectures multiprocesseurs Il s agit d étudier les nouvelles architectures en terme multiprocesseurs, les mémoires distribuées, les NoC. Un autre aspect sera aussi traité qui s ajoute dans le métier : système d exploitation et compilateur pour ce type d architecture. Enseignants : Mouna Baklouti (ENIS)/M. Abid (ENIS) 8. Systèmes embarqués Le but de ce cours est de présenter les caractéristiques des systèmes embarqués, leur domaine d utilisation (notamment dans le contrôle et le multimédia). Il s agit ensuite de donner un aperçu sur les contraintes de conception associée à ces systèmes (contrainte d architecture, de consommation, de mobilité etc...). Un aperçu sera donné sur les différentes techniques d adaptation utilisée sur ces systèmes. Ces techniques permettent aux systèmes de satisfaire différentes contraintes (durée de vie, qualité de service, temps réel) tout en étant sous l influence de l environnement variable. Une étude de cas sera menée sur un exemple de systèmes embarqués adaptatif. Enseignants : Zied Ben Salem (Alpha Engineering)/ 9. Prototypage des SoC sur FPGAs Les SoC (systèmes sur puce) sont des systèmes électroniques complexes intégrés dans une seule puce. Ceci permet une augmentation de performance et d énergie par rapports aux systèmes sur carte. Mais leur conception posent beaucoup de problèmes dues notamment à la nature différentes des composants à intégrer (processeurs, mémoire, contrôleurs, composants matériels). Le but de ce cours est de présenter ces problèmes de conception. Une solution à ces problèmes en utilisant la technologie FPGA sera donnée. Des exemples de conception de SoC complexes intégrant un processeur, des composants matériels spécifiques seront donnés. Ces systèmes seront intégrés dans des circuits numériques programmables de type FPGA. Ces études de cas permettent aux étudiants de maîtriser la conception des SOC sous FPGA (logiciels de synthèse et de placement routage, modélisation en VHDL, langage C). Enseignants : Mohamed Abid (ENIS)/Fahmi Magdich 10. Co-design
Le but de ce cours est de présenter la méthodologie de conception mixte logicielle/matérielle. Cette méthodologie permet d assurer une adéquation entre les spécifications de l application et les caractéristiques de l architecture. Enseignants : Mohamed ABID, Yassine Aoudni 11. Traitement multimédia embarqué Il s agit dans ce cours de présenter différentes applications multimédia souvent rencontrés dans les systèmes embarqués : (compression vidéo, reconnaissance de forme, synthèse d image 3D). Enseignants : Imed Ammar/Nader Ben Amor/Yousra Ben Jemaa 12. Réseaux de capteurs Les réseaux de capteurs sans fil sont très utilisés dans plusieurs domaines : agricole, militaire, etc... Il sont formés un grand nombre de nœuds qui sont des micro-capteurs capables de récolter et de transmettre des données environnementales d'une manière autonome. Le but de ce cours est de donner un aperçu sur ce type de systèmes, ainsi que leur mode de fonctionnement, les problèmes de leur utilisation (défaillance, sécurité, etc...) Enseignants : Maher Ben Jemaa (ENIS)/Walid Chebbi 13. Contrôle intelligent et robotique: Les systèmes embarqués intègrent de plus en plus du contrôle. Vu la possibilité de faire évoluer les applications avec du logiciel, on embarque de plus en plus de l informatique à base de microcontrôleur, DSP, FPGA, etc. L objectif de ce cours et d introduire l adéquation algorithme application architecture pour ce type d application. Enseignants : M. Ouali (ENIS)/Adel Alimi (ENIS)