Brevet FR2566147A1 — publié le 19851220

Dispositif pour arrêter le déroulement des programmes en cours d'exécution dans un microprocesseur préalablement à la disparition de la tension d'alimentation du microprocesseur La présente invention concerne un dispositif pour arrêter le déroulement des programmes en cours d'exécution dans un micropro- cesseur préalablement à la disparition de la tension d'alimentation du microprocesseur. Il est connu d'appliquer une tension de commande sur l'entrée communément désignée par RESET d'un microprocesseur afin de réinitia- liser ce dernier lors des coupures d'alimentation du secteur. Il est également connu, dans lecas o l'exécution d'un sous-programme de sauvegarde est nécessaire, d'appliquer cette tension de commande à un instant qui est différé par rapport à un instant de détection de la disparition du secteur d'un temps suffisant pour permettre l'exécution d'un programme de sauvegarde de l'instruction qui est en cours d'exécution. Cette disposition présente cependant l'inconvénient qu'elle ne pro- cure aucune sûreté quant au fonctionnement du microprocesseur lorsque l5 la tension de sortie de l'alimentation vient à disparaître pour une cause autre que celle de la disparition de la tension secteur, cet évènement pouvant se produire dans le cas notamment, d'un court-circuit sur la sortie d'alimentation ou encore dans le cas d'un débranchement accidentel de la carte support du microprocesseur de son alimentation. Dans ces cas en effet, la tension de réinitialisation du microprocesseur ne peut être appliquée sur l'entrée RESET du fait que, la tension secteur est toujours présente et que la tension d'alimentation du microprocesseur disparait. Ceci entraîne un fonctionnement incertain du microprocesseur qui peut générer, sur son canal d'entrée-sortie, des données erratiques qui peuvent nuire au fonctionnement des dispositifs de réception couplés au micropro- cesseur par ce canal. Dans le cas o l'exécution d'un sous-programme de sauvegarde n'est pas nécessaire, la disposition connue présente l'inconvénient supplé- mentaire de compliquer inutilement l'alimentation du microprocesseur, car il ne paraît pas indispensable dans ce cas de disposer d'un signal logique antérieur au début de la décroissance de la tension d'alimentation du microprocesseur alors qu'il suffirait seulement d'appliquer sur l'entrée RESET une tension logique égale à 0 volt aussit6t que la tension d'alimentation du microprocesseur vient à disparaître. Le but de l'invention est de remédier aux inconvénients précités. A cet effet, l'invention a pour objet, un dispositif pour arrêter le déroulement des programmes en cours d'exécution dans un micropro- cesseur préalablement à la disparition de la tension d'alimentation du microprocesseur caractérisé en ce qu'il comprend un circuit différentia- teur branché en dérivation sur la ligne d'alimentation VA du micropro- cesseur pour inhiber les circuits d'accès à la mémoire vive interne au microprocesseur, et réinitialiser les circuits internes au microprocesseur dès que le niveau de la tension d'alimentation commence à décroître, à partir d'un seuil de décroissance prédéterminé. Le dispositif selon l'invention a pour avantage qu'il permet d'appli- quer sur la borne RESET du microprocesseur une tension logique égale à 0 volt aussitôt que la tension d'alimentation commence à décroître. Il a aussi pour avantage de permettre de rendre le microprocesseur solidaire de son système de protection, ceci pouvant être réalisé d'une façon simple en plaçant le microprocesseur et le système de protection à proximité lun de l'autre sur la même carte support. La carte support du microprocesseur et de son système de protection pourra par conséquent, selon cette dernière configuration, être branchée et débranchée à volonté sur n'im- porte quelle source pouvant fournir la tension d'alimentation du micropro- cesseur même si cette source ne possède aucun système ou dispositif de surveillance du niveau de la tension d'alimentation. D'autres caractéristiques et avantages de l'invention apparaîtront également à l'aide de la description faite au regard des dessins annexés donnés uniquement à titre d'exemple qui représentent: - la figure I une réalisation du dispositif selon l'invention; - la figure 2 une variante de réalisation du dispositif selon l'invention; - la figure 3 une application du dispositif selon l'invention à la réalisation d'un dispositif de sauvegarde des instructions de programmes en cours d'exécution dans un microprocesseur lors des coupures de tension secteur. Le dispositif selon l'invention est représenté en 1 à la figure I à l'intérieur d'un rectangle en pointillés, connecté à la ligne d'alimentation en tension continue d'un microprocesseur 3, du type de ceux par exemple connus sous les désignations 8048/8049 commercialisés par la société SIGNETICS. Le dispositif I comprend un circuit différentiateur 4 et un amplificateur de courant S représentés également à l'intérieur de lignes en pointillées. Le circuit différentiateur 4 est constitué par une résistance 6 et un condensateur 7 reliés en série entre des bornes 8 et 9 de sortie en courant et en tension continue de l'alimentation 2 et un transistor 10. L'amplificateur de courant 5 comprend un transistor 11. Le transistor f0 est du type NPN et est relié par sa base d'une part, à la borne 9 de l'alimentation 2 et d'autre part, à une extrémité d'une résistance 6 qui n'est pas commune avec l'extrémité du condensateur 7, par l'intermédiaire d'une ligne de masse M du dispositif. Le transistor Il de type PNP est relié par sa base au collecteur du transistor 10 et par son collecteur à la ligne de masse M du dispositif. L'émetteur du transistor 1l est relié, d'une part, à l'entrée R-ESET du microprocesseur 3 et d'autre part, à la borne 8 de l'alimentation 2 par l'intermédiaire d'une résistance 12 qui dans le cas des microprocesseurs 8048/8049 est intégrée dans le microprocesseur. Un condensateur 13 est branché en parallèle entre l'émetteur du transistor 1 et la ligne de masse M du dispositif, et une diode 14 est montée en parallèle entre les extrémités de la résistance 6, l'anode de la diode 14 étant reliée au point commun à la résistance 6 et au condensateur 7, la cathode de la diode 14 étant reliée à la ligne de masse M du dispositif. Le fonctionnement du dispositif qui vient d'être décrit est le suivant. Au moment de la mise sous tension, l'initialisation du micropro- cesseur 3 est réalisée au moyen du condensateur 13 qui se charge au travers de la résistance 12 au niveau de potentiel continu VA fourni sur la borne 8 de l'alimentation 2, le condensateur 7 se charge également au niveau de potentiel VA au travers de la diode 14 puis de la résistance 6. En régime établi, lorsque le potentiel VA fourni par rl'alimentation stabilisée garde une valeur à peu près constante, l'entrée RESET du microprocesseur est portée au niveau de potentiel VA et le point commun au condensateur 7 et à la résistance 6 est porté au potentiel de la ligne de masse M du dispositif. Lorsque pour une cause quelconque, le potentiel VA commence à diminuer, les variations instantanées du potentiel VA sont transmises par le condensateur 7 au point commun à la résistance 6 et au condensateur 7 de sorte que, le potentiel en ce point commun est porté à un niveau qui est négatif par rapport à la ligne de masse M ce qui provoque l'apparition d'un courant dans l'espace collecteur-émetteur du transistor 10, ce courant étant amplifié par le transistor 11 qui décharge très rapidement le condensateur 13 dans son espace collecteur- émetteur et place au potentiel de la ligne de masse M l'entrée RESET du microprocesseur 3. La mise au potentiel de masse de l'entrée RESET provoque la remise à zéro du compteur de programme du microprocesseur 3 et la réinitialisation des circuits internes au microprocesseur en interrompant le programme qui est en cours d'exécution. Pour obtenir un fonctionnement optimum du dispositif qui vient d'être décrit il est nécessaire de donner aux condensateurs 7 et 13 ainsi qu'au transistor 11 des caractéristiques telles que l'on puisse obtenir une décroissance de la tension appliquée sur la borne RESET du micropro- cesseur 3 bien plus rapide que la décroissance du potentiel VA fourni par l'alimentation stabilisée 2. Si VB désigne le potentiel qui est appliqué par émetteur du transistor Il sur l'entrée RESET du microprocesseur 3, la condition qui vient d'être énoncée s'écrit VJ4.J" j4VAj (1). En désignant par C3 la capacité du condensateur 13 par A le gain en courant du transistor 11 et par C2 la capacité du condensateur 7 l'expression du courant I traversant le condensateur 13 peut être mise sous la forme: I dVB dVA I = C3 dT = x C2 'nA ce qui implique la relation dVB VA C. La 3 TdT rt-/ dt - C3'La relation (1) apparaît donc vérifiée si entre les valeurs de S, C2 et C3 existe la relation. En pratique si est suffisant de choisir pour b, C2 et C3 des AC2 valeurs telles que la relation -C>,10 soit satisfaite. Par exemple, les conditions précédentes pourront être vérifiées en choisissant pour C3 une valeur de I microfarad, pour jl une valeur plus grande ou égale à 100 et pour C2 une valeur plus grande ou égale à 0,1 microfarad. Dans l'exemple qui vient d'être décrit la résistance 6 assure la charge du condensateur 7 entre une tension VA - 0,6 volts et la tension VA nominale de l'alimentation, les 0,6 volts correspondent au seuil de la diode 14 si elle est au silicium. Dans ces conditions, la variation admissible du potentiel VA fourni par l'alimentation 2 sans qu'il y ait d'initialisation du microprocesseur 3 est égale au seuil de la jonction base-émetteur du transistor 10, soit 0, 6 V si le transistor 10 est au silicium. Si l'on omet la résistance 6, la variation admissible du potentiel VA est théoriquement égale à la somme des tensions de seuil de la diode 14 et de la jonction base-émetteur du transistor 10 (1,2 V si la diode 14 et le transistor 10 sont au silicium) mais pratiquement les résistances de fuite de la diode 14, de la jonction base- émetteur du transistor 10 et du condensateur 7, combinées, ramèneront la variation admissible de VA à une valeur comprise entre la tension de seuil de la jonction base-émetteur du transistor 10 et de la diode 14. Cette valeur étant bornée mais indéterminée, il est conseillé, si l'on veut obtenir une variation admissible de VA plus grande que la tension de seuil de la jonction base-émetteur du transistor 10, non pas de supprimer la résis- tance 6, mais d'ajouter, entre l'émetteur du transistor 10 et le point commun du condensateur 7, et de la résistance 6, une ou plusieurs diodes en série (anode du c8té de l'émetteur du transistor 10). Les variations admissibles du potentiel de VA sont alors égales à la somme des tensions de seuil des diodes rajoutées et de la jonction base-émetteur du transis- tor 10. L'invention n'est pas limitée à l'exemple de réalisation qui vient d'être décrit, il est bien évident que d'autres modes de réalisation- sont encore possibles sans pour autant sortir du cadre et de la portée de l'invention. Notamment un dispositif selon l'invention équivalent à celui qui vient d'être décrit pourra être obtenu à l'aide de transistors 10 et 11 complémentaires de ceux utilisés pour réaliser le dispositif de la figure 1, le montage correspondant étant représenté à la figure 2. Dans ce cas le collecteur du transistor 11 doit être branché à l'entrée RESET du microprocesseur 3 et l'ordre de branchement de la résistance 6 et du condensateur 7 aux bornes 8 et 9 de l'alimentation 2 doit être permuté. Dans ce cas également, ranode de la diode 14 doit être reliée à la borne 8 de 'alimentation 2, sa cathode restant branchée au point commun entre la résistance 6 et le condensateur 7 pour permettre la charge du condensa- teur 7 au travers de la diode 14. Selon encore un autre mode de réalisation de l'invention, une réponse encore plus rapide du dispositif pourra être obtenue en rempla- çant par exemple le transistor Il par deux transistors couplés entre eux pour former un amplificateur du type connu sous le nom DARLINGTON afin d'obtenir un gain de courant très élevé. Une utilisation du dispositif selon l'invention à la sauvegarde des programmes en cours crd'exécution dans un microprocesseur lorsqu'apparaIt une coupure de secteur est maintenant décrite à l'aide du schéma d'utilisation représenté à la figure 3. Sur la figure 3 l'alimentation 2 est reliée au secteur par l'intermédiaire d'un enroulement primaire 15 d'un transformateur 16 couplé à l'alimentation 2 par un enroulement secon- daire 17. L'alimentation 2 comprend, de façon connue, un pont redresseur 18 alimenté par renroulement secondaire 17 et un régulateur 19 alimenté par les sorties du pont redresseur 18. Le transformateur 16 possède un deuxième enroulement secondaire 20 qui alimente un détecteur d'absence de courant secteur 21, le détecteur 21 ayant pour fonction d'appliquer une tension VL constante sur l'entrée d'interruption INT du microprocesseur 3. Comme expliqué précédemment, la sortie du dispositif I de linvention est reliée à l'entrée RESET du microprocesseur 3. Lorsqu'intervient une coupure de tension secteur, cette coupure est détectée par le détecteur d'absence de tension secteur 21 qui applique en réaction un niveau de tension nul sur rentrée INT du microprocesseur 3 ce qui interrompt le programme en cours d'exécution et met en route le sous-programme de sauvegarde. Comme le régulateur 19 comprend de façon connue mais non représentée une cellule de filtrage placée en amont de la régulation, l'interruption de la tension secteur n'est pas répercutée instantanément sur la sortie du régulateur 19. Pendant un laps de temps, déterminé par la capacité de stockage d'énergie du régulateur 19, la tension VA reste maintenue constante à la sortie du régulateur 19 permettant au dispositif I de maintenir la tension de sortie VB à un potentiel logique 1 sur l'entrée RESET du microprocesseur 3 aussi longtemps que la tension VA est constante. Le délai entre l'interruption provoquée par le détecteur d'ab- sence du secteur et la mise à 0 du RESET est donc aussi grand que possible, puisqu'il est égal au délai entre l'action du détecteur d'absence du secteur et le début de baisse de la tension d'alimentation VA du microprocesseur. Or, il est important que le délai entre l'interruption provoquée par le détecteur d'absence du secteur et à la mise à 0 du RESET soit le plus grand possible puisque c'est ce délai qui est mis à profit pour exécuter un programme de sauvegarde de l'instruction qui est en cours d'exécution dans le microprocesseur 3 en exécutant une instruc- tion d'entrée-sortie qui vide les contenus des registres du microprocesseur sur le bus d'entrée-sortie 10 à destination d'un organe de stockage extérieur non représenté. REVENDICATIONS l.-Dispositif (1) pour arreter le déroulement des programmes en cours d'exécution dans un microprocesseur (3) préalablement à la dispari- tion de la tension d'alimentation du microprocesseur (3), caractérisé en ce qu'il comprend un circuit différentiateur (4) branché en dérivation sur une ligne d'alimentation VA du microprocesseur (3) pour inhiber les circuits d'accès à la mémoire vive interne dans ie microprocesseur (3), et réinitialiser les circuits internes au microprocesseur dès que le niveau de tension d'alimentation commence à décroître à partir d'un seuil de décroissance prédéterminé. 2. Dispositif selon la revendication 1, caractérisé en ce que le circuit différentiateur (4) comprend un transistor monté en base commune, couplé à l'entrée RESET d'initialisation du microprocesseur par l'intermédiaire d'un amplificateur de courant (5). 3. Dispositif selon la revendication 2, caractérisé en ce que l'amplificateur de courant (5) est constitué par un transistor (11) placé entre rl'entrée RESET et la borne de masse de l'alimentation commandé sur sa base par la sortie du circuit différentiateur. 4. Dispositif selon la revendication 3, caractérisé en ce que le circuit différentiateur (4) comprend une résistance (6) et un condensateur (7) montés en série aux bornes de l'alimentation (2) du microprocesseur (3), les extrémités communes au condensateur et à la résistance étant reliées à l'émetteur d'un transistor monté entre les extrémités communes au condensateur (7) et à la résistance (6) et la base du transistor amplificateur (11). 5. Dispositif selon l'une quelconque des revendications I à 4, caractérisé en ce que l'amplificateur de courant (5) est relié par sa sortie à un condensateur (13) branché entre la sortie de rl'amplificateur de courant (5) et la borne de masse de l'alimentation. 6. Dispositif selon la revendication 5, caractérisé en ce que la sortie de l'amplificateur de courant (5) est reliée aux extrémités commu- nes d'une résistance (12) et d'un condensateur (13) branchées en série aux bornes de l'alimentation, l'extrémité non commune du condensateur (13) étant reliée à la borne de masse de Palimentation (2). 7. Dispositif selon les revendications 5 et 6, caractérisé en ce que la valeur du condensateur (7) du circuit différentiateur (4) et la valeur du condensateur (13) branchés à la sortie de l'amplificateur de courant (5) Ae.c2 sont liées par la relation C > 10 o P représente le gain en courant de r l'amplificateur de courant (5), C2 désigne la capacité du condensateur (7) du circuit différentiateur (4) et C3 désigne la capacité du condensateur (13) branché à la sortie de l'amplificateur de courant. 8. Dispositif selon la revendication 7, caractérisé en ce que le gain en courant P est obtenu au moyen de deux transistors couplés ensemble suivant le montage DARLINGTON. 9. Utilisation du dispositif selon l'une quelconque des revendica- tions I à 8 à la réalisation d'un dispositif de sauvegarde des instructions de programmes en cours d'exécution dans un microprocesseur (3) lors des coupures de tension de secteur, le dispositif de sauvegarde comprenant un détecteur d'absence de courant secteur (21) branché entre la borne de commande INT d'interruption du microprocesseur (3) et l'amenée d'alimen- tation secteur de l'alimentation (2).