La norme RC5

Le code RC5 est une salve de 14 bits. Les bits sont codés par l'intermédiaire de fronts et non pas de niveaux logiques ou encore de durées. A un front montant correspond un "1" logique, à un front descendant correspond un "0" logique. Ce type de codage serait aussi connu son le nom de code biphase. Le code ne contient pas de "Header". En effet d'autres codes comme Technics, Yamaha et beaucoup d'autres ont un header qui se compose en général d'un "1" logique puis d'un "0" de durée en général plus grande que ceux des bits. Sur le code RC5 c'est en fait le premier bit qui a ce rôle. Le but de ce header est de permettre au récepteur de s'adapter au niveau du signal reçu. Pour la plupart des récepteurs IR intégrés il y a un CAG (Contrôle Automatique du Gain) qui permet de recevoir des signaux aussi bien de près que de loin. Mais il faut un temps d'adaptation pour que l'asservissement agisse. Ainsi on risque de perdre le premier bit, ce qui n'est pas très intéressant ! Le bit de synchronisation est un "1" logique.

Vient ensuite un bit souvent appelé bit de nature du code RC5. A la naissance du code RC5 ce bit était toujours à"1". En anticipant sur la suite, il faut savoir qu'il y a 6 bits de données (appelés aussi bits de commande). Calculons le nombre de combinaisons possibles : 26 = 64. On obtient 64 commandes différentes. Il y a une vingtaine d'année, cela était largement suffisant, on se contentait de changer les chaînes, ajuster quelques paramètres tels que la couleur et le son. Mais aujourd'hui les appareils domestiques possèdent un très grand nombre de nouvelles fonctionnalités ( utiles ? ou bien gadgets ? ) qui conduisent à un besoin de nouveau code pour les commander à distance ( il serait impensable aujourd'hui que NOUS soyons obligés de nous lever de notre fauteuil pour régler un appareil électronique, au point que, pour les magnétoscopes, si vous perdez la télécommande, il vous est impossible d'accéder à bon nombre de fonctions, encore heureux il reste la possibilité de lire un cassette, mais jusqu'à quand ? ...). Bref, 64 commandes étant trop juste, il fallait trouver une solution. Et bien c'est ce bit qui va permettre de doubler les commandes. Il reste à "1" pour les commandes d'origine, en le faisant passer à "0" il ouvre 64 nouvelles possibilités. En vous reportant à la table de code, vous vous apercevrez qu'il ne reste pas beaucoup de codes libres sur les 128 possibilités. A noter que le SAA 3049 ne reconnaît que les salves RC5 ayant ce bit à "1". Il ignore complètement ceux qui ont ce bit à "0".

Un bit dit de répétition est ensuite transmit. Ce bit a pour rôle d'informer le récepteur sur la nouveauté du code qui est reçu. Le bit change d'état à chaque nouvelle commande. Ainsi le récepteur sait s'il s'agit de la même commande ou non. Cela peut paraître évident quand on demande stop puis lecture. Mais quand on se sert du pavé numérique pour régler une heure, l'appareil doit savoir quand considérer le nouveau chiffre (quand on appuie sur 2, il faut qu'il n'en considère qu'un, et pas un à chaque réception de salve). Donc quand vous voulez rentrer 33 il faut appuyer sur 3, relâcher puis appuyer sur 3. Entre-temps le bit de répétition s'est inversé. Ca c'est l'explication claire et nette qui devrait être appliquée. En fait, cela fonctionne autrement. Pour le tester (c'est comme cela que j'ai procédé) il suffit de prendre un magnétoscope et de rentrer dans un menu où l'on se sert du pavé numérique de le télécommande et où vous allez rentrer au moins deux chiffres. Gardez une touche enfoncée, le magnétoscope reçoit et affiche la valeur, gardez toujours la touche enfoncée, cachez la led IR (avec votre main) un instant puis relibérez les signaux, le magnétoscope va alors de nouveau afficher la valeur, et pourtant le bit de répétition n'a pas changé. En réalité le magnétoscope connaît la périodicité des salves. Si une salve n'arrive plus à temps il considère que la commande est finie, puis interprète la salve suivante comme une nouvelle commande, sans se soucier du bit de répétition. (A noter que pour le code RECS80, ce(s) bit(s) est pris en compte comme il doit être)

Sont ensuite transmis les bits d'adresse système, autrement dit l'adresse de l'appareil à commander. Il est prévu 5 bits à cet effet, ce qui offre 32 appareils différents. Rien n'est à signaler, ce nombre semble suffisant même avec 2 TVs et 2 magnétoscopes.

Puis pour finir on a les 6 bits de données qui sont en fait étendus (grâce au bit de nature) à 7 bits. Donc 128 commandes possibles. Certaines personnes vous diront qu'il y a un nouveau et ancien code RC5, cela semble exagéré. Philips a tout simplement utilisé un bit qui ne servait à rien. Ainsi le code RC5 conserve son nombre de 14 bits.

Ce signal n'est pas transmis tel quel pour cause de durée de vie de la pile de la télécommande. Cet ensemble de 14 bits est envoyé modulé par une porteuse de 36 kHz. Pour réduire encore la consommation énergétique, le rapport cyclique de la porteuse n'est pas de 1/2 mais environ de 1/4: temps haut = 6,94 µs, temps bas = 20,82 µs.

Finalement :

Codage des niveaux:

"1" : un temps T à zéro suivi d'un temps T à un

"0" : un temps T à un suivi d'un temps T à zéro

avec T = 889 µs. Ce qui donne l'allure suivante:

 

La salve a donc pour allure :


Start Nature Répétition G4 G3 G2 G1 G0 A5 A4 A3 A2 A1 A0

 

Vue générale de la salve:

 

Les circuits disponibles (datasheet au format pdf disponible):


SAA3004 Alimentation de 4 à 11volts 7*64 = 448 commandes ENCODEUR
SAA3006 Alimentation de 2 à 7 volts 32*64=2048 commandes ENCODEUR
SAA3008 Alimentation de 2 à 6.5volts 20*64=1028 commandes ENCODEUR
SAA3010 Alimentation de 2 à 7 volts 32*64=2048 commandes ENCODEUR
SAA3028 Typiquement 5 volts 32*64=2048 commandes DECODEUR avec interface I2C
RAA28 Pour palier au SAA3028(fin de fabrication). Page descriptive ici. Datasheet téléchargeable ici
SAA3049 Typiquement 5 volts 32*64=2048 commandes en RC5 

16*64=1024 commandes en RECS80

DECODEUR (RC5 & RECS80)

 

Le TSOP1736 permet la réception des signaux RC5 modulés à 36Khz :

TSOP17.pdf

TSOP18.pdf

 

Sélectronic commercialisait un kit utilisant le SAA3028 et commercialise toujours (en 2004) une télécommande RC5 "bas-prix". Une description du kit ici (ou l'original ici. Merci à Christophe G.)

Voila, vous connaissez tout (?) sur le code RC5. Pour connaître les valeurs des adresses correspondant aux appareils et les commandes, consultez le texte de Philips dans La liste des codes répertoriés.


Retour au menu

Retour à la page principale

Une remarque, une suggestion, écrivez-moi : laurent.deschamps@free.fr