[Numérique] Bit start modbus
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

Bit start modbus



  1. #1
    invitec115f64d

    Bit start modbus


    ------

    Bonjour,

    je suis entrain de découvrir le protocole modbus mais j'ai un petit problème de compréhension.

    A priori, on retrouve la configuration suivante lors de l'envoie de données :
    - Slave adress : 1 byte
    - Function code : 1 byte
    - Data : 0 to 256 bytes
    - CRC : 2 bytes

    Je suis en mode de transmission RTU. Il y a donc 11bits d'utilisé pour 1 octet/byte.
    Soit :
    - 1 start bit
    - 8 data bits
    - 1 bit de parité
    - 1 bit stop
    (on peut remplacé les 2 derniers bits par 2 bits stop si pas de gestion de parité).

    Ma question est la suivante. Lors de l'envoie d'une info du maître vers l'esclave, il y aura donc 1 bit de start, 1 bit de stop à chaque byte envoyé (soit minimum 4 bits de start)? ou 1 bit de start à chaque début de tram donc 1 seul bit de start par transmission?

    J'espère avoir été clair.
    Merci d'avance!

    -----

  2. #2
    invitee05a3fcc

    Re : Bit start modbus


  3. #3
    invitec115f64d

    Re : Bit start modbus

    Merci Daudet. Donc enfaite le bit start n'est créé qu'une seul fois avant chaque transmission?

  4. #4
    invitee05a3fcc

    Re : Bit start modbus

    Non .....
    Le ModBus est une transmission asynchrone, donc chaque octet est encadré d'un bit start et d'un ou deux bits stop

  5. A voir en vidéo sur Futura
  6. #5
    inviteb9a90acc

    Re : Bit start modbus

    Et c'est pour cette raison que la vitesse d'un bus asynchrone s'exprime en bauds et non pas en bps. Tu remarqueras qu'une liaison modbus sur un automate se configure à 9600 ou 19200 bauds en règle générale.

  7. #6
    antek

    Re : Bit start modbus

    Citation Envoyé par Johnplayer Voir le message
    Et c'est pour cette raison que la vitesse d'un bus asynchrone s'exprime en bauds et non pas en bps.
    Je savais pas !
    Et ça change quoi ?

  8. #7
    inviteb9a90acc

    Re : Bit start modbus

    La différence c'est que lorsque tu dis 9600bps tu vas penser 9600/8=1200octets/secondes sauf que ce n'est vrai. Un octet prendra 10 ou 11 bits, soit 960 ou 872.73 octets/secondes, ce qui n'a rien à voir avec les 1200 calculés plus tôt. En fait, les bauds exprime une vitesse de transmission non pas un débit, imagines la différence à 921 600 baud! Mais il y a d'autres raisons, notamment le fait que les bauds contrairement au bps ne prennent pas en compte une transmission parallèle. Tu peux avoir 1200bauds et 4800bps si tu as quatre lignes de transmission par exemple.

    Après si on s'en tiens à la définition de bauds, sur un UART par exemple, dire 9600 bauds ou 9600 bps reste correct. Correct parce tu n'as qu'une ligne donc tu transfères effectivement 9600 informations binaires par secondes mais trompeur parce que tu comptes les bits de start, de parité et de stop qui ne sont pas des données.

    C'est pour cela qu'un réseau ethernet donné à 100Mbps n'enverra pas plus de 10Mo réels alors que théoriquement on obtient 12,5Mo (100/8).

    Pour de plus amples explications, je te renvoies vers wikipédia qui t'expliquera mieux que moi

  9. #8
    antek

    Re : Bit start modbus

    Oui, lorsqu'on dit 1200 bps c'est 1200 bps, on n'en tire pas de conclusions quant à la vitesse de transmission de l'information utile.
    Mais la vitesse de transmission s'exprime bien au niveau matériel en bps et uniquement.

  10. #9
    invitec115f64d

    Re : Bit start modbus

    Ok! Merci à tous pour vos réponses. Vous m'avez bien éclairé!

    Juste pour être sûr du coup ^^ On tire la ligne à 0 (bit start) après chaque octet envoyé? Donc en gros tous les 11 bits (sachant qu'un octet est entouré du bit start et d'un bit de parité et d'un bit de stop)

  11. #10
    invitee05a3fcc

    Re : Bit start modbus


  12. #11
    invitec115f64d

    Re : Bit start modbus

    nikel merci

  13. #12
    Jack
    Modérateur

    Re : Bit start modbus

    Désolé de vous contredire les gars, mais en l'occurrence, c'est à dire en bande de base, 1 bps = 1 baud.

    Il faudrait qu'il y ait une modulation du signal pour qu'un baud puisse correspondre à plusieurs bits par secondes.

  14. #13
    inviteb9a90acc

    Re : Bit start modbus

    Ou en mode synchrone lorsque tu as plusieurs lignes pour un signal d'horloge comme le qspi par exemple. Dans ce cas les bauds et les bas ne correspondent plus.

  15. #14
    Jack
    Modérateur

    Re : Bit start modbus

    Avec un UART 1bps = 1baud en tout cas.

Discussions similaires

  1. Modbus : RTU vs TCP
    Par invite0c632822 dans le forum Électronique
    Réponses: 0
    Dernier message: 25/03/2016, 09h01
  2. communication MODBUS RTU
    Par invite58a9e8b2 dans le forum Électronique
    Réponses: 0
    Dernier message: 05/08/2014, 15h18
  3. Modbus rtu
    Par maccoa dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 03/03/2012, 19h52
  4. Souci MODBUS RTU
    Par invite902da5a5 dans le forum Électronique
    Réponses: 3
    Dernier message: 14/10/2011, 17h57
  5. Modbus en Matlab
    Par invite8682da14 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 07/04/2010, 00h12
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...