Étape 11 : Le RC5 infrarouge protocole
1. bref historique
Ce protocole infrarouge a été développé par Philips, il a obtenu populaire vraiment rapide avec des applications populaires telles que les téléviseurs et systèmes audio HIFI. Il a été également adopté par beaucoup d’autres fabricants qui s’est spécialisé dans l’équipement audio ou vidéo. Il n’était pas le protocole uniquement infrarouge développé (NEC entré dans cette entreprise aussi bien), mais il a été un grand avantage dans les télécommandes RC5 : n’importe quelle télécommande RC5 a réussi à contrôler n’importe quel appareil RC5 !
2. forme les données, les spécifications de protocole
La télécommande dispose généralement d’un clavier et un émetteur d’une LED infrarouge au volant. La commande de données sont codé en Manchester, superposé sur une fréquence porteuse de 36KHz. Le signal infrarouge qui vient de l’émetteur est détecté, amplifié, filtré et démodulé par un composant spécialisé (notre capteur de Vishay) avec une photo-diode interne. L’appareil récepteur détecte les bords venant de la sonde et prend des décisions basées sur les commandes qui ont été envoyés dans le burst d’impulsions infrarouges. Dans le présent protocole, le flux d’informations est unidirectionnel.
La commande infrarouge possède 14 bits de données :
- 1 x bit de départ - c’est toujours « 1 » et doit faire quelque chose avec l’étalonnage initial du capteur récepteur.
- 1 x zone bit - ce bit a été ajouté plus tard, lorsque la TV et les fabricants de systèmes audio a conclu que les 64 messages différents ne suffisait pas.
- 1 contrôle x bit - ce bit est activé/désactivé à chaque pression de touche. Cela aide à faire la distinction entre deux touches rapides et une longue pression de touche.
- 5 x adresse système - sélectionne l’une des 32 types possibles de systèmes
- 6 x le système de commande - sélectionne l’un des 64 commandes possibles pour un système de TV ou de donnée audio. Avec la collaboration du bit sur le terrain, le combiné peut transmettre un nombre total de 128 contrôle différents signaux.
Le délai d’un transporteur de 36 kHz est 27,778 US et le rapport cyclique est de 25 %, cela signifie une impulsion porteuse d’une durée de 6,944 US. Puisque la moitié haute de chaque symbole (bit) du mot code RC-5 contient 32 impulsions de transporteur, la période de symbole est 64 x 27.778us = 1.778ms, et les 14 symboles (bits) d’un mot de code RC-5 complète prend 24.889ms de transmettre. Le mot de code est répété chaque 113.778ms (4096 / 36 kHz) tant qu’une touche reste enfoncée.
3. Comment cela se traduit par notre situation spécifique
Nous devons saisir ce train d’impulsions en quelque sorte afin de traiter la commande de la télécommande. Pense à cela, je commence à avoir des doutes quant à la signification des boutons deux debug j’ai ajouté "juste au cas où". Il y a assez de boutons sur un téléviseur distant...
Je l’ai déjà expliqué comment j’ai capturé les paquets infrarouges, j’ai utilisé le module de comparer à l’intérieur de la PIC d’échantillonner le signal en les points indiqué sur la capture d’écran de l’oscilloscope modifiés. Le bleu arrown indique où l’interruption externe déclenche, cela permet aux interruptions de comparaison qui sont dessinées avec fines lignes bleues et rouges. Les taches rouges marquent un front descendant pendant un intervalle de bit, qui - dans le présent protocole - correspond à une logique « 0 ». Si vous mettez les six derniers bits ensemble et voir à quoi il ressemble en décimal et hexadécimal, vous obtiendrez le nombre exact de que la page wiki de RC-5 décrit. Dans notre cas, c’est un 0 x 21, ou 33 sous forme décimale. Cet identificateur est alloué pour le bouton « canal/program down », qui signifie que j’ai caresser probablement celui-là alors que je tenais la sonde portée avec ma main droite:)
Mon code reconnaît ces patrons et peut être invité à réagir sur certaines touches d’une certaine manière ! Les quatre principales clés seront utilisés pour définir la date et l’heure actuelle !