LOGIQUE PROGRAMMABLE EN VERILOG
Chapitre 1. Introduction
Chapitre 2. Traitement combinatoire et syntaxe du langage
Chapitre 3. L'usage de l'outil QUARTUS II
Chapitre 4. Description comportementale
Chapitre 5. Projets : énoncés
5.1. Gestion de feux de carrefour tricolores
5.2. Réalisation d'un compte-tours
5.3. Conversion analogique numérique à simple rampe numérique
5.4. Conversion analogique numérique à rampe avec suivi
5.5. Conversion analogique numérique à approximations successives
5.6. Radar de parking
Chapitre 6. Projets : vers la solution
Page d'accueil Table des matières Niveau supérieur Page précédente Bas de la page Page suivante

5.1. Gestion de feux de carrefour tricolores

Le projet consiste à gérer un carrefour à l'aide d'un composant programmable dont le programme sera développé en langage Verilog.

Dans un premier temps, le système de gestion des feux est le plus simple possible :

  • les voies sont symétriques : le feu est au vert pendant 10 secondes, puis il passe 3 secondes à l’orange, puis il est rouge pendant 15 secondes (1 seconde de chevauchement entre les 2 voies),
  • le système est géré comme une suite de séquences,
  • la gestion des passages piétons est telle que, le feu piéton de la voie 1 est au « vert » seulement pendant le « vert » de la voie 2 et inversement. Dans tous les autres cas, il est au rouge fixe.

Le cycle normal dure 28 secondes. Il est donné dans le tableau qui suit.


On dispose :

  • d’une horloge à 1Hz,
  • la commande des feux se fait en niveau TTL et en logique inversée (actif à 0).

Les feux sont repérés par leur couleurs (Vert, Orange, Rouge) et par la voie (1 ou 2). Pour les passages piétons, on a ajouté un P en premier. Ainsi le tableau des allumages est le suivant :

Seq
V1
O1
R1
V2
O2
R2
PV1
PR1
PV2
PR2
0
R
R
R
R
1
R
V
V
R
2
R
V
V
R
3
R
V
V
R
4
R
V
V
R
5
R
V
V
R
6
R
V
V
R
7
R
V
V
R
8
R
V
V
R
9
R
V
V
R
10
R
V
V
R
11
R
V
V
R
12
R
O
R
R
13
R
O
R
R
14
R
O
R
R
15
R
R
R
R
16
V
R
R
V
17
V
R
R
V
18
V
R
R
V
19
V
R
R
V
20
V
R
R
V
21
V
R
R
V
22
V
R
R
V
23
V
R
R
V
24
V
R
R
V
25
V
R
R
V
26
O
R
R
R
27
O
R
R
R
28
O
R
R
R

 

1ère partie:

Ecrire le programme permettant :

  • d’obtenir un séquenceur à 28 positions,
  • d'afficher en clair le numéro de séquence sur l'afficheur à 2 digits,
  • de commander les sorties en fonction du numéro de séquence.

2ème partie :

On souhaite améliorer le système et permettre la réduction de l’attente pour les piétons. Ainsi il sera possible de réduire le temps d’attente lors de l’appui sur le bouton poussoir correspondant sur le poteau piéton correspondant. Le temps d'attente est réduit de 5 secondes si le piéton est rouge et la voie au vert.

Exemple : le BP1 est actionné pendant les séquences 1 à 15, ceci n’a aucun effet. Ce sera de même pour les séquences 24 à 28. Par contre, le système réduit l’attente de 5 secondes dans les autres cas (sans perturber le fonctionnement des voies). Ce sera de même pour le BP2.

3ème partie :

On pourra envisager d'ajouter une gestion « jour-nuit » grâce à un capteur qui passe à 1, la nuit et qui doit entrainer le clignottement des lampes orange des feux tricolores et des lampes rouges des piétons.

 
Page d'accueil Table des matières Niveau supérieur Page précédente Haut de la page Page suivante