Académique Documents
Professionnel Documents
Culture Documents
TP3 :
Timers - CAN-CNA
Objectifs pédagogiques :
Apprendre à manipuler la configuration d’un périphérique Timer,
Maitriser le fonctionnement des différents modes du CAN, DAC et du
Timer1.
Préalables :
Langage de programmation C, Architecture des microcontrôleurs.
Durée : 2 séances de 3H
ISTMT SEEEM1 1
Utilisation d’une interruption sur Timer
a) Ouvrir le projet CubeMx du TP2 avec les anciennes configurations (ADC1 en mode
conversion continue sans DMA) et la configuration d'horloge suivante.
b) Modifier votre configuration graphique sous CubeMx avec les configurations de la fig2
d) Générer de nouveau le code et identifier les prototypes des fonctions intervenants dans le
flot de contrôle du Timer1 en ce mode interruption.
ISTMT SEEEM1 2
Figure 3. Flot de contrôle du Timer en mode IT par la bibliothèque HAL.
ISTMT SEEEM1 3
d) Implémenter ce code, et observer le signal généré sur un oscilloscope.
e) Modifier votre programme pour réduire la période du signal à 1s.
f) Modifier de nouveau votre programme pour générer un signal triangulaire.
g) Conclure sur les limites de cette solution de conversion.
Figure 6
ISTMT SEEEM1 4
Utilisation du DMA pour la génération d’onde sinusoïdale
a) Désactiver "Wave Generation Mode" dans la fenêtre de configuration CubeMX du DAC,
et activer le DMA sur ce périphérique. Générer ensuite votre projet Keil.
b) Modifier votre programme en insérant les deux lignes qui suivent afin de lancer la
conversion cyclique à partir de la RAM à une cadence de 5Khz (Config du TIM6
précédente).
dataSin est la Look Up Table correspondante aux échantillons de l’onde sinus, elle est
définie comme suit :
c) Que sera la fréquence du signal généré dans ce cas. Généraliser sur le choix de la période
du Timer en fonction de la fréquence de la sortie et de sa résolution (le nombre
d’échantillons).
d) Implémenter ce code, et observer le signal généré sur un oscilloscope.
ISTMT SEEEM1 5
Figure 7
ISTMT SEEEM1 6
ISTMT SEEEM1 7