This is not the document you are looking for? Use the search form below to find more!

Report home > Others

Mini Projet Pico-controlleur (S 01)

0.00 (0 votes)
Document Description
Sujet Pico Controlleur pour ceux qui sont en galère de moodle ;)
File Details
  • Added: December, 27th 2010
  • Reads: 570
  • Downloads: 20
  • File size: 811.30kb
  • Pages: 17
  • Tags: ensieta, enstab, ensi, pico, controlleur
  • content preview
Submitter
  • Name: Tom

We are unable to create an online viewer for this document. Please download the document instead.

Mini Projet Pico-controlleur (S 01) screenshot

Add New Comment




Related Documents

ERP mini projet

by: qgfqdg, 5 pages

erp

MINI: Unauthorized Owner’s Manual

by: manualzon, 19 pages

able ebook manual of BMW Mini Cooper, this is an unofficial / unauthorized owners manual of BMW Mini

logiqueproject

by: kegilko, 4 pages

rapport mini projet

The Emerging Recognition of Ecigarettes

by: ahmadwatkins1025, 1 pages

Smoking is becoming more and more stylish with more brands displaying some flavours as well as better cigarette is visually. Smoking is becoming a lot more expensive as well as taxes with cigarettes ...

Toshiba introduces the world's first dual-touch-screen Windows® mini-notebook PC "Libretto W100" and thinnest & lightest full-function 33.8cm (13.3 inch) laptop, "Portégé R700"

by: alina, 4 pages

The PC Division of Toshiba India, a wholly owned subsidiary of Toshiba Corporation today announced the introduction of the world's first[1] dual-touch-screen Windows® mini-notebook PC "Libretto ...

Towing and Road Service Procedures for the 2002 BMW Mini Cooper and Mini Cooper S

by: manualzon, 6 pages

BMW Mini Cooper reference about Towing, Jacking, Tire Change and Jump Starting procedures

2003 Mini Cooper & Mini Cooper S Owner’s Manual

by: manualzon, 148 pages

2003 Mini Cooper BMW Owners MAnual, contains owners manual and small parts on maintaining and repairing/servicing the mini cooper Tritec 1.6L TRITEC powered engine

Powerflex Mini Generation 1

by: Juancho, 1 pages

Pdf document Powerflex for Mini Cooper and S (Generation 1)

2006 Mini Cooper S Hotel Brazil

by: gene, 4 pages

2006 Mini Cooper S Hotel Brazil - Front Angle View,2006 Mini Cooper S Hotel Brazil - Front Side View,2006 Mini Cooper S Hotel Brazil - Side View,2006 Mini Cooper S Hotel Brazil - Side Team View,2006 ...

2009 Mini Cooper S Cabrio

by: fred, 4 pages

2009 Mini Cooper S Cabrio - Front Side View,Mini Cooper S Cabrio 2009 - Front Angle View,2009 Mini Cooper S Cabrio - Side View,Mini Cooper S Cabrio 2009 - Rear Side View,2009 Mini Cooper S Cabrio - ...

Content Preview



















MINI-PROJET :
PICO-CONTROLEUR




















B. PONDAVEN, P. CAMBON, J.C. LE LANN, G. LE MAILLOT, M. INIZAN F. LE ROY

UV 1.5 – ELECTRONIQUE NUMERIQUE – TE4-BE


MINI-PROJET PICO-CONTROLEUR
PAGE
2/17


1 Objectif du mini-projet dans la matière
Ce mini-projet est une synthèse de la partie électronique numérique de l’UV 1.5. On y
réalise, en utilisant un outil orienté systèmes reconfigurables un système programmable.
Il consiste à étudier, concevoir et simuler en utilisant le logiciel QUARTUS, que vous
avez pris en main lors du dernier TE, un micro-contrôleur très simplifié qu’on appellera un
« pico-contrôleur ».
Il sera l’occasion de simuler un système complet y compris sa partie opérative
électronique. Le caractère bouclé du système exige une approche très méthodique succession
de conception-test-réutilisation nécessaire pour bâtir avec assurance tout système complexe.
Ce mini-projet se déroule sur 2 séances (TE 4 de 2 H et BE de 3 H ) et comporte 2
parties.


2 Préparation préalable et notation
Ce mini-projet exige une PREPARATION A FAIRE AVANT de VENIR en salle pour la
première séance. Pour cette préparation il est indispensable de lire le sujet et de faire le travail
demandé au § 4.
Un COMPTE-RENDU par binôme est exigé pour ce mini-projet. Il sera ramassé en fin
de deuxième séance. Ce compte-rendu contient des impressions de rapports de simulation
fournis par QUARTUS, imprimés et collés dans le rapport avec commentaires et conclusions
et les réponses à des questions notées dans le sujet QUEST .
Rappelez-vous que n’est pas parce que le logiciel compile et fournit une simulation que le
système fonctionne !

3 Cahier des charges et principe proposé
3.1 Système à réaliser
On se propose de dessiner et simuler le système représenté Figure 1

La partie opérative (POP) est équipée de 2 registres R0 et R1 et d’une unité arithmétique (UA)
capable d’effectuer une addition ou une soustraction.
Le contrôleur pilote cette partie opérative pour pouvoir exécuter les diverses instructions du
jeu d’instruction du pico-contrôleur.
Pour simplifier, on considérera d’abord que le jeu d’instruction se limite aux 4 instructions
indiquées dans le tableau Figure 2










UV 1.5 – ELECTRONIQUE NUMERIQUE – TE4-BE


MINI-PROJET PICO-CONTROLEUR
PAGE
3/17



Figure 1 : le pico-contrôleur



UV 1.5 – ELECTRONIQUE NUMERIQUE – TE4-BE


MINI-PROJET PICO-CONTROLEUR
PAGE
4/17


Figure 2 : Le jeu d'instructions du pico-contrôleur

Les valeurs de x et y valent 0 ou 1. La notation [Rx] signifie « contenu de Rx ».

La notation Prog[3. .0] représente le groupe de signaux (ou « mot ») Prog3 , Prog2, Prog1 et
Prog0 qui constitue l’instruction. On représente en général les différentes combinaisons qui
apparaissent par un nombre qui est l’équivalent décimal du mot.

La mémoire de programme est une mémoire non volatile à lecture seule (ROM) adressée par
un compteur dit compteur ordinal qui est incrémenté après exécution de chaque instruction.
Elle contient le « programme » pré-enregistré qui est la suite des instructions destinées à
réaliser un traitement sur les données D. Les données D sont insérées dans le programme à la
suite des instructions mvi. L’instruction mvi a pour but de lire une valeur D fournie dans le
programme et de l’inscrire dans un des 2 registres de la POP. Le contenu d’une case mémoire
ROM est, le plus souvent, une instruction, mais parfois aussi, donc, une donnée D 1.
L’instruction mv recopie un registre dans un autre, les instructions add et sub effectuent un
calcul entre registres.
Dans le cas simplifié présenté ici le programme est exécuté séquentiellement tant que le bit
Run vaut 1 jusqu’à la fin de la mémoire puis recommence au début indéfiniment jusqu’à ce
que le bit Run soit ramené à 0.

Les résultats de ces traitements apparaissent sur la sortie Dout du pico-processeur pour être
enregistrés dans une mémoire dite mémoire de données qu’on étudiera dans la 2ième partie du
mini-projet.

3.2 Partie opérative (POP)
Elle est représentée sur la Figure 3. En plus des 2 registres principaux évoqués plus haut, le
registre A est celui qui contient le 2ième opérande de l’additionneur-soustracteur (Unité
Arithmétique : UA), l’autre étant celui présent en sortie du multiplexeur2. L’UA est un circuit
purement combinatoire qui effectue une addition ou une soustraction de ces 2 opérandes sous

1 C’est pour cette raison qu’on appelle l’entrée de la POP qui reçoit le contenu de la ROM : D_Prog pour signifier qu’il s’agit d’une donnée
ou d’une instruction.
2 On rappelle qu’un multiplexeur (cf TE 2) est un circuit purement combinatoire. Il recopie (aiguille) l’une des 4 valeurs d’entrée : [R0],
[R1], [G], ou Din sur sa sortie reliée à Dout.


UV 1.5 – ELECTRONIQUE NUMERIQUE – TE4-BE


MINI-PROJET PICO-CONTROLEUR
PAGE
5/17

contrôle de l’entrée Add_Subn 3 (sa sortie vaut [A]+Dout si Add_Sub n= 1 ou bien [A]-Dout
si Add_Subn = 0). Le résultat obtenu par l’UA peut-être enregistré dans le registre G. Le
multiplexeur est commandé par Sel[1..0] mot de 2 bits. On prendra par exemple le codage
suivant pour les entrées de sélection du MUX :
Sel[1..0] = 002 = 010 pour D_Prog
Sel[1..0] = 012 = 110 pour R0
Sel[1..0] = 102 = 210 pour R1
Sel[1..0] = 112 = 310 pour G

Le registre IR, dit registre d’instruction, sert à mémoriser une instruction pendant son
exécution lorsqu’elle sort de la mémoire programme. L’instruction mémorisée Prog est
transmise au contrôleur (voir Figure 1) qui l’exploite pour son exécution. Ce registre sert ici
pour l’exécution de l’instruction mvi pour la mémoriser pendant qu’on extrait de la ROM, la
donnée D qui suit cette instruction 4.

Les 5 registres sont synchrones et disposent d’entrées dite « enable » : R0in, R1in, Ain, Gin et
IRin qui, lorsqu’elles sont au niveau 1, permettent l’enregistrement de la donnée qui leur est
présentée au front actif suivant d’horloge. On notera bien que lorsque ces entrées sont
positionnées au niveau haut, cela ne signifie pas que la donnée présentée au registre est
enregistrée mais qu’elle le sera lorsqu’un front d’horloge actif se présentera.


3 Ainsi appelée ceci signifie que l’opération d’addition est effectuée lorsque cette variable est au niveau haut (1) et de soustraction
lorsqu’elle est au niveau bas.
4 Plus généralement ce registre permet d’implanter des instructions dont les opérandes sont constitués de plusieurs cases de la mémoire
programme qui suivent cette instruction. On ne l’utilise dans ce pico-processeur que pour l’instruction mvi suivie de la donnée D qui est son
opérande.


UV 1.5 – ELECTRONIQUE NUMERIQUE – TE4-BE

PAGE

MINI-PROJET PICO-CONTROLEUR
6/17


Fig
i ur
u e 3 : Partie opérative (POP) du pico-contrôleur

3.3 Fo
F r
o mat
t de
d s i
ns
n tr
t uc
u ti
t o
i n
o s
n
Le
L s
e instru
r ct
c ions sont co
c dée
é s
e sur
r 4 bits notés I1I0XY :
I1I0 représentent le co
c de opér
é ation :
o 00 pour mv
o 01 pour mvi
o 10 pour add
o 11 pour sub
• XY représentent les opér
é andes
e 5 selon la Figure 2.

5 Un
U e
e inst
s ru
r ct
c ion
o com
o p
m lè
l t
è e
e ind
n iq
i u
q e
e tou
o jou
o rs
r
s non
o se
s u
e le
l m
e e
m n
e t QU
Q O
U I
I fa
f ire
r
e (u
( ne
e add
d it
i ion
o ,
n un
u e
e so
s u
o st
s ra
r c
a ti
t on
o , un
u tra
r n
a s
n f
s e
f r
e t
r d’u
’ n re
r g
e i
g st
s re
r
e dan
a s
s un
u
n
aut
u re
r ,
e …),
) cec
e i es
e t
s ex
e p
x ri
r mé
m
é par
r le
l
e cod
o e
d
e op
o ér
é a
r tion
o ma
m is
s auss
s i
s AV
A E
V C qu
q oi
o , qu
q i so
s n
o t
n le
l s
e
s « opérandes ».
» Po
P u
o r
r le
l s
e
s inst
s ru
r ct
c ion
o s
s mv, add et sub les
opérandes sont les numéros des regi
g st
s re
r s
e
s (0
( ou
o 1)
) ave
v c
e le
l s
e q
s uel
e s
l
s on
o veu
e t tra
r va
v ill
l e
l r
e ,
r don
o c ces
e
s op
o ér
é a
r nd
n es
e
s tien
e n
n en
e t en
e 2 bi
b ts.
s Po
P u
o r
r l’
l i
’ nst
s ru
r cti
t on
o
n
mvi, on
o n
e
e pré
r c
é ise
s
e qu
q ’u
’ n se
s u
e l
l n
umé
m r
é o
r
o de
e re
r g
e i
g st
s re
r
e (X
( )
X
) Y
Y ne
e ser
e t
r à ri
r en
e ; ma
m is
s o
n
o doi
o t
i su
s rt
r ou
o t
t pré
r c
é ise
s r
e
r la
l va
v le
l u
e r
r de
e la
l don
o n
n ée
é
e D
D à en
e re
r g
e i
g st
s re
r r
e ,
r qui
u
i
tien
e t
n su
s r
r 4 bit
i s
s et
e néc
é es
e s
s i
s te
e don
o c un
u e
e case
s
e su
s pp
p lé
l m
é e
m n
e taire
r
e de
e la
l mé
m m
é oi
o re
r
e pro
r g
o r
g a
r mm
m e
m .
e Tou
o t se
s
e pass
s e
s
e com
o m
m e
m si
s , à la
l diff
f é
f r
é e
r n
e ce
e des 3 autres,
l’instruction mvi néc
é es
e s
s i
s tai
a t 2 ca
c se
s s
e
s mé
m m
é o
m i
o re
r
e et
e non
o un
u e
e se
s u
e le
l !
! On
O peu
e t,
t bi
b en
e su
s r
r ima
m gi
g ner
e
r des
e
s in
i st
s ru
r ct
c ion
o s
s plu
l s
s com
o p
m lexes qui
nécessiteraient 3 ou 4 cases mémoire !


UV 1.5 – ELECTRONIQUE NUMERIQUE – TE4-BE


MINI-PROJET PICO-CONTROLEUR
PAGE
7/17



L’instruction ou la donnée D, lue en sortie de la mémoire programme, est appliquée à la POP
qui :
• L’enregistre dans le registre d’instruction s’il s’agit d’une instruction 6
• L’exploite dans les calculs s’il s’agit d’une donnée D.

Le programme est translatable en mémoire 7, l’instruction mvi et sa donnée associée doivent
être consécutives. La mémoire, de taille beaucoup plus grande que le programme, est
complétée avec des instructions nulles I1I0XY = 0000 n’ont aucun effet. Au passage à 1 de
Run, on démarre le programme à l’adresse 000..00.

3.4 Diagramme d’état du contrôleur
Le diagramme d’état du contrôleur est représenté Figure 4.

Certaines actions sont conditionnées par les bits d’instruction.

Le contrôleur est une machine de Mealy à 10 états qu’on codera en utilisant un codage one-
hot et qui comprendra donc un seul registre à 10 bits.

A l’état 1 on mémorise l’instruction dans le registre IR.

A l’état 2 on décode l’instruction pour enclencher différentes séquences suivant le type
d’instruction.

Les instructions add et sub ne diffèrent que par leurs actions elles enchainent les états 3 à 6.

A l’état 6 on incrémente le compteur ordinal pour passer à l’instruction suivante, ceci pour
toutes les instructions.

A l’état 7 pour l’instruction mvi on incrémente le compteur ordinal pour présenter la donnée
D qui suit à la POP.

L’instruction mv est la plus simple, elle correspond à l’état 9.





6 C’est le contrôleur qui détermine s’il s’agit ou non d’une instruction (les 2 sont indiscernables par leur contenu !).
7 C’est-à-dire qu’on peut le mettre au début de la mémoire ou bien ailleurs n’importe où. Ce qui compte c’est que l’ordre des instructions soit
respecté. On peut insérer des instructions « blanches » entre chaque (sauf entre mvi et sa donnée) éventuellement. La mémoire ROM contient
toujours beaucoup plus de places que strictement nécessaire pour le programme en cours !


UV 1.5 – ELECTRONIQUE NUMERIQUE – TE4-BE

PAGE

MINI-PROJET PICO-CONTROLEUR
8/17



Figure 4 : Dia
i gra
r mm
m e
m d'é
' tat du contrôleur du pico-controleur

Par
a m
r i les
e ac
a t
c ions as
a soci
c ées
e au
a x ét
é at
a s on distingu
g er
e a 2 types :
• les actions syn
y ch
c ro
r nes
e qui co
c nce
c r
e n
r en
e t tous les
e en
e re
r gi
g stre
r m
e en
e ts dan
a s les
e re
r gi
g stre
r s
e de
e la
a
POP
O . Ces
e ac
a t
c ions ne
e sont ef
e f
f e
f ct
c ivem
e en
e t ef
e f
f ec
e t
c uées qu’a
’ u
a co
c up d’h
’ orl
r oge
e qui mar
a q
r ue
e
la
a fi
f n de
e l’é
’ t
é at
a dan
a s laq
a uelle
e l’e
’ n
e tré
r e
é
e enable du registre
r
e es
e t port
r ée
é
e au
a nivea
e u
a 1. Par
a
r


UV 1.5 – ELECTRONIQUE NUMERIQUE – TE4-BE


MINI-PROJET PICO-CONTROLEUR
PAGE
9/17

exemple l’enregistrement dans le registre G n’a lieu qu’au coup d’horloge qui marque
la fin de l’état 4.
• Les actions asynchrones qui concernent le positionnement du multiplexeur et le
compteur ordinal pour lequel on utilisera un compteur asynchrone (cf § 5.5.1). Ces
actions sont effectivement effectuées dès l’activation de l’état correspondant. Par
exemple le sélecteur est positionné sur la sortie du registre D_Prog (soit Sel = 002
=010 ) dés que l’état 8 devient actif. Il en sera de même pour l’incrémentation et la raz
du compteur ordinal.


4 Travail de préparation
4.1 Etablissement des équations du contrôleur
Etablir les équations des blocs combinatoires G et F du contrôleur.

4.2 Programme de test du processeur
Le but de ce programme de test, qui sera exécuté en simulation, est de réaliser une addition et
une soustraction de 2 données. Il utilisera 4 instructions :

- Chargement de la valeur 510 dans le registre R0
- Chargement du contenu du registre R0 dans le registre R1
- Addition du contenu de R0 et de R1 et chargement du résultat dans le registre R0
- Soustraction du contenu de R0 et de R0 et chargement du résultat dans le registre R0

Complétez le tableau ci dessous :


adresse
0000
0001
0010
0011
0100

contenu
0100=410 0101=510 0010=210
1001=910
1100=1210

type8 (I ou D)





Opération
mnémonique9
mvi R0

mv R1, R0
add R0, R1
Sub R0, R0
effectuée
symbole
R0
D

R1 [R0]
R0 [R0]+[R1]
R0 [R0]-[R0]
contenu
R0




des
R
registres de
1




POP
A




après
G




exécution
instruction10
IR





Tableau 1

8 I pour Instruction et D pour Donnée
9 On appelle mnémonique le nom de l’instruction qui permet de se rappeler ce qu’elle fait. Généralement les mnémoniques sont dérivés de
l’anglais : mv pour « move » qui correspond effectivement à un déplacement. mvi est le mnémonique pour « move immediate » qui signifie
déplacer la donnée « immédiatement » exprimée dans la case mémoire suivante.
10 C’est-à-dire au moment où l’état 6 s’active ou, pour la dernière instruction avant suspension, au moment où l’état 0 se réactive.


UV 1.5 – ELECTRONIQUE NUMERIQUE – TE4-BE


MINI-PROJET PICO-CONTROLEUR
PAGE
10/17


5 Travail en séance – première partie
5.1 Mise en place de votre environnement de travail
Créez en local sur l’ordinateur sous C:\Temp un répertoire Sys_Num_Projet 11où vous
mettrez les 3 fichiers fournis avec le sujet sur Moodle :
POP.qar
Controleur.qar
Pico_Controleur.qar

Créez un sous-répertoire Pico_Controleur dans C:\Temp\ Sys_Num_Projet. Ce sera votre
« working directory » ou répertoire de travail unique dans lequel Quartus déposera tous les
fichiers créés.

Ouvrir Quartus en faisant Project
Restored_Archive_Project, dans la fenêtre Archive Name
allez chercher le fichier POP.qar que vous avez rapatrié de Moodle. Dans la fenêtre
Destination Folder indiquez votre working directory : Pico_Controleur (et non pas celui
proposé par QUARTUS !) puis cliquer sur OK. Les fichiers .qar sont des « archives » qui
sont décompactés suite à la manœuvre précédente. A l’issue du décompactage le projet POP
est automatiquement créé par Quartus. Vous n’avez donc pas à créer de projet 12. Par défaut
Quartus ouvre le projet créé à l’issue du décompactage. Dans la fenêtre Project Navigator de
droite cliquer sur l’onglet Files (vous y trouvez POP.bdf : le schéma à compléter et POP.vwf
le fichier de simulation).

Faire de même avec les 2 autres archives Controleur.qar et Pico_Controleur.qar. Vous avez
alors dans le working directory C:\Temp\ Sys_Num_Projet\Pico_Controleur tout ce qui vous
sera nécessaire pour travailler.

Pour accélérer les compilations vous travaillerez pendant la séance en local (sans appel au
réseau sauf pour les jetons de licence). Mais comme le répertoire C:\TEMP est effacé chaque
semaine automatiquement, en fin de séance, il faudra penser rapatrier votre répertoire de
travail dans votre compte pour pouvoir le reprendre à la prochaine séance de BE ou
pour travailler entre 2 séances.



5.2 Le générateur de programme MEGA WIZARD
5.2.1 Généralités
L’outil Mega-Wizard qui fait partie de QUARTUS permet de générer une fonction
logique complexe (par exemple un additionneur, un registre à chargement parallèle, un
multiplexeur, une mémoire …) automatiquement par un jeu de questions-réponses avec
l’utilisateur. Une fois cette fonction créée on la sauvegarde comme un symbole de

11 Attention n’utiliser ni accent, ni blanc (remplacer par underscore_) dans les noms de fichiers ou répertoire (logiciel US)
12 En fait, le projet a été créé pour créer l’archive qui vous est fournie.


Download
Mini Projet Pico-controlleur (S 01)

 

 

Your download will begin in a moment.
If it doesn't, click here to try again.

Share Mini Projet Pico-controlleur (S 01) to:

Insert your wordpress URL:

example:

http://myblog.wordpress.com/
or
http://myblog.com/

Share Mini Projet Pico-controlleur (S 01) as:

From:

To:

Share Mini Projet Pico-controlleur (S 01).

Enter two words as shown below. If you cannot read the words, click the refresh icon.

loading

Share Mini Projet Pico-controlleur (S 01) as:

Copy html code above and paste to your web page.

loading