Brevet FR2844892A1 — publié le 20040326

HORLOGE DE SURVEILLANCE DE MICROCONTROLEUR L'invention concerne les horloges de surveillance, et en particulier les horloges de surveillance associées à des microcontrôleurs. Ces horloges de. surveillance sont également appelées chiens de garde, 10 ou "watchdog timers" en anglais. Des microcontrôleurs associés à des horloges de surveillance sont connus dans l'état de la technique. Des interférences externes ou des conditions logiques imprévues provoquent parfois la défaillance d'une 15 application ou d'un logiciel mis en òuvre par le microcontrôleur. Plus les contrôleurs sont à proximité de champs magnétiques et électriques importants, plus ils sont sujets à de telles défaillances. L'application ou le logiciel ne fonctionne alors pas suivant sa 20 séquence logique normale. L'horloge de surveillance présente classiquement un registre à plusieurs bits stockant une durée restante avant réinitialisation. Les bits sont. décrémentés à intervalles réguliers par une horloge, 25 sous forme de compte à rebours. Lorsque le microcontrôleur fonctionne normalement, le microcontrôleur doit inscrire une valeur de durée non nulle à intervalles réguliers dans le registre. Dans la plupart des cas de fonctionnement anormal du 30 microcontrôleur, l'application ou logiciel tourne en boucle et n'inscrit plus de nouvelle valeur de durée dans le registre de l'horloge de surveillance. Le compte à rebours se poursuit alors jusqu'à l'expiration du délai prévu. A l'expiration du délai, l'horloge de surveillance réinitialise le microcontrôleur. Un des bits du registre est pour cela connecté logiquement à une broche de réinitialisation du microcontrôleur. Lors du 5 passage à l'état bas de ce bit, c'est-à-dire à l'expiration du délai prévu, le microcontrôleur est réinitialisé. L'application ou le logiciel mis en oeuvre sur le microcontrôleur peut ainsi être relancé dans de bonnes conditions. Une porte logique peut également 10 être interposée entre le bit du registre destiné à la réinitialisation et la broche de réinitialisation du microcontrôleur. La porte logique peut être du type ET. ou NON-ET, et présenter une deuxième entrée connectée à un circuit logique d'activation. La fonction d'horloge 15 de surveillance peut ainsi être activée ou désactivée sélectivement par l'intermédiaire de ce circuit. Une telle horloge de surveillance présente des inconvénients. Le logiciel ou l'application du microcontrôleur peut écrire de façon intempestive à des 20 intervalles réduits de nouveaux délais dans le registre de l'horloge de surveillance. Ce peut notamment être le cas si l'application ou le logiciel du microcontrôleur tournent en boucle infinie sur une routine d'écriture dans le registre de l'horloge de surveillance. Ainsi, 25 même lors d'une défaillance de l'application ou du programme, le registre ne subit pas un compte à rebours jusqu'à son terme, et l'application ou le logiciel. n'est alors pas relancé. Il existe donc un besoin, que l'invention vise à 30 satisfaire, pour une horloge de surveillance de microcontrôleur comprenant un compteur de réinitialisation, comprenant une entrée de rafraîchissement et une sortie de réinitialisation et prévu pour lancer un compte à rebours de réinitialisation à réception d'une commande de rafraîchissement sur son entrée de rafraîchissement, et pour appliquer une commande de réinitialisation sur la sortie de réinitialisation (12) à l'expiration du compte à rebours de réinitialisation, qui résolve ces inconvénients. L'horloge de surveillance de microcontrôleur de l'invention, par ailleurs conforme à la définition générique qu'en donne le préambule ci-dessus, est essentiellement caractérisée en ce qu'elle est 10 susceptible de mettre en oeuvre un procédé d'optimisation de fonctionnement décrit par la suite. Selon un premier mode de réalisation,. L'horloge de surveillance comprend: -un compteur de réinitialisation, 15 -comprenant: -une entrée de rafraîchissement; et -une sortie de réinitialisation; et -prévu pour: lancer un compte à rebours de 20 réinitialisation à réception d'une commande de rafraîchissement sur son entrée de rafraîchissement, appliquer une commande de réinitialisation sur la sortie de 25 réinitialisation à l'expiration du compte à rebours de réinitialisation; un compteur de rafraîchissement connecté à l'entrée de rafraîchissement du compteur de réinitialisation, présentant une entrée de 30 rafraîchissement, et prévu pour: -lancer un compte à rebours de rafraîchissement à réception d'une commande de rafraîchissement sur son entrée de rafraîchissement; -n' appliquer une commande de rafraîchissement à l'entrée de rafraîchissement du compteur de réinitialisation qu'à l'expiration du compte à rebours de rafraîchissement. Selon un deuxième mode de réalisation, l'horloge comprend: -un compteur de réinitialisation, comprenant: -une entrée de rafraîchissement; et -une sortie de réinitialisation; et 10 -prévu pour: -lancer un compte à rebours de réinitialisation à réception d'une commande de rafraîchissement sur son entrée de rafraîchissement, 15 -appliquer une commande de réinitialisation sur la sortie de réinitialisation à l'expiration du compte à rebours de réinitialisation; -un compteur de rafraîchissement connecté à 20 l'entrée de rafraîchissement du compteur de réinitialisation, présentant une entrée de rafraîchissement, et prévu pour: -lancer un compte à rebours de rafraîchissement à réception d'une commande 25 de rafraîchissement sur son entrée de rafraîchissement; - n'appliquer une commande de rafraîchissement à l'entrée de rafraîchissement du compteur de réinitialisation que si le compte à rebours 30 de rafraîchissement est expiré lors de la réception de la commande.de rafraîchissement. Selon une variante le compteur de réinitialisation présente plusieurs bits et en ce que le bit de poids fort est connecté à la sortie de réinitialisation. Selon une autre variante, le compteur est inclus dans un registre. Selon encore une variante, l'horloge de surveillance comprend en outre une porte logique ET, 5 une entrée d'activation présentant une liaison logique avec une entrée de la porte ET, et en ce que la sortie de réinitialisation présente une liaison logique avec une autre entrée de la porte ET. Selon encore une autre variante, l'entrée 10 d'activation est connectée à un bit d'activation du registre, et en ce que le bit d'activation du registre est connecté à l'entrée de la porte logique ET. On peut en outre prévoir que l'horloge de surveillance présente en outre: 15 -une entrée d'horloge; -un diviseur de fréquence muni d'une entrée connectée à l'entrée d'horloge et d'une sortie connectée aux bits du compteur de réinitialisation, de sorte à décrémenter le 20 compteur de réinitialisation lors de l'application du signal par le diviseur de fréquence. Selon une variante, la durée du compte à rebours de rafraîchissement est inférieure à la durée séparant deux décrémentations du compteur de réinitialisation. Selon une autre variante, le compteur de rafraîchissement présente plusieurs bits et est connecté à l'entrée d'horloge, de sorte à décrémenter le compteur de réinitialisation lors de l'application du signal d'horloge. Selon encore une variante, la durée du compte à rebours de réinitialisation est programmable. L'invention porte également sur un procédé d'optimisation de fonctionnement d'une horloge de surveillance d'un microcontrôleur présentant des durées 35 normales séparant des commandes de rafraîchissement de l'horloge de surveillance comprises dans une plage présentant une durée minimale et une durée maximale, le procédé comprenant les étapes de: -réception de commandes de rafraîchissement par l'horloge de surveillance; -génération d'une commande de réinitialisation du microcontrôleur par l'horloge de surveillance lorsque la durée séparant des commandes de rafraîchissement successives reçues n'appartient 10 pas à ladite plage. Selon une variante, le procédé comprend les étapes de: -lancement d'un compte à rebours de réinitialisation; -lors de la réception d'une commande de. rafraîchissement par l'horloge de surveillance, lancement d'un compte à rebours de rafraîchissement; -relancement du compte à rebours de 20 réinitialisation à l'expiration du compte à rebours de rafraîchissement; génération d'une commande de réinitialisation à l'expiration du compte à rebours de réinitialisation; -la durée du compte à rebours de réinitialisation est égale à la durée maximale de ladite plage, la durée du compte à rebours de rafraîchissement étant égale à la durée minimale de ladite plage. Selon encore une variante, le procédé comprend les 30 étapes de: -lors de la réception d'une commande de rafraîchissement par l'horloge de surveillance: -si le compte à rebours de rafraîchissement est expiré, lancement d'un compte à rebours 35 de réinitialisation; -si le compte à rebours de rafraîchissement n'est pas expiré, poursuite du compte à rebours de réinitialisation; -lancement du compte à rebours de. rafraîchissement; -génération d'une commande de réinitialisation à l'expiration du compte à rebours de réinitialisation; -la durée du compte à rebours de réinitialisation 10 est égale à la durée maximale de ladite plage, la durée du compte à rebours de rafraîchissement étant égale à la durée minimale de ladite plage. Selon encore une variante, si le compte à rebours de rafraîchissement est expiré, le lancement du compte 15 à rebours de réinitialisation et le lancement du compte à rebours de rafraîchissement sont effectués simultanément lors de la réception d'une commande de rafraîchissement. Selon encore une autre variante, le compte à. 20 rebours de réinitialisation est synchronisé sur un signal d'horloge divisé en fréquence. On peut également prévoir que le compte à rebours de rafraîchissement est synchronisé sur un signal d'horloge. Selon une variante, le procédé comprend en outre une étape de programmation de la durée du compte à rebours de réinitialisation. Selon une autre variante, la commande de rafraîchissement reçue par l'entrée de rafraîchissement 30 du compteur de rafraîchissement définit la durée du compte à rebours de réinitialisation. Selon encore une variante, la commande de rafraîchissement est un mot de plusieurs bits inscrit dans le compteur de réinitialisation lors d'une étape. de lancement et définissant la durée du compte à rebours de réinitialisation. Selon encore une autre variante, le compteur de réinitialisation est un compteur à plusieurs bits et en 5 ce que la commande de réinitialisation est générée par le passage à l'état bas du bit de poids fort du compteur de réinitialisation. L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui 10 l'accompagnent. Les figures montrent: -figure 1, une représentation schématique d'une horloge de surveillance selon l'invention associée à un microcontrôleur; -figure 2 à 4, des chronogrammes illustrant le 15 fonctionnement d'un premier exemple d'horloge de surveillance dans différents cas de fonctionnement du microcontrôleur; -figures 5 à 7, des chronogrammes illustrant le fonctionnement d'un deuxième exemple d'horloge de 20 surveillance dans différents cas de fonctionnement du microcontrôleur. L'invention propose ainsi une horloge de surveillance générant un signal de réinitialisation d'un microcontrôleur lorsque la durée séparant des 25 commandes de rafraîchissement successives est inférieure à une durée minimale de fonctionnement normal. L'invention concerne notamment une horloge de surveillance dans laquelle un compteur de rafraîchissement bloque des commandes de rafraîchissement destinées à relancer un compteur de réinitialisation du microcontrôleur. Les commandes de rafraîchissement sont fournies par un microcontrôleur et leur transmission au compteur de réinitialisation est bloquée pendant le décompte du compteur de 35 rafraîchissement. Les commandes de rafraîchissement reçues par le compteur de rafraîchissement avant son expiration, le relancent. Ainsi, si le microcontrôleur envoie en boucle des commandes de rafraîchissement, le compte à rebours du compteur de réinitialisation n'est 5 alors pas relancé et peut réinitialiser le microcontrôleur à son expiration. Une boucle de rafraîchissement du microcontrôleur ne bloque donc pas la réinitialisation du microcontrôleur. L'invention peut notamment être mise en oeuvre au 10 moyen de deux modes de réalisation qui vont être décrits ci-dessous. Selon un premier mode de réalisation, les commandes de rafraîchissement sont bloquées pendant la durée du compteur derafraîchissement, et transmises au compteur de 15 réinitialisation uniquement lorsque le compteur a expiré. Selon un deuxième mode de réalisation encore plus avantageux, les commandes de rafraîchissement ne sont pas transmises lorsqu'elles arrivent pendant le décompte du compte à rebours de rafraîchissement. Dans 20 les deux modes de réalisation, les commandes de rafraîchissement reçues relancent le compte à rebours du compteur de rafraîchissement. La figure 1 représente de façon schématique la structure d'une horloge de surveillance 1 selon 25 l'invention, ainsi qu'un microcontrôleur 2 associé. L'horloge de rafraîchissement est délimitée dans la figure 1 par la ligne discontinue. L'horloge de surveillance 1 présente une broche de sortie de commande de réinitialisation 8 connectée à une broche 30 de réinitialisation RST du microcontrôleur 2. Cette broche 8 est ainsi prévue pour appliquer de façon connue en soi un signal de réinitialisation sur une broche appropriée du microcontrôleur. L'horloge de surveillance présente également une broche d'entrée de 35 commande de rafraîchissement 9, sur laquelle une broche Raf du microcontrôleur peut appliquer une commande de rafraîchissement. L'horloge de surveillance 1 présente en outre un compteur de réinitialisation 3 de façon connue en soi. 5 Ce compteur 3 présente une sortie de commande de réinitialisation 12 présentant une liaison logique avec la broche de sortie de commande de réinitialisation 8. La sortie de commande de réinitialisation 12 peut ainsi soit appliquer directement le signal de réinitialisation sur la broche 8, soit être connectée à la broche 8 par l'intermédiaire d'une porte logique comme cela sera détaillé par la suite. Le compteur de réinitialisation 3 présente également une entrée de commande de rafraîchissement 11. Le compteur de réinitialisation 3 est prévu pour appliquer une commande de réinitialisation sur la sortie de réinitialisation 12 à l'expiration de son compte à rebours. Le compteur de réinitialisation est également prévu pour lancer un nouveau compte à rebours 20 lorsqu'une commande de rafraîchissement est appliquée sur l'entrée de rafraîchissement 11. Un compteur de rafraîchissement 6 est connecté entre la borne d'entrée de rafraîchissement 9 et l'entrée de rafraîchissement 11. Le compteur de 25 rafraîchissement 6 est prévu pour lancer un nouveau compte à rebours de rafraîchissement, c'est-à-dire son propre compte à rebours, à réception d'une commande de rafraîchissement sur la borne d'entrée de rafraîchissement 9. Selon le premier mode de réalisation, cette commande de rafraîchissement n'est transmise à l'entrée de rafraîchissement 11 du compteur de réinitialisation 3 que si aucune commande de rafraîchissement n'est reçue avant l'expiration du compte à rebours de 35 rafraîchissement. Il Selon le deuxième mode de réalisation, une telle commande de rafraîchissement n'est pas transmise à l'entrée de rafraîchissement 11 du compteur de réinitialisation 3 si elle reçue durant le compte à rebours du compteur de rafraîchissement. Ainsi, en admettant que le microcontrôleur effectue une boucle infinie émettant des commandes rapprochées de rafraîchissement, le compte à rebours de réinitialisation n'est malgré tout pas relancé. Le 10 compteur de réinitialisation poursuit alors son compte à rebours, alors que le compteur de rafraîchissement est relancé à chaque commande de rafraîchissement, c'est- à-dire indéfiniment puisque le microcontrôleur envoie ces commandes en boucle. Lorsque le compteur de 15 réinitialisation voit son compte à rebours expirer, il émet une commande de réinitialisation vers le microcontrôleur, afin de réinitialiser l'application ou le logiciel qui tourne en boucle sur celui-ci. L'horloge de surveillance est ainsi prévue pour ne 20 laisser fonctionner le microcontrôleur en continu que lorsque celui-ci génère des signaux de commande de rafraîchissement séparés par des durées normales appartenant à une plage donnée. Les figures 2 à 4 représentent des chronogrammes 25 de fonctionnement de l'horloge de surveillance, suivant le premier mode de réalisation. La figure 2 illustre un chronogramme de fonctionnement normal. La durée maximale souhaitée séparant des commandes de rafraîchissement, est égale à la durée du compte à 30 rebours de réinitialisation. En effet, en absence de commande de rafraîchissement pendant cette durée, le compte à rebours du compteur de réinitialisation expire, comme illustré à la figure 3. La durée du compte à rebours de rafraîchissement est également égale à la durée minimale de ladite plage, comme illustré à la figure 4. La figure 2 illustre le fonctionnement de l'horloge de surveillance lors d'un fonctionnement 5 normal du microcontrôleur. Le microcontrôleur peut alors émettre des commandes de rafraîchissement espacées d'une durée comprise dans la plage souhaitée. Le premier chronogramme représente l'état du compteur de rafraîchissement, tandis que le deuxième 10 chronogramme représente l'état du compteur de réinitialisation. Le compte à rebours du compteur de réinitialisation est lancé à l'instant Init. Le compte à rebours du compteur de rafraîchissement est lancé lorsqu'il reçoit une commande de rafraîchissement C15 Raf. A l'expiration (instant noté Exp-TRaf ou Raf) d'une durée TRaf, le compte à rebours du compteur de réinitialisation n'a pas expiré, et ce compte à rebours est relancé. Le compteur de réinitialisation ne génère donc pas de commande de réinitialisation. Ainsi, on 20 définit la durée maximale séparant des commandes de rafraîchissement, émises par le microcontrôleur, en fixant la durée du compte à rebours de réinitialisation. La figure 3 illustre le fonctionnement de 25 l'horloge de surveillance lors d'une boucle du microcontrôleur ne générant pas de commande de rafraîchissement. Le microcontrôleur fonctionne correctement jusqu'à l'instant Déf. Il n'émet alors plus de commande de rafraîchissement. Le compteur de 30 réinitialisation poursuit alors son compte à rebours jusqu'à expiration. L'horloge de surveillance génère alors, de façon connue en soi, une commande de réinitialisation à l'instant Réinit, comme représenté dans le troisième chronogramme de cette figure 3. Le 35 compteur de rafraîchissement n'a donc pas d'influence sur la génération d'une commande de réinitialisation dans ce cas particulier. La figure 4 illustre le fonctionnement de l'horloge de surveillance lors d'une boucle du 5 microcontrôleur générant des commandes de rafraîchissement rapprochées initiée à l'instant Déf. Lorsque la durée séparant des commandes de rafraîchissement successives du microcontrôleur est inférieure à la durée du compte à rebours de 10 rafraîchissement TRaf, le compte à rebours de rafraîchissement est relancé à chaque nouvelle commande de rafraîchissement. Le compte à rebours du compteur de réinitialisation n'est alors pas relancé. Lorsque ce compteur expire à l'instant Réinit, l'horloge de 15 commande génère une commande de réinitialisation, comme représenté dans le troisième chronogramme de cette figure 4. La durée du compte à rebours de rafraîchissement TRaf définit ainsi la durée minimale devant séparer des commandes de rafraîchissement se 20 succédant de façon répétée. L'horloge de surveillance mettant en oeuvre ce premier mode de réalisation comprend avantageusement un organe de mémorisation de la dernière commande de rafraîchissement reçue sur l'entrée 9, pour la 25 transmettre le cas échéant au compteur de réinitialisation à l'expiration du compte à rebours de rafraîchissement. Les figures 5 à 7 représentent des chronogrammes de fonctionnement de l'horloge de surveillance, suivant 30 le deuxième mode de réalisation. La figure 5 illustre un chronogramme de fonctionnement normal. La durée maximale souhaitée séparant des commandes de rafraîchissement, est aussi égale à la durée du compte à rebours de réinitialisation. En effet, en absence de 35 commande de rafraîchissement pendant cette durée, le compte à rebours du compteur de réinitialisation expire, comme illustré à la figure 6. La durée du compte à rebours de rafraîchissement est également égale à la durée minimale de ladite plage, comme illustré à la figure 7. La figure 5 illustre donc le fonctionnement de l'horloge de surveillance selon le deuxième mode de réalisation, lors d'un fonctionnement normal du microcontrôleur. Le microcontrôleur peut alors émettre 10 des commandes de rafraîchissement espacées d'une durée comprise dans la plage souhaitée. Le compte à rebours du compteur de rafraîchissement est lancé à l'instant correspondant à la réception d'une commande initiale de rafraîchissement C-Raf. A cet instant, le compte à 15 rebours du compteur de rafraîchissement est encore dans un état expiré. La commande de rafraîchissement est alors transmise au compteur de réinitialisation. Le compte à rebours du compteur de réinitialisation est donc initialement relancé au même instant que le compte 20 à rebours de rafraîchissement. La commande de rafraîchissement suivante est reçue après l'expiration du compte à rebours du compteur de rafraîchissement. Cette commande relance donc également le compteur de réinitialisation à l'instant Raf, avant l'expiration du 25 compte à rebours de réinitialisation alors en cours. Le compteur de réinitialisation ne génère donc pas de commande de réinitialisation. Comme pour le mode de réalisation précédent, on définit la durée maximale séparant des commandes de rafraîchissement, émises par 30 le microcontrôleur, en fixant la durée du compte à rebours de réinitialisation. La figure 6 illustre le fonctionnement de l'horloge de surveillance lors d'une boucle du microcontrôleur ne générant pas de commande de 35 rafraîchissement. Le compteur de rafraîchissement et le compteur de réinitialisation sont lancés simultanément lors de la réception d'une commande C-Raf. Le microcontrôleur fonctionne correctement jusqu'à l'instant Déf, puis n'émet plus de commande de 5 rafraîchissement. Le compteur de réinitialisation poursuit alors son compte à rebours jusqu'à expiration. L'horloge de surveillance génère alors de façon connue en soi, une commande de réinitialisation à l'instant Réinit, comme représenté dans le troisième chronogramme 10 de la figure 6. Dans ce mode de réalisation, le compteur de rafraîchissement n'a donc pas non plus d'influence sur la génération d'une commande de réinitialisation pour ce type de boucle. La figure 7 illustre le fonctionnement de 15 l'horloge de surveillance lors d'une boucle du microcontrôleur générant des commandes de rafraîchissement rapprochées, initiée à l'instant Déf. Chaque commande C-Raf relance le compte à rebours de compteur de rafraîchissement comme décrit précédemment. 20 Chaque commande C-Raf ultérieure est alors reçue avant l'expiration du compte à rebours du compteur de rafraîchissement. Ces commandes ne sont alors pas transmises au compteur de réinitialisation. Le compte à rebours du compteur de réinitialisation n'est alors pas 25 relancé et expire à l'instant Réinit. Une commande de réinitialisation est alors générée comme représenté au troisième chronogramme de la figure 7. La durée du compte à rebours de rafraîchissement Traf définit ainsi la durée minimale devant séparer des commandes de 30 rafraîchissement se succédant de façon répétée. On peut prévoir que le relancement du compte à rebours de réinitialisation soit réalisé par une écriture du microcontrôleur dans le compteur de réinitialisation. On peut notamment prévoir que cette écriture soit bloquée durant le compte à rebours de rafraîchissement. Ce deuxième mode de réalisation est avantageux car il ne nécessite pas de mémoriser ou de décaler dans le 5 temps une commande de rafraîchissement reçue sur l'entrée 9 et à transmettre au compteur de réinitialisation. Dans la variante représentée à la figure 1, le compteur de réinitialisation comprend plusieurs bits BO 10 à B6. Le bit de poids fort B6 du compteur de réinitialisation 3 est connecté à la sortie de réinitialisation 12. Ainsi, la commutation du bit de poids fort B6 correspond à l'expiration du compte à rebours et génère un signal de réinitialisation fourni 15 au microcontrôleur. Dans l'exemple représenté, le compteur de réinitialisation 3 présente 64 valeurs possibles durant le compte à rebours, définies par les valeurs BO à B5. Le compteur est par exemple prévu pour que le 20 passage à l'état bas du bit B6, complémenté à l'entrée de la porte logique ET 7, applique un signal de réinitialisation d'une durée de l'ordre de 500 nanosecondes sur une broche de réinitialisation du microcontrôleur. Le microcontrôleur sera programmé de 25 façon adéquate pour envoyer des commandes de rafraîchissement à des intervalles tels que définis auparavant. L'utilisation de la porte logique ET 7, permet de coupler la sortie de réinitialisation 12 du compteur de 30 réinitialisation 3 avec une entrée d'activation 13. L'entrée d'activation 13 permet donc d'activer ou de désactiver sélectivement la génération de commandes de réinitialisation sur la broche de sortie 8. Dans l'exemple de la figure 1, l'entrée d'activation fixe l'état d'un bit Act d'un registre, dans lequel est également inclus le compteur de réinitialisation 3. L'horloge de surveillance 1 peut en outre présenter une entrée d'horloge 14 connectée à l'entrée 5 d'un diviseur de fréquence 5. La sortie 10 du diviseur de fréquence 5 est connectée au compteur de réinitialisation 3. Le signal divisé en fréquence est alors utilisé pour décrémenter le compteur de réinitialisation 3. Le signal d'horloge est par exemple 10 fourni par un oscillateur externe 4, commun à plusieurs circuits électroniques. On peut également prévoir d'intégrer un oscillateur 4 dans l'horloge de surveillance ou dans le microcontrôleur. L'oscillateur 4 intégré est alors indépendant des aléas de 15 fonctionnement d'un éventuel oscillateur externe. On peut également prévoir d'utiliser un compteur de rafraîchissement 6 présentant plusieurs bits, connecté à l'entrée d'horloge pour réaliser la décrémentation du compte à rebours à chaque signal 20 d'horloge reçu. Le compteur de rafraîchissement 6 présente une connexion 11 avec le compteur de réinitialisation. Cette connexion 11 est prévue pour transmettre sélectivement une commandede rafraîchissement au 25 compteur de réinitialisation 3 dans les cas décrits précédemment. La commande de rafraîchissement transmise au compteur de réinitialisation peut prendre plusieurs formes dans le cadre de l'invention. On peut prévoir 30 que cette commande prenne la forme d'une impulsion relançant le compte à rebours du compteur de réinitialisation, avec une durée prédéterminée dans l'horloge de surveillance. On peut par ailleurs prévoir que le compteur de réinitialisation soit programmable 35 et que la commande de rafraîchissement fournie par le microcontrôleur définisse la durée de son compte à rebours. La commande de rafraîchissement peut ainsi fixer un état des bits BO à B5 pour définir la durée du compte à rebours de réinitialisation. Dans l'exemple de. 5 la figure 1, on dispose de 64 valeurs de durée différentes pour effectuer la reprogrammation. On peut notamment prévoir d'utiliser un compteur de réinitialisation sous forme de registre, dans lequel le microcontrôleur ne peut écrire qu'à l'expiration du compte à rebours de rafraîchissement ou en dehors de la durée du compte à rebours de rafraîchissement. L'invention peut notamment être mise en òuvre en utilisant un signal d'horloge extérieur à 8MHz, un diviseur de fréquence au 1/5000C'e, un registre de 15 réinitialisation à 7 bits de comptage programmable, et un compteur de rafraîchissement à 8 bits de comptage décrémentés directement par le signal d'horloge extérieur. La valeur inscrite initialement dans le registre peut par exemple être programmée entre FFh et. 20 COh. On dispose alors d'une durée du compte à rebours de réinitialisation comprises entre 6,250 et 400 ms. On prévoit également de préférence que la durée du compte à rebours de rafraîchissement soit inférieure à la durée séparant deux décrémentations du compte à 25 rebours de réinitialisation. On peut également prévoir dans le procédé de fonctionnement de l'horloge de surveillance que celleci soit désactivée après avoir généré une commande de réinitialisation. L'utilisateur peut ainsi choisir si 30 l'application programmée pour le microcontrôleur doit faire appel à l'horloge de surveillance ou non. Cette possibilité est notamment fournie par l'agencement comprenant l'entrée d'activation 13 décrite plus haut. On peut également prévoir que l'horloge de surveillance. 35 ne puisse être désactivée qu'après avoir généré une commande de réinitialisation du microcontrôleur, pour éviter sa désactivation erronée par le microcontrôleur. Ainsi, la surveillance du microcontrôleur ne peut être interrompue accidentellement. On peut également prévoir que le microcontrôleur contrôle sa propre réinitialisation de façon logicielle. On peut par exemple prévoir que le microcontrôleur commande une inscription adéquate dans le bit B6 du registre afin de commander sa 10 réinitialisation. Cette possibilité peut être utilisée en particulier lorsque le microcontrôleur a détecté de lui-même une erreur importante. Bien qu'on ait décrit une horloge de surveillance indépendante jusqu'alors, l'invention s'applique 15 également à une horloge de surveillance intégrée avec d'autres fonctions. L'horloge de surveillance peut par exemple être intégrée dans le microcontrôleur. REVENDICATIONS 1. Procédé d'optimisation de fonctionnement d'une 5 horloge de surveillance (1) d'un microcontrôleur (2) présentant des durées normales séparant des commandes de rafraîchissement de l'horloge de surveillance comprises dans une.plage présentant une durée minimale et une durée maximale, le procédé 10 comprenant les étapes de: -réception de commandes de rafraîchissement par l'horloge de surveillance; -génération d'une commande de réinitialisation du microcontrôleur par l'horloge de surveillance 15 lorsque la durée séparant des commandes de rafraîchissement successives reçues n'appartient pas à ladite plage. 2. Procédé d'optimisation du fonctionnement d'une 20 horloge de surveillance (1) d'un microcontrôleur (2) selon la revendication 1, caractérisé en ce que: -le procédé comprend les étapes de: -lancement d'un compte à rebours de réinitialisation; -lors de la réception d'une commande de rafraîchissement par l'horloge de surveillance, lancement d'un compte à rebours de rafraîchissement; -relancement du compte à rebours de 30 réinitialisation à l'expiration du compte à rebours de rafraîchissement; -génération d'une commande de réinitialisation à l'expiration du compte à rebours de réinitialisation; en outre caractérisé en ce que la durée du compte à rebours de réinitialisation est égale à la durée. maximale de ladite plage, la durée du compte à rebours de rafraîchissement étant égale à la durée minimale de ladite plage. 3. Procédé de fonctionnement selon la revendication 1, caractérisé en ce qu'il comprend les étapes de: -lors de la réception d'une commande de 10 rafraîchissement par l'horloge de surveillance: -si le compte à rebours de rafraîchissement est expiré, lancement d'un compte à rebours de réinitialisation; -si le compte à rebours de rafraîchissement 15 n'est pas expiré, poursuite du compte à rebours de réinitialisation; -lancement du compte à rebours de. rafraîchissement; -génération d'une commande de réinitialisation à 20 l'expiration du compte à rebours de réinitialisation; en outre caractérisé en ce que la durée du compte à rebours de réinitialisation est égale à la durée maximale de ladite plage, la durée du compte à 25 rebours de rafraîchissement étant égale à la durée minimale de ladite plage. 4. Procédé selon la revendication 3, caractérisé en ce que, si le compte à rebours de rafraîchissement est 30 expiré, le lancement du compte à rebours de réinitialisation et le lancement du compte à rebours de rafraîchissement sont effectués simultanément. lors de la réception d'une commande de rafraîchissement. 5. Procédé selon l'une quelconque des revendications 2 à 4, caractérisé en ce que le compte à rebours de réinitialisation est synchronisé sur un signal d'horloge divisé en fréquence. 6. Procédé selon l'une quelconque des revendications 2. à 5, caractérisé en ce que le compte à rebours de rafraîchissement est synchronisé sur un signal d'horloge. 7. Procédé selon l'une quelconque des revendications 2 à 6, caractérisé en ce qu'il comprend en outre une étape de programmation de la durée du compte à rebours de réinitialisation. 15 8. Procédé selon la revendication 7, caractérisé en ce que la commande de rafraîchissement reçue par l'entrée de rafraîchissement du compteur de rafraîchissement définit la durée du compte à 20 rebours de réinitialisation. 9. Procédé selon la revendication 8, caractérisé en ce que la commande de rafraîchissement est un mot de plusieurs bits inscrit dans le compteur de 25 réinitialisation lors d'une étape de lancement et définissant la durée du compte à rebours de réinitialisation. 10. Procédé selon l'une des revendications 2 à 9, 30 caractérisé en ce que le compteur de réinitialisation est un compteur à plusieurs bits et en ce que la commande de réinitialisation est générée par le passage à l'état bas du bit de poids fort (B6) du compteur de réinitialisation. 35 11. Horloge de surveillance de microcontrôleur (1) caractérisée en ce qu'elle est susceptible de mettre en oeuvre le procédé de l'une quelconque des revendications 1 à 10. 12. Horloge de surveillance (1) de microcontrôleur selon la revendication 11, caractérisée en ce qu'elle comprend: -un compteur de réinitialisation (3), 10 -comprenant: -une entrée de rafraîchissement (11); et -une sortie de réinitialisation (12); et -prévu pour: -lancer un compte à rebours de 15 réinitialisation à réception d'une commande de rafraîchissement sur son entrée de rafraîchissement (11), -appliquer une commande de réinitialisation sur la sortie de 20 réinitialisation (12) à l'expiration du compte à rebours de réinitialisation; -un compteur de rafraîchissement (6) connecté à l'entrée de rafraîchissement (11) du compteur de réinitialisation (3), présentant une entrée de 25 rafraîchissement (9), et prévu pour: -lancer un compte à rebours de rafraîchissement à réception d'une commande de rafraîchissement sur son entrée de rafraîchissement (9); -n'appliquer une commande de rafraîchissement à l'entrée de rafraîchissement (11) du compteur de réinitialisation qu'à l'expiration du compte à rebours de rafraîchissement. 13. Horloge de surveillance selon la revendication 11, caractérisée en ce qu'elle comprend: -un compteur de réinitialisation (3), -comprenant: - -une entrée de rafraîchissement (11); et -une sortie de réinitialisation (12); et -prévu pour: -lancer un compte à rebours de réinitialisation à réception d'une 10 commande de rafraîchissement sur son entrée de rafraîchissement (11), -appliquer une commande de réinitialisation sur la sortie de réinitialisation (12) à l'expiration du 15 compte à rebours de réinitialisation; -un compteur de rafraîchissement (6) connecté à l'entrée de rafraîchissement (11) du compteur de réinitialisation (3), présentant une entrée de rafraîchissement (9), et prévu pour: -lancer un compte à rebours de rafraîchissement à réception d'une commande de rafraîchissement sur son entrée de rafraîchissement (9); -n'appliquer une commande de rafraîchissement 25 à l'entrée de rafraîchissement (11) du compteur de réinitialisation que si le compte à rebours de rafraîchissement est expiré lors de la réception de la commande de rafraîchissement. 14. Horloge de surveillance selon l'une quelconque des revendications 12 ou 13, caractérisée en ce que le compteur (3) de réinitialisation présente plusieurs bits et en ce que le bit de poids fort est connecté 35 à la sortie de réinitialisation. 15. Horloge de surveillance selon la revendication 14, caractérisée en ce que le compteur est inclus dans un registre. 16. Horloge de surveillance selon l'une des revendications 12 à 15, caractérisée en ce qu'elle comprend en outre une porte logique ET, une entrée d'activation (13) présentant une liaison logique 10 avec une entrée de la porte ET, et en ce que la sortie de réinitialisation présente une liaison logique avec une autre entrée de la porte ET. 17. Horloge de surveillance selon les revendications 15 15 et 16, caractérisée en ce que l'entrée d'activation est connectée à un bit d'activation du registre, et en ce que le bit d'activation du registre est connecté à l'entrée de la porte logique ET. 18. Horloge de surveillance selon l'une quelconque des revendications 12 à 17, caractérisée en ce qu'elle présente en outre: -une entrée d'horloge (14); -un diviseur de fréquence (5) muni d'une entrée connectée à l'entrée d'horloge (14) et d'une sortie connectée aux bits du compteur (3) de réinitialisation, de sorte à décrémenter le compteur de réinitialisation lors de l'application 30 du signal par le diviseur de fréquence (5). 19. Horloge de surveillance selon l'une quelconque des revendications 12 à 18, caractérisée en ce que la durée du compte à rebours de rafraîchissement est inférieure à la durée séparant deux décrémentations du compteur de réinitialisation. 20. Horloge de surveillance selon l'une quelconque des 5 revendications 18 ou 19, caractérisée en ce que le compteur de rafraîchissement présente plusieurs bits (C0-C7) et est connecté à l'entrée d'horloge, de sorte à décrémenter le compteur de réinitialisation lors de l'application du signal d'horloge. 21. Horloge de surveillance selon quelconque des revendications 12 à 20, caractérisée en ce que la durée du compte à rebours de réinitialisation (3) est programmable.