JPS6243071B2 - - Google Patents
Info
- Publication number
- JPS6243071B2 JPS6243071B2 JP53157782A JP15778278A JPS6243071B2 JP S6243071 B2 JPS6243071 B2 JP S6243071B2 JP 53157782 A JP53157782 A JP 53157782A JP 15778278 A JP15778278 A JP 15778278A JP S6243071 B2 JPS6243071 B2 JP S6243071B2
- Authority
- JP
- Japan
- Prior art keywords
- ignition
- energization
- coil
- value
- terminal
- 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.)
- Expired
Links
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02P—IGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
- F02P5/00—Advancing or retarding ignition; Control therefor
- F02P5/04—Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions
- F02P5/145—Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions using electrical means
- F02P5/15—Digital data processing
- F02P5/1502—Digital data processing using one central computing unit
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/26—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02P—IGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
- F02P3/00—Other installations
- F02P3/02—Other installations having inductive energy storage, e.g. arrangements of induction coils
- F02P3/04—Layout of circuits
- F02P3/045—Layout of circuits for control of the dwell or anti dwell time
- F02P3/0453—Opening or closing the primary coil circuit with semiconductor devices
- F02P3/0456—Opening or closing the primary coil circuit with semiconductor devices using digital techniques
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F01—MACHINES OR ENGINES IN GENERAL; ENGINE PLANTS IN GENERAL; STEAM ENGINES
- F01P—COOLING OF MACHINES OR ENGINES IN GENERAL; COOLING OF INTERNAL-COMBUSTION ENGINES
- F01P11/00—Component parts, details, or accessories not provided for in, or of interest apart from, groups F01P1/00 - F01P9/00
- F01P11/14—Indicating devices; Other safety devices
- F01P11/16—Indicating devices; Other safety devices concerning coolant temperature
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Electrical Control Of Ignition Timing (AREA)
- Output Control And Ontrol Of Special Type Engine (AREA)
- Ignition Installations For Internal Combustion Engines (AREA)
Description
本発明はエンジンの動作状態に応じて点火装置
等のエンジン用被制御部(制御対象)の制御最適
値をマイクロコンピユータにて計算し、その計算
結果に基づいてエンジンを制御するエンジンの制
御方法に関する。 一般にマイクロコンピユータで例えばエンジン
の点火装置を制御する場合、従来の方法では点火
装置の点火コイルの通電時間(つまりは通電開始
時期)と点火時期(つまりは通電停止時期)とを
所定クランク角にて1回計算し、複数回にわたつ
て点火装置の通電時間と点火時期とを制御するよ
うになつており、点火コイルの通電中に新して点
火時期を計算することはなかつた。このためエン
ジンの加速時や減速時のようにエンジン回転速度
が急激に変化する場合に点火時期もより新しいエ
ンジンデータに基いた計算値に設定する必要があ
るにも拘わらず、エンジンの回転変化に則した計
算ができないことになり、エンジンの出力や排気
ガス組成の良好な結果を引き出せないという問題
を持つていた。 また仮に通電時間、点火時期の計算をエンジン
1回転当り多数回実行し、点火コイル通電中に新
しい点火時期の制御値を計算し点火装置に設定し
て点火時期を制御するとしても、既に通電時間を
決める計算値により点火コイルに通電しており、
この新しい点火時期の計算値が前回の計算値より
大きく変化すると実際の通電時間が前回の通電時
間計算値から大きく変化し、充分点火コイルに電
気的に点火エネルギーが蓄えられないときはエン
ジンの失火等の異常燃焼を招くといつた問題があ
ることが判つてきた。 本発明は上記点に鑑みてなされたもので、例え
ば点火装置にあつては点火時期をエンジンのより
最新の状態に応じて制御してエンジン出力を最良
に引き出すと共に、点火装置の点火コイルの点火
エネルギーも充分に蓄えることを可能にしエンジ
ンの失火を防止できるエンジン制御方法の提供を
目的とするものである。 以下本発明の一実施例を図を参照しながら説明
していく。第1図は本発明を4気筒エンジンにつ
いて適用した場合の全体の構成図を示す。1はエ
ンジン16の吸入空気量を検出する吸気量センサ
で例えばこの例では熱線式を用いたものである。
2は吸気温センサ、3はエンジン冷却水の温度を
検出する水温センサである。13はキヤブレータ
を示し、エアーブリード用ソレノイドバルブ15
をマイクロコンピユータ6からの指令でON、
OFFすることにより、エアーブリード14中の
空気量を制御し、空燃比を制御する。9〜12は
定率タイプの排気ガス再循環(EGR)を実現す
るためのもので11はバキユームモジユレータ、
10はEGR第1バルブ、9はEGR第2バルブを
示す。4はエンジン2回転に1回転する従来のデ
イストリビユータで、ハウジングに回転(角)セ
ンサ5が内蔵されたものである。コンピユータ6
は回転センサ5及び吸気量センサ1の出力からエ
ンジン状態を検知し、その時点での最適のEGR
率(EGR量/シリンダ内の全ガス量)を内蔵記
憶装置(ROM)から読み出し、補間計算し、さ
らに吸気温センサ2、水温センサ3、コンピユー
タ内部に取り付けられた大気圧センサ20の出力
値に応じて補正する。この補正されたEGRを図
示のEGRシステムで達成するためEGR第2バル
ブ9のダイアフラム室91の圧力が目標最適
EGR率に対応する計算値になるよう、EGR用
VSV(バキユームスイツチングバルブ)12を
ON(負圧を導入)、OFF(大気を導入)してフ
イードバツク制御する。EGR第2バルブ9の大
気室96は大気に導通しており、大気室96とダ
イアフラム室91との圧力差に応じて、バルブ9
7と一体化したダイアフラム92がスプリング9
1の反発力とつりあう位置まで動き、したがつて
バルブ97は第1図で右側に動き、排気マニホー
ルドに接続されている排気通路95から定圧室9
4を通じて吸気マニホールドに排気が導入され
る。EGR第1バルブ10及びバキユームモジユ
レータ11の作用により定圧室94はほぼ一定圧
(大気圧)に保持される。21はコンピユータ内
部に取り付けられた実際のEGR率つまりはEGR
第2バルブ9のダイアフラム室91内の圧力を検
出するダイアフラム室圧センサである。本例では
点火系に従来の高圧分配器を廃し、コイルを2個
使用したデイスレスタブルコイル方式を採用して
おり、8がイグナイタ、7がイグニツシヨンコイ
ルである。コンピユータ6は回転センサ5及び吸
気量センサ1の出力からエンジン状態を検知し、
その時点での最適の点火角は内蔵記憶装置
(ROM)から読み出し、補間計算し、さらに水温
センサの値、暖機時加速状態、EGR率で補正
し、通電時間はバツテリー電圧によつてROMか
ら読み出され補間計算される。コンピユータ6は
この計算結果に従つて、回転センサ5の信号を参
照して実際の点火時期、通電時期を実時間制御し
ている。16はエンジン、17はマイクロコンピ
ユータ6の操作パネル、18はコンピユータ用電
源、19はバツテリー、22はスタータスイツチ
を示す。 第2図に上記マイクロコンピユータ6を詳細に
説明するためのブロツク図を示す。60は点火時
期、EGR率(ダイアフラム室圧)等を算出する
中央処理ユニツト(CPU)でTI社製9900シリー
ズを用いている。71はプログラム、各エンジン
条件における最適の進角値、EGR率等を記憶し
ている読み出し専用記憶ユニツト(ROM)、70
はプログラムの動作中、使用される一時記憶ユニ
ツト(RAM)を示す。第1図に示した回転セン
サ5はエンジンクランクシヤフト2回転に1回転
するデイストリビユータシヤフトに取り付けられ
た円盤と電磁ピツクアツプから構成されている。
円盤は等間隔で円周方向にN→S→Nの順に順次
磁化されており、さらに、TDC(エンジン上死
点)検出用に2個の磁石が互いに180゜の間隔で
埋め込まれている。したがつて2個のピツクアツ
プ50,51の出力にはデイストリビユータ1回
転でクランク角信号として24個のパルスとTDC
信号として2個のパルスがえられる。このピツク
アツプ出力の波形整形回路はデイストリビユータ
4に内蔵されており、コンピユータにはクランク
角信号端子(51)及びTDC信号端子(50)から
それぞれ第3図のa及びbに示すようなTTLレ
ベルの信号が入力される。クランク角カウンタ部
61はこの2つの信号によりクランクシヤフトの
現在位置をCPU60に転送する。CPU60はこ
の位置情報とタイマー部62によりエンジン回転
数を計算している。吸気量センサ1、吸気温セン
サ2、エンジン冷却水温センサ3、大気圧センサ
20、ダイアフラム室圧センサ21、バツテリー
19からそれぞれ入力されるアナログ電圧信号は
アナログ入力ポート65でA/D変換され、
DMA制御部66によりRAM70にDM転送され
る。したがつて本例ではCPU60はA/D変換
に直接関与せず、計算上必要となつた時点で
RAM70のあらかじめ定められたアドレスをア
クセスすれば、必要な最新データを利用できる。
デイジタル入力ポート64にはエンジン始動用の
スタータが作動中であることを示すスタータスイ
ツチ22の信号と、その他固定進角スイツチ等コ
ンピユータ内に取りつけられた各種パラメータ設
定用スイツチ73の信号とが入力されている。
CPU60はROM71に記憶されたプログラムに
基づき、エンジンクランク位置と同期して点火時
期、コイル通電開始時期(通電時間)を計算し、
その結果に基づいて、通電点火制御部69に通
電、点火位置データを出力する。通電点火制御部
69はこのデータとクランク角信号に従つてイグ
ナイタ8にON、OFF信号を第3図iのように出
力する。本例では点火用高電圧の分配の必要のな
いいわゆるデイスレスタブルコイル方式であるた
め4気筒のうちの#1、4気筒用の第1イグナイ
タ80へのコイルB信号と#2、3気筒用の第2
イグナイタ81へのコイルA信号を出力するよう
になつている。又、CPU60は時間に同期して
計算された目標最適EGR率とEGR第2バルブの
ダイアフラム室圧PD及び大気圧PAから求めた現
在の(つまり実際の)EGR率に従つてEGR(第
2バルブ9の制御)用の負圧切換弁(VSV)1
2、並びにエアーブリード14制御用のVSV1
5をON、OFFするための信号をEGR、VSV駆動
回路68、エアーブリードVSV駆動回路67に
それぞれ出力する。割込み制御回路63はクラン
ク角同期、時間同期の処理を実現するための割込
み信号を発生させるためのものである。72は
CPUと上記各回路部との情報転送に使用するコ
モンパスである。尚このシステムは、DMA制御
部66を用いて、必要に応じ操作パネル17を接
続することにより、RAM70へのデータ書込
み、ROM71、RAM70のデータ読出しが可能
となる。又CPUの状態(RUN、HOLD)をフロ
ントパネル17から制御できるようになつてい
る。 以下上記各回路部のより詳細な内容を順次説明
していく。クランク角カウンタ部61の詳細回路
図を第4図に示す。クランク角カウンタ部61は
エンジンのクランクシヤフトの2回転に1回転す
る通常のデイストリビユータ4のシヤフトに取り
付けられた回転センサ5により発生する2つのセ
ンサ50,51の信号によりクランクシヤフトの
現在位置を12進数で示すものである。回転センサ
5のセンサ51のクランク角信号5b(第3図b
図示)はローパスフイルタ106,107及びト
ランジスタ109、シユミツト入力NAND素子1
11により整形されD型フリツプフロツプ114
(例えばTI社製SM74LS74)に入力される。フリ
ツプフロツプ114はCPU60からのクランク
角READ命令によるデータ転送中にカウンタ12
5の内容がカウントアツプにより変化するのを防
ぐためのもので、クランク角READ中(信号端子
401が論理“0”)はクランク角信号5bの取
り込みクロツク400の供給をAND素子113
により停止している。フリツプフロツプ114の
Q出力は同期式4bitカウンタ125(例えばRCA
社製CD4520B)のCK(クロツク)端子に入力さ
れてる。このカウンタ125は3進部の2bitカウ
ンタと4進部の2bitカウンタをNANDゲート12
8,124と直列接続したもので全体として(3
×14=)12進数のカウンタとして動作する。カウ
ンタ125の内容はクランクシヤフトの位置に対
応し、クランク角信号5bのトレーリングエツジ
毎にカウントアツプされる。CPU60からのク
ランク角READ命令により、カウンタ125の内
容がバツフア126(例えばTI社製
SN74LS244)を通してデータバス404に出力
される。回転センサ5センサ50のTDC信号5
aはクランクシヤフトの#1、4気筒のTDC位
置を示示す信号であり、クランクシヤフトが
#1、4気筒上死点を通過する毎に、第3図aに
示すごとく1パルスを出力している。このTDC
信号5aはクランク角信号5bと同様に、抵抗1
00、コンデンサ101、トランジスタ103、
シユミツト入力NAND素子105により波形整形
され、D型フリツプフロツプ118(例えば
RCA社製CD4013B)のD(データ入力)端子に
入力される。フリツプフロツプ118のCK端子
はクランク角信号が入力され、Q出力はD型フリ
ツプフロツプ119のD端子に接続されている。
したがつてTDC信号5aが論理“1”に反転後
の最初のクランク角信号のトレーリングエツジで
フリツプフロツプ119,120、NAND素子1
21により、1パルス(パルス幅はCK2信号40
7の周波数で決まる)を発生させカウンタ125
をRESET(カウンタの内容=“0000”)する。す
なわちTDCが“0000”に対応し、クランク角90
゜CAは“0100”に対応する。カウンタ125の
REGETは、システムのイニシヤライズ信号であ
るT.RESET信号402、及びCPU60からの
RESET命令406からも行なわれる。尚、第4
図〜第13図までの回路図で※印のついたものは
TTL論理素子、その他の論理素子はC―MOS論
理素子を使用している。これはCPU60が高速
で動作するため、インタフエースがC―MOSで
は時間的に無理がある為である。 次にタイマー部62について第5図により説明
する。CPU60から端子400を介して供給さ
れる周波数3MHzのクロツクCK1はD型フリツプ
フロツプ200,201によつて3分周される。
このクロツク(CK2)はさらに4bitカウンタ20
2に供給され、8分周された後、8bitカウンタ2
08にクロツクとして供給される。8bitカウンタ
207,208は16bitリアルタイムタイマーを
構成しており、0〜524280μsまでの時間をカウ
ントする。このタイマーは端子403を通してク
ランク角カウンタ部61のクランク角パルスのリ
ーデイングエツジにより8bitラツチ209,21
0(例えばRCA社製CD4508B)にそのときの時
間(時刻)がラツチされる。ラツチされた時間は
CPU60から端子408を通して送られるタイ
マーREAD命令によりバツフア211,212さ
らにデータバツフア404を通じてCPU60に
転送される。フリツプフロツプ204,205は
端子403の信号のリーデイングエツジで2μs
の幅のラツチ用ストローブパルスを出力する。3
入力AND206は16bitタイマー207,208
のカウントアツプ時とタイムラツチ時が重なるの
を防ぐためのもので、カウンタ202のLSB出力
が“0”のときはラツチのタイミングを最大1μ
s遅らせている。 次に第6図を参考にして割込み制御部63を説
明する。まず端子403よりクランク角信号が入
る度にギア割込フラグ(D型フリツプフロツプ)
302が“1”にsetされ、インバータバツフア
306をへて端子444を通してCPU60に割
込み要求信号を出す。この割込みが受けつけられ
ると後述するギア割込処理プログラムにより端子
440を通してCPU60からギア割込フラグは
resetされる。同様にギア割込プログラム中にプ
ログラム割込ポートが“1”にsetされると端子
441を通じてプログラム割込フラグ(D型フリ
ツプフロツプ)301がsetされ、CPU60に割
込み要求を送る。このフラグもCPU60からの
命令により端子442を通じてresetされる。さ
らにタイマー部62の16bitタイマー207,2
08から端子415を通じて供給された8.192ms
のクロツクにより8ms割込みフラグ(D型フリツ
プフロツプ)がsetされ端子446によりCPU6
0に割込み要求が伝えられる。すなわちこの割込
みは8.192msごとに生じ、ソフトウエアのタイム
ベースとして使用される。この割込みもCPU6
0からの命令によりresetされる。 次にDMA制御部66を第7図、第10図に示
す。端子409,410,411,412,41
3はCPU60に対してプログラムの実行を一時
停止させるためのHOLD要求信号(端子437)
を作るためのもので第5図のタイマー部62から
の出力信号が入力される。タイマー部62の
16bitリアルタイムタイマー207,208のビ
ツト2(端子413)及びビルト3(端子41
2)がともに、“1”のときANDゲート603の
出力は“1”となる。すなわち第8図Oに示すよ
うな波形となる。同様に3入力AND605の出
力は第8図pに示される通りである。尚、618
〜622,644〜646はCMOS入力保護用の
抵抗である。本例に示すDMAは8チヤンネルを
もつており、約1msごとに全てのチヤンネルと
RAM70間のデタ転送を行なう。8チヤンネル
のうち最初の7チヤンネル(第8図OでCH0〜
6)はA/D変換されたデータの転送用であり最
後の1チヤンネル(CH7)は操作パネル17との
データ転送に用いられる。A/D変換データの場
合第8図Oで、最初の96μsecでA/D変換し次
の32μsecでデータ転送する。ANDゲート603
が“1”になると、操作パネル17から、コンピ
ユータへの外部HOLD要求信号がない場合(端子
727が“1”)、ANDゲート605の出力は
“0”(したがつて608の出力が“1”)となる
ため、レジスタ624(例えばTI社製74LS175)
のD入力が“1”となる。レジスタ624のCK
入力にはCPU60から3MHzのクロツクが端子4
26を通して供給されている。レジスタ624の
D入力が“1”に変化した直後はレジスタ624
のQ出力が“0”であるためANDゲート642
の出力が“0”、NANDゲート601の出力が
“1”となり、レジスタ624のCK入力に3MHz
クロツクがそのまま加わり、レジスタ624のD
入力が“1”に変化した次のクロツクで“1”が
レジスタ624にとりこまれQ出力は第8図qに
示すごとく“1”となる。624のQ出力が
“1”になると、ANDゲート642の出力が
“1”に変化し、トライステート出力のNANDゲ
ート643(例えばTI社製74LS38)の出力が
“0”となり、CPU60に対し、DMA開始のため
のHOLD要求信号(“0”)を出力する(第8図t
参照)。CPU60は端子431からのこのHOLD
要求信号をそのとき実行しているマシンサイクル
の終了後、受けつけ端子425にHOLDA信号
“1”を出力する第8図u。端子437が“0”
でHOLD要求信号が出力されていてHOLDA(端
子425)信号が“1”になるまではNANDゲー
ト601の出力が“0”の為、3MHzクロツク
(端子426)はレジスタ625のCK端子に供給
されない。HOLDAが“1”になるとレジスタ6
25のCK端子にクロツクが入力され、“1”がレ
ジスタ625に取りこまれ、Q出力は“1”とな
る。さらに次のクロツクでレジスタ626のQ出
力が“1”、その次のクロツクでレジスタ627
の出力が“0”となる。レジスタ627の出
力が“0”になるとNANDゲート643の出力は
ハイインピーダンスとなり、HOLD要求が解除さ
れ、DMAサイクルが完了する。HOLDA信号が
“1”になると、ANDゲート638が“1”とな
り、トライステート出力NANDゲート641の出
力が、HOLD要求信号()が“0”、
HOLDA信号が“1”期間中だけ“0”となり第
8図vに示すようにRAM70にメモリー使用選
択信号(、436)を出す。さらにレジ
スタ625のQ出力が“1”、レジスタ626の
出力が“1”の時だけ、ANDゲート639が
“1”となり、CH0〜CH6が選択されている間は
3入力ANDゲート605の出力は“0”である
から、インバータ612の出力は“1”であり、
トライステートNANDゲート640には第8図w
に示すようにメモリのRAM70へのWRITE信号
(、端子435)が出力される。またメモリ
ー使用選択信号が“0”の間は、NAND
ゲート628の出力、すなわちメモリーへの
READ信号(DBiN、端子431)は“0”であ
る。HOLDA信号が“1”の間(DMAサイクル
中)は、CPU60は停止しており、、
DBiN、等の制御ライン、アドレスバス、デ
ータバスのCPU側からのドライブは、“ハイイン
ピーダンス”状態にある。したがつてこの間は
DMA制御部66からRAM70に対して直接デー
タ転送を行なう。CH0〜CH6のA/D変換データ
の転送の場合、インバータ606の出力は“1”
であり、端子720、すなわちNANDゲート62
9の出力には第8図vのと同様な信号が
出力され、その信号は第9図のA/D変換データ
レジスタ518,519第10図のA/D変換ア
ドレスレジスタ530,531のストローブ入力
に加えられている。つまりが“0”の期
間、A/D変換されたデータはデータバス404
上に出力され、またCH0〜6に対応するアドレス
がアドレスバス440上に出力される。これらバ
ス上に出力されたデータは信号により、
RAM70に書き込まれる。操作パネル17から
の外部HOLD要求信号(端子427)がある
(“1”)場合にはCH0〜CH6のA/D変換DMAサ
イクルは行なわない。すなわち、NANDゲート6
07の出力が“0”となり、ANDゲート603
の出力が、“1”となつてもレジスタ624のD
入力は“0”の状態のままであるため、DMAサ
イクルは開始されない。次に操作パネル17と
RAM70とのデータ転送を行なうCH7はDMAサ
イクルを説明する。端子428はフロントパネル
からのR/信号―端子429はデータ転送要求
信号、端子430は連続READ信号、端子414
はタイマー部62から供給される約128msのクロ
ツク信号が入力される。まず操作パネル17から
RAM70へデータ書込み要求が生じた場合、端
子428,429,430は“0”となる。
ANDゲート605及び603の出力が“1”、
(第8図O,p)となりCH7のDMAサイクルが開
始される。レジスタ615,616により、端子
429の“1”から“0”への立ち下がりで幅
1.0msの正極性パルスがANDゲート617の出力
に一つ生じる。このパルスはNANDゲート609
で128μsの負極性パルスとなり、NANDゲート
608、AND604をへてレジスタ624のD
入力に32μsの正極性パルスとして入力される。
操作パネル17からRAM70へのWRITE要求の
場合、、HOLDA、、、DBiN
の各制御ラインは、前記A/D変換データの
DMAデータ転送とまつたく同様に駆動される。
(第8図t〜w)さらに操作(フロント)パネル
17に対し、RAM70に転送すべきアドレス、
データを格納しているレジスタの内容をそれぞれ
アドレスバス、データバス上に出力させる信号端
子434,432にが“0”の期間、第
8図xに示すように正極性のパルスを端子する。
操作パネル17からRAM70、ROM71に対す
るデータ読込み要求があつたときは、端子42
9,430が“0”、428が“1”となる。こ
の場合のDMAサイクルでか、コンピユータ制御
ラインのうち信号(端子435)はメモリ使
用選択信号(端子436)が“0”であ
る期間も“1”のままであるかわりに、ANDゲ
ート611の出力は“1”であるため、DBiN信
号(端子431)が“1”である。その他の制御
ライン、HOLDA、については、
前記A/D変換データの転送サイクル、フロント
パネル17からのデータ書込みサイクルと同様で
ある。連続READ信号(端子430)が“1”の
ときはNAND613の出力は128msのクロツクが
発生する。これはNANDゲート614により、
128msごとのフロントパネル17からRAN7
0、ROM71に対するデータ読込み要求と等価
なので、128msに1回、RAM70、ROM71か
らフロントパネル17へDMAデータ転送サイク
ルが前記のごとく生じる。尚、フロントパネル1
7よりのDAMサイクルは外部HOLD要求信号
(端子427)があつても実行される。 次にアナログ入力ポート65について第9図を
参照しながら説明する。各センサーの入力端子
(1〜3、19〜21)のすぐ後に接続された抵抗と
コンデンサのフイルター(500〜513)は、信号ラ
インに垂畳している雑音成分を除去するためのも
のである。6つのセンサ入力は8チヤンネルのマ
ルチプレクサ514(例えば、CD4051B)の入
力(C0〜C5)にそれぞれ接続され、そのうちの
1つの入力がアドレス入力A,B,Cのレベルに
より選択される。すなわち例えばA,B,Cが
“0”“0”“0”のときCO入力が選ばれ、“1”
“0”“0”のときC1入力が選ばれる。マルチプ
レクサ514のアドレス入力A,B,Cはレベル
コンバータ(例えばCD40109B)515をへて、
タイマー部62のリアルタイムタイマー207,
208に接続されている。したがつて128μs
ごとにCO→C1→C2…C0と選択されるチヤンネ
ルがスイツチされ、1つのチヤンネルは1msに1
回選択される。端子412もリアルタイムタイマ
ー207,208に接続されており、64μsのク
ロツクを発生する。すなわちマルチプレクサ51
4のアドレスがスイツチされると同時に端子41
2は“0”から“1”に立ち上がる。そのときイ
ンバータ520,524、NAND素子523、抵
抗521、コンデンサ522により数μsのA/
Dスタートパルスがが発生し、逐次比較型A/D
コンバータ517(例えばBur Brown社製
ADC80AG)のCONV.CMD端子に入力され、
A/D変換が始まる。マルチプレクサ514の出
力にはアドレス入力A,B,Cの値に応じて選択
された1つの入力がそのまま出力されオペアンプ
516(例えば日本電気製μPC151A)による電
流増幅後、A/Dコンバータ517のアナログ入
力端子に入力される。A/Dコンバータ517は
CONV.CMD端子に変換スタート信号が印加され
た後、約40μsかけて前記アナログ入力を12bit
デイジタルデータに変換し、B0〜B11に出力す
る。変換されたデイジタルデータは前記DMA制
御部66により、変換スタート信号印加後96μs
後に始まるDMAデータ転送サイクルでPAM70
の選択されたチヤンネルに対応するアドレスに
B0〜B11の12bitデータがバツフア518,51
9を通じて書き込まれる。 次に通電点火制御部69を第11図、第12図
及び第3図により詳述する。CPU60はクラン
ク角カウンタ部61からの情報及びクランク角信
号が入る度に生じる割込み(ギア割込み)によ
り、クランクシヤフトの現在位置を360+12=30
(℃A)の精度で認識している。プログラムによ
り計算された最適な通電時期、点火時期をどのよ
うにして実現するかを#1、4気筒について説明
する。#2、3気筒についても同様に説明でき
る。まず通電については最適通電角θを次式に示
すように分解する。 θ=θ1+θ2 τ=τ(θ2、N) (1) θ:通電角イル θ1:30℃A単位でCPUの認識できる通電
開始クランク角(0〜11×30℃A)すなわ
ち回転角センサー5の各ギア位置と対応 θ2:30℃A以下の端数 τ:30℃A以下の端数θ2をそのときの回転
数Nに基づき8μsの単位で時間に換算し
たもの。 そして、上式により算出されたギア位置θ1よ
り1つ手前のギア位置(θ1−1)で生じた前記
ギア割込みにおいてCPU60は第3図cの如く
#1、4コイル通電命令(端子453)及び通電
ダウンカウンタ値セツト命令(端子450)を出
力する。また端子450に印加されたパルスによ
り、そのとき同時にデータバス404にCPUか
ら出力されたτの内容が16bit通電ダウンカウン
タ900,901にセツトされる。900,90
1はそれぞれ8bitのダウンカウンタ(例えばRCA
社製CD40103B)で直列に接続して16bitダウンカ
ウンタを構成している。この16bitのダウンカウ
ント値は8μsの精度で0〜0.52428secの値が可
能である。したがつて3rpm程度の回転数までオ
ーバーフローなしに1義的にダウンカウントが可
能である。フリツプフロツプ909がセツトされ
ると出力は“0”となりNANDゲート910の
出力、すなわちD型フリツプフロツプ911のD
入力は“1”となる。フリツプフロツプ911の
CK(クロツク)入力は端子403を通してクラ
ンク角信号に接続されているので、#1、4コイ
ル通電命令及び通電ダウンカウンタ値セツト命令
の出力後、次のクランク角パルスでフリツプフロ
ツプ911はセツトされる。第3図dはフリツプ
フロツプ911のQ出力の信号波形を示す。フリ
ツプフロツプ911がセツトされると出力は
“0”となるのでダウンカウンタ900,901
はダウンカウント可能となり、又、4ビツト分周
器925のリセツト入力を解除するのでダウンカ
ウンタ900,901のCK入力にダウンカウン
ト用クロツクが供給され、ダウントが開始され
る。分周器925(例えばRCA社製CD4520B)
はタイマー部62の4bitダウンカウンタ202か
ら端子455により2μsのクロツクの供給を受
け、これを4分周して8μsのダウンカウントク
ロツクを発生させている。リアルタイムタイマー
207,208から直接8μsのクロツクを利用
していないのは、精度、特にτ=0、1のとき精
度を確実にするためである。さて16bitダウンカ
ウンタ900,901がダウンカウントを終了す
ると、その終了信号“0”がダウンカウンタ90
0のCO/ZD端子から出力されインバータ90
4、ANDゲート906、NANDゲート907、
NANDゲート915をへて、フリツプフロツプ9
09,911をリセツトし(第3図d参照)、さ
らにインバータ914をへてダウンカウンタ90
0,901をリセツトするのでCO/ZD端子は再
び“1”にもどる。したがつてANDゲート90
6の出力、すなわち端子456は第3図eに示す
ごとく、負極性のパルスとなる。又、フリツプフ
ロツプ911の出力は“1”となるのでダウン
カウンタ900,901のカウントはストツプ
し、カウントダウンクロツクの供給もストツプす
る。尚、ANDゲート906のもう一方の入力に
はダウンカウントクロツクをインバータ905で
反転したものが印加されており、ANDゲート9
06の出力はダウンカウント終了信号より4μs
遅れで“1”となる。これはカウントダウンクロ
ツク印加直後、ダウンカウント900のCO/ZD
端子に生じる可能性のある負極性のパルス
(200ns程度)による誤動作を防止するためのも
のである。ANDゲート906の出力パルスは端
子456を通して第12図のANDゲート93
3,935に加わる。今第11図のフリツプフロ
ツプ909のQ出力はR(リセツト)入力が
“1”に反転するまで“1”であり、第12図の
ANDゲート933の入力は端子457により、
フリツプフロツプ909のQ出力に接続されてい
るのでANDゲート933の出力には端子456
に印加されたパルスがそのまま生じ、#1、4コ
イル(コイルB)制御フリツプフロツプ938が
セツトされる。938の出力が“1”に変化す
ると、インバータバツフア939の出力は
“0”、したがつてトランジスタ942,947は
OFF、トランジスタ952はONとなり第1イグ
ナイタ80の入力端子とGND端子82間に電流
が流れ、#1、4気筒用のコイルは通電を開始す
る。尚ダイオード948,953はトランジスタ
保護用であり、抵抗940,941,943〜9
46,949〜951,954は点火ノイズの減
衰のためソリツド抵抗である。第11図のNAND
ゲート907の一方の入力は分周器925の2μ
sのクロツクを供給する端子に接続されている。
したがつてANDゲート906の出力が“1”に
変化しても、ダウンカウンタ900,901、フ
リツプフロツプ909,911のリセツトは2μ
sだけ遅れて実施される。これはフリツプフロツ
プ938のセツトパルスのパルス幅を確保するた
めである。点火角(時期)θBXについても(1)式
と同様に分解する。 θBX=θBX1+θBX2 (2) τx=τx(θBX2、N) θBX:#1、4コイル(コイルB)の点火
角 θBX1:30℃A単位でCPUの認識できる点火
クランク角、(0〜11×30℃A) θBX2:30℃A以下の端数 τx:30℃A以下の端数θBX2をそのときの
回転数Nに基づき8μsの単位で時間に換
算したもの。 (2)式で算出されたギア位置(θBX1)より1つ
手前のギア位置(θBX−1)にエンジンのクラ
ンクシヤフトが到達したとき生じる回転センサ5
(センサ51)のクランク角信号5bの立ち上が
りによるギア割込みでCPU60は点火命令(端
子454、第3図f)を出力し、16bit点火ダウ
ンカウンタ902,903にτxを設定する。ク
ランクシヤフト位置がθBX1に到達するとフリツ
プフロツプ922がセツトされる。16bitダウン
カウンタ902,903は8μsのクロツクでダ
ウンカウントを開始し、ダウンカウントが終了す
ると同時に第3図hに示すような正極性パルスが
端子459に生じる。第3図gはフリツプフロツ
プ922のQ出力の波形であり、ダウンカウント
中のみ“1”となる。第12図のデコーダ930
(例えばRCA社製CD4556B)のA、B入力はそれ
ぞれ第4図のクランク角カウンタ部61のカウン
タ125の上位2ビツト(ビツト2、3)に端子
405を介して接続されている。したがつてクラ
ンク角が0〜90℃A、270〜360℃Aのとき、
NANDゲート931の出力が“1”に、90〜270
℃AのときNアドレス982の出力が“1”とな
る。#1、4気筒の点火クランク角は通常290〜
360℃Aであり、#2、3気筒の点火クランク角
は110゜〜180℃Aである。したがつて点火につい
ては、CPUから識別信号がなくても、どちらの
コイルの点火命令かは上記のごとく、クランク角
がわかれば、特定できるわけである。さて今の場
合NANDゲート931の出力の方が“1”となり
ANDゲート934の出力に端子459からのパ
ルスが生じフリツプフロツプ938をリセツトし
出力は“1”に第3図iに示すように変化す
る。したがつてトランジスタ942,947が
ON、トランジスタ952がOFFとなり、第1イ
グナイタ80の入力端子とGND端子82間に流
れている電流は遮断され、#1、4気筒のうちい
ずれか圧縮工程にある気筒の点欠プラグに高圧が
発生し、点火が行なわれる。以上#1、4気筒用
のコイルBイグナイタ信号について説明したが
#2、3気筒用のコイルAイグナイタ信号につい
ても全く同様にして制御される。 次にEGRVSV駆動回路68について第13図
により詳細に説明する。CPU60が後述するそ
の内蔵プログラムによりEGR制御用のVSV12
をONすべきことを判断すると、端子470に
“0”を出力する。するとトランジスタ802,
806がONとなり、EGRVSV12の端子とバツ
テリーGND端子19間にコイル励磁電流が流れ
EGR制御用のVSV12はONとなる。逆にCPU6
0が端子470に“1”を出力すると、トランジ
スタ802,806がOFFとなり、EGRVSV1
2の端子とバツテリーGND端子19間には電流
は流れず、EGR制御用VSV12はOFFとなる。
エアーブリードVSV駆動回路67は第13図と
全く同様でCPU60からの“0”、“1”の出力
でエアーブリード制御用VSV15をON、OFF作
動させる。 以上で本発明の一例を示すシステムのハードウ
エアの説明を終了し以下制御アルゴリズムすなわ
ちソフトウエアを説明していく。 本例のシステムはそれぞれ優先順位をもつ3つ
割込みを持つ。それを第14図に示す。3つの割
込みは優先レベルの高い順にギア割込み、プログ
ラム割込み、8ms割込みである。メインルーチン
はこれら各割込みの処理中でないとき、実行され
る。吸入空気量Ga、水温Tw、吸気温Ta、ダイ
アフラム室圧PD、大気圧PA、バツテリー電圧V
BについてはA/D変換されたのち、それぞれ
1msに1回CPU60を数μs停止させ、その間に
あらかじめ定められたRAM70内のメモリーア
ドレスにDMA制御部66により直接転送され
る。したがつてプログラムはA/D変換には全く
関与せず、上記データが必要な時は所定のアドレ
スをアクセスするだけでよい。以下各プログラム
について順次説明する。まず割込みのない場合、
実行されるメインルーチンのフローチヤートを第
15図に示す。コンピユータ6の電源ON又はフ
ロントパネル17のRESETスイツチの押下によ
りメインルーチンが起動され、ステツプ1001でイ
ニシヤライズ、すなわちプログラムの初期化
(RAMのclear、パラメータに所定の値を設定、
各割込もの許可等)が実行される。次にステツプ
1002で第16図に詳細を示すベース処理が実行さ
れる。ベース処理ではA/D変換されたデータを
もとに冷却水温Tw、吸気温Taが一次元マツプか
ら線形補間計算され(ステツプ1020、1023)、ス
テツプ1021、1022で冷却水温Twから一次元マツ
プにより線形補間計算され、水温進角θTw、
EGRの水温補正係数KTwが算出される。さらに
ステツプ1026で加速進角係数…γAccが(3)式によ
り計算され γAcc=CAcc×(80−Tw) (3) CAcc:定数 求められる。ステツプ1024では同様に吸気温TA
からEGRの吸気温補正係数KTAが一次元マツプ
により線形補間計算され、ステツプ1025では大気
圧PAのA/D変換データからEGR大気圧補正係
数Kpが一次元マツプにより線形補間計算され
る。ベース処理実行後、メインルーチンは条件判
断ステツプ1003に進む。このステツプ1003ではフ
ラグf8が0かどうかを調べ、0ならベース処理ス
テツプ1002にもとり、0でなければステツプ1004
に進む。このブラグf8は第29図に示す8ms割込
みで1ずつ増加し、メインルーチンで8ms処理ス
テツプ1005を実行する毎に1つずつ減少する。し
たがつて8ms処理ステツプ1005は通常8ms毎に1
回実行される。8ms処理の詳細を第17図に示
す。ステツプ1030でA/D変換されたバツテリー
電圧VBから一次元マツプによる線形補間計算に
より要求通電時間τONが求められる。ステツプ
1031ではフラグf50が1ずつ増加される。8ms処理
ステツプ1005終了後、メインルーチンは判断ステ
ツプ1006に進む。ステツプ1006ではブラグf50が
6かそれ以上ならばステツプ1007に進み6減算さ
れ、続いて50ms処理ステツプ1008が実行され
る。f50が5以下ならステツプ1003にもどる。通
常50ms(正確には6×8.192=49.152ms)に1回
実行されるこの50ms処理ステツプ1008を第18
図に示す。ステツプ1040〜46は加速進角の演算を
示す。加速の検出は(4)式の △Ga/N=(Ga/N)0−(Ga/N)500−(4) Ga:吸入空気量、N:回転数 ように現在の(Ga/N)0と500ms前のデータ
(Ga/N)500の差をステツプ1040で求め、ステ
ツプ1041にてその差がある値C以上であるかどう
かにより加速の判定を行なう。加速と判定されれ
ば θAcc′=γAcc×△Ga/N (5) γAcc:(3)式参照 ステツプ1043において(5)式で新しい加速進角θAc
c′が計算される。加速進角θAccは、加速検出
後、1回転毎に一定角度ずつ(0.1〜1℃A)遅
角していく。したがつてステツプ1045で現在の加
速進角値θAccと加速検出により新たに計算され
た加速進角値θAcc′のうち大きい方を新しいθAcc
とする。又ステツプ1042にて減速を検出した場合
(ステツプ1042)θAccは直ちに0となる。ステツ
プ1047〜1051はEGR処理ステツプである。本例
に示すEGR制御法は前述のように第1図のEGR
第2バルブ9のダイアフラム室91圧を回転数N
と一回転あたりの吸入空気量Ga/Nにより定め
られる最適EGR率に対応する負圧に設定するこ
とにより、バルブ92のリストを制御し、最適
EGR率を得る方法である。ステツプ1047では最
適EGR率に対応する負圧Pdrfが(6)式により算出
される。 Pdref=A+KTw×KTa×Kp×(Pd・map―A)
―(6) Pdmap:(N、Ga/N)から三次元マツプに
より4点線形補間計算で求めた値(負圧) KTw:EGR水温補正係数(第16図参照) KTa:EGR吸気温補正係数(第16図参照) Kp:EGR大気圧補正係数(第16図参照) A:プリセツト圧、ダイアフラム室(第1図9
1)の圧力がスプリング98の反発力に抗
して弁92が動き始める臨界圧力。 さらにEGR第2バルブ9のダイアフラム室圧
(負圧)の現在値Pdrealはステツプ1048で(7)式に
より計算される。 Pdreal=PA−PD (7) PA:大気圧(絶対圧力) PD:ダイアフラム室圧(絶対圧力) 以下のステツプでは実際のダイアフラム室圧
Pdrealが最適制御値Pdrefに一致するよう第1図
のVSV12をON、OFF制する。すなわちステツ
プ1049で実際のダイアフラム室圧Pdrealが制御値
Pdrefより小さければEGR用VSV12をONに
し、レギユレートされたマニホールド負圧を導入
してPdrealを大きくし、逆にPdrealがPdrefより
大きくなるとVSVをOFFして、大気圧を導入し
Pdrealを小さくする。次にステツプ1052では(8)式
に従つてダイアフラム室圧PdrealからEGR進角
値θEGRが計算される。 θEGR=CθEGR×(Pdreal−A) (8) (ただしPdreal−A<0ならθEGR=0) CθEGR:定数 A:プリセツト圧 ステツプ1053以下は第1図のエアーブリード用
VSV15を制御するプログラムステツプを示
す。この場合EGR率が大きいほどVSV15の
OFF期間が長くなりエアーブリード14の空気
量が減少し、A/Fが小さくなるよう制御され
る。この場合ステツプ1053でエアーブリード用
VSV15のON―OFFの目標デユーテイ比Drefが
(9)式によりまず計算される。 Dref=CDREF×(Pdreal−A) (9) (ただしPdreal−A<0ならDref=0) CDREF:定数 A:プリセツト圧 RAM70の所定のアドレスに記憶される16bit
の記憶内容Hairの各bitは最上位ビツトから古い
順にエアーブリードVSVの過去16回のON
(“1”)OFF(“0”)の履歴を表わす。NONは過
去16回の履歴でON(“1”)の回数を表わす。し
たがつて現在のデユーテイ比Drealは判断ステツ
プ1057での今回の判断の期持値をON、OFFとも
1/2と仮定すると、ステツプ1056に示すように
計算できる。NONの最新値はHairを1bit左へシフ
トさせ最も古いビツトを調べ“1”のときは1減
算し、“0”のときはそのままとすればよい)(ス
テツプ1053〜1055)0EGRVSV12の制御の場合
と同様に、現在のデユーテイ比Pdrealが制御目標
値Drefより小さければエアーブリードVSV15
をONしてDrealを大きくし、(ステツプ1059)ス
テツプ1060でNONを1増加させ、Hairの最新ビ
ツトを1にしている。逆にDrealがDrefより大き
ければVSVをOFFしてDrealを小さくする。(ス
テツプ1058)0したがつてエンジンに供給される混
合気の空燃比はEGR量に応じて設定する値に制
御される。エアーブリードVSV15のON,OFF
デユーテイ比を算出し、VSVのON、OFFをCPU
で直接制御する本例では、ダウンカウンタ等を用
いてデユーテイ比を制御する通常の方式に比較し
て、ハードウエア(回路)が小規模となり応答性
も向上する。特に本例では過去16回の履歴から現
在のデユーデイ比を算出しており、デユーデイ比
計算のためのサンプルは50ms毎の計算について
常に最新値を用いており、たとえば800ms
(50ms×16)に1回だけ目標デユーデイ比を計算
し、それに基づくON、OFFのシーケンスを
50msごとに実行する方法に比して、応答性は格
段に優れている。以上でEGRに関連する処理プ
ログラムの説明を完了し、以下ギア割込み、プロ
グラム割込みについて説明する。 まずギア割込みについて第19図により説明す
る。ギア割込みは最も優先順位の高い割込みで最
優先に処理される。このギア割込みの起動は前述
の第6図に示す割込み制御部63の端子444か
らのクランク角パルスにより行なわれる。したが
つてギア割込みはTDCから30℃Aごとに起動さ
れる。起動されるとステツプ1100でギア割込みを
リセツト(第6図のフリツプフロツプ302のリ
セツト)し、第5図に示すタイマー部62で、ク
ランク角パルスによりリアルタイムタイマー20
7,208からレジスタ209,210にラツチ
されたラツプ値をCPU60に読み込む。この操
作によりCPU60はクランク角パルスの生じた
正確な時間が8μsの精度で検知でき、30℃A毎
のクランク位置の通過時刻が検知できる。さらに
第4図に示すクランク角カウンタ部61のクラン
ク角カウンタ125のREAD操作により、CPU
60は現在のクランク位置を30℃Aの精度で検知
できる。 ただし以下の述べるクランク位置の現在値と
は、これに1を加算したものである。ステツプ
1101は通電点火処理のための第1表に示す2つの
計算値ストレージテーブルiGT1,iGT2のうち
いずれか新しい方を選択するための判断ステツプ
である。フラグfTABが“0”ならばテーブル
iGT1、“0”でなければテーブルiGT2が最新
のテーブルであることを示す。
等のエンジン用被制御部(制御対象)の制御最適
値をマイクロコンピユータにて計算し、その計算
結果に基づいてエンジンを制御するエンジンの制
御方法に関する。 一般にマイクロコンピユータで例えばエンジン
の点火装置を制御する場合、従来の方法では点火
装置の点火コイルの通電時間(つまりは通電開始
時期)と点火時期(つまりは通電停止時期)とを
所定クランク角にて1回計算し、複数回にわたつ
て点火装置の通電時間と点火時期とを制御するよ
うになつており、点火コイルの通電中に新して点
火時期を計算することはなかつた。このためエン
ジンの加速時や減速時のようにエンジン回転速度
が急激に変化する場合に点火時期もより新しいエ
ンジンデータに基いた計算値に設定する必要があ
るにも拘わらず、エンジンの回転変化に則した計
算ができないことになり、エンジンの出力や排気
ガス組成の良好な結果を引き出せないという問題
を持つていた。 また仮に通電時間、点火時期の計算をエンジン
1回転当り多数回実行し、点火コイル通電中に新
しい点火時期の制御値を計算し点火装置に設定し
て点火時期を制御するとしても、既に通電時間を
決める計算値により点火コイルに通電しており、
この新しい点火時期の計算値が前回の計算値より
大きく変化すると実際の通電時間が前回の通電時
間計算値から大きく変化し、充分点火コイルに電
気的に点火エネルギーが蓄えられないときはエン
ジンの失火等の異常燃焼を招くといつた問題があ
ることが判つてきた。 本発明は上記点に鑑みてなされたもので、例え
ば点火装置にあつては点火時期をエンジンのより
最新の状態に応じて制御してエンジン出力を最良
に引き出すと共に、点火装置の点火コイルの点火
エネルギーも充分に蓄えることを可能にしエンジ
ンの失火を防止できるエンジン制御方法の提供を
目的とするものである。 以下本発明の一実施例を図を参照しながら説明
していく。第1図は本発明を4気筒エンジンにつ
いて適用した場合の全体の構成図を示す。1はエ
ンジン16の吸入空気量を検出する吸気量センサ
で例えばこの例では熱線式を用いたものである。
2は吸気温センサ、3はエンジン冷却水の温度を
検出する水温センサである。13はキヤブレータ
を示し、エアーブリード用ソレノイドバルブ15
をマイクロコンピユータ6からの指令でON、
OFFすることにより、エアーブリード14中の
空気量を制御し、空燃比を制御する。9〜12は
定率タイプの排気ガス再循環(EGR)を実現す
るためのもので11はバキユームモジユレータ、
10はEGR第1バルブ、9はEGR第2バルブを
示す。4はエンジン2回転に1回転する従来のデ
イストリビユータで、ハウジングに回転(角)セ
ンサ5が内蔵されたものである。コンピユータ6
は回転センサ5及び吸気量センサ1の出力からエ
ンジン状態を検知し、その時点での最適のEGR
率(EGR量/シリンダ内の全ガス量)を内蔵記
憶装置(ROM)から読み出し、補間計算し、さ
らに吸気温センサ2、水温センサ3、コンピユー
タ内部に取り付けられた大気圧センサ20の出力
値に応じて補正する。この補正されたEGRを図
示のEGRシステムで達成するためEGR第2バル
ブ9のダイアフラム室91の圧力が目標最適
EGR率に対応する計算値になるよう、EGR用
VSV(バキユームスイツチングバルブ)12を
ON(負圧を導入)、OFF(大気を導入)してフ
イードバツク制御する。EGR第2バルブ9の大
気室96は大気に導通しており、大気室96とダ
イアフラム室91との圧力差に応じて、バルブ9
7と一体化したダイアフラム92がスプリング9
1の反発力とつりあう位置まで動き、したがつて
バルブ97は第1図で右側に動き、排気マニホー
ルドに接続されている排気通路95から定圧室9
4を通じて吸気マニホールドに排気が導入され
る。EGR第1バルブ10及びバキユームモジユ
レータ11の作用により定圧室94はほぼ一定圧
(大気圧)に保持される。21はコンピユータ内
部に取り付けられた実際のEGR率つまりはEGR
第2バルブ9のダイアフラム室91内の圧力を検
出するダイアフラム室圧センサである。本例では
点火系に従来の高圧分配器を廃し、コイルを2個
使用したデイスレスタブルコイル方式を採用して
おり、8がイグナイタ、7がイグニツシヨンコイ
ルである。コンピユータ6は回転センサ5及び吸
気量センサ1の出力からエンジン状態を検知し、
その時点での最適の点火角は内蔵記憶装置
(ROM)から読み出し、補間計算し、さらに水温
センサの値、暖機時加速状態、EGR率で補正
し、通電時間はバツテリー電圧によつてROMか
ら読み出され補間計算される。コンピユータ6は
この計算結果に従つて、回転センサ5の信号を参
照して実際の点火時期、通電時期を実時間制御し
ている。16はエンジン、17はマイクロコンピ
ユータ6の操作パネル、18はコンピユータ用電
源、19はバツテリー、22はスタータスイツチ
を示す。 第2図に上記マイクロコンピユータ6を詳細に
説明するためのブロツク図を示す。60は点火時
期、EGR率(ダイアフラム室圧)等を算出する
中央処理ユニツト(CPU)でTI社製9900シリー
ズを用いている。71はプログラム、各エンジン
条件における最適の進角値、EGR率等を記憶し
ている読み出し専用記憶ユニツト(ROM)、70
はプログラムの動作中、使用される一時記憶ユニ
ツト(RAM)を示す。第1図に示した回転セン
サ5はエンジンクランクシヤフト2回転に1回転
するデイストリビユータシヤフトに取り付けられ
た円盤と電磁ピツクアツプから構成されている。
円盤は等間隔で円周方向にN→S→Nの順に順次
磁化されており、さらに、TDC(エンジン上死
点)検出用に2個の磁石が互いに180゜の間隔で
埋め込まれている。したがつて2個のピツクアツ
プ50,51の出力にはデイストリビユータ1回
転でクランク角信号として24個のパルスとTDC
信号として2個のパルスがえられる。このピツク
アツプ出力の波形整形回路はデイストリビユータ
4に内蔵されており、コンピユータにはクランク
角信号端子(51)及びTDC信号端子(50)から
それぞれ第3図のa及びbに示すようなTTLレ
ベルの信号が入力される。クランク角カウンタ部
61はこの2つの信号によりクランクシヤフトの
現在位置をCPU60に転送する。CPU60はこ
の位置情報とタイマー部62によりエンジン回転
数を計算している。吸気量センサ1、吸気温セン
サ2、エンジン冷却水温センサ3、大気圧センサ
20、ダイアフラム室圧センサ21、バツテリー
19からそれぞれ入力されるアナログ電圧信号は
アナログ入力ポート65でA/D変換され、
DMA制御部66によりRAM70にDM転送され
る。したがつて本例ではCPU60はA/D変換
に直接関与せず、計算上必要となつた時点で
RAM70のあらかじめ定められたアドレスをア
クセスすれば、必要な最新データを利用できる。
デイジタル入力ポート64にはエンジン始動用の
スタータが作動中であることを示すスタータスイ
ツチ22の信号と、その他固定進角スイツチ等コ
ンピユータ内に取りつけられた各種パラメータ設
定用スイツチ73の信号とが入力されている。
CPU60はROM71に記憶されたプログラムに
基づき、エンジンクランク位置と同期して点火時
期、コイル通電開始時期(通電時間)を計算し、
その結果に基づいて、通電点火制御部69に通
電、点火位置データを出力する。通電点火制御部
69はこのデータとクランク角信号に従つてイグ
ナイタ8にON、OFF信号を第3図iのように出
力する。本例では点火用高電圧の分配の必要のな
いいわゆるデイスレスタブルコイル方式であるた
め4気筒のうちの#1、4気筒用の第1イグナイ
タ80へのコイルB信号と#2、3気筒用の第2
イグナイタ81へのコイルA信号を出力するよう
になつている。又、CPU60は時間に同期して
計算された目標最適EGR率とEGR第2バルブの
ダイアフラム室圧PD及び大気圧PAから求めた現
在の(つまり実際の)EGR率に従つてEGR(第
2バルブ9の制御)用の負圧切換弁(VSV)1
2、並びにエアーブリード14制御用のVSV1
5をON、OFFするための信号をEGR、VSV駆動
回路68、エアーブリードVSV駆動回路67に
それぞれ出力する。割込み制御回路63はクラン
ク角同期、時間同期の処理を実現するための割込
み信号を発生させるためのものである。72は
CPUと上記各回路部との情報転送に使用するコ
モンパスである。尚このシステムは、DMA制御
部66を用いて、必要に応じ操作パネル17を接
続することにより、RAM70へのデータ書込
み、ROM71、RAM70のデータ読出しが可能
となる。又CPUの状態(RUN、HOLD)をフロ
ントパネル17から制御できるようになつてい
る。 以下上記各回路部のより詳細な内容を順次説明
していく。クランク角カウンタ部61の詳細回路
図を第4図に示す。クランク角カウンタ部61は
エンジンのクランクシヤフトの2回転に1回転す
る通常のデイストリビユータ4のシヤフトに取り
付けられた回転センサ5により発生する2つのセ
ンサ50,51の信号によりクランクシヤフトの
現在位置を12進数で示すものである。回転センサ
5のセンサ51のクランク角信号5b(第3図b
図示)はローパスフイルタ106,107及びト
ランジスタ109、シユミツト入力NAND素子1
11により整形されD型フリツプフロツプ114
(例えばTI社製SM74LS74)に入力される。フリ
ツプフロツプ114はCPU60からのクランク
角READ命令によるデータ転送中にカウンタ12
5の内容がカウントアツプにより変化するのを防
ぐためのもので、クランク角READ中(信号端子
401が論理“0”)はクランク角信号5bの取
り込みクロツク400の供給をAND素子113
により停止している。フリツプフロツプ114の
Q出力は同期式4bitカウンタ125(例えばRCA
社製CD4520B)のCK(クロツク)端子に入力さ
れてる。このカウンタ125は3進部の2bitカウ
ンタと4進部の2bitカウンタをNANDゲート12
8,124と直列接続したもので全体として(3
×14=)12進数のカウンタとして動作する。カウ
ンタ125の内容はクランクシヤフトの位置に対
応し、クランク角信号5bのトレーリングエツジ
毎にカウントアツプされる。CPU60からのク
ランク角READ命令により、カウンタ125の内
容がバツフア126(例えばTI社製
SN74LS244)を通してデータバス404に出力
される。回転センサ5センサ50のTDC信号5
aはクランクシヤフトの#1、4気筒のTDC位
置を示示す信号であり、クランクシヤフトが
#1、4気筒上死点を通過する毎に、第3図aに
示すごとく1パルスを出力している。このTDC
信号5aはクランク角信号5bと同様に、抵抗1
00、コンデンサ101、トランジスタ103、
シユミツト入力NAND素子105により波形整形
され、D型フリツプフロツプ118(例えば
RCA社製CD4013B)のD(データ入力)端子に
入力される。フリツプフロツプ118のCK端子
はクランク角信号が入力され、Q出力はD型フリ
ツプフロツプ119のD端子に接続されている。
したがつてTDC信号5aが論理“1”に反転後
の最初のクランク角信号のトレーリングエツジで
フリツプフロツプ119,120、NAND素子1
21により、1パルス(パルス幅はCK2信号40
7の周波数で決まる)を発生させカウンタ125
をRESET(カウンタの内容=“0000”)する。す
なわちTDCが“0000”に対応し、クランク角90
゜CAは“0100”に対応する。カウンタ125の
REGETは、システムのイニシヤライズ信号であ
るT.RESET信号402、及びCPU60からの
RESET命令406からも行なわれる。尚、第4
図〜第13図までの回路図で※印のついたものは
TTL論理素子、その他の論理素子はC―MOS論
理素子を使用している。これはCPU60が高速
で動作するため、インタフエースがC―MOSで
は時間的に無理がある為である。 次にタイマー部62について第5図により説明
する。CPU60から端子400を介して供給さ
れる周波数3MHzのクロツクCK1はD型フリツプ
フロツプ200,201によつて3分周される。
このクロツク(CK2)はさらに4bitカウンタ20
2に供給され、8分周された後、8bitカウンタ2
08にクロツクとして供給される。8bitカウンタ
207,208は16bitリアルタイムタイマーを
構成しており、0〜524280μsまでの時間をカウ
ントする。このタイマーは端子403を通してク
ランク角カウンタ部61のクランク角パルスのリ
ーデイングエツジにより8bitラツチ209,21
0(例えばRCA社製CD4508B)にそのときの時
間(時刻)がラツチされる。ラツチされた時間は
CPU60から端子408を通して送られるタイ
マーREAD命令によりバツフア211,212さ
らにデータバツフア404を通じてCPU60に
転送される。フリツプフロツプ204,205は
端子403の信号のリーデイングエツジで2μs
の幅のラツチ用ストローブパルスを出力する。3
入力AND206は16bitタイマー207,208
のカウントアツプ時とタイムラツチ時が重なるの
を防ぐためのもので、カウンタ202のLSB出力
が“0”のときはラツチのタイミングを最大1μ
s遅らせている。 次に第6図を参考にして割込み制御部63を説
明する。まず端子403よりクランク角信号が入
る度にギア割込フラグ(D型フリツプフロツプ)
302が“1”にsetされ、インバータバツフア
306をへて端子444を通してCPU60に割
込み要求信号を出す。この割込みが受けつけられ
ると後述するギア割込処理プログラムにより端子
440を通してCPU60からギア割込フラグは
resetされる。同様にギア割込プログラム中にプ
ログラム割込ポートが“1”にsetされると端子
441を通じてプログラム割込フラグ(D型フリ
ツプフロツプ)301がsetされ、CPU60に割
込み要求を送る。このフラグもCPU60からの
命令により端子442を通じてresetされる。さ
らにタイマー部62の16bitタイマー207,2
08から端子415を通じて供給された8.192ms
のクロツクにより8ms割込みフラグ(D型フリツ
プフロツプ)がsetされ端子446によりCPU6
0に割込み要求が伝えられる。すなわちこの割込
みは8.192msごとに生じ、ソフトウエアのタイム
ベースとして使用される。この割込みもCPU6
0からの命令によりresetされる。 次にDMA制御部66を第7図、第10図に示
す。端子409,410,411,412,41
3はCPU60に対してプログラムの実行を一時
停止させるためのHOLD要求信号(端子437)
を作るためのもので第5図のタイマー部62から
の出力信号が入力される。タイマー部62の
16bitリアルタイムタイマー207,208のビ
ツト2(端子413)及びビルト3(端子41
2)がともに、“1”のときANDゲート603の
出力は“1”となる。すなわち第8図Oに示すよ
うな波形となる。同様に3入力AND605の出
力は第8図pに示される通りである。尚、618
〜622,644〜646はCMOS入力保護用の
抵抗である。本例に示すDMAは8チヤンネルを
もつており、約1msごとに全てのチヤンネルと
RAM70間のデタ転送を行なう。8チヤンネル
のうち最初の7チヤンネル(第8図OでCH0〜
6)はA/D変換されたデータの転送用であり最
後の1チヤンネル(CH7)は操作パネル17との
データ転送に用いられる。A/D変換データの場
合第8図Oで、最初の96μsecでA/D変換し次
の32μsecでデータ転送する。ANDゲート603
が“1”になると、操作パネル17から、コンピ
ユータへの外部HOLD要求信号がない場合(端子
727が“1”)、ANDゲート605の出力は
“0”(したがつて608の出力が“1”)となる
ため、レジスタ624(例えばTI社製74LS175)
のD入力が“1”となる。レジスタ624のCK
入力にはCPU60から3MHzのクロツクが端子4
26を通して供給されている。レジスタ624の
D入力が“1”に変化した直後はレジスタ624
のQ出力が“0”であるためANDゲート642
の出力が“0”、NANDゲート601の出力が
“1”となり、レジスタ624のCK入力に3MHz
クロツクがそのまま加わり、レジスタ624のD
入力が“1”に変化した次のクロツクで“1”が
レジスタ624にとりこまれQ出力は第8図qに
示すごとく“1”となる。624のQ出力が
“1”になると、ANDゲート642の出力が
“1”に変化し、トライステート出力のNANDゲ
ート643(例えばTI社製74LS38)の出力が
“0”となり、CPU60に対し、DMA開始のため
のHOLD要求信号(“0”)を出力する(第8図t
参照)。CPU60は端子431からのこのHOLD
要求信号をそのとき実行しているマシンサイクル
の終了後、受けつけ端子425にHOLDA信号
“1”を出力する第8図u。端子437が“0”
でHOLD要求信号が出力されていてHOLDA(端
子425)信号が“1”になるまではNANDゲー
ト601の出力が“0”の為、3MHzクロツク
(端子426)はレジスタ625のCK端子に供給
されない。HOLDAが“1”になるとレジスタ6
25のCK端子にクロツクが入力され、“1”がレ
ジスタ625に取りこまれ、Q出力は“1”とな
る。さらに次のクロツクでレジスタ626のQ出
力が“1”、その次のクロツクでレジスタ627
の出力が“0”となる。レジスタ627の出
力が“0”になるとNANDゲート643の出力は
ハイインピーダンスとなり、HOLD要求が解除さ
れ、DMAサイクルが完了する。HOLDA信号が
“1”になると、ANDゲート638が“1”とな
り、トライステート出力NANDゲート641の出
力が、HOLD要求信号()が“0”、
HOLDA信号が“1”期間中だけ“0”となり第
8図vに示すようにRAM70にメモリー使用選
択信号(、436)を出す。さらにレジ
スタ625のQ出力が“1”、レジスタ626の
出力が“1”の時だけ、ANDゲート639が
“1”となり、CH0〜CH6が選択されている間は
3入力ANDゲート605の出力は“0”である
から、インバータ612の出力は“1”であり、
トライステートNANDゲート640には第8図w
に示すようにメモリのRAM70へのWRITE信号
(、端子435)が出力される。またメモリ
ー使用選択信号が“0”の間は、NAND
ゲート628の出力、すなわちメモリーへの
READ信号(DBiN、端子431)は“0”であ
る。HOLDA信号が“1”の間(DMAサイクル
中)は、CPU60は停止しており、、
DBiN、等の制御ライン、アドレスバス、デ
ータバスのCPU側からのドライブは、“ハイイン
ピーダンス”状態にある。したがつてこの間は
DMA制御部66からRAM70に対して直接デー
タ転送を行なう。CH0〜CH6のA/D変換データ
の転送の場合、インバータ606の出力は“1”
であり、端子720、すなわちNANDゲート62
9の出力には第8図vのと同様な信号が
出力され、その信号は第9図のA/D変換データ
レジスタ518,519第10図のA/D変換ア
ドレスレジスタ530,531のストローブ入力
に加えられている。つまりが“0”の期
間、A/D変換されたデータはデータバス404
上に出力され、またCH0〜6に対応するアドレス
がアドレスバス440上に出力される。これらバ
ス上に出力されたデータは信号により、
RAM70に書き込まれる。操作パネル17から
の外部HOLD要求信号(端子427)がある
(“1”)場合にはCH0〜CH6のA/D変換DMAサ
イクルは行なわない。すなわち、NANDゲート6
07の出力が“0”となり、ANDゲート603
の出力が、“1”となつてもレジスタ624のD
入力は“0”の状態のままであるため、DMAサ
イクルは開始されない。次に操作パネル17と
RAM70とのデータ転送を行なうCH7はDMAサ
イクルを説明する。端子428はフロントパネル
からのR/信号―端子429はデータ転送要求
信号、端子430は連続READ信号、端子414
はタイマー部62から供給される約128msのクロ
ツク信号が入力される。まず操作パネル17から
RAM70へデータ書込み要求が生じた場合、端
子428,429,430は“0”となる。
ANDゲート605及び603の出力が“1”、
(第8図O,p)となりCH7のDMAサイクルが開
始される。レジスタ615,616により、端子
429の“1”から“0”への立ち下がりで幅
1.0msの正極性パルスがANDゲート617の出力
に一つ生じる。このパルスはNANDゲート609
で128μsの負極性パルスとなり、NANDゲート
608、AND604をへてレジスタ624のD
入力に32μsの正極性パルスとして入力される。
操作パネル17からRAM70へのWRITE要求の
場合、、HOLDA、、、DBiN
の各制御ラインは、前記A/D変換データの
DMAデータ転送とまつたく同様に駆動される。
(第8図t〜w)さらに操作(フロント)パネル
17に対し、RAM70に転送すべきアドレス、
データを格納しているレジスタの内容をそれぞれ
アドレスバス、データバス上に出力させる信号端
子434,432にが“0”の期間、第
8図xに示すように正極性のパルスを端子する。
操作パネル17からRAM70、ROM71に対す
るデータ読込み要求があつたときは、端子42
9,430が“0”、428が“1”となる。こ
の場合のDMAサイクルでか、コンピユータ制御
ラインのうち信号(端子435)はメモリ使
用選択信号(端子436)が“0”であ
る期間も“1”のままであるかわりに、ANDゲ
ート611の出力は“1”であるため、DBiN信
号(端子431)が“1”である。その他の制御
ライン、HOLDA、については、
前記A/D変換データの転送サイクル、フロント
パネル17からのデータ書込みサイクルと同様で
ある。連続READ信号(端子430)が“1”の
ときはNAND613の出力は128msのクロツクが
発生する。これはNANDゲート614により、
128msごとのフロントパネル17からRAN7
0、ROM71に対するデータ読込み要求と等価
なので、128msに1回、RAM70、ROM71か
らフロントパネル17へDMAデータ転送サイク
ルが前記のごとく生じる。尚、フロントパネル1
7よりのDAMサイクルは外部HOLD要求信号
(端子427)があつても実行される。 次にアナログ入力ポート65について第9図を
参照しながら説明する。各センサーの入力端子
(1〜3、19〜21)のすぐ後に接続された抵抗と
コンデンサのフイルター(500〜513)は、信号ラ
インに垂畳している雑音成分を除去するためのも
のである。6つのセンサ入力は8チヤンネルのマ
ルチプレクサ514(例えば、CD4051B)の入
力(C0〜C5)にそれぞれ接続され、そのうちの
1つの入力がアドレス入力A,B,Cのレベルに
より選択される。すなわち例えばA,B,Cが
“0”“0”“0”のときCO入力が選ばれ、“1”
“0”“0”のときC1入力が選ばれる。マルチプ
レクサ514のアドレス入力A,B,Cはレベル
コンバータ(例えばCD40109B)515をへて、
タイマー部62のリアルタイムタイマー207,
208に接続されている。したがつて128μs
ごとにCO→C1→C2…C0と選択されるチヤンネ
ルがスイツチされ、1つのチヤンネルは1msに1
回選択される。端子412もリアルタイムタイマ
ー207,208に接続されており、64μsのク
ロツクを発生する。すなわちマルチプレクサ51
4のアドレスがスイツチされると同時に端子41
2は“0”から“1”に立ち上がる。そのときイ
ンバータ520,524、NAND素子523、抵
抗521、コンデンサ522により数μsのA/
Dスタートパルスがが発生し、逐次比較型A/D
コンバータ517(例えばBur Brown社製
ADC80AG)のCONV.CMD端子に入力され、
A/D変換が始まる。マルチプレクサ514の出
力にはアドレス入力A,B,Cの値に応じて選択
された1つの入力がそのまま出力されオペアンプ
516(例えば日本電気製μPC151A)による電
流増幅後、A/Dコンバータ517のアナログ入
力端子に入力される。A/Dコンバータ517は
CONV.CMD端子に変換スタート信号が印加され
た後、約40μsかけて前記アナログ入力を12bit
デイジタルデータに変換し、B0〜B11に出力す
る。変換されたデイジタルデータは前記DMA制
御部66により、変換スタート信号印加後96μs
後に始まるDMAデータ転送サイクルでPAM70
の選択されたチヤンネルに対応するアドレスに
B0〜B11の12bitデータがバツフア518,51
9を通じて書き込まれる。 次に通電点火制御部69を第11図、第12図
及び第3図により詳述する。CPU60はクラン
ク角カウンタ部61からの情報及びクランク角信
号が入る度に生じる割込み(ギア割込み)によ
り、クランクシヤフトの現在位置を360+12=30
(℃A)の精度で認識している。プログラムによ
り計算された最適な通電時期、点火時期をどのよ
うにして実現するかを#1、4気筒について説明
する。#2、3気筒についても同様に説明でき
る。まず通電については最適通電角θを次式に示
すように分解する。 θ=θ1+θ2 τ=τ(θ2、N) (1) θ:通電角イル θ1:30℃A単位でCPUの認識できる通電
開始クランク角(0〜11×30℃A)すなわ
ち回転角センサー5の各ギア位置と対応 θ2:30℃A以下の端数 τ:30℃A以下の端数θ2をそのときの回転
数Nに基づき8μsの単位で時間に換算し
たもの。 そして、上式により算出されたギア位置θ1よ
り1つ手前のギア位置(θ1−1)で生じた前記
ギア割込みにおいてCPU60は第3図cの如く
#1、4コイル通電命令(端子453)及び通電
ダウンカウンタ値セツト命令(端子450)を出
力する。また端子450に印加されたパルスによ
り、そのとき同時にデータバス404にCPUか
ら出力されたτの内容が16bit通電ダウンカウン
タ900,901にセツトされる。900,90
1はそれぞれ8bitのダウンカウンタ(例えばRCA
社製CD40103B)で直列に接続して16bitダウンカ
ウンタを構成している。この16bitのダウンカウ
ント値は8μsの精度で0〜0.52428secの値が可
能である。したがつて3rpm程度の回転数までオ
ーバーフローなしに1義的にダウンカウントが可
能である。フリツプフロツプ909がセツトされ
ると出力は“0”となりNANDゲート910の
出力、すなわちD型フリツプフロツプ911のD
入力は“1”となる。フリツプフロツプ911の
CK(クロツク)入力は端子403を通してクラ
ンク角信号に接続されているので、#1、4コイ
ル通電命令及び通電ダウンカウンタ値セツト命令
の出力後、次のクランク角パルスでフリツプフロ
ツプ911はセツトされる。第3図dはフリツプ
フロツプ911のQ出力の信号波形を示す。フリ
ツプフロツプ911がセツトされると出力は
“0”となるのでダウンカウンタ900,901
はダウンカウント可能となり、又、4ビツト分周
器925のリセツト入力を解除するのでダウンカ
ウンタ900,901のCK入力にダウンカウン
ト用クロツクが供給され、ダウントが開始され
る。分周器925(例えばRCA社製CD4520B)
はタイマー部62の4bitダウンカウンタ202か
ら端子455により2μsのクロツクの供給を受
け、これを4分周して8μsのダウンカウントク
ロツクを発生させている。リアルタイムタイマー
207,208から直接8μsのクロツクを利用
していないのは、精度、特にτ=0、1のとき精
度を確実にするためである。さて16bitダウンカ
ウンタ900,901がダウンカウントを終了す
ると、その終了信号“0”がダウンカウンタ90
0のCO/ZD端子から出力されインバータ90
4、ANDゲート906、NANDゲート907、
NANDゲート915をへて、フリツプフロツプ9
09,911をリセツトし(第3図d参照)、さ
らにインバータ914をへてダウンカウンタ90
0,901をリセツトするのでCO/ZD端子は再
び“1”にもどる。したがつてANDゲート90
6の出力、すなわち端子456は第3図eに示す
ごとく、負極性のパルスとなる。又、フリツプフ
ロツプ911の出力は“1”となるのでダウン
カウンタ900,901のカウントはストツプ
し、カウントダウンクロツクの供給もストツプす
る。尚、ANDゲート906のもう一方の入力に
はダウンカウントクロツクをインバータ905で
反転したものが印加されており、ANDゲート9
06の出力はダウンカウント終了信号より4μs
遅れで“1”となる。これはカウントダウンクロ
ツク印加直後、ダウンカウント900のCO/ZD
端子に生じる可能性のある負極性のパルス
(200ns程度)による誤動作を防止するためのも
のである。ANDゲート906の出力パルスは端
子456を通して第12図のANDゲート93
3,935に加わる。今第11図のフリツプフロ
ツプ909のQ出力はR(リセツト)入力が
“1”に反転するまで“1”であり、第12図の
ANDゲート933の入力は端子457により、
フリツプフロツプ909のQ出力に接続されてい
るのでANDゲート933の出力には端子456
に印加されたパルスがそのまま生じ、#1、4コ
イル(コイルB)制御フリツプフロツプ938が
セツトされる。938の出力が“1”に変化す
ると、インバータバツフア939の出力は
“0”、したがつてトランジスタ942,947は
OFF、トランジスタ952はONとなり第1イグ
ナイタ80の入力端子とGND端子82間に電流
が流れ、#1、4気筒用のコイルは通電を開始す
る。尚ダイオード948,953はトランジスタ
保護用であり、抵抗940,941,943〜9
46,949〜951,954は点火ノイズの減
衰のためソリツド抵抗である。第11図のNAND
ゲート907の一方の入力は分周器925の2μ
sのクロツクを供給する端子に接続されている。
したがつてANDゲート906の出力が“1”に
変化しても、ダウンカウンタ900,901、フ
リツプフロツプ909,911のリセツトは2μ
sだけ遅れて実施される。これはフリツプフロツ
プ938のセツトパルスのパルス幅を確保するた
めである。点火角(時期)θBXについても(1)式
と同様に分解する。 θBX=θBX1+θBX2 (2) τx=τx(θBX2、N) θBX:#1、4コイル(コイルB)の点火
角 θBX1:30℃A単位でCPUの認識できる点火
クランク角、(0〜11×30℃A) θBX2:30℃A以下の端数 τx:30℃A以下の端数θBX2をそのときの
回転数Nに基づき8μsの単位で時間に換
算したもの。 (2)式で算出されたギア位置(θBX1)より1つ
手前のギア位置(θBX−1)にエンジンのクラ
ンクシヤフトが到達したとき生じる回転センサ5
(センサ51)のクランク角信号5bの立ち上が
りによるギア割込みでCPU60は点火命令(端
子454、第3図f)を出力し、16bit点火ダウ
ンカウンタ902,903にτxを設定する。ク
ランクシヤフト位置がθBX1に到達するとフリツ
プフロツプ922がセツトされる。16bitダウン
カウンタ902,903は8μsのクロツクでダ
ウンカウントを開始し、ダウンカウントが終了す
ると同時に第3図hに示すような正極性パルスが
端子459に生じる。第3図gはフリツプフロツ
プ922のQ出力の波形であり、ダウンカウント
中のみ“1”となる。第12図のデコーダ930
(例えばRCA社製CD4556B)のA、B入力はそれ
ぞれ第4図のクランク角カウンタ部61のカウン
タ125の上位2ビツト(ビツト2、3)に端子
405を介して接続されている。したがつてクラ
ンク角が0〜90℃A、270〜360℃Aのとき、
NANDゲート931の出力が“1”に、90〜270
℃AのときNアドレス982の出力が“1”とな
る。#1、4気筒の点火クランク角は通常290〜
360℃Aであり、#2、3気筒の点火クランク角
は110゜〜180℃Aである。したがつて点火につい
ては、CPUから識別信号がなくても、どちらの
コイルの点火命令かは上記のごとく、クランク角
がわかれば、特定できるわけである。さて今の場
合NANDゲート931の出力の方が“1”となり
ANDゲート934の出力に端子459からのパ
ルスが生じフリツプフロツプ938をリセツトし
出力は“1”に第3図iに示すように変化す
る。したがつてトランジスタ942,947が
ON、トランジスタ952がOFFとなり、第1イ
グナイタ80の入力端子とGND端子82間に流
れている電流は遮断され、#1、4気筒のうちい
ずれか圧縮工程にある気筒の点欠プラグに高圧が
発生し、点火が行なわれる。以上#1、4気筒用
のコイルBイグナイタ信号について説明したが
#2、3気筒用のコイルAイグナイタ信号につい
ても全く同様にして制御される。 次にEGRVSV駆動回路68について第13図
により詳細に説明する。CPU60が後述するそ
の内蔵プログラムによりEGR制御用のVSV12
をONすべきことを判断すると、端子470に
“0”を出力する。するとトランジスタ802,
806がONとなり、EGRVSV12の端子とバツ
テリーGND端子19間にコイル励磁電流が流れ
EGR制御用のVSV12はONとなる。逆にCPU6
0が端子470に“1”を出力すると、トランジ
スタ802,806がOFFとなり、EGRVSV1
2の端子とバツテリーGND端子19間には電流
は流れず、EGR制御用VSV12はOFFとなる。
エアーブリードVSV駆動回路67は第13図と
全く同様でCPU60からの“0”、“1”の出力
でエアーブリード制御用VSV15をON、OFF作
動させる。 以上で本発明の一例を示すシステムのハードウ
エアの説明を終了し以下制御アルゴリズムすなわ
ちソフトウエアを説明していく。 本例のシステムはそれぞれ優先順位をもつ3つ
割込みを持つ。それを第14図に示す。3つの割
込みは優先レベルの高い順にギア割込み、プログ
ラム割込み、8ms割込みである。メインルーチン
はこれら各割込みの処理中でないとき、実行され
る。吸入空気量Ga、水温Tw、吸気温Ta、ダイ
アフラム室圧PD、大気圧PA、バツテリー電圧V
BについてはA/D変換されたのち、それぞれ
1msに1回CPU60を数μs停止させ、その間に
あらかじめ定められたRAM70内のメモリーア
ドレスにDMA制御部66により直接転送され
る。したがつてプログラムはA/D変換には全く
関与せず、上記データが必要な時は所定のアドレ
スをアクセスするだけでよい。以下各プログラム
について順次説明する。まず割込みのない場合、
実行されるメインルーチンのフローチヤートを第
15図に示す。コンピユータ6の電源ON又はフ
ロントパネル17のRESETスイツチの押下によ
りメインルーチンが起動され、ステツプ1001でイ
ニシヤライズ、すなわちプログラムの初期化
(RAMのclear、パラメータに所定の値を設定、
各割込もの許可等)が実行される。次にステツプ
1002で第16図に詳細を示すベース処理が実行さ
れる。ベース処理ではA/D変換されたデータを
もとに冷却水温Tw、吸気温Taが一次元マツプか
ら線形補間計算され(ステツプ1020、1023)、ス
テツプ1021、1022で冷却水温Twから一次元マツ
プにより線形補間計算され、水温進角θTw、
EGRの水温補正係数KTwが算出される。さらに
ステツプ1026で加速進角係数…γAccが(3)式によ
り計算され γAcc=CAcc×(80−Tw) (3) CAcc:定数 求められる。ステツプ1024では同様に吸気温TA
からEGRの吸気温補正係数KTAが一次元マツプ
により線形補間計算され、ステツプ1025では大気
圧PAのA/D変換データからEGR大気圧補正係
数Kpが一次元マツプにより線形補間計算され
る。ベース処理実行後、メインルーチンは条件判
断ステツプ1003に進む。このステツプ1003ではフ
ラグf8が0かどうかを調べ、0ならベース処理ス
テツプ1002にもとり、0でなければステツプ1004
に進む。このブラグf8は第29図に示す8ms割込
みで1ずつ増加し、メインルーチンで8ms処理ス
テツプ1005を実行する毎に1つずつ減少する。し
たがつて8ms処理ステツプ1005は通常8ms毎に1
回実行される。8ms処理の詳細を第17図に示
す。ステツプ1030でA/D変換されたバツテリー
電圧VBから一次元マツプによる線形補間計算に
より要求通電時間τONが求められる。ステツプ
1031ではフラグf50が1ずつ増加される。8ms処理
ステツプ1005終了後、メインルーチンは判断ステ
ツプ1006に進む。ステツプ1006ではブラグf50が
6かそれ以上ならばステツプ1007に進み6減算さ
れ、続いて50ms処理ステツプ1008が実行され
る。f50が5以下ならステツプ1003にもどる。通
常50ms(正確には6×8.192=49.152ms)に1回
実行されるこの50ms処理ステツプ1008を第18
図に示す。ステツプ1040〜46は加速進角の演算を
示す。加速の検出は(4)式の △Ga/N=(Ga/N)0−(Ga/N)500−(4) Ga:吸入空気量、N:回転数 ように現在の(Ga/N)0と500ms前のデータ
(Ga/N)500の差をステツプ1040で求め、ステ
ツプ1041にてその差がある値C以上であるかどう
かにより加速の判定を行なう。加速と判定されれ
ば θAcc′=γAcc×△Ga/N (5) γAcc:(3)式参照 ステツプ1043において(5)式で新しい加速進角θAc
c′が計算される。加速進角θAccは、加速検出
後、1回転毎に一定角度ずつ(0.1〜1℃A)遅
角していく。したがつてステツプ1045で現在の加
速進角値θAccと加速検出により新たに計算され
た加速進角値θAcc′のうち大きい方を新しいθAcc
とする。又ステツプ1042にて減速を検出した場合
(ステツプ1042)θAccは直ちに0となる。ステツ
プ1047〜1051はEGR処理ステツプである。本例
に示すEGR制御法は前述のように第1図のEGR
第2バルブ9のダイアフラム室91圧を回転数N
と一回転あたりの吸入空気量Ga/Nにより定め
られる最適EGR率に対応する負圧に設定するこ
とにより、バルブ92のリストを制御し、最適
EGR率を得る方法である。ステツプ1047では最
適EGR率に対応する負圧Pdrfが(6)式により算出
される。 Pdref=A+KTw×KTa×Kp×(Pd・map―A)
―(6) Pdmap:(N、Ga/N)から三次元マツプに
より4点線形補間計算で求めた値(負圧) KTw:EGR水温補正係数(第16図参照) KTa:EGR吸気温補正係数(第16図参照) Kp:EGR大気圧補正係数(第16図参照) A:プリセツト圧、ダイアフラム室(第1図9
1)の圧力がスプリング98の反発力に抗
して弁92が動き始める臨界圧力。 さらにEGR第2バルブ9のダイアフラム室圧
(負圧)の現在値Pdrealはステツプ1048で(7)式に
より計算される。 Pdreal=PA−PD (7) PA:大気圧(絶対圧力) PD:ダイアフラム室圧(絶対圧力) 以下のステツプでは実際のダイアフラム室圧
Pdrealが最適制御値Pdrefに一致するよう第1図
のVSV12をON、OFF制する。すなわちステツ
プ1049で実際のダイアフラム室圧Pdrealが制御値
Pdrefより小さければEGR用VSV12をONに
し、レギユレートされたマニホールド負圧を導入
してPdrealを大きくし、逆にPdrealがPdrefより
大きくなるとVSVをOFFして、大気圧を導入し
Pdrealを小さくする。次にステツプ1052では(8)式
に従つてダイアフラム室圧PdrealからEGR進角
値θEGRが計算される。 θEGR=CθEGR×(Pdreal−A) (8) (ただしPdreal−A<0ならθEGR=0) CθEGR:定数 A:プリセツト圧 ステツプ1053以下は第1図のエアーブリード用
VSV15を制御するプログラムステツプを示
す。この場合EGR率が大きいほどVSV15の
OFF期間が長くなりエアーブリード14の空気
量が減少し、A/Fが小さくなるよう制御され
る。この場合ステツプ1053でエアーブリード用
VSV15のON―OFFの目標デユーテイ比Drefが
(9)式によりまず計算される。 Dref=CDREF×(Pdreal−A) (9) (ただしPdreal−A<0ならDref=0) CDREF:定数 A:プリセツト圧 RAM70の所定のアドレスに記憶される16bit
の記憶内容Hairの各bitは最上位ビツトから古い
順にエアーブリードVSVの過去16回のON
(“1”)OFF(“0”)の履歴を表わす。NONは過
去16回の履歴でON(“1”)の回数を表わす。し
たがつて現在のデユーテイ比Drealは判断ステツ
プ1057での今回の判断の期持値をON、OFFとも
1/2と仮定すると、ステツプ1056に示すように
計算できる。NONの最新値はHairを1bit左へシフ
トさせ最も古いビツトを調べ“1”のときは1減
算し、“0”のときはそのままとすればよい)(ス
テツプ1053〜1055)0EGRVSV12の制御の場合
と同様に、現在のデユーテイ比Pdrealが制御目標
値Drefより小さければエアーブリードVSV15
をONしてDrealを大きくし、(ステツプ1059)ス
テツプ1060でNONを1増加させ、Hairの最新ビ
ツトを1にしている。逆にDrealがDrefより大き
ければVSVをOFFしてDrealを小さくする。(ス
テツプ1058)0したがつてエンジンに供給される混
合気の空燃比はEGR量に応じて設定する値に制
御される。エアーブリードVSV15のON,OFF
デユーテイ比を算出し、VSVのON、OFFをCPU
で直接制御する本例では、ダウンカウンタ等を用
いてデユーテイ比を制御する通常の方式に比較し
て、ハードウエア(回路)が小規模となり応答性
も向上する。特に本例では過去16回の履歴から現
在のデユーデイ比を算出しており、デユーデイ比
計算のためのサンプルは50ms毎の計算について
常に最新値を用いており、たとえば800ms
(50ms×16)に1回だけ目標デユーデイ比を計算
し、それに基づくON、OFFのシーケンスを
50msごとに実行する方法に比して、応答性は格
段に優れている。以上でEGRに関連する処理プ
ログラムの説明を完了し、以下ギア割込み、プロ
グラム割込みについて説明する。 まずギア割込みについて第19図により説明す
る。ギア割込みは最も優先順位の高い割込みで最
優先に処理される。このギア割込みの起動は前述
の第6図に示す割込み制御部63の端子444か
らのクランク角パルスにより行なわれる。したが
つてギア割込みはTDCから30℃Aごとに起動さ
れる。起動されるとステツプ1100でギア割込みを
リセツト(第6図のフリツプフロツプ302のリ
セツト)し、第5図に示すタイマー部62で、ク
ランク角パルスによりリアルタイムタイマー20
7,208からレジスタ209,210にラツチ
されたラツプ値をCPU60に読み込む。この操
作によりCPU60はクランク角パルスの生じた
正確な時間が8μsの精度で検知でき、30℃A毎
のクランク位置の通過時刻が検知できる。さらに
第4図に示すクランク角カウンタ部61のクラン
ク角カウンタ125のREAD操作により、CPU
60は現在のクランク位置を30℃Aの精度で検知
できる。 ただし以下の述べるクランク位置の現在値と
は、これに1を加算したものである。ステツプ
1101は通電点火処理のための第1表に示す2つの
計算値ストレージテーブルiGT1,iGT2のうち
いずれか新しい方を選択するための判断ステツプ
である。フラグfTABが“0”ならばテーブル
iGT1、“0”でなければテーブルiGT2が最新
のテーブルであることを示す。
【表】
【表】
【表】
【表】
第1表にその内容を示す計算値ストレージテー
ブルiGTは後述するプログラム割込みで算出され
る。したがつてテーブルiGTの各データ更新中に
ギア割込みが生じる可能性があるため、テーブル
iGTはiGT1とiGT2の2セツト確保している。
テーブルiGT1による通電点火処理ステツプ1102
を第20,21図に示す。テーブルiGT2による
通電点火処理ステツプ1103も使用するデータがテ
ーブルiGT1の代わりにテーブルiGT2である以
外はステツプ1102と同等である。以下第20,2
1図を参照しながら通電点火処理を説明する。ま
ずステツプ1110でイグニツシヨンコイル7のうち
のコイルA(#2、3気筒用イグニツシヨンコイ
ル)の状態を調べる。コイルA状態SAは第2表
に示すコイル制御テーブルCCTの1つのフラグ
で“0”が通電前、“2”が通電中、“4”が点火
後を表わす。すなわち第3表に示す固定位置処理
ステツプ1104のギア位置11(コイルBのTDC
に対しATDC300℃A)でSAは“0”にコイルA
通電ON処理ステツプ1112で“2”にコイルA点
火処理ステツプ1123で“4”にセツトされる。コ
イルA状態SAが“0”で通電前の場合、後述の
プログラム割込みで計算された通電ギア位置の最
新値θ1とコイルA(#2、3気筒)のTDC
(上死点)に対する現在のギア位置ψAをステツプ
1111で比較し、ψA≧θ1ならばコイルA通電ON
処理ステツプ1112に進み、ψAが通電ギア位置に
まで達していないときは第21図のコイルBの処
理ルーチンに進む。コイルA通電ON処理ステツ
プ1112を第22図に示す。ステツプ1140でψA>
θ1かψA=θ1かを調べている。ψA>θ1が成
立するのは加速時、点火角θxが大きく進角した
時、バツテリー電圧が急激に低下した時等、通電
ギア位置の最新値が1つ前の値より早くなつた場
合である。このときは現在位置が通電すべき位置
を既に過ぎているのでステツプ1142、1144に示す
ごとく次のクランク角パルスですぐコイルAが通
電されるようステツプ1144で第11図の通電ダウ
ンカウンタ900,901に“0”がセツトさ
れ、ステツプ1145でコイルA通電命令が出力され
ている。ψA=θ1が成立した通常の場合はステ
ツプ1143に進み通電ダウンカウンタに計算値γを
セツトし、ステツプ1145でコイルA通電命令を出
力する。そうすると第11図の回路動作の説明で
前述したように次のクランク角パルスでスタート
するダウンカウント終了後、第3図iに示すごと
くコイルAイグナイタ信号は“1”→“0”に反
転する。ステツプ1141、1142で設定されるコイル
A通電角θAは最新の実際に通電を開始したクラ
ンク角を表わし、以下のステツプで使用される。
ステツプ1146で前述のコイルA状態SAが“2”
にセツトされる。さらにステツプ1113でコイルA
点火計算フラグfAが“0”にセツトされる。こ
のフラグfAは失火を防ぎ、通電ON時間を確保す
るために、プログラム割込みにおけるESA計算
ステツプで算出された点火角θxを実際に通電を
開始したクランク角θAで修正計算することを要
求するフラグである。修正計算の要求すなわちフ
ラグfAは上述の通電開始時と後述のESA計算の
実行直後に“0”にセツトされる。次にコイルA
状態SAが“2”すなわち通電中の場合はステツ
プ1114に進み、点火処理を行うギア位置かどうか
を判定する。点火進角は必ずBTDC0〜70℃Aの
範囲内であるのでコイルA点火処理はギア位置9
〜11(すなわち#2、3気筒TDCを0℃Aとす
るとBTDC30゜、60゜、90℃A)のみで行なえば
よい。したがつて本例ではθOFF=9である。ス
テツプ1114でコイルA現在位置ψAがψA≧θOFF
を満足すればステツプ1115に、さもなければ第2
1図のコイルBの処理ルーチンに進む。ステツプ
1115でコイルA点火計算フラグfAが“0”なら
ば前述の点火角θxの修正計算が実行される。ま
ずステツプ1116で実際の通電角θAとプログラム
割込みで計算された許容最小ドウエル角(エンジ
ンの正常燃焼に必要とされる最小限の通電時間を
そのときの回転数に基ずきクランク角に換算した
もの)θ′ONから、通電時間からみた許容最大進
角点火角がθAxとして計算される。この値とプ
ログラム割込みのESA計算ステツプで算出され
た最適点火角θxがステツプ1119で比較され、θ
x≦θAxならばθAxが、θx>θAxならばθ
xが改めて実際のコイルA制御点火角θAxとし
て第2表に示されるコイル制御テーブルCCTに
書き込まれる。つまり失火を防ぐことを最優先と
し、点火進角の最新値が進角しすぎた場合(点火
進角の最新値θxが許容点火角θAxより先行す
る場合)には、通電時間を確保するため、ステツ
プ1116で計算したθAxを進角の上限としてい
る。ただしステツプ1117、1118に示すように上死
点(TDC)以後に最大許容進角点火角がくる場
合には、上死点(θMAx=360℃A)を実際の点
火角θAxにしている。一般にコンピユータでク
ランク角に同期して計算し点火時期を制する場
合、従来の方法では1回の通電点火計算で1回以
上の通電、点火を制御し、通電点火計算で同時に
算出された通電ON時期、点火時期がそのまま実
際の制御に採用され、通電中にさらに通電点火計
算によつて新しい点火時期が計算されることはな
かつた。しかし、コンピユータの高速化に伴い特
に低回転では1点火について2回以上の通電点火
計算を起動し、そのうちで最新の計算値を採用す
ることも可能になつてきた。回転数が600〜
6000rpmと1桁変動する実際の自動車用エンジン
等の制御の場合、従来、高回転時の通電点火計算
の計算時間の制約から早めに通電点火計算が起動
されていたことを考慮すれば、1点火に対し何回
も通電点火計算を起動し、そのうちで実際の制御
に間に合う最新の計算値を採用する方法は、加速
時の過渡応答性を格段に改善し、ドライバビリテ
イの向上に寄与する。本例ではクランク一回転で
4回通電点火計算が起動されているが、より高速
のコンピユータを用いればクランク角パルスが生
ずる30℃A毎に計算を実行することも可能とな
る。本例には触れてないが通電点火計算をクラン
ク角同期ではなく時間同期(例えば本例の8ms処
理ステツプ)又はメインルーチン等で行なう方法
(フオードのEEC等)でも第20図のステツプ
1116〜1121に示す実際の点火時期の再計算が必要
となる。特に本例のようにダブルコイル方式を採
用し、通電ON時期を、通常のシングルコイル方
式(0〜180℃A)に比して2倍(0〜360℃A)
早めに設定できる場合はそのメリツト活用のた
め、通電ON時期と点火時期が大きく離れる可能
性があり、失火等通電時間に起因する異常燃焼を
軽減するためには、上述の点火時期の再調整は不
可欠である。ステツプ1121では実際のコイルA制
御点火角θAxから制御点火ギア位置θAx1を(2)式
により算出し、コイルA点火計算フラグfAを
“1”にもどす。 次にステツプ1122に進む。ステツプ1115でfA
が“0”でなければ直接このステツプ1122にプロ
グラムは移る。ステツプ1122ではコイルA制御点
火ギア位置θAx1と現在のギア位置ψAが比較され
る。ψA≧θAx1ならばコイルA点火処理ステツプ
1123に進み、ψA<θAx1ならばなにもせず、第2
1図のコイルBの処理ルーチンに進む。ステツプ
1123の詳細フローチヤートを第24図に示す。第
24図は第22図とほぼ同様で、まずステツプ
1160でψA>θAx1かψA=θAx1かを調べている。
ψA>θAx1が成立するのはこのギア割込みの直前
にESA計算ステツプが終了し、新しい点火時期
の値が使用可能となり、かつ前の計算値に比して
新しい計算値が進角した場合である。この場合現
在位置が点火すべきギア位置を通りすぎているの
で、ステツプ1162、1163で第11図に示す通電点
火制御部69の点火ダウンカウンタ902,90
3に“0”をセツトされ、ステツプ1164で点火命
令が出力されるので、次のクランク角信号で直ち
にコイルA点火信号がイグナイタ8の第2イグナ
イタ81に送られる。ψA=θAx1の場合は通電点
火制御部69の点火ダウンカウンタ902,90
3にセツトされる点火ダウンカウンタ値τxは(2)
式すなわち(2A)式によりステツプ1161で算出
される。τxは前述のように隣り合う τx=τx(θAx−θAx1) (2A) θAx:コイルA制御点火角 θAx1:コイルA制御点火ギア位置 ギア位置の間(間隔30℃A)の任意の点を小さい
方のギア位置からの所要時間で表わしたものであ
る。ステツプ1163でτxを点火ダウンカウンタに
セツトし、ステツプ1164でコイルA点火命令を出
力する。その結果前述のように点火命令出力後の
次のクランク角パルスでダウンカウントがスター
トし、ダウンカウントを終了すると第3図iに示
すようにコイルAイグナイタ信号が“1”→
“0”に反転し点火が起こる。次にステツプ1165
でコイルA状態SAが“4”にセツトされ、コイ
ルA点火処理ステツプは完了する。以上でコイル
Aの処理ルーチンの解説を終了し、第21図に示
すコイルBの処理ルーチンに移る。コイルBの処
理ルーチンもコイルAの処理ルーチンと全く同様
である。ギアの現在位置ψBは#1、4気筒(コ
イルB)のTDCを基準としたものであるので、
現在位置ψAとは180℃Aずれており(10)式が成立す
る。 ψB=ψA+6(mod12) (10) コイルBの通電ON処理ステツプを第23図
に、点火処理ステツプを第25図に示す。以上で
ギア割込みにおける通電点火処理ステツプ1102、
1103の説明を終え、次に固定位置処理ステツプ1
104を説明する。前述の第3表にその内容を示
す固定位置処理ルーチンは、回転数の計算、プロ
グラム割込みの起動、点火遅延角θDLY、加速進
角θAccの計算を行なう。第8表に示すギア位置
はステツプ1100のクランク角カウンタのREAD操
作から求められ、通電点火処理ルーチンのψBそ
のものである。クランク角パルスは30℃A毎につ
まりクランクシヤフト1回転につき12パルス発生
するのでψBは0〜11の値をとる。このψBの値に
より、第3表に示すさまざまな処理が実行され
る。まずギア位置“0”(#1、4気筒のTDC)
及び“6”(#2、3気筒のTDC)では平均回転
時間τm(60℃Aの回転時間)が後述の過去2回
の30℃Aの回転時間の加算で求められる。このτ
mから点火遅延角θDLYが(11)式により求められ
る。これはイグナイタによる点火信号の遅れをク
ランク角度に換算したものである。 θDLY=tDLY/τm (11) tDLY:イグナイタによる点火信号の遅れ時間
(40〜100μs) さらに第18図の50ms処理で算出された加速
進角θAccは半回転ごとに一定角度(0.05〜0.5℃
A)ずつ減算すなわち遅角していく。本例では回
転数の算出は30℃A間の回転に要する時間τNを
もとに行なつている。計測区間は第3表に示すよ
うにψB=1〜2(30〜60℃A)、ψB=4〜5
(120〜150℃A)、ψB=7〜8(210〜240℃A)、
ψB=10〜11(300〜330℃A)の1回転4区間で
ある。ただし( )内は#1、4気筒のTDCを
0℃Aとしたときのクランク角を表わす。本例の
計測方法を30〜60℃Aの回転時間計測を例として
以下に説明する。ギア位置30℃A及び60℃Aの通
過時間t30、t60は第19図に示すギア割込みの最
初のステツプ1100のタイマーラツチREADで求め
られる。したがつて回転時間τNは(12)式で求めら
れる。しかしながら通常の回転数計測 τN=t60−t30(単位:8μs) …(12) 方法ではギア位置30℃Aのクランク角パルスで回
転時間計測タイマーをリセツト、スタートさせ、
60℃Aのクランク角パルスでタイマーをストツプ
させ、同時に起動された回転数計測ルーチンでタ
イマーの内容をCPUに読み込むのが一般的であ
る。この方法を6気筒エンジンに適用した1例を
第30図に示す。第30図の例では120℃Aの回
転時間計測を行なつているのでタイマーレジスタ
を2個必要としている。またリセツト、スター
ト、ストツプの制御回路及び、タイマーレジスタ
1,2の切換回路が必要となる。これに対し本実
施例のように1つのリアルタイムタイマーをも
ち、クランク角パルスで、そのときのタイマーの
値をレジスタにラツチする方法を第30図に適用
すれば、0、120、240℃Aの各ラツチされた値間
の減算で回転時間が計測でき、回路が非常に簡単
となる。特に1点火に対し何回も通電点火計算を
行なう場合、通電点火計算ごとに最新の回転数を
用いて計算を行なう必要性から、回転数の計測区
間がたとえば0〜120℃A、60〜180℃A等のよう
にオーバーラツプする可能性がある。というの
は、エンジンの燃焼サイクルによる回転変動の影
響を最小限にするため回転数の計測区間はあまり
短くできないためである。この場合、第30図に
示すようなタイマーレジスタのスタート、ストツ
プによる回転時間計測の方法を採用すると、タイ
マーレジスタの数が多くなり、かつ切換えの回路
が非常に複雑になる。これに対し本実施例に示す
方法を採用すれば、回路的には本実施例と全く同
一の回路そのままで実現でき、プログラムによる
減算が増加するだけという大きな利点をもつ。 固定位置処理のもう一つの機能としてプログラ
ム割込みの起動が実行される。これはESA計算
すなわち通電点火計算を行なうルーチンで第3表
に示すようにギア位置“2”(ψE=60℃A)、
“5”(ψB=150℃A)、“8”(ψB=240℃A)、
“11”(ψB=330℃A)のときすなわち回転数計測
終了直後起動される。起動は第6図に示す割込み
制御部63のフリツプフロツプ301を端子44
1からの信号でセツトすることにより実現され、
プログラム割込要求信号(端子445)が“0”
となる。プログラム割込みの優先順位はギア割込
みの次なので、第19図のギア割込み処理ルーチ
ンの終了後直ちにプログラム割込みがかかり、
ESA計算等が実行される。以上ギア割込みの処
理ルーチンを説明したが、この割込みはその性格
上、クランク角パルスの幅(30℃A)内で処理を
終了する必要がある。というのは処理が停滞する
と正確なギア位置が失なわれるからである。した
がつて処理時間は、実用上最も厳しい回転数
6000rpmの30℃Aすなわち約800μs以内に押え
なければならない。 最後にプログラム割込み処理ルーチンを第26
図に示す。このプログラム割込み処理ルーチンは
本来ギア割込みで処理すべきプログラムである。
なぜなら通電点火計算の最も主要なパラメータで
ある回転数Nの計測はギア割込みで行なわれ回転
数計測直後のステツプで通電点火計算を開始すれ
ば、最も制御の応答性がよくなる。しかしながら
このプログラム割込み処理ルーチンは実行に最大
約1.5ms程度必要である。したがつて前述のよう
にギア割込みの許容処理時間が800μsであるの
で、プログラム割込み処理ルーチンをギア割込み
処理ルーチンに包含させることはできない。現
在、コンピユータの処理速度は着実に高速になつ
ているので通電点火計算の処理時間も短くなるこ
とが期待される。しかし同時に、点火時期のより
正確な制御のため、クランク角の位置信号(クラ
ンク角パルス)は増加する傾向にあり、それに伴
なつてギア割込みの許容処理時間も短くなる可能
性がある。又、エンジン制御の多様化、密化の傾
向から制御内容が複雑になり、その結果処理時間
が長くなる傾向がある。したがつて特に本例のよ
うにCPUから、命令を出力し、次のクランク角
パルスでダウンカウントを開始するという制御方
法を採用した場合、ギア割込みで処理すべき内容
が多くなり、それに伴なつて処理時間も増加する
ので、プログラム割込みは不可欠となる。一方プ
ログラム割込み以外の下位レベルのルーチンたと
えばメインルーチンで通電点火計算を処理する方
法もあるが、この方法では前述のようにギア割込
みで計測された回転数Nの反映が遅れ、点火シス
テムの応答性が悪化する。以下、第26図によ
り、プログラム割込みの処理ルーチンを説明して
いく。まずステツプ1200では第6図に示す割込み
制御部63の端子442にリセツト信号を印加
し、フリツプフロツプ301をリセツトし、プロ
グラム割込み要求信号端子445を“1”にもど
す。次にステツプ1201に進み、処理識別フラグ
PiPを調べ、“0”すなわち前回のプログラム割
込みでQ2処理を実行していればステツプ1202
に、“1”すなわちQ1処理を実行していればステ
ツプ1204に進む。ステツプ1202、1204ではそれぞ
れQ1処理フラグfQ1とQ2処理フラグfQ2が調べら
れ、“1”ならばそれぞれQ1処理ステツプ1203、
Q2処理ステツプ1205に進み、“0”ならばプログ
ラム割込み処理ルーチンを完了する。Q1処理フ
ラグfQ1は第3表のギア割込みのうちの固定位置
処理でギア位置“2”(ψB=60℃A)、“8”(ψB
=240℃A)で“1”にセツトされ、Q1処理ステ
ツプ1203の実行で“0”にリセツトされる。Q2
処理フラグfQ2はギア位置“5”(ψB=150℃
A)“11”(ψB=330℃A)で“1”にセツトさ
れ、Q2処理1205の実行で、“0”にリセツトされ
る。Q1処理ステツプ1203、Q2処理ステツプ1205
の内容を第27図に示す。Q2処理の場合、ステ
ツプ1211以降の通電点火計算は低回転たとえば
4000rpm以下で実行される。すなわちステツプ
1220でギア割込みで計算された平均回転時間γm
とtH(4000rpm相当の30℃A回転時間)が比較
され、低回転領域、γm≧tHのときはステツプ
1211に進み、以下通電点火計算が実行され、低回
転領域γm<tHのときは、計算は実行せずQ2処
理を終わる。ステツプ1211では前述のギア割込み
の固定位置処理で説明した、クランク角パルスの
通過時間から回転数Nが求められる。ギア位置
“2”(ψB=60℃A)起動のQ1処理の場合Nは(12)
式で求めたγNの逆数から(18)式により求められ
る。 N=8/γN×30/360×60×106(rpm) (13) (tNの単位は8μs) 次にステツプ1212で第1図に示すスタータース
イツチ23からの信号を調べ“ON”ならば固定
の値θcRを点火角θxに入れ“OFF”ならばス
テツプ1213に進み、回転数NとDMA手法を用い
てRAM70の所定の番地の書き込まれた吸入空
気量Gaとから一回転あたりの吸入空気量Ga/N
を求める。ステツプ1214においては、ROM71
内に格納した回転数Nと吸入空気量Ga/Nに対
応して与えられる基本進向θMAPを表わすマツプ
から、ステツプ1211、1213で求めた(N、Ga/
N)について下記(14):(15)式を満たすマツプ上
の4点の値θMAP1=(N1、(Ga/N)1)、θMAP2
=(N1、(Ga/N)2)、θMAP3=(N2、(Ga/N)
1)、θMAP4=(N2、(Ga/N)2)をまず読み取
る。この実施例では基本進角を表わすマツプは第
4表のようにGa/Nについては0.001(g/cm2.
rpm)から0.016(g/cm2.rpm)まで0.001
(g/cm2.rpm)きざみにて、又Nについては500
(rpm)から1000(rpm)までは100(rpm)きざ
みに1000(rpm)から6000(rpm)までは500
(rpm)きざみにて基本進角を表わすデータが格
納(第4表では詳細な値は省略)してある)され
ており、(16×16=)256ポイントの二次元マツプ
である。
ブルiGTは後述するプログラム割込みで算出され
る。したがつてテーブルiGTの各データ更新中に
ギア割込みが生じる可能性があるため、テーブル
iGTはiGT1とiGT2の2セツト確保している。
テーブルiGT1による通電点火処理ステツプ1102
を第20,21図に示す。テーブルiGT2による
通電点火処理ステツプ1103も使用するデータがテ
ーブルiGT1の代わりにテーブルiGT2である以
外はステツプ1102と同等である。以下第20,2
1図を参照しながら通電点火処理を説明する。ま
ずステツプ1110でイグニツシヨンコイル7のうち
のコイルA(#2、3気筒用イグニツシヨンコイ
ル)の状態を調べる。コイルA状態SAは第2表
に示すコイル制御テーブルCCTの1つのフラグ
で“0”が通電前、“2”が通電中、“4”が点火
後を表わす。すなわち第3表に示す固定位置処理
ステツプ1104のギア位置11(コイルBのTDC
に対しATDC300℃A)でSAは“0”にコイルA
通電ON処理ステツプ1112で“2”にコイルA点
火処理ステツプ1123で“4”にセツトされる。コ
イルA状態SAが“0”で通電前の場合、後述の
プログラム割込みで計算された通電ギア位置の最
新値θ1とコイルA(#2、3気筒)のTDC
(上死点)に対する現在のギア位置ψAをステツプ
1111で比較し、ψA≧θ1ならばコイルA通電ON
処理ステツプ1112に進み、ψAが通電ギア位置に
まで達していないときは第21図のコイルBの処
理ルーチンに進む。コイルA通電ON処理ステツ
プ1112を第22図に示す。ステツプ1140でψA>
θ1かψA=θ1かを調べている。ψA>θ1が成
立するのは加速時、点火角θxが大きく進角した
時、バツテリー電圧が急激に低下した時等、通電
ギア位置の最新値が1つ前の値より早くなつた場
合である。このときは現在位置が通電すべき位置
を既に過ぎているのでステツプ1142、1144に示す
ごとく次のクランク角パルスですぐコイルAが通
電されるようステツプ1144で第11図の通電ダウ
ンカウンタ900,901に“0”がセツトさ
れ、ステツプ1145でコイルA通電命令が出力され
ている。ψA=θ1が成立した通常の場合はステ
ツプ1143に進み通電ダウンカウンタに計算値γを
セツトし、ステツプ1145でコイルA通電命令を出
力する。そうすると第11図の回路動作の説明で
前述したように次のクランク角パルスでスタート
するダウンカウント終了後、第3図iに示すごと
くコイルAイグナイタ信号は“1”→“0”に反
転する。ステツプ1141、1142で設定されるコイル
A通電角θAは最新の実際に通電を開始したクラ
ンク角を表わし、以下のステツプで使用される。
ステツプ1146で前述のコイルA状態SAが“2”
にセツトされる。さらにステツプ1113でコイルA
点火計算フラグfAが“0”にセツトされる。こ
のフラグfAは失火を防ぎ、通電ON時間を確保す
るために、プログラム割込みにおけるESA計算
ステツプで算出された点火角θxを実際に通電を
開始したクランク角θAで修正計算することを要
求するフラグである。修正計算の要求すなわちフ
ラグfAは上述の通電開始時と後述のESA計算の
実行直後に“0”にセツトされる。次にコイルA
状態SAが“2”すなわち通電中の場合はステツ
プ1114に進み、点火処理を行うギア位置かどうか
を判定する。点火進角は必ずBTDC0〜70℃Aの
範囲内であるのでコイルA点火処理はギア位置9
〜11(すなわち#2、3気筒TDCを0℃Aとす
るとBTDC30゜、60゜、90℃A)のみで行なえば
よい。したがつて本例ではθOFF=9である。ス
テツプ1114でコイルA現在位置ψAがψA≧θOFF
を満足すればステツプ1115に、さもなければ第2
1図のコイルBの処理ルーチンに進む。ステツプ
1115でコイルA点火計算フラグfAが“0”なら
ば前述の点火角θxの修正計算が実行される。ま
ずステツプ1116で実際の通電角θAとプログラム
割込みで計算された許容最小ドウエル角(エンジ
ンの正常燃焼に必要とされる最小限の通電時間を
そのときの回転数に基ずきクランク角に換算した
もの)θ′ONから、通電時間からみた許容最大進
角点火角がθAxとして計算される。この値とプ
ログラム割込みのESA計算ステツプで算出され
た最適点火角θxがステツプ1119で比較され、θ
x≦θAxならばθAxが、θx>θAxならばθ
xが改めて実際のコイルA制御点火角θAxとし
て第2表に示されるコイル制御テーブルCCTに
書き込まれる。つまり失火を防ぐことを最優先と
し、点火進角の最新値が進角しすぎた場合(点火
進角の最新値θxが許容点火角θAxより先行す
る場合)には、通電時間を確保するため、ステツ
プ1116で計算したθAxを進角の上限としてい
る。ただしステツプ1117、1118に示すように上死
点(TDC)以後に最大許容進角点火角がくる場
合には、上死点(θMAx=360℃A)を実際の点
火角θAxにしている。一般にコンピユータでク
ランク角に同期して計算し点火時期を制する場
合、従来の方法では1回の通電点火計算で1回以
上の通電、点火を制御し、通電点火計算で同時に
算出された通電ON時期、点火時期がそのまま実
際の制御に採用され、通電中にさらに通電点火計
算によつて新しい点火時期が計算されることはな
かつた。しかし、コンピユータの高速化に伴い特
に低回転では1点火について2回以上の通電点火
計算を起動し、そのうちで最新の計算値を採用す
ることも可能になつてきた。回転数が600〜
6000rpmと1桁変動する実際の自動車用エンジン
等の制御の場合、従来、高回転時の通電点火計算
の計算時間の制約から早めに通電点火計算が起動
されていたことを考慮すれば、1点火に対し何回
も通電点火計算を起動し、そのうちで実際の制御
に間に合う最新の計算値を採用する方法は、加速
時の過渡応答性を格段に改善し、ドライバビリテ
イの向上に寄与する。本例ではクランク一回転で
4回通電点火計算が起動されているが、より高速
のコンピユータを用いればクランク角パルスが生
ずる30℃A毎に計算を実行することも可能とな
る。本例には触れてないが通電点火計算をクラン
ク角同期ではなく時間同期(例えば本例の8ms処
理ステツプ)又はメインルーチン等で行なう方法
(フオードのEEC等)でも第20図のステツプ
1116〜1121に示す実際の点火時期の再計算が必要
となる。特に本例のようにダブルコイル方式を採
用し、通電ON時期を、通常のシングルコイル方
式(0〜180℃A)に比して2倍(0〜360℃A)
早めに設定できる場合はそのメリツト活用のた
め、通電ON時期と点火時期が大きく離れる可能
性があり、失火等通電時間に起因する異常燃焼を
軽減するためには、上述の点火時期の再調整は不
可欠である。ステツプ1121では実際のコイルA制
御点火角θAxから制御点火ギア位置θAx1を(2)式
により算出し、コイルA点火計算フラグfAを
“1”にもどす。 次にステツプ1122に進む。ステツプ1115でfA
が“0”でなければ直接このステツプ1122にプロ
グラムは移る。ステツプ1122ではコイルA制御点
火ギア位置θAx1と現在のギア位置ψAが比較され
る。ψA≧θAx1ならばコイルA点火処理ステツプ
1123に進み、ψA<θAx1ならばなにもせず、第2
1図のコイルBの処理ルーチンに進む。ステツプ
1123の詳細フローチヤートを第24図に示す。第
24図は第22図とほぼ同様で、まずステツプ
1160でψA>θAx1かψA=θAx1かを調べている。
ψA>θAx1が成立するのはこのギア割込みの直前
にESA計算ステツプが終了し、新しい点火時期
の値が使用可能となり、かつ前の計算値に比して
新しい計算値が進角した場合である。この場合現
在位置が点火すべきギア位置を通りすぎているの
で、ステツプ1162、1163で第11図に示す通電点
火制御部69の点火ダウンカウンタ902,90
3に“0”をセツトされ、ステツプ1164で点火命
令が出力されるので、次のクランク角信号で直ち
にコイルA点火信号がイグナイタ8の第2イグナ
イタ81に送られる。ψA=θAx1の場合は通電点
火制御部69の点火ダウンカウンタ902,90
3にセツトされる点火ダウンカウンタ値τxは(2)
式すなわち(2A)式によりステツプ1161で算出
される。τxは前述のように隣り合う τx=τx(θAx−θAx1) (2A) θAx:コイルA制御点火角 θAx1:コイルA制御点火ギア位置 ギア位置の間(間隔30℃A)の任意の点を小さい
方のギア位置からの所要時間で表わしたものであ
る。ステツプ1163でτxを点火ダウンカウンタに
セツトし、ステツプ1164でコイルA点火命令を出
力する。その結果前述のように点火命令出力後の
次のクランク角パルスでダウンカウントがスター
トし、ダウンカウントを終了すると第3図iに示
すようにコイルAイグナイタ信号が“1”→
“0”に反転し点火が起こる。次にステツプ1165
でコイルA状態SAが“4”にセツトされ、コイ
ルA点火処理ステツプは完了する。以上でコイル
Aの処理ルーチンの解説を終了し、第21図に示
すコイルBの処理ルーチンに移る。コイルBの処
理ルーチンもコイルAの処理ルーチンと全く同様
である。ギアの現在位置ψBは#1、4気筒(コ
イルB)のTDCを基準としたものであるので、
現在位置ψAとは180℃Aずれており(10)式が成立す
る。 ψB=ψA+6(mod12) (10) コイルBの通電ON処理ステツプを第23図
に、点火処理ステツプを第25図に示す。以上で
ギア割込みにおける通電点火処理ステツプ1102、
1103の説明を終え、次に固定位置処理ステツプ1
104を説明する。前述の第3表にその内容を示
す固定位置処理ルーチンは、回転数の計算、プロ
グラム割込みの起動、点火遅延角θDLY、加速進
角θAccの計算を行なう。第8表に示すギア位置
はステツプ1100のクランク角カウンタのREAD操
作から求められ、通電点火処理ルーチンのψBそ
のものである。クランク角パルスは30℃A毎につ
まりクランクシヤフト1回転につき12パルス発生
するのでψBは0〜11の値をとる。このψBの値に
より、第3表に示すさまざまな処理が実行され
る。まずギア位置“0”(#1、4気筒のTDC)
及び“6”(#2、3気筒のTDC)では平均回転
時間τm(60℃Aの回転時間)が後述の過去2回
の30℃Aの回転時間の加算で求められる。このτ
mから点火遅延角θDLYが(11)式により求められ
る。これはイグナイタによる点火信号の遅れをク
ランク角度に換算したものである。 θDLY=tDLY/τm (11) tDLY:イグナイタによる点火信号の遅れ時間
(40〜100μs) さらに第18図の50ms処理で算出された加速
進角θAccは半回転ごとに一定角度(0.05〜0.5℃
A)ずつ減算すなわち遅角していく。本例では回
転数の算出は30℃A間の回転に要する時間τNを
もとに行なつている。計測区間は第3表に示すよ
うにψB=1〜2(30〜60℃A)、ψB=4〜5
(120〜150℃A)、ψB=7〜8(210〜240℃A)、
ψB=10〜11(300〜330℃A)の1回転4区間で
ある。ただし( )内は#1、4気筒のTDCを
0℃Aとしたときのクランク角を表わす。本例の
計測方法を30〜60℃Aの回転時間計測を例として
以下に説明する。ギア位置30℃A及び60℃Aの通
過時間t30、t60は第19図に示すギア割込みの最
初のステツプ1100のタイマーラツチREADで求め
られる。したがつて回転時間τNは(12)式で求めら
れる。しかしながら通常の回転数計測 τN=t60−t30(単位:8μs) …(12) 方法ではギア位置30℃Aのクランク角パルスで回
転時間計測タイマーをリセツト、スタートさせ、
60℃Aのクランク角パルスでタイマーをストツプ
させ、同時に起動された回転数計測ルーチンでタ
イマーの内容をCPUに読み込むのが一般的であ
る。この方法を6気筒エンジンに適用した1例を
第30図に示す。第30図の例では120℃Aの回
転時間計測を行なつているのでタイマーレジスタ
を2個必要としている。またリセツト、スター
ト、ストツプの制御回路及び、タイマーレジスタ
1,2の切換回路が必要となる。これに対し本実
施例のように1つのリアルタイムタイマーをも
ち、クランク角パルスで、そのときのタイマーの
値をレジスタにラツチする方法を第30図に適用
すれば、0、120、240℃Aの各ラツチされた値間
の減算で回転時間が計測でき、回路が非常に簡単
となる。特に1点火に対し何回も通電点火計算を
行なう場合、通電点火計算ごとに最新の回転数を
用いて計算を行なう必要性から、回転数の計測区
間がたとえば0〜120℃A、60〜180℃A等のよう
にオーバーラツプする可能性がある。というの
は、エンジンの燃焼サイクルによる回転変動の影
響を最小限にするため回転数の計測区間はあまり
短くできないためである。この場合、第30図に
示すようなタイマーレジスタのスタート、ストツ
プによる回転時間計測の方法を採用すると、タイ
マーレジスタの数が多くなり、かつ切換えの回路
が非常に複雑になる。これに対し本実施例に示す
方法を採用すれば、回路的には本実施例と全く同
一の回路そのままで実現でき、プログラムによる
減算が増加するだけという大きな利点をもつ。 固定位置処理のもう一つの機能としてプログラ
ム割込みの起動が実行される。これはESA計算
すなわち通電点火計算を行なうルーチンで第3表
に示すようにギア位置“2”(ψE=60℃A)、
“5”(ψB=150℃A)、“8”(ψB=240℃A)、
“11”(ψB=330℃A)のときすなわち回転数計測
終了直後起動される。起動は第6図に示す割込み
制御部63のフリツプフロツプ301を端子44
1からの信号でセツトすることにより実現され、
プログラム割込要求信号(端子445)が“0”
となる。プログラム割込みの優先順位はギア割込
みの次なので、第19図のギア割込み処理ルーチ
ンの終了後直ちにプログラム割込みがかかり、
ESA計算等が実行される。以上ギア割込みの処
理ルーチンを説明したが、この割込みはその性格
上、クランク角パルスの幅(30℃A)内で処理を
終了する必要がある。というのは処理が停滞する
と正確なギア位置が失なわれるからである。した
がつて処理時間は、実用上最も厳しい回転数
6000rpmの30℃Aすなわち約800μs以内に押え
なければならない。 最後にプログラム割込み処理ルーチンを第26
図に示す。このプログラム割込み処理ルーチンは
本来ギア割込みで処理すべきプログラムである。
なぜなら通電点火計算の最も主要なパラメータで
ある回転数Nの計測はギア割込みで行なわれ回転
数計測直後のステツプで通電点火計算を開始すれ
ば、最も制御の応答性がよくなる。しかしながら
このプログラム割込み処理ルーチンは実行に最大
約1.5ms程度必要である。したがつて前述のよう
にギア割込みの許容処理時間が800μsであるの
で、プログラム割込み処理ルーチンをギア割込み
処理ルーチンに包含させることはできない。現
在、コンピユータの処理速度は着実に高速になつ
ているので通電点火計算の処理時間も短くなるこ
とが期待される。しかし同時に、点火時期のより
正確な制御のため、クランク角の位置信号(クラ
ンク角パルス)は増加する傾向にあり、それに伴
なつてギア割込みの許容処理時間も短くなる可能
性がある。又、エンジン制御の多様化、密化の傾
向から制御内容が複雑になり、その結果処理時間
が長くなる傾向がある。したがつて特に本例のよ
うにCPUから、命令を出力し、次のクランク角
パルスでダウンカウントを開始するという制御方
法を採用した場合、ギア割込みで処理すべき内容
が多くなり、それに伴なつて処理時間も増加する
ので、プログラム割込みは不可欠となる。一方プ
ログラム割込み以外の下位レベルのルーチンたと
えばメインルーチンで通電点火計算を処理する方
法もあるが、この方法では前述のようにギア割込
みで計測された回転数Nの反映が遅れ、点火シス
テムの応答性が悪化する。以下、第26図によ
り、プログラム割込みの処理ルーチンを説明して
いく。まずステツプ1200では第6図に示す割込み
制御部63の端子442にリセツト信号を印加
し、フリツプフロツプ301をリセツトし、プロ
グラム割込み要求信号端子445を“1”にもど
す。次にステツプ1201に進み、処理識別フラグ
PiPを調べ、“0”すなわち前回のプログラム割
込みでQ2処理を実行していればステツプ1202
に、“1”すなわちQ1処理を実行していればステ
ツプ1204に進む。ステツプ1202、1204ではそれぞ
れQ1処理フラグfQ1とQ2処理フラグfQ2が調べら
れ、“1”ならばそれぞれQ1処理ステツプ1203、
Q2処理ステツプ1205に進み、“0”ならばプログ
ラム割込み処理ルーチンを完了する。Q1処理フ
ラグfQ1は第3表のギア割込みのうちの固定位置
処理でギア位置“2”(ψB=60℃A)、“8”(ψB
=240℃A)で“1”にセツトされ、Q1処理ステ
ツプ1203の実行で“0”にリセツトされる。Q2
処理フラグfQ2はギア位置“5”(ψB=150℃
A)“11”(ψB=330℃A)で“1”にセツトさ
れ、Q2処理1205の実行で、“0”にリセツトされ
る。Q1処理ステツプ1203、Q2処理ステツプ1205
の内容を第27図に示す。Q2処理の場合、ステ
ツプ1211以降の通電点火計算は低回転たとえば
4000rpm以下で実行される。すなわちステツプ
1220でギア割込みで計算された平均回転時間γm
とtH(4000rpm相当の30℃A回転時間)が比較
され、低回転領域、γm≧tHのときはステツプ
1211に進み、以下通電点火計算が実行され、低回
転領域γm<tHのときは、計算は実行せずQ2処
理を終わる。ステツプ1211では前述のギア割込み
の固定位置処理で説明した、クランク角パルスの
通過時間から回転数Nが求められる。ギア位置
“2”(ψB=60℃A)起動のQ1処理の場合Nは(12)
式で求めたγNの逆数から(18)式により求められ
る。 N=8/γN×30/360×60×106(rpm) (13) (tNの単位は8μs) 次にステツプ1212で第1図に示すスタータース
イツチ23からの信号を調べ“ON”ならば固定
の値θcRを点火角θxに入れ“OFF”ならばス
テツプ1213に進み、回転数NとDMA手法を用い
てRAM70の所定の番地の書き込まれた吸入空
気量Gaとから一回転あたりの吸入空気量Ga/N
を求める。ステツプ1214においては、ROM71
内に格納した回転数Nと吸入空気量Ga/Nに対
応して与えられる基本進向θMAPを表わすマツプ
から、ステツプ1211、1213で求めた(N、Ga/
N)について下記(14):(15)式を満たすマツプ上
の4点の値θMAP1=(N1、(Ga/N)1)、θMAP2
=(N1、(Ga/N)2)、θMAP3=(N2、(Ga/N)
1)、θMAP4=(N2、(Ga/N)2)をまず読み取
る。この実施例では基本進角を表わすマツプは第
4表のようにGa/Nについては0.001(g/cm2.
rpm)から0.016(g/cm2.rpm)まで0.001
(g/cm2.rpm)きざみにて、又Nについては500
(rpm)から1000(rpm)までは100(rpm)きざ
みに1000(rpm)から6000(rpm)までは500
(rpm)きざみにて基本進角を表わすデータが格
納(第4表では詳細な値は省略)してある)され
ており、(16×16=)256ポイントの二次元マツプ
である。
【表】
N1<N<N2 (14)
(Ga/N)1<(Ga/N)<(Ga/N)2 (15)
ステツプ1214では次に上記4点の値から、まず
Nについて(16)、(17)式により線形補間計算す
る。 θMAP5=θMAP3−θMAP1/N2−N1× (N−N1)+θMAP1 (16) θMAP6=θMAP4−θMAP2/N2−N1 (N−N2)+θMAP2 (17) 次に(Ga/N)について線形補間計算を(18)式
により行ない基本進角θMAPをうる。ステツプ θMAP=θMAP6−θMAP5/(Ga/N)2−
(Ga/N)1 {(Ga/N)−(Ga/N)1}+θMAP5(18) 1215では基本進角に各種補正進角を加え(19)式に
より点火角θxが求まる。 θx=TDC−(θMAP+θEGR+θAcc+θWT+θ
DLY) (19) θEGR:EGR進角…(8)式参照、50msec処理 θAcc:加速進角…(5)式参照、50msec処理、固
定位置処理 θWT:水温進角…メインルーチン θDLY:点火遅延角…(11)式参照、固定位置処理 ステツプ1218及び1215実行後、第28図に示す
ESA計算ステツプ1216に進む。第28図に示す
ESA計算ステツプにおいて、ステツプ1230〜
1233では点火角がθMiN(TDC−70℃A)からθM
Ax(TDC)の範囲内に調整する処理を行なう。
次にステツプ1234で点火33ギア位置θx1を(2)式に
より算出する。ステツプ1235では第17図に示す
8ms処理ルーチンでバツテリー電圧より算出され
た通電ON時間γONがステツプ1211で計算された
回転数Nにより通電ONの継続角、すなわちドウ
エル角θONに換算される。このθONを用いてステ
ツプ1236で許容最小ドウエル角θ′ONが計算され
る。本例ではθ′ONはθONの75%の値で代用して
いる。続いてステツプ1237では点火角θxとドウ
エル角θONから通電角θが計算される。ステツプ
1238、1239でθ≧0となるよう通電の上限に調整
する。ステツプ1240では通電角θに基づき通電ギ
ア位置θ1と通電ダウンカウンタ値γが(1)式のよ
うに算出される。最後に前述の点火計算フラグ A
fA、点火計算フラグ BfBが“0”にセツトされ
る。Q1処理、Q2処理で算出された計算値は第1
表に示す計算値ストレージテーブルiGTに書き込
まれる。この計算値ストレージテーブルは2つあ
り(iGT1、iGT2)、フラグfTABが“0”ならば
iGT2に、“1”ならばiGT1に書き込まれ、書き込
み完了後ステツプ1217でフラグfTABを反転させ
ている。 本例では上述のごとくCPUから点火命令、通
電命令を出力し、その直後のクランク角パルスで
ダウンカウントを開始する方法を採用している。
これに対し、第31図に示すようにギア位置レジ
スタ700を有し、クランク角パルスがくる度に
クランク角カウンタ701(本例では第5図に示
すタイマー部62のカウンタ207,208)の
内容とギア位置レジスタ700の内容を比較器7
02で比較し、一致したときダウンカウンタ70
3のダウンカウントを開始する方法がむしろ一般
的である。しかし、高性能なCPUを使用すると
き、機能をできるだけソフトウエア(プログラ
ム)で実現し、ハードウエア(回路)を最小にす
るよう、設計すればコストを小さくできる。とい
うのは通常、プログラムステツプ数の多少の増加
は、ROM71の個数の増加につながらない限
り、コスト上昇につながらないからである。本例
ではこの点に鑑み、CPUからの命令でダウンカ
ウントを開始させている。なお、より高性能な
CPUを用いれば、CPU内部のタイマーでダウン
カウントを実現し、直接、イグナイターへON
(通電開始)、OFF(点火)命令を出力すること
も可能である。本例では4気筒ダブルコイル方式
のエンジンに適用したものを説明したが、本考案
は気筒数、点火の方式に関係なく、EFI(電子制
御式燃料噴射装置)を含む一般のエンジンに適用
可能である。特に第11図に示す通電点火制御部
69の点火ダウンカウンタ902,903を噴射
終了ダウンカウンタ、通電開始ダウンカウンタ9
00,901を噴射開始ダウンカウンタとし、吸
気量Gaと回転数Nから燃料噴射量すなわち燃料
噴射時間を演算し、噴射開始クランク角θ、噴射
終了クランク角θxを計算して、第12図イグナ
イタ80,81の代りに噴射弁を接続すれば直ち
に電子制御燃料噴射装置(EFI)にも適用でき
る。なおEFIに適用する場合は燃料噴射の終了時
期がエンジン吸気弁の開き始める所定の許容でき
るクランク角範囲内にすることが望ましいことが
判つており、上記実施例における点火装置の制御
と同様にして、噴射弁の開弁時期(つまりは開弁
時間)を計算し、更に開弁中にエンジン状態の新
しいデータから最新の閉弁時期を計算し計算値が
得られたときはこの計算値が前記吸気弁の開き始
める所定のクランク範囲内に収まつているかを比
較判定し、この比較結果に基いてこの計算値(つ
まり噴射弁の閉弁時期)を前記吸気弁の開き始め
る所定の許容できるクランク角範囲内の最適値に
なるよう補正計算する。又点火時期、燃料噴射
量、EGR量等の計算に本例では吸気量Gaを使用
したが、もちろん他のエンジン状態を表わすパラ
メータ例えば吸気マニホールド負圧、スロツトル
開度等を使用する場合にも適用可能なのはもちろ
んである。
Nについて(16)、(17)式により線形補間計算す
る。 θMAP5=θMAP3−θMAP1/N2−N1× (N−N1)+θMAP1 (16) θMAP6=θMAP4−θMAP2/N2−N1 (N−N2)+θMAP2 (17) 次に(Ga/N)について線形補間計算を(18)式
により行ない基本進角θMAPをうる。ステツプ θMAP=θMAP6−θMAP5/(Ga/N)2−
(Ga/N)1 {(Ga/N)−(Ga/N)1}+θMAP5(18) 1215では基本進角に各種補正進角を加え(19)式に
より点火角θxが求まる。 θx=TDC−(θMAP+θEGR+θAcc+θWT+θ
DLY) (19) θEGR:EGR進角…(8)式参照、50msec処理 θAcc:加速進角…(5)式参照、50msec処理、固
定位置処理 θWT:水温進角…メインルーチン θDLY:点火遅延角…(11)式参照、固定位置処理 ステツプ1218及び1215実行後、第28図に示す
ESA計算ステツプ1216に進む。第28図に示す
ESA計算ステツプにおいて、ステツプ1230〜
1233では点火角がθMiN(TDC−70℃A)からθM
Ax(TDC)の範囲内に調整する処理を行なう。
次にステツプ1234で点火33ギア位置θx1を(2)式に
より算出する。ステツプ1235では第17図に示す
8ms処理ルーチンでバツテリー電圧より算出され
た通電ON時間γONがステツプ1211で計算された
回転数Nにより通電ONの継続角、すなわちドウ
エル角θONに換算される。このθONを用いてステ
ツプ1236で許容最小ドウエル角θ′ONが計算され
る。本例ではθ′ONはθONの75%の値で代用して
いる。続いてステツプ1237では点火角θxとドウ
エル角θONから通電角θが計算される。ステツプ
1238、1239でθ≧0となるよう通電の上限に調整
する。ステツプ1240では通電角θに基づき通電ギ
ア位置θ1と通電ダウンカウンタ値γが(1)式のよ
うに算出される。最後に前述の点火計算フラグ A
fA、点火計算フラグ BfBが“0”にセツトされ
る。Q1処理、Q2処理で算出された計算値は第1
表に示す計算値ストレージテーブルiGTに書き込
まれる。この計算値ストレージテーブルは2つあ
り(iGT1、iGT2)、フラグfTABが“0”ならば
iGT2に、“1”ならばiGT1に書き込まれ、書き込
み完了後ステツプ1217でフラグfTABを反転させ
ている。 本例では上述のごとくCPUから点火命令、通
電命令を出力し、その直後のクランク角パルスで
ダウンカウントを開始する方法を採用している。
これに対し、第31図に示すようにギア位置レジ
スタ700を有し、クランク角パルスがくる度に
クランク角カウンタ701(本例では第5図に示
すタイマー部62のカウンタ207,208)の
内容とギア位置レジスタ700の内容を比較器7
02で比較し、一致したときダウンカウンタ70
3のダウンカウントを開始する方法がむしろ一般
的である。しかし、高性能なCPUを使用すると
き、機能をできるだけソフトウエア(プログラ
ム)で実現し、ハードウエア(回路)を最小にす
るよう、設計すればコストを小さくできる。とい
うのは通常、プログラムステツプ数の多少の増加
は、ROM71の個数の増加につながらない限
り、コスト上昇につながらないからである。本例
ではこの点に鑑み、CPUからの命令でダウンカ
ウントを開始させている。なお、より高性能な
CPUを用いれば、CPU内部のタイマーでダウン
カウントを実現し、直接、イグナイターへON
(通電開始)、OFF(点火)命令を出力すること
も可能である。本例では4気筒ダブルコイル方式
のエンジンに適用したものを説明したが、本考案
は気筒数、点火の方式に関係なく、EFI(電子制
御式燃料噴射装置)を含む一般のエンジンに適用
可能である。特に第11図に示す通電点火制御部
69の点火ダウンカウンタ902,903を噴射
終了ダウンカウンタ、通電開始ダウンカウンタ9
00,901を噴射開始ダウンカウンタとし、吸
気量Gaと回転数Nから燃料噴射量すなわち燃料
噴射時間を演算し、噴射開始クランク角θ、噴射
終了クランク角θxを計算して、第12図イグナ
イタ80,81の代りに噴射弁を接続すれば直ち
に電子制御燃料噴射装置(EFI)にも適用でき
る。なおEFIに適用する場合は燃料噴射の終了時
期がエンジン吸気弁の開き始める所定の許容でき
るクランク角範囲内にすることが望ましいことが
判つており、上記実施例における点火装置の制御
と同様にして、噴射弁の開弁時期(つまりは開弁
時間)を計算し、更に開弁中にエンジン状態の新
しいデータから最新の閉弁時期を計算し計算値が
得られたときはこの計算値が前記吸気弁の開き始
める所定のクランク範囲内に収まつているかを比
較判定し、この比較結果に基いてこの計算値(つ
まり噴射弁の閉弁時期)を前記吸気弁の開き始め
る所定の許容できるクランク角範囲内の最適値に
なるよう補正計算する。又点火時期、燃料噴射
量、EGR量等の計算に本例では吸気量Gaを使用
したが、もちろん他のエンジン状態を表わすパラ
メータ例えば吸気マニホールド負圧、スロツトル
開度等を使用する場合にも適用可能なのはもちろ
んである。
第1図は本発明の一実施例を示すシステム構成
図、第2図は第1図に示すマイクロコンピユータ
のブロツク図、第3図並びに第8図は第2図各部
の説明のための波形図、第4〜7図並びに第9〜
13図はそれぞれ第2図各部の電気回路図、第1
4図は第2図に示す中央処理ユニツト(CPU)
の作動説明図、第15〜29図は第2図に示す
CPUのプログラムの内容を示すフローチヤー
ト、第30図並びに第31図は本発明の作動説明
のために引用する構成図である。 1……吸気量センサ、2……吸気温センサ、3
……水温センサ、5……回転センサ、6……マイ
クロコンピユータ、7並びに8……点火装置のイ
グニツシヨンコイル並びにイグナイタ、16……
エンジン、60……中央処理ユニツト(CPU)。
図、第2図は第1図に示すマイクロコンピユータ
のブロツク図、第3図並びに第8図は第2図各部
の説明のための波形図、第4〜7図並びに第9〜
13図はそれぞれ第2図各部の電気回路図、第1
4図は第2図に示す中央処理ユニツト(CPU)
の作動説明図、第15〜29図は第2図に示す
CPUのプログラムの内容を示すフローチヤー
ト、第30図並びに第31図は本発明の作動説明
のために引用する構成図である。 1……吸気量センサ、2……吸気温センサ、3
……水温センサ、5……回転センサ、6……マイ
クロコンピユータ、7並びに8……点火装置のイ
グニツシヨンコイル並びにイグナイタ、16……
エンジン、60……中央処理ユニツト(CPU)。
Claims (1)
- 【特許請求の範囲】 1 エンジンの点火コイルの通電を少なくともエ
ンジン回転速度を含むエンジン状態に応じてマイ
クロコンピユータで制御するエンジンの制御方法
において、 前記エンジン状態の検出値を用いて前記コイル
の通電停止時期の最適値を前記コイルの1回の通
電に対して複数回くり返し計算し、 前記コイルの実際の通電開始時期と予め定めら
れる所定の最小通電期間とから前記コイルの通電
停止時期の許容値を計算し、 前記最適値の最新値と前記許容値とを比較し、 この比較結果が、前記最適値の最新値が前記許
容値よりも先行することを示す場合には後行する
前記許容値で前記コイルの通電を停止すると共
に、逆の場合には後行する前記最適値の最新値で
前記コイルの通電を停止することを特徴とするエ
ンジンの制御方法。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15778278A JPS5584858A (en) | 1978-12-18 | 1978-12-18 | Engine control |
| US06/103,942 US4347570A (en) | 1978-12-18 | 1979-12-14 | Method and apparatus for controlling ignition coil energization |
| US06/409,349 US4476532A (en) | 1978-12-18 | 1982-08-18 | Method and apparatus for controlling the duty cycle of an off-on type valve by monitoring the history of the state of the valve |
| US06/614,243 US4558417A (en) | 1978-12-18 | 1984-05-25 | Computer based engine control with lower priority interrupt requests generated in selected higher priority interrupt routines |
| US06/614,138 US4553208A (en) | 1978-12-18 | 1984-05-25 | Engine control event timing employing both crank angle rotation and time measurements |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15778278A JPS5584858A (en) | 1978-12-18 | 1978-12-18 | Engine control |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5584858A JPS5584858A (en) | 1980-06-26 |
| JPS6243071B2 true JPS6243071B2 (ja) | 1987-09-11 |
Family
ID=15657171
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15778278A Granted JPS5584858A (en) | 1978-12-18 | 1978-12-18 | Engine control |
Country Status (2)
| Country | Link |
|---|---|
| US (4) | US4347570A (ja) |
| JP (1) | JPS5584858A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0180565U (ja) * | 1987-11-18 | 1989-05-30 |
Families Citing this family (78)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3995931A (en) * | 1975-03-26 | 1976-12-07 | Molex Incorporated | Terminal for apertured circuit panel |
| JPS5948307B2 (ja) * | 1979-02-23 | 1984-11-26 | 日産自動車株式会社 | 内燃機関の点火時期制御装置 |
| JPS5660857A (en) * | 1979-10-22 | 1981-05-26 | Nippon Denso Co Ltd | Ignition timing control device of internal combustion engine for automobile |
| JPS5692330A (en) * | 1979-12-25 | 1981-07-27 | Hitachi Ltd | Signal processing method for hot wire flow sensor |
| JPS5746046A (en) * | 1980-09-04 | 1982-03-16 | Nissan Motor Co Ltd | Internal combustion engine-controller |
| DE3034440A1 (de) * | 1980-09-12 | 1982-04-29 | Robert Bosch Gmbh, 7000 Stuttgart | Zuendanlage fuer brennkraftmaschinen |
| JPS5770944A (en) * | 1980-10-20 | 1982-05-01 | Mazda Motor Corp | Exhaust gas reflux unit for engine |
| FR2493412A1 (fr) * | 1980-11-04 | 1982-05-07 | Renix Electronique Sa | Dispositif de commande de bobine d'allumage a regulation de temps de conduction optimal pour moteur a explosion |
| JPS57124064A (en) * | 1981-01-27 | 1982-08-02 | Mazda Motor Corp | Exhaust gas returning device for engine |
| US4485625A (en) * | 1981-04-15 | 1984-12-04 | Toyo Kogyo Co., Ltd. | Control means for internal combustion engines |
| JPS57179370A (en) * | 1981-04-27 | 1982-11-04 | Toyota Motor Corp | Ignition timing control system |
| ATA264181A (de) * | 1981-06-12 | 1986-12-15 | Friedmann & Maier Ag | Verfahren und vorrichtung zur messung der drehzahl von brennkraftmaschinen |
| JPS585448A (ja) * | 1981-06-30 | 1983-01-12 | Nissan Motor Co Ltd | 自動車用電子制御装置のメモリ保存装置 |
| JPS5888429A (ja) * | 1981-11-19 | 1983-05-26 | Honda Motor Co Ltd | 排気還流制御装置を備えた内燃エンジンの電子式燃料噴射制御装置 |
| JPS58101235A (ja) * | 1981-11-20 | 1983-06-16 | Honda Motor Co Ltd | 排気還流制御装置を備えた内燃エンジンの電子式燃料噴射制御装置 |
| JPS5888430A (ja) * | 1981-11-20 | 1983-05-26 | Honda Motor Co Ltd | 排気還流制御装置を備えた内燃エンジンの電子式燃料噴射制御装置 |
| US4472777A (en) * | 1981-12-23 | 1984-09-18 | Ford Motor Company | Engine control apparatus for vehicle speed |
| JPS58143166A (ja) * | 1982-02-17 | 1983-08-25 | Hitachi Ltd | 電子制御点火装置 |
| JPS58176469A (ja) * | 1982-04-12 | 1983-10-15 | Nippon Soken Inc | 内燃機関の制御装置 |
| JPS58185956A (ja) * | 1982-04-23 | 1983-10-29 | Yamaha Motor Co Ltd | エンジンの電子式速度制御装置 |
| JPS58217768A (ja) * | 1982-05-28 | 1983-12-17 | Nec Home Electronics Ltd | エンジン点火制御方法 |
| IT1151889B (it) * | 1982-06-28 | 1986-12-24 | Alfa Romeo Auto Spa | Dispositivo di controllo dell'accensione per un motore a c.i. |
| FR2539820B1 (fr) * | 1983-01-20 | 1987-06-26 | Texas Instruments France | Procede de commande d'allumage pour moteur a combustion interne et circuit electronique pour sa mise en oeuvre |
| US4606315A (en) * | 1983-05-19 | 1986-08-19 | Sanshin Kogyo Kabushiki Kaisha | Ignition control system for an internal combustion engine |
| GB8319694D0 (en) * | 1983-07-21 | 1983-08-24 | Lucas Ind Plc | Ic engine coil-type ignition control |
| FR2551218B1 (fr) * | 1983-08-30 | 1986-10-17 | Telemecanique Electrique | Procede de determination d'une vitesse et dispositif de mise en oeuvre |
| JPH0660618B2 (ja) * | 1983-12-05 | 1994-08-10 | 日本電装株式会社 | 内燃機関用点火時期制御装置 |
| JPH0646021B2 (ja) * | 1984-05-07 | 1994-06-15 | トヨタ自動車株式会社 | 内燃機関の点火時期制御装置 |
| US4787043A (en) * | 1984-09-04 | 1988-11-22 | Chrysler Motors Corporation | Method of measuring barometric pressure and manifold absolute pressure using a single sensor |
| JPS61182464A (ja) * | 1985-02-08 | 1986-08-15 | Mitsubishi Motors Corp | 火花点火機関の点火時期制御装置 |
| JPS61173749U (ja) * | 1985-04-16 | 1986-10-29 | ||
| JPS61275572A (ja) * | 1985-05-30 | 1986-12-05 | Honda Motor Co Ltd | 内燃エンジンの点火時期制御方法 |
| USRE34183E (en) * | 1986-02-05 | 1993-02-23 | Electromotive Inc. | Ignition control system for internal combustion engines with simplified crankshaft sensing and improved coil charging |
| JPS62135869U (ja) * | 1986-02-22 | 1987-08-26 | ||
| JPS62240441A (ja) * | 1986-04-09 | 1987-10-21 | Hitachi Ltd | 燃料制御装置 |
| JPH07105801B2 (ja) * | 1986-10-02 | 1995-11-13 | 日本電装株式会社 | 車両用通信制御装置 |
| JPH0723582Y2 (ja) * | 1986-10-15 | 1995-05-31 | 日産自動車株式会社 | 内燃機関の点火時期制御装置 |
| JP2534045B2 (ja) * | 1986-12-22 | 1996-09-11 | 株式会社ゼクセル | 回転角度−時間変換装置 |
| US4814704A (en) * | 1987-04-08 | 1989-03-21 | Motorola, Inc. | Rotor position indicator with correction for apparant acceleration and deceleration |
| US5041979A (en) * | 1987-04-08 | 1991-08-20 | Motorola, Inc. | Bounded synchronous angle counter |
| US4964050A (en) * | 1987-05-12 | 1990-10-16 | Honda Giken Kogyo Kabushiki Kaisha | Method of controlling electrical devices of internal combustion engines |
| KR920000053B1 (ko) * | 1987-05-26 | 1992-01-06 | 미쓰비시전기 주식회사 | 엔진 제어장치 |
| JPS6479617A (en) * | 1987-09-22 | 1989-03-24 | Nissan Motor | Signal processing apparatus of crank angle sensor |
| JPH01237864A (ja) * | 1988-03-18 | 1989-09-22 | Fujitsu Ltd | Dma転送制御装置 |
| JPH0765540B2 (ja) * | 1988-09-21 | 1995-07-19 | 松下電器産業株式会社 | エンジン制御装置 |
| US4933861A (en) * | 1988-10-03 | 1990-06-12 | Ford Motor Company | Ignition system with feedback controlled dwell |
| JP2878764B2 (ja) * | 1990-03-15 | 1999-04-05 | 株式会社日立製作所 | 点火通電時間制御装置 |
| JPH03267576A (ja) * | 1990-03-19 | 1991-11-28 | Japan Electron Control Syst Co Ltd | 内燃機関の点火時期制御装置 |
| EP0608456B1 (de) * | 1993-01-28 | 1996-05-29 | Siemens Aktiengesellschaft | Motorsteuerung |
| JP3035810B2 (ja) * | 1995-05-15 | 2000-04-24 | 株式会社ユニシアジェックス | クランク角信号処理装置 |
| US5832896A (en) * | 1995-09-18 | 1998-11-10 | Zenith Fuel Systems, Inc. | Governor and control system for internal combustion engines |
| DE19647407C2 (de) * | 1996-11-15 | 1998-09-03 | Siemens Ag | Steuergerät, insbesondere für den Einsatz in einem Kraftfahrzeug |
| US6728380B1 (en) | 1999-03-10 | 2004-04-27 | Cummins, Inc. | Adaptive noise suppression system and method |
| DE10100873A1 (de) * | 2001-01-11 | 2002-08-08 | Siemens Ag | Verfahren zum Einschalten einer induktiven Last |
| US6834216B2 (en) | 2001-12-13 | 2004-12-21 | Freescale Semiconductor, Inc. | Method and apparatus for the automatic synchronization of dynamic angular and time domain control systems |
| DE10161742A1 (de) * | 2001-12-15 | 2003-06-18 | Zahnradfabrik Friedrichshafen | Verfahren zur Berechnung der Einschaltdauer von hydraulischen Komponenten |
| US7353084B2 (en) * | 2003-02-27 | 2008-04-01 | Acutra, Inc. | Generator controller |
| US6987330B2 (en) * | 2003-04-16 | 2006-01-17 | Ford Global Technologies, Llc | Method and system for controlling a belt-driven integrated starter generator |
| US7686000B2 (en) * | 2005-09-21 | 2010-03-30 | Freescale Semiconductor, Inc. | Controller and method for controlling an ignition coil |
| US8679241B2 (en) | 2006-10-30 | 2014-03-25 | Novartis Ag | Gas pressure monitor for pneumatic surgical machine |
| US8162000B2 (en) * | 2006-12-13 | 2012-04-24 | Novartis Ag | Adjustable pneumatic system for a surgical machine |
| US9241830B2 (en) * | 2006-12-15 | 2016-01-26 | Novartis Ag | Pressure monitor for pneumatic vitrectomy machine |
| US8312800B2 (en) * | 2006-12-21 | 2012-11-20 | Novartis Ag | Pneumatic system for a vitrector |
| US8080029B2 (en) * | 2007-09-21 | 2011-12-20 | Novartis Ag | System for actuation of a vitreous cutter |
| JP4951795B2 (ja) * | 2007-11-16 | 2012-06-13 | 本田技研工業株式会社 | エンジン点火制御装置 |
| AU2010286834B2 (en) * | 2009-08-31 | 2015-06-04 | Alcon Inc. | Pneumatic pressure output control by drive valve duty cycle calibration |
| CA2781157C (en) | 2009-12-10 | 2018-01-02 | Alcon Inc. | Systems and methods for dynamic pneumatic valve driver |
| US8666556B2 (en) * | 2009-12-10 | 2014-03-04 | Alcon Research, Ltd. | Systems and methods for dynamic feedforward |
| US8821524B2 (en) | 2010-05-27 | 2014-09-02 | Alcon Research, Ltd. | Feedback control of on/off pneumatic actuators |
| US8808318B2 (en) | 2011-02-28 | 2014-08-19 | Alcon Research, Ltd. | Surgical probe with increased fluid flow |
| US9060841B2 (en) | 2011-08-31 | 2015-06-23 | Alcon Research, Ltd. | Enhanced flow vitrectomy probe |
| US10070990B2 (en) | 2011-12-08 | 2018-09-11 | Alcon Research, Ltd. | Optimized pneumatic drive lines |
| US9272787B2 (en) * | 2012-11-05 | 2016-03-01 | Hamilton Sundstrand Corporation | Flow reduction for bleed air systems |
| US9486360B2 (en) | 2013-12-05 | 2016-11-08 | Novartis Ag | Dual electromagnetic coil vitrectomy probe |
| JP6301240B2 (ja) * | 2014-02-07 | 2018-03-28 | 本田技研工業株式会社 | 車両用バッテリ充電装置 |
| US10251782B2 (en) | 2014-10-29 | 2019-04-09 | Novartis Ag | Vitrectomy probe with a counterbalanced electromagnetic drive |
| JP6624112B2 (ja) | 2017-02-16 | 2019-12-25 | トヨタ自動車株式会社 | エンジンの制御装置 |
| CN113775457B (zh) * | 2021-11-09 | 2022-02-11 | 金城集团有限公司 | 一种航空活塞发动机点火控制方法及故障诊断方法 |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1397438A (en) * | 1971-10-27 | 1975-06-11 | Ibm | Data processing system |
| US3825902A (en) * | 1973-04-30 | 1974-07-23 | Ibm | Interlevel communication in multilevel priority interrupt system |
| JPS5085725A (ja) * | 1973-12-07 | 1975-07-10 | ||
| JPS52156221A (en) * | 1976-06-22 | 1977-12-26 | Nippon Soken Inc | Air flux regulator |
| US4152761A (en) * | 1976-07-28 | 1979-05-01 | Intel Corporation | Multi-task digital processor employing a priority |
| JPS5340105A (en) * | 1976-09-24 | 1978-04-12 | Nippon Denso Co Ltd | Automobile control unit |
| JPS5341639A (en) * | 1976-09-27 | 1978-04-15 | Nissan Motor Co Ltd | Air-fuel ratio controlling method of internal combustion engine and its apparatus |
| JPS5368316A (en) * | 1976-11-30 | 1978-06-17 | Nissan Motor Co Ltd | Air/fuel ratio corrector |
| JPS5388426A (en) * | 1977-01-17 | 1978-08-03 | Hitachi Ltd | Ignition timing control system for internal combustion engine |
| JPS53105639A (en) * | 1977-02-25 | 1978-09-13 | Hitachi Ltd | Electronic advance angle system for internal combustion engine |
| US4201159A (en) * | 1977-03-23 | 1980-05-06 | Nippon Soken, Inc. | Electronic control method and apparatus for combustion engines |
| JPS53137344A (en) * | 1977-04-14 | 1978-11-30 | Nippon Soken Inc | Internal combustion engine ignition time adjustor |
| US4142493A (en) * | 1977-09-29 | 1979-03-06 | The Bendix Corporation | Closed loop exhaust gas recirculation control system |
| JPS5458120A (en) * | 1977-10-19 | 1979-05-10 | Hitachi Ltd | Electronic engine controller |
| JPS5459527A (en) * | 1977-10-20 | 1979-05-14 | Hitachi Ltd | Air-fuel ratio controller for engine |
| US4266518A (en) * | 1977-11-18 | 1981-05-12 | Nippon Soken, Inc. | Method of controlling ignition timing for internal combustion engines and apparatus for carrying out the same |
| JPS6053183B2 (ja) * | 1977-11-29 | 1985-11-25 | 株式会社日本自動車部品総合研究所 | 内燃機関用点火装置 |
| JPS5476729A (en) * | 1977-12-01 | 1979-06-19 | Toyota Motor Corp | Method of controlling ignition of internal combustion engine |
| JPS54145819A (en) * | 1978-05-04 | 1979-11-14 | Nippon Denso Co Ltd | Engine control |
| US4257377A (en) * | 1978-10-05 | 1981-03-24 | Nippondenso Co., Ltd. | Engine control system |
| US4231091A (en) * | 1978-11-27 | 1980-10-28 | General Motors Corporation | Engine control system |
| US4311126A (en) * | 1979-07-23 | 1982-01-19 | Colt Industries Operating Corp | Fuel injection apparatus and system |
| US4273089A (en) * | 1979-09-12 | 1981-06-16 | Essex Group, Inc. | Open loop computer-controlled spark ignition timing system |
| US4335693A (en) * | 1979-09-20 | 1982-06-22 | Colt Industries Operating Corp. | Fuel injection apparatus and system |
| US4265211A (en) * | 1979-11-23 | 1981-05-05 | General Motors Corporation | Distributorless internal combustion engine ignition system |
-
1978
- 1978-12-18 JP JP15778278A patent/JPS5584858A/ja active Granted
-
1979
- 1979-12-14 US US06/103,942 patent/US4347570A/en not_active Expired - Lifetime
-
1982
- 1982-08-18 US US06/409,349 patent/US4476532A/en not_active Expired - Lifetime
-
1984
- 1984-05-25 US US06/614,243 patent/US4558417A/en not_active Expired - Lifetime
- 1984-05-25 US US06/614,138 patent/US4553208A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0180565U (ja) * | 1987-11-18 | 1989-05-30 |
Also Published As
| Publication number | Publication date |
|---|---|
| US4558417A (en) | 1985-12-10 |
| JPS5584858A (en) | 1980-06-26 |
| US4553208A (en) | 1985-11-12 |
| US4476532A (en) | 1984-10-09 |
| US4347570A (en) | 1982-08-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4476532A (en) | Method and apparatus for controlling the duty cycle of an off-on type valve by monitoring the history of the state of the valve | |
| US4379333A (en) | Method and system for operating a power-producing machine at maximum torque under varying operating conditions | |
| US4414946A (en) | Control system for an operating event in a vehicular power train | |
| JPS6060025B2 (ja) | 自動車制御方法 | |
| JPS6218742B2 (ja) | ||
| JPS6327537B2 (ja) | ||
| JPS6410663B2 (ja) | ||
| JPS6126082B2 (ja) | ||
| JPS6293445A (ja) | 内燃エンジンの始動時の燃料供給制御方法 | |
| JPS61272470A (ja) | 内燃エンジンの点火時期制御方法 | |
| JPH0517390B2 (ja) | ||
| US4508085A (en) | Fuel injection control method for multi cylinder internal combustion engines of sequential injection type at acceleration | |
| JPS61275572A (ja) | 内燃エンジンの点火時期制御方法 | |
| JPH0320592B2 (ja) | ||
| US5093793A (en) | Method of transferring signals within electronic control system for internal combustion engines | |
| JPH0223268A (ja) | 内燃機関用点火時期制御装置 | |
| JPS61169666A (ja) | 内燃エンジンの点火時期制御方法 | |
| JPS5996479A (ja) | 電子式点火制御装置 | |
| JPS61291774A (ja) | 内燃エンジンの電子点火時期制御装置 | |
| JPS6248065B2 (ja) | ||
| JPH05248331A (ja) | 内燃機関用の点火装置 | |
| JPH0686855B2 (ja) | 内燃機関用点火時期制御装置 | |
| JPS6231189B2 (ja) | ||
| JP2025019505A (ja) | 可変バルブタイミング機構の制御装置 | |
| JP4248129B2 (ja) | 内燃機関の燃料噴射制御装置 |