Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR PROCESSING A SIGNAL SUPPLIED BY A BI-DIRECTIONAL SENSOR AND CORRESPONDING DEVICE
Document Type and Number:
WIPO Patent Application WO/2014/082730
Kind Code:
A1
Abstract:
This method for processing a signal (CRK) supplied by a bi-directional sensor comprises the following steps: • generating a first signal (CRK_CNT) reproducing all the square waves of the signal supplied by the sensor, • generating a second signal (CRK_DIR) reproducing the square waves corresponding to a first direction of passage, • connecting the first signal (CRK_CNT) to the input of the first electronic component, • connecting the second signal (CRK_DIR) to a second component, • detecting, via the second component, the edges of the received signals, • determining the direction of passage on the basis of the presence or absence of an edge on the second signal (CRK_DIR) when a rising and/or falling edge is detected on the first signal, • changing the value of the predetermined threshold (THMI) in the first component upon each detection of an edge. A device for carrying out each of the steps of the above method.

Inventors:
HOU JÉRÔME (FR)
Application Number:
PCT/EP2013/003560
Publication Date:
June 05, 2014
Filing Date:
November 26, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CONTINENTAL AUTOMOTIVE FRANCE (FR)
CONTINENTAL AUTOMOTIVE GMBH (DE)
International Classes:
F02D45/00; H03K5/156; H03K5/26
Foreign References:
JP2005233622A2005-09-02
JP2012077646A2012-04-19
US20030218443A12003-11-27
Attorney, Agent or Firm:
CONTINENTAL AUTOMOTIVE FRANCE (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de traitement d'un signal (CRK) fourni par un capteur bidirectionnel détectant le passage de dents d'une cible en vue de générer une horloge angulaire d'un moteur à combustion interne à l'aide d'un premier composant (2) électronique recevant le signal en provenance du capteur bidirectionnel, ledit premier composant (2) présentant des moyens pour déterminer, dans un signal présentant des tronçons de niveau bas et des tronçons de niveau haut, si la longueur d'un tronçon d'un niveau donné est ou non supérieure à un seuil prédéfini (THMI), et le signal (CRK) fourni par le capteur bidirectionnel étant un signal en forme de créneaux comportant au moins des tronçons de niveau bas, des tronçons de niveau haut, et des tronçons de niveau intermédiaire,_chaque créneau correspondant au passage d'une dent d'une cible devant le capteur et le signal comportant également des caractéristiques permettant de déterminer le sens de passage de la dent, caractérisé en ce qu'il comporte les étapes suivantes :

• génération d'un premier signal (CRK_CNT) reprenant tous les créneaux du signal fourni par le capteur mais présentant uniquement des tronçons correspondant à un premier niveau et des tronçons correspondant à un second niveau,

• génération d'un second signal (CRK_DIR) reprenant les créneaux du signal fourni par le capteur et correspondant à un premier sens de passage d'une dent devant le capteur, et présentant un niveau constant lors de la rotation de la cible dans le second sens de passage,

· connexion du premier signal (CRK_CNT) à l'entrée du premier composant électronique (2),

• connexion du second signal (CRK_DIR) à un deuxième composant électronique (GTM, 24, 26),

• détection par le deuxième composant (GTM, 24, 26) électronique de fronts montants et/ou descendants du premier signal (CRK_CNT) et du second signal (CRK_DIR),

• détermination du sens de passage en fonction de la présence ou non d'un front sur le second signal (CRK_DIR) lorsqu'un front montant et/ou descendant est détecté sur le premier signal,

· changement de la valeur du seuil (THMI) prédéfini dans le premier composant (2) lorsque le sens de passage déterminé à l'étape précédente pour un front montant et/ou descendant du premier signal est différent du sens de passage déterminé pour le front montant et/ou descendant juste précédent de ce premier signal, la valeur de seuil pouvant prendre soit une première valeur prédéfinie dite valeur maximale soit une seconde valeur prédéfinie, dite valeur minimale de telle sorte que la longueur des créneaux soit toujours d'un même côté du seuil correspondant. ·

2. Dispositif électronique comportant des moyens pour la mise en œuvre de chacune des étapes d'un procédé de traitement selon la revendication 1.

3. Dispositif électronique selon la revendication 2, caractérisé en ce qu'il comporte un module générique temporisé (GTM) à l'intérieur duquel sont implantés le premier composant (2) et le deuxième composant (24, 26), ainsi qu'au moins un troisième composant extérieur au module générique temporisé pour générer le premier signal (CRK_CNT) et le second signal (CRK_DIR).

4. Dispositif électronique selon l'une des revendications 2 ou 3, caractérisé en ce que le premier composant (2) est une boucle d'asservissement de phase.

5. Système de gestion d'un moteur à combustion interne, caractérisé en ce qu'il comporte un dispositif électronique selon l'une des revendications 2 à 4 ainsi qu'au moins un capteur bidirectionnel.

Description:
Procédé de traitement d'un signal fourni par un capteur bidirectionnel

et dispositif correspondant

La présente invention concerne un procédé de traitement d'un signal fourni par un capteur bidirectionnel ainsi qu'un dispositif pour la mise en œuvre d'un tel procédé.

Le domaine de la présente invention est plus particulièrement le domaine de la gestion de signaux fournis par des capteurs dans un moteur d'un véhicule, par exemple un véhicule automobile, afin de déterminer des paramètres du moteur en vue de gérer le bon fonctionnement de celui-ci.

Dans un moteur à combustion interne, se trouve généralement au moins un piston mobile de manière à faire varier le volume d'une chambre de combustion. L'admission et l'échappement de fluides dans les chambres de combustion sont le plus souvent réalisés à l'aide de soupapes commandées par au moins un arbre à cames. L'énergie développée dans les chambres de combustion par la combustion d'un carburant au sein d'un comburant est transmise par chaque piston à un vilebrequin.

Pour la gestion du moteur à combustion interne, il est important de connaître le « phasage » (également appelé « synchronisation ») du moteur. On appelle « phasage » la détermination précise du temps du cycle moteur (pour un moteur à combustion interne de type 4-temps ils sont : admission, compression, combustion, échappement) dans lequel est le moteur pour chacun de ses cylindres. La position précise au sein d'un temps du cycle moteur est usuellement établie en déterminant la position du vilebrequin. Toutefois, pour un moteur à combustion interne de type 4-temps, la durée d'un cycle moteur dans une chambre de combustion correspond à deux tours complets du vilebrequin. Ainsi, pour connaître le phasage d'un moteur à combustion interne de ce type, une information supplémentaire est nécessaire. Il est alors habituel d'obtenir cette information à partir d'un capteur de position d'arbre à cames. En effet, un arbre à cames a une vitesse de rotation correspondant à la moitié de la vitesse de rotation du vilebrequin correspondant et, de ce fait, ne parcourt qu'un tour durant la durée d'un cycle moteur 4-temps complet.

Habituellement, le capteur de position correspondant au vilebrequin coopère avec une cible comportant un grand nombre de dents (généralement trente-six ou soixante, sans tenir compte d'une ou deux dents manquantes permettant de définir une origine sur la cible) tandis que la cible utilisée en coopération avec le capteur d'arbre à cames ne présente que peu de dents (par exemple quatre). Le signal fourni par le capteur correspondant au vilebrequin est alors utilisé pour connaître précisément la position du vilebrequin (et donc des pistons). Cependant, lorsque le signal de ce capteur est défaillant ou bruité, il est prévu d'utiliser le signal émanant du capteur correspondant à un arbre à cames en mode dégradé.

Les signaux fournis par les capteurs correspondant au vilebrequin et à au moins un arbre à cames sont injectés dans un dispositif électronique, tel par exemple un module générique temporisé appelé également GTM (abréviation anglaise de « Generic Timer Module »). Au sein de ce module, une boucle d'asservissement de phase numérique, appelée également DPLL (abréviation anglaise de « Digital Phase Locked Loop »), est prévue pour gérer la synchronisation de la position moteur et générer une horloge angulaire.

Lors de l'arrêt du moteur, le vilebrequin oscille autour d'une position d'équilibre correspondant à la position d'arrêt du moteur. Si l'on souhaite démarrer alors rapidement le moteur après son arrêt, il est important de connaître précisément la position d'arrêt du moteur. De nouveaux capteurs de position, appelés aussi capteurs bidirectionnels, permettent, d'une part, comme les capteurs de l'art antérieur de détecter un front correspondant à une dent mais également, d'autre part, de déterminer le sens de rotation de la cible correspondante. Une stratégie intégrée dans la boucle d'asservissement de phase numérique permet de tenir compte de l'information concernant le sens de rotation de la cible et ainsi de connaître la position du moteur lors d'un arrêt de celui-ci.

Un capteur bidirectionnel de type connu, par exemple du document JP 2005 233622, fournit des signaux présentant un niveau actif et un niveau inactif. La durée de niveau actif dépend du sens de rotation de la cible. Par exemple, il peut être choisi une durée de niveau actif double pour une rotation inverse par rapport à la durée de niveau actif pour une rotation dans le sens usuel. Il est ainsi possible de déterminer pour chaque nouveau front le sens de passage correspondant. Une stratégie correspondante dans la boucle d'asservissement de phase numérique est alors utilisée pour la réalisation de l'horloge angulaire.

Toutefois, il existe des capteurs bidirectionnels fonctionnant selon un autre principe. Le sens de rotation de la cible est donné dans le signal en faisant varier par exemple la tension correspondant au niveau actif et/ou au niveau inactif. Un tel capteur est également connu du document JP 2005 233622, figure 6, dont le signal comporte quatre niveaux différents.

La présente invention a alors pour but de fournir un procédé de traitement d'un signal fourni par un capteur bidirectionnel qui permet de fournir une horloge angulaire avec un capteur donnant une indication du sens de rotation de la cible correspondante, par exemple par une variation de tension du niveau actif et/ou du niveau inactif, tandis que la boucle d'asservissement de phase numérique utilisée est programmée pour détecter des durées de niveau actif différentes. De préférence, le procédé selon l'invention permettra de réaliser une détermination fiable de la position angulaire du moteur correspondant. En outre, avantageusement, les modifications à apporter au niveau du dispositif électronique correspondant seront limitées.

À cet effet, la présente invention propose un procédé de traitement d'un signal fourni par un capteur bidirectionnel détectant le passage de dents d'une cible en vue de générer une horloge angulaire d'un moteur à combustion interne à l'aide d'un premier composant électronique recevant le signal en provenance du capteur bidirectionnel, ledit premier composant présentant des moyens pour déterminer, dans un signal présentant des tronçons de niveau bas et des tronçons de niveau haut, si la longueur d'un tronçon d'un niveau donné est ou non supérieure à un seuil prédéfini, et le signal fourni par le capteur bidirectionnel étant un signal en forme de créneaux comportant au moins des tronçons de niveau bas, des tronçons de niveau haut, et des tronçons de niveau intermédiaire, chaque créneau correspondant au passage d'une dent d'une cible devant le capteur et le signal comportant également des caractéristiques permettant de déterminer le sens de passage de la dent.

Selon la présente invention, un tel procédé de traitement comporte les étapes suivantes :

· génération d'un premier signal reprenant tous les créneaux du signal fourni par le capteur mais présentant uniquement des tronçons correspondant à un premier niveau et des tronçons correspondant à un second niveau,

• génération d'un second signal reprenant les créneaux du signal fourni par le capteur et correspondant à un premier sens de passage d'une dent devant le capteur, et présentant un niveau constant lors de la rotation de la cible dans le second sens de passage,

• connexion du premier signal à l'entrée du premier composant électronique,

• connexion du second signal à un deuxième composant électronique,

• détection par le deuxième composant électronique de fronts montants et/ou descendants du premier signal et du second signal,

• détermination du sens de passage en fonction de la présence ou non d'un front sur le second signal lorsqu'un front montant et/ou descendant est détecté sur le premier signal,

• changement de la valeur du seuil prédéfini dans le premier composant lorsque le sens de passage déterminé à l'étape précédente pour un front montant et/ou descendant du premier signal est différent du sens de passage déterminé pour le front montant et/ou descendant juste précédent de ce premier signal, la valeur de seuil pouvant prendre soit une première valeur prédéfinie soit une seconde valeur prédéfinie de telle sorte que la longueur des créneaux soit toujours d'un même côté du seuil correspondant.

L'idée à l'origine de la présente invention est donc, d'une part, d'adapter le signal pour le rendre compatible avec le composant et, d'autre part, de venir changer la valeur de seuil utilisée par ce composant. De la sorte, le composant devient compatible avec plusieurs capteurs bidirectionnels. En outre, l'adaptation d'un capteur à l'autre, comme il ressort de la description ci-après faite en référence aux figures annexées, peut se faire en limitant le nombre et le coût des moyens matériels nécessaires à ladite adaptation.

La présente invention concerne également un dispositif électronique présentant des moyens pour la mise en œuvre de chacune des étapes d'un procédé de traitement tel que décrit ci-dessus.

Dans une forme de réalisation d'un tel dispositif électronique, un module générique temporisé à l'intérieur duquel sont implantés le premier composant et le deuxième composant, ainsi qu'au moins un troisième composant extérieur au module générique temporisé pour générer le premier signal et le second signal peuvent être prévus.

Dans un dispositif électronique selon l'invention, le premier composant est par exemple une boucle d'asservissement de phase, notamment une boucle d'asservissement de phase numérique (connue sous l'acronyme anglais DPLL pour Digital Phase Locked Loop).

Enfin, la présente invention concerne également un système de gestion d'un moteur à combustion interne, caractérisé en ce qu'il comporte un dispositif électronique tel que décrit ci-dessus ainsi qu'au moins un capteur bidirectionnel.

Des détails et avantages de la présente invention ressortiront mieux de la description qui suit, faite en référence au dessin schématique annexé sur lequel :

- La figure 1 illustre un module générique temporisé pouvant être utilisé pour la mise en œuvre de la présente invention,

- La figure 2 illustre une valeur seuil utilisée dans un composant du module de la figure 1 ,

- La figure 3 illustre une détection de sens de rotation de l'art antérieur,

- La figure 4 illustre un premier signal fourni par un capteur bidirectionnel et deux signaux obtenus à partir de ce premier signal,

- La figure 5 illustre schématiquement une étape de détermination du sens de passage d'une dent d'une cible pouvant être mise en œuvre dans la présente invention, - La figure 6 est un organigramme pouvant être utilisé pour la mise en oeuvre de la présente invention, et

- La figure 7 illustre schématiquement une mise en œuvre de la présente invention.

La figure 1 illustre un module générique temporisé appelé par la suite GTM.

Un tel module peut être utilisé au sein d'un système de gestion électronique d'un moteur à combustion interne. À l'intérieur de ce module, se trouve un premier composant 2 chargé de gérer la synchronisation de la position du moteur correspondant ainsi que de générer une horloge angulaire. Ce premier composant 2 est par exemple une boucle d'asservissement de phase numérique, également appelée DPLL.

Le premier composant 2 est connu de l'art antérieur. Il reçoit généralement deux signaux en provenance de capteurs (non représentés) implantés dans le moteur correspondant. Un premier signal provient d'un capteur associé à une cible dentée solidaire du vilebrequin du moteur. Une telle cible comporte généralement trente-six ou soixante dents (sans tenir compte d'une ou deux dents manquantes permettant d'introduire une discontinuité définissant un point d'origine sur la cible), ce qui permet d'avoir un signal précis pour définir la position dudit vilebrequin. Le second signal utilisé dans l'art antérieur avec le premier composant 2 est un signal moins précis provenant par exemple d'un capteur associé à une cible tournant avec un arbre à cames du moteur. Toutefois, comme la vitesse de rotation d'un arbre à cames correspond exactement à la moitié de la vitesse de rotation du vilebrequin, le signal reçu en provenance de l'arbre à cames permet de connaître la position du moteur sur 720°, également appelé « phasage » ou « synchronisation » du moteur à combustion interne.

Pour certains moteurs il est nécessaire de connaître précisément la position du moteur lorsque celui-ci est à l'arrêt. Or, lorsque le moteur s'arrête, le vilebrequin vient osciller mécaniquement autour de sa position d'équilibre dans laquelle il va finalement s'arrêter. Le vilebrequin tourne alors alternativement dans un sens puis dans l'autre.

Par convention, dans la suite de la description, on appellera sens de rotation avant (ou FW) le sens de rotation correspondant au sens de rotation du moteur en marche. Le sens de rotation opposé sera appelé sens de rotation arrière (ou BW).

Afin de déterminer la position du moteur à l'arrêt, il convient non seulement de détecter les dents d'une cible passant devant le capteur correspondant mais également le sens de passage de ces dents. À cet effet, il existe des capteurs dits capteurs bidirectionnels qui fournissent un signal qui, d'une part, permet de détecter le passage de chaque dent et, d'autre part, donnent une indication sur le sens de passage de la dent correspondante. La figure 3 illustre un exemple de signal fourni par un capteur bidirectionnel. On remarque que ce signal est formé de créneaux de deux types différents. Sur la gauche de la figure 3, on trouve des premiers créneaux de longueur réduite. On a ensuite une ligne pointillée 4 indiquant ici un changement de sens de rotation du moteur à combustion interne. À droite de cette ligne pointillée 4, les créneaux du signal représenté sont de largeur plus importante. On a ainsi des créneaux étroits et des créneaux larges. La figure 2 permet une comparaison d'un créneau étroit avec un créneau large.

Chaque créneau du signal illustré sur la figure 3 présente un premier front actif 6. Ce dernier est utilisé pour la gestion de l'horloge angulaire générée au sein du premier composant 2. La longueur du créneau est ensuite utilisée pour déterminer le sens de rotation de la dent devant le capteur correspondant. Le premier composant 2 est en effet programmé pour, d'une part, détecter le premier front actif 6 et, d'autre part, déterminer la longueur du créneau. Une valeur de seuil, appelée THMI, est enregistrée dans un registre du premier composant 2. Tant que la longueur du créneau reste en dessous de la valeur THMI, le premier composant estime que la dent est passée devant le capteur dans le sens de rotation avant. Dans le cas contraire, elle estime que la dent est passée devant le capteur dans le sens de rotation arrière.

Sur la figure 3, on a ainsi représenté un signal correspondant tout d'abord au passage de trois dents devant le capteur correspondant dans le sens de rotation avant. La ligne pointillée 4 illustre, comme mentionné plus haut, le changement de sens de rotation du vilebrequin, et donc de la cible associée à celui-ci. La dent suivante passe alors devant le capteur en marche arrière. Il s'agit donc de la dent qui vient de passer devant le capteur en marche avant, juste avant le changement de sens de rotation du vilebrequin. La détection par le premier composant du changement de direction illustré par la ligne pointillée 4 est réalisée uniquement lorsque le créneau correspondant a été analysé par le premier composant 2, c'est-à-dire sensiblement à la date illustrée schématiquement sur la figure 3 par la flèche 8. Les seconds fronts 10 des créneaux du signal illustré sur la figure 3 sont considérés comme des fronts inactifs car ils ne correspondent pas à un changement de forme sur la cible. Toutefois, ces seconds fronts 10 sont utilisés pour la détermination du sens de rotation du vilebrequin.

Cette stratégie de détection de l'art antérieur fonctionne. Toutefois, de nouveaux capteurs bidirectionnels avec des modes de fonctionnement différents de celui décrit ci-dessus apparaissent et fournissent alors des signaux de formes différentes de celles montrées sur la figure 3. Le problème que se propose de résoudre la présente invention est de permettre l'utilisation du premier composant 2 pour générer une horloge angulaire avec des signaux d'un type différent de celui illustré par les figures 2 et 3. On suppose à titre d'exemple illustratif mais non limitatif que les signaux fournis pas un nouveau capteur bidirectionnel sont du type du signal CRK de la figure 4. On remarque que ce signal est en forme de créneaux. Toutefois, alors que les signaux illustrés sur les figures 2 et 3 présentaient uniquement un niveau inférieur et un niveau supérieur, on remarque que le signal CRK de la figure 4 comporte des tronçons de niveau bas 12, des tronçons de niveau haut 14 et des tronçons de niveau intermédiaire 16. Le niveau bas correspond par exemple à une tension de 0 V, le niveau haut par exemple à une tension de 5 V tandis que le niveau intermédiaire peut correspondre à une tension de 2,5 V. Dans un signal CRK, lorsque la différence de tension au niveau d'un créneau est de l'ordre de 5 V, cela signifie que la dent passe devant le capteur dans le sens de rotation avant. Lorsque la différence de tension au niveau d'un créneau est de l'ordre de 2,5 V, cela signifie alors que la dent passe devant le capteur correspondant dans le sens de rotation arrière.

Sur la figure 4, on a représenté une ligne en pointillés 4 qui correspond à un changement de direction du vilebrequin. En fonction du capteur, le front actif d'un créneau du signal peut être soit le premier front montant, soit le second front descendant. Sur la figure 4, les fronts actifs sont repérés par une flèche sur le signal. On remarque ici que les fronts actifs du signal CRK sont les fronts descendants.

On remarque bien que des signaux de ce type ne peuvent pas être traités tels quels par le premier composant 2. La présente invention propose de rendre de tels signaux compatibles avec le premier composant 2 décrit plus haut.

Il est proposé ici de traiter le signal obtenu par le capteur bidirectionnel de manière à générer deux signaux distincts appelés sur la figure 4 CRK_CNT et CRK_DIR.

Le premier signal CRK_CNT reprend tous les fronts montants et les fronts descendants du signal CRK et forme ainsi des créneaux. On prévoit ici toutefois de n'avoir pour le signal CRK_CNT que des tronçons de niveau bas et des tronçons de niveau haut. Le niveau bas peut correspondre à une tension de 0 V tandis que le niveau haut peut correspondre à une tension de 2,5 ou 5 V par exemple.

Le second signal CRK_DIR est un signal similaire au signal CRK_CNT mais pour lequel on « efface » les créneaux correspondant à des passages de dents dans le sens de rotation arrière. Ce second signal CRK_DIR est donc tel que lorsque le vilebrequin tourne en arrière, le niveau de ce second signal CRK_DIR est constant. Comme illustré sur la figure 4, le niveau constant peut être le niveau bas mais il pourrait également s'agir du niveau haut, dans le cas où le changement de sens de rotation aurait lieu lorsque le signal CRK est à son niveau haut.

Il est proposé d'injecter le premier signal CRK_CNT sur une première entrée 18 du premier composant 2. Cette première entrée 18 est celle prévue pour recevoir un signal du type de celui illustré sur la figure 3. Le premier signal CRK_CNT est alors injecté sur deuxième entrée 20 du module GTM au niveau d'un composant électronique de type deuxième composant 24. Ce dernier retransmet automatiquement et sans délai le signal reçu sur la première entrée 18 du premier composant 2.

Le second signal CRK_DIR est injecté sur une troisième entrée 22 du module GTM. Il est également injecté au niveau d'un composant de type deuxième composant 24. Ce dernier est destiné à détecter les fronts des signaux qu'il reçoit à son entrée. Ceci vaut également pour le composant associé à la deuxième entrée 20. Les deuxièmes composants 24 peuvent ainsi détecter pour le premier signal CRK_DIR et pour le second signal CRK_CNT à chaque fois le front actif de chacun de ces signaux (il peut s'agir ici du front montant ou du front descendant mais dans le cas de figure représenté il s'agit du front descendant).

Il est à noter ici que pour leur traitement, les signaux peuvent être, si nécessaire, filtrés. Il conviendra alors de veiller à limiter la durée (retard) du filtre.

L'information de niveau fournie par les deuxièmes composants 24 est envoyée directement à un séquenceur 26 du module GTM par l'intermédiaire d'un module de transmission appelé sur la figure 1 ARU. Le séquenceur 26 est en permanence en attente d'un front actif sur le premier signal CRK_CNT contenant l'ensemble des créneaux du signal CRK correspondant aux dents de la cible associée au capteur bidirectionnel. Pour chaque nouveau créneau, ou plus précisément pour chaque front actif, détecté par le séquenceur 26, celui-ci va vérifier s'il y a sur le second signal CRK_DIR un front correspondant. Si un tel front est détecté sur le second signal CRK_DIR, alors la dent correspondante de la cible est passée devant le capteur bidirectionnel correspondant dans le sens de rotation avant. Dans le cas contraire, on estime que la dent correspondant au front actif détecté sur le premier signal CRK_CNT est passée devant le capteur dans le sens inverse.

Ainsi, à chaque détection de changement de sens, le séquenceur 26 utilise une demande d'interruption logicielle associée à ce séquenceur 26. Cette demande d'interruption est réalisée auprès d'un composant électronique extérieur au GTM. Ce composant extérieur est par exemple un composant du type DMA (abréviation anglaise de « Direct Memory Access » soit en français « Accès Direct à la Mémoire »). L'interruption auprès du composant DMA est associée à un transfert automatique qui est utilisé pour faire varier la valeur du registre THMI défini plus haut, en référence notamment à la figure 2.

Dans la mémoire électronique associée, une mémoire tampon, appelée également buffer, contient deux valeurs. Il est proposé ici de choisir comme valeurs pour la mémoire tampon des valeurs THMI_MIN et THMI_MAX. Une première valeur, par exemple THMI_MAX, de la mémoire tampon correspond à une valeur qui, lorsqu'elle est enregistrée dans le registre THMI, est telle qu'elle est toujours supérieure à la longueur d'un créneau. Il s'agit par exemple de la valeur maximale que peut prendre le registre THMI. On considère alors, par défaut, que la cible tourne en avant.

La seconde valeur, THMI_MIN est quant à elle une valeur choisie volontairement très faible de telle sorte que le premier composant 2 voit alors tous les créneaux comme étant des créneaux larges, c'est-à-dire ayant une largeur supérieure à la largeur seuil. On peut par exemple donner à THMI_MIN la valeur "1" (et garder la valeur "0" comme valeur désactivant totalement la stratégie de détection de sens). Dans ce cas de figure, comme expliqué plus haut, on estime donc que la cible passe devant le capteur bidirectionnel dans le sens de rotation arrière.

Ainsi, chaque fois qu'une interruption logicielle est demandée, en passant par le composant de type DMA, on modifie instantanément la valeur du registre THMI qui passe ainsi successivement de la valeur THMI_MIN puis THMI_MAX, et ainsi de suite. Le temps pour effectuer un changement de la valeur du registre THMI est très court et reste inférieur à la durée du niveau actif. Ainsi la valeur de ce registre est changée avant que le front inactif ne soit traité en utilisant ladite valeur. De même, si une détection est faite sur un front inactif, le changement de valeur de registre sera effectif pour le front actif suivant.

Toutes les étapes décrites concernant le changement de valeur dans le registre THMI, depuis la détection du front actif sur le premier signal, sont réalisées instantanément et ne provoquent pas de retard. On a donc une mise à jour sans décalage du premier composant 2 lorsqu'un changement de direction est détecté. D'autres moyens peuvent être mis en œuvre pour changer la valeur du registre THMI. Un traitement logiciel au sein d'un microprocesseur associé peut par exemple être envisagé. Dans un système de gestion d'un moteur à combustion interne, cette solution peut être envisagée car la détection de sens de rotation inverse n'est effectuée que lorsque le moteur s'arrête, c'est- à-dire à très bas régime, et donc à un moment où la charge logicielle est faible.

La figure 6 présente sous forme d'un algorithme un traitement de la détection du changement de direction au sein du séquenceur 26. Une première étape 30 est une étape d'initialisation. La détection de direction commence uniquement si le système est prêt à fonctionner. Au démarrage d'un moteur, celui-ci est toujours entraîné dans le même sens qui correspond au sens de rotation avant. Au démarrage, le séquenceur 26 estime donc que la cible tourne dans le sens de rotation avant. Au cours de l'étape 32 il analyse le signal CRK_CNT transmis par l'ARU dans l'attente d'un front sur ce signal. Lors de cette attente l'ARU peut recevoir un ordre d'un microprocesseur associé (case 34) demandant de cesser le fonctionnement et donc la détection de sens de rotation. Une étape 36 est alors prévue pour stopper la détection de direction de rotation du vilebrequin. Cette solution peut correspondre par exemple au cas de figure dans lequel le moteur cale ou en cas de perte de « synchronisation » (ou « phasage »). Dans ce cas, le processus d'initialisation (étape 30) est à nouveau lancé.

Tant qu'aucun ordre n'est reçu du microprocesseur associé, la surveillance continue jusqu'à l'obtention d'une détection d'un front sur le signal CRK_CNT (étape 38). Lors de cette étape 38, le séquenceur 26 vérifie s'il s'agit d'un front utilisé pour déterminer un éventuel changement de direction. Il peut s'agir ici d'un front montant ou descendant. Sur l'exemple illustratif représenté au dessin, il est choisi ici de retenir les fronts descendants (cf. aussi figure 5). Si non, alors le séquenceur 26 attend le front suivant sur le premier signal CRK_CNT (étape 32). Par contre, si le front détecté est un front utilisé pour déterminer un éventuel changement de direction, une analyse du signal CRK_DIR va débuter. Cette analyse commence par une étape d'attente 40, optionnelle, prévue par exemple si l'un des signaux est filtré, afin de s'assurer qu'un front correspondant sera détecté sur le second signal CRK_DIR même en cas de (léger) retard. L'étape suivante est une étape d'analyse 42 du signal CRK_DIR. Si un front est alors détecté sur ce signal (case 44), le sens de rotation (DIR) de la dent devant le capteur est le sens de rotation avant (FW). Dans le cas contraire, ce sens de rotation est le sens de rotation arrière (BW).

Dans les deux cas de figure (sens de rotation avant ou arrière), le sens de rotation DIR ainsi déterminé est comparé à une valeur enregistrée dans un registre DIR_old. On peut par exemple prévoir que la valeur "0" est associée au sens de rotation avant (FW) tandis que la valeur "1" serait associée au sens de rotation arrière (BW).

Si le sens de rotation détecté correspond au sens de rotation mémorisé dans le registre DIR_old, il n'y a pas de changement de sens de rotation et la détection peut se poursuivre (retour à l'étape 32).

Par contre, si le sens de rotation détecté est différent de celui mémorisé dans le registre DIR_old, une interruption logicielle est demandée (étape 46) et celle-ci conduit à un changement de la valeur du registre THMI. Simultanément, la valeur du registre DIR_old est changée et prend une valeur correspondant au sens de rotation (DIR) nouvellement détecté. Le processus se poursuit par un retour à l'étape 32.

La figure 7 illustre la présente invention à l'aide des signaux générés à partir du signal fourni par le capteur bidirectionnel. On a représenté sur cette figure des lignes en traits mixtes 4' correspondant à des changements de direction. Sur la gauche de la figure, on suppose que la cible tourne en arrière. Les sens de rotation (BW pour arrière et FW pour avant) sont mentionnés en haut de la figure 7. Le signal CRK_CNT est représenté. Il présente une forme de créneaux et des premières flèches illustrent les fronts montants utilisés pour une détection d'un éventuel changement de direction et des secondes flèches (fronts descendants) qui représentent à chaque fois le front actif d'un créneau. Pour la présente illustration, les dents de la cible ont été numérotées avec des lettres de l'alphabet latin.

En dessous du signal CRK_CNT, on retrouve le signal CRK_DIR. Sur ce signal, une flèche indique les fronts utilisés pour la détection d'un éventuel changement de direction. En dessous du signal CRK_DIR, un diagramme illustre les valeurs prises par le registre THMI. À chaque front correspondant à un changement de direction détecté sur le signal CRK_CNT à l'aide du signal CRK_DIR correspond un changement de la valeur du registre THMI.

La dernière ligne sur la figure 7 correspond au traitement fait par le premier composant 2 (DPLL). Le signal reçu par ce premier composant correspond au signal CRK_CNT qui est injecté dans la première entrée 18 de ce composant. Des flèches 48 illustrent la détection du changement de direction par le premier composant 2. On remarque que cette détection de changement de direction est réalisée avec un retard d'une dent. Du fait de la détection retardée par le premier composant 2 du changement de direction, il convient de corriger le numéro de la dent détectée par le premier composant 2 juste avant la détection du changement de direction. Ces corrections automatiques 50 sont illustrées au bas de la figure 7. Ainsi, le premier composant 2 analyse correctement le signal reçu et peut fournir une horloge angulaire exacte.

La solution proposée par la présente invention présente comme principal avantage de permettre l'utilisation d'un composant adapté pour le traitement d'un type de signal fourni par un capteur bidirectionnel à un autre de capteur bidirectionnel fournissant des signaux différents. La stratégie interne de la boucle d'asservissement de phase numérique pour la détection du changement de sens est inchangée.

Cette adaptation est réalisée ici en limitant les moyens électroniques à mettre en œuvre pour réaliser cette adaptation. Le matériel électronique nécessaire ici correspond uniquement aux moyens pour le traitement du signal du capteur bidirectionnel. De tels moyens sont d'un prix bien moindre que le développement et la fabrication d'un composant électronique intégrant une solution logicielle adaptée (ASIC).

La solution proposée ici a en outre comme avantage de ne pas avoir d'impact sur la charge d'un microprocesseur. La solution décrite ci-dessus utilise uniquement les ressources internes du module générique temporisé (GTM), en relation avec le composant de type DMA. Ceci a également pour avantage d'avoir un traitement immédiat qui élimine tout risque de désynchronisation non maîtrisée liée à un retard dans le changement de configuration de la boucle d'asservissement de phase numérique. La stratégie proposée ici est flexible. Elle peut s'adapter à différents types de capteurs bidirectionnels, notamment divers types de capteurs à tension variable et avec des types de comportement différents en cas de changement de direction. En outre, comme il ressort de la description qui précède, elle peut également s'adapter à l'environnement matériel. On peut remarquer ici que cette flexibilité ne pourrait pas être atteinte avec l'utilisation d'un ASIC (acronyme anglais de « Application-Specific Integrated Circuit », soit en français « circuit intégré propre à une application »).

Bien entendu, la présente invention ne se limite pas à la forme de réalisation décrite ci-dessus à titre d'exemple non limitatif et à ses variantes de réalisation évoquées. Elle concerne également toutes les variantes de réalisation à la portée de l'homme du métier à partir de cette description.