FR 2908535 A1 20080516 FR 0707386 A 20071022 2908535 MICROCALCULATEUR, PROGRAMME ET CONTROLEUR ELECTRONIQUE EMBARQUE DANS UN VEHICULE Description La présente invention se rapporte au fonctionnement des microcalculateurs. Plus particulièrement, la présente invention se rapporte au fait de passer un microcalculateur dans un mode de veille. Habituellement, un microcalculateur utilisé dans un contrôleur électronique embarqué dans un véhicule utilise une caractéristique de fonctionnement multitâche fournie à partir d'un système d'exploitation (OS) de manière à exécuter de multiples tâches d'applications pour commander des objets. Lorsque aucun traitement n'est nécessaire, un tel microcalculateur permet un mode de veille qui consomme moins d'énergie qu'un fonctionnement normal (se reporter par exemple à la demande de brevet japonais mise à la disposition du public N JP-2005-182 223 A). Par exemple, le mode de veille diminue la fréquence d'horloge d'unité UC ou une tension d'alimentation, ou bien arrête la fourniture de signaux d'horloge ou d'alimentation à l'unité UC. En faisant référence à la figure 7, ce qui suit décrit une technique d'exemple pour placer un microcalculateur dans un mode de veille. Dans un souci de commodité, la présente demande fait occasionnellement référence, par exemple, à une tâche exécutant une action signifiant l'utilisation par exemple, d'un programme informatique mettant en oeuvre ou s'exécutant sur un dispositif matériel tel qu'un contrôleur ou un ordinateur comme décrit ici. L'utilisation d'une telle expression peut signifier qu'un ordinateur lit des instructions, par exemple, à partir d'un support lisible par un ordinateur tel qu'un dispositif de mémorisation, un canal de transfert de données, un canal de communication ou autre et exécute les instructions ou le programme de manière à mettre en oeuvre le contenu opérationnel, qui peut être décrit ici en termes de moyen fonctionnel, ou le contenu de la fonction de programme, de la tâche, du module ou autre comme cela sera noté par :L'homme de l'art. Un exemple sur la figure 7 fait référence à des tâches d'applications 1 et 2. L'exemple fait également référence à une tâche de système qui réveille de manière périodique les tâches 2 2908535 d'applications 1 et 2. La tâche de système se réveille toutes les millisecondes et effectue une demande pour réveiller la tâche d'application 1. La tâche de système effectue une demande pour réveiller la tâche d'application 2 une fois sur deux où la 5 tâche de système se réveille. En conséquence, la tâche d'application 1 se réveille toutes les millisecondes. La tâche d'application 2 se réveille toutes les deux millisecondes. Les tâches sont soumises à des priorités, par exemple, dans l'ordre "tâche de système > tâche d'application 1 > tâche d'application 10 2". Chacune des tâches d'applications 1 et 2 détermine si une exécution quelconque est nécessaire et entre dans un état prêt pour la veille si une détermination est réalisée selon laquelle aucune exécution n'est nécessaire. Lorsqu'il est déterminé 15 qu'elle doit entrer dans un état prêt pour la veille, la tâche d'application exécute un traitement pour établir un indicateur de veille prévu pour la tâche. La tâche de système se réveille pour contrôler les paramétrages d'indicateurs de veille de toutes les tâches d'applications. Lorsque tous les indicateurs 20 de veille sont établis, la tâche de système exécute une procédure pour placer le microcalculateur dans un mode de veille, par exemple, sans demander le réveil des tâches d'applications. Conformément à l'exemple de la figure 7, la tâche de système 25 détermine que la tâche d'application 1 passe dans l'état prêt pour la veille à l'instant t3 et que la tâche d'application 2 passe à l'état prêt pour la veille à l'instant t4. Ce n'est que lorsque la tâche de système se réveille à l'instant t5 qu'elle peut placer le microcalculateur dans un mode de veille. Comme 30 cela est représenté sur la figure 7, la tâche de système se réveille à des intervalles d'une milliseconde correspondant, par exemple, aux instants tl, t2 et t5. A l'instant tl, la tâche de système se réveille et demande aux tâches d'applications 1 et 2 de se réveiller. La tâche d'application 1 se réveille et exécute 35 tout traitement nécessaire. Du fait que la tâche d'application 2 s'est vue affecter une priorité inférieure à celle de la tâche de système et de la tâche d'application 1, la période pour exécuter la tâche d'application 2 est la période entre l'achèvement de l'exécution de la tâche 1 et la période lorsque 40 la tâche de système se réveille en t2. En t3, l'application 1 3 2908535 passe dans l'état prêt pour la veille et, en t4 l'application 2 passe dans l'état prêt pour la veille. Cependant, du fait que la tâche de système est toujours endormie, elle ne contrôlera pas les indicateurs avant l'instant t5 et placera le 5 microcalculateur dans le mode de veille à la fin de la procédure de contrôle. Comme noté en relation avec la technique mentionnée ci-dessus où la tâche de système est utilisée pour commander la transition vers le mode de veille, le microcalculateur ne peut 10 pas être placé dans le mode de veille avant que la tâche de système ne se réveille même lorsque toutes les tâches d'applications sont dans l'état prêt pour la veille. Ainsi, comme cela est représenté sur la figure 7, le temps entre t4 et ensuite la fin de t5 représente un fonctionnement perdu et par 15 conséquent, de l'énergie électrique est perdue. Une tâche inactive peut être utilisée en tant qu'autre technique pour placer le microcalculateur dans un mode de veille. Cependant, l'utilisation de la tâche inactive pour commander la transition vers le mode de veille provoque 20 également des problèmes similaires à ceux associés à l'utilisation de la tâche de système pour les raisons suivantes. La tâche inactive reçoit la priorité la plus faible et est exécutée lorsque aucune autre tâche n'est exécutée. A la place de la tâche de système, la tâche inactive contrôle les 25 indicateurs de veille de toutes les tâches d'applications. Lorsque tous les indicateurs de veille sont établis, la tâche inactive exécute un traitement pour placer le microcalculateur dans un mode de veille. Un état d'exécution de la tâche inactive peut être égal à un état de passage du microcalculateur dans un 30 mode de veille. Dans un tel cas, la tâche inactive peut sans condition placer le microcalculateur dans un mode de veille même lorsque des tâches nécessitent une exécution (se reporter par exemple au document JP-2005-182 223 A). Supposons, par exemple, que la tâche d'application 2 soit 35 prête dans l'état prêt pour la veille avant l'instant tl. Lorsque la tâche de système se réveille à l'instant tl, elle demande aux tâches d'applications 1 et 2 de se réveiller. Ainsi, même si la tâche d'application 1 se réveille et passe à l'état prêt pour la veille, la tâche d'application 2 se voit déjà 40 demander de se réveiller à partir de l'état prêt pour la veille. 4 2908535 Lorsque la tâche d'application 1 s'achève, la tâche d'application 2 est alors exécutée. Lorsque la tâche d'application 2 s'achève, la tâche inactive place le microcalculateur dans le mode de veille. 5 Cependant, dans le présent exemple, un fonctionnement est perdu entre l'instant où la tâche d'application 1 s'achève et l'instant où la tâche d'application 2 s'achève et de l'énergie électrique est par conséquent à nouveau perdue. Ainsi, lorsque la tâche inactive est utilisée pour commander la transition vers 10 le mode de veille, la transition pour sortir du mode de veille peut être difficile et il est en outre difficile d'intégrer d'autres fonctions dans la tâche inactive. La présente invention a été réalisée en considération de ce qui précède. C'est en conséquence un objectif de la présente 15 invention de placer rapidement un microcalculateur dans un mode de veille lorsque cela est possible et d'empêcher qu'une énergie électrique ne soit perdue. Pour atteindre l'objectif mentionné ci-dessus, un microcalculateur exécute une tâche d'application et comprend un 20 moyen de gestion de transition de veille. Le moyen de gestion de transition de veille commence lorsqu'une tâche d'application notifie son état prêt pour la veille, tel qu'un état capable de désactiver la tâche d'application. La section de gestion d'état mémorise un 25 historique de l'état prêt pour la veille attribué à la tâche d'application émettant la notification. La section de gestion d'état contrôle l'historique concernant toutes les tâches d'applications pour déterminer si toutes les tâches d'applications passent ou non vers des états prêts pour la 30 veille. Lorsque la détermination produit un résultat affirmatif, la section de gestion d'état place le microcalculateur dans un mode de veille nécessitant une consommation d'énergie moindre par rapport à un fonctionnement normal. La tâche d'application exécute un traitement de notification 35 pour émettre la notification lorsque la tâche d'application elle-même passe à un état prêt pour la veille. Le microcalculateur peut passer dans le mode de veille immédiatement lorsque toutes les tâches d'applications passent dans des états prêts pour la veille et le microcalculateur est 5 2908535 prêt pour le mode de veille. Il est possible de résoudre le problème de l'énergie perdue dans la technique antérieure. Le traitement de notification est de préférence exécuté à la fin de la tâche d'application du fait que, par exemple, lorsque 5 la tâche d'application émettant la notification s'achève, le moyen de gestion de transition de veille détermine si toutes les tâches d'applications passent ou non dans des états prêts pour la veille. Il est ainsi possible d'empêcher de façon fiable un mode de veille de se produire au cours de l'exécution de la 10 tâche d'application. Il devra être noté qu'un procédé d'exemple est en outre prévu, lequel peut être mis en oeuvre sur un ordinateur, par exemple, par le biais de l'exécution d'un programme informatique. Le programme informatique d'exemple, tel que celui 15 qui intègre des instructions, lu à partir d'un article de fabrication comprenant un support lisible par un ordinateur, permet à un ordinateur d'exécuter les procédures associées à un procédé d'exemple ou de fonctionner en tant que moyen de gestion de transition de veille et peut être intégré dans un 20 microcalculateur sans utiliser de circuit supplémentaire. Le microcalculateur d'exemple est applicable à divers modes de réalisation y compris un contrôleur électronique embarqué dans un véhicule dont on veut en particulier réduire la consommation d'énergie. Le microcalculateur peut en outre 25 économiser l'énergie lorsque le contrôleur électronique embarqué dans un véhicule peut être désactivé. Les objectifs, caractéristiques et avantages ci-dessus de la présente invention, ainsi que d'autres, deviendront plus évidents à partir de la description détaillée suivante réalisée 30 en faisant référence aux dessins annexés. Sur les dessins : La figure 1 est un schéma :illustrant une configuration d'un contrôleur électronique embarqué dans un véhicule (ECU) conforme à un mode de réalisation d'exemple, La figure 2 est un schéma :illustrant une configuration d'un 35 logiciel exécuté sur un microcalculateur d'exemple, La figure 3 est un organigramme illustrant un traitement de chaque tâche d'application, La figure 4 est un organigramme illustrant un traitement d'une section de gestion d'état SM, 6 2908535 La figure 5 est un organigramme fonctionnel illustrant des opérations conformément aux traitements d'exemple représentés sur les figures 3 et 4, La figure 6 est un chronogramme illustrant un effet associé 5 à divers modes de réalisation d'exemple, et La figure 7 est un chronogramme illustrant les inconvénients associés à la technique antérieure. La description suivante d'un contrôleur électronique embarqué dans un véhicule conforme à un mode de réalisation de 10 l'invention est fournie. Le contrôleur électronique conforme au mode de réalisation décrit commande des fonctions associées aux unités de la caisse du véhicule telles qu'une vitre électrique et un verrou de portière. Dans la description suivante, il devrait être noté que l'abréviation "ECU" se rapporte ici à un 15 contrôleur électronique, une unité de commande électronique, une unité de commande de moteur, une unité de gestion de moteur ou autre comme cela serait noté par l'homme de l'art. Comme représenté sur la figure 1, une unité ECU 11 conforme au présent mode de réalisation comprend : un microcalculateur 20 13, un circuit d'entrée 15, par exemple, qui permet au microcalculateur 13 de recevoir un signal de capteur ou un signal de commutation fourni à partir d'un circuit, un circuit de sortie 17, par exemple, qui fournit en sortie un signal d'attaque vers divers actionneurs associés, par exemple, à un 25 ensemble de caisse de véhicule tels qu'un moteur de vitre électrique et un moteur de verrouillage de portière, ou autre, ou d'autres ensembles, sur la base d'un signal provenant du microcalculateur 13 et un circuit de communication 19 qui permet au microcalculateur 13 de communiquer avec une autre unité ECU 30 embarquée par le biais d'une ligne de communication 18. Le microcalculateur 13 comprend des éléments bien connus tels que, par exemple, une unité UC 21, une mémoire morte 23, une mémoire vive 25 et un port d'entrée/sortie (E/S) 27. La mémoire morte 23 mémorise un programme, tel qu'un programme 35 logiciel comportant des instructions qui sont exécutées par l'unité UC 21. La mémoire vive 25 mémorise temporairement un résultat d'opération provenant de l'exécution du programme par exemple des données ou un indicateur. Il sera en outre remarqué que les instructions peuvent être portées sur d'autres supports 40 lisibles par un ordinateur tels que des dispositifs de mémoire 7 2908535 externes comprenant, mais sans y être limité des disques souples, des disques optiques, des dispositifs de mémoires à bus série universel (USB), des interfaces de réseau et autres. Le microcalculateur 13 utilise la caractéristique de 5 fonctionnement multitâche fournie par le système d'exploitation pour exécuter de multiples tâches d'applications pour interagir avec les ensembles du véhicule devant être commandés. La mémoire morte 25 mémorise un logiciel comprenant non seulement le système d'exploitation et les tâches d'applications mais 10 également une tâche de système FTet une section de gestion d'état SM. Comme représenté sur la figure 2, les tâches d'applications API à APx où x est un nombre entier supérieur ou égal à 2, comprennent des applications ou des tâches associées à des 15 applications, ou tâches d'applications, qui sont exécutées de manière périodique. Dans un exemple d'exécution classique, la tâche de système ST demande que le système d'exploitation réveille la tâche d'application à un instant correspondant à son intervalle d'exécution. La tâche de système ST se réveille à un 20 intervalle équivalent au plus petit diviseur commun, par exemple une milliseconde conformément au présent mode de réalisation, des intervalles d'exécution pour toutes les tâches d'applications périodiques. La section de gestion d'état SM est un programme qui détecte 25 si la totalité des tâches d'applications APi à APx sont prêtes pour devenir inactives et, ainsi place le microcalculateur 13 dans le mode de veille. Il sera noté que certaines tâches d'applications se réveillent immédiatement lors de l'apparition d'un événement non 30 planifié tel que la fermeture d'un commutateur spécifique, en recevant un signal spécifique provenant d'une autre unité ECU ou autre. Comme représenté sur la figure 2, chacune des tâches d'applications API à APx comprend un ou plusieurs modules qui 35 sont ci-après désignés comme étant des modules d'applications. Par exemple, la tâche d'application API comprend autant que y modules d'applications AP1-1 à AP1-y où y est un nombre entier supérieur ou égal à 1. La tâche d'application APx comprend autant que z modules d'applications APx-1 à APx-z, où z est un 40 nombre entier supérieur ou égal à 1. Les modules d'applications 8 2908535 fournissent divers niveaux de commande sur et d'interaction avec, par exemple, des unités, des ensembles ou autres, par exemple une unité de verrouillage de portière, une unité de commande de capot de coffre, une unité d'illumination de 5 compartiment, des lumières de fonctionnement, des vitres électriques et autres. Ce qui suit décrit un traitement qui peut être associé à chaque tâche d'application telle qu'une fonction qui est mise en oeuvre par la tâche d'application, en faisant référence par 10 exemple à l'organigramme représenté sur la figure 3. Bien que le traitement d'exemple soit décrit en termes d'une tâche d'application APn où n vaut de 1 à x, la même description peut être appliquée à d'autres tâches d'applications. En faisant référence à l'organigramme, au début du 15 traitement d'exemple, la tâche d'application APn commence et exécute un traitement associé, par exemple, à chacun des modules d'applications inclus dans la tâche d'application APn à l'étape 5110. Lorsque les traitements de tous les modules d'applications 20 s'achèvent, par exemple lorsqu'on obtient une réponse OUI à l'étape 5120, la tâche d'application APn détermine si tous les modules d'applications passent ou non dans l'état prêt pour la veille, c'est-à-dire, un état prêt pour devenir inactive à l'étape 5130. Il devra être noté qu'un module d'application 25 passera à l'état prêt pour la veille lorsqu'il aura achevé toute opération de commande associée et qu'aucune autre opération de commande ne devra être fournie comme décrit ci-dessous. Lorsqu'un module d'application commande une vitre électrique, par exemple, le module d'application est exécuté 30 plus d'une fois au cours d'un intervalle de temps donné pour mettre en oeuvre une séquence d'opérations de commande sur la vitre électrique. Lorsque la séquence de commandes est achevée et qu'aucune autre demande de commande ne se produit, alors il peut être considéré, par exemple, jusqu'à ce qu'une demande 35 suivante ou une séquence de demandes suivante soit générée, qu'aucune autre opération de commande n'est nécessaire. Il devra également être noté que certains modules d'applications passent dans l'état prêt pour la veille chaque fois qu'ils s'achèvent, de sorte qu'aucune autre demande ou séquence de demandes 40 impliquant des opérations de commande n'est générée. 9 2908535 Le traitement d'exemple détermine si chacun des modules d'applications passe ou non à l'état prêt pour la veille. Sur la base du résultat de détermination, le traitement détermine si la tâche d'application APn passe ou non à l'état prêt pour la 5 veille (S140). D'une manière spécifique, le traitement détermine si tous les modules d'applications passent ou non à l'état prêt pour la veille. Lorsque tous les modules d'applications passent à l'état prêt pour la veille, le traitement détermine que la tâche d'application APn passe à l'état prêt pour la veille. 10 Lorsqu'il est déterminé que la tâche d'application APn n'est pas dans l'état prêt pour la veille, de sorte qu'on obtienne un résultat NON à l'étape 5140, la tâche d'application APn s'achève. Lorsqu'il est déterminé que la tâche d'application APn est 15 dans l'état prêt pour la veille, de sorte qu'on obtienne un résultat OUI à l'étape S140, un traitement de notification peut être exécuté à l'étape S150 pour notifier à la section de gestion d'état SM que la tâche d'application APn est dans l'état prêt pour la veille. Conformément au présent mode de 20 réalisation, les appels de traitement d'exemple peuvent appeler une fonction prête pour la veille, par exemple SleepOK(n) pour exécuter la notification. Il devrait être noté que le n entre parenthèses dans la fonction prête pour la veille est l'argument ou le paramètre de la fonction et peut représenter, par exemple, 25 un identificateur de la tâche d'application qui a appelé la fonction. La tâche d'application APn s'achève ensuite. Lorsqu'une tâche d'application passe à l'état prêt pour la veille lors de l'achèvement de l'exécution, il peut être préférable, dans certains modes de réalisation d'exemples, 30 d'omettre les déterminations, par exemple, à l'étape S130 et à l'étape 5140 et de toujours appeler la fonction prête pour la veille à la fin de la tâche d'application. En faisant à présent référence à un organigramme d'une procédure d'exemple présentée en relation avec la figure 4, ce 35 qui suit décrit des fonctions et des procédures associées à la section de gestion d'état SM d'exemple, par exemple une fonction d'exemple mise en oeuvre par la section de gestion d'état SM. Alors que l'exécution est réalisée, par exemple, en association avec le microcalculateur 13, une des tâches 40 d'applications AP1 à APx appelle la fonction prête pour la 10 2908535 veille SleepOK(n), un argument n présentant une valeur entre 1 et x. Un programme correspondant à la section de gestion d'état SM est exécuté immédiatement. Lorsque le programme correspondant à la section de gestion 5 d'état SM est exécuté, une fonction d'établissement d'indicateur prêt pour la veille, telle que Flag(n), peut être utilisée pour établir un indicateur prêt pour la veille à 1 à l'étape 5210. Il sera noté que l'argument entre parenthèses n associé à la fonction d'établissement d'indicateur prêt pour la veille peut 10 représenter, par exemple, un identificateur de la tâche d'application qui a appelé la fonction prête pour la veille. L'indicateur prêt pour la veille peut être utilisé à l'étape S210 pour mémoriser un historique de l'état prêt pour la veille attribué à la tâche d'application et les notifications fournies 15 par la tâche d'application. A l'étape 5220, il peut être déterminé si tous les indicateurs prêts pour la veille associés aux fonctions d'établissement d'indicateurs prêts pour la veille, tels que Flag(l) à Flag(x), sont établis pour toutes les tâches 20 d'applications API à APx. Lorsque tous les indicateurs prêts pour la veille associés aux fonctions d'établissement d'indicateurs prêts pour la veille Flag(l) à Flag(x) sont établis pour toutes les tâches d'applications API à APx, de sorte qu'on obtienne un résultat 25 OUI à l'étape 5220, le microcalculateur 13 peut être immédiatement placé dans le mode de veille de sorte que moins d'énergie soit requise par rapport au fonctionnement normal à l'étape 5230. Par exemple, le fonctionnement d'un circuit d'oscillation destiné à fournir des signaux d'horloge à l'unité 30 UC 21 peut être arrêté ou bien le fonctionnement d'un circuit d'alimentation destiné à fournir l'énergie au microcalculateur 13 peut être arrêté. Ainsi, à l'étape 5230, le microcalculateur 13 peut être arrêté, ou, en variante, le traitement à l'étape 5230 peut diminuer la fréquence d'horloge ou la tension 35 d'alimentation pour l'unité UC 21. A la différence de la technique antérieure, aucun retard n'est encouru pour placer le microcalculateur 13, ou le contrôleur ou autre dans un mode de veille du fait qu'il n'y a pas d'attente de l'expiration d'un intervalle au moment duquel un module, tel qu'un module inactif 11 2908535 ou autre, contrôle l'état d'exécution en ce qui concerne la veille. Lorsque la détermination à l'étape 5220 produit un résultat négatif, de sorte qu'au moins un des indicateurs prêts pour la 5 veille n'est pas établi, une procédure associée à la section de gestion d'état SM peut être achevée. En variante, un autre traitement est exécuté ou lancé ce sur quoi l'exécution associée à la section de gestion d'état SM peut être achevée. Les traitements mentionnés ci-dessus seront à présent 10 décrits par rapport aux figures 5 et 6. Conformément à l'exemple de la figure 7, il peut être supposé que deux tâches d'applications APi et AP2 sont utilisées. La tâche de système ST demande le réveil de la tâche d'application API toutes les millisecondes et de la tâche d'application AP2 toutes les deux 15 millisecondes. Les tâches présentent des priorités de sorte que l'ordre est le suivant. La tâche de système ST présente une priorité qui est supérieure à celle de la tâche d'application APi, qui est supérieure à celle de la tâche d'application AP2 (priST>priApi>priAP2). Il devrait également être noté que sur la 20 figure 5, les nombres commençant avec S correspondent à diverses procédures d'exemple représentées et décrites en relation avec les figures 3 et 4. La figure 5 représente divers déroulements fonctionnels d'une opération entre les tâches d'applications et la section de gestion d'état SM conformément à divers modes de 25 réalisation en fonction du temps. Comme représenté en relation avec la partie supérieure de la figure 5, la tâche d'application API appelle la fonction prête pour la veille SleepOK(1) par exemple à l'étape 5150. A la réception des résultats de l'opération prête pour la veille, la 30 section de gestion d'état SM commence à établir Flag(1) par exemple à l'étape 5210. La section de gestion d'état SM détermine en outre si les indicateurs prêts pour la veille Flag(1) et Flag(2) sont tous les deux établis ou non pour les tâches d'applications APi et AP2, par exemple à l'étape S220. 35 Conformément au présent exemple de la figure 5, l'indicateur prêt pour la veille Flag(2) n'est pas établi pour la tâche d'application AP2. En conséquence, le microcalculateur 13 ne passe pas dans le mode de veille et, au lieu de cela, continue son fonctionnement normal. 12 2908535 Ensuite, la tâche d'application AP2 appelle la fonction prête pour la veille SleepOK(2) qui indique que la tâche d'application AP2 est prête pour la veille. La section de gestion d'état SM est à nouveau lancée pour établir Flag(2). La 5 section de gestion d'état SM détermine à nouveau si les indicateurs prêts pour la veille associés à Flag(l) et Flag(2) sont ou non tous les deux établis pour les tâches d'applications APi et AP2, par exemple conformément à l'étape 5220. Après la détermination du fait que les deux indicateurs 10 prêts pour la veille sont établis pour les tâches d'application API et AP2, la section de gestion d'état SM, par exemple, peut exécuter un traitement pour placer le microcalculateur 13 dans le mode de veille, point auquel le microcalculateur 13 arrête de fonctionner. Comme décrit ci-dessus, la transition vers le mode 15 de veille peut comprendre une diminution de la fréquence d'horloge ou une diminution de la tension d'alimentation pour l'unité UC 21, point auquel l'unité UC 21 fonctionne plus lentement que la normale à un niveau de puissance inférieur à la normale, ce qui résulte en des économies d'énergie globales. 20 Comme représenté sur la figure 6, le microcalculateur 13 peut passer dans le mode de veille immédiatement lorsque toutes les tâches d'application passent dans les états prêts pour la veille. Dans le présent exemple, il peut être noté que la tâche d'application AP2 passe à l'état prêt pour la veille et que le 25 microcalculateur 13 est prêt pour le mode de veille. Il est en conséquence possible de résoudre le problème courant de l'énergie perdue dans la technique antérieure. Il devrait être noté que le présent mode de réalisation peut utiliser un programme informatique pour mettre en oeuvre la 30 fonction de la section de gestion d'état SM. L'effet mentionné ci-dessus peut être procuré sans utiliser de circuit supplémentaire. Lorsque la tâche inactive est utilisée en tant que tâche présentant la priorité la plus faible, la tâche inactive peut aisément recevoir une fonction telle que le 35 contrôle de la mémoirevis-à-vis d'une anomalie. L'unité ECU 11 utilisant un tel microcalculateur 13 peut économiser la consommation d'énergie pour l'état inactif de manière plus efficace que dans la technique antérieure. Dans le présent mode de réalisation, la section de gestion 40 d'état SM est équivalente à un moyen de gestion de transition de 13 2908535 veille ou à un programme permettant à l'ordinateur de fonctionner en tant que moyen de gestion de transition de veille. Bien qu'il ait été décrit le mode de réalisation préféré 5 spécifique de la présente invention, il doit clairement être compris que l'invention n'est pas limitée à celui-ci mais qu'elle peut, au lieu de cela, être mise en oeuvre d'autres manières dans l'esprit et la portée de l'invention. Par exemple, le système d'exploitation peut comprendre des fonctions en tant 10 que tâche de système ST et de section de gestion d'état SM. Le traitement d'exemple ou les procédures d'exemples associés à la section de gestion SM peuvent être exécutés dans la tâche de système ST ou dans une tâche quelconque parmi les tâches d'applications. Une tâche d'application ou un module 15 d'application peut être réalisée dans la tâche de système ST. C'est-à-dire qu'une tâche d'application donnée peut fournir la commande par exemple de réveil des tâches à la place de la tâche de système ST. Bien que la figure 2 définisse le nombre de tâches d'applications (x) comme étant de deux ou plus, une seule 20 tâche d'application peut être utilisée. Il devrait également être noté que l'invention est applicable non seulement à une unité ECU destinée à commander les fonctions mentionnées ci-dessus, associée à la caisse mais également à une unité ECU pour commander un groupe 25 motopropulseur comprenant un moteur et une transmission. L'invention est également applicable à des unités ECU utilisées pour d'autres buts que pour des véhicules. 1.4 REVENDICATIONS 1. Procédé de commande d'un état de veille dans un contrôleur (11) associé à un véhicule, le contrôleur (11) exécutant un module de gestion de transition de veille (SM) et n tâches d'applications (APn), où n est un nombre entier supérieur ou égal à 2, les n tâches d'applications comportant chacune y modules d'applications (APn-y), où y est un nombre entier supérieur ou égal à 1, le procédé comprenant les étapes consistant à : (a) déterminer en association avec une première tâche parmi les n tâches d'applications si le traitement associé à la totalité des y modules d'applications associés à la première tâche parmi les n tâches d'applications sont terminés (S120), (b) fournir une notification (S150) au module de gestion de transition de veille d'un premier état prêt pour la veille associé à la première des n tâches d'applications si tous les y modules d'applications associés à la première des n tâches d'applications sont terminés, (c) déterminer, en association avec une tâche les n tâches d'applications si le traitement totalité des y modules d'applications associés suivante parmi les tâches d'applications est terminé, (d) fournir une notification au module de gestion de transition de veille d'un état prêt pour la veille suivant associé à la tâche suivante parmi les tâches d'applications si la totalité des y modules d'applications associés à la tâche suivante des n tâches d'applications sont terminés, (e) déterminer, en association avec des tâches restantes quelconques parmi les n tâches d'applications si le traitement associé à la totalité des modules respectifs parmi les y modules d'applications associés aux tâches restantes quelconques parmi les n tâches d'applications sont terminés, (f) fournir une notification au module de gestion de transition de veille, si les tâches restantes quelconques parmi les n tâches d'applications sont présentes, des états prêts pour la veille restants respectifs associés aux tâches restantes quelconques parmi les n tâches d'applications si la totalité des modules respectifs parmi les y modules d'applications associés suivante parmi associé à la à la tâche 15 2908535 aux tâches restantes quelconques parmi les n tâches d'applications sont terminés, et (g) activer immédiatement un mode de veille (S230) du contrôleur (11) sur la base des notifications fournies au module 5 de gestion de transition de veille en (b), (d) et, si des tâches restantes quelconques parmi les n tâches d'applications sont présentes (f). 2. Article de fabrication comprenant : 10 un support lisible par un ordinateur (18, 23), et des instructions supportées sur le support lisible (18, 23) par un ordinateur, les instructions étant lisibles par le contrôleur (11), les instructions, lorsqu'elles sont lues et exécutées par le contrôleur (1:1), étant destinées à amener le 15 contrôleur (11) à exécuter le procédé selon la revendication 1. 3. Article de fabrication selon la revendication 2, dans lequel le contrôleur (11) comprend l'un d'un processeur, d'un microcalculateur (13) et d'un contrôleur (11) électronique 20 embarqué dans un véhicule. 4. Procédé selon la revendication 1, dans lequel le module de transition de veille est conf:iguré pour : démarrer lors de la notification du premier état prêt pour 25 la veille associé à la première des n tâches d'application, mémoriser un historique des états prêts pour la veille attribués à la première des n tâches d'applications et attribués à la deuxième des n tâches d'applications et aux tâches restantes quelconques parmi les n tâches d'applications, pour 30 déterminer si la totalité des n tâches d'applications sont dans des états prêts pour la veille, et placer immédiatement le contrôleur (11) dans un mode de veille sur la base de l'activation lorsque la totalité des n tâches d'applications sont dans des états prêts pour la veille, 35 le mode de veille nécessitant une consommation d'énergie moindre par rapport à un fonctionnement normal. 5. Contrôleur (il) exécutant n tâches d'applications (APn), où n est un nombre entier supérieur ou égal à 2, les n tâches 40 d'applications comportant chacune y modules d'applications (APn- 16 2908535 y), où y est un nombre entier supérieur ou égal à 1, le contrôleur (11) comprenant : un processeur (21), et une mémoire (25) couplée au processeur, la mémoire étant 5 capable de mémoriser des instructions lisibles par le processeur, les instructions, lorsqu'elles sont lues et exécutées, étant destinées à amener le processeur à : exécuter un module de transition de veille (SM), le module de transition de veille, lors de la notification provenant d'une 10 tâche parmi les n tâches d'applications de ce que la tâche est dans un état prêt pour la veille, étant configuré pour : déterminer (S220) si la totalité des n tâches d'applications sont dans l'état prêt pour la veille, et placer immédiatement le microcalculateur (13) 15 dans un mode de veille (S2301 si la totalité des n tâches d'applications sont dans l'état prêt pour la veille, le mode de veille nécessitant une consommation d'énergie moindre par rapport à un fonctionnement normal, où la notification provenant de la tâche parmi les n tâches 20 d'applications est générée lorsque la tâche parmi les n tâches d'applications entre dans un état prêt pour la veille. 6. Contrôleur selon la revendication 5, dans lequel le module de transition de veille est en outre configuré pour 25 déterminer si la totalité des n tâches d'applications sont dans l'état prêt pour la veille sur la base d'informations comprenant un historique des états prêts pour la veille précédents associés à une ou plusieurs tâches parmi les n tâches d'applications. 30 7. Contrôleur selon la revendication 5, dans lequel la notification provenant de la tâche parmi les n tâches d'applications est générée à une fin d'exécution de la tâche parmi les n tâches d'applications. 35 8. Article de fabrication comprenant : un support lisible par un ordinateur (16, 23), et les instructions supportées sur le support lisible (18, 23) par un ordinateur, les instructions étant lisibles par le processeur, les instructions, lorsqu'elles sont mémorisées dans la mémoire, lues et exécutées par le processeur, étant destinées 17 2908535 à amener le processeur à exécuter la fonction du module de transition de veille selon la revendication 5. 9. Article de fabrication comprenant : 5 un support lisible par un ordinateur (18, 23), et des instructions supportées sur le support lisible (18, 23) par un ordinateur, les instructions étant lisibles par le microcalculateur (13), les instructions, lorsqu'elles sont lues et exécutées par le microcalculateur (13), étant destinées à 10 amener le contrôleur (11) à exécuter la fonction du module de transition de veille selon la revendication G. 10. Article de fabrication selon la revendication 8, dans lequel le microcalculateur (13) comprend l'un d'un processeur, 15 d'un contrôleur (11) et d'un contrôleur électronique embarqué dans un véhicule. 11. Article de fabrication selon la revendication 9, dans lequel le microcalculateur (13) comprend l'un d'un processeur, 20 d'un contrôleur (11) et d'un contrôleur électronique embarqué dans un véhicule. 12. Microcalculateur (13) exécutant une tâche parmi une pluralité de tâches d'applications (APn), chaque tâche parmi la 25 pluralité de tâches d'applications exécutant au moins un module d'application (APn-y), le microcalculateur (13) comprenant : un moyen de gestion de transition de veille (21) qui, lors de la notification provenant de la tâche d'application concernant l'entrée de la tâche d'application dans un état prêt 30 pour la veille, est configuré pour : déterminer (S120) si la totalité de la pluralité de tâches d'applications est entrée dans l'état prêt pour la veille, et amener le microcalculateur (13) à être placé 35 dans un mode de veille (S230), le mode de veille nécessitant une consommation d'énergie moindre par rapport à un fonctionnement normal, où la tâche d'application exécute un traitement de notification pour émettre la notification lorsque la tâche 40 d'application passe dans un état prêt pour la veille. :18 2908535 13. Microcalculateur selon la revendication 12, dans lequel le moyen de gestion de transition de veille est en outre configuré pour déterminer si la totalité des n tâches d'applications sont dans l'état prêt pour la veille sur la base 5 d'informations comprenant un historique des états prêts pour la veille précédents associés à une ou plusieurs des n tâches d'applications. 14. Microcalculateur selon la revendication 12, 10 dans lequel le traitement de notification est exécuté à la fin de la tâche d'application. 15. Article de fabrication comprenant : un support lisible par un ordinateur (18, 23), et 15 les instructions supportées sur le support lisible (18, 23) par un ordinateur, les instructions étant lisibles par le microcalculateur (13), les instructions, lorsqu'elles sont mémorisées dans la mémoire, lues et exécutées par le microcalculateur (13), étant destinées à amener le 20 microcalculateur (13) à fonctionner en tant que le moyen de gestion de transition de veille selon la revendication 12. 16. Article de fabrication comprenant : un support lisible par un ordinateur (18, 23), et 25 les instructions supportées sur le support lisible (18, 23) par un ordinateur, les instructions étant lisibles par le microcalculateur (13), les instructions, lorsqu'elles sont mémorisées dans la mémoire, lues et exécutées par le microcalculateur (13), étant destinées à amener le 30 microcalculateur (13) à fonctionner en tant que le moyen de gestion de transition de veille selon la revendication 13. 17. Article de fabrication selon la revendication 15, dans lequel le microcalculateur (13) comprend l'un d'un processeur, 35 d'un contrôleur (11) et d'un contrôleur électronique embarqué dans un véhicule. 18. Article de fabrication selon la revendication 16, dans lequel le microcalculateur (13) comprend l'un d'un processeur, 2908535 d'un contrôleur (11) et d'un contrôleur électronique embarqué dans un véhicule.