Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1040 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  VHDL - Contrôleur de feux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VHDL - Contrôleur de feux

n°2035898
Droit69
Posté le 14-11-2010 à 21:13:32  profilanswer
 

Bonjour à tous,
 
Je suis ingénieur en électronique depuis 2006. Mais voilà 3 ans que je travaille dans un tout autre domaine...
J'aimerais faire un retour aux sources! Et me lancer dans un projet : programmer un controleur de feux tricolores.
Après avoir parcouru la doc sur internet, j'avais pensé à prendre un PIC16F84 et le pgmer en VHDL.
J'ai donc 2 questions :
1. est ce que certains d'entre vous ont déjà réalisé ce type de projets et ont des conseils à me donner?
2. j'ai un peu lâché l'environnement depuis ces dernières années. Savez vous où je peux me procurer les logiciels Xilinx ISE et Modelsim gratuitement? J'ai tenté des torrents mais sans succès...
 
Un grand merci les amis.
 
Édité par Elmoricq : les titres tout en majuscules sont interdits


Message édité par Elmoricq le 15-11-2010 à 10:07:03
mood
Publicité
Posté le 14-11-2010 à 21:13:32  profilanswer
 

n°2035925
sligor
Posté le 15-11-2010 à 00:07:09  profilanswer
 

pour faire du vhdl il ne faut pas un PIC mais un fpga  
 
xilinx est un vendeur de fpga tu peux trouver les version gratuites des outils sur le site de xilinx  
http://www.xilinx.com/support/download/index.htm
 
modelsim est très cher mais en général les vendeur de fpga comme xilinx fournissent des version bridées mais largement suffisantes pour un débutant ;)
 
sinon pour apprendre le vhdl rien ne vaut un bon livre sur le sujet, ça permet au passage de maîtriser la programmation concurrentiel (parallèle)
en effet un circuit se comporte comme plein de petits programme simples "s'exécutant" en parallèle ;)  
 


---------------
qwerty-fr
n°2035960
esox_ch
Posté le 15-11-2010 à 10:20:02  profilanswer
 

Salut,
 
Tout ce qu'à dit sligor est vrai. Concernant le projet, ça me semble en effet une bonne manière de se "faire la main" même si, pour une appli industrielle, il faudrait utiliser un MCU (donc programmé en C) plutôt qu'un FPGA (programmé en VHDL)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2036154
h3bus
Troll Inside
Posté le 15-11-2010 à 23:05:16  profilanswer
 

Salut,
 
Comme FPGA tu as le choix en gros entre Xilinx, Altera et Actel (les plus gros)
 
Chacun dispose sur leur sites d'IDE gratuits (ils ne sont pas complet mais largement suffisant pour débuter et plus):
- Xilinx: Xilinx ISE: http://www.xilinx.com/tools/webpack.htm
- Altera: Quartus : https://www.altera.com/download/software/quartus-ii-we
- Actel: Libero: http://www.actel.com/products/software/libero/
 
Je crois qu'ils sont tous accompagnés de Modelsim (en version bridée mais ça te suffira amplement)
 
Voilà, il ne reste pus qu'à te trouver un carte de développement (et pas un PIC hein! :o


---------------
sheep++
n°2036158
Droit69
Posté le 16-11-2010 à 00:10:01  profilanswer
 

Les gars, franchement, vous êtes super. Je pensais pas que j'aurais des réponses. C'est très gentil et je vous en remercie !
 
En vous lisant, j'ai l'impression que je me trompe en voulant pgmer un PIC en VHDL.
J'aimerais développer ce projet comme si j'allais en faire une application industrielle (c'est à dire que si j'y arrive, alors j'aimerais arriver à un produit qui me permette d'ouvrir ma boite).
Ce qu'il faut savoir c'est que je ne sais pgmer qu'en VHDL. Vous me conseillez de partir avec quel genre de composant? J'ai cru comprendre qu'un PIC suffisait, mais je me trompe peut être. Qu'en pensez vous?
 
PS : dsl pr le titre en majuscules.

n°2036163
h3bus
Troll Inside
Posté le 16-11-2010 à 00:26:32  profilanswer
 

Tu ne peux pas programmer en VHDL sur un PIC, un PIC est un micro-contrôleur.

 

Ce que tu peux programmer en VHDL sont les CPLD et les FPGA. Je ne sais pas quelle était ton école mais il me semble bizarre que tu n'aies appris à programmer qu'en VHDL. En général tu apprend le C/C++ voir assembleur avant (même si je te l'accorde, on peut apprendre VHDL/Verilog sans rien connaitre de la programmation sur PC/CPU/micro-contrôleur).

 

Si tu te souviens d'avoir programmé sur PIC, alors c'était surement de l'assembleur et non du VHDL.

 

Sinon pour débuter le VHDL à bas prix je te conseille d'aller voir du coté des spartan3 chez Xilinx ou des cyclones II chez Altera. Ces puces ne sont pas trop chères, en fonction de la taille de la matrice que tu choisis. De plus il existe une foultitude de kits de développement basés dessus.


Message édité par h3bus le 16-11-2010 à 00:27:30

---------------
sheep++
n°2036206
Droit69
Posté le 16-11-2010 à 10:29:59  profilanswer
 

h3bus, pendant mes études, j'ai appris la pgmation en VHDL et en assembleur mais je n'ai pas eu l'occasion de pgmer un microcontroleur en C...
Dans ce cas, mettons de côté pour l'instant le PIC. Peut-il y avoir un avantage selon toi/vous à utiliser un FPGA pour pgmer (ds ce cas en VHDL) un controleur de feux tricolores?
Ou dois je me résigner à me remettre à l'assembleur :( ou à apprendre le C?
 
Merci.

n°2036213
h3bus
Troll Inside
Posté le 16-11-2010 à 10:48:48  profilanswer
 

Il n'y aura certainement aucun avantage, si ce n'est académique, pour une application comme la tienne à utiliser un FPGA:
- C'est plus cher (Coût à l'unité du FPGA)
- C'est plus cher (Temps de développement)
- C'est plus difficile (Généralement la conception d'un puce demande plus de temps qu'un programme classique. De plus peu de ressources sont disponibles en ligne par rapport à l'ASM ou le C)
 
Le FPGA apporte un plus dans les cas suivant:
- Si tu a besoin d'un contrôlleur n'existant pas dans le commerce, ou rare/cher, ou que tu veux une intégration sur puce (System on Chip)
- Si tu a besoin de performances et/ou de temps de réponses qui ne peuvent être respecté sur µC
- Si ton domaine d'application demande une certification du matériel numérique que tu utilise (ex: Aéronautique)
 
Cela dit si tu maîtrises bien mieux le VHDL que ASM/C tu seras certainement plus rapide pour mener à bien ton développement, à toi de faire ce choix.


---------------
sheep++
n°2036243
esox_ch
Posté le 16-11-2010 à 11:54:11  profilanswer
 

Non mais attend. il parle d'ouvrir une boîte une fois le produit terminé. C'est du suicide de lui laisser croire que baser son truc sur un FPGA est possible à long terme.
 
Non, tu prends un petit PIC (les pas cher, de toutes façons un feu c'est pas très complexe), tu apprends C "vite fait" (pas besoin d'être un cador pour arriver à mener à bien ton truc) et voilà


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2036483
Droit69
Posté le 16-11-2010 à 23:01:42  profilanswer
 

C'est vrai que pour pouvoir choisir le composant le plus adapté et le moins cher, il faut cerner les fonctions à gérer :
- Un controleur de feux tricolores gère un carrefour. Il faut donc donc 10 entrées pour faire fonctionner les feux voiture (6) et piétons (4).
- Les controleurs doivent être reliés à un PC central pour pouvoir synchroniser les feux lors de l'installation et détecter les feux défectueux. Il faut donc un espèce de module qui envoie des signaux (liaison sans fil) au PC central. Sur ce 2nd point, je n'ai aucune idée de comment faire...
 
Sachant cela :
- Un PIC suffit selon vous?
- Dois-je penser à un MCU?
- Dois-je oublier pour de bon le VHDL et apprendre le C?
 
Merci pour votre aide.

mood
Publicité
Posté le 16-11-2010 à 23:01:42  profilanswer
 

n°2036485
Droit69
Posté le 16-11-2010 à 23:08:04  profilanswer
 

Ou alors (si ça suffit et si c'est plus simple et pratique) je me remets à l'assembleur au lieu de commencer le C pratiquement à 0...
 
Et j'ai oublié également, par rapport à mon précédent mail, il manque une fonction à gérer :
- Il faut penser à ajouter en input du dispositif le capteur de poids qui détecte les voitures et enclenche le feu vert.

n°2036486
sligor
Posté le 16-11-2010 à 23:14:11  profilanswer
 

Droit69 a écrit :


- Il faut penser à ajouter en input du dispositif le capteur de poids qui détecte les voitures et enclenche le feu vert.


en général c'est pas un capteur de poids mais c'est une boucle magnétique (induction) qui est utilisée  
genre ça: http://www.eco-compteur.com/files/ [...] AFR_BD.pdf


---------------
qwerty-fr
n°2036488
h3bus
Troll Inside
Posté le 16-11-2010 à 23:20:07  profilanswer
 

Je pense qu'il faut définitivement que tu oublies VHDL.
 
Quand au dilemme C/ASM, il y a de grande chance qu'en une journée de C tu puisse faire beaucoup plus de chose qu'avec ton niveau ASM actuel (qui si j'ai bien compris est un niveau d'école, destiné à prendre contact avec le fonctionnement des CPU).
En effet il est beaucoup plus simple de développer en C qu'en assembleur, et le code résultant est bien plus facile à maintenir.
De plus avec le C tu conserve (dans un certaine mesure) le contrôle bas niveau que tu as avec l'assembleur.
 
Je te conseille donc le C.
 
En ce qui concerne le choix du micro-contrôleur, il te faut plus d'informations, notamment sur l'interface avec le capteur de poids (SPI/I²C/RS232/...?) et ton module sans fil (cette partie peut être très complexe à réaliser, surtout si il s'agit de wifi, dans ce cas je te conseille une architecture de type PC mobile)


---------------
sheep++
n°2036493
Droit69
Posté le 17-11-2010 à 00:00:48  profilanswer
 

Merci pour vos réponses.
Alors :
- j'oublie le VHDL,
- merci pr la DS de la boucle j'ai l'impression que c'est une sortie TTL (donc 0-5V si ma mémoire ne me fait pas défaut), donc à priori ca peut venir en input d'un PIC,
- module de communication avec le PC central : je ne sais pas pour l'instant.
Donc si je résume, à priori un PIC programmé en C mais il faut que je vois si le module de communication avec le PC central peut fonctionner avec le PIC.
 
Donc il faut que j'ai une idée de comment résoudre ce pbm de com sans fil... et ce à moinde coût...

n°2036498
Droit69
Posté le 17-11-2010 à 00:24:11  profilanswer
 

Je me trompe ou c'est beaucoup plus compliqué que je crois de pgmer un controleur de feux...
 
Extrait de http://membres.multimania.fr/mavat [...] garbarini/ :
 
Le contrôleur est constitué de plusieurs sous-ensemble : un Bloc CPU, un ou plusieurs racks puissance, des modules d'entrées/sorties.  
 
Le bloc CPU est constitué d'une carte CPU industrielle au format PC104 montée sur une carte servitude maison.  
 
Caractéristiques du Bloc CPU:  
 
Processeur x86 à 166 mhz.  
128 Mo de RAM.  
32 Mo de mémoire sauvegardée Flash (64 Mo à-partir de la version 3).  
4 liaisons séries asynchrones RS232.  
Bus série haute vitesse vers les cartes des racks puissances et les modules.  
2 ports USB.  
1 liaison ethernet 10/100 Mbps.  
Bornier d'entrées/sorties dédiées (Sonde EDF, Décodeur signal horaire, contact de porte, commandes relais puissances, ...)  
Gestion du chien de garde de mise en sécurité du carrefour (jaune clignotant hard).  
Afficheur LCD rétro-éclairé (4 lignes x 20 caractères) accompagné de 6 touches de navigations et 4 touches de fonctions.  
Alimentation secourue par batterie intégrée.
...

n°2036532
esox_ch
Posté le 17-11-2010 à 10:12:37  profilanswer
 

Non mais attend attend attend.
Tu veux faire quoi là? Tu veux faire un VRAI système de feux tricolores ou bien juste un proto, que tu vas ensuite faire évoluer?
 
Parce que faire un système de feux tricolores est qqch de compliqué car il y en a plusieurs à lier ensemble. Chaque feux "en soit" est par contre plus simple. Là tu confonds un peu les 2 choses


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2036537
h3bus
Troll Inside
Posté le 17-11-2010 à 10:26:13  profilanswer
 

Je rejoins esox_ch, le première chose a faire et de spécifier ton système, et le faire le plus précisément possible. Il faut que tu pense:
 
- Au fonctionnement de contrôle de feu, combien de feu, synchro avec d'autre feux, etc... le fonctionnel nominal quoi
- A la configuration de ton système (configuration statique-dans le code, configuration modifiable dans ce cas comment le faire, quelle complexité)
- Y a-t-il un IHM? comme sur le modèle que tu présente, dans ce cas qu'est-ce qu'elle fait, à quoi elle sert, comment se présente-t-elle
- Les interfaces avec tes composants externes, au moins leur type (bus série simple(SPI)/Complexe(USB)) et le protocole utilisé pour les communication (simple/complexe)
- Le connexion avec un ordinateur, quel type de connexion sans fil (Bluetooth/wifi/IrDa/...), quel protocole utiliser (HTTP/FTP/proto simple)
- L'éventuelle mise à jour de ton système => nécessité ou pas d'un bootloader
- L'aspect sécurité et durcissement du système, il s'agit quand même de feu, il faut pas afficher vert quand c'est rouge
- ... j'oublie peut être des trucs
 
Je ne pensais pas que ton projet était aussi sérieux, mais c'est sur que si tu veux le vendre ton truc, il faut bien connaitre ce qui existe sur le marché et bien identifier le besoin du client, et même ce à quoi il ne pense pas, pour arriver avec un produit fini et costaud.


---------------
sheep++
n°2036540
esox_ch
Posté le 17-11-2010 à 10:29:35  profilanswer
 

Accessoirement, je sais pas comment c'est en France, mais en Suisse le marché du feux de signalisation est un monopole d'une entreprise désignée par l'état.


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2036794
Droit69
Posté le 18-11-2010 à 01:52:01  profilanswer
 

Bonsoir,
 
esox_ch, oui j'aimerais développer un projet dans le but de créer ma boite. Je pars de pas grand chose. Pour cerner ce qui me motive... ça fait un moment que je veux créer ma boite. J'ai longtemps réfléchi et puis un jour cette idée de me lancer dans les feux de signalisation m'a traversé l'esprit. J'ai commencé à me renseigner sur les gros concurrents, sur la manière de programmer un feu. J'ai senti que je pouvais le faire et petit à petit, cette idée s'est ancrée dans mon esprit...
J'ai l'impression que vous maitrisez vraiment ces sujets de programmation. Si j'étais à votre place (cad dire si j'avais travaillé un peu plus sérieusement à l'école), je n'arrêterais pas de me lancer dans des développements de projets pour réussir à lancer ma boite.
 
h3bus, le marché c'est tous les pays en voie de développement. Ma vision des choses, c'est : je développe un produit qui marche et à faible coût, ça ne devrait pas me couter gd chose, et ensuite je me présente aux appels d'offres et je propose ce produit. Le marché est vraiment très vaste ; entre les 2 il y a évidemment des étapes intermédiaires... (en France, pas de monopole - marché ouvert).
 
Ensuite concernant le système, voici ma vision des choses :
- je developpe un controleur de feux par carrefour,
- ensuite j'ai besoin d'un moyen pour relier tous mes controleurs à un PC central afin de synchroniser certains d'entre eux.
 
Sur le 1er point, je peux réfléchir et faire qqchose (trouver quel composant choisir en fonction des besoins, apprendre le C et le pgmer). Ca je peux le faire assez rapidement je pense.
 
Sur le 2nd point par contre, je n'ai aucune visibilité, ce qui pourrait remettre en cause le 1er point...
 
Concrèment :
1/ un controleur gère un carrefour donc 2 feux voitures et 4 feux piétons :
- logiciel : en définissant bien tous les cycles sur un papier, on peut pgmer un PIC (par ex. le PIC16F84) pour gérer tout ça.
- hardware : je pose le PIC sur une plaque avec tous les composants autour que le faire fctner et je fais sortir des câbles que j'envoie vers les LEDs des feux.
 
2/ pour atteindre l'objectif de fluidifier la circulation, il faut que les controleurs soient, le plus possible, sychroniser entre eux. Faire une liaison câble paraît impossible. Il reste donc la liaison sans fil. Il faut que je regarde ce qu'il peut y avoir de disponible et combien ça peut coûter... Cette liaison sans fil permettrait également de détecter les anomalies ou de commander les feux à distance, ce qui éviterait d'ailleurs un IHM sur chaque controleur.
 
...
 
Que de projets hein :)
Bon, en attendant, demain je me lève tôt pour aller travailler. Alors bonne nuit !
Encore merci pour vos interventions.

n°2037287
Droit69
Posté le 19-11-2010 à 22:17:30  profilanswer
 

Je vous ai perdu? :)
Vous avez des idées de par où je peux commencer sur le moyen de relier tous les controleurs de feux d'un quartier? Et des différentes possibilités qui s'offre à moi?

n°2037597
esox_ch
Posté le 22-11-2010 à 14:07:42  profilanswer
 

Moi j'ai l'impression que si tu poses la question comme ça, c'est que t'as aucune chance d'y arriver (désolé :s).
Parce que au vu de ce que tu demandes, j'ai l'impression qu'il te manque toutes les bases (électronique, programmation, intégration, ...) et que donc tu va devoir passer une année à combler tes lacunes avant de pouvoir commencer à réfléchir à comment tu vas faire le tout..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2037690
Droit69
Posté le 22-11-2010 à 23:05:12  profilanswer
 

Il faut se donner à fond pour réussir un projet. Et c'est ce que je vais faire. Si des personnes peuvent m'aider et m'accompagner dans ce projet, ça me fera avancer plus vite ; si non, je me débrouillerai tout seul. Mais je ne vais pas lâcher sans avoir essayer.

n°2037691
Droit69
Posté le 22-11-2010 à 23:05:50  profilanswer
 

Quoiqu'il en soit, merci pour vos conseils. Ils m'ont été utile.

n°2038224
Droit69
Posté le 24-11-2010 à 23:36:18  profilanswer
 

J'ai tout de même une question :
Pourquoi quand je dis que je vais programmer un controleur de feux pour reprendre la main, on me dit "oui c'est une bonne idée, c'est un projet simple".
Et quand je dis que je vais programmer des controleurs de feux pour une application industrielle, on me dit que c'est très difficile.
La différence est-elle si grande que ça?

n°2038231
sligor
Posté le 25-11-2010 à 00:26:30  profilanswer
 

oui, la différence entre un projet amateur et un produit commercial est énorme


---------------
qwerty-fr
n°2038348
esox_ch
Posté le 25-11-2010 à 11:15:21  profilanswer
 

Si c'est un projet pour ton jardin :
- S'il tombe en panne, tu te dis "merde, dimanche faut que je mette ça en ordre".  
- Tu achètes les composants qui vont le mieux.
- Tu t'en fous des certifications de robustesse du système
- Ton système complet ne deviendra jamais plus complexe que 2-3 feux
 
Pour un projet pro:
- S'il tombe en panne, pour un projet pro, ta boîte est coulée par les dommages et intérêts que tu devras verser.
- Tu passes 50h à optimiser le circuit pour gagner 1€, car sur le nombre que t'en vendras, ça vaudra la peine
- Tu dois TOUT certifier, sinon personne t’achètera rien  
- Tu dois prévoir un système qui permet d'être "scalable"
 
Bref, c'est juste 2 univers différents


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  VHDL - Contrôleur de feux

 

Sujets relatifs
[VHDL/Verilog] Les FPGA et leur programmationModèle MVC : dialogue entre controleur
Problème de gestion de la liaison série RS232 en VHDL[Spring 2.5] Passer les données d'un formulaire au controleur
[VHDL] Décodeur Reed Solomon (15,9)[VHDL] Problème sous Quartus
comment faire un tableau en VHDL ?VHDL
Multiplieur de fréquence en VHDLVHDL
Plus de sujets relatifs à : VHDL - Contrôleur de feux


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR