KR920003201B1 - Fuel injection control apparatus for internal combustion engine - Google Patents

Fuel injection control apparatus for internal combustion engine Download PDF

Info

Publication number
KR920003201B1
KR920003201B1 KR1019830004965A KR830004965A KR920003201B1 KR 920003201 B1 KR920003201 B1 KR 920003201B1 KR 1019830004965 A KR1019830004965 A KR 1019830004965A KR 830004965 A KR830004965 A KR 830004965A KR 920003201 B1 KR920003201 B1 KR 920003201B1
Authority
KR
South Korea
Prior art keywords
task
engine
fuel
acceleration
amount
Prior art date
Application number
KR1019830004965A
Other languages
Korean (ko)
Other versions
KR840006390A (en
Inventor
미네오 가시와야
기요미 모리다
마사히데 사까모도
Original Assignee
가부시기가이샤 히다찌세이사꾸쇼
미다 가쓰시게
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시기가이샤 히다찌세이사꾸쇼, 미다 가쓰시게 filed Critical 가부시기가이샤 히다찌세이사꾸쇼
Publication of KR840006390A publication Critical patent/KR840006390A/en
Application granted granted Critical
Publication of KR920003201B1 publication Critical patent/KR920003201B1/en

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/04Introducing corrections for particular operating conditions
    • F02D41/10Introducing corrections for particular operating conditions for acceleration
    • F02D41/105Introducing corrections for particular operating conditions for acceleration using asynchronous injection

Abstract

내용 없음.No content.

Description

내연기관용 연료분사장치Fuel injection device for internal combustion engine

제1도는 크랭크축회전각도에 대한 열선출력전압 v의 출력특성도.1 is an output characteristic diagram of the hot wire output voltage v with respect to the crankshaft rotation angle.

제2a~c도는 추가분사중의 분사펄스와 A/F와의 관계를 나타낸 도면.2a to c are diagrams showing the relationship between the injection pulse and A / F during further injection.

제3도는 엔진계통전체의 제어장치를 나타낸 구성도.3 is a configuration diagram showing a control device for the entire engine system.

제4도는 제3도의 점화장치의 설명도.4 is an explanatory diagram of the ignition device of FIG.

제5도는 배기가스환류시스템을 설명하기 위한 구성도.5 is a configuration diagram for explaining the exhaust gas reflux system.

제6도는 엔진제어시스템의 전체구성도.6 is an overall configuration diagram of an engine control system.

제7도는 본원 발명에 의한 엔진제어방법의 프로그램시스템의 기본적 구성을 나타낸 도면.7 is a diagram showing the basic configuration of a program system of the engine control method according to the present invention.

제8도는 타스크디스패쳐(task dispatcher)가 관리하는 RAM에 설치된 타스크(task)제어블록의 테이블을 나타낸 도면.FIG. 8 is a diagram showing a table of task control blocks installed in RAM managed by a task dispatcher. FIG.

제9도는 각종 인터럽트에 의해 기동되는 타스크군의 스타트어드 레스테이블을 나타낸 도면.9 is a diagram showing a start address table of a task group activated by various interrupts.

제10도 및 제11도는 타스크디스패쳐의 처리플로를 나타낸 도면.10 and 11 illustrate a processing flow of a task dispatcher.

제12도는 매크로처리프로그램의 처리플로를 나타낸 도면.12 is a diagram showing a processing flow of a macro processing program.

제13도는 타스크우선제어의 일예를 나타낸 도면.FIG. 13 is a diagram showing an example of task priority control; FIG.

제14도는 상기 타스크우선제어에 있어서의 타스크의 상태천이를 나타낸 도면.FIG. 14 is a diagram showing a state transition of a task in the task priority control. FIG.

제15도는 제7도에 있어서의 구체적 플로를 나타낸 도면.FIG. 15 is a diagram showing a specific flow in FIG. 7. FIG.

제16도는 열선출력전압의 입력타이밍을 나타낸 도면.16 is a diagram showing input timing of a hot wire output voltage.

제17a~c도는 본원 발명의 실시예를 나타낸 흡입공기유량과 분사타이밍을 나타낸 도면.17a to c is a view showing the intake air flow rate and the injection timing showing an embodiment of the present invention.

제18도는 인터럽트처리의 플로차트.18 is a flowchart of interrupt processing.

제19도는 수온에 의한 비교레벨변경을 나타낸 도면.19 is a view showing the change of the comparison level by the water temperature.

제20도는 본원 발명의 일실시예를 나타낸 가속시의 연료분사제어처리를 나타낸 플로차트.20 is a flowchart showing a fuel injection control process at the time of acceleration showing an embodiment of the present invention.

제21도는 본원 발명의 다른 실시예를 나타낸 플로차트.21 is a flowchart showing another embodiment of the present invention.

제22도는 냉각수온, 부압 및 보정계수의 관계를 나타낸 3차원 맵.22 is a three-dimensional map showing the relationship between cooling water temperature, negative pressure and correction coefficient.

제23도는 본원 발명의 다른 실시예를 나타낸 플로차트.Figure 23 is a flowchart showing another embodiment of the present invention.

제24도는 엔진회전수와 보정계수와의 관계를 나타낸 도면.24 is a diagram showing a relationship between an engine speed and a correction coefficient.

제25도는 본원 발명의 다른 실시예를 나타낸 플로차트.25 is a flowchart showing another embodiment of the present invention.

본원 발명은 마이크로콤퓨터를 사용한 자동차의 엔진제어장치에 관한 것이며, 특히 스로틀밸브의 개도(開度)에 의해 검출하는 가속상태에 따라서 가속보정분의 연료를 추가분사하는 연료분사장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an engine control apparatus for a motor vehicle using a microcomputer, and more particularly, to a fuel injection apparatus for additionally injecting fuel of an acceleration correction component in accordance with an acceleration state detected by an opening degree of a throttle valve.

최근에는 엔진의 제어기능을 향상시킬 목적으로 마이크로콤퓨터를 사용한 엔진의 총합적 제어가 행해지고 있다.In recent years, total control of the engine using a microcomputer has been performed for the purpose of improving the control function of the engine.

한편, 자동차의 차종 및 용도에 따라서 엔진에 필요한 제어기능은 여러가지이며, 그래서 마이크로콤퓨터를 사용한 엔진제어시스템에서는 엔진제어장치를 조작하는 소프트웨어로서 차종 및 용도에 따라서 범용성이 있는, 즉 각종 제어기능의 수정, 변경 및 추가가 가능한 것이 원가면 또는 제어성의 향상이라고 하는 관점에서 요청된다.On the other hand, there are various control functions required for the engine according to the vehicle type and use of the vehicle. Therefore, in the engine control system using the microcomputer, the software for operating the engine control device is versatile according to the vehicle type and the use, that is, modification of various control functions. Changes and additions are required from the standpoint of cost or controllability.

종래, 내연기관이 흡입하는 공기량은 흡기다기관압(吸氣多岐管壓)으로부터 간접적으로, 또는 직접 공기유량을 검출하여, 흡기행정중의 합계량을 구하는 방법이 취해지고 있었다. 전자는 간접적 방법이기 때문에 정밀도가 나쁘며, 기관의 기차(機差)나 열화의 영향을 받고, 또 응답성이 나쁘다고 하는 결점을 가지고 있다. 후자는 정밀도가 높고(오차는 독해치의 ±1% 이내), 다이나믹레인지가 넓은 (1:50) 유량센서를 필요로 하며, 원가가 높게되는 결점을 가지고 있었다. 유기량센서로서 이른바 열선식(熱線式)유량센서를 사용하면 저원가화가 가능하며, 넓은 다이나믹레인지를 허용하는 특징이 있어 바람직하다.Conventionally, the method of obtaining the total amount in intake stroke is detected by detecting the amount of air indirectly or directly from the intake manifold pressure as the amount of air sucked into the internal combustion engine. The former has an inferiority in precision because of the indirect method, affected by engine trains and deterioration of engines, and in poor responsiveness. The latter had the disadvantages of high precision (errors within ± 1% of readings), high dynamic range (1:50) flow sensors, and high cost. It is preferable to use a so-called hot wire flow rate sensor as the organic flow rate sensor because it can reduce the cost and allow a wide dynamic range.

그런데, 엔진흡입공기유량은 일정하지 않고 맥동(脈動)을 가지고 있으며, 유량센서로부터의 출력신호는 흡입공기류에 대해 비선형(非線形)관계를 가지므로, 응답하는 출력신호에서 흡입행정의 공기유량을 순시공기유량(瞬時空氣流量)의 적산의 형태로 구할 필요가 있고, 이 적산을 하는데눈 복잡한 연산처리가 필요하다. 즉, 제1도에 나타낸 열선출력전압 v은 질량유량을 qA라고 하면However, the engine intake air flow rate is not constant but has a pulsation, and since the output signal from the flow sensor has a nonlinear relationship with the intake air flow, the air flow rate of the intake stroke is determined from the output signal that responds. It is necessary to obtain in the form of integration of the instantaneous air flow rate, and complicated calculation processing is necessary to perform this integration. That is, the first heating coil is also the output voltage v is shown in Speaking q A mass flow rate

Figure kpo00001
Figure kpo00001

로 구해지며, (1)식은 다시(1) is again

Figure kpo00002
Figure kpo00002

로 된다. 지금 엔진회전수 N=0, 질량유량 qA=0일 때의 열선출전압 v을 v=v0라고하면, (2)식은,It becomes If the heat-selection voltage v at the engine speed N = 0 and the mass flow rate q A = 0 is v = v 0 , equation (2)

Figure kpo00003
Figure kpo00003

으로 된다. 따라서, (2)식, (3)식에서Becomes Therefore, in (2), (3)

Figure kpo00004
Figure kpo00004

로 순시의 질량유량 qA이 (5)식에 의해서 구해진다. 따라서, 1흡기행정간의 평균공기유량 QA은 다음과 같이 된다.The instantaneous mass flow rate q A is obtained by the equation (5). Therefore, the average air flow rate Q A between one intake stroke is as follows.

Figure kpo00005
Figure kpo00005

또, 1흡기행정당의 연료분사량 QF은 N을 엔진회전수, K를 상수로하면,In addition, the fuel injection quantity Q F per one intake stroke is defined as N is the engine speed and K is the constant.

Figure kpo00006
Figure kpo00006

따라서, QA를 구함으로써 1회전당의 연료분사량 QF이 회전수에 의해서 결정되는 것이다.Therefore, by calculating Q A , the fuel injection amount Q F per revolution is determined by the rotation speed.

이와 같이 해서, 기본으로 되는 연료분사량 QF이 구해지지만, 엔진을 가속할 경우, 기본연료분사량 QF안으로 가속하려고 하면, QA의 연산지연등에 의해 가속을 원활하게 할 수 없다. 그래서 QA의 입력 변화량에 의해 가속상태를 검출하여 기본연료분사량을 보정하는 것이 행해지고 있다. 그러나, 이 흡입공기유량 QA은 상술한 바와 같이 맥동이 있기 때문에 가속상태의 검출을 오검출하는 일이 있다. 또, 감속상태의 검출도 마찬가지이다. 그래서, 스로틀밸브의 개도를 검출하여 가속상태 또는 감속상태의 검출이 행해지고 있다. 즉, 스로틀개도 TH를 일정주기, 예를들면 10msec마다(인터벌인터럽트에 의해서)샘플링하여 10msec마다 현재의 샘플링치 TH와 30msec전의 샘플링치 TH(OLD)와의 차(TH=△TH-TH(OLD))를 검출하여, △TH>0일때 가속상태라고 판정하고 있다.In this way, the basic fuel injection amount Q F is obtained. However, when the engine is accelerated, if it is attempted to accelerate into the basic fuel injection amount Q F , acceleration cannot be smoothed due to the computation delay of Q A. Therefore, the acceleration state is detected by the input change amount of Q A and the basic fuel injection amount is corrected. However, since this intake air flow rate Q A has a pulsation as described above, the detection of the acceleration state may be incorrectly detected. The same applies to detection of the deceleration state. Therefore, the opening degree of the throttle valve is detected, and the acceleration state or the deceleration state is detected. That is, the throttle opening degree T H is sampled at a predetermined period, for example every 10 msec (by an interrupt interruption), and the difference between the current sampling value T H and the sampling value T H (OLD) before 30 msec every 10 msec (T H = ΔT H). -T H (OLD) ) is detected and judged to be in an acceleration state when ΔT H > 0.

이 가속상태의 검지에 응답하여 연료의 가속보정분을 추가분사한다. 이 가속상태의 검출에 의하여, 가속시에 연료를 보정하여 분사하는 것이지만, 종래에는 엔진회전수, 부하 등의 운전상태에 관계없이 스로틀밸브개도율에 의하여 정해지는 일정한 조건으로 가속시의 추가연료보정을 하고 있었다. 그런데, 엔진의 저회전이나 저부하상태등에서는 흡기다기관이 건조되어 있고, 가속을 위한 연료의 보정증량이 있어도 얼마동안은 흡기다기관을 습윤시키는 정도로 충분한 연료가 엔진에 공급되지 않고 충분한 가속을 할 수 없다고 하는 등의 결점을 가지고 있다.In response to the detection of the acceleration state, the acceleration correction portion of the fuel is additionally injected. Although the fuel is corrected and injected at the time of acceleration by the detection of this acceleration state, conventionally, the additional fuel correction at the time of acceleration is carried out under a constant condition determined by the throttle valve opening ratio regardless of the operating state such as the engine speed and the load. Was doing. However, at low engine speeds and low load conditions, the intake manifold is dry, and even if there is a correction increase in fuel for acceleration, for some time, sufficient fuel is not supplied to the engine to wet the intake manifold, and sufficient acceleration can be achieved. It has a drawback such as no.

즉, 예컨대 부하가 작을 때의 가속과 부하가 클때의 가속과는 가속레벨, 즉 스로틀밸브의 개도율이 동일해도 가속시의 기본연료분사량이 다르기 때문에 부하가 작을 때의 가속쪽이 가속이 나쁘다. 이는 가속전에 있어서 부하가 작을 때일수록 기본연료분사량이 적기때문에 흡기다기관이 충분히 젖어 있지 않고, 가속에 의하여 추가연료가 분사되어도 흡기다기관을 젖게하는데 시간이 걸리므로 가속초기에는 A/F가 라인으로 되기 때문이다. 또, 엔진회전수가 저회전일 때의 가속과 중회전일 때의 가속과는 스로틀밸브가 같은 변화율로 개방되어도 저회전일 때의 가속시에 연료가 부족하게 된다. 이는 저회전에서는 기본연료분사량이 적고, 연료량의 대부분이 흡기다기관을 젖게할 뿐이며 흡입공기와 함께 엔진에 공급되는 연료량이 소량이기 때문이다. 따라서, 같은 양의 추가연료량을 공급해도 저회전으로부터의 가속쪽의 가속이 불량하게 되기 때문이다. 또, 아이들 상태 또는 감속상태로부터의 가속시도 마찬가지로 가속불량으로 된다.That is, the acceleration is lower when the load is small because the basic fuel injection amount at the time of acceleration is different even if the acceleration level, that is, the opening ratio of the throttle valve is different from the acceleration when the load is small, for example. This is because the intake manifold is not sufficiently wet because the basic fuel injection amount is smaller when the load is smaller before acceleration, and it takes time to wet the intake manifold even if additional fuel is injected by acceleration. Because. In addition, even if the throttle valve is opened at the same rate of change as the acceleration at low rotational speed and the acceleration at medium rotation, fuel is insufficient at the acceleration at low rotation. This is because, at low revolutions, the amount of basic fuel injection is small, most of the fuel amount only wets the intake manifold, and a small amount of fuel is supplied to the engine along with the intake air. Therefore, even if the same amount of additional fuel is supplied, acceleration on the acceleration side from low rotation becomes poor. Incidentally, the acceleration time from the idle state or the deceleration state is similarly caused to the acceleration failure.

본원 발명의 목적은 가속시에 가속전의 엔진의 운전상태에 관계없이 항상 최적의 엔진제어를 행할 수 있는 연료분사장치를 제공하는데 있다.An object of the present invention is to provide a fuel injection value capable of always performing optimum engine control regardless of the operating state of an engine before acceleration at the time of acceleration.

본원 발명은 이러한 목적을 달성하기 위하여 가속전의 엔진의 운전상태에 따라서 가속시의 추가연료분사량을 증대하여 가속을 행하게 하는데 있다.The present invention is to increase the amount of additional fuel injection during acceleration in accordance with the operating state of the engine before acceleration in order to achieve this purpose.

다음에, 본원 발명의 실시예에 대해 설명한다.Next, the Example of this invention is described.

제3도에는 엔진계통 전체의 제어장치가 도시되어 있다.3 shows a control system for the entire engine system.

도면에 있어서, 흡입공기는 에어클리너(2), 스로틀챔버(4), 흡기관(6)을 지나서, 실린더(8)에 공급된다. 실린더(8)에서 인소한 가스는 실린더(8)에서 배기관(10)을 지나서 대기중에 배출된다.In the figure, the intake air is supplied to the cylinder 8 through the air cleaner 2, the throttle chamber 4, and the intake pipe 6. Gas traced by the cylinder 8 is discharged to the atmosphere from the cylinder 8 past the exhaust pipe 10.

스로틀챔버(4)에는 연료를 분사하기 위한 인젝터(12)가 설치되어 있고, 이 인젝터(12)에서 분출한 연료는 스로틀챔버(4)의 공기통로내에서 무화(務化)되어, 흡입공기와 혼합하여 혼합기(混合氣)를 형성하며, 이 혼합기는 흡기관(6)을 지나서, 흡기밸브(20)의 개방에 의해 실린더(8)의 연소실로 공급된다.The throttle chamber 4 is provided with an injector 12 for injecting fuel, and the fuel ejected from the injector 12 is atomized in the air passage of the throttle chamber 4 to intake air and The mixture is mixed to form a mixer, which passes through the intake pipe 6 and is supplied to the combustion chamber of the cylinder 8 by opening the intake valve 20.

인젝터(12)의 출구근방에는 스로틀밸브(14),(16)가 설치되어 있다. 스로틀밸브(14)는 액셀폐달과 기계적으로 인통하도록 구성되며, 운전자에 의해 구동된다. 한편, 스로틀밸브(16)는 다이어프램(18)에 의해 구동되도록 배치되며, 공기유량이 적은 영역에서 전폐상태로 되고, 공기유량이 증대함에 따라서 다이어프램(18)에의 부압이 증대함으로써 스로틀밸브(16)는 열리기 시작하여, 흡입저항의 증대를 억제한다.Throttle valves 14 and 16 are provided near the outlet of the injector 12. The throttle valve 14 is configured to mechanically communicate with the accelerator pedal and is driven by the driver. On the other hand, the throttle valve 16 is arranged to be driven by the diaphragm 18, and becomes fully closed in a region where the air flow rate is small, and the negative pressure to the diaphragm 18 increases as the air flow rate increases, thereby increasing the throttle valve 16. Starts to open and suppresses an increase in suction resistance.

스로틀챔버(4)의 스로틀밸브(14),(16)의 상류에는 공기통로(22)가 설치되며, 이 공기통로(22)에는 열선식공기유량계를 구성하는 전기적 발열체(24)가 배설되고, 공기유속과 발열체의 전열량과의 관계에서 정해지는 공기유속에 따라서 변화하는 전기신호가 출력된다. 발열체(24)는 공기통로(22)내에 설치되어 있으므로, 실린더(8)의 백화이어(back fire)시에 생기는 고온가스로부터 보호되는 동시에 흡입공기중의 먼지 등에 의해서 오염되는 것으로부터도 보호된다. 이 공기통로(22)의 출구는 벤츄리의 가장 좁은 부분 근방에 개구되며, 그 입구는 벤츄리의 상류측에 개구되어 있다.An air passage 22 is provided upstream of the throttle valves 14 and 16 of the throttle chamber 4, and the electric heating element 24 constituting the hot air flow meter is disposed in the air passage 22. An electric signal that changes in accordance with the air flow rate determined by the relationship between the air flow rate and the heat transfer amount of the heating element is output. Since the heat generating element 24 is provided in the air passage 22, it is protected from the hot gas generated at the time of the back fire of the cylinder 8, and also from being contaminated by dust or the like in the intake air. The outlet of this air passage 22 is opened near the narrowest part of the venturi, and the inlet is opened upstream of the venturi.

또, 이 스로틀밸브(14),(16)에는 제3도에는 도시되어 있지 않지만, 스로틀밸브(14),(16)의 개도를 검출하는 스로틀각센서가 설치되어 있고, 이 스로틀각센서로부터의 검출신호가 후술하는 제6도 도시의 스로틀각센서(116)로부터 입력되고, 제1의 아날로그디지탈콘버터의 멀티플랙서(120)에 입력된다.Although not shown in FIG. 3, the throttle valves 14 and 16 are provided with a throttle angle sensor for detecting the opening degree of the throttle valves 14 and 16. The detection signal is input from the throttle angle sensor 116 shown in FIG. 6 to be described later, and is input to the multiplexer 120 of the first analog digital converter.

인젝터(12)에 공급되는 연료는 연료탱크(30)로부터 연료펌프(32), 연료댐퍼(34) 및 필터(36)를 통해서 연압(燃壓)레귤레이터(38)에 공급된다. 한편, 연압레귤레이터(38)로부터는 인젝터(12)에 파이프(40)를 통해서 가압연료가 공급되며, 그 인젝터(12)에서 연료가 분사되는 흡기관(6)의 압력과 상기 인젝터(12)에의 연압의 차가 항상 일정해지도록 연압레귤레이터(38)에서 연료탱크(30)에 리턴파이프(42)를 통해서 인료가 귀환하도록 되어 있다.The fuel supplied to the injector 12 is supplied from the fuel tank 30 to the low pressure regulator 38 through the fuel pump 32, the fuel damper 34, and the filter 36. On the other hand, the pressurized fuel is supplied to the injector 12 through the pipe 40 from the pressure regulator 38, and the pressure of the intake pipe 6 through which the fuel is injected from the injector 12 and the pressure to the injector 12. The personnel are fed back from the pressure regulator 38 to the fuel tank 30 through the return pipe 42 so that the difference in pressure is always constant.

흡기밸브(20)에서 흡입된 혼합기는 피스톤(50)에 의해 압축되며, 점화플럭(52)으로부터의 스파크에 의해 연소하고, 이 연소는 운동에너지로 변환된다. 실린더(8)는 냉각수(54)에 의해 냉각되며, 이 냉각수의 온도는 수온센서(56)에 의해 계측되고, 이 계측치는 엔진온도로서 이용된다. 점화플럭(52)에는 점화코일(58)에서 점화타이밍에 맞추어 고전압이 공급된다.The mixer sucked in the intake valve 20 is compressed by the piston 50 and combusted by the spark from the ignition plug 52, which is converted into kinetic energy. The cylinder 8 is cooled by the coolant 54, and the temperature of this coolant is measured by the water temperature sensor 56, and this measured value is used as the engine temperature. The ignition plug 52 is supplied with a high voltage in accordance with the ignition timing from the ignition coil 58.

또, 도시생략의 크랭크각에는 엔진의 회전에 따라서 기준크랭크 각마다 및 일정각(예를들면 0.5도)마다 기준각신호 및 포지선신호를 출력하는 크랭크각센서가 설치되어 있다.The crank angle sensor, not shown, is provided with a crank angle sensor for outputting a reference angle signal and a position signal for every reference crank angle and for a predetermined angle (for example, 0.5 degree) in accordance with the rotation of the engine.

이 크랭크가센서의 출력, 수온센서(56)의 출력(56A) 및 발열체(24)로부터의 전기신호는 마이크로콤퓨터등으로 이루어진 제어회로(64)에 입력되어 제어회로(64)에서 연산처리되며, 이 제어회로(64)의 출력에 의해서 인젝터(12) 및 점화코일(58)이 구동된다.The crank is input to the control circuit 64 made of a microcomputer or the like, and the output of the sensor, the output 56A of the water temperature sensor 56, and the heating element 24 are processed by the control circuit 64. The injector 12 and the ignition coil 58 are driven by the output of this control circuit 64.

이상의 구성에 의하여 제어되는 엔진계통에 있어서, 스로틀챔버(4)에는 스로틀의 스로틀밸브(16)를 지나서 흡기관(6)에 연봉하는 바이패스(26)가 설치되며, 이 바이패스(26)에는 개폐제어되는 바이패스밸브(62)가 설치되어 있다. 이 바이패스밸브(62)의 구동부에는 상기 제어회로(64)의 제어입력이 공급되며, 개폐제어되도록 되어 있다.In the engine system controlled by the above configuration, the throttle chamber 4 is provided with a bypass 26 which is sealed to the intake pipe 6 through the throttle valve 16 of the throttle, and the bypass 26 is provided with the bypass 26. The bypass valve 62 which opens and closes and controls is provided. The control input of the control circuit 64 is supplied to the drive section of the bypass valve 62 to control the opening and closing.

이 바이패스밸브(62)는 스로틀밸브(16)를 우회하여 설치된 바이패스(26)에 면하게되면, 펄스전류에 의해 개폐제어가 이루어진다. 이 바이패스밸브(62)는 밸브의 리프트량에 의해 바이패스(26)의 단면적을 변경하는 것으로서, 이 리프트량은 제어회로(64)의 출력에 의해 구동계가 구동되어 제어된다. 즉, 제어회로(64)에 있어서는 구동계의 제어를 위해 개폐주기신호가 발생되며, 구동계는 이 개폐주기신호에 의해서 바이패스밸브(62)의 리프트량을 조절하기 위한 제어신호를 바이패스밸브(62)의 구동부에 부여하는 것이다.When the bypass valve 62 faces the bypass 26 provided bypassing the throttle valve 16, opening and closing control is performed by a pulse current. The bypass valve 62 changes the cross-sectional area of the bypass 26 according to the lift amount of the valve. The lift amount is controlled by driving the drive system by the output of the control circuit 64. That is, in the control circuit 64, the open / close cycle signal is generated for the control of the drive system, and the drive system sends a control signal for adjusting the lift amount of the bypass valve 62 by the open / close cycle signal. Is given to the driving unit.

제4도는 제3도의 점화장치의 설명도이며, 증폭기(68)를 통해서 파워트랜지스터(72)에 펄스전류가 공급되고, 이 전류에 의해 트랜지스터(72)는 온으로 된다. 이것에 의해 배터리(66)에서 점화코일(58)에 1차코일전류가 흐른다. 이 펄스전류의 하강으로 트랜지스터(72)는 차단상태로 되며, 점화코일(58)의 2차코일에 고전압이 발생한다.4 is an explanatory diagram of the ignition device of FIG. 3, in which a pulse current is supplied to the power transistor 72 through the amplifier 68, and the transistor 72 is turned on by this current. As a result, the primary coil current flows from the battery 66 to the ignition coil 58. As the pulse current falls, the transistor 72 is cut off, and a high voltage is generated at the secondary coil of the ignition coil 58.

이 고전압은 배전기(70)를 통해서 엔진의 각 실린더에 있는 점화플럭(52)의 각각에 엔진회전에 동기해서 고전압을 배전한다.This high voltage distributes the high voltage to each of the ignition blocks 52 in each cylinder of the engine through the distributor 70 in synchronization with engine rotation.

제5도는 배기가스환류(이하 EGR이라고 함)시스템을 설명하기 위한 것으로서, 부압원(負壓源)(80)의 일정부압이 제압밸브(84)를 통해 제어밸브(86)에 가해지고 있다. 제압밸브(84)는 트랜지스터(90)에 가해져서 반복펄스의 온듀티비율에 따라서, 부압원의 일정부압을 대기(88)에 개방에 대한 비율을 제어하며, 제어밸브(86)에의 부압의 인가상태를 제어한다. 따라서, 제어밸브(86)에 가해지는 부압은 트랜지스터(90)의 온듀티비율로 정해진다. 이 제압밸브(84)의 제어부압에 의해 배기관(10)에서 흡기관(6)에의 EGR양이 제어된다.5 is for explaining the exhaust gas return (hereinafter referred to as EGR) system, in which a constant negative pressure of the negative pressure source 80 is applied to the control valve 86 through the pressure reducing valve 84. The depressurization valve 84 is applied to the transistor 90 to control the ratio of opening the constant negative pressure of the negative pressure source to the atmosphere 88 according to the on-duty ratio of the repetitive pulses, and applying the negative pressure to the control valve 86. Control the state. Therefore, the negative pressure applied to the control valve 86 is determined by the on duty ratio of the transistor 90. The amount of EGR from the exhaust pipe 10 to the intake pipe 6 is controlled by the control pressure of the pressure reducing valve 84.

제6도는 제어시스템의 전체구성도이다. CPU(102)와 리드온리메모리(104)(이하 ROM이라고 함)와 랜덤액세스메모리(10b)(이하 RAM이라고 함)와 압출력회로(108)로 구성되어 있다. 상기 CPU(102)는 ROM(104)내에 기억된 각종 프로프램에 의해 압출력회로(108)로부터의 입력데이터를 연산하며, 그 연산결과를 다시 입출력회로(108)로 귀환시킨다. 이들 연산에 필요한 중간적인 기억은 RAM(106)을 사용한다. CPU(102), ROM(104), RAM(106), 입출력회로(108)간의 각종 데이터의 주고 받는 것은 데이터버스와 콘트롤버스와 어드레스버스로 이루어진 버스라인(110)에 의해서 행해진다.6 is an overall configuration diagram of the control system. The CPU 102, the read-only memory 104 (hereinafter referred to as ROM), the random access memory 10b (hereinafter referred to as RAM), and the extrusion force circuit 108 are constituted. The CPU 102 calculates input data from the extrusion force circuit 108 by various programs stored in the ROM 104, and returns the calculation result back to the input / output circuit 108. The intermediate memory required for these operations uses RAM 106. The transfer of various data between the CPU 102, the ROM 104, the RAM 106, and the input / output circuit 108 is performed by the bus line 110 composed of a data bus, a control bus, and an address bus.

입출력회로(108)에는 제1의 아날로그디지탈콘버터(이하 ADC1이라고 함)와 제2의 아날로그디지탈콘버터(이하 ADC2라고 함)와 각도신호처리회로(126)와 1비트정보를 입출력하기 위한 디스크리트입출력회로(이하 DIO라고 함)와의 입력수단을 갖는다.The input / output circuit 108 includes a first analog digital converter (hereinafter referred to as ADC1), a second analog digital converter (hereinafter referred to as ADC2), an angle signal processing circuit 126, and a discrete input / output circuit for inputting and outputting 1-bit information. It has an input means (hereinafter referred to as DIO).

ADC1에는 배터리전압검출센서(132)(이하 VBS라고)와 냉각수온센서(56)(이하 TWS라고 함)와 대기온센서(112)(이하 TAS라고 함)와 조정전압발생기(114)(이하 VRS라고 기술함)와 스로틀각센서(116)(이하

Figure kpo00007
THS라고 함)와 λ센서(118)(이하 λS라고 함)와의 출력이 멀티플렉서(120)(이하 MPX라고 함)에 가해지며, MPX(120)에 의해 이중의 하나를 선택하여 아날로그디지탈변환회로(122)(이하 ADC라고 함)에 입력한다. ADC(122)의 출력인 디지탈치는 레지스터(124)(이하 REG라고 함)에 유지된다.ADC1 includes a battery voltage detection sensor 132 (hereinafter referred to as VBS), a coolant temperature sensor 56 (hereinafter referred to as TWS), an atmospheric temperature sensor 112 (hereinafter referred to as TAS), and a regulated voltage generator 114 (hereinafter referred to as VRS). ) And the throttle angle sensor 116 (hereafter
Figure kpo00007
THS) and the output of the λ sensor 118 (hereinafter referred to as λS) are applied to the multiplexer 120 (hereinafter referred to as MPX), and one of the analog digital conversion circuits is selected by the MPX 120. 122) (hereinafter referred to as ADC). The digital value that is the output of ADC 122 is held in register 124 (hereinafter referred to as REG).

또, 유량센서(119)(이하 AFS라고 함)는 ADC2에 입력되며, 아날로그디지탈변환회로(128)(이하 ADC라고 함)를 통해서 디지탈변환되며, 레지스터(130)(이하 REG라고 함)에 세트된다.In addition, the flow sensor 119 (hereinafter referred to as AFS) is input to ADC2, and digitally converted through the analog digital conversion circuit 128 (hereinafter referred to as ADC) and set in the register 130 (hereinafter referred to as REG). do.

각도센서(146)(이하 ANGS라고 함)로부터는 기준크랭크각 예를들면 180도 크랭크각을 나타내는 신호(이하 REF라고 함)와 비소각 예를들어 1도크랭크각을 나타내는 신호(이하 POS라고 함)가 출력되며, 각도신호처리회로(126)에 가해지고, 여기서 파형정형된다.From the angle sensor 146 (hereinafter referred to as ANGS), a signal indicating a reference crank angle, for example, a 180 degree crank angle (hereinafter referred to as REF), and a signal indicating a non-incineration example, for example, 1 degree crank angle (hereinafter referred to as POS) ) Is output to the angle signal processing circuit 126, where the waveform is shaped.

DIO에는 아이들스위치(148)(이하 IDLE-SW라고 함)와 봅기어스위치(150)(이하 TOP-SW라고 함)와 스타터스위치(152)(이하 START-SW라고 함)가 입력된다.The idle switch 148 (hereinafter referred to as IDLE-SW), the bob gear switch 150 (hereinafter referred to as TOP-SW), and the starter switch 152 (hereinafter referred to as START-SW) are input to the DIO.

다음에, CPU의 연산결과에 의거한 펄스출력회로 및 제어대상에 대해 설명한다. 인젝터제어회로(134)(INJC라고 함)는 연산결과의 디지탈치를 펄스출력으로 변환하는 회로이다. 따라서, 연료분산량에 해당하는 펄스폭을 갖는 펄스가 INJC(134)에서 만들어지고, AND 게이트(136)를 통해서 인젝터(12)에 인가된다.Next, the pulse output circuit and the control target based on the CPU calculation result will be described. The injector control circuit 134 (called INJC) is a circuit for converting the digital value of the calculation result into a pulse output. Therefore, a pulse having a pulse width corresponding to the fuel dispersion amount is produced at the INJC 134 and applied to the injector 12 through the AND gate 136.

점화펄스발생회로(138)(이하 IGNC라고 함)는 점화시기를 세트하는 레지스터(AD라고 함)와 점화코일의 1차전류통전개시시간을 세트하는 레지스터(DWL이라고 함)를 가지며, CPU에서 이들 데이타가 세트된다. 세트된 데이터에 의거하여 펄스를 발생하며, 제3도에 상술한 증폭기(68)에 AND게이트(140)를 통해서 이 펄스를 가한다.The ignition pulse generation circuit 138 (hereinafter referred to as IGNC) has a register for setting the ignition timing (referred to as AD) and a register for setting the ignition coil primary current start time (referred to as DWL). The data is set. A pulse is generated based on the set data, and this pulse is applied to the amplifier 68 described above with reference to FIG. 3 through the AND gate 140.

바이패스밸브(62)의 밸브개방율은 제어회로(이하 ISCC라고 함)(142)에서 AND 게이트(144)를 통해서 가해지는 펄스에 의해서 제어된다. ISCC(142)는 펄스폭을 세트하는 레지스터 ISCD와 반복펄스주기를 세트하는 레지스터 ISCP를 가지고 있다.The valve opening rate of the bypass valve 62 is controlled by a pulse applied through the AND gate 144 in the control circuit (hereinafter referred to as ISCC) 142. The ISCC 142 has a register ISCD for setting a pulse width and a register ISCP for setting a repetitive pulse period.

제5도에 나타낸 EGR 제어밸브(86)를 제어하는 트랜지스터(90)를 제어하는 EGR양 제어펄스발생회로(154)(이하 EGRC라고 함)에는 펄스의 듀티를 나타내는 값을 세트하는 레지스터 EGRD와 펄스의 반복주기를 나타내는 값을 세트하는 레지스터 EGRP를 가지고 있다. 이 EGRC의 출력펄스는 AND 게이트(166)를 통해서 트랜지스터(90)에 가해진다.In the EGR amount control pulse generating circuit 154 (hereinafter referred to as EGRC) for controlling the transistor 90 for controlling the EGR control valve 86 shown in FIG. 5, a register EGRD and a pulse for setting a value representing the duty of the pulse It has a register EGRP that sets a value that represents the iteration period of. The output pulse of this EGRC is applied to the transistor 90 through the AND gate 166.

또, 1비트의 입출력신호는 회로 DIO에 의해 제어된다. 입력신호로서는 IDLE-SW신호, TOP-SW신호, START-SW신호가 있다. 또, 출력신호로서는 연료펌프를 구동하기 위한 펄스출력신호가 있다. 이 DIO는 단자를 입력단자로서 사용하는가, 또는 출력단자로서 사용하는가를 결정하기 위한 레지스터 DDR와, 출력데이터를 래치하기 위한 레지스터 DOUT가 설치되어 있다.In addition, the 1-bit input / output signal is controlled by the circuit DIO. The input signals include IDLE-SW signals, TOP-SW signals, and START-SW signals. As the output signal, there is a pulse output signal for driving the fuel pump. This DIO is provided with a register DDR for determining whether a terminal is used as an input terminal or an output terminal, and a register DOUT for latching output data.

레지스터(160)는 입출력회로(108) 내부의 각각의 상태를 지령하는 명령을 유지하는 레지스터(이하 MOD라고 함)이며, 예를들면 이 레지스터에 명령을 세트함으로써 AND 게이트(136),(140),(144),(156)를 모두 턴온시키거나 턴오프시킨다. 이와 같이 MOD 레지스터(160)에 명령을 세트함으로써, INJC나 IGNC, ISCC의 출력의 정지나 기동을 제어할 수 있다.The register 160 is a register (hereinafter referred to as MOD) that holds an instruction for instructing each state inside the input / output circuit 108. For example, the AND gates 136 and 140 are set by setting an instruction in the register. , 144, 156 is turned on or off. By setting an instruction in the MOD register 160 in this manner, it is possible to control the stopping or starting of the output of INJC, IGNC, and ISCC.

제7도는 제6도의 제어회로의 프로그램시스템의 기본구성을 나타낸 도면이다.FIG. 7 is a diagram showing the basic configuration of a program system of the control circuit of FIG.

도면에 있어서 이니설치리프로그램(202), 인터럽트처리프로그램(206), 매크로처리프로그램(228) 및 타스크디스패쳐(task dispatcher) (208)는 타스크군을 관리하기 위한 관리프로그램이다. 이니셜처리프로그램(202)은 마이크로컴퓨터를 작동시키기 위한 전처리를 하기 위한 프로그램이며, 예를 들면 RAM(106)의 기억내용을 클리어하거나 입출력 인터페이스회로(108)의 레지스터류의 초기치를 설정하거나, 나아가서는 엔진제어를 하는데 필요한 전처리를 하기 위한 입력정보 예를들면 냉각수온 Tw, 매터리전압등의 데이터를 입력하기 위한 처리를 한다. 또, 인터럽트처리프로그램(206)은 각종 인터럽트를 받아들여, 그 인터럽트요인을 분석하고, 타스크군(210) 내지 (226)내의 필요한 타스크를 가동시키기 위한 기동요그를 타스크디스패쳐(208)에 출력한다. 인터럽트요인에는 후술하는 바와 같이 전원전압, 냉각수온도 등의 입력정보를 AD변환 종료 후에 발생하는 AD변환인터럽트(ADC), 엔진회로에 동기해서 발생하는 이니설인터럽트(INTL), 또 설정된 일정시간마다, 예를들면 10ms마다 발생하는 인터빌인터럽트(INTV), 나아가서는 엔진의 스톱상태를 검출하여 발생하는 엔진스톱인터럽트(ENST)등이 있다.In the figure, the installation program 202, the interrupt processing program 206, the macro processing program 228, and the task dispatcher 208 are management programs for managing the task group. The initial processing program 202 is a program for preprocessing for operating the microcomputer, for example, to clear the contents of the RAM 106, to set initial values of registers of the input / output interface circuit 108, or Input information for preprocessing necessary for engine control, for example, processing for inputting data such as cooling water temperature Tw and battery voltage. The interrupt processing program 206 receives various interrupts, analyzes the interrupt factors, and outputs a start yog to the task dispatcher 208 for starting the necessary tasks in the task groups 210 to 226. . As described below, the interrupt factor includes the AD conversion interrupt (ADC) generated after the AD conversion is completed, the input interruption (INTL) generated in synchronism with the engine circuit, and a predetermined time as described below. For example, there is an Interrupt Interrupt (INTV) that occurs every 10 ms, and further, an Engine Stop Interrupt (ENST) generated by detecting an engine stop state.

타스크군(210) 내지 (226)의 각 타스크에는 우선순위를 나타내는 타스크번호가 할당되어 있고, 각 타스크는 타스크레벨 0 내지 2의 어느 하나의 타스크레벨에 속한다. 즉, 타스크0 내지 타스크 2는 타스크레벨0에, 타스크3 내지 타스크 5는 타스크레벨 1에, 또한 타스크 6 내지 타스크 8은 타스크레벨 2에 각각 속한다.Each task in the task groups 210 to 226 is assigned a task number indicating priority, and each task belongs to any one of task levels 0 to 2. In other words, tasks 0 through 2 belong to task level 0, tasks 3 through 5 belong to task level 1, and tasks 6 through 8 belong to task level 2.

타스크디스패쳐(208)는 상기 각종 인터럽트의 기동요구를 받고, 이들 기동요구에 따라서 기동요구에 대응하는 각종 타스크에 붙여진 우선순위에 의거하여 CPU의 점유시간을 각 타스크에 할당한다.The task dispatcher 208 receives the start request of the various interrupts, and allocates the occupancy time of the CPU to each task based on the priority given to the various tasks corresponding to the start request in accordance with these start requests.

여기서, 타스크디스패쳐(208)에 의한 타스크의 우선제어는 다음 방법에 의한다. (1) 우선도가 낮은 타스크를 중단하고, 우선도가 높은 타스크에의 실행권의 이행은 타스크레벨간에서만 행한다. 그리고, 여기서는 레벨0이 가장 우선도가 높은 것으로 한다. (2)같은 타스크레벨내에서 현재 실행중 또는 중단중인 타스크가 있를 경우는 이 타스크가 가장 우선도가 높고, 이 타스크가 종료하기까지 다른 타스크는 동작할 수 없다. (3)같은 타스크레벨내에서 복수의 타스크에 기동요구가 있을 경우에는 타스크번호가 작을수록 우선도가 높은 것으로 한다. 타스크디스패쳐(208)의 처리내용은 후술하지만 본원 발명에서는 상기 우선제어를 하기 위해 타스크단위로 RAM에 소프트타이머를 설치하고, 또 타스크레벨단위로 타스크를 관리하는 제어블록을 RAM중에 설정하도록 구성하고 있다. 그리고, 상기 각 타스크의 실행 종료마다 그 타스크의 실행종료보고를 매크로처리프로그램(228)에 의해 타스크디스패쳐(208)에 행하도록 하고 있다.Here, priority control of the task by the task dispatcher 208 is performed by the following method. (1) The task with low priority is stopped and the execution right to the task with high priority is executed only between task levels. In this case, it is assumed that level 0 has the highest priority. (2) If there are tasks currently running or aborted within the same task level, this task has the highest priority, and no other tasks can operate until this task is finished. (3) In the case where a plurality of tasks have a start request within the same task level, the smaller the task number, the higher the priority. Although the processing contents of the task dispatcher 208 will be described later, in the present invention, in order to perform the priority control, a soft timer is installed in RAM in task units, and a control block for managing tasks in task level units is set in RAM. have. Then, at the end of execution of each of the above tasks, the end of execution of the task is reported to the task dispatcher 208 by the macro processing program 228.

다음에, 타스크디스패쳐(208)의 처리내용에 대해서 제8도 내지 제14도에 의거하여 설명한다. 제8도는 타스크디스패쳐(208)가 관리하는 RAM에 배설된 타스크제어블록이 배설되어 있다. 이 타스크제어블록이 타스크레벨의 수만큼 배설되어 있고, 본 실시예에서는 타스크레벨 0 내지 2의 3개가 배설되어 있다. 각 제어블록에는 각각 8비트가 할당되며, 그중 0 내지 2비트째(Q0~Q2)까지가 기동요구타스크표시를 하는 기동비트이며, 7비트째(R)가 동일타스크레벨중의 어느 하나의 타스크가 현재 실행중인지 또는 중단중인지를 나타내는 실행비트를 나타낸다. 그리고, 상기 기동비트 Q0내지 Q2는 각기 각 타스크레벨중에서 실행우선도가 높은 순으로 배열되어 있으며, 예를들어 제7도중에서 타스크(4)에 해당하는 기동비트는 타스크레벨 1의 Q0이다. 여기서 타스크의 기동요구가 있었을 경우에는 기동비트의 어느 것인가에 플랙이 세워지며, 한편 타스크디스패쳐(208)는 출력된 기동요구를 높은 레벨의 타스크에 해당하는 기동비트로부터 순서적으로 검색하고, 출력된 기동요구에 해당하는 플랙을 리세트하는 동시에 실행비트에 플랙 1을 세우고, 해당타스크를 기동하기 위한 처리를 한다.Next, the processing contents of the task dispatcher 208 will be described based on FIGS. 8 to 14. In FIG. 8, the task control block disposed in the RAM managed by the task dispatcher 208 is disposed. This task control block is arranged by the number of task levels. In this embodiment, three of task levels 0 to 2 are arranged. Each control block is assigned with 8 bits, of which 0 to 2 bits (Q 0 to Q 2 ) are start bits for starting request display, and 7th bit (R) is one of the same task levels. Indicates an execution bit indicating whether the task is currently running or aborted. In addition, the start bits Q 0 to Q 2 are arranged in the order of highest execution priority among the respective task levels. For example, the start bits corresponding to the task 4 in FIG. 7 are Q 0 of the task level 1. to be. If there is a start request for a task, a flag is set in one of the start bits, while the task dispatcher 208 sequentially searches for the output start request from the start bits corresponding to the high level task, and outputs the result. The flag corresponding to the requested start request is reset, and the flag 1 is set in the execution bit, and a process for starting the corresponding task is performed.

제9도는 타스크디스패쳐(208)가 관리하는 RAM(106)에 설치된 스타트어그레스테이블이다. 스타트어드레스 SA0 내지 SA8는 제7도에 나타낸 타스크군(210) 내지 (226)의 각 타스크 0 내지 8에 해당하는 스타트어드레스를 나타낸다. 각 스타트어드레스정보에는 16비트가 할당되며, 이들 스타트어드레스정보는 후술하는 것처럼 타스크디스패쳐(208)에 의해 기동요구가 있었던 해당타스크를 기동하는데 사용된다.9 is a start address table provided in the RAM 106 managed by the task dispatcher 208. The start addresses SA0 to SA8 represent the start addresses corresponding to the tasks 0 to 8 of the task groups 210 to 226 shown in FIG. 16 bits are allocated to each start address information, and these start address information is used by the task dispatcher 208 to start a corresponding task that has been requested to start, as described later.

다음에, 제10도 내지 제11도에 타스크디스패쳐의 처리플로를 나타낸다. 제10도에 있어서 스텝 300에서 타스크디스패쳐의 처리가 개시되면 스텝 302에서 타스크레벨 ℓ에 속하는 타스크가 실행중단중인지의 여부가 판단된다. 즉, 실행비트에 1이 서 있으면 매크로처리프로그램(228)에 의해 아직 타스크종료보고가 타스크디스패쳐(208)에 보내지고 있지 않은 상태이며, 실행중이었던 타스크가 더욱 우선 레벨이 높은 인터럽트가 생겼기 때문에 중단되어 있는 상태를 나타낸다. 따라서, 실행비트에 플랙 1이 서 있으면 스텝 314로 점프하여 중단타스크를 제거한다.Next, the processing flow of the task dispatcher is shown in FIGS. In FIG. 10, when the task dispatcher starts processing in step 300, it is determined in step 302 whether the task belonging to the task level l is suspended. In other words, if the execution bit is set to 1, the task completion report has not yet been sent to the task dispatcher 208 by the macro processing program 228, and the task that was running has a higher priority interrupt. Indicates a suspended state. Thus, if Flag 1 is placed in the execution bit, jump to step 314 to remove the interrupt task.

한편, 실행비트에 플랙 1이 서 있지 않은 즉 실행표시플랙이 리세트되어 있을 경우에는 스텝 304로 이행하고, 레벨 ℓ에 기동대기타스크의 유무가 판단된다. 즉, 레벨 ℓ의 기동비트를 대응하는 타스크의 실행우선도가 높은 순, 즉, Q0,Q1,Q2의 순으로 검색한다. 타스크레벨 ℓ에 속하는 기동비트에 플랙 1이 서 있지 않을 경우는 스텝 306으로 이행하고, 타스크레벨의 갱신이 행해진다. 즉, 타스크레벨 ℓ은 +1인크리멘트되어 ℓ +1로 한다. 스텝 306에서 타스크레벨의 갱신이 행해지만 스텝 308로 이행하여 타스크레벨의 전레벨이 체크되었는지의 여부가 판단된다. 전 레벨의 체크가 행해지지 않은, 즉 ℓ=2가 아닐 경우에는 스텝 302로 되돌아가서 역시 상기 수준으로 처리가 행해진다. 스텝 308에서 타스크레벨의 전 레벨이 체크되어 있을 경우에는 스텝 310으로 이행하여, 인터럽트해제가 행해진다. 즉, 스텝 302 내지 스텝 308까지의 처리기간중은 인터럽트를 금지하고 있으므로 이 스텝으로 인터럽트해제가 이루어진다. 그리고, 다음의 스텝 312에서 다음의 인터럽트를 대기한다.On the other hand, if the flag 1 does not stand in the execution bit, that is, the execution display flag is reset, the flow advances to step 304, and it is determined whether or not there is a start waiting task at level l. That is, the start bits of the level L are searched in order of high priority for execution of the corresponding task, that is, Q 0 , Q 1 and Q 2 . If the flag 1 does not stand in the start bit belonging to the task level 1, the routine advances to step 306, where the task level is updated. In other words, the task level l is incremented by +1 to be l +1. Although the task level is updated in step 306, the process proceeds to step 308, where it is determined whether all the levels of the task level have been checked. If the previous level is not checked, i.e., not equal to l = 2, the process returns to step 302 and processing is performed at that level again. If all the levels of the task level are checked in step 308, the routine advances to step 310, where interrupt cancellation is performed. That is, the interruption is prohibited during the processing period from step 302 to step 308, so that interruption is canceled in this step. In the next step 312, the next interrupt is waited.

다음에, 상기 스텝 304에서 타스크레벨 ℓ에 기동대기타스크가 있을 경우, 즉 타스크레벨 ℓ에 속하는 기동비트에 플랙 1이 서 있을 경우에는 스텝 400으로 이행한다. 스텝 400 및 402의 루프에서 타스크레벨 ℓ의 어느 기동비트에 플랙 1이 서 있는지는 대응하는 우선실행도가 높은 레벨순으로 즉 Q0, Q1, Q2의 순으로 검색한다. 해당하는 기동비트를 검색했으면 스텝 404로 이행하고, 스텝 404에서는 그 플랙이 서 있는 기동비트를 리세트하고, 그 해당타스크레벨의 ℓ의 실행비트(이하 R비트)에 플랙 1을 세운다. 또한, 스텝 406에서는 기동타스크번호를 검색하고, 스텝 408에서 제9도에 나타낸 RAM에 설치된 스타트어드레스테이블에 의해 해당하는 기동타스크의 스타트어드레스정보를 출력한다.Next, in step 304, if there is a start waiting task at the task level l, that is, if the flag 1 is standing at the start bit belonging to the task level l, the process proceeds to step 400. In the loops of steps 400 and 402, which start bit of the task level l stands for flag 1 is searched in the order of high priority level corresponding to that of priority level, that is, Q 0 , Q 1 , and Q 2 . When the corresponding start bit is found, the process proceeds to step 404. In step 404, the start bit in which the flag stands is reset, and the flag 1 is set to the execution bit (hereinafter referred to as R bit) at the task level. In step 406, the start task number is retrieved, and the start address information of the corresponding start task is output by the start address table provided in the RAM shown in FIG.

다음에, 스텝 410에서는 해당기동타스크를 실행할지의 여부의 판단이 행해진다. 여기서는 출력한 스타트어드레스정보가 특정의 값 예를들어 0이면 해당타스크의 실행은 하지 않아도 된다고 판단된다. 이 판단스텝은 엔진제어를 하는 상기 타스크군중 각 차종에 의해 선택적으로 특정의 타스크만의 기능을 갖게 하는데 필요한 것이다. 스텝 410에서 해당타스크의 실행이 정지라고 판단되었을 경우에는 스텝 414로 이행하고, 해당타스크레벨 ℓ의 R비트를 리세트한다. 그리고, 다시 스텝 302로 되돌아가서 타스크레벨 ℓ은 중단중인지의 여부가 판단된다. 이것은 동일타스크레벨 ℓ중에 복수의 기동비트에 플랙이 서 있을 경우가 있을 수 있으므로 스텝 414에서 R비트를 리세트한 다음, 스텝 302로 이행하도록 구성되어 있다.Next, in step 410, it is determined whether or not the corresponding start task is executed. In this case, if the output start address information is a specific value, for example, 0, it is determined that the task does not need to be executed. This judging step is necessary to make the function of a specific task selectively by each vehicle type among the task groups performing engine control. If it is determined in step 410 that execution of the task is stopped, the flow advances to step 414, and the R bit of the task level l is reset. Then, the process returns to step 302 again, and it is determined whether or not the task level L is suspended. Since the flag may be standing on a plurality of start bits in the same task level l, it is configured to reset the R bits in step 414 and then proceed to step 302.

한편, 스텝 410에서 해당타스크의 실행이 정지가 아닐 경우 즉 실행할 경우에는 스텝 412로 이행하여 해당타스크로 점프해서 타스크의 실행이 행해진다.On the other hand, if the execution of the task is not stopped at step 410, that is, if the execution is performed, the process proceeds to step 412 to jump to the task and execution of the task is performed.

다음에, 제12도는 매크로처리프로그램(228)의 처리플로를 나타낸 도면이다. 이 프로그램은 종료타스크를 발견하기 위한 스텝 562와 564로 이루어진다. 이 스텝 562와 564에서 먼저 타스크레벨의 0부터 검색하여 종료한 타스크레벨을 찾아 낸다. 이것에 의해 스텝 568로 진행하고, 여기서 종료한 타스크의 타스크제어블록의 7비트째의 실행(RUN)플랙을 리세트한다.이것에 의해 그 타스크의 실행이 완전히 끝난 것으로 된다. 그리고,다시 타스크디스패쳐(208)로 되돌아가 다음이 실행타스크가 결정된다.Next, FIG. 12 is a diagram showing the processing flow of the macro processing program 228. FIG. The program consists of steps 562 and 564 for finding an end task. In steps 562 and 564, the task level is first found by searching from 0 of the task level to find the finished task level. This proceeds to step 568, where the 7-bit run flag of the task control block of the task completed here is reset. This completes the execution of the task. The process then returns to the task dispatcher 208 to determine the next execution task.

다음에, 타스크디스패쳐(208)에 의해 타스크우선제어가 행해질 경우의 타스크의 실행과 중단을 제13도에 의거하여 설명한다. 여기서 기동요구 Nmn에 있어서의 m은 타스크레벨을 나타내며, n은 타스크레벨 m중에 있어서의 우선도의 순위를 나타내는 것으로 한다. 지금 CPU는 관리프로그램 OS을 실행하고 있었다고 하면, 이 관리프로그램 OS의 실행중에 기동요구 N21가 발생했을 경우에는 시각 T1에서 기동요구 N21에 해당하는 타스크 즉 타스크 6의 실행이 개시된다. 여기서 타스크 6의 실행중에 시각 T2에서 더욱 실행우선도가 높은 타스크의 기동요구 N1가 생겼을 경우에는 관리프로그램 OS으로 실행이 옮겨지고, 이미 기술한 소정의 처리를 한 다음에 시각 T3에서 기동요구 N1에 해당하는 타스크, 즉 타스크 0의 실행이 개시된다. 이 타스크 0의 실행중에 다시 시각 T4에서 기동요구 N11가 들어왔을 경우에는 일단 관리프로그램 OS으로 실행이 옮겨져 소정의 처리가 행해진 다음, 다시 시각 T5에서 중단되어 있었던 타스크 0의 실행이 재개된다. 그리고, 타스크 0의 실행이 시각 T6에서 종료하면, 다시 관리프로그램 OS으로 실행이 옮겨지고, 여기서 매크로처리프로그램(228)에 의해 타스크디스패쳐(208)에 타스크 0의 실행종료보고가 이루어지고, 시각 T7에서 다시 기동대기로 되어 있었던 기동요구 N11에 해당하는 타스크 3의 실행이 개시된다.Next, the execution and interruption of the task when the task priority control is performed by the task dispatcher 208 will be described with reference to FIG. Here, m in the start request Nmn denotes the task level, and n denotes the priority of the priority in the task level m. If the CPU is executing the management program OS at this time, and if the start request N 21 occurs while the management program OS is running, the task corresponding to the start request N 21 , that is, the task 6, is started at time T 1 . In this case, if task start request N 1 having a higher execution priority is generated at time T 2 during execution of task 6, execution is shifted to the management program OS, and it is started at time T 3 after the predetermined processing described above is performed. Execution of the task corresponding to the request N 1 , that is, task 0 is started. If the start request N 11 is entered again at time T 4 while the task 0 is being executed, execution is once transferred to the management program OS, predetermined processing is performed, and execution of the task 0 which was interrupted at time T 5 is resumed. . When execution of task 0 ends at time T 6 , execution is transferred to the management program OS again, where the execution completion report of task 0 is made to the task dispatcher 208 by the macro processing program 228. The execution of task 3 corresponding to the start request N 11 , which has been waited again at time T 7 , is started.

이 타스크 3의 실행중 시각 T8에서 같은 타스크레벨 1의 우선도가 낮은 기동요구 N12가 들어왔을 경우에는 타스크 3의 실행은 일단 중단되며, 실행은 관리프로그램 OS으로 옮겨져 소정의 처리가 이루어진 다음, 시각 T9에서 타스크 3의 실행이 재개된다. 그리고, 시각 T10에서 타스크 3의 실행이 종료하면 CPU의 실행은 관리프로그램 OS으로 옮겨져 상기 매크로처리프로그램(228)에 의해 타스크디스패쳐(208)에 타스크 3의 실행종료보고가 이루어지고, 이어서 시각 T11에서 더 우선레벨이 낮은 기동요구 N12에 해당하는 타스크 4의 실행이 개시되며, 시각 T12에서 타스크 4의 실행이 종료하면 실행은 관리프로그램 OS으로 옮겨져 소정의 처리가 이루어진 다음, 지금까지 중단되어 있었던 기동요구 N21에 해당하는 타스크 6의 실행이 시각 T19에서 재개된다.When entered the the task level 1 priority of the activation request N 12 low in the same of the task 3 is running at time T 8, the execution of the task 3 is once stopped, running to a predetermined process consisting transferred to manager OS then The execution of task 3 resumes at time T 9 . When execution of task 3 ends at time T 10 , execution of the CPU is transferred to the management program OS, and the execution completion report of task 3 is reported to task dispatcher 208 by the macro processing program 228. T is the more preferred execution of the task 4, which level is the lowest activation request N 12 starts at 11, when the task 4 run ends at time T 12 execution is transferred to manager OS consisting of a predetermined process, and then, so far Execution of task 6 corresponding to the interrupted start request N 21 is resumed at time T 19 .

이상과 같이 하여 타스크의 우선제어가 행해진다. 타스크의 우선제어에 있어서의 상태천이를 제14도에 나타낸다. 아이들(Idle)상태는 기동대기의 상태이며, 타스크에 아직 기동요구를 출력하고 있지 않다. 다음에, 기동요구를 출력하면 타스크제어블록의 기동비트에 플랙이서며, 기동이 필요하다고 하는 것이 표시된다. 아이들상태에서 큐(Queue)상태로 이동하는 시간은 각 타스크의 레벨에 의해 정해져 있다. 또한, 큐상태로 되어도 실행되며, 순서는 우선도에 의해 정해진다. 그 타스크가 실행상태로 들어가는 것은 관리프로그램 OS내의 타스크디스패쳐(208)에서 타스크제어블록의 기동비트의 플랙이 리세트되며, R비트(7비트째)에 플랙이서고 나서부터이다. 이것에 의해 타스크의 실행이 개시된다. 이 상태가 런(Run)상태이다. 그리고, 실행이 끝나면 타스크제어블록의 R비트의 플랙이 클리어되며, 종료보고를 종료한다. 이것에 의해 런상태는 끝나며, 다시 아이들상태로 되어 다음의 기동요구가 출력되는 것을 기다린다. 그러나, 타스크의 실행중 즉 런중에 인터럽트 IRQ가 발생하면, 그 타스크는 실행을 중단하지 않으면 안된다. 이 때문에 CPU의 내용이 대피되며, 실행이 중단된다. 이 상태가 레디(Ready)상태이다. 다음에, 이 타스크가 다시 실행되는 상태로 되면 대피에어리어에서 대피하고 있었던 내용을 다시 CPU로 되돌리고, 실행이 재개된다. 즉, 레디상태에서 다시 런상태로 되돌아온다. 이와 같이 각 레벨프로그램은 제14도의 4가지의 상태를 반복한다. 제14도는 대표적인 흐름이지만 레디상태에서 타스크제어블록의 기동비트에 플랙이 설 가능성이 있다. 이것은 예를들어 기동중단중에 그 타스크의 다음의 기동요구타이밍으로 되어 버렸을 경우이다. 이 때에는 R비트의 플랙이 우선되어서 먼저 중단중인 타스크를 종료시킨다. 이것에 의해 R비트의 플랙이 꺼지고, 기동비트의 플랙에 의해 아이들상태를 통하지 않고 큐상태로 된다.As described above, priority control of the task is performed. 14 shows a state transition in priority control of the task. The idle state is the start waiting state, and the task is not yet output to the task. Next, when the start request is outputted, the start bit of the task control block is flagged, indicating that start is required. The time to move from the idle state to the queue state is determined by the level of each task. It is also executed in the queue state, and the order is determined by priority. The task enters the execution state after the flag of the start bit of the task control block is reset by the task dispatcher 208 in the management program OS, and the flag is written to the R bit (the seventh bit). This starts the task execution. This state is the Run state. When the execution ends, the flag of the R bit of the task control block is cleared, and the end report ends. This completes the run state and returns to the idle state, waiting for the next start request to be output. However, if an interrupt IRQ occurs during the execution of a task, or during its execution, the task must stop execution. Because of this, the contents of the CPU are evacuated and execution is interrupted. This state is Ready. Next, when this task is executed again, the contents evacuated from the evacuation area are returned to the CPU, and execution resumes. That is, it returns from the ready state to the run state again. In this manner, each level program repeats the four states in FIG. 14 is a typical flow, but in the ready state, there is a possibility that a flag is set in the start bit of the task control block. This is the case, for example, when starting the task, the next start request timing for that task has been reached. In this case, the flag of the R bit is given priority to finish the task that is being interrupted first. As a result, the flag of the R bit is turned off, and the flag of the start bit is set to the queue state without passing through the idle state.

이와 같이 타스크 0~8은 각각 제14도의 어느 하나의 상태에 있다.Thus, tasks 0-8 are in any one of FIG. 14, respectively.

다음에, 제15도는 제7도의 프로그램시스템의 구체적 실시예를 나타내고 있다. 도면에 있어서, 관리프로그램 OS은 이니셜처리프로그램(202), 인터럽트처리프로그램(206), 타스크디스패쳐(208) 및 매크로처리프로그램(228)으로 이루어진다.Next, FIG. 15 shows a specific embodiment of the program system of FIG. In the figure, the management program OS consists of an initial processing program 202, an interrupt processing program 206, a task dispatcher 208, and a macro processing program 228.

인터럽트처리프로그램(206)에는 각종 인터럽트처리프로그램이 있으며, 이니셜인터럽트처리(이하 INTL 인터럽트처리하고 함)(602)는 엔진회전에 동기해서 발생하는 이니셜인터럽트신호에 의해서, 엔진 1회전당 엔진기봉수의 절반, 즉 4기봉이면 2회 이니셜인터럽트가 발생한다. 이 이니셜인터럽트에 의해 EGI 타스크(612)에서 계산한 연료의 분사시간을 입출력인터페이스회로(108)의 EGI 레지스터에 설정한다. AD 변환인터럽트처리(604)는 2종류 있고, 하나는 AD 변환기 1인터럽트(이하 ADC1이라하고 함) 및 AD변환기 2인터럽트(이하1ADC2라고 함)이다. AD변환기 1은 8비트의 정밀도를 가지며, 전원전압, 냉각수온도, 흡기온도 및 사용조정 등의 입력에 사용되며, 멀티플랙서(128)에 대한 입력포인트를 지정하는 동시에 변환을 개시하며, 변환종료후에 ADC1 인터럽트가 발생한다. 그리고, 본 인터럽트는 크랭킹전에만 사용한다. 또, AD 변환기(120)는 공기유량의 입력에 사용되며, 변환종료후에 ADC2인터럽트가 발생한다. 그리고, 본 인터럽트도 크랭킹전에만 사용한다.The interrupt processing program 206 includes various interrupt processing programs. The initial interrupt processing (hereinafter referred to as INTL interrupt processing) 602 is based on the initial interrupt signal generated in synchronism with the engine rotation. At half, that is, four peaks, two initial interrupts occur. This initial interrupt sets the injection time of the fuel calculated by the EGI task 612 to the EGI register of the input / output interface circuit 108. There are two types of AD conversion interrupt processing 604, one of which is an AD converter 1 interrupt (hereinafter referred to as ADC1) and an AD converter interrupt (hereinafter referred to as 1ADC2). AD converter 1 has 8-bit precision and is used for input of power supply voltage, coolant temperature, intake temperature and use adjustment, etc., designates the input point for multiplexer 128 and starts conversion at the same time. After that, the ADC1 interrupt occurs. This interrupt is used only before cranking. In addition, the AD converter 120 is used for input of the air flow rate, and an ADC2 interrupt occurs after the conversion is completed. This interrupt is also used only before cranking.

다음에, 인터벌인터럽트처리프로그램(이하 INTV 인터럽트처리프로그램이라고 함)(606)에서는 INTV 인터럽트신호는 INTV 레지스터에 설정한 시간 예를들어 10ms마다 발생하며, 일정주기로 기동해야 할 타스크의 시간감시용 기본신호로서 사용된다. 본 인터럽트신호에 의해 소프트타이머를 갱신하고, 규정주기에 달한 타스크를 기동한다. 다시 엔진스톱인터럽트처리프로그램(이하 ENST 인터럽트처리프로그램이라고 함)(608)에서는 엔진의 스톱상태를 검출하는 것으로, INTL 인터럽트신호를 검출하면, 계수를 개시하여 소정 시간 예를들어 1초 이내에 다음의 INTL 인터럽트신호를 검출할 수 없었을 때, ENST 인터럽트가 발생한다. 그리고, ENST 인터럽트가 3회 예를들어 3초 경과해도 INTL 인터럽트신호를 검출할 수 없었을 경우에 엔진스톱이 일어난 것으로 판단하여 점화코일에의 통전 및 연료펌프를 정지한다. 이들 처리를 한 다음 스타터스위치(152)가 온하기까지 대기한다. 상기 인터럽트요인에 대한 처리개요를 표 1에 나타낸다.Next, in the interval interrupt processing program (hereinafter referred to as the INTV interrupt processing program) 606, the INTV interrupt signal is generated every 10 ms, for example, for the time set in the INTV register, and the basic time signal for time monitoring of the task to be started at a predetermined cycle. Used as The soft timer is updated by this interrupt signal, and the task reaching the specified period is started. The engine stop interrupt processing program (hereinafter referred to as the ENST interrupt processing program) 608 detects the engine stop state. When the INTL interrupt signal is detected, the engine stop interrupt processing program starts counting and then the next INTL within a predetermined time, for example, within 1 second. When the interrupt signal cannot be detected, the ENST interrupt occurs. When the INTL interrupt signal cannot be detected even after three times of the ENST interrupt, for example, three seconds have elapsed, it is determined that the engine stop has occurred and the energization of the ignition coil and the fuel pump are stopped. After these processes, the starter switch 152 waits until it is turned on. Table 1 shows the processing overview for the interruption factor.

[표 1]TABLE 1

Figure kpo00008
Figure kpo00008

이니셜처리프로그램(202) 및 매크로처리프로그램(228)에 대해서는 상술한 바와 같은 처리를 행한다.The initial processing program 202 and the macro processing program 228 are processed as described above.

상기 각종 인터럽트에 의해 기동되는 타스크군은 다음과 같다. 타스크레벨 0에 속하는 타스크로서는 연료 커트처리타스크(610)(이하 AC 타스크라고 함), 연료분사제어타스크(612)(이하 EGI 타스크라고 함) 및 시동모니터타스크(614)(MONIT 타스크라고 함)가 있다. 또, 타스크레벨 1에 속하는 타스크로서는 AD1 입력타스크(616)(이하 ADIN1 타스크라고 함), 시간계수처리타스크(618)(이하 AFSIA 타스크)가 있다. 또한, 타스크레벨 2에 속하는 타스크로서는 아이들회전제어타스크(620)(이하 ISC 타스크라고 함), 보정계산타스크(622)(이하 HOSEI 타스크라고 함) 및 시동처리타스크(624)(이하 ISTRT 타스크라고 함)가 있다.The task groups started by the various interrupts are as follows. Tasks belonging to task level 0 include a fuel cut processing task 610 (hereinafter referred to as an AC task), a fuel injection control task 612 (hereinafter referred to as an EGI task), and a startup monitor task 614 (hereinafter referred to as a MONIT task). have. Tasks belonging to task level 1 include an AD1 input task 616 (hereinafter referred to as an ADIN1 task) and a time counting task 618 (hereinafter referred to as an AFSIA task). In addition, as tasks belonging to task level 2, an idle rotation control task 620 (hereinafter referred to as an ISC task), a correction calculation task 622 (hereinafter referred to as a HOSEI task), and a start processing task 624 (hereinafter referred to as an ISTRT task). There is).

상기 각 타스크레벨의 할당과 타스크의 기능을 표 2에 나타낸다.Table 2 shows the assignment of each task level and the function of the task.

[표 2]TABLE 2

Figure kpo00009
Figure kpo00009

표 2에서 명백한 것처럼 각종 인터럽트에 의해 기동되는 각 타스크의 기동주기는 미리 정해져 있고, 이들 정보는 ROM(104)에 격납되어 있다.As is apparent from Table 2, the start cycle of each task started by various interrupts is determined in advance, and these pieces of information are stored in the ROM 104.

다음에, 열선식 유량센서의 신호처리방법과 연료분사제어에 대해서 설명한다. 본원 발명에 사용하는 열선식 유량센서의 신호처리를 제16도에 나타낸다. 열선출력전압 v에서 (5)식에 의해 순서공기유량 qA을 계산할 수 있다. 이 순서공기유량 qA은 제16도에 나타낸 것처럼 맥동상태의 순시치를 나타내므로, 일정시간 △t마다 샘플한다. 순서공기유량 qA에서 평균공기유량 QA은 다음 식으로 구해진다.Next, a signal processing method and fuel injection control of the hot wire flow sensor will be described. 16 shows signal processing of the heat flow type flow sensor used in the present invention. The sequential air flow rate q A can be calculated from equation (5) at the hot wire output voltage v. Since the sequential air flow rate q A represents the instantaneous value of the pulsation state as shown in FIG. 16, it samples every fixed time (DELTA) t. The average air flow rate Q A in the sequence of air flow rate q A is obtained by the following equation.

Figure kpo00010
Figure kpo00010

실린더에 흡입되는 공기유량은 (8)식에서

Figure kpo00011
으로 구할 수 있다. 이와 같은 신호처리로 적산유량을 구한다. 다음에, 연료분사제어에 대해서 설명한다. 본원 발명의 연료분사는 (7)식에 의거하여 엔진의 1회전당의 분사량을 계산하고, 각 기봉에 대해서 1흡기행정에 1회, 즉 4기봉엔진에 있어서는 크랭크의 180°의 회전에 1회, 상기 분사량을 분사하도록 해도 좋다. 또, 적산공기유량이 어떤 값으로 되었을 때에 연료를 분사하도록 해도 좋다. 여기서는 후자의 연료분사방식에 본원 발명을 적용한 경우의 실시예를 예시하지만, 전자의 방식에도 본원 발명은 적용할 수 있는 것이다.The air flow rate sucked into the cylinder is expressed in (8).
Figure kpo00011
You can get it by The integrated flow rate is obtained by such signal processing. Next, fuel injection control will be described. The fuel injection of the present invention calculates the injection amount per revolution of the engine on the basis of equation (7), and once for each intake stroke once per intake stroke, i.e., once for 180 degrees rotation of the crank in a four-season engine. The injection amount may be injected. The fuel may be injected when the accumulated air flow rate reaches a certain value. Here, although the Example at the time of applying this invention to the latter fuel injection system is illustrated, this invention is applicable also to the former system.

제17도에 후자의 방식에 의거한 연료분사타이밍을 나타낸다. 순시공기유량 qA을 일정시간마다 적산하고, 그 유량적산치가 적산유량레벨 Q이상으로 되면, 일정시간 t의 연료를 분사한다. 즉, 연료분사 타이밍은 유량적산치가 적산유량레벨에 달했을 때이다. 이 적산유량레벨 Qℓ1을 Qℓ2로 하면, 공인비(A/F)는 높아지고, Qℓ3으로 하면 공연비는 낮아진다. 이 시스템에서는 이 적산유량레벨을 시프트하여, 공연비를 임의로 조정할 수 있다. 즉, 시동시의 난기운전(暖機運轉)에서는 공연비를 높게 하는 것이 필요하며, 적산유량레벨을 작게 하는 것으로 실현할 수 있다. 또, O2센서의 출력에 의해 공연비를 항상 최적으로 제어하는데는 O2센서 출력의 온-오프에 의해 적산유량레벨을 가감하는 것으로 실현할 수 있다.17 shows fuel injection timing based on the latter method. Accumulating the instantaneous air flow rate q A at the predetermined time, and when the flow rate of the integration value accumulated flow level Q or more, injects fuel of a predetermined time t. That is, the fuel injection timing is when the flow rate integration value reaches the integration flow level. When the accumulated flow level Q to Q ℓ1 ℓ2, increasing the authorized ratio (A / F), if the Q ℓ3 air-fuel ratio is low. In this system, the integration flow level is shifted to adjust the air-fuel ratio arbitrarily. In other words, it is necessary to increase the air-fuel ratio in the turbulent operation at start-up, and can be realized by reducing the accumulated flow rate level. In addition, the air-fuel ratio by an output of the O 2 sensor is always on the O 2 sensor output for controlling the optimization can be implemented by subtraction the accumulated flow level by off.

이와 같은 열선식유량센서의 신호입력 및 분사타이밍의 처리플로를 제18도에 나타낸다.18 shows a processing flow of signal input and injection timing of such a thermal flow rate sensor.

도면에 있어서, 먼저 스텝 801에 있어서, INTL 인터럽트의 여부를 판단한다. INTL 인터럽트의 경우는 스텝(802)에 있어서, IGN, REG를 세트하고, INTL 인터럽트처리프로그램을 종료한다. 또, 스텝 801에 있어서, INTL 인터럽트가 아닐 경우는 스텝 805에 있어서, QA용의 타이머인터럽트인지의 여부를 판정한다. 이 타이머인터럽트의 경우에는 스텝 806에 있어서, 열선식유량센서입력을 위한 기동을 하고, 스텝 807에 있어서 열선식유량센서의 입력을 행한다. 스탭 808에서는 (5)식으로 표시되는 순시공기유량 qA을 계산하고, 스텝 809에서 적산처리를 한다. 스텝 810에 있어서, 순시공기유량의 적산치가 적산유량레벨로 되었는지의 여부를 판단한다. 적산유량레벨로 되었을 경우는 스텝 811에서, EGI, REG에 적산유량레벨에 대응하는 분사시간 t을 세트하고, 스텝 812에서 기본분사펄스를 출력하여 기본연료량 TP의 분사를 개시한다. 이때의 기본분사펄스의 폭은 분사기간 t으로 결정된다. 그리고, 기본 분사량 TP은 적산유량레벨로 결정된다. 스텝 813에서 적산유량과 적산유량레벨의 차를 현재의 적산유량으로 한다. 스텝 805에 있어서, QA용의 타이머인터럽트가 아닐 경우는 스텝 815에 있어서, ADC 입터럽트인지 여부를 판정한다. 스텝 815에 있어서 ADC 인터럽트일 경우에는 스텝 815에 있어서 IST 플랙이 1인지 여부를 판정하고, IST 플랙이 1일 경우에는 스텝 817에 있어서 열선식유량센서의 기동과 입력을 행한다. 이 입력에 의한 유량치는 불시의 검출에 사용하는 것이다. 또, 스텝 815에 있어서 ADC 입터럽트가 아닐 경우, 스텝 816에 있어서 IST 플랙이 1이 아닐 경우에는 모두 제18도의 INTV 인터럽트처리(606)로 이행한다.In the figure, first, in step 801, it is determined whether the INTL interrupt is present. In the case of an INTL interrupt, in step 802, IGN and REG are set, and the INTL interrupt processing program ends. In addition, when not in, INTL interrupt in step 801 is at step 805, it is determined whether or not the timer interrupt for the Q A. In the case of this timer interrupt, the step for inputting the hot wire flow sensor is started in step 806, and the hot wire flow sensor is input in step 807. In step 808, the instantaneous air flow rate q A represented by the equation (5) is calculated, and the integration process is performed in step 809. In step 810, it is determined whether the integrated value of the instantaneous air flow rate has become the integrated flow rate level. When the accumulated flow rate is reached, in step 811, the injection time t corresponding to the accumulated flow level is set in EGI and REG, and the basic injection pulse is output in step 812 to start the injection of the basic fuel amount T P. The width of the basic injection pulse at this time is determined by the injection period t. The basic injection amount T P is determined at the accumulated flow level. In step 813, the difference between the accumulated flow rate and the accumulated flow level is set as the current accumulated flow rate. If it is not the timer interrupt for Q A in step 805, it is determined in step 815 whether it is an ADC interrupt. In the case of an ADC interrupt in step 815, it is determined in step 815 whether the IST flag is 1, and in the case of IST flag 1, the hot wire flow sensor is started and input in step 817. FIG. The flow rate value by this input is used for the unexpected detection. If the ADC interrupt is not interrupted in step 815, and if the IST flag is not 1 in step 816, the process proceeds to INTV interrupt processing 606 in FIG.

다음에, 엔진냉각수온센서로부터의 출력치에 의해서, 즉 엔진냉각수온에 의해서 공기유량비교레벨을 변경하는 특성도가 제19도에 표시되어 있다. 즉, -40℃~40℃는 한냉시동이며, 난기운전레벨이다. 또, 40℃~85℃는 통상 시동레벨이며, 85℃ 이상은 호트리스타트레벨이다. 이 공기유량비교레벨은 시동전에, 즉 엔진키를 온하면 즉시 수온을 입력하여 수온에 대한 공기유량비교레벨을 제19도로부터 연산하여 레벨설정한다. 이 연산은 ISTRT 프로그램에서 처리하게 된다.Next, a characteristic diagram of changing the air flow rate comparison level by the output value from the engine coolant temperature sensor, that is, by the engine coolant temperature, is shown in FIG. That is, -40 ° C to 40 ° C is a cold start, and a warm air operation level. In addition, 40 degreeC-85 degreeC is a normal start level, and 85 degreeC or more is a hot start level. The air flow rate comparison level is set by calculating the airflow rate comparison level with respect to the water temperature from FIG. 19 before inputting, i.e., immediately after the engine key is turned on. This operation is handled by the ISTRT program.

다음에, 본원 발명에 의한 가속시의 연료제어처리에 대하여 설명한다.Next, the fuel control process at the time of acceleration by this invention is demonstrated.

제20도에 아이들상태 또는 감속후로부터의 가속시의 연소제어플로를 나타낸다. 즉, 먼저 스텝 901에 있어서 아이들스위치가 온되어 있는지의 여부를 추정하고, 온되어 있을 때는 스텝 902에 있어서 플랙을 세트하고, 스텝 903으로 이행한다.Fig. 20 shows the combustion control flow during acceleration from the idling state or after deceleration. That is, first, it is estimated whether or not the idle switch is turned on in step 901, and when it is turned on, the flag is set in step 902 and the process proceeds to step 903.

또한, 스텝 901에 있어서 아이들스위치가 오프라고 추정되면 스텝 903에 있어서 스로틀개도를 검출해서 RAM에 격납한다.If the idle switch is estimated to be OFF in step 901, the throttle opening degree is detected in step 903 and stored in the RAM.

다음에, 스텝 904에 있어서 현재 검출한 스로틀개도와 30ms전에 입력한 스로틀개도를 비교하여, 현재치가 큰지의 여부 즉 가속상태인지의 여부를 추정한다. 가속이 아닌 경우에는 스텝 910으로 이행하고, 가속이라고 판정되면, 스텝 905에 있어서 제1가속분사보정계수, 즉 통상의 흡입공기량의 증량에 따른 가속분사보정계수를 연산하고, 이 가속분사보정계수의 플랙에 1이 서있는지의 여부를 스텝 906에서 판정한다.Next, in step 904, the detected throttle opening degree and the throttle opening degree input 30 ms ago are compared, and it is estimated whether the present value is large, that is, whether it is in an acceleration state. If it is not the acceleration, the flow advances to step 910, and if it is determined that the acceleration is determined, in step 905 the first acceleration injection correction coefficient, that is, the acceleration injection correction coefficient corresponding to the increase of the normal intake air amount is calculated, and the acceleration injection correction coefficient is It is determined in step 906 whether 1 is standing on the flag.

플랙이 1로 되어있을 때는 스텝 907에 있어서 제1가속분사보정계수 K를 n배한 값을 가속분사보정계수로 한다.If the flag is 1, the value obtained by multiplying the first acceleration injection correction coefficient K by n times in step 907 is used as the acceleration injection correction coefficient.

또한, 플랙에 1이 서있지 않을 때는 스텝 908에 있어서 제1가속분사보정계수를 가속분사보정계수로 한다.In addition, when 1 does not stand on a flag, a 1st acceleration injection correction coefficient is made into acceleration acceleration correction coefficient in step 908.

다음에, 스텝 909에 있어서 추가분사를 행하고, 스텝 910에 있어서 아이들스위치가 오프되어 있는지의 여부를 판정하여, 오프되어 있을때는 플랙을 리세트한다.Next, additional injection is performed in step 909, and it is determined in step 910 whether the idle switch is turned off, and when it is turned off, the flag is reset.

이로써, 아이들상태 또는 감속 후의 가속은 다른 가속시보다 K배 커진다.Thus, the acceleration after the idle state or deceleration becomes K times larger than other acceleration times.

다음에, 주행시의 가속시의 처리에 대해 제21도를 사용하여 설명한다.Next, the process at the time of acceleration at the time of travel is demonstrated using FIG.

제21도에는 부하의 변화에 따라 가속시의 추가분사량을 구하는 플로차트를 나타낸다.Fig. 21 shows a flow chart for calculating the additional injection amount during acceleration in accordance with the change in load.

도면에 있어서, 스텝 921에 있어서, 스로틀개도를 입력하고, A/D 변환하여 RAM에 격납한다.In the figure, in step 921, the throttle opening degree is input, A / D converted, and stored in the RAM.

다음에, 스텝 922에 있어서 이번 입력치와 30ms전의 입력치와의 차 △TH를 구하고, 스텝 923에 있어서 이 차 △TH가 0보다 큰지의 여부를 판정 즉 가속인지의 여부를 판정한다.Next, in step 922, the difference ΔT H between the current input value and the input value 30ms before is determined. In step 923, it is determined whether the difference ΔT H is greater than 0, or it is determined whether it is acceleration.

가속이라고 판정하면, 스텝 924에 있어서 스로틀개도율 △TH에서 추가분사보정계수 K1를 연산한다.If it is determined that it is acceleration, in step 924, the additional injection correction coefficient K 1 is calculated from the throttle opening ratio DELTA T H.

다음에, 스텝 925에서 흡입공기량 Qa과 엔진회전수 N에 따라 정해지는 기본분사량 TP과 상기 추가분사보정계수 K1에 의해 가속시의 추가분사량 TO을 구한다.Next, in step 925, the additional injection amount T O at the time of acceleration is determined by the basic injection amount T P determined according to the intake air amount Q a , the engine speed N and the additional injection correction coefficient K 1 .

스텝 926에 있어서, 기본분사량 TP과 수온 TW으로부터 제22도에 나타낸 바와같은 3차원 맵에 이하여 보정고정분 T1(Tconstant)을 구한다.In step 926, the basic injection quantity T P and the water temperature correction less than a three-dimensional map as shown in Figure 22 from T W T obtains the fixed minutes 1 (Tconstant).

다음에, 스텝 927에 있어서, 가속시의 추가분사량 TO과 보정고정분 T1으로부터 보정추가분사량 T을Next, in step 927, the correction additional injection amount T is determined from the additional injection amount T O at the time of acceleration and the correction fixed content T 1 .

T=TO+T1 T = T O + T 1

으로 하여 구하고, 스텝 928에 있어서 가속시의 보정추가분사량 T을 추가분사량으로서 추가분사한다. 또한, 제22도의 X축은 기본분사량 TP을, Y축은 수온 TW을, Z축은 보정고정분 T1을 나타내고 있다.In step 928, the correction additional injection amount T at the time of acceleration is additionally injected as the additional injection amount. In addition, the a first 22-degree X-axis basic injection quantity T P, Y axis represents the water temperature T W, represents the Z-axis correction fixing minutes T 1.

이 실시예에서 부하에 의한 3차원 맵은 전체부하에 대하여 행하고 있으나, 어떤 부하이하에서 실제로는 문제가 되므로, 소정부하인지의 여부판정을 넣어도 된다. 이 경우 소정이하의 맵만을 작성하면 된다.In this embodiment, the three-dimensional map due to the load is performed for the entire load. However, since it is actually a problem under any load, it may be determined whether or not it is a predetermined load. In this case, only a predetermined map or less may be created.

제23도에는 엔진회전수에 따라 가속시의 보정추가분사량을 도시한 플로차트를 나타낸다.FIG. 23 is a flowchart showing the correction additional injection amount during acceleration in accordance with the engine speed.

도면에 있어서, 스텝 941에 있어서 스로틀개도를 입력하고, A/D 변환하여 RAM에 격납한다.In the figure, the throttle opening degree is input in step 941, A / D converted, and stored in the RAM.

다음에, 스텝 942에 있어서 이번 입력치와 30ms전의 입력치와의 차 △TH를 구하고, 스텝 943에 있어서 이 차 △TH가 0보다 큰지의 여부를 판정 즉 가속인지의 여부를 판정한다.Next, in step 942, the difference ΔT H between the current input value and the input value 30ms before is determined. In step 943, it is determined whether the difference ΔT H is greater than 0, or it is determined whether it is acceleration.

가속이라고 판정하면 스텝 944에 있어서 스로틀개도율 △TH에서 가속분사보정계수 K1를 연산한다.If it is determined that it is acceleration, the acceleration injection correction coefficient K 1 is calculated in step 944 based on the throttle opening ratio DELTA T H.

다음에, 스텝 945에 있어서 기본분사량 TP과 가속분사보정계수 K1로부터 가속시의 추가분사량 TONext, in step 945, the additional injection amount T O at the time of acceleration is calculated from the basic injection amount T P and the acceleration injection correction coefficient K 1 .

TO=TP+K1 T O = T P + K 1

으로 구한다.Obtain as

다음에, 스텝 946에 있어서 엔진회전수 N에서 회전보정계수 K를 제24도에 나타낸 바와 같은 맵에서 검색하고, 스텝 947에 있어서 가속시의 보정추가분사량 T을Next, in step 946, the rotation correction coefficient K is searched on the map as shown in FIG. 24 at the engine speed N, and in step 947, the correction additional injection amount T during acceleration is calculated.

T=TO×KT = T O × K

으로 구하고, 스텝 948에 있어서 가속시의 보정추가분사량 T을 분사한다.In step 948, the correction additional injection amount T at the time of acceleration is injected.

제25도의 실시예에 있어서는, 느린 가속의 경우(가속기간이 200ms~500ms로 긴것)은 가속검출회수(10ms로 1회의 비로 검출하고 있음)가 많으며, 그때마다 인터럽트분사를 행하게 되므로 1회의 가속시에 최초의 1회의 인터럽트분사를 행해지고, 그 후 가속검출해도 인터럽트분사하지 않도록 되어 있다.In the embodiment of Fig. 25, in the case of slow acceleration (the acceleration period is long from 200 ms to 500 ms), there are many acceleration detection times (detected in one ratio at 10 ms), and interrupt injection is performed every time, so that one acceleration Interrupt injection is performed once for the first time, and interrupt injection is not performed even after acceleration detection.

이 제어플로차트를 제25도에 나타낸다. 즉, 스텝 1001에 있어서 스로틀개도의 입력이 10ms마다의 인터벌 인터럽트에 의해 행해지고, 이 스로틀개도가 A/D 변환되어 RAM에 격납된다.This control flowchart is shown in FIG. That is, in step 1001, the input of the throttle opening degree is performed by an interval interrupt every 10 ms, and this throttle opening degree is A / D converted and stored in the RAM.

다음에, 이 10ms마다의 인터벌의 스로틀개도 TH의 차 △TH를 스텝 1002에 있어서 구한다.Next, a difference △ T H T H of the throttle opening degree of each of the 10ms interval is determined in step 1002.

이 △TH의 값이 스텝 1003에 있어서 레벨 1(스로틀개도 1°~2.5°)보다 큰지의 여부를 판정하고, 크지 않다고 판정되면 스텝 1004에 있어서 플랙 1을 리세트한다.It is determined in step 1003 whether the value of DELTA T H is greater than level 1 (the throttle opening degree is 1 ° to 2.5 °). If it is determined not to be large, the flag 1 is reset in step 1004.

또한, △TH가 레벨 1보다 클 때는 스텝 1005에서 레벨 2(스로틀개도 2.5°~5°)보다 큰지의 여부를 판정한다. 이 스텝 1005에 있어서 작다고 판정하면, 스텝 1006에서 수온에 따라 정해지는 보정계수 K1의 값을 맵검색하고, 스텝 1007에 있어서 상기 레벨 2에 맞는 가속시의 추가분사량을 연산하고, 스텝 1008에 있어서 플랙 1이 0인지 여부를 판정한다.In addition, when DELTA T H is greater than level 1, it is determined in step 1005 whether it is larger than level 2 (throttle opening degree is 2.5 degrees to 5 degrees). If it is determined in step 1005, the map search is performed for the value of the correction coefficient K 1 determined in accordance with the water temperature in step 1006. In step 1007, the additional injection amount at the time of acceleration corresponding to the level 2 is calculated. Determine whether flag 1 is zero.

이 스텝 1008에 있어서 플랙 1이 0이 아니라고 판정하면 그대로 통과한다.If it is determined in step 1008 that the flag 1 is not 0, it is passed as it is.

또한, 플랙 1이 0이라고 판정하면 스텝 1009에 있어서 추가분사를 행하고, 스텝 1010에 있어서 플랙 1을 세트한다.If it is determined that the flag 1 is 0, additional injection is performed in step 1009, and the flag 1 is set in step 1010.

또한, 스텝 1005에 있어서 △TH가 레벨 2보다 크다고 판정하면, 스텝 1011에 있어서 △TH가 레벨 3(스로틀개도 5°~7°)보다 큰지의 여부를 판정한다.In addition, if it is determined in step 1005 that ΔT H is greater than level 2, it is determined in step 1011 whether ΔT H is greater than level 3 (the throttle opening is 5 ° to 7 °).

이 스텝 1011에 있어서 △TH가 레벨 3보다 크지 않다고 판정되면, 스텝 1012에 있어서 수온에 의해 정해지는 보정계수 K1를 맵검색한다.If it is determined in step 1011 that DELTA T H is not greater than level 3, the map is searched for the correction coefficient K 1 determined by the water temperature in step 1012.

이 K1에 의한 기준가속보정분을 가한 레벨 3에 맞는 가속시의 추가분사량을 스텝 1013에 있어서 연산하고, 스텝 1014에 있어서 플랙 2이 0인지의 여부를 판정한다. 이 스텝 1014에 있어서 플랙 2이 0이라고 판정되면, 스텝 1015에 있어서 추가분사를 행하고, 스텝 1016에 있어서 플랙 2을 세트한다.In step 1013, the additional injection amount at the time of acceleration corresponding to the level 3 to which the reference acceleration correction component according to K 1 is added is calculated, and it is determined whether or not the flag 2 is 0 in step 1014. If it is determined in step 1014 that the flag 2 is 0, additional spraying is performed in step 1015, and the flag 2 is set in step 1016.

또한, 스텝 1011에 있어서 △TH가 레벨 3보다 크다고 판정하면, 스텝 1017에 있어서 △TH가 레벨 4(스로틀개도 7°이상)와 같은지의 여부를 판정한다.In addition, if it is determined in step 1011 that ΔT H is greater than level 3, it is determined in step 1017 whether ΔT H is equal to level 4 (the throttle opening is 7 degrees or more).

다음의 스텝 1018에 있어서 수온에 따라 정해지는 보정계수 K1를 맵검색하고, 스텝 1019에 있어서 레벨 4에 맞는 가속시의 추가분사량을 연산한다.In step 1018, a map search is performed for the correction coefficient K 1 determined according to the water temperature, and in step 1019, the additional injection amount at the time of acceleration corresponding to level 4 is calculated.

다음에, 스텝 1020에 있어서 플랙 3이 0인지의 여부를 판정하고, 0이라고 판정되면 스텝 1021에 있어서 추가분사를 행하고, 스텝 1022에 있어서 플랙 3을 세트한다. 또한, 각 레벨에 따라 가속보정이 다르다.Next, in step 1020, it is determined whether or not the flag 3 is 0. If it is determined as 0, additional injection is performed in step 1021, and the flag 3 is set in step 1022. In addition, acceleration correction differs for each level.

또한, 스텝 1017에 있어서 △TH가 레벨 4과 같다고 판정되면 스텝 1023에 있어서 수온에 의해 정해지는 보정계수 K1를 맵검색하고, 스텝 1024에 있어서 가속시의 추가분사량을 연산하여, 스텝 1025에 있어서 추가분사를 행한다.If it is determined in step 1017 that ΔT H is equal to level 4, in step 1023 a map search is made for the correction coefficient K 1 determined by the water temperature, and in step 1024, the additional injection amount at the time of acceleration is calculated, and the step 1025 is performed. Additional injection is performed.

이와 같이 초기스로틀개도에 따라 가속분사보정계수를 변환함으로써 가속불량을 해소할 수 있다.Thus, the acceleration failure can be solved by converting the acceleration jetting correction coefficient according to the initial throttle opening degree.

Claims (9)

엔진의 운전상태를 표시하는 신호를 발생하는 센서수단과, 인가된 제어신호에 응답하여 상기 엔진의 각 에너지변환기능을 제어하는 기동수단과, 상기 센서수단에서 발생한 신호를 수신하고, 상기 제어신호를 상기 기동수단에 전달하도록 연결된 입출력장치와, 상기 입출력장치에 연결되고, 상기 센서수단에서 발생하는 신호에 의하여 엔진제어데이터처리조작을 행함으로써, 상기 입출력장치에 연결된 엔진제어부호를 발생하는 데이터장치로 이루어지는 내연기관용 연료분사장치에 있어서, 상기 기동수단은 인가된 제어신호에 응답하여 상기 엔진에 연료를 공급하는 연료인젝터로 이루어지고, 상기 센서수단은 스로틀밸브의 개도를 검출하는 스로틀개도센서로 이루어지고, 상기 데이터처리장치는 상기 입출력장치를 통하여 소정인터벌로 상기 스로틀개도센서의 출력 신호를 연속적으로 추출하고, 상기 스로틀개도센서의 출력신호에 따라서 상기 스로틀 밸브의 스로틀개도변화율을 계산하고, 이에 따라 상기 산출된 스로틀개도변화율이 플러스일 때, 상기 엔진이 가속상태에 있다고 결정하고, 상기 연료인젝터는 상기 엔진의 정상운전상태에서 상기 엔진에 기본연료량을 공급하고, 상기 데이터처리장치에 의하여 가속상태가 검출되면 상기 입출력장치로부터 제어신호에 따라서 상기 기본연료량외에 상기 산출된 스로틀재도 변화율에 따라서 추가연료량을 공급하고, 상기 데이터처리 장치는상기 산출된 스로틀개도변화율의 현재치를 기초로하여 가속연료량에 대한 보정계수를 산출하고, 상기 엔진의 운전상태에 따라 상기 보정계수를 보정함으로써, 상기 보정된 보정계수를 기초로하여 추가연료량을 결정하는 것을 특징으로 하는 내연기관용 연료분사장치.Sensor means for generating a signal indicative of an operating state of the engine, starting means for controlling each energy conversion function of the engine in response to an applied control signal, a signal generated by the sensor means, and receiving the control signal An input / output device connected to the starting means and an input / output device connected to the input / output device to perform an engine control data processing operation according to a signal generated by the sensor means, thereby generating an engine control code connected to the input / output device. In the fuel injection device for an internal combustion engine, the starting means comprises a fuel injector for supplying fuel to the engine in response to an applied control signal, the sensor means comprises a throttle opening degree sensor for detecting the opening degree of the throttle valve The data processing apparatus may be disposed at a predetermined interval through the input / output device. The output signal of the opening sensor is continuously extracted, and the throttle opening change rate of the throttle valve is calculated according to the output signal of the throttle opening sensor. Accordingly, when the calculated throttle opening change rate is positive, the engine is in an acceleration state. The fuel injector supplies the basic fuel amount to the engine in the normal operation state of the engine, and if the acceleration state is detected by the data processing device, the fuel injector is calculated in addition to the basic fuel amount according to a control signal from the input / output device. The additional fuel amount is supplied according to the throttle re varying rate, and the data processing device calculates a correction factor for the accelerated fuel amount based on the calculated present value of the throttle opening degree change rate, and corrects the correction factor according to the operating state of the engine. Thereby, the amount of additional fuel based on the corrected correction coefficient Fuel injection device for an internal combustion engine, characterized in that for determining. 제1항에 있어서, 상기 데이터처리장치는 가속 직전의 상기 엔진의 운전상태가 아이들운전에 있을 때, 상기 보정계수를 증가시키는 것을 특징으로 하는 내연기관용 연료분사장치.The fuel injection device for an internal combustion engine according to claim 1, wherein said data processing device increases said correction coefficient when the engine operating state immediately before acceleration is in idle operation. 제1항 또는 제2항에 있어서, 상기 데이터처리장치는 초기 추가연료량으로서 가속개시와 동시에 산출된 추가연료량을 결정하고, 가속개시후에는 초기 추가연료량을 점차적으로 감소시키고, 상기 추가연료량은 상기 감소된 추가연료량을 기초로 하여 결정되는 것을 특징으로 하는 내연기관용 연료분사장치.The method according to claim 1 or 2, wherein the data processing apparatus determines the additional fuel amount calculated at the same time as the acceleration start as the initial additional fuel amount, and gradually decreases the initial additional fuel amount after the acceleration start, and the additional fuel amount is reduced. A fuel injection device for an internal combustion engine, characterized in that determined based on the amount of additional fuel. 제3항에 있어서, 상기 데이터처리장치는 가속개시와 동시에 스로틀개도변화율의 초기치에 의하여 내용을 결정하는 카운터를 포함하고, 상기 카운터의 내용은 가속개시 후의 시간경과에 따라 1씩 감소되고, 상기 추가연료량은 상기 카운터의 내용에 따라 결정되는 것을 특징으로 하는 내연기관용 연료분사장치.4. The data processing apparatus of claim 3, wherein the data processing apparatus includes a counter for determining contents by an initial value of a rate of change of throttle opening at the same time as the start of acceleration, and the contents of the counter are decreased by one according to the time elapsed after the start of acceleration. A fuel injection device for an internal combustion engine, characterized in that the amount of fuel is determined according to the contents of the counter. 제1항에 있어서, 상기 데이터처리장치는 상기 엔진의 회전속도에 따라 상기 보정계수를 보정하는 것을 특징으로 하는 내연기관용 연료분사장치.The fuel injection device for an internal combustion engine according to claim 1, wherein the data processing device corrects the correction coefficient according to the rotational speed of the engine. 제5항에 있어서, 상기 보정계수는 상기 추가연료량이 상기 엔진의 회전속도의 감속에 따라 상기 추가연료량이 증가하도록 보정되는 것을 특징으로 하는 내연기관용 연료분사장치.The fuel injection device for an internal combustion engine according to claim 5, wherein the correction coefficient is corrected such that the amount of additional fuel increases as the amount of additional fuel increases as the rotation speed of the engine decreases. 제1항에 있어서, 상기 데이터처리장치는 상기 엔진의 부하에 따라 상기 보정계수를 보정하는 것을 특징으로 하는 내연기관용 연료분사장치.The fuel injection device for an internal combustion engine according to claim 1, wherein the data processing device corrects the correction coefficient according to the load of the engine. 제7항에 있어서, 상기 보정계수는 상기 엔진의 부하의 감소에 따라 상기 추가연료량이 증가하도록 보정되는 것을 특징으로 하는 내연기관용 연료분사장치.8. The fuel injection device for an internal combustion engine according to claim 7, wherein the correction coefficient is corrected so that the additional fuel amount increases as the load of the engine decreases. 제8항에 있어서, 상기 부하는 상기 스로틀밸브의 부압을 기초로 하여 검출되는 것을 특징으로 하는 내연기관용 연료분사장치.The fuel injection device for an internal combustion engine according to claim 8, wherein the load is detected on the basis of the negative pressure of the throttle valve.
KR1019830004965A 1982-10-20 1983-10-20 Fuel injection control apparatus for internal combustion engine KR920003201B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP57182904A JPS5974339A (en) 1982-10-20 1982-10-20 Fuel injector
JP82-182904 1982-10-20

Publications (2)

Publication Number Publication Date
KR840006390A KR840006390A (en) 1984-11-29
KR920003201B1 true KR920003201B1 (en) 1992-04-24

Family

ID=16126405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019830004965A KR920003201B1 (en) 1982-10-20 1983-10-20 Fuel injection control apparatus for internal combustion engine

Country Status (2)

Country Link
JP (1) JPS5974339A (en)
KR (1) KR920003201B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61106944A (en) * 1984-10-31 1986-05-24 Japan Electronic Control Syst Co Ltd Electronic control fuel injection device of internal-combustion engine
JPS6332138A (en) * 1986-07-28 1988-02-10 Japan Electronic Control Syst Co Ltd Electronic-controlled fuel injector for internal combustion engine
JPS6338641A (en) * 1986-08-01 1988-02-19 Mazda Motor Corp Fuel control device for engine
JPS6338643A (en) * 1986-08-04 1988-02-19 Japan Electronic Control Syst Co Ltd Electronically controlled fuel injection device for internal combustion engine
JP2577211B2 (en) * 1986-08-27 1997-01-29 株式会社ユニシアジェックス Basic fuel injection amount setting device for internal combustion engine
JPH0756224B2 (en) * 1987-08-13 1995-06-14 株式会社ユニシアジェックス Electronically controlled fuel injection device for internal combustion engine

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2362708A1 (en) * 1973-12-17 1975-06-19 Goedecke Ag DIBENZYL GLYCOLIC ACID DERIVATIVES
US4159697A (en) * 1976-10-04 1979-07-03 The Bendix Corporation Acceleration enrichment circuit for fuel injection system having potentiometer throttle position input
JPS5427491A (en) * 1977-08-01 1979-03-01 Daido Steel Co Ltd Defect distinguishing apparatus by fluorecent magnetic crack detection

Also Published As

Publication number Publication date
JPS5974339A (en) 1984-04-26
KR840006390A (en) 1984-11-29

Similar Documents

Publication Publication Date Title
US4630206A (en) Method of fuel injection into engine
US4886030A (en) Method of and system for controlling fuel injection rate in an internal combustion engine
EP0040814A2 (en) Control system for exhaust gas-driven supercharger used in vehicle engine
JPS6212384B2 (en)
JPS6239261B2 (en)
US4455980A (en) Engine combustion control method
KR920003200B1 (en) Engine control device
KR880001665B1 (en) Fuel injection control apparatus for internal combustion engine
US4564907A (en) Electronic control apparatus for internal combustion engine
KR920003201B1 (en) Fuel injection control apparatus for internal combustion engine
EP0106366B1 (en) Control method for internal combustion engines
US5319558A (en) Engine control method and apparatus
US4528964A (en) Fuel injection control apparatus for internal combustion engine
US4901699A (en) System for controlling a fuel injection quantity and method therefor
JPS6218748B2 (en)
US4522178A (en) Method of fuel control in engine
EP0087802B1 (en) Fuel control apparatus for internal combustion engine
JPH0138176B2 (en)
JPS5895214A (en) Signal processing method for hot-wire flow rate sensor
JPS623302B2 (en)
JPH0118443B2 (en)
JPS5974337A (en) Fuel injector
EP0106365A2 (en) Fuel injection control apparatus for internal combustion engine
KR100362708B1 (en) Apparatus for increasing additional amount of fuel injection during acceleration and control method of the same
JPH0318026B2 (en)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19941025

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee