Brevet FR2850176A1 — publié le 20040723

Microprocesseur comprenant un circuit de base de temps auto-calibré La présente invention concerne les circuits intégrés, notamment les microprocesseurs ou les microcontrôleurs, comprenant un dispositif de génération d'un signal de base de temps. Les signaux de base de temps sont couramment utilisés dans les circuits intégrés pour cadencer des processus, notamment dans les microprocesseurs ou les microcontrâleurs. A titre d'exemple, la figure 1 représente très 10 schématiquement l'architecture d'un microprocesseur MP1 comprenant un circuit de base de temps classique TBCT1 du type décrit dans le document FR 2 789 501. Le microprocesseur comprend une unité centrale ou CPU, une mémoire programme MEM, et un bus de données DBUS 15 reliant le CPU et la mémoire MEM. Le CPU est cadencé par un signal d'horloge primaire Hi fourni par un circuit d'horloge CKGEN comprenant un oscillateur OSCI de précision, tel un oscillateur à quartz, et un diviseur de fréquence PSC ("prescaler") . L'oscillateur OSC1 délivre 20 un signal d'horloge HO appliqué au diviseur PSC dont la sortie délivre le signal d'horloge primaire Hi. Le circuit de base de temps TBCT1 comprend un décompteur programmable DCNT cadencé par le signal d'horloge Hi. Le décompteur DCNT est relié à un registre 25 de consigne TBREG accessible au moins en écriture par l'intermédiaire du bus de données DBUS, dans lequel est enregistrée une valeur de comptage de base de temps TBVAL. Le décompteur DCNT comporte une sortie OUTZ qui délivre un signal de base de temps TBS présentant une impulsion de valeur déterminée (0 ou l) à chaque passage à zéro du décompteur DCNT. L'impulsion du signal de base 5 de temps TBS est appliquée au décompteur DCNT en tant que signal de chargement RLD ("RELOADJ") de la valeur TBVAL présente dans le décompteur DCNT. Ainsi, le décompteur DCNT charge automatiquement la valeur TBVAL à la fin de chaque cycle de comptage et le signal de base de temps 10 TBS présente des impulsions périodiques de période Tb égale à Tl*TBVAL, Tl étant la période du signal d'horloge Hl. Le signal TBS est appliqué à un décodeur d'interruption ITDEC qui fournit au CPU un signal 15 d'interruption TBIT à chaque impulsion du signal TBS. La période des signaux d'interruption TBIT est ainsi égale à la période Tb des impulsions du signal de base de temps, si le signal d'interruption n'est pas masqué. Un tel signal de base de temps est susceptible de 20 diverses applications. Le CPU peut par exemple être placé dans un état d'arrêt actif ("Active Halt Mode") entre deux impulsions du signal de base de temps TBS. Ce mode d'arrêt actif se traduit par le fait que divers circuits périphériques 25 consommateurs de courant sont arrêtés, à l'exception du circuit d'horloge CKGEN et du décompteur DCNT. Le CPU est réactivé lorsque l'impulsion du signal de base de temps TBS est émise. Outre la gestion d'un mode d'arrêt actif, le signal 30 de base de temps TBS permet également de gérer une horloge temps réel ou minuterie (non représentée) qui est incrémentée à chaque impulsion du signal TBS. La valeur TBVAL est par exemple choisie de sorte que la période Tb du signal de base de temps soit égale à une seconde ou à 35 une fraction de seconde. Dans une variante de réalisation connue du microprocesseur MP1, le circuit TBCT1 est piloté par un oscillateur secondaire OSC2 délivrant un signal d'horloge H2, représenté en traits pointillés sur la figure 1. Dans 5 ce cas, le signal d'horloge H2 est appliqué sur l'entrée d'horloge du décompteur DCNT à la place du signal d'horloge Hl. Cette solution est envisagée dans le document FR 2 789 501 précité, mais n'est pas retenue au motif que la prévision du second oscillateur OSC2 occupe 10 une surface de silicium non négligeable et grève le prix de revient du microprocesseur. La présente invention se base sur la constatation contradictoire selon laquelle la prévision d'un tel second oscillateur OSC2 pour contrôler le signal de base 15 de temps TBS peut, au contraire, être avantageuse. En effet, le circuit d'horloge CKGEN présente généralement une fréquence élevée de l'ordre de quelques Mégahertz et une consommation de courant non négligeable en raison, d'une part, de la consommation de 20 l'oscillateur OSC1 et, d'autre part, de celle du circuit diviseur PSC (qui est fonction de la fréquence) . Ainsi, la consommation résiduelle du microprocesseur dans le mode d'arrêt actif, bien que diminuée par l'arrêt des éléments périphériques, demeure quand même non 25 négligeable. D'autre part, on connaît des oscillateurs à faible prix de revient et faible consommation électrique, tels les oscillateurs RC (circuit résonant RC utilisé comme oscillateur), pouvant être intégrés à moindre cot sur 30 une plaquette de silicium pour réaliser l'oscillateur OSC2. Ainsi, l'idée de l'invention est qu'un oscillateur OSC2 fonctionnant à une fréquence basse de quelques dizaines à quelques centaines de Kilohertz, peut s'avérer 35 suffisant pour contrôler la période Tb du signal de base de temps TBS, et pourrait permettre d'arrêter le circuit d'horloge principal CKGEN pendant des périodes d'arrêt actif. Toutefois, la fréquence d'oscillation d'un 5 oscillateur OSC2 du type précité est généralement peu précise et peut notamment présenter, à la sortie d'une chaîne de fabrication de circuits intégrés, des variations rédhibitoires de l'ordre de plus de 400% entre deux circuits intégrés. Elle est également sujette à 10 d'importantes variations en fonction des conditions de fonctionnement comme la température et la tension d'alimentation du circuit intégré. Ainsi, un objectif de la présente invention est de prévoir un circuit intégré comprenant un circuit de base 15 de temps cadencé par un signal d'horloge peu précis mais fournissant un signal de base de temps précis. Un autre objectif de la présente invention est de prévoir un circuit intégré présentant une consommation électrique minimale pendant des périodes d'arrêt actif. Ces objectifs sont atteint par la prévision d'un circuit intégré comprenant un premier circuit d'horloge délivrant un premier signal d'horloge, un second circuit d'horloge délivrant un second signal d'horloge, un premier circuit de comptage pour délivrer un signal de 25 base de temps à partir d'un signal d'horloge et d'une valeur de comptage, et des moyens pour appliquer au premier circuit de comptage le premier signal d'horloge et une première valeur de comptage, de façon à produire un premier signal de base de temps, comprenant en outre 30 des moyens de calcul d'une seconde valeur de comptage égale ou proportionnelle au nombre de périodes du second signal d'horloge apparaissant pendant un intervalle de temps déterminé égal à une période ou à un nombre entier de périodes du premier signal de base de temps, et des 35 moyens pour produire un second signal de base de temps à partir du second signal d'horloge et de la seconde valeur de comptage. Selon un mode de réalisation, les moyens de calcul de la seconde valeur de comptage comprennent un second 5 circuit de comptage et des moyens pour appliquer le second signal d'horloge au second circuit de comptage pendant un intervalle de temps déterminé égal à une période ou un nombre entier de périodes du premier signal de base de temps. Selon un mode de réalisation, les moyens pour produire un second signal de base de temps comprennent le premier circuit de comptage, et des moyens pour appliquer au premier circuit de comptage la seconde valeur de comptage et le second signal d'horloge, de sorte que le 15 premier circuit de comptage produise le second signal de base de temps. Selon un mode de réalisation, le premier circuit de comptage est relié à un registre de consigne recevant une valeur de comptage, et est agencé pour charger 20 automatiquement, à la fin d'un cycle de comptage d'une valeur de comptage, la valeur de comptage présente dans le registre de consigne. Selon un mode de réalisation, le circuit intégré comprend des moyens pour charger la seconde valeur de 25 comptage dans le registre de consigne pendant le comptage de la première valeur de comptage par le premier circuit de comptage. Selon un mode de réalisation, les moyens de calcul de la seconde valeur de comptage comprennent un second 30 circuit de comptage qui est intégré dans le registre de consigne, et des moyens pour appliquer le second signal d'horloge au second circuit de comptage pendant un intervalle de temps déterminé égal à une période ou un nombre entier de périodes du premier signal de base de 35 temps, de telle sorte que la seconde valeur de comptage est présente dans le registre de consigne lorsque le premier circuit de comptage achève un cycle de comptage de la première valeur de comptage. Selon un mode de réalisation, le premier circuit de comptage est un décompteur. Selon un mode de réalisation, le circuit intégré comprend un circuit multiplexeur pour appliquer au premier circuit de comptage le premier ou le second signal d'horloge. Selon un mode de réalisation, le signal de base de temps fourni par le premier circuit de comptage est appliqué à un décodeur d'interruption. Selon un mode de réalisation, le circuit intégré comprend une minuterie qui est mise à jour en temps réel 15 parfois en synchronisation avec le premier signal de base de temps et parfois en synchronisation avec le second signal de base de temps. Selon un mode de réalisation, le circuit intégré comprend un mode d'arrêt actif pendant lequel certains 20 éléments du circuit intégré sont désactivés, dont la durée est contrôlée parfois par le premier signal de base de temps et parfois par le second signal de base de temps. Selon un mode de réalisation, le circuit intégré 25 comprend des moyens pour désactiver le premier circuit d'horloge pendant que le second signal de base de temps est produit. Selon un mode de réalisation, le premier et le second circuits d'horloge comprennent chacun un 30 oscillateur, et dans lequel l'oscillateur du second circuit d'horloge présente une consommation électrique réduite et une faible précision relativement à l'oscillateur du premier circuit d'horloge. Selon un mode de réalisation, le circuit intégré 35 comprend des moyens pour réaliser de façon cyclique les opérations suivantes: produire le premier signal base de temps au moyen du premier circuit de comptage, en appliquant au premier circuit de comptage le premier signal d'horloge et la première valeur de comptage, 5 étalonner la seconde valeur de comptage pendant que le premier circuit de comptage fournit le premier signal de base de temps, puis produire le second signal base de temps au moyen du premier circuit de comptage, en appliquant au premier circuit de comptage le second 10 signal d'horloge et la seconde valeur de comptage. Selon un mode de réalisation, le circuit intégré comprend une unité centrale de microprocesseur pour piloter les moyens de calcul de la deuxième valeur de comptage. Selon un mode de réalisation, le circuit intégré comprend: un second circuit de comptage pour calculer la seconde valeur de comptage, un registre de contrôle comportant un bit d'étalonnage(CAL), et un circuit logique pour appliquer le second signal d'horloge au 20 second circuit de comptage pendant un intervalle de temps déterminé égal à une période ou un nombre entier de périodes du premier signal de base de temps, lorsque le bit d'étalonnage présente une valeur déterminée Selon un mode de réalisation, le circuit intégré 25 comprend des moyens pour appliquer au premier circuit de comptage le premier ou le second signal d'horloge selon la valeur d'un bit de mode présent dans le registre de contrôle. Ces objets, caractéristiques et avantages, ainsi 30 que d'autres de la présente invention seront exposés plus en détail dans la description suivante d'exemples de réalisation d'un circuit de base de temps selon l'invention mis en oeuvre dans un microprocesseur, faite à titre d'exemple non-limitatif en relation avec les 35 figures jointes parmi lesquelles: la figure 1 précédemment décrite représente schématiquement sous forme de blocs un microprocesseur comprenant un circuit de base de temps classique, - la figure 2 représente schématiquement sous forme 5 de blocs un microprocesseur comprenant un circuit de base de temps selon l'invention, - la figure 3 est un schéma plus détaillé d'un mode de réalisation particulier d'un circuit de base de temps selon l'invention, - les figures 4A à 4G sont des chronogrammes de signaux logiques illustrant le fonctionnement du circuit de base de temps selon l'invention et son utilisation pour la gestion d'un mode d'arrêt actif, et - la figure 4H est une courbe de courant illustrant 15 la consommation électrique du microprocesseur selon l'invention, lorsque celui-ci présente des périodes d'arrêt actif. La figure 2 représente schématiquement l'architecture d'un microprocesseur MP2 comprenant un 20 circuit de base de temps TBCT2 selon l'invention. Le microprocesseur MP2 comprend, comme le microprocesseur classique MPl décrit précédemment, une unité centrale ou CPU, une mémoire programme MEM, un bus de données DBUS reliant le CPU à la mémoire MEM, un 25 décodeur d'interruption ITDEC et un circuit d'horloge CKGEN délivrant un signal d'horloge primaire Hi appliqué au CPU. Le circuit d'horloge CKGEN comprend classiquement un oscillateur à quartz OSCl délivrant un signal Ho de fréquence F0, qui est appliqué à un diviseur PSC pour 30 obtenir le signal d'horloge Hl, dont la fréquence Fi est de l'ordre de quelques Mégahertz, généralement de 1 à 8 MHz. Le microprocesseur comprend également un oscillateur OSC2 délivrant un signal d'horloge H2. L'oscillateur OSC2 est un oscillateur à faible consommation électrique, par 35 exemple un oscillateur RC, présentant une fréquence d'oscillation F2 de l'ordre de quelques kilohertz à quelques centaines de kiloHertz. Comme indiqué précédemment, la fréquence F2 d'un tel oscillateur est peu précise et n'est pas utilisable telle quelle pour 5 produire un signal de base de temps. Ainsi, la fréquence de résonance d'un oscillateur RC prévue pour être de l'ordre de 120 kHz, peut fluctuer de 60 kHz à 260 kHz entre deux circuits intégrés réalisés dans la même chaîne de fabrication. L'oscillateur OSCl est commandé par un signal de marche/arrêt OFl et l'oscillateur OSC2 commandé par un signal de marche/arrêt OF2. Le circuit de base de temps TBCT2 comprend, comme le circuit de base de temps TBCT1 décrit plus haut, un 15 décompteur DCNT et un registre de consigne TBREG accessible au moins en écriture par l'intermédiaire du bus de données DBUS. Le décompteur DCNT présente une sortie OUTZ fournissant un signal de base de temps TBS, qui présente par exemple une impulsion à 1 à chaque 20 passage à zéro du décompteur DCNT. Le signal TBS est appliqué au décodeur d'interruption ITDEC qui fournit un signal d'interruption TBIT à chaque impulsion du signal TBS. Le signal TBS est également appliqué au décompteur DCNT en tant que signal RLD de chargement d'une valeur de 25 comptage présente dans le registre TBREG. Ainsi, après chaque cycle de décomptage, le décompteur DCNT charge automatiquement la valeur de comptage présente dans le registre TBREG. Selon l'invention, le circuit TBCT2 comprend en 30 outre un circuit multiplexeur MUX, un compteur CNT, un registre de contrôle CREG et un circuit de contrôle CCT à logique câblée. Le compteur CNT est accessible au moins en lecture par l'intermédiaire du bus de données DBUS. Le registre 35 de contrôle CREG est accessible au moins en écriture par l'intermédiaire du bus de données DBUS, et comprend des drapeaux ("flags") ITMSK, MD, CAL. Le drapeau ITMSK est appliqué au décodeur d'interruption ITDEC et permet, si cela est souhaité, de masquer l'interruption TBIT. Le multiplexeur MUX reçoit le signal d'horloge Hl sur une entrée de donnée El, le signal d'horloge H2 sur une entrée de donnée E2 et le drapeau MD sur une entrée de commande. Sa sortie est appliquée sur une entrée d'horloge du décompteur DCNT et fournit l'un des signaux 10 d'horloge Hl, H2 selon la valeur du drapeau MD. Le circuit de contrôle CCT reçoit en entrée le drapeau CAL, le signal de base de temps TBS, ainsi que le signal d'horloge H2. Le circuit de contrôle CCT transmet le signal d'horloge H2 à une entrée d'horloge du compteur 15 CNT pendant une phase d'étalonnage décrite dans ce qui suit. Le circuit de base de temps TBCT2 présente trois modes de fonctionnement, respectivement Ml, M2, M3. Dans le mode de fonctionnement Ml, les drapeaux MD 20 et CAL sont à 0 et la sortie du circuit MUX délivre le signal d'horloge Hl. Une valeur de comptage TBVAL1 est chargée dans le registre TBREG. Le décompteur DCNT délivre un signal de base de temps de période Tbl égale à Tl*TBVAL1. Le circuit TBCT2 fonctionne ainsi comme le 25 circuit classique TBCT1 décrit précédemment, et délivre un premier signal de base de temps TBS1 dont la période Tbl est fonction du signal d'horloge HI et de la valeur de comptage TBVAL1. La période Tbl est ainsi égale à (1) Tbl = Tl*TBVAL1 Tl étant la période du signal Hl. Dans le mode de fonctionnement M2, le drapeau MD est à 1 et le drapeau CAL est à 0. La sortie du circuit 35 multiplexeur MUX délivre le signal d'horloge H2. Une Il valeur de comptage TBVAL2 est chargée dans le registre TBREG. Le décompteur DCNT délivre un second signal de base de temps TBS2 dont la période Tb2 est ainsi fonction du signal d'horloge H2 et de la valeur TBVAL2. La période Tb2 est ainsi égale à : (2) Tb2 = T2*TBVAL2 T2 étant la période du signal H2. Le mode de fonctionnement M3 permet de mettre en oeuvre une phase d'étalonnage au cours de laquelle la valeur de comptage TBVAL2 est étalonnée en se référant au premier signal d'horloge Hi. Le basculement dans le mode M3 est préparé par le CPU pendant que le circuit TBCT2 15 est dans l'un des deux autres modes M1, M2. Le drapeau CAL est mis à 1 et le drapeau MD est mis à 0 (ou laissé à 0). La valeur de comptage TBVAL1 est chargée dans le registre TBREG si elle n'y est pas présente. Le basculement dans le mode M3 intervient à la 20 première impulsion du signal de base de temps TBS1 apparaissant après la mise à 1 du drapeau CAL. Le décompteur charge la valeur TBVAL1 présente dans le registre TBREG tandis que le compteur CNT est mis à zéro par le circuit de contrôle CCT. Ensuite, le circuit CCT 25 applique le signal d'horloge H2 au compteur CNT jusqu'à l'apparition de l'impulsion de base de temps suivante. L'intervalle de temps pendant lequel le compteur CNT reçoit le signal d'horloge H2 est ainsi égal à TBVALl*T1 et correspond à la période Tbl du signal de base de temps 30 TBS1. Lorsque cet intervalle de temps est écoulé, le compteur CNT présente une valeur de comptage TBVAL2 égale à: (3) TBVAL2 _ TBVAL1 * T1/T2 avec une précision P atteignant une valeur meilleure que le ratio de la période T2 du signal H2 à la durée Tbl du premier signal de base de temps TBSl, soit: P En combinant les relations (2) et (3), la période Tb2 du 20 deuxième signal de base de temps est égale à : (4) Tb2 _ T2 * (TBVALl * Tl/T2) soit: (5) Tb2 TBVAL1 * Tl Ainsi, grâce à l'invention, le second signal de base de temps TBS2 présente une période Tb2 qui est égale 30 à la période Tbl du premier signal de base de temps TBSl et bénéficie de la précision offerte par l'oscillateur OSCl, tout en étant produit à partir du signal d'horloge H2 délivré par l'oscillateur auxiliaire OSC2. Le procédé d'étalonnage selon l'invention permet de compenser les 35 imprécisions sur la fréquence F2 existant à la sortie d'une chaîne de fabrication. Il peut être répété cycliquement d'une manière décrite plus loin, afin de compenser les dérives de la fréquence F2 dues à des changements intervenant dans les conditions de 5 fonctionnement du microprocesseur, par exemple des variations de température ou de tension d'alimentation. La figure 3 représente un mode de réalisation TBCT3 du circuit de base de temps selon l'invention, dans lequel le compteur CNT est intégré dans le registre de 10 consigne TBREG du décompteur DCNT. L'avantage de ce mode de réalisation est que la valeur de comptage étalonnée TBVAL2 se trouve dans le registre TBREG au terme de la phase d'étalonnage M3, et n'a pas à être transférée dans ce registre via le bus de données. Le basculement du mode 15 M3 au mode M2 peut alors être immédiat et intervenir au terme de la phase d'étalonnage. La figure 3 représente également un exemple de réalisation du circuit de contrôle CCT. Le circuit CCT comprend un compteur binaire BCNT, un verrou LTCH, une 20 porte inverseuse Il et deux portes ET GTl, GT2. Le compteur BCNT est un compteur par quatre ayant deux bits de sortie, respectivement un bit de poids faible ITl et un bit de poids fort IT2. Le compteur BCNT présente une entrée d'horloge recevant le signal de base de temps TBS 25 prélevé à la sortie du décompteur DCNT, et une entrée de remise à zéro RST recevant un signal /CAL délivré par la porte inverseuse Il, laquelle reçoit le drapeau CAL sur son entrée. Le verrou LTCH est ici une bascule D qui présente une entrée de remise à zéro RST recevant le bit 30 IT2, une entrée d'horloge recevant le bit ITl, une entrée D recevant le drapeau CAL et une sortie Q reliée à une entrée de la porte GT2. La porte GT2 reçoit sur une deuxième entrée le signal d'horloge H2 et sa sortie est reliée à l'entrée d'horloge du compteur CNT. La porte GTl 35 reçoit en entrée le signal TBS et le drapeau CAL, et sa sortie est appliquée sur une entrée de remise à zéro RST du compteur CNT. Enfin, le registre TBREG, qui est confondu ici avec le compteur CNT, présente une entrée de chargement LDIN recevant un signal LD délivré par le CPU lorsque la valeur de comptage TBVAL1 doit être chargée. Comme le circuit TBCT2, le circuit TBCT3 bascule dans le mode de fonctionnement M3 à la première impulsion du signal de base de temps TBSi intervenant après que le drapeau CAL a été mis à 1. Cette première impulsion 10 incrémente le compteur BCNT et met à zéro le compteur CNT, via la porte GTl. Le bit ITi passe à 1 et active le verrou LTCH. La sortie Q du verrou recopie la valeur du drapeau CAL présent sur l'entrée D et passe à 1. La porte GT2 autorise alors l'application du signal d'horloge H2 15 sur l'entrée d'horloge du compteur CNT, et celui-ci commence à compter les impulsions du signal d'horloge H2. L'apparition d'une deuxième impulsion du signal de base de temps TBSl entraîne une nouvelle incrémentation du compteur BCNT, de sorte que le bit IT2 passe à 1 20 tandis que le bit ITl repasse à 0. Le passage à 1 du bit IT2 remet le verrou LTCH à zéro, de sorte que sa sortie Q repasse à 0 et que la porte GT2 ne laisse plus passer le signal d'horloge H2. Le compteur CNT arrête ainsi de compter les impulsions du signal d'horloge H2 et le 25 comptage s'arrête sur une valeur de TBVAL2 qui correspond ici au nombre de périodes du signal d'horloge H2 intervenues pendant un intervalle de temps égal à la période Tbl du premier signal de base de temps TBSl. L'apparition de la deuxième impulsion du signal de 30 base de temps TBSl marque ainsi la fin de la phase d'étalonnage, et provoque également l'application d'un signal d'interruption TBIT au CPU. Ce dernier met alors le drapeau CAL à 0 et le drapeau MD à 1 afin de faire basculer le circuit TBCT3 dans le mode M2. Le passage à 0 du drapeau CAL provoque la remise à zéro du compteur BCNT, sur front montant du signal /CAL. L'apparition de la deuxième impulsion du signal de base de temps TBSl correspond également à l'application 5 d'une impulsion de rechargement RLD sur le décompteur DCNT. Le compteur CNT étant intégré ici dans le registre de consigne TBREG, la valeur de comptage étalonnée TBVAL2 est donc transférée automatiquement et immédiatement au décompteur DCNT au terme de la phase d'étalonnage. On décrira maintenant un exemple d'application de l'invention dans lequel le CPU se place dans le mode d'arrêt actif entre deux impulsions du signal de base de temps TBS, en exécutant une instruction "ACTIVE HALT". Selon un aspect avantageux de l'invention, 15 l'oscillateur principal OSCi est arrêté pendant les périodes d'arrêt actif du CPU. Plus particulièrement, l'oscillateur OSCl est arrêté en mettant à 0 le signal OFl lorsque le circuit TBCT2 est dans le mode M2 et que le CPU a reçu l'instruction "ACTIVE HALT". L'arrêt de l'oscillateur OSCl est assuré ici par un circuit de contrôle CHT à logique câblée, représenté sous forme de bloc en figure 2. Ce circuit CHT reçoit en entrée les drapeaux MD et CAL, le signal de base de temps TBS ainsi qu'un signal d'arrêt HALT émis par le CPU 25 lorsqu'il exécute l'instruction "ACTIVE HALT". Le circuit CHT met le signal OFl à 0 sur réception du signal HALT si et seulement si le drapeau MD est à 1 et le drapeau CAL est à 0, et le remet automatiquement à 1 sur réception d'une impulsion du signal de base de temps TBS. Les figures 4A à 4G sont des chronogrammes représentant respectivement le drapeau MD, le drapeau CAL, le signal de marche/arrêt OFl de l'oscillateur OSCl, le signal de marche/arrêt OF2 de l'oscillateur OSC2, le signal d'interruption TBIT, le signal de base de temps 35 TBS dont les impulsions forment le signal de rechargement RLD du décompteur DCNT, et la valeur TBVAL chargée par le décompteur DCNT après chaque cycle de décomptage. La figure 4H illustre la consommation de courant dans le microprocesseur MP2. On distingue sur ces figures une alternance dans la sélection des modes M2 et M3. Le mode M3 est tout d'abord sélectionné pendant une période du signal de base de temps, afin d'étalonner la valeur de comptage TBVAL2. Le mode M2 est ensuite sélectionné pendant N périodes 10 successives du signal de base de temps. Ensuite, le mode M3 est à nouveau sélectionné pendant une période du signal de base de temps, pour ré-étalonner la valeur de comptage TBVAL2 et compenser les éventuelles dérives de l'oscillateur OSC2. Le mode M2 est ensuite à nouveau 15 sélectionné pendant N périodes du signal de base de temps, et ainsi de suite. On suppose ici que le circuit de base de temps TBCT3 est tout d'abord dans le mode Ml, à un instant tl, et que le CPU exécute divers programmes qui nécessitent 20 que ses éléments périphériques soient actifs. L'oscillateur OSC2 est arrêté (OF2=0) et l'oscillateur OSCl est actif (OFl=l). Le signal de base de temps délivré par le circuit TBCT3 est le signal TBSl. La consommation du microprocesseur est maximale et est 25 représentée sur la figure 4H par un niveau de courant consommé Imax. On suppose ensuite que le CPU n'a plus aucune tâche à exécuter, autre que celle qui consiste à incrémenter une minuterie à chaque impulsion du signal de base de 30 temps. Ainsi, à un instant t2, le CPU met le signal OF2 à 1 pour activer l'oscillateur OSC2 et met le drapeau CAL à 1 pour préparer la phased'étalonnage. Celle-ci intervient à un instant t3, lorsque l'impulsion suivante 35 du signal de base de temps TBSl apparaît et que le signal d'interruption TBIT est émis. Le circuit TBCT3 bascule dans le mode M3 et l'étalonnage de la valeur de comptage TBVAL2 se déroule comme décrit plus haut, sans nécessiter l'intervention du CPU. De son côté, le CPU met à jour la 5 minuterie en l'incrémentant d'une unité, puis exécute à un instant t4 l'instruction "ACTIVE HALT". Le CPU bascule alors dans un mode d'arrêt actif dans lequel tous les périphériques sont arrêtés, à l'exception du circuit TBCT3 et du circuit d'horloge CKGEN. La consommation de 10 courant baisse et atteint une valeur Iminl, due à la consommation du circuit d'horloge CKGEN et celle, nettement plus faible, du circuit TBCT3. Cette consommation correspond à la consommation du microprocesseur classique décrit plus haut, lorsque 15 celui-ci est dans le mode d'arrêt actif. A un instant t5, le signal de base de temps TBSl présente une nouvelle impulsion et un signal d'interruption TBIT réveille le CPU. Le CPU remet à 0 le drapeau CAL et met à 1 le drapeau MD, pour faire basculer 20 le circuit TBCT3 dans le mode M2. Le CPU met ensuite à jour la minuterie en l'incrémentant d'une unité, puis exécute une instruction "ACTIVE HALT" et se place, à un instant t6, dans un mode d'arrêt actif. Tous les éléments périphériques sont arrêtés y compris l'oscillateur 25 principal OSCl qui est arrêté par le circuit de contrôle CHT décrit plus haut. Ainsi, la consommation de courant baisse et atteint une valeur Imin2, due à la consommation de courant dans le circuit TBCT3 et celle de l'oscillateur auxiliaire 30 OSC2. La consommation de l'oscillateur auxiliaire OSC2 étant nettement plus faible que celle de l'oscillateur principal OSCl, le courant Imin2 est nettement plus faible que le courant Iminl, par exemple 10 fois plus faible. A chaque nouvelle interruption, l'oscillateur OSC1 est réactivé par le circuit CHT, le CPU se réveille ("wake-up") et met à jour sa minuterie puis exécute l'instruction "ACTIVE HALT". La consommation présente un 5 pic Imax pendant ces opérations et redescend ensuite à Imin2 jusqu'au signal d'interruption suivant. La consommation électrique moyenne du microprocesseur est donc très faible et se trouve au voisinage de Imin2, la durée des pics de consommation après chaque réveil du CPU 10 étant courte devant la période du signal de base de temps. Le microprocesseur selon l'invention présente ainsi une consommation de courant basse, qui n'est pas obtenue au détriment de la précision du signal de base de temps puisque la valeur de décomptage TBVAL2 a été 15 préalablement étalonnée. Si aucun autre évènement ne requiert l'intervention du CPU, celui-ci peut basculer N fois dans le mode d'arrêt actif en arrêtant à chaque fois l'oscillateur OSC1, les périodes d'arrêt actif étant cadencées par le 20 second signal de base de temps TBS2 et interrompues seulement pour permettre les mises à jour de la minuterie. Le nombre N est déterminé en fonction des risques de déviation en fréquence de l'oscillateur auxiliaire OSC2, et peut en pratique couvrir plusieurs 25 centaines de périodes du signal de base de temps. Après la Nième période du signal de base de temps TBS2, le microprocesseur déclenche une nouvelle phase d'étalonnage de la valeur de comptage TBVAL2. A cet effet, le CPU met à 1 le drapeau CAL au cours de la Nième 30 période du signal de base de temps, avant de basculer dans le mode d'arrêt actif. L'oscillateur OSCI se trouve alors réactivé par le circuit de contrôle CHT et peut se stabiliser avant la prochaine impulsion du signal de base de temps, qui marque le commencement de la nouvelle étape 35 d'étalonnage. La prévision d'un ré-étalonnage cyclique n'a quasiment pas de répercussion sur la consommation moyenne de courant, notamment quand N est choisi grand. Ainsi, la présente invention permet de réduire au 5 minimum la consommation électrique d'un microprocesseur se trouvant dans le mode d'arrêt actif, tout en bénéficiant d'une excellente précision du signal de base de temps. La présente invention permet ainsi de prévoir un 10 microprocesseur comportant un circuit de base de temps doté d'un circuit d'horloge primaire de précision élevée et à forte consommation de courant et d'un oscillateur secondaire de précision médiocre et à faible consommation de courant, tout en préservant un faible prix de revient. 15 Un tel microprocesseur cumule les avantages combinés des deux types d'oscillateurs, soit une consommation électrique réduite au minimum en mode d'arrêt actif, et une précision élevée de la base de temps, en s'affranchissant du problème de perte de précision grâce 20 à l'auto étalonnage. Le circuit intégré à génération de base de temps selon l'invention s'applique donc avantageusement à la conception de microprocesseurs nécessitant des signaux d'horloge en temps réel ("Real Time Clock") pour gérer 25 des minuteries. Il apparaîtra clairement à l'homme de l'art que la présente invention est susceptible de diverses applications, et concerne de façon générale tout circuit intégré pourvu d'un circuit de base de temps. Il apparaîtra également clairement à l'homme de l'art que la présente invention est susceptible de diverses variantes de réalisation. Ainsi, le décompteur DCNT peut être remplacé par un compteur établissant le compte des impulsions d'horloge 35 Hl ou H2 en partant de 0, jusqu'à obtenir la valeur de comptage TBVAL. La sortie d'un tel compteur est alors appliquée sur une entrée d'un comparateur recevant la valeur TBVAL sur une autre entrée, dont la sortie fournit le signal de base de temps TBS. D'autre part, la valeur de comptage étalonnée TBVAL2 calculée au moyen du compteur CNT peut être appliquée à un décompteur autre que le décompteur DCNT. Cet autre décompteur peut recevoir directement le second signal d'horloge H2 pour produire séparément le second 10 signal de base de temps TBS2, de sorte que le multiplexeur n'est plus nécessaire. Les drapeaux MD et CAL peuvent également être fournis par un élément périphérique autre que le registre TBREG. Le circuit multiplexeur MUX peut également être remplacé par un quelconque autre moyen de sélection de l'un des signaux d'horloge Hl, H2. L'étalonnage de la valeur TBVAL2 peut également être réalisé sur plusieurs périodes du signal d'horloge 20 Hl. Inversement, le signal d'horloge appliqué au compteur CNT pendant l'étalonnage de la valeur TBVAL2 peut être un signal d'horloge dont la fréquence est un sous-multiple de celle du signal d'horloge H2, par exemple si un diviseur de fréquence est agencé à la sortie de 25 l'oscillateur auxiliaire OSC2. Les signaux de base de temps TBS1 et TBS2 peuvent également présenter des périodes Tbl, Tb2 non identiques, dans la mesure o l'étalonnage de la valeur de comptage TBVAL2 garantit que la période Tb2 reste proportionnelle 30 à la période de référence Tbl. Le signal TBS1 peut par exemple présenter une période de 0,1 seconde et le signal TBS2 une période de 1 seconde, afin de diminuer le nombre N de réveils du CPU entre deux phases de ré-étalonnage de la valeur TBVAL2. Dans ce cas, le CPU incrémente la 35 minuterie d'une manière différente lorsqu'il se réveille, selon que le circuit de base de temps était dans le mode Ml ou dans le mode M2. D'autres modes de réalisations, variantes et perfectionnements pourront être mis en oeuvre par l'homme de l'art sans sortir du cadre de la présente invention. REVENDICATIONS 1. Circuit intégré (MP2) comprenant - un premier circuit d'horloge (CKGEN, OSC1) délivrant un premier signal d'horloge (Hl), - un second circuit d'horloge (OSC2) délivrant un second signal d'horloge (H2), - un premier circuit de comptage (DCNT) pour délivrer un signal de base de temps (TBS) à partir d'un signal d'horloge et d'une valeur de comptage (TBVAL), et des moyens pour appliquer au premier circuit de 10 comptage (DCNT) le premier signal d'horloge (Hl) et une première valeur de comptage (TBVALl), de façon à produire un premier signal de base de temps (TBSl), caractérisé en ce qu'il comprend en outre - des moyens (CNT, CCT, CREG) de calcul d'une 15 seconde valeur de comptage (TBVAL2) égale ou proportionnelle au nombre de périodes (Tb2) du second signal d'horloge (H2) apparaissant pendant un intervalle de temps déterminé égal à une période (Tbl) ou à un nombre entier de périodes (Tbl) du premier signal de base 20 de temps (TBSl), et - des moyens pour produire un second signal de base de temps (TBS2) à partir du second signal d'horloge (H2) et de la seconde valeur de comptage (TBVAL2). 2. Circuit intégré selon la revendication 1, dans lequel les moyens de calcul de la seconde valeur de comptage comprennent un second circuit de comptage (CNT) et des moyens pour appliquer le second signal d'horloge (H2) au second circuit de comptage (CNT) pendant un 30 intervalle de temps déterminé égal à une période ou un nombre entier de périodes du premier signal de base de temps (TBSl). 3. Circuit intégré selon la revendication 1 ou 2, dans lequel les moyens pour produire un second signal de base de temps comprennent: - le premier circuit de comptage (DCNT), et - des moyens (TBREG, DBUS, MUX) pour appliquer au premier circuit de comptage (DCNT) la seconde valeur de comptage (TBVAL2) et le second signal d'horloge (H2), de sorte que le premier circuit de comptage produise le second signal de base de temps. 4. Circuit intégré selon la revendication 3, dans lequel le premier circuit de comptage (DCNT) est relié à un registre de consigne (TBREG) recevant une valeur de comptage (TBVAL1, TBVAL2), et est agencé pour charger 15 automatiquement, à la fin d'un cycle de comptage d'une valeur de comptage (TBVAL1, TBVAL2), la valeur de comptage (TBVAL1, TBVAL2) présente dans le registre de consigne. 5. Circuit intégré selon la revendication 4, comprenant des moyens pour charger la seconde valeur de comptage (TBVAL2) dans le registre de consigne pendant le comptage de la première valeur de comptage (TBVAL1, TBVAL2) par le premier circuit de comptage (DCNT). 25 6. Circuit intégré selon l'une des revendications 4 et 5, dans lequel les moyens de calcul de la seconde valeur de comptage (TBVAL2) comprennent un second circuit de comptage (CNT) qui est intégré dans le registre de 30 consigne (TBREG), et des moyens pour appliquer le second signal d'horloge (H2) au second circuit de comptage (CNT) pendant un intervalle de temps déterminé égal à une période ou un nombre entier de périodes du premier signal de base de temps (TBS1), de telle sorte que la seconde 35 valeur de comptage (TBVAL2) est présente dans le registre de consigne (TBREG) lorsque le premier circuit de comptage (DCNT) achève un cycle de comptage de la première valeur de comptage (TBVALl). 7. Circuit intégré selon l'une des revendications 1 à 6, dans lequel le premier circuit de comptage (DCNT) est un décompteur. 8. Circuit intégré selon l'une des revendications 1 10 à 7, comprenant un circuit multiplexeur (MUX) pour appliquer au premier circuit de comptage le premier (Hl) ou le second (H2) signal d'horloge. 9. Circuit intégré selon l'une des revendications 1 15 à 8, dans lequel le signal de base de temps (TBS1, TBS2) fourni par le premier circuit de comptage (DCNT) est appliqué à un décodeur d'interruption (ITDEC). 10. Circuit intégré selon l'une des revendications 20 1 à 9, comprenant une minuterie qui est mise à jour en temps réel parfois en synchronisation avec le premier signal de base de temps (TBSl) et parfois en synchronisation avec le second signal de base de temps (TBS2). 11. Circuit intégré selon l'une des revendications 1 à 10, comprenant un mode d'arrêt actif (ACTIVE HALT) pendant lequel certains éléments du circuit intégré sont désactivés, dont la durée est contrôlée parfois par le 30 premier signal de base de temps (TBSl) et parfois par le second signal de base de temps (TBS2). 12. Circuit intégré selon l'une des revendications 1 à 11, comprenant des moyens (CHT, HALT, OF1) pour 35 désactiver le premier circuit d'horloge (CKGEN, OSC1) pendant que le second signal de base de temps (TBS2) est produit. 13. Circuit intégré selon l'une des revendications 5 1 à 12, dans lequel le premier et le second circuits d'horloge comprennent chacun un oscillateur (OSC1, OSC2), et dans lequel l'oscillateur (OSC2) du second circuit d'horloge présente une consommation électrique réduite et une faible précision relativement à l'oscillateur (OSC1) 10 du premier circuit d'horloge (CKGEN). 14. Circuit intégré selon l'une des revendications 1 à 13, comprenant des moyens (CPU, TBCT2, TBCT3) pour réaliser de façon cyclique les opérations suivantes: - produire le premier signal base de temps (TBSl) au moyen du premier circuit de comptage (DCNT), en appliquant au premier circuit de comptage le premier signal d'horloge (Hl) et la première valeur de comptage (TBVALl), - étalonner la seconde valeur de comptage (TBVAL2) pendant que le premier circuit de comptage (DCNT) fournit le premier signal de base de temps (TBSl), puis - produire le second signal base de temps (TBS2) au moyen du premier circuit de comptage (DCNT), en appliquant au 25 premier circuit de comptage le second signal d'horloge (H2) et la seconde valeur de comptage (TBVAL2). 15. Circuit intégré selon l'une des revendications 1 à 14, comprenant une unité centrale (CPU) de 30 microprocesseur pour piloter les moyens de calcul de la deuxième valeur de comptage. 16. Circuit intégré selon l'une des revendications 1 à 15, comprenant: - un second circuit de comptage (CNT) pour calculer la seconde valeur de comptage (TBVAL2), - un registre de contrôle (CREG) comportant un bit d'étalonnage(CAL), et - un circuit logique (CCT) pour appliquer le second signal d'horloge (H2) au second circuit de comptage (CNT) pendant un intervalle de temps déterminé égal à une période ou un nombre entier de périodes du premier signal de base de temps (TBSl) , lorsque le bit d'étalonnage 10 présente une valeur déterminée 17. Circuit intégré selon la revendication 16, comprenant des moyens pour appliquer au premier circuit de comptage (DCNT) le premier (Hi) ou le second (H2) 15 signal d'horloge selon la valeur d'un bit de mode (MD) présent dans le registre de contrôle.