FR 2956441 A1 20110819 FR 1003158 A 20100728 L'invention concerne un procédé de minimisation du retard dans la gestion de fonctionnement d'un moteur à combustion interne de véhicule automobile, ainsi qu'un microcontrôleur permettant la mise en oeuvre de ce procédé. La gestion d'un moteur à combustion interne est réglée en particulier sur la rotation de l'arbre de sortie ou vilebrequin du moteur. L'arbre est classiquement connecté en extrémité à une roue d'inertie pour réduire les à-coups caractéristiques du cycle à quatre temps des moteurs à combustion interne. Cette roue d'inertie présente en périphérie une succession de dents régulièrement réparties pour fournir des données de positions de l'arbre par rapport à une référence et un compteur de temps. Afin de contrôler les différentes commandes et inspections successives liées au fonctionnement du moteur à combustion interne (en particulier : allumage, injection, ratés d'allumage, régime moteur, couple moteur, équipements électroniques ou numériques connexes, etc.), la roue crantée sert de cible à un capteur relié à un microcontrôleur de gestion. Le capteur délivre un signal dont les variations temporelles traduisent les variations du profil des dents de la roue crantée. La roue crantée présente une discontinuité, par exemple l'absence d'une dent, pour servir de référence d'identification successive des dents et de référence temporelle de l'arbre en position. Le signal transmis par le capteur au microcontrôleur permet ainsi de détecter les positions successives de l'arbre par la détection successive des dents sur le capteur. En référence à ces positions, les différentes actions liées au fonctionnement du moteur sont ajustées par le microcontrôleur. Or, pour satisfaire au besoin en précision requis pour piloter les différents déclenchements d'événements, la résolution angulaire définie par le profil des dents est insuffisante, en particulier dans les périodes d'accélération ou de décélération. La nécessité de déclencher les événements à des instants précis déterminés, correspondant à des positions angulaires de l'arbre et donc de la roue crantée, a conduit à développer des logiciels d'estimation de position angulaire ou à utiliser des composants de traitement du signal. Les estimations de position sont de type par extrapolation, en adaptant la programmation des événements prévus sur un compteur de temps calé sur le signal de détection des dents. La programmation des événements est adaptée aux accélérations et décélérations éventuellement détectées pendant la période de temps antérieure du compteur. L'adaptation consiste à interrompre le compteur de temps en fonction du décalage estimé par la variation antérieure afin de recaler l'événement au plus près de l'instant correspondant au fonctionnement moteur. Une telle approche est néanmoins difficile à mettre en oeuvre lorsqu'il s'agit de gérer un grand nombre d'événements, ce qui est le cas pour un moteur à 6 cylindres et plus. II est également possible de générer, par exemple par un diviseur de fréquences, des « micro dents » sur les rampes de position angulaire, par exemple 256 micro dents. Des compensations en fonction des accélérations et décélérations antérieures sont alors possibles ; les micro fronts restants dans une période antérieure du signal, correspondant à une dent, sont respectivement ajoutés ou supprimés dans la période suivante du signal, correspondant à la dent suivante. Cependant, un tel traitement ne permet pas de descendre en précision en dessous de 5 à 6 microsecondes, du fait des composants utilisés dans l'unité du microcontrôleur comme cela ressortira ci-après. Cependant, même si la génération des incréments de position de l'arbre est améliorée en résolution par le microcontrôleur, un retard intrinsèque subsiste par rapport à la position angulaire réelle de la roue dentée. Ce retard dépend du microcontrôleur et de sa configuration, sans toutefois pouvoir dépasser la période de temps cadencée par les dents. Dans un moteur à quatre cylindres par exemple, un cycle complet de fonctionnement de ces cylindres correspond à une rotation de 720° de l'arbre de sortie. Le passage de chaque piston à son point mort haut (PMH) est repéré successivement par la position angulaire de la roue crantée : 180°, 360°, 540° et 720°. Le retard intrinsèque se répercute alors à chaque position angulaire. Plus précisément, un microcontrôleur comporte, entre autres, un module de composants dédiés à la génération de bases de temps permettant de déclencher les événements prévus pour l'injection, la combustion, l'échappement, etc., à des instants prédéterminés à partir du signal fourni par le capteur de la roue crantée. En particulier, un tel module comporte une boucle PLL (initiales de « Phase-Lock Loop » en terminologie anglaise, « boucle à verrouillage de phase ») qui génère une horloge de haute résolution de micro-incréments numériques par incrément d'entrée, chaque incrément d'entrée correspondant à une période entre deux dents. Le retard intrinsèque de la prise de l'événement par la micro horloge, par rapport à la position de l'arbre, atteint typiquement 5, 5 ps alors qu'une précision inférieure à 500 ns, de préférence 200 ns - soit plus de dix fois inférieure au retard intrinsèque - est maintenant demandée pour mettre en place les outils de gestion du moteur de haute efficacité. Ce retard se répartit entre celui (typiquement environ 15 %) dû à l'horloge d'entrée dans la cellule FPC (initiales de « Filter and Prescaler Celi » en terminologie anglaise), et ceux générés par la vitesse (typiquement environ 70 % pour une vitesse de 1000 tours par minute) et l'accélération (environ 15 %) du moteur dans la cellule PLL. L'invention vise à minimiser le retard de gestion des événements par le microcontrôleur lors de la prise d'événements par rapport à un compteur de position angulaire. Pour ce faire, l'invention propose d'ajuster la prise à la volée d'événements après comparaison angulaire sur une acquisition directe du signal d'entrée, ni filtrée ni traitée par une horloge de haute résolution. A ce titre, la présente invention a pour objet un procédé de minimisation de retard dans une gestion de fonctionnement d'un moteur à combustion interne, équipé d'un arbre de sortie dont la rotation est détectée par un capteur qui délivre un signal en fonction de la rotation de l'arbre de sortie, l'invention étant remarquable en ce que : • une première référence de temps est capturée, dans une chaîne d'acquisition d'événements, sur un compteur de temps global GTt après comparaison 10 angulaire sur un compteur angulaire GTa piloté par la chaîne, • une deuxième référence de temps est capturée directement à la volée sur le signal de l'arbre de sortie du moteur et peut être appliquée également au compteur de temps global GTt, • le compteur de temps global GTt étant calé sur la première référence de 15 temps, lorsqu'un événement est initialisé en référence au compteur angulaire Gta, le compteur de temps global GTt vient se recaler sur la dernière variation dudit signal capturée par la deuxième référence de temps. Ainsi, lorsqu'un événement doit se produire, le compteur de temps GTt qui a capturé l'événement par la comparaison angulaire recale l'événement sur la dernière 20 détection du signal de l'arbre de sortie. Le retard maximal entre l'instant où se produit la variation de signal, correspondant à la présence d'un bord de dent détectée par le capteur, et la prise de l'événement par le compteur GTt est alors compatible avec les outils de gestion hautement performants. 25 Selon un mode de mise en oeuvre préféré, le même signal de détection est appliqué simultanément à la chaîne d'acquisition d'élaboration de la première référence de temps et à la deuxième référence de temps. De préférence, lorsque la chaîne d'acquisition détecte des parasites, la deuxième référence de temps est désactivée. Ainsi, les décalages provoqués par les parasites et 30 conservés dans la deuxième référence de temps du fait de l'absence de filtre dans cette deuxième référence ne sont pas pris en compte. L'invention se rapporte également à un microcontrôleur de mise en oeuvre du procédé ci-dessus. Dans un module de ce microcontrôleur du type présenté ci-dessus, une chaîne d'acquisition d'événements est apte à caler des événements sur un compteur 35 de temps global GTt par référence aux instants d'initialisation de ces événements sur un compteur angulaire GTa piloté par la boucle d'une cellule PLL. Selon l'invention, le module comporte une cellule de compteur de temps global GTC, apte à être configurée en mode de prise d'événements sur le compteur de temps GTt et couplée directement au capteur de la roue crantée de l'arbre de sortie du moteur, pour caler le compteur de temps GTt sur la dernière variation du signal fourni par le capteur lorsqu'un événement est initialisé sur le compteur angulaire. Selon un mode de mise en oeuvre préféré, un composant de partage de ligne est apte à appliquer un même signal provenant du capteur sur la cellule de filtrage et de pré-comptage FPC de la chaîne d'acquisition d'événements et sur la deuxième cellule GTC. D'autres aspects, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit et qui se rapporte à un exemple détaillé de réalisation non limitatif, en référence aux figures annexées qui représentent, respectivement : • la figure 1, une vue frontale schématisée d'un moteur à combustion interne avec un volant d'inertie en bout de vilebrequin en forme de roue crantée, • la figure 2, des chronogrammes du signal d'un compteur de temps calé sur la détection successive des dents de la roue crantée et d'un signal de compteur angulaire de la position de la roue crantée, • la figure 3, un logigramme de gestion d'événement par un calage du compteur de temps sur les deux captures d'événements selon l'invention, et • la figure 4, un bloc diagramme d'un exemple de module de microcontrôleur intégrant les composants intervenant dans la gestion de fonctionnement d'un moteur à combustion interne selon l'invention. La vue de la figure 1 illustre schématiquement un moteur à combustion interne de véhicule automobile. Dans cette vue frontale, un seul cylindre 1 apparaît, les autres étant alignés sur le premier, perpendiculairement au plan de la figure. Les cylindres comportent un piston 2 monté sur une bielle 3, elle-même montée sur le vilebrequin 4, arbre de sortie du moteur. Les bielles sont décalées en rotation sur le vilebrequin 4 de sorte que l'ensemble des cylindres couvrent les cycles de fonctionnement moteur. Un mélange carburant-air est injecté dans la chambre de combustion 5 à partir d'une tubulure d'admission 6 et sort de la chambre par une tubulure d'échappement 7. Des soupapes 8 et 9 commandent respectivement l'admission et l'échappement du mélange, vers et depuis la chambre 5, en fonction de leur déplacement piloté respectivement par les cames 11 et 12. Selon une description simplifiée du fonctionnement de chaque cylindre 1, les gaz sont injectés dans la chambre 5, qui est ensuite coupée de l'admission par la soupape 8, puis les gaz sont comprimés par le piston 2 et enflammés par l'arc électrique d'une bougie 13. Après détente, les gaz quittent la chambre 5 par ouverture de la soupape d'échappement 9. La combustion successive des gaz dans les cylindres entraîne le vilebrequin 4 dans une rotation continue. Une unité de commande du moteur 30 reçoit les signaux S1 à S3 de capteurs 21 à 23 qui détectent la position du vilebrequin 4 ainsi que celles des cames 8 et 9. L'unité de commande du moteur 30 comprend un microcontrôleur 31 qui gère le fonctionnement du moteur à partir des signaux S1 à S3, ainsi que d'autres signaux provenant d'autres capteurs (états d'usure des pièces électriques et mécaniques, capteurs de ratés d'allumage, de cliquetis, etc.). Cette gestion permet notamment d'optimiser le cycle moteur en adaptant l'admission/échappement par la vitesse de rotation des cames 11 et 12, les cycles d'allumage, l'injection du mélange gazeux, etc. Le signal S1 est modulé par la rotation d'une roue crantée 40 montée en extrémité du vilebrequin 4 pour servir de volant d'inertie. Cette roue crantée 40 d'inertie présente en périphérie une succession de dents 41 régulièrement réparties, 60 dents dans l'exemple illustrés. La roue crantée 40 sert de cible au capteur 21 qui délivre le signal S1 dont les variations suivent les variations du profil des dents 41 de la roue crantée 40. La roue crantée 40 présente entre deux de ses dents une encoche 43 sensiblement plus large que les autres ù correspondant à la suppression d'une dent 41 ù pour identifier les dents 41 et référencer le vilebrequin 4 en position. Le signal S1 transmis par le capteur 21 au microcontrôleur 31 permet ainsi de repérer la rotation (flèche F) du vilebrequin 4 par la détection successive des dents 41. En référence à cette rotation, les différentes actions liées au fonctionnement du moteur sont ajustées par le microcontrôleur 31. La figure 2 illustre une comparaison entre les chronogrammes, en fonction du temps t, du signal S1 délivré par le capteur 21 et du signal Sa d'un compteur angulaire GTa de position de la roue crantée 40, destiné à initialiser des événements de contrôle ou de commande. Le signal S1 suit la détection de chaque dent 41 successive et se présente sous la forme d'un signal créneau de période T référencée par exemple entre des fronts descendants F1. Le signal Sa présente des rampes R, correspondant à la progression de la position angulaire de l'arbre en référence à chaque dent successive. Dans le cas d'une roue crantée 40 à 60 dents, chaque passage de dent 41 devant le capteur ou la longueur de chaque rampe R correspond à 6° de variation de position angulaire de la roue crantée 40. Les rampes R sont divisées en 256 micro-dents par une cellule PLL (voir figure 4). La transformation subie par le signal S1 dans la chaîne de composants du microcontrôleur (voir figure 4) pour élaborer le compteur angulaire GTa induit un retard d'environ 5 à 6 ps. Ce retard est illustré par les décalages D des rampes R du signal Sa sur les fronts descendants F1 du signal S1. Dans le logigramme de la figure 3, la gestion d'événements à déclencher est illustrée par le calage d'un compteur de temps global GTt sur les deux configurations de capture de temps selon l'invention afin de minimiser le retard D. Le signal Si est appliqué à une chaîne d'acquisitions d'événements 100. Par comparaison angulaire 120, la base de temps du compteur de temps global GTt de la chaîne 100 référence les événements initialisés sur le compteur angulaire GTa. Une première référence de temps 140 est ainsi obtenue par calage initial des événements sur le compteur angulaire GTa. Une deuxième référence de temps 200 est prise à la volée directement sur le signal S1 du vilebrequin 4 et appliquée à la base de temps du compteur de temps GTt pour recaler les événements à déclencher. Le recalage 300 de la base de temps Bt du compteur GTt, pour référencer l'instant d'activation du prochain événement E, est réalisé par commutation (flèche C) de la première référence de temps calée sur le signal Sa, après comparaison sur le compteur angulaire GTa, à la deuxième référence de temps réglée sur la dernière variation F1 du signal S1 produite. Ainsi, lorsque l'événement E se produit, le compteur de temps GTt qui a d'abord capturé l'événement après comparaison angulaire, recale l'événement à un instant référencé sur la dernière détection du signal de l'arbre de sortie. Le bloc diagramme de la figure 4 d'un exemple de module 32 du microcontrôleur 31 intègre des composants dédiés à la génération de bases de temps permettant de déclencher les événements prévus pour l'injection, la combustion, l'échappement, etc., à des instants prédéterminés à partir du signal fourni par le capteur 21 de la roue crantée 40. Un tel module 32 comporte, dans la chaîne d'acquisition d'événements 100, les composants suivants : • une cellule FPC 50 de pré-comptage et de filtrage qui filtre le bruit d'entrée du 25 signal d'entrée S1, • une cellule DCM (initiales de « Duty Cycle Measurement » en terminologie anglaise) 51 de mesure du facteur de cycle pour fournir les plages d'utilisation du signal, • une cellule PLL 52 à boucle de verrouillage de phase pour générer une 30 horloge de haute résolution à partir des valeurs mesurées par la cellule DCM, • deux registres 24 bits d'horloges 53 et 54 de temps global GT (initiales de « Global Timer » en terminologie anglaise), configurés respectivement l'un comme compteur libre pour servir de compteur de temps global GTt (initiales de « Global Timer Time» en terminologie anglaise), et l'autre comme 35 compteur de temps global angulaire GTa piloté par la boucle PLL 52 pour générer l'initialisation des événements programmés, et • une cellule GTC de compteur de temps global (initiales de « Global Timer Cet! » en terminologie anglaise) 55 à registres 24 bits, configurée pour référencer les événements « après comparaison angulaire », ce qui signifie que les événements de la cellule sont mémorisés sur le temps courant du compteur GTt par référence aux instants d'initialisation des événements programmés sur le registre 54 du compteur angulaire GTa. La cellule PLL génère une horloge Ht de haute résolution de micro-incréments numériques correspondant aux micro-dents, chaque incrément d'entrée û correspondant la période entre deux dents û étant ici divisé par 256. Un tel module 32 comporte également une deuxième cellule 56 de compteur de temps global GTC configurée en mode de capture de temps sur le compteur de temps GTt. Cette cellule 56 est couplée directement au signal S1 du capteur 21 de la roue crantée 40 du vilebrequin 4 du moteur (figure 1). Comme vu précédemment en référence à la figure 3, la deuxième cellule GTC 56 permet de caler le compteur de temps GTt sur la dernière variation du signal S1 fourni par le capteur 21 lorsqu'un événement est programmé sur le compteur angulaire GTa. Avantageusement, un composant de partage de ligne 57 applique le même signal S1 sur la cellule FPC 50 de la chaîne d'acquisition d'événements sur la première cellule GTC 55 et sur la deuxième cellule GTC 56, avec une même horloge d'entrée. L'invention n'est pas limitée aux exemples décrits ou représentés. II est par exemple possible de prévoir d'autres applications du procédé de gestion de l'invention, par exemple aux aéronefs ou aux moteurs industriels. REVENDICATIONS1. Procédé de minimisation de retard dans une gestion de fonctionnement d'un moteur à combustion interne, équipé d'un arbre de sortie (4) dont la rotation est détectée par un capteur (21) qui délivre un signal (Si) en fonction de la rotation de l'arbre de sortie (4), caractérisé en ce que : • une première référence de temps (140) est capturée, dans une chaîne d'acquisition d'événements (100), sur un compteur de temps global GTt après comparaison angulaire (120) sur un compteur angulaire GTa piloté par la chaîne (100), • une deuxième référence de temps (200) est capturée directement à la volée sur le signal (Si) de l'arbre de sortie (4) du moteur et peut être appliquée également au compteur de temps global GTt, • le compteur de temps global GTt étant calé sur la première référence de temps (140), lorsqu'un événement est initialisé en référence au compteur angulaire Gta, le compteur de temps global GTt vient se recaler (300) sur la dernière variation (F1) dudit signal (Si) capturée par la deuxième référence de temps (200). 2. Procédé de minimisation de retard selon la revendication 1, caractérisé en ce que le même signal de détection (Si) est appliqué simultanément à la chaîne d'acquisition (100) d'élaboration de la première référence de temps (140) et à la deuxième référence de temps (200). 3. Procédé de minimisation de retard selon l'une des revendications 1 et 2, caractérisé en ce que, lorsque la chaîne d'acquisition (100) de la première référence de temps (140) détecte des parasites, la deuxième référence (200) est désactivée. 4. Microcontrôleur de mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 3, dans lequel un module (32) comporte une chaîne d'acquisition d'événements (100) apte à caler des événements sur un compteur de temps global GTt (53) par référence aux instants d'initialisation de ces événements sur un compteur angulaire GTa (54) piloté par une cellule PLL (52) qui génère une horloge de haute résolution (Ht) de micro-incréments numériques, caractérisé en ce que le module (32) comporte une cellule de compteur de temps global GTC (56), apte à être configurée en mode de prise d'événements sur le compteur de temps GTt (53) et couplée directement au capteur (21) de l'arbre de sortie (4) du moteur, pour caler le compteur de temps GTt (53) sur la dernière variation (F1) du signal (Si) fourni par le capteur (21) lorsqu'un événement (E) est initialisé sur le compteur angulaire (54). 5. Microcontrôleur selon la revendication précédente, dans lequel la chaine d'acquisition comporte :• une cellule FPC (50) de pré-comptage et de filtrage qui filtre le bruit d'entrée du signal d'entrée (Si), • une cellule DCM (51) de mesure du facteur de cycle pour fournir les plages d'utilisation du signal (Si), • la cellule PLL (52) pour générer l'horloge de haute résolution à partir des valeurs mesurées par la cellule DCM (51), • deux registres d'horloge (53, 54) du temps global GT, configurés respectivement l'un comme compteur libre pour servir de compteur du temps global GTt, et l'autre comme compteur piloté par la boucle PLL (52) pour générer le compteur de temps global angulaire GTa, apte à initialiser les événements déterminés (E), et • des registres d'une première cellule GTC (55), configurée pour référencer les événements après comparaison angulaire sur le compteur GTt par référence aux instants d'initialisation des événements programmés sur le registre (54) du compteur angulaire GTa. 6. Microcontrôleur selon l'une des revendications 4 et 5, dans lequel un composant de partage de ligne (57) est apte à appliquer un même signal provenant du capteur (21) sur la cellule FPC (50) de la chaîne d'acquisition de données (100) et sur la deuxième cellule GTC (56).