(57)【要約】【課題】マイコンにおいて、内部イベントの発生に伴ない、割り込みにより複数の処理を起動する場合に、それぞれの処理を適切に起動すること。【解決手段】水温センサ１４及びスロットルセンサ１６の検出信号のＡ／Ｄ変換の終了時に、Ａ／Ｄ変換完了により優先度の高い割り込みを発生するとともに、その割り込み処理中に優先度の低いタイマ割り込みを発生させる。そして、Ａ／Ｄ変換完了による割り込みにてスロットルセンサ１６の検出信号のデータ値変換処理を行ない、タイマ割り込みにて水温センサ１４の検出信号のデータ値変換処理を行なう。【選択図】      図２
2005182642.tif 000002
【特許請求の範囲】
【請求項１】
マイコンの内部イベントの発生に伴なって、割り込みによって、第１の処理と第２の処理とを起動する起動方法であって、
前記内部イベントの発生により第１の割り込みを生じて、前記第１の処理を起動させる第１起動ステップと、
前記内部イベントの発生に関連して、前記第１の処理の終了時以後に、前記内部イベントとは異なるイベントを発生させるイベント発生ステップと、
前記内部イベントとは異なるイベントの発生により第２の割り込みを生じて、前記第２の処理を起動させる第２起動ステップとを備えることを特徴とする起動方法。
【請求項２】
前記マイコンは、複数の処理が競合した場合、処理優先度の高い処理を優先して実行するものであって、前記内部イベントの発生による割り込みの優先度は、前記内部イベントとは異なるイベントの発生による割り込みの優先度よりも高く設定されることを特徴とする請求項１に記載の起動方法。
【請求項３】
前記内部イベントは、Ａ／Ｄ変換器によるＡ／Ｄ変換の完了と、通信データの受信の完了とのいずれかであることを特徴とする請求項１に記載の起動方法。
【請求項４】
前記イベント発生ステップでは、前記第１の処理の終了時以後にカウント動作が終了するタイマを用い、当該タイマのカウントが終了した時にタイマ割り込みを発生させ、このタイマ割り込みを前記イベントの発生として利用することを特徴とする請求項１乃至請求項３のいずれかに記載の起動方法。
【請求項５】
前記タイマのカウント動作は、前記第１の処理の終了時以後に開始されることを特徴とする請求項４に記載の起動方法。
【請求項６】
マイコンの内部イベントの発生に伴なって、割り込みによって、第１の処理と第２の処理とを起動する起動方法であって、
前記内部イベントの発生による割り込みには相対的に低い優先度が与えられるものであり、その内部イベントの発生による割り込みによって、前記第２の処理を起動させる第１起動ステップと、
前記内部イベントの発生に関連して、前記内部イベントの発生後であって、前記第２の処理の終了前に、前記内部イベントの発生による割り込みの優先度よりも高い優先度が与えられる割り込みを生じる、前記内部イベントとは異なるイベントを発生させるイベント発生ステップと、
前記内部イベントとは異なるイベントの発生による割り込みによって、前記第２の処理を一時中断して、前記第１の処理を起動させる第２起動ステップとを備えることを特徴とする起動方法。
【請求項７】
前記内部イベントは、Ａ／Ｄ変換器によるＡ／Ｄ変換の完了と、通信データの受信の完了とのいずれかであることを特徴とする請求項６に記載の起動方法。
【請求項８】
前記イベント発生ステップでは、前記内部イベントの発生以後にカウント動作が終了するタイマを用い、当該タイマのカウントが終了した時にタイマ割り込みを発生させ、このタイマ割り込みを前記イベントの発生として利用することを特徴とする請求項６又は請求項７に記載の起動方法。
【請求項９】
前記内部イベントが、Ａ／Ｄ変換器によるＡ／Ｄ変換の完了である場合、当該Ａ／Ｄ変換器に対してＡ／Ｄ変換の実行を指示したときに同期して、前記タイマのカウント動作が開始されることを特徴とする請求項８に記載の起動方法。
【請求項１０】
前記内部イベントが、通信データの受信の完了である場合、当該通信データの受信を開始したときに同期して、前記タイマのカウント動作が開始されることを特徴とする請求項８に記載の起動方法。
【請求項１１】
第１の処理の有無を判定する判定ステップと、
前記判定ステップによって第１の処理があると判定した場合には、当該第１の処理の起動タイミングを規定する内部イベントの発生による割り込みの優先度を相対的に高く設定し、前記第１の処理がないと判定した場合には、第２の処理の起動タイミングを規定することになる前記内部イベントの発生による割り込みの優先度を相対的に低く設定する優先度設定ステップと、
前記第１の処理がある場合には、前記内部イベントが発生した時に、その内部イベントの発生による割り込みによって、相対的に高い優先度の下に、前記第１の処理を起動する第１の起動ステップと、
前記第１の処理がある場合に、当該第１の処理の終了時以後に、前記内部イベントとは異なるイベントを発生させるとともに、このイベントの発生による割り込みの優先度を相対的に低く設定するイベント発生ステップと、
前記第１の処理がない場合には前記内部イベントが発生した時、あるいは前記第１の処理がある場合には前記内部イベントとは異なるイベントが発生した時に、相対的に低い優先度の下に、割り込みによって前記第２の処理を起動する第２の起動ステップとを備えることを特徴とする起動方法。
【請求項１２】
前記内部イベントは、Ａ／Ｄ変換器によるＡ／Ｄ変換の完了と、通信データの受信の完了とのいずれかであることを特徴とする請求項１１に記載の起動方法。
【請求項１３】
前記イベント発生ステップでは、前記第１の処理の終了時以後にカウント動作が終了するタイマを用い、当該タイマのカウントが終了した時にタイマ割り込みを発生させ、このタイマ割り込みを前記イベントの発生として利用することを特徴とする請求項１１又は請求項１２に記載の起動方法。
【請求項１４】
前記タイマのカウント動作は、前記第１の処理の終了時以後に開始されることを特徴とする請求項１３に記載の起動方法。
【請求項１５】
第１の処理の有無を判定する判定ステップと、
前記判定ステップによって第１の処理があると判定した場合には、当該第１の処理よりも処理優先度の低い第２の処理の起動タイミングを規定する内部イベントの発生に関連して、当該内部イベントの発生後であって、前記第２の処理の終了前に、前記内部イベントとは異なるイベントを発生させるものであって、このイベントの発生による割り込みは前記内部イベントの発生による割り込みよりも高い優先度を有するイベント発生ステップと、
前記内部イベントが発生した時、その内部イベントの発生による割り込みによって、相対的に低い優先度の下に、前記第２の処理を起動する第１の起動ステップと、
前記イベント発生ステップによって前記内部イベントとは異なるイベントが発生した時、そのイベントの発生による割り込みによって、相対的に低い割り込み優先度の下で起動された前記第２の処理を一時中断して、前記第１の処理を起動させる第２の起動ステップとを備えることを特徴とする起動方法。
【請求項１６】
前記内部イベントは、Ａ／Ｄ変換器によるＡ／Ｄ変換の完了と、通信データの受信の完了とのいずれかであることを特徴とする請求項１５に記載の起動方法。
【請求項１７】
前記イベント発生ステップでは、前記内部イベントの発生以後にカウント動作が終了するタイマを用い、当該タイマのカウントが終了した時にタイマ割り込みを発生させ、このタイマ割り込みを前記イベントの発生として利用することを特徴とする請求項１５又は請求項１６に記載の起動方法。
【請求項１８】
前記内部イベントが、Ａ／Ｄ変換器によるＡ／Ｄ変換の完了である場合、当該Ａ／Ｄ変換器に対してＡ／Ｄ変換の実行を指示したときに同期して、前記タイマのカウント動作が開始されることを特徴とする請求項１７に記載の起動方法。
【請求項１９】
前記内部イベントが、通信データの受信の完了である場合、当該通信データの受信を開始したときに同期して、前記タイマのカウント動作が開始されることを特徴とする請求項１７に記載の起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイコンにおいて、Ａ／Ｄ変換完了や通信データの受信完了等の内部イベントの発生に伴なって、割り込みによって、優先度の異なる複数の処理を、適切に起動することが可能な起動方法に関する。
【背景技術】
【０００２】
従来、例えばＡ／Ｄ変換処理の完了に同期して実行する必要がある処理については、Ａ／Ｄ変換処理の完了によって割り込みを発生させ、その割り込みによって処理を起動していた。
【０００３】
具体例として、例えば、あるセンサからのセンサ信号（アナログ信号）をＡ／Ｄ変換処理し、そのＡ／Ｄ変換処理の完了に同期して、デジタル信号に変換されたセンサ信号を、所定単位のデータ値に変換するための演算処理を行なう場合などがある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで、Ａ／Ｄ変換処理の完了に同期して、実行する必要がある新たな処理が追加された場合には、以下に述べるような問題が発生する。
【０００５】
すなわち、新たに追加した処理は、従来のＡ／Ｄ変換処理完了に同期させる処理よりも優先度を上げて実行しなければならない場合、追加処理の優先度に合わせて、Ａ／Ｄ変換完了時の割り込み優先度を上げることになる。この場合、従来のＡ／Ｄ変換処理完了に同期させる処理の優先度も上がってしまうため、本来、その処理よりも高い優先度を持つ処理の実行に支障を及ぼす可能性がある。
【０００６】
また、タイマ割り込み等の他の割り込み処理の優先度との高低関係を変更できない場合や、大量のデータ処理が必要であるため優先度を上げると、他の処理に及ぼす影響が大きい場合など、Ａ／Ｄ変換処理の完了に同期する処理の割り込み優先度を変更できない場合もありえる。この場合、追加処理を適切な割り込み優先度にて処理することができなくなってしまう。
【０００７】
本発明は、上述した点に鑑みてなされたものであり、マイコンにおいて、内部イベントの発生に伴ない、割り込みにより複数の処理を起動する場合に、それぞれの処理を適切に起動することが可能な起動方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１に記載の起動方法は、
マイコンの内部イベントの発生に伴なって、割り込みによって、第１の処理と第２の処理とを起動する起動方法であって、
内部イベントの発生により第１の割り込み生じて、第１の処理を起動させる第１起動ステップと、
内部イベントの発生に関連して、第１の処理の終了時以後に、内部イベントとは異なるイベントを発生させるイベント発生ステップと、
内部イベントとは異なるイベントの発生により第２の割り込みを生じて、第２の処理を起動させる第２起動ステップとを備えることを特徴とする。
【０００９】
このように請求項１の起動方法によれば、内部イベントの発生に関連して、内部イベントとは異なるイベントを発生させるので、第１の処理と第２の処理を異なる割り込みによって起動することができる。従って、第１の処理と第２の処理との優先度が異なる場合であっても、それぞれの処理の優先度に応じて、各処理を適切に起動することができる。
【００１０】
請求項２に記載したように、マイコンは、複数の処理が競合した場合、処理優先度の高い処理を優先して実行するものであって、内部イベントの発生による割り込みの優先度は、内部イベントとは異なるイベントの発生による割り込みの優先度よりも高く設定されることが好ましい。これにより、第１の処理と第２の処理との優先度が異なる場合、すなわち、第１の処理の優先度が第２の処理の優先度よりも高い場合に、それぞれの処理の優先度に対応した割り込みの優先度の下で、マイコンは各処理を起動することができる。
【００１１】
また、請求項３に記載したように、内部イベントとして、Ａ／Ｄ変換器によるＡ／Ｄ変換の完了と、通信データの受信の完了とのいずれかを利用できる。Ａ／Ｄ変換完了時や通信データの受信完了時には、上述したように、それらに付随して所定の処理を実行する必要が生じることがあるためである。
【００１２】
請求項４に記載したように、イベント発生ステップでは、第１の処理の終了時以後にカウント動作が終了するタイマを用い、当該タイマのカウントが終了した時にタイマ割り込みを発生させ、このタイマ割り込みをイベントの発生として利用することができる。すなわち、タイマ割り込みは、所定時間をカウントした時点で発生するため、その割り込みタイミングを容易に所定のタイミング（第１の処理の終了時以後）に合わせ込むことができるため好ましい。なお、請求項５に記載したように、タイマのカウント動作は、第１の処理の終了時以後に開始されることが好ましい。これにより、タイマのカウント動作の設定等により第１の処理が遅延することを防止できる。
【００１３】
請求項６に記載の起動方法は、
マイコンの内部イベントの発生に伴なって、割り込みによって、第１の処理と第２の処理とを起動する起動方法であって、
内部イベントの発生による割り込みには相対的に低い優先度が与えられるものであり、その内部イベントの発生による割り込みによって、第２の処理を起動させる第１起動ステップと、
内部イベントの発生に関連して、内部イベントの発生後であって、第２の処理の終了前に、内部イベントの発生による割り込みの優先度よりも高い優先度が与えられる割り込みを生じる、内部イベントとは異なるイベントを発生させるイベント発生ステップと、
内部イベントとは異なるイベントの発生による割り込みによって、第２の処理を一時中断して、第１の処理を起動させる第２起動ステップとを備えることを特徴とする。
【００１４】
このように請求項６の起動方法においても、内部イベントの発生に関連して、内部イベントとは異なるイベントを発生させるので、第１の処理と第２の処理とを異なる割り込みによって起動することができる。また、それぞれの割り込みの優先度は、第１及び第２の処理の優先度合を考慮して設定される。従って、第１の処理と第２の処理との優先度が異なる場合に、それぞれの処理の優先度に応じて適切に各処理を起動することができる。
【００１５】
特に請求項６の起動方法の場合、第２の処理が、本来、内部イベントの発生に同期する処理だとすると、第１の処理は、その内部イベントとは異なるイベントの発生によって起動されるように構成したため、第１の処理の追加や削除を簡単に行なうことができるとのメリットがある。
【００１６】
なお、請求項７は、上述した請求項３と同様であるため説明を省略する。
【００１７】
請求項８に記載のように、イベント発生ステップでは、内部イベントの発生以後にカウント動作が終了するタイマを用い、当該タイマのカウントが終了した時にタイマ割り込みを発生させ、このタイマ割り込みをイベントの発生として利用することが好ましい。その理由は、請求項４において記載した理由と同様である。
【００１８】
請求項９に記載したように、内部イベントが、Ａ／Ｄ変換器によるＡ／Ｄ変換の完了である場合、当該Ａ／Ｄ変換器に対してＡ／Ｄ変換の実行を指示したときに同期して、タイマのカウント動作が開始されることが好ましい。このように、Ａ／Ｄ変換処理と並行してタイマのカウント動作を行なうことにより、Ａ／Ｄ変換処理の完了から僅かな遅れを持って、タイマ割り込みを発生させることができる。
【００１９】
同様の理由から、請求項１０に記載したように、内部イベントが、通信データの受信の完了である場合、当該通信データの受信を開始したときに同期して、タイマのカウント動作が開始されることが好ましい。
【００２０】
請求項１１に記載の起動方法は、
第１の処理の有無を判定する判定ステップと、
判定ステップによって第１の処理があると判定した場合には、当該第１の処理の起動タイミングを規定する内部イベントの発生による割り込みの優先度を相対的に高く設定し、第１の処理がないと判定した場合には、第２の処理の起動タイミングを規定することになる内部イベントの発生による割り込みの優先度を相対的に低く設定する優先度設定ステップと、
第１の処理がある場合には、内部イベントが発生した時に、その内部イベントの発生による割り込みによって、相対的に高い優先度の下に、第１の処理を起動する第１の起動ステップと、
第１の処理がある場合に、当該第１の処理の終了時以後に、内部イベントとは異なるイベントを発生させるとともに、このイベントの発生による割り込みの優先度を相対的に低く設定するイベント発生ステップと、
第１の処理がない場合には内部イベントが発生した時、あるいは第１の処理がある場合には内部イベントとは異なるイベントが発生した時に、相対的に低い優先度の下に、割り込みによって第２の処理を起動する第２の起動ステップとを備えることを特徴とする。
【００２１】
マイコンによっては、本来、内部イベントの発生に同期して起動される第２の処理に対して、第１の処理が追加されたり、追加されなかったりする場合がある。請求項１１の起動方法は、そのような第１の処理の追加の有無に係わらず、共通の起動方法を適用できるようにしたものである。
【００２２】
すなわち、請求項１１の起動方法では、第１の処理の有無を判定し、その第１の処理の有無によって、内部イベント発生による割り込み優先度を変更したり、第２の処理を起動するイベントの種類を変更したりしている。このような方法により、第１の処理の追加の有無に係わらず、共通の起動方法によって、各処理の優先度に応じて、各処理を適切に起動することができる。
【００２３】
また、請求項１５に記載の起動方法は、
第１の処理の有無を判定する判定ステップと、
判定ステップによって第１の処理があると判定した場合には、当該第１の処理よりも処理優先度の低い第２の処理の起動タイミングを規定する内部イベントの発生に関連して、内部イベントの発生後であって、第２の処理の終了前に、内部イベントとは異なるイベントを発生させるものであって、このイベントの発生による割り込みは内部イベントの発生による割り込みよりも高い優先度を有するイベント発生ステップと、
内部イベントが発生した時、その内部イベントの発生による割り込みによって、相対的に低い優先度の下に、第２の処理を起動する第１の起動ステップと、
イベント発生ステップによって内部イベントとは異なるイベントが発生した時、そのイベントの発生による割り込みによって、相対的に低い割り込み優先度の下で起動された第２の処理を一時中断して、第１の処理を起動させる第２の起動ステップとを備えることを特徴とする。
【００２４】
この請求項１５に記載の起動方法も、請求項１１に記載の起動方法と同様に、第１の処理の追加の有無に係わらず、共通の起動方法を適用できるようにしたものである。
【００２５】
ただし、請求項１５では、第１の処理が追加された場合、内部イベントとは異なるイベントの発生によって第１の処理を起動するように構成したため、請求項１１に記載の作用・効果に加えて、第１の処理の追加や削除を簡単に行なうことができるとのメリットがある。
【００２６】
なお、請求項１２〜１４及び請求項１６〜１９果は、上述した請求項３〜５及び請求項７〜１０と同様であるため、説明を省略する。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施形態に関して、図面に基づいて説明する。なお、以下に説明する実施形態においては、本発明による起動方法を、車両に搭載されたエンジンを制御するエンジンＥＣＵに適用した例について説明するが、その他の車載ＥＣＵに適用することはもちろん、車両制御以外の用途におけるＥＣＵに適用することも可能である。
【００２８】
（第１実施形態）
図１は、本実施形態に係わるエンジン制御装置全体の概略構成を示す構成図である。同図に示すように、エンジン１０の吸気管にはインジェクタ１１が取り付けられており、このインジェクタ１１は、図示しないフューエルポンプによって圧送された燃料を吸気管に噴射するものである。インジェクタ１１によって噴射される燃料量や噴射時期は、エンジンＥＣＵ２０によって制御される。
【００２９】
イグナイタ１２は、エンジン１０の各気筒に設けられた点火プラグに点火電圧を与える。すなわち、エンジンＥＣＵ２０から最適な点火時期に制御された点火信号がイグナイタ１２に出力され、イグナイタ１２はこの点火信号に同期してパワートランジスターをＯＮ／ＯＦＦさせる。イグナイタ１２のパワートランジスターがＯＦＦになるとイグニッションコイルに高電圧が発生し、点火プラグに点火する。
【００３０】
エンジン１０のクランクシャフトには、エンジン１０の回転速度を検出するクランクセンサ１３が設けられる。また、エンジン１０のシリンダブロックには、エンジン１０の冷却水温を検出する水温センサ１４が設けられる。さらに、本実施形態におけるエンジン制御装置は、電子スロットルバルブ１５の開度を検出するスロットルセンサ１６を有する。これらのセンサは、それぞれ、エンジンＥＣＵ２０に接続されて、検出信号をエンジンＥＣＵ２０に出力する。なお、エンジンＥＣＵ２０には、さらにエンジン１０への吸入空気量を検出するエアフローメータや排気ガス中の酸素濃度を検出するＯ２センサ等の信号も入力されるが、図示を省略する。
【００３１】
エンジンＥＣＵ２０は、マイコン２２を有し、このマイコン２２は、外部入出力回路２１を介して、上述した各種のセンサや外部装置と接続されている。マイコン２２は、通常のコンピュータとして構成されており、内部にはＣＰＵ２３、Ａ／Ｄ変換器２４、タイマ２５、入出力回路２６、及びＡ／Ｄ変換器２４やタイマ２５による割り込みを制御する割り込みコントローラ２７を備えている。
【００３２】
さらに、マイコン２２は、図示しないＲＯＭやＲＡＭの記憶素子を備えている。ＲＯＭには、エンジンＥＣＵ２０において実行されるべきプログラムが書き込まれており、このプログラムに従って所定の演算処理を実行することにより、各種センサの検出信号に基づいて、上述した燃料噴射量や点火時期を制御する。
【００３３】
すなわち、ＣＰＵ２３は、上述したプログラムに従って、クランクセンサ１３や水温センサ１４等の検出信号を、Ａ／Ｄ変換器２４やタイマ２５の機能を利用して、電気信号から物理的なデータ値（回転速度や水温）に変換する。そして、これらのデータ値に基づいて、エンジン１０が最適動作するようにイグナイタ１２に点火信号を出力し、インジェクタ１１に燃料噴射信号を出力する。
【００３４】
Ａ／Ｄ変換器２４やタイマ２５により発生する割り込み信号は、割り込みコントローラ２７によってその割り込みの優先度が判定され、現在実行中の処理よりも優先度の高い割り込みである場合には、ＣＰＵ２３に割り込みを発生させる。
【００３５】
次に、本実施形態の特徴について詳細に説明する。すなわち、マイコン２２の内部イベントとしてＡ／Ｄ変換処理が完了した場合を例に取り、そのＡ／Ｄ変換処理の完了に伴なって、優先度の異なる複数の処理を適切に起動するための手法について説明する。
【００３６】
例えば、エンジンＥＣＵ２０では、従来から、冷却水温を検出する水温センサ１４の検出信号をＡ／Ｄ変換し、そのＡ／Ｄ変換処理の完了による割り込みにて、Ａ／Ｄ変換されたデジタル値を物理的なデータ値に変換している（すなわち、単位が（Ｖ）の信号から（℃）の信号への変換）。
【００３７】
この水温センサ１４の検出信号のＡ／Ｄ変換処理及びＡ／Ｄ変換完了時のデータ値変換処理に、スロットルセンサ１６に関するＡ／Ｄ変換処理等が追加される場合を考える。例えば、水温センサ１４の検出信号のＡ／Ｄ変換周期とスロットルセンサ１６のＡ／Ｄ変換周期とが同じである場合には、水温センサ１４に関する上述した処理に、スロットルセンサ１６に関する処理を追加することができる。
【００３８】
この場合、水温センサ１４の検出信号のＡ／Ｄ変換処理とスロットルセンサ１６の検出信号のＡ／Ｄ変換処理とが、Ａ／Ｄ変換器２４においてシリアルもしくはパラレルに行なわれ、その後、それぞれ変換されたデジタル値を物理的なデータ値に変換するデータ値変換処理が行なわれることになる。
【００３９】
ここで、スロットルセンサ１６のデジタル化された検出信号のデータ値変換処理は、スロットルバルブ１５の開度制御（スロットル制御）に必要な実際のスロットルバルブの開度を求めるものであるため迅速に行なわれる必要がある。すなわち、スロットルバルブ１５の実際の開度が目標開度からずれていた場合には、即座にそれを修正するための出力値を決定し、電子スロットルバルブ１５を駆動するモータへ与える必要がある。このように、スロットル制御はリアルタイム性が非常に厳しいため、スロットルセンサ１６の検出信号のデータ値変換処理は、水温センサの検出信号のデータ値変換処理よりも優先度を高くして行なう必要がある。
【００４０】
そこで、本実施形態では、図２に示すように、水温センサ１４及びスロットルセンサ１６の検出信号のＡ／Ｄ変換の終了時に、Ａ／Ｄ変換完了により優先度の高い割り込みを発生するとともに、その割り込み処理中に優先度の低いタイマ割り込みを発生させる。そして、Ａ／Ｄ変換完了による割り込みにてスロットルセンサ１６の検出信号のデータ値変換処理を行ない、タイマ割り込みにて水温センサ１４の検出信号のデータ値変換処理を行なう。
【００４１】
これにより、Ａ／Ｄ変換処理の完了に伴なって、水温センサ１４及びスロットルセンサ１６の検出信号のデータ値変換処理を異なる割り込みによって行なうことができる。そして、それぞれの割り込みの優先度を異ならせることにより、水温センサ１４の検出信号のデータ値変換処理の優先度を変更することなく、スロットルセンサ１６の検出信号のデータ値変換処理の優先度のみを高めることができる。さらに、優先度の高いスロットルセンサ１６の検出信号のデータ値変換処理を、優先度の低い水温センサ１４の検出信号のデータ値変換処理よりも確実に早く起動し、かつ終了することができる。
【００４２】
なお、図２には、スロットルセンサ１６の検出信号のデータ値変換処理の後にタイマ割り込みの設定を行なう例を示している。このようにすると、そのデータ値変換処理を最も迅速に行なうことができる。しかしながら、タイマ割り込みの設定処理は、極短時間に行ないえるため、そのデータ値変換処理の前に行なっても良い。
【００４３】
図３（ａ）〜（ｃ）に、図２に示した手順で各処理を実行するためのフローチャートを示す。なお、スロットルセンサ１６は、全てのエンジン制御装置に採用されるものではない。このため、図３（ａ）〜（ｃ）に示すフローチャートでは、スロットルセンサ１６の有無、すなわち、スロットルセンサ１６の検出信号のデータ値変換処理の有無に応じて、各処理の起動する割り込みの種類を切り換えられるようにした。これにより、スロットルセンサ１６の有無に係わらず、図３（ａ）〜（ｃ）のフローチャートによる共通のプログラム、すなわち共通の起動方法を適用することが可能になる。なお、図３（ａ）〜（ｃ）のフローチャートでは、水温センサ１４の検出信号のデータ値変換処理を処理Ｘと表し、スロットルセンサ１６の検出信号のデータ値変換処理を処理Ｙと表す。
【００４４】
図３（ａ）に示すフローチャートは、Ａ／Ｄ変換処理を起動するときに実行されるものである。なお、Ａ／Ｄ変換処理は、所定時間毎に（例えば図２に示すように１ｍｓ毎に）繰り返し行なわれる。
【００４５】
図３（ａ）のフローチャートにおいては、まず、ステップＳ３０１では、スロットルセンサ１６の検出信号のデータ値変換処理、すなわち処理Ｙの有無を判定する。
【００４６】
このとき、処理Ｙがあると判定されると、Ａ／Ｄ変換完了による割り込みによって、優先度が高いスロットルセンサ１６の検出信号のデータ値変換処理（処理Ｙ）を起動することになる。このため、ステップＳ３０２において、Ａ／Ｄ変換完了による割り込みの優先度を「高」に設定する。一方、処理Ｙがないと判定された場合、従来どおり、Ａ／Ｄ変換完了による割り込みによって、優先度の低い水温センサ１４の検出信号のデータ値変換処理(処理Ｘ)を起動することになる。このため、ステップＳ３０３において、Ａ／Ｄ変換完了による割り込みの優先度を「低」に設定する。
【００４７】
なお、Ａ／Ｄ変換完了による割り込みに与えられる優先度は、他の処理の優先度との関係で決まる相対的なものでる。そして、優先度は、上述したような「高」、「低」の２段階ばかりでなく、３段階以上に設定される場合もある。そのような場合、Ａ／Ｄ変換処理完了による割り込みの優先度は、処理Ｙの有無に応じて、「高」と「中」、「中」と「低」等に切り換えられる場合もある。
【００４８】
次に、ステップＳ３０４で、Ａ／Ｄ変換器２４に対して、水温センサ１４とスロットルセンサ１６の検出信号（アナログ信号）をＡ／Ｄ変換するように指示する。これにより、Ａ／Ｄ変換器２４において、それぞれの検出信号をシリアルまたはパラレルにデジタル化するＡ／Ｄ変換処理が開始される。
【００４９】
図３（ｂ）に示すフローチャートは、Ａ／Ｄ変換処理完了による割り込みによって実行される処理を示す。図３（ｂ）のフローチャートにおいても、まずステップＳ３１１にて、処理Ｙの有無を判定する。このとき、処理Ｙがあると判定されると、ステップＳ３１２において処理Ｙ、すなわちスロットルセンサ１６の検出信号のデータ値変換処理を実行（起動）する。なお、処理Ｙが実行（起動）される場合には、Ａ／Ｄ変換完了による割り込みの優先度が「高」に設定されているため、ＣＰＵ２３において、優先度の低い他の処理が行なわれている場合であっても、その処理に優先して、処理Ｙが実行（起動）されることになる。
【００５０】
逆に、ステップＳ３１１にて処理Ｙがないと判定されると、ステップＳ３１３において処理Ｘ、すなわち水温センサ１４の検出信号のデータ値変換処理を実行（起動）する。このとき、Ａ／Ｄ変換処理完了による割り込みの優先度は「低」に設定されているので、ＣＰＵ２３において、同等以上の優先度を持つ他の処理が実行されている場合には、その処理の完了まで、処理Ｘの実行（起動）が待機されることになる。
【００５１】
ステップＳ３１２において、処理Ｙを実行（起動）した場合には、その処理Ｙの終了後に、ステップＳ３１４に進む。ステップＳ３１４では、水温センサ１４の検出信号のデータ値変換処理を起動するためのイベントとしてタイマ割り込みを発生させるために、タイマ割り込みの設定を行なう。すなわち、タイマ２５に対して、カウントすべきデータを出力して、タイマ２５にカウント動作を開始させる。
【００５２】
図３（ｃ）に示すフローチャートは、タイマ２５によるカウント動作が終了することによる、タイマ割り込みによって実行される処理を示す。図３（Ｃ）のフローチャートに示すように、タイマ割り込みが生じると、ステップＳ３２１において、処理Ｘ、すなわち、水温センサ１４の検出信号のデータ値変換処理が実行（起動）される。なお、このタイマ割り込みの優先度は、上述した処理Ｙが無い場合のＡ／Ｄ変換処理完了による割り込みの優先度と同様に、予め「低」に設定されている。
【００５３】
なお、図３（ａ）〜（ｃ）のフローチャートには、処理Ｙの有無に係わらず、共通に適用可能な起動方法を示したが、処理Ｙの有無に応じて、異なる起動方法を適用しても良い。処理Ｘと処理Ｙがあることを前提とした場合、処理Ｙの有無を判定する必要はなくなるし、Ａ／Ｄ変換処理完了による割り込みの優先度を変更する必要もない。従って、Ａ／Ｄ変換処理完了による割り込みの優先度を予め「高」と設定し、タイマ割り込みの優先度を予め「低」と設定しておけば、図３（ａ）のフローチャートにおいては、ステップＳ３０１〜Ｓ３０３の処理が省略でき、図３（ｂ）のフローチャートにおいては、ステップＳ３１１及びＳ３１３の処理が省略できる。
【００５４】
（第２実施形態）
次に本発明の第２実施形態について説明する。なお、本実施形態も、前述の第１実施形態と同様に、エンジンＥＣＵに適用する例について説明するものであり、適用対象であるエンジンＥＣＵ２０等の構成は、前述の第１実施形態と同様であるため、説明を省略する。
【００５５】
上述した第１実施形態においては、処理Ｙ、すなわち優先度の高いスロットルセンサ１６の検出信号のデータ値変換処理がある場合、Ａ／Ｄ変換処理完了による割り込みによって処理Ｙを起動し、処理Ｙが無い場合、Ａ／Ｄ変換処理完了による割り込みによって処理Ｘ、すなわち優先度の低い水温センサ１４の検出信号のデータ値変換処理を起動していた。これに対して、本実施形態では、処理Ｙの有無に係わらず、Ａ／Ｄ変換処理完了による割り込みによって優先度の低い処理Ｘを起動し、タイマ割り込みによって優先度の高い処理Ｙを起動するものである。このようにすることによって、処理Ｘの起動に関して優先度等何ら変更する必要がなく、処理Ｙの追加や削除を簡単に行なうことができるようになる。
【００５６】
ただし、本実施形態では、優先度の高い処理Ｙをタイマ割り込みによって起動するために、図４に示すように、Ａ／Ｄ変換起動処理時に、Ａ／Ｄ変換処理の完了後、極力早いタイミングでタイマ割り込みを発生させるように、タイマ割り込みの設定処理を行なう。さらに、Ａ／Ｄ変換処理完了による割り込みの優先度に対して、タイマ割り込みの優先度を高く設定しておく。これにより、図４に示すように、Ａ／Ｄ変換処理完了の直後に、相対的に低い優先度の下で起動された処理Ｘに割り込んで、処理Ｙを実行（起動）することができる。
【００５７】
従って、第１実施形態と同様に、各処理Ｘ，Ｙの優先度に応じて、各処理Ｘ，Ｙを適切に起動することが可能になる。さらに、本実施形態による方法では、Ａ／Ｄ変換処理完了による割り込みの優先度を変更する必要がないので、その優先度を、他の処理の優先度との関係で変更できない場合であっても適用できる。
【００５８】
図５（ａ）〜（ｃ）に、図４に示した手順で各処理を実行するためのフローチャートを示す。なお、図５（ａ）〜（ｃ）に示すフローチャートでも、スロットルセンサ１６の検出信号のデータ値変換処理（処理Ｙ）の有無に応じて、タイマ割り込みの実行の有無を切り換えるようにしている。これにより、スロットルセンサ１６の有無に係わらず、図５（ａ）〜（ｃ）のフローチャートによる共通のプログラム、すなわち共通の起動方法を適用することが可能になる。
【００５９】
図５（ａ）に示すフローチャートは、Ａ／Ｄ変換処理を起動するときに実行されるものである。図５（ａ）のフローチャートにおいては、まず、ステップＳ５０１で、Ａ／Ｄ変換器２４に対して、水温センサ１４とスロットルセンサ１６の検出信号（アナログ信号）をＡ／Ｄ変換するように指示する。これにより、Ａ／Ｄ変換器２４において、それぞれの検出信号をシリアルまたはパラレルにデジタル化するＡ／Ｄ変換処理が開始される。
【００６０】
次にステップＳ５０２において、処理Ｙの有無を判定する。処理Ｙがある場合には、ステップＳ５０３に進み、処理Ｙを起動するための割り込みを発生させるイベントとして、タイマ割り込みの設定を行なう。すなわち、Ａ／Ｄ変換処理に要する時間は予めわかっているので、そのＡ／Ｄ変換処理の直後にカウント動作を終了するように、カウントデータをタイマ２５に出力する。これにより、タイマ２５は、そのカウントデータに基づいてカウント動作を開始する。なお、処理Ｙがない場合には、タイマ割り込みの設定は行なわず、本フローチャートの処理を終了する。
【００６１】
図５（ｂ）に示すフローチャートは、Ａ／Ｄ変換処理完了による割り込みによって実行される処理を示す。図５（ｂ）のフローチャートにおいては、ステップＳ５１１にて、処理Ｘ、すなわち水温センサ１４の検出信号のデータ値変換処理を実行（起動）する。なお、Ａ／Ｄ変換完了による割り込みの優先度が予め「低」に設定されているため、ＣＰＵ２３において、処理Ｘは低い優先度の下で実行されることになる。
【００６２】
図５（ｃ）に示すフローチャートは、タイマ２５によるカウント動作が終了することによる、タイマ割り込みによって実行される処理を示す。図５（Ｃ）のフローチャートに示すように、タイマ割り込みが生じると、ステップＳ５２１において、処理Ｙ、すなわち、スロットルセンサ１６の検出信号のデータ値変換処理が実行（起動）される。なお、このタイマ割り込みの優先度は、上述したＡ／Ｄ変換処理完了による割り込みの優先度よりも高くなるように、予め「高」に設定されている。
【００６３】
このタイマ割り込みは、上述したように、Ａ／Ｄ変換処理の完了直後に生じるように設定されている。従って、タイマ割り込みが発生したとき、処理Ｘはまだ実行中であるが、処理Ｘは相対的に低い優先度の割り込みによって実行されているため、この処理Ｘが一時中断されることになる。そして、タイマ割り込みによって処理Ｘに優先して処理Ｙを実行する。処理Ｙが完了すると、図４に示すように一時中断されていた処理Ｘが再開される。
【００６４】
なお、第２実施形態においても、処理Ｘと処理Ｙがあることを前提とした起動方法を採用しても良い。この場合、処理Ｙの有無を判定する必要はなくなるので、図５（ａ）のフローチャートにおけるステップＳ５０２の処理を省略できる。
【００６５】
以上、本発明の好ましい実施形態について説明したが、本発明は上述した各実施形態に制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することができる。
【００６６】
例えば、上述した第１実施形態では、処理Ｙの終了後に、タイマ２５の割り込みの設定を行ない、タイマ２５のカウント終了により、割り込みを発生させていた。しかしながら、例えば、ＣＰＵ２３で所定の時間を要するダミーの処理を実行させ、この処理の終了によって割り込みを発生するようにしても良い。このようにダミー処理によって割り込みを発生するようにすると、ＣＰＵ２３の処理負荷が増加するが、第１実施形態の場合、すでに処理Ｙは終了しているので、ＣＰＵ２３の処理負荷が増加しても特に問題とはならない。
【００６７】
また、上述した各実施形態においては、マイコンの内部イベントとしてＡ／Ｄ変換処理の完了を例に挙げたが、例えば他のマイコン等とデータ通信を行なう場合には、この通信データの受信完了を内部イベントとして、これに伴なって複数の処理を異なる割り込みで起動するようにしても良い。通信により取得したデータについては、それを受信した時点で所定の加工処理を行なう必要が生じる場合があるためである。
【００６８】
さらに、上述した各実施形態では、Ａ／Ｄ変換処理の完了に同期して優先度の低い処理Ｘが実行されるように設定されていた場合に、それよりも優先度が高い処理Ｙを追加する場合について説明したが、処理Ｘよりもさらに優先度が低い処理Ｚを追加する場合であっても本発明を適用可能である。
【００６９】
この場合、第１実施形態においては、Ａ／Ｄ変換処理の完了による割り込み時に、処理Ｘを実行するとともに、処理Ｘの終了後、処理Ｚの有無を判定し、処理Ｚがある場合には、タイマ割り込みの設定を行なえば良い。そして、タイマ割り込みが発生したときに、処理Ｚを実行する。
【００７０】
また、第２実施形態においては、Ａ／Ｄ変換処理の起動時に処理Ｚの有無を判定し、処理Ｚがある場合には、Ａ／Ｄ変換処理完了による割り込みの優先度を相対的に低く設定するとともに、Ａ／Ｄ変換処理完了による割り込みよりも高い優先度を持つタイマ割り込みの設定を行なう。そして、Ａ／Ｄ変換処理完了によって処理Ｚを起動するとともに、タイマ割り込みによって処理Ｘを起動する。この場合、上述した第２実施形態と同様に、優先度の関係で、処理Ｘが処理Ｚに優先して実行されることになる。一方、処理Ｚがない場合には、Ａ／Ｄ変換処理完了による割り込みの優先度を変更せず、タイマ割り込みの設定も行なわない。従って、処理ＸがＡ／Ｄ変換処理完了による割り込みで実行されることになる。
【図面の簡単な説明】
【００７１】
【図１】第１実施形態に係わるエンジン制御装置の概略的な構成を示す構成図である。
【図２】第１実施形態において、水温センサ１４及びスロットルセンサ１６の検出信号のＡ／Ｄ変換の終了時に、水温センサ及びスロットルセンサ１６の検出信号のデータ値変換処理を異なる割り込みで実行する様子を示すタイムチャートである。
【図３】図２に示したタイムチャートに従って処理Ｘ，Ｙを実行するためのフローチャートであって、（ａ）は、Ａ／Ｄ変換処理を起動するときに実行される処理を示すフローチャート、（ｂ）は、Ａ／Ｄ変換処理完了による割り込みによって実行される処理を示すフローチャート、（ｃ）は、タイマ割り込みによって実行される処理を示すフローチャートである。
【図４】第２実施形態において、水温センサ１４及びスロットルセンサ１６の検出信号のＡ／Ｄ変換の終了時に、水温センサ及びスロットルセンサ１６の検出信号のデータ値変換処理を異なる割り込みで実行する様子を示すタイムチャートである。
【図５】図４に示したタイムチャートに従って処理Ｘ，Ｙを実行するためのフローチャートであって、（ａ）は、Ａ／Ｄ変換処理を起動するときに実行される処理を示すフローチャート、（ｂ）は、Ａ／Ｄ変換処理完了による割り込みによって実行される処理を示すフローチャート、（ｃ）は、タイマ割り込みによって実行される処理を示すフローチャートである。
【符号の説明】
【００７２】
１０  エンジン
１１  インジェクタ
１２  イグナイタ
１３  クランクセンサ
１４  水温センサ
１５  電子スロットルバルブ
１６  スロットルセンサ
２０  エンジンＥＣＵ
２２  マイコン
２３  ＣＰＵ
２４  Ａ／Ｄ変換器
２５  タイマ
２７  割り込みコントローラ
【図１】
2005182642.tif 000003
【図２】
2005182642.tif 000004
【図３】
2005182642.tif 000005
【図４】
2005182642.tif 000006
【図５】
2005182642.tif 000007