Rapport de projet - srv- sicard/microwind/students/students... · PDF fileaura un rapport...
date post
13-Sep-2018Category
Documents
view
228download
10
Embed Size (px)
Transcript of Rapport de projet - srv- sicard/microwind/students/students... · PDF fileaura un rapport...
Durand-Estebe Paul
Hippert Simon
Janin Cdric
Percia-Mehlem Caio
4ime anne AE
Groupe A2
Rapport de projet Ralisation dun Timer de microprocesseur
Le 7 janvier 2011
Table des matires
Introduction ........................................................................................ 1
I. Structure logique globale .............................................................. 2
II. Les principaux blocs constitutifs du Timer .................................... 6
1. Bascule D ......................................................................................................... 6
2. Multiplexeur .................................................................................................... 7
3. Contrleur de modulo ..................................................................................... 8
4. PWM ................................................................................................................ 9
III. Simulation globale ...................................................................... 10
Conclusion ......................................................................................... 14
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 1
Introduction
Les 3 dernires sances de travaux pratiques du cours d'EMCA (Etude et
Modlisation des Composants Actifs) ont fait l'objet d'un mini-projet, ayant pour but de
mettre en application nos connaissances en micro-lectronique. Les travaux ont t
raliss l'aide des logiciels MicroWind et Dsch, avec lesquels nous avons souhait
concevoir un priphrique de microcontrleur du type Timer.
Les caractristiques de ce Timer sont :
3 bits
Comptage
Dcomptage
Modulo rglable
Set / Reset
Sortie PWM
Ces caractristiques ne reprsentent bien videmment pas lensemble des
fonctionnalits que peuvent proposer les Timers actuels, elles constituent nanmoins une
base de travail solide dans un but dapprentissage.
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 2
I. Structure logique globale
Dun point de vue externe, on peut voir notre circuit intgr comme un composant
part entire de la forme :
Dtail des ports :
Clock : entre de lhorloge, active sur front montant.
Up/Down : slection compteur/dcompteur. 0 -> compteur, 1 -> dcompteur.
CMP : valeur de modulo, sur 3 bits.
CPWM : valeur de seuil pour gnration de signal PWM.
Set : mise 111 du compteur, actif au niveau bas.
Reset : mise 000 du compteur, actif au niveau haut.
EN_MOD : activation du modulo variable, actif au niveau haut.
Q1-Q2-Q3 : sortie du compteur. Bit de poids faible : Q1.
Z : flag Zro. Vaut 1 quand la sortie du compteur vaut 000 .
PWM : sortie de signal PWM.
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 3
Schma logique global :
Layout (ci-aprs) :
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 4
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 5
Processus de conception :
Un priphrique Timer est un systme complexe compos de plusieurs sous-
systmes simples. La partie fondamentale d'un tel priphrique est le comptage, qui, une
fois associe une horloge, lui permet de mesurer le temps.
Dans cette logique nous avons commenc le projet par limplmentation dun
compteur 3 bits laide de bascules D. Nous avons obtenu la structure CMOS de la
bascule D partir de son schma lectronique propos page 292 de Basics of CMOS Cell
Design . Ce schma a ensuite t amlior afin dimplmenter la fonction de Set.
Dans un second temps, nous avons souhait ajouter la fonctionnalit de
dcomptage. Pour cela nous avons dcid dintercaler un multiplexeur entre deux
bascules D. Ceux-ci possdent deux voies dentres, une sortie, et une voie de slection.
Ensuite, afin de pouvoir rgler la valeur maximum de comptage, nous avons
dvelopp un bloc de test dgalit de deux mots de 3 bits, celui-ci contrlant la
fonctionnalit de Reset des bascules D (fonctionnalits que lon avait anticipes lors du
choix de bascule au dbut du projet).
Un bloc semblable a aussi t pens, celui-ci surveillant lingalit de deux mots de
3 bits, et ayant pour but de gnrer alors un signal PWM entirement rglable.
Pour finir, afin de coller au plus prs des besoins dun microcontrleur, une simple
logique combinatoire dtecte une sortie nulle du Timer, un flag Z . Celui-ci peut tre
utile au microcontrleur pour le dclenchement dinterruptions.
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 6
II. Les principaux blocs constitutifs du Timer
1. Bascule D
Nous utilisons des bascules D, actives sur front montant dhorloge, avec les
fonctionnalits de Set et de Reset. Mises en cascade, 3 bascules crent un compteur 3
bits asynchrone qui sera la base de notre circuit. Les fonctionnalits de Set et Reset sur
chaque bascule permettra le forage 1 ou 0 du compteur.
Schma logique :
Layout gnr :
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 7
2. Multiplexeur
Le multiplexeur est intercal entre chaque bascule. Il va slectionner la sortie Q ou
nQ comme entre dhorloge de la bascule suivante. Lorsque lhorloge est attaque par le
signal Q, on obtient un dcompteur. Lorsquelle est attaque avec le signal nQ, cest un
compteur. Les deux multiplexeurs du circuit sont contrls par lentre Up/Down de
la puce.
Schma logique :
Layout gnr :
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 8
3. Contrleur de modulo
Le contrleur de modulo permet de rgler la valeur maximum de comptage. Pour
cela la sortie est compare 3 bits (CMP, ici C1, C2, C3). Une fois cette valeur gale la
valeur courante du compteur, lgalit dclenche un Reset du compteur. Pour que cela
fonctionne, il faut tre en mode comptage (Up/Down = 0) et activer le modulo
(EN_MOD = 1).
Schma logique :
Layout gnr :
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 9
4. PWM
Le module PWM compare les 3 bits du compteur (Q1 Q3) 3 bits de rfrence
(CPWM). Tant que la valeur du compteur est infrieure la rfrence, la sortie du PWM
est 1. Sinon elle passe 0.
Par exemple, pour une valeur de rfrence 2, si le compteur est en modulo 8, on
aura un rapport cyclique de sortie du PWM 25%.
Implmentation :
Dans un premier temps, nous avions cr un module pour assurer cette fonction.
Hlas, nous avions omis quelques aspects de logique lmentaire et de ce fait, notre
comparateur, trop simpliste, s'est avr dfectueux.
Voici le schma du comparateur que nous aurions d implmenter (sortie A
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 10
III. Simulation globale
Chronogramme Compteur :
Le compteur est en fonctionnement simple, sans modulo. Il compte donc de 0 7
une frquence d'environ 30 GHz. On observe le Reset asynchrone en dbut de
chronogramme qui rinitialise les bits Q 0 et le Set asynchrone en fin de chronogramme
qui met les bits Q 1.
On observe galement le flag Z qui se lve lorsque la valeur du compteur est 0. On
s'aperoit qu'il se lve brivement lors de certains changements de valeur (par exemple
lors du passage de 1 2 et de 3 4). Ce phnomne est d au temps de propagation du
signal travers les bascules qui ne commutent pas en mme en temps. Cela pour paratre
gnant, mais vu la trs faible dure de ces derniers (de l'ordre de la nanoseconde), en
fonctionnement plus basse frquence, ces pics sont ngligeables (on pourrait mme
rajouter un filtre passe bas pour les enlever).
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 11
Chronogramme Dcompteur :
Le dcompteur est ici aussi en fonctionnement simple. Il dcompte donc de 7 0
une frquence d'environ 30 GHz. On observe le Reset asynchrone en dbut de
chronogramme qui rinitialise les bits Q 0.
Notre compteur ne permet pas d'utiliser correctement le Set en fonctionnement
dcomptage car la structure que nous avons choisi inverse la valeur des bits aprs leur
forage. Cela vient du fait qu'en dcomptage, c'est la sortie Q (et non nQ en comptage)
qui est branche sur l'entre CLK de la bascule suivante. Ainsi, aprs un set, les bits
bascule de 111 000 avant de recommencer dcompter (si on pouvait forcer les bits
une autre valeur, par exemple 101, le compteur aurait invers 010 avant de continuer
dcompter).
On a donc un tat indsirable qui dure une priode d'horloge. La fonction Set n'est
donc pas utilisable en dcomptage.
Remarque : ce phnomne est aussi prsent au Reset mais n'est pas gnant puisque
aprs 000 il vient naturellement 111 en dcomptage.
Ralisation dun Timer de microprocesseur | Le 5 janvier 2011 | Page 12
Modulo 5 :
Le compteur est en fonctionnement avec un modulo 5, il compte donc de 0 4.
Pour activer ce mode, E_modulo = 1 et CMP=101.
On voit que le compteur repasse 0 tous les 5 fronts d'horloge.
Lors de la rinitialisation il y a aussi un tat indsirable (Q = 5) qui est aussi d au
temps de propagation du signal dans les portes logiques de