Syst mes embarqu s avec les microcontr leurs STM32
C. HEMDANI
Support de cours N 2 :
La carte STM32F4-Discovery
1 Introduction
La carte STM32F4Discovery permet aux utilisateurs de d velopper facilement des applications
avec un microcontr leur haute performance STM32F4 muni dun processeur ARM Cortex-M4 32
bits. Elle inclut tout ce qui est n cessaire pour les d butants ou pour les utilisateurs exp riment s
pour commencer rapidement effectuer des d veloppements.
Peu co teuse et facile utiliser, la carte STM32F4Discovery aide d couvrir les fonctionnalit s
haute performance du microcontr leur STM32F4 et d velopper facilement des applications.
Pour plus dinformations sur le STM32F4Discovery et le logiciel de d monstration, il est forte-
ment recommand de visiter la page qui lui est consacr e [2].
Notons aussi que pour la programmation de la carte STM32F4Discovery, on dispose dune
biblioth que logicielle compl te (STM32Cube HAL) ainsi que de nombreux exemples dapplications.
2 Caract ristiques de la carte STM32F4Discovery
La carte STM32F4Discovery offre les caract ristiques suivantes :
Un microcontr leur STM32F407VGT6 avec processeur ARM Cortex-M4 32 bits dot de :
une m moire Flash de 1 Mo,
une m moire vive de 192 Ko,
une FPU,
Un ST-LINK/V2 int gr .
Alimentation de la carte :
par bus USB,
par alimentation externe : 3 V ou 5 V.
Un acc l rom tre 3 axes ST MEMS LIS3DSH,
Un capteur audio (microphone) digital omnidirectionnel ST MEMS MP45DT02.
Un DAC audio avec haut-parleur de classe D int gr .
Huit LEDs :
LD1 (rouge/vert) pour la communication USB,
LD2 (rouge) pour la mise sous tension 3.3 V,
Quatre LEDs Utilisateur : LD3 (orange), LD4 (vert), LD5 (rouge) et LD6 (bleu),
2 LEDs USB OTG (USB On-The-Go) :
LD7 (vert) VBUS,
LD8 (rouge) surintensit .
Deux boutons-poussoirs (utilisateur et r initialisation).
Interface USB OTG avec connecteur micro-AB.
En-t tes dextension pour les E/S pour une connexion rapide la carte.
Logiciel gratuit, complet et comprenant une vari t dexemples, constituant le package lo-
giciel STM32CubeF4. Pour plus dinformations et le t l chargement du logiciel, consulter la
page [3].
Remarque 1
La carte STM32F4Discovery est d sormais commercialis e sous le code STM32F407G-DISC1. Il
sagit essentiellement de la m me carte lexception que le ST-LINK/V2 de la STM32F4Discovery
Advertisement
est remplac par un ST-LINK/V2-1 plus r cent et rendant la carte STM32F407G-DISC1 compatible
avec lenvironnement Mbed de d veloppement en ligne.
1
(cid:50)
FIGURE 1 Illustration des diff rents composants de la carte STM32F4Discovery.
3 D marrage rapide
Pour un d marrage rapide, suivre la s quence ci-dessous permettant de congurer la carte
STM32F4Discovery et lancer lapplication de d monstration STM32F4-DISCO (ash e par le construc-
teur la fabrication) :
1. V rier que les deux cavaliers (ou jumpers) JP1 (Idd sur la carte) et CN3 (voir gure 1) sont
mont s.
2. En utilisant un c ble USB de type A mini-B , alimenter la carte STM32F4Discovery en la
connectant un PC laide du connecteur USB CN1. La LED rouge LD2 sallume.
3. Les quatre LEDs plac es entre les boutons B1 et B2 clignotent.
4. Appuyer sur le bouton utilisateur B1 pour activer le capteur le capteur de mouvement (un
acc l rom tre 3 axes) ; bouger la carte et noter que les clignotements suivent la direction
et la vitesse du mouvement.
Si on connecte un deuxi me c ble USB de type A micro-B entre le PC et le connecteur
CN5 (lautre port USB), la carte est reconnue comme une souris standard et son mouvement
contr lera galement le curseur du PC.
Remarque 2
Le code source de lapplication de d monstration STM32F4-DISCO est fourni tant que projet
dans le package logiciel STM32F4Cube qui sera pr sent dans les prochains chapitres.
2
(cid:50)
4 Cha nes doutils de d veloppement support es
Les C STM32 supportent plusieurs environnements de d veloppement dont les plus r pondus
sont :
IAR EWARM (IAR Embedded Workbench),
Keil MDK-ARM,
Les IDEs bas s sur Eclipse et GCC (free AC6 : SW4STM32, Atollic TrueSTUDIO),
Lenvironnement de d veloppement en ligne Mbed.
Nous ne dirons pas plus propos de lenvironnement de d veloppement puisque le prochain
support de cours lui est compl tement consacr .
5 Mat riel et disposition
La carte STM32F4Discovery est con ue autour du microcontr leur STM32F407VGT6 dans un
bo tier (package) LQFP 100 broches.
La gure 2 illustre les connexions entre le STM32F407VGT6 et les p riph riques (ST-LINK/V2,
boutons poussoirs, LEDs, Audio DAC, USB, acc l rom tre ST MEMS, microphone ST MEMS et
connecteurs).
FIGURE 2 Diagramme de bloc de la carte STM32F4Discovery.
3
5.1 Le ST-LINK/V2 embarqu
Le ST-LINK/V2 [4] est int gr la carte STM32F4Discovery comme outil de programmation et
Advertisement
de d bogage. Le ST-LINK/V2 int gr ne prend en charge que les SWD (Serial Wire Debug) pour les
p riph riques STM32.
Il existe deux fa ons diff rentes dutiliser le ST-LINK/V2 (ou V2-1) int gr en fonction des tats
des cavaliers du connecteur CN3 (voir table 1) :
programmer/d boguer le STM32 qui quipe la carte STM32F4Discovery elle m me,
programmer/d boguer un STM32 sur une carte de d veloppement externe, en utilisant un
c ble connect au connecteur SWD (CN2).
tat des cavaliers
Les deux cavaliers CN3 sont
mont s
Les deux cavaliers CN3 sont
enlev s
Description
Les fonctions ST-LINK/V2 sont activ es pour la
programmation du STM32 bord (par d faut)
Les fonctions ST-LINK/V2 sont activ es pour une
application via un connecteur CN2 externe (sup-
port par SWD)
TABLE 1 tats des cavaliers CN3.
Le ST-LINK/V2 int gre un m canisme de mise jour de son rmware via le port USB. Comme
le rmware peut voluer pendant la dur e de vie du produit ST-LINK/V2 (par exemple de nouvelles
fonctionnalit s, des corrections de bogues, le support de nouvelles familles de microcontr leurs),
il est recommand de le mettre jour avant de commencer utiliser la carte Discovery et p riodi-
quement, avec sa derni re version [5].
5.2 Utilisation de ST-LINK/V2 pour programmer/d boguer le STM32F4
bord
Pour programmer le STM32F4 bord, il suft de brancher les deux cavaliers sur le CN3, comme
indiqu sur la gure 3, mais nutilisez pas le connecteur CN2 car cela pourrait perturber la com-
munication avec le STM32F407VGT6 du STM32F4DISCOVERY.
FIGURE 3 Connections du STM32F4Discovery.
5.3 Utilisation de ST-LINK/V2 (ou V2-1) pour programmer/d boguer une ap-
plication STM32 externe
Il est tr s facile dutiliser le ST-LINK/V2 pour programmer le STM32 sur une carte de d velop-
pement externe. Il suft de retirer les deux cavaliers du connecteur CN3 et de connecter la carte
4
externe au connecteur de d bogage CN2 conform ment au Tableau 4.
Broche CN2
D signation
1
2
3
4
5
6
Advertisement
VDD_TARGET VDD de la carte externe
SWCLK
GND
SWDIO
NRST
SWO
Horloge SWD
Masse
E/S des donn es SWD
RESET de la STM32 externe
R serv
TABLE 2 Le connecteur de d bogage CN2.
Remarque 3
Le pont de soudure (Solder Bridge) SB11 ( lautre face de la carte) doit tre ouvert si la broche 5
(cid:3)
du connecteur CN2 est utilis e dans la carte externe.
5.4 Alimentation et s lection de lalimentation
Lalimentation est fournie soit par le PC h te via le c ble USB, soit par une alimentation externe
de 5V.
Les diodes D1 et D2 prot gent les broches 5V et 3V des alimentations externes :
Les broches 5V et 3V peuvent tre utilis s comme alimentations de sortie lorsquune autre
carte est connect e aux broches P1 et P2.
Dans ce cas, les broches 5V et 3V fournissent une alimentation 5V ou 3V et le courant
lectrique doit tre inf rieure 100 mA.
5V peut galement tre utilis comme alimentation dentr e. Cest par exemple le cas lorsque
le connecteur USB nest pas connect au PC.
5.5 Les LEDs
LD1 (COM) : l tat par d faut de la LD1 est rouge. LD1 passe au vert pour indiquer que des
communications sont en cours entre le PC et le ST-LINK/V2.
LD2 (PWR) : la LED rouge indique que la carte est aliment e.
LD3 : la LED orange est une LED Utilisateur connect e la broche dE/S PD13 du C.
LD4 : la LED verte est une LED Utilisateur connect e PD12.
LD5 : la LED rouge est une LED Utilisateur connect e PD14.
LD6 : la LED bleue est une LED Utilisateur connect e PD15.
LD7 : la LED verte indique que le VBUS est pr sent sur le CN5 et est connect e PA9.
LD8 : la LED rouge indique une surintensit du VBUS du CN5 et est connect e PD5.
5.6 Boutons poussoirs
B1 User : Ce bouton Utilisateur et de R veil (Wake-up) est connect la broche dE/S PA0 du
STM32F407VGT6.
B2 Reset : Le bouton-poussoir reli la broche NRST sert r initialiser le STM32F407VGT6.
5.7 Capacit audio embarqu e
Le C STM32F407VGT6 utilise un DAC audio (CIRRUS CS43L22) pour mettre des sons via le
connecteur mini-jack audio. Le C commande le DAC audio via linterface I2C et traite les signaux
num riques via une connexion I2S ou un signal dentr e analogique.
Advertisement
Le son peut venir ind pendamment des diff rentes entr es :
le microphone ST MEMS (MP45DT02),
le connecteur USB : partir dun support de stockage de masse externe tel quune cl USB,
un disque dur USB, ...
la m moire interne du C STM32F407VGT6.
5
5.8 LUSB OTG
Le connecteur USB micro-AB (CN5) permet lutilisateur de connecter un composant h te ou
p riph rique, comme une cl USB, une souris, etc.
Deux LED sont d di es ce module :
LD7 (LED verte) indique quand VBUS est actif,
LD8 (LED rouge) indique une surintensit engendr e par le p riph rique connect .
5.9 Capteur de mouvement (ST MEMS LIS3DSH)
Un capteur de mouvement comprend un l ment de d tection et une interface de circuit int gr
capable de fournir lacc l ration mesur e au monde ext rieur par les interfaces s rie I2C/SPI.
Le capteur de mouvement LIS3DSH (U5 sur la carte, entre les boutons User et Reset) est un
acc l rom tre lin aire trois axes ultra-compact faible consommation.
Le LIS3DSH a une chelle de 2g/ 4g/ 6g/ 8g/ 16g dynamiquement s lectionnable et il est
capable de mesurer lacc l ration avec un d bit de sortie de 3.125 Hz 1.6 kHz.
Le C STM32F407VGT6 commande ce capteur de mouvement via linterface SPI.
5.10 JP1 (Idd)
Le cavalier JP1 (Idd), permet de mesurer le courant traversant le STM32F407VGT6 en enlevant
le cavalier et en branchant un amp rem tre la place.
Cavalier mont : le STM32F407VGT6 est aliment (par d faut).
Cavalier retir : un amp rem tre doit tre connect pour mesurer le courant dans le C
STM32F407VGT6 (Sil ny a pas damp rem tre, le C nest pas aliment ).
R f rences
[1] Discovery kit with STM32F407VG MCU User Manual
www.st.com/resource/en/user_manual/dm00039084.pdf
[2] Page ofcielle d di e la carte STM32F4DISCOVERY
https://goo.gl/HbSdyq
[3] Page ofcielle d di e au package logiciel STM32CubeF4
http://www.st.com/en/embedded-software/stm32cubef4.html
[4] ST-LINK/V2 in-circuit debugger/programmer for STM8 and STM32 User Manual
https://goo.gl/2RBrGk
[5] ST-LINK/V2 in-circuit debugger/programmer for STM8 and STM32
http://www.st.com/en/development-tools/st-link-v2.html
[6] STM32F405xx and STM32F407xx datasheet
www.st.com/resource/en/datasheet/stm32f405og.pdf
[7] Mbed : un environnement pour le d veloppement en ligne de logiciels pour lembarqu
https://os.mbed.com
6