Background of the Invention
The present invention relates to an ignition timing control system which is capable of controlling as desired the ignition timing of an internal combustion engine by using a processor which executes computational operations in a software manner.
Summary of the Invention
It is the object of the present invention to provide an ignition timing control system which is capable of controlling the ignition timing of an internal combustion engine by detecting a reference point of the engine crankshaft in synchronism with the rotation thereof as well as the rotational speed of the crankshaft, applying an interruption request to a processor in response to a reference signal indicative of the reference point to temporarily stop the computational operation being executed at that time, computing a time period from the time of the interruption request to the point of ignition in accordance with a desired spark advance value and the rotational speed of the crankshaft, and instructing the ignition system of the engine to spark at the expiration of a time period corresponding to the computed value of the processor, thus improving the computing efficiency of the processor.
Brief Description of the Drawings
FIG. 1 is a wiring diagram showing an embodiment of an ignition timing control system according to the present invention.
FIG. 2 is a voltage waveform diagram which is useful for explaining the operation of the system according to the invention.
FIG. 3 is a flow chart which is useful for explaining the operation of the processor shown in FIG. 1.
Description of the Preferred Embodiment
The present invention will now be described in greater detail with reference to the illustrated embodiment. In FIG. 1 illustrating a wiring diagram showing the entire construction of the ignition timing control system according to the invention, numeral 1 designates a processor for performing computational operations in a software manner, namely, a processor in which the execution of various computational operations is accomplished in accordance with a predetermined control program and the required interruption computational operation for controlling the ignition timing is performed upon receipt of an interruption request. A suitable processor 1 is the TLCS-12 of Tokyo Shibaura Electric Co., Ltd. (Toshiba). The processor 1 includes a central processing unit (CPU), a read only memory (ROM) and a random access memory (RAM). A program for performing the computation sequence is stored in the ROM, and the processor 1 executes the computing sequence programmed in the ROM by temporarily storing or loading data in the RAM. When a predetermined input signal is delivered to an interrupt request terminal ILR of the processor 1, it interrupts the routine computation sequence and instead executes an interrupt computation sequence in accordance with another program stored in the ROM. The afore-mentioned function is common to most processors. For example, the processor, TLCS-12 in this embodiment may be replaced by the microprocessor MC6800 manufactured by MOTOROLA Semiconductor Products, Inc. in the U.S.A. and described in the "MC6800 Microcomputer System Reference Handbook" published in 1974. Numerals 2 and 3 designate first and second input/output (I/O) registers for temporarily storing the computed values of the processor 1 and each of these registers consists of the Toshiba T3220. If the above-mentioned microprocessor MC6800 is used as the processor 1, the peripheral Interface Adapters (PIA), MC68200 manufactured by MOTOROLA Semiconductor Products, Inc. can be used as the I/O registers. Numeral 4 designates a counter for counting clock pulses, 5 a clock generator for producing a 64 KH.sub.z clock pulse, 6 and 7 first and second digital comparators for respectively comparing the stored values of the I/O registers 2 and 3 with the count value of the counter 4 to produce a comparison signal when there exists the equality between the two values, 8 an R-S flip-flop which is reset by the comparison signal from the first digital comparator 6 and which is set by the comparison signal from the second digital comparator 7, thus producing an ignition command signal in response to the resetting thereof. Numeral 9 designates a disk mounted on the crankshaft of the engine with projections of a magnetic material provided at reference points of the crankshaft. Numeral 10 designates an electromagnetic pickup comprising a coil wound on a magnet so that a reference signal is produced when each of the projections on the disk 9 passes the pickup. Numeral 11 designates a rectifying amplifier for amplifying and rectifying the reference signal to produce a reference pulse. Numeral 12 designates a delay element for delaying the reference pulse to produce a delayed pulse which is used to reset the counter 1. Namely, the delay element 12 receives the reference pulse generated at the output of the rectifying amplifier 11 and generates an output pulse after a predetermined time .tau. at the reset terminal R of the counter 4. The reference pulse from the rectifying amplifier 11 is also used to request the processor 1 to produce an interrupt. Numeral 13 designates a noninverting buffer gate operable in response to the receipt of a low-level or "O" level (hereinafter referred to as "L-level") stop signal indicative of the stopping of the operation of the processor 1, 14 a base resistor, 15 an NPN transistor which is turned off in response to the stop signal and which is turned on during the time that the processor 1 is in operation. Numeral 16 designates a protective diode, 17 a controlling power source, 18 a relay for changing the connections in response to the turning on and off of the NPN transistor 15. Namely, the relay 18 holds an armature contact at a position as shown by a solid line, while the transistor 15 is turned on by a high-level or "1" level (hereinafter referred to as "H-level") generated at an RS terminal on the processor 1 in operation. While the transistor 15 is turned off by an L-level signal generated at the RS terminal of the processor 1 in a halt state, the relay 18 holds the armature contact at a position as shown by a dotted line. The noninverting buffer gate 13, the base resistor 14 and the transistor 15 constitute a detecting circuit 300 for detecting the operating state of the processor 1. A switching device 400 is constituted by the relay 18, and a switching means is constituted by the detecting circuit 300 and the switching device 400. Numeral 19 designates a photocoupler, 20 a current limiting resistor, 21 an NPN transistor which is turned off when the base current to a base resistor 22 is interrupted by the ignition command signal from the R-S flip-flop 8. Numeral 23 designates the cam contact in the distributor (not shown) which is mounted in the engine, 24 a bias resistor, 25 an emitter resistor, 26 a PNP transistor, 27 an NPN power transistor connected in phase with the PNP transistor 26. Numeral 28 designates a protective Zener diode, 29 an ignition coil in which the flow of current in the primary winding is interrupted in response to the turning off of the NPN power transistor 27 and a sparking high voltage is induced in the secondary winding. Numeral 30 designates a spark plug for igniting a mixture of fuel and air in the engine by means of the sparking high voltage, 31 an automobile power source. Transistors 26 and 27, and associated circuitry may thus be considered to be an ignition circuit, generally indicated as 50.
The disk 9 and the electromagnetic pickup 10 constitute a sensor 100 for detecting the reference points of the crankshaft in sychronism with the rotation of the crankshaft of the engine, the counter 4 constitutes speed detecting means 150 for detecting the rotational speed of the crankshaft, and the first and second I/O registers 2 and 3, the first and second digital comparators 6 and 7 and the R-S flip-flop 8 constitute ignition command means 200 for producing an ignition command signal at the expiration of a time period corresponding to the computed value of the processor 1.
Next, the operation of the ignition timing control system constructed as described above will be described with reference to the signal waveform diagram of FIG. 2 and the flow chart of FIG. 3. The disk 9 mounted on the engine crankshaft is formed with the two projections which are displaced from each other by 180.degree. of the crankshaft rotation and the electromagnetic pickup 10 is mounted at a reference point of the crankshaft corresponding to 90.degree. before the top dead center of the piston so that its output reference signal a has the waveform shown at a of FIG. 2. This output reference signal a is rectified by the rectifying amplifier 11 and the resulting reference pulse b has the waveform shown at b of FIG. 2. The reference pulse b is applied to the delay element 12 which produces the delayed pulse c shown at c of FIG. 2. This delayed pulse c is applied to the reset input of the counter 4 which in turn repeatedly produces at its output Q the count of the clock pulses produced from the clock generator 5 for every 180.degree. of the crankshaft rotation. Preferably, the counter 4 is a binary counter. The binary output thereof represents a value inversely proportional to the rotational speed of the engine and is applied, as a detected value of the crank shaft rotational speed, to the processor 1. On the other hand, the output reference pulse b of the rectifying amplifier 11 is applied to the interrupt request terminal (ILR) of the processor 1 so that at every point of 90.degree. before the top dead center the processor 1 is requested the produce an interruption and compute the desired point of ignition. The flow chart of this series of operations is shown in FIG. 3. The computation sequence of the flow chart shown in FIG. 3 is written in an interruption program format to be executed by the processor 1 in response to the interruption request, and the interruption program is stored in the ROM of the processor 1, together with a program for other routine computation sequences. In the discussion to follow, the desired spark advance value indicates a spark advance angle before the top dead center and the angle is 30.degree. in the illustrated embodiment. A computed value T.sub.2 represents the number of clock pulses produced during a time period T.sub.2 ' from 90.degree. before the top dead center to the point of ignition. The angle of 80.degree. represents an angle during which the flow of current in the ignition coil 29 is stopped. Thus, similarly a computed value T.sub.4 represents the number of clock pulses produced during a time period from 90.degree. before the top dead center to the point at which the flow of current in the ignition coil 29 is restarted.
Initially, the execution of a computational operation is started at a first step 41 responding to the interruption request by the reference pulse b, and a count value N of the counter 4 which indicates a value inversely proportional to the rotational speed of the crankshaft is read at a second step 42. The control is then transferred to a third step 43 at which a change T.sub.1 in the clock count value for every 1 degree of crankshaft rotation is obtained by performing a division T.sub.1 = N/180.degree. and the control is further transferred to a fourth step 44 at which the number of clock pulses T.sub.2 produced during a time period between the reference point and the ignition point is obtained by performing a multiplication T.sub.2 = T.sub.1 .times. (90.degree. -- the desired spark advance value). The result of this multiplication or the clock count value T.sub.2 is transferred to and temporarily stored in the first I/O register 2 at a step 45. Then, at a sixth step 46, the number of clock pulses T.sub.3 produced during 80.degree. of crankshaft rotation from the point of ignition is obtained by performing a multiplication T.sub.3 = T.sub.1 .times. 80.degree., and then at the next step 47 the number of clock pulses T.sub.4 produced during a time period from the reference point to the next waiting period after the ignition is obtained by performing an addition T.sub.4 = T.sub.2 + T.sub.3 the result of which or the number of clock pulses T.sub.4 is in turn transferred to and stored temporarily in the second I/O register 3 at an eighth step 48. Thereafter, at a ninth step 49 the execution of the computational operation started in response to the interruption request by the reference pulse b is completed and the control is returned to the normal operation.
The outputs of the first and second I/O registers 2 and 3 or the computed values stored during the above-mentioned interrupt computational operation are applied respectively to one input terminals of the first and second digital comparators 6 and 7 and the output Q of the counter 4 is applied to the other input terminals of these comparators. Consequently, when the output Q of the counter 4 coincides with the output of the first I/O register 2, that is, at 30 degrees before the top dead center, the comparison signal d shown at d of FIG. 2 is produced at the A = B terminal of the first digital comparator 6. Similarly, the comparison pulse e shown at e of FIG. 2 is produced at the A = B terminal of the second digital comparator 7 at 50.degree. after the top dead center. These comparison pulses d and e are respectively applied to the reset terminal R and the set terminal S of the R-S flip-flop 8 which in turn produces at its output the ignition command signal f shown at f of FIG. 2. This ignition command signal f is then amplified by the transistor 21 and the signal is supplied to the electrically isolated ignition system through the photocoupler 10. Namely, while the output signal of the R-S flip-flop 8 is at H-level of "1" level, the transistor 21 and thus the photocoupler 19 are turned on. Both the transistors 26 and 27 are turned on to energize the ignition coil 29 since the armature contact of the relay 18 is held at the position shown in the solid line during the operation of the processor 1 as described earlier. When the output signal of the R-S flip-flop 8 is inverted from H-level or "1" level to L-level or "0" level, the transistor 21 and thus the photocoupler 19 are turned off so that both the transistors 26 and 27 are cut off to de-energize the ignition coil 29. At the time the ignition coil 29 is de-energized, a high tension is applied to the ignition plug 30.
When the processor 1 stops its operation, an L-level signal is produced at its RS terminal so that the transistor 15 is turned off and the contact of the relay 18 is automatically connected to the cam contact 23 in the distributor thus continuing the sparking. Namely, when the processor 1 is in the halt state, the R-S flip-flop 8 does not generate an output signal to thereby cause both the transistor 21 and the photocoupler 19 to be turned off.
Thus, the ignition coil 29 is kept de-energized and the high tension cannot be applied to the ignition plug 30. In such a case, in order to generate the high tension across the ignition coil 29, the armature contact of the relay 18 is changed to the position shown by the dotted line so that the transistors 26 and 27 may be turned on and off by a contact cam 23 rotated by the engine in a conventional manner.
While, in the above-described embodiment of the invention, two units of the I/O register and digital comparator combination, i.e., the I/O registers 2 and 3 and the digital comparators 6 and 7 are employed, one of the two units may be elimimated to make the remaining one unit of the I/O register and digital comparator combination to serve the double purpose, in which case it is only necessary to alter the software of the processor 1 so that the results of the operation performed during a time period from the reference point to the point of ignition are stored in the I/O register to control the production of an ignition command signal and the results of the operation from the ignition to the restoration to the waiting condition is stored in the same I/O register by presetting to control the restoration to the waiting condition.
Further, while, in the above-described embodiment, the speed detecting means produces a count value which is inversely proportional to the rotational speed of the crankshaft, any other means such as one which produces a detected value proportional to therotational speed of the crankshaft may also be used.
Still further, while, in the above-described embodiment, the reference point sensor produces a reference signal each time the crankshaft rotates 180.degree., it is possible to use any other sensor which produces a reference signal for every 360.degree. of crankshaft rotation and the reference point may also be present as desired.