(57)【特許請求の範囲】
【請求項１】
少なくとも一つの他の電子制御装置（５，６）との間で、ＣＡＮプロトコルに基づくＣＡＮ通信を行う電子制御装置（１０）であって、
前記他の電子制御装置から送信される受信メッセージを格納する複数のメールボックス（３１０，３１１）を備え、
前記複数のメールボックスはそれぞれ、前記受信メッセージの受信ＣＡＮ−ＩＤを格納するＣＡＮ−ＩＤレジスタ（３１０ａ，３１１ａ）と、前記受信メッセージを格納するメッセージレジスタ（３１０ｂ，３１１ｂ）と、を有しており、
前記複数のメールボックスの中の少なくとも一つのメールボックスの前記ＣＡＮ−ＩＤレジスタが未使用状態とされている場合であって、
前記受信ＣＡＮ−ＩＤが受信対象メッセージを特定する受信対象ＣＡＮ−ＩＤと一致し、且つそれが初回の受信である場合に、
前記複数のメールボックスの中の第１メールボックスに、前記受信対象ＣＡＮ−ＩＤを割り付けると共に、対応する前記受信メッセージを格納する新規割付処理を行うものであって、
前記新規割付処理において、前記受信対象ＣＡＮ−ＩＤと併せて受信することが予定される受信予定ＣＡＮ−ＩＤが特定される場合は、
前記第１メールボックス以外の第２メールボックスに、前記受信予定ＣＡＮ−ＩＤを割り付ける予定割付処理を行う、ことを特徴とする電子制御装置。
【請求項２】
前記新規割付処理において、前記受信対象ＣＡＮ−ＩＤの送信ノードと同一の送信ノードから受信することが予定されるＣＡＮ−ＩＤを受信予定ＣＡＮ−ＩＤとして特定する、ことを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記電子制御装置の電源投入時に、前記複数のメールボックスそれぞれの前記ＣＡＮＩＤレジスタに割り付けられているＣＡＮ−ＩＤを保持することを特徴とする請求項１又は２に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも一つの他の電子制御装置との間で、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）プロトコルに基づくＣＡＮ通信を行う電子制御装置に関する。
【背景技術】
【０００２】
他の電子制御装置との間でＣＡＮ通知を行う電子制御装置として、下記特許文献１に記載のものが一例として知られている。下記特許文献１に記載されている通信装置は、複数のメールボックスを有しており、それぞれのメールボックスに格納するＣＡＮ−ＩＤが予め割り付けられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−５５５９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したようなＣＡＮ−ＩＤの割り付け態様では、例えば、送信側ノードが、第１態様ではノードＡ及びノードＢであるのに対し、別の第２態様ではノードＡ及びノードＣである場合に、一つの電子制御装置で対応しようとすれば、ノードＡ，Ｂ，Ｃの全てから送信されるＣＡＮ−ＩＤを割り付ける必要がある。このように割り付けてしまうと、第１態様の場合はノードＣに対応するＣＡＮ−ＩＤ分のメールボックスが無駄になり、第２態様の場合はノードＢに対応するＣＡＮ−ＩＤ分のメールボックスが無駄になる。
【０００５】
また、メールボックスの数は有限であるため、ＣＡＮ−ＩＤが増えていった場合に、受信するのに必要なＣＡＮ−ＩＤを割り付けるメールボックスが無くなってしまうという課題も想定される。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的は、メールボックスにＣＡＮ−ＩＤを効率良く割り付けることが可能な電子制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る電子制御装置は、少なくとも一つの他の電子制御装置（５，６）との間で、ＣＡＮプロトコルに基づくＣＡＮ通信を行う電子制御装置（１０）であって、前記他の電子制御装置から送信される受信メッセージを格納する複数のメールボックス（３１０，３１１）を備え、前記複数のメールボックスはそれぞれ、前記受信メッセージの受信ＣＡＮ−ＩＤを格納するＣＡＮ−ＩＤレジスタ（３１０ａ，３１１ａ）と、前記受信メッセージを格納するメッセージレジスタ（３１０ｂ，３１１ｂ）と、を有している。本発明に係る電子制御装置は、前記複数のメールボックスの中の少なくとも一つのメールボックスの前記ＣＡＮ−ＩＤレジスタが未使用状態とされている場合であって、前記受信ＣＡＮ−ＩＤが受信対象メッセージを特定する受信対象ＣＡＮ−ＩＤと一致し、且つそれが初回の受信である場合に、前記複数のメールボックスの中の第１メールボックスに、前記受信対象ＣＡＮ−ＩＤを割り付けると共に、対応する前記受信メッセージを格納する新規割付処理を行うように構成されている。前記新規割付処理においては、前記受信対象ＣＡＮ−ＩＤと併せて受信することが予定される受信予定ＣＡＮ−ＩＤが特定される場合は、前記第１メールボックス以外の第２メールボックスに、前記受信予定ＣＡＮ−ＩＤを割り付ける予定割付処理を行う。
【０００８】
本発明によれば、受信ＣＡＮ−ＩＤが受信対象メッセージを特定する受信対象ＣＡＮ−ＩＤと一致し、且つそれが初回の受信である場合に新規割付処理を行うので、未使用状態のメールボックスに確実に受信対象ＣＡＮ−ＩＤを割り付け、メールボックスを有効に活用することができる。
【発明の効果】
【０００９】
本発明によれば、メールボックスにＣＡＮ−ＩＤを効率良く割り付けることが可能な電子制御装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るＥＣＵ（電子制御装置）の構成を示すブロック図である。
【図２】図１に示すＣＡＮコントローラの構成を示すブロック図である。
【図３】図２に示すＣＡＮコントローラの動作を示すフローチャートである。
【図４】図２に示すＣＡＮコントローラの動作を説明するための図である。
【図５】図２に示すＣＡＮコントローラの動作を説明するための図である。
【図６】図２に示すＣＡＮコントローラの動作を示すフローチャートである。
【図７】図２に示すＣＡＮコントローラの動作を説明するための図である。
【図８】従来のＣＡＮコントローラの構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照しながら本発明の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
【００１２】
図１に示されるように、本実施形態のＥＣＵ１０（電制制御装置）は、他の電子制御装置であるノードＡ５及びノードＢ６との間で、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）プロトコルに基づくＣＡＮ通信を行うものである。ＥＣＵ１０と、ノードＡ５と、ノードＢ６とは、ＣＡＮバス４を経由して相互にメッセージを送受信可能なように構成されている。
【００１３】
ＥＣＵ１０は、ＣＡＮトランシーバ２と、ＣＡＮコントローラ３と、を備えている。ＣＡＮトランシーバ２は、ＣＡＮコントローラ３とＣＡＮバス４との間で、メッセージを送受信するものである。ＣＡＮトランシーバ２は、ＣＡＮバス４の電気的条件を満たす信号を送受信するように構成されている。ＣＡＮコントローラ３は、ＣＡＮプロトコルに従って他のＥＣＵ（ノードＡ５、ノードＢ６）との通信を制御するものである。
【００１４】
ＣＡＮコントローラ３について、図２を参照しながらより詳細に説明する。図２に示されるように、ＣＡＮコントローラ３は、データ格納部３１と、受信ＣＡＮ−ＩＤリスト３２と、を備えている。
【００１５】
データ格納部３１は、３２個のメールボックス０〜３１を有している（図２ではメールボックス０，１のみを示している）。メールボックス０＿３１０は、設定項目と、それに対応する設定値を格納することができるように構成されている。メールボックス０＿３１０には、ＣＡＮ−ＩＤレジスタ３１０ａと、メッセージレジスタ３１０ｂと、送受信設定レジスタ３１０ｃと、ＤＬＣレジスタ３１０ｄと、が設けられている。
【００１６】
ＣＡＮ−ＩＤレジスタ３１０ａは、メッセージの種類及び優先度を表す識別コードであるＣＡＮ−ＩＤを格納する領域である。メッセージレジスタ３１０ｂは、フレームに載せて送信するメッセージ又は受信フレームから抽出したメッセージを格納する領域である。送受信設定レジスタ３１０ｃは、メールボックスの使用方法（送信／受信）を示す送受信設定情報を格納する領域である。ＤＬＣレジスタ３１０ｄは、メッセージのデータ長を示すＤＬＣ（Ｄａｔａ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）を格納する領域である。
【００１７】
メールボックス１＿３１１も同様に、設定項目と、それに対応する設定値を格納することができるように構成されている。メールボックス１＿３１１には、ＣＡＮ−ＩＤレジスタ３１１ａと、メッセージレジスタ３１１ｂと、送受信設定レジスタ３１１ｃと、ＤＬＣレジスタ３１１ｄと、が設けられている。ＣＡＮ−ＩＤレジスタ３１１ａは、ＣＡＮ−ＩＤレジスタ３１０ａと同様であるので説明を省略する。メッセージレジスタ３１１ｂ、送受信設定レジスタ３１１ｃ、及びＤＬＣレジスタ３１１ｄも同様に、メッセージレジスタ３１０ｂ、送受信設定レジスタ３１０ｃ、及びＤＬＣレジスタ３１０ｄと同様であるので説明を省略する。また、メールボックス２以降についても同様の構成であるので、それらの説明を省略する。
【００１８】
受信ＣＡＮ−ＩＤリスト３２は、受信対象ＣＡＮ−ＩＤレジスタ３２１と、ノードレジスタ３２２と、ＤＬＣレジスタ３２３と、を備えている。受信対象ＣＡＮ−ＩＤレジスタ３２１は、このＣＡＮコントローラ３が受信するメッセージを示す識別コードであるＣＡＮ−ＩＤを格納する領域である。ノードレジスタ３２２は、受信対象ＣＡＮ−ＩＤレジスタ３２１に格納されるＣＡＮ−ＩＤに対応する送信元ノードを特定する情報を格納する領域である。ＤＬＣレジスタ３２３は、受信対象ＣＡＮ−ＩＤレジスタ３２１に格納されるＣＡＮ−ＩＤが特定するメッセージのＤＬＣを格納する領域である。
【００１９】
続いて、図３，４，５を参照しながら、ＣＡＮコントローラ３の動作について説明する。図３は、ＣＡＮコントローラ３の動作について説明するフローチャートである。図４は、最初にメッセージを受信した場合のＣＡＮコントローラ３の状態を示す図である。図５は、図４の状態の後にメッセージを受信した場合のＣＡＮコントローラ３の状態を示す図である。尚、受信ＣＡＮ−ＩＤリスト３２の受信対象ＣＡＮ−ＩＤレジスタ３２１には、ＣＡＮ−ＩＤが「０ｘ０１２３」「０ｘ０１１１」「０ｘ１２３４」であるメッセージが受信対象となるように情報が格納され、ノードレジスタ３２２及びＤＬＣレジスタ３２３には対応する情報が格納されている。初期状態では、データ格納部３１に含まれる各メールボックス０〜３１には何も情報が格納されていない状態である。
【００２０】
図４に示されるように、ノードＡ５から、ＣＡＮ−ＩＤが「０ｘ０１２３」であるメッセージを受信したものとする。図３のステップＳ１０１では、受信したＣＡＮ−ＩＤ「０ｘ０１２３」と、受信ＣＡＮ−ＩＤリスト３２に格納されている受信対象ＣＡＮ−ＩＤ「０ｘ０１２３」「０ｘ０１１１」「０ｘ１２３４」とを比較する。
【００２１】
ステップＳ１０１に続くステップＳ１０２では、ステップＳ１０１の比較の結果、該当するＣＡＮ−ＩＤが存在するか否かを判断する。該当するＣＡＮ−ＩＤが存在しなければ処理を終了し、該当するＣＡＮ−ＩＤが存在すればステップＳ１０３の処理に進む。本例では、受信したＣＡＮ−ＩＤ「０ｘ０１２３」と、受信ＣＡＮ−ＩＤリスト３２に格納されている受信対象ＣＡＮ−ＩＤ「０ｘ０１２３」とが一致するので、ステップＳ１０３の処理に進む。
【００２２】
ステップＳ１０３では、受信したＣＡＮ−ＩＤ「０ｘ０１２３」がデータ格納部３１に含まれるメールボックス０〜３１に割り当て済みか否かを判断する。割り当て済みであればステップＳ１０６の処理に進み、割り当て済みでなければステップＳ１０５の処理に進む。上述したように、初期状態では、データ格納部３１に含まれる各メールボックスには何も情報が格納されていない状態なので、ステップＳ１０５の処理に進む。
【００２３】
ステップＳ１０５では、未使用のメールボックスに、受信したＣＡＮ−ＩＤ及びＤＬＣを登録する。図４に示す例では、メールボックス０＿３１０に、ＣＡＮ−ＩＤ「０ｘ０１２３」及びＤＬＣ「８」を登録する。
【００２４】
ステップＳ１０６では、対象メールボックスに、受信したメッセージを記憶する。図４に示す例では、受信したメッセージをメッセージレジスタ３１０ｂに記憶している。尚、この後に同じＣＡＮ−ＩＤのメッセージを受信した場合は、メッセージレジスタ３１０ｂを書き換えていく。
【００２５】
続いて、図５に示されるように更にノードＡ５から、ＣＡＮ−ＩＤが「０ｘ０１１１」であるメッセージを受信した場合の処理について説明する。図３のステップＳ１０１に続くステップＳ１０２では、受信したＣＡＮ−ＩＤ「０ｘ０１１１」と、受信ＣＡＮ−ＩＤリスト３２に格納されている受信対象ＣＡＮ−ＩＤ「０ｘ０１１１」とが一致するので、ステップＳ１０３の処理に進む。
【００２６】
ステップＳ１０３では、メールボックス０＿３１０にＣＡＮ−ＩＤ「０ｘ０１２３」が割り当てられ、新たに受信したＣＡＮ−ＩＤ「０ｘ０１１１」はいずれのメールボックスにも割り当てられていないことが確認できる。従って、ステップＳ１０４の判断の結果、ステップＳ１０５の処理に進み、メールボックス１＿３１１に、ＣＡＮ−ＩＤ「０ｘ０１１１」及びＤＬＣ「８」を登録する。続くステップＳ１０６では、受信したメッセージをメッセージレジスタ３１１ｂに記憶している。
【００２７】
続いて、図６及び図７を参照しながら、ＣＡＮコントローラ３の別の動作について説明する。尚、受信ＣＡＮ−ＩＤリスト３２の受信対象ＣＡＮ−ＩＤレジスタ３２１には、ＣＡＮ−ＩＤが「０ｘ０１２３」「０ｘ０１１１」「０ｘ１２３４」であるメッセージが受信対象となるように情報が格納され、ノードレジスタ３２２及びＤＬＣレジスタ３２３には対応する情報が格納されている。初期状態では、データ格納部３１に含まれる各メールボックスには何も情報が格納されていない状態である。
【００２８】
図７に示されるように、ノードＡ５から、ＣＡＮ−ＩＤが「０ｘ０１２３」であるメッセージを受信したものとする。図６のステップＳ２０１では、受信したＣＡＮ−ＩＤ「０ｘ０１２３」と、受信ＣＡＮ−ＩＤリスト３２に格納されている受信対象ＣＡＮ−ＩＤ「０ｘ０１２３」「０ｘ０１１１」「０ｘ１２３４」とを比較する。
【００２９】
ステップＳ２０１に続くステップＳ２０２では、ステップＳ２０１の比較の結果、該当するＣＡＮ−ＩＤが存在するか否かを判断する。該当するＣＡＮ−ＩＤが存在しなければ処理を終了し、該当するＣＡＮ−ＩＤが存在すればステップＳ２０３の処理に進む。本例では、受信したＣＡＮ−ＩＤ「０ｘ０１２３」と、受信ＣＡＮ−ＩＤリスト３２に格納されている受信対象ＣＡＮ−ＩＤ「０ｘ０１２３」とが一致するので、ステップＳ２０３の処理に進む。
【００３０】
ステップＳ２０３では、受信したＣＡＮ−ＩＤ「０ｘ０１２３」がデータ格納部３１に含まれるメールボックス０〜３１に割り当て済みか否かを判断する。割り当て済みであればステップＳ２０８の処理に進み、割り当て済みでなければステップＳ２０５の処理に進む。上述したように、初期状態では、データ格納部３１に含まれる各メールボックスには何も情報が格納されていない状態なので、ステップＳ２０５の処理に進む。
【００３１】
ステップＳ２０５では、受信したＣＡＮ−ＩＤ「０ｘ０１２３」に対応するノード「Ａ」と同一のノードである受信対象ＣＡＮ−ＩＤがあるかどうかを判断する。同一ノードが受信ＣＡＮ−ＩＤリスト３２に含まれていればステップＳ２０７の処理に進み、同一ノードが受信ＣＡＮ−ＩＤリスト３２に含まれていなければステップＳ２０６の処理に進む。図７に示す例では、ノード「Ａ」に対応する受信対象ＣＡＮ−ＩＤは「０ｘ０１２３」に加えて、「０ｘ０１１１」もあるのでステップＳ２０７の処理に進む。
【００３２】
ステップＳ２０７では、未使用のメールボックスに、受信したＣＡＮ−ＩＤ及びＤＬＣを登録すると共に、同一ノードのＣＡＮ−ＩＤ及びＤＬＣを登録する。図７に示す例では、メールボックス０＿３１０に、ＣＡＮ−ＩＤ「０ｘ０１２３」及びＤＬＣ「８」を登録すると共に、メールボックス１＿３１１に、ＣＡＮ−ＩＤ「０ｘ０１１１」及びＤＬＣ「８」を登録する。
【００３３】
ステップＳ２０６では、未使用のメールボックスに、受信したＣＡＮ−ＩＤ及びＤＬＣを登録する。
【００３４】
ステップＳ２０８では、対象メールボックスに、受信したメッセージを記憶する。図７に示す例では、受信したメッセージをメッセージレジスタ３１０ｂに記憶している。従って、メールボックス０＿３１０には、ＣＡＮ−ＩＤ「０ｘ０１２３」に対応するメッセージが格納されるが、メールボックス１＿３１１には、ＣＡＮ−ＩＤ「０ｘ０１１１」が割り当てられただけの状態となっている。
【００３５】
従来は、図８に示されるような、ＣＡＮコントローラ３Ｆが用いられており、図２，４，５，７に例示するような受信ＣＡＮ−ＩＤリスト３２を有するものではなく、データ格納部３１Ｆのみを有するものであった。そのため、メールボックス０＿３１０Ｆが有するＣＡＮ−ＩＤレジスタ３１０ａＦには初期状態でＣＡＮ−ＩＤが割り付けられており、メールボックス１＿３１１Ｆ以降も同様に初期状態でＣＡＮ−ＩＤが割り付けられていた。従って、メッセージレジスタ３１０ｂＦ、送受信設定レジスタ３１０ｃＦ、ＤＬＣレジスタ３１０ｄＦに格納される情報は固定化されており、受信する可能性のあるメッセージの種別分だけメールボックスが必要であった。
【００３６】
一方、本実施形態では、複数のメールボックス０〜３１の中の少なくとも一つのメールボックスのＣＡＮ−ＩＤレジスタが未使用状態とされている場合、例えば、メールボックス０＿３１０のＣＡＮ−ＩＤレジスタ３１０ａが未使用状態とされている場合（図２に示すようなメールボックスの状態である場合）であって、受信ＣＡＮ−ＩＤが受信対象メッセージを特定する受信対象ＣＡＮ−ＩＤと一致し、且つそれが初回の受信である場合に、複数のメールボックス０〜３１の中の第１メールボックスであるメールボックス０＿３１０に、受信対象ＣＡＮ−ＩＤを割り付けると共に、対応する受信メッセージを格納する新規割付処理を行っている。そのため、予めメールボックスにＣＡＮ−ＩＤを割り付ける必要が無くなり、実際に受信したメッセージや高い確度で受信することが想定されるＣＡＮ−ＩＤを割り付けることができ、メールボックスを効率的に使うことができる。
【００３７】
また、メールボックス０＿３１０のＣＡＮ−ＩＤレジスタ３１０ａに受信対象ＣＡＮ−ＩＤが既に割り付けられている場合（図４に例示する状態）に、受信ＣＡＮ−ＩＤが、割り付け済みの受信対象ＣＡＮ−ＩＤと一致する場合は、対応する受信メッセージを格納し、受信ＣＡＮ−ＩＤが、割り付け済みの受信対象ＣＡＮ−ＩＤと一致しない場合（図５に例示する状態）は、メールボックス０＿３１０の受信対象ＣＡＮ−ＩＤを変更しない割付維持処理を行う。この場合、メールボックス１＿３１１に受信対象ＣＡＮ−ＩＤを割り付ける新規割付処理を行う。
【００３８】
このような割付処理を行うにあたって、ＥＣＵ１０の電源投入時に、メールボックス０〜３１それぞれのＣＡＮ−ＩＤレジスタ３１０ａ，３１１ａ等に割り付けられているＣＡＮ−ＩＤを保持することが一つの好ましい態様である。ＥＣＵ１０が自動車に搭載されることを想定した場合、ノードＡ５やノードＢ６の構成が変わることはその自動車が商品として流通した後は想定しにくいので、割付状態を保持することで起動処理を円滑に行うことができる。
【００３９】
一方、このような割付け処理を行うにあたって、ＥＣＵ１０の電源投入時に、メールボックス０〜３１それぞれのＣＡＮ−ＩＤレジスタ３１０ａ，３１１ａ等に割り付けられているＣＡＮ−ＩＤを初期化することも別の好ましい態様である。上述したように、ＥＣＵ１０を搭載した自動車が商品として流通した後は、ノードＡ５やノードＢ６の構成が変わることが想定しにくいものの、自動車を開発中の状況においてはノードＡ５やノードＢ６の構成が変わることが想定される。このような状況に対応するため、上述した初期化処理を行うことも好ましい態様である。
【符号の説明】
【００４０】
５：ノードＡ（電子制御装置）
６：ノードＢ（電子制御装置）
１０：ＥＣＵ（電子制御装置）
３１０，３１１：メールボックス
３１０ａ，３１１ａ：ＣＡＮ−ＩＤレジスタ
３１０ｂ，３１１ｂ：メッセージレジスタ
【図１】
0006443066.tif 000002
【図２】
0006443066.tif 000003
【図３】
0006443066.tif 000004
【図４】
0006443066.tif 000005
【図５】
0006443066.tif 000006
【図６】
0006443066.tif 000007
【図７】
0006443066.tif 000008
【図８】
0006443066.tif 000009