Cours:TPS 2103 tp ampliAudio : Différence entre versions
Ligne 2 : | Ligne 2 : | ||
[[Cours:TPS_2103_tp_ampliAudio_Corrige|{{Vert|<big>'''Éléments de correction'''</big>}}]] | [[Cours:TPS_2103_tp_ampliAudio_Corrige|{{Vert|<big>'''Éléments de correction'''</big>}}]] | ||
+ | |||
+ | |||
+ | =PWM du TIMER4 d'un atmega32u4= | ||
+ | |||
+ | ==Configuration de la PLL de l'atmega32u4== | ||
+ | |||
+ | La gestion de l'horloge de l'atmega32u4 est plus complexe que les µcontroleurs que nous utilisons habituellement. | ||
+ | |||
+ | La fréquence d'horloge du CPU est ici de 16MHz. | ||
+ | |||
+ | Cependant, il existe dans le µcontrôleur différentes horloges dont les fréquences sont gérées par un module PLL. | ||
+ | |||
+ | Ceci est documenté dans les pages 27 à 42 de la datasheet officielle. | ||
+ | |||
+ | Nous ne nous intéresserons pas à cette partie, on utilisera juste le code suivant qui permettra d'avoir une fréquence de {{Rouge|64MHz}} pour l'horloge du Timer4. | ||
+ | |||
+ | <source lang=c> | ||
+ | PLLCSR |= (1<<PLLE)|(1<<PINDIV); | ||
+ | PLLFRQ =0; | ||
+ | PLLFRQ |= (1<<PDIV3)|(1<<PDIV1)|(1<<PLLTM1); | ||
+ | </source> | ||
+ | |||
+ | ==Mode PWM Timer4== | ||
+ | |||
+ | On va utiliser la sortie OC4A sur la broche PC7. Cela correspond dans la numérotation arduino à la broche n°13 de la carte. | ||
+ | |||
+ | Il est à noter qu'une led est déjà connectée sur cette broche : c'est une led orange sérigraphiée L sur la carte arduino Leonardo. | ||
+ | |||
Ligne 11 : | Ligne 39 : | ||
touches multiplexées ? | touches multiplexées ? | ||
+ | uart ? | ||
+ | mcp23008 i2c ? | ||
=Sortie= | =Sortie= | ||
MLI timer 10 bits (ou 8), ftimer par pll 64MHz | MLI timer 10 bits (ou 8), ftimer par pll 64MHz |
Version du 11 mars 2019 à 13:10
Sommaire
PWM du TIMER4 d'un atmega32u4
Configuration de la PLL de l'atmega32u4
La gestion de l'horloge de l'atmega32u4 est plus complexe que les µcontroleurs que nous utilisons habituellement.
La fréquence d'horloge du CPU est ici de 16MHz.
Cependant, il existe dans le µcontrôleur différentes horloges dont les fréquences sont gérées par un module PLL.
Ceci est documenté dans les pages 27 à 42 de la datasheet officielle.
Nous ne nous intéresserons pas à cette partie, on utilisera juste le code suivant qui permettra d'avoir une fréquence de 64MHz pour l'horloge du Timer4.
PLLCSR |= (1<<PLLE)|(1<<PINDIV);
PLLFRQ =0;
PLLFRQ |= (1<<PDIV3)|(1<<PDIV1)|(1<<PLLTM1);
Mode PWM Timer4
On va utiliser la sortie OC4A sur la broche PC7. Cela correspond dans la numérotation arduino à la broche n°13 de la carte.
Il est à noter qu'une led est déjà connectée sur cette broche : c'est une led orange sérigraphiée L sur la carte arduino Leonardo.
Arduino Leonardo
Entrées
touches multiplexées ? uart ? mcp23008 i2c ?
Sortie
MLI timer 10 bits (ou 8), ftimer par pll 64MHz