You are on page 1of 3

CODAGE-DECODAGE PCM

Rappelons tout d'abord que, en PPM, la donnée à transmettre est la durée de l'impulsion à transmettre aux servos. Fig. 5. Ce qui est fait par position relative dans la séquence. En PCM, nous allons transmettre, non pas la durée réelle, mais le NOMBRE qui mesure cette durée. Ainsi, si la durée à transmettre au servo est 1225 µs, nous transmettrons le nombre 1225 ! Comment faire cela ? Tout d'abord en traduisant cette valeur en BINAIRE Voir Fig. 6.

Constatons que pour une résolution de la µs, la valeur binaire possède 11 chiffres, soit 11 bits. Une transmission parallèle nécessiterait 11 fils ! Il faut donc utiliser la transmission SERIE, bit après bit. Pour ce faire, les microcontrôleurs possèdent une section spécialisée : le SCI ( Serial Communication Interface ) pratiquant généralement le mode NRZ ( Non Return to Zero ) Le signal correspondant à la transmission de 1225 aura l'aspect donné en Fig. 7.

Au repos, le signal est à 1, la trame démarre par un bit de START ( passage à 0 ) puis les 11 bits de donnée, poids faible en tête. Remarquer que si deux "1" se suivent, il n'y a pas retour à "0". La trame se termine par un bit de STOP ( à 1 )

La cadence d'envoi est la VITESSE de TRANSMISSION. Elle s'évalue en Bits par seconde, soit en BAUDs . En fait le signal de la fig. 7 n'est pas complet car il lui manque un bit de vérification. Ce bit s'évalue souvent en faisant la somme des bits de donnée. Ici 1+0+0+1+0+0+1+1+0+0+1 = 5 en décimal, nombre impair, d'où bit de vérification ( Checksum ) à 1. Par ailleurs le numéro de voie doit être ajouté : Il faut 3 bits de plus pour 8 voies. Cela nous amène à 1+3+11+1+1 = 17 bits ! Et cela pour la transmission d'une SEULE voie !! Il est déjà facile d'évaluer le gouffre de différence existant entre la simplicité de l'impulsion PPM et la complexité du signal PCM ! Un autre problème apparaît : C'est celui de la vitesse de transmission. N'oublions pas que le signal codeur va devoir transiter par la voie HF de l'ensemble RC. Comme nous aurons plus tard l'occasion d'en parler, le modulation de fréquence ( FM ) est généralisée. En fait, il s'agit de NBFM ( FM à bande étroite ) hélas caractérisée par une BANDE PASSANTE étroite aussi . Dans ces conditions, on peut estimer que 250 µs est la durée minimum de transmission d'un bit, soit 4 au maximum par milliseconde et 4000 par seconde, soit donc 4000 bauds. Pour transmettre 17 bits, il faut 17 x 250 µs, soit 4.25 ms, durée nettement supérieure aux 1225 µs du PPM.

nous avons 90/255 = 0. Il faut remarquer que l'ensemble RC PCM n'est pas entièrement numérique : Les manches et la plupart des servos restent analogiques. le numéro de voie est nécessaire. 12 . ce qui est mieux que la précision globale de la quasi totalité des servos existants. Pour passer en numérique intégral. Le PCM n'est pas. soit à base d'algorithmes de compression ( comme en vidéo ) soit à base de priorités. que les voies importantes à chaque séquence et les autres successivement. 1024 ! En se limitant à 8 bits. soit 1023 pas pour 90° et 90/1023 = 0.. Le PCM ne se conçoit qu'avec un micro-contrôleur. selon la précision désirée. soit en ne transmettant que les voies qui ont été modifiées . parait-il. en logique c'est bon ou c'est mauvais !! On aime ou on n'aime pas !! Le PPM lui prévient : Les servos frétillent avec le souffle avant de déclarer forfait. on peut se dispenser de numéro de voie dans la trame. On peut coder la donnée de voie sur 8.. La tension des manches et commandes est lue en séquence par un convertisseur Analogique/Digital délivrant le NOMBRE binaire correspondant. Le choix de la résolution finale est également important. sans parler des jeux de tringlerie ! Il y a cependant. 2008 µs. ( Les nouveaux servos numériques restent analogiques sur leur entrée ! ) Le CODEUR PCM. puis brutalement c'est la coupure de liaison. 10. 992 µs et 255 à la durée maximum. Voir Fig.. Par contre. Il est cependant réaliste de constater que la course d'un servo étant de 90° env. Jusqu'au dernier mètre. Lorsque la trame reçue est acceptée par le décodeur ( voir plus loin ) on est quasi sûr de sa qualité. en ne transmettant par ex. sensible au souffle du signal au voisinage de la portée limite. Un tel choix aurait l'avantage de réduire de 17 à 14 le nombre de bits par voie. comme chaque constructeur a son système. Si la compression des données est utilisée. les servos sont impassibles. La Fig. on s'en doute. pour 255 pas.Et c'est ici que l'affaire se corse ! Car pour palier ce défaut. chaque constructeur fait appel à SA technique propre.088° par pas ! Finalement. 9 donne une idée du principe de cette conversion : La tension analogique Van est "située" par rapport aux "marches" d"un escalier de valeurs établies par des batteries de comparateurs ( par ex. Cette conversion peut se faire à 8. Eh oui. ). des pilotes exigeant au moins 10 bits de résolution. si la méthode de priorité est choisie. avec 9. comme en PPM. il y a incompatibilité totale entre le PCM de Paul et celui de Pierre ! Techniquement c'est gênant mais commercialement c'est intéressant! Mais qu'apporte donc en plus le PCM ? C'est la solidité de la transmission de l'information. par ex. bits. ce qui donne un pas de 4 µs. bits. Il y aurait alors 256 ou 1024 ou 4096 marches. il faudrait remplacer les manches à potentiomètres par d'autres à encodeurs incrémentaux et équiper les servos de µC capables de recevoir directement la trame PCM. mais donnerait une précision moindre. entre autres. on peut affecter la valeur 0 à la durée minimum de voie. .35° par pas. 10 on en a 512. à condition d'inclure un signal de synchro typique. 8. 9 .. Avec 8 bits. on obtient 256 positions de servo possibles..

Les données série sont ainsi remises en parallèle . cohérence des résultats . mais on sait très bien l'inefficacité de la solution.. Le DECODEUR PCM. C'est ce qui fait clamer à certains que le PCM est imbrouillable. un mode FAIL-SAFE peut s'enclencher. en mode émission. donc de 3ème génération ( voir réf 2 et 3) se comporte exactement comme un PCM. par exemple. 10. .Les résultats de la conversion A/D sont traités par un "centre de calcul" prenant en compte tous les paramètres de la cellule en activité. qui les sérialise pour former la séquence de sortie. Bien entendu. Il faut alors ramener le modèle à une distance plus adaptée . plaçant.. Voir Fig. le PCM s'avère plus vulnérable aux perturbations que le PPM pour lequel l'information transmise est plus rustique.mais avec une moindre vulnérabilité. les valeurs passent en mémoire de sortie où elles sont converties en impulsions convenant aux servo-mécanismes. ajoutant numéros de voies. La séquence reçue est envoyé dans un SCI comparable au précédent. Un simple parasite dans la trame en détruit la validité et la fait rejeter.. Les valeurs obtenues sont enfin envoyées dans un SCI. Il s'ensuit évidemment des pertes momentanées de liaison que le pilote peut sentir si elles durent un peu. ce qui est faux ! Par contre un PPM à µC. si on le peut ! Si les défauts durent un temps excédant une valeur programmée. la valeur n'est pas transmise et le convertisseur de sortie exploite la dernière valeur déclarée bonne. si on compare un PPM standard et un PCM à µC. appliquant les impératifs de compression ou de priorité. Elles sont stockées dans la mémoire d'entrée. Bien entendu les vitesses de transmission du codeur et du décodeur doivent être identiques ( même nombre de bauds ). le PPM envoie les servos "dans les coins" alors que le PCM bloqué ne fait rien bouger. En fait. on constate que. en fonction de critères imposés ( bit de checksum. Si le test est mauvais. perturbé.. avec de nombreux bits par voie. les gouvernes sur des positions prédéfinies. Conséquence : toutes les anomalies sont "gommées" et les servos ne "bafouillent " pas. La séquence reçue est alors analysée par le µC. On se rappelle que l'information PCM est très complexe. mais en mode réception. ) Si le test est bon.