Академический Документы
Профессиональный Документы
Культура Документы
La conception et réalisation
d’un clavier à un seul bouton
Présente par :
EZAIER YASSIN
IMAHLI MOHAMMED
OUCHRAA ABDERRAHIM
PR :A.HAMDOUN……………………………………………………………………………………………… Encadrant
PR :A.Guennoun……………………………………………………………………………………………....
PR : M.benrabeh………………………………………………………………………………………………..
Page 1
Sommaire
REMERCIEMENT……………………………………………………………………………………5
GENERALITE………………………………………………………………………………………….6
CAHIER DE CHARGE………………………………………………………………………………..7
CHAPITRE1 : GENERALITE………………………..
QUARTUS …………………………………………………………………………………...8
1-TRANSCODEUR …………………………………………………………………………14
3 Bascules …………………………………………………………………………………16
4-registre……………………………………………………………………………………17
6-machine d’état…………………………………………………………………………19
1-TRANSCODEUR ……………………………………………………………………………20
2-compteur : ……………………………………………………………………………………25
3-registre………………………………………………………………………………………..29
5-comparateur ………………………………………………………………………………32
Conclusion………………………………………………………………………………46
Page 2
Des figure concernent quartus2…………………………………8
Page 3
Figure 26 : schéma-block de détecteur double click …………………………………38
Figure 27 : simulation de détecteur double click ………………………………………38
Page 4
REMERCIEMENT
Nous remercions en premier lieu dieu qui nous a donné ce bien là et pour que
nous vivons ce jour et la force et la patience pour terminer ce travail .nous
tenons à exprimer nos profondes au département de physique laboratoire de
traitement l’informatique de l’université Hassan II de Casablanca qui a
profondes gratitudes pour tous les conseils et les encouragements qu’il nous
a prodigué pendant toute la durée de ce travail.
Page 5
Généralités
La serrure est un système qui permet d’ouvrir ou de fermer une
porte. Elle marche par l’actionnement d’une clé, d’un code.
La serrure codée est installée sur les portes d'entrée des
immeubles collectifs (hôtels, banques, résidences, salle de
conférence ... ).
Ceci permet de limiter l'accès à ces locaux aux seules personnes
munies du code d'entrée. Celui-ci est constitué de quatre
caractères alphanumériques. Le code en usage peut être modifié
s'il est trop divulgué.
Page 6
Cahier de charge
touches pour saisir les chiffres de 0 à 9 et une touche pour effacer et l’autre pour
valider le code souhaité. Dans notre projet, on veut concevoir un clavier qui contient
juste un seul bouton poussoir. Ce bouton permet de faire défiler les chiffres de 0 à
9 et d’effacer les chiffres incorrects. Ce clavier contient aussi une LED verte qui
s’allume, si le code entrant est correct et une autre LED rouge qui s’allume si le
code entrant est incorrect. Il contient aussi un afficheur 7-segments qui affiche les
chiffres de 0 à 9.On choisit de travail par ce clavier d’un seul bouton parce que ne
Page 7
Chapitre 1: Généralités
QUARTUS II : QUARTUS II est un système de développement de composants
programmables de la société ALTERA. Il permet la gestion complète du processus de
la conception des systèmes numériques et leur implantation dans des composants
de type CPLD (Complex Programmable Logic Device) ou FPGA (Field Programmable
Gate Array). Ce système permet de faire une saisie graphique ou une description
HDL -Hardware Description Language- (VHDL – Very Hardware Description
Language- ou AHDL - Altera Hardware Description Language-) d'un circuit
numérique, d'en faire une simulation, une synthèse et une implémentation sur
composant reprogrammable.
Page 8
Pour commencer, on cliquera sur: Démarrer—>Programmes—>Altera—>QUARTUS
II
Pour lancer la compilation partielle, cliquer sur Start Analysis & Synthesis dans
Processing, ou cliquer sur le bouton de raccourci du menu. Remarque :Pour pouvoir
faire la simulation du design, il n’est pas nécessaire de lancer la compilation complète
(voir Paragraphe 6.). Il suffit de lancer l’analyse et la synthèse (= compilation partielle).
Page 9
Lorsque la compilation partielle est faite sans erreurs, il est alors possible de vérifier
Page 10
Pour lancer la simulation, il faut d’abord créer un nouveau fichier de type Vector
Waveform File (.vwf).
Faire une sauvegarde du fichier par File —>Save as en lui donnant un nom
compréhensible.
Page 11
Lancer la simulation
Lancer la simulation avec le bouton Start du Simulator Tool et afficher les résultats
de la simulation avec le bouton Report du Simulator Tool. Analyser la sortie et vérifier
le bon fonctionnement du circuit.
Page 12
Définition des composants utilisés
Introduction :
Les circuits des machines électroniques modernes ont deux états d’équilibre 0 et 1.
Ils sont caractérisés par deux niveaux de tension ou de courant qui définissent un
signal logique d’un point à un autre. L’état de cette ligne est une variable logique à
deux valeurs: 0 et 1.Pour l’instant, nous n’allons pas nous intéresser au courant, à la
tension, au signal électrique...mais à l’état d’une ligne, à la valeur d’un signal
logique, à la valeur d’une variable logique. Pour cela, nous allons utiliser des circuits
logiques.
Les circuits logiques exécutent des opérations sur des variables logiques,
transportent et traitent des signaux logiques. Les circuits combinatoires qui sont des
circuits idéalisés où le temps de propagation des signaux n’est pas pris en
considération. Les signaux de sortie ne dépendent que des signaux d’entrée,
appliqués à l’instant considéré. Les circuits séquentiels qui sont des circuits où il faut
tenir compte du temps de propagation des signaux et de la mémoire du circuit. Les
signaux de sortie dépendent des signaux d’entrées appliqués antérieurement.
Page 13
1-TRANSCODEUR :
Information Même
Numérique Information
Codée dans le Codée dans le
CODE 1 CODE 2
Page 14
X0
0
X1
X2
X3
2- Comparateur Logique :
Un comparateur logique est un circuit logique qui effectue la comparaison entre 2
nombres binaires généralement notés A et B. IL possède 3 sorties
Notées A = B, qui indiquent le résultat de la comparaison comme suit:
Si le nombre A est égal au nombre B (A = B), la sortie A = B passe à l'état 1 tandis
que les sorties A > B et A < B passent à l'état 0 .
Table de vérité:
a b y
0 0 1
0 1 0
0 0 0
1 1 1
Toutes ces considérations sont traduites dans la table de vérité de la
Figure suivant :
Page 15
3-Bascules :
Introduction :
Les bascules sont très utilisées comme éléments de mémorisation de données au
d’information.
D q D Q+
clock q 0 0
RESET
1 1 SET
SET
Figure 6: symbole bascule D.
Bascule T sensible au front montant
C’est une bascule qui change d’état à chaque front actif de l’horloge,
Sinon elle mémorise l’ancienne valeur de q.
T q T q+
0 q Mémorisation
Clock q
1 /q Basculement si clock
actif
Figure 7: symbole bascule T.
Page 16
On a le front montant comme front actif
4-Registre :
Un registre est d'abord un ensemble de cases ou cellules mémoire capables de
stocker une information (≡un mot binaire). La position des cases mémoire entre
elles est responsable de l'ordre des chiffres, c'est à dire de la structure de
l'information. Dans le système binaire, une case mémoire est définie à l'aide d'une
bascule. Alors Un registre est un circuit séquentiel qui sert à mémoriser des données.
4-1 Fonctionnement
Un registre sert à mémoriser un mot ou un nombre binaire. Le schéma d'un tel
système comporte autant de bascule type D que d'éléments binaires à mémoriser.
Toutes les bascules sont commandées par le même signal d'horloge.
Exemple : registre 4 bits
Fonctions Chargement en mémoire et Mémorisation
Page 17
.
5-Compteur modulant 10 :
On appelle compteur modulo N, un compteur qui compte de 0 à N-1. Le compteur
le plus utilisé est le compteur modulo 10 ou compteur à décade ou compteur DCB
(ou BCD). Il produit une séquence de 0 à 9.
Page 18
Yt = l(Qt) ; Qt+1 = d(Xt,Qt)
Avantage
Pas de problème de synchronisation
Inconvénient
Pas aussi rapide que l'automate de Mealy.
Automate de Moore
Symbole :
t
Y
t
X
t+1
Q
t Mémoire
Q
Figure 10:Symbole de MOORE.
- Chercher le graphe
Page 19
- Coder les états
1-TRANSCODEUR:
On ne peut pas avoir les chiffres directement dans 7 segment ce pour cela nous
avons besoin un transcodeur pour converter le code BCD en code 7segment.
-Symbole:
Page 20
1-Ecriture de la table de vérité complète :
1 O O 0 1 1 1 1 1 0 0 1
2 0 0 1 0 0 1 0 0 1 0 0
3 0 0 1 1 0 1 1 0 0 0 0
4 0 1 0 0 0 0 1 1 0 0 1
5 0 1 0 1 0 0 0 0 0 1 0
6 0 1 1 0 0 0 1 0 0 1 0
7 0 1 1 1 1 1 0 1 0 0 0
8 1 0 0 0 0 0 1 0 0 0 0
9 1 0 0 1 0 0 0 0 0 0 0
10 1 0 1 0 0 0 0 0 1 1 0
11 1 0 1 1 0 0 0 0 1 1 0
12 1 1 0 0 0 0 0 0 1 1 0
13 1 1 0 1 0 0 0 0 1 1 0
14 1 1 1 0 0 0 0 0 1 1 0
15 1 1 1 1 0 0 0 0 1 1 0
Page 21
2-Recherche et simplification des équations logiques de chacune
des sorties.(SOP)
la fonction a : La fonction b :
a= /X3X2/X1/X0+/X3/X2/X1X0 b=X3X2+X3X1+X2X1/X0+X2/X1X0
La fonction c : La fonction d :
C=X3X2+X3X1+/X2X1/X0 d=/X3X2/X1/X0+/X3X2X1X0+/X3/X2/X1X0
Page 22
La fonction e La fonction f :
e=/X3X0+/X2/X1X0+/X3X2/X3 f=/X3X1X0+/X3/X2X0+/X3/X2X1
La fonction g :
g=/X3/X2/X1+/X3X2X1X0
Page 23
3-Schéma-bloc
Page 24
Simulation
2-COMPTEUR :
D’après cahier de charge nous avons besoin un compteur de manière repetive de
modulo 10. (74LS160).
74LS160 est Un compteur BCD pour "Binary Coded Décimal" ou décimal codé en
binaire (DCB) qui compte de 0 à 9 et recommence sans arrêt: 0 1 2 3 4 5 6 7 8 9 0
123456789012...
Page 25
On dit que c'est un compteur modulo 10. Le modulo est le nombre d'impulsions
d'horloge (clock) nécessaires pour que le cycle recommence De 0 à 9 donne 10
étapes avant que le cycle recommence 9. 74LS160 compte les fronts montants
de l’horloge .Horloge = signal carré
SYMBOLE :
Schéma bloc :
Page 26
Rôle de chaque entrée et sortie :
entrée CLR remise à zéro, active sur un 0.
entrée CLK horloge pour la cadence.
entrée AàD valeur qui sera chargée sur un load.
entrées ENP et les deux doivent être à 1 pour le compteur avance, permet
ENT de bloquer le compteur dès qu'il y a un 0.
Simulation :
Page 27
3-Diviseur de fréquence : D’abord le clock de compteur possède une
fréquence de 50MHZ ce Fréquence ne permette pas d’avoir le comptage. (Le
comptage ce fait de manière très rapide)
1 1
Alors : T= 6
=20 ∗ 10−9s et T’= =0.5 s
50∗10 2
0.5
Donc : =25000000 >224
20∗10−9
.Schéma-bloc :
Page 28
Simulation :
des données. Il fait à base des bascules D. Une bascule D constitue un registre
de 1 bit. Pour stocker le code actuelle on aura besoin une mémoire (registre),
Nous avons choisir dans notre problème la deuxième possibilité parce que
Facile à réalisée.
Page 29
Dans notre projet nous avons besoin 4 registre chaque registre mémorise 1
chiffre de 4bit .Chaque registre contient 4 bascule de type D.
Symbole :
Page 30
Schéma-bloc :
Page 31
Simulation :
5-Comparateur :
Pour vérifier le code actuelle est ce que correct ou no ,on aura besoin un
comparateur.il y a deux possibilité soit :
Nous avons choisi la deuxième parce que on besoin un sortie c’est égale.
La fonction principal de cette composant c’est comparé les 4bits actuels (A0 A1 A2
A3) (lorsque l’utilisateur saisie le code) avec des 4bits corrects qui déjà enregistrés
dans la mémoire (B0 B1 B2 B3).
Page 32
Si A0=B0 et A1=B1 et A2=B2 et A3=B3.
La LED sera allumée par la couleur verte c’est-à-dire que le code est correct
Dans notre projet nous avons utilisé 4 comparateur, chaque comparateur qui
comparé un chiffre actuelle de 4 bit avec un chiffre correct ce trouve dans même
comparateur
Table vérité :
Ai Bi Y
0 0 1
0 1 0
1 0 0
1 1 1
Avec i= {0, 1,2 ,3}
Symbole :
Page 33
Schéma-bloc :
Ce circuit combinatoire formé de 4 portes logiques XNOR2 contient 8 les entrées et une seule
sortie de porte AND4.
Page 34
Simulation :
On constate que la sortie y prend la valeur 1 c'est-à-dire que le code est correct
(Ai=Bi) Avec i= {0, 1,2 ,3}
6-Dectecteur double click : c’est un machine d’état qui détecte double click, si
on trompé le code actuelle et je veux supprimer le code ,on utiliser un détecteur de
double click.
Page 35
Graph :
Page 36
Table d’excitation:
Y=Q0Q1
Page 37
Schéma-bloc :
Page 38
7-Chargement des registres :
Graph :
Page 39
Table de transition : Table codée :
Table d’exciation :
Page 40
Les tables karnugh :
Page 41
Schéma-bloc :
Page 42
simulation :
Page 43
Schéma global
Page 44
Page 45
Conclusion :
-Tout a été fait à l'aide d'un logiciel appelé QURTUS II qui nous a
simplifier les structures de chaque composante, la compilation et
la simulation.
Page 46
bibliographie:
http://cdn.instructables.com/FIM/MO5O/GYN8W0M5/FI
MMO5OGYN8W0M5.LARGE.gif
http://www.gecif.net/articles/genieelectrique/cours/ter
minale/cours/les_transcodeurs.pdf
Page 47
Page 48