FR 2891385 A1 20070330 FR 0552889 A 20050927 L'invention concerne un procédé pour la réception de signaux permettant le contrôle d'un appareil à l'aide d'un objet distant tel qu'une télécommande, et un système pour la mise en ceuvre du procédé. De nos jours, les équipements vidéo et/ou audio, par exemple, des magnétoscopes, des lecteurs de disques vidéo numériques, des lecteurs de disques compacts audio ou encore des récepteurs de programmes de télévision, sont habituellement contrôlés à distance par une télécommande. io La télécommande est un appareil doté de touches, d'un encodeur et d'un émetteur de signaux, habituellement infrarouges. La télécommande transmet une trame de signaux représentant le code correspondant à la touche enfoncée. Chaque touche est associée par exemple à un chiffre ou une fonction, de sorte que la télécommande permet de transmettre des codes de fonctions à un appareil chargé d'exécuter lesdites fonctions ou de recevoir des valeurs. Une installation audio vidéo comporte plusieurs appareils, généralement dotés d'une télécommande dédiée. Les trames de signaux transmises par la télécommande comporte un champ contenant le code de la fonction et un champ contenant le code de l'appareil à commander (amplificateur, TV, décodeur, VCR, lecteur DVD, ...). Les trames de signaux infrarouges étant reçues par tous les appareils en face de la télécommande, seul celui correspondant à son code est activé et exécute la fonction correspondante. Le problème se pose maintenant lorsque deux appareils de même fonction se trouvent dans la même installation. Pour solutionner ce problème, l'utilisateur peut acheter des appareils de marque différente. En effet, les constructeurs utilisent leurs propres protocoles de communication pour transmettre des signaux d'une télécommande vers un appareil. Si le format des données ne correspond pas au protocole dédié, alors les signaux reçus par l'appareil sont simplement ignorés. La trame de signaux émis par une télécommande comporte un format défini par le protocole de communication. L'appareil de réception contrôle dans un premier temps si les signaux reçus correspondent à son protocole de communication. Si c'est le cas, alors le contenu informationnel de la trame est analysé pour en extraire le code de l'appareil. Si ce code correspond à l'appareil recevant la trame, la fonction correspondant au code reçu est exécutée. Des accords entre constructeurs d'appareils permettent qu'une même télécommande puisse contrôler plusieurs appareils de marque différente. Ceci est possible par le fait que l'appareil de réception peut interpréter des protocoles de communication différents, car les trames reçues peuvent être émises par des télécommandes provenant de to constructeurs différents, et donc doté de protocoles différents. Par exemple, une commande de volume peut être exécutée par un décodeur, ou un amplificateur, ou un récepteur de télévision. La trame contient le code unique de la fonction commandant le volume, mais le format de la trame émise varie selon le fabriquant de la télécommande, is Dans un environnement où une pluralité d'appareils peuvent recevoir des signaux émanant de plusieurs télécommandes, les signaux subissent des perturbations qui rendent souvent inexploitables les signaux reçus. En effet, lorsque les trames infrarouges de plusieurs télécommandes se chevauchent, au niveau de la réception aucune trame n'est exploitable, soit le début de la trame, soit la fin de la trame est altérée. La présente invention peut accélérer le traitement des signaux reçus selon des protocoles différents et peut améliorer le taux de reconnaissance des trames de réception. L'objet de la présente invention est un procédé de reconnaissance de trames de communication reçues par un récepteur à l'aide de signaux binaires, lesdites trames devant respecter au moins un protocole déterminé ; caractérisé en ce qu'il comporte une étape de traitement d'une trame de signaux binaires déclenchée par la réception du dernier signal binaire reçu d'un second 30 groupe de signaux binaires formant une trame respectant le au moins protocole déterminé, immédiatement précédée par la réception d'un premier groupe de signaux binaires respectant une partie du au moins protocole déterminé, le bloc constitué du premier groupe de signaux et du premier signal du second groupe ne respectant plus le au moins protocole déterminé. De cette façon, le logiciel d'acquisition et de traitement de signaux repart immédiatement en attente de réception d'un nouvel en-tête. L'avantage de cette méthode consiste en ce que l'on n'attend pas la réception d'une trame complète pour rejeter les signaux déjà acquis. io Selon un premier perfectionnement, le procédé reconnaît plusieurs protocoles. La réception d'un signal ne respectant plus aucun des protocoles déclenche l'exécution d'une nouvelle étape de reconnaissance en vue de l'acquisition d'une nouvelle trame. Selon un autre perfectionnement, la réception d'un signal déclenche l'activation d'un temporisateur. La durée de temporisation est celle qui est la plus longue des durées au cours de laquelle un signal ultérieurement reçu peut respecter un protocole pour la trame en cours de réception. L'exécution d'une nouvelle étape de reconnaissance en vue de l'acquisition d'une nouvelle trame est déclenchée lorsque intervient la fin de la temporisation sans réception de signal. De cette manière, on attend pas la réception d'un nouveau signal sachant que celui-ci ne correspond à aucun protocole pour re-initialiser l'étape de reconnaissance et se mettre en attente d'une nouvelle trame. Selon un autre perfectionnement, la réception d'un signal ne respectant pas le au moins protocole déterminé déclenche l'émission d'un signal auditif ou visuel à l'intention de l'utilisateur. De cette manière, l'utilisateur a connaissance des erreurs de réception des trames émises par une télécommande. Selon un autre perfectionnement, c'est la fin de la temporisation sans réception de signal qui déclenche l'émission du signal auditif ou visuel. L'objet de la présente invention est également un appareil électronique contrôlé à distance par une télécommande émettant des trames de signaux, lesdites trames devant respecter au moins un protocole déterminé comportant un moyen de réception des signaux émis par ladite télécommande et un moyen caractérisé en ce qu'il comporte un moyen de traitement des signaux binaires reçues déclenché par la réception du dernier signal binaire reçu d'un second groupe de signaux binaires formant une trame respectant le au moins protocole déterminé, io immédiatement précédée par la réception d'un premier groupe de signaux binaires respectant une partie du au moins protocole déterminé, le bloc constitué du premier groupe de signaux et du premier signal du second groupe ne respectant plus le au moins protocole déterminé. L'invention, avec ses caractéristiques et avantages, ressortira plus clairement à la lecture de la description d'un exemple de réalisation particulier non limitatif fait en référence aux dessins annexés dans lesquels: - la figure 1 est un diagramme bloc d'un dispositif de reproduction d'un document selon un exemple préféré de réalisation de l'invention, - la figure 2 montre un chronogramme d'émission de signaux infrarouges non reconnaissables et le traitement général effectué par l'interface de la télécommande, - la figure 3 montre un schéma montrant les principaux éléments du module de gestion des différents protocoles. Nous allons tout d'abord décrire un exemple d'appareil pour la mise en oeuvre de l'invention. La figure 1 présente un récepteur multimédia 1 muni d'un dispositif d'affichage 2 tel qu'un écran de visualisation. Le récepteur 1 peut être un décodeur pour la réception de signaux audiovisuels provenant d'un réseau à haut débit, ou un terminal autonome de visualisation de documents audiovisuels. Le récepteur 1 comprend une unité centrale 3 reliée entre autre à une mémoire 4 contenant des programmes exécutables, une horloge 8, une interface de réception de signaux infrarouges 9 pour recevoir les signaux d'une télécommande 11, une logique de décodage audio/vidéo 6 pour la création des signaux audiovisuels envoyés à l'écran de télévision 2, et une interface 5 pour la communication avec un réseau numérique à haut débit permettant de recevoir des données audio/vidéo. Le réseau est par exemple un réseau d'IEEE 1394. Le récepteur comprend également des moyens de réception 7 tel qu'un syntoniseur (TUNER selon la terminologie anglo-saxonne) et un démultiplexeur pour recevoir des documents audiovisuels d'un réseau de io diffusion. La télécommande 11 comporte notamment des touches de navigation T, J,, - et F, de touches de fonction et un pavé numérique pour l'introduction de valeur. Dans l'exemple de réalisation, la télécommande 11 est dédiée à l'appareil 1. L'écran de visualisation 2 est également contrôlable à distance avec une autre télécommande 21 qui lui est dédié. Le récepteur comprend également un circuit 10 d'affichage de données sur l'écran, appelé souvent circuit OSD, de l'Anglais "On Screen Display" (signifiant littéralement "affichage sur l'écran"). Le circuit OSD 10 est un générateur de texte et de graphisme qui permet d'afficher à l'écran des menus, des pictogrammes (par exemple, un numéro correspondant à la chaîne visualisée) ou des requêtes à l'intention de l'utilisateur. Le circuit OSD est contrôlé par l'Unité Centrale 3 en association avec un logiciel de reproduction exécutable enregistré dans la mémoire 4. De façon optionnelle, le récepteur est connecté à une unité de lecture 30 d'un support amovible d'enregistrement de documents audiovisuels. L'unité de lecture 30 est typiquement un lecteur de disque optique, elle peut être externe au récepteur 1 (comme le montre la figure 1) ou intégrée dans celui-ci. Cet appareil dispose également de sa propre télécommande 31. L'interface infrarouge 9 est de façon privilégiée réalisée sous la forme d'une partie d'un circuit spécialisé de type microcontrôleur. Ce circuit comporte des lignes d'entrées aptes à recevoir des signaux numériques représentant des niveaux logiques 0 ou 1 , et des lignes de sorties aptes à transmettre des signaux de communication à l'unité centrale 3. Les principales fonctions de ce circuit sont le décodage des signaux infrarouges reçus, leurs traductions en signaux numériques et la transmission à l'unité centrale dans un débit compatible avec cette unité centrale. Les trois télécommandes 11, 21 ou 31 peuvent commander certaines fonctions des trois appareils, mais ces télécommandes peuvent être fabriquées par trois constructeurs différents et de ce fait, peuvent transmettre les données selon des protocoles différents. Après avoir décrit les différents éléments du dispositif, nous allons maintenant expliquer comment ceux-ci coopèrent, avec l'aide de la figure 2 io et du schéma de la figure 3. En haut de la figure 2, on a dessiné une trame des bits reçus. Les bits sont émis séquentiellement, la valeur du bit correspond à une modulation particulière du signal infrarouge, ou une absence de signal. Comme il a été décrit dans le préambule, les signaux reçus correspondent à des protocoles de transmission donnés. Selon un aspect important de l'invention, l'interface détecte en temps réel le protocole de la trame et dès que le dernier signal reçu ne correspond plus à aucun protocole alors l'interface termine la reconnaissance de la trame et se met en acquisition d'une nouvelle trame. Selon un mode simplifié de réalisation, l'interface est capable de reconnaître un seul protocole de communication. Selon l'exemple illustré par la figure 2, l'interface 9 est capable de reconnaître simultanément trois protocoles numérotés 1, 2 et 3. Dans un premier temps, les signaux reçus correspondent aux trois protocoles, c'est-à-dire que la valeur des bits transmis et la durée (en anglais: timing ) de ces bits peuvent correspondre aux trames spécifiées par chacun des trois protocoles. Dans un second temps, la sixième transition intervient à un moment que le protocole 2 ne prévoit pas. De sorte que, quel que soit, les données transmises, elles ne peuvent dorénavant plus être interprétées à l'aide du protocole 2. Les signaux vont désormais être reconnus selon le protocole 1 et 3. A la neuvième transition, le signal reçu ne correspond pas au protocole 3, il ne reste plus alors qu'un seul protocole actif: le protocole 1. A la douzième transition, les signaux reçus ne peuvent correspondre au protocole 1 qui est le dernier protocole encore actif. A ce moment, l'interface n'est plus capable d'extraire quoi que ce soit de la trame reçue, elle interrompt alors l'acquisition, efface les données de la trame reçue et repart pour l'acquisition d'une nouvelle trame. Cette nouvelle acquisition consiste à attendre l'arrivée d'un prochain signal qui marquera le début de la réception d'une nouvelle trame. Ce prochain signal est la treizième transition illustrée par la figure 2. io II existe plusieurs façons de détecter qu'un signal nouvellement reçu entraîne que la trame en cours d'acquisition ne respecte plus un protocole donné. Ces différentes façons dépendent des types de protocoles utilisés. Un premier type basique de protocole décrit un ensemble de bits commençant par une transition d'un type déterminé (de l'état 0 à l'état 1 par exemple) et suivi de bits se succédant selon un chronologie bien déterminé. Typiquement, la transmission d'un bit dure 2. 5 millisecondes, les bits sont transmis en série sur une fréquence porteuse de 38 KHz ou 56 KHz. La présence ou l'absence d'un signal modulé pendant 2.5 millisecondes signifie un bit à 0 ou 1 . Une autre façon de distinguer la valeur des bits est de moduler en PWM (accronymes de l'Anglais Pulse Width Modulation ). Chaque bit est transmis au cours d'une durée déterminée divisée en une partie de signal modulée et d'une partie non modulée. Le rapport des deux parties détermine la valeur du bit. D'autres protocoles existent, on peut citer le biphase, ou code Manchester , et le PPM (accronyme de l'anglais Pulse Position Modulation ). Pour chaque protocole, il existe une tolérance pour la transmission d'un bit. Si le signal reçu est en dehors de la tolérance alors il ne permet pas une reconnaissance fiable, de ce fait tous les signaux reçus depuis la réinitialisation en vue de l'acquisition d'une nouvelle trame sont effacés et l'automate qui gère ce protocole est arrêté. Un second type basique de protocole consiste en ce que les données à transmettre sont formatées dans des blocs délimités par des valeurs prédéterminés. Par exemple, chaque octet de données est précédé par un bit de début ( start bit en anglais) à 1, et d'un bit de fin à 0 . Si l'interface 9 détecte qu'un signal ne respecte pas ce protocole, alors la trame reçue est rejetée, et l'interface se configure pour acquérir une nouvelle trame. Un troisième cas basique de protocole consiste en ce que la valeur d'un bit dépend de la valeur de bits précédemment transmis. Le cas le plus io classique est celui du bit de parité, qui permet de contrôler l'intégrité d'un octet transmis. Si un octet vient d'être transmis et que la valeur du bit de parité qui vient d'être reçu ne correspond pas à la valeur de l'octet transmis, alors les données reçues ne correspondent pas au protocole et ce protocole doit être rejeté. Un protocole donné peut se baser sur un de ces cas basiques, ou sur une combinaison de plusieurs de ces cas. Si c'est une combinaison, les raisons pour qu'une trame ne respecte plus le protocole sont multiples, car la trame reçue doit respecter l'ensemble des cas basiques utilisés. Selon un mode de réalisation préférée, l'interface 9 est en partie réalisée par un logiciel exécutable dans un microcontrôleur. Chaque protocole de communication reconnu par l'appareil 1 est reconnu à l'aide d'un automate d'états finis. Selon l'exemple de réalisation illustré par les figures 2 et 3, les trois automates s'exécutent en parallèle, c'est-àdire que chaque signal nouvellement reçu déclenche le processus de reconnaissance par chaque automate, indépendamment des deux autres. Un programme maître contrôle les trois automates et reçoit de leur part au moins les informations suivantes: - Trame en cours d'acquisition, - Erreur de réception arrêt de l'acquisition (le protocole n'est plus actif) -Trame reçue correcte les données sont disponibles dans une zone d'une mémoire de travail associée à l'unité centrale 3. Lorsqu'un protocole n'est plus actif, la routine de reconnaissance de ce protocole cesse de traiter les signaux jusqu'à la prochaine réinitialisation, c'est-à-dire lorsque le programme maître lance une nouvelle acquisition de trame. A la suite de chaque réception d'un signal, le programme maître analyse les informations transmises par les trois automates et en déduit: - qu'une trame est en cours d'acquisition et quels sont les protocoles io encore actifs, ou - qu'une trame complète vient d'être reçue et traitée correctement par un automate, ou - que plus aucun protocole n'est actif. Si le programme maître constate qu'il ne reste plus aucun protocole actif, alors il lance une re-initialisation des trois automates qui redémarrent pour l'acquisition d'une nouvelle trame. Par contre, si le programme maître reçoit un signal indiquant qu'une trame complète vient d'être correctement reçue, alors il récupère les données utiles de la trame dans une zone de la mémoire de travail et les transmet à l'application qui en a besoin. La figure 3 montre l'organisation d'un module logiciel d'interface de signaux infrarouge, selon un exemple préféré de réalisation. Chaque transition d'un signal infrarouge déclenche une interruption activant une routine considérée comme maître. La routine dite d'interruption 3.1 analyse le type de transition et enregistre le moment où cette transition est intervenue. Puis, la routine d'interruption active ou non les modules 3.2, 3.3 et 3.4 correspondant à la gestion des trois protocoles, en fonction de leurs états d'activation. L'exécution de ces modules peut s'effectuer en pseudo parallélisme, c'est à dire que la routine d'interruption 3.1 leur donnera successivement la main, une fois lors de chaque interruption. Chaque module 3.2, 3.3 et 3.4 détermine si les signaux reçus correspondent à une trame reconnaissable. Si la réponse est négative, le module va avertir la routine d'interruption 3.1 et ce module sera considéré comme inactif. Si un module transmet à la routine d'interruption un signal indiquant la réception d'une trame complète, le module d'interruption 3.1 lance la re-initialisation des trois modules afin d'être prêt à acquérir et analyser le premier signal d'une nouvelle trame dès la prochaine interruption. Dans ce cas, la routine d'interruption 3.1 avertit une application qu'une trame a été reçue et est disponible dans une zone mémoire. Si à la suite de la réception, les trois modules ne sont plus actifs, alors la routine d'interruption 3.1 lance la re-initialisation des trois modules. En effet, aucun signal reçu ne sera o exploitable car la routine est incapable d'interpréter les données selon au moins un protocole. Toutes les données reçues sont alors effacées. Avantageusement, la routine d'interruption 3.1 met à jour un indicateur d'erreur. L'état de cet indicateur est utilisé pour allumer pendant une durée déterminée, une seconde par exemple, un voyant lumineux is d'erreur ou pour afficher sur l'écran 2 une icône signalant une erreur de réception. Une autre façon de faire, pouvant se combiner à la première, consiste à émettre un signal sonore d'une durée également déterminée. La routine d'interruption repart immédiatement en attente de réception d'un nouvel en-tête. L'avantage de cette méthode consiste en ce que l'on n'attend pas la réception d'une trame complète pour jeter les signaux déjà acquis. Un perfectionnement consiste à activer un temporisateur ( timer en anglais) pour détecter une absence de signal au cours d'une durée où un ou plusieurs protocoles sont susceptible d'en attendre. Si aucun signal n'est reçu au cours de cette durée, plus aucun signal ultérieur ne sera reconnu par aucun protocole. Pour implémenter ce perfectionnement, chaque automate d'états finis fournit une durée, dépendante de l'état où il se trouve, au-delà de laquelle plus aucun signal ultérieur ne sera reconnu. Le programme maître reçoit les durées de chaque protocole encore actif et détermine la plus longue. Le programme maître active le temporisateur avec cette valeur déterminée. Si le temporisateur arrive à expiration, il est désormais inutile de tenter d'interpréter un signal ultérieur comme faisant partie de la trame en cours car il sera reçu hors délai. Dans ce cas, le programme maître conclut que plus aucun protocole n'est actif, il efface les données reçues et lance une re-initialisation des automates qui redémarrent pour l'acquisition d'une nouvelle trame. Les présents modes de réalisation doivent être considérés à titre d'illustration mais peuvent être modifiés dans le domaine défini par la portée des revendications jointes. Les signaux peuvent être de type infrarouge, io radio, micro-onde voire acoustique, ou tout autre signal permettant de transmettre une donnée numérique. L'invention ne se limite pas non plus aux décodeurs de télévision mais peut s'appliquer à tout appareil électronique contrôlable à l'aide d'une télécommande. Revendications 1. Procédé de reconnaissance de trames de communication reçues par un récepteur à l'aide de signaux binaires, lesdites trames devant respecter au moins un protocole déterminé ; caractérisé en ce qu'il comporte une étape de traitement d'une trame de signaux binaires déclenchée par la réception du dernier signal binaire reçu d'un second groupe de signaux binaires formant une trame respectant le au moins protocole déterminé, to immédiatement précédée par la réception d'un premier groupe de signaux binaires respectant une partie du au moins protocole déterminé, le bloc constitué du premier groupe de signaux et du premier signal du second groupe ne respectant plus le au moins protocole déterminé. 2. Procédé de reconnaissance de trames de communication selon la revendication 1; caractérisé en ce que les trames reçues peuvent respecter une pluralité de protocoles, le bloc constitué du premier groupe de signaux et du premier signal du second groupe ne respectant plus aucun des protocoles déterminés. 3. Procédé de reconnaissance de trames de communication selon la revendication 1 ou 2; caractérisé en ce que la réception d'un signal binaire déclenche l'activation d'un temporisateur, la durée de temporisation étant la plus longue des durées au cours de laquelle un signal ultérieurement reçu peut respecter un protocole pour la trame en cours de réception, la fin de la temporisation sans réception de signal déclenchant l'exécution d'une nouvelle étape d'acquisition d'une nouvelle trame. 4. Procédé de reconnaissance de trames de communication selon l'une quelconque des revendications précédentes; caractérisé en ce que la réception d'un signal ne respectant pas le au moins protocole déterminé déclenche l'émission d'un signal auditif ou visuel à l'intention de l'utilisateur. 5. Procédé de reconnaissance de trames de communication selon la revendication 3; caractérisé en ce que la fin de la temporisation sans réception de signal déclenchant déclenche l'émission d'un signal auditif ou visuel à l'intention de l'utilisateur. 6. Procédé de reconnaissance de trames de communication selon l'une quelconque des revendications précédentes; caractérisé en ce que la réception d'un signal déclenche une interruption activant un moyen de contrôle de l'exécution des étapes de reconnaissance des signaux reçu. i0 7. Appareil électronique (1; 2; 30) contrôlé à distance par une télécommande (11; 21; 31) émettant des trames de signaux, lesdites trames devant respecter au moins un protocole déterminé comportant un moyen de réception (9) des signaux émis par ladite télécommande et un is moyen caractérisé en ce qu'il comporte un moyen de traitement (3,4) des signaux binaires reçues déclenché par la réception du dernier signal binaire reçu d'un second groupe de signaux binaires formant une trame respectant le au moins protocole déterminé, immédiatement précédée par la réception d'un premier groupe de signaux binaires respectant une partie du au moins protocole déterminé, le bloc constitué du premier groupe de signaux et du premier signal du second groupe ne respectant plus le au moins protocole déterminé.