(57)【特許請求の範囲】
【請求項１】
メッセージと、該メッセージの種別を示す識別コードとが少なくとも格納される複数の第１メールボックスと、
前記第１メールボックスから前記メッセージと前記識別コードを抽出し、前記第１メールボックスから抽出した前記メッセージに、前記第１メールボックスから抽出した前記識別コードを付与したフレームを構成して通信バス上に送信するとともに、該通信バスを介して前記フレームを受信した場合には、受信した前記フレームから前記メッセージと前記識別コードを抽出し、抽出した前記識別コードと一致する前記識別コードが格納されている前記第１メールボックスに、前記フレームから抽出した前記メッセージを格納する第１送受信手段とを備えた通信装置であって、
前記複数の第１メールボックスのそれぞれについて異常が発生しているか否かを判断する異常判断手段と、
複数の前記第１メールボックスのうち、異常が発生していないと前記異常判断手段により判断された前記第１メールボックスについては、該第１メールボックスに前記識別コードを格納することにより、該第１メールボックスを、該識別コードに対応する前記メッセージの格納用に割り当てる第１割当手段と、
複数の前記第１メールボックスのうち、異常が発生していると前記異常判断手段により判断された前記第１メールボックスについては、該第１メールボックスへの前記識別コードの格納を禁止することにより、前記メッセージの格納用に割り当てることを禁止する割当禁止手段とを備え、
複数の前記メッセージにはそれぞれ、優先度が予め設定されており、
前記第１割当手段は、
複数の前記メッセージのうち、前記優先度が高い前記メッセージから順に前記第１メールボックスを割り当て、
前記第１メールボックスは、
前記第１割当手段によって、前記第１送受信手段が送信するメッセージである送信用メッセージを格納する送信用第１メールボックス、および、前記第１送受信手段が受信するメッセージである受信用メッセージを格納する受信用第１メールボックスの何れかに割り当てられ、
前記第１割当手段による前記第１メールボックスの割り当てが行われた結果、前記第１メールボックスに割り当てられなかった前記送信用メッセージである未割当送信用メッセージが存在する場合には、前記第１割当手段によって前記送信用第１メールボックスとして割り当てられた前記第１メールボックスの中から、予め設定された送信ボックス選択条件を満たす前記第１メールボックスを選択し、選択された前記送信用第１メールボックスについて、既に割り当てられている前記送信用メッセージの他に前記未割当送信用メッセージを格納できるように設定する送信共有設定手段を備える
ことを特徴とする通信装置。
【請求項２】
メッセージと、該メッセージの種別を示す識別コードとが少なくとも格納される複数の第１メールボックスと、
前記第１メールボックスから前記メッセージと前記識別コードを抽出し、前記第１メールボックスから抽出した前記メッセージに、前記第１メールボックスから抽出した前記識別コードを付与したフレームを構成して通信バス上に送信するとともに、該通信バスを介して前記フレームを受信した場合には、受信した前記フレームから前記メッセージと前記識別コードを抽出し、抽出した前記識別コードと一致する前記識別コードが格納されている前記第１メールボックスに、前記フレームから抽出した前記メッセージを格納する第１送受信手段とを備えた通信装置であって、
前記複数の第１メールボックスのそれぞれについて異常が発生しているか否かを判断する異常判断手段と、
複数の前記第１メールボックスのうち、異常が発生していないと前記異常判断手段により判断された前記第１メールボックスについては、該第１メールボックスに前記識別コードを格納することにより、該第１メールボックスを、該識別コードに対応する前記メッセージの格納用に割り当てる第１割当手段と、
複数の前記第１メールボックスのうち、異常が発生していると前記異常判断手段により判断された前記第１メールボックスについては、該第１メールボックスへの前記識別コードの格納を禁止することにより、前記メッセージの格納用に割り当てることを禁止する割当禁止手段とを備え、
前記第１送受信手段は、ＣＡＮ（Controller Area Network）プロトコルに従って送受信を行い、
前記第１割当手段は、
複数の前記識別コードのうち、前記識別コードの値が小さい順に前記第１メールボックスに格納することにより、前記第１メールボックスを割り当て、
前記第１メールボックスは、
前記第１割当手段によって、前記第１送受信手段が送信するメッセージである送信用メッセージを格納する送信用第１メールボックス、および、前記第１送受信手段が受信するメッセージである受信用メッセージを格納する受信用第１メールボックスの何れかに割り当てられ、
前記第１割当手段による前記第１メールボックスの割り当てが行われた結果、前記第１メールボックスに割り当てられなかった前記送信用メッセージである未割当送信用メッセージが存在する場合には、前記第１割当手段によって前記送信用第１メールボックスとして割り当てられた前記第１メールボックスの中から、予め設定された送信ボックス選択条件を満たす前記第１メールボックスを選択し、選択された前記送信用第１メールボックスについて、既に割り当てられている前記送信用メッセージの他に前記未割当送信用メッセージを格納できるように設定する送信共有設定手段を備える
ことを特徴とする通信装置。
【請求項３】
メッセージと、該メッセージの種別を示す識別コードとが少なくとも格納される複数の第１メールボックスと、
前記第１メールボックスから前記メッセージと前記識別コードを抽出し、前記第１メールボックスから抽出した前記メッセージに、前記第１メールボックスから抽出した前記識別コードを付与したフレームを構成して通信バス上に送信するとともに、該通信バスを介して前記フレームを受信した場合には、受信した前記フレームから前記メッセージと前記識別コードを抽出し、抽出した前記識別コードと一致する前記識別コードが格納されている前記第１メールボックスに、前記フレームから抽出した前記メッセージを格納する第１送受信手段とを備えた通信装置であって、
前記複数の第１メールボックスのそれぞれについて異常が発生しているか否かを判断する異常判断手段と、
複数の前記第１メールボックスのうち、異常が発生していないと前記異常判断手段により判断された前記第１メールボックスについては、該第１メールボックスに前記識別コードを格納することにより、該第１メールボックスを、該識別コードに対応する前記メッセージの格納用に割り当てる第１割当手段と、
複数の前記第１メールボックスのうち、異常が発生していると前記異常判断手段により判断された前記第１メールボックスについては、該第１メールボックスへの前記識別コードの格納を禁止することにより、前記メッセージの格納用に割り当てることを禁止する割当禁止手段とを備え、
複数の前記メッセージにはそれぞれ、優先度が予め設定されており、
前記第１割当手段は、
複数の前記メッセージのうち、前記優先度が高い前記メッセージから順に前記第１メールボックスを割り当て、
前記第１メールボックスは、
前記第１割当手段によって、前記第１送受信手段が送信するメッセージである送信用メッセージを格納する送信用第１メールボックス、および、前記第１送受信手段が受信するメッセージである受信用メッセージを格納する受信用第１メールボックスの何れかに割り当てられ、
前記第１割当手段による前記第１メールボックスの割り当てが行われた結果、前記第１メールボックスに割り当てられなかった前記受信用メッセージである未割当受信用メッセージが存在する場合には、前記第１割当手段によって前記受信用第１メールボックスとして割り当てられた前記第１メールボックスの中から、予め設定された受信ボックス選択条件を満たす前記第１メールボックスを選択し、選択された前記受信用第１メールボックスについて、既に割り当てられている前記受信用メッセージの他に前記未割当受信用メッセージを格納できるように設定する受信共有設定手段を備える
ことを特徴とする通信装置。
【請求項４】
メッセージと、該メッセージの種別を示す識別コードとが少なくとも格納される複数の第１メールボックスと、
前記第１メールボックスから前記メッセージと前記識別コードを抽出し、前記第１メールボックスから抽出した前記メッセージに、前記第１メールボックスから抽出した前記識別コードを付与したフレームを構成して通信バス上に送信するとともに、該通信バスを介して前記フレームを受信した場合には、受信した前記フレームから前記メッセージと前記識別コードを抽出し、抽出した前記識別コードと一致する前記識別コードが格納されている前記第１メールボックスに、前記フレームから抽出した前記メッセージを格納する第１送受信手段とを備えた通信装置であって、
前記複数の第１メールボックスのそれぞれについて異常が発生しているか否かを判断する異常判断手段と、
複数の前記第１メールボックスのうち、異常が発生していないと前記異常判断手段により判断された前記第１メールボックスについては、該第１メールボックスに前記識別コードを格納することにより、該第１メールボックスを、該識別コードに対応する前記メッセージの格納用に割り当てる第１割当手段と、
複数の前記第１メールボックスのうち、異常が発生していると前記異常判断手段により判断された前記第１メールボックスについては、該第１メールボックスへの前記識別コードの格納を禁止することにより、前記メッセージの格納用に割り当てることを禁止する割当禁止手段とを備え、
前記第１送受信手段は、ＣＡＮ（Controller Area Network）プロトコルに従って送受信を行い、
前記第１割当手段は、
複数の前記識別コードのうち、前記識別コードの値が小さい順に前記第１メールボックスに格納することにより、前記第１メールボックスを割り当て、
前記第１メールボックスは、
前記第１割当手段によって、前記第１送受信手段が送信するメッセージである送信用メッセージを格納する送信用第１メールボックス、および、前記第１送受信手段が受信するメッセージである受信用メッセージを格納する受信用第１メールボックスの何れかに割り当てられ、
前記第１割当手段による前記第１メールボックスの割り当てが行われた結果、前記第１メールボックスに割り当てられなかった前記受信用メッセージである未割当受信用メッセージが存在する場合には、前記第１割当手段によって前記受信用第１メールボックスとして割り当てられた前記第１メールボックスの中から、予め設定された受信ボックス選択条件を満たす前記第１メールボックスを選択し、選択された前記受信用第１メールボックスについて、既に割り当てられている前記受信用メッセージの他に前記未割当受信用メッセージを格納できるように設定する受信共有設定手段を備える
ことを特徴とする通信装置。
【請求項５】
メッセージと、該メッセージの種別を示す識別コードとが少なくとも格納される複数の第１メールボックスと、
前記第１メールボックスから前記メッセージと前記識別コードを抽出し、前記第１メールボックスから抽出した前記メッセージに、前記第１メールボックスから抽出した前記識別コードを付与したフレームを構成して通信バス上に送信するとともに、該通信バスを介して前記フレームを受信した場合には、受信した前記フレームから前記メッセージと前記識別コードを抽出し、抽出した前記識別コードと一致する前記識別コードが格納されている前記第１メールボックスに、前記フレームから抽出した前記メッセージを格納する第１送受信手段とを備えた通信装置であって、
前記複数の第１メールボックスのそれぞれについて異常が発生しているか否かを判断する異常判断手段と、
複数の前記第１メールボックスのうち、異常が発生していないと前記異常判断手段により判断された前記第１メールボックスについては、該第１メールボックスに前記識別コードを格納することにより、該第１メールボックスを、該識別コードに対応する前記メッセージの格納用に割り当てる第１割当手段と、
複数の前記第１メールボックスのうち、異常が発生していると前記異常判断手段により判断された前記第１メールボックスについては、該第１メールボックスへの前記識別コードの格納を禁止することにより、前記メッセージの格納用に割り当てることを禁止する割当禁止手段と、
メッセージと、該メッセージの種別を示す識別コードとが少なくとも格納される複数の第２メールボックスと、
前記第２メールボックスから前記メッセージと前記識別コードを抽出し、前記メールボックスから抽出した前記メッセージに、前記第２メールボックスから抽出した前記識別コードを付与したフレームを構成して通信バス上に送信するとともに、該通信バスを介して前記フレームを受信した場合には、受信した前記フレームから前記メッセージと前記識別コードを抽出し、抽出した前記識別コードと一致する前記識別コードが格納されている前記第２メールボックスに、前記フレームから抽出した前記メッセージを格納する第２送受信手段と、
前記第１割当手段による前記メールボックスの割り当てが行われた結果、前記メールボックスに割り当てられなかった前記メッセージである未割当メッセージが存在する場合に、前記第２送受信手段が使用中であるか否かを判断する第２送受信使用判断手段と、
前記第２送受信手段が使用中でないと前記第２送受信使用判断手段により判断された場合に、前記第２メールボックスについて、該第２メールボックスに前記未割当メッセージの識別コードを格納することにより、前記識別コードが格納された前記第２メールボックスを前記未割当メッセージの格納用に割り当てる第２割当手段とを備える
ことを特徴とする通信装置。
【請求項６】
前記送信ボックス選択条件は、
前記第１割当手段により割り当てられた前記第１メールボックスのうち、前記第１割当手段により最も遅く割り当てられた前記送信用第１メールボックスであることである
ことを特徴とする請求項１または請求項２に記載の通信装置。
【請求項７】
前記受信ボックス選択条件は、
前記第１割当手段により割り当てられた前記第１メールボックスのうち、前記第１割当手段により最も遅く割り当てられた前記受信用第１メールボックスであることである
ことを特徴とする請求項３または請求項４に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メールボックスを用いて通信を行う通信装置に関する。
【背景技術】
【０００２】
車両においては、制御の高度化またはサービスの充実を図るために、電子制御装置（ＥＣＵ）等の車載機器同士を通信バスで相互に接続してローカルエリアネットワーク（いわゆる車内ＬＡＮ）を構成し、車載機器間で情報を共有することが行われている。
【０００３】
なお、車内ＬＡＮの通信プロトコルとして、コントローラエリアネットワーク（ＣＡＮ；Controller Area Network）が多く利用されている。
このＣＡＮプロトコルでは、送信メッセージをフレーム化して通信バスへ送信する前には、送信メッセージの種類を表す識別ＩＤコード（以下、ＣＡＮＩＤという）が設定された送信用メールボックスに送信メッセージを格納するとともに、通信バスを介してフレームを受信した場合には、フレームから抽出した受信メッセージを、この受信メッセージに付与されているＣＡＮＩＤと同一のＣＡＮＩＤが予め設定された受信用メールボックスに格納するように規定されている。
【０００４】
電子制御装置には、所定数（例えば３２個）のメールボックスが予め設けられており、各メールボックスには、メールボックスを識別するためのボックス番号（例えば０〜３１の整数値）が付与されている。そして、各メールボックスの設定は、電子制御装置が起動してＣＡＮ通信が開始される前のＣＡＮ初期化処理で行われる。
【０００５】
具体的には、まず、図１０に示すように、ＣＡＮＩＤ毎に、メールボックスの使用方法（送信用[Ｔｘ]／受信用[Ｒｘ]）を示す送受信設定、およびメッセージのデータ長を示すＤＬＣ（Data Length Code）が記述されたメッセージ仕様ＭＳに基づいて、設計者が、各メールボックスのボックス番号に対応するＣＡＮＩＤと送受信設定とＤＬＣを設定し、メールボックス設定仕様ＭＢＳを作成している。このメールボックス設定仕様ＭＢＳは電子制御装置内に記憶されており、電子制御装置の起動毎に、メールボックス設定仕様ＭＢＳが読み出され、メールボックス設定仕様ＭＢＳの設定に従って、メールボックス毎にＣＡＮＩＤと送受信設定とＤＬＣが設定される。したがって、電子制御装置の起動時にメールボックス設定が行われると、その後、メールボックス設定が変更されることはない。
【０００６】
ところで、メールボックスは、一般的にＲＡＭで構成されており、ビット値を書き換えることができない異常であるビット固着が発生する可能性がある。
そして従来、メールボックスに所定のパターンを書き込んだ後に、書き込んだパターンを読み出し、書き込みパターンと読み出しパターンとが不一致である場合に、ビット固着が発生している旨を通知する技術が知られている（例えば、特許文献１を参照）。これにより、メールボックスの異常状態を検知することができるため、この異常状態に対応した制御（例えば、フェイルセーフ制御、あるいはメールボックスに格納されるメッセージに関連した制御の停止）を行うことが可能となり、メールボックスの異常による車両制御への影響を最低限に抑えることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１５３６５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述のように、電子制御装置の起動時にメールボックス設定が行われた後ではメールボックス設定が変更されないために、特許文献１に記載のようにメールボックスの異常状態を検知することができても、異常なメールボックスに関連した制御の制限が継続してしまうという問題があった。
【０００９】
本発明は、こうした問題に鑑みてなされたものであり、異常なメールボックスがメッセージ格納用に割り当てられるのを抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するためになされた請求項１〜５に記載の発明は、メッセージと、メッセージの種別を示す識別コードとが少なくとも格納される複数の第１メールボックスと、第１メールボックスからメッセージと識別コードを抽出し、第１メールボックスから抽出したメッセージに、第１メールボックスから抽出した識別コードを付与したフレームを構成して通信バス上に送信するとともに、通信バスを介してフレームを受信した場合には、受信したフレームからメッセージと識別コードを抽出し、抽出した識別コードと一致する識別コードが格納されている第１メールボックスに、フレームから抽出したメッセージを格納する第１送受信手段とを備えた通信装置であって、異常判断手段が、複数の第１メールボックスのそれぞれについて異常が発生しているか否かを判断する。そして第１割当手段が、複数の第１メールボックスのうち、異常が発生していないと異常判断手段により判断された第１メールボックスについては、第１メールボックスに識別コードを格納することにより、第１メールボックスを、識別コードに対応するメッセージの格納用に割り当てるとともに、割当禁止手段が、複数の第１メールボックスのうち、異常が発生していると異常判断手段により判断された第１メールボックスについては、第１メールボックスへの識別コードの格納を禁止することにより、メッセージの格納用に割り当てることを禁止する。
【００１１】
このように構成された通信装置では、正常なメールボックスはメッセージの格納用に割り当てられる一方、異常なメールボックスはメッセージの格納用に割り当てられない。これにより、メールボックスの異常のために、この異常なメールボックスを割り当てられているメッセージの通信ができなくなるという状況の発生を抑制し、通信の信頼性を向上させることができる。
【００１２】
また、請求項１，３に記載の通信装置では、複数のメッセージにはそれぞれ、優先度が予め設定されており、第１割当手段は、複数のメッセージのうち、優先度が高いメッセージから順に第１メールボックスを割り当てる。
【００１３】
これにより、正常なメールボックスの数が複数のメッセージの数より少ない場合であっても、正常なメールボックスを、優先度が高いメッセージに優先的に割り当てることができる。このため、重要なメッセージの通信がメールボックスの異常のためにできなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【００１４】
なお優先度は、メッセージのシステムへの影響度およびメッセージの通信周期等に基づいて決定するとよい。具体的には、請求項２に記載の通信装置が他の通信装置と通信バスを介してデータ通信可能に接続されることによりシステムを形成している場合において、メッセージの通信ができない場合におけるシステムに及ぼす影響が大きいほどそのメッセージの優先度を高くしたり、メッセージの通信周期が短いほどそのメッセージが重要であるという判断基準に基づいてメッセージの通信周期が短いほどそのメッセージの優先度を高くしたりする。
【００１５】
ところで、ＣＡＮ（Controller Area Network）プロトコルでは、上述の識別コードを用いて、どのフレームを優先的に処理するかを決定する調停制御を、ビット単位非破壊アービトレーションと呼ばれる手法により実行するようにされている。
【００１６】
すなわち、通信バス上の信号レベルには、ドミナント（優性）とリセッシブ（劣性）とがあり、複数の通信装置から、ドミナントとリセッシブとが同時に送信された場合に、バスの信号レベルはドミナントとなる。一般的に、ドミナントの理論値を０、リセッシブの論理値を１として考える。
【００１７】
つまり、ＣＡＮプロトコルを用いた通信システムでは、同時に複数のフレームが通信バス上に送信された場合、識別コードの論理値が最も小さいフレームを送信した通信装置が送信権を得る。そして、通常、優先度が高いフレームほど、他のフレームとの衝突が生じても優先して伝送されるように、論理値が小さい識別コードが割り当てられている。
【００１８】
そこで、請求項２，４に記載の通信装置において、第１送受信手段がＣＡＮ（Controller Area Network）プロトコルに従って送受信を行う場合には、第１割当手段は、複数の識別コードのうち、識別コードの値が小さい順に第１メールボックスに格納することにより、第１メールボックスを割り当てる。
【００１９】
これにより、正常なメールボックスの数が複数のメッセージの数より少ない場合であっても、正常なメールボックスを、識別コードの値が小さい識別コードに対応したメッセージに優先的に割り当てることができる。これにより、重要なメッセージの通信がメールボックスの異常のためにできなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【００２０】
また、請求項１または請求項２に記載の通信装置において、第１メールボックスは、第１割当手段によって、第１送受信手段が送信するメッセージである送信用メッセージを格納する送信用第１メールボックス、および、第１送受信手段が受信するメッセージである受信用メッセージを格納する受信用第１メールボックスの何れかに割り当てられ、送信共有設定手段が、第１割当手段による第１メールボックスの割り当てが行われた結果、第１メールボックスに割り当てられなかった送信用メッセージである未割当送信用メッセージが存在する場合には、第１割当手段によって送信用第１メールボックスとして割り当てられた第１メールボックスの中から、予め設定された送信ボックス選択条件を満たす第１メールボックスを選択し、選択された送信用第１メールボックスについて、既に割り当てられている送信用メッセージの他に未割当送信用メッセージを格納できるように設定する。
【００２１】
これにより、１つのメールボックスを複数のメッセージの格納用として共有することができる。このため、正常なメールボックスの数が複数のメッセージの数より少ない場合であっても、メッセージの通信がメールボックス不足のためにできなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【００２２】
また、請求項１，２に記載の通信装置において、請求項６に記載のように、送信ボックス選択条件は、第１割当手段により割り当てられた第１メールボックスのうち、第１割当手段により最も遅く割り当てられた送信用第１メールボックスであることであるようにするとよい。
【００２３】
これにより、識別コードが格納されているメールボックスの中で最も優先度が低い識別コードが格納されているメールボックスを、未割当送信用メッセージと共有してメッセージを格納するためのメールボックスとすることができる。すなわち、優先度が高いメッセージを格納するためのメールボックスが、未割当送信用メッセージと共有してメッセージを格納するためのメールボックスとして設定されるという状況の発生を抑制することができる。このため、メールボックスの共有設定に起因した異常により重要なメッセージの通信ができなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【００２４】
また、請求項３，４に記載の通信装置では、第１メールボックスは、第１割当手段によって、第１送受信手段が送信するメッセージである送信用メッセージを格納する送信用第１メールボックス、および、第１送受信手段が受信するメッセージである受信用メッセージを格納する受信用第１メールボックスの何れかに割り当てられ、受信共有設定手段が、第１割当手段による第１メールボックスの割り当てが行われた結果、第１メールボックスに割り当てられなかった受信用メッセージである未割当受信用メッセージが存在する場合には、第１割当手段によって受信用第１メールボックスとして割り当てられた第１メールボックスの中から、予め設定された受信ボックス選択条件を満たす第１メールボックスを選択し、選択された受信用第１メールボックスについて、既に割り当てられている受信用メッセージの他に未割当受信用メッセージを格納できるように設定する。
【００２５】
これにより、１つのメールボックスを複数のメッセージの格納用として共有することができる。このため、正常なメールボックスの数が複数のメッセージの数より少ない場合であっても、メッセージの通信がメールボックス不足のためにできなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【００２６】
また、請求項３，４に記載の通信装置において、請求項７に記載のように、受信ボックス選択条件は、第１割当手段により割り当てられた第１メールボックスのうち、第１割当手段により最も遅く割り当てられた受信用第１メールボックスであることであるようにするとよい。
【００２７】
これにより、識別コードが格納されているメールボックスの中で最も優先度が低い識別コードが格納されているメールボックスを、未割当受信用メッセージと共有してメッセージを格納するためのメールボックスとすることができる。すなわち、優先度が高いメッセージを格納するためのメールボックスが、未割当受信用メッセージと共有してメッセージを格納するためのメールボックスとして設定されるという状況の発生を抑制することができる。このため、メールボックスの共有設定に起因した異常により重要なメッセージの通信ができなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【００２８】
また、請求項５に記載の通信装置では、メッセージと、メッセージの種別を示す識別コードとが少なくとも格納される複数の第２メールボックスと、第２メールボックスからメッセージと識別コードを抽出し、メールボックスから抽出したメッセージに、第２メールボックスから抽出した識別コードを付与したフレームを構成して通信バス上に送信するとともに、通信バスを介してフレームを受信した場合には、受信したフレームからメッセージと識別コードを抽出し、抽出した識別コードと一致する識別コードが格納されている第２メールボックスに、フレームから抽出したメッセージを格納する第２送受信手段とを備えている場合には、請求項８に記載のように、第２送受信使用判断手段が、第１割当手段によるメールボックスの割り当てが行われた結果、メールボックスに割り当てられなかったメッセージである未割当メッセージが存在する場合に、第２送受信手段が使用中であるか否かを判断し、第２割当手段が、第２送受信手段が使用中でないと第２送受信使用判断手段により判断された場合に、第２メールボックスについて、第２メールボックスに未割当メッセージの識別コードを格納することにより、識別コードが格納された第２メールボックスを未割当メッセージの格納用に割り当てる。
【００２９】
これにより、第１送受信手段が送受信するメッセージを格納するために第２メールボックスを用いることができる。このため、正常な第１メールボックスの数が複数のメッセージの数より少ない場合であっても、メッセージの通信がメールボックス不足のためにできなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【図面の簡単な説明】
【００３０】
【図１】電子制御装置１の構成を示すブロック図である。
【図２】ＣＡＮ初期化処理を示すフローチャートである。
【図３】ビット固着検査処理を示すフローチャートである。
【図４】第１，２実施形態のメールボックス設定処理を示すフローチャートである。
【図５】従来のメールボックス設定処理を示すフローチャートである。
【図６】第３実施形態のメールボックス設定処理を示すフローチャートである。
【図７】第４実施形態の電子制御装置１の構成を示すブロック図である。
【図８】第４実施形態のメールボックス設定処理を示すフローチャートである。
【図９】システム影響度に基づくメッセージ仕様ＭＳの設定方法を説明する図である。
【図１０】メッセージ仕様ＭＳとメールボックス設定仕様ＭＢＳを示す図である。
【発明を実施するための形態】
【００３１】
（第１実施形態）
以下に本発明の第１実施形態を図面とともに説明する。
図１は、本発明が適用された電子制御装置１の構成を示すブロック図である。
【００３２】
電子制御装置（以下、ＥＣＵという）１は、ＣＡＮ（Controller Area Network）プロトコルを用いた車内ＬＡＮに接続され、車両に搭載された他のＥＣＵとの間でデータ通信可能に構成されている。
【００３３】
そしてＥＣＵ１は、図１に示すように、ＣＡＮプロトコルに従って他のＥＣＵとの通信を制御するＣＡＮコントローラ２と、ＣＡＮコントローラ２とＣＡＮバスＢＳ１との間でデータを送受信するためのＣＡＮトランシーバ３と、ＣＡＮコントローラ２を介して他のＥＣＵとの間でメッセージを交換することにより、他のＥＣＵと連携して各種処理を実行する制御部４とを備えている。
【００３４】
ＣＡＮトランシーバ３は、予め規定されたＣＡＮバスの電気的条件を満たす信号を確実に送受信するように構成されている。
ＣＡＮコントローラ２は、ＥＣＵ間で送受信されるメッセージ等を格納するためのメールボックスＭＢを複数（本実施形態で３２個）備えたデータ格納部２１と、メールボックスＭＢの格納値に基づいてメッセージをフレーム化し、ＣＡＮトランシーバ３を介してＣＡＮバスＢＳ１に送信する送信制御、ＣＡＮトランシーバ３を介してフレームを受信してメッセージの抽出等を行う受信制御、バス上でフレームが衝突した際のバス権の調停制御等、ＣＡＮプロトコルに従った通信制御を実行するプロトコルコア部２２と、プロトコルコア部２２の送信制御および受信制御時に、データ格納部２１へのアクセスを制御するアクセス制御部２３とを備えている。
【００３５】
なお、データ格納部２１に設けられたメールボックスＭＢのそれぞれには、メールボックスを識別するためのボックス番号（本実施形態では０〜３１の整数値）が付与されている。
【００３６】
また各メールボックスＭＢには、メッセージの種類および優先度を表す識別コード（以下、ＣＡＮＩＤという）を格納するためのＣＡＮＩＤレジスタＲ１、フレームに載せて送信するメッセージまたは受信フレームから抽出したメッセージを格納するためのメッセージレジスタＲ２、メールボックスの使用方法（送信用／受信用）を示す送受信設定情報を格納するための送受信設定レジスタＲ３、メッセージのデータ長を示すＤＬＣ（Data Length Code）を格納するためのＤＬＣレジスタＲ４が設けられている。
【００３７】
また制御部４は、ＣＰＵ４１、ＲＯＭ４２、およびＲＡＭ４３を備え、ＲＯＭ４２が記憶するプログラムに基づく処理をＣＰＵ４１が実行することにより、各種処理を実行する。例えば、他のＥＣＵに対して送信すべきメッセージがある場合、メッセージの内容からそのメッセージに対応するＣＡＮＩＤを特定し、特定したＣＡＮＩＤが設定されているメールボックスＭＢのメッセージレジスタＲ２にメッセージを格納する。
【００３８】
また制御部４は、ＣＡＮコントローラ２からフレームを受信した旨の通知を受けた場合に、送受信設定レジスタＲ３が受信用に設定されているメールボックスＭＢのメッセージレジスタＲ２の内容を読み出すことにより、他のＥＣＵからのメッセージを受信する。
【００３９】
さらに、制御部４のＲＯＭ４２には、各メールボックスＭＢのボックス番号に対応するＣＡＮＩＤと送受信設定情報とＤＬＣが設定されたメールボックス設定仕様ＭＢＳ（図１０を参照）が記憶されている。
【００４０】
まず、制御部４が実行するＣＡＮ初期化処理の手順を図２を用いて説明する。図２はＣＡＮ初期化処理を示すフローチャートである。このＣＡＮ初期化処理は、ＥＣＵ１が起動した直後に１回のみ実行される処理である。
【００４１】
このＣＡＮ初期化処理が実行されると、制御部４のＣＰＵ４１は、まずＳ１０にて、メールボックスＭＢのビット固着を検査するビット固着検査処理（詳細は後述）を実行する。その後Ｓ２０にて、ＣＡＮコントローラ２の各種設定を行うためのコントロールレジスタ設定を実行する。
【００４２】
次にＳ３０にて、メールボックスＭＢのレジスタ設定を行うメールボックス設定処理（詳細は後述）を実行し、さらにＳ４０にて、ＣＡＮコントローラ２の通信速度の設定を行い、ＣＡＮ初期化処理を終了する。そして、このＣＡＮ初期化処理の終了後にＣＡＮ通信が開始される。
【００４３】
次に、Ｓ１０で実行されるビット固着検査処理の手順を図３を用いて説明する。図３はビット固着検査処理を示すフローチャートである。
ビット固着検査処理が実行されると、制御部４のＣＰＵ４１は、まずＳ１１０にて、ビット固着検査が行われていないメールボックスＭＢ（以下、未検査メールボックスＭＢともいう）が存在するか否かを判断する。ここで、未検査メールボックスＭＢが存在する場合には（Ｓ１１０：ＹＥＳ）、Ｓ１２０にて、未検査メールボックスＭＢの中から１つのメールボックスＭＢを選択する。
【００４４】
そしてＳ１３０にて、Ｓ１２０で選択したメールボックスＭＢについて、そのメッセージレジスタＲ２に検査用データを書き込み、さらにＳ１４０にて、検査用データを書き込んだメールボックスＭＢのメッセージレジスタＲ２からデータを読み出し、読み出したデータと検査用データと照合する。
【００４５】
その後Ｓ１５０にて、Ｓ１２０で選択したメールボックスＭＢについて、そのＣＡＮＩＤレジスタＲ１に検査用データを書き込み、さらにＳ１６０にて、検査用データを書き込んだメールボックスＭＢのＣＡＮＩＤレジスタＲ１からデータを読み出し、読み出したデータと検査用データと照合する。
【００４６】
さらにＳ１７０にて、Ｓ１２０で選択したメールボックスＭＢについて、そのＤＬＣレジスタＲ４に検査用データを書き込み、さらにＳ１８０にて、検査用データを書き込んだメールボックスＭＢのＤＬＣレジスタＲ４からデータを読み出し、読み出したデータと検査用データと照合する。
【００４７】
そしてＳ１９０にて、Ｓ１４０，Ｓ１６０，Ｓ１８０での照合結果（以下、ビット固着検査照合結果という）をＲＡＭ４３に記憶した後にＳ１１０に移行する。一方、Ｓ１１０にて、未検査メールボックスＭＢが存在しない場合、すなわち全てのメールボックスＭＢで固着検査が行われた場合には（Ｓ１１０：ＮＯ）、ビット固着検査処理を終了する。
【００４８】
次に、Ｓ３０で実行されるメールボックス設定処理の手順を図４を用いて説明する。図４はメールボックス設定処理を示すフローチャートである。
メールボックス設定処理が実行されると、制御部４のＣＰＵ４１は、まずＳ２１０にて、メールボックスＭＢのボックス番号を指示するボックス番号カウンタＣ１の値を０にセットする。次にＳ２２０にて、ＲＯＭ４２に記憶されているメールボックス設定仕様ＭＢＳの中でメールボックスの設定が行われていないメッセージ（以下、未設定メッセージという）が存在するか否かを判断する。ここで、未設定メッセージが存在しない場合（Ｓ２２０：ＮＯ）、すなわち、メールボックス設定仕様ＭＢＳに記載されている全てのメッセージについてメールボックスＭＢの設定が実施された場合には、メールボックス設定処理を終了する。一方、未設定メッセージが存在する場合には（Ｓ２２０：ＹＥＳ）、Ｓ２３０にて、メールボックス設定仕様ＭＢＳに記載されている未設定メッセージの中で、メールボックスＭＢのボックス番号が最も小さい未設定メッセージを選択する。
【００４９】
そしてＳ２４０にて、ボックス番号カウンタＣ１が指示するボックス番号を有するメールボックスＭＢ（以下、カウンタ指示メールボックスＭＢという）が正常であるか否かを、ＲＡＭ４３に記憶されたビット固着検査照合結果に基づいて判断する。ここで、カウンタ指示メールボックスＭＢが正常である場合には（Ｓ２４０：ＹＥＳ）、Ｓ２５０にて、メールボックス設定仕様ＭＢＳに基づいて、カウンタ指示メールボックスＭＢの送受信設定レジスタＲ３に「送信用」または「受信用」を設定する。
【００５０】
その後Ｓ２６０にて、カウンタ指示メールボックスＭＢの送受信設定レジスタＲ３が「受信用」に設定されているか否かを判断する。ここで、「受信用」に設定されている場合には（Ｓ２６０：ＹＥＳ）、Ｓ２７０にて、メールボックス設定仕様ＭＢＳに基づいて、カウンタ指示メールボックスＭＢのＣＡＮＩＤレジスタＲ１にＣＡＮＩＤを設定し、さらにＳ２８０にて、ＣＡＮＩＤレジスタＲ１に設定されているＣＡＮＩＤを有するメッセージのみを格納可能となるようにＩＤフィルタ設定を実施する。そしてＳ２９０にて、ボックス番号カウンタＣ１をインクリメント（１加算）して、Ｓ２２０に移行して、上述の処理を繰り返す。
【００５１】
一方、「受信用」に設定されていない場合には（Ｓ２６０：ＮＯ）、「送信用」に設定されていると判断して、Ｓ３００にて、メールボックス設定仕様ＭＢＳに基づいて、カウンタ指示メールボックスＭＢのＣＡＮＩＤレジスタＲ１にＣＡＮＩＤを設定する。そしてＳ２９０にて、ボックス番号カウンタＣ１をインクリメント（１加算）して、Ｓ２２０に移行して、上述の処理を繰り返す。
【００５２】
また、Ｓ２４０にて、選択されたメールボックスＭＢがビット固着による異常である場合には（Ｓ２４０：ＮＯ）、Ｓ３１０にて、レジスタ設定が行われていないメールボックスＭＢ（以下、未設定メールボックスＭＢともいう）が存在するか否かを判断する。具体的には、ボックス番号カウンタＣ１の値が３１未満である場合に、未設定メールボックスＭＢが存在すると判断する。
【００５３】
ここで、未設定メールボックスＭＢが存在しない場合には（Ｓ３１０：ＮＯ）、メールボックス設定処理を終了する。一方、未設定メールボックスＭＢが存在する場合には（Ｓ３１０：ＹＥＳ）、Ｓ３２０にて、ボックス番号カウンタＣ１をインクリメント（１加算）して、Ｓ２４０に移行して、上述の処理を繰り返す。
【００５４】
このように構成された電子制御装置１では、メッセージと、メッセージの種別を示すＣＡＮＩＤとが少なくとも格納される複数のメールボックスＭＢと、メールボックスＭＢからメッセージとＣＡＮＩＤを抽出し、メールボックスＭＢから抽出したメッセージに、メールボックスＭＢから抽出したＣＡＮＩＤを付与したフレームを構成してＣＡＮバスＢＳ１上に送信するとともに、ＣＡＮバスＢＳ１を介してフレームを受信した場合には、受信したフレームからメッセージとＣＡＮＩＤを抽出し、抽出したＣＡＮＩＤと一致するＣＡＮＩＤが格納されているメールボックスＭＢに、フレームから抽出したメッセージを格納するＣＡＮコントローラ２とを備え、複数のメールボックスＭＢのそれぞれについてビット固着が発生しているか否かを判断する（Ｓ１０）。そして、複数のメールボックスＭＢのうち、ビット固着が発生していないと判断されたメールボックスＭＢについては（Ｓ２４０：ＹＥＳ）、メールボックスＭＢにＣＡＮＩＤを格納することにより、このメールボックスＭＢを、ＣＡＮＩＤに対応するメッセージの格納用に割り当てるとともに（Ｓ２５０〜Ｓ３００）、ビット固着が発生していると判断されたメールボックスＭＢについては（Ｓ２４０：ＮＯ）、メールボックスＭＢへのＣＡＮＩＤの格納を禁止することにより、メッセージの格納用に割り当てることを禁止する。
【００５５】
したがって、正常なメールボックスＭＢはメッセージの格納用に割り当てられる一方、異常なメールボックスＭＢはメッセージの格納用に割り当てられない。これにより、メールボックスＭＢの異常のために、この異常なメールボックスＭＢを割り当てられているメッセージの通信ができなくなるという状況の発生を抑制し、通信の信頼性を向上させることができる。
【００５６】
なお従来は、図５に示すように、メールボックス設定処理を実行していた。図５は、従来のメールボックス設定処理を示すフローチャートである。
従来のメールボックス設定処理が実行されると、図５に示すように、まずＳ１０１０にて、ボックス番号カウンタＣ１の値を０にセットする。次にＳ１０２０にて、未設定メッセージが存在するか否かを判断する。ここで、未設定メッセージが存在しない場合には（Ｓ１０２０：ＮＯ）、メールボックス設定処理を終了する。一方、未設定メッセージが存在する場合には（Ｓ１０２０：ＹＥＳ）、Ｓ１０３０にて、メールボックス設定仕様ＭＢＳに記載されている未設定メッセージの中で、メールボックスＭＢのボックス番号が最も小さい未設定メッセージを選択する。
【００５７】
そしてＳ１０４０にて、メールボックス設定仕様ＭＢＳに基づいて、ボックス番号カウンタＣ１が指示するボックス番号を有するメールボックスＭＢ（カウンタ指示メールボックスＭＢ）の送受信設定レジスタＲ３に「送信用」または「受信用」を設定する。
【００５８】
その後Ｓ１０５０にて、カウンタ指示メールボックスＭＢの送受信設定レジスタＲ３が「受信用」に設定されているか否かを判断する。ここで、「受信用」に設定されている場合には（Ｓ１０５０：ＹＥＳ）、Ｓ１０６０にて、メールボックス設定仕様ＭＢＳに基づいて、カウンタ指示メールボックスＭＢのＣＡＮＩＤレジスタＲ１にＣＡＮＩＤを設定し、さらにＳ１０７０にて、ＣＡＮＩＤレジスタＲ１に設定されているＣＡＮＩＤを有するメッセージのみを格納可能となるようにＩＤフィルタ設定を実施する。そしてＳ１０８０にて、ボックス番号カウンタＣ１をインクリメント（１加算）して、Ｓ１０２０に移行して、上述の処理を繰り返す。
【００５９】
一方、「受信用」に設定されていない場合には（Ｓ１０５０：ＮＯ）、Ｓ１０９０にて、メールボックス設定仕様ＭＢＳに基づいて、カウンタ指示メールボックスＭＢのＣＡＮＩＤレジスタＲ１にＣＡＮＩＤを設定する。そしてＳ１０８０にて、ボックス番号カウンタＣ１をインクリメント（１加算）して、Ｓ１０２０に移行して、上述の処理を繰り返す。
【００６０】
すなわち、従来のメールボックス設定処理では、メールボックスＭＢにビット固着が発生しているか否かに関わらず、メールボックス設定仕様ＭＢＳの設定に従って、メールボックス毎に設定を行う。例えば、ボックス番号が５であるメールボックス（以下、メールボックスＭＢ０５という）に関するＣＡＮＩＤと送受信設定情報とＤＬＣがメールボックス設定仕様ＭＢＳに記載されていた場合には、メールボックスＭＢ０５にビット固着が発生していたとしても、メールボックス設定仕様ＭＢＳの記載に基づいて、メールボックスＭＢ０５に関するＣＡＮＩＤと送受信設定情報とＤＬＣがメールボックスＭＢ０５に設定される。
【００６１】
以上説明した実施形態において、電子制御装置１は本発明における通信装置、ＣＡＮコントローラ２のメールボックスＭＢは本発明における第１メールボックス、ＣＡＮＩＤは本発明における識別コード、ＣＡＮコントローラ２は本発明における第１送受信手段、Ｓ１０の処理は本発明における異常判断手段、Ｓ２５０〜Ｓ３００の処理は本発明における第１割当手段、Ｓ２４０における判断がＮＯである場合の分岐は本発明における割当禁止手段である。
【００６２】
（第２実施形態）
以下に本発明の第２実施形態を図面とともに説明する。なお、第２実施形態では、第１実施形態と異なる部分のみを説明する。
【００６３】
第２実施形態における電子制御装置（ＥＣＵ）１は、メールボックス設定処理が変更された点以外は第１実施形態と同じである。
第２実施形態のメールボックス設定処理は、Ｓ２３０の処理が変更された点以外は第１実施形態と同じである。
【００６４】
すなわち、メールボックス設定仕様ＭＢＳに記載されている未設定メッセージの中で、ＣＡＮＩＤが最も小さい未設定メッセージを選択する。
なお、ＣＡＮ（Controller Area Network）プロトコルでは、ＣＡＮＩＤを用いて、どのフレームを優先的に処理するかを決定する調停制御を、ビット単位非破壊アービトレーションと呼ばれる手法により実行するようにされている。
【００６５】
すなわち、通信バス上の信号レベルには、ドミナント（優性）とリセッシブ（劣性）とがあり、複数のＥＣＵから、ドミナントとリセッシブとが同時に送信された場合に、バスの信号レベルはドミナントとなる。一般的に、ドミナントの理論値を０、リセッシブの論理値を１として考える。
【００６６】
つまり、ＣＡＮプロトコルを用いた通信システムでは、同時に複数のフレームが通信バス上に送信された場合、識別コードの論理値が最も小さいフレームを送信したＥＣＵが送信権を得る。そして、通常、優先度が高いフレームほど、他のフレームとの衝突が生じても優先して伝送されるように、論理値が小さいＣＡＮＩＤが割り当てられている。
【００６７】
つまり、第２実施形態の電子制御装置（ＥＣＵ）１では、優先度が高いＣＡＮＩＤに対応するメッセージから順にメールボックスＭＢが割り当てられる。これにより、正常なメールボックスＭＢの数が、メールボックス設定仕様ＭＢＳで設定されているメッセージの数より少ない場合であっても、重要なメッセージの通信がメールボックスＭＢの異常のためにできなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【００６８】
（第３実施形態）
以下に本発明の第３実施形態を図面とともに説明する。なお、第３実施形態では、第２実施形態と異なる部分のみを説明する。
【００６９】
第３実施形態における電子制御装置１は、メールボックス設定処理が変更された点以外は第２実施形態と同じである。図６は、第３実施形態のメールボックス設定処理を示すフローチャートである。
【００７０】
図６に示すように、第３実施形態のメールボックス設定処理は、Ｓ４１０〜Ｓ４４０の処理が追加された点以外は第２実施形態と同じである。
すなわち、Ｓ３１０にて、未設定メールボックスＭＢが存在しない場合には（Ｓ３１０：ＮＯ）、Ｓ４１０にて、メールボックス設定仕様ＭＢＳに基づいて、Ｓ２３０で選択された未設定メッセージが「受信用」に設定されているか否かを判断する。
【００７１】
ここで、未設定メッセージが「受信用」に設定されている場合には（Ｓ４１０：ＹＥＳ）、Ｓ４２０にて、「受信用」に設定されたメールボックスＭＢの中で最もボックス番号が大きいメールボックスＭＢ（以下、直前設定済受信メールボックスＭＢという）のＩＤフィルタを変更することにより、この直前設定済受信メールボックスＭＢのＣＡＮＩＤレジスタＲ１に格納されているＣＡＮＩＤを有するメッセージだけではなく、Ｓ２３０で選択された未設定メッセージも格納可能となるように、直前設定済受信メールボックスＭＢのＩＤフィルタ設定を実施し、その後Ｓ２２０に移行して、上述の処理を繰り返す。具体的には、直前設定済受信メールボックスＭＢのＣＡＮＩＤレジスタＲ１に格納されているＣＡＮＩＤと、Ｓ２３０で選択された未設定メッセージに設定されているＣＡＮＩＤと比較して、値が異なっているビットをマスクし、マスクされていない残りのビットが同一のＣＡＮＩＤを有するメッセージの格納を許可するように、直前設定済受信メールボックスＭＢのＩＤフィルタ設定を実施する。
【００７２】
一方、未設定メッセージが「送信用」に設定されている場合には（Ｓ４１０：ＮＯ）、Ｓ４３０にて、「送信用」に設定されたメールボックスＭＢの中で最もボックス番号が大きいメールボックスＭＢ（以下、直前設定済送信メールボックスＭＢという）を、共有使用できるように設定する。さらにＳ４４０にて、直前設定済送信メールボックスＭＢに格納する前のメッセージを一時的に記憶するために制御部４のＲＡＭ４３に設けられた記憶領域（以下、共有時送信用バッファという）の記憶容量を、Ｓ２３０で選択された未設定メッセージのデータ長分増加させ、その後Ｓ２２０に移行して、上述の処理を繰り返す。
【００７３】
このように構成された電子制御装置１では、メールボックスＭＢの割り当てが行われた結果、メールボックスＭＢに割り当てられなかった受信用メッセージ（以下、未割当受信用メッセージという）が存在する場合には（Ｓ３１０：ＮＯ、Ｓ４１０：ＹＥＳ）、「受信用」に設定されたメールボックスＭＢの中で最もボックス番号が大きいメールボックスＭＢ（直前設定済受信メールボックスＭＢ）について、既に割り当てられている受信用メッセージの他に未割当受信用メッセージを格納できるように設定する（Ｓ４２０）。
【００７４】
また、メールボックスＭＢの割り当てが行われた結果、メールボックスＭＢに割り当てられなかった送信用メッセージ（以下、未割当送信用メッセージという）が存在する場合には（Ｓ３１０：ＮＯ、Ｓ４１０：ＮＯ）、「送信用」に設定されたメールボックスＭＢの中で最もボックス番号が大きいメールボックスＭＢ（以下、直前設定済送信メールボックスＭＢという）について、既に割り当てられている送信用メッセージの他に未割当送信用メッセージを格納できるように設定する（Ｓ４３０）。
【００７５】
これにより、１つのメールボックスＭＢを複数のメッセージの格納用として共有することができる。このため、正常なメールボックスＭＢの数が、メールボックス設定仕様ＭＢＳで設定されているメッセージの数より少ない場合であっても、メッセージの通信がメールボックス不足のためにできなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【００７６】
また、識別コードが格納されているメールボックスの中で最も優先度が低いＣＡＮＩＤが格納されているメールボックスＭＢ（すなわち、直前設定済受信メールボックスＭＢまたは直前設定済送信メールボックスＭＢ）を、未割当受信用メッセージまたは未割当送信用メッセージと共有してメッセージを格納するためのメールボックスＭＢとすることができる。すなわち、優先度が高いメッセージを格納するためのメールボックスＭＢが、未割当受信用メッセージまたは未割当送信用メッセージと共有してメッセージを格納するためのメールボックスＭＢとして設定されるという状況の発生を抑制することができる。このため、メールボックスＭＢの共有設定に起因した異常により重要なメッセージの通信ができなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【００７７】
以上説明した実施形態において、ＣＡＮコントローラ２において「送信用」に設定されたメールボックスＭＢは本発明における送信用第１メールボックス、ＣＡＮコントローラ２において「受信用」に設定されたメールボックスＭＢは本発明における受信用第１メールボックス、Ｓ４３０の処理は本発明における送信共有設定手段、Ｓ４２０の処理は本発明における受信共有設定手段である。
【００７８】
（第４実施形態）
以下に本発明の第４実施形態を図面とともに説明する。なお、第４実施形態では、第１実施形態と異なる部分のみを説明する。
【００７９】
第４実施形態における電子制御装置１は、電子制御装置１の構成とメールボックス設定処理が変更された点以外は第１実施形態と同じである。
図７は、第４実施形態における電子制御装置１の構成を示すブロック図である。
【００８０】
第４実施形態における電子制御装置１は、図７に示すように、ＣＡＮコントローラ６が追加された点と、ＣＡＮコントローラ６とＣＡＮトランシーバ３とがデータ入出力可能に接続された点と、ＣＡＮコントローラ６と制御部４とがデータ入出力可能に接続された点と、ＣＡＮバスＢＳ１と異なるＣＡＮバスＢＳ２がＣＡＮトランシーバ３に接続されている点以外は第１実施形態と同じである。
【００８１】
まずＣＡＮコントローラ６は、ＣＡＮコントローラ２と同様に、データ格納部６１とプロトコルコア部６２とアクセス制御部６３とを備えている。
またＣＡＮトランシーバ３は、通常時は、ＣＡＮコントローラ２とＣＡＮバスＢＳ１との間でデータを送受信する機能と、ＣＡＮコントローラ６とＣＡＮバスＢＳ２との間でデータを送受信する機能を備えるように設定されている。但し、ＣＡＮトランシーバ３は、制御部４からのメールボックス共有指令によって、ＣＡＮコントローラ６とＣＡＮバスＢＳ１との間でデータを送受信する機能を備えるように設定される。
【００８２】
図８は、第４実施形態のメールボックス設定処理を示すフローチャートである。
図８に示すように、第４実施形態のメールボックス設定処理は、Ｓ２４０の処理が変更された点と、Ｓ５１０〜Ｓ５２０の処理が追加された点以外は第１実施形態と同じである。
【００８３】
すなわち、Ｓ３１０にて、未設定メールボックスＭＢが存在しない場合には（Ｓ３１０：ＮＯ）、Ｓ５１０にて、ＣＡＮコントローラ６が未使用であるか否かを判断する。ここで、ＣＡＮコントローラ６が使用中である場合には（Ｓ５１０：ＮＯ）、メールボックス設定処理を終了する。
【００８４】
一方、ＣＡＮコントローラ６が未使用である場合には（Ｓ５１０：ＹＥＳ）、Ｓ５２０にて、ＣＡＮトランシーバ３へ上述のメールボックス共有指令を出力することによって、ＣＡＮコントローラ６とＣＡＮバスＢＳ１との間でデータを送受信可能となるようにＣＡＮトランシーバ３を設定（すなわち、ＣＡＮコントローラ６のメールボックスＭＢをＣＡＮコントローラ２側で共有使用できるように設定）し、Ｓ３２０に移行する。
【００８５】
またＳ２４０では、ボックス番号カウンタＣ１の値が０以上３１以下である場合には、ＣＡＮコントローラ２について、ボックス番号カウンタＣ１が指示するボックス番号を有するメールボックスＭＢが正常であるか否かを、ＲＡＭ４３に記憶されたビット固着検査照合結果に基づいて判断する。
【００８６】
さらにＳ２４０では、ボックス番号カウンタＣ１の値が３２以上６２以下である場合には、ＣＡＮコントローラ６について、ボックス番号カウンタＣ１の値から３２を減算した値に一致するボックス番号を有するメールボックスＭＢが正常であるか否かを、ＲＡＭ４３に記憶されたビット固着検査照合結果に基づいて判断する。例えば、ボックス番号カウンタＣ１の値が３４である場合には、ＣＡＮコントローラ６についてボックス番号が３であるメールボックスＭＢが正常であるか否かを判断する。
【００８７】
したがって、ボックス番号カウンタＣ１の値が３２以上６２以下である場合には、Ｓ２５０〜Ｓ３００の処理により、ＣＡＮコントローラ６のメールボックスＭＢについてレジスタ設定等が実施される。
【００８８】
これにより、ＣＡＮコントローラ２内のメールボックスＭＢに、メールボックス設定仕様ＭＢＳに記載されている全てのメッセージを割り当てることができない場合であっても、ＣＡＮコントローラ６内のメールボックスＭＢを利用することによって、メールボックス設定仕様ＭＢＳに記載されている全メッセージをメールボックスＭＢに割り当てることができる。
【００８９】
このように構成された電子制御装置１では、メールボックスＭＢの割り当てが行われた結果、メールボックスＭＢに割り当てられなかったメッセージ（以下、未割当メッセージという）が存在する場合には（Ｓ３１０：ＮＯ）、ＣＡＮコントローラ６が使用中であるか否かを判断し（Ｓ５１０）、ＣＡＮコントローラ６が使用中でないと判断された場合に（５１０：ＮＯ）、ＣＡＮコントローラ６のメールボックスＭＢについて、このメールボックスＭＢに未割当メッセージのＣＡＮＩＤを格納することにより、ＣＡＮＩＤが格納されたＣＡＮコントローラ６のメールボックスＭＢを未割当メッセージの格納用に割り当てる（Ｓ５２０，Ｓ３２０，Ｓ２４０〜Ｓ３００）。
【００９０】
これにより、ＣＡＮコントローラ２が送受信するメッセージを格納するためにＣＡＮコントローラ６のメールボックスＭＢを用いることができる。このため、ＣＡＮコントローラ２の正常なメールボックスＭＢの数が、メールボックス設定仕様ＭＢＳで設定されているメッセージの数より少ない場合であっても、メッセージの通信がメールボックス不足のためにできなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【００９１】
以上説明した実施形態において、ＣＡＮコントローラ６のメールボックスＭＢは本発明における第２メールボックス、ＣＡＮコントローラ６は本発明における第２送受信手段、Ｓ５１０の処理は本発明における第２送受信使用判断手段、Ｓ５２０，Ｓ３２０，Ｓ２４０〜Ｓ３００の処理は本発明における第２割当手段である。
【００９２】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記第１実施形態においては、メールボックス設定仕様ＭＢＳに記載されているメッセージについて、小さいボックス番号と対応付けられたメッセージから順にメールボックスＭＢの設定が実施されるものを示した。そこで、各メッセージについて、電子制御装置１が搭載されている車両の制御システムへの影響度を判定し、メッセージ仕様ＭＳにおいて、影響度が高いメッセージが上位に記載されるように、設計者がメッセージの定義順を変更するようにしてもよい。これにより、メールボックス設定仕様ＭＢＳにおいて、影響度が高いメッセージが、小さいボックス番号と対応付けられるようにすることができ、影響度の高いメッセージを優先的にメールボックスＭＢに割り当てることができる。
【００９３】
例えば図９に示すように、制御システムへの影響度を考慮しないで記述されたメッセージ仕様ＭＳ１１では、上位からダイアグデータ、イモビデータ、トルクデータ、車速データ、水温データの順で記載されている。一方、制御システムへの影響度が例えばダイアグデータ＜車速データ＜水温データ＜トルクデータ＜イモビデータである場合には、制御システムへの影響度を考慮して記述されたメッセージ仕様ＭＳ１２は、上位からイモビデータ、トルクデータ、水温データ、車速データ、ダイアグデータの順で記載される。
【００９４】
これにより、正常なメールボックスＭＢの数が、メールボックス設定仕様ＭＢＳで設定されているメッセージの数より少ない場合であっても、重要なメッセージの通信がメールボックスＭＢの異常のためにできなくなるという状況の発生を抑制し、通信の信頼性をさらに向上させることができる。
【符号の説明】
【００９５】
１…電子制御装置、２…ＣＡＮコントローラ、３…ＣＡＮトランシーバ、４…制御部、６…ＣＡＮコントローラ、２１…データ格納部、２２…プロトコルコア部、２３…アクセス制御部、４１…ＣＰＵ、４２…ＲＯＭ、４３…ＲＡＭ、６１…データ格納部、６２…プロトコルコア部、６３…アクセス制御部、ＭＢ…メールボックス、Ｒ１…ＣＡＮＩＤレジスタ、Ｒ２…メッセージレジスタ、Ｒ３…送受信設定レジスタ、Ｒ４…ＤＬＣレジスタ
【図１】
0005605338.tif 000002
【図２】
0005605338.tif 000003
【図３】
0005605338.tif 000004
【図４】
0005605338.tif 000005
【図５】
0005605338.tif 000006
【図６】
0005605338.tif 000007
【図７】
0005605338.tif 000008
【図８】
0005605338.tif 000009
【図９】
0005605338.tif 000010
【図１０】
0005605338.tif 000011