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

C Discussion :

Régler la vitesse d'un port série à 10400bps


Sujet :

C

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 288
    Points
    288
    Par défaut Régler la vitesse d'un port série à 10400bps
    Bonjour,
    Je dois récupérer des informations depuis un chronotachygraphe (mouchard embarqué sur les poids lourds) qui envoi ses données sur un port série, à 10400bps.
    Or je n'arrive pas à configurer mon port série pour cette vitesse, les constantes existantes ne le permettent pas. Y-a-t'il un moyen de régler plus précisément la vitesse ?

    Je précise, je suis sous linux.

    Merci d'avance !

    [Edit] Ça n'a rien à voir avec la sauce, mais je viens de faire une recherche google avec le texte 10400bps et google a déjà indexé mon message sur dvp.com ! J'hallucine !

  2. #2
    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 huit_six Voir le message
    je n'arrive pas à configurer mon port série pour cette vitesse, les constantes existantes ne le permettent pas.
    Tu l'as dit toi même, les vitesses prédéfinies sont des constantes, sous windows, en tout cas. Donc pas de vitesses exotiques. C'est aussi dommage pour la vitesse M.I.D.I., 31250 bauds, que windows rend inaccessible. Dans ton cas, la solution pourrait être de mettre un peu de hardware entre les 2, avec un microcontrôleur se chargeant de bufferiser et d'adapter les flux. C'est une solution que j'ai parfois eu à utiliser.

    voici la liste des baudrates valides sous windows
    BAUDRATES = (50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200)


    Euh... Oublie, je viens de voir que tu es sous Linux!

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 288
    Points
    288
    Par défaut
    Oui, il semblerait que les vitesses supportées sous linux soient à peut près identiques... J'ai essayé avec les vitesses les plus proches, je reçois des données qui semblent incompréhensibles...

    Es-tu sûr que le réglage de la vitesse à une vitesse autre que celles définies par les constantes est impossible ?

    J'avoue qu'au niveau hardware, je suis loin d'être à l'aise, pourrais-tu préciser la solution que tu me propose à base de microcontrôleur ? Ou à défaut me donner des liens vers des ressources me permettant d'en savoir plus ?

    Merci beaucoup de ton aide !

    [Edit] Mon post est-il bien placé ? Ne serait-il pas mieux dans la section linux ?

  4. #4
    Membre chevronné

    Homme Profil pro
    .
    Inscrit en
    Janvier 2006
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Janvier 2006
    Messages : 703
    Points : 1 950
    Points
    1 950
    Par défaut
    Bonsoir,

    Il semblerait effectivement que termios ne permette pas de régler le baud rate à 10400 => http://linux.about.com/library/cmd/blcmdl3_termios.htm

    C'est pas cool de la part du constructeur de balancer un truc pas standard
    Sinon pour les vitesses proches, effectivement fallait essayer ^^, mais si tu n'as pas la valeur exacte tu n'arriveras à rien. J'ai déjà été dans ton cas, tant que tu n'est pas en accord parfait entre les 2 entités sur le baud rate ça ne sert à rien d'essayer

    L'idée du µcontrôleur entre les deux n'est pas bête. Tu peux utiliser un PIC ou Atmel et programmer ça en C. Le seul problème c'est que tu devras plus ou moins recoder le protocole toi même en C. A moins que tu tombes sur un microcontrôleur qui te permette d'utiliser le protocole RS232 nativement à 10400 bauds. Enfin je ne l'ai jamais fait, mais ça me semble faisable, sans trop se mouiller au niveau électronique.

    J'ai essayé de chercher de mon côté et c'est vraiment la galère. Pas simple de trouver des infos Je compatis donc ... Si tu t'en sors, ou si tu as des pistes, l'information m'intéresse ! Ça peut toujours servir de savoir comment s'en sortir dans ce genre de cas.

    Bon courage.

    Un site de référence sur les PIC :
    - http://bigonoff.fr/
    - http://www.abcelectronique.com/bigonoff/

  5. #5
    Membre chevronné

    Homme Profil pro
    .
    Inscrit en
    Janvier 2006
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Janvier 2006
    Messages : 703
    Points : 1 950
    Points
    1 950
    Par défaut
    Utilise plutôt "10400 baud" comme mot clef.

  6. #6
    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
    Citation Envoyé par huit_six Voir le message
    pourrais-tu préciser la solution que tu me propose à base de microcontrôleur ?
    Le plus simple est de trouver une carte d'évaluation d'un microcontrôleur avec deux ports série. On trouve ces cartes sur les sites de constructeurs, comme Microchip, les constructeurs d'arm9 comme Renesas, etc... Et là, le problème hardware est ores et déjà réglé, peut-être un simple changeur de genre à rajouter. Coté soft, on initialise un des ports à 10400 et l'autre à ce que tu veux, et le programme principal se résume à une copie croisée d'un port vers l'autre. Sous interruption et avec des buffers suffisamment grands pour ne rien perdre en cours de route, bien sûr. Comme c'est un tout petit programme, il y a de fortes chances qu'il puisse passer avec une version d'essai d'un compilo bridé en taille code. Sont assez courantes aussi des cartes à une UART et une USB. Bonne chance.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 288
    Points
    288
    Par défaut
    Bonjour,
    Bon, si j'ai bien compris, pas d'espoir de faire ça de manière logicielle... Bon je pense que je vais laisser tomber la solution DIY, je ne peux pas y passer trop de temps et il me faut une solution qui puisse se réaliser en plusieurs exemplaires (certainement plus de 100). J'avais bien trouvé ça mais j'ai cru comprendre qu'il se pourrait que le produit ne soit plus vendu, contrairement à ce qu'indique le site...

    Je viens de les recontacter, j'attends une réponse.

    En tout cas, merci beaucoup à vous pour votre aide.

  8. #8
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Si l'UART n'est pas couplé à un quartz d'une fréquence adéquate pour 10.400 bauds, et qu'il ne possède pas de registres spécifiques pour obtenir des baudrates non-standards, c'est mort.

    Pas de solution, c'est au niveau hard que se situe le blocage.


    Essaie de voir si, par le plus grand des hasards, tu n'aurais pas un UART qui supporte un paramétrage fin : regarde sa référence, et cherche sa datasheet. Si des vitesses non-standard sont possibles, ce devrait être marqué.
    Sinon, tu vas être bon pour trouver un UART adéquat, avec le quartz adéquat, et le piloter à la main.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 288
    Points
    288
    Par défaut
    Je vais finalement très certainement utiliser la solution Erco & Gener (le gen 10400 que j'avais mis en lien). Il a été développé justement spécialement pour le type d'application que l'on recherche. Comme il me faut une solution qui puisse être éventuellement produite en série, je suis obligé de laisser tomber la solution home made, ça m'aurait bien plu de m'y lancer, mais bon...
    Encore une fois merci de vos réponses !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/09/2008, 16h29
  2. [Série] Accès au port série sous linux
    Par ghost dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 10/10/2007, 10h43
  3. probleme de communication port série
    Par ben23 dans le forum MFC
    Réponses: 8
    Dernier message: 06/02/2004, 15h12
  4. Recherche de l'adresse du port série
    Par StephCal dans le forum Langage
    Réponses: 8
    Dernier message: 07/01/2004, 11h23
  5. Problème avec le port série sous Windows XP
    Par didou2dek dans le forum Composants VCL
    Réponses: 6
    Dernier message: 02/09/2003, 19h50

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