Etude d'émission d'une trame avec le protocole actuel

Tout ce qui est en rapport avec le développement du protocole radio
Zescientist
Messages : 360
Inscription : 23 Juillet 2013, 16:38
Localisation : Arques

Etude d'émission d'une trame avec le protocole actuel

Messagepar Zescientist » 17 Août 2013, 15:14

Bonjour,

Je reviens aujourd'hui avec un nouveau graphique concernant le protocole RF actuel.
Ici je veux montrer comment sont traitées les données, de l'info que l'on veut transmettre (un ensemble de bits) aux info envoyées, en passant par les fonctions sendBit (qui créé la représentation en signal du bit) et sendPair (qui code en manchester).
Le but final, c'est de se rendre compte visuellement du traitement, et ainsi pouvoir réfléchir sur ses qualités et ses défauts, pour en préparer une évolution à venir.

Trêve de blabla :
Image

En résumé :
- Si l'on prend en période (le temps d'un changement d'état) t=310µs, on se rend compte que pour envoyé un bit "1", on prend au final environ 7t pour envoyer un seul bit d'information. (j'ai représenté 3 colonnes pour 1340µs pour gagner en place, ce qui donne l'impression de 6t, mais il en faudrait en réalité 4)
- Le code Manchester sert à avoir une moyenne de 0,5Vmax (la moitié de la valeur de tension haute), or, dans notre cas, un bit, transmis sur 7t se compose de 2 Vmax et 5 Vmin (tension max et tension min), soit une moyenne de 0,29Vmax. Manchester n'est donc pas respecté. (De plus, dans un système syncho sur signal d'horloge, on risquerait par exemple des décrochages)

Au minima, il faudrait 1t pour représenter 1bit, 2t si l'on prend un code Manchester. On pourrait donc optimiser la bande passante du signal par 3,5 rien qu'en changeant notre façon de traiter l'information.
El'Radioman

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: Etude d'émission d'une trame avec le protocole actuel

Messagepar Yaug » 18 Août 2013, 20:21

Merci pour ce retour.
J'ai l'impression qu'il y a une erreur mais il faut que je mette le nez dedans pour voir ça.
Je te tiens au courant rapidement.

Et sinon c'est quoi au juste tes suggestions ?
Tu préconises quoi ?

Zescientist
Messages : 360
Inscription : 23 Juillet 2013, 16:38
Localisation : Arques

Re: Etude d'émission d'une trame avec le protocole actuel

Messagepar Zescientist » 18 Août 2013, 21:23

En fait, je me suis basé sur ça :

Code : Tout sélectionner

/**
      Routine: sendBit()
      Inputs:  b bool to send

      Outputs:

    Envois d'une pulsation (passage de l'etat haut a l'etat bas)
    1 = 310µs haut puis 1340µs bas
    0 = 310µs haut puis 310µs bas
*/
// ----------------------------------------------------------------------------
void protocolRF::sendBit(bool b)
{
#ifdef RASPBERRY
  if (b)
    {
      digitalWrite(g_pinTx, HIGH);
      delayMicroseconds(310);   //275 orinally, but tweaked.
      digitalWrite(g_pinTx, LOW);
      delayMicroseconds(1340);  //1225 orinally, but tweaked.
    }
  else
    {
      digitalWrite(g_pinTx, HIGH);
      delayMicroseconds(310);   //275 orinally, but tweaked.
      digitalWrite(g_pinTx, LOW);
      delayMicroseconds(310);   //275 orinally, but tweaked.
    }
#endif
}


Puis de ça :

Code : Tout sélectionner

void protocolRF::sendPair(bool b)
{
  if(b)
    {
      sendBit(true);
      sendBit(false);
    }
  else
    {
      sendBit(false);
      sendBit(true);
    }
}


Je pense qu'il vaut mieux représenter un bit "1" par Vmax (3.3V sur Rpi et 5V sur arduino) et un bit "0" par du 0V, sur une période t=310µs (à ré-estimer) tout simplement.
Au final, après application du code manchester, on aurait pour un bit "1", "10", cad Vmax pendant t suivi de 0V pendant t. Et pour un bit "0", "01".

Pour l'envoie, aucun problème au niveau du code, seulement suppressions de lignes. Par contre, pour la réception, il faudra revoir la méthode, étant donné qu'on pourrait avoir 1001 (ce qui donne une fois manchester retiré "10"). Le plus efficace serait l'utilisation d'une PLL software, mais c'est pas des plus simples à développer.
Par contre le gain final serait là, 3,5x moins d'états envoyés pour représenter le même bit.
El'Radioman


Revenir vers « Protocole radio »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron