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

Réseau C Discussion :

Passerelle CAN/Divers Réseaux


Sujet :

Réseau C

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Points : 56
    Points
    56
    Par défaut Passerelle CAN/Divers Réseaux
    Bonjour à tous,

    J'ai une question plutôt général à vous posez concernant un futur projet que je souhaite mettre en oeuvre.

    Je souhaiterais faire une passerelle CAN avec un autre réseau (Zigbee, Ethernet etc...), tout dépendra de l'utilisation de mon application.

    Il y a donc une question qui me gêne concernant cet passerelle. Si un réseau est plus rapide qu'un autre, comment adapter la vitesse d'un réseau à l'autre?

    Il est vrai que je pourrais mettre en place un buffer circulaire pour stocker les données temporairement. Mais un des réseaux est trop rapide, il va remplir le buffer au bout d'un certain temps et je risque de perdre des données?

    Merci d'avance pour vos réponses concernant cet problématique.

    Cordialement,

  2. #2
    Membre éclairé
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 471
    Points : 831
    Points
    831
    Par défaut
    Bonjour kartoon67

    Si un des réseaux est plus rapide que l'autre, alors oui tu as un gros problème et tu ne pourras pas faire ta passerelle a moins que tu puisse ralentir le réseau trop rapide.

    Après tout dépend des données que tu as a traiter: Deux solutions

    Tu souhaite transférer la dernière version d'une donnée, tu la stocke dans une variable et quand ton bus le lent veut la lire il l'utilise directement. Dans ce cas c'est toujours la dernière valeur qui est sur le bus, mais tu risque de perdre des valeurs intermédiaire.

    Tu utilise une FIFO, ou tu empile tes valeurs et tu les dépile en fonction des besoins. Le risque est d'avoir un buffer plein, et tu perd alors les valeurs que tu ne peux pas empiler.

    J'ai pas de solution miracle à ton problème, La passerelle doit être adaptée à l'utilisation de tes données à transférer.
    Page sur Developpez : http://pbriand.developpez.com

  3. #3
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Points : 56
    Points
    56
    Par défaut
    Bonjour,

    Oui je pense bien qu'il n'y a pas de solution miracle. C'est pour cela que j'ai décidé de recueillir différents avis en relation à ma problématique.

    J'avais une idée personnellement mais je ne sais pas si elle est réalisable en faite.

    Cet dernière, serait de stocker les données dans un buffer. Le réseaux le plus rapide, va donc le remplir assez rapidement. Dès que ce dernier est presque plein, je scrute avec une variable pour le savoir, je bride la vitesse du réseaux le plus rapide en l'adaptant à la vitesse du plus lent.

    Ainsi, les données pourront être échangé à même vitesse et vider petit à petit le buffer. Arrivé à une certaine valeur du tableau (qui s'est vidé), je pourrais rebasculer sur les vitesses initiales.

    Ainsi de suite...

    Qu'en pensez - vous?

    Cordialement,

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Si tu peux brider la vitesse du réseau rapide, pourquoi ne pas toujours accorder les vitesses des deux réseaux ?

  5. #5
    Membre éclairé
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 471
    Points : 831
    Points
    831
    Par défaut
    Bonjour

    D'accord avec BkTero, bride la vitesse du plus rapide.

    Dans l'automobile, cela existe déjà. Quand un réseau doit transmettre une série de trames, il de mande à la passerelle le délais de transmission entre deux trames afin d'éviter l'engorgement.
    Page sur Developpez : http://pbriand.developpez.com

  6. #6
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Points : 56
    Points
    56
    Par défaut
    Bonjour,

    Effectivement, la solution la plus efficace serait de positionner les deux réseaux à la même vitesse.

    Après, si l'on veut vraiment pouvoir utiliser par intermittence la vitesse initiale du réseaux le plus rapide. Dans ce cas, il faut que je réfléchisse à quelques astuces pour pouvoir le réaliser.

    En tout cas, merci à vous deux pour vos réponses. Cela m'as permis d'y voir un peu plus clair sur ce futur projet.

    Cdt,

  7. #7
    Membre régulier Avatar de aslo92
    Homme Profil pro
    Ingénieur développement logiciels temps réel
    Inscrit en
    Février 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels temps réel
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 43
    Points : 71
    Points
    71
    Par défaut
    Pourquoi ne pas utiliser 2 buffers pour ton réseau rapide.

    Quand le premier buffer est plein:
    - tu remplis le second
    - tu vides le premier dans un fichier sur disque dur
    Quand le deuxième buffer est plein:
    - tu remplis le premier
    - tu vides le second en l'ajoutant au contenu du fichier précédent

    etc ...

    Ainsi tu conserveras l'historique de ton réseau rapide et en plus tu pourras simuler son fonctionnement par la suite en réinjectant le contenu du fichier.

  8. #8
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    C'est une solution si le réseau le plus rapide arrête un jour d'envoyer des informations, sinon le réseau le plus lent ne pourra jamais traiter le retard. Elle peut-être assez pratique pour des tests du réseau lent, pour des rejeux...

  9. #9
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut
    Salut,

    Citation Envoyé par Kartoon67 Voir le message
    Mais un des réseaux est trop rapide, il va remplir le buffer au bout d'un certain temps et je risque de perdre des données?
    Pour moi, le seul problème est de savoir si le débit moyen de données est supérieur à ce que peut absorber le réseau lent. Si sur la moyenne on s'y retrouve grâce à un buffer, c'est bon. Sinon, augmenter la taille du buffer ne fera que reculer l'inévitable, à savoir la perte de données. Sans parler du fait que si les données arrivent trop tard, elles sont obsolètes. Dans ce cas, c'est un problème de conception.

    A+

    Pfeuh

  10. #10
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    J'ai un doute sur ce débit moyen... Tu peux avoir des données qui arrivent en masse en pendant une heure, puis plus rien pendant 23h. Effectivement, sur la journée, la moyenne peut s'accorder. Tu risques toujours des pics d'arrivée de données que ton buffer doit être capable de supporter.

  11. #11
    Membre éclairé
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Points : 742
    Points
    742
    Par défaut
    Bonsoir,

    Il y a peut-être la possibilité de compresser les données du réseau rapide pour le transfert sur le réseau lent. Avec un buffer de réception qui, s'il est rempli au 3/4 est compressé puis transmit sur le réseau lent et inversement.

    J'ai du adopter cette méthode pour une passerelle CAN radio (Module Xbee Zigbee Pro) pas à cause du débit radio (250Kbps air), mais à cause du temps de retournement de la radio (temps de basculement du modem entre l'émission et la réception).

    Bonne continuation.
    - Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
    - Travailler dur n'a jamais tué personne, mais pourquoi prendre le risque (Edgar Bergen)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème passerelle RS232/CAN
    Par mejrisshi dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 30/05/2013, 02h36
  2. applications réseaux divers
    Par kamelrahmouni dans le forum Langage
    Réponses: 2
    Dernier message: 12/06/2012, 17h00
  3. Réponses: 4
    Dernier message: 06/09/2011, 11h31
  4. Utilisation de plusieurs passerelles réseaux
    Par becks dans le forum Développement
    Réponses: 2
    Dernier message: 02/09/2011, 11h02
  5. Simulation de transmission de paquet entre différent réseaux
    Par MelloW dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 19h51

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