Organisation et construction
Limites du code RC5
Le code RC5, peut générer 2048 ordres différents organisés en 32 groupes de 64 commandes chacun.
Nous pouvons par conséquent attribuer une adresse rc5 individuelle à chaque équipement, sans se soucier des influences de réglage d'un appareil sur l'autre.
Constitution d'une trame en code RC5
Elle se compose d'une suite de 14 bits et sa construction est la suivante :
- 2 bits de départ
- 1 bit de basculement
- 5 bits d'adressage du système
- 6 bits d'instruction
Les 2 bits de départ sont utiles pour ajuster le niveau de la commande automatique du gain AGC dans le circuit intégré de réception.
Le bit de basculement indique une nouvelle transmission de données.
Sa valeur change à chaque nouvelle activation d'une touche afin de distinguer une nouvelle pression d'une pression continue sur la même touche.
Les 5 bits suivants déterminent l'adresse du dispositif devant réagir à la commande.
Nous avons donc 25 = 32 groupes d'adressage.
L'instruction destinée à l'appareil est codée dans les 6 derniers bits.
Ce qui donne 26 = 64 instructions.
Détail d'un bit
Les bits du code RC5 sont codées en biphasé (codage Manchester), c'est à-dire qu'un bit est composé de 2 demi-bits alternés. La combinaison bas/haut caractérise un bit positionné à 1 et la combinaison haut/bas un bit remis à 0.
Détail d'une trame
Chaque bit ayant une longueur de 1,778 ms, une trame rc5 dure alors 14 x 1,778 = 24,892 ms (24,889 ms en réalité sur les documentations voir les explications un peu plus loin sur cette page).
Enchaînement des trames
La périodicité des messages (ou trame) à été choisie comme telle :
c'est un multiple de la durée d'un bit soit, 64 x 1,778 = 113,792 ms (113,78 ms exactement)
Explication des temps élémentaires du code rc5
En choisissant une fréquence de modulation infrarouge de 36 Khz nous pouvons retrouver toutes les durées de bit, trame et période du code rc5.
Mettons nous à la place d'un concepteur d'ASIC ou d'un développeur VHDL pour CPLD ou FPGA ; il travaillera avec des puissances de 2 pour simplifier la gestion des horloges. En partant du principe que l'on utilise que des diviseurs par 2, 4, 8,...64...4096... nous disposerons de fréquences multiples ou sous-multiples de 36 Khz.
En divisant 36 Khz par 64 nous obtenons une fréquence de 562,5 Hz d'ou une période de 1 / 562,5 = 1,777777... soit 1,778 ms arrondi par excès : c'est exactement la durée d'un bit.
En divisant 14 / 562,5 = 24,888888... soit 24,889 ms arrondi par excès : cela correspond à la durée d'une trame de 14 bits.
En divisant 36 Khz par 4096 nous obtenons une fréquence de 87,890625 Hz d'ou une période de 1 / 87,890625 = 113,777777... soit 113,78 ms arrondi par excès : c'est la durée de la périodicité des trames.
Récepteur infrarouge
Pour les appareils de construction personnelle ou les prototypes, les adresses réservées 27 à 31 du code rc5 sont intéressantes puisqu'elles ont été conçues dans des buts expérimentaux.

Il n'est pas difficile de câbler un récepteur, même expérimental, pour visualiser en détail une trame rc5 sur un oscilloscope. Un circuit récepteur infrarouge SFH 5110 alimenté en 5 volts conviendra pour de nombreuses applications.
Décodage d'une trame
Il existe sur le marché des composants électroniques pour traiter le code issu d'un démodulateur. Le SAA3049 Philips a été conçu pour le traitement du code rc5 ou RECS80. Après réception du code en provenance du récepteur ir le décodeur restitue en binaire l'adresse (sur 5 fils) et la donnée (sur 6 fils) contenue dans la trame.
Ce genre de fonction peut être réalisée par un micro-contrôleur ou un CPLD capables de surcroît de générer des actions (commande de moteurs, variateur, gradateur...) en fonction du code reçu.
Emetteur expérimental
Pour émettre en code rc5 nous devons moduler à 36 Khz une LED infrarouge au rythme d'arrivée de bits codés en biphasé.
Un bit dure 1778 µs et nous voyons donc tous les 1778 µs un nouveau bit qui se présente.
La trame à émettre contient 14 bits (soit une durée de 14 x 1,777...= 24,889 ms).
La périodicité des trames est équivalente à la durée de 64 bits (soit 64 x 1,778 = 113,778 ms) et nous disposons alors de l'équivalent temporel de 50 bits entre la fin d'une trame et le début d'une autre.
Construction des bits biphasés
Le codage biphasé, appelé également codage de Manchester, consiste à introduire des transitions systématiques pour chaque bit transmis. Il consiste à faire une opération logique OU EXCLUSIF (XOR) entre le signal d'horloge et le signal de données.
Lorsque le bit représente un "0", un front montant est généré ; lorsque le bit vaut"1", il est représenté par un front descendant.
Le schéma électronique du générateur de code biphasé est représenté ci-dessous : 
et le chronogramme du codage biphase est disponible sur l'image suivante :
Modulation infrarouge
Le principe est simple : il suffit d'émettre un rayonnement infrarouge (avec une led émettrice type LD 271 ou LD 274) modulé au rythme des données. La led sera pilotée par un transistor adapté (ex : BC517, IRL510) présentant un grand gain en courant et une tenue élevée aux impulsions de courant de collecteur.
En partant d'une fréquence de 36 KHz nous obtenons une période de : 1 / 36000 = 27,76 µs.
Pour un bilan énergétique favorable à l'utilisation de piles, le rapport cyclique des impulsions de la modulation est relativement bas.
Nous observons sur le chronogramme ci dessus un rapport cyclique de 1/4.
En faisant le rapport 27,76 par 4 nous obtenons une impulsion de 6,94 µs.
Cela signifie que si l'on veut fabriquer un émetteur infrarouge modulé à 36 KHz, une fréquence minimum de 144 KHz (1/6,94 µs ou 4 x 36 KHz) est nécessaire à l'horloge de notre système séquentiel.
Voir aussi la liste des codes RC5 des télécommandes infrarouge.




