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. 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. 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. 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 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 renvoee 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 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 esolution de T1 permettant d’obtenir la meilleure pr´ecision. Quelle est cette
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 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 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 en´erer un signal eriodique, dont une 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 ecup´erer le signal?
2. Donner la programmation des registres de contrˆole PWMCON0 et PWMCON1 de l’unit´e
PWM permettant de en´erer ce signal.
3. eterminer les valeurs `a donner aux diff´erents registres PPx et PWx utilis´es. Justifier vos
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 linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !