Programmation avancée des microcontrôleurs

Code
ELE118

Description

  • Présentation détaillée de la carte Nucleo-F439ZI et des caractéristiques principales du microcontrôleur STM32F439ZI
  • Installation et prise en main de l'environnement de développement STM32CUBE IDE de STMicroelectronics, descriptif rapide des APIs (Application Programming Interfaces) de la librairie HAL (Hardware Abstraction Layer 
  • Utilisation des entrées/sorties d'usage général GPIO (General Purpose Input Output)
  • Fonctionnement en "temps réel" par interruptions dans un microcontrôleur, différence avec le mode “Polling
  • Communication microcontrôleur <--> ordinateur de développement via une interface série UART
  • Conversion analogique-numérique (CAN) en mode “Polling”, “Interruption” ou “DMA” (Direct Memory Access)
  • Gestion de temps par temporisateurs (Timer)
  • Commande PWM de dispositifs divers : LED, moteur à courant continu, etc. Contrôle/commande (asservissement numérique) en temps réel de la vitesse de rotation d'un moteur à courant continu
  • Acquisition de signaux analogiques pour visualisation en temps réel sur l'ordinateur de développement (simulation d'oscilloscope)
  • Conversion numérique-analogique (CNA), synthèse de signaux de différentes formes
  • Traitement numérique du signal à l'aide de filtres RIF (Réponse impulsionnelle finie) ou RII (Réponse impulsionnelle infinie) en temps différé ou en temps réel, mesures de performance
  • Écriture d'un driver I2C pour un écran LCD, un capteur de température-pression-humidité Bosh Sensortech
  • Introduction au noyau temps réel embarqué CMSIS RTOS de arm (Real Time Operating System

Finalité

  • Comprendre et maîtriser les outils modernes de programmation des microcontrôleurs, principalement leur programmation en langage C/C++ ;
  • Mettre en œuvre un microcontrôleur, utiliser ses périphériques internes et interagir avec différents types de modules externes ;
  • Sensibiliser aux contraintes de temps réel dans les systèmes à microcontrôleurs pour l'embarqué (gestion par interruptions et système temps réel) ;
  • Ce cours nécessite l'acquisition d'une carte de développement STMicroelectronics Nucleo-F439ZI (ou F756ZG ou F767ZI) et de quelques accessoires annexes (liste détaillée dans l'espace dédié au cours sur la plateforme Moodle lecnam.net), d'un ordinateur de type PC, sous Windows, MacOs ou Linux.

Compétences visées

Aptitude et autonomie dans le développement d'application sur microcontrôleurs

Description des modalités d'évaluation

Evaluation des travaux personnels déposés sur la plateforme Moodle du cours (½ de la note finale) et examen final sous forme d'un QCM (sans possibilité de retour en arrière) en ligne sous Moodle.

 

Prérequis

  • Posséder quelques notions en électronique numérique, numération et logique combinatoire
  • Posséder des notions de programmation en langage C/C++ et d'algorithmique
Nombre d’ECTS
6
Durée en nombre d'heures
60.00
Type de notation
Notation chiffrée (sur 20)
Moyenne pour valider l'UE
10.00
Modalité(s) d'évaluation
Projet(s)
Examen final
Année de création
2017
Date de fin de validité
Déployabilité
Offre déployable dans le réseau en cas d'agrément
Examen national
Oui

Le certificateur est le Cnam

Blocs de compétences

Cette unité fait partie du/des bloc(s) de compétences suivant(s).

Contactez-nous au sujet de cette unité

CAPTCHA
Cette question sert à vérifier si vous êtes un visiteur humain ou non afin d'éviter les soumissions de pourriel (spam) automatisées.