Dernière mise à jour :
21/01/2019
Présentation
La présente page résume les
différents codes Philips RC5 et RC5 étendu
utilisés dans les systèmes de télécommandes
infrarouge pour équipements audiovisuels.
Les autres types de
codage Sony, Hitachi, Nec, Pionner et JVC ne sont pas abordés.
Je me suis un peu intéressé aux codes RC5 car je tenais
à fabriquer un système de mise en route d'appareils
distinct à l'aide d'une télécommande standard pour
TV (
Télécommande 004).
J'avoue m'être un peu emmêlé les pinceaux au
début, les informations que j'avais trouvées
n'étaient pas toutes forcement cohérentes (certains codes
étaient exprimés sous forme décimale et d'autres
l'étaient sous forme hexadécimale). Une fois le
minimum acquis, j'ai écrit un peu de code permettant de
simuler des trames RC5 dans Proteus avec le générateur EasyHDL intégré, et de
visualiser les trames RC5 et RC6 sur un afficheur LCD.
Codes RC5
Le
présent article décrit le contenu d'une trame RC5 au niveau
logique (bande de base), il n'aborde pas la question de la modulation
bi-phase (codage Manchester) du faisceau infrarouge (à 36 KHz ou autre
fréquence).
Vue générale de la trame
Pour un niveau logique
bas (0 V) on a une modulation du faisceau IR pendant une durée de
889 us, suivi d'une absence de modulation (repos) pendant un même laps de
temps. Pour un niveau logique haut (+5 V par exemple) on a une
absence de rayonnement IR pendant une durée de 889 us, suivi d'une
modulation du faisceau pendant ce même laps de temps.
| |
Echelle 36 kHz volontairement non respectée | Echelle 36 kHz respectée |
Remarque : dans le premier dessin qui précède, le signal 36 kHz est "hors échelle" uniquement pour montrer sa forme globale.
La modulation à 36 kHz du faisceau IR correspond simplement à un
hachage du faisceau à la vitesse de 36 kHz.
Si fréquence = 36 kHz, alors période (du signal 36 kHz) = 1 /36000 = 27,778 us
Une durée de 889 us correspond à 32 périodes du signal de fréquence 36 kHz (et de période 27,778 us) :
32 périodes (du signal 36 kHz) = 32 x 27,778 = 888,8 us (valeur arrondie à 889 us)
En regardant une trame IR
"de loin" (sans zoom sur les bits) on peut voir une suite de trains d'impulsions,
dont l'espacement entre activité et repos dépend de la valeur des bits
transmis.
Trame avec adresse = $05 et commande = $35
Et si on regarde une trame démodulée (où l'on a récupéré les bits
transmis et où la porteuse 36 kHz a été supprimée) on peut voir quelque
chose qui ressemble aux copies d'écran suivantes.
Codes émis par une télécommande Philips pour lecteur CD 723
La trame RC5 est composée de 14 bits :
- 2 bits de start toujours positionnés à 1 (un seul bit Start pour le code RC5 étendu)
-
1 bit de "bascule" (toggle) qui change d'état quand une touche
est relachée puis pressée de nouveau (détection
appui continu)
- 5 bits pour le numéro d'adresse système
- 6 bits pour le numéro de commande (7 bits pour le code RC5 étendu)
Bits de Start (bits #1 et #2)
Ces bits qui sont toujours à 1 sont aussi appelés bits de
calibration AGC (Auto Gain Control, Contrôle automatique du
gain). Ils permettent au récepteur d'ajuster le gain de
l'étage de réception IR en fonction du niveau de
lumière infrarouge reçue. Tous les récepteurs
n'ont pas un tel réglage automatique de gain.
Bit de bascule / Toggle (bit #3)
Ce bit indique au récepteur si deux codes reçus
identiques ont été obtenus en appuyant deux fois de suite
sur la même touche de la télécommande, ou s'ils ont
été obtenus en laissant la touche enfoncée. Cette
astuce permet par exemple de différencier deux commandes
successives "1" d'une commande "11". Ce bit change à chaque fois
que l'on relache une touche et qu'on appuie sur la même ou sur
une autre. Si on laisse le doigt appuyé sur une touche, ce bit
conserve le même état.
Numéro d'adresse système (bits #4 à #8)
Ces cinq bits permettent d'identifier le type d'équipement qui
devra agir. Le bit de poids fort (MSB) est le quatrième bit et
le bit de poids faible (LSB) est le huitième bit. Selon le
numéro d'adresse système, un même numéro de
commande (derniers bits de la trame) pourra avoir plusieurs
significations différentes. Un numéro d'adresse
système égal à zéro signifie que la trame
de données est destinée à un
téléviseur et non à un magnétoscope ou
enregistreur de DVD. La liste qui suit indique la correspondance entre
numéro d'adresse système (exprimée en notation
décimale et hexadécimale) et type d'appareil concerné.
Numéro adresse système
|
Type d'équipement
|
Remarques
|
0 ($00)
1 ($01)
2 ($02)
3 ($03)
4 ($04)
5 ($05)
6 ($06)
7 ($07)
8 ($08)
9 ($09)
10 ($0A)
11 ($0B)
12 ($0C)
13 ($0D)
14 ($0E)
15 ($0F)
16 ($10)
17 ($11)
18 ($12)
19 ($13)
20 ($14)
21 ($15)
22 ($16)
23 ($17)
24 ($18)
25 ($19)
26 ($1A)
27 ($1B)
28 ($1C)
29 ($1D)
30 ($1E)
31 ($1F)
|
TV SET 1
TV SET 2
VIDEOTEXT / TELETEXT
EXPANSION FOR TV 1 AND 2
LASER VIDEO PLAYER
VIDEO RECORDER 1 (VCR 1)
VIDEO RECORDER 2 (VCR 2)
RESERVED / EXPERIMENT
SAT 1
VCR 1/2 EXT or CAMERA
SAT 2
RESERVED
CD VIDEO / VCD
RESERVED / CAMCORDER
CD PHOTO
RESERVED
AUDIO PREAMPLIFIER 1
RECEIVER / TUNER
TAPE / CASSETE RECORDER
AUDIO PREAMPLIFIER 2
CD PLAYER
AUDIO RACK / PHONO
AUDIO SAT RECEIVER
DCC RECORDER
RESERVED
RESERVED
WRITABLE CD / CDR
RESERVED RESERVED RESERVED / LIGHTING 1 RESERVED / LIGHTING 2 RESERVED / PHONE
|
ensemble de commandes N°1 pour TV (TV1)
ensemble de commandes N°2 pour TV ( TV2)
Video-texte / Télé-texte
Extension pour TV1 et TV2 ou Vidéo Disque
Lecteur disques vidéo laser
Enregistreur vidéo #1
Enregistreur vidéo #2
Réservé / Expérimental
Récepteur satellite #1
Extension pour enregistreur vidéo VCR1 et VCR2 ou Appareil photo
Récepteur satellite #2
Réservé
CD Vidéo
Réservé ou Caméscope
CD Photos
Réservé
Préampli audio #1
Récepteur / tuner (radio)
Lecteur / enregistreur de K7 audio
Préampli audio #2
Lecteur CD
Rack audio ou Platine disque (combi)
Récepteur satellite audio
Enregistreur à K7 DCC (peut-être aussi DAT et MD)
Réservé
Réservé
Enregistreur de CD
Réservé Réservé Réservé ou Lumière 1 Réservé ou Lumière 2 Réservé ou Téléphone
|
Numéro de commande (bits #9 à #14)
Les six derniers bits décrivent le type de commande à
traiter, telle que lecture (play) ou arrêt (stop) d'un CD audio,
changement de chaîne TV (N°1, N°5 par exemple),
augmentation ou diminution du volume, etc. La liste ci-après
résume les commandes disponibles, les valeurs numériques
sont exprimées en notation décimale et hexadécimal (il est possible que
certaines ne soient pas documentées).
Numéro de commande
|
Action
|
Remarques
|
0-9 ($00-$09) 10 ($0A) 11 ($0B)
12 ($0C)
13 ($0D)
14 ($0E) 15 ($0F)
16 ($10)
17 ($11)
18 ($12)
19 ($13)
20 ($14)
21 ($15)
22 ($16)
23 ($17)
24 ($18)
25 ($19)
26 ($1A)
27 ($1B) 28 ($1C) 29 ($1D) 30 ($1E) 31 ($1F) 32 ($20) 33 ($21) 34 ($22) 35 ($23) 37 ($25) 39 ($27) 40 ($28)
48 ($30)
50 ($32)
52 ($34)
53 ($35)
54 ($36)
55 ($37)
63 ($3F)
71 ($47)
77 ($4D)
78 ($4E)
80 ($50)
81 ($51)
82 ($52)
83 ($53)
84 ($54)
85 ($55)
86 ($56)
87 ($57)
88 ($58)
89 ($59)
90 ($5A)
91 ($5B)
92 ($5C)
93 ($5D)
94 ($5E)
95 ($5F)
96 ($60)
97 ($61)
98 ($62)
99 ($63)
100 ($64)
101 ($65)
102 ($66)
103 ($67)
118 ($76)
119 ($77)
123 ($7B)
124 ($7C)
|
NUMERIC KEYS 0 - 9 -/-- TV / VCR1/2 / CD / DCC
STANDBY
MUTE
PRESETS TV / VCR1/2 INFO
VOLUME +
VOLUME -
BRIGHTNESS +
BRIGHTNESS -
COLOR SATURATION +
COLOR SATURATION -
BASS +
BASS -
TREBLE +
TREBLE -
BALANCE RIGHT
BALANCE LEFT CD SHUFFLE / DCC REPEAT VCR TIMER / CD REPEAT VCR REC MODE / TUNER SEARCH + VCR FAST REV / TUNER SEARCH - PROGRAM + (NEXT) PROGRAM - (PREVIOUS) TV P<P / VCR SLOW REV / CD INDEX + TV 1/2 / VCR AUDIO MODE / AMP SPK A / CD INDEX - STEREO / MONO VCR OTR / AMP SPK B SLOW FORWARD
PAUSE
FAST REVERSE / REWIND
FAST FORWARD
PLAY
STOP
RECORD
SYSTEM SELECT
DIM LOCAL DISPLAY
LINEAR FUNCTION (+)
LINEAR FUNCTION (-)
STEP UP
STEP DOWN
MENU ON
MENU OFF
DISPLAY A/V SYS STATUS
STEP LEFT
STEP RIGHT
ACKNOWLEDGE
PIP ON/OFF
PIP SHIFT
PIP MAIN SWAP
STROBE ON/OFF
MULTI STROBE
MAIN FROZEN
3/9 MULTI SCAN
PIP SELECT
MOSAIC MULTI PIP
PICTURE DNR
MAIN STORED
PIP STROBE
RECALL MAIN PICTURE
PIP FREEZE
PIP STEP UP
PIP STEP DOWN
SUB MODE
OPTIONS SUB MODE
CONNECT
DISCONNECT
|
Pavé numérique 0-9 -/-- C/P - C/P Select - Time
Standby
Silencieux (si TV)
Presets Infos
Volume +
Volume -
Lumière +
Lumière -
Saturation couleurs +
Saturation couleurs -
Graves +
Graves -
Aigus +
Aigus -
Balance Droite
Balance Gauche CD lecture aléatoire / DCC Répétition Programmation Magnétoscope / CD répétition Mode Enr. Magnétoscope / Tuner recherche + Retour rapide magnétoscope / Tuner recherche - Programme + (Suivant) Programme - (Précédent) - - - - -
Pause
Retour rapide
Avance rapide
Lecture
Arrêt
Enregistrement
Sélection système Ajustement luminosité localisé (1)
Fonction linaire +
Fonction linéaire -
Un cran au-dessus
Un cran au-dessous
Menu Marche
Menu Arrêt
Affichage statut système A/V
Un cran à gauche
Un cran à droite
Acquittement (validation)
Image dans image Marche / arrêt
Image dans image Décallage
Image dans image Inversion
Sonde Marche / arrêt
Sonde multiple
Gel image principale
Multi Scan
Image dans image Sélection
Image dans image Mosaïque
Réduction de bruit image
Enregistrement (stockage) image principale
Image dans image Sonde
Rappel image principale
Image dans image Gel
Image dans image Un cran au-dessus
Image dans image Un cran au-dessous
Sous-mode
Options Sous-mode
Connexion
Déconnexion
|
(1) : sur les écrans récents, la fonction DIM LOCAL DISPLAY permet
d'ajuster localement le niveau de rétroéclairage (lui-même divisé en
plusieurs dizaines de zones indépendantes) pour augmenter le contraste
global de l'image.
Les valeurs de commande supérieures à 63 ($3F en hexa) ne peuvent être exploitées qu'avec le code RC5 étendu (voir ci-après).
Codes RC5 étendu (RC5X)
D'un point de vue modulation, une trame RC5 étendue (RC5X) est
identique à une trame RC5. La différence concerne la
façon dont sont exploités les bits transmis, toujours au
nombre de 14 par trame. Dans une trame RC5 étendue, nous avons :
- 1 bit de start toujours positionné à 1 (deux bits Start pour le code RC5 normal)
-
1 bit de "bascule" (toggle) qui change d'état quand une touche
est relachée puis pressée de nouveau (détection
appui continu)
- 5 bits pour le numéro d'adresse
- 7 bits pour le numéro de commande (6 bits pour le code RC5 normal)
Comme
on peut le constater, un des deux bits de start a été "transféré" dans
la zone "commande" pour en doubler le nombre de valeur possibles. Avec
6 bits (code RC5) le nombre de commandes différentes ne peut dépasser
64. Avec 7 bits (code RC5 étendu) le nombre de commandes différentes
atteint 128.
Protocole RC6
Le protocole RC6 diffère légèrement du
protocole RC5 et en partage les grandes lignes. Les codes
d'adresse "Système" et "Commande" listés dans les tableaux qui
précèdent semblent être les mêmes en RC6 et en RC5 (mais je n'ai
trouvé aucun document officiel l'attestant) même si pour le RC6 le
codage de ces deux paramètres se fait sur 8 bits. A noter qu'il existe
plusieurs types de codes RC6 (RC6 et RC6A) mais que le plus répendu
serait celui qui comporte deux bits Start, trois bits Champ
(Field), un bit Toggle long, 8 bits pour l'adresse (system) et 8 bits
pour le code Commande. La durée de transmission d'un bit est de 889 us,
la durée totale d'une trame est d'environ 23 ms, avec un interval de
répétition de 83 ms.
Plus de détails...