(57)【要約】      （修正有）【課題】  少なくとも２つのプロセッサを有する制御装置において、イベント関連情報を取得できるようにする。【解決手段】  イベント生成処理部１１２２は、タイマプロセッサタイマ１１２６とＣＰＵ要求イベント生成時刻１１３３２とが一致したときに、仮想リファレンス信号のイベント１１２３を生成する。同時に、イベント生成処理部１１２２はデュアルポートメモリ１１３の起動イベントカウンタ記憶部１１３２に、タイマプロセッサ起動イベントカウンタ１１３２１としてＣＰＵ要求イベントカウンタ１１３３１の値を記憶する。ＣＰＵ１１１のイベント処理部１１１１は、イベント１１２３を受けると、仮想リファレンス信号処理部１１１８を起動する。信号処理部１１１８は、カウンタ１１３２１の値をもとに、タイマプロセッサモジュール１１２の起動したイベント１１２３に対応するＣＰＵ１１１のイベント生成要求１１２５を識別し、所定の処理を行う。【選択図】  図１
2006048241.tif 000002
【特許請求の範囲】
【請求項１】
第１のプロセッサと第２のプロセッサとの少なくとも２つのプロセッサを含む組込み制御装置であって、
前記第１のプロセッサから前記第２のプロセッサに対して前記イベント生成要求を行うイベント要求処理手段と、
前記第１のプロセッサの前記イベント生成要求生成時に、前記イベントを識別するための情報である要求イベントカウンタ情報と前記イベントが発生したときに前記第１のプロセッサが使用する情報であるイベント関連情報とを対応付けて記憶するイベント関連情報記憶手段と、
前記要求イベントカウンタ情報と前記イベント生成要求の生成条件である要求イベント生成条件情報とを記憶するイベント要求記憶手段と、
前記第１のプロセッサによる前記イベント生成要求生成時に、前記要求イベントカウンタ情報と前記要求イベント生成条件情報とを、前記イベント要求記憶手段に記憶するイベント要求記憶処理手段と、
前記第２のプロセッサにおいて、前記第１のプロセッサが生成した前記イベント生成要求を受付けるイベント要求受付処理手段と、
該イベント要求受付処理手段から得たイベント生成条件を満たしたときに、前記第１のプロセッサに対して、前記イベントを発生させるイベント生成処理手段と、
前記第２のプロセッサにより発生される前記イベントを識別するための起動イベントカウンタ情報を記憶する起動イベントカウンタ記憶手段と、
前記第２のプロセッサによる前記イベント発生時に、前記イベントの発生要因となった前記イベント生成要求の前記要求イベントカウンタ情報を前記起動イベントカウンタ情報として、前記起動イベントカウンタ記憶手段に記憶する起動イベントカウンタ記憶処理手段と、
前記第１のプロセッサに設けられ、前記第２のプロセッサにより発生される前記イベントに応じて所定の処理を行い、前記イベント関連情報記憶手段と前記起動イベントカウンタ情報とにより、前記イベント生成要求生成時に前記要求イベントカウンタ情報に関連付けて記憶した前記イベント関連情報を取得するイベント処理手段と、
を有することを特徴とする組込み制御装置。
【請求項２】
前記第１のプロセッサはＣＰＵであり、前記第２のプロセッサはコプロセッサであることを特徴とする請求項１記載の組込み制御装置。
【請求項３】
前記イベント要求記憶手段又は前記起動イベントカウンタ記憶手段の少なくとも一方は、前記第１のプロセッサと前記第２のプロセッサとの両方からアクセス可能なデュアルポートメモリに実装されていることを特徴とする請求項１又は２に記載の組込み制御装置。
【請求項４】
前記第１のプロセッサはＣＰＵであり、前記第２のプロセッサはタイマプロセッサモジュールであって、
前記第１のプロセッサの前記要求イベント生成条件情報は、前記タイマプロセッサモジュールのイベント生成時刻であり、
前記タイマプロセッサモジュールの生成する前記イベントは、前記第２のプロセッサのタイマ値と前記イベント生成時刻が一致したときに生成されることを特徴とする請求項１から３までのいずれか１項に記載の組込み制御装置。
【請求項５】
前記組込み制御装置は自動車用エンジン制御ユニットであることを特徴とする請求項１から４までのいずれか１項に記載の組込み制御装置。
【請求項６】
第１のプロセッサと第２のプロセッサとの少なくとも２つのプロセッサを含む組込み制御装置であって、
前記第１のプロセッサから前記第２のプロセッサに対して前記イベント生成要求を生成するイベント要求に応じて、前記イベントを識別するための情報である要求イベントカウンタ情報と前記イベントが発生したときに前記第１のプロセッサが使用する情報であるイベント関連情報とを対応付けて記憶するイベント関連情報記憶手段と、前記要求イベントカウンタ情報と前記イベント生成要求の生成条件である要求イベント生成条件情報とを記憶するイベント要求記憶手段と、
前記第２のプロセッサにおいて、前記第１のプロセッサが生成した前記イベント生成要求から得たイベント生成条件を満たしたときに、前記第１のプロセッサに対して、発生される前記イベントを発生される前記イベントを識別するための起動イベントカウンタ情報を記憶する起動イベントカウンタ記憶手段と、
前記第２のプロセッサによる前記イベント発生時に、前記イベントの発生要因となった前記イベント生成要求の前記要求イベントカウンタ情報を前記起動イベントカウンタ情報として、前記起動イベントカウンタ記憶手段に記憶する起動イベントカウンタ記憶処理手段と、
前記第１のプロセッサに設けられ、前記第２のプロセッサにより発生される前記イベントに応じて所定の処理を行い、前記イベント関連情報記憶手段と前記起動イベントカウンタ情報とにより、前記イベント生成要求生成時に前記要求イベントカウンタ情報に関連付けて記憶した前記イベント関連情報を取得するイベント処理手段と、
を有することを特徴とする組込み制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、独立した２つ以上のプロセッサを含む組込み制御装置に関わり、より詳細には、任意のプロセッサがそれとは別のプロセッサに対してイベントを発生させる組込み制御装置に関する。
【背景技術】
【０００２】
従来の単一のＣＰＵを搭載したマイクロプロセッサを用いた組込み制御装置では、イベントの生成とイベント処理とは、同一のＣＰＵにより処理されていた。従って、イベントの設定時のイベント管理処理によるイベント関連情報やイベント発生時のイベント関連情報は、イベント処理で直接参照できる。
【０００３】
ところで、最近では、ＣＰＵ以外に別のコプロセッサを内蔵するマイクロプロセッサが増えてきた。例えば非特許文献１に記載のマイクロプロセッサでは、コプロセッサとしてタイマプロセッサモジュールを有し、それらが同一のデュアルポートメモリにアクセスできる構成を有している。このようなマイクロプロセッサを用いた組込み制御装置では、一部のタイマのコンペアマッチ（比較器の値とタイマの値とが一致したときに発生するイベント）割込み処理を、ＣＰＵではなく、タイマプロセッサモジュールに実行させることができる。このようなイベントを発生させる時に、ＣＰＵは、タイマプロセッサモジュールにイベント生成要求を出し、それに応じてタイマプロセッサモジュールがイベントを生成する。
【０００４】
【非特許文献１】ＭＰＣ５６１／ＭＰＣ５６２／ＭＰＣ５６３／ＭＰＣ５６４ ＲＥＦＥＲＥＮＣＥ ＭＡＮＵＡＬ、モトローラ社（１９９９年）。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＣＰＵがイベント生成要求を複数出した場合、タイマプロセッサモジュールから生成されるイベントが、どのイベント生成要求に対するイベントかを識別し、そのイベントを生成させるのに必要であったパラメータ、例えばコンペアマッチのタイマ値などをＣＰＵが取得したいことがある。
【０００６】
これらの値の全てをデュアルポートメモリや通信によって取得しようとすると、これらの情報の同時性を保証する必要があり。同時性を保証するための処理、例えば、バスの占有や多重割込みのキューイングなどを導入するとＣＰＵ負荷が高くなり、さらに、メモリを大量に使用してしまうという問題点があった。
【課題を解決するための手段】
【０００７】
第１のプロセッサと第２のプロセッサとの少なくとも２つのプロセッサを含む組込み制御装置において、前記第１のプロセッサからのイベント生成要求に応じて、イベントを特定するＩＤであるイベントカウンタとイベントに関連するイベント関連情報とを記憶しておき、前記イベントを発生させた際に、前記イベントカウンタ値に基づいて該イベントカウンタ値の関連する前記イベント関連情報を取得する。
【０００８】
これにより、どのイベントセットに対するイベントかを第１のプロセッサが認識できる。また、イベントセット時にイベントカウンタに対応させてパラメータを記憶しておくことで、イベント発生時にイベントカウンタに対応するパラメータを取り出し、使用することができる。
【発明の効果】
【０００９】
本発明によれば、イベント生成要求を出し、かつ生成されたイベントを受付け、処理を実行する第１のプロセッサと、イベント生成要求を受付け、イベントを生成する第２のプロセッサとからなる組込み制御装置において、第２のプロセッサがイベントを多重起動し、第１のプロセッサが１つ目のイベントを取得できず、イベントがオーバーラップされた場合でも、オーバーラップされたイベントを無視しても良い処理であれば、次のイベントを正常に受付けることができる。
【００１０】
また、イベント起動時の受け渡しをする情報が起動イベントカウンタ値のみでよいため、メモリの消費量を少なくすることができる。また、イベント起動時に、第１のプロセッサに受け渡す情報の同時性を保証する必要がなく第１のプロセッサの排他制御を行う必要がないため、ＣＰＵの負荷とデュアルポートメモリの使用量を低減できるという効果がある。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態による組み込み制御装置について説明を行う。まず、本発明の第１の実施の形態による組み込み制御装置について図面を参照しつつ説明を行う。本実施の形態による制御装置は、自動車用エンジン制御ユニットである。図１は、自動車用エンジン制御ユニットの構成例を示す図である。図１に示すように、自動車用エンジン制御ユニット１は、クランクセンサ２と、カムセンサ３に接続され、マイクロプロセッサ１１、を有している。マイクロプロセッサ１１は、ＣＰＵ１１１と、タイマプロセッサモジュール１１２と、デュアルポートメモリ１１３と、を有している。
【００１２】
クランクセンサ２およびカムセンサ３からの、クランクセンサ信号４とカムセンサ信号５とが、タイマプロセッサモジュール１１２に設けられている入出力ポート１１４に接続されている。クランクセンサ信号４とカムセンサ信号５とのそれぞれの入力信号をにより、クランクセンサ信号４やカムセンサ信号５を基準とした仮想イベント信号を生成し、制御に用いる。
【００１３】
第１のプロセッサであるＣＰＵ１１１は、イベント処理部１１１１と、クランクイベント・カムイベント処理部１１１２と、仮想リファレンス生成処理部１１１３と、イベント要求処理部１１１４，イベント関連情報記憶処理部１１１５と、イベント関連情報記憶部１１１６と、イベント要求記憶処理部１１１７と、仮想リファレンス信号処理部１１１８と、を有している。
【００１４】
タイマプロセッサモジュール１１２は、入出力ポート１１４と、クランク信号・カム信号デコード処理部１１２１と、イベント生成処理部１１２２と、イベント要求受付処理部１１２４と、タイマプロセッサタイマ１１２６と、タイマプロセッサ起動イベントカウンタ記憶処理部１１２７と、を有する。
【００１５】
デュアルポートメモリ１１３は、ＣＰＵ１１１とタイマプロセッサモジュール１１２との両方から、データの書き込みと読み出しとができる。デュアルポートメモリ１１３は、クランク信号・カム信号デコード処理結果記憶部１１３１と、起動イベントカウンタ記憶部１１３２と、イベント要求記憶部１１３３と、を有している。
【００１６】
エンジン制御ユニット１には、エンジンのシリンダ位置を等間隔で、かつ、所定の個所が欠落したパルスで表すクランクセンサ信号４とカムの所定の位置をパルスのエッジで表すカムセンサ信号５とが、入出力ポート１１４から入力される。これらの信号の入力により、クランク信号・カム信号デコード処理部１１２１が起動される。クランク信号・カム信号デコード処理部１１２１は、クランクセンサ信号４とカムセンサ信号５とのデコードを行い、これらの信号によりエンジンのシリンダ位置を解析し、所定のエッジを検出したときに、イベント生成処理部１１２２を介してイベント１１２３を生成する。
【００１７】
タイマプロセッサモジュール１１２のクランク信号・カム信号デコード処理部１１２１のイベント１１２３により、ＣＰＵ１１１のイベント処理部１１１１が起動される。ＣＰＵ１１１のイベント処理部１１１１は、ＣＰＵ１１１のクランクイベント・カムイベント処理部１１１２を起動する。ＣＰＵ１１１のクランクイベント・カムイベント処理部１１１２は、タイマプロセッサモジュール１１２のクランク信号・カム信号デコード処理部１１２１が計測したクランクセンサ信号４とカムセンサ信号５とのキャプチャ値やパルス間の周期の計算と、クランクセンサ信号４とカムセンサ信号５の位置情報とを用いて、さらにデコードを行い、シリンダの位置やイベント間の周期等を計算する。
【００１８】
仮想リファレンス生成処理部１１１３は、シリンダの位置やイベント間周期と、クランクセンサ信号４とカムセンサ信号５とのキャプチャ値とを用いて、仮想リファレンス信号の位置を仮想リファレンス信号の生成時刻に変換する。
【００１９】
ＣＰＵ１１１のイベント要求処理部１１１４は、イベント関連情報記憶処理部１１１５を介して、仮想リファレンス信号の生成時刻や仮想リファレンス信号の周期、仮想リファレンス信号のＩＤ等の仮想リファレンス信号に関係する情報であるイベント関連情報１１１６２をＣＰＵ要求イベントカウンタ１１１６１と関連付けて保存する。同時に、ＣＰＵ１１１のイベント要求処理部１１１４は、ＣＰＵ１１１のイベント要求記憶処理部１１１７を介して、デュアルポートメモリ１１３のイベント要求記憶部１１３３にＣＰＵ要求イベントカウンタ１１３３１とＣＰＵ要求イベント生成時刻１１３３２とを保存し、タイマプロセッサモジュール１１２に対し、イベント生成要求１１２５を出す。タイマプロセッサモジュール１１２は、イベント要求受付処理部１１２４により、イベント生成要求１１２５を受付ける。
【００２０】
タイマプロセッサモジュール１１２のイベント生成処理部１１２２は、タイマプロセッサタイマ１１２６とＣＰＵ要求イベント生成時刻１１３３２とが一致したときに、仮想リファレンス信号のイベント１１２３を生成する。同時に、イベント生成処理部１１２２は、タイマプロセッサ起動イベントカウンタ記憶処理部１１２７を介して、デュアルポートメモリ１１３の起動イベントカウンタ記憶部１１３２に、タイマプロセッサ起動イベントカウンタ１１３２１として仮想リファレンス信号のイベントの要因となったＣＰＵ要求イベントカウンタ１１３３１の値を記憶する。
【００２１】
ＣＰＵ１１１のイベント処理部１１１１は、仮想リファレンス信号のイベント１１２３を受けると、仮想リファレンス信号処理部１１１８を起動する。仮想リファレンス信号処理部１１１８は、デュアルポートメモリ１１３の起動イベントカウンタ記憶部１１３２からタイマプロセッサ起動イベントカウンタ１１３２１を取得する。仮想リファレンス信号処理部１１１８は、タイマプロセッサ起動イベントカウンタ１１３２１の値をもとに、タイマプロセッサモジュール１１２の起動したイベント１１２３に対応するＣＰＵ１１１のイベント生成要求１１２５を識別し、ＣＰＵイベント生成要求１１２５生成する時に、ＣＰＵ要求イベントカウンタ１１１６１と関連付けて保存しておいたイベント関連情報１１１６２をイベント要求記憶部１１３３から取得して、所定の処理を行う。図２は、ＣＰＵ１１１側での仮想リファレンス生成処理１１１３と、イベント要求処理１１１４と、イベント関連情報記憶処理１１１５と、イベント要求記憶処理１１１７と、の一連の処理の内容を示すフローチャート図１１１３ａである。図１を参照しつつ説明を行う。図２に示すように、まず、ステップ１１１３ａ１において、ＣＰＵ１１１のクランクイベント・カムイベント処理１１１２の結果より仮想リファレンス信号の生成に必要な気筒情報、クランク位置情報、クランク信号キャプチャ値等を取得する。ステップ１１１３ａ２では、ステップ１１１３ａ１で取得した気筒情報、クランク位置情報、クランク信号キャプチャ値により、仮想リファレンス信号の位置情報をタイマプロセッサ時刻に変換する。ステップ１１１３ａ３では、ＣＰＵ要求イベントカウンタ１１３３１をインクリメントする。ステップ１１１３ａ４では、イベント関連情報記憶処理部１１１５が、ＣＰＵ要求イベントカウンタ１１３３１を図３に示すイベントカウンタ記憶領域１１１６１ａに格納し、仮想リファレンス信号生成時刻、仮想リファレンス信号周期等の仮想リファレンス信号関連情報をイベント関連情報１１１６２として図３に示すイベント関連パラメータ記憶領域１１１６２ａに格納する。この際、ＣＰＵ要求イベントカウンタ１１３３１と仮想リファレンス信号のイベント関連情報１１１６２とを関連付けるため、ＣＰＵ要求イベントカウンタ１１３３１と同じ要素番号に、イベント関連情報１１１６２を格納する。
【００２２】
図３は、イベント関連情報記憶部１１１６に格納されるデータの配置であって、イベントカウンタ記憶領域１１１６１ａとイベント関連パラメータ記憶領域１１１６２ａとのデータ構造を示す図である。イベントカウンタ記憶領域１１１６１ａとイベント関連パラメータ記憶領域１１１６２ａとが対応つけられて記憶されている。ステップ１１１３ａ５では、イベント要求記憶処理部１１１７を介して、ＣＰＵ要求イベントカウンタ１１３３１と仮想リファレンス信号生成時刻１１３３２とをデュアルポートメモリ１１３のイベント要求記憶部１１３３に格納する。ステップ１１１３ａ６では、ＣＰＵ１１１のイベント要求処理部１１１４が、タイマプロセッサモジュール１１２に対してイベント生成要求１１２５を出力する。
【００２３】
図４に、タイマプロセッサモジュール１１２のイベント要求受付処理部１１２４における処理の流れを示すフローチャート図である。図４に示すように、ステップ１１２４１において、ＣＰＵ１１１からのイベント生成要求１１２５を受付ける。ステップ１１２４２では、ＣＰＵ１１１のイベント要求記憶処理部１１１７がデュアルポートメモリ１１３のイベント要求記憶部１１３３に格納したＣＰＵ要求イベントカウンタ１１３３１の値を取得する。ステップ１１２４３では、ＣＰＵ１１１のイベント要求記憶処理部１１１７がデュアルポートメモリ１１３のイベント要求記憶部１１３３に格納した仮想リファレンス信号のＣＰＵ要求イベント生成時刻１１３３２を取得する。
【００２４】
ステップ１１２４４では、ステップ１１２４３で取得した仮想リファレンス信号のＣＰＵ要求イベント生成時刻１１３３２が、現在、タイマプロセッサモジュール１１２の比較器に登録されているイベントよりも早い時刻であるか、または現在タイマプロセッサモジュール１１２の比較器に登録されているイベントがないかを判定する。この判定結果が真であれば、ステップ１１２４５において、ステップ１１２４３で取得した仮想リファレンス信号生成時刻１１３３２を比較器にセットする。ステップ１１２４４の判定結果が偽であれば、ステップ１１２４６において、ステップ１１２４２で取得したＣＰＵ要求イベントカウンタ１１３３１とステップ１１２４３で取得した仮想リファレンス信号生成時刻１１３３２とをキューに登録する。
【００２５】
図５は、タイマプロセッサモジュール１１２のイベント生成処理部１１２２における処理の流れを示すフローチャート図である。タイマプロセッサモジュール１１２のイベント生成処理部１１２２における処理は、図４のステップ１１２４５において比較器にセットした仮想リファレンス信号生成時刻１１３３２とタイマプロセッサタイマ１１２６とが一致したときに実行される。
【００２６】
ステップ１１２２１では、仮想リファレンス信号イベント１１２３のＣＰＵ要求イベントカウンタ１１３３１を取得する。ステップ１１２２２では、タイマプロセッサ起動イベントカウンタ記憶処理部１１２７により、発生イベントのＣＰＵ要求イベントカウンタ１１３３１をタイマプロセッサモジュール１１２の起動イベントカウンタ１１３２１として、デュアルポートメモリ１１３の起動イベントカウンタ記憶部１１３２に格納する。ステップ１１２２３では、ＣＰＵ１１１に仮想リファレンス信号のイベント１１２３を生成する。ステップ１１２２４では、仮想リファレンス信号のイベント生成要求１１２５のキューで待ち状態のイベントがあるか否かを判定する。この判定結果が偽であれば、タイマプロセッサモジュール１１２のイベント生成処理１１２２を終了する。ステップ１１２２４の判定結果が真であれば、ステップ１１２２５において、もっとも現在時刻に近い仮想リファレンス信号生成時刻１１３３２を比較器にセットする。
【００２７】
図６は、仮想リファレンス信号のイベント１１２３を受けたＣＰＵ１１１のイベント処理部１１１１における処理の流れを示すフローチャート図である。図６に示すように、まず、ステップ１１１１１では、タイマプロセッサモジュール１１２からの仮想リファレンス信号のイベント１１２３を受付ける。ステップ１１１１２では、タイマプロセッサモジュール１１２が図５のステップ１１２２２で格納したタイマプロセッサ起動イベントカウンタ１１３２１をデュアルポートメモリ１１３の起動イベントカウンタ記憶部１１３２から取得する。ステップ１１１８では、仮想リファレンス信号処理部を起動する。この際、ステップ１１１１２で取得した起動イベントカウンタ１１３２１を仮想リファレンス信号処理部１１１８に渡す。
【００２８】
図７は、仮想リファレンス信号処理部１１１８における処理の流れを示すフローチャート図である。図７に示すように、ステップ１１１８１では、図３のイベントカウンタ記憶領域１１１６１ａから、ステップ１１１１２において取得したタイマプロセッサ起動イベントカウンタ１１３２１とＣＰＵ１１１のＣＰＵ要求イベントカウンタ１１３３１とが一致する要素を検索し、イベント関連パラメータ記憶領域１１１６２ａの同じ要素から、仮想リファレンス信号のイベント生成時刻１１３３２や、仮想リファレンス信号周期等の仮想リファレンス信号のイベント関連情報１１１６２を取得する。
【００２９】
ステップ１１１８２では、ステップ１１１８１で取得した仮想リファレンス信号のイベント関連情報１１１６２を用いて、燃料噴射パルス生成、点火パルス生成などのクランクセンサ信号４とカムセンサ信号５とに関連する所定の処理を実行する。
【００３０】
以上、本発明の実施の形態による制御装置によれば、ＣＰＵが複数のコンペアマッチイベントの生成要求を出した場合においても、起動イベントカウンタをデュアルポートメモリに置くことにより、発生したイベントが、どのイベント生成要求によるものかを判断することができ、要求イベントカウンタに関連付けたパラメータを容易に取得できるという効果がある。さらに、コプロセッサからＣＰＵへの情報をイベントカウンタのみにすることで、複数の情報を伝えるシステムに比べて排他的制御が不要な分、ＣＰＵの負荷が軽減するという効果がある。
【００３１】
また、デュアルポートメモリを用いると、これに接続される２つのプロセッサからの読み出し、書き込みアクセスが容易になり、それぞれのプロセッサにかかる処理負荷も低減できるという効果がある。
【００３２】
尚、「イベントカウンタ」と「イベント生成条件情報」とは、「イベント生成要求生成時」に必ずＣＰＵからコプロセッサに伝える必要がある。また、コプロセッサが「イベント生成時」にも、コプロセッサからＣＰＵに「起動イベントカウンタ情報」を伝える必要があるため、何らかの通信手段が必要となる。上記の例においては、この機能をデュアルポートメモリにより達成するようにしたが、他の方法としては、通信で行う方法、外部からアクセス可能なサブ又はメインの内部メモリを設ける方法もある。
【００３３】
次に、本発明の第２の実施の形態による制御装置について説明を行う。
【００３４】
本発明の第１の実施の形態においては、同一のマイクロプロセッサ内のＣＰＵとタイマプロセッサモジュールとを用いた例を示したが、本実施の形態による制御装置のように、独立した２つのプロセッサを用いてもよい。この場合、独立したプロセッサに適用できるので、適用範囲を広げることができる。この場合、起動イベントカウンタや要求イベントカウンタ、要求イベント条件情報を２つのプロセッサがアクセス可能なデュアルポートメモリに記憶してもよいし、一方のプロセッサ内にあって、他方のプロセッサからアクセス可能なメモリ領域に記憶してもよい。この場合、外部メモリにアクセス可能なプロセッサや外部からアクセス可能な記憶装置をもつプロセッサにも適用できる。
【００３５】
次に、本発明の第３の実施の形態による制御装置について説明する。本発明の第１の実施の形態による制御装置においては、要求イベント条件をイベント生成時刻とした。本実施の形態による制御装置においては、要求イベント条件が外部入力イベントとなっている。あるいは、通信イベント、Ａ／Ｄ変換イベントといったマイクロプロセッサの機能によるイベントとしてもよい。この場合には、イベント生成条件をタイマのコンペアマッチイベントだけでなく、外部入力イベントと通信イベント、Ａ／Ｄ変換といったＣＰＵの有するあらゆる機能によるイベントに適用することができ、拡張性を高めることができる。
【００３６】
尚、上記各実施の形態においては、２つのプロセッサを使用した例について説明したが、３以上のプロセッサを使用してもよい。この場合、第１のプロセッサ（以下、ＣＰＵとする）が、他の複数のプロセッサ（以下、コプロセッサとする）に対してイベント生成要求を出す時に、同時に各々のイベント生成要求に対応づけた要求イベントカウンタをコプロセッサに渡すことにより、コプロセッサは、そのイベント生成要求に対応するイベントをＣＰＵに対して発生させる時に、要求イベントカウンタを起動イベントカウンタとしてＣＰＵに渡す。これにより、発生したイベントがどのコプロセッサからのどのイベント生成要求に対するイベントかをＣＰＵに認識させることができる。
【００３７】
さらに、本発明の第１の実施の形態の場合と同様に、コプロセッサにイベント生成要求を出す時に、イベント関連情報を要求イベントカウンタと対応付けて、ＣＰＵ内部に保存しておくことにより、コプロセッサからのイベント発生時に、起動イベントカウンタと同じ値の要求イベントカウンタに関連付けられたイベント関連情報を取得することができる。従って、３つ以上のプロセッサを使用した場合でも、２つのプロセッサを使用した本発明の一実施例と同じ効果を得ることができる。
【００３８】
以上、本発明の各実施の形態による制御装置によれば、イベント生成要求を出し、かつ生成されたイベントを受付け、処理を実行する第１のプロセッサと、イベント生成要求を受付け、イベントを生成する第２のプロセッサからなる組込み制御装置において、第２のプロセッサがイベントを多重起動し、第１のプロセッサが１つ目のイベントを取得できず、イベントがオーバーラップされた場合でも、オーバーラップされたイベントを無視しても良い処理であれば、次のイベントを正常に受付けることができるという効果がある。
【００３９】
また、イベント起動時の受け渡しをする情報として、起動イベントカウンタのみとなるので、メモリの消費をすくなくでき、イベント起動時に、第１のプロセッサに受け渡す情報の同時性を保証する必要がなく、第１のプロセッサの排他制御を行う必要がないため、ＣＰＵ負荷とデュアルポートメモリの使用量を低減できるという効果がある。
【産業上の利用可能性】
【００４０】
本発明は、２以上のプロセッサを具備する制御装置に適用できる。
【図面の簡単な説明】
【００４１】
【図１】本発明の第１の実施の形態による組込み制御装置のシステム構成例を示す図である。
【図２】本発明の第１の実施の形態による組込み制御装置の仮想リファレンス生成処理部、イベント要求処理部、イベント関連情報記憶処理部、イベント要求記憶処理部の処理の流れを示すフローチャート図である。
【図３】本発明の第１の実施の形態による組込み制御装置におけるＣＰＵのイベント関連情報記憶領域の格納情報の配置の一例を示した図である。
【図４】本発明の第１の実施の形態による組込み制御装置のタイマプロセッサモジュールのイベント要求受付処理の流れを示すフローチャート図である。
【図５】本発明の第１の実施の形態による組込み制御装置のタイマプロセッサモジュールのイベント生成処理の流れを示すフローチャートである。
【図６】本発明の第１の実施の形態による組込み制御装置の仮想リファレンス信号のイベントを受けたＣＰＵのイベント処理の流れを示すフローチャート図である。
【図７】本発明の第１の実施の形態による組込み制御装置のイベント処理により起動される仮想リファレンス信号処理の流れを示すフローチャート図である。
【符号の説明】
【００４２】
１…エンジン制御ユニット、２…クランクセンサ、３…カムセンサ、４…クランクセンサ信号、５…カムセンサ信号、
１１…マイクロプロセッサ、
１１１…ＣＰＵ、１１２…タイマプロセッサモジュール、１１３…デュアルポートメモリ、１１４…入出力ポート、１１１１…イベント処理、１１１２…クランクイベント・カムイベント処理、１１１３…仮想リファレンス生成処理、１１１４…イベント要求処理、１１１５…イベント関連情報記憶処理、１１１６…イベント関連情報記憶、１１１６１…ＣＰＵ要求イベントカウンタ、１１１６１ａ…イベントカウンタ記憶領域、１１１６２…イベント関連情報、１１１６２ａ…イベント関連パラメータ記憶領域、１１１７…イベント要求記憶処理、１１１８…仮想リファレンス信号処理、１１２１…クランク信号・カム信号デコード処理、１１２２…イベント生成処理、１１２３…イベント、１１２４…イベント要求受付処理、１１２５…イベント生成要求、１１２６…タイマプロセッサタイマ、１１２７…タイマプロセッサ起動イベントカウンタ記憶処理、１１３１…クランク信号・カム信号デコード処理結果、１１３２…起動イベントカウンタ記憶、１１３２１…タイマプロセッサ起動イベントカウンタ、１１３３…イベント要求記憶、１１３３１…ＣＰＵ要求イベントカウンタ、１１３３２…ＣＰＵ要求イベント生成時刻。
【図１】
2006048241.tif 000003
【図２】
2006048241.tif 000004
【図３】
2006048241.tif 000005
【図４】
2006048241.tif 000006
【図５】
2006048241.tif 000007
【図６】
2006048241.tif 000008
【図７】
2006048241.tif 000009