Ouvrir le menu principal

STM32

série de microcontrôleurs de STMicroelectronics, basés sur des ARM Cortex-M

La famille STM32 est une série de microcontrôleurs 32-bits en circuits intégrés réalisés par STMicroelectronics. Les puces STM32 sont regroupées dans différentes séries proches, basées sur les processeurs d'architecture ARM 32-bits, tels que le Cortex-M7F, le Cortex-M4F, le Cortex-M3, Cortex-M0+, ou le Cortex-M0. Chaque microcontrôleur est constitué d'un cœur de calcul, de mémoire vive (RAM) statique, de mémoire flash (pour le stockage), d'une interface de débogage et de différents périphériques[1].

Le STM32 F4 comporte un Cortex-M4F, un DSP et un FPU. Il est notamment complètement géré par le système libre temps-réel ChibiOS/RT.

Sommaire

ApplicationsModifier

ArduinoModifier

Il existe différents types de cartes compatibles Arduino basées sur le STM32. La série Nucleo a été conçue par STMicroelectronics à cet effet. D'autres constructeurs ont également fait des cartes compatibles utilisant ce SoC sous divers noms. Cela permet de l'utiliser comme contrôleur de machine-outil à commande numérique (CNC en anglais). des logiciels tels que Grbl permettent de contrôler des machines de fraisage[2], auxquelles notamment les imprimantes 3D ou imprimantes de découpe laser se rapprochent. Permettant ainsi de rentre ce type de machines traditionnellement très onéreuse à des fab lab et amateurs éclairés.

NucleoModifier

Les cartes Stm32 Nucleo, basées sur les STM32, supportent une compatibilité avec les cartes Arduino, bien que basée sur des processeurs d'architecture ARM, et non d'Architecture Harvard comme dans le cas des processeurs Atmel AVR (8 bits à 16 Mhz) utilisés dans les cartes Arduino standard. Il ajoute ainsi à Arduino de bonnes performances graphiques en y ajoutant l'accélérateur graphique Chrom-ART (fourni avec une bibliothèque open source), orienté affichage TFT (ou plus généralement, écran à cristaux liquides), et comportant pour cela une interface MIPI DSI[3].

AudioModifier

Les STM32 F4 et supérieurs possédants un DSP, ils sont adaptés à l'usage pour le son. La carte synthétiseur Axoloti est un exemple d'application dans le domaine du son.

Le logiciel de synthétiseur analogique libre, Mozzi pour Arduino peut être utilisé directement sur les STM32, en particulier sur la carte à bas prix, STM32F103C8T6 blue pill board (dans les 2€), sans besoin d'un véritable DAC[4].

Compteur électriqueModifier

Le compteur électrique Linky déployé en France utilise un STM32 F2 (STM32 F203).

DronesModifier

Ce processeur est utilisé comme processeur principal et contrôleur de vol dans les drones quadrirotors de course et acrobatiques utilisés en pilotage en immersion (FPV, généralement DIY (artisanaux). Il offre plus de puissance de calcul que les autres contrôleurs utilisés dans ce type de drone, tel que les Atmel AVR et le Microchip PIC, tous deux des processeurs 8 bits[5],[6]. Les séries F1 F3 F4 et F7 peuvent en être utilisés dans ce domaine[7]. Les STM32 de la série F4 en particulier, ont un certain succès dans ce domaine (où il est généralement appelé F4[8]), il est notamment utilisé par les drones de Quantum Systems[9], mais également sur les « cartes de vol » (cartes contrôleur) de différents constructeurs (Aikon, Matek…). Le firmware de ce type de cartes de vol, contenu sur une EEPROM est flashable et différents firmwares sont disponibles, dont les populaires firmwares sous licence libre, Cleanflight et son fork Betaflight, développés par des amateurs expérimentés de ces disciplines. Ils supportent les STM32 F7, F4, F3 et F1.

Fer à souderModifier

Le fer à souder type TS100, vendu par différentes marques, comporte une carte utilisant un STM32. Un firmware sous licence libre, pouvant remplacer celui livré par défaut de Miniware (E-design), utilise FreeRTOS sous sa propre licence, et comporte des éléments disponibles sous licence GPLv2 et BSD[10].

SériesModifier

GénéralModifier

Série F0Modifier

Lancée en 2012, cette série est basée sur l'ARM Cortex-M0 et peut monter jusqu'à une fréquence de 48 Mhz.

Série F1Modifier

Lancée en 2007, cette série est la première à utiliser le cœur ARM Cortex-M3, la fréquence du CPU peut aller de 24 à 72 MHz. C'est un des plus gros succès de la marque dans ce domaine.

Série F3Modifier

Lancée en 2012 ARM Cortex-M4F pouvant monter jusqu'à 72 MHz, il comporte un DSP et un FPU, ainsi que les jeux d'instruction Thumb-1 et Thumb-2 et saturated d'ARM. Le circuit intégré est compatible broche à broche avec la série F1.

Ultra basse consommationModifier

Les différents modèles ultra-basse consommation sont[11] :

Série L0Modifier

ARM Cortex-M0+ à 32Mhz, 8 à 192 Kio de mémoire flash, consomme 0,67 µA dans le mode plus basse consommation.

Série L1Modifier

ARM Cortex-M3 à 32Mhz, 32 à 512 Kio de mémoire flash, consomme 1,2 µA dans le mode plus basse consommation.

Série L4Modifier

ARM Cortex-M4 et un FPU à 80Mhz, 180 Kio à 1 Mio de mémoire flash, consomme 0,45 µA dans le mode plus basse consommation.

Série L4+Modifier

ARM Cortex-M4 et un FPU à 120Mhz, 1 à 2 Mio de mémoire flash, consomme 1 µA dans le mode plus basse consommation.

Série L5Modifier

ARM Cortex-M33 (32-/64-bit, jeu d'instruction ARMv8-M) à 110 MHz, comportant FPU, l'extension de sécurité TrustZone d'ARM et une extension de sécurité de STMicroelectronics, ainsi qu'une nouvelle version du processeur graphique ST ART Accelerator. Il gère jusqu'à 512 Kio de mémoire flash et 256 Kio de SRAM. Le support de USB Type-C est intégré de base[12].

Haute performanceModifier

Série F2Modifier

Lancée en 2010, elle est comme la série F1, basée sur l'ARM Cortex-M3, mais avec des fréquences pouvant aller jusqu'à 120 Mhz.

Série F4Modifier

La série F4 sortie en 2011, comme la F3 est basée sur l'ARM Cortex-M4F, et comporte donc également un DSP, les versions F4P comportent en plus un FPU, ses fréquences selon les modèles, peuvent atteindre 84 à 180 MHz.

Série F7Modifier

Sortie en 2014, cette série est basée sur des ARM Cortex-M7F, pouvant aller jusqu'à 216 Mhz. Il comporte un DSP et un FPU.

Série H7Modifier

Sortie au second semestre 2017, cette série est basée, comme la F7 sur des ARM Cortex-M7F, pouvant aller jusqu'à 400 Mhz. Il comporte un DSP et un FPU.

Sans-filModifier

Série WBModifier

Ces microcontrôleurs supporte le standard bluetooth 5 standard et les standards Wi-Fi 802.15.4, ils sont double cœurs, avec un cortecx-M0 à 32 Mhz et un Cortex-M4 à 64 Mhz[13]

Chrom-ARTModifier

Le processeur graphique Chrom-ART a notamment les caractéristiques suivantes[14] :

  • Il gère un arrière plan et un avant plan séparés ;
  • De tracer des fontes avec anti-crénelage ;
  • Comporte son propre DMA ;
  • Comporte différents niveaux d'activité pour la réduction de la consommation énergétique ;
  • Calcul indépendamment et en parallèle au processeur.

AnnexesModifier

Notes et référencesModifier

  1. (en) « STM32 », sur STMicroelectronics
  2. (en) « grbl for stm32 with nucleo stepper drivers », sur compte langwadt sur Github
  3. Pierrick Arlot, « Les microcontrôleurs STM32 de ST sautent à pieds joints dans l’univers Arduino », sur L'Embarqué,
  4. (en) « Mozzi — STM32(duino) port by Thomas Friedrichsmeier », sur sensorium.github.io
  5. « Cours ARM et STM32 », sur genelais.free.fr
  6. Coleman Benson, « Comment fabriquer un drone/UAV – Leçon 4 : Contrôleur de vol », sur Robotshop.com,
  7. (en) « F1, F3, F4 and F7 Flight Controller Differences Explained », sur OscarLiang.com,
  8. Pablo Sotes, « Je sauve mon drone Freestyle de la Noyade // tuto nettoyage de l'électronique », sur Chaine Youtube de Pablo Sotes sur les drones de course (à 7 minutes de la vidéo
  9. « EW18: The World’s Most Compact VTOL Drone in the STM32 Fan Zone », sur STMicroelectronics
  10. (en) Ralim, « TS100 — Licence », sur Github
  11. « STM32 Ultra Low Power MCUs », sur STMicroelectronics
  12. (en) « STM32L5 Series », sur ST Microelectronics
  13. (en) « STM32 Wireless MCUs », sur STMicroelectronics
  14. (en) STM32F7 -Chrom-ART, STMicroelectronics, 17 p. (lire en ligne)

BibliographieModifier

  • Marc Laury, À la découverte des cartes Nucleo, Paris, Eyrolles, , 275 p. (ISBN 978-2-212-67369-2, notice BnF no FRBNF45291307)
  • Marwen Brikcha, Conception d'un circuit d'interfaçage basé sur STM32, Éditions universitaires européennes, , 84 p. (ISBN 978-3-639-52523-6, présentation en ligne)
  • (en) Geoffrey Brown, Discovering the STM32 Microcontroller, (lire en ligne) (Licence CC BY-NC-SA 3.0)
  • (en) Donald Norris, Programming With STM32: Getting Started With the Nucleo Board and C/C++, New York, McGraw Hill Education, (ISBN 9781260031324)* (en) Trevor Martin, The Insiders Guide to the STM32 ARM based Microcontroller, Hitex, , 96 p.
  • (en) Warren Gay, Beginning STM32. Developing with FreeRTOS, libopencm3 and GCC, Apress, , 414 p. (ISBN 978-1484236239)
  • (en) Carmine Noviello, Mastering STM32, Leanpub, , 783 p.
  • (pl) Krzysztof Paprocki, Mikrokontrolery STM32 w praktyce, btc, , 274 p.
  • (ru) Мартин М., Инсайдерское руководство по STM32, 117 p. (lire en ligne)

Liens externesModifier