Vous êtes sur la page 1sur 1

IUT GEII Rouen NOM __________________ Prénom _____________ Groupe ________ DS I2 - 14 juin 2006

Durée : 1h30 Tous documents et calculatrices autorisés On choisit un facteur de division d = 8. A.N. : calculer NB_H et NB_L pour γ = 5%

Partie 1 : Génération de signal à rapport cyclique variable -3) (2 pts) Ecrire la définition de la fonction void calcul( int rapport ), qui devra calculer
On souhaite utiliser un processeur 9s12, cadencé à Fe=24MHz, dans un appareil de test de moteur à NB_H et NB_L en fonction de l'argument rapport (exprimé en %, entre 5 et 95)
courant continu. Celui-ci sera piloté en modulation de largeur d'impulsions (PWM : Pulse Width
Modulation) : il sera alimenté par un signal rectangulaire à f=2kHz dont on fera varier le rapport -4) (3 pts) Ecrire la définition de la routine d'interruption void isr_ECT_7(void)
cyclique. Ceci permet de faire varier la vitesse de rotation en minimisant les pertes.
-5) (1 pt) Avec le facteur de division choisi, combien de cycles faut-il attendre pour avoir un temps de
Le rapport cyclique est défini comme γ = TH / T, avec T = TH + TB, TH = Temps Haut, TB = Temps 10s.
Bas. Dans le programme, ces temps seront stockés dans 2 variables globales entières, NB_H, et NB_L,
sous forme de nombre de cycles du Timer. La valeur du rapport cyclique sera stockée dans une variable -6) Donner la fonction main(), qui va implémenter l'évolution temporelle du rapport cyclique : bien
entière rapport. distinguer initialisations (2 pts) et boucle infinie (4 pts)
Le signal rectangulaire sera généré sur la broche 7 du timer, en interruption, en utilisant le mode
"comparateur" (∆t<Tmax). La routine correspondante devra tester si on vient de générer un '1', ou un '0',
et donc additionner NB_H ou NB_L dans TC7. Ce test se fera en testant le bit adéquat dans les registres PARTIE 2 : 5 points
TCTL1/TCTL2, qui devra ensuite être inversé pour permettre la génération du niveau suivant.
1) (1 pt) Soit le chronogramme suivant, relevé sur une liaison RS232 réglée sur 8 bits de données, pas de
Par exemple, si on vient de générer un '1', c'est qu'il faut additionner NB_H pour avoir le temps à l'état bit de stop ni de parité, vitesse 9600 Bauds.
haut comme délai, et il faut programmer le mode "passage à 0" pour qu'à la prochaine activation du flag
C7F, la broche passe à 0.
+12V
0V
t
-12V
+NB_L

+NB_H TCNT Quel est l'octet transmis : ______________

2) Combien de temps prendra l'émission d'un bloc de 2048 octets sur la liaison série ci-dessus : ________
PT7 TH TL TH 3) Dans une liaison série, en général on envoie les bits dans l'ordre
bit de poids fort en premier bit de poids faible en premier
Le programme principal devra faire évoluer lentement le rapport cyclique entre 5% et 95%, par pas de
5%, toutes les 10s. Après 95%, le rapport cyclique devra repasser à 5%. Ce délai de 10s. sera réalisé via 4) Quelle est la mémoire vive la plus coûteuse :
un compteur qui va compter les débordements de TCNT (en scrutation). Des que le compteur a atteint la DRAM SRAM
valeur correspondant à 10s, il faudra faire évoluer la variable rapport, puis faire un appel à la fonction
calcul(), qui va mettre à jour les variables NB_H et NB_L. 5) la mémoire RAM est plus rapide que la ROM
vrai faux
rapport
cyclique (%) 5 10 15 20 95 5 10 6) Au repos, sur une ligne RS232, la tension mesurée est :
négative positive
0 10 20 30 40 t(s.)
7) Les barrettes de RAM des PC sont de type :
Statique Dynamique Flash
Questions : (15 points)
-1) (1 pts) Donner l'expression de TH et TL en fonction de γ et de f (fréquence de découpage). 8) Quel est le temps d'accès typique des mémoires DRAM :
A.N. : Calculer TH et TB pour γ = 5%. 3 ns 6 ns 30 ns
60 ns 300 ns 600 ns
-2) (2 pts) Soit d le facteur de division choisi pour le Timer. Donner l'expression des valeurs NB_H et
NB_L, en fonction de d, γ, f, Fe. Les mettre tout deux sous la forme k.γ, et donner k 9) le bloc SCI du 9S12 peut émettre et recevoir des données simultanément:
vrai faux