Table des matières:
- Étape 1: Plaques avec Core Arduino
- Étape 2: DÉCOUVERTE STM32F746G
- Étape 3: Arduino Due X STM NUCLEO-L476RG
- Étape 4: Drystone
- Étape 5: STM32L432KC X Arduino Nano
- Étape 6: STM32L432KC
- Étape 7: Installez Core Arduino pour les cartes STM32L4
- Étape 8: Installez ST-Link - Programme qui enregistre
- Étape 9: Adresse Json
- Étape 10: Tableaux: Gestionnaire de tableau
- Étape 11: Bibliothèques: Gestionnaire de bibliothèque
- Étape 12: Télécharger le PDF
Vidéo: L'incroyable STM32 L4 ! : 12 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Je veux commencer cet article en expliquant que cette lettre L (du L4) signifie Low (ou, fondamentalement, Ultra Low Power). Ainsi, il dépense peu d'énergie et montre pourquoi ce STM32 est incroyable ! Il dépense des microampères et possède un système à l'intérieur qui peut identifier les dépenses de chaque partie de la puce. Cela permet une gestion très efficace de l'énergie, et avec des performances élevées.
J'ai déjà parlé de ce microcontrôleur dans la vidéo « La façon la plus simple de programmer un microcontrôleur ! » Dans la vidéo, j'ai montré comment programmer le STM32 L4 avec MBED. Mais en recherchant plus à ce sujet, j'ai découvert quelque chose que le fabricant STMicroelectronics ne divulgue pas. Il a implémenté le Core Arduino dans la puce, ce qui permet la programmation via l'IDE Arduino.
Dans cette image, nous avons deux versions de L4. Le STM32L432KC est identique à l'Arduino Nano et au STM32L476RG, qui ont des E/S équivalentes à l'Arduino Uno. Ainsi, tout en travaillant avec deux versions de ce puissant microcontrôleur, je vais vous montrer comment installer l'Arduino Core dans la famille STM32. Aussi, j'expliquerai les principales caractéristiques des kits STM32.
Étape 1: Plaques avec Core Arduino
J'ai placé ici une liste sur la diversité. Cependant, nous allons travailler avec le STM32L432KC et le STM32L476RG.
STM32F0
- Nucléo F030R8
- Nucléo F091RC
- 32F0308DÉCOUVERTE
STM32F1
- BluePill F103C8 (Prise en charge de base, pas d'USB)
- MapleMini F103CB (prise en charge de base, pas d'USB)
- Nucléo F103RB
- DÉCOUVERTE STM32VLD
STM32F2
Nucléo F207ZG
STM32F3
- Nucléo F302R8
- Nucléo F303K8
- Nucléo F303RE
STM32F4
- Nucléo F401RE
- Nucléo F411RE
- Nucléo F429ZI
- Nucléo F446RE
- STM32F407G-DISQUE1
STM32F7
STM32F746G-DÉCOUVERTE
STM32L0
- Nucléo L031K6
- Nucléo L053R8
- B-L072Z-LRWAN1
STM32L1
Nucléo L152RE
STM32L4
- Nucléo L432KC
- Nucléo L476RG
- NUCLEO-L496ZG-P
- NUCLEO-L496ZG-P
- B-L475E-IOT01A
Étape 2: DÉCOUVERTE STM32F746G
Juste pour illustrer, je montre les détails d'un STM32F746G DISCOVERY, que je considère comme une bête. J'ai déjà commandé cette puce, et j'espère en parler bientôt.
Caractéristiques:
Microcontrôleur STM32F746NGH6 avec 1 Mo de mémoire Flash et 340 Ko de RAM dans un boîtier BGA216
- ST-LINK / V2-1 intégré prenant en charge les capacités de réénumération USB
- Compatible Mbed (mbed.org)
- Fonctions USB: port COM virtuel, stockage de masse et port de débogage
- LCD-TFT 4,3 pouces 480x272 couleur avec écran tactile capacitif
- Connecteur caméra
- Codec audio SAI
- Prise d'entrée et de sortie de ligne audio
- Sorties haut-parleur stéréo
- Deux microphones ST MEMS
- Connecteur d'entrée RCA SPDIF
- Deux boutons poussoirs (utilisateur et reset)
- Mémoire Flash Quad-SPI de 128 Mbits
- SDRAM 128 Mbits (64 Mbits accessibles)
- Connecteur pour carte microSD
- Connecteur carte fille RF-EEPROM
- USB OTG HS avec connecteurs Micro-AB
- USB OTG FS avec connecteurs Micro-AB
- Connecteur Ethernet conforme à IEEE-802.3-2002
- Cinq options d'alimentation:
- ST LINK / V2-1
- Connecteur USB FS
- Connecteur USB HS
- VIN du connecteur Arduino
- Externe 5 V du connecteur
Sortie d'alimentation pour applications externes:
- 3,3 V ou 5 V
Connecteurs Arduino Uno V3
Étape 3: Arduino Due X STM NUCLEO-L476RG
Voici une comparaison avec l'Arduino Due, qui est un ARM Cortex-M3. J'ai utilisé ce modèle dans des vidéos: Nema 23 Stepper Motor with Driver TB6600 avec Arduino Due, et SpeedTest: Arduinos - ESP32/8266s - STM32, avec STM NUCLEO-L476RG, qui est un ARM Cortex-M4 Ultra Low Power, et est en l'image sur le côté droit.
Arduino en raison:
Microcontrôleur: AT91SAM3X8E
Tension de fonctionnement: 3,3 V
Tension d'entrée (recommandée): 7-12 V
Tension d'entrée (limites): 6-16 V
Broches d'E/S numériques: 54 (dont 12 fournissent une sortie PWM)
Broches d'entrée analogique: 12
Broches de sortie analogique: 2 (DAC)
Courant de sortie CC total sur toutes les lignes d'E/S: 130 mA
Courant CC pour broche 3,3 V: 800 mA
Courant CC pour broche 5V: 800 mA
Mémoire Flash: 512 Ko tous disponibles pour les applications utilisateur
SRAM: 96 Ko (deux banques: 64 Ko et 32 Ko)
Vitesse d'horloge: 84 MHz
Longueur: 101,52 mm
Largeur: 53,3 mm
Poids: 36g
STM NUCLEO-L476RG:
STM32L476RGT6 dans le boîtier LQFP64
Processeur ARM® 32 bits Cortex®-M4
Accélérateur adaptatif en temps réel
(ART Accelerator ™) permettant l'exécution de l'état d'attente 0 à partir de la mémoire Flash
Fréquence CPU maximale de 80 MHz
VDD de 1,71 V à 3,6 V
Flash de 1 Mo
128 Ko de mémoire SRAM
SPI (3)
I2C (3)
USART (3)
UART (2)
LPUART (1)
GPIO (51) avec capacité d'interruption externe
Détection capacitive avec 12 canaux
CAN 12 bits (3) avec 16 canaux
DAC 12 bits avec 2 canaux
FPU ou unité à virgule flottante
* Je souligne ici ces FPU séparés de STM NUCLEO-L476RG, ce qui signifie que la puce effectue des calculs trigonométriques à une vitesse incroyable. Ceci est différent de l'Arduino Due, qui a besoin d'un processeur génétique pour le faire.
Étape 4: Drystone
Dhrystone est un programme de référence informatique synthétique développé en 1984 par Reinhold P. Weicker, qui se veut représentatif de la programmation système (entière). Dhrystone est devenu un représentant des performances globales du processeur (CPU). Le nom "Dhrystone" est un jeu de mots sur un algorithme de référence différent appelé Whetstone. Il s'agit d'une mesure tirée de certaines opérations génériques.
Ce programme est là pour compiler quelque chose à l'intérieur de ces microcontrôleurs en Arduino. Et le résultat de deux tests que j'ai fait, un avec Dhrystone et un autre de la vidéo SpeedTest, sont les suivants:
Arduino à payer: 37,00 USD
Dhrystone Benchmark, Version 2.1 (Langue: C)
L'exécution commence, 300 000 passages à travers Dhrystone
L'exécution se termine
Microsecondes pour un passage sur Dhrystone: 10,70
Dhrystones par seconde: 93 431.43
Note VAX MIPS = 53,18 DMIPS
Test de fonctionnement Fernandok
Temps total: 2 458 ms
- N'a pas de FPU
- Logiciel Dhrystone sur Arduino
www.saanlima.com/download/dhry21a.zip
STM NUCLEO-L476RG: 23,00 $ US
Dhrystone Benchmark, Version 2.1 (Langue: C)
L'exécution commence, 300 000 passages à travers Dhrystone
L'exécution se termine
Microsecondes pour un passage sur Dhrystone: 9,63
Dhrystones par seconde: 103 794,59
Note VAX MIPS = 59,07 DMIPS
Test de fonctionnement Fernandok
Temps total: 869 ms 2,8x PLUS RAPIDE
- PI jusqu'à 40Mbit/s, USART 10Mbit/s
- 2x DMA (14 canaux)
- Jusqu'à 80 MHz / 100 DMIPS avec ART Accelerator
Étape 5: STM32L432KC X Arduino Nano
La carte de gauche est la STM32L432KC, dans laquelle STMicroelectronics a placé le même brochage Arduino Nano dans l'image de droite.
Étape 6: STM32L432KC
Arm® Cortex®-M4 à très faible consommation d'énergie 32 bits
MCU + FPU, 100DMIPS, jusqu'à 256 Ko de Flash, 64 Ko de SRAM, USB FS, analogique, audio
Jusqu'à 26 E/S plus rapides, plus tolérantes à 5V
- RTC avec calendrier HW, alarmes et étalonnage
- Jusqu'à 3 canaux de détection capacitifs
- 11x minuteries: contrôle moteur avancé 1x16 bits
1x 32 bits et 2x 16 bits à usage général, 2x 16 bits basiques, 2x temporisateurs 16 bits basse consommation (disponibles en mode Stop), 2x chiens de garde, temporisateur SysTick
Mémoire:
- Jusqu'à 256 Ko de Flash, protection contre la lecture de code propriétaire
- 64 Ko de SRAM dont 16 Ko avec contrôle de parité matérielle
- Interface mémoire Quad SPI
Périphériques analogiques riches (alimentation indépendante)
- 1x ADC 12 bits 5 Msps, jusqu'à 16 bits avec suréchantillonnage matériel, 200 μA / Msps
- 2 canaux de sortie DAC 12 bits, faible consommation d'énergie
- 1x amplificateur opérationnel avec PGA intégré
- 2x par rapport aux interfaces ultra basse consommation
- 1x UPS (interface audio série)
- 2x I2C FM+ (1 Mbit/s), SMBus/PMBus
- 3x USART (ISO 7816, LIN, IrDA, modem)
- 1x LPUART (Stop 2 réveil)
- 2x SPI (et 1x SPI Quad)
- CAN (2.0B actif)
- Maître de protocole monofil SWPMI I/F
- IRTIM (interface infrarouge)
- Contrôleur DMA 14 canaux
- Générateur de nombres aléatoires
Étape 7: Installez Core Arduino pour les cartes STM32L4
- Installez le programme ST-Link qui enregistre
- Adresse Json
- Tableaux: Gestionnaire de cartes
- Bibliothèques: Gestionnaire de bibliothèque
Étape 8: Installez ST-Link - Programme qui enregistre
Téléchargez le fichier sur https://www.st.com/en/development-tools/stsw-link0…. Il vous suffit de vous inscrire, de télécharger et d'installer l'appareil.
Étape 9: Adresse Json
Sur les propriétés, incluez l'adresse suivante:
github.com/stm32duino/BoardManagerFiles/ra…
Étape 10: Tableaux: Gestionnaire de tableau
Dans le gestionnaire de carte Arduino, installez le noyau STM32, qui fait environ 40 Mo.
Étape 11: Bibliothèques: Gestionnaire de bibliothèque
Enfin, installez les bibliothèques.
J'ai personnellement aimé le groupe STM32duino.com, qui a plusieurs exemples, dont certains que j'ai installés. J'ai également téléchargé un FreeRTOS, que j'ai beaucoup aimé. Je l'ai trouvé rapide et fiable. J'ai également installé (mais pas encore testé) LRWAN. Je vous dirai bientôt si c'est bon ou pas.
Étape 12: Télécharger le PDF
Conseillé:
Convertisseur Boost basé sur Esp8266 avec une incroyable interface utilisateur Blynk avec régulateur de rétroaction : 6 étapes
Convertisseur Boost basé sur Esp8266 avec une incroyable interface utilisateur Blynk avec régulateur de rétroaction : dans ce projet, je vais vous montrer un moyen efficace et courant d'augmenter les tensions CC. Je vais vous montrer à quel point il peut être facile de construire un convertisseur boost à l'aide d'un Nodemcu. Construisons-le. Il comprend également un voltmètre à l'écran et un retour
INCROYABLE lampe LED d'extérieur à énergie solaire: 9 étapes
INCROYABLE lampe à LED d'extérieur à énergie solaire : Bonjour ! Dans ce Instructable, vous pouvez apprendre à construire une lampe LED à énergie solaire bon marché et facile ! Il charge une batterie pendant la journée et allume une LED COB très lumineuse la nuit ! Suivez simplement les étapes ! Tu peux le faire! C'est vraiment facile et amusant!Ce des
Effet incroyable de bande LED : 4 étapes
Effet étonnant de bande LED : Salut ami, nous voulons de bons effets de bande LED. Décorez la bande LED dans notre pièce et quand elle donne des effets, la pièce a l'air incroyable. Si votre bande LED brille simplement, alors ce blog est très spécial pour vous car dans ce blog vous apprendrez comment pouvons-nous faire
Comment faire un producteur de son incroyable à l'aide du LM555 IC : 10 étapes
Comment faire un producteur de son incroyable en utilisant LM555 IC: Ami Hii, aujourd'hui, je vais créer un circuit de générateur de son incroyable en utilisant LM555 IC. Ce circuit génère un son comme un scooter, un tir de balle, un sifflet
Comment faire un épouvantail VACHE ROBOT INCROYABLE : 16 étapes (avec photos)
Comment faire un épouvantail de vache robot incroyable : j'ai récemment créé Moo-Bot, un épouvantail de vache robot sautant par-dessus la lune, pour un concours d'épouvantails local. .."Le projet était très amusant à travailler avec mon