Les bases des
microcontrôleurs STM32
Découvrez la famille de
microcontrôleurs STM32
Wissem Chouchene
Qu’est-ce qu’un MCU?
1.1. Definition simple d’un microcontrôleur
• Un microcontrôleur (abrégé μC ou MCU) est un circuit intégré programmable à
fin de régir des opérations spécifiques dans un système embarqué.
• Le µC contrôle la plupart des appareils électroniques utilisés en industrie et
quotidiennement.
1.3. Domaine d’application des microcontrôleurs
• contrôle des systèmes industriels
• Interface homme machine
• Contrôle des moteurs
• Instruments médicaux
• Bâtiments et sécurité (alarmes, contrôle d’accès, compteurs de puissance...)
• Produits grand public (périphériques et PC, GPS, jeux...)
• Internet des objets : IoT
• Connectivité
•…
1.2. Architecture du microcontrôleur (1/2)
• Un microcontrôleur typique comprend:
• un ou plusieurs processeurs pour exécuter les instructions
• des mémoires : RAM, ROM, FLASH, pour stoker les données et le programme,
• des périphériques d’entrée/sortie (E/S) numérique et analogique pour interagir avec les
milieu externe : capteurs, actionneurs ...
• des TIMERS : minuteries pour gestion des timings
• Des interfaces de communication : I2C, SPI, USART
• WatchDog ‘chien de garde’ (un TIMER qui est responsable de la détection d’instructions
hors délai ou verrouillé)...
1.2. Architecture du microcontrôleur (2/2)
1.3. Aperçu des microcontrôleur STM32 (1/3)
• les microcontrôleurs STM32 et la propriété de la multinationale
STMicroelectronics
• Les µC STM32 sont basés sur les processeurs Cortex®-M conçu par Arm®
• Les cœurs Cortex®-M sont des processeurs RISC 32 bits, optimisés pour les MCU
à faible coûts consommation d’energie.
• RISC : (Reduced Instruction Set Computer) c’est l’ ensemble d’instructions
élémentaire et simple que réalise le microprocesseur
2.1. Microcontrôleurs versus microprocesseurs
1.4. variété d’ aarchitecture des processeurs Cortex-M pour les µC
• Le portefeuille Cortex-M comprend différentes architectures dont les principales sont
intégrées dans des microcontrôleurs STM32 :
Cortex-M85
Cortex-M55
Cortex-M52
Cortex-M35P
Cortex-M23
[Link]
1.4. Varité de choix selon l’application
1.4. Varité de choix selon l’application
• [Link]
1.3. caractéristiques des microcontrôleur STM32
• À base des coeurs ARM Cortex-Mx
• Coeur et périphériques intégré sur un seul circuit intégré
• Facilité de développement grâce à l’écosystème étendu et aux outils de développement
professionnel et gratuits
• Très hautes performances grâce au cœur Arm® Cortex®-M et à ST ART AcceleratorTM
pour certaines familles
• Capacités en temps réel
• Traitement numérique du signal : DSP Digital Signal Processing
• Fonctionnement à faible puissance et basse tension
• Connectivité : I2C, USART, SPI, USB, Ethernet,
• Capacité de controle graphiques LTDC
• Faible latence d’interruption grace au NVIC
1.6. Variétés de MCU STM32 (2/3)
• [Link]
u/wiki/STM32StepByStep:ST
M32MCU_basics#What_an_
MCU_is--
1.5. nomenclature des µC STM32
1.5. nomenclature des µC STM32
1.5. nomenclature des µC STM32
1.5.1. Périphériques STM32F429ZITx
• Au fil du temps, de nouveaux périphériques sont intégrés pour répondre aux
demandes émergentes sur le marché.
• Les caractéristiques des périphériques ne sont pas figées, les tout premiers
appareils STM32 sont améliorés pour permettre de nouvelles fonctionnalités ou
corriger certaines limitations.
• Les périphériques comme le détecteur de tension basse puissance, le système de
sécurité d’horloge (CSS) et les chiens de garde aident à soutenir des applications
critiques pour la sécurité.
• La sécurité du code peut être assurée grâce à certaines fonctions de protection
de la mémoire Flash.
3. Périphériques STM32
• GPIO : General Purose Input Output
• DMA : Direct Memory Access
• DMA2D : Direct Memory Access to Display
• Les Timers : TIM1 jusqu’a TIM14
• ADC : Analog to Digtal Converter
• DAC : Digital to Analog Converter
• ...
Choix variée : entre performance et périphériques
• STMicroelectronics propose une grande variété de MCU STM32, basés sur les
cœurs Arm® Cortex®-M0, M0+, M3, M4, M33 et M7, en fonction de nombreuses
fonctionnalités et paramètres.
• Pour prendre la meilleure décision sur le choix du microcontrôleur STM32, il y a
plusieurs facteurs à considérer, principalement
• l’architecture
• mémoire flash, RAM, extensibilité en mémoire...
• performance
• ultra basse puissance
• connectivité USB, I2C, SPI, UART ...
• les périphériques à supporter
3. Quel MCU STM32 sélectionner ?
• Quels facteurs et paramètres devez-vous prendre en compte lors du choix de la
MCU STM32 la plus appropriée pour l’application graphique, l’application basse
consommation ou l’application de contrôle moteur ?
3.1. Quel MCU STM32 sélectionner pour l’application graphique
• le coeur et la famille de MCU requis.
• la mémoire flash et les tailles de RAM des microcontrôleurs sont des options essentielles pour
sélectionner celles qui conviennent à l’application graphique. Il est également recommandé de se
concentrer sur :
• Résolution de l’affichage
• Profondeur de couleur
• Rendement prévu.
• Et tous les périphériques requis comme :
• Chrom-ART AcceleratorTM (DMA2D)
• Codec JPEG
• Chrom-GRC
• LCD-TFT
• FMC/FSMC
3.2. Quel MCU STM32 sélectionner pour l’application de faible puissance?
• Pour sélectionner le meilleur microcontrôleur pour l’application de faible puissance, vous devez
d’abord identifier le noyau du processeur. Ensuite, considérez la performance et l’efficacité
énergétique du MCU. En outre, le choix dépend de nombreux facteurs clés à prendre en
compte tels que :
• Consommation électrique
• Taille de la mémoire
• Fréquence des horloges
• Divers modes de faible puissance : mode de fonctionnement à faible puissance, mode veille,
mode veille à faible puissance, mode arrêt et mode veille.
• Heure du réveil
• Sources de réveil, qui permettent de réduire la consommation moyenne de courant de
l’application.
• Alimentation à mode commuté (SMPS) pour réduire la consommation de courant du MCU
3.3. Quel MCU STM32 sélectionner pour l’application de commande du moteur
?• Une des principales exigences pour sélectionner le bon MCU pour l’application de commande du moteur est de se concentrer sur ces périphériques :
• Convertisseur analogique-numérique (ADC)
• Nombre de comparateurs (COMP)
• [Link]
• Convertisseur numérique-analogique (DAC)
• HRTIM
• Minuterie
• Veuillez noter que la sélection est basée sur de multiples critères et dépend des exigences de l’application et des périphériques dont vous avez besoin :
• Rendement
• Exigences en matière de mémoire
• Nombre de moteurs et de minuteries avancées
• OPAMP (Amplificateur de tension de fonctionnement)
• Vitesse du moteur
• Nécessite-t-il une minuterie 16 bits
• Affichage graphique, donc vous avez besoin de périphérique LCD
3.4. ST-MCU-FINDER
• Grâce à l’outil ST-MCU-FINDER qui permet une recherche facile de MCU STM32 avec plusieurs
critères, y compris le type de noyau, la fréquence du processeur, la mémoire, le prix, le
package, le grade de température et les périphériques tels que le contrôle, les minuteries,
l’analogique, la connectivité, le multimédia et la sécurité.
• L’outil ST-MCU-FINDER offre un sélecteur graphique et des fonctions de simulateur qui vous
permettent d’obtenir les performances souhaitées et l’optimisation requise pour sélectionner
le MCU ou le MPU qui correspond le mieux aux besoins de votre application.
• Cet outil offre également la possibilité d’accéder aux données et à la documentation technique
pour un appareil sélectionné (y compris les fiches techniques, les manuels de référence, les
notes d’application, les manuels d’utilisation, les manuels de programmation, les feuilles
d’errata).
• L’outil ST-MCU-FINDER est intégré aux outils STM32CubeIDE et STM32CubeMX pour
sélectionner un MCU ou une carte de développement.
4.1. comment utiliser le MCU STM32
• Il existe deux façons d’utiliser un MCU STM32 :
• Développer votre propre carte
• Utilisation des cartes STMicroelectronics existantes:
• Cartes STM32 Nucleo
• Cartes STM32 Discovery
• Cartes STM32 Eval
4.2.1. STM32 Nucleo boards
• Les cartes STM32 Nucleo, très abordables, sont des développements de plate-forme
peu coûteux et faciles à utiliser qui permettent d’essayer de nouvelles idées et de créer
rapidement des prototypes avec n’importe quel MCU STM32 parce que :
• Moins cher
• Exemples de logiciels disponibles
• Les connecteurs d’extension donnent accès à la plupart des E/S du périphérique et
rendent possible la connexion de matériel supplémentaire.
• Intégration du débogueur/programmeur ST-Link
• Accès direct à GPIO
• Connecteur ARDUINO® conforme
4.2.2. STM32 Discovery kits
• Les kits STM32 Discovery permettent aux utilisateurs de développer facilement des applications avec les
microcontrôleurs haute performance. Ils permettent aux débutants ou aux utilisateurs expérimentés de
démarrer rapidement.
• Ils sont aussi une solution complète et économique pour l’évaluation des capacités exceptionnelles des
MCU et MPUs STM32. Ils réalisent l’infrastructure nécessaire à la démonstration des caractéristiques
spécifiques du dispositif ; et des exemples logiciels complets permettent de profiter pleinement des
fonctionnalités et des valeurs ajoutées du dispositif :
• Les connecteurs d’extension donnent accès à la plupart des E/S du périphérique et rendent possible la
connexion de matériel supplémentaire.
• Exemples de logiciels disponibles
• Connecteur ARDUINO® conforme
• Dédié à une version STM32
• Intégration du débogueur/programmeur ST-Link
• Fonction utilisée pour exploiter les principales fonctions matérielles STM32
• Affichage disponible sur certaines cartes
4.2.3. STM32 Eval boards
• Les cartes STM32 Eval ont été conçues comme une plateforme complète de
démonstration et de développement pour les MCU et MPU STM32. Ils sont
destinés à être utilisés pour effectuer une évaluation complète des solutions
STMicroelectronics. Ils portent des circuits externes, tels que les émetteurs-
récepteurs, les capteurs, les interfaces mémoire, les écrans et bien d’autres. Les
tableaux d’évaluation peuvent être considérés comme un modèle de référence
pour le développement des applications :
• Dédié à une version STM32
• Exemples de logiciels disponibles
• Intégration du débogueur/programmeur ST-Link
• Fonction utilisée pour exploiter les principales fonctions matérielles STM32
• Affichage disponible sur certaines cartes
• Capable d’utiliser toutes les fonctions de STM32
4.2.4. Caractéristiques de la carte