Brevet FR2791201A1 — publié le 20000922

Procédé de gestion de fonctions électroniques dans un circuit intégré La présente invention a pour objet un procédé de gestion de fonctions électroniques dans un circuit intégré notamment un circuit intégré de carte à puce ou un circuit intégré générique installé dans un téléphone mobile. Le but de l'invention est de faciliter l'intégration de fonctions les plus nombreuses possible dans un circuit intégré afin de profiter pour l'exécution de ces fonctions de la fiabilité inhérente à la miniaturisation permise pour la réalisation de ces circuits intégrés. La fiabilité des circuits électroniques est liée à leur miniaturisation. En particulier dans le domaine de l'intégration électronique, le fait de recourir à des pas de dessins les plus faibles, par exemple de l'ordre de 0,1 micromètres actuellement, conduit à disposer d'une homogénéité bien meilleure des plasmas des machines d'implantation électronique qui servent à la fabrication de ces circuits intégrés. De ce fait, les circuits fabriqués atteignent beaucoup plus fiablement les caractéristiques spécifiées. Le choix d'un pas de dessin faible conduit aussi naturellement à intégrer de plus en plus de fonctions sur un même circuit intégré. En effet, la place disponible du fait de la miniaturisation peut être attribuée à la réalisation d'autres fonctions électroniques sur un même circuit intégré. Par exemple, et en adoptant des technologies hybrides, il est connu de mettre en oeuvre à la fois les circuits électroniques de type à effet de champ (en technologie MOS) et en technologie bipolaire. Quelles que soient les technologies mises en oeuvre, des problèmes électroniques surviennent du fait même de la densité d'intégration. En effet certaines fonctions électroniques sont consommatrices d'énergie. Par exemple un régulateur de charge d'une batterie est susceptible de dissiper 300 milliwatts lorsqu'il est en fonctionnement. Par exemple en mode de traitement de données, au moment de la commutation, des résistances équivalentes de conduction des transistors commutés ont dans un état une valeur très faible, pouvant être de l'ordre d'un Ohm voire inférieure. De ce fait la consommation de ces circuits de commutation peut atteindre 600 milliwatts dans un téléphone mobile. Ces consommations électriques engendrent des problèmes de dérive en température du circuit intégré. Ces problèmes d'échauffement se présentent d'autant plus que l'intégration a été poussée et que le nombre de circuits ou de fonctions électroniques impliqués dans le circuit intégré est important. Dans certains cas, la pérennité du circuit n'est pas vraiment compromise, notamment parce qu'on lui a associé un radiateur et/ou un ventilateur de refroidissement. Mais les performances du circuit intégré peuvent être amoindries. Tout simplement par exemple, une fréquence de fonctionnement de ce circuit intégré peut dériver sous l'effet de la température. Dans la plupart des cas il est prévu des circuits de compensation pour réduire les effets de ces échauffements. Mais dans la pratique ces circuits de compensation, d'une part ne protège qu'une fonction particulière par exemple l'horloge, mais surtout d'autre part contribuent en eux-mêmes à l'échauffement général du reste du circuit. Les circuits de compensation thermique sont globalement dissipateur d'énergie, même si leur effet est de neutraliser les conséquences d'une élévation thermique sur une fonction déterminée. Dans certains cas, notamment à l'intérieur d'un téléphone mobile ou bien d'une carte à puce, il n'est pas vraiment possible de mettre en oeuvre des radiateurs, et encore moins des ventilateurs, suffisamment efficaces pour permettre un fonctionnement correct du circuit intégré. Pour d'autres critères de bon fonctionnement que la température, notamment la tension d'une batterie d'alimentation du circuit intégré, le problème est encore plus crucial. En effet, si la tension d'alimentation s'effondre le circuit intégré ne peut pas fonctionner du tout. Pour remédier à ces problèmes, dans l'invention on a prévu d'organiser à l'intérieur du circuit intégré une gestion des fonctions électroniques. On a alors admis qu'il pouvait ne pas être possible d'autoriser le fonctionnement de toutes les fonctions sollicitées du circuit intégré. Dans ce cas, on range ces fonctions selon un ordre prioritaire. On autorise ensuite un fonctionnement dégradé du circuit intégré en privilégiant le fonctionnement des fonctions les plus prioritaires et en raison des ressources de bon fonctionnement du circuit intégré. Ces ressources de bon fonctionnement sont mesurées. Par exemple, en terme de dissipation thermique, on mesure, à l'intérieur du circuit intégré lui-même, la température. En fonction de la comparaison de la température mesurée à un seuil on autorise le fonctionnement de tout ou partie des fonctions sollicitées, des fonctions candidates à une exécution. Le paramètre de mesure du bon fonctionnement n'est pas nécessairement la température, il peut être la tension d'alimentation du circuit intégré, il peut être une fréquence d'une horloge, ou tout autre paramètre, par exemple un courant circulant sur une connexion particulière d'un bus. En agissant ainsi on aboutit au résultat particulièrement intéressant selon lequel le circuit intégré continue à fonctionner au moins pour des fonctions essentielles tout en préservant son intégrité physique et la qualité de son traitement. L'ordre de priorité n'est pas nécessairement figé et immuable. Il peut dépendre des circonstances d'utilisation. Par exemple dans le cadre de l'utilisation d'un téléphone mobile, si on utilise une écoute amplifiée en même temps qu'une recharge de la batterie, on pourra considérer que l'écoute amplifiée est prioritaire vis-à-vis de la recharge de la batterie qui peut être momentanément arrêtée. Par contre, si la tension de batterie du téléphone mobile devient inférieure à un seuil on pourra considérer que c'est cette dernière qui est prioritaire au détriment d'une écoute amplifiée, l'utilisateur devant alors porter son téléphone mobile à son oreille. De ce fait l'ordre de priorité peut être imposé par des désirs d'utilisation, ou par la mesure du fonctionnement correct désiré pour le circuit intégré. L'invention a donc pour objet un procédé de gestion de fonctions électroniques d'un circuit intégré dans lequel - on fait exécuter par une machine d'états de ce circuit intégré des fonctions électroniques, caractérisé en ce que - on range ces fonctions selon un ordre de priorité, - on quantifie une contribution de chacune de ces fonctions à un fonctionnement correct du circuit intégré, - on mesure une qualité de bon fonctionnement du circuit intégré, - on autorise l'exécution de ces fonctions en fonction d'une comparaison de cette mesure à un seuil de bon fonctionnement et en fonction des contributions des fonctions les plus prioritaires candidates à une exécution. L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci ne sont présentées qu'à titre indicatif et nullement limitatif de l'invention. Les figures montrent: - Figure 1: une représentation schématique d'un circuit intégré utilisable pour mettre en oeuvre le procédé de l'invention; - Figures 2a et 2b: des organigrammes d'étapes mises en oeuvre dans le procédé de l'invention et conduisant à une gestion optimale des fonctions électroniques du circuit intégré. La figure 1 montre un circuit intégré 1 utilisable pour mettre en oeuvre le procédé de l'invention. Le circuit intégré 1 peut être celui d'une carte à puce. Dans l'exemple décrit, il sera un circuit intégré général d'un téléphone mobile. Un téléphone mobile peut comporter d'autres circuits intégrés de ce type. D'autre équipement tels qu'un micro-ordinateur peuvent comporter de tels circuits intégrés. Le circuit intégré 1 comporte un microprocesseur 2 relié par un bus 3 de données d'adresse et de commande à un certain nombre d'organes utilisables pour mettre en oeuvre des fonctions électroniques. Par exemple parmi ces organes, une mémoire programme 4 mémorise des programmes relatifs à des fonctions électroniques F1, F2,... FN. D'une manière plus générale le microprocesseur 2 associé à sa mémoire programme 4 constitue une machine d'états. Il serait ainsi envisageable de les remplacer par une machine câblée, dans laquelle les fonctions à exécuter seraient exprimées par l'architecture du câblage. Pour simplifier l'explication, la fonction F1 sera une fonction de charge rapide d'une batterie 5 du téléphone mobile à partir d'une alimentation alternative 6, toutes deux accessibles par un port 7 de sortie du circuit intégré 1 et auquel aboutit le bus 3. D'une manière schématique le circuit intégré 1 comporte dans ce but un régulateur 8 commandé par une entrée de commande 9 par le microprocesseur 2 en application de la fonction Fl. Par exemple, le régulateur 8 comporte un redresseur 10 double alternance dont deux bornes sont reliées à l'alimentation alternative 6 et dont deux autres bornes sont reliées, en parallèle avec un condensateur 11, sur les bornes de la batterie 5. Très schématiquement deux transistors 12 et 13 sont montés en cascade entre l'alimentation alternative 6 et le redresseur 10 et reçoivent sur leur grille de commande un signal disponible sur l'entrée de commande 9. D'une manière connue le microprocesseur 2, en application de la fonction F1, régule la charge de la batterie 5 par l'alimentation 6. Le circuit 10-13 est dissipateur d'énergie quand il est en service. Une autre fonction F2 est par exemple une fonction d'écoute mains libres. Elle est schématiquement représentée par ailleurs par un circuit d'amplification annexe 14 comportant notamment un transistor bipolaire de puissance 15 dont la sortie de signal est reliée à un haut-parleur de puissance 16 du téléphone mobile. Deux transistors de communication 17 et 18 recevant sur leur grille de commande des signaux complémentaires, produits à partir d'un signal de commande disponible sur une entrée 19 du circuit 14, permettent de solliciter soit le haut- parleur 16 à écoute amplifiée soit un haut-parleur 20 de taille réduite et à placer en regard de l'oreille d'un auditeur unique. Les signaux diffusés sur les haut-parleur 16 et 20 sont produits également par le microprocesseur 2, ou plus généralement par un processeur de traitement numérique associé (et intégré dans le circuit intégré 1 de préférence) et véhiculé par le bus 3. D'autres fonctions sont encore disponibles. Par exemple une fonction FN est une fonction dite en mode de données, dans laquelle le bus 3 reçoit dans le port 7, de préférence avec des liaisons parallèles 21, des flots de données provenant de circuits extérieurs au circuit intégré 1 ou destinées à ces circuits extérieurs. D'autres fonctions telles que l'éclairage d'un écran du téléphone mobile, ou la mise à disposition de jeux électroniques sur cet écran sont envisageables. Les fonctions F1, F2 et FN contribuent chacune à un fonctionnement correct du circuit intégré. Elles y contribuent notamment avec une consommation électrique. Dans l'invention, on quantifie les contributions de chacune de ces fonctions. Par exemple la fonction de régulation de la charge de la batterie 5 sera affectée d'une consommation V1, dans un exemple classique V1 est de l'ordre de 300 milliwatts. La fonction V2 d'écoute amplifiée contribue avec une consommation bien plus grande, par exemple de l'ordre de 2 ou 3 watts dépendant de la puissance souhaitée sur le haut- parleur 16 qui est elle-même réglable. Eventuellement dans l'invention la valeur V2 à prendre en considération sera celle à laquelle l'utilisateur aura réglé la hauteur de son de son écoute amplifiée. Typiquement par ailleurs, un mode de données représenté par la fonction FN contribue à une consommation VN de l'ordre de 600 milliwatts. Dans l'invention on crée une table de consommation 22 dans laquelle on mémorise, en regard de références Fi à des fonctions envisagées, des contributions Vi au fonctionnement correct du circuit intégré. On mémorise également, dans une autre table 23 de priorité, des références aux fonctions possibles Fi avec un rang Ri de priorité d'exécution de la fonction concernée. Soit le rang est figé, soit le rang est lui-même modifiable. Dans ce dernier cas il est modifiable en fonction d'informations disponibles sur le bus 3. Les informations disponibles peuvent elles-mêmes être fonction d'une mesure de l'état de fonctionnement du circuit intégré. On mémorise encore, dans une table des fonctions 24, en regard de références aux fonctions Fi des informations 25 de candidature à une exécution, et des informations 26 d'autorisation de cette exécution. Par exemple si aucune alimentation 6 n'est connectée sur le port 7, la fonction F1 n'est pas candidate à l'exécution. Par ailleurs on pourra considérer que la fonction F2 d'écoute amplifiée est candidate si l'utilisateur a configuré son téléphone mobile dans ce but. Certaines fonctions peuvent être candidates en permanence. Dans les zones 25 de chaque enregistrement de la table 24, on fait figurer une information correspondant à cette candidature. Dans une zone 26, essentielle dans l'invention, on fait figurer une information d'autorisation ou d'interdiction d'exécution en fonction du bon fonctionnement souhaité du circuit intégré 1. Dans ce but le circuit intégré 1 comportera un circuit de mesure 27 pour mesurer la qualité de bon fonctionnement de ce circuit intégré. Ce circuit de mesure 27 pourra comporter un circuit de mesure 28 d'un des paramètres physiques du circuit intégré, par exemple sa consommation énergétique mesurée par une température T , une tension de fonctionnement V, ou une fréquence f de fonctionnement. Il pourra également comporter un comparateur 29 qui recevra sur une autre entrée de comparaison un signal de seuil produit par un circuit 30. Le signal de seuil peut être un signal fixe ou éventuellement même un signal élaboré par le microprocesseur 2. Le circuit 27 délivre donc un signal représentant la qualité de bon fonctionnement du circuit intégré 1. Au besoin le circuit 30 peut produire plusieurs seuils montrant une dégradation progressive de la qualité du fonctionnement du circuit intégré 1. Au besoin une scrutation des différentes mesures de bon fonctionnement est effectuée. Dans une étape essentielle, le microprocesseur 2 autorise l'exécution des fonctions Fi en fonction d'un programme général G, contenu lui aussi par exemple dans la mémoire programme 4. La figure 2a montre des étapes de ce programme G spécifiques à l'invention. En effet le programme G comporte par ailleurs d'autres parties pour permettre un fonctionnement complet du téléphone mobile. Cette partie spécifique du programme G comporte une étape de test 31 par laquelle on cherche à savoir s'il faut arrêter une fonction. Au cours de l'étape 31, en pratique le microprocesseur 32 évalue le signal émanant du comparateur 29 du circuit 27. Si un seuil toléré a été dépassé par une des valeurs mesurées par le circuit 28, le comparateur 29 produit un signal positif. Dans ce cas le programme G conduit à l'exécution d'une étape 32 au cours de laquelle on va déterminer, parmi les fonctions en service, la fonction la moins prioritaire. Les fonctions en service sont les fonctions, dans la table 24, pour lesquelles en zone 25 une indication de mise en service est présente. Par exemple dans le cas représenté, ni la charge de la batterie 5 ni l'utilisation du mode de données ne sont en service. Par exemple, seulement l'écoute amplifiée, fonction avec une référence F2, est en service. Si plusieurs fonctions candidates à l'exécution et donc à la cessation de leur activité sont désignées par la zone , le microprocesseur 2 consulte la table 23 pour connaître celle des fonctions dont le rang de priorité est le plus faible. Dans le cas o les trois fonctions référencées F1, F2, FN seraient candidates, et si chacune était affectée d'un rang de priorité, on pourrait estimer que la charge de la batterie aurait un rang de priorité 1, que l'écoute amplifiée aurait un rang de priorité 2 et que le mode de données aurait un rang de priorité 3. Ceci signifierait que, dans le cadre de cette utilisation, la charge de la batterie serait moins indispensable que l'écoute amplifiée, et celle-ci moins indispensable que le mode de données. En outre si les actions de cessation effectuées étaient insuffisantes, le mode de données, dont le fonctionnement peut être aléatoire et non maîtrisé par l'utilisateur devrait naturellement avoir un rang plus prioritaire encore. Ce faisant, après l'étape 32 au cours d'une étape 33 le microprocesseur 2 en application du programme G arrête la fonction Fl de charge de la batterie. Après l'étape 33 on retourne au test 31 pour mesurer s'il faut arrêter encore une autre fonction. Eventuellement ce retour est temporisé s'il s'agit d'un test de température pour permettre (en quelques secondes) à la température du circuit intégré d'atteindre une valeur plus tolérable. Par contre, si à l'issue du test 31 on constate qu'il ne faut plus arrêter une fonction parce que les conditions de fonctionnement sont satisfaisantes, on enchaînera un test 34 au cours duquel on cherchera à réactiver une fonction candidate à l'exécution, mais pour laquelle cette exécution avait été temporairement arrêtée. Ce faisant, à l'instar des étapes 32 et 33 le programme G comportera des étapes 35 et 36. Dans l'étape 35, on déterminera quelle est la fonction la plus prioritaire à faire redémarrer parmi les fonctions candidates mais qui ont été arrêtées. Dans l'étape 36, à l'opposé de l'action de l'étape 33 on remettra en activité la fonction déterminée. Les arrêts d'activité et remise en activité se feront de préférence d'une manière connue par stockage préalable dans des registres (non représentés) du microprocesseur 2 des paramètres de la fonction qui est arrêtée, de façon à ce que celle-ci puisse être reprise dans l'état o elle se trouvait préalablement. En même temps que ces étapes 33 et 36 sont exécutées, la mémoire 24 sera modifiée pour comporter en zone 26 une indication selon laquelle la fonction est arrêtée ou au contraire est remise en service. Il est possible par ailleurs de se passer de la zone 25. Dans ce cas, d'une manière essentielle la table 24 ne comportera que la zone 26. Pour des raisons de fonctionnement en sécurité, on pourra alors prévoir que la zone 26 comporte, pour toutes les fonctions une indication d'autorisation, ou d'interdiction. Dans ce cas des informations binaires seront délivrées par le microprocesseur 2 de la manière suivant. Lorsqu'une fonction Fi est sollicitée par une étape 37, (figure 2b) le microprocesseur 2 teste dans une étape 38 le contenu de la table 24 pour savoir si la fonction est exécutable. Si celle-ci est exécutable, et si cette zone 26 comporte une autorisation, la fonction Fi est exécutée au cours d'une étape 39. Sinon au cours d'une étape 40 l'échec de l'exécution est provoqué, éventuellement avec diffusion d'une alarme. Dans ce cas, comme dans le cas précédent la zone 26 est mise à jour par le microprocesseur 2 en fonction des signaux délivrés par le circuit 27. Selon ce qui a été indiqué précédemment, le rang de priorité peut être dépendant de la volonté de l'utilisateur. Dans le cas précédent, les priorités étaient FN, F2, Fl. Il est également possible que le circuit 27 teste alternativement ou progressivement chacun des paramètres de bon fonctionnement du circuit intégré 1. Par exemple si, après une mesure de température, la mesure de la tension de batterie s'avère être inférieure à une tension tolérable, on peut prévoir que le contenu de la table des priorités 23 sera modifiée, au moins pour donner à la fonction F1 de charge de la batterie un rang plus prioritaire par exemple un rang 4. Dans ce cas la lecture par le microprocesseur 2 du signal délivré par le circuit 27 engendre deux actions. Au cours d'une première action, on modifie la mémoire 23, au cours d'une deuxième action on met en oeuvre le système séquentiel de la figure 2a. La consommation énergétique des fonctions Fi sera d'une manière connue mesurée par la température T du circuit électronique 1. Eventuellement cette quantification pourrait être faite en fonction de la chute de la tension d'alimentation de la batterie 5 qui serait provoquée par la mise en oeuvre de ces fonctions, notamment dans le cas o une tension d'alimentation extérieure 6 n'est pas présente sur le port 7. En effet dans ce cas, si la tension de batterie 5 est faible, et même si la température du circuit intégré n'est pas élevée, il peut être prohibé de mettre en oeuvre une fonction parce qu'elle pourrait conduire à un effondrement de la tension d'alimentation qui empêcherait le circuit 1 de fonctionner correctement. En variante un courant électrique ou une fréquence disponible à l'intérieur d'une horloge sont aussi des paramètres mesurés pour apprécier le bon fonctionnement du circuit intégré 1. Les tables 22, 23 et 24 ont été montrées d'une manière séparée. Dans la pratique elles peuvent être confondues en une seule table et mémorisées dans la mémoire 4. REVENDICATIONS 1 - Procédé de gestion de fonctions électroniques (F1, F2, FN) d'un circuit intégré (1) dans lequel - on fait exécuter par une machine d'états (2) de ce circuit intégré des fonctions électroniques, caractérisé en ce que - on range (23) ces fonctions selon un ordre de priorité, - on quantifie (22) une contribution de chacune de ces fonctions à un fonctionnement correct du circuit intégré, - on mesure (27) une qualité de bon fonctionnement du circuit intégré, - on autorise (G, 26) l'exécution de ces fonctions en fonction d'une comparaison de cette mesure à un seuil de bon fonctionnement et en fonction des contributions des fonctions les plus prioritaires candidates (25) à une exécution. 2 - Procédé selon la revendication 1, caractérisé en ce que - on quantifie (V1, V2, VN) les contributions en fonction d'une consommation énergétique des circuits électroniques du circuit intégré qui sont mis en oeuvre par la fonction. 3 - Procédé selon l'une des revendications 1 à 2, caractérisé en ce que - on quantifie les contributions en fonction d'une chute de tension d'alimentation provoquée par des circuits électroniques du circuit intégré qui sont mis en oeuvre par la fonction. 4 - Procédé selon l'une des revendications 1 à 3, caractérisé en ce que - on quantifie les contributions en fonction d'une variation de fréquence provoquée par des circuits électroniques du circuit intégré qui sont mis en oeuvre par la fonction. 5 - Procédé selon l'une des revendications 1 à 4, caractérisé en ce que - on crée dans le circuit intégré une table (22) de correspondance entre des références aux fonctions et des contributions de ces fonctions au bon fonctionnement du circuit intégré. 6 - Procédé selon l'une des revendications 1 à 5, caractérisé en ce l1 que - on crée dans le circuit intégré une table (23) de correspondance entre des références aux fonctions et des rangs de priorité de ces fonctions. 7 - Procédé selon la revendication 6, caractérisé en ce que - on modifie (2) les rangs de priorité en fonction d'une mesure (V) du bon fonctionnement du téléphone mobile. 8 - Procédé selon l'une des revendications 1 à 7, caractérisé en ce que - on crée dans le circuit intégré une table (24) de correspondances entre des références aux fonctions et une information (25) de candidature et ou une information d'autorisation (26) d'exécution, et en ce que - on met en service des fonctions candidates autorisées. 9 - Procédé selon l'une des revendications 1 à 8, caractérisé en ce que on réalise la machine d'états sous la forme d'un microprocesseur (2) associé à une mémoire programme (4) par un bus (3).