STM32F3 comprend une série de microcontrôleurs 32 bits offrant des performances élevées, des fonctionnalités en temps réel, un traitement numérique du signal, une faible consommation d'énergie et un fonctionnement à basse tension, tout en conservant un haut niveau d'intégration et une grande facilité de développement. La gamme inégalée de produits STM32 est basée sur un cœur conforme aux normes industrielles et offre un large éventail d'outils et d'options logicielles, ce qui la rend idéale pour les petits projets comme pour les plateformes complètes.
Introduction au STM32F3
STM32F3 est le dernier produit lancé par STmicroelectronics. Il intègre un cœur ARM Cortex-M4 32 bits avec des instructions DSP et FPU fonctionnant à 72 MHz, des périphériques analogiques avancés et une mémoire Flash et SRAM intégrée. Grâce à sa structure d'alimentation efficace intégrée et à ses multiples modes de consommation d'énergie, le STM32F3 réduit la consommation d'énergie au niveau de l'application et simplifie la conception de celle-ci.
Cette série de microcontrôleurs intègre également un convertisseur analogique-numérique sigma-delta 12 bits 5 MSPS rapide, un amplificateur à gain programmable (4 niveaux de gain, précision de 1 %), un comparateur rapide 50 ns et une unité de contrôle d'horloge multifonctionnelle à fréquence de fonctionnement de 144 MHz.
Grâce à ses capacités en temps réel, son traitement numérique du signal, sa faible consommation d'énergie et son fonctionnement à basse tension, le STM32F3 peut traiter efficacement les signaux mixtes dans des circuits tels que les contrôleurs de moteurs triphasés, les capteurs biochimiques et industriels et les filtres audio. Il peut être largement utilisé dans les applications grand public, médicales, pratiques pour le fitness portable, la surveillance et la mesure de systèmes.
Caractéristiques du STM32F3
- Comparateur ultra-rapide (25 ns)
- Amplificateur opérationnel à gain programmable
- DAC 12 bits
- ADC ultra-rapide 12 bits, 5 millions d'échantillons par seconde et par canal (cinq millions d'échantillons par seconde), jusqu'à 18 millions d'échantillons par seconde en mode alterné
- ADC sigma-delta 16 bits précis (21 canaux)
- La mémoire SRAM couplée au cœur (accélérateur de programme) est une architecture mémoire dédiée à l'amélioration des performances des programmes sensibles au temps, qui peut augmenter les performances de 43 %.
- Temporisateur PWM 16 bits avancé à 144 MHz (résolution < 7 ns) pour les applications de contrôle
- Temporisateur haute résolution (217 ps), à compensation automatique de la dérive de l'alimentation et de la température
- La matrice d'interconnexion flexible permet une communication autonome entre les périphériques, ce qui permet d'économiser les ressources du processeur et la consommation d'énergie.
Spécifications STM32F3
La série STM32 F3 comprend des dispositifs dotés d'une mémoire Flash intégrée de 64 à 256 Ko et d'une mémoire SRAM de 48 Ko. Les options de boîtier comprennent les formats WLCSP66 (moins de 4,3 x 4,3 mm), LQFP48, LQFP64, LQFP100 et UFBGA100.
| Manufacturer | STMicroelectronics |
|---|---|
| Core | ARM Cortex M4F |
| Data Bus Width | 32 bit |
| I/O Count | 39 |
| Maximum Clock Frequency | 72 MHz |
| Flash Memory (Maximum) | 256 KB |
| Data RAM Size | 32 KB |
| On-chip ADC | Yes |
| Operating Supply Voltage | 1.65 V to 3.6 V, 2 V to 3.6 V, 2.2 V to 3.6 V |
| Operating Temperature Range | -40°C to +85°C |
| Package | LQFP-48, 64, 100 |
| Mounting Style | SMD/SMT |
Horloge STM32F3
Le STM32F3 utilise 4 sources d'horloge : LSE pour le RTC intégré ; HSE pour le fonctionnement du microcontrôleur ; HSI pour l'horloge système ; LSI pour piloter l'IWDG et le RTC. Chaque source d'horloge peut être activée ou désactivée individuellement lorsqu'elle n'est pas utilisée afin de réduire la consommation d'énergie.
Horloge HSE
L'horloge OSC à signal d'horloge externe haute vitesse (HSE) dispose de deux sources d'horloge : l'oscillateur à quartz externe HSE/résonateur céramique et l'horloge externe utilisateur HSE. Lors de la conception du circuit imprimé, le résonateur et la capacité de charge doivent être placés aussi près que possible des broches de l'oscillateur afin de minimiser la distorsion de sortie et le temps de stabilisation de l'oscillation. La valeur de la capacité de charge doit être ajustée de manière appropriée en fonction de l'oscillateur sélectionné.
Oscillateur à quartz externe (oscillateur à quartz HSE)
L'avantage de l'oscillateur externe 4-32 MHz est qu'il offre une très grande précision. Le drapeau HSERDY (RCC_CR) dans le registre de contrôle d'horloge indique si l'oscillateur HSE est stable. Cette horloge ne peut pas être utilisée tant que le matériel n'a pas défini ce bit au démarrage. Des interruptions peuvent être générées si les interruptions sont activées dans le registre d'interruption d'horloge (RCC_CIR). L'oscillateur à quartz HSE peut être activé ou désactivé via le bit HSEON dans le registre de contrôle d'horloge (RCC_CR).
Source externe (contournement HSE)
Dans ce mode, une source d'horloge externe doit être fournie, avec une fréquence maximale ne dépassant pas 32 MHz. La broche OSC_IN doit être pilotée à l'aide d'un signal d'horloge externe (onde carrée, sinusoïdale ou triangulaire) avec un rapport cyclique de 40 à 60 %, en fonction de la fréquence, tandis que la broche OSC_OUT peut être utilisée comme GPIO.
Horloge LSE
L'oscillateur à quartz LSE est un oscillateur à quartz externe à faible vitesse de 32,768 kHz ou un résonateur céramique. Il peut être utilisé comme source d'horloge de l'horloge temps réel (RTC) pour fournir des fonctions d'horloge/calendrier ou d'autres fonctions de synchronisation. Il présente les avantages d'une faible consommation d'énergie et d'une grande précision.
L'oscillateur à quartz LSE est activé et désactivé via le bit LSEON dans le registre de contrôle du domaine de secours (RCC_BDCR). La puissance d'entraînement du quartz peut être modifiée pendant l'exécution à l'aide des bits LSEDRV[1:0] dans le registre de contrôle du domaine de secours (RCC_BDCR) afin d'obtenir le meilleur équilibre entre robustesse, temps de démarrage court et faible consommation d'énergie.
Le drapeau LSERDY dans le registre de contrôle du domaine de secours (RCC_BDCR) indique si l'oscillateur à quartz LSE est stable. Au démarrage, le signal d'horloge de sortie de l'oscillateur à quartz LSE ne peut être utilisé qu'après que le matériel ait défini ce bit. Des interruptions peuvent être générées si les interruptions sont activées dans le registre d'interruption d'horloge (RCC_CIR).
Dans ce mode, une source d'horloge externe doit être fournie, avec une fréquence maximale ne dépassant pas 1 MHz. Un signal d'horloge externe (onde carrée, sinusoïdale ou triangulaire) avec un rapport cyclique d'environ 50 % doit être utilisé pour piloter la broche OSC32_IN, tandis que la broche OSC32_OUT peut être utilisée comme GPIO.
Horloge HSI
Le signal d'horloge HSI est généré à partir de l'oscillateur RC interne de 8 MHz et peut être utilisé directement comme horloge système (SYSCLK) ou comme entrée PLL. L'avantage de l'oscillateur RC HSI réside dans son coût réduit (aucun composant externe n'est nécessaire). De plus, sa vitesse de démarrage est plus rapide que celle du bloc oscillateur à quartz HSE, mais même après étalonnage, sa précision de fréquence n'est pas aussi bonne que celle d'un oscillateur à quartz externe ou d'un résonateur céramique.
Le processus de production étant différent, les fréquences des oscillateurs RC des différentes puces sont également différentes. ST effectue un étalonnage en usine sur chaque dispositif afin d'obtenir une précision de 1 % à TA = 25 ℃. De plus, l'horloge HSI peut être connectée au multiplexeur MCO. L'horloge peut être connectée à l'entrée du Timer 16 dans le F30x et à l'entrée du Timer 14 dans le F37x pour permettre à l'utilisateur de calibrer l'oscillateur.
Horloge de synchronisation de bas niveau
La fréquence de l'horloge RC interne à basse vitesse (LSI RC) est d'environ 40 kHz (entre 30 kHz et 60 kHz). L'horloge LSI peut être utilisée comme source d'horloge à faible consommation pour continuer à fonctionner en mode arrêt et veille afin de piloter le chien de garde indépendant (IWDG) et le RTC. Elle peut également être fournie en option au RTC pour un réveil automatique en mode arrêt/veille.
Conception PCB du STM32F3
Pour des raisons techniques, il est préférable d'utiliser un circuit imprimé multicouche (PCB) avec une couche dédiée à la masse (VSS) et une autre couche dédiée à l'alimentation VDD. Cela permet d'obtenir un bon découplage et un bon blindage.
Emplacement et paramètres des composants
La disposition initiale du circuit imprimé doit comporter des circuits séparés avec des circuits à courant élevé, des circuits à basse tension, des circuits à composants numériques et des circuits séparés en fonction des caractéristiques EMI du circuit. Cela permet de réduire le couplage croisé qui provoque du bruit sur le circuit imprimé. Reportez-vous au tableau ci-dessous pour connaître les paramètres des composants concernés.
| Components | Value | Count | Notes |
|---|---|---|---|
| MCU | STM32F303VCT6 | 1 | 100-pin package |
| Capacitor | 100nF | 4 | For STM32F303: 4 units For STM32F373/378: 3 units Ceramic Capacitors (Decoupling) |
| Capacitor | 4.7μF | 1 | Ceramic Capacitor (Decoupling) |
| Resistor | 390Ω | 1 | For HSE: Value depends on crystal characteristics. |
| Resistor | 0Ω | 1 | For LSE: Value depends on crystal characteristics. |
| Resistor | 10KΩ | 4 | For JTAG and boot mode pull-up and pull-down resistors. |
| Capacitor | 100nF | 3 | For RESET button, VDDA, and VREF+ (Ceramic Capacitors). |
| Capacitor | 1μF | 2 | For VDDA and VREF+. |
| Capacitor | 100nF | 3 | For VDDSDx and VREFSD+ (Ceramic Capacitors, only for STM32F37x). |
| Capacitor | 1μF | 3 | For VDDSDx and VREFSD+ (only for STM32F37x). |
| Capacitor | 10pF | 2 | For LSE: Value depends on crystal characteristics. |
| Capacitor | 20pF | 2 | For HSE: Value depends on crystal characteristics. |
| Crystal | 8MHz | 1 | For HSE |
| Crystal | 32kHz | 1 | For LSE |
| Embedded | 3V3 | 1 | If an external battery is not used in the application, it is recommended to connect VBAT externally to VDD. |
| Switch | - | 1 | For selecting the correct boot mode. |
| Button | B1 | 1 | Used as a reset button. |
| JTAG Connector | - | 1 | For MCU programming/debugging. |
Masse et alimentation électrique (VSS, VDD, VSSA, VDDA, VSSSD, VDDSD)
Chaque bloc (bruit, sensible au fond, numérique, etc.) doit être mis à la terre individuellement, et tous les retours à la terre doivent être regroupés en un seul point. Les anneaux doivent être évités ou avoir une surface minimale. L'alimentation électrique doit être mise en place à proximité du fil de terre afin de minimiser la surface de la boucle d'alimentation. En effet, la boucle d'alimentation se comporte comme une antenne, elle est donc le principal émetteur et récepteur d'EMI. Toutes les zones du circuit imprimé sans composants doivent être remplies d'une mise à la terre supplémentaire afin de créer un blindage (en particulier lors de l'utilisation de circuits imprimés à couche unique).
Découplage
Toutes les broches d'alimentation et de masse doivent être correctement connectées à l'alimentation électrique. Ces connexions, y compris les pastilles, les pistes et les trous, doivent présenter une résistance aussi faible que possible. En général, cela s'obtient en élargissant la largeur des pistes, de préférence en utilisant des plans d'alimentation dédiés dans les circuits imprimés multicouches.
De plus, chaque paire d'alimentation doit être découplée à l'aide d'un condensateur céramique de filtrage de 100 nF et connectée entre les broches d'alimentation du dispositif STM32F3xx à l'aide d'un condensateur chimique d'environ 4,7 μF. Ces condensateurs doivent être placés aussi près que possible des broches appropriées, sur la partie inférieure du circuit imprimé, ou en dessous de celles-ci. Les valeurs typiques sont comprises entre 10 nF et 100 nF, mais la valeur exacte dépend des besoins de l'application.
E/S inutilisées
En général, une application n'utilise pas 100 % des ressources du microcontrôleur. Pour améliorer les performances CEM et éviter toute consommation d'énergie supplémentaire, les horloges, compteurs ou E/S inutilisés ne doivent pas être laissés flottants et doivent être liés à des niveaux logiques fixes 0 ou 1. La méthode consiste à utiliser des résistances de pull-up ou de pull-down externes ou internes sur les broches d'E/S inutilisées, ou à utiliser un logiciel pour configurer le GPIO en mode sortie. Les fonctionnalités qui ne sont pas utilisées doivent être gelées ou désactivées, ce qui correspond également à leur valeur par défaut.
Différents types de STM32F3
Les microcontrôleurs de la série STM32F3 comprennent les modèles STM32F301, STM32F302, STM32F303 et d'autres types. Non seulement ils intègrent une variété de périphériques, mais ils offrent également des performances et des capacités analogiques supérieures pour gérer jusqu'à trois commandes de moteur FOC.
STM32F301
Le STM32F301 est un microcontrôleur à signaux mixtes qui utilise le cœur ARM Cortex-M4 (DSP, FPU) et fonctionne à 72 MHz.

Cette série de microcontrôleurs présente les caractéristiques suivantes :
- Jusqu'à 3 comparateurs ultra-rapides (<30 ns)
- Amplificateur opérationnel (PGA) avec gain programmable • DAC 12 bits
- ADC ultra-rapide 12 bits avec 5 millions d'échantillons par seconde
- Temporisateur de commande moteur rapide à 144 MHz (résolution < 7 ns)
- Le microcontrôleur STM32F301 fonctionne entre 2,0 et 3,6 V
- Capacités de mémoire allant de 32 à 64 Ko et boîtiers disponibles de 32 à 64 broches
STM32F302
Le STM32F302 est un microcontrôleur à signaux mixtes qui utilise le cœur ARM Cortex-M4 (DSP, FPU) et fonctionne à 72 MHz.

Cette série de microcontrôleurs présente les caractéristiques suivantes :
- Jusqu'à 4 comparateurs rapides et ultra-rapides (<30 ns)
- Jusqu'à 2 amplificateurs opérationnels (PGA) avec gain programmable
- DAC 12 bits
- Jusqu'à 2 convertisseurs analogiques-numériques 12 bits ultra-rapides avec 5 millions d'échantillons par seconde
- Temporisateur de commande moteur rapide à 144 MHz (résolution < 7 ns)
- Interface de communication USB FS et CAN 2.0B
- Le microcontrôleur STM32F302 fonctionne de 2,0 à 3,6 V
- Capacités de mémoire allant de 32 à 256 Ko et boîtiers de 32 à 100 broches
- Plage de température de -40 à 85 °C ou de -40 à 105 °C (température de jonction de 125 °C)
STM32F303
Le STM32F303 est un microcontrôleur à signaux mixtes qui utilise le cœur ARM Cortex-M4 (DSP, FPU) et fonctionne à 72 MHz. Il s'agit d'un groupe de dispositifs offrant d'excellentes performances dans la série de microcontrôleurs STM32F30x.

Cette série de microcontrôleurs présente les caractéristiques suivantes :
- Jusqu'à 7 comparateurs rapides et ultra-rapides (<30 ns)
- Jusqu'à 4 amplificateurs opérationnels (PGA) avec gain programmable
- Jusqu'à 2 DAC 12 bits
- Jusqu'à 4 convertisseurs analogiques-numériques 12 bits ultra-rapides à 5 millions d'échantillons par seconde
- Jusqu'à 3 temporisateurs de commande de moteur rapides à 144 MHz (résolution < 7 ns)
- Interface de communication USB FS et CAN 2.0B
- Mémoire SRAM couplée au cœur (amélioration des performances de 43 % par rapport à l'exécution Flash)
- Le microcontrôleur STM32F303 fonctionne entre 2,0 et 3,6 V
- Capacités de mémoire allant de 32 à 256 Ko et boîtiers de 32 à 100 broches
- Plage de température de -40 à 85 °C ou de -40 à 105 °C (température de jonction de 125 °C)




