You are on page 1of 14

Mini Projet: machines à états

Alarme maison antivol


Fait par :
Yousra OUNZA et Yousra AARAB

1ERE ANNÉE MASTER


ELECTRONIQUE ,
ELECTROTECHNIQUE ,
AUTOMATIQUE ET INFORMATIQUE
INDUSTRIELLE
Mini projet : Machine à états finis Alarme maison à distance

ETUDE THEORIQUE

A la différence des circuits combinatoires, les signaux de sortie des circuits séquentiels ne
dépendent pas uniquement des entrées mais aussi de leur séquence. Le circuit se rappelle des
entrées et des états précédents : il a une mémoire du passé.

1-CAHIER DE CHARGE
Nous proposons de modéliser le fonctionnement d’un système alarme maison à base d’une
barrière infrarouge par une machine de Moore.

Le principe de notre système est le suivant :

La barrière est composée d’un émetteur et un récepteur. Ce dernier reçoit les rayonnements
infrarouges depuis l’émetteur. Dés que ce taux de rayonnement change, la barrière considère
qu’un intrus a percuté son champ de surveillance ; elle transmet par la suite un signal à
l’alarme qui réagit et émet un signal sonore. Ce qui conduit à :

 Quand l’alarme est désactivée même en présence d’une détection de mouvement par
la barrière, la sirène ne retentisse pas.
 Quand l’alarme est activée en absence d’un mouvement, la sirène ne retentisse pas.
 Quand l’alarme est activée et la barrière détecte un mouvement, la sirène se déclenche.

2- SYNTHÈ SE DU CIRCUIT SÉ QUENTIEL


2-1-LE DIAGRAMME D’ÉTAT
Encore appelé diagramme de transition, il permet de décrire la réponse du système pour toute
entrée valable.

Avant de tracer le diagramme d’état, il se révèle indispensable d’identifier les entrées, les
sorties, ainsi que les transitions entre ses états.

 Notre système possède deux entrées nommées A (Alarme) et B (Barrière) et une sortie
notée S (sirène)

Page 1
Mini projet : Machine à états finis Alarme maison à distance

A= 1 : alarme activée S= 0 : sirène non déclenchée

A=0 : alarme désactivée S= 1 : sirène déclenchée

B= 1 : détection d’un mouvement

B= 0 : absence d’un mouvement

Notre système possède 2 états correspondants aux deux états possibles de sortie.

La figure 1 représente le graphe d’état de notre système.

AB
Etat 1 0/0 Etat 2 1/1

AB + AB
AB + AB +AB AB +AB

Figure 1. Graphe d’état

2-2- LA TABLE D’ÉVOLUTION

Notre système a deux états, donc on a besoin d’une seule variable afin de le coder. L’état 1 va
être codé à 0 et l’état 2 à 1.

La figure 2 représente la table d’évolution du système.

Page 2
Mini projet : Machine à états finis Alarme maison à distance

Etats Entrées Etas futurs Sorties


courants S
A B e0+
e0

0 x
0 0
1 0 0

1 1 1
1 1 x 1 1

0 x 0
Tableau 1. Table de transition

- La transition de l’état 0 vers l’état 1 se fait si l’alarme est activée (A=1) et B capte un
mouvement (B=1).

- Le système reste dans l’état 0 si l’alarme est désactivée (A=0) quelque soit la valeur de
B ou bien si l’alarme est activée et le capteur ne détecte aucun mouvement.

- Le système reste dans l’état 1 si l’alarme est activée quelque soit la valeur de B.

- La transition de l’état 1 à 0 se fait si l’alarme se désactive que ce soit B=1 ou à 0.

Page 3
Mini projet : Machine à états finis Alarme maison à distance

CAO : XILINX ISE 10.1


Le pack web Xilinx ISE 10.1 constitue un outil de conception et de programmation des
FPGA (Field Programmable Gate Array).

Un FPGA est un circuit logique qui contient un ensemble de portes logiques (NOR, OR,
XOR…) et des bascules D. Ces portes ne sont pas connectées les unes aux autres, le
circuit en tant que tel ne remplit donc aucune fonction.

Programmer un FPGA consiste à créer les connexions entre certaines portes et


bascules afin de réaliser une fonction électronique (compteur, décodeur…) et dans notre
cas un système d’alarme maison à distance.

1- DIAGRAMME D’É TAT


1-1-EDITION SOUS STATE CAD
Notre but est de créer un diagramme d’état comme sur la figure 1.

On accède de la manière suivante Start -> Programs -> Xlinix ISE Design Suite 10.1 -
> ISE -> Accessories -> StateCAD.

Nous en arriverons à la figure 2.

Figure 2.Diagramme d’état

Page 4
Mini projet : Machine à états finis Alarme maison à distance

1-2-GÉ NÉ RATION DU FICHIER VHDL


Maintenant, nous sommes prêts à compiler, nous cliquons sur l’icône , si aucun
problème ne se détecte, la fenêtre suivante apparaît :

Figure 3.Compilation

Une fois, nous cliquons sur Close, notre fichier VHDL se génère automatiquement.

Figure 4. Fichier VHDL

Page 5
Mini projet : Machine à états finis Alarme maison à distance

1-3- SIMULATION DU DIAGRAMME D’É TAT


Après avoir crée notre machine à état sous State CAD, et généré le fichier VHDL, nous allons à
présent simuler notre diagramme d’état.

Figure 5. Simulation

Le StateBench permet de simuler un digramme d’état à partir de notre design à raison d’un cycle
d’horloge, en changeant les entrées et vérifiant les sorties.

La simulation représentée sur la figure 5 prouve que le diagramme d’état que nous avons crée se
comporte parfaitement.

2-IMPLÉ MENTATION DU CODE VHDL


2-1 – CRÉ ATION D’UN NOUVEAU PROJET
Nous allons voir comment créer un nouveau projet sur Xilinx 10.1, après avoir cliqué sur
l’icô ne File, sélectionner New Project, une fenêtre s’ouvre afin de nommer votre fichier et
spécifier ses propriétés (Fig.6).

Page 6
Mini projet : Machine à états finis Alarme maison à distance

Figure 6.1.

Création d’un projet

Cliquons sur Next, la fenêtre suivante apparaît, cliquer sur Finish.

Figure 6.2.

Création d’un projet

Page 7
Mini projet : Machine à états finis Alarme maison à distance

Le navigateur du projet affiche un aperçu vide de l’hiérarchie de la fenêtre de notre projet.

Figure 6.3.

Création d’un projet

2-2- IMPLÉ MENTATION

A présent, nous allons ajouter le fichier VHDL que nous avons généré
précédemment, la figure 7.2 montre l’aperçu d’un ajout réussi du code
VHDL.

Figure 7.1.

Implémentation

Page 8
Mini projet : Machine à états finis Alarme maison à distance

Figure 7.2. Implémentation

La figure 7.3 affiche le code VHDL implémenté dans la fenêtre du navigateur de notre projet.

Figure 7.3.
Implémentation

2-3- GÉ NÉ RATION DES SCHÉ MAS BLOCS


Il faut tout d’abord vérifier la syntaxe de notre code VHDL, pour ce faire, dans la fenêtre Processes,
nous exécutons Check Syntax (Figure 8.1).

Page 9
Mini projet : Machine à états finis Alarme maison à distance

Figure 8.1.

Verification de
la syntaxe

Dans l’étape suivante, nous allons afficher nos schémas blocs. Tout d’abord nous allons exécuter
Create Schematic Symbol dans la fenêtre Processes

Figure 8.2.

Création du
symbole
schématique

Page
10
Mini projet : Machine à états finis Alarme maison à distance

Puis nous exécutons View RTL Schematic dans la fenêtre Processes, à la droite de la fenêtre du
navigateur du projet notre schéma apparait :

Figure 8.3. Création des schémas blocs

3- SIMULATION FONCTIONNELLE D’UNE DESCRIPTION VHDL


3-1- CRÉ ATION DES STIMULI

Une simulation se fait grâce à des stimulis. Pour simplifier, les stimuli sont à la simulation ce
qu’est le GBF à un montage électronique en phase de test. Il faut créer les signaux
pertinents pour vérifier la fonctionnalité du design.
On construit les stimuli en créant un fichier du type «Test Bench Waveform ». Pour ce
faire: Project -> New source, puis choisir Test Bench Waveform dans la liste proposée.
Donner un nom pour le fichier de test dans le champ file name.
Ensuite, le logiciel invite à choisir quelle description doit être soumise au test. Choisir la
source concernée VHDL ou schematic.
Après avoir cliqué sur terminer, la fenêtre qui suit s’affiche :

Page
11
Mini projet : Machine à états finis Alarme maison à distance

Figure 9.
Initialisation du
temps

Finalement on obtient l’ensemble des entrées et sorties du design. Il ne reste plus qu’à

Construire les stimuli (chronogrammes) : (Fig. 9.1)

Figure 9.1. Le
chronogramme

Page
12
Mini projet : Machine à états finis Alarme maison à distance

3-2 SIMULATION FONCTIONNELLE

La simulation fonctionnelle s’obtient très facilement. . Sélectionner le fichier de test qui


vient d’être créé. La liste des process associés s’affiche dans la fenêtre Process for current
source. Choisir la simulation fonctionnelle. (Fig. 9.2)

Figure 9.2. La simulation fonctionnelle

En double cliquant sur Simulate behavioral Model, la fenêtre Simulation affiche les signaux :

Figure 9.3.
Simulation

Page
13

You might also like