(57)【要約】【課題】  ＣＰＵ負荷の低減を図ることができ、また、コプロセッサの負担の増加を防止することができる組み込み制御装置を提供する。【解決手段】  タイマプロセッサタイマ値記憶処理手段１１２２２２により取得された外部入力イベント時のタイマプロセッサモジュール１１２のタイマ値及びＣＰＵイベント要求６が発生した時点のＣＰＵ１１１のタイマ値と、イベント処理遅延時間記憶手段１１１１５４に記憶された外部入力イベント発生時刻からＣＰＵイベント要求６に対応した処理をＣＰＵ１１１が実行するまでの遅延時間と、制御アプリケーション１１１１２や燃料噴射パルス制御ミドルウェア１１１１３からのタイマプロセッサタイマ推定処理要求時点でのＣＰＵ１１１のタイマ値とから、タイマプロセッサタイマ値推定処理手段１１１１５３がタイマプロセッサモジュール１１２のタイマ値を推定する。【選択図】  図３
2005222282.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ独自のタイマを有するＣＰＵとコプロセッサを含み、前記コプロセッサは、外部入力イベントに応答した処理を実行するとともに、前記ＣＰＵに対して割込みイベントを発生し、前記ＣＰＵは、前記コプロセッサからの前記割込みイベントに応じた処理と、前記コプロセッサのタイマ値を用いた制御処理とを実行する組込み制御装置において、
前記コプロセッサは、前記外部入力イベントに応答してその時点でのコプロセッサのタイマ値を外部入力イベント時刻として取得するコプロセッサタイマ記憶処理手段と、前記外部入力イベントに応答して前記ＣＰＵに対して割込みイベントを発生するコプロセッサイベント処理手段と、を有し、
前記ＣＰＵは、前記コプロセッサイベント処理手段からの前記割込みイベントに応答して、前記コプロセッサタイマ記憶処理手段によって取得された前記外部入力イベント時刻を読み出して記憶するとともに、前記割り込みイベントが発生した時点での前記ＣＰＵのタイマの値を割込みイベント時刻として記憶するイベント時刻記憶処理手段と、前記外部入力イベントが発生した時刻から、前記ＣＰＵが前記割込みイベントに対応した処理を実行するまでに要する遅延時間を予め記録しておくイベント処理遅延時間記憶手段と、コプロセッサタイマ値推定処理要求時に、前記イベント時刻記憶処理手段により記憶された前記外部入力イベント時刻及び前記割込みイベント時刻と、前記イベント処理遅延時間記憶手段に記憶された前記遅延時間と、前記コプロセッサタイマ値推定処理要求時点での前記ＣＰＵのタイマの値とから、該コプロセッサタイマ値推定処理要求時点での前記コプロセッサのタイマ値を推定するコプロセッサタイマ値推定処理手段と、を有する
ことを特徴とする組込み制御装置。
【請求項２】
請求項１に記載の組み込み制御装置において、前記コプロセッサタイマ記憶処理手段は、前記ＣＰＵと前記コプロセッサの両方がアクセス可能なデュアルポートメモリに、前記外部入力イベント時刻を記憶する
ことを特徴とする組込み制御装置。
【請求項３】
それぞれ独自のタイマを有するＣＰＵとコプロセッサを含み、前記コプロセッサは、外部入力イベントに応答した処理を実行するとともに、前記ＣＰＵに対して割込みイベントを発生し、前記ＣＰＵは、前記コプロセッサからの前記割込みイベントに応じた処理と、前記コプロセッサのタイマ値を用いた制御処理とを実行する組込み制御装置において、
前記コプロセッサは、前記外部入力イベントに応答してその時点でのコプロセッサのタイマ値を外部入力イベント時刻として前記ＣＰＵに伝達する通信手段と、前記外部入力イベントに応答して前記ＣＰＵに対して割込みイベントを発生するコプロセッサイベント処理手段と、を有し、
前記ＣＰＵは、前記コプロセッサイベント処理手段からの前記割込みイベントに応答して、前記通信手段により伝達された前記外部入力イベント時刻を受信して記憶するとともに、その時点での前記ＣＰＵのタイマの値を割込みイベント時刻として記憶するイベント時刻記憶処理手段と、前記外部入力イベントが発生した時刻から、前記ＣＰＵが前記割込みイベントに対応した処理を実行するまでに要する遅延時間を予め記録しておくイベント処理遅延時間記憶手段と、コプロセッサタイマ値推定処理要求時に、前記イベント時刻記憶処理手段により記憶された前記外部入力イベント時刻及び前記割込みイベント時刻と、前記イベント処理遅延時間記憶手段に記憶された前記遅延時間と、前記コプロセッサタイマ値推定処理要求時点での前記ＣＰＵのタイマの値とから、該コプロセッサタイマ値推定処理要求時点での前記コプロセッサのタイマ値を推定するコプロセッサタイマ値推定処理手段と、を有する
ことを特徴とする組込み制御装置。
【請求項４】
それぞれ独自のタイマを有するＣＰＵとコプロセッサを含み、前記コプロセッサは、外部入力イベントに応答した処理を実行するとともに、前記ＣＰＵに対して割込みイベントを発生し、前記ＣＰＵは、前記コプロセッサからの前記割込みイベントに応じた処理と、前記コプロセッサのタイマ値を用いた制御処理とを実行する組込み制御装置において、
前記コプロセッサは、前記外部入力イベントに応答してその時点でのコプロセッサのタイマ値を外部入力イベント時刻として前記ＣＰＵに伝達する通信手段を有し、
前記ＣＰＵは、前記通信手段からの受信イベントに応答して、前記通信手段により伝達された前記外部入力イベント時刻を受信して記憶するとともに、その時点での前記ＣＰＵのタイマの値を割込みイベント時刻として記憶するイベント時刻記憶処理手段と、前記外部入力イベントが発生した時刻から、前記ＣＰＵが前記割込みイベントに対応した処理を実行するまでに要する遅延時間を予め記録しておくイベント処理遅延時間記憶手段と、コプロセッサタイマ値推定処理要求時に、前記イベント時刻記憶処理手段により記憶された前記外部入力イベント時刻及び前記割込みイベント時刻と、前記イベント処理遅延時間記憶手段に記憶された前記遅延時間と、前記コプロセッサタイマ値推定処理要求時点での前記ＣＰＵのタイマの値とから、該コプロセッサタイマ値推定処理要求時点での前記コプロセッサのタイマ値を推定するコプロセッサタイマ値推定処理手段と、を有する
ことを特徴とする組込み制御装置。
【請求項５】
請求項１，２，３又は４のいずれかに記載の組込み制御装置において、前記コプロセッサは、マイクロプロセッサ内部のタイマプロセッサモジュールである
ことを特徴とする組込み制御装置。
【請求項６】
請求項１，２，３，４又は５のいずれかに記載の組込み制御装置において、前記組込み制御装置は自動車用エンジン制御ユニットである
ことを特徴とする組込み制御装置。
【請求項７】
請求項１，２，３，４，５又は６のいずれかに記載の組込み制御装置において、前記外部入力イベントはクランク信号入力イベントである
ことを特徴とする組込み制御装置。
【請求項８】
請求項１，２，３，４，５，６又は７のいずれかに記載の組込み制御装置において、前記外部イベントはカム信号入力イベントである
ことを特徴とする組込み制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、独自のタイマを有するＣＰＵとコプロセッサを含む組込み制御装置に関わり、特にＣＰＵがコプロセッサのタイマ値を用いて処理を実行する組込み制御装置に関する。
【背景技術】
【０００２】
従来の単一ＣＰＵを搭載したマイクロプロセッサを用いた組込み制御装置では、制御アプリケーションソフトと入出力ドライバソフトは、同一のＣＰＵで処理されていた。従って、制御アプリケーションと入出力ドライバは同じタイマの値を参照して処理することが可能であった。
【０００３】
ところが、最近、ＣＰＵ以外にコプロセッサを内蔵するマイクロプロセッサが増えてきた（例えば、特許文献１参照。）。
【０００４】
例えばＭＰＣ５６１／ＭＰＣ５６２／ＭＰＣ５６３／ＭＰＣ５６４ ＲＥＦＥＲＥＮＣＥ ＭＡＮＵＡＬに記載のマイクロプロセッサでは、コプロセッサとしてタイマプロセッサモジュールを有し、それらが同一のデュアルポートメモリにアクセスできるような構成になっている。このようなマイクロプロセッサを用いた組込み制御装置では、入出力ドライバの処理を、ＣＰＵではなく、コプロセッサに実行させることができる。
【０００５】
ところが、このようなマイクロプロセッサでは、ＣＰＵとコプロセッサがそれぞれ独自のタイマを有するため、ＣＰＵ上で実行される制御アプリケーションは、入出力ドライバの処理を実行するコプロセッサのタイマの値を直接参照することはできない。
【０００６】
これを解決するための一手法として、ＣＰＵがコプロセッサに対して、現在のタイマ値を取得するための割り込みを発生させ、コプロセッサが現在のタイマ値をデュアルポートメモリに保存し、ＣＰＵはデュアルポートメモリからコプロセッサのタイマ値を取得する手法が考えられる。
【特許文献１】特開２００２−１８２９０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上記手法を用いた場合、コプロセッサがＣＰＵからのタイマ値取得要求を認識し、コプロセッサが現在のタイマ時刻をデュアルポートメモリに書きこむまで、ＣＰＵは待機する必要があった。このため、この待機時間によりＣＰＵ負荷が増大するという問題があった。さらに、コプロセッサの割り込みレベルを最大に設定し、コプロセッサの処理の排他制御期間を短くする必要があるため、コプロセッサの負担が大きくなるという問題があった。
【０００８】
本発明の目的は、ＣＰＵ負荷の低減を図ることができ、また、コプロセッサの負担の増加を防止することができる組み込み制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の組込み制御装置では、前記コプロセッサに、前記外部入力イベントに応答してその時点でのコプロセッサのタイマ値を外部入力イベント時刻として取得するコプロセッサタイマ記憶処理手段と、前記外部入力イベントに応答して前記ＣＰＵに対して割込みイベントを発生するコプロセッサイベント処理手段と、を設け、前記ＣＰＵに、前記コプロセッサイベント処理手段からの前記割込みイベントに応答して、前記コプロセッサタイマ記憶処理手段によって取得された前記外部入力イベント時刻を読み出して記憶するとともに、前記割り込みイベントが発生した時点での前記ＣＰＵのタイマの値を割込みイベント時刻として記憶するイベント時刻記憶処理手段と、前記外部入力イベントが発生した時刻から、前記ＣＰＵが前記割込みイベントに対応した処理を実行するまでに要する遅延時間を予め記録しておくイベント処理遅延時間記憶手段と、コプロセッサタイマ値推定処理要求時に、前記イベント時刻記憶処理手段により記憶された前記外部入力イベント時刻及び前記割込みイベント時刻と、前記イベント処理遅延時間記憶手段に記憶された前記遅延時間と、前記コプロセッサタイマ値推定処理要求時点での前記ＣＰＵのタイマの値とから、該コプロセッサタイマ値推定処理要求時点での前記コプロセッサのタイマ値を推定するコプロセッサタイマ値推定処理手段と、を設ける。
【００１０】
また、上記課題を解決するために、本発明の組み込み制御装置では、前記コプロセッサに、前記外部入力イベントに応答してその時点でのコプロセッサのタイマ値を外部入力イベント時刻として前記ＣＰＵに伝達する通信手段と、前記外部入力イベントに応答して前記ＣＰＵに対して割込みイベントを発生するコプロセッサイベント処理手段と、を設け、前記ＣＰＵに、前記コプロセッサイベント処理手段からの前記割込みイベントに応答して、前記通信手段により伝達された前記外部入力イベント時刻を受信して記憶するとともに、その時点での前記ＣＰＵのタイマの値を割込みイベント時刻として記憶するイベント時刻記憶処理手段と、前記外部入力イベントが発生した時刻から、前記ＣＰＵが前記割込みイベントに対応した処理を実行するまでに要する遅延時間を予め記録しておくイベント処理遅延時間記憶手段と、コプロセッサタイマ値推定処理要求時に、前記イベント時刻記憶処理手段により記憶された前記外部入力イベント時刻及び前記割込みイベント時刻と、前記イベント処理遅延時間記憶手段に記憶された前記遅延時間と、前記コプロセッサタイマ値推定処理要求時点での前記ＣＰＵのタイマの値とから、該コプロセッサタイマ値推定処理要求時点での前記コプロセッサのタイマ値を推定するコプロセッサタイマ値推定処理手段と、を設ける。
【００１１】
また、上記課題を解決するために、本発明の組み込み制御装置では、前記コプロセッサに、前記外部入力イベントに応答してその時点でのコプロセッサのタイマ値を外部入力イベント時刻として前記ＣＰＵに伝達する通信手段を設け、前記ＣＰＵに、前記通信手段からの受信イベントに応答して、前記通信手段により伝達された前記外部入力イベント時刻を受信して記憶するとともに、その時点での前記ＣＰＵのタイマの値を割込みイベント時刻として記憶するイベント時刻記憶処理手段と、前記外部入力イベントが発生した時刻から、前記ＣＰＵが前記割込みイベントに対応した処理を実行するまでに要する遅延時間を予め記録しておくイベント処理遅延時間記憶手段と、コプロセッサタイマ値推定処理要求時に、前記イベント時刻記憶処理手段により記憶された前記外部入力イベント時刻及び前記割込みイベント時刻と、前記イベント処理遅延時間記憶手段に記憶された前記遅延時間と、前記コプロセッサタイマ値推定処理要求時点での前記ＣＰＵのタイマの値とから、該コプロセッサタイマ値推定処理要求時点での前記コプロセッサのタイマ値を推定するコプロセッサタイマ値推定処理手段と、を設ける。
【発明の効果】
【００１２】
本発明によれば、ＣＰＵの制御プログラムが、コプロセッサタイマの現在時刻が必要になったとき、コプロセッサへのタイマ値取得用の割り込みを使用することなく、ＣＰＵから直接アクセス可能デバイスの情報だけで、コプロセッサ現在時刻を推定するので、ＣＰＵ負荷を低減できるという効果がある。また、コプロセッサタイマの現在時刻算出時にＣＰＵによるコプロセッサモジュールへのアクセスが不要であるため、コプロセッサモジュールは、ＣＰＵによる処理負荷の増加がないという効果がある。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施の形態の一例について詳細に説明する。  
以下の実施の形態においては、本発明に係る組み込み制御装置として、自動車用エンジン制御ユニットを例にして説明する。
【００１４】
図１は、本例の自動車用エンジン制御ユニットの構成を示したものである。  
図において、自動車用エンジン制御ユニット１は、クランクセンサ２ａ、カムセンサ２ｂと接続され、入出力ポート１１４を介してクランク信号３ａ、カム信号３ｂを入力し、入出力ポート１１４を介して燃料噴射パルス４を出力する。
【００１５】
自動車用エンジン制御ユニット１には、マイクロプロセッサ１１が搭載されており、マイクロプロセッサ１１は、ＣＰＵ１１１と、コプロセッサとしてのタイマプロセッサモジュール１１２と、デュアルポートメモリ１１３とを含んでいる。
【００１６】
ＣＰＵ１１１は、ＲＯＭ１１１１、ＣＰＵタイマ１１１２、ＲＡＭ１１１３、ＣＰＵ演算処理装置１１１４、割込みコントローラ１１１５を含んでいる。
【００１７】
ＲＯＭ１１１１には、制御アプリケーション１１１１２とクランク信号・カム信号ミドルウェア１１１１１とタイマプロセッサ時刻管理処理手段１１１１５と燃料噴射パルス制御ミドルウェア１１１１３といったプログラムが記憶されており、ＣＰＵ演算処理装置１１１４は、これらのプログラムを読み出して処理を実行する。
【００１８】
デュアルポートメモリ１１３は、クランク信号・カム信号デコード処理結果１１３１、タイマプロセッサタイマ値１１３２、燃料噴射パルス制御データ１１３３を記憶し、ＣＰＵ１１１、タイマプロセッサモジュール１１２の両方から書き込み、読み出しができるようになっている。
【００１９】
タイマプロセッサモジュール１１２は、タイマプロセッサタイマ１１２１、タイマプロセッサ制御プログラム記憶装置１１２２、タイマプロセッサ演算処理装置１１２３を有する。
【００２０】
タイマプロセッサ制御プログラム記憶装置１１２２は、クランク信号・カム信号デコード処理手段１１２２１、タイマプロセッサイベント時刻管理処理手段１１２２２、燃料噴射パルス制御ドライバ１１２２３といったプログラムが記憶されており、タイマプロセッサ演算処理装置１１２３は、これらのプログラムを読み出して処理を実行する。
【００２１】
次に、このように構成された自動車用エンジン制御ユニット１における燃料噴射制御について具体的に説明する。  
自動車用エンジン制御ユニット１には、エンジンのシリンダ位置を等間隔で、かつ所定の個所が欠落したパルスで表すクランク信号３ａとカムの所定の位置をパルスのエッジで表すカム信号３ｂが、それぞれ、クランクセンサ２ａ及びカムセンサ２ｂから入出力ポート１１４を介して入力される。これらの信号の入力により、クランク信号・カム信号デコード処理手段１１２２１が起動される。クランク信号・カム信号デコード処理手段１１２２１は、クランク信号３ａとカム信号３ｂのデコードを行い、これらの信号によりエンジンのシリンダ位置を解析し、所定のエッジを検出したとき（請求項に言う外部入力イベントに該当する）にこれに応じてイベントを生成する。このイベントには、ＣＰＵに対するＣＰＵイベント要求６（請求項に言う割込みイベントに該当する）を含み、また、このイベントにより、タイマプロセッサイベント時刻管理処理手段１１２２２が起動されて後述のタイマ値記憶イベントが発生するとともに、前記クランク信号３ａ及びカム信号３ｂのパルスのエッジが発生したタイミングにおけるタイマプロセッサタイマ１１２１のキャプチャ値やパルス間の周期を計測し、クランク信号・カム信号デコード処理結果１１３１としてデュアルポートメモリ１１３に記録する。
【００２２】
クランク信号・カム信号デコード処理手段１１２２１の前記ＣＰＵに対する割り込みイベントにより、割り込みコントローラ１１１５が起動し、クランク信号・カム信号ミドルウェア１１１１１が起動される。クランク信号・カム信号ミドルウェア１１１１１は、クランク信号・カム信号デコード処理手段１１２２１が計測したタイマプロセッサタイマ１１２１のキャプチャ値やパルス間の周期およびクランク信号３ａとカム信号３ｂの位置情報を用いて、更にデコードを行い、シリンダの位置やイベント間周期を計算する。また、クランク信号・カム信号ミドルウェア１１１１１は、燃料噴射のイベントの所定のタイミングで、クランク信号・カム信号ミドルウェア自身や制御アプリケーション１１１１２、燃料噴射パルス制御ミドルウェア１１１１３に対し、イベントを生成する。
【００２３】
クランク信号・カム信号ミドルウェア１１１１１のイベントや、制御周期のイベントにより、制御アプリケーション１１１１２が起動される。制御アプリケーション１１１１２では、クランク信号・カム信号ミドルウェア１１１１１が算出したシリンダの位置やイベント間周期、その他のデバイスドライバが算出した情報、および前記クランク信号・カム信号のデコード処理結果１１３１を用いて、燃料噴射タイミング、燃料噴射パルス幅等を計算する。
【００２４】
燃料噴射パルス制御ミドルウェア１１１１３は、クランク信号・カム信号ミドルウェア１１１１１や制御アプリケーション１１１１２によって起動され、イベント時のタイマプロセッサタイマのキャプチャ値、クランク信号・カム信号ミドルウェア１１１１１が算出したシリンダの位置やイベント間周期、制御アプリケーション１１１１２が算出した燃料噴射タイミング、燃料噴射パルス幅の情報をもとに、燃料噴射パルス４ａをＯＮにするタイミングとＯＦＦにするタイミングを算出し、燃料噴射パルス制御データ１１３３としてデュアルポートメモリ１１３に記録する。
【００２５】
燃料噴射パルス制御ドライバ１１２２３は、燃料噴射パルス制御ミドルウェア１１１１３により、燃料噴射パルス４ａをＯＮにするタイミングとＯＦＦにするタイミングを設定する時に起動され、燃料噴射パルス制御ミドルウェア１１１１３が算出した燃料噴射パルス制御データ１１３３に基づき、燃料噴射パルス４ａをＯＮにするタイミングとＯＦＦにするタイミングのタイマ値にタイマプロセッサタイマ１１２１が達した時、燃料噴射パルス４ａの出力をＯＮまたはＯＦＦにする。
【００２６】
図２のフローチャート１１１１３１に、燃料噴射パルス制御ミドルウェア１１１１３で燃料噴射パルス４ａのＯＮ時刻およびＯＦＦ時刻を設定する実施例を示す。
【００２７】
ステップ１１１１３１１では、前記イベント時のタイマプロセッサタイマのキャプチャ値、クランク信号・カム信号ミドルウェア１１１１１が算出したシリンダの位置やイベント間周期、制御アプリケーション１１１１２が算出した燃料噴射タイミング、燃料噴射パルス幅から燃料噴射パルス４ｂのＯＮ時刻と燃料噴射パルス４ｂのＯＦＦ時刻を算出する。
【００２８】
ステップ１１１１３１２では、タイマプロセッサ時刻管理処理手段１１１１５が、タイマプロセッサタイマ１１２１の現在時刻を推定する。
【００２９】
ステップ１１１１３１３では、ステップ１１１１３１１で算出した燃料噴射パルス４ａのＯＮ時刻が、ステップ１１１１３１２で算出したタイマプロセッサタイマ１１２１の推定現在時刻を過ぎているかを判定する。
【００３０】
この判定結果が真であれば、ステップ１１１１３１４で、燃料噴射パルス４ａのＯＮ時刻を前記タイマプロセッサタイマ１１２１の推定現在時刻に変更し、次のステップ１１１１３１５で、燃料噴射パルス４ａのＯＮ時刻が遅延した時間だけ燃料噴射パルス４ａのＯＦＦ時刻を遅延させる。ステップ１１１１３１３の判定結果が偽であれば、何も処理を行わない。
【００３１】
ステップ１１１１３１６では、ステップ１１１１３１１またはステップ１１１１３１３で算出した燃料噴射パルス４ａのＯＮ時刻を、燃料噴射パルス制御ドライバ１１２２３が参照できるデュアルポートメモリ１１３に、燃料噴射パルス制御データ１１３３として記録する。
【００３２】
ステップ１１１１３１７では、ステップ１１１１３１１またはステップ１１１１３１３で算出した燃料噴射パルス４ａのＯＦＦ時刻を、燃料噴射パルス制御ドライバ１１２２３が参照できるデュアルポートメモリ１１３に、燃料噴射パルス制御データ１１３３として記録する。
【００３３】
本実施例では、ＣＰＵ１１１の制御プログラムである燃料噴射パルス制御ミドルウェア１１１１３がタイマプロセッサモジュール１１２の燃料噴射パルス制御ドライバ１１２２３に設定するためのインターフェースは、タイマプロセッサタイマ１１２１の値であるため、ステップ１１１１３１３に示すようなタイマプロセッサタイマ１１２１の推定処理が必要となる。
【００３４】
図３に、ＣＰＵ１１１のタイマプロセッサ時刻管理処理手段１１１１５がタイマプロセッサタイマ１１２１の現在時刻を推定するためのシステム構成図を示す。以下、この図に基づきタイマプロセッサタイマ１１２１の現在時刻推定手順を説明する。なお、必要に応じ、別に図示するフローチャート等を用いて説明を行う。
【００３５】
タイマプロセッサモジュール１１２にクランク信号３ａやカム信号３ｂが入力され、クランク信号・カム信号デコード処理手段１１２２１によって、タイマプロセッサイベント時刻管理処理手段１１２２２にタイマ値記憶イベント１１２２２３が発生する。このイベントにより、タイマプロセッサタイマ値記憶イベント処理手段１１２２２１（請求項に言うコプロセッサタイマ記憶処理手段に該当する）が起動される。
【００３６】
図４にタイマプロセッサタイマ値記憶イベント処理手段１１２２２１による処理のフローチャートを示す。
【００３７】
ステップ１１２２２１１で、タイマプロセッサイベント時刻管理処理手段１１２２２は、タイマ値記憶イベント１１２２２３が、ＣＰＵ１１１のイベントタイミングか否かを判定する。
【００３８】
この判定結果が真であれば、タイマプロセッサイベント時刻管理手段１１２２２のタイマプロセッサタイマ値記憶処理手段１１２２２２が起動される。
【００３９】
続いて、ステップ１１２２２１２で、タイマプロセッサイベント時刻管理処理手段１１２２２は、タイマプロセッサ演算処理装置１１２３（図３においては図示省略）を通じて、ＣＰＵ１１１にＣＰＵイベント要求６（請求項に言う割り込みイベント）を生成する。
【００４０】
前記ステップ１１２２２１１における判定が偽であった場合は、何も処理を行わない。
【００４１】
図５にタイマプロセッサイベント時刻管理処理手段１１２２２のタイマプロセッサタイマ値記憶処理手段１１２２２２における処理のフローチャートを示す。
【００４２】
ステップ１１２２２２１で、タイマプロセッサタイマ値記憶処理手段１１２２２２は、タイマ値記憶イベント１１２２２３発生時のタイマプロセッサタイマ１１２１の値を取得する。
【００４３】
ステップ１１２２２２２で、タイマプロセッサイベント時刻管理１１２２２のタイマプロセッサタイマ値記憶処理手段１１２２２２は、取得したタイマ値を、タイマプロセッサタイマ値１１３２（請求項に言う外部入力イベント時刻）としてデュアルポートメモリ１１３に記憶する。
【００４４】
図６にＣＰＵイベント処理手段１１１１５１によるＣＰＵイベント処理のフローチャートを示す。ＣＰＵイベント処理手段１１１１５１によるＣＰＵイベント処理は、タイマ値記憶イベント処理手段１１２２２１における処理のステップ１１２２２１２でのタイマプロセッサイベント時刻管理処理手段１１２２２によるＣＰＵイベント要求６により起動される。
【００４５】
この処理では、処理の先頭で、イベント時刻記憶処理手段１１１１５２を起動し、その他の制御を実行する。
【００４６】
図７にイベント時刻記憶処理手段１１１１５２における処理のフローチャートを示す。  
ステップ１１１１５２１では、ＣＰＵタイマ１１１２の現在時刻を取得し、これをＣＰＵイベント処理発生時のＣＰＵタイマ値（請求項に言う割り込みイベント時刻）として記憶する。
【００４７】
ステップ１１１１５２２では、タイマプロセッサタイマ値記憶処理手段１１２２２２でタイマプロセッサモジュール１１２が取得した、タイマ値記憶イベント１１２２２３発生時のタイマプロセッサタイマ値１１３２（外部入力イベント時刻）をデュアルポートメモリ１１３から取得してこれを記憶し、処理を終了する。
【００４８】
図８にタイマプロセッサタイマ値推定処理１１１１５３のフローチャートを示す。この処理を図９も参照しつつ説明する。なお、このタイマプロセッサタイマ値推定処理１１１１５３は、制御アプリケーション１１１１２や燃料噴射パルス制御ミドルウェア１１１１３からの要求（請求項に言うコプロセッサタイマ値推定処理要求）により、ＣＰＵイベント処理１１１１５１発生時から所定のタイミングで行われる。
【００４９】
ステップ１１１１５３１でタイマプロセッサタイマ値推定処理起動時（タイマプロセッサタイマ推定処理要求時）のＣＰＵタイマ値１１１２２を取得する。
【００５０】
ステップ１１１１５３２で、前記ステップ１１１１５３１で取得したタイマプロセッサタイマ値推定処理起動時のＣＰＵタイマ値１１１２２（現在のＣＰＵタイマ値）から、図７に示すイベント時刻記憶処理手段１１１１５２による処理のステップ１１１１５２１で記憶したＣＰＵイベント処理発生時ＣＰＵタイマ値１１１２１を減算して、ＣＰＵイベント発生時からの経過時間１１１３２を算出する。
【００５１】
ステップ１１１１５３３では、ステップ１１１１５３２で算出したＣＰＵイベント発生時からの経過時間１１１３２に、タイマ値記憶イベント１１２２２３発生時（外部入力イベント発生時）からＣＰＵイベント処理１１１１５１までのイベント処理遅延時間１１１１５４ａを加算し、タイマ値記憶イベント１１２２２３発生時（外部入力イベント発生時）からＣＰＵイベント実行（タイマプロセッサタイマ値推定処理）までの経過時間１１１２３を算出する。
【００５２】
尚、前記イベント処理遅延時間１１１１５４ａは、予め、タイマ値記憶イベント１１２２２３発生から、ＣＰＵイベント処理開始タイミング１１１１５１ａの時間を測定しておき、固定値で見積もり、イベント処理遅延時間記憶手段１１１１５４に記憶しておく。イベント処理は、割り込み優先度を最高レベルに指定しておき、割り込みマスクの時間を短くすることで、イベント処理遅延時間１１１１５４ａのばらつきを少なくすることができる。
【００５３】
次に、ステップ１１１１５３４では、前記図７に示すイベント時刻記憶処理手段１１１１５２による処理のステップ１１１１５２２においてデュアルポートメモリ１１３から取得したタイマ値記憶イベント１１２２２３発生時のタイマプロセッサタイマ値１１２１１（図３におけるタイマプロセッサタイマ値１１３２と同等）に、タイマ値記憶イベント１１２２２３発生時（外部イベント発生時）からＣＰＵイベント実行（タイマプロセッサタイマ値推定処理）までの経過時間１１１２３を加算し、タイマプロセッサ現在時刻推定値１１１３１を算出する。
【００５４】
ステップ１１１１５３５では、ステップ１１１１５３４で得た結果であるタイマプロセッサ現在時刻推定値１１１３１を燃料噴射パルス制御ミドルウェア１１１１３に返し処理を終了する。
【００５５】
以上説明した本実施の形態の一例によれば、ＣＰＵ１１１の制御プログラムが、タイマプロセッサタイマ１１２１の現在時刻が必要になったとき、ＣＰＵ１１１がＲＡＭ１１１３、ＲＯＭ１１１１、デュアルポートメモリ１１３、ＣＰＵタイマ１１１２といった短時間でアクセス可能なデバイスの情報を用いることにより、短時間でタイマプロセッサタイマ１１２１の現在時刻が推定可能となり、ＣＰＵ負荷を低減することができるという効果がある。また、タイマプロセッサタイマ１１２１の現在時刻算出時にＣＰＵ１１１によるタイマプロセッサモジュール１１２へのアクセスが不要であるため、タイマプロセッサモジュール１１２は、ＣＰＵ１１１による処理負荷の増加がないという効果がある。
【００５６】
さらに、本実施の形態の一例では、マイクロプロセッサ内部のタイマプロセッサモジュールを用いたが、この場合、マイクロプロセッサとは別体のコプロセッサを使った場合に比べ、制御ユニットにタイマプロセッサをつける必要がなく、制御ユニットの部品点数削減の効果がある。
【００５７】
なお、上記実施の形態の一例では、マイクロプロセッサ内部のタイマプロセッサモジュールを用いたが、これをマイクロプロセッサとは別体のコプロセッサとすることもできる。この場合、デュアルポートメモリは、外部からのアクセス可能なデュアルポートメモリを内部に持つマイクロプロセッサを使用してもよい。  また、外部のデュアルポートメモリにアクセス可能なマイクロプロセッサとこのマイクロプロセッサとは別体のデュアルポートメモリを使用する構成としてもよい。また、コプロセッサがデュアルポートメモリを有し、マイクロプロセッサがアクセスする構成にしてもよい。この場合、内部にタイマプロセッサモジュールを有するマイクロプロセッサでなくても、本発明を適用することができ、拡張性が高まるという効果がある。
【００５８】
また、上記実施の形態の一例では、タイマプロセッサモジュール１１２がＣＰＵ１１１にタイマ値記憶イベント１１２２２３発生時のタイマプロセッサタイマ値を伝達するのに、デュアルポートメモリ１１３を使用したが、これを通信で伝達してもよい。この場合には、タイマプロセッサイベント時刻管理処理手段１１２２２にタイマ値記憶イベント１１２２２３発生時のタイマプロセッサタイマ値をＣＰＵ１１１に伝達する通信手段を設け、該通信手段により伝達されたタイマプロセッサタイマ値を、前記ＣＰＵ１１１のイベント時刻記憶処理手段１１１１５２で受信してこれを記憶させる。
【００５９】
このように前記通信手段を設けた場合にあっては、自動車用エンジン制御ユニット１にデュアルポートメモリ１１３を搭載する必要がなく、ＣＰＵ１１１とタイマプロセッサモジュール１１２間の通信をするための配線をするだけでよいため、制御ユニットの部品点数削減の効果がある。
【００６０】
また、前記通信手段を設けた場合、タイマプロセッサモジュール１１２によって生成されるＣＰＵ１１１に対するイベント要求６をＣＰＵ１１１に通知する手段として、通信開始割り込み又は通信終了割り込みとすることもできる。この場合には、これらの通信手段からの受信イベント（通信開始割り込み又は通信終了割り込み）に応答して、前記イベント時刻記憶処理手段１１１１５２に、前記通信手段から伝達されたタイマ値記憶イベント１１２２２３発生時のタイマプロセッサタイマ値を記憶させるとともに、その時点でのＣＰＵタイマ１１１２の値を記憶させる。
【００６１】
このように、タイマプロセッサモジュール１１２によって生成されるＣＰＵ１１１に対するイベント要求６をＣＰＵ１１１に通知する手段として、通信開始割り込みまたは通信終了割り込みとした場合、マイクロプロセッサ内部の通信モジュール（不図示）をイベント通知信号としても使用することができ、イベント発生を通知するための結線やイベントを受けるコントローラを必要としないので、部品点数削減の効果や使用ポートの削減の効果がある。また、マイクロプロセッサとコプロセッサで共通の通信プロトコルを持つプロセッサ間であれば、本発明を適用することができ、拡張性が高まるという効果がある。
【図面の簡単な説明】
【００６２】
【図１】本発明に係る組み込み制御装置の実施の形態の一例である自動車用エンジン制御ユニットのシステム構成図である。
【図２】図１に示す自動車用エンジン制御ユニットの燃料噴射パルスＯＮ時刻・ＯＦＦ時刻設定処理のフローチャートである。
【図３】図１に示す自動車用エンジン制御ユニットのコプロセッサのタイマ値を取得するシステム構成図である。
【図４】図１に示す自動車用エンジン制御ユニットのタイマプロセッサモジュールによるタイマ記憶イベント処理のフローチャートである。
【図５】図１に示す自動車用エンジン制御ユニットのタイマプロセッサモジュールによるタイマプロセッサタイマ値記憶処理のフローチャートである。
【図６】図１に示す自動車用エンジン制御ユニットのＣＰＵによるＣＰＵイベント処理のフローチャートである。
【図７】図１に示す自動車用エンジン制御ユニットのＣＰＵによるイベント時刻記憶処理のフローチャートである。
【図８】図１に示す自動車用エンジン制御ユニットのＣＰＵによるタイマプロセッサタイマ値推定処理のフローチャートである。
【図９】図１に示す自動車用エンジン制御ユニットのタイマプロセッサモジュールでのタイマ値記憶イベント発生時における、ＣＰＵ、タイマプロセッサモジュール処理のタイムチャートである。
【符号の説明】
【００６３】
１…自動車用エンジン制御ユニット
２ａ…クランクセンサ
２ｂ…カムセンサ
３ａ…クランク信号
３ｂ…カム信号
４…燃料噴射パルス
５…燃料噴射装置
６…ＣＰＵイベント要求
１１…マイクロプロセッサ
１１１…ＣＰＵ
１１２…タイマプロセッサモジュール
１１３…デュアルポートメモリ
１１４…入出力ポート
１１１１…ＲＯＭ
１１１２…ＣＰＵタイマ
１１１３…ＲＡＭ
１１１４…ＣＰＵ演算処理装置
１１１５…割込みコントローラ
１１１１１…クランク信号・カム信号ミドルウェア
１１１１２…制御アプリケーション
１１１１３…燃料噴射パルス制御ミドルウェア
１１１１３１…燃料噴射パルスＯＮ時刻・ＯＦＦ時刻設定処理、
１１１１５１…ＣＰＵイベント処理
１１１１５１ａ…ＣＰＵイベント処理開始タイミング
１１１１５２…イベント時刻記憶処理手段（イベント時刻記憶処理）
１１１１５３…タイマプロセッサタイマ値推定処理手段（タイマプロセッサタイマ値推定処理）
１１１１５４…イベント処理遅延時間記憶手段
１１１１５４ａ…イベント処理遅延時間
１１１２１…ＣＰＵイベント発生時ＣＰＵタイマ値
１１１２２…タイマプロセッサタイマ値推定処理時のＣＰＵタイマ値
１１１３１…タイマプロセッサ現在時刻推定値
１１１３２…ＣＰＵイベント発生時からの経過時間
１１２１…タイマプロセッサタイマ
１１２２…タイマプロセッサ制御プログラム記憶装置
１１２３…タイマプロセッサ演算処理装置
１１２１１…イベント発生時のタイマプロセッサタイマ値
１１２２１…クランク信号・カム信号デコード処理手段
１１２２２…タイマプロセッサイベント時刻管理処理手段（タイマプロセッサイベント時刻管理処理）
１１２２３…燃料噴射パルス制御ドライバ
１１２２２１…タイマ値記憶イベント処理手段（タイマ値記憶イベント処理）
１１２２２２…タイマプロセッサタイマ値記憶処理手段（タイマプロセッサタイマ値記憶処理）
１１２２２３…タイマ値記憶イベント
１１３１…クランク信号・カム信号デコード処理結果
１１３２…タイマプロセッサタイマ値
１１３３…燃料噴射パルス制御データ
【図１】
2005222282.tif 000003
【図２】
2005222282.tif 000004
【図３】
2005222282.tif 000005
【図４】
2005222282.tif 000006
【図５】
2005222282.tif 000007
【図６】
2005222282.tif 000008
【図７】
2005222282.tif 000009
【図８】
2005222282.tif 000010
【図９】
2005222282.tif 000011