(57)【特許請求の範囲】
【請求項１】
コンピュータプログラムおよびデータの少なくとも一方が格納された記憶手段と、前記コンピュータプログラムをエンジンの回転角度に応じた割り込みにて起動し実行する演算手段とを備え、前記記憶手段が前記演算手段によりアクセスを受けてからデータをデータバスに出力するまでの時間であるアクセス時間が電源電圧に依存して変動するものであるエンジン制御装置において、
前記演算手段の使用率が高くなるか否かを予測する使用率予測手段と、
前記使用率予測手段により「前記演算手段の使用率が高くなる」と予測されると、前記演算手段が前記記憶手段にアクセスしてから前記記憶手段の記憶内容を読み出すまでのウェイト時間を短くするウェイト時間制御手段と、
を備えたことを特徴とするエンジン制御装置。
【請求項２】
請求項１に記載のエンジン制御装置において、
前記使用率予測手段が、
前記エンジンの回転数が予め定められた閾値よりも高くなると「前記演算手段の使用率が高くなる」と予測するもの
であることを特徴とするエンジン制御装置。
【請求項３】
請求項２に記載のエンジン制御装置において、
前記ウェイト時間制御手段が、
前記閾値よりも前記エンジンの回転数が低くなっても前記ウェイト時間を長くしないもの
であることを特徴とするエンジン制御装置。
【請求項４】
請求項１に記載のエンジン制御装置において、
前記エンジンのクランクシャフトまたはカムシャフトに設けられた突起を検出することにより該クランクシャフトまたは該カムシャフトの回転角度を検出する回転角度センサを備え、
前記使用率予測手段が、
前記突起の検出間隔が予め定められた閾値よりも短くなると「前記演算手段の使用率が高くなる」と予測するもの
であることを特徴とするエンジン制御装置。
【請求項５】
コンピュータプログラムおよびデータの少なくとも一方が格納された記憶手段と、コンピュータプログラムをエンジンの回転角度に応じた割り込みにて起動し実行する演算手段とを備え、前記記憶手段が前記演算手段によりアクセスを受けてからデータをデータバスに出力するまでの時間であるアクセス時間が電源電圧に依存して変動するものであるエンジン制御装置において、
前記演算手段の使用率を検出する使用率検出手段と、
前記使用率検出手段により前記演算手段の使用率が高いと検出されると、前記演算手段が前記記憶手段にアクセスしてから前記記憶手段の記憶内容を読み出すまでのウェイト時間を短くするウェイト時間制御手段と、
を備えたことを特徴とするエンジン制御装置。
【請求項６】
請求項１から５にいずれか記載のエンジン制御装置において、
前記アクセス時間が長くなるか否かを予測するアクセス時間予測手段を備え、
前記ウェイト時間制御手段が、
前記アクセス時間予測手段により「前記アクセス時間が長くなる」と予測されると、前記ウェイト時間を長くするもの
であることを特徴とするエンジン制御装置。
【請求項７】
請求項６に記載のエンジン制御装置において、
前記アクセス時間予測手段が、
前記エンジンのイグニッションスイッチがＯＦＦにされると「前記アクセス時間が長くなる」と予測するもの
であることを特徴とするエンジン制御装置。
【請求項８】
請求項６または７に記載のエンジン制御装置において、
前記アクセス時間予測手段が、
前記記憶手段の周囲温度が予め定められた閾値よりも高くなると「前記アクセス時間が長くなる」と予測するもの
であることを特徴とするエンジン制御装置。
【請求項９】
請求項６から８にいずれか記載のエンジン制御装置において、
前記ウェイト時間制御手段が、
前記アクセス時間予測手段による予測結果に関わらず当該エンジン制御装置の起動時において、前記ウェイト時間を長くするもの
であることを特徴とするエンジン制御装置。
【請求項１０】
コンピュータプログラムをエンジンの回転角度に応じた割り込みにて起動し実行する演算手段の使用率が高くなるか否かを予測し、高くなると予測された場合には、コンピュータプログラムおよびデータの少なくとも一方が格納されると共に前記演算手段によりアクセスを受けてからデータをデータバスに出力するまでの時間であるアクセス時間が電源電圧に依存して変動する記憶手段に前記演算手段がアクセスしてから前記記憶手段の記憶内容を読み出すまでのウェイト時間を短くする
ことを特徴とするエンジン制御方法。
【請求項１１】
請求項１０に記載のエンジン制御方法において、
前記エンジンの回転数が予め定められた閾値よりも高くなると「前記演算手段の使用率が高くなる」と予測する
ことを特徴とするエンジン制御方法。
【請求項１２】
請求項１１に記載のエンジン制御方法において、
前記閾値よりも前記エンジンの回転数が低くなっても前記ウェイト時間を長くしない
ことを特徴とするエンジン制御方法。
【請求項１３】
請求項１０に記載のエンジン制御方法において、
前記エンジンのクランクシャフトまたはカムシャフトに設けられた突起を検出することにより該クランクシャフトまたは該カムシャフトの回転角度を検出する回転角度センサを備え、
前記突起の検出間隔が予め定められた閾値よりも短くなると「前記演算手段の使用率が高くなる」と予測する
ことを特徴とするエンジン制御方法。
【請求項１４】
コンピュータプログラムをエンジンの回転角度に応じた割り込みにて起動し実行する演算手段の使用率を検出し、高いと検出された場合には、コンピュータプログラムおよびデータの少なくとも一方が格納されると共に前記演算手段によりアクセスを受けてからデータをデータバスに出力するまでの時間であるアクセス時間が電源電圧に依存して変動する記憶手段に前記演算手段がアクセスしてから前記記憶手段の記憶内容を読み出すまでのウェイト時間を短くする
ことを特徴とするエンジン制御方法。
【請求項１５】
請求項１０から１４にいずれか記載のエンジン制御方法において、
前記アクセス時間が長くなるか否かを予測し、長くなると予測された場合には、前記ウェイト時間を長くする
ことを特徴とするエンジン制御方法。
【請求項１６】
請求項１５に記載のエンジン制御方法において、
前記エンジンのイグニッションスイッチがＯＦＦにされると「前記アクセス時間が長くなる」と予測する
ことを特徴とするエンジン制御方法。
【請求項１７】
請求項１５または１６に記載のエンジン制御方法において、
前記記憶手段の周囲温度が予め定められた閾値よりも高くなると「前記アクセス時間が長くなる」と予測する
ことを特徴とするエンジン制御方法。
【請求項１８】
請求項１５から１７にいずれか記載のエンジン制御方法において、
前記アクセス時間の予測結果に関わらず初期状態においては、前記ウェイト時間を長くする
ことを特徴とするエンジン制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はエンジンを電子制御するエンジン制御装置に関し、特にエンジンが回転高速した時などにＣＰＵの使用率（単位時間にＣＰＵが稼働している時間の割合）が高くなり過ぎないようにするエンジン制御装置およびエンジン制御方法に関する。
【０００２】
【従来の技術】
エンジンの燃料噴射量あるいは点火時期等をリアルタイムで制御する場合にはエンジンの回転数（物理的には回転速度というべきだが、慣習に倣いここでは回転数という）に同期した制御演算が必要である。以下、これについて説明する。
【０００３】
まず図５に一般的なエンジンの電子制御系の概要を示す。すなわち、この電子制御系では制御装置１に、エンジンＥの冷却水温センサ２１、吸気管Ｅ１の吸気圧力センサ２２、スロットル開度センサ２３、および排気管Ｅ２の空燃比センサ２４等の信号が入力され、これらの検出結果に基づいて吸気管Ｅ１の燃料噴射弁３１、イグナイタ３２等へ出力信号が発せられてエンジン制御がなされる。
【０００４】
なお、イグナイタ３２と点火コイル３４との間には各気筒の点火プラグ（図示しない）にイグナイタ３２で発生した高電圧を順次分配するディストリビュータ３３が配設されている。また、ディストリビュータ３３は所定クランク角毎に高レベル信号を発生する回転角センサ３３ａを内蔵している。
【０００５】
図６に、制御装置１の構成を示す。制御装置１はマイクロコンピュータ（以下、マイコンと言う）１１、入力インターフェース回路１２〜１４、出力インターフェース１５、制御プログラムおよび比較判定用のデータを格納したＲＯＭ１６より構成されている。マイコン１１は、後述する制御プログラムに従って制御演算を行うＣＰＵ１１１、タイマとして働くカウンタ１１２、エンジンの回転周期を計測するタイマ１１３、Ａ／Ｄ変換器１１４、入力ポート１１５、ワークメモリ等として機能するＲＡＭ１１６、および出力ポート１１８等より構成されている。なお、ＲＡＭ１１６には、電源バックアップされた領域も含まれる。
【０００６】
入力インターフェース回路１２には、ディストリビュータ３３内の回転角センサ３３ａからの信号が入力される。この信号に基づいてＣＰＵ１１１においてエンジンＥの回転数（以下、単に回転数とも言う）が算出される。この回転角センサ３３ａの高レベル信号は後述する制御プログラム処理の実行時期を決定するための割り込み信号としても用いられる。
【０００７】
入力インターフェース回路１３には、スロットル開度センサ２３、吸気圧力センサ２２等の信号が入力され、入力インターフェース回路１４には、各種デジタル信号が入力されている。出力インターフェース１５は、出力ポート１１８から出力される燃料噴射量を時間幅パルスに変換して燃料噴射弁３１に出力したり、イグナイタ３２の動作信号を発したりする。
【０００８】
ＣＰＵ１１１が実行する制御プログラムの概要を図７に示す。図７（ａ）の初期化処理は、制御装置１の起動時に実行される処理である。本処理が起動されるとまずステップ（以下、Ｓと記載）５００にてマイコン（すなわちマイコン１１）の動作環境を設定する。そしてＲＡＭ１１６の初期化を行なうと図７（ｂ）に示すベース処理へ移行する。ベース処理では、まずＳ５２０にて基本噴射量の計算を行なう。そして冷却水温センサ２１、吸気圧力センサ２２等の検出結果に基づき噴射補正量を計算する（Ｓ５３０）。この演算結果に基づいて燃料噴射弁３１の開弁時間が制御される。噴射補正量が算出されるとＳ５２０に戻り、以下、繰り返し実行される。図７（ｃ）に示す割込処理は、エンジンの回転に同期して起動され、回転数の計測、点火、燃料噴射制御を行なうための回転センサ入力処理が行なわれる（Ｓ５４０）。
【０００９】
【発明が解決しようとする課題】
しかしながら、この従来技術によれば、エンジンの回転数が上がると、ＣＰＵ１１１の使用率が増大する。この様子をグラフで示したのが図８（ａ）である。本図に示すように回転数が上がるほど図７（ｃ）の割込処理が起動される頻度が増大するので、ＣＰＵ１１１の使用率が上がって行く。このため、ＣＰＵ１１１には高い処理速度が要求される。ＣＰＵには、メモリ（ＲＡＭ１１６、ＲＯＭ１６など）へアクセスする際に遅延を挿入する（「ウェイト時間を設定する」とも言う）ことが可能にされているものがある。この遅延を短くすることにより、ＣＰＵに使用率を下げるという方法がある。ただしそれだけでは使用率を下げることはできない。メモリとして、アクセス時間が短いものを用いる必要があるからである。これについて図９を用いて説明する。
【００１０】
図９は、ＣＰＵのリードサイクル、高速アクセス可能なメモリ（高速メモリ）の出力状況、低速でしかアクセスできないメモリ（低速メモリ）の出力状況を示したタイムチャートである。本図に示すように、高速メモリであれば、ＣＰＵから読み出し指令を受けてから読み出しデータをデータバスに出力するまでの時間が短いので、ＣＰＵは正しいデータを読み出すことができる。しかし、低速メモリであると、完全にデータが出力されていない状況でＣＰＵが読み出しを試みるので、データを正しく読み取ることができず、ＣＰＵが所望の動作をしなくなることがある。かといって高速メモリは高価であるため、使用されるメモリを全て高速メモリにするのは困難である。このため、ＣＰＵの遅延は、使用されているメモリの中でもっとも遅いものに合せる必要がある。
【００１１】
また、メモリのアクセス時間は、電源電圧に応じて変化する。これについて示したのが図８（ｂ）である。本図に示すように電源電圧が低下すると、メモリのアクセス時間が延びる。このため、通常は電源電圧のレギュレーションを行ない、電源電圧をある値（例えば、４．８Ｖ）以上になるように保証している。ところが、スタータを起動した際には、図１０の左半分に示すように電源電圧が急激に下がる。これに伴ってメモリのアクセス時間が長くなると、ＣＰＵ１１１がデータを正しく読めず、ＣＰＵ１１１が所望の動作をしなくなる可能性がある。
【００１２】
また、エンジンＥを停止させる際にもＣＰＵ１１１が所望の動作をしなくなる可能性がある。これについて、図１１および図１０を用いて説明する。図１１は、制御装置１の電源供給の概略を示したものである。エンジンＥを停止させるためにイグニッションスイッチ（図１０、図１１ではＩＧｓｗと表記）をＯＦＦにすると、ＣＰＵ１１１がこれを検知して信号線３６の出力をローにする。すると、ＯＲ回路３８の出力がローとなり、スイッチング素子４０をＯＦＦする。これによりメインリレー４２がＯＦＦされ、制御装置１の電源が切られる。この結果、図１０の右半分に示すように、メインリレー４２が切られて以降、電源電圧が下がって行く。この結果、メモリのアクセス時間が長くなるので、ＣＰＵ１１１が所望の動作をしなくなり、ＲＡＭ１１６内のバックアップされた領域のデータを書き換えてしまう等の不具合を起こす可能性がある。
【００１３】
本発明はかかる課題に鑑みなされたもので、請求項１、５に記載のエンジン制御装置および請求項１０、１４に記載のエンジン制御方法は、演算手段（ＣＰＵ１１１）の使用率の上昇を抑えることを目的としている。
また請求項２、４に記載のエンジン制御装置および請求項１１、１２に記載のエンジン制御方法は、回転数が高い状態における演算手段の使用率の上昇を抑えることを目的としている。
【００１４】
そして請求項３に記載のエンジン制御装置および請求項１２に記載のエンジン制御方法は、気筒判別に失敗した場合でも適切にエンジン制御を行なえるようにすることを目的としている。
請求項６に記載のエンジン制御装置および請求項１５に記載のエンジン制御方法は、記憶手段（ＲＡＭ１１６、ＲＯＭ１６など）のアクセス時間が長くなる状況においても、演算手段が所望の動作を継続することを目的としている。
【００１５】
請求項７に記載のエンジン制御装置および請求項１６に記載のエンジン制御方法は、エンジンを停止させる際に演算手段が所望の動作をすることを目的としている。
請求項８に記載のエンジン制御装置および請求項１７に記載のエンジン制御方法は、記憶手段の周囲が高温になっても演算手段が所望の動作をすることを目的としている。
【００１６】
請求項９に記載のエンジン制御装置および請求項１８に記載のエンジン制御方法は、エンジンの起動時に演算手段が所望の動作をすることを目的としている。
【００１７】
【課題を解決するための手段及び発明の効果】
かかる課題を解決するためになされた本発明の請求項１に記載のエンジン制御装置は、記憶手段が演算手段によりアクセスを受けてからデータをデータバスに出力するまでの時間であるアクセス時間が、電源電圧に依存して変動するものであり、コンピュータプログラム（以下、単にプログラムと言う）をエンジンの回転角度に応じた割り込みにて起動し実行する演算手段の使用率が高くなるか否かを予測する。高くなると予測された場合には、ウェイト時間を短くする。ここでウェイト時間とは、演算手段が記憶手段にアクセスしてから記憶手段の記憶内容を読み出すまでの時間である。また記憶手段とは、プログラムおよびデータの少なくとも一方が格納されたものである。
【００１８】
このようにウェイト時間を短くすると、プログラムの実行に要する時間が短くなる。このため、演算手段の使用率の上昇を抑えることができる。
請求項２に記載の本発明では、エンジンの回転数が予め定められた閾値よりも高くなると「演算手段の使用率が高くなる」と予測する。
【００１９】
エンジンの回転角度に応じた割り込みにてプログラムを起動すると、図８（ａ）に示したように、エンジンの回転数が高くなるほど演算手段の使用率は増大する。請求項２の本発明では、こうした場合にウェイト時間を短くするので、回転数が高い状態における演算手段の使用率の上昇を抑えることができる。
【００２０】
請求項３に記載の本発明は、請求項２に記載のエンジン制御装置において、前記閾値よりもエンジンの回転数が低くなってもウェイト時間を長くしないことにより気筒判別に失敗した場合でも、演算手段の使用率を抑えることができる。
気筒判別とは、複数の気筒を有するエンジンにおいて、燃料噴射のタイミングを気筒毎に適切に設定するために行なっている処理である。この気筒判別に失敗した場合に、回転数を０ｒｐｍと仮定して前記ベース処理などの演算を行なうことが多い。この仮定に同期してウェイト時間を長くすると、実際には回転数が閾値を超えている場合がある。これでは、演算手段に使用率が高くなってしまう。この点、請求項３に記載の本発明によれば、閾値以下になってもウェイト時間を長くしないので、演算手段の使用率を抑えることができる。
【００２１】
請求項４に記載の本発明は、請求項２に記載のエンジン制御装置において、エンジンのクランクシャフト（またはカムシャフト）に突起を設け、この突起を検出することによりクランクシャフト（またはカムシャフト）の回転角度を検出するようにしている。そしてこの突起の検出間隔が予め定められた閾値よりも短くなると「前記演算手段の使用率が高くなる」と予測する。
【００２２】
これは実質的に回転数を検出しているのと同じであるため、請求項２に記載の本発明と同様の効果を奏するものとなる。
請求項５に記載の本発明は、請求項１に記載の発明と同様、記憶手段と演算手段とを備えたエンジン制御装置であって、記憶手段のアクセス時間が電源電圧に依存して変動するものである。そして、本発明（請求項５）では、演算手段の使用率を直接検出し、検出された使用率が高い場合には、ウェイト時間を短くする。このようにしても、請求項１に記載の発明と略同様の効果を奏する。
【００２３】
なお、こうすると、演算手段の使用率が高くなることを予測した場合に比べ、ウェイト時間の短縮が遅れることも予想される。しかしこれは「高い」と判断するための閾値を低めに設定することにより改善される。
請求項６に記載の本発明は、請求項１から５にいずれか記載のエンジン制御装置において、記憶手段のアクセス時間が長くなるか否かを予測し、「長くなる」と予測されると、ウェイト時間を長くするようにしたものである。
【００２４】
アクセス時間が長くなった状況で、ウェイト時間が短くされていると、データがデータバスに出力される前に、演算手段がデータを読み込もうとする。これでは、演算手段が所望の動作をしない可能性が高い。
【００２５】
この点、請求項６に記載の本発明のように「アクセス時間が長くなる」と予想される場合にはウェイト時間を長くすれば、演算手段が所望の動作を継続することができる。
請求項７に記載の本発明は、請求項６に記載のエンジン制御方法において、エンジンのイグニッションスイッチがＯＦＦにされると「アクセス時間が長くなる」と予測する。
【００２６】
イグニッションスイッチがＯＦＦにされると通常、これに続いてエンジン制御装置の電源がＯＦＦにされるので、エンジン制御装置に供給される電圧は低下して行く。電圧が低下すると、ＲＡＭ、ＲＯＭなどの記憶手段はアクセス時間が長くなるので、この際にウェイト時間が短くされていると演算手段が所望の動作をしない可能性が高い。
【００２７】
この点、請求項７に記載の本発明では、エンジンのイグニッションスイッチがＯＦＦにされるとウェイト時間が長くされるので、エンジンを停止させる際に、演算手段が所望の動作を継続することができる。
請求項８に記載の本発明では、記憶手段の周囲温度が予め定められた閾値よりも高くなると「前記アクセス時間が長くなる」と予測する。
【００２８】
記憶手段の周囲温度が高くなると、一般にアクセス時間は長くなる。請求項８に記載の本発明では、この場合にウェイト時間が長くされるので、記憶手段の周囲温度が高くなった場合にも、演算手段が所望の動作を継続することができる。請求項９に記載の本発明は、アクセス時間予測手段による予測結果に関わらず当該エンジン制御装置の起動時において、ウェイト時間を長くする。
【００２９】
一般に、エンジンの起動は、エンジン制御装置を起動し、スタータを起動し、エンジンを起動する、という手順を踏む。このスタータを起動する際に、電源電圧は急激に下がる。すると、ＲＡＭ、ＲＯＭなどの記憶手段はアクセス時間が長くなるので、ウェイト時間が短くされていると、演算手段が所望の動作をしなくなる可能性が高い。
【００３０】
この点、請求項９に記載の本発明では、エンジン制御装置が起動されるとウェイト時間が長くされるので、演算手段が所望の動作を継続することができる。
なお、請求項１〜９のエンジン制御装置をエンジン制御方法として構成したのが、それぞれ請求項１０〜１８に記載の本発明であり、それぞれ対応するエンジン制御装置と同様の効果を奏することができる。
【００３１】
【発明の実施の形態】
以下に本発明の実施の形態を図面と共に説明する。
なお、エンジン制御装置としてのハードウェアの構成は、前述した従来のエンジン制御装置とほぼ同様であるので図示及び説明を省略する。また各部の構成についても混乱を招かない限り同じ符号を付した。
【００３２】
まず、図１は本発明を適用した制御装置１で用いられるマイコン１１の概要である。マイコン１１は、メモリにアクセスする際の遅延を設定するレジスタ４４を備えている。プログラム中に書きこまれたレジスタ４４に値を設定する命令をＡＬＵ（Arithmetic Logic  Unit）４６が実行することにより遅延が挿入される（ウェイト時間を設定するとも言う）。なお、このプログラムの読み込みは、起動時にレジスタ４４に自動的に設定される値が表すウェイト時間にて行なわれる。メモリへのアクセスは、外部アクセスインターフェース回路４８を通じて行なわれる。
【００３３】
このマイコン１１にて行なわれる処理の概要を図２に示す。図２（ａ）の初期化処理は、制御装置１の起動時に実行される処理である。本処理が起動されると、まずＳ１００にてメモリに低速でアクセスするようレジスタ４４の値を設定する（「ウェイト時間を長くする」とも言う）。なお、本図には示されていないが、図７（ａ）の初期化処理と同様、その他のマイコン各部の初期化やＲＡＭ１１６の初期化も行ない、続いてベース処理を行なう。
【００３４】
図２（ｂ）に示す処理Ａは、一定時間ごとのタイマ割り込みにて起動される。本処理が起動されるとまずＳ２００で、エンジンＥが停止しているか否かを判定する。エンジンＥが停止している場合にはＳ２１０に進み、メモリに低速でアクセスするようレジスタ４４の値を設定し、本処理を終了する。エンジンＥが稼働している場合にはＳ２２０に進み、エンジンＥの回転数が５００ｒｐｍより大か否かを判定する。回転数が５００ｒｐｍより大のときには、Ｓ２３０に進みメモリに高速でアクセスするようレジスタ４４の値を設定し（つまりウェイト時間を短くし）、本処理を終了する。一方、回転数が５００ｒｐｍ以下のときには、ウェイト時間を変化させることなく本処理を終了する。
【００３５】
このような処理Ａを行なった場合の、エンジンＥの回転数とＣＰＵ１１１の使用率の関係を図３のグラフに示す。このグラフにおいて、白で示したのがＳ２２０およびＳ２３０の処理を行なわない場合、斜線で示したのがＳ２２０およびＳ２３０の処理を行なう場合である。本図に示すように、Ｓ２２０およびＳ２３０の処理を行なわない（ウェイト時間を短くしない）場合には、図８（ａ）と略同様、エンジンＥの回転数が上がるほどＣＰＵ１１１の使用率は増大して行く。一方、Ｓ２２０およびＳ２３０の処理を行なうことにより、本図に示す５００ｒｐｍより高い回転数においてＣＰＵ１１１の使用率を抑えることができる。
【００３６】
なお、処理Ａでは、一旦、ウェイト時間を短くした後は、エンジンＥが停止しない限り、回転数が５００ｒｐｍ以下になってもウェイト時間を長くしないが、これには次のような意味がある。すなわち、複数の気筒を有するエンジンにおいては、燃料噴射のタイミングを気筒毎に適切に設定するために、気筒判別という処理（図示しない）を行なっている。この気筒判別に失敗した場合に、ベース処理などにおいて回転数を０ｒｐｍと仮定して演算を行なうことが多い。この仮定に同期してウェイト時間を長くすると、実際には回転数が５００ｒｐｍを超えている、という事態が発生し得る。これでは、ＣＰＵ１１１に使用率が上がってしまう。この点、処理Ａのように５００ｒｐｍ以下になってもウェイト時間を長くしないことにより、ＣＰＵ１１１の使用率を抑えることができる。
【００３７】
図２（ｃ）に示す処理Ｂも、一定時間ごとのタイマ割り込みにて起動される。本処理では、まずＳ３００にて、イグニッションスイッチがＯＦＦされてから３ｓ経過したか否かを判定する。経過していなければ本処理を終了する。３ｓ経過していれば、Ｓ３１０に進み、メモリに低速でアクセスするようレジスタ４４の値を設定する。そして続くＳ３２０にてメインリレー４２をＯＦＦにし、本処理を終了する。このような処理Ｂを行なうことにより、メインリレー４２がＯＦＦされ、電源電圧が低下しても、そのときには既にメモリに低速でアクセスするように切り換えられているため、ＣＰＵ１１１が所望の動作を継続することができる（図４参照）。また、図２（ａ）の初期化処理により、制御装置１の起動時に発生する電源電圧の急激な効果にも対応することができる。
【００３８】
以上を総合すると、次のようになる。すなわち本発明によれば、図４の最下段に示すように、電源電圧が急激に下がるスタータの始動時には、メモリに低速でアクセスする（ウェイト時間が長い）ので、ＣＰＵ１１１が正しいデータをメモリから読み取ることができる。また、エンジンＥの回転数が５００ｒｐｍを超えると、メモリに高速でアクセスするように切り換える（ウェイト時間を短くする）ので、ＣＰＵ１１１の使用率を抑えることができる（図３参照）。しかも、イグニッションスイッチをＯＦＦにすると、ウェイト時間を長くするので、ＣＰＵ１１１が正しいデータをメモリから読み取ることができ、ＣＰＵ１１１は所望の動作を継続することができる。またエンストした際にも、Ｓ２１０にてウェイト時間を長くするので、ＣＰＵ１１１は所望の動作を継続する。
【００３９】
ここで、本実施の形態の構成と本発明の必須要件との対応関係を示す。ＣＰＵ１１１が演算手段に相当し、ＲＡＭ１１６およびＲＯＭ１６が記憶手段に相当し、Ｓ２２０が使用率予測手段に相当し、Ｓ１００、Ｓ２３０、およびＳ３１０がウェイト時間制御手段に相当し、Ｓ３００がアクセス時間予測手段に相当し、回転角センサ３３ａが回転角度センサに相当する。
【００４０】
以上、本発明を適用した実施の形態として、制御装置１について説明してきたが、本発明はこの実施の形態に何等限定されるものではなく様々な態様で実施し得る。
例えば、ＣＰＵ１１１の使用率が高くなることを、エンジンＥの回転数以外の条件で予測してもよい。この条件としては例えば、回転角センサ３３ａのパルス間隔が挙げられる。回転角センサ３３ａは、エンジンＥのクランクシャフトまたはカムシャフトに設けられた突起を検出することにより、クランクの角度を検出する。従って、回転数が増大すると突起の検出間隔（パルス間隔）が短くなる。これは実質的に回転数を検出しているのと同じであるため、前記実施の形態と同様の効果を奏するものとなる。また、ＣＰＵ１１１の使用率を算出してそれを直接用いて遅延時間を切り換えてもよい。
【００４１】
また、メモリのアクセス時間が長くなることを電源電圧の変化以外の条件で予測してもよい。この条件としては、周囲温度が挙げられる。この場合、周囲温度が上がるとウェイト時間を長くし、下がるとウェイト時間を短くする。こうすれば、周囲温度の上昇によるメモリのアクセス時間の増大にも対応できる。
【００４２】
また、Ｓ１００、Ｓ２１０、Ｓ３１０においてレジスタ４４に設定する値は互いに同じ値でもよいが、異なる値でもよい。例えば、電源電圧が急激に低下するスタータ始動時に対応して、Ｓ１００において設定するウェイト時間を、Ｓ２１０、Ｓ３１０にて設定されるウェイト時間に比べて大きくしてもよい。
【図面の簡単な説明】
【図１】  本発明を適用した制御装置１にて用いられるマイコン１１の概略ブロック図である。
【図２】  本発明の制御装置１のＣＰＵ１１１が実行するプログラムの概要を示すフローチャートである。
【図３】  エンジンの回転数と本発明の制御装置１のＣＰＵ１１１の使用率の関係を例示するグラフである。
【図４】  本発明の制御装置１においてスタータを稼働した際およびイグニッションスイッチをＯＦＦにした際の電源電圧の変化などを示すタイムチャートである。
【図５】  一般的なエンジンの電子制御系の概要を示す説明図である。
【図６】  エンジンの電子制御系の制御装置１の構成を示す説明図である。
【図７】  制御装置１のＣＰＵ１１１が実行するプログラムの概要を示すフローチャートである。
【図８】  エンジンの回転数とＣＰＵ１１１の使用率の関係およびメモリのアクセス時間と電源電圧の関係を例示するグラフである。
【図９】  高速でアクセスできないメモリを用いた際に発生する不具合を示すタイムチャートである。
【図１０】  従来のエンジン制御装置においてスタータを稼働した際およびイグニッションスイッチをＯＦＦにした際の電源電圧の変化などを示すタイムチャートである。
【図１１】  制御装置１の電源供給の概略を示す説明図である。
【符号の説明】
１…制御装置              １１…コンピュータ
１２、１３、１４…入力インターフェース回路
１５…出力インターフェース
２３…スロットル開度センサ    ３１…燃料噴射弁
３３ａ…回転角センサ          ３４…点火コイル
４２…メインリレー              ４４…レジスタ
４８…外部アクセスインターフェース回路
１１１…ＣＰＵ                    Ｅ…エンジン
Ｅ１…吸気管                      Ｅ２…排気管
【図１】
0003849379.tif 000002
【図２】
0003849379.tif 000003
【図３】
0003849379.tif 000004
【図４】
0003849379.tif 000005
【図５】
0003849379.tif 000006
【図６】
0003849379.tif 000007
【図７】
0003849379.tif 000008
【図８】
0003849379.tif 000009
【図９】
0003849379.tif 000010
【図１０】
0003849379.tif 000011
【図１１】
0003849379.tif 000012