Abstract:
An ignition timing control system for an internal combustion controls the ignition timing in dependence upon an indicative pressure signal representing changes of the inner pressure within the combustion chamber of the engine. The ignition timing control system ceases the feed-back control based on the indicative pressure signal but performs an open loop control under predetermined engine operational conditions.

Description:
FIELD OF THE INVENTION 
     The present invention relates to an ignition timing control system for an internal combustion engine and, in particular, to an ignition timing control system for controlling the ignition timing of an internal combustion engine so as to cause the maximum pressure within the combustion chamber due to combustion to occur during an optimum crank angle region. 
     BACKGROUND OF THE INVENTION 
     It is possible to obtain the so-called indicative pressure signal representative of the inner pressure of the combustion chamber of an internal combustion engine by providing a pressure sensor such as a piezo-electric element in a bore formed through a member forming the combustion chamber of the engine such as a cylinder head. A pressure gauge may be otherwise interposed between the cylinder head and the cylinder block of the engine, which functions as the pressure sensor for producing the indicative pressure signal. 
     It will be seen that the internal pressure in the combustion chamber under operation of the engine changes as indicated by a curve A in FIG. 1. When the ignition system of the engine is triggered at an ignition angle θIG, the air-fuel mixture supplied thereto starts firing with a time delay of θd and, subsequently, the internal pressure rapidly increases up to a maximum pressure peak (referred to as an indicative pressure peak hereinafter) and then decreases. 
     It is known that a crank angle position of the indicative pressure peak has a certain relationship with the state of the engine at which the maximum output is produced, and the indicative pressure peak giving the maximum engine output has been found, by experiment, to be located between 12 to 13 degrees after the top dead center (referred to as ATDC hereinafter) as shown in the drawings. Therefore, ATDC 12 to 13 degrees may be considered as an ideal crank angle region. It is therefore desirable to determine the ignition timing θIG so that the indicative pressure peak occurs within the ideal crank angle region which is ATDC 12 to 13 degrees. 
     Even if, however, the ignition timing θIG is determined, the indicative pressure peak varies from time to time depending on the operating conditions of the engine and, therefore, an ignition timing control device is desired which can constantly keep the indicative pressure peak within the optimum region. 
     A feed-back ignition timing control system is disclosed in U.S. Pat. No. 4,481,925 issued Nov. 13, 1984. The feed-back ignition timing control system controls the ignition timing of an internal combustion engine in response to the indicative pressure signal to keep the indicative pressure peak position within an optimum region. 
     This prior art ignition control system is advantageous in avoiding any adverse influence by high frequency noises contaminating the indicative pressure signal. 
     It is, however, still required to regulate the ignition timing of the intenal combustion engine in a more flexible manner so as to comply with various engine operational conditions while avoiding the influence of noise. 
     SUMMARY OF THE INVENTION 
     Thus, a primary object of this invention is to provide an improved ignition timing control method for an internal combustion engine which can optimally control the ignition angle in accordance with an indicative pressure peak position signal and one or more engine parameters representing engine operational conditions. 
     In the ignition timing control method according to the present invention, the internal pressure of a cylinder is directly detected as an indicative pressure peak signal giving the indicative pressure peak datum for every engine cycle. The indicative pressure peak datum is compared with a crank angle reference position datum while changing the manner of discrimination in dependence on one or more of the engine parameters so that the actual ignition timing is advanced or retarded for every engine cycle thereby to comply with changes of the engine operational conditions. 
    
    
     SUMMARY OF THE DRAWINGS 
     FIG. 1 is a graph showing the changes in the internal pressure of an engine cylinder. 
     FIG. 2 is a circuit diagram showing an embodiment of the present invention. 
     FIGS. 3A through 3G are diagrams illustrating waveforms of signals appearing in the circuit of FIG. 2. 
     FIG. 4A is a diagram showing a waveform of the indicative pressure signal. 
     FIG. 4B is a diagram showing a waveform of reference pulses. 
     FIG. 4C is a diagram showing gate timings for receiving the indicative pressure peak data. 
     FIGS. 5 and 6 are flow charts describing basic action programs of the parts of the device of FIG. 2 made of a micro computer. 
     FIGS. 7 through 11 and 13 are flow charts describing action modes of a part of FIG. 2, which are respectively modified from that of FIG. 5; 
     FIG. 12 is a graph showing that the indicative pressure change curve in dependence on the engine operating condition. 
     FIG. 14 is a block diagram showing another ignition timing control system according to the present invention. 
     FIGS. 15A through 15H and 15J are diagrams respectively showing waveforms of signals appearing in the circuit of FIG. 14. 
     FIG. 16 is a flowchart showing an operation program performed in the ignition angle establishing circuit in the circuit of FIG. 14. 
     FIGS. 17 and 18 are flowcharts respectively showing subroutine programs interruptedly performed during the operation of the program of FIG. 15. 
     FIG. 19 is a block diagram showing another ignition timing control system according to the present invention. 
     FIGS. 20A through 20G are diagrams respectively showing waveforms of signals appearing in the circuit of FIG. 19. 
     FIG. 21 is a flowchart showing an operation mode of a part of FIG. 2, which is modified from that of FIG. 5. 
     FIG. 22 is a flowchart showing an operation mode of a part of FIG. 2, which is modified from FIG. 6. 
     FIG. 23 is a flowchart showing an operation mode of a part of FIG. 2, which is modified from that of FIG. 5. 
     FIG. 24 is a circuit diagram showing another ignition timing control system according to the present invention. 
     FIG. 25 is a diagram showing an element to be used for the clock generators in FIG. 24. 
     FIGS. 26A through 26G are diagrams respectively showing waveforms of signals appearing in the system of FIG. 24. 
     FIGS. 28(a) through 28(e) are diagrams respectively showing waveforms of signals appearing in the circuit of FIG. 27 under a normal rotation of the engine. 
     FIGS. 29(a) through 29(e) are diargams respectively showing waveforms of signals appearing in the circuit FIG. 24 under a reverse rotation of the engine. 
     FIG. 30 is a flowchart showing an operation mode of a part of FIG. 24, which is modified from FIG. 5. 
     FIG. 31 is a flowchart showing an operation mode of a part of FIG. 24, which is modified from FIG. 6. 
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     FIG. 2 shows an ignition timing control system according to the present invention, and this system comprises an indicative pressure signal generating circuit 1 which generates an indicative pressure signal by using pressure sensor which may include a piezo-electric element and is inserted into a bore provided through a member such as a cylinder head which defines a combustion chamber of an internal combustion engine in such a manner that the detection head of the pressure sensor is exposed to the interior of the combustion chamber. A clock generating circuit 2 produces clock pulse appearing in synchronism with the rotation of the engine. This means for obtaining clock pulses in synchronism with the rotation of the engine may consist of a disc which rotates in synchronism with the engine and has a plurality of slits in combination with a photo-coupler in such a manner that the clock pulses may be obtained from the output signal of the photo-coupler. A reference position generating circuit 3 produces a reference position signal, for example a TDC (Top Dead Center) pulse, which indicates that the crank angle position or the engine rotational angle position has reached a reference position. The reference pulse may be obtained by providing a separate slit for pulses in the disc which is already provided with the slits used for the clock generating circuit 2, in combination with a photocoupler for generating reference pulses. The reference position may be a position before TDC, if preferred. A peak hold circuit 4 holds the maximum value of the indicative pressure signal after it is cleared by the reference position signal. A comparator circuit 5 produces a peak detection signal when the indicative pressure signal has fallen below its maximum value kept by the peak hold circuit 4. A counter 6 for measuring the crank angle position counts the number of clock pulses and is reset by the reference position signal. The count value of the counter 6 which may be 8-bit data indicates the current value of the crank angle. A latch circuit 10 latches the count value of the counter 6 every time the peak detection signal from the comparison circuit 5 is supplied to the gate terminal g of the latch circuit 10, while a decoder 11 supplies a read-in command signal to an ignition angle establishing circuit 8 when the count value of the counter 6 reaches a predetermined value, for instance &#34;63&#34;. The count value of &#34;63&#34; corresponds to a crank angle which is greater than any crank angle at which the indicative pressure peak is expected to occur, and the read-in timing is so selected that there will be no interference by noises such as the combustion noises and the valve seating noises caused by the operation of the inlet and/or exhaust valves. The ignition angle establishing circuit 8 accordingly reads out or takes the contents of the latch circuit 10 and determines the indicative pressure peak position datum θ px  from the contents of the latch circuit 10. It is also possible to use a structure according to which the contents of the latch circuit 10 are supplied to the ignition timing establishing circuit 8 by way of a gate circuit which opens its gate by a read-in command signal from the decoder 11. The ignition angle establishing circuit 8 may consist of a microprocessor and supplies a desired ignition angle θ IG  datum to an ignition command circuit 9 according to a program, which is described hereinafter, and the peak position information (data) supplied thereto. The ignition command circuit 9 detects the current value of the crank angle θ ig  by counting the clock pulses and using the reference position signal as a reference, and closes an ignition switch SW when the current crank θ ig  and the input θ IG  coincide with each other, whereby ignition current is passed through the primary winding of an ignition transformer T and a spark ignition takes place at an ignition plug. Accordingly, the desired ignition angle θ IG  is a next-cycle ignition angle datum for governing the ignition during the next engine cycle succeeding to the engine cycle which caused the appearance of the indicative pressure peak θ px . The ignition angle establishing circuit 8 and the ignition command circuit 9 form, in the preferred embodiment, the ignition command means. The ignition angle establishing circuit 8 may be equipped with a mode in which the ignition angle establishing circuit 8 operates according to various parameters, such as rotational speed of the engine Ne, intake negative pressure P B , throttle opening θ th  and so on, obtained from engine parameter sensors 12. 
     FIGS. 3A to 3F show signal waveforms for illustrating the actions of the above-described circuits. Specifically, the reference position signal and the clock pulses appear as shown in FIGS. 3A and 3B, respectively. The indicative pressure signal changes in such a manner as shown by a solid line in FIG. 3C and the output of the peak hold circuit 4 therefore changes in such a manner as shown by the dotted line in FIG. 3C. The comparator circuit 5 produces a peak detection pulse signal upon detection of every local maximum of the indicative pressure signal as shown in FIG. 3D. FIG. 3E shows the changes of the count values of the counter 6 in decimals. 
     FIG. 3F shows the contents of the latch circuit 10 in decimals. FIG. 3G shows the changes in the output of the decoder 11 and, in this case, a higher level corresponds to the read-in command signal. 
     FIG. 4A shows an example of a waveform of the indicative pressure signal which contains maximum peak values P 0 , valve seating noises P 1 , P 3 , P 4  and P 5 , and an ignition noise P 2 . FIG. 4B shows waveforms of the reference position pulses each appearing at the TDC. FIG. 4C shows that the ignition timing control system restricts the time period for picking up the maximum peak position information to a short time period RTP (0 degree to 64 degree), that is, from the TDC to the predetermined crank angle corresponding the decoding number of, in this embodiment, 63. The short time period RTP is contained within the time period from the ignition timing to the valve seating timing, so that the operation for picking up the maximum peak position information is not adversely affected by the ignition noises and valve seating noises etc. 
     FIG. 5 shows an example of the program governing the ignition control operation of the ignition angle establishing circuit 8 of the system shown in FIG. 1 when the circuit 8 is made of a microprocessor. In performing the ignition control action, the ignition angle establishing circuit 8 initially establishes or determines the ignition angle θ IG  at an initial value θ IGO  and waits for the read-in command signal from the decoder 11, and, upon receipt of the read-in command signal, takes therein the latch contents of the latch circuit 10 as the peak position information θ px  (steps S 1  and S 2 ). Then, it is determined whether the peak position information θ px  is greater than the sum of the top dead center angle θ TDC  and a certain angle, for instance 12 degrees, or not (step S 3 ). If θ px  &gt;θ TDC  +α, then the ignition angle θ IG  is advanced by Δθ (step S 4 ) and, if not, the ignition angle θ IG  is delayed by Δθ (step S 5 ). These actions from start to end, steps S 1   to S 5 , are sequentially executed and cyclically repeated. This is the case with other programs which are referred to hereinafter. 
     FIG. 6 shows an example of the action program of the ignition command circuit 9 when it is made of a micro-processor. When the ignition command circuit 9 detects the reference position signal (step S 11 ), the present value of the crank angle θ ig  is set to θ TDC  (or a predetermined value) (step S 12 ). Then, the ignition angle data θ IG  from the ignition angle establishing circuit 8 is taken in (in step S 13 ) and this data is compared with the present value of the crank angle θ ig . If the relationship θ ig  =θ IG  holds, the ignition command is issued (steps S 14  and S 15 ) and the ignition switch SW is closed. On the other hand, if θ ig  ≠θ IG  holds, a unit angle δθ is added to the θ ig  (step S 16 ) and the program flow stands by for the next program cycle. It is also possible to determine whether the difference between the θ ig  and θ IG  is greater or smaller than δθ, in step S 14 , instead of determining whether θ ig  =θ IG  holds or not. 
     In the above-described embodiment, the peak position data θ px  was obtained in every engine cycle and the ignition angle for the next engine cycle is determined on the basis of the θ px  of the current engine cycle. 
     FIG. 7 shows another example of the action program for the ignition angle establishing circuit 8 in the ignition timing control device according to the present invention. In this program, the basic flow is not different from that of the program of the flow chart given in FIG. 5, that is the indicative pressure peak data θ px  is taken in by the circuit 8 while the read-in command signal from the decoder 11 is present (steps S 1  and S 2a ) and the ignition angle is delayed or advance in dependence on the difference between the θ px  and (θ TDC  +α) (steps S 3a , S 4a  and S 5a ). 
     However, according to this embodiment, θ px  is grasped as a group of data which are generated in sequence and the indicative pressure peak position data obtained in the N-th engine cycle is expressed as θ px  (N) (step S 2a ). 
     When an engine misfire occurs, combustion will not take place in the cylinder and the indicative pressure peak arises in the vicinity of θ TDC . Since, furthermore, the indicative pressure peak position data obtained in the engine cycle involving a misfire is not based on normal combustion, it is not appropriate to be used as a basis for the indicative pressure peak position control of the subsequent engine cycle. Therefore, θ px  (N) and θ TDC  are compared in advance and the arithmetic operation for θ px  (N) is performed only when the difference thereof is greater than Δθ (steps S 20  and S 21 ). In this arithmetic operation step S 21 , the current data value is corrected by the preceding indicative pressure peak position data values in the (N-1)-th, (N-2)-th, . . . , (N-n)-th engine cycles according to the following formula to enhance the stability of the feedback system. ##EQU1## 
     As a concrete example, the current data may be derived from the average value of the four preceding data and the current data by setting ω 0  =ω 1  =ω 2  =ω 3  =ω 4  =1/5 and ω 5  =ω 6  = . . . =ω n  =0. The averaging method is not limited by this, but may be based on averaging of an arbitrary number of data elements. It is also possible to set ω n  =(1/L) n  (where L&gt;1 and n&gt;0). 
     The ignition angle advance and delay control may be made according to the thus derived results of comparison between θ px  and (θ TDC  +α) (steps S 4a  and S 5a ), but the angle advance Δθ 1  and the angle delay Δθ 2  need not be equal to each other but it may be that either Δθ 1  &gt;Δθ 2  or Δθ 1  &lt;Δθ 2  in dependence on the characteristics of the feedback system. Further, Δθ 1  and Δθ 2  may be functions of the difference between θ px  and (θ TDC  +α). 
     When the difference between θ px  and θ TDC  is equal to or less than θ px  (N) is made equal to θ TDC  +α (step S 20a ). As long as K 1  &lt;K 1m  (step S 22 ), K 1  is set to equal to K 1  +1 and an ignition angle delay control is conducted, and, if K 1  ≧K 1m  by consecutive occurrence of misfires, and initialization step is conducted for resetting the ignition timing (step S 24 ). If |θ px  -θ TDC  |&gt;Δθ, then K 1  is set to zero and the program flow advances to the next step (step S 25 ). It is also possible not to conduct the ignition angle delay control when the engine misfire occurs and let the program flow advance to the next program cycle as indicated by the broken line l 1 . It is also possible to ignore the exhaust stroke of the engine when this ignition timing control device is applied to a four-stroke engine. When it is the case, the exhaust stroke detection sensor may be omitted. 
     FIG. 8 shows still another example of the action program for the ignition angle establishing circuit 8. In this program, the control target value θ pxi  is not set to the single angle (θ TDC  +α) but is set to a control target zone θ pxi  ±β(x). Thereby, the stability of the feedback system may be improved. The parameter x of β(x) may be any one of engine rotational speed Ne, throttle opening θ TH  or engine intake manifold vacuum P B . It is also possible to vary the value of β using a combination of these parameters as a variable. Otherwise, this program is similar to that of FIG. 6. Further, it is also possible to set β(x) as a constant β. 
     FIG. 9 shows another example of the action program performed by the ignition angle establishing circuit 8. In this program, the control target value θ pxi  for θ px  (N) is not fixed but the difference between θ pxi  and the average value of ##EQU2## is taken into consideration for deriving θ pxi  to obtain a new θ pxi  which is equal to (2θ pxi  -θ px  (N)). 
     This program is the same as the program given in the flow chart of FIG. 8 except the above mentioned point. 
     FIG. 10 shows another example of the action program to be performed by the ignition angle establishing circuit 8. This program is the same as the program of FIG. 7 in that the control target value θ pxi  for θ px  (N) is determined as a control target zone θ pxi  ±β(x) instead of a single angle. However, the correction of θ IG  is given by an odd function F[θ px  (N)-θ pxi  ] having the deviation of θ px  (N) from θ pxi , or [θ px  (N)-θ pxi  ], as a variable (step S 33 ). This odd function F(Z) may be an odd function having a single inflection point which may be expressed in the general form of (Z-γ) n  such as Z, Z 3 , Z 5 , . . . In particular, when n≧3, the feedback is rapidly increased as the deviation of θ px  (N) from the target value θ pxi  increases and a brisk feedback control may be expected. On the other hand since the possibility of producing hunting may arise in the feedback system when the feedback is excessive, the maximum feedback is limited. The above-described actions are conducted in the steps S 32 , S 34  and S 35  of the flow chart of FIG. 9. 
     In this case, the step S 5a  which delays the ignition timing by Δθ may be either conserved or omitted, as it is indicated by a broken line l 2 . 
     FIG. 11 shows yet another example of the action program of the ignition angle establishing circuit 8. Specifically, in this program, rotational speed of the engine Ne, throttle opening θ th , an intake manifold vacuum R B , among various engine parameters, are compared with reference values Nr, θr and Pr, respectively, and the ignition angle θ IG  is fixed to θ IGr  insofar as they do not exceed their reference values (steps S 40 , S 41 , S 42  and S 43 ). These steps S40, S41 and S42 function as discrimination means for discriminating an engine condition in which an open-loop control is preferred. The reference ignition angle θ IGr  may be varied in accordance with either engine parameters such as engine rotational speed and so on or a value selected from a map based on engine parameters. When either one of Ne, θ th  and P B  has exceeded Nr, θr and Pr, respectively, the feedback action is to take place. The reason why the switch over between the determination of the ignition angle θ IG  based on feedback control on the basis of various engine parameters and the use of the fixed θ IGr  is made here is, the indicative pressure near the top dead center due only to the compression of air may be greater than the indicative pressure near the top dead center due to the combustion in the cylinder. When the engine rotational speed is low, the changes in the indicative pressure in such a case are shown by the chain-dot line in FIG. 12. When the throttle opening is small or the intake manifold vacuum is great, the engine load is small or the throttle opening is extremely small, the indicative pressure changes in such a manner as shown by a solid line curve in FIG. 12. In this case, the position of the maximum indicative pressure peak is also located near the top dead center and it is not suitable to feedback control the ignition angle. The dotted line curve in FIG. 12 shows the changes of the indicative pressure under normal operation condition. It is now to be understood that either step S 41  or S 42   may be omitted, if preferred. 
     When it is detected that the engine is under normal operation condition or, in other words, is not in the state of low engine rotational speed, the state of extremely small throttle opening or the state of low engine load condition, the indicative pressure peak position θ px  (N) is taken. However, in this program, the difference Δθ IG  (N-1) between the ignition angle θ IG  (N-1) which was set up in the previous program cycle and the ignition angle θ IG  (N-2) which was set up in the yet previous program cycle is first computed (step S 45 ). Then, upon detection of the presence of the read-in command signal, the indicative pressure peak data θ px  (N) is taken (steps S 1  or S 2a ). Thereafter, the contents of the step S 44  may be executed. 
     Then, the difference Δθ px  (N) between the present θ px  (N) and the preceding θ px  (-1) is computed (step S 45 ), and the ratio K(N) of Δθ px  (N) to the already obtained Δθ IG  (N-1) is derived in the step S 46 . Thereafter, the steps S 20 , S 21 , S 22 , S 23 , S 24 , S 25  and S 3a  are executed in the same way as described in connection with FIG. 7. 
     In thus advancing or delaying the previous ignition angle θ IG  (N-1) according to the peak position of θ px  (N), θ IG  (N-1) is either decreased or increased by K(N)·Δθ 1  or K(N)·Δθ 2  (steps S 47  and S 48 ). 
     It means that, since the current peak position θ px  (N) is based on the ignition angle θ IG  (N-1) computed during the preceding cycle and the previous peak position is based on the yet previous ignition angle θ IG  (N-2), the degree of influence of the change Δθ IG  (N-1) from θ IG  (N-2) to θ IG  (N-1) on the change Δθ px  (N) from θ px  (N-1) to θ px  (N) is represented by K(N) and it is reflected in the angle advance or delay control of the currently established ignition angle θ IG  (N) for the ignition of the next engine cycle. 
     FIG. 13 shows a subroutine program which is effective for use in the ignition angle establishing circuit 8. 
     The ignition angle establishing circuit containing this subroutine program determines whether the reference position signal such as the TDC pulse is present or not (step S 50 ). If not, it is determined whether the time interval of the absence of the reference position signal has exceeded (K 2m  ×clock period) or not (step S 51 ). If not, 1 is added to the constant K 2  and the program flow is terminated (step S 52 ). If, the time interval of the absence of the reference position signal has exceeded a time period of K 2m  ×(clock period), then the set up ignition angle θ IG  is restored to the initial value θ IGO  and K 2  is set to zero while a cancel flag for disregarding this θpx data is added to this θ px  data (step S 53 ). When the presence of the reference position signal is detected, K 2  is set to zero (step S 54 ). 
     This subroutine program is effective for determining the stoppage of the engine operation and for preparing the next engine start. 
     In FIG. 14, there is shown another ignition timing control system according to the present invention which includes an indicative pressure signal generator 1 having the same function as the indicative pressure signal generator 1 shown in FIG. 2. There is provided a constant frequency clock generator 2&#39; which produces a constant frequency clock signal. The frequency clock generator 2 may be a divider for dividing in frequency a high frequency clock signal for triggering a microprocessor used for an ignition angle establishing circuit 8&#39; described hereinafter. A reference position signal generator 3&#39; is made of a magnetic projection 3a mounted on a disc rotating in synchronism with the crank angle of the engine and a magnetic sensor 3b, such as a so-called pulser coil, for detecting the passage of the projection before it. The reference position signal or pulse produced from the reference position signal generator 3&#39; appears at a crank angle of, for example, 10° before TDC. Thus, the reference position pulse may be referred to as a BTDC pulse. There is provided a peak hold circuit 4 which is the same as the peak hold circuit 4 of the embodiment shown in FIG. 2. A comparator 5 produces a peak detection pulse in response to the output signal from the peak hold circuit 4 and the indicative pressure signal as the peak hold circuit 5 of FIG. 2 functions. A counter 6 counts the clock pulses from the clock pulse generator 2&#39; until it is cleared by a timing pulse produced from a timing pulse generator 20. The timing pulse generator 20 is composed of a plurality of magnetic projections 20a equidistantly mounted on the periphery of a disc rotating in synchronism with the crank shaft, and a magnetic sensor 20b for detecting passage of each of the projections before it so as to produce the timing pulse at each passage of the projection. In this embodiment, the projections are eight in total number and spaced from each other by 45°. A T px  latch circuit 21 is adapated to latch the content of the counter 6 when it is triggered by the peak detection signal from the comparator 5 and to apply its latch content to an ignition angle establishing circuit 8&#39;. The ignition angle establishing circuit 8&#39; has a function basically similar to that of the ignition angle establishing circuit 8 and may be preferably formed of a microprocessor governed by a program as explained hereinafter. The content of the counter 6 is also applied to the ignition angle establishing circuit 8&#39; and to a decoder 21. The decoder 21 is adapted to produce a read-in command signal when the content of the counter 6 becomes equal to a reference value. The decoder 21 may be a programable decoder which produces a logic &#34;1&#34; signal when its input digital signal is equal to the reference value determined by the parallel digital command signal which relates in this case to the engine speed signal Ne. This reference value is so determined as to relate to the engine rotational speed signal Ne produced from the ignition angle establishing circuit 8&#39; so that the reference value constantly defines a crank angle range slightly larger than a crank angle range in which the indicative pressure peak may appear. 
     This arrangement is made to avoid adverse effect by any possible noises such as valve seating noises which may occur after the crank angle corresponding to the reference value. The ignition angle establishing circuit 8&#39; reads the contents of the latch circuit 21 in response to the read-in command signal from the decoder 21 and determines that the indicative pressure peak has appeared at a crank angle corresponding to the latched content. The ignition angle establishing circuit 8&#39; compares the latched content representing the indicative pressure peak position with the content of the counter 6 at the appearance of the timing pulse and calculates the present crank angle at which the indicative pressure peak has appeared. Then, the ignition angle establishing circuit 8&#39; modifies a preceding crank angle calculated at a preceding cycle by adding thereto a certain angle value or subtracting therefrom another certain angle value to establish a new ignition angle for this time. 
     It is now to be understood that a gate may be provided for relaying the latched content of the latch circuit 6 to the ignition angle establishing circuit 8&#39; in response to the read-in command signal from the decoder 22. 
     It is further to be noted that a circuit may be provided for calculating the engine rotational speed Ne on the basis of the constant frequency clock signal, timing pulses and a reference position signal. 
     The reference value may be determined in the decoder 12 to be inversely proportional to the engine rotational speed so as to produce the read-in command signal at a generally constant crank angle whereby it is possible to obtain a time period sufficient for the calculating of the ignition angle establishment in the ignition angle establishing circuit 8&#39;. 
     The ignition angle establishing circuit 8&#39; in this case functions to trigger a gate-controlled rectifier SCR in an ignition circuit of the so-called charge-discharge type. 
     FIGS. 15A through 15J are diagrams respectively showing waveforms of signals appearing in the system of FIG. 14 so as to explain the function of the ignition angle establishing circuit 8&#39;. 
     In FIGS. 15A and 15B, there are shown the reference pulses (each called as &#34;A pulse&#34; hereinafter) appearing at BTDC 10° and the timing pulses (each called as &#34;B pulse&#34; 10° after the &#34;A pulse&#34; and Nos. 1 through 7 &#34;B pulses&#34; appear consecutively with an interval corresponding to a 45° crank angle during each one complete rotation of the crank shaft. 
     FIG. 15C shows a manner of variations of the count value CF in a free-run counter (not shown) contained in the ignition angle establishing circuit 8&#39; in response to the clock pulses. It is to be noted that the counting frequency and phase for the free-run counter is made to coincide with those of the constant frequency clock 2&#39;. A single oscillator may be provided for supplying the same frequency signal both to the constant frequency clock generator 2&#39; and the ignition angle establishing circuit 8&#39; in which the frequency signal is divided into a suitable reduced frequency. 
     FIG. 15D shows in solid line variations of the indicative pressure signal produced from the indicative pressure signal generator 1. The comparator circuit 5 produces the peak detection signals as shown in FIG. 15E at the respective appearances of peaks of the indicative pressure signal. FIG. 15F shows manner of changes of the count value of the counter 6. FIG. 15G shows manner of changes of the latched value T px  in the latch circuit 21. 
     FIG. 15H shows a manner of change in a count number T contained in the ignition angle establishing circuit 8&#39;, which count number T will be explained hereinafter with reference to FIG. 16. 
     FIG. 15J shows a waveform of an ignition command pulse produced from the ignition angle establishing circuit 8&#39;. 
     In FIG. 16, there is shown a flow chart describing main routine work performed by the ignition angle establishing circuit 8&#39; which establishes an optimum ignition angle θ IG  and produces an ignition command or trigger signal when the actual crank angle reaches the established optimum crank angle θIG. 
     As seen from the figure, the power source is applied to the ignition angle establishing circuit 8&#39; and ignition angle establishing circuit 8&#39; starts performing the main routine work in sequence. At the first step S 51 , a predetermined initialization is made. At a step S 52 , a count value FS of an inside stage counter is reviewed, which stage counter is contained in the ignition angle establishing circuit 8&#39; and triggered by the clock pulses in this ignition angle establishing circuit. If the count value FS is &#34;0&#34;, the engine rotational speed signal Ne is picked up from a preselected memory area in a memory means (not shown) such as a ROM and the engine rotational speed signal Ne is compared with a critical engine speed Ne 1  such as 2800 r.p.m. (step S 53 ). When Ne is equal to or smaller than Ne 1 , and engine speed related ignition angle θ IG  (Ne) is made equal to a function value f(Ne) which may be a so-called map value (step S 54 ). When Ne is larger than Ne 1 , the step S 52  is again performed. When the count value FS is equal to &#34;0&#34;, then it is determined whether or not the read-in command signal from the decoder 22 exists (step S.sub. 55). When the read-in command signal exists, the T px  latch data is taken from the latch circuit 21 (step S 56 ). Then, the indicative pressure peak angle θ px  is obtained by calculating K×T px  /T al , where T al  data is taken from the counter 6 by means of &#34;B pulse&#34; interruption routine starting at the leading edge of No. 1 &#34;B pulse&#34; while interrupting the main routine (step S 57 ). The thus obtained θ px  is compared with a target peak angle θ TGT   of, for example, an ATDC 12° crank angle (step S 58 ). When θ px  is not equal to θ TGT , then it is determined which is larger θ px  and θ TGT  (step S 59 ). When the angle θ px  is smaller than the target angle θ TGT , then the ignition angle θ IG  is retarded by Δθ 1  (step S 60 ). When, to the contrary, the angle θ px  is larger than the angle θ TGT , then the ignition angle θ IG  is advanced by Δθ 2  (step S 61 ). It is to be understood that Δθ 1  may be equal to Δθ 2 , if preferred. It is further to be understood that the angle θ px  may be regarded as being equal to the target angle θ TGT  as long as a difference between the angles θ px  and θ TGT  is smaller than a predetermined small value. At the succeeding step S 62 , it is determined whether or not a flag F exists (step S 62 ). The existence of F (F=1) means that the ignition angle θ IG  has been established during a one-time preceding cycle by means of this feedback ignition timing control which is referred to as the &#34;feedback ignition timing control mode&#34; hereinafter. When the flag F exists, the engine speed data Ne is compared with a predetermined engine speed data Ne 0  of, for example, 2500 r.p.m. which is smaller than the engine speed Ne 1  (step S 63 . When the engine speed data Ne is equal to or larger than the data Ne 0 , the flag F is made to be &#34;1&#34; (step S 64 ). When the engine speed data Ne is smaller than the data Ne 0 , the ignition angle θ IG  is set to the already obtained angle θ IG  (Ne) (step S 65 ). When, on the other hand, the flag F is equal to &#34;0&#34;, it is true that the ignition angle θ IG  has been established, in the one-time previous cycle to be equal, to the map value f(Ne) through a &#34;map control mode&#34;. At this moment, the engine speed data Ne is compared with the data Ne 1 . (step S 66 ). When Ne is larger than Ne 1 , the &#34;feedback control mode&#34; should be used in the present cycle and therefore the ignition angle θ IG  determined through the previous steps S 58  through S 61  is maintained and the flag F is set to &#34;1&#34;. (step S 64 ) When, on the other hand, Ne is equal to or smaller than the data Ne 1 , the &#34;map control mode&#34; is performed again in the present cycle and therefore the ignition angle θ IG  is made to be equal to the map value θ IG  (Ne) (step S 65 ) and the flag F is made to be &#34;0&#34; (step S 67 ). 
     It should be understood that the two different critical values Ne 1  and Ne 2  are selectively used in dependence upon the value of the flag F in order to exhibit a hysteresis characteristic for the change-over between the map control mode and the feedback control mode. Thus, Ne 1  may be equal to Ne 2  and those steps for establishing and determining the flag F may be deleted if it is unnecessary to perform such a hysteresis characteristic. 
     The thus obtained θ IG  is confined between a maximum threshold θ IGMX  and a minimum threshold θ IGMN  during steps S 66  through S 71 . Then, the execution will return to the step S 52 . 
     When it is realized that the count value FS is equal to &#34;4&#34; in a step S 72  an ignition timing T IG  is calculated as θ IG  ×Me(4) which has been obtained through a &#34;B pulse&#34; interruption routine explained hereinafter, so as to prepare the next ignition command. 
     When it is realized that the count value FS is equal to &#34;7&#34; in a step S 74 , a count value T of an inner ignition counter (not shown) contained in the circuit 8 is set to the timing T IG  in a step S 75 . When the count vlaue T becomes zero or smaller than zero, then an ignition command is generated in steps S 75  through S 78 . The ignition command is supplied to the gate terminal of the gate-controlled rectifier SCR through a certain port of the circuit 8&#39;. FIG. 14H shows a manner of reduction of the count value T and FIG. 14J shows a waveform of the ignition command signal. 
     It is now to be understood that the above-mentioned main routine is performed in response to the constant frequency clock pulses. The &#34;A pulse&#34; interruption sub-routine shown in FIG. 16 is executed during interruption the main routine in response to the &#34;A pulse&#34;. In the first step S 80  of this sub-routine, the count value FS is set to &#34;-1&#34;. Then, an ignition command is generated in the next step S 81 . This step S 81  is provided to avoid misfiring and therefore this step S 81  may be omitted, if preferred. Namely, a principal job performed by the &#34;A pulse&#34; interruption sub-routine is to present the count value FS of the stage counter to &#34;-1&#34;. 
     FIG. 18 shows the &#34;B pulse&#34; interruption sub-routine to be executed in response to the &#34;B pulse&#34; while interrupting the main routine. In the first step S 90  thereof at which the &#34;B pulse&#34; rises up, the circuit 8&#39; takes the respective count values Tam (m=0-7) of the clock counter 6 and the respective count values CF(m) (m=0-7). In the next step S 91 , a data Me(m) is obtained by calculating a difference between a present value CF(m) and a preceding value CF(m-1). In the next step S 92 , the values Me(m-7), Me(m-6), . . . , Me(m-1) are summed together to obtain Me(m). In the succeeding step S 93 , an engine rotational speed Ne is given by inverting the value Me(m). Then, the engine speed Ne is compared with a cranking speed N CR  such as 2000 r.p.m. at the next step S 94 . 
     When Ne is smaller than N CR , indicating that the engine is being cranked, the program enters the initialization step S 51 . When, on the other hand, Ne is equal to or larger than N CR , the count value FS of the stage counter is increased by &#34;1&#34; in the step S 95  and this sub-routine ends to return to the main routine. 
     The ignition angle establishing circuit 8&#39; is governed by the above-mentioned main routine program and &#34;A pulse&#34; and &#34;B pulse&#34; sub-routines, thereby to establish an ignition angle, to convert the established ignition angle into an ignition timing and finally to give the ignition command to the ignition circuit. 
     In the ignition timing control system described above with reference to FIGS. 14 through 18, the latch circuit 21 latches a count value of the counter 6 and the ignition angle establishing circuit 8&#39; takes the latched count value when a count value of the counter 6 exceeds a reference value which varies in accordance with the engine rotational speed Ne. The ignition angle establishing circuit 8&#39; will not be significantly influenced by any possible noise such as valve seating noises and ignition noises to be contained the indicative pressure signal and furthermore can determine the indicative peak position at a relatively early timing thereby to remain a sufficient time period for the calculation of the required ignition angle establishment. 
     FIG. 19 shows still another ignition timing control system identical to that of FIG. 14 except that the decoder 22 has been omitted but a level shifter 23 and a comparator 24 are substantial which produce a read-in command signal when the indicative pressure signal lowers below a reference level Vr which is obtained by suitably shifting in level from the indicative peak level PK, for example, a trisection of the peak level PK. The shifting rate of the level shifter 23 is determined according to experience or experiments. 
     The above arrangement is based on a fact that when the indicative pressure signal largely falls below a first indicative pressure peak, the particular first indicative pressure peak should the maximum and any noise peaks caused by noises such as valve seating noises will be ignored. 
     The ignition angle establishing circuit 8&#39; takes the peak position count T px  from the latch circuit 21 in response to the read-in command signal produced from the comparator 24 and calculate the indicative pressure peak position on the basis of the peak position count T px  and a count content T al  of the counter 6 at the appearance of a timing pulse so as to establish a present time ignition angle by modifying a previous ignition angle. 
     It is to be understood a gate circuit may be provided for relaying the peak position count T px  from the latch circuit 21 to the ignition angle establishing circuit 8&#39; in response to the read-in command signal. 
     FIG. 20A shows the reference position pulse such as the BTDC pulse produced by the reference position signal generator 3&#39; and FIG. 20B shows the constant frequency clock pulses consecutively appearing from the clock pulse generator 2&#39;. FIG. 20C shows the indicative pressure signal in a solid line and the output signal from the peak hold circuit 4 in a broken line, the maximum level of which is indicated by PK. The reference level Vr is indicated by a phantom line. 
     FIG. 20D shows a waveform of the peak detection signal from the comparator 5 and FIG. 20E shows a manner of variation of the count value of the counter 6 which counts to constant frequency clock pulses from the generator 2&#39; as already described. FIG. 20F shows a manner of variation of the latch content of the latch circuit 21. FIG. 20D shows a waveform of the read-in command signal from the comparator 24 which is issued when the indicative pressure signal falls in level below the reference level Vr. 
     As seen from the above, the ignition angle establishing circuit 8&#39; takes the latch content in the latch circuit 21 as the peak position information immediately when the indicative pressure signal falls in level below the reference level Vr, so that the ignition angle establishing circuit 8&#39; will not be adversely affected by a possible incorrect latch content of the latch circuit 21 which may be caused by valve seating noises etc. possibly contained in the indicative pressure signal. 
     Furthermore, it is possible to save time for the ignition angle establishing circuit 8&#39; to take in the latch content from the latch circuit 21 in comparison with a system in which the indicative peak position information is determined at a predetermined ignition angle for example ATDC 60°. 
     It is to be understood that the read-in command generating system including the level shifter 23 and the comparator 24 can be utilized for the system of FIG. 2 while omitting the decoder 11, thereby applying the read-in command signal from the comparator 24 but not from the decoder 11 up to the ignition angle establishing circuit 8&#39;. 
     In FIG. 21, there is shown another program to be executed by the ignition angle establishing circuit 8, which is the same as that of FIG. 5 except that the former further includes a step S 100 . In the step S 100 , the engine rotational speed Ne is compared with a reference high speed Neh falling within an over rotation zone of the engine. When the engine rotational speed Ne exceeds the reference high speed Neh, an ignition prohibition flag F sp  is established to be equal to a logic &#34;1&#34;, in a step S 101 . 
     FIG. 22 shows another program to be executed by the ignition command circuit 9, which is the same as that of FIG. 6 except that the former further includes a step S 102  in which it is determined whether the ignition prohibition flag F sp  is equal to &#34;1&#34; or not. When the flag F sp  is equal to the logic &#34;1&#34; those steps S 13  through S 16  are bypassed thereby to prohibit the ignition command. 
     By the above-described arrangement, the ignition of the engine is prohibited while the engine rotational speed is within the over rotation zone, thereby to reduce the engine rotational speed. 
     In FIG. 23, there is shown another program to be executed by the ignition angle establishing circuit 8, which is the same as that of FIG. 5 except that the former further includes steps for detecting the so-called engine-brake state of the engine. 
     In the step S 103 , the engine rotational speed Ne is compared with a reference high speed Nr. Whena the engine speed Ne is equal to or lower than the reference high speed Nr, then the value α is set to a relatively smaller value α 1  in a step S 104  and then the succeeding steps S 1  through S 5  are executed. The step S 104  may be bypassed as shown in a dotted line l 2 , if preferred. When the engine rotational speed Ne is higher than the reference high speed Nr, the throttle opening θ TH  is compared with a reference small opening θ r  in a step S 105 . When the throttle opening θ TH  is smaller than the reference small opening θ r , it can be determined that the engine is in the &#34;engine brake&#34; state, and therefore the value α is set to a relatively larger value α 2  in a step S 106 , thereby to cause the ignition angle for the succeeding cycles to be retarded. Otherwise, the next-cycle ignition angle may be set to a fixed ignition angle θ IGr , if preferred, in a step S 107  as indicated by dotted lines l 3  and l 4 . The determination of the light load condition can be done by comparing the absolute value of the intake manifold vacuum P B  with a predetermined pressure P r  in a step S 108 , as indicated by a line l 5 . 
     It is to be understood that the predetermined value θ IGr  may be a variable which varies in accordance with one or more of the engine parameters, if preferred. 
     It is furthermore to be understood that the step S 107  may be replaced another step of setting the ignition prohibition flag F sp , if preferred, so as to prohibit the ignition in cooperation of the program of FIG. 22. 
     By the above-mentioned arrangement, the ignition angle is retarded, or fixed to the predetermined ignition angle θ IGr  or the ignition is prohibited when the engine is in the engine braking state. 
     In FIG. 24, there is shown another ignition timing control system which is the same as that of FIG. 2 except that the clock pulse generator 2 is substituted for first and second clock pulse generator 2a and 2b respectively producing first and second clock pulses. The first and second generators 2a and 2b are, for example, composed of a pair of photocouplers (not shown) cooperative with a single disc 15 (FIG. 25) rotating in synchronism with the crank shaft. The disc 15 has a first group of slits 17a formed equiangularly through 360° and second group of slits 17b formed radially inward of the slits 17a and equiangularly through a small range from BTDC 90° to BTDC 10°. The first and second groups of slits 17a and 17b have the same circumferential width and offset from each other by an angle corresponding to the particular circumferential width. Those photocouplers are to be placed at the same angular position but respectively associate with the first and second groups of slits 17a and 17b. 
     The reference position pulse generator 3 is adapted to produce reference position pulses each appearing at a reference position of BTDC 90°. The reference position pulse generator 3 may be composed of a potocoupler (not shown) which associates with a reference position slit 17c formed on the disc 15. 
     The decoder 11 is, in this embodiment, adapted to produce the read-in command signal when the count value of the counter 6 reaches a predetermined number &#34;153&#34; since the reference position is before the TDC. 
     FIGS. 26A through 26G show waveforms of signals appearing in the circuit of FIG. 24. As seen from this figure, those waveforms are the same as those of FIGS. 3A through 3G except that the reference position pulse appears at the BTDC 90° and the read-in command signal appears when the count value of the counter 6 reaches the number &#34;153&#34;. 
     It is to be understood that the ignition timing control system shown in FIG. 24 further includes a reverse rotation detector 13. The reverse rotation detector 13 is adapted to produce a reverse rotation detection signal when it detects the reverse rotation of the engine. The reverse rotation detection signal is applied to the ignition angle establishing circuit 8 and the ignition command circuit 9. 
     FIG. 27 shows an example of the reverse rotation detector 13. This reverse rotation detector includes an AND gate 14 having two input terminals to which the first and second clock pulses are applied. An output terminal of the AND gate 14 is connected to one input terminal of an AND gate 15 having another input terminal to which a pulse signal differentiated from the first clock pulse by a differentiator 16. An output terminal of the AND gate 15 is connected to a set terminal of a set-reset flip-flop circuit 17 having a reset terminal to which the reference position signal is applied. 
     When the engine rotates in the normal direction, the first and second clock pulses respectively have such waveforms as shown in FIGS. 28(a) and 28(b). Then the output signal of the AND gate 14 has such a waveform as shown in FIG. 28(c). The differentiator 16 produces the pulse signal appearing at the leading edge of each of the first clock pulses, as shown in FIG. 28(d). Therefore, the AND gate 15 does not produce any logic &#34;1&#34; signal on its output and accordingly the flip-flop 17 is kept the reset state in which the Q output is &#34;0&#34;. 
     When, to the contrary, the engine rotates in the reverse direction, the second clock pulses have a phase more advanced than the first clock pulses, so that the AND gate 15 periodically produces the logic &#34;1&#34; signal thereby to set the flip-flop 17. In this instance, the Q output of the flip-flop 17 is &#34;1&#34; which is the reverse rotation detection signal. 
     FIG. 30 shows another program to be executed by the ignition angle establishing circuit 8 which is the same as that of FIG. 5 except that the former further includes a step S 110  in which it is determined whether the reverse rotation detection signal exists or not. When the reverse rotation detection signal does not exist, the ignition angle establishing steps S 1  through S 5  are executed. When, however, the reverse rotation signal exists, the ignition angle θ IG  is set to a fixed angle θ IGO  without respect to indicative peak position signal. 
     The ignition command circuit 9 executes a program shown in FIG. 31 which is the same as that of FIG. 6 except that the former further includes a step S 111  of determining the existence of the reverse rotation detection signal. When the reverse rotation detection signal exists, the steps S 13  through S 16  are bypassed thereby to prohibit the ignition command. 
     It is therefore to be understood that ignition is prohibited during the reverse rotation of the engine. 
     Since, on the other hand, the reference position pulse appears at a BTDC such as BTDC 90°, the ignition command is made even in the first engine cycle upon the engine-start operation, that is, the cranking state, so that the engine start can be readily made. This arrangement is most preferred when the engine is a motor cycle engine which is to be started by &#34;kicking&#34;.