Articles récents
STM32 : Présentation
Le STM32 est un microcontrôleur 32 bits très répandu dans le monde de l'électronique, on le trouve un peu partout sur les circuits intégrés désormais. A noter, qu'il est produit par la société STMicroelectronics qui est d'origine française.
Et donc, je vais vous présenter dans cet article la famille des microcontrôleurs STM32 qui sont élaborés autour du processeur Cortex développé par la société ARM.
1) Le Processeur ARM CORTEX
Attardons nous un peu sur le processeur ARM Cortex RISC 32 bits qui est le cœur de notre microcontrôleur. On en distingue 3 types:Le Cortex M est le processeur ARM que l'on trouve généralement dans le STM32, il est totalement intégré dans la puce. Comme tous les processeurs, on trouve une gestion de interruptions, une horloge système, un système de mise au point et un espace d’adressage mémoire.
Les DMA (Direct Memory Access, accès direct mémoire) du STM32 possèdent douze canaux servants aux échanges des données avec les registres des périphériques en mémoire sur 8, 16 ou 32 bits. Rappelons que le principe de fonctionnement est que les valeurs en mémoire sont chargées dans les registres, puis le traitement est effectué, et enfin la valeur finale est remise en mémoire. Le Cortex-M dispose de deux modes de travail :
Pour les registres:
2) Les différents modèles de STM32
On a globalement plusieurs familles de STM32 :A noter, que le numéro derrière la lettre indique le processeur ARM. Par exemple, le STM32F4 est composé d'un Cortex-M4. Mais le mieux est de vérifier sur le site STMicroelectronics pour en savoir plus. Le datasheet du processeur est disponible ici.
La carte Nucleo-64 que je vais utiliser est basé sur STM32F401, soit un cortex M4 cadencé à 84Mhz, 512K de mémoire flash et 96K de RAM. On trouve également un contrôleur de vecteurs d’interruption NVIC, une gestion de l’alimentation, des horloges internes et externes, des watchdogs (chiens de garde), un système de contrôle de la bonne transmission des données (CRC), des entrées-sorties à usage général, des convertisseurs CAN et CAN, des compteurs, des interfaces pour périphériques USB, SPI, I2C et USART.
Pour les entrées/sorties:
3) La carte Nucleo 64
Cette carte est dédiée à l'apprentissage des STM32, c'est une carte de développement qui est adaptée au prototypage et permet à tout à chacun de tester ce microcontrôleur. Le datasheet de cette carte est disponible ici. Je vais tenter de vous en faire un résumé.Les pinout donnent accès aux entrées/sorties. La carte dispose également de 3 led, 2 boutons, un port usb, un quartz, ... Le Nucleo 64 intègre également une carte interface STLink pour interfacer le stm32 de différentes façons.
Le ST-LINK/V2-1 permet la programmation des STM32.
Pour l'alimentation, il y a plusieurs solutions : par l'USB, par le VIN (7V-12V), E5V (5V) ou +3.3V power supply pins sur CN6 ou CN7. Dans le cas VIN, E5V ou +3.3V sont utilisés pour alimenter la carte par une alimentation externe. Le cavalier JP5 permet de choisir externe ou USB, voir le datasheet .
La LED LD1 Ã trois couleurs (vert, orange, rouge) tel que :
La LED LD2 est connectée au signal D13 (GPIO PA5) (dédiée aux développeurs). La LED LD3 rouge indique la carte est alimentée en 5V.
Concernant les boutons, B1 est connecté au GPIO PC13, il est au profit des développeurs. B2 est connecté au signal NRST pour le reset du STM32.
Concernant le brochage de la carte Nucleo :
Conclusion
Voici une petite présentation du STM32 qui est quasiment un SOC (System on Chip) plus qu'un microcontrôleur classique. STMicroelectronics propose également une carte de développement, la Nucleo-64, qui semble très accessible pour le commun des mortels que je suis.Je vous présenterai la prochaine fois l'environnement de développement et on essaiera de réaliser un petit exemple pour commencer dans la pratique.
© 2025 www.doritique.fr par Robert DORIGNY