Vous êtes sur la page 1sur 18

Université Hassan II

Faculté des sciences Ain chock


Casablanca

Master spécialisé en Electronique, Electrotechnique Automatique, Informatique


Industrielle (EEAII)

Commande d’une porte de garage

Encadré par : Réalisé par :


Mr.Touhami Bichry Reda
Ouzaid Youssef

1
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 course Co


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