Cours:TPS 2103 tp ampliAudio : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
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

Retour à la liste des Tps

Éléments de correction


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