(57)【特許請求の範囲】
【請求項１】
受信データであるメッセージを格納するメッセージボックスを有し、前記メッセージボックスから前記メッセージを読み出す場合は前記メッセージボックスのメッセージ格納領域の先端領域から終端領域に向けて前記メッセージを検索し、検索で得られた前記メッセージから順に読み出すノードが複数接続された車載通信装置において、
前記ノードには、前記メッセージ格納領域の中で、前記先端領域を示す先端領域情報と、前記終端領域を示す終端領域情報と、前記メッセージを直前に格納した格納領域を示す格納領域情報と、前記メッセージを直前に出力した出力領域を示す出力領域情報と、を管理する状態管理手段を備え、
前記状態管理手段は、
新たに前記メッセージを書き込む書き込み領域として、前記格納領域と前記終端領域が同一の場合には、前記先端領域を指定し、前記格納領域と前記終端領域が同一でない場合には、前記格納領域の直後の領域を指定するとともに、
新たに前記メッセージを読み込む読み込み領域として、前記出力領域と前記終端領域が同一の場合には、前記先端領域を指定し、前記出力領域と前記終端領域が同一でない場合には、前記出力領域の直後の領域を指定し、
前記状態管理手段は、読み込み時間帯を定めて前記メッセージ格納領域に格納された前記メッセージの読み込みを指示しており、
前記読み込み時間帯における前記メッセージの読み込み途中に割り込み処理が発生して読み込み処理が遅延している間に、新たな前記メッセージボックスへの書き込み処理を行うことを特徴とする車載通信装置。
【請求項２】
前記状態管理手段には、指定された前記書き込み領域もしくは前記読み込み領域に対して、新たにメッセージの書き込みもしくは読み込みが行われる時に、前記格納領域情報もしくは前記出力領域情報を、その書き込み領域もしくは読み込み領域に更新する更新手段を有する請求項１に記載の車載通信装置。
【請求項３】
前記メッセージ格納領域は連続する複数の単位領域で構成され、その単位領域には、前記先端領域情報と前記終端領域情報と前記格納領域情報及び前記出力領域情報が、有又は否の単位情報として、前記メッセージと共に収納されている請求項１又は２に記載の車載通信装置。
【請求項４】
前記状態管理手段は、長文の前記メッセージの書き込みに際して、分割して書き込みを指示しており、分割された前記メッセージは前記格納領域情報と前記出力領域情報によって、正しい順序で書き込み・読み込みが行われる請求項１ないし３のいずれか１項に記載の車載通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は車載通信装置に関する。
【背景技術】
【０００２】
近年、自動車には多くの安全・快適機能が搭載され、こうした個々の制御を司るＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）を車載ネットワークで接続して連携動作させている。このような車載ネットワークの代表的なものにＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）があり、シリアル通信ネットワークとして広く採用されている（特許文献１）。このようにシリアル通信において個々のＥＣＵと連携して制御する場合には、あるＥＣＵにおける制御用アプリケーションは、別のＥＣＵからシリアル通信バスを介して制御メッセージ（データ）を受信する必要があり、受信側のＥＣＵでは、受信したメッセージをメッセージボックスと呼ばれるバッファに格納し、適宜読み出して所定のアプリケーションでメッセージを使用する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２４５７９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的に、メッセージ（受信データ）がメッセージボックスに格納される場合は、メッセージはメッセージボックスの空き領域の先端領域に格納され、メッセージボックスに格納されたメッセージを読み出す場合は、メッセージボックスの先端領域から終端領域に向けてメッセージを検索し、検索で得られたメッセージから順に読み出す。
【０００５】
この場合、メッセージボックスからメッセージを検索し読み出す最中に、新たなメッセージがメッセージボックスに格納されることがある。つまり、既に読み出したメッセージの領域（先端領域）が空き領域となり、その先端領域に新たなメッセージが格納される。その結果、送信側のＥＣＵから送信されたメッセージの送信順序と、受信側のＥＵＣでメッセージを読み出す読み出し順序との間で、順序のズレが生じる可能性がある。
【０００６】
具体的には、図９に示す状況下で、メッセージの送信順序と読み出し順序との間において順序のズレが生じる。
最初、２つのメッセージ５Ｍ、６Ｍがメッセージボックスの先端領域から順番に格納されたメッセージボックス（状態１Ａ）で、メッセージの読み出しが始まる（状態１Ｂ）。メッセージの読み出しが始まると、メッセージボックスの先端領域から終端領域に向けてメッセージを検索し、検索で得られたメッセージから順に読み出す。そのため、メッセージボックスの先端領域に格納されたメッセージ５Ｍが、最初に読み出される。その結果、メッセージボックスの先端領域が空き領域となり、次にメッセージ６Ｍが読み出す（状態１Ｃ）。
このメッセージ６Ｍの読み出しの途中で、受信側のＥＣＵにおいて割り込み処理が発生してメッセージ６Ｍの読み出しが遅延している間に新たなメッセージ７Ｍ、８Ｍがメッセージボックスに送信されると、メッセージ７Ｍ、８Ｍはメッセージボックスの空き領域の先端側から順に格納される。つまり、メッセージ６Ｍの読み出しが割り込み処理により遅延している間に、メッセージ７Ｍは先端領域に格納され、メッセージ８Ｍはメッセージ６Ｍの直後の領域に格納される（状態１Ｄ）。そして、割り込み処理が終るとメッセージ６Ｍの続きが読み出され、メッセージ６Ｍの読み出しが完了すれば直ぐに次に並んだ領域のメッセージ８Ｍの読み出しが開始される（状態１Ｅ）。メッセージ８Ｍの読み出しが完了すると次の格納領域は空き領域であるから、未読み出しのメッセージを検索して、先端領域に格納されたメッセージ７Ｍの読み出しが行われる（状態１Ｆ）。
その結果、送信側のＥＣＵから送信されたメッセージの送信順序（５Ｍ→６Ｍ→７Ｍ→８Ｍ）と、受信側のＥＵＣでメッセージを読み出す受信順序（５Ｍ→６Ｍ→８Ｍ→７Ｍ）との間で、順序のズレが生じる。
したがって、メッセージの読み出し順序が送信側の送信順序と異なる結果、ＥＣＵでの制御に支障をきたす恐れがある。それ故、メッセージの読み出し順序と送信順序が異なること前提に使用する必要があり、利便性が悪かった。
【０００７】
本発明の課題は、通信バスを経て送信されるメッセージの送信順序と送信されたメッセージを読み出す読み出し順序との間で順序のズレを防止して、通信効率のよい車載通信装置を提供することにある。
【課題を解決するための手段及び発明の効果】
【０００８】
本発明の車載通信装置は、以下の構成を有する。
受信データであるメッセージを格納するメッセージボックスを有し、メッセージボックスからメッセージを読み出す場合はメッセージボックスのメッセージ格納領域の先端領域から終端領域に向けてメッセージを検索し、検索で得られたメッセージから順に読み出すノードが複数接続された車載通信装置において、
ノードには、メッセージ格納領域の中で、先端領域を示す先端領域情報と、終端領域を示す終端領域情報と、メッセージを直前に格納した格納領域を示す格納領域情報と、メッセージを直前に出力した出力領域を示す出力領域情報と、を管理する状態管理手段を備え、
状態管理手段は、
新たにメッセージを書き込む書き込み領域として、格納領域と終端領域が同一の場合には、先端領域を指定し、格納領域と終端領域が同一でない場合には、格納領域の直後の領域を指定するとともに、
新たにメッセージを読み込む読み込み領域として、出力領域と終端領域が同一の場合には、先端領域を指定し、出力領域と終端領域が同一でない場合には、出力領域の直後の領域を指定し、
状態管理手段は、読み込み時間帯を定めてメッセージ格納領域に格納されたメッセージの読み込みを指示しており、
読み込み時間帯におけるメッセージの読み込み途中に割り込み処理が発生して読み込み処理が遅延している間に、新たなメッセージボックスへの書き込み処理を行うことを特徴とする。
【０００９】
メッセージを直前に格納した格納領域が終端領域でなければ、その格納領域の直後の領域が受信データの書き込み領域として指定される。同様に、メッセージを直前に出力した出力領域が終端領域でなければ、その出力領域の直後の領域が受信データの読み込み領域として指定される。
そのため、格納領域又は出力領域が終端領域でなければ、メッセージボックスの先端領域から終端領域に向かって順序よく受信データの書き込み及び読み込みを指定することができる。
また、メッセージを直前に格納した格納領域又はメッセージを直前に出力した出力領域が終端領域ならば、先端領域が受信データの書き込み又は読み込みと領域として指定される。よって、終端領域に受信データが格納され、又は終端領域から受信データが読み出されても、再度、先端領域を受信データの書き込み領域又は読み込み領域と指定する。そのため、再び、メッセージボックスの先端領域から終端領域に向かって順序よく受信データの書き込み及び読み込みを指定することができる。
したがって、通信バスを経て送信される受信データの送信順序のとおりに、受信データを読み出すことが可能となる。
【００１０】
また、本発明の車載通信装置は、状態管理手段には、指定された書き込み領域もしくは読み込み領域に対して、新たにメッセージの書き込みもしくは読み込みが行われる時に、格納領域情報もしくは出力領域情報を、その書き込み領域もしくは読み込み領域に更新する更新手段を有することができる。
【００１１】
指定された領域（書き込み領域）にメッセージが書き込まれた時もしくは指定された領域（読み込み領域）からメッセージが読み込まれた時に、メッセージを直前に格納した領域を示す格納領域情報もしくはメッセージを直前に出力した領域を示す出力領域情報を更新する。
つまり、新たにメッセージが書き込まれ又は読み込まれることで、直前にメッセージ格納した領域又は直前にメッセージを出力した領域が変化する。そのため、書き込み領域を示す情報に格納領域情報を、読み込み領域を示す情報に出力領域情報を更新することで、複数のメッセージが送信されても、通信バスを経て送信される送信順序のとおりに、データを読み出すことができる。
【００１２】
また、メッセージ格納領域は連続する複数の単位領域で構成され、その単位領域には、先端領域情報と終端領域情報と格納領域情報及び出力領域情報が、有又は否の単位情報として、メッセージと共に収納されていることができる。
【００１３】
単位領域毎に、その領域が先端領域、終端領域、格納領域又は出力領域に該当するか否かを判断できる、４つの情報が収納される。よって、格納領域情報又は出力領域情報を参照してメッセージの書き込み又は読み込みをする場合でも、単位領域毎に４つの情報が収納されているので、単位領域毎で情報の検索性が容易となり、メッセージの書き込み及び読み込みの速度が低下することを防止できる。
【００１４】
そして、状態管理手段は、読み込み時間帯を定めてメッセージ格納領域に格納されたメッセージの読み込みを指示しており、読み込み時間帯におけるメッセージの読み込み途中に割り込み処理が発生して読み込み処理が遅延している間に、新たなメッセージボックスへの書き込み処理を行うことができる。
【００１５】
上述したように従来の車載通信装置では、送信側から新たなたなメッセージが送信されると、受信側ではメッセージボックスの空き領域の先端側から順にメッセージを格納する。よって、メッセージを格納する受信側において、格納されたメッセージの読み込み途中に割り込み処理が発生し、メッセージの読み込み処理が遅延している間に新たなメッセージが送信されると図９に示すようにメッセージの送信順序と読み出し順序が異なる場合がある。
しかし、本発明においては、メッセージは指定された書き込み領域に書き込みをするので、割り込み処理が発生し、メッセージの読み込み処理が遅延している間に新たなメッセージが送信されても、メッセージの送信順序と読み込み順序が乱れることがない。そして、より一層、通信バスを経て送信される受信データの送信順序のとおりに、受信データを読み出すことできる。
【００１６】
更に、状態管理手段は、長文のメッセージの書き込みに際して、分割して書き込みを指示しており、分割されたメッセージは格納領域情報と出力領域情報によって、正しい順序で書き込み・読み込みが行われることができる。
【００１７】
長文のメッセージをメッセージボックスに書き込む際、分割して書き込みが指示される。
従来の車載通信装置は、メッセージの書き込み・読み込みが正しい順序で行われない可能性を考慮して、メッセージの中に、分割されるメッセージの順序を示すデータを埋め込む必要があった。更に、メッセージが正常に受信されたか否かを確認するために、受信側から送信側に受信確認メッセージを送信する必要もあり、通信が非効率で、ＥＣＵの処理負荷も大きかった。
しかし、本発明の車載通信装置は格納領域情報と出力領域情報により、正しい順序でメッセージの書き込み・読み込みができるので、メッセージの順序を示すデータを埋め込む必要が無く、通信及びＥＣＵの効率化を図ることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の車載通信装置のブロック図。
【図２】メッセージ格納領域の各単位領域に単位情報が収納された状態を示す図。
【図３】メッセージの書き込み又は読み込みの過程を示すタイムチャート。
【図４】図３のタイムチャートにおけるメッセージボックスの単位情報を示す図。
【図５】実施例の書き込み処理手順を示すフローチャート。
【図６】実施例の読み込み処理手順を示すフローチャート。
【図７】変形例の書き込み処理手順を示すフローチャート。
【図８】変形例の読み込み処理手順を示すフローチャート。
【図９】従来の通信装置のタイムチャートを示す参考図。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための形態を添付の図面を用いて説明する。
図１は本発明の車載通信装置１を示すブロック図である。図１を用い車載通信装置１の概要を説明する。
図１は、シリアル通信を行うプロトコルであるＣＡＮを利用して、通信を行うバスに接続されたデバイス（ノード）、つまり、ＣＡＮノード２のブロック図を示したものである。
ＣＡＮ通信のデータは、決められたフォーマットのメッセージとして送信側ＣＡＮノード３から送信される。受信側ＣＡＮノード２では、メッセージを受信するバッファであるメッセージボックス４に、送信側ＣＡＮノード３から送信されたメッセージを受信データとして格納し、そして、出力する。
本発明の車載通信装置１は、送信側ＣＡＮノード３から送信されたメッセージを書き込む及び読み込む順序を課題とするため、ＣＡＮノード２の説明では、ＣＡＮノード２はメッセージの受信を主として説明するが、ＣＡＮノード２はメッセージの受信だけなく、送信も可能なものである。
【００２０】
本発明の車載通信装置１は、メッセージボックス４に格納されたメッセージの状態を管理して、メッセージボックス４に格納されたメッセージの状態に応じて新たに受信したメッセージをメッセージボックス４に書き込む、又はメッセージボックス４に格納された新たなメッセージを読み込むものである。
メッセージの書き込み又は読み込みは、直前にメッセージを格納した又は出力したメッセージボックス４の領域が終端領域であるか否かに応じ、書き込み又は読み込み領域が指定される。
具体的には、直前にメッセージを格納した又は出力した領域が終端領域ならば、先端領域が書き込み又は読み込み領域と指定される。一方、終端領域以外ならば、直前にメッセージを格納した又は出力した領域における直後の領域が、書き込み又は読み込み領域と指定される。
【００２１】
メッセージを送受信するＣＡＮノード２は、具体的には、制御ＥＣＵ２ａである。制御ＥＣＵ２ａがメッセージボックスの状態を管理して、メッセージボックス４の適切な領域にメッセージを書き込み、又は、適切な領域からのメッセージの読み込みを行う。
【００２２】
この制御ＥＣＵ２ａは、通常のマイクロプロセッサと同様の構造を有する。
各種演算や情報処理を司るＣＰＵ５、ＣＰＵ５の作業領域としての一時記憶部であるＲＡＭ６、各種情報を記憶するＲＯＭ７、及び図１には図示されていないが不揮発性のメモリを備える。
ＲＯＭ７には、車両利用者による車両各部の操作に係る機能を実現する各アプリケーションが記憶される。当該アプリケーションは、ＲＡＭ６の各アプリケーションに対応したワークエリア上でＣＰＵ５により実行される。
そして、制御ＥＣＵ２ａは、通信バス８を介して他の複数のＥＣＵと接続され、他のＥＣＵが送信するメッセージや、必要に応じて外部からの入力信号等を参照し、各アプリケーションを実行し、制御対象機器の動作制御を司る。
【００２３】
制御ＥＣＵ２ａは、具体的には、図１に示すように、送信側ＥＣＵ３ａが送信するメッセージを格納するメッセージボックス４と、メッセージボックス４の状態を管理する状態管理手段９とを有する。制御ＥＣＵ２ａは、状態管理手段９を用いて、自身の制御処理に関するメッセージをメッセージボックス４の適切な領域に書き込み又は適切な領域から読み込み、所定の制御処理を実行する。
【００２４】
メッセージボックス４は、送信側ＥＣＵ３ａからシリアル通信バス８を経て送信されるメッセージ（受信データ）を格納するバッファである。送信されるメッセージを格納するため、メッセージボックス４はメッセージ格納領域４ａを有する。メッセージ格納領域４ａは、連続する複数の単位領域４ｂで構成され、その単位領域４ｂには、メッセージと共に単位情報が収納される。単位情報とは、ある情報が存在するか否か（有又は否）を示す情報である。具体的には、所定の単位領域４ｂにおいて、先端領域情報、終端領域情報、格納領域情報、又は出力領域情報が存在するか否かの有無を示すものである。
ここで、先端領域情報とは、メッセージボックス４のメッセージ格納領域４ａの中で先端領域を示す情報である。終端領域情報とは、メッセージボックス４のメッセージ格納領域４ａの中で終端領域を示す情報である。格納領域情報とは、メッセージボックス４のメッセージ格納領域４ａの中で、メッセージを直前に格納した格納領域を示す情報である。出力領域情報とは、メッセージボックス４のメッセージ格納領域４ａの中で、メッセージを直前に出力した出力領域を示す情報である。
なお、「メッセージを直前に格納した格納領域」とは、ある時点を基準に最新のメッセージが格納されたメッセージボックス４の領域を意味する。また、「メッセージを直前に出力した領域」とは、ある時点を基準にメッセージボックス４から出力された最新のメッセージが格納されていた領域を意味する。
【００２５】
図２は、これらの先端領域情報、終端領域情報、格納領域情報又は出力領域情報がメッセージ格納領域４ａの連続する単位領域４ｂに存在するか否かを示す図である。具体的には、連続する４つの単位領域４ｂを有するメッセージ格納領域４ａにおいて、単位領域毎に、その領域が先端領域、終端領域、格納領域、出力領域に該当するか否かを示した図である。図中で「１」を格納する箇所は、所定の情報が有ること（有）を示し、「０」を格納する箇所は、所定の情報がないこと（否）を示す。なお、図２は、４つの単位領域４ｂからメッセージ格納領域４ａが構成されるが、メッセージ格納領域４ａは、各ＥＣＵの仕様に合わせて任意の数の単位領域を採用できる。
【００２６】
単位領域４ｂに単位情報と共に収納されるメッセージは、状態管理手段９により管理される。状態管理手段９は、先端領域情報、終端領域情報、格納領域情報及び出力領域情報を管理することで、メッセージを書き込み又は読み込みに関連する処理を行う。具体的には、状態管理手段９は、メッセージボックス４に新たにメッセージを書き込む書き込み領域と新たにメッセージを読み込む読み込み領域を指定する。より具体的には、メッセージを直前に格納した格納領域と終端領域が同一の場合には、先端領域を書き込み領域として指定し、格納領域と終端領域が同一でない場合には、格納領域の直後の領域を書き込み領域として指定する。また、メッセージを直前に出力した出力領域と終端領域が同一の場合には、先端領域を読み込み領域として指定し、出力領域と終端領域が同一でない場合には、出力領域の直後の領域を読み込み領域として指定する。そして、状態管理手段９は、指定した書き込み領域にメッセージを書き込む、書き込む指示、又は指定した読み込み領域からメッセージを読み込む、読み込み指示を行う。
【００２７】
状態管理手段９が行うメッセージの読み込み指示は、メッセージの読み込みを行う読み込み時間帯を定めて指示する。一方、メッセージの書き込み指示は、メッセージが送信される毎に随時行う随時書き込み指示である。
また、読み込み指示によるメッセージの読み込み処理は、処理が遅延する場合がある。具体的には、読み込み時間帯におけるメッセージの読み込みの途中において、受信側の制御ＥＣＵ２ａで割り込み処理が発生すると処理が遅延する。そのため、割り込み処理により読み込み処理が遅延している間に、新たなメッセージが送信されると、随時書き込み処理により新たなメッセージがメッセージボックスへ書き込まれる。
なお、メッセージには長文のメッセージもある。メッセージボックスの１つの単位領域４ｂではメッセージ全体が収納しきれない長文のメッセージについては、状態管理手段９は、メッセージの書き込みに際し、分割して書き込むことを指示する。そして、分割して書き込まれたメッセージは、それぞれ、読み込み処理により読み込まれる。
【００２８】
また、状態管理手段９は図１に示す更新手段１０を有することで、メッセージを書き込む書き込み領域及びメッセージを読み込む読み込み領域を更新する。詳細には、更新手段１０は、状態管理手段９により指定された書き込み領域もしくは読み込み領域に対し、新たにメッセージの書き込みもしくは読み込みが行われる時に、格納領域情報もしくは出力領域情報を、その書き込み領域もしくは読み込み領域に更新する。
つまり、「メッセージを直前に格納した格納領域」＝「終端領域」の場合は、先端領域を示す情報に格納領域情報を更新し、「メッセージを直前に格納した格納領域」≠「終端領域」の場合は、メッセージを直前に格納した領域の直後の領域を示す情報に格納領域情報を更新する。また、「メッセージを直前に出力した出力領域」＝「終端領域」の場合は、先端領域を示す情報に出力領域情報を更新し、「メッセージを直前に出力した出力領域」≠「終端領域」の場合は、メッセージを直前に出力した領域の直後の領域を示す情報に出力領域情報を更新する。
【００２９】
一方、送信側の制御ＥＣＵ３ａから送信されるメッセージの中には、別の制御ＥＣＵに向けて送信されるメッセージもあり、受信側の制御ＥＣＵ２ａは、自身に必要なメッセージのみを抽出する必要がある。そのため、状態管理手段９は、自身に必要なメッセージだけを抽出するフィルタ機能又はマスク機能を有する。フィルタ機能は、フィルタとして設定されている値（フィルタ値１１）とメッセージに含まれるＩＤ値が完全に一致するメッセージのみを抽出してメッセージボックス４に格納する機能である。マスク機能は、メッセージに含まれるＩＤ値の一部のビットをマスキング（マスクしたビットに対応する値は何でもよいとする）し、マスキングされた以外のＩＤ値とフィルタとして設定されている値（フィルタ値１１）が一致するメッセージのみを抽出してメッセージボックス４に格納する機能である。
図１における状態管理手段９は、メッセージボックス４の全体に対して、フィルタ値１１が設定される。そのため、送信されたメッセージのＩＤ値が、フィルタ値１１と一致又は一部と一致したメッセージのみが、メッセージボックス４に格納され、出力される。
【００３０】
以上の構成により、送信側の制御ＥＣＵ３ａから送信されるメッセージの送信順序と送信されたメッセージの読み出す読み出し順序との間で順序の乱れを防止する制御を実行する。その処理手順の概念的なタイムチャートが図３に示される。
【００３１】
図３を用いてメッセージの送信順序と読み出し順序との間の乱れを防止する処理を説明する。
最初に、送信側の制御ＥＣＵ３ａから通信バス８を介してメッセージ０Ｍ、１Ｍが制御ＥＣＵ２ａに送信され、メッセージボックス４に格納される。
メッセージボックス４のメッセージ格納領域４ａにメッセージが格納されていない場合、メッセージはメッセージボックス４の先端領域（０）に格納される。よって、メッセージ０Ｍは先端領域（０）に格納される。
このとき、最初の状態ではメッセージボックス４には何もメッセージが格納されておらず、格納領域情報に関する単位情報は全ての単位領域４ｂで全部「０」（否）であるから、メッセージボックス４の先端領域（０）にメッセージ０Ｍが格納され、次にメッセージ１Ｍは先にメッセージ０Ｍが格納された領域の次の領域（１）に格納され、格納した領域（１）の格納領域の単位情報を「１」（有）とする（状態０）。
【００３２】
メッセージ０Ｍが格納されるまでは、メッセージボックス４には何もメッセージが格納されていないため、全ての単位領域４ｂにおいて出力領域情報に関する単位情報も全部「０」である。そのため、書き込まれたメッセージの読み込み時間帯になると、出力領域情報に関する単位情報も全部「０」であるから、最初の読み込みが行われる。つまり、メッセージボックスの先端領域（０）のメッセージ０Ｍの読み込みが行われる（状態１）。
【００３３】
このメッセージ０Ｍの読み込みが終ると、格納されていたメッセージ０Ｍをクリアする（状態２）。そして、次の領域（１）に格納されたメッセージ１Ｍの読み込みが開始される。
このメッセージ１Ｍの読み込みの途中に受信側の制御ＥＣＵ２ａで割り込み処理が発生してメッセージ１Ｍの読み込み処理が遅延する。そして、メッセージ１Ｍの読み込み処理が遅延している間に、新たなメッセージ２Ｍ、３Ｍが、送信側の制御ＥＣＵ３ａから通信バス８を介して受信側の制御ＥＣＵ２ａに送信され、随時時書き込み処理によりメッセージ２Ｍ、３Ｍの書き込みがされる。
送信されたメッセージ２Ｍは、格納領域の単位情報「１」となっている次の領域（２）に格納されており（状態２−１）、次のメッセージ３Ｍは、先にメッセージ２Ｍが格納された領域（２）の次の領域（３）に格納され、格納した領域（３）の格納領域の単位情報だけが「１」となり（状態２−２）、次の書き込み領域として先端領域（０）が指定される。
割り込み処理が終ると、再びメッセージ１Ｍの読み込みが行われ、メッセージ１Ｍの読み込みが終ると、格納されていたメッセージ１Ｍをクリアする（状態３）。そして、次の領域（２）に新しく格納されたメッセージ２Ｍの読み込みが開始される。
メッセージ２Ｍの読み込みが終了すると（状態４）、最後に格納されたメッセージ３Ｍが読み込まれ、格納されたメッセージ３Ｍをクリアすると、次の読み込み領域として先端領域（０）が指定される。そして、この領域（０）のメッセージボックス４にはメッセージが書き込まれていないから、メッセージの読み込み処理を終了する。そのため、領域（３）の格納領域及び出力領域に関する単位情報のみが「１」となる（他の領域の格納領域及び出力領域に関する単位情報は「０」である）。
【００３４】
以上のとおり、メッセージボックス４の先端領域から終端領域に向けてメッセージが書き込まれ又メッセージボックス４の先端領域から終端領域に向けてメッセージが読み込まれる。そして、メッセージが終端領域まで書き込まれた場合には、再度、先端領域からメッセージが書き込まれる。同様に、メッセージが先端領域から終端領域まで読み込まれた場合には、再度、先端領域からメッセージが読み込まれる。
したがって、送信側の制御ＥＣＵ３ａから送信されたメッセージの送信順序と同様の順序で受信側の制御ＥＣＵ２ａは、メッセージを読み込むことができる。
【００３５】
図４は、図３のタイムチャートにおける（状態０）ないし（状態４）におけるメッセージボックス４の単位情報４ｂを示す図である。
各状態において、メッセージボックス４の単位領域４ｂが「先端領域」、「終端領域」、「格納領域」、「出力領域」に該当する場合は「１」、メッセージボックス４の単位領域４ｂがそれぞれの領域に該当しない場合は「０」としている。
具体的には、（状態１）では、先端識別情報は、領域（０）が「１」となり、領域（１）から領域（３）は「０」である。終端識別情報は、領域（０）から領域（２）が「０」となり、領域（３）が「１」である。先端識別情報及び終端識別情報は、メッセージボックス４の先端領域及び終端領域を示すものであるため、他の状態でも先端識別情報及び終端識別情報に関する単位情報は同じとなる。
また、（状態１）では、格納領域情報は領域（０）、領域（２）及び領域（３）が「０」となり、領域（１）が「１」となる。また、出力領域情報は、領域（０）が「１」となり、領域（１）から領域（３）が「０」となる。
【００３６】
（状態１）の格納領域情報は、新たにメッセージがメッセージボックス４に書き込まれるに従って、格納領域情報であることを示す「１」が、メッセージボックス４の終端領域に向けて移動するように、更新される。また、出力領域情報であることを示す「１」も、新たにメッセージがメッセージボックス４から読み込まれるに従って、同様にメッセージボックス４の終端領域に向けて移動するように、更新される。
【００３７】
より詳細には、車載通信装置１の制御処理手順を示す、図５のフローチャートに開示される。図５のフローチャートは、具体的には、メッセージを直前に格納した格納領域を示す格納領域情報が更新される処理手順を示したものである。つまり、新たなメッセージが書き込まれる毎に、格納領域情報は、該格納領域情報が示す領域の直ぐ次に並んだ領域を示す情報に更新される処理手順を示したものである。ただし、当該格納領域情報が示す領域が終端領域である場合は、格納領域情報は先端領域を示す情報に更新される。
【００３８】
以下のＳ１ないしＳ１０の処理により、送信側の制御ＥＣＵ３ａから送信されるメッセージをメッセージボックス４に所定の順序で書き込みを行う。
前提として、メッセージボックス４のメッセージ格納領域４ａは、領域（０）を先端領域とし、領域（３）を終端領域とする連続する領域（０）、（１）、（２）及び（３）の単位領域４ｂを有するとして、以下、説明をする。以下の説明で、領域（Ｎ）とは、メッセージ格納領域４ａにおける任意の単位領域４ｂを示し、Ｎは０ないし３の数を示す。メッセージボックス４は予めメッセージが格納されておらず、単位領域４ｂにおける格納領域情報に関する単位情報は全部「０」（否）であるから、先端領域の領域（０）からメッセージを書き込むとして以下、説明する。なお、メッセージボックス４のメッセージ格納領域４ａは、これに限られることなく、制御ＥＣＵの仕様に合わせて適宜設定することができる。
先ず、Ｓ１において、制御ＥＣＵ２ａは、他の制御ＥＣＵ３ａから送信されたメッセージのＩＤ値がフィルタ値１１と一致（又は一部が一致）するか否かを判定する。メッセージボックス４のフィルタ値１１と送信されたメッセージのＩＤ値が一致する場合（Ｓ１：ＹＥＳ）は、Ｓ２に進み、フィルタ値１１とメッセージのＩＤ値が不一致の場合（Ｓ１：ＮＯ）は、メッセージをメッセージボックス４に格納しないため、制御を終了する。
【００３９】
Ｓ２に進むと、制御ＥＣＵ２ａは、メッセージ格納領域４ａの領域（Ｎ）に、他の制御ＥＣＵ３ａが送信されたメッセージを格納して、Ｓ３に進む。具体的には、メッセージ格納領域４ａの領域（０）にメッセージを格納してＳ３に進む。
Ｓ３に進むと、メッセージ格納領域４ａの領域（Ｎ）が終端領域であるか否かを判定する。領域（Ｎ）が終端領域（領域（３））である場合（Ｓ３：ＹＥＳ）には、Ｓ４に進み、領域（Ｎ）が終端領域でない場合（Ｓ３：ＮＯ）には、Ｓ９に進む。具体的には、メッセージ格納領域４ａの領域（０）は終端領域（３）でないため、Ｓ９に進む。
【００４０】
Ｓ９に進むと、更新手段１０は、単位領域４ｂの領域（Ｎ−１）において、格納領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの領域（Ｎ）において、格納領域情報に関する単位情報を「０」から「１」に更新する。つまり、新たなメッセージが書き込まれる毎に、格納領域情報は、該格納領域情報が示す領域の直ぐ次に並んだ領域を示す情報に更新する。そして、Ｓ１０に進む。ただし、Ｓ２でデータを書き込んだ領域が領域（Ｎ＝０）の場合には、領域（−１）は存在しないため、更新手段１０は、単位領域４ｂの領域（Ｎ）のみを格納領域情報に関する単位情報を「０」から「１」に更新する。具体的には、更新手段１０は、単位領域４ｂの領域（０）において、格納領域情報に関する単位情報を「０」から「１」に更新する。そして、Ｓ１０に進む。
【００４１】
Ｓ１０に進むと、メッセージ格納領域４ａの単位領域４ｂの位置を示す変数Ｎをインクリメント（変数ＮをＮ＋１に設定）して制御を終了する。具体的には、Ｎを１に設定して制御を終了する。そのため、次に送信側の制御ＥＣＵ３ａから新たなメッセージが送信されると、Ｓ１〜Ｓ３、Ｓ９及びＳ１０の処理を変数Ｎ（＝１）として行う。つまり、領域（１）にデータの書き込みを行う。そして、変数Ｎが３になるまで同一の処理を繰り返す。変数Ｎが３の場合に、Ｓ３において、領域（３）が終端領域（３）と同一であるので、Ｓ４に進む。
【００４２】
Ｓ４に進むと、更新手段１０は、単位領域４ｂの領域（Ｎ−１）において、格納領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの領域（Ｎ）において、格納領域情報に関する単位情報を「０」から「１」に更新する。つまり、終端領域に新たなメッセージが書き込まれることで、格納領域情報は、終端領域を示す情報に更新する。具体的には、更新手段１０は、単位領域４ｂの領域（２）において、格納領域情報に関する単位情報を「１」から「０」に更新する。また、更新手段１０は、単位領域４ｂの領域（３）において、格納領域情報に関する単位情報を「０」から「１」に更新する。そして、Ｓ５に進む。
【００４３】
Ｓ５に進むと、送信側の制御ＥＣＵ３ａから新たなメッセージが送信された場合に、制御ＥＣＵ２ａは、送信されたメッセージのＩＤ値がフィルタ値１１と一致（又は一部が一致）するか否かを判定する。メッセージボックス４のフィルタ値１１と送信されたメッセージのＩＤ値が一致する場合（Ｓ５：ＹＥＳ）は、Ｓ６に進み、フィルタ値１１とメッセージのＩＤ値が不一致の場合（Ｓ５：ＮＯ）は、Ｓ５に戻り、送信側の制御ＥＣＵ３ａから新たな別のメッセージが送信されるのを待ち、別のメッセージのＩＤ値が一致するか否かを判定する。
【００４４】
Ｓ６に進むと、制御ＥＣＵ２ａは、メッセージ格納領域４ａの先端領域に他の制御ＥＣＵ３ａが送信されたメッセージを格納して、Ｓ７に進む。具体的には、メッセージ格納領域４ａの領域（０）にメッセージを格納してＳ７に進む。
【００４５】
Ｓ７に進むと、更新手段１０は、単位領域４ｂの終端領域において、格納領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの先端領域において、格納領域情報に関する単位情報を「０」から「１」に更新する。つまり、格納領域情報が示す領域が終端領域であるので、格納領域情報を、先端領域を示す情報に更新する。具体的には、終端領域である領域（Ｎ＝３）において、格納領域情報に関する単位情報を「１」から「０」に更新する。また、先端領域である領域（Ｎ＝０）において、格納領域情報に関する単位情報を「０」から「１」に更新する。そして、Ｓ８に進む。
Ｓ８に進むと、メッセージ格納領域４ａの単位領域４ｂの位置を示す変数Ｎを１に設定して制御を終了する。
【００４６】
以上の構成のもとで、送信側の制御ＥＣＵ３ａから送信されるメッセージをメッセージボックス４に所定の順序で書き込みを行う。
一方、図６のフローチャートは、メッセージを直前に出力した出力領域を示す出力領域情報が更新される処理手順を示したものである。つまり、新たなメッセージが読み込まれる毎に、出力領域情報は、該出力領域情報が示す領域の直ぐ次に並んだ領域を示す情報に更新される処理手順を示したものである。ただし、当該出力領域情報が示す領域が終端領域である場合は、出力領域情報は先端領域を示す情報に更新される。
【００４７】
具体的には、メッセージボックス４に書き込まれたメッセージは、状態管理手段９により定められた読み込み時間帯になると、読み込みがされる。ここで、書き込み処理が行われるまでは、メッセージボックス４には何もメッセージが格納されていないため、全ての単位領域４ｂにおいて出力領域情報に関する単位情報も全部「０」である。そのため、書き込まれたメッセージの読み込み時間帯になると、出力領域情報に関する単位情報は全部「０」であるから、最初の読み込みが行われる。つまり、メッセージボックスの先端領域（０）からメッセージが読み込まれる。
そして、メッセージの書き込み処理と同様の処理を行う。詳細には、以下のＳ１１ないしＳ１８の処理により、メッセージボックス４に書き込まれたメッセージを所定の順序で読み込みを行う。
前提として、メッセージボックス４のメッセージ格納領域４ａは、領域（０）を先端領域とし、領域（３）を終端領域とする連続する領域（０）、（１）、（２）及び（３）の単位領域４ｂを有するとして、以下、説明をする。以下の説明で、領域（Ｍ）とは、メッセージ格納領域４ａにおける任意の単位領域４ｂを示し、Ｍは０ないし３の数を示す。
【００４８】
先ず、Ｓ１１において、制御ＥＣＵ２ａは、メッセージボックス４のメッセージ格納領域４ａの領域（Ｍ）からメッセージを読み込んで、Ｓ１２に進む。具体的には、領域（０）からメッセージを読み込んで、Ｓ１２に進む。
Ｓ１２に進むと、メッセージ格納領域４ａの領域（Ｍ）が終端領域であるか否かを判定する。領域（Ｍ）が終端領域である場合（Ｓ１２：ＹＥＳ）には、Ｓ１３に進み、領域（Ｍ）が終端領域でない場合（Ｓ１２：ＮＯ）には、Ｓ１７に進む。具体的には、領域（０）は終端領域（３）でないため、Ｓ１７に進む。
【００４９】
Ｓ１７に進むと、更新手段１０は、単位領域４ｂの領域（Ｍ−１）において、出力領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの領域（Ｍ）において、出力領域情報に関する単位情報を「０」から「１」に更新する。つまり、新たなメッセージが読み込まれる毎に、出力領域情報は、該出力領域情報が示す領域の直ぐ次に並んだ領域を示す情報に更新する。そして、Ｓ１８に進む。ただし、Ｓ１１でデータを読み込んだ領域が領域（Ｍ＝０）の場合には、領域（−１）は存在しないため、更新手段は、単位領域４ｂの領域（Ｍ）のみを出力領域情報に関する単位情報を「０」から「１」に更新する。具体的には、更新手段１０は、単位領域４ｂの領域（０）において、出力領域情報に関する単位情報を「０」から「１」に更新する。そして、Ｓ１８に進む。
【００５０】
Ｓ１８に進むと、メッセージ格納領域４ａの単位領域４ｂの位置を示す変数Ｎをインクリメント（変数ＭにＭ＋１を設定）して制御を終了する。具体的には、Ｍを１に設定して制御を終了する。そのため、メッセージを読み込んだ直ぐ次の領域にメッセージが格納されている場合には、Ｓ１１及びＳ１２、Ｓ１７及びＳ１８の処理を繰り返す。そして、変数Ｍが３の場合に、Ｓ１２において、領域（３）が終端領域（３）と同一であるので、Ｓ１３に進む。
【００５１】
Ｓ１３に進むと、更新手段１０は、単位領域４ｂの領域（Ｍ−１）において、出力領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの領域（Ｍ）において、出力領域情報に関する単位情報を「０」から「１」に更新する。つまり、終端領域から新たなメッセージが読み込まれることで、出力領域情報は、終端領域を示す情報に更新する。具体的には、更新手段１０は、単位領域４ｂの領域（２）において、出力領域情報に関する単位情報を「１」から「０」に更新する。また、更新手段１０は、単位領域４ｂの領域（３）において、出力領域情報に関する単位情報を「０」から「１」に更新する。そして、Ｓ１４に進む。
【００５２】
Ｓ１４に進むと、メッセージボックス４の先端領域（０）に新たなメッセージが格納されている場合には、制御ＥＣＵ２ａは、メッセージ格納領域４ａの先端領域から新たなメッセージを読み込んで、Ｓ１５に進む。具体的には、メッセージ格納領域４ａの領域（０）からメッセージを読み込んで、Ｓ１４に進む。なお、新たなメッセージが格納されていない場合には、新たなメッセージが格納されるのを待ち、格納された新たなメッセージを読み込んで、Ｓ１５に進む。
【００５３】
Ｓ１５に進むと、更新手段１０は、単位領域４ｂの終端領域において、出力領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの先端領域において、出力領域情報に関する単位情報を「０」から「１」に更新する。つまり、出力領域情報が示す領域が終端領域であるので、出力領域情報を、先端領域を示す情報に更新する。具体的には、終端領域である領域（Ｍ＝３）において、出力領域情報に関する単位情報を「１」から「０」に更新する。また、先端領域である領域（Ｍ＝０）において、出力領域情報に関する単位情報を「０」から「１」に更新する。そして、Ｓ１６に進む。
Ｓ１６に進むと、メッセージ格納領域４ａの単位領域４ｂの位置を示す変数Ｍを１に設定して制御を終了する。
【００５４】
以上により、車載通信装置１は、通信バス８を経て送信されるメッセージの送信順序と送信されたメッセージを読み込む順序との間で順序のズレを防止して、通信効率のよい制御処理を実行する。
本実施例では、再度、書き込み又は読み込み処理をする場合には、各単位領域４ｂにおける格納領域情報又は出力領域情報に関する単位情報の「１」の領域を検索することで、検索された領域の直後の領域が書き込み領域又は読み込み領域となる（ただし、検索された領域が終端領域の場合には、先端領域が書き込み領域又は読み込み領域となる）。
つまり、送信側制御ＥＣＵ３ａからメッセージが送信されることで、再度、書き込み処理がされる場合、又は、読み込み時間帯の終了後、再度、読み込み処理をする場合は、格納領域情報及び出力領域情報に関する単位情報で「１」の領域を検索することで、容易に書き込み領域及び読み込み領域を指定でき、検索性に優れる。
なお、本実施例では、メッセージをメッセージ０Ｍないし３Ｍとして説明した。しかし、メッセージが長文であり、メッセージの書き込みに際して、メッセージを０Ｍ、１Ｍ、２Ｍ及び３Ｍに分割して書き込みを指示した場合においても、同様の処理となる。この場合には、従来のように、メッセージが正常に受信されたか否かを確認するために、受信側から送信側に受信確認メッセージを送信する必要もなく、通信が効率的で、ＥＣＵの処理負荷を低下することができる。
【００５５】
次に、本発明の車載通信装置１の変形例を説明する。実施例と同様の構成は、実施例と同様の符号を付して、実施例の説明を流用して説明を省略する。図７及び図８は、変形例の処理手順を示すフローチャートであり、図７及び図８を用いて変形例を説明する。
図５に示す実施例の書き込み処理のフローチャートでは、Ｓ４、Ｓ７及びＳ９で格納領域情報に関する単位情報を更新するものである。
しかし、変形例の図７では、Ｓ４、Ｓ７及びＳ９において、格納領域情報に関する単位情報を更新した後に、メッセージの読み込み処理が終了したか否かを判定するものである。
また、図６に示す実施例の読み込み処理のフローチャートでは、Ｓ１３、Ｓ１５及びＳ１７で出力領域情報に関する単位情報を更新するものである。
しかし、変形例の図８では、Ｓ１３、Ｓ１５及びＳ１７において、出力領域情報に関する単位情報を更新した後に、メッセージの読み込んだ直後の領域が空き領域であるか否かを判定するものである。
【００５６】
次に、変形例において、送信側の制御ＥＣＵ３ａから送信されるメッセージをメッセージボックス４に所定の順序で書き込み処理手順を図７のフローチャートから説明する。図７は、図５の実施例のフローチャートにおけるＳ４の後にＳ１００、Ｓ７の後にＳ１０１、Ｓ９の後にＳ１０２を追加したフローチャートである。よって、Ｓ１００ないしＳ１０２（Ｓ５も一部変更あり）以外の処理は、図５におけるフローチャートの処理と同様である。
【００５７】
図７におけるＳ４において、更新手段１０は、単位領域４ｂの領域（Ｎ−１）において、格納領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの領域（Ｎ）において、格納領域情報に関する単位情報を「０」から「１」に更新する。つまり、終端領域に新たなメッセージが書き込まれることで、格納領域情報は、終端領域を示す情報に更新する。そして、Ｓ１００に進む。
【００５８】
Ｓ１００に進むと、メッセージの読み込み処理が終っているか否かを判定する。読み込み時間帯の終了により、読み込み処理が終了している場合（Ｓ１００：ＹＥＳ）には、更新手段１０は、単位領域４ｂの領域（Ｎ）において、格納領域情報に関する単位情報を「１」から「０」に更新して、制御を終える。読み込み処理が終了していない場合（Ｓ１００：ＮＯ）には、Ｓ５に進む。
【００５９】
Ｓ５に進むと、送信側の制御ＥＣＵ３ａから新たなメッセージが送信された場合に、制御ＥＣＵ２ａは、送信されたメッセージのＩＤ値がフィルタ値１１と一致（又は一部が一致）するか否かを判定する。メッセージボックス４のフィルタ値１１と送信されたメッセージのＩＤ値が一致する場合（Ｓ５：ＹＥＳ）は、Ｓ６に進み、フィルタ値１１とメッセージのＩＤ値が不一致の場合（Ｓ５：ＮＯ）は、Ｓ１００に戻る。
【００６０】
また、図７におけるＳ７において、更新手段１０は、単位領域４ｂの終端領域において、格納領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの先端領域において、格納領域情報に関する単位情報を「０」から「１」に更新する。つまり、格納領域情報が示す領域が終端領域であるので、格納領域情報を、先端領域を示す情報に更新する。具体的には、終端領域である領域（Ｎ＝３）において、格納領域情報に関する単位情報を「１」から「０」に更新する。また、先端領域である領域（Ｎ＝０）において、格納領域情報に関する単位情報を「０」から「１」に更新する。そして、Ｓ１０１に進む。
【００６１】
Ｓ１０１に進むと、メッセージの読み込み処理が終っているか否かを判定する。読み込み時間帯の終了により、読み込み処理が終了している場合（Ｓ１０１：ＹＥＳ）には、更新手段１０は、先端領域において、格納領域情報に関する単位情報を「１」から「０」に更新して、制御を終える。読み込み処理が終了していない場合（Ｓ１０１：ＮＯ）には、Ｓ８に進む。
【００６２】
また、図７におけるＳ９において、更新手段１０は、単位領域４ｂの領域（Ｎ−１）において、格納領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの領域（Ｎ）において、格納領域情報に関する単位情報を「０」から「１」に更新する。つまり、新たなメッセージが書き込まれる毎に、格納領域情報は、該格納領域情報が示す領域の直ぐ次に並んだ領域を示す情報に更新する。そして、Ｓ１０２に進む。
【００６３】
Ｓ１０２に進むと、メッセージの読み込み処理が終っているか否かを判定する。読み込み時間帯の終了により、読み込み処理が終了している場合（Ｓ１０２：ＹＥＳ）には、更新手段１０は、単位領域４ｂの領域（Ｎ）において、格納領域情報に関する単位情報を「１」から「０」に更新して、制御を終える。読み込み処理が終了していない場合（Ｓ１０２：ＮＯ）には、Ｓ１０に進む。
【００６４】
以上より、読み込み処理が終了した場合には、メッセージ格納領域４ａにおける全ての単位領域４ｂにおいて、格納領域情報に関する単位情報は、全部「０」にクリアされる。そのため、次に、メッセージを格納する場合には、メッセージボックス４の先端領域からメッセージを格納する。
【００６５】
同様にメッセージボックス４にから所定の順序でメッセージを読み込み処理手順を図８のフローチャートから説明する。図８は、図６の実施例のフローチャートにおけるＳ１３の後にＳ２００、Ｓ１５の後にＳ２０１、Ｓ１７の後にＳ２０２を追加したフローチャートである。よって、Ｓ２００ないしＳ２０２以外の処理は、図６におけるフローチャートの処理と同様である。
【００６６】
図８におけるＳ１３において、更新手段１０は、単位領域４ｂの領域（Ｍ−１）において、出力領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの領域（Ｍ）において、出力領域情報に関する単位情報を「０」から「１」に更新する。つまり、終端領域から新たなメッセージが読み込まれることで、出力領域情報は、終端領域を示す情報に更新する。そして、Ｓ２００に進む。
【００６７】
Ｓ２００に進むと、先端領域が空き領域であるか否かを判定する。先端領域が空き領域の場合（Ｓ２００：ＹＥＳ）には、更新手段１０は、終端領域において、出力領域情報に関する単位情報を「１」から「０」に更新して、読み込み時間帯を終了して制御を終える。先端領域が空き領域でない場合（Ｓ２００：ＮＯ）には、Ｓ１４に進む。
【００６８】
また、図８におけるＳ１５において、更新手段１０は、単位領域４ｂの終端領域において、出力領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの先端領域において、出力領域情報に関する単位情報を「０」から「１」に更新する。つまり、出力領域情報が示す領域が終端領域であるので、出力領域情報を、先端領域を示す情報に更新する。そして、Ｓ２０１に進む。
【００６９】
Ｓ２０１に進むと、先端領域の直後の領域である領域（１）が空き領域であるか否かを判定する。領域（１）が空き領域の場合（Ｓ２０１：ＹＥＳ）には、更新手段１０は、先端領域において、出力領域情報に関する単位情報を「１」から「０」に更新して、読み込み時間帯を終了して制御を終える。領域（１）が空き領域でない場合（Ｓ２０１：ＮＯ）には、Ｓ１６に進む。
【００７０】
また、図８におけるＳ１７において、更新手段１０は、単位領域４ｂの領域（Ｍ−１）において、出力領域情報に関する単位情報を「１」から「０」に更新する。また、単位領域４ｂの領域（Ｍ）において、出力領域情報に関する単位情報を「０」から「１」に更新する。つまり、新たなメッセージが読み込まれる毎に、出力領域情報は、該出力領域情報が示す領域の直ぐ次に並んだ領域を示す情報に更新する。そして、Ｓ２０２に進む。
【００７１】
Ｓ２０２に進むと、領域（Ｍ＋１）が空き領域であるか否かを判定する。領域（Ｍ＋１）が空き領域の場合（Ｓ２０２：ＹＥＳ）には、更新手段１０は、単位領域４ｂの領域（Ｍ）において、出力領域情報に関する単位情報を「１」から「０」に更新して、読み込み時間帯を終了して制御を終える。領域（Ｍ＋１）が空き領域でない場合（Ｓ２０２：ＮＯ）には、Ｓ１８に進む。
【００７２】
以上により、次に読み込むメッセージがない場合には、メッセージ格納領域４ａにおける全ての単位領域４ｂにおいて、出力領域情報に関する単位情報は、全部「０」にクリアされる。そして、読み込み時間帯が終了することで、読み込み処理が終了する。そのため、次に、読み込み時間帯が開始され、メッセージを出力する場合には、メッセージボックス４の先端領域からメッセージを出力する。
【００７３】
したがって、変形例では、最後に格納されたメッセージが読み込まれると、格納領域と出力領域の単位情報が全て「０」にクリアして最初の状態となる。そのため、読み込み処理を終えると、先端領域から再度、書き込み及び読み込みを行う。それ故、読み込み処理後に再度、書き込み及び読み込みをする場合には、書き込み及び読み込み領域を検索することなく、メッセージを書き込み及び読み込みをすることができ、データの格納及び出力速度を向上させることが可能となる。
【００７４】
なお、実施例及び変形例は、適宜組み合わせることができ、本発明の通信装置は、ＣＡＮ通信に限らず、ＬＩＮ通信やその他の通信装置において適宜使用することができる。
【符号の説明】
【００７５】
１    車載通信装置      
２    受信側ＣＡＮノード（受信側制御ＥＣＵ２ａ）
３    送信側ＣＡＮノード（送信側制御ＥＣＵ３ａ）
４    メッセージボックス      ４ａ  メッセージ格納領域
４ｂ  単位領域                ５    ＣＰＵ      
６    ＲＡＭ                  ７    ＲＯＭ
８    通信バス（ＣＡＮバス）  ９    状態管理手段
１０  更新手段                １１  フィルタ値
【図１】
0005708165.tif 000002
【図２】
0005708165.tif 000003
【図３】
0005708165.tif 000004
【図４】
0005708165.tif 000005
【図５】
0005708165.tif 000006
【図６】
0005708165.tif 000007
【図７】
0005708165.tif 000008
【図８】
0005708165.tif 000009
【図９】
0005708165.tif 000010