IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Protocole de communication maison via port ethernet


Sujet :

Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Protocole de communication maison via port ethernet
    Bonjour à tous,
    Je vais peut être dire des énormités mais je souhaite en avoir le coeur net.

    La problématique:
    Je travaille dans une équipe de microélectronique qui développe des asics pour le spatial. Dans ces asics, deux parties, une partie analogique et une partie numérique. Pour communiquer avec la partie numérique nous utilisons un protocole maison. Pour fonctionner ce protocole utilise une horloge (strobe), une entrée (din) , un trigger et une sortie (dout). Le signal d'horloge est cadencé à 20MHz, les autres signaux étant évidemment directement dépendant de cette horloge.

    La solution existante:
    Aujourd'hui pour faire fonctionner ces asics nous utilisons le programme Labview (que je n'aime pas du tout) le port parallèle (trop lent). Sur ce port nous avons une petite carte qui nous permet de faire la conversion 5V vers 3.3V qui convient à notre circuit.

    Mon idée:
    Je voudrais nous débarrassez de Labview pour une solution simple, libre et efficace. Une solution qui permette aussi d'être facilement modifier par des électroniciens qui ne sont pas forcement féru de programmation.
    Pour ce faire j'avais commencé à me renseigner du coté de python et des librairies pyserial et pyParallel qui permettent de faire, si j'ai bien compris, du bit à bit (envoie 1 sur telle pin, lis cette pin, remets la pin à 0...) . Mais ces ports ne sont pas assez rapides. Je pense donc au port ethernet. Je ne trouve aucune information permettant de dire si je peux faire du "custom protocol" au travers d'un port ethernet. Si c'était possible je ne rendrais pas service qu'a mon labo...
    Le choix du python se justifie principalement par le fait que c'est un langage que je suis en train d'apprendre, que j'aime bien, sans compilation, multi-plateforme...

    Si ca vous pique les yeux je suis désolé.

    D'avance je vous remercie pour votre aide.

    Olivier

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    On peut toujours faire du custom sur Ethernet, il est prévu pour.
    Mais je ne comprends pas comment vous traitez la question de l'interface qui pourra être utilisée pour parler avec l'ASIC sur autre chose qu'un port parallèle.

    Essayez de regarder ce que vous pouvez faire avec un port USB, vous devriez avoir des convertisseurs usb->parallele ou série qui vous permettraient de faire un premier prototype (parler à l'asic avec autre chose que labview).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    On peut toujours faire du custom sur Ethernet, il est prévu pour.
    Mais je ne comprends pas comment vous traitez la question de l'interface qui pourra être utilisée pour parler avec l'ASIC sur autre chose qu'un port parallèle.

    Essayez de regarder ce que vous pouvez faire avec un port USB, vous devriez avoir des convertisseurs usb->parallele ou série qui vous permettraient de faire un premier prototype (parler à l'asic avec autre chose que labview).

    - W
    Je vous conseille aussi de regarder des projets comme :

    http://wiring.org.co/
    http://www.arduino.cc/

    Il y a peut-être des choses intéressantes pour vous au niveau des howto et bibliothèques.

  4. #4
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    Je ne suis pas optimiste quant à une solution basée sur un noyau non temps réel pour faire du temps réel.

    Python, côté PC est une solution qui va bien. Par contre, je pense qu'il faut une carte qui fasse du temps réel:
    • une carte pic à concevoir
    • un espion du commerce qui corresponds à votre protocole. Certains espions se pilotent.


    L'interface entre la carte temps réel et le pc pouvant être une liaison série, mais elle ne permet que de lancer des commandes à définir. Ces commandes sont interprétées et exécuter par la carte.

    Bon courage
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    merci highleaf
    La petite carte arduino me semble assez sympa. et pour autant que j'ai compris la question de burlingtoil, çà pourrait le faire ou en tout cas... Là comme cà je ne vois pas pourquoi cela ne le fera pas:
    1 - On remplace le port parallèle par l'interface Arduino,
    2 - Elle peut parler avec un PC via son port USB qui l'alimente,
    3 - il y a une interface C qui peut permettre de traduire le jeu de commandes de l'ASIC dans les signaux qui lui sont envoyés. En clair une bibliothèque C qui expédie des commandes, voir exemple de commandes.
    4 - un wrapper qui permette d'intégrer la bibliothèque C à Python

    Et on a la base d'un proto qui ne fait pas grand chose mais de premiers dialogues toujours encourageants.

    Après il faut passer aux choses sérieuses car LabView est peut être aussi utilisé pour faire des choses un peu plus compliquées qu'échanger des informations avec l'ASIC via le port parallèle.
    Il y a peut être aussi des données à récupérer.
    Enfin bon une vraie étude à faire, définir un plan de route, voir comment on pourrait réaliser çà, rendre le truc attractif pour pouvoir se faire aider,...

    Cela pourrait être un projet sympa à construire et à réaliser.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/05/2014, 12h58
  2. Communication port ethernet
    Par waelamor dans le forum VB.NET
    Réponses: 1
    Dernier message: 19/08/2013, 13h32
  3. Réponses: 0
    Dernier message: 24/04/2012, 21h44
  4. Réponses: 0
    Dernier message: 27/03/2010, 13h16
  5. Réponses: 2
    Dernier message: 18/08/2008, 17h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo