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 début de validité
- 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
Diplômes dans lesquels apparaît cette UE
- Diplôme d'établissement Responsable opérationnel en électronique
- Diplôme d'ingénieur Spécialité Automatique et robotique parcours Mécatronique
- Diplôme d'ingénieur Systèmes électroniques
- Licence Sciences, technologies, santé mention Electronique, énergie électrique, automatique parcours Électronique et systèmes
Blocs de compétences
Cette unité fait partie du/des bloc(s) de compétences suivant(s).