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

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Bruno De Kelper


PLAN DE COURS

Hiver 2024
ELE543 : Principes des systèmes embarqués (4 crédits)





Préalables
Programme(s) : 7694
             
  Profils(s) : Tous profils  
             
    ELE216 ET ELE344    
             
Programme(s) : 7483, 7883
             
  Profils(s) : Tous profils  
             
    ELE344    
             
Unités d'agrément
Total d'unités d'agrément : 64,8 50,0 % 50,0 %




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours
Acquérir les bases pour la conception des systèmes embarqués qui satisfont des contraintes matérielles et logicielles associées au traitement des évènements en temps réel. Comprendre la structure et l’opération des microcontrôleurs utilisés dans les systèmes embarqués. Se familiariser avec les spécificités des systèmes d’exploitation temps réel et savoir utiliser leurs services dans le développement de systèmes en temps réel. Acquérir les bases et les techniques de conception sécuritaire pour les systèmes en temps réel.

Concepts de base de traitement en temps réel, de temps de réponse et de systèmes embarqués. Études des caractéristiques matérielles et fonctionnelles des microcontrôleurs et de leurs interactions avec le code d’application. Notions et catégories d’événements, mécanismes de réponse aux événements en temps réel. Analyse de temps de réponse et de facteur de charge du système. Études des noyaux (kernel) en temps réel, allant de rudimentaires à complexes. Méthodes d’analyse des systèmes en temps réel et notions de base de fiabilité.

Séances de laboratoire de type projet : conception incrémental d’un système embarqué complet pour effectuer la synthèse des notions introduites.



Objectifs du cours

À la fin de ce cours, l’étudiant(e) sera capable de :

  • concevoir et de réaliser des systèmes satisfaisant aux contraintes matérielles et logicielles associées au traitement des évènements en temps réel;
  • comprendre la structure et l’opération des microcontrôleurs et des ordinateurs utilisés dans les systèmes temps réel;
  • comprendre l’opération des systèmes d’exploitation temps réel et savoir utiliser leurs services dans le développement de systèmes en temps réel;
  • développer et programmer un système d’acquisition de données en temps réel;
  • choisir une technique de conception sécuritaire pour les systèmes en temps réel.



Stratégies pédagogiques
  • Un (1) cours magistral par semaine.
  • Laboratoires : trois heures par semaine

Travaux à remettre

  • Les rapports de laboratoire sont effectués par groupe de deux (2) étudiant(e)s.

 




Utilisation d’appareils électroniques

Carte d'évaluation STM32F0Discovery

Analyseur logique Logic8 de Salea
 




Horaire
Groupe Jour Heure Activité
01 Lundi 13:30 - 16:30 Laboratoire (Groupe A)
Mardi 13:30 - 16:30 Laboratoire (Groupe B)
Jeudi 13:30 - 17:00 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Bruno De Kelper Activité de cours Bruno.DeKelper@etsmtl.ca A-2483
01 Gabriel Ouaknine-Beaulieu Laboratoire (Groupe A) gabriel.ouaknine-beaulieu.1@ens.etsmtl.ca
01 Gabriel Ouaknine-Beaulieu Laboratoire (Groupe B) gabriel.ouaknine-beaulieu.1@ens.etsmtl.ca



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

 




Utilisation d'outils d'ingénierie
  • TrueStudio
  • Logic8



Évaluation
Activité Description % Date de remise
  Laboratoires 40 %  
  Examen de mi-session 40 % 22 février 2024
  Examen final 20 % à déterminer



Double seuil
Note minimale : 60



Dates des examens intra
Groupe(s) Date
1 22 février 2024



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

5 % par jour de retard




Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Infractions de nature académique
À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page "Citer, pas plagier !" (https://www.etsmtl.ca/Etudes/citer-pas-plagier). Les clauses du règlement sur les infractions de nature académique de l’ÉTS (« Règlement ») s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique) pour identifier les actes qui constituent des infractions de nature académique au sens du Règlement ainsi que prendre connaissance des sanctions prévues à cet effet.

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par l’enseignant(e) du cours.



Documentation obligatoire

Aucune
 




Ouvrages de références

Documentation recommandée

(Information variable / enseignant)

  • LEWIS, D.W., Fundamental of Embedded Software: Where C and Assembler Meet, Prentice Hall, 2002.
  • LABROSSE, J.J., MicroC/OS-II. The Real-Time Kernel, CMP Books, 1999.
  • LEWIS, D.W., Fundamentals of embedded software : with the ARM Cortex-M3, Prentice Hall, 2013.

 

Ouvrages de référence

(Information variable / enseignant)

  • BURNS, A., WELLINGS, A., Real-Time Systems and Programming Languages, 3rd Ed., Addison-Wesley, 2000.
  • COTTET, F. et al., Ordonnancement temps réel, Hermès Science, 2000.
  • DOUGLASS, B.P., Doing Hard Time – Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns, Addison-Wesley, 1999.
  • LAPLANTE, P.A., Real-Time System Design and Analysis: An Engineer’s Handbook, 2nd Ed., IEEE Press, 1997.
  • TAVERNIER, C., Les microcontrôleurs AVR : description et mise en œuvre, Dunod, 2001.

 

Logiciels utilisés

  • Atollic TrueStudio, Environnement de programmation avec compilateur mixte pour les microcontrôleurs ST, https://atollic.com/truestrudio

  • LABROSSE, J.J., Logiciel MicroC/OS-II The Real-Time Kernel, CMP Books, 1999.

 




Adresse internet du site de cours et autres liens utiles

Site du cours: https://www.etsmtl.ca/etudes/cours/ELE543