FR 2999306 A1 20140613 FR 1362166 A 20131205 Domaine de l'invention La présente invention se rapporte de façon générale à l'adaptation d'une horloge de système et notamment l'adaptation d'une horloge de système dans un appareil de commande comportant une ins- tallation de traitement et au moins un composant périphérique. L'invention s'applique à un procédé pour un appareil de commande comportant une installation de traitement, un composant périphérique et un générateur d'horloge, l'installation de traitement et le composant périphérique fonctionnant avec l'horloge systématique four- nie par le générateur d'horloge. L'invention s'applique également à un appareil de com- mande pour la mise en oeuvre du procédé et un produit programme d'ordinateur pour la mise en oeuvre du procédé. Par convention, l'horloge fournie par le générateur d'horloge du système sera appelée horloge systématique. Etat de la technique De nombreux petits appareils électriques comportent une installation de traitement sous la forme d'un micro-ordinateur programmable avec un ou plusieurs composants périphériques. La chaleur dégagée par l'installation de traitement augmente avec l'horloge du sys- tème. Pour économiser du courant en particulier dans le cas d'appareils alimentés par batterie ou par accumulateur, il est habituel d'adapter l'horloge du système en fonction de la charge de l'installation de traitement. Les microprocesseurs actuels disposent d'ordres spéciaux leur permettant d'activer l'un des nombreux modes d'économie de courant réduisant l'horloge du système du microprocesseur. Les composants périphériques fonctionnent habituellement avec une autre horloge de système de sorte qu'ils fonctionnent indépendamment de l'installation de traitement et peuvent être mis dans un mode d'économie de courant qui leur est propre. Dans une installation de commande plus simple telle que par exemple celle embarquée dans un véhicule automobile pour commander un lève-vitre, un essuie-glace ou un réglage de siège, habituellement, l'installation de traitement et les composants périphériques fonctionnent avec la même horloge du système et se trouvent ainsi dans la même plage d'horloge. C'est pourquoi, il est important que les composants périphériques fonctionnent correctement pour éviter un défaut de fonctionnement qui peut se répercuter sur l'utilisateur. Dans ce domaine il est ainsi habituel de faire fonctionner les composants périphé- riques toujours avec la même horloge systématique et ainsi de faire fonctionner l'installation de traitement avec la même horloge de systématique, indépendamment de sa charge. En particulier, un appareil de commande rarement utilisé comme par exemple celui de la commande d'essuie-glace gâche toute- fois une partie importante de sa puissance potentielle de calcul sous la forme de chaleur dégagée. Cela est gênant de façon générale et peut constituer une difficulté notamment dans le cas d'un véhicule à entraînement électrique. But de l'invention La présente invention a pour but de développer un appa- reil de commande embarqué dans un véhicule automobile permettant d'économiser de l'énergie lorsque l'appareil de commande est peu utilisé ou n'est pas utilisé. Exposé et avantages de l'invention A cet effet, la présente invention a pour objet un procédé pour un appareil de commande comportant une installation de traitement, un composant périphérique et un générateur d'horloge, l'installation de traitement et le composant périphérique fonctionnant avec l'horloge systématique fournie par le générateur d'horloge, le pro- cédé comprenant les étapes suivantes consistant à déterminer que la charge de l'installation de traitement dépasse un seuil prédéfini, déterminer que le composant périphérique se trouve dans un état dans lequel un changement de l'horloge systématique n'est pas critique et changer l'horloge systématique pour adapter la capacité de l'installation de traitement à la charge. En tenant compte de l'état du composant périphérique avant l'adaptation, il est possible, notamment dans le cas d'un appareil simple dont l'installation de traitement utilise la même horloge systématique que le composant périphérique, de diminuer l'horloge systéma- tique en fonction de la charge sans risquer de détériorer le fonctionnement du composant périphérique. Par exemple, dans la cas d'un composant périphérique commandant une fonction qui agit directement ou indirectement sur l'homme, on pourra utiliser avantageusement le procédé développé ci-dessus. L'invention est notamment conçue pour une application embarquée dans un véhicule automobile ou en- core dans la technique médicale ou les commandes industrielles. Selon un développement préférentiel le composant péri- phérique transmet des données et est déterminé pour se trouver dans un état dans lequel un changement de l'horloge systématique n'est pas critique si le composant périphérique n'envoie pas de données ni reçoit de données de l'appareil périphérique. Cela garantit que le changement de l'horloge systéma- tique ne perturbe pas la transmission des données avec un appareil éloigné qui commande l'appareil de commande ou est commandé par celui-ci. Une telle capacité de communication ininterrompue est très importante en particulier dans le cas d'appareil en réseau à bord d'un véhicule automobile. Selon un autre développement, on détermine en plus si l'installation de traitement se trouve dans un état dans lequel un changement de l'horloge systématique n'est pas critique, avant de faire le changement d'horloge systématique. L'installation de traitement peut notamment tolérer un changement de l'horloge systématique si un programme qui se déroule dans l'installation est dans un état approprié. Cet état se caractérise en ce qu'il ne correspond à aucun traitement critique dans le temps. Cette procédure peut être étendue à plusieurs pro- grammes ou sous-programmes indépendants qui se déroulent dans l'installation de traitement, par exemple de manière cyclique. L'appareil de commande peut comporter à cet effet un compteur pour compter avec un signe algébrique différent, l'entrée et la sortie d'un programme exécuté par l'installation de traitement dans un segment critique. On détermine ainsi que l'installation de traitement se trouve dans un état dans lequel un changement de l'horloge systématique n'est pas critique si le compteur présente un état de comptage prédéfini. Cela permet de combiner de manière logique un grand nombre de conditions pour permettre le changement de l'horloge systé- matique de sorte que le changement ne se fera que si aucun composant de l'appareil de commande risque une détérioration de son fonctionnement le compteur peut être réalisé de manière physique de façon à exclure un changement de l'état de comptage par plusieurs composants en concurrence. L'installation de traitement exécute successivement de manière cyclique de nombreux programmes qui incrémentent ou décrémentent respectivement l'état de comptage à leur entrée ou sortie chaque fois d'un segment critique. Cela permet de soutenir de manière simple le fonctionnement sans perturbation de plusieurs programmes à l'aide du compteur. L'appareil de commande peut comporter un grand nombre de composants périphériques fonctionnant avec l'horloge systématique ; on détermine que tous les composants périphériques se trouvent dans des états dans lesquels un changement de l'horloge sys- tématique n'est pas critique, avant que l'on procède au changement de l'horloge systématique. Cela permet de commuter notamment les composants périphériques exécutant des tâches différentes, sans les perturber, pour passer à une horloge systématique modifiée. Selon un autre développement, on réduit l'horloge systé- matique si la charge de l'installation de traitement est inférieure à un premier seuil et après une durée prédéfinie on augmente de nouveau l'horloge, ce qui garantit que des tâches prédéfinies de l'appareil de commande seront exécutées de manière cyclique avec une horloge sys- tématique suffisamment élevée. Selon un autre développement, on réduit l'horloge systématique si la charge est inférieure à un premier seuil et on l'augmente si la charge dépasse un second seuil, le second seuil étant supérieur au premier seuil. Cela permet de créer une hystérésis pour le changement de l'horloge systématique qui évite son changement trop fréquent. Les phases dans lesquelles l'appareil de commande n'est que peu utilisé ou pas utilisé peuvent être ainsi mieux distinguées des phases dans lesquelles l'appareil de commande est plus fortement utilisé. Dans le cas d'une variation brusque de la charge de l'installation de traitement, on peut modifier l'horloge systématique par un programme qui se déroule dans l'installation de traitement. Si par exemple on détermine que l'on est face à un traitement plus complexe ou que celui-ci a été demandé par exemple parce-que l'appareil de commande a été sollicité par un appareil externe, on peut déclencher le relèvement de l'horloge systéma- tique. Pour cela, on attend de préférence que le composant périphérique et le cas échéant les programmes déroulés dans l'installation de traitement se trouve dans des états dans lesquels un changement d'horloge systématique n'est pas critique. L'invention a également pour objet un produit pro- lo gramme d'ordinateur comportant des codes programme pour la mise en oeuvre du procédé décrit ci-dessus lorsque le produit programme d'ordinateur est exécuté par une installation de traitement ou est enregistré sur un support de données lisibles par un ordinateur. L'invention a également pour objet un appareil de com- 15 mande comprenant un générateur d'horloge fournissant une horloge systématique, une installation de traitement, et un composant périphérique, l'installation de traitement et le composant périphérique coopérant avec l'horloge systématique fournie par le générateur 20 d'horloge, et l'installation de traitement, a) détermine si sa charge dépasse un seuil prédéfini, b) détermine que le composant est dans un état dans lequel un changement d'horloge systématique n'est pas critique, et c) change l'horloge systématique pour adapter la capacité de 25 l'installation de traitement à la charge. L'installation de traitement peut notamment exécuter le procédé décrit ci-dessus de sorte que l'appareil de commande est de construction simple, offre une grande sécurité de fonctionnement et néanmoins consomme peu de courant. 30 Le composant périphérique applique une transmission asynchrone des données en fonction de l'horloge systématique vers un composant externe. La capacité de communiquer du composant externe sera inchangée malgré le changement de l'horloge systématique. 35 Dessins La présente invention sera décrite à l'aide d'un exemple de procédé et d'appareils de commande pour l'adaptation de l'horloge systématique représentée dans les dessins annexés dans lesquels : - la figure 1 est un schéma par blocs d'un appareil de commande, - la figure 2 montre un ordinogramme de procédé, - la figure 3 montre les états de comptage de l'appareil de commande de la figure 1. Description détaillée de modes de réalisation de l'invention La figure 1 montre un appareil de commande 100 no- tamment embarqué dans un véhicule automobile. L'appareil de commande 100 comporte un générateur d'horloge 105 fournissant une horloge systématique, une installation de traitement 110 réalisée notamment sous la forme d'un micro-ordinateur programmable ainsi qu'un ou plusieurs composants périphériques 115. Chaque composant périphérique 115 est relié à une interface 120 elle-même reliée à l'extérieur de l'appareil de commande 100 à une autre installation. En outre l'appareil de commande 100 peut comporter en option un compteur 125. Selon un développement préférentiel, l'appareil de com- mande 100 est réalisé sous la forme d'un composant ASIC (circuit intégré dédié à une application spécifique). Pour cela les éléments fonctionnels de base du circuit ASIC tels que les portes logiques sont combinées pour constituer les éléments représentés à la figure 1. De ce fait on a habituellement un couplage étroit entre les éléments représen- tés de l'appareil de commande 100 ce qui se traduit par exemple par l'utilisation de la même horloge systématique dans l'installation de traitement 110 et dans les composants périphériques 115. Dans le mode de réalisation représenté à titre d'exemple, l'un des composants périphériques 115 exécute une transmission asyn- chrone de donnée en se fondant sur l'horloge systématique. Pour cela, l'interface 120 qui lui est associée est reliée à un bus 130 qui est notamment un bus CAN ou un bus LIN. Un ou plusieurs composants 135 sont reliés au bus 130. Ces composants échangent des données de fa- çon asynchrone avec l'appareil de commande 100 par l'intermédiaire du bus 130. Le composant périphérique 115 reçoit des signaux de commande du bus 130 ou injecte des signaux dans le bus 130. Selon un mode de réalisation préférentiel, la transmission de données dans le bus 130 se fait selon un protocole permettant l'adressage des compo- sants 100, 140. Une information que par exemple le composant 135 in- jecte dans le bus 130 sera adressé à un autre composant 135 que l'appareil de commande 100 de sorte que l'information sera rejetée par le composant périphérique 115 dès que l'information d'adressage est reçue et qu'il a été constaté que cette information ne concerne pas l'appareil de commande 100. Un autre composant périphérique 115 représenté à droite à la figure 1 peut être relié par l'interface 120 qui lui est associé à une autre installation par exemple à un moteur 140. Le moteur 140 entraîne par exemple un bras d'essuie-glace d'une installation d'essuie- glace embarquée dans le véhicule. Dans d'autres modes de réalisation, le moteur actionne par exemple un toit ouvrant ou règle un siège. L'appareil de commande 100 est utilisé de préférence pour commander des opérations qui se produisent rarement. Pendant une grande partie de son temps de fonctionnement, l'appareil de com- mande 100 attend une information de commande par le bus 130 alors que seulement une petite fraction de son temps de fonctionnement est utilisé pour la commande suivante d'un élément périphérique tel que par exemple le moteur 140. Pendant les phases d'attente, l'installation de traitement 110 n'est que faiblement chargée alors que pendant les phases actives sa charge est élevée. La charge est représentée par le temps pendant lequel l'installation de traitement 110 exécute un programme dans un intervalle prédéfini et le temps pendant que l'installation attend un évènement ou un signal de temps. Plus le temps d'attente relatif est grand et plus faible est la charge de l'installation de traitement 110. L'installation de traitement 110 détermine si sa charge est inférieure à un seuil prédéfini et dans ce cas l'horloge systématique du générateur d'horloge 105 est réduite pour qu'aucun des composants de l'appareil de commande 100 ne soit gêné par cette opération. De fa- çon correspondante, on peut également relever l'horloge systématique si la charge dépasse un seuil prédéfini. La figure 2 montre un ordinogramme d'un procédé pour l'appareil de commande 100, notamment pour se dérouler dans l'installation de traitement 110. Le procédé 200 commence par l'étape 205 qui correspond à un mode de travail habituel de l'installation de traitement 110. Un ou plusieurs programmes ou sous-programmes sont exécutés par exemple de manière cyclique dans l'installation de traitement 110. De façon caractéristique, l'appareil de commande 100 ne dispose pas de système de fonctionnement ou seulement d'un système limité de sorte que tous les programmes ou sous-programmes sont exécutés dans une boucle principale sans fin selon le système de décalage de temps (« fourniquet »). Habituellement, on a une synchronisation de chaque passage ou boucle sur un intervalle de temps fixe. Dans l'étape 210 on définit la charge de l'installation de traitement 110. Pour cela, on détermine par exemple la fraction du passage dans la boucle principale utilisée avec l'attente pour entrer dans une condition au lieu d'exécuter un programme ou un sous-programme. Dans l'étape 215 on vérifie si la charge dépasse un seuil supérieur. En variante, dans l'étape 220 on peut également déterminer si la charge est inférieure à un seuil inférieur. Selon un autre mode de réalisation, les deux seuils sont identiques. Selon une variante du procédé 200, les étapes 215 et 220 peuvent être exécutées successivement dans un ordre quelconque. En outre, suivant une étape alternative 225, on détermine si l'horloge systématique est basse et si un temps prédéfi- ni s'est écoulé depuis la réduction de l'horloge systématique. Si l'un des tests des étapes 215, 220 ou 225 donne un résultat positif, on détermine dans une étape 230 si un ou plusieurs des composants périphériques présent 115 se trouvent dans un état pour lequel un changement d'horloge systématique n'est pas critique. Le composant périphérique 115 représenté à gauche de la figure 1 et qui transmet les données de manière asynchrone par le bus 130 peut se trouver par exemple dans un état non critique si aucune information n'est transmise par le bus 130. En outre, l'état peut également être con- sidéré comme non critique si le composant 115 n'émet aucune informa- tion et si aucune information transmise par le bus 130 n'est adressée à l'appareil de commande 100. Le composant périphérique 115 représenté à droite de la figure 1 peut se trouver dans un état non critique si le moteur 140 n'est pas commandé. Si seulement l'un des composants périphériques 115, examiné se trouve dans un état dans lequel un changement d'horloge systématique serait critique, le procédé 200 revient à l'étape 205 sans modifier l'horloge systématique et cette étape peut de nouveau être parcourue. Dans le cas contraire, dans l'étape 235 on vérifie si l'installation de traitement 110 se trouve dans un état dans lequel un changement de l'horloge systématique n'est pas critique. Par exemple chaque programme ou sous-programme se déroulant dans l'installation de traitement 110 influence une variable globale qui indique si au moins l'un des programmes ou sous-programmes est dans un état cri- tique dans lequel il faut éviter de changer l'horloge systématique. Si l'état de l'installation de traitement 110 dans l'étape 235 a été considéré également comme non critique, alors l'installation de traitement 110 demande au générateur d'horloge 105 dans l'étape 240, de changer de façon appropriée l'horloge systématique. Si le chan- gement se fait parce-que la charge dans l'étape 220 est inférieure à un seuil, alors l'horloge systématique sera réduite ; en revanche si dans l'étape 215 on a constaté que la charge dépasse un seuil supérieur, alors on relève l'horloge systématique. Si dans l'étape 225 on a constaté que l'horloge systématique était basse et qu'un temps prédéfini s'est écoulé depuis la réduction de l'horloge systématique, alors dans l'étape 240 on relève également l'horloge systématique. Après l'étape 240, le procédé 200 revient à l'étape 205 et peut de nouveau parcourir cette étape. La figure montre à titre d'exemple des états de comptage du compteur 125 de l'appareil de commande 100 de la figure 1. Le compteur 125 est utilisé pour réaliser une variable globale indiquant si un programme ou un sous-programme exécuté par l'installation de traitement 110 se trouve dans un segment critique. Une telle variable glo- bale est appelée « Semaphore ». Le compteur 125 ne peut être changé à tout instant que par un seul programme ou sous-programme. Cette condition d'exclusion mutuelle est appelée « condition Mutex ». Dans la direction horizontale, on a représenté la succes- sion chronologique des états d'un premier programme 305, d'un second programme 310 et d'un troisième programme 315. Une surface sombre correspond à un segment critique 320 et une surface claire, à un segment non critique 325. A chaque entrée dans un segment critique 320, chaque programme 305-315 augmente l'état de comptage du compteur 125; en sortant du segment critique 320 l'état de comptage est dimi- nué. Tout en bas de la figure 3, on a représenté les états de comptage correspondants du compteur 125 pour la succession représentée de segments critiques 320 et de segments non critiques 325 des trois programmes 305-315. L'état de l'installation de traitement 110 ne sera considéré comme non critique pour un changement d'horloge systéma- tique que si l'état de comptage du compteur 125 est égal à zéro. Egale- ment un autre état de comptage prédéfini peut traduire la même situation. La procédure décrite permet d'éviter que l'horloge systématique ne soit changée pendant qu'un programme 305-315 se trouve dans un segment critique 320.20 11 NOMENCLATURE DES ELEMENTS PRINCIPAUX 100 Appareil de commande 105 Générateur d'horloge 110 Installation de traitement 115 Composant périphérique 125 Compteur 130 Bus 135 Composant relié au bus 140 Composant/Moteur 200 Ordinogramme 205-240 Etapes de l'ordinogramme 305, 310, 315 Programmes 320 Segment critique 325 Segment non critique REVENDICATIONS1°) Procédé (200) pour un appareil de commande (100) comportant une installation de traitement (110), un composant périphérique (115) et un générateur d'horloge (105), l'installation de traitement (110) et le com- posant périphérique (115) fonctionnant avec l'horloge systématique fournie par le générateur d'horloge (105), procédé comprenant les étapes suivantes consistant à: déterminer (215, 220) que la charge de l'installation de traitement (110) dépasse un seuil prédéfini, déterminer (230) que le composant périphérique (115) se trouve dans un état dans lequel un changement de l'horloge systématique n'est pas critique, et changer (240) l'horloge systématique pour adapter la capacité de l'installation de traitement (110) à la charge. 2°) Procédé (200) selon la revendication 1, caractérisé en ce que le composant (115) transmet des données et on détermine qu'il est dans un état dans lequel un changement d'horloge systématique n'est pas critique si le composant (115) n'envoie pas de données ou ne reçoit pas de données dirigées vers l'appareil de commande (100). 3°) Procédé (200) selon la revendication 1, caractérisé en ce qu' on détermine en plus que l'installation de traitement (110) se trouve dans un état dans lequel un changement d'horloge systématique n'est pas critique, avant d'effectuer le changement de l'horloge systématique. 4°) Procédé (200) selon la revendication 3, caractérisé en ce que l'appareil de commande (100) comporte un compteur qui compte avec des signes algébriques différents, l'entrée et la sortie d'un programme exécuté par l'installation de traitement (110) dans un segment critique (320), etl'on détermine si l'installation de traitement (110) se trouve dans un état dans lequel un changement d'horloge systématique n'est pas critique si le compteur a un état de comptage prédéfini. 5°) Procédé (200) selon la revendication 3 ou 4, caractérisé en ce que l'installation de traitement (110) exécute successivement de manière cyclique de nombreux programmes (305-315) et plusieurs des programmes (305-315) et incrémente ou décrémente l'état de comptage à leur entrée ou leur sortie d'un segment critique (320). 6°) Procédé (200) selon la revendication 1, caractérisé par un grand nombre de composants périphériques (115) utilisant l'horloge systématique et on détermine si tous les composants périphériques (115) se trouvent dans un état dans lequel un changement d'horloge systématique n'est pas critique, avant d'effectuer le changement d'horloge systématique. 7°) Procédé (200) selon la revendication 1, caractérisé en ce qu' on réduit l'horloge systématique si la charge est inférieure à un premier seuil et après une durée prédéfinie on relève l'horloge. 8°) Procédé (200) selon la revendication 1, caractérisé en ce qu' on diminue l'horloge systématique si la charge est inférieure à un premier seuil (220) et on l'augmente si la charge est supérieure à un second seuil (215), le second seuil étant supérieur au premier seuil. 9°) Produit de programme d'ordinateur avec des codes programmes pour exécuter le procédé (200) selon l'une quelconque des revendications 1 à 8 lorsque le produit programme est appliqué par une installation de traitement (110) ou est enregistré sur un support de données lisible par un ordinateur.10°) Appareil de commande (100) comprenant : un générateur d'horloge (105) fournissant une horloge systématique, une installation de traitement (110), et un composant périphérique (115), l'installation de traitement (110) et le composant périphérique (115) coopérant avec l'horloge systématique fournie par le générateur d'horloge (105), et l'installation de traitement (110) a) détermine si la charge de l'installation de traitement (110) dé- passe un seuil prédéfini, b) détermine que le composant (115) est dans un état dans lequel un changement d'horloge systématique n'est pas critique, et c) change l'horloge systématique pour adapter la capacité de l'installation de traitement (110) à la charge. 11°) Appareil de commande (100) selon la revendication 10, caractérisé en ce que le composant périphérique (115) exécute un échange de données asyn- chrone avec un composant externe (135) sur la base de l'horloge systé- matique.25