Brevet FR3044120A1 — publié le 20170526

B14216 - 14-R0-0851 1 MISE EN VEILLE D'UN CIRCUIT ÉLECTRONIQUE Domaine La présente description concerne de façon générale les circuits électroniques et, plus particulièrement, la mise en veille d'un microcontrôleur. Exposé de l'art antérieur Dans de nombreuses applications, on souhaite minimiser la consommation électrique d'un circuit électronique lorsque ce dernier n'est pas utilisé. On prévoit alors des mécanismes de mise en veille qui permettent de réduire la consommation du circuit. Dans des circuits électroniques comportant un microcontrôleur, ce dernier intègre généralement des fonctions de mise en veille permettant de mettre en veille son coeur pendant des périodes où il n'est pas utilisé. Pendant ces périodes de veille, d'autres circuits du microcontrôleur surveillent les entrées-sorties du microcontrôleur afin de détecter un besoin de réveil du coeur. Résumé Il serait souhaitable de réduire la consommation résiduelle d'un microcontrôleur, y compris pendant des périodes de veille. 3044120 B14216 - 14-R0-0851 2 Un mode de réalisation pallie tout ou partie des inconvénients des circuits usuels de mise en veille d'un microcontrôleur. Un mode de réalisation propose une solution aisée à 5 mettre en oeuvre. Ainsi, un mode de réalisation prévoit un microcontrôleur comportant : un coeur ; une unité de gestion de l'alimentation du coeur, 10 comportant au moins une entrée de réception d'un signal externe de sortie d'un mode de veille ; et un module interceptant ledit signal externe et le transmettant avec retard à ladite unité de gestion. Selon un mode de réalisation, ladite unité de gestion 15 comporte une fonction logique de mémorisation dudit signal d'entrée. Selon un mode de réalisation, ladite fonction logique est réinitialisée par l'unité de gestion à l'issue dudit retard. Selon un mode de réalisation, ledit module reçoit la 20 sortie de ladite fonction logique et la combine avec une information représentative de la tension d'alimentation du microcontrôleur. Selon un mode de réalisation, ledit module déclenche une temporisation quand le niveau de la tension d'alimentation atteint 25 un seuil. Brève description des dessins Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation 30 avec les figures jointes parmi lesquelles : la figure 1 représente, de façon schématique, un mode de réalisation d'un microcontrôleur ; la figure 2 est un schéma bloc représentant un mode de réalisation d'un circuit de mise en veille du microcontrôleur ; 3044120 B14216 - 14-R0-0851 3 la figure 3 est un schéma bloc représentant un mode de réalisation d'un circuit de réveil du microcontrôleur ; et les figures 4A, 4B et 4C illustrent, sous forme de chronogrammes, le fonctionnement du circuit de la figure 3. 5 Description détaillée De mêmes éléments ont été désignés par de mêmes références aux différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent 10 disposer de propriétés structurelles, dimensionnelles et matérielles identiques. Par souci de clarté, seuls les éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et seront détaillés. En particulier, les éléments présents dans le microcontrôleur dont on contrôle la mise en 15 veille n'ont pas été détaillés, les modes de réalisation décrits étant compatibles avec les applications usuelles. Lorsque l'on fait référence aux termes "environ", "approximativement" ou "de l'ordre de", cela signifie à 10 % près, de préférence à 5 % près. La figure 1 représente, de façon schématique, un mode 20 de réalisation d'un microcontrôleur 1. Dans l'exemple représenté en figure 1, le microcontrôleur comporte un coeur 2 (CORE) et un circuit 4 de redémarrage ou réinitialisation de l'alimentation du coeur 2. Pour simplifier, tous les circuits internes au microcontrôleur 1 n'ont pas été représentés. Seuls les circuits impliqués dans la mise en veille et le réveil ont été représentés. En particulier, le microcontrôleur 1 comporte des éléments de mémorisation volatile et non volatile et divers coprocesseurs et circuits d'entrée-sortie qui n'ont pas été illustrés. De plus, on considère la fonction de redémarrage du circuit car, comme on le verra par la suite, c'est cette fonction qui peut poser problème. Toutefois, le circuit 4 comporte généralement également d'autres fonctions de contrôle d'alimentation. Dans une solution usuelle, lors d'une mise en veille, 35 l'alimentation du coeur 2 du microcontrôleur est coupée. 3044120 B14216 - 14-R0-0851 4 Toutefois, l'équivalent du circuit 4 reste alimenté afin d'être en mesure de détecter un besoin de redémarrage en interprétant les entrées-sorties 5 du microcontrôleur. Les modes de réalisation décrits tirent leur origine 5 d'une nouvelle analyse des besoins d'un microcontrôleur en considérant que certaines applications n'ont pas besoin d'une surveillance de leur alimentation. Partant de ce constat, on peut alors éteindre le bloc de surveillance de l'alimentation. Cependant, l'une des raisons 10 pour lesquelles ce bloc de surveillance de l'alimentation 4 n'est généralement jamais coupé est qu'il faut être capable de détecter un redémarrage lié à une baisse suivie d'une remontée de la tension d'alimentation. Dans les solutions usuelles, si on coupe le bloc de surveillance d'alimentation 4, on ne parvient pas à réveiller 15 correctement le système pour redémarrer le microcontrôleur. En particulier, certains circuits logiques prennent alors des états indéterminés à la montée d'alimentation. Le démarrage du bloc de détection d'alimentation peut alors être empêché par ces états indéterminés. La conséquence de l'ajout de cette capacité d'arrêt 20 du bloc de surveillance d'alimentation serait alors de rendre le démarrage du microcontrôleur imprédictible (démarrage impossible suivant l'état indéterminé). On prévoit d'adjoindre au microcontrôleur et, plus particulièrement à son bloc de réinitialisation du circuit 4 de 25 surveillance de l'alimentation, un module d'extinction/allumage 3 (SHUTDOWN). Pour cela, on distingue, dans le circuit 4, une fonction 42 (PM RESET) de redémarrage ou réinitialisation de l'alimentation (Power Management), donc du système, et une fonction logique 44 30 (SB LOGIC) de détection d'extinction/allumage de la fonction 42. Les deux fonctions 42 et 44 du circuit 4 communiquent avec le module 3 séparément. Seule la fonction 42 communique avec le coeur 2 pour le réveiller. La fonction 44 intercepte quant à elle une demande de réveil provenant de l'extérieur du 35 microcontrôleur 2 et, au lieu de la transmettre vers le circuit 3044120 B14216 - 14-R0-0851 5 42, la transmet au module 3 qui fournit la commande de réinitialisation ou de démarrage de l'alimentation du circuit 4 qui gère l'alimentation du reste du produit (microcontrôleur). Ainsi, dans les périodes de veille, seuls le bloc 5 logique 44 et le module 3 restent actifs, ce qui réduit considérablement la consommation. La figure 2 représente, de façon très schématique, un mode de réalisation d'une interconnexion entre les fonctions 42, 44 et 3, faisant ressortir l'interception du signal logique de 10 réinitialisation du bloc 42 par le module 3. Dans cet exemple, la fonction logique 44 est assurée, pour chaque ressource externe susceptible de réveiller le microcontrôleur, par une bascule dont une entrée d'horloge, active par exemple sur front montant, reçoit (entrées 5) une information 15 de réactivation du microcontrôleur (de sortie de veille). La sortie S44 de cette bascule est traitée par le module 3 dont une sortie active la réinitialisation (la réactivation) de l'alimentation par le bloc 42. Une fois le bloc 42 redémarré, le coeur 2 est de nouveau actif. Un rôle du circuit 3 est 20 d'interrompre le signal de sortie de la bascule 44 afin d'éviter que l'activation d'une réinitialisation du circuit 42 provoque une réinitialisation de la bascule (liaison 46 entre la sortie du bloc 42 est l'entrée de réinitialisation de la bascule). Le nombre de bascules 44 dépend du nombre d'entrées 5 25 de réveil possible du microcontrôleur 1. En pratique, le module 3 se contente d'interrompre le signal de réinitialisation en fonction de l'état de l'alimentation. En d'autres termes, le circuit 3 ne modifie pas le signal de réinitialisation si l'alimentation est active mais 30 le retarde lors d'un réveil. La figure 3 est un schéma-bloc simplifié d'un mode de réalisation du module 3. Selon ce mode de réalisation, le module 3 comporte un bloc 32 (SUPPLY MONITORING) de détection de la tension 35 d'alimentation Vdd du microcontrôleur qui détecte donc si la 3044120 B14216 - 14-R0-0851 6 fonction 42 d'alimentation est ou non active. A titre d'exemple particulier de réalisation, le détecteur 32 comporte un inverseur logique 322 alimenté par la tension Vdd (rails Vdd et GND) appliquée au microcontrôleur et dont l'entrée est connectée au 5 point milieu d'une association en série d'une résistance 324 et d'une diode 326. La valeur de la résistance 324 fixe le seuil de basculement de l'inverseur 322. Le résultat S32 de la détection traverse un retardateur 34 (TIMER) avant d'être appliqué sur une première entrée d'une 10 porte logique 36 de type ET. La deuxième entrée de la porte 36 reçoit le signal S44 de sortie de la bascule 44. En cas de pluralité d'entrées 5, donc de bascules 44, chaque bascule est associée à une porte logique (dans l'exemple représenté un seconde porte 36') dont une première entrée reçoit 15 la sortie du retardateur 34 et dont une deuxième entrée reçoit la sortie (par exemple S44') de la bascule concernée. En pratique, le circuit 42 inclut également une fonction de surveillance de l'alimentation Vdd. Toutefois, cette fonction doit être précise pour le fonctionnement du microcontrôleur 1, ce 20 qui implique une consommation significative. La détection opérée par le module 3 ayant pour seule fonction de masquer l'état de la commande de démarrage, qui peut être indéterminé à très basse tension ou au début de la montée de l'alimentation, n'a pas besoin de cette précision et peut être très simple (et de faible 25 consommation) comme illustré en figure 3. Les figures 4A, 4B et 4C illustrent, par des chronogrammes, le fonctionnement du circuit de la figure 3. La figure 4A représente un exemple de variation de la tension Vdd lors d'un réveil. La figure 4B représente l'allure correspondante 30 du signal S32. La figure 4C représente l'allure correspondante du signal S36 de sortie de la porte 36. On suppose un état initial dans lequel la tension Vdd est nulle, c'est-à-dire que l'alimentation est coupée (micro-contrôleur en veille). 3044120 B14216 - 14-R0-0851 7 A un instant tl, la tension Vdd se met à croitre sous l'effet d'un réveil du système (commutation du signal 5, figure 2). Lorsque la tension Vdd atteint (instant t2) le seuil, fixé par la résistance 324 et la diode 326, la sortie S32 de l'inverseur 5 322 reproduit la valeur de la tension Vdd. La temporisation T fixée par le circuit 34 fait qu'à un instant t3 ultérieur, la sortie S36 de la porte 36 bascule vers l'état haut. En effet, la sortie de la bascule 44 est à l'état haut depuis que le signal 5 a commuté. 10 La temporisation T est choisie pour que le niveau de la tension Vdd à l'issue de la durée T soit supérieur au seuil de déclenchement de l'entrée de réinitialisation du circuit 42. Ainsi, à l'issue de la temporisation T, lorsque le signal est fourni en sortie du circuit 34, la tension Vdd est suffisante pour 15 que le circuit 42 soit activé immédiatement. Le démarrage du circuit 42 de gestion de l'alimentation du microcontrôleur s'effectue donc correctement. Une fois que la tension est rétablie par le circuit 42, la bascule 44 est reinitialisée (figure 2) et est ainsi prête pour un redémarrage ultérieur. 20 Un avantage des modes de réalisation décrits est qu'ils règlent le problème éventuel d'un état inconnu de sortie de la ou des bascules 44 lors d'un réveil du système. Il est désormais possible de mettre en veille le bloc d'alimentation 4 (à l'exception de la fonction logique 44) et de 25 le réveiller quand nécessaire. Un autre avantage est que le processus de mise en veille (d'extinction) n'a, dans la plupart des cas, pas besoin d'être modifié. En effet, il suffit que le système de réinitialisation (reset) possède une commande de démarrage/arrêt, ce qui en 30 pratique est quasiment toujours le cas. Un autre avantage des modes de réalisation décrits est qu'ils n'introduisent qu'une faible consommation résiduelle. Divers modes de réalisation ont été décrits. Diverses variantes et modifications apparaîtront à l'homme de l'art. En particulier, le nombre d'entrées traitées par le circuit 3 dépend 3044120 B14216 - 14-R0-0851 8 du nombre d'entrées 5 de réveil du microcontrôleur. De plus, le choix des seuils de détection dépend également de l'application. Enfin, la mise en oeuvre pratique des modes de réalisation qui ont été décrits est à la portée de l'homme du métier à partir des 5 indications fonctionnelles données ci-dessus. REVENDICATIONS1. Microcontrôleur (1) comportant : un coeur (2) ; une unité (4) de gestion de l'alimentation du coeur, comportant au moins une entrée de réception d'un signal externe (5) de sortie d'un mode de veille ; et un module (3) interceptant ledit signal externe et le transmettant avec retard à ladite unité de gestion. 2. Microcontrôleur selon la revendication 1, dans lequel ladite unité de gestion (4) comporte une fonction logique (44) de mémorisation dudit signal d'entrée (5). 3. Microcontrôleur selon la revendication 2, dans lequel ladite fonction logique (44) est réinitialisée par l'unité de gestion (4) à l'issue dudit retard. 4. Microcontrôleur selon la revendication 2 ou 3, dans 15 lequel ledit module (3) reçoit la sortie de ladite fonction logique (44) et la combine avec une information représentative de la tension d'alimentation (Vdd) du microcontrôleur. 5. Microcontrôleur selon la revendication 4, dans lequel ledit module (3) déclenche une temporisation quand le 20 niveau de la tension d'alimentation (Vdd) atteint un seuil.