Aller au contenu

Objectifs de l’examen oral

Les objectifs ci-dessous ne sont pas exhaustifs. Le contenu des notes de cours, les exemples, les exercices et les travaux pratiques font partie intégrante des objectifs de l’examen oral.

Rappel

Vous n’avez droit à aucun document pendant de l’examen oral.

Microcontrôleur et périphériques

  • Comprendre les caractéristiques principales des interfaces de communication (I2C, SPI, UART) et être capable de les comparer.

  • Comprendre les mécanismes d’interruption et de Timer sous Mbed OS. Être capable de réaliser des programmes simples impliquant ces mécanismes.

  • Être capable de programmer des mécanismes GPIO avec Mbed OS.

Modèles de programmation

  • Expliquer les principes essentiels et les besoins des systèmes temps-réel.

  • Expliquer les principes essentiels du problème de l’ordonnancement.

  • Être capable de résoudre un problème d’ordonnancement pour un problème spécifié (tâches spécifiées avec leurs caractéristiques), selon les mécanismes d’ordonnancement statique cyclique et de machines d’état.

  • Expliquer les mécanismes permettant la programmation multi-tâches sous Mbed OS (ordonnancement, Thread, EventQueue, mécanismes de synchronisation et de partages de ressources).

  • Programmer une application simple impliquant plusieurs threads et permettant leur synchronisation.

Les systèmes de communication sans fil

  • Nommer les critères importants qui interviennent dans le choix d’une technologie sans fil et expliquer leur importance.

  • Nommer les technologies sans fil importantes pour l’Internet des Objets et les systèmes embarqués.

  • Expliquer les caractéristiques importantes de ces technologies et positionner ces caractéristiques sur des diagrammes.

  • Effectuer une analyse simple d’un cahier des charges élémentaire pour le choix d’une technologie sans fil et proposer un choix pour la technologie la plus appropriée en rapport à ce cahier des charges.

Bluetooth Low Energy

  • Expliquer les caractéristiques principales de la technologie Bluetooth Low Energy, y compris ses propres avantages et limitations.

  • Nommer et différencier les différentes configurations de systèmes Bluetooth 4.X.

  • Expliquer et représenter le « protocol stack » de Bluetooth Low Energy, différencier les différentes couches.

  • Expliquer la topologie « Broadcasting » et « Connection », y compris les rôles des appareils dans ces topologies.

  • Déterminer les topologies adaptées à des cas d’utilisation concrets.

  • Expliquer le mécanisme du frequency hopping utilisé dans la couche physique et les raisons pour la mise en œuvre d’un tel mécanisme.

  • Représenter la machine d’état de la couche de liaison, y compris les transitions possibles dans les différents rôles.

  • Expliquer la structure générale des paquets utilisés dans la couche de liaison.

  • Expliquer le fonctionnement de l’ «advertising» et du «scanning» au niveau de la couche de liaison.

  • Expliquer le principe des connexions et de l’établissement d’une connexion.

Protocoles de communication IP

  • Expliquer les critères principaux permettant de différencier les technologies de communication basées sur IP.

  • Expliquer les caractéristiques principales des protocoles IP présentés dans le cours et leur modèle de communication.

MQTT

  • Expliquer l’architecture d’un système MQTT et la manière dont les messages sont échangés.

  • Expliquer le concept des topics et l’appliquer à un cas simple.

  • Analyser l’entête fixe d’un paquet MQTT

CoAP

  • Expliquer l’architecture d’un système CoAP et la manière dont les messages sont échangés.

  • Expliquer les différences importantes en comparaison du protocole HTTP/1.1

Mémoire des systèmes embarqués

  • Connaitre l’utilisation des différents espaces mémoire d’un microcontrôleur en C/C++ et sous Mbed OS.

  • Reconnaître les risques liés à l’utilisation de la mémoire dynamique et proposer des solutions.

Langage de développement C/C++

  • Manipuler correctement les types de base de C/C++.

  • Manipuler correctement les concepts static, const et constexpr.

  • Coder des déclarations et des réalisations de classes simples en C++, en mettant en œuvre des mécanismes simples d’héritage, de méthodes (pure) virtual et d’interfaces.

  • Être capable de définir et d’initialiser correctement les attributs d’une classe pour une spécification donnée.

  • Analyser un programme C++ pour décrire son comportement et corriger d’éventuelles erreurs/défauts.

Organisation

  • Arrivez 5 min. avant votre heure de préparation
  • L’examen se fait sans aucune aide : pas de résumé, de calculatrice, de portable, de smartphone, …
  • Vous disposez de 15 minutes de préparation sur des feuilles de papier et ensuite de 15 minutes de présentation au professeur et à l’expert.
  • Vous devez répondre à deux questions : une question d’ordre théorique et une question d’ordre plus pratique sous forme d’exercice.