Codage Manchester

55guillaume

New Member
Bonjour,
Je souhaiterais avoir des information sur l'envoi avec le codage Manchester, comment l'utiliser, ses possibilités et ses limites.
Si j'ai bien compris il n'y a pas besoin d’émetteur ni de récepteur, juste une antenne de x centimètres et l'on peut envoyer des paquer de huits bits? est ce que jusque là j'ai bien compris?
J'aimerai utiliser ce système sur des distances plutôt courtes (environ 20 mètres?) pour commander un moteur ou envoyer un nombre (sans projet particulier pour l'instant)
Merci
Guillaume
 

jojojo

Senior Member
Bonjour,
Je souhaiterais avoir des information sur l'envoi avec le codage Manchester, comment l'utiliser, ses possibilités et ses limites.
Si j'ai bien compris il n'y a pas besoin d’émetteur ni de récepteur, juste une antenne de x centimètres et l'on peut envoyer des paquer de huits bits? est ce que jusque là j'ai bien compris?
J'aimerai utiliser ce système sur des distances plutôt courtes (environ 20 mètres?) pour commander un moteur ou envoyer un nombre (sans projet particulier pour l'instant)
Merci
Guillaume
Euh ...

Non, je pense que tu n'a pas bien compris.

Le codage Manchester n'est qu'un protocole de transmission, assez sécurisé.

Pour la transmission des huit bytes (et pas bit, un bit est un bit, un octet un octet), les instructions Rfin et Rfout nécessitent effectivement huit octets.

Pour le SUPPORT de transmission, "une antenne de x cm suffit", non, Il te faut aussi, soit un couple TX RX, avec les (éventuelles) antennes.

Bon dimanche.

Georges.
 

55guillaume

New Member
Merci
Je peux donc envoyer ce que je veux, par exemple la valeur d'une variable sans passer par le codage Manchester mais Rfin/Rfout par une paire de TX RX?
 

MGU

Senior Member
Bonjour 55guillaume et bienvenue,

En fait, il faut les deux, un picaxe (au moins 14M2 pour le code manchester) et un émetteur (TX) d'un côté, un récepteur (RX) et un 14M2 pour le décodage de l'autre côté.
On trouve des ensembles RX/TX à tous les prix (de 1 euro sur eBay à ... beaucoup plus cher pour les plus performants), pour une liaison de 20m, les moins chers suffisent.
Voir par exemple le code utilisé pour les barrières IR pour l'Agility (voir discussion à ce sujet).

Les commandes rfout et rfin codent et décodent automatiquement les variables utilisées.
Sur l'émetteur, une commande rfout envoie 8 octets (codage manchester sur l'émetteur)
Sur le récepteur, une commande rfin attend 8 octets, automatiquement décodés et directement utilisables.

MM (Mag1)
 
Last edited:

BESQUEUT

Senior Member
Merci
Je peux donc envoyer ce que je veux, par exemple la valeur d'une variable sans passer par le codage Manchester mais Rfin/Rfout par une paire de TX RX?
Comme expliqué par MGU, les commandes rfin/rfout impliquent l'utilisation du codage Manchester... Et l'utilisation d'un émetteur et d'un récepteur sont obligatoires.
Sur une liaison filaire, il n'y a en général que peu de parasites.
Dès que vous passez en liaison radio, il faut comprendre que le récepteur va recevoir bien d'autres choses que ce que vous avez émis...
C'est pourquoi, il est souvent préférable d'envoyer beaucoup plus de données que ce qui est strictement nécessaire de façon à être capable à l'arrivée de vérifier que ce qui est reçu provient bien de votre émetteur et qu'en outre le message n'a pas été modifié.
Pour le code Manchester, on envoie 8 octets pour un seul utile, mais c'est assez fiable.
Sans codage, ça peut aussi marcher dans un environnement radio calme, mais il faut admettre que de temps en temps vous ne recevrez rien ou autre chose que ce qui est attendu...
Ça dépends donc de la quantité de données à transmettre et de la fiabilité attendue.
 
Last edited:

PieM

Senior Member
Pour le code Manchester, on envoie 8 octets pour un seul utile, mais c'est assez fiable.
:confused: Le codage Manchester utilisé par RFIN et RFOUT est une émulation du codeur NKM2401 qui contient un buffer de 8 octets. Cela en assure la compatibilité. Mais rien n'oblige à avoir tous les octets identiques, bien sûr !
 

Jacques ROBERT

Senior Member
Bonsoir à tous,
Puisqu'on parle Menchester et si ce n'est pas trop long,comment ça marche et que peut on inscrire dans les 8 octets?Merci d'éclairer ma lanterne.
 

MGU

Senior Member
Bonsoir à tous,
Puisqu'on parle Menchester et si ce n'est pas trop long,comment ça marche et que peut on inscrire dans les 8 octets?Merci d'éclairer ma lanterne.
Bonsoir,

Pour faire bref, ça marche tout seul, les commandes rfin et rfout s'occupent de tout.

On place 8 octets (n'importe qu'elles données contenues dans variables bytes) dans rfout et rfin replace ces 8 octets dans les mémoires désignées.
Et comme les variables word ne sont que la concaténation de 2 variables bytes, on peut aussi bien envoyer 4 word...

MM
 

dje8269

Senior Member
Voila un lien wiki qui resume pas trop mal : lien .
on se rend compte qu'un 1 est ecrit 10 et un zero ecrit 01 . Donc quelques que soit le chiffre on auras 1 zero et 1 un . a la fin on aura le même nobre de 0 et 1 , evitant ainsi les erreurs et les composantes continus . par exemple si on veut envoyer 11111111 en manchester ca donneras 1010101010101010 . plus facile a interpetrer et evite les erreurs , mais divise la frequence par deux !

Voila vite fait ce que je crois avoir compris !

Mais comme le dis MGU c'est automatique ; il suffit d'écrire rfout , ( b1,b2,...b7) et le picaxe s'occupe de tout ; bien sur dans b1 on peut y mettre se qu'on veut ( de 0 à 255 hein !! ) .
 

PieM

Senior Member
Bonjour,
Pour compléter tout ce qui a été dit, l'avantage du codage Manchester est qu'il est synchrone, et l'horloge est contenue dans le codage lui même, l'info n'étant pas en fonction des niveau du signal mais des transitions hautes ou basses.
D'autre part le codage Picaxe est particulier car il reprend un codeur décodeur fait il y a plus de 15 ans par Mike Meakin avec un Pic.
la particularité est qu'il est limité à 8 bytes et au débit entrant de 2400 bauds. Il ajoute à la trame utile, un préambule, un signal de synchro, et surtout à la fin un contrôle cheksum (CRC) ce qui augmente la fiabilité de la transmission.
 
Top