Académique Documents
Professionnel Documents
Culture Documents
1
Plan
1.Introduction aux microcontrôleurs.
2.Le monde des applications basées sur un microcontrôleur.
3.Familles de microcontrôleurs .
4.Les Outils de développement.
5.Création d’un nouveau projet.
6.Configuration du projet.
2
Introduction aux microcontrôleurs 1.1 Qu'est-ce qu'un microcontrôleur ? (1/2)
Bus de communication
= + +
Mémoire microprocesseur périphériques d'entrée
Un microcontrôleur sortie
4
Introduction aux microcontrôleurs 1.2 Caractéristique d’un microcontrôleur
• Faible consommation
• Bas coûts
• Dimension réduite
• Mémoire de taille limitée
• Faible vitesse de fonctionnement.
5
Introduction aux microcontrôleurs 1.3 Fonctionnement d’un microcontrôleur
6
Introduction aux microcontrôleurs 1.5 Programmation de microcontrôleur
7
Microcontrôleur
2. Le monde des applications basées sur un
microcontrôleur 2.1 Domaine d’automobile
• Calcule de vitesse
• Mesure de température
NAO ROBOT KUKA robot: robots utiliser pour l’assemblage des voitures
9
2. Le monde des applications basées sur un
microcontrôleur 2.3 DOMOTIQUE
• Régulation automatique de
température
11
3. Familles de microcontrôleurs 3.1 exemples des familles
12
3. Familles de microcontrôleurs 3.2 La famille stm32
13
3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg
14
3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg
Fabricant STMicroelectronics
Largeur du bus de données 32 bit
Fréquence de l'horloge max 168 MHZ
Taille de la mémoire du programme 1 MB
Taille de la RAM de données 192 KB
Cœur ARM Cortex M4
Tension d'alimentation de 1.8 V to 3.6 V
fonctionnement
Température de fonctionnement max + 85 C
Type de Ram de données SRAM
Type d'interface CAN, I2C, I2S, SPI, UART
Température de fonctionnement min - 40 C
Nombre d'E/S 82 I/O
Type de la mémoire programme Flash
15
3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg
STM32f407VGt6
STM32F407vgt6 pinout
16
3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg
Flash I/F
512kB- 1MB Camera Interface
168 MHz
18
3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg
EXTI 0
DMA
UART
SPI Cœur du
I2C processeur
I2S cortex M4
TIM
USB EXTI 15
DAC
NVIC:
EXTI: Nested
EXTernal Vectored
Interrupt Interrupt
Controller
3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg
Périphérique de communication:
CORTEX-M4 AHB2 (max 168MHz)
CPU + FPU +
MPU
168 MHz
Flash I/F
512kB- 1MB
D-bus
Flash Memory Encryption**
AHB1 PLL
device Clock Control (max 168MHz)
– 10/100 Ethernet MAC 5x 16-bit Timer
RTC / AWU
programmateur st link v2
STM32f4-discovery 21
3. Familles de microcontrôleurs 3.2 La famille stm32f4 La carte STM32F4-discovery
• Matériel de base:
• PC Windows (XP, vista,7 ,8, 10)
• câble USB type A to Mini-B
• matériel supplémentaire:
• câble USB type A to Micro-B
• Casque avec connecteur jack mâle
23
4. Les Outils de développement 4.2 Environnement logiciel 4.2.1 Vue d’ensemble
Compilation
Workspace
window file Débogage
window
Breakpoint
build window
Code bien
compilé
25
5. Création
4. Structured’un
de projet
nouveau projet 4.3 structure de projet(1/4)
26
4. Création d’un nouveau projet 4.3 structure de projet(2/4)
STM32f4-discovery:
Contient les fichiers driver de périphérique externe au microcontrôleur
stm32f407vg:
• Stm32f4_discover.c :
contient les fonctions driver de manipulation des LED et des buttons
• stm32f4_discovery_audio_codec.c:
contient les fonctions driver de manipulation du codeur audio
• stm32f4_discovery_lis302dl.c:
contient les fonctions driver de manipulation de l’accéléromètre
27
4. Création d’un nouveau projet 4.3 structure de projet(3/4)
STM32f4xx_stdPeriph_Driver:
Contient les fichiers driver des périphériques internes au microcontrôleur
stm32f407vg
28
4. Création d’un nouveau projet 4.3 structure de projet(4/4)
User:
Contient les fichiers de l’application
• Main.c: contient le code de l’application
• Stm32f4xx_it.c: contient le code a exécuté lors d’une interruption.
• System_stm32f4xx.c: contient deux fonctions:
• SystemInit(): initialisation du l’horloge de système.
• SystemCoreClockUpdate():mise à jour de fréquence d’horloge de
microcontrôleur.
29
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
30
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
31
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
32
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
33
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
Dossier 1: STM32f4-discovery
34
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
Dossier 2: useful_stm32f4
35
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\ST\STM32F4xx\Source\Templates\iar
Fichiers a jouter
STM32F4-Discovery_FW_V1.1.0\Utilities\STM32F4-Discovery
37
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
38
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
useful_files_STM32F4\
40
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
CMSIS:
Cortex
Microcontroleur
Software
Interface
4. STM32F4-Discovery_FW_V1.1.0\Libraries\STM32F4xx_StdPeriph_Driver\inc
contient les bibliothèques des périphériques de µC STM32F407vg
5. STM32F4-Discovery_FW_V1.1.0\Utilities\STM32F4-Discovery
contient les bibliothèques des périphériques de la carte stm32f4-discovery.
• USE_STDPERIPH_DRIVER:
définir ce symbole pour facilité la manipulation des
périphériques.
• STM32F4xx:
définir ce symbole pour facilité la manipulation des
registre du processeur via des fonctions prés
42
préparer par ST.
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
44
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
45
Partie pratique
Résistances
Afficheur LCD 16*4
Afficheur 7 segments
46