(57)【要約】【課題】メッセージ送受信用のバッファの数を超える通信相手と通信できるようにする。【解決手段】車載ネットワークに接続され、メッセージ送受信用の複数のバッファ（例えば、Ｂｕｆｆ［０］〜Ｂｕｆｆ［３０］）を使用して車載機器と相互通信する電子制御装置は、複数のバッファの少なくとも１つ（例えば、Ｂｕｆｆ［０］）を、送受信タイミングが異なる複数の通信相手（ＣＡＮＩＤ）に割り付けて送受信する。【選択図】図３
2019029683.tif 000002
【特許請求の範囲】
【請求項１】
車載ネットワークに接続され、メッセージ送受信用の複数のバッファを使用して車載機器と相互通信する電子制御装置であって、
前記複数のバッファの少なくとも１つを、送受信タイミングが異なる複数の通信相手に割り付けて送受信するように構成された、
電子制御装置。
【請求項２】
前記複数のバッファに未使用のバッファが存在するように、前記複数のバッファの少なくとも１つを、送受信タイミングが異なる複数の通信相手に割り付ける、
請求項１に記載の電子制御装置。
【請求項３】
前記通信相手に故障が発生した場合、前記複数のバッファの少なくとも１つを、当該故障が発生した通信相手に割り付ける、
請求項１又は請求項２に記載の電子制御装置。
【請求項４】
前記故障が発生した通信相手の割り付けは、起動時に行われる、
請求項３に記載の電子制御装置。
【請求項５】
前記通信相手の故障が解除された場合、前記故障が発生した通信相手の割り付けを初期状態に戻す、
請求項３又は請求項４に記載の電子制御装置。
【請求項６】
前記割り付けは、送受信タイミングを変更して行われる、
請求項１〜請求項５のいずれか１つに記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載ネットワークに接続される電子制御装置に関する。
【背景技術】
【０００２】
自動車に搭載される電子制御装置は、例えば、ＣＡＮ（Controller Area Network）、ＬＩＮ（Local Interconnect Network）、ＦｌｅｘＲａｙ（登録商標）などの車載ネットワークに接続されている。そして、近年では、車載機器の制御の高度化及び複雑化によって、車載ネットワークに接続される電子制御装置の台数が増加している。車載ネットワークに接続される電子制御装置においては、特開２０１４−１３８２６４号公報（特許文献１）に記載されるように、メッセージ送受信用の複数のバッファは、通信相手となる車載機器ごとに割り付けられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１３８２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の電子制御装置では、各バッファが通信相手となる車載機器ごとに割り付けられていたため、車載ネットワークに接続される車載機器の台数が増加した場合、例えば、ハードウエアを変更しなければ、容易に対応することができなかった。
【０００５】
そこで、本発明は、メッセージ送受信用のバッファの数を超える通信相手と通信可能な電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
このため、車載ネットワークに接続され、メッセージ送受信用の複数のバッファを使用して車載機器と相互通信する電子制御装置は、複数のバッファの少なくとも１つを、送受信タイミングが異なる複数の通信相手に割り付けて送受信する。
【発明の効果】
【０００７】
本発明によれば、メッセージ送受信用のバッファの数を超える通信相手と通信することができる。
【図面の簡単な説明】
【０００８】
【図１】自動車に搭載された電子制御装置の一例を示すシステム構成図である。
【図２】電子制御装置の一例を示すブロック図である。
【図３】バッファ定義テーブルの一例を示す説明図である。
【図４】メッセージ定義テーブルの一例を示す説明図である。
【図５】メッセージ定義テーブルの具体例を示す説明図である。
【図６】複数のメッセージを送信する方法の説明図である。
【図７】複数のバッファに複数の通信相手を割り付けたメッセージ定義テーブルの一例を示す説明図である。
【図８】複数のメッセージを送信する他の方法の説明図である。
【図９】未使用のバッファを作成したメッセージ定義テーブルの一例を示す説明図である。
【図１０】メッセージ送受信処理の一例を示すフローチャートである。
【図１１】故障発生時のバッファ共有化前のバッファ定義テーブルの説明図である。
【図１２】故障発生時のバッファ共有化後のバッファ定義テーブルの説明図である。
【図１３】起動時に実行されるバッファ共有化処理の一例を示すフローチャートである。
【図１４】セルフシャットオフ中に実行されるバッファ共有化処理の一例を示すフローチャートである。
【図１５】未使用バッファに通信相手を割り付けたバッファ定義テーブルの説明図である。
【図１６】具体例１における初期状態のバッファ定義テーブルの説明図である。
【図１７】具体例１における割り付け状態のバッファ定義テーブルの説明図である。
【図１８】具体例１における復帰状態のバッファ定義テーブルの説明図である。
【図１９】具体例２における初期状態のバッファ定義テーブルの説明図である。
【図２０】具体例２における割り付け状態のバッファ定義テーブルの説明図である。
【図２１】具体例２における復帰状態のバッファ定義テーブルの説明図である。
【発明を実施するための形態】
【０００９】
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
図１は、自動車に搭載された電子制御装置の一例を示す。
【００１０】
電子制御装置１００は、例えば、自動車のエンジン、自動変速機などを電子制御する電子機器であって、自動車の所定箇所に複数搭載されている。各電子制御装置１００は、例えば、ＣＡＮ、Ｌｉｎ、ＦｌａｘＲａｙなどの車載ネットワーク２００を介して、相互通信可能に接続されている。なお、以下の実施形態においては、車載ネットワーク２００として、ＣＡＮを例にとって説明するが、ＣＡＮに限定されるものではない。
【００１１】
電子制御装置１００は、図２に示すように、プロセッサ１１０と、ＲＡＭ（Random Access Memory）１２０と、ＲＯＭ（Read Only Memory）１３０と、通信回路１４０と、入出力回路１５０と、バス１６０と、を有している。
【００１２】
プロセッサ１１０は、例えば、ＣＰＵ（Central Processing Unit）などからなり、制御プログラムに従って制御対象機器を電子制御する。ＲＡＭ１２０は、電源供給が遮断されると記憶内容が消失する揮発性メモリの一例であって、例えば、プロセッサ１１０の一時記憶領域となる。ＲＯＭ１３０は、電源供給が遮断されても記憶内容を保持する不揮発性メモリの一例であって、例えば、制御プログラム、故障情報、学習値などを記憶する。通信回路１４０は、車載ネットワーク２００に接続するための機能を提供し、例えば、ＣＡＮトランシーバからなる。入出力回路１５０は、アナログ信号及びデジタル信号を入出力するためのインターフェースを提供し、例えば、アクチュエータ、センサなどを接続する。バス１６０は、プロセッサ１１０、ＲＡＭ１２０、ＲＯＭ１３０、通信回路１４０及び入出力回路１５０を電気的に相互接続する。なお、電子制御装置１００は、プロセッサ１１０、ＲＡＭ１２０、ＲＯＭ１３０、通信回路１４０、入出力回路１５０及びバス１６０が一体化されたマイクロコンピュータにより構成されてもよい。
【００１３】
また、通信回路１４０には、車載ネットワーク２００を介して、他の電子制御装置１００やセンサなどの車載機器と相互通信するために、メッセージ送受信用の送受信バッファ１４２が内蔵されている。送受信バッファ１４２は、例えば、高速かつ小容量のメモリ素子からなり、データフレームなどのメッセージを送受信する、複数のバッファを備えている。なお、以下の実施形態においては、送受信バッファ１４２には、複数のバッファとしてのＢｕｆｆ［０］〜Ｂｕｆｆ［３０］が備えられていることを前提として説明するが、その個数は２以上の自然数である限り任意である。
【００１４】
送受信バッファ１４２の各Ｂｕｆｆ［ｎ］（ｎ＝０〜３０）には、図３に示すように、通信相手を特定するためのＣＡＮＩＤ（Identifier）、メッセージを送信するために使用するか受信するために使用するかを識別する識別子、及び、メッセージの送受信間隔を規定する送受信タイミングが関連付けられている。各Ｂｕｆｆ［ｎ］に対するＣＡＮＩＤ、識別子及び送受信タイミングの関連付けは、バッファ定義テーブルとして記述される。バッファ定義テーブルは、例えば、自動車の組立工場などでＲＯＭ１３０に書き込まれるが、書き込みツールなどを使用してサービス工場などで書き込み又は書き換えることもできる。
【００１５】
従来の電子制御装置においては、［発明が解決しようとする課題］で説明したように、１つのバッファに対して１つの通信相手のみが割り付けられていた。この場合、電子制御装置の通信相手は、送受信バッファ１４２のバッファ数によって制限され、例えば、車載機器の台数の増加に容易に対応することができなかった。
【００１６】
そこで、本実施形態においては、図３に示すように、送受信バッファ１４２の複数のバッファの少なくとも１つ、例えば、Ｂｕｆｆ［０］に対して、通信相手となる車載機器の３つのＣＡＮＩＤ２３９Ｈ，５５１Ｈ及び５８０Ｈが割り付けられている。また、ＣＡＮＩＤ２３９Ｈ，５５１Ｈ及び５８０Ｈの送信タイミングとして、例えば、２０ｍｓ，５０ｍｓ及び１００ｍｓが夫々設定されている。従って、このようなバッファ定義テーブルを使用した場合、電子制御装置１００は、送受信バッファ１４２のバッファ数を超えた、３３の通信相手とメッセージを送受信することができる。なお、複数のＣＡＮＩＤの送受信タイミングは、上記のように異なっていてもよいし、その少なくとも一部が同じであってもよい。
【００１７】
ＲＯＭ１３０には、図４に示すように、通信相手となる車載機器と通信するメッセージを定義したメッセージ定義テーブルが書き込まれている。メッセージ定義テーブルでは、各ＣＡＮＩＤ［ｍ］（ｍ＝０〜３２）により特定される車載機器に対して、送受信方向、メッセージデータバイト数（ＤＬＣ）、メッセージＩＤ（Ｈ）及びメッセージＩＤ（Ｌ）が関連付けられている。送受信方向には、例えば、受信（０１ｈ）、割り込みによる受信（０２ｈ）、１０ｍｓ送信（０３ｈ）、割り込みによる送信（０４ｈ）及び未使用（０５ｈ）が選択的に設定される。メッセージデータバイト数には、メッセージのバイト数（例えば、０〜８バイト）が設定される。メッセージＩＤ（Ｈ）には、１１ビットのメッセージＩＤの上位バイトが設定される。メッセージＩＤ（Ｌ）には、１１ビットのメッセージＩＤの下位バイトが設定される。なお、ＲＯＭ１３０へのメッセージ定義テーブルの書き込みなどは、バッファ定義テーブルと同様に、例えば、自動車の組立工場又はサービス工場などで行うことができる。
【００１８】
ここで、ＣＡＮＩＤ［０］により特定される車載機器に対して、同図に示すように、送受信方向に代えて、送信タイミングを関連付けることができる。送信タイミングには、送信の優先順位を特定可能な、例えば、２０ｍｓ送信（２３ｈ）、５０ｍｓ送信（５３ｈ）、１００ｍｓ送信（Ａ３ｈ）、１００ｍｓ送信（Ｂ３ｈ）、１００ｍｓ送信（Ｃ３ｈ）、２０ｍｓ送信（２６ｈ）、５０ｍｓ送信（５６ｈ）、１００ｍｓ送信（Ａ６ｈ）、１００ｍｓ送信（Ｂ６ｈ）及び１００ｍｓ送信（Ｃ６ｈ）が選択的に設定される。このようにすれば、ＣＡＮＩＤ［０］の設定値を参照することで、メッセージの送信タイミングの優先順位を決定することができる。なお、割り込みによる送信又は受信の場合、メッセージＩＤが小さいほど優先順位が高くなっている。従って、メッセージＩＤが２３Ｄｈと２２Ｄｈである場合、２２Ｄｈが優先的に送受信されることとなる。
【００１９】
図５は、ＣＡＮＩＤ［０］により特定される車載機器に対して、送受信方向に送信（０３ｈ）、メッセージデータバイト数に８バイト（０８ｈ）、メッセージＩＤ（Ｈ）に４７ｈ、メッセージＩＤ（Ｌ）にＡ０ｈが設定された、メッセージ定義テーブルの具体例を示す。この場合、ＣＡＮＩＤ［０］により特定される車載機器とは、１０ｍｓの送信間隔で８バイトのメッセージを送信し、そのメッセージＩＤは２３Ｄｈであることが理解されよう。
【００２０】
そして、電子制御装置１００のプロセッサ１１０は、ＲＯＭ１３０に格納された制御プログラムに従って、図６に示すように、Ｂｕｆｆ［０］を使用した複数のメッセージの送受信を制御する。具体的には、プロセッサ１１０は、ＣＡＮＩＤ２３９Ｈにより特定される通信相手への送信タイミング（１）と、ＣＡＮＩＤ５５１Ｈにより特定される通信相手への送信タイミング（２）と、ＣＡＮＩＤ５８０Ｈにより特定される通信相手への送信タイミング（３）と、が時間的に重ならないようにずらして送信する。即ち、プロセッサ１１０は、複数のバッファの少なくとも１つを、送受信タイミングが異なる複数の通信相手に割り付けて送受信する。従って、１つのバッファを複数の通信相手が共有することが可能となり、メッセージ送受信用のバッファの数を超える通信相手と通信することができる。
【００２１】
複数の通信相手を割り付けるバッファは、１つに限らず、図７に示すように、複数であってもよい。図示の例においては、Ｂｕｆｆ［０］に加えて、Ｂｕｆｆ［２］を送信バッファとして、ＣＡＮＩＤ１Ｆ９Ｈ，ｘｘｘＨ及びｘｘｘＨが割り付けられていると共に、Ｂｕｆｆ［６］を送信バッファとして、ＣＡＮＩＤ２４５Ｈ，ｘｘｘＨ及びｘｘｘＨが割り付けられている。ここで、Ｂｕｆｆ［２］を使用したメッセージの送信タイミングとして、５０ｍｓ，１００ｍｓ及び１００ｍｓが夫々設定され、Ｂｕｆｆ［６］を使用したメッセージの送信タイミングとして、２０ｍｓ，１００ｍｓ及び１００ｍｓが夫々設定されている。従って、３つのバッファに夫々３つのＣＡＮＩＤを割り付けることによって、通信回路１４０の送受信バッファ１４２のバッファ数（３１）を超えた、３７個の通信相手と通信することができる。
【００２２】
Ｂｕｆｆ［２］を使用したメッセージの送信においては、図８に示すように、ＣＡＮＩＤ１Ｆ９Ｈにより特定される通信相手への送信タイミング（１）と、ＣＡＮＩＤｘｘｘＨにより特定される通信相手への送信タイミング（２）と、ＣＡＮＩＤｘｘｘＨにより特定される通信相手への送信タイミング（３）と、が時間的に重ならないようにずらして送信する。このようにすれば、送信間隔が同一である複数の通信相手であっても、その送信タイミングを適宜ずらすことで、１つのバッファに割り当てることができる。
【００２３】
また、複数のバッファに対して複数の通信相手を割り付けることによって、図９に示すように、未使用のバッファを作ることができる。図示の例においては、Ｂｕｆｆ［２９］及び［３０］に割り付けられていた通信相手を他のバッファに割り付けることにより、Ｂｕｆｆ［２９］及び［３０］が未使用になる。そして、電子制御装置１００のプロセッサ１１０は、メッセージの送受信にあたり、送受信バッファ１４２のすべてのバッファを使用する必要がなく、アクセスしなければならない範囲が狭くなって、演算負荷を低減することができる。なお、１つのバッファに対して複数の通信相手を割り付けることによっても、未使用のバッファを作ることができる。
【００２４】
図１０は、送受信バッファ１４２に未使用のバッファができた場合に、電子制御装置１００のプロセッサ１１０が所定時間ごとに繰り返し実行するメッセージ送受信処理の一例を示す。なお、送受信バッファ１４２に未使用のバッファがない場合にも、同一のメッセージ送受信処理によって対応することができる。
【００２５】
ステップ１（図では「Ｓ１」と略記する。以下同様。）では、プロセッサ１１０が、所定時間の間にメッセージの送受信に使用するバッファ数（使用バッファ数）、即ち、未使用のバッファを除くバッファ数を計数する変数ｉに０を設定する。
【００２６】
ステップ２では、プロセッサ１１０が、変数ｉが使用バッファ数以下であるか否かを判定する。そして、プロセッサ１１０は、変数ｉが使用バッファ数以下であると判定すれば（Ｙｅｓ）、処理をステップ３へと進める。一方、プロセッサ１１０は、変数ｉが使用バッファ数以下ではない、即ち、変数ｉが使用バッファ数を上回ったと判定すれば（Ｎｏ）、処理を終了させる。
【００２７】
ステップ３では、プロセッサ１１０が、Ｂｕｆｆ［ｉ］を使用したメッセージの送受信は送信であるか受信であるかを判定する。具体的には、プロセッサ１１０は、ＲＯＭ１３０に書き込まれたバッファ定義テーブルを参照し、その送信／受信を識別する識別子から、メッセージの送信であるかメッセージの受信であるかを判定する。そして、プロセッサ１１０は、メッセージの送信であると判定すれば、処理をステップ４へと進める。一方、プロセッサ１１０は、メッセージの受信であると判定すれば、処理をステップ５へと進める。
【００２８】
ステップ４では、プロセッサ１１０が、Ｂｕｆｆ［ｉ］を使用して、少なくとも１つのメッセージを送信する。即ち、１つのメッセージを送信する場合、プロセッサ１１０は、ＲＯＭ１３０に書き込まれたバッファ定義テーブルを参照し、その送受信タイミングで規定された送信タイミングになったときに、ＣＡＮＩＤにより特定される通信相手にメッセージを送信する。また、複数のメッセージを送信する場合、プロセッサ１１０は、ＲＯＭ１３０に書き込まれたバッファ定義テーブルを参照し、その送受信タイミングで規定された各送信タイミングになったときに、各ＣＡＮＩＤにより特定される各通信相手にメッセージを夫々送信する。
【００２９】
ステップ５では、プロセッサ１１０が、Ｂｕｆｆ［ｉ］を使用して、少なくとも１つのメッセージを受信する。即ち、１つのメッセージを受信する場合、プロセッサ１１０は、ＲＯＭ１３０に書き込まれたバッファ定義テーブルを参照し、その送受信タイミングで規定された受信タイミングになったときに、ＣＡＮＩＤにより特定される通信相手からメッセージを受信する。また、複数のメッセージを受信する場合、プロセッサ１１０は、ＲＯＭ１３０に書き込まれたバッファ定義テーブルを参照し、その送受信タイミングで規定された各受信タイミングになったときに、各ＣＡＮＩＤにより特定される各通信相手からメッセージを夫々受信する。
【００３０】
ステップ６では、プロセッサ１１０が、変数ｉをインクリメント、即ち、変数ｉを１だけ増加させる。そして、プロセッサ１１０は、次のＢｕｆｆ［ｉ］を使用してメッセージを送受信すべく、処理をステップ２へと戻す。
【００３１】
かかるメッセージ送受信処理によれば、少なくとも１つのバッファを共有化することによって未使用のバッファが作成された場合、メッセージの送受信に使用するバッファ数が少なくなり、送受信バッファ１４２のアクセス範囲が狭くなる。このため、プロセッサ１１０の処理負荷が軽減し、例えば、過渡期の各種処理に余裕が生まれる。
【００３２】
ＣＡＮＩＤにより特定される通信相手に故障が発生した場合、例えば、その通信相手がフェイルセーフに移行することがある。このとき、故障が発生した通信相手に対する送受信間隔が多少長くなっても支障が生じ難いため、送受信タイミングを遅くしつつ、故障が発生した通信相手と送受信するためのバッファを共有化してもよい。
【００３３】
具体例を用いてこれを説明すると、初期状態として、図１１に示すように、バッファ定義テーブルのＢｕｆｆ［２７］に、送信タイミング１０ｍｓでメッセージを送信するＣＡＮＩＤ７Ｅ８Ｈが割り付けられ、そのＢｕｆｆ［２８］に、送信タイミング１０ｍｓでメッセージを送信するＣＡＮＩＤ７Ｅ０Ｈが割り付けられているものとする。そして、ＣＡＮＩＤ７Ｅ８Ｈ及び７Ｅ０Ｈにより特定される通信相手に故障が発生すると、図１２に示すように、Ｂｕｆｆ［２７］及び［２８］に割り付けられていたＣＡＮＩＤ７Ｅ８Ｈ及び７Ｅ０Ｈに対する送信タイミングを１００ｍｓに遅くし、これらをＢｕｆｆ［７］に夫々割り付ける。ここで、送信タイミングを遅くして割り付けることによって、割り付け先のＢｕｆｆ［７］を使用したメッセージの送信負荷の増加を抑制することができる。
【００３４】
図１３は、イグニッションスイッチがＯＦＦからＯＮになったことを契機として、電子制御装置１００のプロセッサ１１０が実行する、バッファ共有化処理の一例を示す。ここで、バッファ共有化処理においては、通信相手に故障が発生しているか否かを識別する故障フラグｆｘｘが設けられている。なお、故障フラグｆｘｘは、送受信タイミングを遅くして割り付けるＣＡＮＩＤについて設けられ、例えば、０（故障なし）及び１（故障発生）のいずれかに設定されている。
【００３５】
ステップ１１では、プロセッサ１１０が、送受信タイミングを遅くして割り付けるＣＡＮＩＤごとに故障フラグｆｘｘを参照し、故障フラグｆｘｘが１であるか否かを介して、ＣＡＮＩＤにより特定される通信相手に故障が発生しているか否かを判定する。そして、プロセッサ１１０は、ＣＡＮＩＤにより特定される通信相手に故障が発生していると判定すれば（Ｙｅｓ）、処理をステップ１２へと進める。一方、プロセッサ１１０は、ＣＡＮＩＤにより特定される通信相手に故障が発生していないと判定すれば（Ｎｏ）、処理をステップ１３へと進める。
【００３６】
ステップ１２では、プロセッサ１１０が、図１２に示すように、故障が発生している通信相手との送受信タイミングを遅くしつつ、その通信相手を他のバッファに割り付ける。なお、他のバッファに割り付けるＣＡＮＩＤ、及び、その割り付け先のバッファは、例えば、その通信相手の機能などにより予め決定し、これを制御プログラムに組み込んでおく必要がある。その後、プロセッサ１１０は、処理をステップ１４へと進める。
【００３７】
ステップ１３では、プロセッサ１１０が、図１１に示すように、通信相手に故障が発生していない初期状態に復帰させる。その後、プロセッサ１１０は、処理をステップ１４へと進める。
ステップ１４では、プロセッサ１１０が、故障フラグｆｘｘに０、即ち、故障なしを設定する。
【００３８】
図１４は、イグニッションスイッチがＯＮからＯＦＦになってセルフシャットオフ処理に移行したことを契機として、電子制御装置１００のプロセッサ１１０が実行する、バッファ共有化処理の一例を示す。なお、図１４に示すバッファ共有化処理は、セルフシャットオフ処理に移行したときだけでなく、例えば、アイドリング中など、処理負荷が比較的低いときに実行してもよい。
【００３９】
ステップ２１では、プロセッサ１１０が、例えば、通信相手となる他の電子制御装置１００と通信し、その故障診断結果を取得する。なお、通信相手がセンサなどであれば、その故障診断を行う他の電子制御装置１００の診断結果を参照すればよい。また、この故障診断結果収集は、予め決められた通信相手について実行する。
【００４０】
ステップ２２では、プロセッサ１１０が、ステップ２１により取得した故障診断結果に応じて、通信相手に故障が発生しているか否かを判定する。そして、プロセッサ１１０は、通信相手に故障が発生していると判定すれば（Ｙｅｓ）、処理をステップ２３へと進める。一方、プロセッサ１１０は、通信相手に故障が発生していないと判定すれば（Ｎｏ）、処理を終了させる。
【００４１】
ステップ２３では、プロセッサ１１０が、故障が発生している通信相手に関連付けられた故障フラグｆｘｘに１、即ち、故障が発生していることを示す値を設定する。
【００４２】
かかるバッファ共有化処理によれば、電子制御装置１００のプロセッサ１１０は、セルフシャットオフ処理に移行したとき、通信相手に故障が発生していれば、これを判別可能な故障フラグｆｘｘに１（故障発生）を設定する。また、電子制御装置１００のプロセッサ１１０は、イグニッションスイッチがＯＦＦからＯＮになった起動時に、特定の通信相手について、その故障フラグｆｘｘを参照して故障が発生しているか否かを判定する。そして、電子制御装置１００のプロセッサ１１０は、特定の通信相手に故障が発生していれば、その通信相手と送受信するバッファを共有化し、処理負荷をさらに低減する。一方、電子制御装置１００のプロセッサ１１０は、特定の通信相手に故障が発生していなければ、例えば、通常処理に遅延が発生することを抑制すべく、バッファの共有化を解除する。
【００４３】
特定の通信相手に故障が発生してバッファの共有化が行われた場合、図１５に示すように、バッファの共有化によって未使用となったバッファ、例えば、Ｂｕｆｆ［２７］及び［２８］に、優先度が高いＣＡＮＩＤを割り付けることもできる。この場合、Ｂｕｆｆ［２７］及び［２８］は未使用であるので、送受信タイミングを速めて割り付けることもできる。このようにすれば、電子制御装置１００の負荷増加を抑制しつつ、通常処理に遅延が発生することを抑制できる。なお、この処理は、図１３のステップ１２及びステップ１３に組み込むことができる。
【００４４】
ここで、かかるバッファの共有化について、具体例を使用して説明する。
［具体例１］
初期状態として、ＲＯＭ１３０には、図１６に示すようなバッファ定義テーブルが格納されている。このバッファ定義テーブルでは、Ｂｕｆｆ［０］には、送信タイミングが２０ｍｓのＣＡＮＩＤ２３９Ｈ、送信タイミングが５０ｍｓのＣＡＮＩＤ５５１Ｈ、送信タイミングが１００ｍｓのＣＡＮＩＤ５８０Ｈが割り付けられている。また、Ｂｕｆｆ［２］には、送信タイミングが５０ｍｓのＣＡＮＩＤ１Ｆ９Ｈ、送信タイミングが１００ｍｓのＣＡＮＩＤｘｘｘＨ、送信タイミングが１００ｍｓのＣＡＮＩＤｘｘｘＨが割り付けられている。さらに、Ｂｕｆｆ［６］には、送信タイミングが２０ｍｓのＣＡＮＩＤ２４５Ｈ、送信タイミングが１００ｍｓのＣＡＮＩＤ１８８Ｈ、送信タイミングが１００ｍｓのＣＡＮＩＤ１Ａ０Ｈが割り付けられている。
【００４５】
そして、ＣＡＮＩＤ４４ＢＨ及び５８０Ｈにより特定される通信相手に故障が発生した場合、図１７に示すように、初期状態においてＢｕｆｆ［２７］及び［２８］に割り付けられていたＣＡＮＩＤ４４ＢＨ及び５８０Ｈを、Ｂｕｆｆ［７］に割り付ける。このとき、ＣＡＮＩＤ４４ＢＨの送信タイミングを１０ｍｓから５０ｍｓに遅くし、ＣＡＮＩＤ５８０Ｈの送信タイミングを１０ｍｓから１００ｍｓに遅くする。
【００４６】
また、ＣＡＮＩＤ４４ＢＨ及び５８０Ｈにより特定される通信相手の故障が解除された場合、図１８に示すように、故障発生によってＢｕｆｆ［７］に割り付けされていたＣＡＮＩＤ４４ＢＨ及び５８０ＨをＢｕｆｆ［２７］及び［２８］に夫々割り付け、初期状態に戻すこともできる。このとき、ＣＡＮＩＤ４４ＢＨ及び５８０Ｈで特定される通信相手との送信タイミングを初期状態の１０ｍｓに戻すこともできる。なお、このように通信相手故障が解除される場合には、例えば、一時的なノイズ重畳によって故障発生が誤診断されたことが想定される。
【００４７】
［具体例２］
初期状態として、ＲＯＭ１３０には、図１９に示すようなバッファ定義テーブルが格納されている。このバッファ定義テーブルでは、Ｂｕｆｆ［０］には、送信タイミングが２０ｍｓのＣＡＮＩＤ２３９Ｈ、送信タイミングが５０ｍｓのＣＡＮＩＤ５５１Ｈ、送信タイミングが１００ｍｓのＣＡＮＩＤ５８０Ｈが割り付けられている。また、Ｂｕｆｆ［２］には、送信タイミングが５０ｍｓのＣＡＮＩＤ１Ｆ９Ｈ、送信タイミングが１００ｍｓのＣＡＮＩＤｘｘｘＨ、送信タイミングが１００ｍｓのＣＡＮＩＤｘｘｘＨが割り付けられている。さらに、Ｂｕｆｆ［６］には、送信タイミングが２０ｍｓのＣＡＮＩＤ２４５Ｈ、送信タイミングが１００ｍｓのＣＡＮＩＤ１８８Ｈ、送信タイミングが１００ｍｓのＣＡＮＩＤ１Ａ０Ｈが割り付けられている。
【００４８】
そして、ＣＡＮＩＤ４４ＢＨ及び５８０Ｈにより特定される通信相手に故障が発生した場合、図２０に示すように、初期状態においてＢｕｆｆ［２７］及び［２８］に割り付けられていたＣＡＮＩＤ４４ＢＨ及び５８０Ｈを、Ｂｕｆｆ［７］に割り付ける。このとき、ＣＡＮＩＤ４４ＢＨの送信タイミングを１０ｍｓから５０ｍｓに遅くし、ＣＡＮＩＤ５８０Ｈの送信タイミングを１０ｍｓから１００ｍｓに遅くする。また、初期状態においてＢｕｆｆ［６］に割り付けられていたＣＡＮＩＤ１８８Ｈ及び１Ａ０Ｈを、Ｂｕｆｆ［２７］及び［２８］に割り付ける。このとき、ＣＡＮＩＤ１８８Ｈ及び１Ａ０Ｈの送信タイミングを１００ｍｓから１０ｍｓに早くする。このようにすれば、ＣＡＮＩＤ１８８Ｈ及び１Ａ０Ｈにより特定される通信相手に対する応答性を改善することができる。
【００４９】
また、ＣＡＮＩＤ４４ＢＨ及び５８０Ｈにより特定される通信相手の故障が解除された場合、図２１に示すように、故障発生によってＢｕｆｆ［７］に割り付けされていたＣＡＮＩＤ４４ＢＨ及び５８０ＨをＢｕｆｆ［２７］及び［２８］に夫々割り付けると共に、Ｂｕｆｆ［２７］及び［２８］に割り付けられていたＣＡＮＩＤ１８８Ｈ及び１Ａ０ＨをＢｕｆｆ［６］に割り付けて初期状態に戻すこともできる。このとき、ＣＡＮＩＤ４４ＢＨ及び５８０Ｈで特定される通信相手との送信タイミングを初期状態の１０ｍｓに戻すと共に、ＣＡＮＩＤ１８８Ｈ及び１Ａ０Ｈで特定される通信相手との送信タイミングを初期状態の１００ｍｓに夫々戻すこともできる。
【００５０】
以上説明した各実施形態について、技術的に矛盾が発生しないことを条件として、その一部を入れ替え、又は、その一部を適宜組み合わせ、新たな実施形態を作成することもできる。また、上記のバッファ定義テーブル及びメッセージ定義テーブルは、あくまで一例を示すものであって、当業者の知識に応じて適宜変更可能であることは言うまでもない。
【符号の説明】
【００５１】
１００  電子制御装置
１１０  プロセッサ
１４０  通信回路
１４２  送受信バッファ
２００  車載ネットワーク
【図１】
2019029683.tif 000003
【図２】
2019029683.tif 000004
【図３】
2019029683.tif 000005
【図４】
2019029683.tif 000006
【図５】
2019029683.tif 000007
【図６】
2019029683.tif 000008
【図７】
2019029683.tif 000009
【図８】
2019029683.tif 000010
【図９】
2019029683.tif 000011
【図１０】
2019029683.tif 000012
【図１１】
2019029683.tif 000013
【図１２】
2019029683.tif 000014
【図１３】
2019029683.tif 000015
【図１４】
2019029683.tif 000016
【図１５】
2019029683.tif 000017
【図１６】
2019029683.tif 000018
【図１７】
2019029683.tif 000019
【図１８】
2019029683.tif 000020
【図１９】
2019029683.tif 000021
【図２０】
2019029683.tif 000022
【図２１】
2019029683.tif 000023