Patent Publication Number: US-11047323-B2

Title: Engine synchronisation means

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a national stage application under 35 USC 371 of PCT Application No. PCT/EP2017/071549 having an international filing date of Aug. 28, 2017, which is designated in the United States and which claimed the benefit of GB Patent Application No. 1615293.6 filed on Sep. 8, 2016, the entire disclosures of each are hereby incorporated by reference in their entirety. 
     TECHNICAL FIELD 
     The present invention relates to an engine synchronization method and to the means associated particularly a device comprising a crank-shaft phonic wheel enabling the engine position to be recognised by an engine control unit. 
     BACKGROUND OF THE INVENTION 
     An internal combustion engine provided with direct fuel injection equipment requires accurate synchronisation of said injection equipment with the engine position, defined by a crank-shaft angular position associated to a camshaft angular position. Synchronisation is the determination of the engine position by an engine control unit (ECU) and, in a typical engine, this is achieved by decoding phase information built into the camshaft and crank-shaft via toothed wheels. A first sensor delivers a first signal recording the crank-shaft angular position and, a second sensor delivers a second signal recording the camshaft angular position. The sensors delivering said signals are variable reluctance (VR) sensors, detecting ferrous features at the periphery of a wheel associated to the crank-shaft. Said wheel is provided with series of teeth and gaps interrupted by a thick tooth, equivalent to two missing gaps, with a fixed association to the Top Dead Centre (TDC) position of a particular cylinder of the engine. Another wheel associated to the camshaft is provided with few narrow teeth each with a fixed association to the TDC position of particular cylinders. 
     In a six-cylinder engine having a crank-shaft-to-camshaft gear ratio of 2:1, the crank-shaft wheel has fifty-four gaps or holes arranged in three groups of eighteen, each gap in the group separated by six degrees and, the camshaft wheel has seven teeth one for each cylinder and a seventh narrow tooth arranged next to one of the others, there forming a “double tooth” enabling the ECU to identify the camshaft phase. 
     When the engine runs, the second sensor detects the double tooth sequence on the camshaft wheel and thereby recognises the current cylinder; the gaps of the crank-shaft wheel are counted by the first sensor to finely resolve the current engine position. 
     An issue with such system is that the engine position is not precisely determined by the ECU until the double tooth has passed before the second sensor. This may require almost a complete camshaft revolution, equivalent to two crank-shaft revolutions, depending upon the position of the engine at standstill and, since more and more vehicles, including heavy duty vehicles, are provided with stop-start systems performing an increased number of engine starts, said variability and absolute time required before fuel can be injected to start the engine has become unacceptable. 
     SUMMARY OF THE INVENTION 
     Accordingly, it is an object of the present invention to resolve the above mentioned problems in providing means to more quickly synchronise the ECU and the engine by detecting the engine position after only thirty-six degrees rotation of the crank-shaft. More precisely, the invention is about an engine synchronisation means of an internal combustion engine having a crank-shaft and a camshaft geared together with a fixed rotation ratio. An engine position corresponds to an angular position of the crank-shaft associated to an angular position of the camshaft, the synchronisation means being adapted to have said engine position recognised by an engine control unit. Said synchronisation means comprises a crank-shaft wheel adapted to be fixed to the crank-shaft, and cooperating with a first sensor and, a camshaft wheel adapted to be fixed to the camshaft and cooperating with a second sensor, both crank-shaft and camshaft wheels being provided with peripheral features having edges and, both sensors being adapted to detect the edges of said features and to communicate to the ECU binary signals corresponding to the state of the adjacent wheels, the ECU detecting any change of state and recording said binary signals as a string of bits. 
     Advantageously, the features of the crank-shaft wheel are arranged as per a sequential pattern, a virtual sliding window of a specific width covering a unique set of features corresponding to a unique string of consecutive bits mapping to a unique angular position of the crank-shaft and wherein, the peripheral features of the crank-shaft wheel are arranged according to a 60-bit de Bruijn sequence using Manchester encoding. 
     More precisely, the features of the crank-shaft wheel are teeth separated by gaps or holes spread around a peripheral area of the wheel or the rim of a wheel and, the features of the camshaft wheel are high level sectors separated by low level sectors. 
     Also, said means is arranged so that a rotation of the crank-shaft by a predetermined elementary angle corresponds to rotating the crank-shaft wheel before said sliding window by said elementary angle and shifting the sliding window by a single bit, said string of bits thus identifying a new angular position of the crank-shaft. 
     Also, the fixed crank-shaft-to-camshaft rotation ratio sets a plurality of camshaft angular position for each single crank-shaft angular position, this raising an ambiguity on the exact engine position when determining the crank-shaft angular position, said ambiguity being resolved and the exact engine position being determined by the state of the camshaft wheel detected by the second sensor. 
     More precisely said crank-shaft-to-camshaft rotation ratio is 2:1 so that, to a single crank-shaft angular position corresponds two diametrically opposed camshaft angular positions, the exact engine position being precisely determined by the features of the camshaft wheel, the features of the camshaft wheel being arranged so that the second binary signal corresponding to a feature differs from the binary signal corresponding to the feature diametrically opposed. 
     Also, the sequential pattern according to which the features of the crank-shaft are arranged is a de Bruijn sequence. 
     Also, the crank-shaft wheel only comprises large features and narrow features, the large features being twice the width of the narrow features. 
     More precisely, the de Bruijn sequence is implemented using Manchester encoding, ensuring the presence of a feature edge every 6°, said elementary angle being 6°. 
     Said de Bruijn sequence is 60 bits in length, implemented using Manchester code over the circumference of the crank-shaft. 
     The features of the crank-shaft wheel alternate forty-five teeth with forty-five gaps. 
     Also, the specific width of the sliding window is 36° spanning a unique set of features corresponding to a string of 6 consecutive bits, unique with each increment of the elementary angle. 
     The invention further extends to an internal combustion engine provided with an engine synchronisation means as described above. 
     The invention further extends to a control method of such an engine, the method comprising a preparation phase performed while the engine is not yet rotating, the steps of the preparation phase being identified with letter “a” and, an operating phase executed when the engine rotates and identified with letter “b”; the preparation phase comprising the steps: 
     a1) recording in the ECU, the feature pattern of the crank-shaft wheel, the feature pattern of the camshaft wheel and the complete 60-bit de Bruijn sequence corresponding to one revolution of the crank-shaft and the corresponding Manchester coded representation; 
     a2) creating and recording a conversion table by dividing said 60-bit sequence into sixty unique 6-bit-words, each words comprising 6-consecutive-bits, each 6-bit-word corresponding to a unique crank-shaft angular position; 
     a3) creating and memorising an edge location table, derived by finding the angular position of each change or edge in the Manchester coded crank-wheel; 
     a4) recording in the ECU, the tooth pattern configuration of the camshaft wheel; 
     a5) identifying in the ECU, the relative alignment of the crankshaft wheel and the camshaft wheel so that their states can be used to determine the engine position; 
     the operating phase comprising the steps 
     b1) recording the first signal (S 16 ) containing tooth edge information in the transition between high level signal (S 16 H) and a low-level (S 16 L), and calculating a dynamic ratio of the interval between edges compared to the previous interval; 
     b2) applying a first threshold of 0.667 and a second threshold of 1.50 to classify each detected ratio as either ‘fast rising’, ‘fast falling’, ‘slow rising’ or ‘slow falling’, relative to the previous ratio; 
     b3) defining the integrated ‘chipstate’ that is first limited to integer values [−1, 0, 1] and then incremented or decremented upon each new edge by adding a value specific to the edge classification:
         fast rising edges=+1,   slow rising edge=2,   slow falling edge=−2   fast falling edge=−1.       

     b4) extracting the underlying De Bruijn sequence by collating the non-zero chipstate values where ‘−1’ indicates binary ‘zero’, and ‘+1’ indicates binary ‘one’; zero chipstates are derived from intermediate non-data bearing edges and shall be discarded. 
     b5) recording the data-bits obtained at step b4) into a stream and: 
     b6) when 6-consecutive bits are recorded; determining the crank-shaft angular position using the conversion table CT of step a2) by searching in said conversion table the same 6-data-bit word; 
     b7) reading the binary value detected by the second sensor; 
     b8) identifying in the record of step a5) the exact engine position in combining the information obtained at steps b6) and b7). 
     The control method further comprises a re-casting step to resolve the initial speed ambiguity, said re-casting step being performed after the recording step and before the determining step: 
     b9) if a half-size tooth is detected, too small to match the current Manchester pair-pattern, then re-casting previous half-portion teeth as ‘large’ double-size teeth and decoding again on that basis. 
     The control method further comprises a 3° shifting step to resolve any phase error, said shifting step being performed after the performing step and before the determining step: 
     b10) if a large gap ( 26 L) or large tooth ( 24 L) appear in an invalid sequence in the Manchester code due to very rapid deceleration of the wheel, this is naturally and automatically corrected, re-cast as a narrow gap or tooth by the limiting operation in claim  13  step (b3). 
     The control method further comprises the steps enabling determination of further engine position with enhanced precision, once an initial engine position is known: 
     c1) detecting the feature edges of the crank-shaft wheel; 
     c2) incrementing the crank-shaft angular position as indicated by the edge location table, this being recorded at step a3) and, thus determining the new engine position. 
     The control method further comprises the calculation of confidence in the De Bruijn solution thus enabling the fusion of the two sources of position information: 
     position update based on De Bruijn decoding as set above; 
     position update based on next edge in sequence as set above; 
     d1) confidence in the current De Bruijn position solution as set above is determined to be an integer value incremented when a correct position calculation is completed, but otherwise is reset to zero. 
     For the purpose of this application, the ‘correct position’ is defined to be the next contiguous position in the CT table shown below. Each decoded position is expected to advance the engine position by the elementary angle A and, as an example if angle A=6° then, 174° must be followed by 180°. 
     d2) if the De Bruijn position solution differs from the ‘next edge’ solution as set above, then the next edge in sequence shall be reported in preference, unless the De Bruijn confidence exceeds a chosen level, for instance 12, in which case the De Bruijn position solution shall override the position report and reset edge synchronisation. 
     The invention further extends to software comprising the steps of the method as described above, the software being executable when uploaded in an ECU. 
     The invention further extends to an engine control unit (ECU) adapted to control an internal combustion engine when executing such software. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention is now described by way of example with reference to the accompanying drawings in which: 
         FIG. 1  is a schematic of an engine synchronisation means as per the invention. 
         FIG. 2  is a representation of a crank-shaft wheel of the means of  FIG. 1 . 
         FIG. 3  is an encoding diagram corresponding to the crank-shaft wheel of  FIG. 2 . 
         FIG. 4  is a magnified representation of a crank-shaft wheel of the means of  FIGS. 1 and 2 . 
         FIG. 5  is a detail of second embodiment of the crank-shaft wheel. 
         FIG. 6  is similar to  FIG. 3  presenting an encoding diagram in relation to radial holes arranged in the rim of a flywheel. 
         FIGS. 7 and 8  are diagrams illustrating the analysis of the signal obtained from the synchronisation means. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     An internal combustion engine  10  comprises an engine block having cylinders with inner reciprocating pistons defining compression chambers closed by an engine head, fuel being injected into said cylinders by fuel injectors that are part of a fuel injection equipment. The engine  10  has a crank-shaft transforming the linear displacements of the pistons into a rotational movement and, a camshaft rotating in the engine head and actuating valves controlling entry in the compression chambers of fresh fuel and exit of burned gases. The camshaft and the crank-shaft are geared together with a fixed ratio R, an engine position being determined by a crank-shaft angular position associated to a camshaft angular position. 
     The fuel injection equipment typically comprises a low pressure system that draws fuel from a low pressure tank and delivers it to a high pressure system wherein a high pressure pump pressurizes said fuel and delivers it to a common fuel rail and from there, to several fuel injectors. 
     An engine synchronisation means  12 , sketched on  FIG. 1 , controls the engine and comprises an engine control unit  14 , hereafter ECU, which receives a first signal S 16  delivered by a first sensor  16  that cooperates with a crank-shaft wheel  18  fixed to the crank-shaft and also, a second signal S 20  delivered by a second sensor  20  that cooperates with a camshaft wheel  22  fixed to the camshaft. Based on said signals S 16 , S 20  the ECU  14  precisely determines the engine position, defined by a crank-shaft angular position associated to a camshaft angular position, and it delivers command signals SC to the fuel injection equipment as required to satisfy the driver demand in term of torque. Said command signals SC comprise signals sent to the high-pressure pump metering valve and also to the injectors. 
     The first sensor  16  is typically a Hall Effect sensor that detects teeth  24 , and gaps  26  between said teeth  24 , provided on the circumference of the crank-shaft wheel  18 . In fact, the first sensor  16  indicates changes between a high level, that is a tooth  24  and, a low level implemented by a gap  26 . The first signal S 16  is a binary signal that commutes consequently between a high level signal S 16 H and a low level signal S 16 L. 
     Similarly, although the wheels differ from each other, the second sensor  20  is also typically a Hall Effect sensor that detects alternating high level sectors  28  and low level sectors  30 , provided on the circumference of the camshaft wheel  22 , the second signal S 20  also being a binary signal commuting between a high level signal S 20 H and a low level signal S 20 L. In reference to the figures, it is visible that the feature identified providing a high level signal can be identified as a “tooth” on the crank-shaft wheel but a “sector” seems more appropriate to designate the feature of the camshaft wheel. 
     Alternatively, the two sensors could use other technology than the Hall Effect provided they deliver distinctive signals for features such as teeth and gaps or high level and low level sectors. 
     More precisely, the camshaft wheel  22  has five protruding sectors  28 , or high level sectors, identified on  FIG. 1  with letters A, C, E, G and I alternating with five low level sectors  30 , identified on  FIG. 1  with letters B, D, F, H, J. Said ten sectors have different width, or cover different angles in respect of the fact that, diametrically opposed to a high sector  28  is a low sector  30  of the same width or the same angular span. For instance, opposite to the high and large sector identified  28 A is the low and large sector  28 F and, opposite to the high and narrow sector identified  28 G is the low and narrow sector  28 B, said opposite sectors having the same angular width. In operation when the camshaft rotates, the second sensor  20  senses the proximity of the camshaft wheel  22  and delivers to the ECU  14  said binary second signal S 20  comprising the high level signal S 20 H when a high sector  28 A, C, E, G, I, passes in front the second sensor  20  and, the low level signal S 20 L when a low sector  30 B, D, F, H, J, passes in front the second sensor  20 . 
     The crank-shaft wheel  18  is provided with forty-five (45) teeth  24  and the same number of gaps  26  and, the teeth  24  are either large teeth  24 L or narrow teeth  24 N and, between two consecutive teeth, the gap  26  is either a large gap  26 L or a narrow gap  26 N. Narrow features, teeth  24 N or gaps  26 N, have an angular width of 3° and, large features, teeth  24 L or gaps  26 L, are twice that size having an angular width of 6°. 
     In an alternative partially sketched on  FIG. 5 , the teeth  24  and gaps  26  are replaced by holes, equivalent to gaps, arranged in the peripheral region of a disc, “small” holes have a width of 3°, and “large” holes have a width of 6°. In this case, the first sensor  16  detects said holes or counts the edges of said holes. On  FIG. 5  the holes are trapezoidal but any other shape such as rectangular, circular, oblong, is possible as long as the 6° large angular width and 3° narrow angular width is respected. In another alternative embodiment sketched on  FIG. 6 , said features are cylindrical holes radially drilled on the rim of the engine flywheel that typically has about 50 cm diameter and 3 cm width and, in the rim are drilled holes of large diameter having a 6° width and small holes having just half that size. For clarity and simplification purposes, the description proceeds with “teeth” and “gaps” without limiting the invention to this embodiment, the scope of the invention covering all other detectable “features” enabling generation of binary signals. 
     In operation, when the crank-shaft rotates, the first sensor  16  senses the proximity of the crank-shaft wheel  18  and delivers to the ECU  14  said binary first signal S 16  comprising the high level S 16 H when a tooth  24  passes in front the first sensor  16  and, the low level S 16 L when a gap  26  passes in front the first sensor  16 . Furthermore, the levels of the first signal commutes from high to low, or low to high, when a tooth or gap edge passes before the first sensor  16 , these commutations enabling the counting of edges. 
     To exactly determine the engine position, the forty-five teeth  24  and gaps  26  of the crank-shaft wheel  18  are arranged according to a 60-bit de Bruijn sequence using Manchester encoding, a pattern that is recorded in the ECU  14 . This pattern ensures that the bit stream corresponding to the binary first signal S 16  recorded during a revolution of the crank-shaft comprises 60 bits. Every 36° sector has a unique pattern and, every 6° is an edge, either rising when passing from a gap to a tooth, or falling when passing from a tooth to a gap. A crank-shaft angular position is identified by a 6-consecutive-bit-data-word extracted from the complete 60-bit string, said 6-bit-data-word being unique to a single angular position, the 6° angle representing an elementary angle A of a single bit within the 60-bit stream. 
     The de Bruijn sequence is a mathematical sequence of length kn such that every permutation of the alphabet (size k) with length “n” exists as a continuous sub-range within the sequence. Each consecutive sub-range or string of length “n” within the sequence is unique, never repeated. This property can be preserved even if the sequence is truncated or modified to a reduced length for instance from 64 bits (k=2, n=6) to 60 bits. 
     A large number of such de Bruijn sequences can be generated, each satisfying this requirement. For instance, the following binary strings are four examples of 60-bit de Bruijn sequences: 
     B1—000000100001100010100011100100101100110100111101010111011111; 
     B2—000001110011000101001111100001001000110111101101011001011101; 
     B3—000000110101011100100011111101000010010100111011000101101111; 
     B4—000000111101101000010101001110010010111010110001000110111111. 
     The first sequence, identified B1, is used on the example crank-shaft wheel  18  of  FIG. 4 , the beginning of said B1 sequence “000000100001 . . . ” being indicated along with the high S 16 H or low S 16 L level of the first signal S 16 . Taking said B1 sequence as an example, the crank-shaft angular position is identified as per 6-bit-data-word differing from the previous by one bit as indicated in the conversion table CT below: 
     
       
         
           
               
               
             
               
                   
                   
               
             
            
               
                   
                 111110 = 0° 
               
               
                   
                 111100 = 6° 
               
               
                   
                 111000 = 12° 
               
               
                   
                 110000 = 18° 
               
               
                   
                 100000 = 24° 
               
               
                   
                 000000 = 30° 
               
               
                   
                 000001 = 36° 
               
               
                   
                 000010 = 42° 
               
               
                   
                 000100 = 48° 
               
               
                   
                 001000 = 54° 
               
               
                   
                 010000 = 60° 
               
               
                   
                 100001 = 66° 
               
               
                   
                 000011 = 72° 
               
               
                   
                 000110 = 78° 
               
               
                   
                 001100 = 84° 
               
               
                   
                 011000 = 90° 
               
               
                   
                 110001 = 96° 
               
               
                   
                 100010 = 102° 
               
               
                   
                 000101 = 108° 
               
               
                   
                 001010 = 114° 
               
               
                   
                 010100 = 120° 
               
               
                   
                 101000 = 126° 
               
               
                   
                 010001 = 132° 
               
               
                   
                 100011 = 138° 
               
               
                   
                 000111 = 144° 
               
               
                   
                 001110 = 150° 
               
               
                   
                 011100 = 156° 
               
               
                   
                 111001 = 162° 
               
               
                   
                 110010 = 168° 
               
               
                   
                 100100 = 174° 
               
               
                   
                 001001 = 180° 
               
               
                   
                 010010 = 186° 
               
               
                   
                 100101 = 192° 
               
               
                   
                 001011 = 198° 
               
               
                   
                 010110 = 204° 
               
               
                   
                 101100 = 210° 
               
               
                   
                 011001 = 216° 
               
               
                   
                 110011 = 222° 
               
               
                   
                 100110 = 228° 
               
               
                   
                 001101 = 234° 
               
               
                   
                 011010 = 240° 
               
               
                   
                 110100 = 246° 
               
               
                   
                 101001 = 252° 
               
               
                   
                 010011 = 258° 
               
               
                   
                 100111 = 264° 
               
               
                   
                 001111 = 270° 
               
               
                   
                 011110 = 276° 
               
               
                   
                 111101 = 282° 
               
               
                   
                 111010 = 288° 
               
               
                   
                 110101 = 294° 
               
               
                   
                 101010 = 300° 
               
               
                   
                 010101 = 306° 
               
               
                   
                 101011 = 312° 
               
               
                   
                 010111 = 318° 
               
               
                   
                 101110 = 324° 
               
               
                   
                 011101 = 330° 
               
               
                   
                 111011 = 336° 
               
               
                   
                 110111 = 342° 
               
               
                   
                 101111 = 348° 
               
               
                   
                 011111 = 354° 
               
               
                   
                   
               
            
           
         
       
     
     Each 6-bit data word corresponds to an angle of 36° and, the identification of the 6-bit data word is done moving a 36° sliding window W over the 60-bit sequence. The window W is a virtual window. As shown on  FIGS. 3 and 4 , each 1-bit increment records a new data bit at an end of the word and, removes a bit at the other end. 
     Also, the crank-shaft wheel  18  having forty-five teeth, in a revolution of said wheel  18  the first sensor  16  sees  90  edges and delivers a genuine signal that alternates forty-five high level S 16 H with forty-five low level S 16 L all being recorded in the ECU  14 . The transformation of said genuine Manchester-coded first signal S 16  into a 60-bit data sequence is explained in reference to the diagram of  FIG. 3  and the wheel of  FIG. 4  where the angular section corresponding to  FIG. 3  is indicated. 
     In  FIG. 3 , the top graph is the de Bruijn sequence and the bottom graph is the physical wheel pattern generated using Manchester encoding, and the corresponding genuine high-low first signal S 16 . 
     A 360° revolution of the crank-shaft is divided in sixty portions each being equal to the elementary angle A of 6°. During a revolution of the crank-shaft each 6° portion, identified in  FIG. 3  by sectors having roman numbers I to IX, records two different signal states in each half-portion, a high level S 16 H and a low level S 16 L, the order of these half-portion states within the genuine signal determining the data bit of said 6° sector. Each of said halves genuine signals corresponds to 3°, half the elementary angle A. When the first half of genuine signal is a high level S 16 H and the second half genuine signal is a low level S 16 L, as it is in the portions I, III, VII, VIII, IX, the data bit is “1” and, when the first half genuine signal is a low S 16 L and the second half genuine signal is a high S 16 H as in the portion indicated II, IV, V, VI, then the data bit is “0”. 
     The engine position cannot be decoded until an engine speed ambiguity is resolved, that is to say teeth  24  passing the first sensor  16  can be classified as ‘large’  24 L or ‘small’  24 N. Considering that the engine is rotating initially with varying and unknown speed, it is impossible to confidently classify features passing the first sensor  16  until features of both sizes have been observed (or in the special case arising near the beginning of the de Bruijn sequence B1, nine consecutive edges with the same interval). While said ambiguity in speed persists (for up to 42° in the worst case in sequence B1) the recording of tooth intervals for Manchester decoding begins with the assumption that the first features are ‘small’  24 N,  26 N, since they are more numerous than ‘large’ features. If this assumption is proved incorrect by the observation of a ‘half-sized’ tooth, then the recorded sequence in memory is corrected retrospectively. 
     When starting the engine from an unknown position, an initial ambiguous recording of the first genuine signal S 16 , either high or low, is interpreted as being the first half of a 6° portion, the second genuine signal is then the second half, the third genuine signal is the first half of the next second 6° portion, and so on until a feature of a different size is detected by the first sensor  16 , for example one large tooth  24 L followed by a small gap  26 N, or a small gap  26 N followed by a large tooth  24 L. 
     If large features are recorded spanning the second half and first half of two adjacent 6° portions, for instance a large and low level S 16 L recording between the portions I and II, or between III and IV or, a large and high level S 16 H recording between the sectors II and III, or between VI and VII, the phase assumption is validated and Manchester decoding continues. On the contrary, a phase error in Manchester decoding can occur and will be detected if said two identical half signals record within the same 6° portion. The ECU understands then that the recording is offset in phase by 3°. The bit string is then automatically synchronised by shifting all the records by 3°, or half a sector, and the previous recordings corrected retrospectively. 
     For instance, in reference to  FIGS. 2 and 4 , rotating the crank-shaft wheel in the anticlockwise direction as indicated by the arrow “+”, and starting to record at the tooth edge indicated E 1 , the first sensor  16  will see five narrow teeth  24 N, each followed by a narrow gap  26 N then, a large tooth  24 L and a large gap  26 L. The corresponding genuine signal is “HL, HL, HL, HL, HL, HH, LL” corresponding to an undetermined bit-word that starts with the string 11111x. The sequence HH is not valid within the Manchester code and indicates a 3° offset and that a shift is required. The genuine signal recorded is automatically and retrospectively shifted by the ECU  14  and, the Manchester halves are re-paired “-H, LH, LH, LH, LH, LH, HL, L-” corresponding to the 6-data-bit-word “000001” now interpreted as 36°, according to the above conversion table CT. 
     Also,  FIG. 6  presents the same data as  FIG. 3 , from the same part of the sequence B1 and with the same Manchester code but implemented by holes radially drilled in the rim of the flywheel of the engine. The holes are cylindrical and are either large holes  26 L or smaller holes  26 N. The large holes  26 L have a diameter approximately twice the diameter of a small hole  26 N, said large diameter presenting to the sensor an angular width of 6°. The intervals between said holes (analogous to teeth) are either large intervals  24 L, of similar 6° width, or small intervals  24 N having a 3° width. When facing a hole  26 , the first sensor  16  delivers a low level signal S 16 L and, when facing an interval, a high level signal S 16 H is delivered. 
     Thanks to the pattern arrangement as per a de Bruijn sequence implemented using Manchester encoding the crank-shaft angular position is determined typically after a rotational angle of 36° of the crank-shaft and always within 42° in the case of sequence B1. 42° is the unlikely worst case delay occurring if the engine begins rotation at exactly 270° prior to several consecutive ‘large’ features, identified on  FIG. 4  with edge E 2 , which will delay the disambiguation of engine speed by an additional tooth. In the prior art, the delay during synchronisation extends much further and may require almost two revolutions of the crank-shaft. Determining the engine position requires to know the angular position of the crank-shaft and also the angular position of the camshaft. The rotation ratio R raises another ambiguity in said determination since several camshaft positions correspond to a single crank-shaft position. For instance, in the typical case of a ratio R of 2:1 meaning that the crank-shaft RPM is twice the camshaft RPM, to each crank-shaft angular position corresponds two diametrically opposed camshaft positions, the engine position remaining undetermined. The second signal S 20  sent to the ECU  14  by the second sensor  20  enables resolution of said ambiguity. As shown in the exemplary embodiment of  FIG. 1 , the camshaft wheel  22  has diametrically opposed high level  28  and low level  30  sectors so, the engine position is precisely known without any further delay: as soon as the crank-shaft position is determined thanks to the first signal S 16 , the second signal S 20  indicates the engine position. 
     Determining the initial engine position, meaning the “first” engine position when the engine starts rotating from an unknown position, requires interpretation of the first 6-data-bit-word read in the sliding window W and also of the second signal S 20 . Once said initial engine position is known, the next position can be determined with the same method of interpreting the next 6-bit-word or, more simply, by counting the tooth edges passing by the first sensor S 16 . Indeed, the tooth pattern of the crank-shaft wheel  18  being recorded, once the initial engine position is known, simply counting the edges enables finer increments to the angular position, by 3° or 6°. 
     In an alternative embodiment not represented, the crank-shaft position is directly determined thanks to a crank-shaft wheel provided with sixty teeth alternating with sixty gaps all arranged as per a de Bruijn sequence but without using the Manchester encoding. In this case there is provided a rising tooth edge exactly every 6°, with the de Bruijn sequence implemented by tooth width coding using either “Narrow” 2° or “Large” 4° teeth separated by complementary 4° or 2° gaps. The de Bruijn data is decoded simply by comparing the relative size of the tooth and the gap in each 6° interval: if the tooth is wider than the gap then a ‘1’ is decoded, and conversely if the tooth is narrower than the gap then ‘0’ is decoded. Each new bit value is appended until a 6-bit sequence is recorded and the engine position can be determined as before using the above conversion table CT. 
     Although manufacturing sixty teeth, or any type if feature, is more complex than manufacturing only forty-five and, it involves a minimum feature size (2°) that is smaller than the previous scheme (3°), said direct tooth-width coding without Manchester encoding offers some advantage in that crank-speed ambiguity is resolved within a single 6° portion by observation of two features of different size, due to the regular positioning of the rising edge of every tooth. Then, engine position can be resolved more easily (without Manchester encoding) and also within 36°. 
     Another significant advantage of using edge-counting as the primary method (following initial engine position determination) is that robustness to engine speed variation is improved, since the ECU  14  will use directly edges detected by S 16  (changes from “0” to “1” or vice versa) to increment the engine position according to the ninety edges (corresponding to  FIG. 4 ) known in a software  40  as edge location table ET below, where the first edge at 3° is identified as E 1  and the wheel  18  rotating in the anticlockwise direction following the “+” arrow: 
     [3° 6° 9° 12° 15° 18° 21° 24° 27° 30° 33° 39° 45° 48° 51° 54° 57° 60° 63° 69° 72° 75° 81° 84° 87° 90° 93° 99° 105° 111° 117° 120° 123° 126° 129° 135° 138° 141° 144° 147° 153° 156° 159° 165° 171° 174° 177° 183° 189° 195° 198° 201° 207° 210° 213° 219° 222° 225° 231° 237° 243° 246° 249° 255° 258° 261° 264° 267° 270° 273° 279° 285° 291° 297° 303° 309° 312° 315° 318° 321° 327° 333° 336° 339° 342° 345° 348° 351° 354° 357°] 
     De Bruijn decoding will continue post-synchronisation for engine position monitoring; to establish confidence in the position solution and detect if an edge is missed. 
     The software  40  uploaded in the electronic ECU  14  executes a control method  100  for an engine  10  provided with the synchronization means  12  as previously described is now presented. The steps of the method  100  are recorded in the software  40  and, the method  100  comprises a preparation phase performed while the engine is not yet rotating, the steps of the preparation phase being identified with letter “a” and, an operating phase executed when the engine rotates and identified with letter “b”. 
     The steps of the preparation phase are: 
     a1) recording  110  in the ECU  14 , the tooth, gap, feature pattern of the crank-shaft wheel  18  and, the sector pattern of the camshaft wheel  22  and, the complete 60 bits de Bruijn sequence corresponding to one revolution of the crank-shaft wheel and the corresponding 120-element Manchester representation; 
     a2) creating and recording  112  in the ECU  14  the conversion table CT, derived by dividing said 60-bit sequence into sixty unique 6-bit-words, each comprising 6 consecutive bits, each 6-bit-word corresponding to a unique and well identified crank-shaft angular position; 
     a3) creating and memorising  113  the edge location table ET, derived by finding the angular position of each change or edge in the Manchester coded crank-wheel;
         a4) recording  114  in the ECU  14 , the tooth pattern configuration of the camshaft wheel;       

     a5) identifying  116  in the ECU  14 , the relative alignment of the crankshaft wheel and the camshaft wheel so that their states can be used to determine the engine position. 
     After said preparation phase, the ECU  14  is adapted to match any engine positions with the first S 16  and second S 20  signals received. 
     The method  100  further comprises the operating phase wherein the engine position is used to synchronise the fuel injection equipment with said engine  10 , this in order to ensure fuel injection at the required pressure, the required quantity, the required time, for the required duration. The initial steps of the operating phase are executed when the engine  10  starts rotating. 
     b1) recording  120  the first signal S 16  received and coupling in pairs the high S 16 H and low S 16 L levels of said first signal then, translating each pair into one data-bit according to the Manchester decoding principle, each pair comprising both a high level signal S 16 H and a low level signal S 16 L; 
     b2) assembling  122  the data-bits obtained at step b1) into a stream; 
     b3) if a half-size tooth is detected, too small to match the current Manchester pair-pattern, then re-casting ( 123 ) previous half-portion teeth as ‘large’ double-size teeth and decoding again on that basis. The new smaller tooth width will be interpreted as the elementary angle (6°). 
     b4) if within a pair are recorded two identical signals, either high or low levels, shifting  124  the complete stream by half a bit signal so that said identical signals are no longer paired together; 
     b5) when 6-consecutive bits are recorded; determining  126  the crank-shaft angular position using the conversion table CT of step a2) by searching in said conversion table CT the same 6-data-bit word; 
     b6) reading  128  the binary value detected by the second sensor  20 ; 
     b7) identifying  130  in the record of step a5) the exact engine position by combining the information obtained at steps b5) and b6). 
     Any subsequent engine position is determined by induction from the previous position. This is simply done by counting the edges of the crank-shaft wheel  18  and, the tooth pattern being known by the ECU  14 , each edge corresponding to a known increment of 3° or 6° as indicated by the edge location table ET, the new engine position being directly determined by incrementing the previous position by said tooth edge angle. The corresponding method steps are: 
     c1) detecting  132  the edges of the crank-shaft wheel  18 ; 
     c2) starting from a known engine position and incrementing  134  the crank-shaft angular position as indicated by the edge location table ET, this being recorded at step a3) and, thus determining the new engine position. 
     As part of the induction method, determining any new engine position by an angular increment of the previous engine position may require regular checks. A plausibility check step may then be inserted within the induction steps and be performed regularly. Said plausibility check compares the incremented engine position with a complete new de Bruijn determination, performed as in the initial steps, by recording the corresponding 6-bit-word that differs from the previous 6-bit-word by only one bit and, by executing similar method steps as b1) to b7). 
     Alternatively to the induction method, a subsequent engine position can be determined via complete new de Bruijn determination, performed as in the initial steps, by recording the corresponding 6-bit-word that differs from the previous 6-bit-word by only one bit and, by executing similar method steps as b1) to b7). 
     Normally the 3° shift is performed only once, if needed, during the determination of the initial position, so the step b4) is either not performed, if the recording starts correctly or, is performed once if a shift is needed. Once the Manchester code stream is correctly interpreted, either directly or following a 3° shift, any further recording is done correctly without need of such b4) realignment step. Confidence in the correct phase of the Manchester code stream is afforded by successive contiguous angular position solutions following de Bruijn decoding or checking e.g. 6°, 12°, 18° and so on. 
     Determination of the engine position is key to synchronising the fuel injection system, ensuring that the pump operates on the correct volume of fuel and said fuel is injected into correct cylinder with optimum timing. 
     The Manchester decoding is further detailed in reference to  FIGS. 7 and 8 . It illustrates the advantage of the decoding method in robustness to some types of error or ambiguities. This involves an integer identified as a ‘Chipstate’, limited to the range of integers [−1, 0, +1] but modified by incrementing and decrementing either [1, 2, −1 or −2]: 
     fast rising edges=+1, 
     slow rising edge=2, 
     slow falling edge=−2 
     fast falling edge=−1. 
       FIG. 7  plots the edges detected by the sensor. Because the wheel rotational speed varies, the time duration between consecutive edges distant by the same angle varies. The genuine detection of the edges by the sensor is illustrated by the ‘square line’ ‘S’ which is an alternation of rising and falling edges between two levels 0 or 1. 
     The duration of each edge interval is illustrated by the broken line ‘D’, each segment of said line ‘D’ joining the first points of each edge transition. 
     For instance:
         the first transition P 1 -P 2 , joins the first corner point of the falling edge (point P 1 —level ‘1’) to the first corner point of the second edge (point P 2 —level ‘0’);   the following second transition joins said first corner point of the second edge (point P 2 —level ‘0’) to the first corner point of the third edge (point P 3 —level ‘1’);   the following third transition joins said first corner point of the third edge (point P 3 —level ‘1’) to the first corner point of the fourth edge (point P 4 —level ‘0’), etc.       

     This example goes on with the following segments and with points P 5 , P 6 , P 7 , P 8  . . . . 
     Any transition going from level 1 to level 0 is identified as a ‘falling edge’ passing from a tooth to a gap and, any transition going from level 0 to level 1 is identified as a ‘rising edge’ passing from a gap to a tooth, the line ‘D’ showing the alternation of ‘rising’ and ‘falling’ edges. 
     In a first interpretation it is assumed that  FIG. 7  is taken while the wheel rotates, the method knowing already in which angular position the wheel is oriented. The analysis is applied as follows: 
     The first transition P 1 -P 2  is a ‘falling edge’ and, its interval is long enough to be identified as a long gap  26 L. 
     The second transition P 2 -P 3  is a ‘fast rising edge’ identified as a narrow tooth  24 N. 
     The third transition P 3 -P 4  is a ‘fast falling edge’ identified as a narrow gap  26 N. 
     The fourth transition P 4 -P 5  is a ‘slow rising edge’ identified as a large tooth  24 L. 
     Interesting enough, said fourth transition P 4 -P 5  ‘slow’ is obviously shorter than the first transition P 1 -P 2  ‘slow’ although both identify large features (tooth or gap) of 6° angle. Said duration difference is due to an acceleration of the wheel rotational speed and, thanks to the following steps of the method, both transitions are identified as large features tooth  24 L and gap  26 L. 
       FIG. 8  illustrates this on the same time scale as  FIG. 7 , by identifying the ‘Chipstate’ for each of the points P 1 , P 2 , P 3  . . . . 
     The first transition P 1 -P 2  starts from a ‘1’ and it is a ‘slow falling’ edge so ‘−2’ is added and the Chipstate at point P 2  becomes −1 (1−2=−1). 
     The second transition P 2 -P 3  starts from said ‘−1’ and, it is a ‘fast rising’ edge so ‘+1’ is added and the Chipstate at point P 3  becomes 0 (−1+1=0). 
     The third transition P 3 -P 4  starts from said ‘0’ and it is a ‘fast falling’ edge so ‘−1’ is added and the Chipstate at point P 4  becomes −1 (0−1=−1). 
     The fourth transition P 4 -P 5  starts from said ‘−1’. Its interval is twice the interval of the previous third transition P 3 -P 4  and, within 3° or 6° angle of rotation, an acceleration doubling the speed or a deceleration dividing the speed by two is not plausible, in comparison to the fast third transition, said fourth transition P 4 -P 5  must be a ‘slow rising’ edge and, a value ‘+2’ is added, the chipstate at point P 5  is therefore +1 (−1+2=+1). 
     Solving the ambiguity of over-acceleration/deceleration is done by applying a first threshold of 0.667, and a second threshold of 1.50, to classify each detected ratio as either ‘fast’ or ‘slow’, relative to the previous ratio. In the instance of the fourth transition P 4 -P 5  which duration is twice the interval of the third transition P 3 -P 4 , the ratio of 2 being outside the limits 0.667-1.5, the two transitions P 3 -P 4  and P 4 -P 5  must be classified differently and, the third transition being a ‘fast’, the fourth transition must be a ‘slow’. 
     The sequence of Chipstate values, explained above and continued by reading  FIG. 8 , on the broken line identified C, is: 
     1 −1 0 −1+1 −1 0 −1+1 −1+1 0+1 −1 0 −1+1 0+1 −1+1 −1 0 −1. 
     From said Chipstate sequence is extracted the De Bruijn sequence in which the ‘1’ are identified as ‘1’, the ‘0’ are ignored and, the ‘−1’ are identified as ‘0’. The corresponding De Bruijn sequence is then: 
     1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0. 
     Each 6-bit-data-word of said De Bruijn sequence corresponds to an angle of 36° and, the identification of the 6-bit data word is done moving a 36° sliding window W over the 60-bit sequence, said window W being a virtual window. As shown on  FIGS. 3 and 4 , each 1-bit increment records a new data bit at an end of the word and, removes a bit at the other end. 
     The above paragraphs assumes a first interpretation of  FIG. 7  wherein the wheel rotates already. 
     A second interpretation illustrates a benefit of the method in resolving initial ambiguities. This interpretation is done considering that  FIG. 7  is taken when the wheel just starts to rotate, the first transition P 1 -P 2  being the first transition read by the sensor and, the method not knowing in which angular position the wheel is. 
     In this case, not knowing if the first transition is linked to a narrow feature  24 N,  26 N or to a large feature  24 L,  26 L, the method arbitrarily chooses one of the two classifications. 
     A first choice is a ‘slow’ classification. The first transition P 1 -P 2  is interpreted as a ‘slow falling edge’. 
     The duration of the following second transition P 2 -P 3  is about a third of the interval of the first transition. The engine cannot accelerate to this level, typically the acceleration/deceleration being limited by the rotating mass. Therefore, said very short one-third interval mandatory means that the feature read by the sensor is narrower than the initial feature of the first transition. Said second transition P 2 -P 3  is therefore identified as a ‘fast rising edge’ confirming that the first transition P 1 -P 2  was a ‘slow falling edge’. 
     Solving the ambiguity of over-acceleration/deceleration the method is done similarly as detailed above, by applying a first threshold of 0.667, and a second threshold of 1.50, to classify each detected ratio as either ‘fast’ or ‘slow’, relative to the previous ratio. The second transition having an interval that is a third than the first transition, and 1.3 being outside the limits 0.667-1.50, said second transition must be classified differently as the first segment. The first transition being a ‘slow’ the second transition with a much shorter duration is a ‘fast’. 
     The second possible choice is ‘fast’ classification. The first transition P 1 -P 2  is interpreted as a ‘fast falling edge’. The transition interval P 2 -P 3  is about one third of the interval of the first transition. This means that the engine would have an implausible rate of acceleration, multiplying the rotational speed by 3 within an angular span of 6°. In fact, the acceleration/deceleration are relatively slow and, over an angle of 6° the speed is almost constant. Therefore, said very short one-third interval means that the feature read by the sensor is narrower than the initial feature of the first transition. Said second transition P 2 -P 3  is therefore identified as a ‘fast rising edge’ and, the first transition P 1 -P 2  is corrected from ‘fast’ to ‘slow’. 
     In said second classification choice, in applying said first threshold of 0.667, and second threshold of 1.50, the first transition P 1 -P 2  which interval is three time the interval of the second transition P 2 -P 3 , the ratio 1/3 being outside the limits 0.667-1.5, the two transition P 1 -P 2  and P 2 -P 3  must be classified differently. The first transition being arbitrary classified as ‘fast’, the second transition becomes an ‘ultra-fast’ which is not possible, the first transition being then re-classified as ‘slow’ for the second transition to be classified as a ‘fast’. 
     LIST OF REFERENCES 
     
         
         
           
             R ratio 
             S 16  first signal 
             S 16 H high level first signal 
             S 16 L low level first signal 
             S 20  second signal 
             SC command signal 
             CT conversion table 
             A elementary angle 
             W sliding window 
               10  engine 
               12  engine synchronization means 
               14  Engine control Unit—ECU 
               16  first sensor 
               18  crank-shaft wheel 
               20  second sensor 
               22  camshaft wheel 
               24  feature—tooth on crank-shaft wheel 
               24 L large tooth 
               24 N narrow tooth 
               26  feature—gap on crank-shaft wheel 
               26 L large gap 
               26 N narrow gap 
               28  feature—high level sector on camshaft wheel 
             A, C, E, G, I 
               30  feature—low level sector on camshaft wheel 
             B, D, F, H, J 
               40  software 
               100  control method 
               110  memorizing method step 
               112  creating method step 
               113  creating and memorising 
               114  recording method step 
               116  identifying method step 
               120  recording method step 
               122  recording method step 
               123  re-casting 
               124  shifting method step 
               126  determining method step 
               128  reading method step 
               130  identifying method step 
               132  detecting method step 
               134  incrementing method step