Hello Guest

Sign In / Register

Welcome,{$name}!

/ Connectez - Out
Français
EnglishDeutschItaliaFrançais한국의русскийSvenskaNederlandespañolPortuguêspolskiSuomiGaeilgeSlovenskáSlovenijaČeštinaMelayuMagyarországHrvatskaDanskromânescIndonesiaΕλλάδαБългарски езикGalegolietuviųMaoriRepublika e ShqipërisëالعربيةአማርኛAzərbaycanEesti VabariikEuskeraБеларусьLëtzebuergeschAyitiAfrikaansBosnaíslenskaCambodiaမြန်မာМонголулсМакедонскиmalaɡasʲພາສາລາວKurdîსაქართველოIsiXhosaفارسیisiZuluPilipinoසිංහලTürk diliTiếng ViệtहिंदीТоҷикӣاردوภาษาไทยO'zbekKongeriketবাংলা ভাষারChicheŵaSamoaSesothoCрпскиKiswahiliУкраїнаनेपालीעִבְרִיתپښتوКыргыз тилиҚазақшаCatalàCorsaLatviešuHausaગુજરાતીಕನ್ನಡkannaḍaमराठी
Accueil > Blog > À l'intérieur de STM32: architecture, interfaces de programmation et techniques de débogage

À l'intérieur de STM32: architecture, interfaces de programmation et techniques de débogage

Les microcontrôleurs STM32, construits autour du noyau ARM Cortex-M3, offrent un équilibre efficace des performances, des coûts et de la consommation d'énergie pour les applications intégrées.Avec des séries comme STM32F101, F103, F105 et F107, ils offrent des options flexibles en vitesse, en mémoire et en connectivité.Par rapport aux solutions héritées 8 bits comme le 8051, STM32 offre des fonctionnalités avancées telles que des E / S à grande vitesse, des périphériques intégrés et une commodité de programmation améliorée, ce qui en fait un choix fort pour les développeurs modernes créant des systèmes fiables et évolutifs.

Catalogue

1. Introduction aux microcontrôleurs STM32
2. Comparaison des microcontrôleurs STM32 et 51
3. Présentation du système de base STM32

Introduction aux microcontrôleurs STM32

La gamme de microcontrôleurs STM32 est fabriquée autour du noyau ARM Cortex-M3, ciblant les applications intégrées où il y a une demande de performances robustes, d'abordabilité économique et d'efficacité de la consommation d'énergie.Cette série est classée en fonction de l'architecture de base:

- La série STM32F comprend divers modèles:

- série STM32F103 "améliorée"

- série STM32F101 "Basic"

- STM32F105 et STM32F107 "Interconnecté"

La série "améliorée" possède une fréquence d'horloge impressionnante de 72 MHz, se démarquant comme le produit le plus performant parmi ses pairs, attrayant en particulier pour les utilisateurs privilégiés des solutions 32 bits mais conscients des contraintes budgétaires généralement associées aux produits 16 bits.Alternativement, la série "Basic" fonctionne à une fréquence d'horloge de 36 MHz, offrant une augmentation équilibrée des performances.Tous les modèles de ces séries sont équipés d'une mémoire flash intégrée allant de 32k à 128k, tandis que les variations de la capacité SRAM et des interfaces périphériques offrent des options supplémentaires.À 72 MHz, exécutant le code directement à partir de Flash, le STM32 nécessite 36MA, traduisant par un 0,5 mA / MHz économique.

Les microcontrôleurs servent de puces de circuits intégrées compactes à l'aide de la technologie VLSI pour consolider les unités de traitement central (CPU), la mémoire d'accès aléatoire (RAM), la mémoire en lecture seule (ROM), ainsi que divers ports d'E / S, des systèmes d'interruption, des minuteries de traitement des données, et parfois des composants supplémentaires tels que Display Driving Circuits ou A / D Convergers sur une seule puce de silicone - formant un système complémentaire.Des microcontrôleurs 8 bits plus simples, connus pour leur architecture interne simple, leur taille modeste et leur rentabilité, trouvent l'utilisation dans les applications de base du contrôleur.Les exemples courants incluent la série 51 d'Intel, le système AVR d'Atmel, la série PIC de Microchip et la série MSP430 de TI.Cependant, le STM32 représente un microcontrôleur 32 bits plus formidable.De manière distincte, il permet la programmation non seulement via des registres mais aussi via des fichiers de bibliothèque fournis par le fabricant, améliorant à la fois la commodité du développement et la facilité de portabilité du code.

Comparaison des microcontrôleurs STM32 et 51

Un microcontrôleur est un circuit intégré compact conçu pour régir une opération spécifique dans un système intégré.Il intègre des composants essentiels tels que le CPU pour le traitement et le contrôle, la RAM pour la mémoire de stockage des données, la ROM pour le stockage du programme, les interfaces d'entrée / sortie comme les ports série et parallèle, et un système d'interruption sur une seule puce.

L'architecture diffère considérablement des ordinateurs personnels, où les composants CPU, RAM, ROM et E / S sont des puces séparées qui sont montées sur une carte mère pour construire un PC.En revanche, un microcontrôleur consolide ces composants en une seule unité cohérente.

Le microcontrôleur 51

Le microcontrôleur 51, initialement introduit par Intel, reste l'un des microcontrôleurs 8 bits les plus répandus et est bien considéré pour sa courbe d'apprentissage.Réputée pour son architecture classique avec une gestion complète des registres spécifiques aux bus, des fonctionnalités de bit logique robustes et un ensemble d'instructions polyvalent optimisé pour les applications de contrôle, il jette les bases des autres progrès du microcontrôleur.

Caractéristiques du microcontrôleur 51

- Bénéficiant d'un système de processeur Bit, il facilite les opérations de niveau bits pour les couches matérielles et logicielles internes, permettant des manipulations telles que les opérations de transfert, de définition, de test, de test et de logique bit.Cet attribut le rend convivial et complet.

- Il comprend une gamme d'adresses polyvalente dans sa RAM sur puce, améliorant la flexibilité et la facilité d'utilisation.

- L'inclusion des instructions de multiplication et de division rationalise les tâches de programmation, une capacité que de nombreux microcontrôleurs 8 bits manquent.

Inconvénients du microcontrôleur 51

- Un matériel supplémentaire est souvent requis pour les fonctionnalités AD et EEPROM, compliquant la conception.

- Les broches d'E / S, bien qu'elles soient conviviales, manquent de capacités de sortie de haut niveau, une limitation notable de la série 51.

- La vitesse de fonctionnement est courte, en particulier concernant le double pointeur de données, entravant l'efficacité de la programmation.

- Ses caractéristiques de protection limitées augmentent la sensibilité aux dommages aux puces.

Applications et appareils utilisant le microcontrôleur 51

- Il est fréquemment utilisé dans des milieux éducatifs et des applications ayant des besoins de performance modestes.

- Les modèles populaires incluent les 8051 et 80C51.

Le microcontrôleur STM32

Fabriquée par Stmicroelectronics, la série STM32 présente une gamme de microcontrôleurs à haute performance, rentable et économe en énergie.Construites sur l'architecture Cortex-M bras, ces microcontrôleurs s'adressent aux applications intégrées exigeant des performances supérieures.Ils offrent des périphériques exceptionnels, y compris 1 μs Dual 12 bits ADC, 4mbbit / s UART et 18 Mbit / s SPI.

Son équilibre de consommation d'énergie et d'intégration fait appel aux ingénieurs, même s'il ne s'agit pas de l'option la plus faible consommatrice de puissance comme le MSP430.La conception intuitive du STM32 et les fonctionnalités expansives ont creusé une réputation notable parmi les professionnels de l'industrie.

Caractéristiques du microcontrôleur STM32

- Core: utilise un CPU Cortex-M3 ARM 32 bits capable de fonctionner jusqu'à 72 MHz et d'obtenir 1,25 dmips / MHz, avec des fonctionnalités telles que la multiplication à cycle et la division matérielle.

- Mémoire: propose une mémoire flash 32-512KB aux côtés de 6-64KB SRAM sur puce.

- Gestion de l'horloge et de l'alimentation: prend en charge une alimentation 2.0-3.6V avec un large éventail de systèmes de gestion d'horloge et de réinitialisation, y compris les oscillateurs en cristal et les configurations PLL pour l'horloge CPU.

- Débogage: équipé d'interfaces SWD et JTAG, fournissant jusqu'à 112 ports d'E / S et de nombreux minuteries et interfaces de communication.

Appareils STM32 couramment utilisés

- Les modèles clés incluent les séries STM32F103, STM32 L1 et STM32W.

Distinctions entre 51 et microcontrôleurs STM32

Le terme "51 microcontrôleur" fait référence aux dispositifs compatibles avec l'ensemble d'instructions Intel 8031, pionnier du modèle 8031.Ces appareils ont bénéficié des progrès des ROM flash, évoluant vers les microcontrôleurs 8 bits largement utilisés, illustrés par la série AT89 d'Atmel.

Inversement, la série de microcontrôleurs STM32 est développée par STMicroelectronics avec un noyau ARM Cortex-M3.Amélioré avec de riches ressources internes, il dépasse les familles 8051, AVR et PIC, se rapprochant des capacités de processeur modernes, ajustant ainsi des appareils plus complexes tels que les téléphones mobiles et les routeurs.

Présentation du système de base STM32

L'environnement intégré STM32 comprend plusieurs composants essentiels qui interagissent harmonieusement.

Gestion de l'alimentation

Le fonctionnement fluide des pièces analogiques et de la section AD nécessite une manipulation minutieuse des connexions d'alimentation, telles que VCC et GND, VDDA, VSSA et VREF (considérant que le package comprend la broche).La connexion externe est vitale et les connexions flottantes doivent être évitées pour assurer la stabilité du système.

Pour un filtrage optimal, placez au moins un 104 condensateur en céramique pour chaque paire VDD et GND.Positionner les condensateurs aussi proches de l'unité de microcontrôleur (MCU) comme pratique pour maintenir l'intégrité des performances.

Les vérifications de tension sont une pratique perspicace.Utilisez un multimètre pour confirmer la précision de la tension d'alimentation.Une alimentation numérique est préférable à des fins de débogage, contribuant à atténuer les risques de tension ou de pointes de courant.Effectuer une évaluation de tension approfondie du point d'entrée du fil jusqu'à la connexion d'alimentation en puce, favorisant une approche méticuleuse.

Séquence de réinitialisation et d'alimentation

L'épingle de démarrage joue un rôle exclusif dans la détermination de l'adresse de départ du code d'exécution post-MCU, non affectée par les associations JTAG.

Dans la conception du circuit, la broche de démarrage peut être non essentielle.Cependant, il oblige une connexion à la terre ou à la puissance via une résistance externe - le faire flotter est déconseillé.La mémoire de démarrage en tri-mode du STM32 est inhérente à la puce:

- Mémoire flash utilisateur: stockage flash intégré.

- SRAM: zone RAM sur puce, agissant comme mémoire.

- Mémoire système: zone intérieure de puce dédiée abritant un chargeur de démarrage prédéfini d'usine, souvent appelé programme ISP.Cette section ROM résiste à la modification ou à l'effacement après le navire.

Chaque puce STM32 possède des broches BOOT0 et BOOT1.L'état de niveau induit par réinitialisation de ces broches dicte la zone d'exécution post-réinitialisation.

- boot1 = x boot0 = 0: exécute à partir de la mémoire flash utilisateur - mode de fonctionnement ordinaire.

- boot1 = 0 boot0 = 1: initie à partir de la mémoire du système, fonctionnant programmé par le fabricant.

- boot1 = 1 boot0 = 1: utilise un SRAM intégré, adapté à des fins de débogage.

La programmation est réalisable via le port JTAG ou le mode SWD, en sélectionnant le démarrage à partir de la mémoire flash utilisateur.Opter pour le stockage du système est réalisable dans les scénarios de programme de mode ISP de port série.

Programmation des options d'interface

Pour la réduction de la prise, considérez la simulation en mode SWD, principalement à l'aide de Jlink, nécessitant seulement quatre fils - 3.3V, GND, SWdio, SWCLK.

Les connexions incluent:

- STM32 JTMS / SWdio aligne avec JTAG Port TMS.

- STM32 JTCK / SWCLK PARALLLES JTAG PORT TCK.

L'option ulink2 nécessite un fil supplémentaire: "NRST", totalisant cinq.

L'auto-définition de cette interface est possible.Connectez l'émulateur et la carte cible à l'aide d'un cavalier de fil Dupont ou d'une carte d'interface de conversion de blocs selon la commodité.

Dynamique de difficulté de débogage et de programmation

Une mauvaise connectivité de la puce cible inhibe les opérations normales:

- Assurer une connexion système minimale appropriée sur la carte cible, confirmant les fonctionnalités normales de puce: VDD, VDDA, VSS, liaison VDDS, circuits de réinitialisation fiables et sources de réinitialisation non interférentes.

Le code brûlé préexistant peut compliquer de nouvelles tentatives de débogage:

- Le code pré-chargé incorrect initie des états non définis lors de la mise sous tension, entravant l'entrée en mode de débogage, activant potentiellement les périphériques inutiles ou configurer la broche SWJ en tant que port d'E / S ordinaire.

Les solutions impliquent la sélection des broches BOOT0 / BOOT1 pour RAM Boot ou effacer initialement le code existant.

La protection de lecture / écriture de puce pose des défis supplémentaires:

- Les outils de débogage peuvent échouer dans la lecture ou l'écriture du flash intégré.Le remède consiste à utiliser l'outil de débogage pour désactiver la protection de lecture / écriture des puces.






Questions fréquemment posées [FAQ]

1. Quel est le microcontrôleur STM32?

Le STM32 représente une collection de circuits intégrés à microcontrôleur 32 bits de Stmicroelectronics.Dans chaque microcontrôleur, vous trouverez le noyau du processeur, la RAM statique, la mémoire flash, une interface de débogage et plusieurs périphériques.

2. Pourquoi STM32 est-il si populaire?

La famille STM32 de microcontrôleurs de Stmicroelectronics est connue pour son architecture 32 bits basée sur l'étendue et le bras.Leurs options de polyvalence et de personnalisation offrent aux utilisateurs un défi unique en termes d'initialisation.

3. Comment programmez-vous un STM32?

Commencez par installer les outils nécessaires tels que STM32cubemx et STM32cubeide pour commencer à travailler avec les microcontrôleurs STM32 et exécuter des exemples de base.Ensuite, implémentez un projet clignotant LED simple sur la carte Nucleo-L476RG en utilisant les pilotes HAL pour se familiariser avec le contrôle GPIO.Ensuite, explorez la communication UART et en savoir plus sur les fonctionnalités de base du conseil d'administration.Intégrez des capteurs à l'aide de la carte de développement B-L475E-IOT01A pour recueillir des données réelles.Enfin, combinez tous les éléments pour construire un système IoT complet alimenté par STM32.

4. Où est utilisé STM32?

Les microcontrôleurs STM32 trouvent leur place dans de nombreuses applications, allant des fonctions de base de l'imprimante aux cartes de circuits imprimées.La possibilité de fabriquer un microdiffusion firmware et de systèmes intégrés à l'aide de microcontrôleurs STM32 est une compétence précieuse pour tout ingénieur dans les champs électroniques et de communication.

5. La STM32 a-t-elle le wifi?

La série STM32WX enrichit les offres MCU STM32 avec des options de connectivité sans fil.Il s'agit notamment des opérations dans les gammes de fréquences de sous-GHz et 2,4 GHz.Leur nature, leur fiabilité et leur adaptabilité conviviales les rendent adaptés à une gamme diversifiée d'applications industrielles et de consommation.

Blog connexe