BACKGROUND OF THE INVENTION
[0001] The present invention relates to a method for controlling an automobile engine, and
more particularly to a method for controlling fuel injection of the automobile engine.
[0002] Further, the present invention relates to method and apparatus for control by using
a digital computer or logic circuit, and more particularly to a method for looking
up a table suitable for speeding up an operation.
[0003] In a prior art electric control apparatus for an engine, a fuel amount to be supplied
in a next step is determined based on a detected amount of suction air in a current
step to control fuel.
[0004] In the prior art technique, there exists an air amount detection error of approximately
one step. Therefore, it is difficult to keep the fuel supply amount to a proper value
and hence it is difficult to highly precisely control an air-to-fuel ratio. Further,
since the air amount detection error is compensated by allopathic treatment, number
of step of development increases.
[0005] A prior art method which theoretically solves the above problem is disclosed in JP-A-63-253137.
However, it is hard to implement it with an existing 8-bit microcomputer because of
a large calculation load.
[0006] On the other hand, a prior art method for looking up a table is explained for a control
apparatus of an automobile engine.
[0007] As an example of the table look-up, a table look-up for correcting an output voltage
characteristic of a sensor is explained.
[0008] Fig. 8 shows an output voltage characteristic of a hot wire sensor (for measuring
a suction air amount) for the suction air amount. A signal produced by the hot wire
sensor is an analog signal as shown in Fig. 9 and it represents a voltage value. It
is A/D-converted to a digital signal. Since the digital signal also represents a voltage,
it is necessary to convert it to a physical amount which represents an air amount
sucked per unit time. The air amount is calculated by using an air amount conversion
table.
[0009] In the air amount conversion table, an abscissa represents a voltage and there are
several grid points which represent air amounts. Where on the voltage axis (abscissa
in Fig. 10) of the air amount conversion table the A/D converted voltage (KHW) of
the signal provided by the hot wire sensor is located is determined. This is called
searching. Namely, where in the table THWi the KWH belongs to is determined, where
{THW
i | 0 ≦ i
< n
H - 1}. For example, j which meets a condition of
THW
j < KHW < THW
j+1 (1)
is determined. (Alternatively, j which meets a condition of
THW
j-1 < KHW < THW
j (2)
may be determined. The THW
i shown above are sorted in an ascending order but intervals between THW
i and THW
i+1 (0
< i
< n - 1) are not equal.
[0010] Based on the result of above search, the air amount for the voltage KHW is determined
by the following linear interpolation.

where VQ(·) represents an air amount for the voltage on the table.
[0011] As shown in Fig. 11, a gradient between THW
j+1 and THW
j is determined, and KHW-THW
j is multipled thereto to determine a physical amount VQ(KHW) for the voltage KHW.
[0012] Such a table which converts the characteristic of the sensor is used not only by
the hot wire sensor but also various other sensors such as wide band air-to-fuel ratio
sensor, coolant (cooling water) temperature sensor and throttle opening degree sensor.
Most of them have non-linear conversion characteristics of the physical amount to
the sensor output voltage. Such a sensor having the non-linear characteristic uses
the above table look up.
[0013] Particularly, in automobile control, the table look-up is frequently done based on
data produced by various sensors, in the process of calculating various operation
amounts such as fuel injection pulse width and ignition timing.
[0014] As an example, an operation to determine a fundamental ignition timing by linear
interpolation on a two-dimension table based on an engine rotating speed N and a load
LD = Qa/N (air amount/engine rotating speed) is briefly explained.
[0015] Fig. 12 shows an example of an ignition timing table. Where on the rotating speed
axis the rotating speed is located is searched and j₁ which meets a condition of
TN
j1 < N < TN
j1+1 (4)
is determined, where {TN
i | 0
< i
< n₁ - 1} is the rotating speed at a grid point having the value of ignition timing
on the rotating speed axis. On the other hand, where on the load axis the load LD
is located is searched and j₂ which meets a condition of
TLD
j2 < LD < TLD
j2+1 (5)
is determined, where {TLD
i | 0
< i
< n₂₋₁} is the rotating speed of the grid point having the ignition timing on the rotating
speed axis. After the search, a point G is determined by 4-point interpolation calculation
as shown in Fig. 13. The point G may be determined in the following manner.

where
A = AD(TN
j1, LD
j2+1),
B = AD(TN
j1, LD
j2),
C = AD(TN
j1+1, LD
j2),
D = AD(TN
j1+1, LD
j2+1), and
AD (α, β) is a fundamental ignition timing at a grid point (α, β) on the table.
[0016] In this manner, during the operation for controlling the engine, it frequently occurs
that the values which contribute to the operation amount are looked up from the table
based on the measured data and modified data (for example, load) derived from the
measured data. While the two-dimension table is used above, it also frequently occurs
that the value is looked up from a one-dimension table by the interpolation calculation.
[0017] The prior art search operation is explained for the search of the engine rotating
speed N. The grid points of the rotating speed axis are sorted in an ascending order
in the following manner. This is called an ordered table for the rotating speed
TN
i < TN
i+1 | 0
< i
< n - 1 (9)
[0018] As shown in Fig. 8, the values TN
i of the ordered table for the rotating speed are sequentially compared with the rotating
speed N in the ascending order to find j which meets the condition of the formula
(4). For example, when the engine rotating speed is high, the number of times of comparison
with the rotating speed ordered table increases, and the operation time increases.
The search procedure is programmed as a sub-routine, and the search for the rotating
speed as well as search on other ordered table are conducted. In an operation condition
where the engine rotating speed is high, various data such as suction air amount,
throttle opening degree, load and water temperature are in relatively high dynamic
ranges. Accordingly, all of those tables are looked up, and the comparison is started
from the start point (smallest value) of the ordered table for each operation cycle
to determine where the data is. Since the various data are searched from the various
ordered tables and the search is started from the same start point for each operation
cycle, the operation time required for the search is very large. When the operation
time is too large, a set of operations (called a task) of lower priority may not be
executed and normal control may not be attained. Particularly, when the rotating speed
is high, the rotation time within a constant crank angle is shortened. As a result,
the operations to be processed in the crank angle period increase in a constant time,
and the above problem dominantly rises.
SUMMARY OF THE INVENTION
[0019] It is an object of the present invention to provide a method for predicting a future
value of measurement data which predicts the future value, based on time-serial data
of measurement values heretofore available.
[0020] It is a second object of the present invention to provide a method for controlling
fuel injection of an engine which solves the above problems.
[0021] It is a third object of the present invention to provide a method for speeding up
a table look-up operation including searching for a table which contains operation
data of an automobile such as operation data of an engine.
[0022] In order to achieve the first object of the present invention, there is provided
an electronic control apparatus of an automobile engine which comprises:
(1) means for determining acceleration/deceleration level representing a magnitude
of acceleration or deceleration of a vehicle based on a displacement of a throttle
opening degree in a predetermined time,
(2) means for predicting and outputting a future value of measurement data by a digital
advancing filter based on measurement data heretofore available, and
(3) correction means for calculating measurement amount which is under or over if
the prodiction is made by the prediction means, in accordance with the acceleration/deceleration
level, and adding the calculated measurement amount to the output of the prediction
means to calculate the future value of the measurement data.
[0023] In order to achieve the second object of the present invention, the means is applied
to the prediction of the future value of the detection value of the engine operation
status such as suction air amount, and the fuel is controlled in accordance with the
predicted value.
[0024] The prediction means predicts the future value by the advancing filter based on the
measurement data heretofore available. Where the measurement value changes smoothly,
high procision prediction is attained.
[0025] The correction means calculates the measurement amount which is under or over if
the prediction is made by the advancing filter, when the measurement data starts to
change relatively fast from a steady state, and calculates the future value of the
measurement data. Thus, the precision of the prediction at an early stage of transient
period is assured.
[0026] When this prediction method is applied to the prediction of the suction air amount
of the engine, the suction air amount in one step advance can be predicted with high
precision, and high precision control of the air-to-fuel ratio is attained by controlling
the fuel supply amount in accordance with the predicted value.
[0027] The third object of the present invention is achieved by one of the following means:
(1) Means for holding result of past search and reflecting it to the current search.
(2) Means for holding result of interpolation calculation (particularly, result of
gradiation calculation) in past table look-up and relfecting it to the current interpolation
calculation.
(3) Means for calculating and holding gradients between grid points in the table look-up
and looking up the table while saving a portion (division) of the interpolation calculation.
(4) Means for effecting the search in a descending order (The comparison is made starting
from larger values to smaller values of the ordered table).
(5) Means for reflecting search result of one data to search procedure of other data.
(6) Means for reflecting a combination of search results of several data to search
procedure of particular data.
[0028] Above means may be implemented by logic circuits. If the intervals of the values
of the ordered table are equal, the table look-up may be done by a microprogram of
a microcomputer.
[0029] The first means relates to the search procedure of data which vary from time to time.
For example, the result of search for one data one cycle before is held up to the
current time, and when data of same kind is to be searched at the current time, the
search is started based on the result of search (that is, where in the ordered table
the data was located). Since the data in a steady operation are at the almost same
search position or in the vicinity thereof, the search time is shortened and the operation
speed is increased.
[0030] In the transient operation mode, the search is started in accordance with the trend
of change of data. Accordingly, a location which is predicted to be searched at current
stage is determined based on the history of the location searched in the past, and
the search is started from that location. In this manner, the search time is also
shortened in the transient operation mode.
[0031] The second means holds the result of past operation and utilizes it in the current
linear interpolation calculation. For example, the gradient calculation (division)
in the formulas (3), (6) and (7) may be omitted. As a result, the interpolation operation
speed is increased.
[0032] The third means calculates and holds the gradients in the interpolation calculation,
reads out the gradient at the searched position for the operation.
[0033] The fourth means compares starting from larger value to smaller value of the ordered
table, that is, in the descending order to determine the search position in the high
rotating speed mode which causes a large computation load, instead of comparing starting
from smaller value to larger values of the ordered table to determine the search position,
as is done in the prior art. As a result, in the search operation, the higher the
rotating speed is, the lower is the calculation load. Thus, the overall calculation
load is unified.
[0034] The fifth and sixth means limit the search range of data on the ordered table based
on another data or a combination of several data such as correlation between the measurement
data, for example between the throttle opening degree and the suction air amount in
the engine control, or infers the search position and reflects it to the search procedure
(for example, determine the start position of the search).
[0035] The searching is done by a search circuit which comprises a comparator and a counter
constructed by logic circuits, and the search data is sequentially compared with the
values on the ordered table. For example, the counting-up is continued until the search
data becomes smaller than the value on the ordered table. In this manner, the prior
art procedure shown in Fig. 8 can be attained by hardware.
[0036] Where the intervals of the values on the ordered table are equal, the bit column
of the search data is divided into an indirect address field of the ordered table
and an interpolation ratio field, the indirect address field is deemed as a search
result, a difference between values on the opposite sides of the search data is calculated
by using the bit column of the indirect address field, and the interporation ratio
is multiplied thereto. Those operations are done by a microprogram.
BRIEF DESCRIPTION OF THE DRAWINGS
[0037]
Fig. 1 shows a configuration of future value prediction device for measurement data
in accordance with the present invention,
Fig. 2 shows a configuration of correction means shown in Fig. 1,
Fig. 3 shows responses of air amount in an acceleration mode,
Fig. 4 shows timings of fuel injection and suction stroke,
Fig. 5 shows an overall configuration of a fuel injection control apparatus of the
present invention,
Fig. 6 shows a flow chart of a control program which predicts a suction air amount
and determines a fuel supply amount based on the predicted amount,
Fig. 7 shows a flow chart of search operation in accordance with one embodiment of
the present invention,
Fig. 8 shows a voltage versus air amount characteristic curve of a hot wire sensor,
Fig. 9 illustrates a conversion process of a signal produced by the hot wire sensor,
Fig. 10 illustrates a conversion table from data to air amount,
Fig. 11 illustrates linear interpolation,
Fig. 12 shows a two-dimension table,
Fig. 13 illustrates two-dimension linear interpolation,
Fig. 14 shows a flow chart of prior art search operation,
Fig. 15 shows a distribution statistic chart of a rate of change of an engine rotating
speed when an automobile runs,
Fig. 16 shows a flow chart of an embodiment in which a current search position is
infered based on a past search position for search operation,
Fig. 17 illustrates a manner to determine a correction value for an ignition timing
in the embodiment,
Fig. 18 shows a gradient, at each search position, of the correction value for the
ignition timing relative to the rotating speed,
Figs. 19a to 19c illustrate storage locations in Fig. 18,
Figs. 20a and 20b illustrate an ordered table and a table sorted in a descending order,
Fig. 21 shows a flow chart of an embodiment in which the search operation is done
for the ordered table sorted in the descending order,
Figs. 22a and 22b illustrate an embodiment in which a result of search position of
a throttle is utilized for a start of search position in the search operation of the
air amount,
Fig. 23 shows a flow chart for carrying out the embodiment of Fig. 22,
Figs. 24a to 24c illustrate an embodiment in which a start of search position for
the air amount is determined based on the search position for the throttle and the
search position for the rotating speed,
Fig. 25 shows a flow chart for the search operation by using the results of search
positions in the embodiment of Fig. 24,
Fig. 26 shows a block diagram of an embodiment in which search operation means is
constructed by logic circuits,
Fig. 27 shows a logic circuit of a comparator of Fig. 26,
Fig. 28a shows an example in which intervals of values of table are equal,
Fig. 28b illustrates division of search data into a higher order portion and a lower
order portion,
Fig. 29 shows a block diagram of a data path for a microprogram, and
Fig. 30 shows a flow chart of execution of a microprogram instruction.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0038] One embodiment of the present invention is now explained with reference to Figs.
1 to 6.
[0039] Fig. 1 shows a configuration of device for predicting a future value of measurement
data. It comprises an acceleration/deceleration level discrimination unit 12, prediction
unit 11 and correction unit 13. Operations of the respective units are explained below.
[0040] The prediction unit 11 predicts a future value by a digital advancing filter based
on measurement data heretofore available.
[0041] A prediction method by the advancing filter is preferably simple from a standpoint
of processing by a microcomputer. Examples thereof are:
(i) Predict a future value based on measurement value heretofore available on the
assumption that an increment of measurement data per unit time (one-order differentiation
of the measurement data by time) is held for a predetermined time period.
(ii) Predict a future value based on measurement value heretofore available on the
assumption that an increment of the above increment per unit time (two-order differentation
of the measurement data by time) is held for a predetermined time period.
[0042] The prediction formulas in (i) and (ii) are expressed as follows.

(m = 1, 2, 3 ..., n = 1, 2, 3 ...)
where S(i) (i = 1, 2, 3 ... k) is time-sequential date of the measurement values,
Δt is a data sampling period, and S(k) is a prediction value at a time k in advance
of time T.
[0043] The prediction unit predicts the future value based on the measurement values heretofore
available by utilizing the formulas (10), (11) and (12).
[0044] In the above method, the future value is predicted on the assumption that one-order
or two-order differentiation of the measurement data is held. Alternatively, it may
be possible to predict the future value on the assumption that n-order differentiation
(n
> 3) of the measurement data is held.
[0045] In order to predict the future value of the measurement data, the time period to
the future point may be divided into several time frames and differentations of the
measurement data in different orders may be held in the respective time frames, for
example, n-order differentiation of the measurement data is held in one time frame
and m-order (m = n) differentiation of the measurement data is held in another time
frame.
[0046] For example, two-order differentiation of the measurement data is held at a current
time k for a time frame up to time k+1, and one-order differentiation of the measurement
data is held for a time frame advanced from the time k. In this case, a prediction
formula for a measurement value at a time advanced by time T is given by
Ŝ(k) = {2·S(k) - 3·S(k-1) + S(k-2)}·

+ S (13)
where
S(k): measurement data
Ŝk: prediction method
Δt: sampling period of measurement data
[0047] It is also possible to calculate a future value of the measurement data based on
a sum-product mean value of the values predicted by at least two of the above prediction
methods for the future value. The future value Ŝ(k) of the measurement data is calculated
by the following formula.

where
Ŝ
i(k) (i = 1, 2, 3 ... n): predicted values by the respective methods
n: integer no smaller than 2
C
i: positive number
[0048] Since the prediction process amplifies a noise (RF component) included in the measurement
data, it is preferable not to conduct the prediction process in an unnecessary time
period if immediate response of prediction is not required. Thus, if the immediate
response of prediction is not required, the prediction means conducts the prediction
process only in a transient state in which the measurement data varies, and in a steady
state where the data is steady at a constant value, the prediction means does not
conduct the prediction process but outputs the measurement data as it is.
[0049] Where the immediate response of the prediction is required or where the amplification
of the noise by the prediction process is to be avoided in the transient state in
which the measurement data varies, the predicted value is passed through one-order
or two-order low-pass filter represented by the following formulas of transfer function.

[0050] The output of the filter is supplied to the prediction means as the future value
of the measurement data. The constants ω
n and T is the formulas (14) and (15) are selected such that a frequency component
in the range defined below is eliminated.

where Δt(sec) is the sampling period of the measurement data.
[0051] The filters of the formulas (14) and (15) are utilized in the form of the following
discrete formulas in the electronic control apparatus for the engine.

where
u(k): input to the filter
y(k): output from the filter
Δt: sampling period of the data
a center difference is used to derives the formulas (14) and (15).
[0052] The operation of the acceleration/deceleration level discrimination means is now
explained. The acceleration/deceleration level discrimination means determines an
acceleration or deceleration level representing a magnitude of the acceleration or
deceleration of the vehicle based on a displacement Δϑ
th of the throttle opening degree in a predetermined time.
[0053] The acceleration or deceleration level may be set in the following manner.

[0054] Where |Δϑ
th| < m₁, it is regarded that it is not in the acceleration/deceleration status (acceleration/deceleration
level 0).
[0055] The acceleration/deceleration level discrimination means 12 discriminates the acceleration/deceleration
level in accordance with the above formulas and sends the result to the correction
means 13.
[0056] The operation of the correction means 13 is now explained. Fig. 2 shows a configuration
of the correction means 13. The correction means 13 has a two-dimension map having
an acceleration/deceleration level and an elapsed time from the start of the acceleration/deceleration
on two axes. The map is looked up based on the determined acceleration/deceleration
level and the elapsed time, and a time T to which the measurement data is to be advanced
is multiplied to the looked-up value, and a measurement amount which is under or over
when the prediction process is conducted is calculated. The output of the prediction
unit 11 is added to the calculated measurement amount to produce a real future value
of the measurement data a predetermined time ahead.
[0057] Fig. 3 shows a response of suction air amount measurement value when an opening degree
of the throttle valve is changed stepwise, a response when the above response is advanced
by a desired time t₀, and a response when the response of the measurement value is
advanced by the time t₀ by the prediction process.
[0058] As seen from Fig. 3, when the measurement value starts to respond relatively fast
from a steady state, the response of the desired time t₀ ahead cannot be exactly predicted
by the prediction process for a certain time (several or several tens msec.) after
the start of response. The correction unit compensates it. Measurement amounts which
are under or over when the prediction process is conducted are stored in the map for
the respective acceleration/deceleration levels, and the measurement value produced
by the prediction process is corrected by looking up the map so that the prediction
precision in the early stage of the acceleration/deceleration is assured.
[0059] The data of the map of Fig. 2 is calculated in the following manner. The throttle
opening degree is changed at the acceleration level i from the steady operation state
of the engine in which the throttle opening degree is maintained at a constant level,
and an engine status amount which is a subject of current prediction is measured.
The response of the measurement value is represented by S₁(t), and a response when
the above response is advanced by the time t₀ is represented by S₁(t + t₀). A response
when the response S₁(t) is advanced by the prediction process is represented by S₂(t).
Data D(t) of the acceleration level i of the map is calculated by the following formula:

where t: time
[0060] D(t) corresponds to the measurement amount which is under or over when the prediction
process is conducted to predict the measurement value of unit time ahead. Assuming
that the under or over-amounts at the respective times are essentially proportional
to the time to which the measurement data is to be advanced, the measurement amount
which is under or over when the prediction procedure is conducted to predict the measurement
value of the time T ahead is represented by T·P(t). Namely, it is a product of the
looked-up value of the two-dimension map and the time T. If the output of the prediction
unit 11 is added to the product, the future value of the measurement data can be precisely
predicted even if the response of the measurement data is relatively fast. In the
above method, the measurement amounts which are under or over when the prediction
process by the advancing filter is conducted are stored in correlation with the acceleration/deceleration
levels. In actual, it is affected by the engine rotating speed and the opening degree
at the initial stage of the acceleration/deceleration. Accordingly, the rotating
speed and the opening degree at the initial stage of the acceleration/deceleration
may be introduced as the variables of the map to improve the correction precision.
[0061] The method for predicting the future value of the measurement data has thus been
explained.
[0062] Construction and operation of a control system which applies the method for predicting
the future value of the measurement data to the prediction of the suction air amount
of the engine to control the fuel.
[0063] An engine of speed density type and throttle speed type in which a cylinder inlet
air amount is indirectly detected and the fuel is controlled based on the detected
amount is considered.
[0064] As described above, since the fuel supply amount in the next step is determined based
on the detection value of the current air amount in the existing system, there is
approximately one stroke of delay in the detection of the air amount and hence it
is difficult to precisely control the air-to-fuel ratio.
[0065] In order to solve the above problem, the detection value of the air amount to be
used for the determination of the fuel supply amount is advanced by a time difference
between the time at which the air amount is to be inherently detected, that is, the
time at which the exact cylinder inlet air amount of the next step is to be detected
and a time at which the air amount to be used for the determination of the fuel supply
amount is to be detected.
[0066] Since the time at which the air amount to be used for the determination of the fuel
supply amount is detected is substantially equal to the fuel injection timing, the
above time amount may be considered to be essentially within the range of the crank
angle defined by the following formula, assuming that the fuel injection timing is
ϑ
i crank angle before a top dead center and a suction stroke is from ϑ
s crank angle before the top dead center to ϑ
ℓ crank angle after the top dead center, as shown in Fig. 4.
ϑ
i - ϑ
s ≦ ϑ
d ≦ ϑ
i + ϑ
ℓ (21)
[0067] The above time difference T
d (sec) is within the following range

where N (rpm) is the engine rotating speed.
[0068] The air amount at the time which is ahead by the time given by the formula (22) is
predicted by the above prediction method and the fuel is controlled based on the predicted
value. Thus, the delay in the detection of the air amount in the transient state is
theoretically compensated and high precision control of the air-to-fuel ratio is attained.
[0069] An overall configuration of the control system and an operation of a control program
when the fuel control is done by a digital control unit are explained with reference
to Figs. 5 and 6.
[0070] Fig. 5 shows an overall configuration of a fuel injection control apparatus which
uses a speed density system (D jetronic system). A control unit 50 comprises a CPU
51, a ROM 52, a RAM 53, an I/O LSI 54, a timer 55 and a bus which electrically connects
those elements. Signals from a throttle angle sensor 57, an internal pressure sensor
58, a coolant temperature sensor 59, a crank angle sensor 511 and an oxygen sensor
512 are supplied to the I/O LSI 54. The I/O LSI 53 sends a signal to a fuel injector
513. The I/O LSI 54 has an A/D converter and a D/A converter. The timer 55 issues
an interruption request to the CPU 51 at a constant time interval, and the CPU 51
responds thereto to execute the control program stored in the ROM 52.
[0071] Referring to Fig. 6, the operation of the control program which predicts the future
value of the air amount detection value and determines the fuel amount based on the
predicted value is explained.
[0072] When an interruption request is issued at an interval of 10 msec., the output of
the pressure sensor is A/D-converted in a step 501 to determine an internal pressure
of a suction pipe. In a step 502, an engine rotating speed is determined based on
a signal from the crank angle sensor 511.
[0073] In a step 503, the data table stored in the RAM 53 is retrieved by using the engine
rotating speed and the internal pressure of the suction pipe as parameters, to determine
the engine suction air amount, which is stored into a predetermined address of the
RAM 53.
[0074] In a step 504, whether the vehicle is in the acceleration/deceleration state is determined
by the method described above. If it is in the acceleration/deceleration state, the
process proceeds to a step 505, and if not, the process proceeds to a step 509.
[0075] In a step 505, the future value of the suction air amount which is ahead of the time
of the formula (22) is predicted by the prediction process by the advancing filter,
that is, by utilizing the formulas (10), (11), (12), (13) and (14) based on the suction
air amount determined in the step 503, and the time-sequential data of the suction
air amounts determined in the past interruptions and stored in the RAM 53. In the
formulas (10) - (14), Δt represents the interruption period (10 msec.).
[0076] In a step 506, the acceleration/deceleration level is determined based on the displacement
of the throttle opening degree in the manner described above.
[0077] In a step 507, the data table stored in the RAM 53 is looked up based on the acceleration/deceleration
level and the elapsed time from the start of the acceleration/deceleration, and the
looked-up value is multiplied by the time to which the suction air amount is to be
advanced as shown in the formula (22) to calculate an air amount ΔQa which is under
or over when the prediction process by the advancing filter is conducted.
[0078] In a step 508, the air amount ΔQa which is under or over when the prediction process
is conducted is added to the air amount Q̂a′ predicted by the advancing filter to
calculate a true future value Q̂
a of the suction air amount which is ahead by the time given by the formula (22). The
future value Q̂a is calculated by
Q̂a = Q̂a′ + ΔQa (23)
[0079] Finally, in a step 509 following to the step 504, a fuel injection pulse width T
i corresponding to the fuel injection amount is calculated by the formula (24) based
on the air amount Qa calculated in the step 503. In the step 509 following to the
step 508, the fuel injection pulse width T
i is calculated by the formula (25) based on the future value Q̂a of the air amount
determined by the step 508.
T
i = k ·

+ T
s (24)
T
i = k ·

+ T
s (25)
where
k : correction coefficient
N : rotating speed
T
s: invalid injection time
[0080] After the above steps, the process stands by until next interruption request is issued.
[0081] In the above program, the suction air amount is predicted to determine the future
value thereof. Alternatively, the time-serial data of the internal pressure of the
suction pipe and the rotating speed may be stored, the future values of the internal
pressure and the rotating speed may be determined from the time-serial data, and the
data table may be looked up by the future values to determine the suction air amount
so that the future value of the air amount is determined. The prediction may be done
by the prediction unit described above or the prediction method shown in Fig. 1.
[0082] The application to the engine of the speed density type has been described. The present
invention is also applicable to the prediction of the air amount of a throttle speed
type or a mass flow type (L jetronic system) which directly detects an electrical
amount. In the throttle speed type which infers the suction air amount based mainly
on the throttle opening degree and the rotating speed, the future value is not predicted
based on the time-serial data of the inferred values of the air amount, but the future
values of the throttle opening degree and the rotating speed are predicted and the
suction air amount is inferred based on the predicted values to predict the future
value of the air amount. In a MT (manual transmission) car, since the response of
the engine rotating speed is much lower than the response of the throttle opening
degree, the suction air amount may be inferred based on only the throttle opening
degree. The prediction may be done by the prediction unit described above or the prediction
method shown in Fig. 1.
[0083] The method for controlling the fuel solely by the synchronous injection based on
the predicted air amount has been described. Alternatively, asynchronous injection
may be used to control the fuel.
[0084] By substituting the formula (14) to the formula (16), the following formula is derived.

[0085] The above formula means that the pulse width of the synchronous injection is calculated
by using the first term of the left side, and the pulse width of the asynchronous
injection is calculated by using the second term of the left side.
[0086] The pulse width T
i of the synchronous injection may be calculated by the following formula based on
the air amount predicted by the advancing filter, and the pulse width T
i′ of the asynchronous injection may be calculated by the following formula based on
the under prediction ΔQa of the air amount calculated for each acceleration/deceleration
level.

[0087] In the above method, the future value of the air amount for compensating the delay
in the detection of the air amount is predicted. The delay in the detection of the
air amount may also be compensated by applying the prediction method described above
to the fundamental injection pulse width T
p which is calculated by the control unit at the interval of 10 msec.
[0088] In this case, the fundamental injection pulse width which is ahead of the time defined
by the formula (22) is predicted based on the past data in the prediction method shown
in Fig. 1, and the fuel injection pulse width T
i is calculated by the following formula based on the predicted value T̂
p.
T
i = k · T̂
p + T
s (29)
[0089] Since the delay in the detection of the air amount is compensated in this manner,
the fundamental injection pulse width at the time at which the exact suction air amount
in the next stroke is to be detected can be predicted so that the high precision control
of the air-to-fuel ratio is attained.
[0090] Other embodiment of the present invention in which the table is looked up based on
engine operation data in an operation unit for the engine control is now explained.
[0091] In the engine control of one type, the fuel injection amount (or the fuel injection
pulse width) and the ignition timing are periodically calculated based on the engine
operation data and control signal is produced for each predetermined crank angle based
on the calculation result.
[0092] Also, in the engine control of another type, the fuel injection amount and the ignition
timing are calculated and control signal is produced both for each predetermined crank
angle.
[0093] The present invention is applicable to such engine control.
[0094] An example of table look-up is explained for the engine rotating speed. The present
invention is applicable to not only the engine rotating speed table but also to the
table for converting the sensor characteristic or the table look-up in the process
of operation amount such as fuel injection amount. The table may be either one-dimension
or two-dimension because the basic search operation and interpolation operation are
same.
[0095] A first embodiment for speeding up the search operation is now explained.
[0096] Fig. 15 shows a result of experiment to determine a location on the engine rotating
speed table of the engine rotating speed N which is to be used as search data in the
table look-up. In Fig. 15, if the position searched at the previous time (which was
determined 10 msec before if the operation is done periodically at the interval of
10 msec) is same as the position currently searched, it is indicated by a₀, if the
table position is shifted to the ascending side by one, it is indicated by a₁, if
the table position is shifted by two, it is indicated by a₂, if it is shifted to the
descending side by one, it is indicated by a-1, if it is shifted by two, it is indicated
by a-2, and so on. An ordinate represents number of times (frequency) in a city drive.
[0097] As seen from Fig. 15, the current search positions destribute around the positions
searched at the previous time. It is seen that within a small time period (such as
10 msec), the data (rotating speed N) to be currently searched remains in the vicinity
of the position searched previously. Based on the finding derived by the statistics,
the following search operation is conducted.
TN
j < N (ℓ - 1) < TN
j+1 (30)
where
j(ℓ-1): indicates that the rotating speed N(ℓ-1) was located between j and j+1 on
the rotating speed table at the previous time (ℓ-1).
ℓ : current time
ℓ-1 : previous time
[0098] In the search operation, as shown in Fig. 7, the search result j(ℓ-1) at the previous
time is held, it is read at the time ℓ, and the search is started from j(ℓ-1). In
the steady operation state in which the engine rotating speed does not significantly
change, the current search position is same as or in the vicinity of the previous
search position. As a result, the number of times of comparison is reduced and the
high speed operation is attained.
[0099] A second embodiment is contained in the first means as it is for the first embodiment,
and it is a developed form of the first embodiment. As shown in Fig. 16, the current
search position is inferred in the following manner based on the search results (search
positions) at the part times ℓ-1 and ℓ-2, and the search operation is started from
the inferred search position.
ĵ(ℓ) = j(ℓ-1) + (j(ℓ-1)-j(ℓ-2)) (31)
where ĵℓ is the inferred value of the current search position. The search is started
with i = ĵℓ as shown by 104 in Fig. 16, where i is an index for the search position.
[0100] In the present embodiment, the current search position is inferred based on the position
data searched between the current time ℓ and the time of two times before. In general,
the start of search position at the current time is inferred based on the history
of the past search positions, not limited to the search position data of two times
before. Even in the transient operation state in which the search position changes
every time, the trend of the change of the search position is grasped and the inference
is made based thereon. Accordingly, the number of times of comparison in the search
is reduced and the high speed operation is attained.
[0101] A third embodiment is explained. It corresponds to the second means. As shown in
Fig. 15, a probability that the position j(ℓ) searched at the current time is same
as the search position j(ℓ-1) at the previous time is very high from the statistics.
In the present embodiment, the gradient at the position j(ℓ-1) calculated at the previous
time is held up to the current time ℓ, and if the search positions at the time ℓ-1
and the time ℓ are same (j(ℓ) = j(ℓ-1)), the interpolation operation is done by using
the held gradient. The present embodiment is shown in Fig. 17. The search position
at the time ℓ-1 is represented by j(ℓ-1), and the gradient at the time ℓ-1 is calculated
in the following manner.

where ADV is an ignition timing correction value on a one-dimension table for simplification
purpose, unlike the two-dimension table shown in the prior art method. The gradient
ADSL determined by the formula (32) is held up to the time ℓ, and if the search positions
at the time ℓ-1 and the time ℓ (current time) are equal, the interpolation calculation
for the ignition timing to the current rotating speed N is conducted in the following
manner by using ADSL.
ADVC = ADV(j) + ADSL × (N - TN
j) (33)
where ADVC is the correction value for the ignition timing. As seen from the formula
(33), it is not necessary at the time ℓ to calculate the gradient for the linear interpolation.
Two subtraction operations and one division operation may be omitted and the speed
of the interpolation operation is increased.
[0102] A further embodiment is now explained. It corresponds to the third means. As shown
in Fig. 18, the gradients of values ADSL₀, ADSL₁, ..., ADSL
n-1 are previously determined and stored at a predetermined storage location. Figs. 19a
to 19c shows the storage location. Fig. 19a shows the storage location for the gradient
{ADSL
i|0 ≦ i ≦ n-1} of the rotating speed between the grid points, Fig. 19b shows the table
grid point value {TN₁|0 ≦ i ≦ n-1} of the rotating speed axis, and Fig. 19c shows
the ignition advanced angle correction value {ADV
i| 0 ≦ i ≦ n-1} at the grid point. Since the gradients between the grid points are
previously calculated and held, the interpolation operation is done in the following
manner after the search position j has been determined by the search operation.
ADVC = ADV(j) + ADSL
j × (N-TN
j) (34)
[0103] In the present embodiment, the gradients in the interpolation operation are previously
calculated and held, and the gradient at the search position is read and used for
the operation. Accordingly, the operation to determine the gradient (two subtraction
operations and one division operation) may be omitted.
[0104] A fifth embodiment is now explained. It corresponds to the fourth means.
[0105] As shown in Fig. 20a, the prior art ordered table is sorted in th ascending order
as shown by the formula (9). The ordered table is modified to the descending order
in the following manner.
{TNT
k = TN
n-1-k|0 ≦ k ≦ n-1} (35)
[0106] The ordered table {TNT
k} is sorted in the descending order of the engine rotating speed as shown in Fig.
20b. In the present embodiment, the searching is done in the descending order of
the ordered table value sorted in the descending order as shown in Fig. 21.
[0107] As explained in the prior art method, the higher the rotating speed is, the more
is the operation to be processed in a given time. Accordingly, the present embodiment
in which the search operation is reduced as the speed increase is advantageous in
flattening the overall calculation load.
[0108] A sixth embodiment is now explained. It corresponds to the fifth means. The start
position of search for the suction air amount table is determined based on the result
of search by the throttle opening degree table.
[0109] Fig. 22a shows a throttle opening degree table, and Fig. 22b shows a suction air
amount table. Each table includes n-1 data (grid points). When a throttle opening
degree THR is searched at a position j on the throttle opening degree table {TH
i | 0
< i
< n+1}, the position j is used as the start position for searching where on the suction
air amount table (grid points {THW
i | 0
< i
< n-1} on the voltage axis) the suction air amount is located.
[0110] A flow chart of the search procedure is shown in Fig. 23. In a step 172, the search
position j of the throttle opening degree is set as the start position of the suction
air amount. Thus, because of the relationship between the operation data of the engine,
for example, where the throttle opening degree is large, the suction air amount is
usually large (or vice versa), the search position can be infered to some degree from
the search position of other data. Accordingly, the number of times of comparison
in the search operation can be reduced.
[0111] As shown in Figs. 24a to 24c, the result of search operation of the throttle opening
degree by the throttle opening degree table is represented by jT, and the result of
search operation of the rotating speed by the rotating speed table is represented
by jN. Thus, the start position j of search to search the suction air amount from
the suction air amount table is determined as follows.

[0112] The steps 171 and 172 of Fig. 23 of the previous embodiment are substituted to the
steps 191 and 192 of Fig. 25. The search position of highest possibility among the
combination of the search positions of several data is inferred, and the search operation
is started from that search position. As a result, the number of times of comparison
in the search operation is reduced and the high speed operation is attained.
[0113] A seventh embodiment is now explained. As shown in Fig. 26, it conducts the search
operation by a comparator 203 and a counter 204 constructed by logic circuits. The
values of the ordered table are sequentially supplied to a search data 202 of Fig.
26 and compared with the search data on 201. The counter 204 is counted up until the
value of the search data becomes smaller than the value of the ordered table. The
counter 204 is constructed by flip-flops such that it is counted up only when the
signal from the comparator 203 is "ON".
[0114] Fig. 27 shows an embodiment in which the value of the ordered table is represented
by 4 bits and the value of the search data is represented by 4 bits. D₀, D₁, D₂ and
D₃ represent the input signals of the bits of the 4-bit search data, and M₀, M₁, M₂
and M₃ represent 4-bit input signal which is a complement of one value of the ordered
table. The output COM is "1" when M₀ - M₃ are larger than D₁ - D₃. The high speed
operation is attained by the search operation by the logic circuits.
[0115] An eighth embodiment is now explained. It is useful when the intervals between the
values of the ordered table are equal.
[0116] As shown in Fig. 28a, the intervals between the values of the ordered table are equal
and one bit represents 25 rpm unit. Accordingly, the bit pattern (01)
H represents 25 rpm, and (11)
H represents 425 rpm, where H represents HEX (hexadecimal number). Thus, the higher
order 4 bits DH of the 8 bits in Fig. 28b represents a position from the top address
of the ordered table (that is, the position to be searched), and the lower order 4
bits represent a rate of the value at the search position. Since the linear interpolation
operation is relatively easily done in such a case, the interpolation operation is
conducted by a microprogram.
[0117] Fig. 29 shows a control circuit including a microprogram in accordance with the present
embodiment.
[0118] The control circuit comprises an adder ALU, a multiplier MULT, a memory buffer register
MBR, a program counter PC, a multiplexor MUX, a memory MEM, an accumulator A, a microprogram
ROM, a program ROM address register PAR and a multiplexor MUX.
[0119] The microprogram in the present embodiment is shown in Fig. 30 as an instruction
execution chart. X represents a top address of the ordered table, D
H represents a high order portion of the search data, and D
L represents a low order portion. M[ ] represents a content of the address [ ]. In
Fig. 30, the following procedure is shown. (1) Add the top address of the ordered
table to the high order portion of the search data to determine the position in the
ordered table. (It corresponds to the search operation). (2) Increment the search
position X determined by the above step in order to determine the uppermost address
of the searched position. (3) Calculate a difference between the uppermost value and
the lowermost value of the search position. In this case, no division operation as
shown by the formula (32) is required because the ordered tables are arranged at the
constant interval, and the result represents the gradient at the search position.
(4) Multiply the gradient to the low order portion of the search data. This corresponds
to the operation of the second term in the right side of the formula (33). (5) Add
the value at the search position to the interpolation operation result determined
in the step (4) to determine the final interpolation value.
[0120] In accordance with the present embodiment, the high speed operation is attained because
the interpolation is effected by the microprogram.
[0121] The following effects are offered by the present invention.
(i) Since the suction air amount of one stroke ahead can be precisely determined,
the fuel supply amount can always be held at a proper level and the air-to-fuel ratio
can be highly precisely controlled. As a result, a cleaning function for exhaust gas
and a fuel consumption-motive force characteristic are improved.
The detection error of the air amount in the transient state, which has been compensated
by the allopathic treatment in the prior art method is compensated by a theoretical
method. Accordingly, the number of steps for developing the fuel control system is
reduced.
(ii) According to the means (1) - (6) for achieving the third object described in
the "SUMMARY OF INVENTION", the following effects are offered.
According to the first means, the search operation time is shortened and the high
operation speed is attained because the search data is substantially at the previous
search position or in the vicinity thereof in the steady operation state. In the transient
operation state, the search operation time is again shortened and the high speed operation
is attained because the search operation is conducted by watching the trend of change
of data.
(iii) According to the second means, the part operation result is utilized for the
current linear interpolation operation. Accordingly, the operation for the gradient
in the interpolation operation may be omitted and the high speed interpolation operation
is attained.
(iv) According to the third means, the gradient required in the interpolation operation
is previously calculated and held, and the gradient at the searched position is read
for use in the interpolation operation. Accordingly, it is not necessary to calculate
the gradient each time. Thus, the operation time for the gradient calculation is saved
and the high speed interpolation operation is attained.
(v) In accordance with the fourth means, the operation load of the computer is lower
as the rotating speed is higher because the number of times of comparison in the search
operation decreases as the rotating speed increases. In general, in other operations,
the operation load of the computer increases as the rotating speed increases. Accordingly,
in accordance with the present means, the overall operation load is flattened and
the capability of the computer can be effectively utilized.
(vi) According to the fifth and sixth means, the search position of the data can be
inferred from the search position of other data. Since the search position is frequently
located at the inferred position or in the vicinity thereof, the number of times of
comparison in the search operation can be reduced and the high speed search operation
is attained.