0% ont trouvé ce document utile (0 vote)
232 vues18 pages

Rap Final VHDL

Ce résumé décrit un document technique décrivant un projet de commande d'une porte de garage à l'aide d'une machine à états réalisée avec le logiciel Xilinx ISE. Le document présente le cahier des charges, la description des entrées/sorties, le graphe d'états, la simulation et les schémas blocs correspondants.

Transféré par

Kanouni Oussama
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
232 vues18 pages

Rap Final VHDL

Ce résumé décrit un document technique décrivant un projet de commande d'une porte de garage à l'aide d'une machine à états réalisée avec le logiciel Xilinx ISE. Le document présente le cahier des charges, la description des entrées/sorties, le graphe d'états, la simulation et les schémas blocs correspondants.

Transféré par

Kanouni Oussama
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITE HASSAN II DE CASABLANCA

------------
Faculté des Sciences Aïn Chock

Département de Physique
-Master Spécialisé-
Électronique électrotechnique automatique et informatique industrielle

Mini-projet machine à états

Commande d’une porte de garage

Préparé par : Demandé par :


LAOUAM Yassine Prof. A. TOUHAMI
EL GUELAI Hamza
IJOUD Anass

Année Universitaire 2021/2022


Sommaire :
INTRODUCTION................................................................................3

 PRINCIPE DE XILINX ISE 10.1.......................................................................3

 UTILISATION DE SIMULATION......................................................................................... 3

 L’OBJECTIF........................................................................................................................... 3

1. CAHIER DES CHARGES....................................................................................................... 4

2. DESCRIPTION DES ENTRÉES/SORTIES............................................................................ 4

- Tableau des entrées : …………………………………………………………….

- Tableau des sorties : ……………………………………………….

3. GRAPHE D’ÉTATS............................................................................................................... 5

4. TEST BENCH............................................................................................10

5. SIMULATION......................................................................................................................... 12

6. SCHEMA BLOC..................................................................................................................... 12

7. CIRCUIT ÉLECTRIQUE........................................................................................................ 13

CONCLUSION...............................................................................................14

ANNEXE.........................................................................................................15

- Programme...............................................................................................15

2
INTRODUCTION :

Ce projet a pour rôle de faire comprendre aux étudiants le fonctionnement du logiciel xilinx,

ainsi les initier à la manipulation des outils de simulation.

Dans ce projet on a utilisé l’outil xilinx ISE 10.1 qui est le logiciel le plus utilisé dans

l’industrie pour la programmation et la simulation des circuits intégrés pour son efficacité et

Faisabilité.

 Principe de xilinx ISE 10.1 :

Xilinx fait partie des plus grandes entreprises spécialisées dans le développement et la

commercialisation des composants logiques programmables, et des services associés tels que

les logiciels de CAO électroniques, blocs de propriété intellectuelle réutilisables et formation.

L’outil de référence pour la simulation numérique, notamment en ce qui concerne les circuits

logiques. Il offre des possibilités avancées que ce soit en matière de programmation ou

d’implantation. Il permet de manière plus générale, de résoudre une grande diversité de

problème de simulation, dans des domaines aussi variées que le traitement du signal, les

statistiques ou la vision.

 Utilisation de simulation :

La simulation sur xilinx est une autre boîte à outils de xilinxISE 10.1 qui permet de faire

des simulations des circuits et schémas électrique définis à l’aide d’un outil graphique. On

se propose ici d’utiliser la simulation pour définir le changement d’état des entrées/sorties

du système. On pourra ainsi visualiser notamment les réponses du système à différents

types d’entrées.

Pour lancer la simulation, on peut utiliser soit l’outil test bench pour le vhdl, soit utiliser le
3
state bench dans la fenêtre du diagramme d’état.

 L’objectif :

 Analyser le comportement d’une machine afin de réaliser son diagramme d’état,

 programme VHDL, schéma bloc puis le circuit électrique.

 Effectuée la simulation à l’aide du logiciel Xilinx ISE 10.1.


1. Cahier des charges :

Le principe de fonctionnement pour commander l’ouverture et la fermeture d’une porte de

garage à l’aide d’une télécommande :

- Quand l’automobiliste arrive devant le garage, il actionne sa télécommande T.

Un moteur actionne le système d’ouverture du portail.

- Quand le portail s’ouvre entièrement, un capteur de fin de course d’ouverture Co se

déclenche et ordonne l’arrêt du mouvement d’ouverture.

- Le portail reste ouvert jusqu’à un nouvel appui sur le bouton de la télécommande

qui va entrainer la fermeture du portail.

- Un capteur infrarouge de sécurité Ir ordonne au moteur de rouvrir la porte si un

obstacle est détecté.

- Quand le portail se ferme entièrement, un capteur de fin de course de fermeture Cf est

actionné et ordonne l’arrêt du mouvement de fermeture.

2. Description des entrées/sorties :

- Tableau des entrées :

Le tableau ci-dessous présente les différentes entrées de notre programme :

4
Description des entrées Nom du signal

Télécommande T

Capteur de fin de course de Cf


fermeture

Capteur de fin de Co
course d’ouverture

Capteur infrarouge Ir

Tab 1: tableau des entrées

- Tableau des sorties :

Même choses pour les sorties :

Tab 2 : tableau des sorties

Dans ce qui suit on va entamer la partie de la simulationà l’aide du logiciel xilinix par la

réalisation de notre cahier des charges.


5
3. Graphe d’états :

Un diagramme d'états-transitions est un diagramme qui fournit une représentation graphique

d'une State Machine, il ne présente que les états significatifs pour le problème posé, les

transitions autorisées entre les différents états de l’objet, et il donne des précisions sur les

événements déclencheurs des transitions, il indique aussi les traitements effectués par l’objet

lorsqu’une transition est effectuée.

Pour créer un projet (File > New Project) .

A travers cette fenêtre on peut saisir le type de périphérique que nous allons utiliser :

Après avoir choisis notre circuit, on se propose de créer une machine à état qui simule les

quatre états pour commander l’ouverture et la fermeture d’une porte de garage.

6
Il faut ajouter les quatres états sur le diagramme.

Il faut initialiser le nombre des états « Number of states » à 4.

7
D'une manière similaire on renomme et on déclare les sorties et les entrées pour chacune
des states.

Le diagramme d’états de notre cahier des charges :

8
Fig. 1 : Graphe d’états

On clique sur le bouton Si on construit la machine à états


correctement. On obtient ce message :

9
Après avoir ce message, on peut passer à la simulation.

4. TEST BENCH:

Maintenant que notre machine est terminée on veut la simuler, pour cela il suffit de

cliquer sur le bouton « State Bench » dans le menu :

Fig. 3 : Menu

On obtient alors :

10
Fig.4 : Test Bensh

Pour rapidement réaliser une simulation cliquer sur « AutomaticTestBensh ».

Fig. 5: Automatic Test Bench

On obtient ce diagramme:

Fig.6: test BENCH

11
5. Simulation:

Fig.7: simulation

Un carré bleu indique le temps après lequel les sorties (outputs) seront validés.

En cliquant sur une zone bleue on peut changer l’état de l’entrée correspondante à la ligne

sélectionné.

6. Schéma bloc:

Le schéma bloc de notre projet :

Fig.8: schéma bloc

12
7. Circuit électrique :

Fig.9 : circuit électrique

13
CONCLUSION

Ce mini projetsur lequel nous avons travaillé, nous a permisd’associer la théorie et la

pratique, mesurer nos connaissances acquises durant notre formation et mettre en

valeur notre capacité.

C’était une occasion pour découvrir et se familiariser à la programmation du logiciel

XILINX qui est un moyen d’aide à la réalisation des schémas fonctionnels, ainsi, la

simulation et la manipulation du différent système (machines d’états).

Enfin, nous tenons à remercier notre professeur, qui nous a donné cette opportunité

pour faire ce mini projet .

14
Annexe
- Programme :

Voilà le programme en langage VHDL de notre projet :

LIBRARY ieee;

USE ieee.std_logic_1164.all;

ENTITY UNTITLED IS

PORT (CLK,Cf,Co,Ir,RESET,T: IN std_logic;

Mf,Mo : OUT std_logic);

END;

ARCHITECTURE BEHAVIOR OF UNTITLED IS

SIGNAL sreg :std_logic_vector (1 DOWNTO 0);

SIGNAL next_sreg :std_logic_vector (1 DOWNTO 0);

CONSTANT Etat1 :std_logic_vector (1 DOWNTO 0) :="11";

CONSTANT Etat2 :std_logic_vector (1 DOWNTO 0) :="10";

CONSTANT Etat3 :std_logic_vector (1 DOWNTO 0) :="01";

CONSTANT Etat4 :std_logic_vector (1 DOWNTO 0) :="00";

SIGNAL next_Mf,next_Mo : std_logic;

BEGIN

PROCESS (CLK, next_sreg, next_Mf, next_Mo)

BEGIN

IF CLK='1' AND CLK'event THEN

sreg<= next_sreg;

Mf <= next_Mf;

Mo <= next_Mo;

15
END IF;

END PROCESS;

PROCESS (sreg,Cf,Co,Ir,RESET,T)

BEGIN

next_Mf<= '0'; next_Mo<= '0';

next_sreg<=Etat1;

IF (RESET='1') THEN

next_sreg<=Etat1;

next_Mo<='0';

next_Mf<='0';

ELSE

CASE sreg IS

WHEN Etat1 =>

IF (T='1') THEN

next_sreg<=Etat2;

next_Mf<='0';

next_Mo<='1';

END IF;

IF (T='0') THEN

next_sreg<=Etat1;

next_Mo<='0';

next_Mf<='0';

END IF;

WHEN Etat2 =>

IF (Co='0') THEN

next_sreg<=Etat2;

16
next_Mf<='0';
next_Mo<='1';

END IF;

IF (Co='1') THEN

next_sreg<=Etat3;

next_Mo<='0';

next_Mf<='0';

END IF;

WHEN Etat3 =>

IF (T='1') THEN

next_sreg<=Etat4;

next_Mo<='0';

next_Mf<='1';

END IF;

IF (T='0') THEN

next_sreg<=Etat3;

next_Mo<='0';

next_Mf<='0';

END IF;

WHEN Etat4 =>

IF (Ir='1') THEN

next_sreg<=Etat2;

next_Mf<='0';

next_Mo<='1';

END IF;

IF (Cf='1' AND Ir='0') THEN

next_sreg<=Etat1;
17
next_Mo<='0';

next_Mf<='0';

END IF;

IF (Cf='0' AND Ci='0') THEN

next_sreg<=Etat4;

next_Mo<='0';

next_Mf<='1';

END IF;

WHEN OTHERS =>

END CASE;

END IF;

END PROCESS;

END BEHAVIOR;

18

Vous aimerez peut-être aussi