Programmation avancée des microcontrôleurs
ELE118


Objectifs pédagogiques :
  • Comprendre et maîtriser les outils modernes de programmation des microcontrôleurs, principalement leur programmation en langage C/C++
  • Mettre en oeuvre 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)
  • Ce cours nécessite l'acquisition d'une carte de développement Nucleo-F429ZI (éventuellement Nucleo-F746ZG) STMicroelectronics, de quelques accessoires annexes, d'un ordinateur avec connexion Internet pour la programmation en ligne.
Public et conditions d'accès :
  • Posséder déjà quelques notions en électronique numérique, numération et logique combinatoire
  • Posséder des notions de programmation en langage C/C++ et d'algorithmique
Compétences :

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

Contenu de la formation :
  • Présentation détaillée de la carte Nucleo-F429ZI et des caractéristiques principales du microcontrôleur STM32F429ZI
  • Prise en main de l'environnement de développement en ligne arm KEIL Studio Cloud et de ses API 
  • Utilisation des interfaces "digitales" d'entrée/sortie (GPIO)
  • Communication microcontrôleur <--> ordinateur PC via une interface série type UART
  • Présentation des interfaces de communication standard sur microcontrôleur : I2C, SPI, CAN, ... Ecriture de driver I2C pour un écran LCD et un capteur de température, pression, humidité
  • Commande PWM de dispositifs divers : Led, moteur à courant continu, etc.
  • Gestion de temps par temporisateurs (Timer), mini-projet d'application
  • Introduction au fonctionnement en "temps réel" par interruptions
  • Gestion du temps par temporisateurs en interruption : génération de signaux "digitaux", mesure de fréquence et de période
  • Contrôle/commande (asservissement numérique) en temps réel de la vitesse de rotation d'un moteur à courant continu
  • Conversion analogique/numérique (CAN), numérique analogique (CNA) : application à la mesure de grandeurs physiques
  • Traitement numérique du signal sur microcontrôleur, en temps différé ou en temps réel : acquisition par échantillonnage, traitement, restitution
  • Introduction au noyau temps réel embarqué MBED OS RTOS

Cette UE apparaît dans les diplômes et certificats suivants :

  • CRN0600A : Titre RNCP Niveau 6 Responsable opérationnel en électronique
  • CYC8102A : Diplôme d'ingénieur Spécialité Automatique et robotique parcours Mécatronique
  • CYC9600A : Diplôme d'ingénieur Systèmes électroniques
  • LG03902A : Licence Sciences, technologies, santé mention Electronique, énergie électrique, automatique parcours Électronique et systèmes

Prochaines sessions de formation

Recherche en cours