Parutions - Les micro contrôleurs

STM32 F1 Présentation

| | Les micro contrôleurs | 2030
STM32 F1 Présentation
LOGO_stm32

La carte "STM32 F1" est basé sur le noyau ARM Cortex-M. Celle qui fait l'objet de cet article est la STM32F103 équipée d'un cœur ARM Cortex-M3 à une fréquence d'horloge de 72 MHz.

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

La carte STM 32

Cette carte est 12 fois plus rapide qu'un Arduino basé sur le contrôleur "Atmega 328" ! Elle est aussi plus rapide que les cartes type "DUO" avec MCU ARM…

Nous allons voir dans cet article comment utiliser la carte STM32 avec l'IDE Arduino.

Matériel nécessaire

  • 1 carte STM32.
  • 1 module "USB to SERIAL", FT232RL.

La carte STM32

Carte ARM type STM32
Carte ARM type STM32

Le module FT232RL

Interface serial - USB - FT232
Interface serial - USB - FT232

Câblage de la carte et du module

On met en place les liaisons suivantes entre la carte STM32 et le module FT232RL :

  • Vcc du module FT232RL à la broche 5V du STM32.
  • GND du module FT232RL à la broche à G du STM32.
  • La broche RXD du module FT232RL à la broche A9 du STM32.
  • La broche TXD du module FT232RL à la broche A10 du STM32.

On place le cavalier "Boot0" en position un, puis on presse le bouton RESET, c'est parti!

Préparation de l'IDE Arduino

Dans "Fichiers/Préférences" de l'IDE, on colle l'adresse suivante dans le champ "URL gestionnaire de cartes supplémentaires" :

  • http://dan.drown.org/stm32duino/package_STM32duino_index.json
  • Dans "Outils/Type de cartes/Gestionnaire de cartes" on recherche la carte stm32f1, puis on la sélectionne et on clique sur "Installer".
  • On patiente pour l'installation…
  • Puis toujours dans "Outils/Type de cartes/Gestionnaire de cartes" on choisit la carte : Generic STM32F103C series.
  • Dans "Outils/Upload method : STM32duino bootloader", on sélectionne "Serial", puis dans "Outils/Port", on sélectionne le bon port.
  • On clique sur le bouton "Téléverser", la carte doit être reconnue et donc connectée.
  • On choisit  l'exemple suivant : "Fichiers/Exemples/01.Basics/Blink", et on remplace les 3 occurrences de "LED_BUILTIN" par "PC13" (Nom de la led verte sur la carte), puis on presse  le bouton "Téléverser".

Le programme doit maintenant être celui-ci :


Code ARDUINO :
void setup() {
    // initialize digital pin LED_BUILTIN as an output.
    pinMode(PC13, OUTPUT);
}
         
    // The loop function runs over and over again forever
    void loop() {
        digitalWrite(PC13, HIGH);   // turn the LED on 
        delay(1000);                // wait for a second
        digitalWrite(PC13, LOW);    // turn the LED off
        delay(1000);                // wait for a second
    }
 

On attend quelques secondes, la led de la carte STM32 doit clignoter.

Maintenant qu'il est programmé, on peut remettre le cavalier "Boot0" en position zéro et brancher l'USB directement sur la carte STM32.

Les caractéristiques de la carte STM32

La carte STM32 est 12 fois plus rapide qu'un Arduino basé sur le contrôleur "Atmega 328" ! Elle est aussi plus rapide que les cartes type "DUO" avec MCU ARM…

Pour visualiser la chose => https://www.youtube.com/watch?v=5mDnKBNl9sY

Les spécifications

  • Modèle : STM32F103C8T6
  • CPU ARM 32 Cortex-M3.
  • Fréquence de travail : 72 MHz.
  • Mémoire flash : 64 KB ou 128 KB.
  • SRAM : 20 KB.
  • Bouton Reset.
  • Led verte sur la broche PC13
  • Horloge temps réel : 32 kHz.
  • Connecteur µ USB.
  • Dimensions : 5,3 x 2 cm.

Aparté sur la mémoire flash

Le microcontrôleur F103C8 ST est déclaré posséder 64 Ko de mémoire flash. Mais à priori tous les contrôleurs C8 seraient en possession de 128 ko de mémoire flash… A tester tout de même.

Le noyau STM32duino a deux paramètres différents, un pour 64 Ko et un autre pour 128 Ko. A vérifier au démarrage grâce aux informations données par le "bootloader" :

  • Using Parser : Raw BINARY
  • Interface serial_w32 : 57600 8E1
  • Version : 0x22
  • Option 1 : 0x00
  • Option 2 : 0x00
  • Device ID : 0x0410 (Medium-density)
  • RAM : 20 KiB (512b reserved by bootloader)
  • Flash : 128 KiB (sector size: 4×1024)
  • Option RAM : 16 b
  • System RAM : 2 KiB

Le brochage de la carte STM32

Brochage de la carte STM32
Brochage de la carte STM32