(57)【特許請求の範囲】
【請求項１】
複数のアクチュエータを制御するための分布アーキテクチャーシステムであって、
各々が前記アクチュエータの一つに作動的に接続されており、各々が、連携するアクチュエータに指令を提供するために連携するアクチュエータと連絡している主要コントローラ（４２）を有する、複数のノードであって、前記各主要コントローラが互いに監視して、他のノードの主要コントローラが機能不全であるか否かを決定し、前記他のノード以外の各ノードが、機能不全と決定された前記他のノードの主要コントローラを停止または無効にする工程をとる、前記複数のノードと、
前記主要コントローラ（４２）の間での連絡を確立するために、前記複数のノードの主要コントローラ（４２）を電気的に相互に連絡するバスであって、前記主要コントローラ（４２）が互いに監視でき、前記他のノード以外の各ノードにより機能不全であると決定されたノードの前記主要コントローラ（４２）を停止または無効にすることを前記他のノード以外の各ノードに可能にさせる、バスと、を備え、
前記各ノードが、前記連携する主要コントローラ（４２）が停止または無効にしたことに応答して他のノードの他の主要コントローラ（４２）から前記連携するアクチュエータに指令を提供するために、前記バスと前記ノードの前記連携するアクチュエータとの間の連携する主要コントローラに機能的に並列に設けられる管理コントローラ（４４）を有する、分布アーキテクチャーシステム。
【請求項２】
前記ノードの１つの前記主要コントローラ（４２）が機能不全であるとの決定は、連携するノードの連携する前記管理コントローラ（４４）及び別のノードの主要コントローラにより、ひとまとめに行われる、請求項１に記載の分布アーキテクチャーシステム。
【請求項３】
前記主要コントローラ（４２）が機能不全かどうかを決定するために、前記管理コントローラ（４４）が前記主要コントローラ（４２）を監視するように、前記連携する主要コントローラ（４２）と管理コントローラ（４４）との間の連携を直接に確立するため、前記主要コントローラ（４２）と前記ノードの少なくとも一つの管理コントローラ（４４）との間のシリアル周辺インターフェースによる連結を更に有する、請求項２に記載の分布アーキテクチャーシステム。
【請求項４】
前記主要コントローラ（４２）は、停止または無効にしている主要コントローラを有するノードのアクチュエータに提供されるべき指令を決定するように構成される、請求項１に記載の分布アーキテクチャーシステム。
【請求項５】
前記管理コントローラ（４４）の少なくとも一つは、停止または無効にしている主要コントローラを有するノードのアクチュエータに提供されるべき指令を決定するように構成される、請求項４に記載の分布アーキテクチャーシステム。
【請求項６】
前記各ノードの主要コントローラおよび管理コントローラは、前記主要コントローラが機能不全であると決定されたときに、オーバーライド出力を提供する、請求項１に記載の分布アーキテクチャーシステム。
【請求項７】
前記連携する主要コントローラからの前記オーバーライド出力と前記指令とが第１論理関数に送られ、前記管理コントローラにより出力された前記オーバーライド出力と前記指令とが第２論理関数に送られる、請求項６に記載の分布アーキテクチャーシステム。
【請求項８】
前記第１論理関数と第２論理関数は共にＡＮＤ関数である、請求項７に記載の分布アーキテクチャーシステム。
【請求項９】
前記第１論理関数と第２論理関数の両方の出力は第３論理関数に送られる、請求項８に記載の分布アーキテクチャーシステム。
【請求項１０】
前記第３論理関数は、ＯＲ関数である、請求項９に記載の分布アーキテクチャーシステム。
【請求項１１】
前記第３論理関数の出力は、連携するアクチュエータに送られる、請求項１０に記載の分布アーキテクチャーシステム。
【請求項１２】
前記システムは、アンチロックブレーキングシステム（ＡＢＳ）であり、各アクチュエータはブレーキモーターを駆動するブレーキモータードライバーである、請求項１に記載の分布アーキテクチャーシステム。
【請求項１３】
複数の車輪を有する自動車ボディを更に有し、前記ノードの各々は前記車輪の一つと連携する、請求項１２に記載の分布アーキテクチャーシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０５年２月２８日に出願された、米国仮出願シリアル番号６０／６５７，０１１号の優先権を主張し、その全体的な内容は、ここで参照したことにより、本願に組み込まれる。
【０００２】
本発明は、フォールトトレランスのノードアーキテクチャーに係り、より詳しくは、分布システムで使用するためのフォールトトレランスのノードアーキテクチャーに関する。
【背景技術】
【０００３】
電気機械式ブレーキシステムは、自動車で使用するため益々関心を引いている。例えば、電気機械式ブレーキシステムは、中央コントローラ、及び／又は、車両のコーナーで配置された各ブレーキ制御サブシステムと連係するコントローラを持つことができる。コントローラは、様々なコントローラにより該コントローラの間に通信を提供するためバス（例えば、時間トリガー式バス又は事象トリガー式バス）に連結することができる。そのような電気機械式ブレーキシステムは、ブレーキを制御するため電気機械式システムに独占的に頼ることができるので、これらのシステムは、典型的には、余剰性及びバックアップを含んでいる。システムの中には、本システムが機能し続けることができるようにフェールセーフ又は故障無症状のアーキテクチャーを持つものがある。ただし、これらのシステムでは、ノードの一つ（即ち、コーナーコントローラ）が欠陥を持ち、及び／又は、停止されたときには、性能が減少したレベルで機能し続けるようになっている。
【０００４】
たとえノードの一つが欠陥を持ち、及び／又は、停止されたときでさえも、本システムが通常通りに又は通常の近い状態で機能し続けることができるように、フォールトトレランス又は故障で作働可能である分布システムを提供することが望まれている。そのようなフォールトトレランスシステムは、本システムが機能し続けることができるが、減少した性能レベルで機能するフェールセーフ又はフェールサイレントシステムを超える利点を提供する。古典的なシステムは、フォールトトレランスノードを提供する上で十分な余剰性を提供するため単一のノードで３つのコントローラを必要としている。しかし、例えば、自動車制御システム等、多数のシステムのための各ノードにおいて３つのコントローラを提供することは非常にコスト高になるおそれがある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従って、バスに連結されたシステム又はコントローラで使用するためのフォールトトレランスノードアーキテクチャーが求められている。分布システムで使用することができると共に、フォールトトレランス特徴システムを提供するためシステムの分布性質の利点を奏するフォールトトレランスノードアーキテクチャーのための必要性が存在している。
【課題を解決するための手段】
【０００６】
一実施例では、本発明は、例えば事象トリガー式バス又は時間トリガー式バス等の、バスに連結されたシステム又はコントローラで使用するためのフォールトトレランスノードアーキテクチャーである。特に、一実施例では、本発明は、バスにより一緒に作働的に連結された複数のノードを含む分布アーキテクチャーシステムである。各々のノードは、バス及びアクチュエータにデータを提供するように構成された主要コントローラと、バス及びアクチュエータにデータを提供するように構成された管理コントローラとを備える。各ノードは、通常の作働の間に、主要コントローラがアクチュエータを制御するデータをアクチュエータに提供し、管理コントローラがアクチュエータを制御するデータを該アクチュエータに通常では提供しないように構成される。ノードの各々は、主要コントローラが不適切なデータを提供していると判定された場合には、管理コントローラがアクチュエータを制御するデータを該アクチュエータに提供し、主要コントローラがアクチュエータを制御するデータを該アクチュエータに提供しないように構成される。
【実施例】
【０００７】
本発明のノードアーキテクチャーは、図１に示されるように、車両ボディ１２を有する車両１０内に実装することができる。車両１０は、各車輪１４が車両１０のコーナーに配置されるか又は該コーナーに隣接している状態で、１組の車輪１４を備える。各々の車輪１４は、例えば、電気機械式ブレーキシステム等、ブレーキサブシステム１６を備えていてもよい。各々のブレーキサブシステム１６は、キャリパー１８と、連係する車輪１４に回転可能に連結されたロータ２０と、を備えていてもよい。各々のキャリパー１８は、連係したモータードライバー２１を有するモーター２２に作働的に連結されている。モーター２２は、キャリパー１８を変位させ、その上に配置されたブレーキパッド（図示せず）をロータ２０と係合させるように作働することができ、車両１０のブレーキ動作及び減速を周知の態様で引き起こすことができる。
【０００８】
各々のブレーキサブシステム１６は、車輪１４に印加されたブレーキ力を制御するため車輪１４に隣接して配置されるか又は該車輪と連係する、遠隔プロセッサ／コントローラ又はコーナープロセッサ／コントローラ２４を更に含んでいるか又は連結されていてもよい。各々のコーナープロセッサ２４は、より大きいシステムを形成するため、主要通信バス２８によって、中央プロセッサ／コントローラ２６並びに他のコーナープロセッサ２４、又は、他の追加のプロセッサ若しくはコントローラ（図示せず）に接続されていてもよい。
各々のプロセッサ２４、２６は、幅広く様々なコントローラ、マイクロコントローラ、電子制御ユニット（ＥＣＵ）、プロセッサ、チップ、論理回路等々のうち任意のものであっても或いはそれらを含むものであってもよいが、本明細書で「プロセッサ」と称されるものは、これら全ての用語及び構成の全てを包含するものである。各々のコーナー及びプロセッサ２４は、連係するモータードライバー２１に信号／指令を提供することができる。各々のモータードライバー２１は、信号／指令を連係するモータードライバー２１に提供することができる。各々のモータードライバー２１は、連係するモーター２２／キャリパー１８の運動及び作働を制御するため信号／指令を連係するモーター２２に供給される電気信号／指令へと変換することができる。
【０００９】
図１のシステムは、各車輪１４に配置された電気機械式ブレーキサブシステム１６を備えた車両１０を示している。しかし、所望ならば、車輪１４の全てよりも少ない数の車輪（即ち、２つだけの車輪）は、電気機械式ブレーキサブシステムを備えているか又は利用することができる。この場合には、それらの他の車輪は、伝統的な液圧ブレーキサブシステムを備えていてもよい。
【００１０】
車両１０は、プロセッサ２４、２６の各々にデータを送信し、該プロセッサの各々からデータを受信することができる主要通信バス２９を備えていてもよい。バス２８は、電気信号、光学信号又は無線信号を始めとした信号又はデータを転送することができる任意の形態を取り得る。また、バスは、有線、無線、光ファイバー等や、それらの組み合わせ等の、その設備に様々な技術を含み、これらの技術を用いることができる。バス２８は、幅広い範囲に亘る通信ネットワーク、バスシステム又は構成、非同期式又は同期式の通信システム及びプロトコル等、並びに、それらの組み合わせのうち任意のものであってもよく、又は、それらを含むことができる。単一バス２８だけが示されているが、バス２８は、要求されたデータ送信を提供するため十分な容量を持っているべきであり、実際、多重のバス又はサブバスを備えることができる。この態様では、コーナープロセッサ２４及び／又は中央プロセッサ２６の各々は、他のプロセッサ２４、２６を、制御し、及び／又は、監視し、及び／又は、他のプロセッサと通信する能力を持っている。
【００１１】
バス２８は、星形態、リング形態、又は、他の形態を始めとする、様々な形態又はトポロジーを持つことができる。バス２８は、事象トリガー式プロトコルを利用するか又は組み込むことができる。この場合には、バス２８は、例えば、ＣＡＮ（コントローラエリアネットワーク）データバスライン、又は、ＶＡＮ（車両エリアネットワーク）データバスラインであってもよい。代替例として、バス２８は、時間トリガー式プロトコルを利用するか又は組み込むことができる。この場合には、バス２８は、例えば、フレックスレイ（Ｒ）データバス、又は、ＴＴＰ／Ｃバス、又は、ＴＴＣＡＮバス、又は、カリフォルニア州、サンジエゴの会社により販売されているタイタン（Ｒ）バスのいずれであってもよい。
【００１２】
プロセッサ２４、２６の各々は、車両１０の様々な条件及び構成部品に関連したデータを受け取る。例えば、図１は、複数の車輪速度センサー３０を、各車両センサー３０が車輪１４に隣接して配置され、連係する隣接するコーナープロフィール２４にその出力を提供する状態で示している。図１は、ブレーキペダル３４の変位を決定するように構成されたブレーキペダルセンサー３２と、ハンドル３８の回転位置を決定するように構成されたハンドルセンサー３６とを示している。ブレーキペダルセンサー３２及びハンドルセンサー３６は、中央プロセッサに連結されている。しかし、車両／システムは、例えば、車両速度、車両ヘッディング、車輪のスリップ状態、長さ方向及び横方向の加速度、偏揺れ角等の様々な車両／システム状態を追跡する様々な追加のセンサー（図示せず）を含んでいてもよい。様々なセンサーは、それらの出力信号を提供するため、プロセッサ２４，２６の各々又は選択されたプロセッサに直接連結されていてもよい。各々のプロセッサ２４，２６は、様々なセンサーから受け取ったデータを処理する。
【００１３】
各々のプロセッサ２４、２６は、入力データがノードに流れ込み、出力データが流れ出すようなノードであると考えられる。各ノード２４、２６は、フォールトトレランス構造又はアーキテクチャーを有することが求められている。更に加えて、様々なセンサー（即ち、センサー３０、３２、３６）及びプロセッサ２４、２６は、フォールトトレランス構造又はアーキテクチャーを有する、より大きな制御システム４０を形成するか又はその一部をなすことができる。以下に概観されるノードアーキテクチャーは、自動車１０で使用されるプロセッサ２４，２６の各々に利用されるか又は組み込まれていてもよい。より詳しくは、電気機械式（即ち、電動ブレーキ）システムのプロセッサ２４、２６に利用されるか又は組み込まれていてもよい。
【００１４】
しかし、本明細書で開示されるノードアーキテクチャーは、例えば、操舵（即ち、電動操舵）プロセッサ、電動スロットルプロセッサ又はシステム、能動サスペンションプロセッサ又はシステム、或いは、自動制御化プロセッサ又はシステム、コントローラ又は制御システム等、ほとんど任意の車両プロセッサ又はシステム内で利用されるか又は組み込まれていてもよいことが理解されるべきである。加えて、本発明及び本明細書で開示されるノードアーキテクチャーは、自動車又は自動化車両で利用されるプロセッサ又はコントローラで使用することに必ずしも制限されるものではない。出力を提供する、ノード、プロセッサ又はコントローラを利用する任意のシステムで使用することができる。
【００１５】
図２は、単一の遠隔プロセッサ又はノード２４のアーキテクチャーを概略的に示している。各々の遠隔プロセッサ２４及びオプションで中央プロセッサ２６は、図２に示されたものと同じアーキテクチャーを持っていてもよい。図２のシステムは、二重マイクロコントローラのアーキテクチャーを利用する。このアーキテクチャーでは、ノード２４、２６は、主要コントローラ又は主要ハードウェア４２と、管理コントローラ又は管理ハードウェア４４とを備えている。管理コントローラ４４は、主要コントローラ４２と同じプロセッサ又は処理能力を持っていてもよい。この場合には、管理コントローラ４４は、主要コントローラ４２と同じ処理アルゴリズムで走ることができ、又は、主要コントローラ４２と同じ計算を実行することができ、それにより、主要コントローラ４２及び管理コントローラ４４は、対称的な形状を形成する。
【００１６】
代替例として、ノード２４、２６は、非対称的な形態を持つことが好ましく、この非対称的な形態では、管理コントローラ４４が減少した処理パワーを持ち、主要コントローラ４２により実行されるアルゴリズム及び計算のうち簡単化されたバージョンを実行することができる。例えば、管理コントローラ４４は、低価格帯のマイクロコントローラであってもよく、又は、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）、用途が特定化された集積回路（ＡＳＩＣ）等のハードウェア若しくは回路の形態を取り得る。管理コントローラ４４は、かなり基本的なコントローラであってもよく、該コントローラは、アクチュエードライバー２１を駆動するため、通信コントローラプロトコル（即ち、管理コントローラ４４がバス２８と通信することができるようにしている）と、基本論理と、を備えている。管理コントローラ４４は、出力を提供し、入力を処理するため、アクチュエータ信号インターフェースも持つべきである。
【００１７】
主要コントローラ４２及び管理コントローラ４４の各々は、連結するバスドライバー又は送信器４６によりバス２８に個別に連結されている。主要コントローラ４２及び管理コントローラ４４は、通信コントローラ４８、５０を各々備えているか又は該通信コントローラに各々連結されている。該通信コントローラは、連係する主要コントローラ４２又は管理コントローラ４４から提供されたデータを蓄積し、格納する。各々の通信コントローラ４８、５０は、その連係する主要コントローラ４２又は管理コントローラ４４と物理的に一体化されていてもよい。この場合には、通信コントローラ４８、５０は、その連係するコントローラ４２、４４と同じ集積チップに実装することができ、通信コントローラ４８、５０は、内部周辺装置とみなされる。代替例として、各々の通信コントローラ４８、５０は、その連係する主要コントローラ４２又は管理コントローラ４４から物理的に分離することができる。この場合には、各々の通信コントローラ４８、５０は、その連係する主要コントローラ４２又は管理コントローラ４４と機能的に統合化することができる。
【００１８】
上記したように、主要コントローラ４２及び／又はその通信コントローラ４８は、連係するバスドライバー４６に連結されている。該バスドライバーは、主要バス２８に連結される。管理コントローラ４４及び／又はその通信コントローラ５０は、同様に、主要バス２８に連結された連係するバスドライバー４６に連結される。各々の通信コントローラ４８、５０は、送信（Ｔｘ）ライン、受信（Ｒｘ）ライン、及び／又は、送信イネーブル（ＴｘＥｎ）ライン（図示せず）により、周知の態様で、連係するバスドライバー４６に接続されていてもよい。
【００１９】
主要コントローラ４２及び管理コントローラ４４の各々は、データ（即ち、ブレーキペダル３４の移動量、ハンドル３８の位置、車輪１４及び速度等）をバス２８を介して独立に受け取る。加えて、バス２８は、車両１０の速度、車両の横方向加速度、ドライバーにより要求されたヘッディング、ドライバーにより要求されたブレーキ動作、各車輪のスリップレベル、長さ方向及び横方向の加速度、偏揺れ角等々に関連したデータを提供することができる。連係するアクチュエータ２２（即ち、モーター）、アクチュエータドライバー２１（即ち、モータードライバー）、連係する車輪速度センサー３０、又は、連係するデジタル／アナログセンサー入力５２，５６を介した他のセンサーからのデータも受け取る。
【００２０】
主要コントローラ４２及び管理コントローラ４４は、各々、入力データを独立に処理し、出力データ又は信号を提供する。図１の電気機械式ブレーキシステムでは、各コントローラ４２、４４の出力は、車輪１４の任意の一つで、ブレーキモーター２２が、連係する車輪１４にブレーキ力を適用させる（即ち、ブレーキペダル３４を介したドライバー入力即ち要求されたブレーキ力と合致させるため）ように作働されるべきかを決定するデータであってもよい。かくして、主要コントローラ４２は、入力を処理し、任意の作用（即ちブレーキ動作）が要求されているか否かを決定し、作用が要求されているならば、ドライバーの入力に応答してどのような種類のブレーキ作用が要求されているかを決定する。主要コントローラ４２は、連係するアクチュエータ／ブレーキモーター２２の作働を制御するため、その出力５４を提供し、該出力は、様々な論理（後述される）を介してアクチュエータドライバー２１／アクチュエータ２２に供給される。主要コントローラ４２は、更に、他のプロセッサ２４、２６へのその出力を、その通信コントローラ４８及びバスドライバー４６を介してバス２８に提供する。主要コントローラ４２及び管理コントローラ４４からのアクチュエータ２２及びバス２８へのデータの出力は、直接的であっても又は間接的であってもよい。
【００２１】
主要コントローラ４２は、アクチュエータ２２／アクチュエータドライバー２１とインターフェースを形成し、センサー入力５２を処理するドライバーインターフェース７０を備えている。例えば、入力ライン５２を介してドライバーインターフェース７０に提供された入力データは、アクチュエータ２２／アクチュエータドライバー２１に提供された電圧及び／又は電流、アクチュエータ２２のモーター位置等の形態を取り得る。ドライバーインターフェース７０は、アクチュエータ２２／アクチュエータドライバー２１に供給されるべき電圧及び／又は電流の形態で、出力ライン５４を介してアクチュエータ２２／アクチュエータドライバー２１に制御データを提供することができる。
【００２２】
主要コントローラ４２は、主要コントローラ４２のより高いレベルの機能を実行する内部処理ユニット７２を備えている。例えば、内部処理ユニット７２は、システム内の各々のアクチュエータ２２／アクチュエータドライバー２１のためのモータードライバーコマンドの計算、選定計算、ＡＢＳ計算、ＴＣＳ計算等々を実行することができる。
【００２３】
管理コントローラ４４は、主要コントローラ４２に類似した態様で構成することができる。管理コントローラ４４は、バス２８／バスドライバー４６からの入力を受け取り、並びに、主要コントローラ４２に類似した態様で、そのデジタル／アナログ入力５６を介して受け取る。それが十分な容量を持っているならば、管理コントローラ４４は、入力を処理し、任意のブレーキ作用が要求されているか否かを決定し、ブレーキ作用が要求されている場合には、如何なる種類のブレーキ作用が要求されているかを決定する。管理コントローラ４４の出力がバス２８に供給され、その出力部又はデジタル出力部５８を通して出力される。管理コントローラ４４が十分に基本的である場合、管理コントローラ４４は、必ずしも如何なる種類のブレーキ作用が要求されているかを計算する必要はなく、その代わりに、基本的な計算を単に実行するだけである。これらの計算は、主要コントローラ４２により計算された最も重要なブレーキ制御決定因子のうち幾つかに対応し、又は、ブレーキ印加アルゴリズムの必ずしも一部ではないテストシーケンス計算（即ち、管理コントローラ４４の機能をテストする）の形態を取り得る。
【００２４】
管理コントローラ４４は、主要コントローラ４２のドライバーインターフェース７０と同じか又は類似の設計を持つドライバーインターフェース７４を持つことができる。管理コントローラ４４は、内部処理ユニット７６を備えていてもよい。非対称形態では、内部処理ユニット７６は、主要コントローラ４２の内部処理ユニット７２よりも小さい処理能力しか持っていない。一実施例では、内部処理ユニット７６は、より高いレベルの処理（即ち、モータードライバーコマンド、ＡＢＳ計算、ＴＣＳ計算等々を計算する）を実行するための能力を欠いている。その最も基本的な形態では、内部処理ユニット７６は、システム内の他のノードから提供される合意コマンドをその出力部５８に送るために十分な処理能力しか持っていない。しかし、内部処理ユニット７６は、一定範囲の処理能力を持つことができ、主要コントローラ４２により提供されたより高いレベルの能力のうち任意のもの、全て又は幾つかのものを提供することができる。
【００２５】
各々のノード／コーナープロセッサ２４（及びそのコントローラ４２、４４）は、その連係した車輪１４／ブレーキサブシステム１６、並びに、車両１０の他の車輪１４／ブレーキサブシステム１６に対して、その機能／計算を実行すること（即ち、ブレーキ制御が必要とされているか否かを決定し、もし必要とされている場合には、そのようなブレーキ制御を如何に実行するかを決定すること）ができる。図示の例として、図２のプロセッサ２４，２６は、図１の車両１０の右前輪１４のためのコーナープロセッサ２４であるとみなすことができる。バス２８から及び／又は入力５２、５６を通して入力を受け取ったとき、当該ノード２４の、主要コントローラ４２と、おそらくは管理コントローラ４４とは、右前輪ブレーキサブシステム１６、並びに、車両１０の他の３つのブレーキサブシステム１５に対して、ブレーキ制御決定因子又は機能（様々な他のより高いレベルの機能）を計算する。
【００２６】
上記概観されたように、主要コントローラ４２及び管理コントローラ４４は、それらのデータをバス２８に提供する。この態様では、コントローラ４２、４４及びノード２４、２６は、互いのデータ及び出力を監視することができる。加えて、各ノード２４、２６の主要コントローラ４２及び管理コントローラ４４は、シリアル周辺インターフェース（ＳＰＩ）又は他の作働接続部５７により直接連結されてもよく、各々の管理コントローラ４４は、その連係した主要コントローラ４２を直接監視することができるように、それらの出力の全て又は一部を互いに提供することができる。また、その逆の態様も可能である。
【００２７】
かくして、コントローラ４２、４４の出力情報は、ＳＰＩ接続部５７及び／又はバス２８上に置かれた情報のいずれかにより、互いによって監視され／検証されてもよい。バス２８に提供された情報を検討することは、ＳＰＩ接続部５７により情報を交換することとは対照的に、ＳＰＩ接続部５７の制限された帯域幅に起因して、より効率的となり得る。管理コントローラ４４は、主要コントローラ４２の出力又はデータの全て、又は、その出力若しくはデータの一部だけを監視／検証することができる。同様に、他のノード２４、２６のコントローラも、主要コントローラ４２の出力又はデータの全て、又は、その出力若しくはデータの一部だけを監視／検証することができる。
【００２８】
より詳細に後述されるように、通常の作働中には、ノード２４の論理回路は、主要コントローラ４２の出力５４が管理コントローラ４４の任意の出力５８を超えるか又は取って代わることを確実にし、それにより主要コントローラ４２は、アクチュエータドライバー２１／アクチュエータ２２の作働を制御する。しかし、主要コントローラ４２のフォールトの間には、管理コントローラ４４の出力５８が、アクチュエータドライバー２１／アクチュエータ２２の作働を制御するか又は監査する。
【００２９】
主要コントローラ４２及び管理コントローラ４４のための通信コントローラ４８、５０は、ノード２４、２６の論理回路に出力（即ち、オーバーライド信号）を提供するイネーブルピン６０／ディスエーブルピン６２の各々の出力は、例えば、デジタル信号（ハイ信号）又はデジタルゼロ信号（ロー信号）等のデジタル出力であってもよい。イネーブルピン６０／ディスエーブルピン６２の各々の出力は、連係するＡＮＤ演算ゲート即ち機能ブロック６４、６６に、連係するコントローラ４２、４４の出力５４、５８と共に提供される。各々のＡＮＤゲート６４、６６の出力は、ＯＲ演算ゲート即ち機能ブロック６８に供給され、その出力をアクチュエータドライバー３２／アクチュエータ２２に提供する。なおＡＮＤゲート６４、６６は、それぞれ請求項中の第１論理関数と第２論理関数とに対応する。
【００３０】
通常の作働中において、主要コントローラ４２のイネーブル／ディスエーブルピン６０の出力は、デジタル信号即ちハイ信号であり、管理コントローラ４４のイネーブル／ディスエーブルピン６０の出力は、デジタルゼロ信号即ちロー信号である。この態様では、主要コントローラ４２の出力５４が、その連係するＡＮＤゲート６４に提供されるとき、ＡＮＤゲート６４の出力は主要コントローラ４２の出力５４と合致する。その逆に、管理コントローラ４４の出力５８がその連係するＡＮＤゲート６６に提供されるとき、ＡＮＤゲート６６の出力は、通常、デジタルゼロ即ちロー信号となる。
【００３１】
次に、２つのＡＮＤゲート６４、６６の出力がＯＲゲート６８に供給される。通常の作働中には、ＯＲゲート６８の出力は、ＡＮＤゲート６４の出力に対応し、該ＡＮＤゲートの出力は、主要コントローラ４２の出力５４に対応する。この態様では、通常の作働中には、主要コントローラ４２は、アクチュエータドライバー２１及びアクチュエータ２２に指令を提供し、それらの作働を制御する。なおＯＲゲート６８は、請求項中の第３論理関数に対応する。
【００３２】
上述されたように、管理コントローラ４４は、連係する主要コントローラ４２の出力を監視している。加えて、他のコーナープロセッサ２４及び／又は中央プロセッサ２６は、主要コントローラ４２の出力を監視する。管理コントローラ４４及び／又は他のプロセッサ２４、２６は、ひとまとめにして、主要コントローラ４２が機能不全であるか通常通りに機能しているかを判定する。例えば、図２のプロセッサ２４が図１の車両１０の右前輪のためのプロセッサであるとき、その連係する管理コントローラ４４と、他のノード２４，２６における他の主要コントローラ４２と管理コントローラ４４とは、右前ノードの主要コントローラ４２が機能不全であるか否かを含む判定プロセスに全て参加する。この判定は、主要コントローラ４２の出力、主要コントローラ４２の出力のタイミング、及び、主要コントローラ４２の健康状態（ＳＯＨ）を含む他の様々な因子についての考察を含むことができる。
【００３３】
ＳＯＨは、コントローラ４２、４４の機能状態に関連する情報のビットである。主要コントローラ４２のためのＳＯＨデータフィールドのデフォルトは、「ＯＫ」である。通常の処理作働中には、主要コントローラ４２は、所定の態様で１組のビットをトグルするように要求され得る。主要コントローラ４２が所望の態様で当該ビットをトグルしない場合には、当該主要コントローラ４２のためのＳＯＨビットは、「ＮＯＫ」又は「非ＯＫ」へと切り替えられ得る。かくして、主要コントローラ４２は、その「ＯＫ」のＳＯＨ状態を維持するため、診断テストを完了するか又はテスト組の計算を実行することが本質的に要求され得る。
【００３４】
考慮中の主要コントローラ４２の出力のタイミングも監視され、注意が払われ得る。例えば、主要コントローラ４２は、コントローラ４２がバス２８にデータを提供することが予想されるタイミング又は態様に関連する予想タイミングパターンを持っていてもよい。コントローラ４２がその予想されたタイミングパターンから十分に逸脱した場合、これにより、コントローラ４２の欠陥作働の証拠として解釈することができる。
【００３５】
予想されたタイミングパターンに関連する極端な例では、コントローラ４２は、バス２８に意味の無いデータの一定流れを提供する程度に機能不全となり得る。管理コントローラ４４（又は他のノード２４、２６）は、主要コントローラ４２が、主要コントローラ４２によりバス２８に提供されたデータ流れの長さに起因して機能不全となっていることを迅速に判定することができる。一定流れの悪いデータを提供する機能不全の主要コントローラ４２を停止することは特に重要であり得る。この機能不全のコントローラは、バス２９を本質的に独占しかねず、他のコントローラ及び構成部品がバス２８を介して連通することを防止してしまうおそれがあるからである。この意味では、システム４０は、主要コントローラ４２の良い状態／悪い状態を判定するため、時間領域及び値領域の両方におけるデータを監視する。
【００３６】
上記したように、データの値、データのタイミング及びＳＯＨは、主要コントローラ４２が機能不全であるか否かをひとまとめにして判定するため他のプロセッサ及びノードにより考慮され得る因子のうちの幾つかに相当する。管理コントローラ４４が十分な処理能力を有する場合、管理コントローラ４４は、主要コントローラ４２の状態の判定に参加することができる。管理コントローラ４４、及び／又は、主要コントローラ４２の機能不全状態／通常状態に関連する他のノード２４、２６が、主要コントローラ４２が機能不全であるか又は通常に機能しているか否かをひとまとめにして判定するため選定されてもよい。かくして、意味のある選定プロセスを提供することができるようにするため、少なくとも２つの他の構成部品（即ち、連係する管理コントローラ４４及び他のノード２４、２６、並びに、それらの個々のコントローラ４２、４４を始めとしたグループからの２つの構成部品の組み合わせ）を、選定処置に参加するため利用可能とするべきである。
【００３７】
システム４０が、与えられたノードの主要コントローラ４２が機能不全であるか又は無効若しくは不適切なデータを出力すると判定した場合、システム４０は、主要コントローラ４２を停止するか又は無効にするための工程を取り、特に、主要コントローラ４２がその連係したアクチュエータドライバー２１／アクチュエータ２２にデータを提供することを防止することができる。コントローラ４２がバス２８に提供する制御データを無視するための工程を採用することができる。機能不戦であるコントローラ４２が連係するアクチュエータドライバー２１／アクチュエータ２２に提供するデータを停止させるか又は無効にするため、主要コントローラ４２が機能不全であると判定されたとき、主要コントローラ４２のイネーブル／ディスエーブルピン６０の位置／出力がロー信号に切り替えられる。ピン６０の位置は、バス２８を介して送信される他のノード２４、２６から受け取った通信コントローラ４８におけるハードウェア選定入力により切り替えられる。これと同時に、連係する管理コントローラ４４のイネーブル／ディスエーブルピン６２の位置／出力は、バス２８を介した入力によりハイ信号に切り替えられる。
【００３８】
この場合には、主要コントローラ４２と連係したＡＮＤゲート６４の出力は、デジタルゼロ信号即ちロー信号であり、管理コントローラ４４と連係したＡＮＤゲート６６の出力は、管理コントローラ４４の出力５８と合致する。アクチュエータドライバー２１／アクチュエータ２２に供給されるＯＲゲート６８の出力は、管理コントローラ４４の出力５８と合致する。従って、ノード２４、２６のこの「無効」状態では、管理コントローラ４４は、アクチュエータドライバー２１／アクチュエータ２２の作働を制御するか又はアクチュエータドライバー２１／アクチュエータ２２に信号を提供する。
【００３９】
出力５８を介してアクチュエータドライバー２１／アクチュエータ２２に提供されるべき指令を決定するため、システム４０は、指令上で選定するため他のノード２４、２６をポーリングする。管理コントローラ４４が十分な処理能力を持っている場合には、管理コントローラ４４は、選定プロセスに参加することができる。一旦、システム４０／管理コントローラ４４が、適切な出力がその連係するアクチュエータドライバー２１／アクチュエータ２２に提供されることを決定したならば、管理コントローラ４４は、その出力５８を介してアクチュエータドライバー２１／アクチュエータ２２に指令を提供する。上記したように、ノード２４、２６の論理構造は、出力５８がＡＮＤゲート６６、ＯＲゲート６８を通して、アクチュエータドライバー２１／アクチュエータ２２に送信されることを確実にする。従って、主要コントローラ４２の停止中に、管理コントローラ４４は、合意制御データをアクチュエータドライバー２１／アクチュエータ２２に送るため「ゲートウェイ」として本質的に機能することができる。主要コントローラ４２の停止又は無効のこの状態は、主要コントローラ４２が有効なデータを出力していないとシステム４０が判定している限り、続行される。
【００４０】
上述されたプロセスは、欠陥のある主要コントローラ４２が、アクチュエータドライバー２１／アクチュエータ２２に出力を提供することを防止するため使用することができる。更に加えて、主要コントローラ４２とバス２８との間の通信を、バスガーディアンにより、所望時に停止させることができる。バスガーディアンの機能は、管理コントローラ４４、主要コントローラ４２若しくは管理コントローラ４４のいずれかのコプロセッサ、バスドライバー４６、独立したＡＳＩＣ、中央集約式スターカプラーバスガーディアン等により実施することができる。
【００４１】
上記で概観したプロセスは、主要コントローラ４２の出力を監視し、主要コントローラ４２が機能不全であると判定されたとき、出力コントローラ４２の出力を無効にする、各工程を含んでいる。加えて、所望の場合には、管理コントローラ４４の出力を監視することができる。管理コントローラ４４の監視を可能にするため、管理コントローラ４４は、システム４０による有効化のためバス２９にその出力の幾つかを提供することができる。特に、バス２８は、要求されるブレーキ力等（即ち、他の３つのプロセッサ２４により決定されるような）の基本制御情報を管理コントローラ４４に供給することができる。
【００４２】
管理コントローラ４４と、特にその内部処理ユニット７６とは、ブレーキ力データを処理することができる、アルゴリズム又はプログラムされたコードの小さな部品を持つことができ、ブレーキ力データを、アクチュエータドライバー２１／アクチュエータ２２の制御データ（即ち、ブレーキ力データと合致するように要求された電気モーター２２の回転数）に変換することができる。管理コントローラ４４は、他のノード２４、２６におけるプロセッサが、管理コントローラ４４の出力を調査し、検証することができるように、このアルゴリズムの出力をバス２８に提供してもよい。
【００４３】
無効状態の間に、与えられたノード２４、２６の管理コントローラ４４がシステム４０により機能不全であると判定された場合、単一ノード２４、２６の主要コントローラ４２及び管理コントローラ４４の両方が機能不全である（即ち、第２レベルの故障が発生した）と仮定することができる。この場合には、ノード２４、２６は、フェールセーフ又はフェールサイレント態様で停止させるか又は作働させてもよい。例えば、管理コントローラ４４のイネーブル／ディスエーブルピン６２の出力は、主要コントローラ４２のイネーブル／ディスエーブルピン６２がロー信号に維持される間に、ロー信号へと切り替えることができる。これらの工程は、システム４０が機能的であるままであるように欠陥のあるノード２４、２６が残りのノード２４、２６の機能と干渉しないことを確実にする一方で、ノード２４、２６を本質的に停止させる。
【００４４】
所望ならば、管理コントローラ４４の出力を監視し、ノード２４、２６が無効モードにはないときでさえ（即ち、主要コントローラ４２が通常通りに作働しているとき）、管理コントローラ４４を停止させることができるようにしてもよい。
【００４５】
上述した主要コントローラ４２に対するものと同じ態様で、管理コントローラ４４のバス通信の正確さを、バスガーディアンの機能性によって評価してもよい。管理コントローラ４４のためのバスガーディアンの機能性は、主要コントローラ４２又は管理コントローラ４４のいずれかのコプロセッサ、バスドライバー４６、独立したＡＳＩＣ、中央集約式スターカプラーバスガーディアン等により実施することができる。
【００４６】
図１に示されたシステム４０では、少なくとも４つの別個のノード（４つの遠隔プロセッサ２４）、及び、代替となる中央プロセッサ２６の形態の第５のノードとが存在している。従って、ノード２４、２６のうち１つ以上が完全に故障した場合でも、システム４０は、何らかの意味のある仕方でなおも機能することができる。換言すれば、分配に関するクラスターは、３つのプロセッッサ２４、２６上で多数の選定を介して常に決定することができるので、フォールトの場合でさも、正確なデータをアクチュエータドライバー２１／アクチュエータ２２に提供することができる。従って、３つのノードの最小値を、フォールトトレランスアーキテクチャーに対して要求することができる。
【００４７】
この態様では、フォールトの場合において完全なサービスを提供する、完全故障作働分布システム４０が提供される。加えて、本発明の故障作働システムは、主要コントローラ４２及びアクチュエータ２２を既に備える現存するシステムに管理コントローラ４４を単に追加することにより、比較的コスト効果のある態様で実施することができる。上記したように、管理コントローラ４２を、例えば回路又はハードウェア等の比較的基本的な構成部品とすることができるので、管理コントローラ４２により追加されるコストを、非常に低くすることができる。
【００４８】
上述した例は、単一ノード２４（例えば、図１の右前ノード）の主要コントローラ４２及び管理コントローラ４４に焦点を当てているが、残りのノード２４、２６は、図２のものと類似した構造及び論理を備えていてもよく、これらのノードの主要コントローラ４２及び管理コントローラ４４を監視及び／又は無効にすることができることが理解されるべきである。更に加えて、図２のノード２４、２６の主要コントローラ４２及び管理コントローラ４４は、他のノードのコントローラ４２、４４の状態を決定するため選定処置に参加し、これらのコントローラ４２、４４の一つが停止される場合に作働を援助するため、それらの制御出力を提供する。
【００４９】
図２の各々のノード２４、２６により与えられたバスインターフェースは、主要コントローラ４２及び管理コントローラ４４の各々が主要バス２８への独立したアクセスを有するという点で二重のインターフェースである。しかし、所望ならば、単一バスインターフェースを利用してもよい。更に加えて、上記したように、本発明のアーキテクチャーは、時間トリガー式プロトコルバス又は事象トリガー式プロトコルバスのいずれかで使用することができる。時間トリガー式プロトコルバスを使用するとき、異なるノードが本質的に同期されるので、本発明のアーキテクチャーを比較的容易に実施することができる。本発明のアーキテクチャーは、事象トリガー式プロトコルバスで利用されるべきである場合、時間同期アルゴリズムは、バスシステムを少なくとも幾分同期化するため所定の時刻で各々のノード／コントローラにデータを提供させるように実施することができる。
【００５０】
本発明のアーキテクチャーは、バスの一つのチャンネルが故障した場合、バスの他のチャンネルを通してデータを提供して通信を達成することができる。更に加えて、イネーブル／ディスエーブルピンの機能性とその連係する論理とを、連係する主要コントローラ及び／又は管理コントローラのコプロセッサを使用して実施することができる。代替例として、イネーブル／ディスエーブル機能を、インテリジェントバスドライバーの一部として、又は、独立したＡＳＩＣとして、実施することができる。主要コントローラ４２又は管理コントローラ４４の各々に対して、イネーブル／ディスエーブル機能及びバスガーディアン機能性をインテリジェントバスドライバー又は独立したＡＳＩＣで実施することができる。ＡＮＤゲート６４、６６及びＯＲゲート６８を始めとした論理構造の構成を所望の通りに変更することができるが、本明細書で開示された論理構造と同じ全体的機能をなおも提供する。
【００５１】
本発明が好ましい実施例を参照して詳細に説明されたが、本発明の範囲から逸脱すること無く、本発明の変更及び変形をなすことができることは明らかである。
【図面の簡単な説明】
【００５２】
【図１】図１は、様々なコントローラを利用した自動車の概略表現図である。
【図２】図２は、本発明のフォールトトレランスシステムの単一ノードを形成する様々な構成部品の概略表現図である。
【図１】
0004754993.tif 000002
【図２】
0004754993.tif 000003