(57)【要約】  【課題】  制御タイミングを同期させるための通信処理などによるタスクの遅延を招くことなく、既存のソフトウェア資産を効率的に再利用でき、制御対象の複雑化と高機能化に対応可能なマルチＣＰＵシステム及びスケジューラを提供する。  【解決手段】  ＣＰＵを含む制御モジュールＣの複数を接続可能なインターフェース部１０と、インターフェース部１０を介して接続された各制御モジュールＳがアクセス可能な共有メモリ管理部２０と、各制御モジュールに対して互いに同期制御可能な同期信号を出力する同期信号生成部３０と、任意の制御モジュールから他の制御モジュールに対する割込み要求を管理する割込み管理部４０とを備え、前記インターフェース部を介して接続された複数の制御モジュールに対してタスク管理を行なうスケジューラＳと、前記スケジューラＳによってタスク管理される複数の制御モジュールＣとから構成される。  【選択図】  図１
2007034910.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵを含む複数の制御モジュールと、
前記複数の制御モジュールに接続されて前記制御モジュールのタスク管理を行なうものであり、接続された各制御モジュールがアクセス可能な共有メモリ管理部と、各制御モジュールに対して互いに同期制御可能な同期信号を出力する同期信号生成部と、任意の制御モジュールから他の制御モジュールに対する割込み要求を管理する割込み管理部とを具備するスケジューラと、
を備えて構成されるマルチＣＰＵシステム。
【請求項２】
前記共有メモリ管理部は、各制御モジュールによってアクセスされるメモリ部と、各制御モジュールから前記メモリ部に対するアクセス権を予め設定されている優先順位に基づいて制御するメモリ制御部を備えて構成されている請求項１記載のマルチＣＰＵシステム。
【請求項３】
前記割込み管理部は、各制御モジュールからの割込み要求が書き込まれる割込み要求レジスタと、前記割込み要求レジスタの内容に基づいて他の制御モジュールに対して割込みリクエストを出力する割込み制御部を備えて構成されている請求項１または２記載のマルチＣＰＵシステム。
【請求項４】
前記スケジューラに、外部装置との間で通信可能な通信ゲートウェイをさらに備え、前記通信ゲートウェイと前記制御モジュールが前記共有メモリ管理部を介してデータの送受信を行なうように構成されている請求項１から３の何れかに記載のマルチＣＰＵシステム。
【請求項５】
各制御モジュールに自身の制御モジュールの異常を検知する自己診断部を備え、前記スケジューラに、異常と自己診断した制御モジュールからの診断情報と予め設定されたリセット条件に基づいて所定の制御モジュールをリセットする異常監視部を備えている請求項１から４の何れかに記載のマルチＣＰＵシステム。
【請求項６】
各制御モジュールに制御データを記憶する不揮発性記憶部を備え、前記異常監視部は、異常と自己診断した制御モジュールからの診断情報に基づいて予め設定された所定の制御モジュールに対して所定の制御情報を前記不揮発性記憶部に記憶させるように要求する請求項５記載のマルチＣＰＵシステム。
【請求項７】
前記自己診断部は、さらに前記スケジューラの異常を検知するように構成され、前記スケジューラが異常と診断したときに他の制御モジュールに当該診断情報を前記スケジューラを介さずに出力する通信手段を備えている請求項５または６記載のマルチＣＰＵシステム。
【請求項８】
ＣＰＵを含む制御モジュールの複数を接続可能なインターフェース部と、前記インターフェース部を介して接続された各制御モジュールがアクセス可能な共有メモリ管理部と、各制御モジュールに対して互いに同期制御可能な同期信号を出力する同期信号生成部と、任意の制御モジュールから他の制御モジュールに対する割込み要求を管理する割込み管理部とを備え、前記インターフェース部を介して接続された複数の制御モジュールに対してタスク管理を行なうスケジューラ。
【請求項９】
前記共有メモリ管理部は、各制御モジュールによってアクセスされるメモリ部と、各制御モジュールから前記メモリ部に対するアクセス権を予め設定されている優先順位に基づいて制御するメモリ制御部を備えて構成されている請求項８記載のスケジューラ。
【請求項１０】
前記割込み管理部は、各制御モジュールからの割込み要求が書き込まれる割込み要求レジスタと、前記割込み要求レジスタの内容に基づいて他の制御モジュールに対して割込みリクエストを出力する割込み制御部を備えて構成されている請求項８または９記載のスケジューラ。
【請求項１１】
前記スケジューラに、外部装置との間で通信可能な通信ゲートウェイをさらに備え、前記通信ゲートウェイと前記制御モジュールが前記共有メモリ管理部を介してデータの送受信を行なうように構成されている請求項８から１０の何れかに記載のスケジューラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＣＰＵを協働させて所定のタスクを実行するマルチＣＰＵシステム及びスケジューラに関する。
【背景技術】
【０００２】
制御対象の複雑化と高機能化に対処すべく、車両に搭載されたエンジンやトランスミッションなどを電子制御するマイクロコンピュータを備えた複数の電子制御ユニット（ＥＣＵ）がＣＡＮ（Controller Area  Network）やＬＩＮ（Local Interconnect Network）などのネットワークで接続されたマルチＣＰＵシステムが構築されている。
【０００３】
これらの電子制御ユニットでは、更なる制御対象の複雑化と高機能化により、一つのＣＰＵで管理すべきメモリ容量が増大するとともにＣＰＵの処理負荷が増大する傾向の下で高い処理速度が要求されるようになっているが、発熱や輻射ノイズなどの観点からクロックの周波数を上げるにも限界があるため、複数のＣＰＵによる分散制御をせざるを得ない状況になっている。そのような各電子制御ユニットの高機能化に対応すべく、ローカルバスなどで相互に接続された複数のＣＰＵの協働により所定の機能が実現される電子制御ユニットが構築される場合もある。
【特許文献１】特開平７−４４４９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来、一つのＣＰＵで実行されていた互いに関連する複数のタスクを複数のＣＰＵによる分散制御により実現する場合には、各タスクの微妙な実行タイミングや判断タイミングを整合するためのデータがさらに必要となり、データ容量が増加するばかりか、そのようなデータを遣り取りするために必要となる通信処理において時間が遅延することから、最終的に必要な処理が必要なタイミングで実行されずに遅延する虞があるという問題があった。
【０００５】
さらには、一つのＣＰＵで実行されていた複数のタスクを実行するための既存のソフトウェア資産を効率的に活用することが望まれるが、複数のタスクを複数のＣＰＵによる分散制御で実現する場合には、夫々のＣＰＵに対応して最適に組み替える必要もあり、さらなる開発コストが嵩むという問題もあった。
【０００６】
本発明は、上述の従来欠点に鑑み、制御タイミングを同期させるための通信処理などによるタスクの遅延を招くことなく、既存のソフトウェア資産を効率的に再利用でき、制御対象の複雑化と高機能化に対応可能なマルチＣＰＵシステム及びスケジューラを提供する点にある。
【課題を解決するための手段】
【０００７】
上述の目的を達成するため、本発明によるマルチＣＰＵシステムの第一の特徴構成は、ＣＰＵを含む複数の制御モジュールと、前記複数の制御モジュールに接続されて前記制御モジュールのタスク管理を行なうものであり、接続された各制御モジュールがアクセス可能な共有メモリ管理部と、各制御モジュールに対して互いに同期制御可能な同期信号を出力する同期信号生成部と、任意の制御モジュールから他の制御モジュールに対する割込み要求を管理する割込み管理部とを具備するスケジューラと、を備えて構成される点にある。
【０００８】
上述の構成によれば、複数の制御モジュールが共有メモリ上で必要な制御データを共有しながら互いに協働して制御することができるようになるので、メモリ容量の増加を抑制しながら同期を取るためのデータを遣り取りする通信を不要にすることができる。その際に、同期信号生成部から供給される同期信号に基づいて各制御モジュールによる制御タイミングの同期をとることができ、基本的な制御タイミングのずれの発生を回避することができ、割込み管理部により個別の制御モジュール間の詳細な同期や整合性の確保が図られるようになる。従って、機能別にモジュール化された既存のソフトウェアを好適にアレンジして各制御モジュールに組み込むことが容易に実現できるのである。これらの共有メモリ管理部、同期信号生成部、割込み管理部などの処理がスケジューラによって総括され、あたかも単一のＣＰＵで制御されるかのように効率的に動作させることができるのである。そして、制御対象が複雑化し、機能が増加するような場合であっても、新たな制御モジュールを追加することにより容易に対応することができるようになる。
【０００９】
同第二の特徴構成は、上述の第一特徴構成に加えて、前記共有メモリ管理部は、各制御モジュールによってアクセスされるメモリ部と、各制御モジュールから前記メモリ部に対するアクセス権を予め設定されている優先順位に基づいて制御するメモリ制御部を備えて構成されている点にある。
【００１０】
上述の構成によれば、各制御モジュールからメモリ部にデータを書き込み、或いは読み出すために同時期にアクセスが行なわれた場合であっても、メモリ制御部によって予め設定された優先順位に基づいてアクセスされるようにアクセス権が制御されるので、バスの衝突することの無い共有メモリ方式を実現することができるようになる。
【００１１】
同第三の特徴構成は、上述の第一または第二特徴構成に加えて、前記割込み管理部は、各制御モジュールからの割込み要求が書き込まれる割込み要求レジスタと、前記割込み要求レジスタの内容に基づいて他の制御モジュールに対して割込みリクエストを出力する割込み制御部を備えて構成されている点にある。
【００１２】
上述の構成によれば一つの制御モジュールから他の制御モジュールに所定のイベントを伝達するなどの必要が生じたときに、一つの制御モジュールが割込み要求レジスタに所定のデータを書き込んで割込み要求を行なえば、割込み制御部が当該割込み要求を他の制御モジュールに通知することができ、当該他の制御モジュールはこの割込み通知に基づいて対応する所定の非同期処理を確実に実行することができるようになる。
【００１３】
同第四の特徴構成は、上述の第一から第三の何れかの特徴構成に加えて、前記スケジューラに、外部装置との間で通信可能な通信ゲートウェイをさらに備え、前記通信ゲートウェイと前記制御モジュールが前記共有メモリ管理部を介してデータの送受信を行なうように構成されている点にある。
【００１４】
上述の構成によれば、外部装置とマルチＣＰＵシステムとの通信が通信ゲートウェイを介して実現できるようになる。外部装置として本発明によるマルチＣＰＵシステムが採用されるような場合には、マルチＣＰＵシステム間の通信が実現でき、例えば、車両に搭載される複数のＥＣＵの夫々をマルチＣＰＵシステムで構成する場合には、各ＥＣＵの高機能化と複雑化に容易に対応できるようになる。尚、通信ゲートウェイは単一に限るものではなく、ＣＡＮ（Controller Area  Network）やＬＩＮ（Local Interconnect Network）などの複数の通信方式に応じて夫々設けるように構成することができる。
【００１５】
同第五の特徴構成は、上述の第一から第四の何れかの特徴構成に加えて、各制御モジュールに自身の制御モジュールの異常を検知する自己診断部を備え、前記スケジューラに、異常と自己診断した制御モジュールからの診断情報と予め設定されたリセット条件に基づいて所定の制御モジュールをリセットする異常監視部を備えている点にある。
【００１６】
上述の構成によれば、プログラムの暴走や接続されたセンサやアクチュエータの故障などの各制御モジュールの異常が自己診断部により検知されると、異常監視部にその異常状態が報知され、当該異常監視部がその異常状態に応じて所定の制御モジュールをリセットするように構成されているので、システムとして齟齬の無い異常からの回復を実現することができるようになる。
【００１７】
同第六の特徴構成は、上述の第五特徴構成に加えて、各制御モジュールに制御データを記憶する不揮発性記憶部を備え、前記異常監視部は、異常と自己診断した制御モジュールからの診断情報に基づいて予め設定された所定の制御モジュールに対して所定の制御情報を前記不揮発性記憶部に記憶させるように要求する点にある。
【００１８】
上述の構成によれば、任意の制御モジュールから診断情報が送られたときに、当該診断情報に対応して所定の制御モジュールの制御データが確保されるようになる。従って、後にターミナルなどを接続して不揮発性記憶部に格納された制御データを参照することにより当該異常の原因の解析を精度良く行なうことができ、的確な対処方法を立案できるようになる。
【００１９】
同第七の特徴構成は、上述の第五または第六特徴構成に加えて、前記自己診断部は、さらに前記スケジューラの異常を検知するように構成され、前記スケジューラが異常と診断したときに他の制御モジュールに当該診断情報を前記スケジューラを介さずに出力する通信手段を備えている点にある。
【００２０】
上述の構成によれば、各制御モジュールに設けた自己診断部の何れかでスケジューラの異常が検出されると、各制御モジュールで実行されるタスクの統括管理が補償されなくなる虞がある。そのような場合であってもローカルバスなどの通信手段によって前記スケジューラを介さずに他の制御モジュールに当該異常を伝達できるので、通信手段を介して異常との診断情報を受信した各制御モジュールは、例えば予め設定された所定の非常事態タスクを実行することにより、重大な事態に至る前に安全裏にシステムを停止などさせることができるようになる。
【００２１】
本発明によるスケジューラの第一の特徴構成は、ＣＰＵを含む制御モジュールの複数を接続可能なインターフェース部と、前記インターフェース部を介して接続された各制御モジュールがアクセス可能な共有メモリ管理部と、各制御モジュールに対して互いに同期制御可能な同期信号を出力する同期信号生成部と、任意の制御モジュールから他の制御モジュールに対する割込み要求を管理する割込み管理部とを備え、前記インターフェース部を介して接続された複数の制御モジュールに対してタスク管理を行なう点にある。
【００２２】
同第二の特徴構成は、上述の第一特徴構成に加えて、前記共有メモリ管理部は、各制御モジュールによってアクセスされるメモリ部と、各制御モジュールから前記メモリ部に対するアクセス権を予め設定されている優先順位に基づいて制御するメモリ制御部を備えて構成されている点にある。
【００２３】
同第三の特徴構成は、上述の第一または第二の特徴構成に加えて、前記割込み管理部は、各制御モジュールからの割込み要求が書き込まれる割込み要求レジスタと、前記割込み要求レジスタの内容に基づいて他の制御モジュールに対して割込みリクエストを出力する割込み制御部を備えて構成されている点にある。
【００２４】
同第四の特徴構成は、上述の第一から第三の何れかの特徴構成に加えて、前記スケジューラに、外部装置との間で通信可能な通信ゲートウェイをさらに備え、前記通信ゲートウェイと前記制御モジュールが前記共有メモリ管理部を介してデータの送受信を行なうように構成されている点にある。
【発明の効果】
【００２５】
以上説明した通り、本発明によれば、制御タイミングを同期させるための通信処理などによるタスクの遅延を招くことなく、既存のソフトウェア資産を効率的に再利用でき、制御対象の複雑化と高機能化に対応可能なマルチＣＰＵシステム及びスケジューラを提供することができるようになった。
【発明を実施するための最良の形態】
【００２６】
以下に本発明によるマルチＣＰＵシステムが車両のエンジン制御用として構築される場合を説明する。図１に示すように、マルチＣＰＵシステム１は、ＣＰＵを含む制御モジュールＣ（Ｃａ，Ｃｂ，Ｃｃ，・・・）の複数と、各制御モジュールＣに対してタスク管理を行なうスケジューラＳとで構成されている。前記スケジューラＳは、ＣＰＵ及び前記制御モジュールＣに対するタスク管理プログラムが格納されたＲＯＭやワーキングエリアなどに使用されるＲＡＭや制御データを格納するＳＲＡＭやタイマ／カウンタ回路などの複数の周辺回路を備えて構成されている。これらを機能ブロックに分割して説明すると、各制御モジュールＣを接続可能なインターフェース部１０と、前記インターフェース部１０を介して接続された各制御モジュールＣがアクセス可能な共有メモリ管理部２０と、各制御モジュールＣに対して互いに同期制御可能な同期信号を出力する同期信号生成部３０と、任意の制御モジュールＣから他の制御モジュールＣに対する割込み要求を管理する割込み管理部４０を備えて構成され、前記インターフェース部１０を介して接続された複数の制御モジュールＣに対してタスク管理が行なわれる。
【００２７】
前記スケジューラＳには、外部装置との間で通信可能な通信ゲートウェイＧ／Ｗをさらに備え、前記通信ゲートウェイＧ／Ｗと前記制御モジュールＣが前記共有メモリ管理部２０を介してデータの送受信を行なうように構成されている。当該通信ゲートウェイＧ／Ｗ（Ｇ／Ｗ１、Ｇ／Ｗ２、Ｇ／Ｗ３）は、ＣＡＮ（Controller Area  Network）、ＬＩＮ（Local Interconnect Network）、ＦｌｅｘＲａｙなどの目的に応じて異なるプロトコルが採用される複数の通信方式に対応して夫々設けられている。このような通信ゲートウェイＧ／Ｗには、異種プロトコル間の通信を整合するための通信ゲートウェイＧ／Ｗも含まれる。つまり、外部装置からの入力データが前記共有メモリ管理部２０のある領域に格納され、その領域のデータを参照することにより前記制御モジュールＣが必要な情報を獲得し、前記制御モジュールＣが外部装置に対する出力データを前記共有メモリ管理部２０のある領域に格納すると、前記通信ゲートウェイＧ／Ｗがその領域のデータを外部装置に送信するように構成されている。
【００２８】
各制御モジュールＣは、ＣＰＵ２とＣＰＵ２の実行プログラムが記憶されたＲＯＭ３とワーキングエリアとして使用されるＲＡＭ４と制御データを格納するＳＲＡＭ（図示せず）とＣＰＵ２の出力ポートに接続されるドライバ回路とＣＰＵ２の入力ポートに接続されるパルス信号用のバッファ回路やアナログ信号用のアンプ回路などが基板に搭載されて構成されている。尚、ＣＰＵ２は実現される機能により８ビットから６４ビットのデータ幅のうち適切なものが選択されるものであるが、データ幅は６４ビット以上のもので実現することも可能であることはいうまでもない。従って、マルチＣＰＵシステム１に８ビットＣＰＵや１６ビットＣＰＵなどの混在が許容されるとともに、それに対応すべく前記スケジューラＳが構成されている。
【００２９】
各制御モジュールＣは、電源ラインや外部の負荷やセンサに接続される入出力信号ライン（ＩＮ／ＯＵＴ）を受ける複数のコネクタポストＰ１と、前記インターフェース部１０と信号ラインを接続するコネクタポストＰ２などが設けられ、例えば、ケーブルなどの信号ラインを介して前記スケジューラＳに接続される。
【００３０】
各制御モジュールＣは、例えばガソリンエンジンと電動モータを併用して走行制御されるハイブリッドタイプの動力制御部で用いられ、例えば制御モジュールＣａがエンジンの制御及びトランスミッションの制御を行ない、制御モジュールＣｂが電動モータの駆動制御を行ない、制御モジュールＣｃが車両の走行状態などに応じてエンジンや電動モータに対するトルク配分制御を行なうように、所定の走行制御に必要なタスクが分散して実行されるように構成することができる。
【００３１】
前記インターフェース部１０は、前記制御モジュールＣとの間に必要な信号ラインを電気的に接続するブロックで、前記共有メモリ管理部２０や前記割込み管理部４０へアクセスするためのバスライン、前記スケジューラＳからの同期信号やイベント信号などの出力ラインなどに対応したインターフェース回路及びコネクタポストが設けられている。
【００３２】
前記同期信号生成部３０は、図２（ａ）に示すように、タイマ回路と、タイマ回路により計時された一定周期の同期信号、例えば１ｍｓｅｃ．インタバルの同期信号を各制御モジュールＣに対する割込み信号として出力する割込み信号出力部を備えて構成され、各制御モジュールＣには当該同期信号の入力により起動する割込み処理部Ｃ１と、割込み処理に同期してカウントするカウンタ回路Ｃ２またはタイマ回路と、カウンタ回路Ｃ２のカウント値に基づいて２ｍｓｅｃ．，４ｍｓｅｃ．，８ｍｓｅｃ．，１６ｍｓｅｃ．のそれぞれのインタバルによるタスク実行タイミングを生成するイベント発生部Ｃ３を備えてある。
【００３３】
各制御モジュールＣは、入力された同期信号に基づいて生成された上述の１ｍｓｅｃ．，２ｍｓｅｃ．，４ｍｓｅｃ．，８ｍｓｅｃ．，１６ｍｓｅｃ．などのイベントに対応して必要な処理を実行することになり、これらのイベント発生タイミングが前記スケジューラＳからの同期信号に基づいて生成されるタイミングであるために、各制御モジュールＣにおけるタスクの実行タイミングの同期が確保されることになる。上述の場合、イベント発生タイミングは１ｍｓｅｃ．の任意の整数倍とすることができる。例えば、異なる制御モジュールＣａ，Ｃｂ間で実行される所定のタスクの実行順序が重要なときには、図２（ｂ）に示すように、前記同期信号に基づいて各制御モジュールＣで管理される４ｍｓｅｃ．のイベント発生タイミングで制御モジュールＣａが所定のタスクを実行し、５ｍｓｅｃ．のイベント発生タイミングで制御モジュールＣｂが関連するタスクを実行するように各制御モジュールをプログラムしておくことにより、各タスクの実行順序を規定することができる。
【００３４】
前記共有メモリ管理部２０は、図３（ａ）に示すように、各制御モジュールＣによってアクセスされる共有メモリ部２２と、各制御モジュールＣから前記共有メモリ部２２に対するアクセス権を予め設定されている優先順位が格納された優先順位定義テーブル２６に基づいて制御するメモリ制御部２４を備えて構成されている。
【００３５】
例えば、制御モジュールＣａから共有メモリ部２２の０ｘ１２３４番地に０ｘ５６７８という値を書き込むためのアクセスと、制御モジュールＣｂから共有メモリ部２２の０ｘ１２３４番地の値を読み込むためのアクセスと、通信ゲートウェイＧ／Ｗ１から共有メモリ部２２の０ｘ１２３４番地に０ｘ３４５６という値を書き込むためのアクセスが同時になされたときに、前記メモリ制御部２４は、図３（ｂ）に示すように、前記優先順位定義テーブル２６に基づいて、先ず通信ゲートウェイＧ／Ｗ１から共有メモリ部２２の０ｘ１２３４番地に０ｘ３４５６という値を書き込むためのアクセスを許容して他のアクセスを待機させ、次に制御モジュールＣｂから共有メモリ部２２の０ｘ１２３４番地の値を読み込むためのアクセスを許容し、最後に制御モジュールＣａから共有メモリ部２２の０ｘ１２３４番地に０ｘ５６７８という値を書き込むためのアクセスを許容するようにメモリアクセスシーケンスを制御する。
【００３６】
つまり、各制御モジュールＣから共有メモリ部２２にデータを書き込み、或いは読み出すために同時期にアクセスが行なわれた場合であっても、メモリ制御部２４によって予め設定された優先順位に基づいてアクセスされるようにアクセス権が制御されるので、バスの衝突することの無い共有メモリ方式を実現することができるようになる。
【００３７】
前記割込み管理部４０は、図４（ａ）に示すように、各制御モジュールＣから割込み先を特定した割込み要求が書き込まれる割込み要求レジスタ４２と、前記割込み要求レジスタ４２の内容に基づいて他の制御モジュールＣに対して割込みリクエストを出力する割込み制御部４４を備えて構成されている。前記割込み要求レジスタ４２は、図４（ｂ）に示すように、制御モジュールＣ毎に他の制御モジュールＣに対する割込み要求フラグをセットするレジスタで、少なくとも接続可能な制御モジュール数に相当するビット数及びレジスタ数のレジスタ群で構成されている。例えば、制御モジュールＣａから制御モジュールＣｂ，Ｃｃに同時に割込み要求する場合には、図４（ｃ）に示すように、制御モジュールＣａに対応する割込み要求レジスタの最下位ビットをセットするとともに制御モジュールＣｂ，Ｃｃに対応するビットをセットすることにより、割込み制御部４４から制御モジュールＣｂ，Ｃｃに割込みリクエストが出力される。
【００３８】
つまり、前記制御モジュールＣが制御モジュール同士で同期を取る必要のあるタスクを実行するときに、前記割込み要求レジスタ４２に割込み先を特定した割込み要求データをセットすると、そのタイミングで前記スケジューラＳは割込み要求が発生したことを認識して前記割込み制御部４４から割り込み先の制御モジュールＣに割込み信号を出力する。当該割込み信号が入力された制御モジュールＣは、対応するタスクを実行した後にその割込み要求レジスタにセットされた自分に対する割込み要求フラグをリセットする。スケジューラＳは当該割込み要求フラグがリセットされたことを検知して当該割込み処理が正常に実行され、終了したことを検出する。所定時間経過しても割込み処理の終了が検出されないときには、何れかの制御モジュールまたは割込み管理部４０に異常が生じていると検出することも可能である。
【００３９】
例えば、図４（ａ）に示すように、制御モジュールＣａが値Ｘを算出して、その値Ｘを制御モジュールＣｂに伝えたいときに、算出した値を共有メモリ部２２の所定エリアに格納した後に制御モジュールＣａに対応する割込み要求レジスタ４２（Ｃａ用レジスタ）の最下位ビットをセットするとともに、Ｃａ用レジスタの制御モジュールＣｂに対応するビットをセットする。これを検出した割込み制御部４４は、制御モジュールＣｂにイベント発生を知らせる割込み信号を出力する。当該割込み信号を受信した制御モジュールＣｂは、割込み要求レジスタ４２を参照して何れから要求された割り込み処理であるかを確認処理する。制御モジュールＣａからの割込み処理であると判断したときに、予め設定されたタスクを起動させて前記共有メモリ部２２の所定エリアに格納されたデータＸを読み出して、データＸをベースに新たな値Ｙ（＝ｆ（Ｘ））を算出する。割込み処理が終了すると、当該割込み要求レジスタ４２にセットされている自身に対するフラグ（Ｃａ用レジスタの制御モジュールＣｂに対応するビット）をリセットする。これを受けて前記割込み制御部４４は割込み処理が正常に終了したと判断して制御モジュールＣａからの割込みフラグ（Ｃａ用レジスタの最下位ビット）をリセットするのである。
【００４０】
尚、同時に同じ制御モジュールＣに対して異なる制御モジュールＣから割込み要求があったときには、割込み信号を受信した制御モジュールＣが何れの割込み処理を優先させるかを独自に判断するように構成してもよいし、割込み制御部４４が予め設定された割込み優先順位定義テーブルに基づいて割込み信号を出力するように構成してもよい。この場合には、割込み信号に割込み要求元の制御モジュールＣを特定可能なデータを同時に出力するか、割込み要求レジスタとは別に割込み信号を受信した制御モジュールＣが参照可能な単一の割込み参照レジスタを設けて、当該参照レジスタに割込み要求元の制御モジュールＣと割込み要求先の制御モジュールＣを特定するフラグをセットするように構成すればよい。
【００４１】
また、割込み要求レジスタ４２の構成は上述のものに限るものではなく、割込み制御部４４が何れの制御モジュールＣから何れの制御モジュールＣへの割込み要求かを認識できる構造であるならば他の構成であってもよい。
【００４２】
図５に示すように、各制御モジュールＣに自身の制御モジュールの異常を検知する自己診断部５を備え、前記スケジューラＳに、異常と自己診断した制御モジュールＣからの診断情報と予め設定されたリセット条件に基づいて所定の制御モジュールＣをリセットする異常監視部５０を備えている。
【００４３】
前記自己診断部５は、プログラムの暴走などによるＣＰＵの異常を検出するウォッチドッグ回路による監視や、接続されている各種のセンサからのアナログ信号入力データの異常監視や、制御データを格納しているＳＲＡＭのデータのチェックサムの異常監視などを実行するもので、異常が検出されると当該異常情報が前記異常監視部５０に出力される。前記スケジューラＳに異常情報が入力されると、前記異常監視部５０は予め設定された条件で所定の制御モジュールＣをリセットする。ここで、リセットとは、ＣＰＵ異常に対して制御モジュールＣのＣＰＵに対するリセット、ＳＲＡＭデータ異常に対してＳＲＡＭの初期化、アナログ信号入力データの異常に対してＡ／Ｄ変換部の初期化など異常状態に応じてその種類が異なるリセット動作が行なわれる。ここで、例えば特定の制御モジュールＣでＣＰＵ異常が発生すると、接続されている全ての制御モジュールＣに対してＣＰＵリセットが行なわれることで、各制御モジュールＣの整合性を保つように制御され、特定の制御モジュールＣのＳＲＡＭ異常に対しては異常なＳＲＡＭまたは関連する他の制御モジュールＣのＳＲＡＭを含めて初期化され、アナログ信号入力データの異常に対しては異常なＡ／Ｄ変換部のみの初期化が行なわれる。  その他、異常状態に応じて適切なリセット動作を実行するように構成することができる。
【００４４】
一方、スケジューラＳの異常については各制御モジュールの自己診断部５が異常監視する。例えば、割込み要求レジスタに割込み要求フラグをセットして、所定時間内に割込み処理がなされない場合や、同期信号が入力されない場合や、共有メモリ部２２にアクセスできない場合など、スケジューラＳに要求されている所定の機能が実行されないときにスケジューラＳに異常が発生したと診断できる。図６に示すように、各制御モジュールＣ間は互いにローカルバス７で接続されており、何れかの制御モジュールＣで前記スケジューラが異常と診断されたときに他の制御モジュールに当該診断情報が出力されるように構成されている。
【００４５】
上述したように、各制御モジュールＣに制御データを記憶する不揮発性記憶部としてのＳＲＡＭを備えてあるが、図７に示すように、前記異常監視部５０が、異常と自己診断した制御モジュールからの診断情報を受信したときに、予め設定された所定の制御モジュールＣに対して所定の制御データを保持するべく前記不揮発性記憶部に記憶させるように要求することにより、何れかの制御モジュールＣにおける異常発生時の制御データが確保されるように構成されている。
【００４６】
従って、後にターミナルなどを接続して不揮発性記憶部に格納された制御データを参照することにより当該異常の原因の解析を精度良く行なうことができ、的確な対処方法を立案できるようになる。これにより、単一のＣＰＵで全てのタスクを実行するように構成されたプログラムをモジュールに分割して各制御モジュールＣに分割する際に、異常の原因の解析を行なうための制御データが複数の制御モジュールＣに分散される場合であっても、確実に制御データを保持することができるようになる。
【００４７】
前記異常監視部５０が、任意の制御モジュールＣから異常との診断情報を受信したときに、所定の制御モジュールＣから制御データを吸い上げて前記スケジューラＳに設けたＳＲＡＭに格納するように構成するものであってもよい。
【００４８】
上述した実施形態では、各制御モジュールＣが、ＣＰＵ２とＣＰＵ２の実行プログラムが記憶されたＲＯＭ３とワーキングエリアとして使用されるＲＡＭ４と制御データを格納するＳＲＡＭとＣＰＵ２の出力ポートに接続されるドライバ回路とＣＰＵ２の入力ポートに接続されるパルス信号用のバッファ回路やアナログ信号用のアンプ回路などが基板に搭載されて構成され、ケーブルを介してスケジューラＳに接続されるものを説明したが、各制御モジュールＣが、ＣＰＵ２とＣＰＵ２の実行プログラムが記憶されたＲＯＭ３とワーキングエリアとして使用されるＲＡＭ４と制御データを格納するＳＲＡＭなどを備えた半導体チップ回路として構成され、前記スケジューラＳの背部にマウントするものや、前記スケジューラＳが搭載された基板に搭載するように構成するものであってもよい。
【００４９】
以上説明したように、本発明によるマルチＣＰＵシステムを採用すれば、制御タイミングを同期させるための通信処理などによるタスクの遅延を招くことなく、既存のソフトウェア資産を効率的に再利用でき、制御対象の複雑化と高機能化に対応可能となる。
【００５０】
上述した何れの実施形態も、本発明の一実施例に過ぎず、該記載により本発明が限定されるものではなく、各機能を構成するための具体的な回路構成等はＡＳＩＣなどのフレキシブルな半導体回路を用いて適宜構成することが可能であり、本発明の作用効果を奏する範囲で適宜変更設計可能である。
【図面の簡単な説明】
【００５１】
【図１】マルチＣＰＵシステムのブロック構成図
【図２】同期信号生成部の説明図
【図３】共有メモリ管理部の説明図
【図４】割込み管理部の説明図
【図５】異常監視部の説明図
【図６】異常監視部の説明図
【図７】異常監視部の説明図
【符号の説明】
【００５２】
１：マルチＣＰＵシステム
１０：インターフェース部
２０：共有メモリ管理部
３０：同期信号生成部
４０：割込み管理部
５０：異常監視部
Ｃ：制御モジュール
Ｓ：スケジューラ
【図１】
2007034910.tif 000003
【図２】
2007034910.tif 000004
【図３】
2007034910.tif 000005
【図４】
2007034910.tif 000006
【図５】
2007034910.tif 000007
【図６】
2007034910.tif 000008
【図７】
2007034910.tif 000009