(57)【要約】【課題】マスタープロセッサとスレーブプロセッサとの初期同期を確立するに際してマスタープロセッサが割込み信号を出力し続ける必要のないマルチプロセッサシステムを提供する。【解決手段】マスタープロセッサからスレーブプロセッサに出力される割込み信号に基づいてマスタープロセッサとスレーブプロセッサとの初期同期を確立するマルチプロセッサシステムであって、割込み信号をラッチ回路を介してスレーブプロセッサに入力する。【選択図】図１
2017091464.tif 000002
【特許請求の範囲】
【請求項１】
マスタプロセッサからスレーブプロセッサに出力される割込み信号に基づいて前記マスタプロセッサと前記スレーブプロセッサとの初期同期を確立するマルチプロセッサシステムであって、
前記割込み信号をラッチ回路を介して前記スレーブプロセッサに入力することを特徴とするマルチプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサシステムに関する。
【背景技術】
【０００２】
下記特許文献１には、マルチプロセッサシステムの同期方式として、システムの立ち上がり時においてマスタプロセッサからスレーブプロセッサに割込み信号を出力し、スレーブプロセッサが初期状態になると、スレーブプロセッサからマスタプロセッサに応答信号を出力することによりスレーブプロセッサが初期状態になったことをマスタプロセッサに通知することが記載されている。すなわち、このマルチプロセッサシステムでは、マスタプロセッサがスレーブプロセッサに出力する割込み信号によってマスタプロセッサとスレーブプロセッサとの初期同期を確立している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０２−１１８８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記従来技術では、マスタプロセッサは、スレーブプロセッサに割込み信号を出力してから応答信号が入力されるまでの間、割込み信号をスレーブプロセッサに出力し続ける必要がある。
【０００５】
しかしながら、割込み信号を出力し続けることができないような事態がマスタプロセッサに発生した場合には、マスタプロセッサとスレーブプロセッサとの初期同期を確立することができない。
【０００６】
本発明は、上述した事情に鑑みてなされたものであり、マスタプロセッサとスレーブプロセッサとの初期同期を確立するに際してマスタプロセッサが割込み信号を出力し続ける必要のないマルチプロセッサシステムの提供を目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明では、第１の解決手段として、マスタプロセッサからスレーブプロセッサに出力される割込み信号に基づいてマスタプロセッサとスレーブプロセッサとの初期同期を確立するマルチプロセッサシステムであって、前記割込み信号をラッチ回路を介してスレーブプロセッサに入力する、という手段を採用する。
【発明の効果】
【０００８】
本発明によれば、割込み信号はラッチ回路によって状態が保持された状態でスレーブプロセッサに入力されるので、マスタプロセッサは、スレーブプロセッサから初期化処理に関する応答信号を受信するまで割込み信号を出力し続ける必要がない。したがって、本発明によれば、マスタプロセッサの状態変化に関わりなく初期同期を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るマルチプロセッサシステムの要部構成を示すシステム構成図（ａ）及びマルチプロセッサシステムの動作を示すタイミングチャート（ｂ）である。
【図２】本発明の一実施形態に係るマルチプロセッサシステムの動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の一実施形態について説明する。
本実施形態に係るマルチプロセッサシステムは、図１（ａ）に示すように、マスタプロセッサ１、ラッチ回路２、スレーブプロセッサ３及びシリアルバス４を少なくとも備えている。なお、このマルチプロセッサシステムは、一例として車両の制御系を構成する制御システムである。
【００１１】
マスタプロセッサ１は、車両の走行系をソフトウエア制御するプロセッサ（メインプロセッサ）であり、予め記憶された走行制御プログラムに基づいてエンジンやブレーキ等を制御する。このマスタプロセッサ１は、走行系の制御において何らかの故障（異常）等、自らをリセットすべき要因が発生した場合にリセット処理を実行すると共に、スレーブプロセッサ２にもリセット処理を行わせるための割込み信号ａを出力する。
【００１２】
ラッチ回路２は、上記割込み信号ａがＳ入力端子に入力され、またＲ入力端子に解除信号ｂが入力されるＲＳ型フリップフロップ（順序回路）であり、Ｓ入力端子及びＲ入力端子の入力状態に応じてＱ出力端子の出力状態が設定される。すなわち、ラッチ回路２は、割込み信号ａ及び解除信号ｂに基づいてリセット信号ｃを生成してスレーブプロセッサ３に出力する。
【００１３】
スレーブプロセッサ３は、車両の安全装置等、車両の補機系をソフトウエア制御するプロセッサ（サブプロセッサ）であり、予め記憶された補機制御プログラムに基づいて補機系を制御する。このスレーブプロセッサ３は、上記ラッチ回路２から入力されるリセット信号ｃに基づいて自らのリセット処理を実行する。
【００１４】
シリアルバス４は、マスタプロセッサ１とスレーブプロセッサ３とが同期通信を行う通信線路である。マスタプロセッサ１とスレーブプロセッサ３とは、通常状態においてシリアルバス４を用いて同期通信を行うことにより相互の動作状態を認知する。
【００１５】
次に、このように構成されたマルチプロセッサシステムの動作について、図２をも参照して詳しく説明する。
【００１６】
マスタプロセッサ１は、車両のイグニッションスイッチが「ＯＮ」に設定されると、通常処理（ステップＳ１）、つまり走行系の制御を行う。この通常処理において、マスタプロセッサ１は、シリアルバス４を介してスレーブプロセッサ３と同期通信を行ってスレーブプロセッサ３と連携しつつ車両が正常に走行するように走行系を制御する。
【００１７】
ここで、例えば走行系の何らかの故障（異常）が発生すると、当該故障（異常）の発生は、異常検知信号としてマスタプロセッサ１に入力される。そして、マスタプロセッサ１は、上記異常検知信号が入力されることによって走行系の故障（異常）を認知すると（ステップＳ２）、以下のステップＳ３〜Ｓ７の初期化処理を実行する。
【００１８】
すなわち、マスタプロセッサ１は、割込み信号ａをラッチ回路２に出力する（ステップＳ３）。この割込み信号ａは、例えば図１（ｂ）の最上段に示すように、時刻ｔ0（割込要求タイミング）においてローレベルからハイレベルに遷移するステップ信号である。マスタプロセッサ１は、このような割込み信号ａを出力すると、走行系の各種センサから入力される故障（異常）に関する情報（故障情報）を不揮発性メモリに保存する（ステップＳ４）。
【００１９】
そして、マスタプロセッサ１は、上記故障情報の保存が完了すると、走行制御プログラムのリセット処理つまりソフトウエア・リセットを実行する（ステップＳ５）。この結果、マスタプロセッサ１は、自らの初期化処理（スタートアップ処理）を行い（ステップＳ６）、走行制御プログラムの再実行を開始する。
【００２０】
そして、マスタプロセッサ１は、このようにして走行制御プログラムの再実行を開始すると、スレーブプロセッサ３との間の処理としてイニシャル同期通信を実行する（ステップＳ７）。このイニシャル同期通信は、スレーブプロセッサ３との間で行う同期通信（シリアル通信）の初期設定処理であり、スレーブプロセッサ３との通信タイミングを確立するための処理である。マスタプロセッサ１は、このイニシャル同期通信を経ることによりスレーブプロセッサ３との正常な同期通信が可能になる。
【００２１】
一方、ラッチ回路２には、上記ステップＳ３においてマスタプロセッサ１から入力された割込み信号ａがＳ入力端子に入力される。この結果、ラッチ回路２は、Ｑ出力端子からリセット信号ｃを出力する。
【００２２】
すなわち、通常状態においてスレーブプロセッサ３からラッチ回路２に入力される解除信号ｂはローレベルであり、時刻ｔ0（割込要求タイミング）において割込み信号ａがローレベルからハイレベルに遷移すると、リセット信号ｃは、時刻ｔ0における割込み信号ａのレベル（ハイレベル）及び解除信号ｂのレベル（ローレベル）に基づいて時刻ｔ0（割込要求タイミング）においてローレベルからハイレベルに遷移する。
【００２３】
ここで、本来の動作として、マスタプロセッサ１は、ステップＳ７におけるイニシャル同期通信が完了してスレーブプロセッサ３から応答信号を受信するまでの間、割込み信号ａを出力し続ける。すなわち、マスタプロセッサ１は、上記応答信号を受信するまで割込み信号ａの状態をハイレベルに維持する。しかしながら、マスタプロセッサ１は、スレーブプロセッサ３と並行して、走行系の制御を行うので、応答信号を受信するまで割込み信号ａを出力し続けることができない場合がある。
【００２４】
例えば図１（ｂ）示すように、時刻ｔ1において割込み信号ａの出力が中断、つまり割込み信号ａの状態がハイレベルからローレベルに遷移した場合、リセット信号ｃは、ラッチ回路２が本来的に備えている保持機能によって状態が保持される。すなわち、リセット信号ｃは、割込み信号ａの出力が中断されても、ハイレベルの状態を保持する。したがって、スレーブプロセッサ３には、割込み信号ａの変化に影響されることなく、割込み信号ａの本来の状態に対応したリセット信号ｃが入力され続ける。
【００２５】
一方、スレーブプロセッサ３は、補機制御プログラムに基づく補機系の制御処置を通常処理として実行する（ステップＳ８）。そして、スレーブプロセッサ３は、ラッチ回路２からリセット信号ｃが入力されると（ステップＳ９）、以下のステップＳ１０〜Ｓ１４の初期化処理を実行する。
【００２６】
すなわち、スレーブプロセッサ３は、揮発性メモリに一次的に記憶されている制御データを不揮発性メモリに保存する処理及びシリアルバス４を介してマスタプロセッサ１から入力されるアクセス要求を無効化する処理等を同期リセット前処理として実行する（ステップＳ１０）。そして、スレーブプロセッサ３は、上記同期リセット前処理が完了すると、解除信号ｂをラッチ回路２に出力する（ステップＳ１１）。
【００２７】
この解除信号ｂは、図１（ｂ）に示すように、例えば時刻ｔ2（リセット解除タイミング）においてローレベルからハイレベルに遷移するステップ信号である。このような解除信号ｂがＲ入力端子に入力されることにより、また上記時刻ｔ2において割込み信号ａは既にローレベルに遷移しているので、ラッチ回路２のＱ出力端子の状態は、割込み信号ａの保持状態（ハイレベル）からローレベルに遷移する。すなわち、ラッチ回路２は、割込み信号ａの保持状態から解除される。
【００２８】
この結果、スレーブプロセッサ３は、補機制御プログラムのリセット処理つまりソフトウエア・リセットを実行する（ステップＳ１２）。そして、スレーブプロセッサ３は、自らの初期化処理（スタートアップ処理）を行い（ステップＳ１３）、上記補機制御プログラムの再実行を開始する。
【００２９】
さらに、スレーブプロセッサ３は、このようにして補機制御プログラムの再実行を開始すると、マスタプロセッサ１との間の処理としてイニシャル同期通信を実行する（ステップＳ１２）。スレーブプロセッサ３は、このイニシャル同期通信を経ることによりマスタプロセッサ１との正常な同期通信が可能になる。
【００３０】
このような実施形態によれば、マスタプロセッサ１とスレーブプロセッサ３との間にラッチ回路２が設けられることにより、割込み信号ａの状態（ハイレベル）がラッチ回路２によって保持されるので、マスタープロセッサ１とスレーブプロセッサ３との初期同期を確立するに際してマスタープロセッサ１が割込み信号ａを出力し続ける必要がない。したがって、マスタプロセッサ１とスレーブプロセッサ３とを備えるマルチプロセッサシステムにおいて、従来よりも確実に初期同期を確立することが可能である。
【００３１】
なお、本発明は上記実施形態に限定されるものではなく、例えば以下のような変形例が考えられる。
（１）上記実施形態では、マスタプロセッサ１とスレーブプロセッサ３という２つのプロセッサを備えるマルチプロセッサシステムについて説明したが本発明は、これに限定されない。本発明は、３つ以上のプロセッサを備えるマルチプロセッサシステムにも適用可能である。
【００３２】
（２）上記実施形態では、車両の制御系を構成するマルチプロセッサシステム（制御システム）について説明したが本発明は、これに限定されない。本発明は、車両の制御系以外の各種の用途に適用可能である。
【符号の説明】
【００３３】
１  マスタプロセッサ、２  ラッチ回路、３  スレーブプロセッサ、４  シリアルバス、ａ  割込み信号、ｂ  解除信号、ｃ  リセット信号
【図１】
2017091464.tif 000003
【図２】
2017091464.tif 000004