FR2844892A1 - Horloge de surveillance de microcontroleur - Google Patents

Horloge de surveillance de microcontroleur Download PDF

Info

Publication number
FR2844892A1
FR2844892A1 FR0211786A FR0211786A FR2844892A1 FR 2844892 A1 FR2844892 A1 FR 2844892A1 FR 0211786 A FR0211786 A FR 0211786A FR 0211786 A FR0211786 A FR 0211786A FR 2844892 A1 FR2844892 A1 FR 2844892A1
Authority
FR
France
Prior art keywords
refresh
reset
countdown
counter
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0211786A
Other languages
English (en)
Other versions
FR2844892B1 (fr
Inventor
Pascal Janin
Michael Giovannini
Corinne Ianigro
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Priority to FR0211786A priority Critical patent/FR2844892B1/fr
Priority to US10/670,996 priority patent/US6961866B2/en
Publication of FR2844892A1 publication Critical patent/FR2844892A1/fr
Application granted granted Critical
Publication of FR2844892B1 publication Critical patent/FR2844892B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

L'invention concerne les horloges de surveillance de microcontrôleurs et leurs procédés de fonctionnement.L'invention propose notamment un procédé d'optimisation de fonctionnement d'une 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é 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 pas à ladite plage.L'invention permet de réinitialiser un microcontrôleur qui effectue une boucle logicielle comprenant une commande de rafraîchissement du compteur de l'horloge de surveillance.L'invention concerne également des horloges de surveillances susceptibles de mettre en oeuvre un tel procédé.

Description

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.

Claims (21)

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.
FR0211786A 2002-09-24 2002-09-24 Horloge de surveillance de microcontroleur Expired - Fee Related FR2844892B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0211786A FR2844892B1 (fr) 2002-09-24 2002-09-24 Horloge de surveillance de microcontroleur
US10/670,996 US6961866B2 (en) 2002-09-24 2003-09-24 Watchdog timer for microcontroller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0211786A FR2844892B1 (fr) 2002-09-24 2002-09-24 Horloge de surveillance de microcontroleur

Publications (2)

Publication Number Publication Date
FR2844892A1 true FR2844892A1 (fr) 2004-03-26
FR2844892B1 FR2844892B1 (fr) 2005-05-27

Family

ID=31970931

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0211786A Expired - Fee Related FR2844892B1 (fr) 2002-09-24 2002-09-24 Horloge de surveillance de microcontroleur

Country Status (2)

Country Link
US (1) US6961866B2 (fr)
FR (1) FR2844892B1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9972376B2 (en) 2013-11-07 2018-05-15 International Business Machines Corporation Memory device for interruptible memory refresh
US10096353B2 (en) 2013-11-07 2018-10-09 International Business Machines Corporation System and memory controller for interruptible memory refresh

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10203807C1 (de) * 2002-01-31 2003-07-31 Siemens Ag Verfahren und Schaltungsanordnung zum Überwachen der Funktion eines Prozessors
US20040250178A1 (en) * 2003-05-23 2004-12-09 Munguia Peter R. Secure watchdog timer
US7783872B2 (en) * 2007-03-30 2010-08-24 Dell Products, Lp System and method to enable an event timer in a multiple event timer operating environment
US8698756B2 (en) * 2007-11-06 2014-04-15 Stmicroelectronics Asia Pacific Pte Ltd. Interrupt reduction method in touch screen controller
US8330502B2 (en) * 2009-11-25 2012-12-11 Freescale Semiconductor, Inc. Systems and methods for detecting interference in an integrated circuit
JP5533097B2 (ja) * 2010-03-18 2014-06-25 株式会社リコー 情報処理装置、画像形成装置及び情報処理プログラム
EP2565653B1 (fr) * 2011-09-05 2019-05-08 Fluke Corporation Unité de surveillance pour détecteur de tension avec affichage déclenchant avertissement visuel
US10089164B2 (en) * 2015-02-27 2018-10-02 Microchip Technology Incorporated Watchdog timer
JP7027974B2 (ja) * 2018-03-12 2022-03-02 京セラドキュメントソリューションズ株式会社 画像形成装置
US10990319B2 (en) * 2018-06-18 2021-04-27 Micron Technology, Inc. Adaptive watchdog in a memory device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4705970A (en) * 1985-02-04 1987-11-10 American Telephone And Telegraph Company, At&T Bell Laboratories Programmable interval timer with lock means
EP0315054A2 (fr) * 1987-11-06 1989-05-10 Joh. Vaillant GmbH u. Co. Procédé de surveillance d'un circuit de surveillance de temps de microprocesseur et dispositif pour la réalisation du procédé
US5694336A (en) * 1992-09-30 1997-12-02 Nec Corporation Detection of improper CPU operation from lap time pulses and count of executed significant steps

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175845A (en) * 1988-12-09 1992-12-29 Dallas Semiconductor Corp. Integrated circuit with watchdog timer and sleep control logic which places IC and watchdog timer into sleep mode
US5203000A (en) * 1988-12-09 1993-04-13 Dallas Semiconductor Corp. Power-up reset conditioned on direction of voltage change
US5418968A (en) * 1990-10-31 1995-05-23 Gobeli; Gregg P. System and method for controlling interrupt processing
US5907863A (en) * 1996-08-16 1999-05-25 Unisys Corporation Memory control unit using preloaded values to generate optimal timing of memory control sequences between different memory segments
US5864663A (en) * 1996-09-12 1999-01-26 United Technologies Corporation Selectively enabled watchdog timer circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4705970A (en) * 1985-02-04 1987-11-10 American Telephone And Telegraph Company, At&T Bell Laboratories Programmable interval timer with lock means
EP0315054A2 (fr) * 1987-11-06 1989-05-10 Joh. Vaillant GmbH u. Co. Procédé de surveillance d'un circuit de surveillance de temps de microprocesseur et dispositif pour la réalisation du procédé
US5694336A (en) * 1992-09-30 1997-12-02 Nec Corporation Detection of improper CPU operation from lap time pulses and count of executed significant steps

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9972376B2 (en) 2013-11-07 2018-05-15 International Business Machines Corporation Memory device for interruptible memory refresh
US10096353B2 (en) 2013-11-07 2018-10-09 International Business Machines Corporation System and memory controller for interruptible memory refresh

Also Published As

Publication number Publication date
FR2844892B1 (fr) 2005-05-27
US6961866B2 (en) 2005-11-01
US20050114732A1 (en) 2005-05-26

Similar Documents

Publication Publication Date Title
FR2844892A1 (fr) Horloge de surveillance de microcontroleur
FR2885710A1 (fr) Selection d'adresse pour bus i2c
EP0168077A1 (fr) Circuit d'interface du type esclave fonctionnant avec un bus série
EP0013347A1 (fr) Dispositif à mémoire intermédiaire pour le transfert des données entre un processeur et un dispositif d'entrée/sortie
FR2929780A1 (fr) Detection de donnees recues par un dispositif maitre dans un protocole de communication unifilaire
FR2472674A1 (fr) Installation pour commander des processus repetitifs dependants de parametres de fonctionnement pour des moteurs a combustion interne
FR2901949A1 (fr) Procede de mise en veille d'un decodeur de television numerique et decodeur numerique a mode veille basse consommation
FR2794876A1 (fr) Procede de reconfiguration d'un systeme de traitement de l'information sur detection de defaillance d'un composant
EP1986071A2 (fr) Système et méthode pour gérer le temps dans un équipement d'automatisme
CA2040941C (fr) Procede et dispositif de retour a une liaison normale apres utilisation d'une liaison de secours dans un systeme de transmission de donnees
FR2807532A1 (fr) Dispositif et procede de memorisation de donnees de journalisation dans un reseau de communication
FR2844086A1 (fr) Procede de commande a faible consommation de courant d'un dispositif de reception et dispositif de reception associe
EP3171244A1 (fr) Mise en veille d'un circuit électronique
WO2003015282A2 (fr) Ensemble de circuits electroniques comportant des moyens de decontamination de parties contaminees par des erreurs
EP0373043A1 (fr) Système électronique à plusieurs unités amovibles
FR2828566A1 (fr) Ensemble de circuits electroniques comportant au moins une memoire avec des moyens de correction d'erreur
FR2526601A1 (fr) Systeme d'alimentation en energie d'un appareil destine a cooperer avec un support electronique amovible tel qu'une carte et appareil equipe d'un tel systeme
WO2003034246A2 (fr) Dispositif de transmission de donnees asynchrones comprenant des moyens de controle de deviation d'horloge
EP0350361B1 (fr) Dispositif d'évaluation de la marge de tolérance d'un signal vidéo numérique
FR3134462A1 (fr) Procédé de transfert de données entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant.
EP0148098A2 (fr) Circuit de régénération de signaux périodiques
EP3777103A1 (fr) Dispositif de contrôle de l'accès à un calculateur en vue de son réveil et de l'activation d'une interface de communication
FR3046861A1 (fr) Procede de synchronisation, dispositif et vehicule associes
EP0860782B1 (fr) Procédé d'initialisation d'une liaison série entre deux circuits intégrés comportant un port parallèle série et dispositif de mise en oeuvre du procédé
EP3923150B1 (fr) Procédé de gestion des requêtes d'accès à une mémoire vive et système correspondant

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20100531