1 Génération d`un signal avec GPT1 2 Communication série

IUP SI 1 Examen Architecture des calculateurs 26 Avril 2004
Dur´ee 2h. Documents autoris´es.
1 G´en´eration d’un signal avec GPT1
Les registres de l’unit´e GPT1 du C167 sont initialis´es ainsi:
T2CON=0x25;
T3CON=0x2C0;
T4CON=0x26;
T2=20000;
T3=10000;
T4=10000;
DP3=0x08;
1. D´eduire de ces initialisations le mode de fonctionnement de chacun des temporisateurs.
2. Dessiner le chronogramme (´evolution en fonction du temps) de la valeur du registre T3 et de
celle du bit T3OTL sur un horizon d’environ 30 millisecondes.
3. Donner la p´eriode T du signal pr´esent sur la broche P3.3 ainsi que la valeur de son rapport
cyclique.
4. D´eterminer une expression g´en´erale permettant de calculer T en fonction des valeurs contenues
dans T2 et T4 et de la r´esolution de l’horloge tr.
5. Mˆeme question pour le rapport cyclique R.
6. En d´eduire les valeurs d’initialisations de T2 et T4 en fonction de T, tret R.
2 Communication s´erie
L’application propos´ee consiste `a traiter des requˆetes re¸cues par l’interm´ediaire de la ligne s´erie.
Une requˆete consiste en une demande d’acquisition d’un signal sur une entr´ee analogique. Elle
est simplement constitu´ee d’un nombre indiquant le num´ero du canal sur lequel doit se faire l’ac-
quisition.
La r´eponse `a la requˆete est la valeur exprim´ee en milli-volts (sous la forme d’un entier sur 16
bits) de la tension sur la broche correspondante. Elle est renvoy´ee par le micro-contrˆoleur sur la
ligne s´erie.
La communication se fait en asynchrone sur 8 bits sans parit´e avec 2 bits de stop `a 9600 bauds.
Les erreurs de transmission ne sont pas trait´ees.
On suppose que les fonctions suivantes sont fournies et accessibles en incluant dans le programme
la directive de compilation:
#include <com.h>
– Fonction d’initialisation de la liaison s´erie (hors registres d’interruptions).
void init_ASC0();
– Fonction qui renvoie la valeur en mV sur l’entr´ee canal.
int mesure(int canal);
– Fonction qui envoie sur la ligne s´erie l’entier valeur.
void emission(int valeur);
1. Ecrire un programme utilisant ces fonctions et permettant de r´epondre aux requˆetes re¸cues
(Ces requˆetes peuvent arriver n’importe quand).
2. Ecrire la fonction d’initialisation de l’unit´e s´erie ASC0: init ASC0.
3. Ecrire la fonction mesure.
4. Ecrire la fonction emission sachant que l’on envoie d’abord les bits de poids faible de l’entier.
IUP SI 1 Examen Architecture des calculateurs 26 Avril 2004
3 Mesure de p´eriode
On utilise l’unit´e CAPCOM1 en mode capture pour mesurer la p´eriode d’un signal TTL. Le
signal est connect´e `a la broche CC4IO du C167 et le timer T1 est utilis´e sans rechargement (T1REL=0).
La mesure de la p´eriode se fait entre deux fronts descendants du signal. Apr`es la capture permettant
de d´eterminer la p´eriode, T1 est r´einitialis´e `a 0 pour la capture suivante.
3.1 Initialisations
1. On choisit la r´esolution de T1 permettant d’obtenir la meilleure pr´ecision. Quelle est cette
r´esolution? et quelle est la p´eriode maximale que l’on peut mesurer sans d´ebordement de T1?
2. Quelle est la p´eriode minimale (et donc la fr´equence maximale) mesurable sachant que l’on
veut une pr´ecision meilleure que 1%?
3. Quels sont les registres `a programmer pour r´ealiser la capture sachant que l’on veut g´en´erer
une interruption de niveau 5 (groupe 0) sur chaque front descendant du signal `a mesurer?
Quelles sont les initialisations n´ecessaires de ces registres?
3.2 Mesure
On suppose que l’interruption provoqu´ee par un front descendant du signal `a mesurer correspond
`a la fois `a la fin d’une p´eriode (et donc `a sa mesure) et au d´ebut d’une nouvelle p´eriode.
Donner le code de la fonction d’interruption correspondante. Le r´esultat (fr´equence du signal)
exprim´e en Hertz sera stock´e dans la variable globale float FREQ.
4 Signal PWM
On souhaite g´en´erer un signal p´eriodique, dont une p´eriode est repr´esent´ee sur la figure suivante,
en utilisant l’unit´e PWM du C167.
84ms 2ms
100ms
1. Quel est le mode de fonctionnement de PWM qui permet de g´en´erer un signal de ce type?
Sur quel bit de quel port peut-on r´ecup´erer le signal?
2. Donner la programmation des registres de contrˆole PWMCON0 et PWMCON1 de l’unit´e
PWM permettant de g´en´erer ce signal.
3. D´eterminer les valeurs `a donner aux diff´erents registres PPx et PWx utilis´es. Justifier vos
r´eponses.
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!