Rapport de projet - srv- sicard/microwind/students/students... · PDF fileaura un rapport...

Click here to load reader

  • date post

    13-Sep-2018
  • Category

    Documents

  • view

    228
  • download

    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