Brevet FR2846109A1 — publié le 20040423

L'invention concerne un appareil électronique à micro-processeur, notamment du type utilisant une mémoire non volatile ré-inscriptible (ou mémoire flash), et son procédé de commande. Dans un appareil électronique, on utilise fréquemment un micro5 processeur qui exécute une suite d'opérations déterminée par un logiciel. Toutefois, vue la complexité grandissante des logiciels utilisés de nos jours, il arrive que le micro-processeur reste bloqué dans un état indéfini. Afin de débloquer le système sans avoir à le débrancher du secteur, 10 on équipe l'appareil électronique d'une touche de redémarrage forcé (ou touche de RESET). Il s'agit souvent en pratique d'un bouton- poussoir qui délivre lorsqu'on l'actionne un signal de réinitialisation. Dans une première conception, ce signal peut être reçu sur une broche d'entrée-sortie du micro-processeur et traité comme une 15 interruption: lorsque le bouton RESET est actionné, une interruption est générée et un sous-programme de réinitialisation du micro-processeur est exécuté. On comprend toutefois que cette solution est peu sre puisqu'elle s'appuie sur une partie du logiciel (sous-programme de réinitialisation) alors qu'on souhaite justement pouvoir l'utiliser lorsque 20 celui-ci est bloqué. Selon une seconde conception, le signal généré par la touche de RESET est transmis à une broche de réinitialisation du microprocesseur. Le redémarrage (ou réinitialisation) est donc immédiatement effectif, indépendamment de l'état du logiciel, ce qui 25 assure un déblocage systématique de l'appareil. Toutefois, cette réinitialisation immédiate peut porter préjudice au fonctionnement futur de l'appareil si elle a lieu à un moment critique. Par exemple, dans les appareils qui possèdent une mémoire non volatile réinscriptible (mémoire flash), les données stockées en 30 mémoire flash peuvent être corrompues et dès lors inutilisables si la réinitialisation a lieu pendant une phase d'écriture dans cette mémoire; le logiciel stocké en mémoire flash peut alors être perdu, ce qui induira des problèmes de fonctionnement de l'appareil (qui peuvent aller jusqu'à rendre impossible le redémarrage du système). Afin d'éviter ces inconvénients, l'invention propose un appareil 5 électronique comprenant un micro-processeur avec une broche de réinitialisation et un bouton de commande apte à délivrer un signal de réinitialisation, dans lequel une broche de sortie du micro-processeur et le bouton de commande sont reliés chacun à une entrée d'une porte logique ET dont la sortie est reliée à la broche de réinitialisation. Ainsi, en contrôlant le niveau de tension sur sa broche de sortie, le micro-processeur peut commander des moyens physiques qui empêchent temporairement la transmission du signal de réinitialisation à la broche de réinitialisation. De manière préférée: - une mémoire flash est associée au micro-processeur - la mémoire flash comporte une broche de réinitialisation reliée à la sortie de la porte logique ET; - la sortie de la porte logique ET est reliée à la broche de réinitialisation par l'intermédiaire d'un transistor. - le transistor agit sur un point de sortie d'un superviseur de tension relié à la broche de réinitialisation. L'invention propose également un procédé de commande d'un tel appareil, comprenant les étapes suivantes: - mise de la broche de sortie dans un premier état - commande par le micro-processeur d'une écriture dans la mémoire flash; - mise de la broche de sortie dans un second état opposé au premier état. Autrement dit, l'invention propose un appareil électronique 30 comprenant un micro-processeur avec une broche de réinitialisation et un bouton de commande apte à délivrer un signal de réinitialisation dans lequel des moyens physiques peuvent sélectivement autoriser ou empêcher la transmission du signal de réinitialisation à la broche de réinitialisation. Avantageusement, une mémoire flash est associée au micro5 processeur. Dans ce cas, il est préférable que les moyens physiques empêchent la transmission du signal de réinitialisation à la broche de réinitialisation pendant toute écriture en mémoire flash. L'invention propose ainsi un procédé de commande d'un tel appareil, comprenant les étapes suivantes: - commande des moyens physiques pour empêcher la transmission - commande par le micro-processeur d'une écriture dans la mémoire flash; - commande des moyens physiques pour autoriser la transmission. 15 D'autres caractéristiques et avantages de l'invention apparaîtront à la lumière de la description détaillée qui suit faite en référence aux figures annexées, dans lesquelles: - la figure 1 représente les éléments principaux d'un appareil électronique incorporant les enseignements de l'invention; - la figure 2 représente les éléments essentiels d'un décodeur numérique réalisé conformément aux enseignements de l'invention. Les principes généraux de fonctionnement d'un appareil conforme à l'invention vont à présent être décrits en référence à la figure 1. Un bouton de commande 2 réalise la fonction de touche de 25 redémarrage (ou touche de RESET). Lorsque le bouton 2 est activé, il émet un signal de réinitialisation à destination d'une première entrée Il d'une porte logique ET 4. La seconde entrée I2 de la porte logique ET 4 reçoit un signal RA (pour RESET autorisé ou RESET ALLOWED) d'une broche de sortie I/O 30 d'un micro-processeur 6. Le signal RA est déterminé par le microprocesseur 6 comme indiqué plus en détail dans la suite. Le micro-processeur 6 est relié par un bus 10 à une mémoire flash 8. Avant toute phase d'écriture dans la mémoire flash 8, le logiciel du micro-processeur 6 (et plus précisément le pilote d'écriture en mémoire flash) met à zéro le signal RA. Le signal RA est maintenu à zéro pendant 5 toute la phase d'écriture dans la mémoire flash 8. Ainsi la sortie O de la porte ET 4 est maintenue à zéro pendant toute la phase d'écriture dans la mémoire flash 8, même si le bouton 2 émet un signal de réinitialisation (niveau haut ou 1). Aucun signal de réinitialisation n'est donc transmis aux broches de réinitialisation RST du micro- processeur 6 10 et de la mémoire flash 8 par la porte logique ET 4 pendant les phases d'écriture dans la mémoire flash 8. Les données à écrire en mémoire flash 8 seront donc correctement stockées. Lorsqu'une phase d'écriture en mémoire flash 8 est achevée, le signal RA est remis à un (niveau haut) par le pilote d'écriture en 15 mémoire flash. Le signal RA est maintenu au niveau haut (1) pendant toute la durée du fonctionnement hors temps d'écriture en mémoire flash 8. Lorsque le signal RA est ainsi à 1, la réinitialisation (ou redémarrage) du système par action sur le bouton 2 est rendue possible. En effet, puisque l'entrée I2 de la porte ET 4 est à 1, la sortie 20 O de la porte 4 (qui est connectée aux broches de réinitialisation RST du micro-processeur 6 et de la mémoire flash 8) suit la valeur à l'entrée Il déterminée par le bouton 2. Le signal de réinitialisation (niveau haut) est donc transmis au micro-processeur 6 et à la mémoire flash 8. La réinitialisation est donc immédiatement effective dans ce cas. L'invention permet donc d'assurer un redémarrage de l'appareil, sauf dans les cas d'écriture en mémoire flash afin d'éviter toute détérioration du contenu de la mémoire flash. Les temps d'écriture en mémoire flash représentant toutefois une partie infime du temps de fonctionnement de l'appareil, cette limitation n'est en rien gênante pour 30 l'utilisateur. Un exemple concret de réalisation de l'invention va à présent être décrit en référence à la figure 2. La figure 2 représente les éléments essentiels d'un décodeur numérique. Un circuit de réception et de traitement audio-vidéo 24 5 reçoit des informations audio-vidéo codées d'une source d'informations 28 (par exemple une antenne satellite) et génère en sortie 30 (par exemple sur une prise Péritel) des signaux analogiques audio-vidéo à destination d'un afficheur (par exemple un téléviseur) ou d'un enregistreur (par exemple un enregistreur de média numérique). Le circuit de réception et de traitement 24 agit sous le contrôle d'un micro-processeur 16. Le circuit de réception et de traitement 24 et le micro-processeur 16 dialoguent au moyen d'un bus 26. Une mémoire flash 18 est également reliée au micro-processeur 16 au moyen d'un bus 20. La mémoire flash 18 stocke une partie du logiciel exécuté par le 15 microprocesseur 16, ainsi que des données (par exemple des paramètres de fonctionnement) utilisées par le micro-processeur 16. Le logiciel et les données stockés en mémoire flash 18 peuvent être modifiés par le micro-processeur 16. Par exemple, des mises à jour du logiciel peuvent être fournies par la source d'informations 28, reçues 20 par le circuit de réception et de traitement 24 et transmises par celui-ci au micro-processeur 16 pour stockage en mémoire flash 18. Pour ce faire, le micro-processeur 16 commande des phases d'écriture en mémoire flash 18 par l'exécution d'une routine logicielle d'écriture en mémoire flash ou pilote d'écriture en mémoire flash. 25 Pendant ces phases d'écriture en mémoire flash, le pilote d'écriture en mémoire flash positionne à 0 (niveau bas) la tension sur une broche de sortie I/O. En dehors des phases d'écriture en mémoire flash 18, la tension sur la broche de sortie I/O est au niveau haut (1). Plus précisément, avant une phase d'écriture en mémoire flash 18, 30 le pilote d'écriture en mémoire flash comporte une instruction de mise à 0 de la broche de sortie I/O (signal RA à 0). Le pilote commande ensuite l'écriture en mémoire flash (parfois dénommée programmation de la mémoire flash). Puis, une fois l'écriture en mémoire flash terminée, le pilote comprend une instruction de mise à 1 de la broche de sortie I/O (signal RA à 1). La broche de sortie I/O du micro-processeur 6 qui porte le signal RA (pour RESET autorisé ou RESET ALLOWED) attaque une première entrée d'une porte ET inverseuse 14. Cette entrée est par ailleurs mise à la masse par l'intermédiaire d'une résistance R5. Une seconde entrée de la porte ET inverseuse 14 est reliée à la masse par l'intermédiaire 10 d'une résistance R6 et à une source de tension +V par l'intermédiaire d'un interrupteur 12 qui joue le rôle d'une touche de redémarrage (ou bouton de réinitialisation). La sortie de la porte ET inverseuse 14 attaque les deux entrées d'une autre porte ET inverseuse 32 dont la sortie est reliée à la base 15 d'un transistor Tl par l'intermédiaire d'une résistance R4. L'émetteur du transistor Tl est connecté à la masse alors que le collecteur du transistor Tl est connecté à un point de sortie S d'un circuit superviseur de tension d'alimentation 22 par l'intermédiaire d'une résistance R2. Le circuit superviseur de tension d'alimentation 22 génère une tension au point S à partir de la source de tension +V. Le temps de montée de la tension au point S est défini par un condensateur Cl placé entre le point S et la masse, une résistance Ri étant placée entre une source de tension +V' et la masse. De plus, les variations de tension au 25 point S sont transmises aux broches de réinitialisation RST du microprocesseur 16 et de la mémoire flash 18 par l'intermédiaire de deux inverseurs à hystérésis 34, 36. Lors de la mise sous tension du décodeur numérique (branchement au secteur) et sans action sur la touche de redémarrage 12, la tension 30 au point S s'établit à la valeur +V' (niveau haut) après un certain laps de temps (déterminé par la valeur du condensateur Cl et de la résistance Rl). Le niveau haut est transmis (identique après deux inversions) aux broches de réinitialisation RST après les deux inverseurs 34, 36. Le passage du niveau bas (hors tension) au niveau haut sur les broches de réinitialisation RST provoque le démarrage (initialisation) du microprocesseur 16 et de la mémoire flash 18. En mode normal (c'est-à-dire pour la présente description en l'absence d'écriture en mémoire flash 16), le signal RA est au niveau haut comme indiqué précédemment. Dans ce cas, une action (pression) sur le bouton de démarrage 12 (fermeture l'interrupteur 12) commande 10 par l'intermédiaire des deux portes ET 14, 32 un état passant du transistor Tl, ce qui entraîne une mise à la masse (potentiel 0 et donc niveau bas) du point S. Ceci provoque, après transmission par les inverseurs 34, 36, une réinitialisation du micro-processeur 16 et de la mémoire flash 18 (les broches de réinitialisation RST sont actives au 15 niveau bas). Le re-démarrage de l'état initial du micro-processeur 16 et de la mémoire flash 18 a lieu dès le retour du niveau haut sur les broches de réinitialisation RST, c'est-à-dire après le relâchement du bouton de démarrage 12. En mode d'écriture en mémoire flash, le micro-processeur 16 place la sortie I/O (signal RA) au niveau bas comme indiqué précédemment. Dans ce cas, la sortie inverseuse de la porte ET inverseuse 14 est nécessairement au niveau haut, la sortie inverseuse de la porte 32 au niveau bas et le transistor Tl bloqué. Quelle que soit la position de 25 l'interrupteur 12 (touche de redémarrage actionnée ou non), le transistor Tl sera donc bloqué et la tension au point S inchangée. La réinitialisation de l'appareil au moyen de la touche de redémarrage 12 est ainsi rendue impossible par des moyens physiques (porte logique ET 14) pendant les phases d'écriture en mémoire flash 30 18. REVENDICATIONS 1. Appareil électronique comprenant - un micro-processeur (6; 16) avec une broche de réinitialisation (RST) - un bouton de commande (2; 12) apte à délivrer un signal de réinitialisation caractérisé en ce qu'une broche de sortie (I/O) du micro-processeur (6; 16) et le bouton de commande (2; 12) sont reliés chacun à une 10 entrée (I1, I2) d'une porte logique ET (4; 14) dont la sortie (O) est reliée à la broche de réinitialisation (RST). 2. Appareil selon la revendication 1, dans lequel une mémoire flash (8; 18) est associée au micro-processeur (6; 16). 15 3. Appareil selon la revendication 2, dans lequel la mémoire flash (8; 18) comporte une broche de réinitialisation (RST) reliée à la sortie (O) de la porte logique ET (4; 14). 4. Appareil selon l'une des revendications 1 à 3, dans lequel la sortie de la porte logique ET (14) est reliée à la broche de réinitialisation (RST) par l'intermédiaire d'un transistor (Tl). 5. Appareil selon la revendication 4, dans lequel le transistor (T1) agit 25 sur un point de sortie (S) d'un superviseur de tension (22) relié à la broche de réinitialisation (RST). 6. Procédé de commande d'un appareil selon la revendication 2, comprenant les étapes suivantes: - mise de la broche de sortie (I/O) dans un premier état - commande par le micro-processeur (6; 16) d'une écriture dans la mémoire flash (8; 18); - mise de la broche de sortie (I/O) dans un second état opposé au premier état. 7. Appareil électronique comprenant - un micro-processeur (6; 16) avec une broche de réinitialisation (RST) - un bouton de commande (2; 12) apte à délivrer un signal de réinitialisation caractérisé par des moyens physiques (4; 14) pour sélectivement autoriser ou empêcher la transmission du signal de réinitialisation à la broche de réinitialisation (RST). 8. Appareil électronique selon la revendication 7, dans lequel une 15 mémoire flash (8; 18) est associée au micro-processeur (6; 16). 9. Appareil électronique selon la revendication 8, dans lequel les moyens physiques (4; 14) empêchent la transmission du signal de réinitialisation à la broche de réinitialisation (RST) pendant toute 20 écriture en mémoire flash (8; 18). 10. Procédé de commande d'un appareil selon la revendication 8, comprenant les étapes suivantes: - commande des moyens physiques (4; 14) pour empêcher la 25 transmission; - commande par le micro-processeur (6; 16) d'une écriture dans la mémoire flash (8; 18); - commande des moyens physiques (4; 14) pour autoriser la transmission.