Systèmes embarqués
Ref: 3SQ1041
Description
Un système embarqué est un système électronique et informatique autonome dédié à une tâche spécifique avec de ressources limitées et une faible consommation d’énergie. L’ingénierie des systèmes embarqués est une discipline qui conçoit et met en œuvre du matériel et des logiciels de systèmes embarqués et elle est utilisée dans des industries telles que l’aérospatiale et la défense, l’énergie, l’automatisation industrielle, la santé, les communications, la sécurité, le transport et plus encore. Ce cours permettra aux étudiants de développer des compétences pratiques et des connaissances théoriques en ingénierie des systèmes embarqués, y compris la programmation des systèmes embarqués, les systèmes d’exploitation temps réel embarqués ainsi que l’ingénierie du matériel embarqué.
Numéro de trimestre
SD9
Prérequis
Notions de programmation en langage C;
Connaissances de bases sur l’électronique numérique;
Connaissances de bases sur l’électronique numérique;
Syllabus
Les concepts suivants seront discutés en détail et illustrés par des travaux pratiques ou des démonstrations:
+ General Purpse I/O and general Purpose Timers
+ Real-time Clock (RTC)
+ Software Development Platforms
+ Interrupts & Power management
+ Timing & Memory operations
+ Debugging tools for embedded systems
+ Fundamentals of Real-Time Operating Systems
+ FreeRTOS: Task, event, mutex, semaphore and Queue
+ Software Timers in FreeRTOS
+ Memory management in FreeRTOS
==> Travaux pratiques/ projets: Plateformes STM32 avec STM32CubeIDE ou Keil microVision IDE
Composition du cours
Des cours magistraux pour présenter les principes généraux.
Environnements de Développement Intégrés:
Des applications seront étudiées lors de TD et seront testées sur des cartes de développement pendant des séances de TP
- STM32CubeIDE & STM32CubeMX IDE
- Keil microVision IDE
Notation
L'évaluation du cours portera sur le travail réalisé en TPs (moyenne de trois TPs: 70% évaluation en séance et 30% rapport écrit) . Une note >12 validera les compétences C1/C2/C3
Ressources
Pédagogie participative (30% cours, 70% TDs & TPs)
Chaque élève aura une carte de développement à base d'un microcontrôleur ARM cortex-M (STM32) associée à des environnements de développement intégrés: STM32CubeMX, STM32CubeIDE, STM32CubeProgrammer, Keil microVision IDE.
Différents capteurs et convertisseurs (ex: USB-RS232) seront mis à disposition pour les élèves pour réaliser leurs travaux pratiques ou leurs activités dans le domaines des systèmes embarqués.
Résultats de l'apprentissage couverts par le cours
A l'issue de ce cours les élèves seront capables de:
1- Comprendre les environnements de développement intégrés et les enjeux liés aux consommations énergétiques pour les systèmes embarqués;
2- Comprendre l'architecture matérielle interne de processeur MCU (Micro Controller Unit ou microcontrôleur);
3- Comprendre et maitriser les mécanismes d'interruption (causes, interruptions matérielles, interruptions logicielles, traitement des interruptions,...) et de débogage
4- Concevoir et mettre en œuvre un système embarqué temps-réel (tâches, boites aux lettres, sémaphores,...)
1- Comprendre les environnements de développement intégrés et les enjeux liés aux consommations énergétiques pour les systèmes embarqués;
2- Comprendre l'architecture matérielle interne de processeur MCU (Micro Controller Unit ou microcontrôleur);
3- Comprendre et maitriser les mécanismes d'interruption (causes, interruptions matérielles, interruptions logicielles, traitement des interruptions,...) et de débogage
4- Concevoir et mettre en œuvre un système embarqué temps-réel (tâches, boites aux lettres, sémaphores,...)
Description des compétences acquises à la fin du cours
C1.1 Study a problem in its entirety, the situation as a whole.
Identify, formulate and analyze a problem in its scientific, economic and human dimensions.
C2.5 Conducting a project in a professional context
C3.3: Decide, initiate, carry out and commit to an ambitious high impact project, deliver tangible results, be pragmatic
C1.3: Solve the problem with a practice of approximation, simulation and experimentation.
C1.4: Design: specify, perform and validate all or part of a complex system
C2.3 Identify and quickly acquire new knowledge and skills necessary in the relevant fields, whether technical, economic or other.
C2.5 Conducting a project in a professional context
C3.3: Decide, initiate, carry out and commit to an ambitious high impact project, deliver tangible results, be pragmatic
Support de cours, bibliographie
Les supports de cours (polycopiés et autres ressources pédagogiques) seront mis à disposition sur Edunao et sur un drive (OneDrive).
Bibliographie :
1- Zhu, Y. Embedded Systems with ARM Cortex-M3 Microcontrollers in Assembly Language and C; E-Man Press LLC: Ballston Spa, NY, USA, 2014;
2- Brian Amos. Hands-On RTOS with Microcontrollers: Building Real-Time-
Embedded Systems using FreeRTOS, STM32 MCUs, and SEGGER Debug Tools. Packt Publishing Limited, Birmingham, United Kingdom, 2020;