Bibliothèque technique gratuite ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE Microcontrôleurs STM32 et cartes de débogage pour ceux-ci. Encyclopédie de la radioélectronique et de l'électrotechnique Encyclopédie de l'électronique radio et de l'électrotechnique / Radio-amateur Technologies Depuis de nombreuses années, les radioamateurs utilisent des microcontrôleurs huit bits des familles PIC et AVR. Ils sont populaires en raison de leur faible prix, de leur documentation détaillée, de leur facilité de programmation et de leur facilité d'installation. Cependant, il arrive souvent que la puissance d'un tel microcontrôleur ne soit pas suffisante pour résoudre le problème. L'exemple le plus simple est un fréquencemètre ou un générateur de signaux sur un microcontrôleur, où la fréquence maximale mesurée ou générée dépend directement de la vitesse de traitement ou de sortie des informations. En plus de la vitesse, les microcontrôleurs à huit bits ont d'autres limitations, par exemple, dans de nombreux modèles AVR, il n'y a qu'un seul port série matériel, ce qui ne permet pas de recevoir des informations d'un périphérique externe et d'envoyer simultanément les résultats de son traitement au consommateur. Sans parler de choses aussi « banales » que l'affichage d'informations sur un indicateur graphique, qui nécessite de grosses ressources, tant en vitesse qu'en mémoire. Après avoir analysé un certain nombre de ces limitations, l'auteur a eu l'idée de passer aux microcontrôleurs de la famille STM32. Par exemple, considérons deux microcontrôleurs de la même catégorie de prix - STM32F103C6 et ATmega328P. Tableau 1
Leurs paramètres comparatifs sont donnés dans le tableau. 1. Les résultats de la comparaison sont même quelque peu surprenants. Un microcontrôleur 32 bits est non seulement plus puissant qu’un microcontrôleur huit bits à presque tous égards, mais il est également moins cher. Bien sûr, souder à la maison un microcontrôleur avec un pas de broche de 0,5 mm n'est pas si simple. Heureusement, dans la plupart des cas, cela n'est pas nécessaire - il existe sur le marché de nombreuses variétés de cartes de débogage avec des microcontrôleurs de la famille STM32, suffisantes pour diverses applications. Considérons-les plus en détail. STM32F4-DÉCOUVERTE Cette carte (elle est illustrée sur la figure 1) est peut-être la plus pratique pour les débutants qui étudient les microcontrôleurs STM. Premièrement, il dispose d’un large éventail de périphériques. En plus du microcontrôleur, la carte dispose d'un accéléromètre microélectromécanique, d'un microphone, d'un DAC audio, de deux connecteurs USB, d'un bouton et de quatre LED.
Les sorties du microcontrôleur sont amenées aux plages de contact pour le montage de connecteurs à broches sur les bords gauche et droit de la carte, ce qui facilite la connexion de tous les appareils externes nécessaires. Le microcontrôleur STM32F407VGT6 installé sur la carte possède de très bons paramètres : 1 Mo de mémoire FLASH, 192 Ko de RAM et une fréquence d'horloge de 168 MHz. Et enfin, la carte est équipée d'un débogueur ST-LINK/V2 intégré, qui peut être utilisé pour déboguer des programmes non seulement sur le microcontrôleur de la carte, mais également sur les microcontrôleurs de la même famille qui se trouvent sur d'autres cartes. Le passage à eux s'effectue à l'aide d'un cavalier amovible et d'un connecteur SWD. Le prix de la planche est d'environ 800 roubles, ce qui peut être considéré comme tout à fait acceptable. Carte de développement STM32F103RBT6 La prochaine option intéressante est une carte de débogage avec un microcontrôleur STM32F103RBT6 (Fig. 2).
Il est un peu plus faible que celui installé sur la carte précédente - une vitesse d'horloge de 72 MHz, 128 Ko de mémoire FLASH et 20 Ko de RAM, mais les périphériques sont très intéressants. Écran tactile TFT 320x240px 2.8', port USB intégré pour la communication PC, emplacement pour carte mémoire SD, horloge à quartz 32768 Hz, compartiment à pile d'horloge en temps réel et connecteur ST-LINK pour les programmes de débogage. Le prix de cette carte est également d'environ 800 roubles, mais il convient de noter qu'elle n'a pas de débogueur intégré. Pour télécharger des programmes, vous devez soit acheter un débogueur ST-LINK séparé, soit utiliser la carte STM32F4-DISCOVERY décrite ci-dessus. Érable Mini La similitude externe de cette carte (Fig. 3) avec les modules Arduino bien connus est frappante. Et ce n'est pas un hasard.
La carte Maple Mini a été conçue pour remplacer l'Arduino Nano. Le langage de programmation et l'environnement de développement pour les microcontrôleurs de la famille AVR installés sur Arduino ont été adaptés à la famille STM. Voir http://leaflabs.com/docs/maple-q uickstart.html pour plus d'informations sur le langage de programmation et l'environnement de développement Maple IDE. La carte de développement dispose d'un microcontrôleur STM32F103CBT6 fonctionnant à 72 MHz, avec 128 Ko de FLASH et 20 Ko de RAM, ce qui est sans aucun doute plus que dans n'importe quel module Arduino. Et le plus grand avantage est que l’environnement de développement n’a pas beaucoup changé. Par ailleurs, on note que malgré sa taille miniature, Maple Mini propose un périphérique très diversifié : 34 lignes d'E/S, deux canaux d'interface SPI et deux I2C, trois ports série. Cela vous permet de l'appliquer avec succès dans divers développements amateurs. En raison de sa petite taille, Maple Mini peut être intégré directement dans l'appareil en cours de développement. La carte Maple Mini originale peut être achetée pour 35 $ sur le site Web original de Maple Mini. 5 $ supplémentaires coûteront l'expédition. Une copie de la planche fabriquée en Chine coûtera deux fois moins cher. Logiciel Il existe plusieurs options d'environnements de développement qui peuvent être utilisées pour préparer des programmes pour les microcontrôleurs de la famille STM32 : - commerciaux IAR Embedded Workbench, AtollicTrueSTUDIO, Keil, etc. Ces produits complets sont assez chers, avec un prix de licence de 1000 euros, mais il existe également des versions de démonstration gratuites avec une limitation sur la quantité de programme en cours de développement, elles sont assez pour la plupart des projets simples ; - Le compilateur gratuit Eclipse avec ARM-GCC nécessite une configuration non triviale du compilateur avant utilisation. Le seul avantage aujourd'hui est la possibilité de travailler non seulement sous Windows, mais aussi sous Linux ; - IDE CooCox gratuit (CoIDE) basé sur le même éditeur Eclipse. Effectue le chargement et le débogage des programmes via ST-LINK. Contrairement à la version précédente, CoIDE ne nécessite aucun paramètre particulier et fonctionne immédiatement après l'installation. Cette option est la plus pratique et doit être utilisée. Utilisons CooCox IDE pour créer un exemple de programme pour la carte STM32F4-DISCOVERY qui implémente le classique pour le premier programme pour tout microcontrôleur clignotant des LED. Il y a quatre LED sur la carte STM32F4-DIS-COVERY, elles sont connectées aux broches PD12-PD15 du microcontrôleur. Faisons-les clignoter alternativement. Étape 1. Nous lançons l'environnement de développement CoIDE, créons un projet. Dans la liste déroulante présentée sur la Fig. 4, sélectionnez le microcontrôleur STM32F407VG.
Étape 2. Comme le montre la fig. 5, sélectionnez les composants qui seront utilisés dans le projet. Les principaux sont GPIO (entrées-sorties), C Library (fonctions de base du langage C) et M4 Core (fonctions de base du processeur). Lorsque l'un ou l'autre composant est activé, CoIDE copie automatiquement les fichiers nécessaires dans le dossier du projet, ce qui est très pratique.
Étape 3. Saisie du texte du programme. Il est assez court et est présenté dans le tableau. 2. Comme vous pouvez le constater, tout est simple et évident. Ceux qui ont écrit des programmes pour les microcontrôleurs AVR verront sûrement des constructions familières - l'initialisation des ports indiquant la direction (entrée ou sortie), la boucle principale dans laquelle les actions nécessaires sont effectuées. En général, la syntaxe du programme est entièrement cohérente avec le langage C, dont la littérature est largement suffisante. Il existe également de nombreux articles sur la programmation pour STM32 sur Internet. De nombreux exemples sont fournis avec la carte de développement et peuvent également être utilisés comme échantillons. Après avoir saisi le texte du programme en appuyant sur le bouton à l'écran "Télécharger sur flash", il est chargé dans le microcontrôleur. Les LED de la carte commencent à clignoter. Séparément, il convient de noter les capacités de débogage - un point d'arrêt peut être défini n'importe où dans le programme, vous pouvez exécuter le programme étape par étape, en affichant les valeurs des variables. Bien entendu, cet exemple n’est pas parfait. Par exemple, pour contrôler le clignotement des LED, vous pouvez utiliser des interruptions de minuterie, ce qui libère la boucle principale du programme pour d'autres tâches. Ceux qui le souhaitent peuvent s’en occuper seuls. Conclusion En général, après la première connaissance, les microcontrôleurs de la famille STM32 ont laissé une impression très agréable. Tout s'est avéré pas si difficile, et la commodité de l'environnement de développement, le processus de débogage et un grand nombre de fonctions standard m'ont même rappelé d'une manière ou d'une autre la transition de Mme DOS à Windows - les points généraux semblent être les mêmes, mais tout est beaucoup plus pratique et fonctionnel. Mais le principal inconvénient de cette famille pour le développement amateur est encore un pas de conclusions trop petit. Concevoir et souder à la maison une carte avec un pas de plomb de 0,5 mm est une tâche très non triviale. Mais aux prix actuels, les cartes de débogage avec des microcontrôleurs déjà montés sont tout à fait accessibles à tous les radioamateurs. Vaut-il la peine de tout refaire en architecture STM et 32 bits ? Bien sûr que non. Il y a des tâches pour lesquelles ATtiny suffit. Mais, par exemple, pour analyser le spectre dans un récepteur SDR fait maison ou pour recevoir et transmettre de grandes quantités d'informations sur un réseau, il est bien plus efficace d'utiliser immédiatement un microcontrôleur puissant afin de ne pas rencontrer de manque de mémoire ou de performances. lors de l'amélioration de l'appareil. Auteur : D. Elyuseev Voir d'autres articles section Radio-amateur Technologies. Lire et écrire utile commentaires sur cet article. Dernières nouvelles de la science et de la technologie, nouvelle électronique : Cuir artificiel pour émulation tactile
15.04.2024 Litière pour chat Petgugu Global
15.04.2024 L’attractivité des hommes attentionnés
14.04.2024
Autres nouvelles intéressantes : ▪ Les microélectrodes aident à trouver le mot fait par une personne ▪ Un capteur de débris spatiaux sera installé sur l'ISS ▪ Capteur d'image Global Shutter CMOS avec plage dynamique étendue ▪ Les scientifiques comparent les sandwichs aux radiations ▪ Téléphone Nokia CDMA avec module GPS Fil d'actualité de la science et de la technologie, nouvelle électronique
Matériaux intéressants de la bibliothèque technique gratuite : ▪ section du site Sécurité au travail. Sélection d'articles ▪ article de Léonard de Vinci. Aphorismes célèbres ▪ Qu'est-ce que le curling ? Réponse détaillée ▪ Article Chef du service commercial. Description de l'emploi ▪ article Chauffez l'aiguille à tricoter. expérience physique
Laissez votre commentaire sur cet article : Toutes les langues de cette page Page principale | bibliothèque | Articles | Plan du site | Avis sur le site www.diagramme.com.ua |