Brevet FR2797120A1 — publié le 20010202

MINUTERIE NUMÉRIQUE A DÉCLENCHEMENT RAPIDE La présente invention concerne une minuterie numérique comprenant un compteur binaire piloté par un signal d'horloge de comptage, le compteur présentant un temps de stabilisation après chaque impulsion de comptage, et des moyens pour délivrer un signal de détection de valeur déterminée lorsqu'une consigne de comptage est atteinte. Les minuteries numériques ou "timers" sont d'un emploi généralisé dans les systèmes électroniques, notamment dans les microprocesseurs. Les minuteries numériques permettent de produire des bases de temps de durée variable en fonction d'une consigne de comptage N et d'un signal d'horloge de comptage Hc, un signal de détection étant émis lorsque la consigne de comptage N est atteinte. Le temps s'écoulant entre le démarrage de la minuterie et l'émission du signal de détection est sensiblement égal à N x Tc, c'est-à-dire au produit de la consigne N par la période Tc du signal de comptage Hc. A titre de rappel, la figure 1 représente la structure d'une minuterie numérique classique 10. La minuterie 10 comprend un compteur binaire 1, ici un compteur à quatre bits b0 à b3. Le compteur 1 est piloté par un signal d'horloge de comptage Hc obtenu par division, au moyen d'un diviseur 6, de la fréquence d'un signal d'horloge Hs délivré par un oscillateur 7. La sortie du compteur 1 est appliquée à l'entrée d'un circuit logique 2 agencé pour détecter un nombre N représentant la consigne de comptage. La sortie du circuit logique 2 délivre un signal de détection intermédiaire DS1 appliqué sur l'entrée D d'une bascule à mémoire 4 de type synchrone, pilotée sur son entrée d'horloge CK par le signal d'horloge Hs. La sortie Q de la bascule 4 délivre un signal de détection DS2 appliqué sur l'entrée de commande asynchrone "SET" (mise à 1) d'une autre bascule à mémoire 5, dont la sortie Q délivre un drapeau de détection DF. Les figures 2A à 2H illustrent le fonctionnement de la minuterie 10 dans le cas où, par exemple, la consigne N est égale à 15. Les figures 2A à 2D représentent respectivement les valeurs des bits b3 à b0 au cours des étapes de comptage des nombres 13 à 15, et les figures 2E à 2H représentent respectivement le signal de détection intermédiaire DS1, les signaux d'horloge Hc et Hs et le signal de détection DS2. La bascule 4 échantillonne le signal DS1 au rythme du signal d'horloge Hs et le signal DS2 recopie le signal DS1 à chaque front montant de ce signal. Lorsque la consigne N est atteinte par la sortie du compteur 1, le signal de détection intermédiaire DS1 change de valeur et passe par exemple à 1. Le changement de la valeur logique du signal DS1, ici son passage à 1, provoque le passage à 1 du signal DS2 et du drapeau DF. Comme cela est bien connu de l'homme de l'art, le passage à 1 ou à 0 de chaque bit b0 à b3 s'effectue avec un certain retard par rapport à chaque front montant du signal d'horloge de comptage Hc, en raison des temps de propagation des signaux logiques dans le compteur 1 (ou temps de commutation des transistors). De ce fait, le signal DS1 présente une période de stabilisation Ti pendant laquelle il peut présenter une valeur erronée, par exemple lors du comptage du nombre 14 si le passage à 0 du bit b0 s'effectue avec un peu de retard par rapport au passage à 1 du bit b1 (fig. 2E). En conséquence, l'échantillonnage du signal DS1 par la bascule 4 au moment où le signal DS1 est erroné entraînerait l'émission d'un signal de détection DS2 erroné et, à la sortie de la bascule 5, une mise à jour trompeuse du drapeau DF. Cet inconvénient est résolu dans l'art antérieur en décalant la phase des signaux d'horloge Hc et Hs de manière que le signal Hs passe à 1 quelques instants après le signal Hc. Ainsi, comme cela apparaît sur les figures 2E à 2H, la bascule d'échantillonnage 4 reçoit les fronts montants du signal Hs à des instants Te où le signal DS1 est stabilisé. Cette solution classique présente toutefois l'inconvénient de décaler de quelques fractions de période Tc l'émission du signal de détection DS2 et le passage à 1 du drapeau DF. Dans le meilleur des cas, avec un bon réglage de la phase des signaux d'horloge Hc et Hs, le décalage temporel est au minimum égal à la période de stabilisation Ti. Or, dans certaines applications, un tel décalage est indésirable et l'on souhaite disposer d'une minuterie permettant de séquencer des opérations avec une meilleure précision. Un autre inconvénient de la minuterie classique est que le signal d'horloge Hs ne doit pas être trop rapide au regard du temps de propagation des données dans la minuterie. Plus particulièrement, sa période Ts doit être supérieure à au moins deux fois la durée de la période de stabilisation Ti du compteur, pour ne pas prendre le risque d'échantillonner un signal DS1 erroné. La présente invention vise à pallier ces inconvénients. Plus particulièrement, un objectif de la présente invention est de prévoir une minuterie numérique qui offre une grande précision dans l'émission du signal de détection de la consigne de comptage. Un autre objectif est de prévoir une minuterie numérique dont la précision soit indépendante de la fréquence du signal d'horloge Hs. Pour atteindre ces objectifs, la présente invention propose un procédé pour émettre un signal de détection lorsqu'une consigne de comptage est atteinte par un compteur binaire piloté par un signal d'horloge de comptage, le compteur présentant un temps de stabilisation après chaque impulsion de comptage, procédé comprenant les étapes consistant à détecter à la sortie du compteur une valeur de comptage de rang immédiatement inférieur, relativement au sens de comptage, à la consigne de comptage, et délivrer le signal de détection à l'instant où le compteur reçoit l'impulsion de comptage suivante. Selon un mode de réalisation, la valeur de comptage de rang immédiatement inférieur est détectée par des moyens à logique câblée dont la sortie est échantillonnée par une bascule à mémoire de type synchrone pilotée par le signal d'horloge de comptage. La présente invention concerne également une minuterie numérique comprenant un compteur binaire piloté par un signal d'horloge de comptage, le compteur présentant un temps de stabilisation après chaque impulsion de comptage, et des moyens pour délivrer un signal de détection de valeur déterminée lorsqu'une consigne de comptage est atteinte, dans laquelle les moyens pour délivrer le signal de détection comprennent des moyens à logique câblée agencés ou programmés pour détecter à la sortie du compteur une valeur de comptage de rang immédiatement inférieur, relativement au sens de comptage, à la consigne de comptage, et délivrer un signal intermédiaire de valeur déterminée, et des moyens pour échantillonner le signal intermédiaire à l'instant où le compteur reçoit l'impulsion de comptage suivante. Selon un mode de réalisation, les moyens pour échantillonner le signal intermédiaire comprennent une première bascule de type synchrone recevant la sortie du circuit logique sur son entrée de données et le signal d'horloge de comptage sur son entrée d'horloge, la sortie de la bascule délivrant le signal de détection. Selon un mode de réalisation, le signal de détection est appliqué sur une entrée de commande asynchrone d'une deuxième bascule dont la sortie délivre un drapeau de détection. Selon un mode de réalisation, le signal de détection ou le drapeau de détection est appliqué sur une entrée de données d'une troisième bascule pilotée sur son entrée d'horloge par un deuxième signal d'horloge de fréquence plus élevée que le signal d'horloge de comptage, la sortie de la troisième bascule délivrant un drapeau de détection synchrone synchronisé au deuxième signal d'horloge. Selon un mode de réalisation, la première bascule comporte une entrée de remise à zéro recevant le drapeau de détection synchrone. La présente invention concerne également un microprocesseur comprenant une minuterie selon l'invention. Ces objets, caractéristiques et avantages de la présente invention seront exposés plus en détail dans la description suivante d'un exemple de réalisation d'une minuterie selon l'invention, faite à titre non limitatif en relation avec les figures jointes parmi lesquelles - la figure 1 précédemment décrite est le schéma électrique d'une minuterie numérique classique, - les figures 2A à 2H précédemment décrites sont des chronogrammes de signaux logiques illustrant le fonctionnement de la minuterie de la figure 1, - la figure 3 est le schéma électrique d'une minuterie numérique selon l'invention, et - les figures 4A à 4H sont des chronogrammes de signaux logiques illustrant le fonctionnement de la minuterie selon l'invention. La figure 3 représente une minuterie 20 selon l'invention, intégrée ici dans un microprocesseur dont certains éléments seront décrits ci-après en tant qu'éléments accessoires de la minuterie 20. La minuterie 20 comprend de façon classique un compteur binaire 21, ici un compteur à quatre bits b0 à b3, dont la sortie est appliquée à un circuit logique 22. Le compteur 21 est piloté par un signal d'horloge de comptage Hc obtenu par division, au moyen d'un diviseur 31, de la fréquence d'un signal d'horloge Hs. Le signal Hs est ici le signal d'horloge du microprocesseur (horloge système) délivré par un oscillateur 32. La sortie du circuit logique 22 délivre un signal de détection intermédiaire DS1 et est appliquée de façon classique sur l'entrée D d'une bascule échantillonneuse 24. La sortie Q de la bascule 24 délivre un signal de détection DS2 et est appliquée sur l'entrée de commande asynchrone "SET" d'une bascule à mémoire 25. L'entrée RESET de la bascule 25 reçoit un signal RST devant être mis à 1 pour forcer sa sortie Q à 0. La sortie Q de la bascule 25 délivre un drapeau de détection DF et est appliquée sur l'entrée D d'une bascule 29 dont l'entrée d'horloge CK reçoit le signal d'horloge Hs. La sortie Q de la bascule 29 délivre un drapeau synchrone DFs. Le drapeau synchrone DFs est combiné avec le signal RST dans une porte OU 30 dont la sortie délivre un signal RSTs appliqué sur l'entrée RESET de la bascule 24. De façon optionnelle, la bascule 25 est une cellule d'un registre de drapeaux du microprocesseur ("Flag Register") et sa sortie Q est reliée à un bus de données 27 par l'intermédiaire d'un tampon trois états 28 commandé par un signal de lecture RD. La sortie Q de la bascule 25 peut également être appliquée sur l'entrée d'un décodeur d'interruption (non représenté) pour génération d'un vecteur d'interruption lorsque le drapeau DF passe à 1. Enfin, l'entrée D de la bascule 25 est connectée à un fil du bus de données 27 et son entrée d'horloge CK est commandée par un signal d'écriture WR. Selon le procédé de l'invention, le circuit logique 22 est agencé ou programmé pour détecter le nombre N-1 à la sortie du compteur 21 lorsque la consigne de comptage est égale à N. D'autre part, la bascule 24 est pilotée sur son entrée d'horloge CK par le signal d'horloge de comptage Hc au lieu d'être pilotée par le signal d'horloge Hs comme cela est le cas dans l'art antérieur. Les figures 4A à 4H illustrent le fonctionnement de la minuterie 20 quand la consigne N est égale 15. Les figures 4A à 4D représentent respectivement les valeurs des bits b3 à b0 au cours des étapes de comptage des nombres 13 à 15, et les figures 4E à 4H représentent respectivement le signal de détection intermédiaire DS1, le signal d'horloge de comptage Hc, le signal de détection DS2 et le drapeau de détection DF. La consigne de comptage N étant égale ici à 15, le circuit logique 22 est agencé ou programmé pour réaliser la fonction suivante b3 ET b2 ET b1 ET /b0 et fait passer à 1 le signal intermédiaire DS1 lorsque le nombre 14 est atteint (fig. 4E), après que la période de stabilisation Ti est écoulée. La bascule 24 échantillonne le signal DS1 à l'instant Te où le front montant du signal d'horloge de comptage Hc apparaît. Le signal DS2 est donc mis à 1 au moment exact où le compteur 21 reçoit le front du signal d'horloge Hc faisant passer sa sortie à la valeur 15. Ainsi, selon le procédé de l'invention, le fait d'anticiper sur l'apparition du nombre N à la sortie du compteur 21 en détectant le nombre N-1, permet d'émettre le signal DS2 sans aucun retard dès l'apparition du front d'horloge Hc correspondant au comptage du nombre N. Le drapeau DF est également mis à 1 de façon quasi- simultanée (fig. 4H). De façon avantageuse, le drapeau synchrone DFs renvoyé sur l'entrée RESET de la bascule échantillonneuse 24 remet automatiquement à zéro cette bascule dès le premier coup d'horloge Hs suivant le passage à 1 du drapeau DF, sans qu'il soit nécessaire d'attendre la fin du cycle de comptage du nombre N (dont la durée est égale à la période Tc du signal d'horloge de comptage Hc). D'autre part, la remise à zéro du compteur 21 peut être effectuée de façon classique au moyen d'une porte ET 33 recevant en entrée le signal RST et le signal d'horloge de comptage Hc. Le passage à 1 du signal RST entraîne également la mise à 0 des bascules 24, 25. En pratique, le drapeau DF peut être lu sur le bus de données 27 en appliquant la commande de lecture RD au tampon 28. Egalement, il peut être forcé à tout instant à 1 ou à 0 en envoyant la valeur souhaitée sur le bus 27 et en appliquant la commande d'écriture WR à la bascule 25. I1 apparaîtra clairement à l'homme de l'art que la présente invention est susceptible de diverses variantes de réalisation et applications. Notamment, les valeurs logiques des divers signaux et le sens des fronts de déclenchement du compteur 21 et des bascules 24, 29 ont été choisis par convention et n'ont été donnés qu'à titre d'exemple. Egalement, le compteur 21 peut être agencé en décompteur. Dans ce cas, la valeur "N-1" est supérieure d'une unité à la valeur de consigne N, et est par exemple égale à 1 quand la valeur de consigne est égale à 0. Enfin, le circuit logique 22 peut être du type pré-câblé pour détecter une consigne N prédéterminée ou être du type programmable pour détecter un consigne de valeur quelconque. REVENDICATIONS 1. Procédé pour émettre un signal de détection (DS2) lorsqu'une consigne de comptage (N) est atteinte par un compteur binaire (21) piloté par un signal d'horloge de comptage (Hc), le compteur présentant un temps de stabilisation (Ti) après chaque impulsion de comptage, caractérisé en ce qu'il comprend les étapes consistant à détecter à la sortie du compteur une valeur de comptage (N-1) de rang immédiatement inférieur, relativement au sens de comptage, à la consigne de comptage (N), et délivrer le signal de détection (DS2) à l'instant (Te) où le compteur reçoit l'impulsion de comptage suivante. 2. Procédé selon la revendication 1, dans lequel la valeur de comptage de rang immédiatement inférieur (N-1) est détectée par des moyens à logique câblée (22) dont la sortie est échantillonnée par une bascule à mémoire (24) de type synchrone pilotée par le signal d'horloge de comptage (Hc). 3. Minuterie numérique (20) comprenant un compteur binaire (21) piloté par un signal d'horloge de comptage (Hc), le compteur présentant un temps de stabilisation (Ti) après chaque impulsion de comptage, et des moyens pour délivrer un signal de détection (DS2) de valeur déterminée lorsqu'une consigne de comptage (N) est atteinte, caractérisée en ce que les moyens pour délivrer le signal de détection (DS2) comprennent - des moyens à logique câblée (22) agencés ou programmés pour détecter à la sortie du compteur (21) une valeur de comptage (N-1) de rang immédiatement inférieur, relativement au sens de comptage, à la consigne de comptage (N), et délivrer un signal intermédiaire (DS1) de valeur déterminée, - des moyens (24) pour échantillonner le signal intermédiaire (DS1) à l'instant (Te) où le compteur reçoit l'impulsion de comptage suivante. 4. Minuterie selon la revendication 3, dans laquelle les moyens pour échantillonner le signal intermédiaire (DS1) comprennent une première bascule de type synchrone (24) recevant la sortie du circuit logique (21) sur son entrée de données (D) et le signal d'horloge de comptage (Hc) sur son entrée d'horloge (CK), la sortie de la bascule (24) délivrant ledit signal de détection (DS2). 5. Minuterie selon l'une des revendications 3 et 4, dans laquelle le signal de détection (DS2) est appliqué sur une entrée de commande asynchrone (SET) d'une deuxième bascule (25) dont la sortie délivre un drapeau de détection (DF). 6. Minuterie selon l'une des revendications 3 à 5, dans laquelle le signal de détection (DS2) ou le drapeau de détection (DF) est appliqué sur une entrée de données d'une troisième bascule (29) pilotée sur son entrée d'horloge (CK) par un deuxième signal d'horloge (Hs) de fréquence plus élevée que le signal d'horloge de comptage (Hc), la sortie de la troisième bascule (29) délivrant un drapeau de détection synchrone (DFs) synchronisé au deuxième signal d'horloge (Hs). 7. Minuterie selon la revendication 6, dans laquelle la première bascule (24) comporte une entrée de remise à zéro recevant le drapeau de détection synchrone (DFs). 8. Microprocesseur, comprenant une minuterie selon l'une des revendications 3 à 7.