JPH0763108A - Electronic controller of internal combustion engine - Google Patents

Electronic controller of internal combustion engine

Info

Publication number
JPH0763108A
JPH0763108A JP5210321A JP21032193A JPH0763108A JP H0763108 A JPH0763108 A JP H0763108A JP 5210321 A JP5210321 A JP 5210321A JP 21032193 A JP21032193 A JP 21032193A JP H0763108 A JPH0763108 A JP H0763108A
Authority
JP
Japan
Prior art keywords
rotation speed
determination
engine
value
internal combustion
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP5210321A
Other languages
Japanese (ja)
Inventor
Hironari Nakagawa
裕也 中川
Nobushi Yasuura
信史 保浦
Kenzo Yano
健三 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
NipponDenso Co Ltd
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 NipponDenso Co Ltd filed Critical NipponDenso Co Ltd
Priority to JP5210321A priority Critical patent/JPH0763108A/en
Publication of JPH0763108A publication Critical patent/JPH0763108A/en
Pending legal-status Critical Current

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D2250/00Engine control related to specific problems or objectives
    • F02D2250/12Timing of calculation, i.e. specific timing aspects when calculation or updating of engine parameter is performed

Abstract

PURPOSE:To provide the electronic controller of an internal combustion engine capable of decreasing process load at high rotation without deteriorating quality of control. CONSTITUTION:It is judged whether a brand new engine rotational speed NE calculated previous by at S2 is more than 2500rpm (second judgement value) or not, namely whether it is high rotation for increasing process load or not, and if it is judged at the high rotation, process for seeking for an engine stall judgement counter CENATB for low rotation at S3 is skipped so as to decrease the process load. It is judged whether rotational speed NE is more than 1000rpm (first judgement value) or not at S9. When it is judged at high rotation, since the process load at the high rotation is large with no margin for precessing, used pulses are remarkably pruned by the process of S17-S23, and 360 CA time (T360) is found over, and rotational speed is calculated based on the T360.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、内燃機関において各種
の制御を行なう電子制御装置に関し、詳しくは高回転に
おけるCPUの負荷を軽減することができる内燃機関の
電子制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic control device for performing various controls in an internal combustion engine, and more particularly to an electronic control device for an internal combustion engine capable of reducing the load on the CPU at high rotation speeds.

【0002】[0002]

【従来の技術】従来より、内燃機関(エンジン)の電子
制御装置(ECU)においては、エンジンのクランク角
位置に合わせて燃料噴射を行ったり、パルサの間隔から
エンジン回転数を算出するために、パルサ信号によりリ
アルタイムに割込処理を行なっている。
2. Description of the Related Art Conventionally, in an electronic control unit (ECU) of an internal combustion engine (engine), in order to perform fuel injection according to the crank angle position of the engine and to calculate the engine speed from the interval of the pulser, Real-time interrupt processing is performed by the pulsar signal.

【0003】このパルサ信号による割込処理の一般的な
ものとしては、割込時刻からパルス間隔時間を算出する
処理、パルサ信号の基準位置となる欠け歯を検出するた
めの判定処理、燃料噴射量や噴射タイミングを制御する
ための基準時間(例えば360゜CA,90゜CA時
間)の算出処理、エンストの判定処理、その他多くの制
御のための処理がある。そして、通常は、エンジン制御
ECUにおいては、これら多くの制御のための処理を、
パルサ信号の入力毎に行われる割込処理の中で行なって
いる。
As the general interrupt processing by the pulsar signal, a processing for calculating a pulse interval time from the interrupt time, a determination processing for detecting a missing tooth which is a reference position of the pulsar signal, and a fuel injection amount There are processes for calculating a reference time (for example, 360 ° CA, 90 ° CA time) for controlling the injection timing, the engine stall determination process, and many other control processes. Then, normally, in the engine control ECU, processing for many of these controls is performed.
It is performed in the interrupt process performed every time the pulser signal is input.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、この様
にパルサ信号を用いて割込処理を行なう場合には、下記
の問題がある。例えばエンジン回転数や欠け歯検出の処
理等は、低回転や高回転にかかわらず同じ量の処理を必
要とするので、低回転では処理負荷率は低いが、高回転
になるにつれて処理負荷率が高くなるという問題があ
る。特に、高回転となって、処理量やパルサの歯数によ
って決まるある回転数(限界回転数)以上となると、処
理負荷率が100%を越えることになり、CPUの能力
をオーバーするという事態も考えられる。これに対し
て、処理量そのものを低減して限界回転数を高くするこ
とが考えられるが、必要な処理を省くわけにはいかず、
いかにして処理負荷率を低減するかが大きな問題となっ
ていた。
However, when the interrupt processing is performed using the pulser signal as described above, there are the following problems. For example, processing of engine speed and detection of missing teeth requires the same amount of processing regardless of low speed or high speed, so the processing load ratio is low at low speed, but the processing load ratio becomes higher as the speed increases. There is the problem of becoming expensive. In particular, when the rotation speed becomes high and the rotation speed exceeds a certain rotation speed (limit rotation speed) determined by the processing amount and the number of teeth of the pulsar, the processing load ratio exceeds 100%, and the CPU capacity may be exceeded. Conceivable. On the other hand, it is conceivable to reduce the processing amount itself and increase the limit rotation speed, but it is not possible to omit the necessary processing,
A major problem was how to reduce the processing load rate.

【0005】この対策として、エンジンの回転数が大き
くなるにつれて、燃料噴射量の算出回数を間引いて、算
出頻度を低減する技術が提案されているが、これだけで
は、制御の質を落とすことなく負荷を十分に軽減するこ
とは困難である(特開平1−116270号公報参
照)。
As a countermeasure against this, a technique has been proposed in which the frequency of calculation is reduced by thinning the number of times the fuel injection amount is calculated as the engine speed increases, but this alone does not reduce the quality of the control. Is difficult to sufficiently reduce (see Japanese Patent Application Laid-Open No. 1-116270).

【0006】本発明は、前記課題を解決するためになさ
れ、制御の質を落とすことなく、高回転における処理負
荷を軽減することができる内燃機関の電子制御装置を提
供することを目的とする。
The present invention has been made to solve the above problems, and an object of the present invention is to provide an electronic control unit for an internal combustion engine which can reduce the processing load at high rotation speed without degrading the quality of control.

【0007】[0007]

【課題を解決するための手段】前記目的を達成するため
の本発明は、図1に例示する様に、内燃機関の回転に応
じて発生するセンサのパルスデータを用いて回転数を算
出するとともに、該パルスデータを用いてエンジンスト
ップの判定に使用するエンスト判定カウンタ値を設定
し、該エンスト判定カウンタ値と所定のエンジンストッ
プ判定値とを比較してエンジンストップの判定を行なう
内燃機関の電子制御装置において、前記内燃機関の回転
数の高低を、第1判定値を用いて判定する第1判定手段
と該第1判定手段によって、前記回転数が前記第1判定
値より高いと判定された場合は、前記パルスデータを回
転数が低い場合よりも低い頻度にて取り込んで、回転数
を算出する高回転用回転数算出手段と、前記内燃機関の
回転数の高低を、前記第1判定値以上の第2判定値を用
いて判定する第2判定手段と、該第2判定手段によっ
て、前記回転数が第2判定値より高いと判定された場合
には、前記高回転用回転数算出手段による回転数の算出
に用いられる低頻度のパルスデータを使用して、前記エ
ンスト判定カウンタ値を設定するエンスト判定カウンタ
設定手段と、を備えたことを特徴とする内燃機関の電子
制御装置を要旨とする。
As shown in FIG. 1, the present invention for achieving the above object calculates a rotation speed by using pulse data of a sensor generated according to rotation of an internal combustion engine. , An electronic control of an internal combustion engine that sets an engine stop determination counter value used for engine stop determination using the pulse data, and compares the engine stop determination counter value with a predetermined engine stop determination value to determine engine stop In the device, when the rotation speed of the internal combustion engine is determined to be higher than the first determination value by the first determination means and the first determination means for determining the rotation speed of the internal combustion engine using a first determination value. Is a rotation speed calculation means for high rotation, which captures the pulse data at a frequency lower than that when the rotation speed is low, and a high rotation speed of the internal combustion engine. A second determination unit that determines by using a second determination value that is equal to or greater than a first determination value, and if the second determination unit determines that the rotation speed is higher than the second determination value, An electronic control of an internal combustion engine comprising: an engine stalling determination counter setting unit that sets the engine stalling determination counter value by using low-frequency pulse data used for calculating the engine speed by the engine speed calculating unit. The device is the gist.

【0008】[0008]

【作用】本発明では、内燃機関の回転に応じて発生する
センサのパルスデータを用いて回転数を算出するととも
に、パルスデータを用いてエンジンストップの判定に使
用するエンスト判定カウンタ値を設定し、このエンスト
判定カウンタ値と所定のエンジンストップ判定値とを比
較してエンジンストップの判定を行なう。
In the present invention, the engine speed is calculated using the pulse data of the sensor generated according to the rotation of the internal combustion engine, and the engine stall counter value used for the engine stop judgment is set using the pulse data. The engine stop determination is performed by comparing the engine stall determination counter value with a predetermined engine stop determination value.

【0009】そして、第1判定手段によって、内燃機関
の回転数が高いか低いかを第1判定値を用いて判定し、
ここで、回転数が第1判定値より高いと判定された場合
は、高回転用回転数算出手段によって、回転数が低い場
合よりも低い頻度にてパルスデータを取り込んで、回転
数を算出する。また、第2判定手段によって、内燃機関
の回転数が高いか低いかを第2判定値を用いて判定し、
ここで、回転数が第2判定値より高いと判定された場合
には、高回転用回転数算出手段による回転数の算出に用
いられる低頻度のパルスデータを使用し、エンスト判定
カウンタ設定手段によって、エンジンストップの判定に
使用するエンスト判定カウンタ値を設定する。
Then, the first determination means determines whether the rotation speed of the internal combustion engine is high or low using the first determination value,
Here, when it is determined that the rotation speed is higher than the first determination value, the high rotation speed calculation means fetches the pulse data at a lower frequency than when the rotation speed is low, and calculates the rotation speed. . Further, the second determination means determines whether the rotation speed of the internal combustion engine is high or low using the second determination value,
Here, when it is determined that the rotation speed is higher than the second determination value, the low frequency pulse data used for the calculation of the rotation speed by the high rotation speed calculation means is used, and the engine stop determination counter setting means is used. , Set the engine stall judgment counter value used for engine stop judgment.

【0010】つまり、本発明では、回転数の算出とエン
スト判定とを行なう場合、エンジン回転数が高い場合に
は、高回転の場合に回転数の算出に使用したデータを用
いて、エンストの判定を行なうことが可能となるので、
高回転における処理の負荷が低減することになる。
That is, in the present invention, when the engine speed is high and the engine stall is determined, when the engine speed is high, the engine stall determination is performed by using the data used to calculate the engine speed when the engine speed is high. Because it is possible to
The processing load at high rotation speed is reduced.

【0011】[0011]

【実施例】以下に本発明の実施例を図面と共に説明す
る。図2は、本発明の実施例の内燃機関の電子制御装置
のシステム構成を示す概略構成図である。図2に示す様
に、エンジン1のクランク軸2には、(欠け歯を含め
て)等間隔に配置された歯4を有するパルサ5が取り付
けられている。このパルサ5のパルス間隔及び欠け歯数
は、そのシステム構成によって任意に設定できるが、本
実施例では、後述するパルスカウンタCNIRQの値の
「0」〜「6」に対応する7本の歯4が配置されるとと
もに、8番目の位置に欠け歯が設定されている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 2 is a schematic configuration diagram showing a system configuration of an electronic control unit for an internal combustion engine according to an embodiment of the present invention. As shown in FIG. 2, a pulsar 5 having teeth 4 arranged at equal intervals (including a missing tooth) is attached to a crankshaft 2 of an engine 1. The pulse interval and the number of missing teeth of the pulsar 5 can be arbitrarily set according to the system configuration, but in the present embodiment, seven teeth 4 corresponding to the values “0” to “6” of the pulse counter CNIRQ described later are provided. Is arranged and a missing tooth is set at the eighth position.

【0012】また、パルサ5の歯4に近接してセンサ6
が配置されており、このセンサ6は波形整形回路7を介
して、マイクロコンピュータとして構成される電子制御
装置(ECU)8に接続されている。ECU8は、周知
のCPU8a,ROM8b,RAM8c,入出力ポート
8d及びバス8e等を備えており、波形整形回路7は入
出力ポート8dに接続されている。
In addition, the sensor 6 is placed close to the teeth 4 of the pulsar 5.
The sensor 6 is connected via a waveform shaping circuit 7 to an electronic control unit (ECU) 8 configured as a microcomputer. The ECU 8 includes a known CPU 8a, ROM 8b, RAM 8c, input / output port 8d, bus 8e, etc., and the waveform shaping circuit 7 is connected to the input / output port 8d.

【0013】そして、本実施例においては、図3に示す
様に、パルサ5の回転によって、センサ6から波形整形
回路7に信号Aの波形の出力がなされ、次いで波形整形
回路7によって、信号Bの波形に整形される。よって、
パルスカウンタCNIRQは、欠け歯部分のパルスは発
生しないことを受けて、欠け歯毎(即ち1回転毎)にて
クリアされるとともに、実際の歯4の部分にて「0」か
ら「6」までカウントアップされてゆく。
In the present embodiment, as shown in FIG. 3, the rotation of the pulsar 5 causes the sensor 6 to output the waveform of the signal A to the waveform shaping circuit 7, and the waveform shaping circuit 7 then outputs the signal B. Is shaped into the waveform of. Therefore,
The pulse counter CNIRQ is cleared for each missing tooth (that is, for each rotation) in response to the fact that the pulse for the missing tooth portion is not generated, and the actual tooth 4 portion changes from "0" to "6". It will be counted up.

【0014】次に、上述した構成の本実施例の制御処理
を、図4〜図7のフローチャートに基づいて説明する。
ここで、図4はパルスの発生毎に行われる割込処理であ
り、図5は5ms毎に行われる各種カウンタ更新のための
割込処理であり、図6は10ms毎に行われるエンスト判
定のための割込処理であり、図7はメインルーチン内で
行われる回転数算出処理である。
Next, the control processing of this embodiment having the above-mentioned configuration will be described with reference to the flow charts of FIGS.
Here, FIG. 4 is an interrupt process performed every time a pulse is generated, FIG. 5 is an interrupt process for updating various counters performed every 5 ms, and FIG. 6 is an interrupt process performed every 10 ms. 7 is a rotation speed calculation process performed in the main routine.

【0015】最初に、図4に基づいて、回転数の判定等
のために、パルスの発生毎に行われるパルス割込処理に
ついて説明する。図4に示す様に、まず、S1にて、今
回割込時刻から前回割込時刻を引いて割込間隔(時間)
を求め、その値をレジスタYregにストアする。
First, a pulse interruption process performed every time a pulse is generated for determining the number of revolutions will be described with reference to FIG. As shown in FIG. 4, first, in S1, the interrupt interval (time) is calculated by subtracting the previous interrupt time from the current interrupt time.
And store the value in the register Yreg.

【0016】続くS2にて、前回算出した最新のエンジ
ン回転数NEが2500rpm(第2判定値)以上である
か否か、即ち処理負荷の増大する高回転か否かを判定
し、ここで高回転であると判断されると後述するS7に
進み、一方低回転であると判断されるとS3に進む。
At S2, it is determined whether or not the latest engine speed NE calculated last time is 2500 rpm (second determination value) or more, that is, whether or not the processing load is high rotation. If it is determined to be rotation, the process proceeds to S7, which will be described later, and if it is determined to be low rotation, the process proceeds to S3.

【0017】S3では、処理負荷の小さな低回転である
ので、エンストカウンタCENSTの値を、エンジンス
トップの判定(エンスト判定)に使用されるエンスト判
定カウンタCENSTBの値とする。このエンストカウ
ンタCENSTとは、図5に示す様に、5msの割込処理
によって、S100にてインクリメントされるものであ
る。このエンストカウンタCENSTは、S101にて
500msを上回ると判断されると、S102にてガード
値として500msが設定される。
At S3, since the processing load is low and the rotation speed is low, the value of the engine stall counter CENST is set to the value of the engine stall determination counter CENSTB used for the engine stop determination (engine stall determination). The engine stall counter CENST is, as shown in FIG. 5, incremented in S100 by an interruption process of 5 ms. When it is determined in S101 that the engine stall counter CENST exceeds 500 ms, 500 ms is set as a guard value in S102.

【0018】一方、エンスト判定カウンタCENSTB
とは、低回転の場合のエンスト判定に使用されるもので
ある。つまり、図6に示す様に、S201にて回転数N
Eが2000rpm以下と判断されると、S202にてこ
のエンスト判定カウンタCENSTBと所定の(低回転
用の)エンスト判定値とを比較して、エンストの発生を
判定するものである。
On the other hand, the engine stall judgment counter CENSTB
Is used for engine stall determination in the case of low rotation. That is, as shown in FIG. 6, in S201, the rotation speed N
When E is determined to be 2000 rpm or less, the engine stall determination counter CENSTB is compared with a predetermined (for low rotation) engine stall determination value in S202 to determine the occurrence of engine stall.

【0019】尚、この判定によって、エンストを検出で
きる理由は、エンストが発生した場合は、エンジン1の
回転数NEが低下するので、図4のパルス割込の間隔が
長くなり、結果として、図5の5ms毎にインクリメント
されるエンストカウンタCENST(即ちエンスト判定
カウンタCENSTB)の値が増加するので、このエン
スト判定カウンタCENSTBがエンスト判定値より大
きくなった場合に、エンストが発生したと判定すること
ができるのである。
The reason why the engine stall can be detected by this determination is that the engine speed NE of the engine 1 decreases when the engine stall occurs, so that the interval of the pulse interruption in FIG. Since the value of the engine stall counter CENST (that is, the engine stall determination counter CENSTB) that is incremented every 5 ms of 5 increases, it can be determined that an engine stall has occurred when the engine stall determination counter CENSTB becomes larger than the engine stall determination value. You can do it.

【0020】図4に戻り、S4にて、エンストカウンタ
CENSTをクリアする。続くS5にて、エンスト判定
カウンタCENSTBが、60msを上回るか否かを判定
し、ここで上回ると判断されると、S6にて、(オーバ
ーフローを防止するために)前記レジスタYregにガー
ド値を入れて、S7に進む。一方60ms以下であると判
断されると、そのままS7に進む。
Returning to FIG. 4, the engine stall counter CENST is cleared in S4. In subsequent S5, it is determined whether or not the engine stall determination counter CENSTB exceeds 60 ms, and if it is determined that it exceeds 60 ms, a guard value is entered in the register Yreg (in order to prevent overflow) in S6. And proceed to S7. On the other hand, if it is determined that the time is 60 ms or less, the process directly proceeds to S7.

【0021】S7では、割込間隔であるレジスタYreg
の値を、TNINTの値に設定する。尚、このTNIN
Tは、パルスとパルスとの間隔を示しているので、例え
ば燃料噴射制御等の他の様々な処理に利用される。続く
S8では、次の割込間隔を求めるために、今回割込時刻
を前回割込時刻と設定する。
In S7, the register Yreg which is the interrupt interval is set.
Is set to the value of TNINT. In addition, this TNIN
Since T indicates the interval between pulses, it is used for various other processes such as fuel injection control. In subsequent S8, the present interrupt time is set as the previous interrupt time in order to obtain the next interrupt interval.

【0022】つまり、前記S2〜S6の処理は、回転数
NEが(第2判定値より)低い場合には、低回転用のエ
ンスト判定カウンタCENSTBを設定するが、回転数
NEが高い場合には、エンスト判定カウンタCENST
Bを設定するステップを省いて、処理負荷を軽減するた
めの処理である。
That is, in the processes of S2 to S6, when the rotation speed NE is lower (lower than the second determination value), the engine stop determination counter CENSTB for low rotation is set, but when the rotation speed NE is high, it is set. , Engine stall counter CENST
This is a process for reducing the processing load by omitting the step of setting B.

【0023】そして、続くS9では、回転数NEが10
00rpm(第1判定値)以上か否か、即ち高回転か否か
を判定する。ここで高回転であると判断されると後述す
るS17に進み、一方高回転ではないと判断されるとS
10に進む。尚、このS9における回転数NEの判定レ
ベル(第1判定値=1000rpm)は、前記S2の判定
レベル(第2判定値=2500rpm)より低いが、これ
は、エンスト判定と回転数算出との性質の違いによるも
のである。
Then, in the subsequent S9, the rotational speed NE is 10
It is determined whether or not it is 00 rpm (first determination value) or more, that is, whether or not it is high rotation. If it is determined that the engine speed is high, the process proceeds to S17, which will be described later. If it is determined that the engine speed is not high, the process proceeds to S17.
Go to 10. The determination level of the rotational speed NE in S9 (first determination value = 1000 rpm) is lower than the determination level of S2 (second determination value = 2500 rpm), but this is due to the nature of engine stall determination and rotational speed calculation. It is due to the difference.

【0024】S10では、パルスカウンタCNIRQが
偶数か否かを判定し、ここで肯定判断されるとS11に
進み、一方否定判断されると後述するS24に進む。つ
まり、この判定は、図3の各パルス毎(即ち45゜CA
毎)ではなく、(低回転ではあるが)処理負荷を軽減す
るために1パルスおき(90゜CA毎)に、以下の処理
を行なうためのものである。
In S10, it is determined whether or not the pulse counter CNIRQ is an even number. If an affirmative determination is made here, the process proceeds to S11, and if a negative determination is made, the process proceeds to S24, which will be described later. That is, this determination is made for each pulse in FIG. 3 (that is, 45 ° CA).
This is for performing the following processing every other pulse (every 90 ° CA) in order to reduce the processing load (although it is low rotation) instead of every time.

【0025】S11では、上述した図5のS106に
て、5ms毎にインクリメントされるカウンタC90の値
を、判定カウンタC90Bの値に設定し、S12にて、
カウンタC90をクリアする。続くS13では、判定カ
ウンタC90Bが60msを上回るか否かを判定し、ここ
で上回ると判断されるとS16に進み、一方60ms以下
であると判断されるとS14に進む。
In S11, the value of the counter C90, which is incremented every 5 ms in S106 of FIG. 5, is set to the value of the judgment counter C90B, and in S12,
The counter C90 is cleared. In the following S13, it is determined whether or not the determination counter C90B exceeds 60 ms, and if it is determined that it exceeds 60 ms, the process proceeds to S16, and if it is determined that it is 60 ms or less, the process proceeds to S14.

【0026】S16では、回転数算出に使用される90
゜CA時間である、パルスカウンタCNIRQの1/2
における値T90(n)に、ガード値を入れる。一方、
S14では、同様な値T90(n)に、90゜CA割込
時刻から今回割込時刻を引いた値を設定する。これによ
って、90゜CA間隔(時間)、即ち1パルスおきの時
間が求まる。
In S16, 90 used for calculating the rotation speed.
1/2 of the pulse counter CNIRQ, which is the CA time
The guard value is inserted into the value T90 (n) in. on the other hand,
In S14, a similar value T90 (n) is set to a value obtained by subtracting the current interrupt time from the 90 ° CA interrupt time. By this, the 90 ° CA interval (time), that is, the time every other pulse can be obtained.

【0027】続くS15では、次のT90(n)を求め
るために、今回割込時刻を90゜CA割込時刻として設
定する。つまり、前記S10〜S15の処理は、回転数
NEが(第1判定値より)低回転で処理負荷が小さく処
理に余裕があるので、精密に回転数NEを求めるため
に、(図7にて使用される)1パルスおきの90゜CA
時間(T90(n))を求めるための処理である。
In subsequent S15, the current interrupt time is set as the 90 ° CA interrupt time in order to obtain the next T90 (n). That is, in the processes of S10 to S15, since the rotation speed NE is low (than the first determination value), the processing load is small, and there is a margin in processing, in order to accurately calculate the rotation speed NE (see FIG. 7). Used) 90 ° CA every other pulse
This is a process for obtaining the time (T90 (n)).

【0028】この図7に示す処理は、メインルーチン内
の回転数演算処理であり、S601にて、回転数NEが
1000rpm以下の低回転であるか否かを判定し、低回
転である場合には、S602にて、上述した90゜CA
時間であるT90(1)〜T90(4)を用いて、回転
数NEを算出する処理である。具体的には、各時間T9
0〜T90の平均の1/2をパルス間隔の時間とし、こ
の時間を8倍した値を1回転の時間として回転数NEを
求めるものである。
The process shown in FIG. 7 is a rotation speed calculation process in the main routine. In S601, it is determined whether the rotation speed NE is a low rotation speed of 1000 rpm or less. Is the above-mentioned 90 ° CA in S602.
This is a process of calculating the rotational speed NE by using T90 (1) to T90 (4) which are times. Specifically, each time T9
The half of the average of 0 to T90 is taken as the time of the pulse interval, and the value obtained by multiplying this time by 8 is taken as the time for one rotation to obtain the rotational speed NE.

【0029】図4に戻り、続くS24では、欠け歯処理
や、その他処理、例えばスピルバルブ処理等の一般的な
処理を行なって、一旦本処理を終了する。尚、この欠け
歯処理とは、図3に示す様に、今回検出したパルス間隔
が前回検出したパルス間隔より長い場合は、欠け歯であ
ると見なして、パルスカウンタCNIRQをクリアする
処理である。これによって、パルスカウンタCNIRQ
の値は「6」から「0」に変更される。
Returning to FIG. 4, in S24 that follows, a general process such as a missing tooth process and other processes such as a spill valve process is performed, and the present process is temporarily terminated. The missing tooth process is a process of clearing the pulse counter CNIRQ when the currently detected pulse interval is longer than the previously detected pulse interval as shown in FIG. As a result, the pulse counter CNIRQ
The value of is changed from "6" to "0".

【0030】また、前記S9にて高回転であると判断さ
れて進む、S17では、パルスカウンタCNIRQが6
か(即ち1回転したか)否かを判定し、ここで肯定判断
されるとS18に進み、一方否定判断されると前記S2
4に進む。つまり、この判定は、高回転であるので、図
3の各パルス毎(即ち45゜CA毎)ではなく、処理負
荷を大きく軽減するために1回転毎(360゜CA毎)
に、以下の処理を行なうためのものである。
Further, in S17, when it is judged that the rotation speed is high, the pulse counter CNIRQ is set to 6 in S17.
It is determined whether or not (that is, one rotation has been performed). If an affirmative determination is made here, the process proceeds to S18, and if a negative determination is made, the above-described S2 is performed.
Go to 4. In other words, this determination is performed at a high rotation speed, and therefore, not at each pulse (that is, every 45 ° CA) in FIG. 3, but every rotation (every 360 ° CA) in order to greatly reduce the processing load.
In addition, it is for performing the following processing.

【0031】S18では、上述した図5のS103に
て、5ms毎にインクリメントされるカウンタC360の
値を、判定カウンタC360Bの値に設定し、S19に
て、カウンタC360をクリアする。続くS20では、
判定カウンタC360Bが60msを上回るか否かを判定
し、ここで上回ると判断されるとS23に進み、一方6
0ms以下であると判断されるとS21に進む。
In S18, the value of the counter C360 that is incremented every 5 ms in S103 of FIG. 5 is set to the value of the determination counter C360B, and in S19, the counter C360 is cleared. In the following S20,
It is determined whether or not the determination counter C360B exceeds 60 ms. If it is determined that it exceeds 60 ms, the process proceeds to S23, where 6
If it is determined to be 0 ms or less, the process proceeds to S21.

【0032】S23では、回転数算出に使用される36
0゜CA時間に相当する値T360に、ガード値を入れ
る。一方、S21では、同様な値T360に、360゜
CA割込時刻から今回割込時刻を引いた値を設定する。
これによって、360゜CA間隔(時間)、即ち1回転
の時間が求まる。
At S23, the value used for calculating the rotation speed is 36.
The guard value is put in the value T360 corresponding to 0 ° CA time. On the other hand, in S21, a similar value T360 is set to a value obtained by subtracting the current interrupt time from the 360 ° CA interrupt time.
By this, the 360 ° CA interval (time), that is, the time for one rotation is obtained.

【0033】S22では、次のT360を求めるため
に、今回割込時刻を360゜CA割込時刻として設定
し、前記S24に進む。つまり、S17〜S23の処理
は、回転数NEが(第1判定値より)高回転で処理負荷
が大きく、処理に余裕がないので、使用するパルスを大
きく間引いて、360゜CA時間(T360)を求める
ための処理である。
In S22, the current interrupt time is set as the 360 ° CA interrupt time in order to obtain the next T360, and the process proceeds to S24. In other words, in the processing of S17 to S23, since the rotation speed NE is high (than the first determination value) and the processing load is large and there is no processing margin, the pulses to be used are thinned out and 360 ° CA time (T360). Is a process for obtaining.

【0034】そして、このT360の値を用いて、図7
に示すメインルーチン内の回転数演算処理にて、まず、
S601にて、回転数NEが1000rpm以下の低回転
であるか否かを判定し、高回転である場合には、S60
3にて、上述した360゜CA時間であるT360を1
回転にかかる時間として、回転数NEを算出する。
Then, by using this value of T360, FIG.
In the rotation speed calculation processing in the main routine shown in, first,
In S601, it is determined whether the rotation speed NE is a low rotation speed of 1000 rpm or less, and if it is a high rotation speed, S60
In step 3, set T360, which is the 360 ° CA time described above, to 1
The rotation speed NE is calculated as the time required for rotation.

【0035】この様に、本実施例では、回転数NEが第
1判定値を下回る低回転の場合には、90゜CA毎の多
くのパルスタイミングを用いて、精密に回転数NEを算
出することができる。一方、回転数NEが第1判定値以
上の高回転の場合は、360゜CA毎の少ないパルスタ
イミングを用いて、処理負荷を軽減して回転数NEを算
出することができる。更に、回転数NEが第1判定値よ
り大きな第2判定値以下の場合は、低回転用のエンスト
判定カウンタCENSTBを設定するので、低回転の場
合に精密にエンストを検出することができる。一方、回
転数NEが第2判定値を上回る場合には、高回転用の回
転数算出に使用されるカウンタC360Bを使用してエ
ンスト判定を行なうので、エンスト検出の精度を損なう
ことなく、高回転における処理負荷を軽減することがで
きるという顕著な効果を奏する。
As described above, in the present embodiment, when the rotation speed NE is a low rotation speed lower than the first determination value, the rotation speed NE is accurately calculated using many pulse timings every 90 ° CA. be able to. On the other hand, when the rotation speed NE is a high rotation speed equal to or higher than the first determination value, the processing load can be reduced and the rotation speed NE can be calculated by using a small pulse timing every 360 ° CA. Further, when the rotational speed NE is equal to or smaller than the second determination value which is larger than the first determination value, the engine stall determination counter CENSTB for low rotation is set, so that the engine stall can be accurately detected in the case of low rotation. On the other hand, when the rotation speed NE exceeds the second determination value, the engine stall determination is performed using the counter C360B used for calculating the rotation speed for high rotation, so that the high rotation speed is maintained without impairing the accuracy of engine stall detection. The remarkable effect that the processing load in the can be reduced.

【0036】次に、図8及び図9のフローチャートに、
本実施例による処理負荷の軽減状態を従来例と比較して
示す。尚、図8は前記図3の処理を簡略化して示したも
ので、図9は従来例であり、各図において各々の処理段
階で必要とされる命令のステップ数を示してある。
Next, in the flow charts of FIGS. 8 and 9,
The reduction state of the processing load according to the present embodiment will be shown in comparison with the conventional example. Note that FIG. 8 shows the processing of FIG. 3 in a simplified manner, and FIG. 9 shows a conventional example, in which the number of steps of instructions required in each processing stage is shown.

【0037】この図8及び図9から明かな様に、高回転
(例えば5000rpm)の場合、図8の本実施例では、
S703,S707,S708が省略されるので、処理
に必要とされる命令のステップ数は合計102と少なく
なる。一方、図9の従来例の場合は、命令のステップ数
は合計121と多く好ましくない。
As is apparent from FIGS. 8 and 9, in the case of high rotation (for example, 5000 rpm), in this embodiment of FIG.
Since S703, S707, and S708 are omitted, the total number of steps of instructions required for processing is as small as 102. On the other hand, in the case of the conventional example of FIG. 9, the number of steps of instructions is 121 in total, which is not preferable.

【0038】尚、前記本発明の実施例について説明した
が、本発明はこの様な実施例に何等限定されるものでは
なく、各種の態様で実施できることは勿論である。
Although the embodiment of the present invention has been described above, the present invention is not limited to the embodiment, and it goes without saying that the present invention can be implemented in various modes.

【0039】[0039]

【発明の効果】以上説明した様に、本発明では、エンジ
ンの回転数の算出とエンスト判定とを行なう場合、回転
数が高いときには、高回転の場合に回転数の算出に使用
したデータを用いて、エンストの判定を行なうことがで
きるので、精度を低下させることなく、高回転における
処理の負荷を低減することができる。その結果、処理の
過度の増大によるCPUへの悪影響を防止することがで
きる。
As described above, according to the present invention, when the engine speed is calculated and the engine stall is determined, when the engine speed is high, the data used for calculating the engine speed is used when the engine speed is high. Since it is possible to determine the engine stall, it is possible to reduce the processing load at high rotation speed without lowering the accuracy. As a result, it is possible to prevent an adverse effect on the CPU due to an excessive increase in processing.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の構成を例示する概略構成図である。FIG. 1 is a schematic configuration diagram illustrating a configuration of the present invention.

【図2】 本実施例のシステム構成を示すブロック図で
ある。
FIG. 2 is a block diagram showing the system configuration of the present embodiment.

【図3】 信号A,B及びパルスカウンタを示す説明図
である。
FIG. 3 is an explanatory diagram showing signals A and B and a pulse counter.

【図4】 パルス割込処理を示すフローチャートであ
る。
FIG. 4 is a flowchart showing a pulse interrupt process.

【図5】 カウンタをインクリメントする割込処理を示
すフローチャートである。
FIG. 5 is a flowchart showing an interrupt process of incrementing a counter.

【図6】 エンスト判定の割込処理を示すフローチャー
トである。
FIG. 6 is a flowchart showing an interrupt process of an engine stall determination.

【図7】 回転数を検出する処理を示すフローチャート
である。
FIG. 7 is a flowchart showing a process of detecting a rotation speed.

【図8】 本実施例の効果を示す説明図である。FIG. 8 is an explanatory diagram showing an effect of the present embodiment.

【図9】 比較例のステップ数を示す説明図である。FIG. 9 is an explanatory diagram showing the number of steps in a comparative example.

【符号の説明】[Explanation of symbols]

1…エンジン 4…歯 5…パルサ 6…センサ 8…電子制御装置(ECU) 1 ... Engine 4 ... Tooth 5 ... Pulsor 6 ... Sensor 8 ... Electronic control unit (ECU)

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 内燃機関の回転に応じて発生するセンサ
のパルスデータを用いて回転数を算出するとともに、該
パルスデータを用いてエンジンストップの判定に使用す
るエンスト判定カウンタ値を設定し、該エンスト判定カ
ウンタ値と所定のエンジンストップ判定値とを比較して
エンジンストップの判定を行なう内燃機関の電子制御装
置において、 前記内燃機関の回転数の高低を、第1判定値を用いて判
定する第1判定手段と、 該第1判定手段によって、前記回転数が前記第1判定値
より高いと判定された場合は、前記パルスデータを回転
数が低い場合よりも低い頻度にて取り込んで、回転数を
算出する高回転用回転数算出手段と、 前記内燃機関の回転数の高低を、前記第1判定値以上の
第2判定値を用いて判定する第2判定手段と、 該第2判定手段によって、前記回転数が第2判定値より
高いと判定された場合には、前記高回転用回転数算出手
段による回転数の算出に用いられる低頻度のパルスデー
タを使用して、前記エンスト判定カウンタ値を設定する
エンスト判定カウンタ設定手段と、 を備えたことを特徴とする内燃機関の電子制御装置。
1. A rotation speed is calculated using pulse data of a sensor generated according to rotation of an internal combustion engine, and an engine stall determination counter value used for engine stop determination is set using the pulse data, In an electronic control unit for an internal combustion engine that compares an engine stall determination counter value with a predetermined engine stop determination value to determine engine stop, a first determination value is used to determine whether the rotational speed of the internal combustion engine is high or low. 1 determination means and the first determination means, when the rotation speed is determined to be higher than the first determination value, the pulse data is fetched at a lower frequency than when the rotation speed is low, A high rotation speed calculation means for calculating a high rotation speed; a second judgment means for judging whether the rotation speed of the internal combustion engine is high or low using a second judgment value equal to or higher than the first judgment value; If the determination unit determines that the rotation speed is higher than the second determination value, the engine frequency is reduced by using the low-frequency pulse data used to calculate the rotation speed by the high rotation speed calculation unit. An electronic control unit for an internal combustion engine, comprising: an engine stall determination counter setting means for setting a determination counter value.
JP5210321A 1993-08-25 1993-08-25 Electronic controller of internal combustion engine Pending JPH0763108A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5210321A JPH0763108A (en) 1993-08-25 1993-08-25 Electronic controller of internal combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5210321A JPH0763108A (en) 1993-08-25 1993-08-25 Electronic controller of internal combustion engine

Publications (1)

Publication Number Publication Date
JPH0763108A true JPH0763108A (en) 1995-03-07

Family

ID=16587494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5210321A Pending JPH0763108A (en) 1993-08-25 1993-08-25 Electronic controller of internal combustion engine

Country Status (1)

Country Link
JP (1) JPH0763108A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999034104A1 (en) * 1997-12-24 1999-07-08 Robert Bosch Gmbh Method for operating an internal combustion engine, especially of an automobile
WO2003106830A1 (en) * 2002-06-17 2003-12-24 Siemens Aktiengesellschaft Operational method for a computer
JP2019214977A (en) * 2018-06-13 2019-12-19 株式会社デンソー On-vehicle control device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999034104A1 (en) * 1997-12-24 1999-07-08 Robert Bosch Gmbh Method for operating an internal combustion engine, especially of an automobile
US6438485B1 (en) 1997-12-24 2002-08-20 Robert Bosch Gmbh Method for operating an internal combustion engine, especially of an automobile
WO2003106830A1 (en) * 2002-06-17 2003-12-24 Siemens Aktiengesellschaft Operational method for a computer
JP2019214977A (en) * 2018-06-13 2019-12-19 株式会社デンソー On-vehicle control device

Similar Documents

Publication Publication Date Title
JPH0552707A (en) Misfire detecting apparatus for multicylinder internal combustion engine
EP0096869B1 (en) Method and apparatus of ignition timing control
US5759133A (en) Method and engine control for suppressing vibration of the drive train in a motor vehicle
JPH0435614B2 (en)
JPH0763108A (en) Electronic controller of internal combustion engine
JP2849322B2 (en) Engine fuel injection control device
JPH06173837A (en) Shock vibration damping method for internal combustion engine
JPH0286943A (en) Engine controller
JPH0535259B2 (en)
JPH0134302B2 (en)
JP2627838B2 (en) Electronically controlled fuel injection device for internal combustion engine
JP2797608B2 (en) Misfire determination device for internal combustion engine
JP2754746B2 (en) Fuel injection amount control device for internal combustion engine
JPH06331501A (en) Knock detector for internal combustion engine
JP2741341B2 (en) Engine speed control device
JP2679243B2 (en) Vehicle surging prevention device
JP2850583B2 (en) Device for detecting decrease in rotational speed of internal combustion engine
JPH01106934A (en) Control device for air-fuel ratio of internal combustion engine
JP2917564B2 (en) Fuel injection control device for internal combustion engine
JPH0647984B2 (en) Engine ignition timing control device
JPH01106933A (en) Control device for air-fuel ratio of internal combustion engine
JPH0342812B2 (en)
JPH0783104A (en) Ignition timing control method
JP3104526B2 (en) Apparatus and method for controlling ignition timing of internal combustion engine
JPH0868351A (en) Fuel cut control device for internal combustion engine