Blog

Guide complet pour choisir le bon STM32

0
Guide de sélection STM32

Il existe plus de références de microcontrôleurs STM32 que la plupart des ingénieurs ne pourraient jamais en mémoriser. Le portefeuille de ST comprend désormais plus de 4 000 références commerciales couvrant plusieurs générations de cœurs Arm Cortex-M, avec des fréquences d'horloge maximales du processeur allant de 32 MHz dans la série STM32L0 à 800 MHz dans la série STM32H7.

Cette gamme est l'une des raisons de la popularité de l'écosystème STM32 : que votre priorité soit le coût, la consommation d'énergie, le débit de traitement ou la connectivité sans fil, il existe généralement un appareil qui convient. Le compromis est que le choix du bon STM32 nécessite une approche systématique, et non le simple choix du microcontrôleur utilisé dans un tutoriel.

Ce guide aborde les facteurs pratiques qui devraient guider la sélection des STM32 : architecture du cœur, mémoire, périphériques, consommation d'énergie, boîtier et bien plus encore. Il fait ensuite correspondre ces exigences aux séries STM32 disponibles, vous aidant ainsi à réduire des milliers de références possibles à une liste restreinte gérable.

Commencez par le cœur, pas par le numéro de pièce

Chaque microcontrôleur STM32 est bâti autour d'un cœur Arm Cortex-M, qui définit le jeu d'instructions et établit la référence pour les performances du processeur, faisant du cœur un filtre initial utile lors du choix d'un appareil.

NoyauUtilisation typiqueCaractéristiques principales
Cortex-M0 / M0+Entrées/sorties simples, automates d'état, contrôle basique, et produits sensibles au coûtFaible encombrement du cœur et faible consommation d'énergie ; pas d'extensions DSP ni de FPU matérielle
Cortex-M3Contrôle d'usage général et conceptions STM32 établiesPerformances supérieures aux M0/M0+, mais sans extensions DSP ni FPU matérielle.
Cortex-M4 / M4FContrôle moteur, filtrage numérique, fusion de capteurs et traitement audioInclut des instructions DSP ; les appareils M4F ajoutent un FPU simple précision
Cortex-M7Contrôle à haut débit, graphismes, audio et traitement de données à haut débitDébit d'instruction supérieur, prise en charge du cache et FPU optionnelle simple ou double précision
Cortex-M33Systèmes embarqués connectés et sensibles à la sécuritéPrend en charge TrustZone et peut inclure des capacités DSP et à virgule flottante
Cortex-M55IA de périphérie, vision par ordinateur et traitement du signal gourmand en calcul.Ajoute des extensions vectorielles Helium pour les charges de travail DSP et d'apprentissage automatique ; utilisé dans le STM32N6 avec un accélérateur dédié de traitement neuronal

En règle générale :

  • M0 ou M0 + Idéal pour les applications utilisant principalement des GPIO, des minuteries, une acquisition basique d'ADC et des interfaces série simples. Ces dispositifs sont souvent moins coûteux et appropriés pour des tâches de contrôle directes.
  • M4 avec une FPU : Un meilleur point de départ pour le filtrage, les transformées de Fourier rapides, les boucles PID, la fusion de capteurs et d'autres charges de travail à forte intensité mathématique.
  • M7 : Considérez un M7 lorsque l'application présente un véritable goulot d'étranglement de débit, tel que des graphismes avancés, un flux ADC à haut débit ou un traitement audio exigeant en temps réel.

Mapper la série à votre application

ST organise son portefeuille de microcontrôleurs STM32 en séries, chacune étant centrée sur une architecture de cœur particulière et une application cible spécifique. Le tableau ci-dessous présente les principales séries STM32 disponibles à la mi-2026 :

SérieNoyauSérie Max Fréquence CPU MaximaleMeilleur ajustementPièces représentatives
STM32C0Cortex-M0+48 MHzContrôle 32 bits à moindre coût, E/S simples, appareils électroménagers et fonctions industrielles de baseSTM32C011, STM32C031
STM32F0Cortex-M048 MHzConceptions matures d'entrée de gamme à usage généralSTM32F030, STM32F072
STM32G0Cortex-M0+64 MégahertzContrôle économique standard avec des périphériques et des options de boîtier plus récentsSTM32G031, STM32G071
STM32F1Cortex-M372 MHzConceptions générales établies, plateformes héritées et projets soutenus par la communautéSTM32F103
STM32F3Cortex-M4 avec FPU72 MHzContrôle mixtes, contrôle de moteurs et applications à forte composante analogiqueSTM32F303, STM32F334
STM32G4Cortex-M4 avec FPU170 MHzContrôle moteur, alimentation numérique, analogique de précision et contrôle hybrideSTM32G431, STM32G474
STM32C5Cortex-M33 avec FPU144 MHzConceptions soucieuses des coûts nécessitant des performances accrues, des interfaces modernes et une sécurité renforcéeSTM32C531, STM32C562
STM32L0Cortex-M0+32 MHzCapteurs ultra-basse consommation de base et produits simples alimentés par batterieSTM32L011, STM32L053
STM32U0Cortex-M0+56 MHzProduits d'entrée de gamme plus récents à ultra-basse consommation avec des budgets énergétiques serrésSTM32U031, STM32U073
STM32L4Cortex-M4 avec FPU80 MHzCapteurs basse consommation, mesures, dispositifs portables et produits portatifsSTM32L432, STM32L476
STM32L4+Cortex-M4 avec FPU120 MHzApplications à faible consommation d'énergie nécessitant plus de mémoire, de connectivité ou de capacités graphiquesSTM32L4R5, STM32L4S9
STM32L5Cortex-M33 avec FPU110 MHzProduits connectés basse consommation nécessitant une sécurité basée sur TrustZoneSTM32L552, STM32L562
STM32U3Cortex-M33 avec FPU96 MHzAppareils industriels et grand public économes en énergie, sécurisés et alimentés par batterieSTM32U375, STM32U385
STM32U5Cortex-M33 avec FPU160 MHzProduits avancés basse consommation nécessitant sécurité, graphismes et grande mémoireSTM32U575, STM32U585
STM32F2Cortex-M3120 MHzApplications de contrôle et de connectivité matures à hautes performancesSTM32F205, STM32F207
STM32F4Cortex-M4 avec FPU180 MHzPerformances élevées à usage général, DSP, commande, audio, et support d'un écosystème étenduSTM32F401, STM32F407, STM32F429
STM32F7Cortex-M7216 MHzGraphismes, audio, connectivité à haute vitesse et applications gourmandes en mémoireSTM32F746, STM32F767
STM32H5Cortex-M33 avec FPU250 MHzProduits connectés haute performance nécessitant une sécurité avancéeSTM32H562, STM32H573
STM32H7Cortex-M7 ; Cortex-M7 + M4 sur des appareils à double cœurJusqu'à 600 MHzContrôle en temps réel à haut débit, graphismes avancés, acquisition à haut débit et connectivité complexeSTM32H743, STM32H745, STM32H7S7
STM32N6Cortex-M55800 MHzIA en périphérie, vision par ordinateur, graphisme avancé, traitement audio et multimédiaSTM32N657
STM32WB0Cortex-M0+64 MégahertzProduits Bluetooth Low Energy à coût optimiséSTM32WB05, STM32WB07
STM32WBCortex-M4 + Cortex-M0+64 MHz / 32 MHzProduits multiprotocoles Bluetooth LE et IEEE 802.15.4 avec un cœur radio dédiéSTM32WB55
STM32WBACortex-M33100 MHzLes produits récents utilisant Bluetooth LE, Zigbee, Thread et Matter nécessitant une sécurité renforcéeSTM32WBA52, STM32WBA55
STM32WLCortex-M4, Cortex-M0+, ou double cœur M4 + M0+48 MHzLoRaWAN et autres produits sans fil longue portée sub-GHzSTM32WL55

L'horloge maximale indiquée est la plus élevée disponible dans chaque série et ne s'applique pas à toutes les références.

Si vous débutez avec le STM32, gardez à l'esprit quelques points :

Vous rencontrerez souvent le STM32F103 — couramment utilisé sur les cartes “ Blue Pill ” — et le STM32F407 en raison de leur solide support communautaire. Ils sont tous deux toujours utilisables, mais ils ne devraient pas être automatiquement le premier choix pour une nouvelle conception. Le F103 utilise un Cortex-M3 sans FPU, tandis qu'un G4 peut offrir un meilleur contrôle et des caractéristiques analogiques, et un L4 peut être plus adapté aux applications basse consommation.

Bien qu'il soit moins souvent mentionné dans les tutoriels que le F4, le STM32G4 est parfaitement adapté aux applications de commande de moteurs et d'alimentation numérique, grâce à ses accélérateurs CORDIC et FMAC, à ses périphériques analogiques rapides et à ses temporisateurs de commande avancés.

Les dispositifs H7 à double cœur, tels que les STM32H745 et H755, associent un Cortex-M7 à un Cortex-M4, ce qui permet à une boucle de contrôle en temps réel de s'exécuter sur un cœur tandis que les tâches de communication ou d'interface utilisateur s'exécutent sur l'autre. Les deux cœurs nécessitent néanmoins une communication interprocesseur et une gestion des ressources partagées.

Les exigences relatives aux périphériques et aux interfaces décident généralement.

Une fois que vous avez affiné le cœur et la série, l'ensemble périphérique est généralement ce qui élimine la plupart des candidats restants. Vérifiez les exigences suivantes par rapport à votre schéma, et pas seulement à votre plan de microprogrammation :

  • Bloc d'entrée analogique : Tenez compte de la résolution de l'ADC, du nombre d'instances indépendantes de l'ADC, des canaux du DAC, ainsi que des comparateurs ou amplificateurs opérationnels internes. Un convertisseur analogique-numérique (ADC) de 12 bits est courant dans toute la gamme STM32. Certains dispositifs de la série H7 intègrent des convertisseurs ADC 16 bits natifs, tandis que les dispositifs de la série G4 utilisent des convertisseurs ADC 12 bits rapides avec suréchantillonnage matériel.
  • Minuteries : Les conceptions de commande de moteur et d'alimentation numérique devraient vérifier les minuteurs de contrôle avancés, tels que TIM1 et TIM8, avec des sorties PWM complémentaires et une insertion de temps mort. Celles-ci sont disponibles sur certains appareils F4, G4 et H7, mais peuvent être limitées ou absentes sur les composants F0 et C0 plus petits.
  • Interfaces mémoire et d'affichage : Si la conception nécessite une SDRAM externe, une mémoire Flash Quad-SPI ou un écran LCD parallèle, vérifiez la présence d'un périphérique FMC/FSMC ou Quad-SPI. Les applications graphiques peuvent également nécessiter un contrôleur LTDC ou MIPI DSI, lequel est disponible sur certains périphériques F4, F7 et H7.
  • Sécurité Si le produit nécessite une isolation basée sur TrustZone, un démarrage sécurisé, une protection du micrologiciel ou une cryptographie matérielle, envisagez la série Cortex-M33 telle que les C5, L5, U3, U5, H5 et WBA. Confirmez toujours les fonctionnalités de sécurité et cryptographiques exactes dans la fiche technique de l'appareil.

Une astuce pratique : identifiez d'abord une ou deux caractéristiques incontournables, telles que la fonction Power Delivery via USB-C, le FDCAN, une exigence spécifique en matière d'ADC ou une interface d'affichage. Ces critères permettent d'éliminer 70 à 80% des références du catalogue avant même de comparer les références individuelles.

Que le budget de puissance guide la décision L/U vs. F/G/H

Pour les conceptions alimentées par batterie ou par récupération d'énergie, la consommation d'énergie est aussi importante que les performances brutes :

  • STM32L0 : Un bon choix pour les capteurs simples qui passent la majeure partie de leur temps en mode veille profonde, tels qu'un capteur de température sans fil qui s'éveille brièvement toutes les quelques minutes. Sur certains appareils, le courant de faible puissance peut être aussi bas que 340 nA, le plaçant ainsi bien dans la gamme sub-microampère.
  • STM32L4/L4+ : Mieux adapté aux applications alimentées par batterie qui nécessitent un traitement local du signal, telles que les bracelets de fitness et les dispositifs médicaux portables. ST cite un courant dynamique d'exécution aussi bas que 28 µA/MHz pour la série L4 et 43 µA/MHz pour la série L4+, comparé à 89–260 µA/MHz pour la série F4, en fonction du dispositif et des conditions de fonctionnement.
  • STM32U5 : Le fleuron actuel de ST en matière d'ultra-basse consommation, basé sur un procédé de 40 nm et fonctionnant jusqu'à 160 MHz. Son mode autonome basse consommation en arrière-plan, ou LPBAM, permet au DMA et à des périphériques sélectionnés de continuer à fonctionner pendant que le processeur et la majorité du dispositif restent en veille.
  • STM32F4/F7/H7 : Ces séries sont principalement optimisées pour la performance. Elles offrent toujours des modes basse consommation, mais elles sont généralement moins adaptées aux conceptions à pile bouton longue durée que les familles L et U. Un cycle de fonctionnement mal géré peut vider rapidement une pile bouton.

Si vous n'êtes pas encore certain que le produit final sera alimenté par batterie, vérifiez l'existence d'une voie de migration évolutive compatible au niveau du brochage avant de verrouiller le boîtier et le schéma.

Emballage, Densité de mémoire et Cycle de vie

Trois autres filtres pratiques complètent la liste restreinte :

  • Colis : Les appareils STM32 vont des boîtiers WLCSP et UFQFPN de petite taille – aussi petits que 2 x 2 mm environ sur certains appareils – aux boîtiers BGA de grande taille avec des centaines de broches sur les modèles H7 haut de gamme utilisés avec une mémoire externe et des écrans. Faites correspondre le boîtier à votre Capacités d'assemblage de circuits imprimés; les boîtiers LQFP soudables à la main sont souvent préférés pour Prototypes et Des constructions à faible volume.
  • Dimensionnement de la mémoire Flash/RAM Pour les mises à jour firmware A/B, prévoyez environ deux fois la mémoire Flash de l'application, plus de l'espace pour le chargeur de démarrage, les métadonnées de mise à jour et une certaine marge. Si l'application exécute une inférence sur l'appareil, une pile TCP/IP ou de gros tampons DMA, prévoyez suffisamment de RAM.
  • Familles de Compatibilité des Broches : ST conserve la compatibilité des broches sur de nombreux dispositifs au sein du même boîtier et de la même famille de produits, permettant des mises à niveau de performance ou de mémoire sans avoir à modifier systématiquement la carte. Vérifiez néanmoins le chemin de migration exact, plutôt que de supposer que deux dispositifs LQFP64 ou LQFP100 sont interchangeables.
  • Longévité : ST offre des engagements d'approvisionnement à long terme pour de nombreux produits STM32, généralement autour de 10 ans. Vérifiez toujours le statut et l'engagement de longévité du numéro de pièce exact, et non seulement de la série.

Outils de développement à vérifier avant de commander du silicium

STM32CubeMX

STM32CubeMX configure les broches du microcontrôleur, les arbres d'horloge, les modes de fonctionnement des périphériques, le DMA, les middlewares, ainsi que le code d'initialisation du projet.

C'est l'un des moyens les plus rapides de déterminer si un MCU candidat prend en charge la combinaison requise de périphériques au sein d'un package spécifique. Un appareil peut contenir tous les périphériques requis mais échouer néanmoins la conception parce que ces fonctions ne peuvent pas être affectées aux broches en même temps.

Exécutez la configuration prévue dans CubeMX avant de finaliser le schéma.

STM32CubeIDE

STM32CubeIDE est l'environnement de développement C/C++ multiplateforme gratuit de ST pour le développement, la compilation, la programmation et le débogage de code STM32. ST fournit également un flux de travail STM32CubeIDE pour Visual Studio Code.

CubeMX gère la configuration des périphériques et la génération du code d'initialisation, tandis que CubeIDE fournit l'environnement de codage, de compilation et de débogage. Le flux d'intégration exact peut dépendre de la version de l'outil utilisée.

Conducteurs HAL et LL

La couche d'abstraction matérielle offre une structure d'API cohérente à travers les séries STM32 et réduit généralement le temps de développement. Elle est utile pour l'initialisation, les interfaces de communication standard et le code ne nécessitant pas une latence minimale.

Les pilotes de bas niveau fournissent des abstractions plus fines et un accès plus direct aux fonctions périphériques. Ils sont utiles lorsque la taille du code, la latence des interruptions ou le temps d'exécution sont critiques.

HAL et LL peuvent être utilisés conjointement. Une conception de production pourrait utiliser HAL pour la configuration et les interfaces non critiques, tout en utilisant LL ou l'accès direct aux registres au sein d'une boucle de contrôle critique en temps.

Cartes Nucleo et Discovery

Les cartes Nucleo et Discovery sont disponibles sur la plupart des séries STM32 majeures. Elles offrent un moyen pratique de tester les périphériques, de mesurer les performances, de valider l'architecture logicielle et d'identifier les limitations inattendues du silicium avant de s'engager sur un PCB personnalisé.

Les cartes Nucleo incluent également un programmateur et un débogueur ST-LINK intégrés, ce qui réduit le matériel nécessaire pour une évaluation initiale.

Pensées finales

Le choix d'un STM32 n'est pertinent que si la décision est validée sur du matériel réel. Avant de finaliser la conception, testez les fonctions les plus critiques dans des conditions de fonctionnement réalistes et résolvez tout problème tant que les modifications sont encore peu coûteuses.

Une fois la conception prête, PCBCool peut faire passer votre projet STM32 du premier prototype à une production répétée fiable.

FAQ

Q1 : Ai-je toujours besoin de cuivre épais pour un circuit imprimé à courant élevé ?

Non. De nombreuses cartes à courant élevé peuvent utiliser des épaisseurs de cuivre standard lorsque la largeur des pistes, la surface de cuivre et la conception thermique sont correctement optimisées.

Q7 : Quand utiliser une nappe de cuivre plutôt qu'une large piste ?

Les plans en cuivre sont préférés lorsque le courant est réparti sur une plus grande surface ou lorsqu'un étalement thermique supplémentaire est nécessaire.

Salman Ali
Salman Ali | Ingénieur en électronique

Salman Ali travaille sur la conception schématique, la disposition des circuits imprimés (PCB), le prototypage de produits et le développement de firmwares. Il possède une expérience pratique dans la concrétisation d'idées électroniques, du concept initial au produit fonctionnel, et peut également soutenir la modélisation 3D des PCB pour l'examen de conception.