Brevet FR2877749A1 — publié le 20060512

La présente invention se rapporte à un procédé destiné à commander le fonctionnement d'un boîtier de décodeur double comportant une seule mémoire de type flash et deux processeurs partageant la mémoire de type flash. En particulier, l'invention se rapporte à un procédé destiné à commander le fonctionnement d'un boîtier de décodeur double comportant une seule mémoire de type flash et deux processeurs partageant la mémoire de type flash, dans lequel les processeurs peuvent exécuter simultanément un logiciel, mémorisé ou mis à niveau dans la mémoire de type flash, pour commander le fonctionnement du boîtier de décodeur. D'une manière générale, il existe de nombreux types de produits appelés boîtiers de décodeurs. Mais dans ce document, le boîtier de décodeur représente un récepteur numérique qui est capable de recevoir, décoder et afficher un signal de télévision numérique. Il est possible de classer les boîtiers de décodeurs en un boîtier de décodeur à un seul syntoniseur et un boîtier de décodeur à double syntoniseur. Un boîtier de décodeur à un seul syntoniseur classique, qui fournit en sortie un seul ensemble de signaux audio et vidéo, comporte un processeur, une mémoire de type flash, une mémoire de type SDRAM, un syntoniseur, alors qu'un boîtier de décodeur à double syntoniseur classique comporte deux composants de ceux ci, pour fournir en sortie deux ensembles indépendants de signaux audio et vidéo. C'est-à-dire que le boîtier de décodeur à double syntoniseur peut recevoir et traiter simultanément des signaux de télédiffusion de deux canaux de sorte que le signal de télédiffusion de l'un des canaux peut être enregistré pendant que le programme de télédiffusion correspondant au signal de télédiffusion de l'autre canal est visualisé. Pour fournir en sortie deux ensembles indépendants de signaux audio et vidéo afin de visualiser et d'enregistrer en même temps, cependant, non seulement deux processeurs et deux mémoires vives SDRAM mais également deux mémoires de type flash sont nécessaires ce qui résulte donc en une augmentation du coût de fabrication du boîtier de décodeur et en une complexité de la maintenance des logiciels. En conséquence, la présente invention a été réalisée pour résoudre les problèmes ci dessus apparaissant dans la technique antérieure, et c'est un but de la présente invention de procurer un procédé pour commander le fonctionnement d'un boîtier de décodeur double (à double syntoniseur) comportant une seule mémoire de type flash et deux processeurs partageant la mémoire de type flash, qui commande le fonctionnement général du boîtier de décodeur. Pour atteindre le but ci dessus, conformément à la présente invention, il est fourni un procédé destiné à commander le fonctionnement d'un boîtier de décodeur double comportant une seule mémoire de type flash et deux processeurs partageant la mémoire de type flash, comprenant: une première étape consistant à amorcer le processeur A, une seconde étape consistant à amorcer le processeur B, et une troisième étape de fonctionnement normal à la fois pour le processeur A et le processeur B. Pendant l'amorçage, le code de programme mémorisé dans la mémoire de type flash est déplacé vers la mémoire vive SDRAM comme lorsque le code d'un programme d'ordinateur personnel mémorisé sur un disque dur est déplacé vers la mémoire interne pendant l'amorçage du système. Dans le fonctionnement normal, la mémoire de type flash est reliée au processeur A (processeur maître), et le comportement de ces deux processeurs est similaire au comportement classique à l'exception de quelques éléments qui seront expliqués plus loin. Les processeurs A et B exécutant des opérations différentes lisent leurs valeurs de ports pour évaluer s'ils sont un processeur maître ou un processeur esclave et se branchent sur les programmes logiciels correspondants pour partager le logiciel. Le processeur maître (le processeur A) commande un signal de réinitialisation du processeur esclave (processeur B) pour déterminer quand le processeur esclave est activé. En d'autres termes, le processeur esclave commence à fonctionner au moment où le processeur maître délivre l'état de réinitialisation. Le processeur maître est réinitialisé par un circuit intégré de réinitialisation pendant un intervalle de temps prédéterminé après que l'alimentation lui est appliquée et est automatiquement activé. Lorsque l'état de réinitialisation passe dans l'état activé, le traitement d'amorçage est exécuté par les circuits du processeur. Pendant ce traitement d'amorçage, un code de programme d'exécution mémorisé dans la mémoire de type flash est déplacé vers une mémoire vive SDRAM, ce qui est similaire au traitement d'amorçage d'un ordinateur personnel. Le traitement d'amorçage de l'ordinateur personnel déplace le code du programme d'exécution mémorisé dans un disque dur vers une mémoire interne. Le boîtier de décodeur peut avoir plus de deux processeurs esclaves. Un bus d'adresse (ligne) entre la mémoire de type flash et le processeur A ou B est sélectionné par un commutateur de bus disposé entre la mémoire de type flash et les processeurs A et B. C'est-à-dire que le commutateur de bus sélectionne si une ligne d'adresse de la mémoire de type flash est reliée à une ligne d'adresse du processeur A ou à une ligne d'adresse du processeur B. Un signal de sélection du commutateur de bus est commandé par le processeur A. Le commutateur de bus connecte la ligne d'adresse de la mémoire de type flash au processeur A pendant une période de réinitialisation automatique après que l'alimentation est appliquée au boîtier de décodeur. Le processeur A commande le signal de sélection du commutateur de bus de manière à permettre au processeur B de s'amorcer lorsque le traitement d'amorçage de celui ci est terminé de sorte que la ligne d'adresse de la mémoire de type flash est connectée au processeur B et délivre l'état de réinitialisation du processeur B pour amorcer le processeur B. En outre, une ligne de données d'accès à la mémoire de type flash devrait être connectée. Dans ce cas, les lignes de données du processeur A, du processeur B et de la mémoire de type flash sont connectées en commun sans utiliser de circuit de commutateur, à la différence des lignes d'adresse. Ceci est possible car une ligne de données d'un processeur qui n'accède pas à une mémoire présente une haute impédance. Le logiciel mémorisé dans la mémoire de type flash peut être mis à niveau par approximativement deux procédés. Conformément au premier procédé, le processeur A reçoit un code de logiciel d'un dispositif externe tel qu'un ordinateur personnel (PC) par l'intermédiaire d'une liaison de type RS 232C et mémorise le code de logiciel dans la mémoire de type flash. La liaison de type RS 232C peut être remplacée par un bus USB. Conformément au second procédé, le processeur A sélectionne un code de programme, inclus dans une partie du signal de télédiffusion tel qu'un signal de télédiffusion par satellite, un signal de télédiffusion terrestre ou un signal de télédiffusion par câble, et mémorise le code de programme dans la mémoire de type flash. Ce procédé est généralement appelé service de téléchargement OTA (par télédiffusion). La présente invention permet que les deux processeurs partagent la mémoire de type flash de sorte que les processeurs respectifs n'ont pas besoin de mettre à niveau respectivement leur logiciel. Si les processeurs respectifs avaient besoin de mettre respectivement à niveau leur logiciel, deux moyens pour connecter le boîtier de décodeur à un dispositif externe tels qu'une liaison RS -232C seraient nécessaires. L'invention procure un procédé de commande du fonctionnement d'un boîtier de décodeur double comportant une seule mémoire de type flash et deux processeurs partageant la mémoire de type flash, comprenant: une première étape consistant à connecter un processeur A à la mémoire de type flash et à mémoriser alors un logiciel de la mémoire de type flash dans une première mémoire vive SDRAM connectée au processeur A lorsque le boîtier de décodeur est commandé, une seconde étape consistant à connecter la mémoire de type flash à un processeur lorsque le logiciel a été mémorisé dans la première mémoire vive SDRAM, et à mémoriser le logiciel de la mémoire de type flash dans une seconde mémoire vive SDRAM connectée au processeur B, et une troisième étape consistant à commander le fonctionnement d'un circuit périphérique destiné à traiter des signaux de télédiffusion reçus par l'intermédiaire d'un ou deux syntoniseurs en utilisant le logiciel mémorisé dans les mémoires vives SDRAM respectivement connectées aux processeurs A et B. Dans le procédé de l'invention les processeurs A et B exécutant des opérations différentes peuvent lire leurs valeurs de ports pour évaluer s'ils sont un processeur maître ou un processeur esclave et se brancher vers les programmes logiciels correspondants pour partager le logiciel unique. Il peut exister plus de deux processeurs esclaves. Le processeur A, établi en tant que processeur maître, peut être réinitialisé lorsque l'alimentation est appliquée initialement au boîtier de décodeur, et le processeur B établi comme processeur esclave peut être réinitialisé par le processeur A. Le logiciel de la mémoire de type flash, à la fois pour le processeur A et le processeur B, peut être reçu en entrée depuis un dispositif externe connecté au processeur A ou bien mis à niveau par des informations de service OTA (télédiffusion) reçues en même temps qu'un signal de télédiffusion par l'intermédiaire d'un syntoniseur. Le signal de télédiffusion peut comprendre au moins l'un d'un signal de télédiffusion par satellites, d'un signal de télédiffusion terrestre et d'un signal de télévision par câbles. Lorsque les deux processeurs sont utilisés dans un seul boîtier de décodeur, une seule mise à niveau est nécessaire à la fois bien qu'elle soit destinée à la fois pour le processeur A et le processeur B. Le processeur maître peut gérer des informations d'accord de télédiffusion, et le processeur esclave peut demander au processeur maître de transmettre les informations d'accord de télédiffusion pour recevoir les informations d'accord de télédiffusion si nécessaire. Les buts, caractéristiques et avantages de la présente invention ci dessus ainsi que d'autres, seront mis en évidence d'après la description détaillée suivante des modes de réalisation préférés de l'invention. La description se rapporte aux dessins indiqués ci après et qui sont donnés à titre d'exemple et parmi lesquels: La figure 1 est un schéma synoptique d'un boîtier de décodeur double comportant une seule mémoire de type flash et deux processeurs partageant la mémoire de type flash conformément à la présente invention, et La figure 2 est un organigramme représentant un traitement de commande du fonctionnement du boîtier de décodeur comportant une seule mémoire de type flash et deux processeurs partageant la mémoire de type flash conformément à la présente invention. Il sera maintenant fait référence en détail au mode de réalisation préféré de la présente invention en faisant référence aux dessins annexés. La figure 1 est un schéma synoptique d'un boîtier de décodeur conforme à la présente invention. Dans le boîtier de décodeur de la présente invention, d'une manière similaire au boîtier de décodeur classique, deux syntoniseurs 11 et 12 reçoivent indépendamment ou simultanément des signaux vidéo, des signaux audio et des données entrantes par l'intermédiaire d'un système de transmission par satellites, terrestre ou par câbles et transmettant un flux numérique à un processeur A 15 et un processeur B 16 après démodulation. Les opérations des processeurs A et B (15 et 16) sont identiques à celles du boîtier de décodeur classique à l'exception de quelques éléments liés à la présente invention. Les processeurs A et B (15 et 16) décodent les signaux vidéo et les signaux audio en signaux qui peuvent être visualisés ou enregistrés par un utilisateur et fournissent en sortie les signaux décodés à un port de sortie de télévision 25 ou bien à un port de sortie de magnétoscope (VCR) 26. La plus grande partie des opérations individuelles des processeurs A et B sont identiques à celles du processeur du boîtier de décodeur classique. Cependant, le boîtier de décodeur de la présente invention se distingue du boîtier de décodeur classique en ce que le boîtier de décodeur de la présente invention comprend deux processeurs et deux mémoires vives SDRAM et les deux processeurs partagent une seule mémoire de type flash de sorte que deux programmes indépendants peuvent être visualisés ou enregistrés simultanément. La présente invention utilise une seule mémoire de type flash 18 pour réduire le coût de fabrication du boîtier de décodeur et maintenir la mise à niveau du logiciel de manière simple. En outre, les processeurs A et B (15 et 16) du boîtier de décodeur de la présente invention peuvent partager un logiciel en tant que processeur maître et un processeur esclave exécutant des opérations différentes pour gérer et entretenir facilement le logiciel. En outre, dans le boîtier de décodeur de la présente invention, il n'y a pas besoin de connecter un ordinateur personnel à chaque processeur pour une mise à niveau du logiciel contrairement au procédé classique, dans la mesure où le logiciel peut être mis à niveau par le processeur maître et être partagé par deux processeurs. Donc, un seul connecteur (de type RS 232C dans le cas d'une application comme celle de la figure 1) suffit pour mettre à niveau en utilisant un ordinateur personnel. Un procédé pour amener les processeurs A et B (15 et 16) à exécuter des opérations différentes avec le logiciel unique comprend un procédé consistant à lire des valeurs des ports d'entrée/sortie spécifiques des processeurs A et B (15 et 16) et à effectuer le branchement du logiciel sur la base des valeurs. Dans le mode de réalisation de la présente invention représenté sur la figure 1, le processeur maître 15 correspond à un état logique "vrai" car son port est connecté à une alimentation et le processeur esclave 16 correspond à un état logique "faux" car son port est relié à la masse. Le processeur A 15 sert de processeur maître, comme décrit ci dessus. Le processeur B 16 servant de processeur esclave reçoit des commandes du processeur maître par l'intermédiaire d'une communication série d'un circuit UART ou informe le processeur maître des exigences ou des états. Le processeur maître reçoit les commandes de l'utilisateur par l'intermédiaire d'un contrôleur à distance ou de commutateurs de fonctionnement utilisés dans les appareils électroniques courants. Lorsqu'il existe une commande de l'utilisateur correspondant au processeur esclave, le processeur maître transmet la commande correspondante au processeur esclave par l'intermédiaire de la communication série du circuit UART. En outre, le processeur maître gère les informations d'accord de télédiffusion, telles que l'identificateur PID de la fréquence d'accord, nécessaire pour recevoir des signaux de télédiffusion. Les informations d'accord de télédiffusion sont également utilisées pour que le processeur esclave s'accorde sur un signal de télédiffusion. Les informations d'accord de télédiffusion gérées par le processeur maître sont transmises au processeur esclave par l'intermédiaire du circuit UART, lorsque le processeur esclave demande au processeur maître de transférer des informations d'accord télédiffusées afin d'accorder un signal de télédiffusion. Les informations d'accord de télédiffusion doivent être mémorisées dans la mémoire de type flash 18 car elles devraient être mémorisées même après que le boîtier de décodeur est mis hors tension. Du fait que le boîtier de décodeur de la présente invention utilise une seule mémoire de type flash 18, le processeur maître connecté à la mémoire de type flash 18 gère les informations d'accord de télédiffusion du processeur esclave et, si nécessaire, transfert les informations d'accord de télédiffusion au processeur esclave tout en exécutant un fonctionnement général. Cette technique est également l'une des caractéristiques de la présente invention. Les opérations du boîtier de décodeur de la présente invention, qui seront décrites ci dessous, sont similaires à celles du boîtier de décodeur classique, en dehors de l'opération consistant à recevoir deux signaux de télédiffusion simultanément et indépendamment. Les signaux vidéo traités par les deux processeurs 15 et 16 sont transmis au port de sortie de télévision 25 et/ou au port de sortie de magnétoscope 26 en utilisant un circuit intégré de commutation 24 et les signaux audio sont traités par un convertisseur numérique vers analogique audio (DAC) 23 et délivrés au port de sortie de télévision 25 et/ou au port de sortie de magnétoscope 26. La mémoire de type flash 18 mémorise un logiciel destiné à commander les opérations des deux processeurs 15 et 16 traitant les signaux vidéo, les signaux audio et les données et les opérations des circuits périphériques. Un circuit intégré de réinitialisation 14 procure un signal de réinitialisation aux syntoniseurs 11 et 12, à la mémoire de type flash 18 et au processeur maître 15, qui doivent être réinitialisés lorsque l'alimentation est appliquée au boîtier de décodeur. Un programme d'exécution mémorisé dans la mémoire de type flash 18 est déplacé vers les mémoires vives SDRAM 19 et 20 pendant le traitement d'amorçage mentionné ci dessus. Un commutateur de bus 17 connecte la mémoire de type flash 18 et le processeur 15 à la mémoire vive SDRAM 19, de sorte que le logiciel mémorisé dans la mémoire de type flash 18 est déplacé vers la mémoire vive SDRAM 19 pendant le traitement d'amorçage au stade antérieur du fonctionnement du boîtier de décodeur. Après que le logiciel a été mémorisé dans la mémoire vive SDRAM 19, le commutateur de bus 17 connecte la mémoire de type flash 18 et le processeur 16 à la mémoire vive SDRAM 20, de sorte que le logiciel mémorisé dans la mémoire de type flash 18 est déplacé vers la mémoire vive SDRAM 20. Sur la figure 1, la référence numérique 13 représente une alimentation, la référence 21 représente une unité d'entrée/sortie comprenant un dispositif d'affichage affichant l'état de fonctionnement du boîtier de décodeur, un récepteur de commande à distance recevant un signal de commande à distance, et une pluralité de boutons et de touches, et la référence 22 représente une liaison RS 232C destinée à connecter un dispositif externe ou un terminal permettant une communication en ligne avec le boîtier de décodeur. La figure 2 est un organigramme représentant un traitement consistant à mémoriser un logiciel mis à niveau dans la mémoire de type flash 28 dans les mémoires vives SDRAM 19 et 20 connectées aux deux processeurs 15 et 16, conformément à la présente invention. Lorsque le boîtier de décodeur est commandé, le processeur A 15 est réinitialisé (S11) et, simultanément, le commutateur de bus 17 est actionné pour ouvrir un bus d'adresse connectant la mémoire de type flash 18 avec le processeur A 15 (S12), de sorte que le logiciel mémorisé dans la mémoire de type flash 18 est déplacé vers la mémoire vive SDRAM 19 par l'intermédiaire du processeur A 15 (S13). Lorsque le logiciel de la mémoire de type flash 18 a été mémorisé dans la mémoire vive SDRAM 19, l'état réinitialisé du processeur B 16 est annulé par le processeur A 15 (S14), et le commutateur de bus 17 est actionné pour connecter la mémoire de type flash 18, qui était connectée avec le processeur A 15, au processeur B 16 (S15), afin d'ouvrir le bus d'adresse et mémoriser le logiciel, lequel était mémorisé dans la mémoire de type flash 18, dans la mémoire vive SDRAM 20 par l'intermédiaire du processeur B 16 (S17). Ici, le processeur A 15 réinitialise le processeur B 16, et conserve alors son état d'attente tout en confirmant si un message de réveil est transmis depuis le processeur B 16 pendant qu'il n'est pas en cours de connexion avec la mémoire de type flash 18 (S16). Lorsque le logiciel de la mémoire de type flash 18 a été mémorisé dans la mémoire vive SDRAM 20, le processeur B 16 transmet le message de réveil au processeur A 15 (S18) et ensuite il passe dans un état normal (S19). Le processeur A transmet également le message de réveil au processeur B 16 (S20), et ensuite il passe dans l'état normal (S22). Dans ce cas, le processeur A 15 est relié à la mémoire de type flash 18 (S21). Alors, les processeurs 15 et 16 commandent les opérations des circuits périphériques afin de traiter des signaux de télédiffusion reçus par l'intermédiaire de un ou deux syntoniseurs en utilisant le logiciel mémorisé dans les mémoires vives SDRAM 19 et 20 qui leur sont connectées. Comme cela est décrit ci dessus, la présente invention utilise une seule mémoire de type flash et un seul logiciel de sorte que les processeurs respectifs exécutent des opérations différentes, à la différence du boîtier de décodeur classique, en utilisant une seule mémoire pour mémoriser un programme, c'est-à-dire une mémoire de type flash, correspondant à un seul processeur. En conséquence, la présente invention permet de réduire le coût de fabrication du boîtier de décodeur, de gérer et d'entretenir facilement le logiciel car elle utilise le logiciel unique, et de diminuer la quantité de données transmise car les données sont transmises uniquement au logiciel unique, en réduisant le coût du service de télédiffusion OTA. Bien que la présente invention ait été décrite en faisant référence à des modes de réalisation illustratifs particuliers, elle ne doit pas être limitée par les modes de réalisation mais uniquement par les revendications annexées. On se rendra compte que l'homme de l'art peut changer ou modifier les modes de réalisation sans s'écarter de la portée et de l'esprit de la présente invention. REVENDICATIONS 1. Procédé de commande du fonctionnement d'un boîtier de décodeur double comportant une seule mémoire de type flash (18) et deux processeurs (15, 16) 5 partageant la mémoire de type flash (18), comprenant: une première étape consistant à connecter un processeur A (15) à la mémoire de type flash (18) et à mémoriser alors un logiciel de la mémoire de type flash dans une première mémoire vive SDRAM (19) connectée au processeur A lorsque le boîtier de décodeur est commandé, une seconde étape consistant à connecter la mémoire de type flash (18) à un processeur B (16) lorsque le logiciel a été mémorisé dans la première mémoire vive SDRAM (19), et à mémoriser le logiciel de la mémoire de type flash (18) dans une seconde mémoire vive SDRAM (20) connectée au processeur B, et une troisième étape consistant à commander le fonctionnement d'un circuit périphérique destiné à traiter des signaux de télédiffusion reçus par l'intermédiaire d'un ou deux syntoniseurs (11, 12) en utilisant le logiciel mémorisé dans les mémoires vives SDRAM (19, 20) respectivement connectées aux processeurs A et B (15, 16). 2. Procédé selon la revendication 1, dans lequel les processeurs A et B exécutant des opérations différentes lisent leurs valeurs de ports pour évaluer s'ils sont un processeur maître ou un processeur esclave et se branchent vers les programmes logiciels correspondants pour partager le logiciel unique. 3. Procédé selon la revendication 2, dans lequel il existe plus de deux processeurs esclaves. 4. Procédé selon la revendication 1 ou 2, dans lequel le processeur A établi en tant que processeur maître est réinitialisé lorsque l'alimentation est appliquée initialement au boîtier de décodeur, et le processeur B établi comme processeur esclave est réinitialisé par le processeur A. 5. Procédé selon la revendication 1, dans lequel le logiciel de la mémoire de type flash, à la fois pour le processeur A et le processeur B, est reçu en entrée depuis un dispositif externe connecté au processeur A ou bien mis à niveau par des informations de service OTA (télédiffusion) reçues en même temps qu'un signal de télédiffusion par l'intermédiaire d'un syntoniseur. 6. Procédé selon la revendication 5, dans lequel le signal de télédiffusion comprend au moins l'un d'un signal de télédiffusion par satellites, d'un signal de télédiffusion terrestre et d'un signal de télévision par câbles. 7. Procédé selon la revendication 1, dans lequel lorsque les deux processeurs sont utilisés dans un seul boîtier de décodeur, une seule mise à niveau est nécessaire à la fois bien qu'elle soit destinée à la fois pour le processeur A et le processeur B. 8. Procédé selon la revendication 1 ou la revendication 2, dans lequel le processeur maître gère des informations d'accord de télédiffusion, et le processeur esclave demande au processeur maître de transmettre les informations d'accord de télédiffusion pour recevoir les informations d'accord de télédiffusion si nécessaire.