You are on page 1of 16

2016

Mini projet : Serrure codée


PARTIE 1 :

Etude théorique
Introduction
L’accès à un local est protégé par une serrure afin de limite l’accès aux seules
personnes en possession du code d’accès.
Un code de 3 caractères (A, B, C) est saisi par l’utilisateur sur un clavier situé
devant la porte qui contient trois touches.
Si le code saisi correspond au code d’accès la porte sera déverrouillée.

Cahier de charge :
• On a choisi la combinaison suivent: C, B, A.

• La possibilité d’appuyer simultanément sur deux boutons ou bien trois n’existe


pas.

Les entrées :
• Des boutons poussoir : A B C

• Capteur logique: H

 H=‘0’ la porte est fermer


 H=‘1’ la porte est ouverte

La sortie:
• La porte :

 P=‘1’ la porte est ouverte


 P=‘0’ la porte est fermer

Remarque :
• Dans notre mini projet on va travailler avec la machine de Moore en utilisant les
bascules D.

Fonctionnement :
 Pour passer de l’état E0 a l’état a l’état E1 il faut appuyer sur le bouton C si nom
(appuyer sur le bouton A ou B ou bien les trois au même temps) on va rester sur
l’étape E0.
 Pour passer de l’état E1 a l’état a l’état E2 il faut appuyer sur le bouton B si nom
(appuyer sur le bouton A ou C) on va revenir a l’étape E0, si on ne touche aucun
bouton on va rester sur l’état E1.
 Pour passer de l’état E2 a l’état a l’état E3 il faut appuyer sur le bouton A si nom
(appuyer sur le bouton B ou C) on va revenir à l’étape E0, si on ne touche aucun
bouton on va rester sur l’état E2.
 A l’état E3 on a l’ouverture de la porte. Pour revenir à l’état initiale il faut fermer
la porte (H=0)

Le fonctionnement de notre système est représenté par le graphe d’état ci-dessous :

Notre système possède quatre états donc pour les coder nous avons besoins de deux
variables et donc on va coder l’état 1 par 00 et l’état 2 par 01 et l’état 3 par 10 et l’état 4
par 11.
Table d’évolution
Etat courant Entrées Etat future Sorties

e1 e2 C B A H e1+ e2+ P
0 0 0 X X 0 X0 0 0
0 0 1 0 0 0 X0 1 0
0 1 1 0 0 0 X0 0 0
0 1 0 0 1 0 X0 0 0
0 1 0 0 0 0 X0 1 0
0 1 0 1 0 0 X1 0 0
1 0 1 0 0 0 X0 0 0
1 0 0 1 0 0 X0 0 0
1 0 0 0 0 0 X1 0 0
1 0 0 0 1 0 X1 1 0
1 1 0 X X 0 10 0 1
1 1 X X X 1 01 1 1
PARTIE 2 :

Simulation
Le logiciel Xilinx ISE 9.2i est un logiciel de description, de simulation, et de programmation de
circuits et systèmes numériques sur des composants programmables. Le logiciel ISE possède une
version gratuite et téléchargeable du site de Xilinx (www.xilinx.com). La suite ISE permet : ƒ
 la description de circuits numériques sous forme de schémas logiques, de machines à états fini
ou en langages de description matérielle (VHDL, Verilog, ABEL),
 la compilation, la simulation comportementale.
 la synthèse, le placement routage et l’implémentation,
 la simulation temporelle et l’analyse de timing.
 la programmation sur les circuits programmables de Xilinx (CPLD et FPGA).

La simulation à partir du graphe d’état :

Premièrement on va lancer le navigateur ISE, et après on fait File > New Project pour ouvrir un
nouveau projet

L’écran de saisie de nouveau projet apparaîtra. On entre le nom du projet > Next ;
il faut choisir langage de programmation : VHDL
Et puis on va cliquer sur new source on choisi State Diagram et on nomme le diagramme

Et on termine par Next > finish.


On obtient cette fenêtre où on va tracer notre graphe d’état :

En cliquant sur ‘draw stat machines ‘ pour choisir le nombre d’états de notre graphes, ainsi que sa
forme (géométrique) en suite un clique sur ‘next’ qui va nous permettre de choisir le type du reset
(Synchrone) .

Pour nommer notre états et enter nos sorties, il suffit de cliquer 2 fois sur l’état et une fenêtre
apparaitre
Et c’est la même chose pour les conditions de transition on clique 2 fois sur la flèche reliant deux états

Finalement, on obtient notre graphe d’état.

et après, il faut le compiler afin de détecter les erreurs s’ils n’ existent pas, on clique sur ‘Close’ afin
de prélever le programme de notre projet à partir du bouton ‘generate HDL’.
Maintenant on va simuler notre programme à l’aide de bouton ‘state bench’.
Et dans la fenêtre state bench, on clique sur ‘automatictestbench’, et donc notre simulation qui
donne les sorties de notre système en fonction des entées et des états est la suivant :

La simulation à partir du programme VHDL :

Maintenant on utilise le programme de VHDL sous Xilinx en cliquant sur new source > VHDL
module.
Ensuite on tape le programme qu’on a déjà obtenu et on le compile en cliquant sur Impelement design
Pour compiler le programme on clique sur Projet > New Source > Test BenchWaveform > Next

Une fenêtre sera afficher qui permet de régler le CLOCK, par exemple on a choisis la période du
clock (3000ns).et on varie les entrées selon notre diagramme d’état et on obtient cette fenêtre :
Après cet étape il faut cliquer sur source et choisir ‘behavioral simulation’.
Conclusion :
Le langage VHDL est un langage très importent dans le domaine électrique car il
nous permette de décrire un fonctionnement global de haut niveau sans souci de détail.
On a eu la chance de travailler dans ce mini projet avec un logiciel de simulation
parmi plusieurs logiciels de ce langage.

You might also like