Logo ÉTS
Session
Cours
Responsable(s) Bruno De Kelper

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

Date Contenus traités dans le cours Heures
 
  1. Introduction et concepts de base du temps réel
  • Introduction à la problématique des systèmes en temps réel
  • Exemples de systèmes ordinés en temps réel
  • Définition des concepts de base
  • Notion du temps de réponse dans les systèmes informatiques
3 heures
       2.  Le microcontrôleur STM32F0
  • Introduction au microcontrôleur STM32F0 de STMicroelectronics
  • Revue de ses composantes matérielles et leurs caractéristiques
  • Détails de fonctionnement des modules :
    • RCC : module de réinitialisation et de contrôle d'horloges.
    • GPIO : module d'entrées/sorties tout usage.
    • USART : module de communication série synchrone/asynchrone.
9 heures
       3.  Événements, interruptions et temps de réponse
  • Concept d'évévement, détection d'événement, séquence de traitement d'événement
  • Analyse de temps de réponse d'événement
  • Facteur de charge des événements
  • NVIC : module de contrôle d'interruptions vectorisées.
6 heures
       4.  Noyau en temps réel 
  • Systèmes d’exploitation et noyau en temps réel
  • Boucle d’interrogation, tâches pilotée par état et multitâche coopératif
  • Système piloté par interruption, à temps partagé et à priorité préemptive
  • Système avant-plan / arrière-plan
6 heures
       5.  Systèmes d’exploitation en temps réel
  • Notions de tâche, de processus et de fil d’exécution
  • Notions de région critique, d’opérations atomiques et de ressources partagées
  • Multitâches préemptif et coopératif
  • Services de gestion de tâche d’un système d’exploitation multitâches – étude de cas : uC/OS-II
6 heures
       6.  Partage de ressources et synchronisation dans un OS multitâches
  • Processus et traitement d’interruption dans un OS multitâches
  • Partage de ressources et notion d’inter-blocage, graphe d’allocation des ressources, contrôle d’accès par attente active
  • Notions et problèmes de synchronisation de tâches
  • Services de synchronisation et de contrôle d’accès : sémaphore, mutex, boites et queues de message.
3 heures
       7.  Adapter un OS multitâches à une plate-forme en temps réel 
  • Adapter les besoins en mémoire et les services de l’OS
  • Modifier les fonctionnalités des services – la notion de crochets
  • Adapter l’OS à la cible - étude de cas : uC/OS-II
    • Temporisation par tampon circulaire
3 heures
      8. Validation et fiabilité 
  • Validation du traitement concurrent et respect des contraintes de temps réel : tâches périodiques et sporadiques
  • Notions de fiabilité et approches pour obtenir des systèmes fiables
  • Mesure et calcul de fiabilité
  • Redondance et tolérance aux fautes
3 heures
  Total 39

Note : Tous les cours sont d'une durée de 3 heures 30 minutes par semaine.

 

Laboratoires et travaux pratiques

Date Description Heures
  Le laboratoire consiste à développer un programme qui permet de faire fonctionner un petit robot mobile en mode téléguidé et en mode semi-autonome. Les différentes composantes du robot (moteurs, sonars, communication, …) sont sous le contrôle d’une carte de développement basée sur un microcontrôleur. Le programme développé par les étudiants gère ces différentes composantes selon les principes du traitement en temps réel. En mode téléguidé, les déplacements du robot sont décidés par l’usager et transmis au robot par un ordinateur personnel. En mode semi-autonome, les destinations sont décidées par l’usager mais le robot décide lui-même les trajectoires d’évitement d’obstacles.   Le programme est d’abord développé à l’aide d’un simulateur du robot s’exécutant sur un ordinateur personnel et est ensuite testé en laboratoire sur le vrai robot.  
  Développement du prototype 1 : Mode téléguidé Apprentissage de l'environnement matériel et logiciel pour le développement de logiciel pour le microcontrôleur (TrueStudio). Étude des périphériques disponibles sur le microcontrôleur ainsi que des composantes du robot. Conception et réalisation des fonctions de gestion des périphériques qui contrôlent les composantes du robot. Intégration des fonctions de contrôle des périphériques en un programme complet qui permet le déplacement du robot en mode téléguidé 24 heures
  Développement du prototype 2 : Mode semi-autonome Conception et réalisation d’une version multitâches du programme de téléguidage avec  le noyau en temps réel µC/OS-II. Gestion des tâches. Communication entre les tâches et synchronisation. Ajout de la fonctionnalité d’évitement d’obstacles à la nouvelle version du programme de téléguidage. 12 heures
  Total 36