(57)【要約】【課題】ＣＳＭＡ／ＮＢＡ方式を用いた通信システムに属する通信装置において、通信フレームにおけるデータ信号のビット数を大きくすることなく、実体的な通信速度を向上させること。【解決手段】送信権を持つＥＣＵ（通信装置）は、通信フレームを連続送信する場合、データフィールド終了後のフィールドエンドにおいて、予約信号としてストローブバスにドミナント値を送信することで、次回の送信権を予約取得する（ａ）。通信フレームを受信中のＥＣＵは、リード応答のために送信権を予約取得する場合、ＡＣＫフィールドにおいて、予約信号としてストローブバスにドミナント値を送信することで、次回の送信権を予約取得する（ｂ）。送信権を予約取得したＥＣＵは、次回の通信フレーム送信時において調停信号の送信を省く。【選択図】図６
2011071727.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置が、２線式のバスを介して互いに半二重シリアル通信をするようになっており、
通信フレームを送信しようとする通信装置は、ＣＳＭＡ／ＮＢＡ方式に基づいて、通信フレームの一部としての調停信号を送信し、
送信権を得た通信装置は、実体的な情報を送信する場合、その実体的な情報を示すデータ信号を前記通信フレームの一部として送信し、
前記通信フレームの送信後に、その通信フレームを送信する原となっていた送信権が消失し、
送信権の存続中に前記バスの１線が信号の送信に用いられていない期間がある通信システムに属する通信装置であって、
送信権の存続中に、次回の送信権の予約取得を他の通信装置に通知する予約信号を送信する予約手段を備え、
前記予約手段によって送信権を得た場合、前記調停信号の送信をせずに、前記データ信号の送信をする
ことを特徴とする通信装置。
【請求項２】
送信権を得た通信装置は、前記データ信号を前記バスの１線を介して送信すると共に、そのデータ信号を構成する各ビットのビットタイムを示すクロック信号を、前記データ信号の送信に用いられるバスの１線とは異なる１線を介して送信し、
前記データ信号の正常な受信をした通信装置は、その受信を送信権のある通信装置に確認させるための受信確認信号を、前記バスの何れか１線を介して送信し、
前記データ信号の送信を終えた通信装置は、前記受信確認信号を受信することで前記データ信号の受信確認をする通信システムに属する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記予約手段は、送信中の前記通信フレームに属する前記データ信号に引き続いて送信されるべき前記データ信号がある場合、前記予約信号を送信する
ことを特徴とする請求項１又は請求項２に記載の通信装置。
【請求項４】
前記予約手段は、自装置によるデータ信号の送信が、受信中の通信フレームによって要求された場合、前記予約信号を送信する
ことを特徴とする請求項１〜請求項３の何れか１項に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
半二重シリアル通信方式を用いた通信システムに属する通信装置に関する。
【背景技術】
【０００２】
複数の通信装置が、共通のバスを介して互いに接続されることで半二重シリアル通信をするように構成された場合、別々の通信装置から送信された信号同士が衝突しないことを、通信プロトコルによって保証する必要がある。このような通信プロトコルは種々あり、それぞれ特徴があるので、用途に応じて使い分けられている。そして、このような通信プロトコルの一例として、ＣＡＮ（非特許文献１）やＩＥＥＥ１３９４（非特許文献２）が挙げられる。
【０００３】
ＣＡＮやＩＥＥＥ１３９４では、ＣＳＭＡ／ＮＢＡ（Carrier Sense Multiple Access / Non-Destructive Bitwise Arbitration）方式によって、信号の衝突を避けるようになっている。つまり、バスが開放された状態において通信フレームの送信を早く始めた通信装置が、通信フレーム全体を送信する権利（送信権）を得る（CSMA方式）。ただし、通信フレームの送信を同時期に開始した通信装置が複数あった場合、送信権を得る通信装置は調停によって決められる。調停は、非破壊のビット単位調停によって行われる（NBA方式）。なお、この調停のために送信される信号（調停信号）は通信フレームの一部である。そして、送信権を得た通信装置のみが、通信フレームの送信を続ける。その通信装置が通信フレーム全体を送信し終えると、その送信の原（もと）となっていた送信権は消失し、バスが開放される。
【０００４】
なお、両通信プロトコルとも、２線式のバスが用いられる。そして、ＣＡＮでは差動電圧方式、ＩＥＥＥ１３９４ではデータ・ストローブ方式が採用されている。このうち、データ・ストローブ方式は、受信側の通信装置が、送信元の通信装置のクロックを再生できるのが特徴である。具体的には、送信権のある通信装置が、バスの１線にデータ信号を送信し、もう１線にストローブ信号を送信する。そして、受信側の通信装置は、データ信号とストローブ信号との排他的論理和（ＸＯＲ）を取ることでクロックを再生する。この再生されたクロック（受信クロック）によって、ＣＡＮで必要とされるような同期補正は、ＩＥＥＥ１３９４では不要となる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＣＡＮ２．０Ｂ仕様書（CAN Specification version2.0B）、[online]、BOSCH、［平成２１年８月１８日検索］、インターネット<ＵＲＬ：http://www.semiconductors.bosch.de/pdf/can2spec.pdf#search='can specification 2.0b'>
【非特許文献２】ＩＥＥＥ１３９４プロトコル、[online]、スペースソフト、［平成２１年８月１８日検索］、インターネット<ＵＲＬ：http://www.spacesoft.co.jp/index.htm>
【発明の概要】
【発明が解決しようとする課題】
【０００６】
先述した従来技術の課題は、調停信号が実体的な通信速度を遅くしていることである。調停信号の送信中はデータ信号を送信できないので、調停信号の送信は実体的な通信速度を遅くすることになる。ここで言う実体的な通信速度とは、単位時間当たりに送信されるデータ信号の量のことである。ただし、ここで言う「データ信号」は、ＩＥＥＥ１３９４でのストローブ信号と対になるデータ信号だけではなく、実体的なデータを送信するための信号全般を指す。
【０００７】
もっとも、調停信号のビット数（通常、数ビット〜数十ビット）に対して、データ信号のビット数を大きくすれば（例えば４０９６バイト）、調停信号はデータ信号に対してほとんど無視できる程の小さなものとなり、実体的な通信速度にあまり影響を与えなくなる。しかしながら、このようにデータ信号のビット数を大きくすると、通信フレームが長くなり、サイズの大きい回路が必要となる（具体的にはバッファが大きくなる）。このようにして回路のサイズが大きくなると、搭載スペースの制約が厳しい用途（例えば、自動車への搭載用）には採用しづらくなり、好ましくない場合がある。
【０００８】
本発明は、この課題に鑑み、ＣＳＭＡ／ＮＢＡ方式を用いた通信システムに属する通信装置において、通信フレームにおけるデータ信号のビット数を大きくすることなく、実体的な通信速度を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
この目的を達成するための請求項１に記載の通信装置は、次のことが定められている通信システムに属するものである。まず、この通信システムでは、複数の通信装置が、２線式のバスを介して互いに半二重シリアル通信をするようになっている。そして、通信フレームを送信しようとする通信装置は、ＣＳＭＡ／ＮＢＡ方式に基づいて、通信フレームの一部としての調停信号を送信する。また、送信権を得た通信装置は、実体的な情報を送信する場合、その実体的な情報を示すデータ信号を通信フレームの一部として送信する。そして、通信フレームの送信後に、その通信フレームを送信する原となっていた送信権が消失する。また、送信権の存続中にバスの１線が信号の送信に用いられていない期間がある。
【００１０】
そして、請求項１に記載の通信装置は、送信権の存続中に、次回の送信権の予約取得を他の通信装置に通知する予約信号を送信する予約手段を備える。そして、この予約手段によって送信権を得た場合、調停信号の送信をせずに、データ信号の送信をする。
【００１１】
この発明によれば、ＣＳＭＡ／ＮＢＡ方式を用いた通信システムに属する通信装置において、通信フレームにおけるデータ信号のビット数を大きくすることなく、実体的な通信速度を向上させることができる。理由は、調停信号の送信を省く場合があるからである。すなわち、実体的な通信速度は、先述したように、調停信号の送信により遅くなってしまう。よって、調停信号を省くことで、実体的な通信速度を速くすることができる。調停信号を省くことができるのは、予約手段によって送信権が決まれば調停信号の送信が不要になるからである。
【００１２】
また、予約信号の送信を送信権の存続中に行うのは、バスが開放されるのを防ぐためである。送信権が消失してバスが開放されると、他装置が調停信号の送信を始める可能性がある。そこで、送信権の存続中に予約を済ませることで、このような事態が発生しないようにしている。
【００１３】
また「予約信号の送信のために通信フレームが長くなって、実体的な通信速度が遅くなる」ことは回避できる。送信権の存続中には、バスの１線が信号の送信に用いられていない期間がある。この１線を用いれば、通信フレームを長くしなくても予約信号の送信ができる。
【００１４】
ただし、予約信号の送受信は、上記信号の時間領域に限られない。例えば、緩衝期間があれば、その緩衝期間において予約信号を送信する方法も考えられる。緩衝期間とは、異なる二つの時間領域（例えば、データ信号の時間領域、及びその他の信号の時間領域）を区切るための時間領域である。バスが２線あれば同時に２ビットの情報が送信できるので、緩衝期間であることを示す信号および予約信号を、緩衝期間において送信できる。
【００１５】
ところで、通信フレームの送信中に、受信確認が行われる場合がある。受信確認とは、受信側の通信装置による受信が正常に行われたかを、送信権のある通信装置が確認することである。この受信確認の具体的方法は、例えば、データ信号を正常に受信したことを示す受信確認信号を、受信側の通信装置が送信権のある通信装置に送信し、この受信確認信号を送信権のある通信装置が受信する、というものである。このような受信確認が、バスの１線を介して行われる場合には、次のように構成すると良い。
【００１６】
請求項２に記載の通信装置は、次のような通信システムに属する。この通信システムでは、送信権を得た通信装置は、データ信号をバスの１線を介して送信すると共に、そのデータ信号を構成する各ビットのビットタイムを示すクロック信号を、データ信号の送信に用いられるバスの１線とは異なる１線を介して送信する。そして、データ信号の正常な受信をした通信装置は、その受信を送信権のある通信装置に確認させるための受信確認信号を、バスの何れか１線を介して送信する。また、データ信号の送信を終えた通信装置は、受信確認信号を受信することでデータ信号の受信確認をする。
【００１７】
なお、受信確認信号の送信中は、バスの１線が信号の送信に用いられていない期間である。また、クロック信号は、例えば、データ・ストローブ方式におけるストローブ信号や、クロックを直接的に示す信号が考えられる。なお、データ・ストローブ方式を採用すれば、クロック・スキュー（クロックの伝播による遅延時間のバラツキ）に強くなり、さらに、装置を小規模な回路で構成しやすくなる。
【００１８】
ところで、送信権を持っている通信装置が連続して送信権を得る場合は、具体的には以下のように構成できる。
請求項３に記載の通信装置が備える予約手段は、送信中の通信フレームに属するデータ信号に引き続いて送信されるべきデータ信号がある場合、予約信号を送信する。
【００１９】
この発明によれば、一つの通信フレームでは送信できない量のデータを送信するような場合に予約信号を送信することで、複数の通信フレームを連続して送信することができる。その際、調停信号の送信が省略されるため、実体的な通信速度を向上させることができる。
【００２０】
ところで、受信した通信フレームによってデータの送信要求に対する応答（リード応答）をする場合は、具体的には以下のように構成できる。
請求項４に記載の通信装置が備える予約手段は、自装置によるデータ信号の送信が、受信中の通信フレームによって要求された場合、予約信号を送信する。
【００２１】
この発明によれば、リード要求を受けた場合に予約信号を送信することで、調停信号の送信を省いてリード応答ができるため、実体的な通信速度を向上させることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明が適用された車載用通信システムのブロック構成図。
【図２】データフレームのフォーマット。
【図３】バスの開放期間〜調停フィールドにおいて送信される信号のタイミングチャート。
【図４】データフィールド〜ＡＣＫフィールドにおいて送信される信号のタイミングチャート。
【図５】ＡＣＫエラーの際に送信される信号のタイミングチャート。
【図６】送信権予約が行われる際に送受信される信号のタイミングチャート。
【発明を実施するための形態】
【００２３】
本発明の実施例を説明する。図１は、本発明が適用された車載用通信システム１のブロック構成図である。車載用通信システム１は、自動車に搭載されるものであり、複数のＥＣＵ（電子制御装置）１０、１０…、データバス９８及びストローブバス９９から構成される。各ＥＣＵ１０は、それぞれが制御対象とする車載機器（エンジン、エアコン等）の制御をする装置である。そして、ＥＣＵ１０同士は、その制御のために、データバス９８とストローブバス９９とから成る２線式バスを介して、ＩＥＥＥ１３９４を改良した通信プロトコルに従う半二重シリアル通信が可能に構成されている。
【００２４】
ＩＥＥＥ１３９４は、データ・ストローブ方式を採用しており、データバス９８と、ストローブバス９９とで別々の値を持つことができる。その値は、具体的には、Ｈｉｇｈ値（以下「Ｈ値」という）又はＬｏｗ値（以下「Ｌ値」という）である。また、データバス９８及びストローブバス９９それぞれは、オープンコレクタで接続されており、Ｈ値がレセッシブ、Ｌ値がドミナントとなっている。つまり、Ｈ値とＬ値とが同時にバスに送信されると、受信される値はＬ値となる。
【００２５】
なお、各ＥＣＵ１０がデータバス９８から受信する値を「データ受信値」、ストローブバス９９から受信する値を「ストローブ受信値」と呼ぶことにする。また、各ＥＣＵ１０がデータバス９８に送信する値を「データ送信値」、ストローブバス９９に送信する値を「ストローブ送信値」と呼ぶことにする。
【００２６】
また、図示のようにＥＣＵ１０は、送信部１１・調停部１２・データ再同期部１３・受信部１４・セレクタ（ＳＥＬ）１５／１６を備える。なお、各ＥＣＵ１０の内部構成は同じなので、一つのＥＣＵ１０のみについて内部構成を図示し、他のＥＣＵ１０については図示を省く。また、本来は、この他にも制御等のための構成を備えるが、本発明は通信に特徴があるので通信のための構成のみを図示し、その他の構成の図示や説明は省く。
【００２７】
送信部１１及び調停部１２は、状況に応じて、データ送信値およびストローブ送信値の送信主体になる。具体的には、調停部１２が送信主体となるのは、送信権を得るために調停信号（後述）を送信する場合である。一方、送信部１１が送信主体となるのは、調停信号を送信し終えた後、自装置に送信権がある場合である。また、セレクタ１５（１６）は、送信部１１及び調停部１２から送信された信号同士がデータバス９８（ストローブバス９９）で衝突しないように、一方から送信された信号のみがデータバス９８（ストローブバス９９）に送信されるように機能する。
【００２８】
また、送信部１１によるデータ送信値およびストローブ送信値は、実体的な情報を示すためのものである（データフィールドにおけるデータ信号およびストローブ信号。図４参照）。
【００２９】
一方、調停部１２及びデータ再同期部１３は、常時、データ受信値およびストローブ受信値の受信主体となる。
また、調停部１２は、ＣＳＭＡ／ＮＢＡ方式を実現するためのものである。具体的には、調停部１２は、データ受信値およびストローブ受信値に基づいて、バスが開放されているかを判定する。さらに、調停部１２は、バスが開放されていると判定した場合に送信権を得ようとするときは、自身によるデータ送信値およびストローブ送信値、並びに、データ受信値およびストローブ受信値に基づいて調停に負けたかを判定する（判定の具体的方法は、図３（ｂ）の説明と共に述べる。）。また、調停部１２は、予約信号（後述）の送受信の主体となる。
【００３０】
データ再同期部１３は、データ受信値およびストローブ受信値に基づいて、データの再同期をする。具体的には、データ受信値とストローブ受信値との排他的論理和（ＸＯＲ：データ受信値とストローブ受信値とが同じなら「０」、異なれば「１」）によって得られるクロック（受信クロック）を、ＥＣＵ１０が備えるシステムクロック（図示なし）に同期させる。
【００３１】
ところで、このようなデータの再同期は、データ・ストローブ方式に基づく信号を対象として行うものであり、それ以外の信号を対象として行う必要はない。本実施例でのデータ・ストローブ方式に基づく信号は、データフィールドにおいて送信されるデータ信号およびストローブ信号である。よって、データ再同期部１３は、データフィールドにおいてクロックの再生をするようになっている。
【００３２】
受信部１４は、データ再同期部１３によって再同期されたデータの受信処理をしたり、エラー検出をしたりする。
このようにＥＣＵ１０は、各構成要素によって各信号を処理しているが、以下からは簡単のために、各処理の主体をＥＣＵ１０として表記する。
【００３３】
図２は、ＥＣＵ１０が送受信するデータフレームのフォーマットを示した図である。データフレームは、調停フィールド、データフィールド、及びＡＣＫ（受信確認）フィールドから成る。また、データフィールドは、ヘッダ領域、データ領域およびフッタ領域で構成される。ヘッダ領域は、フレームの属性（リード／ライト）やアドレス、データ長の情報を送信するためのものである。データ領域は、データ長で指定したサイズ（例えば８バイト）のデータを送信するためのものである。フッタ領域は、データフレーム送受信の信頼性確保のために、誤り検出符号としてＣＲＣ（Cyclic Redundancy Check）を送信するためのものである。なお、データフレームの開始／終了が検出できるように、データフレーム同士の間にはＧＡＰ（すき間）がある。
【００３４】
次から、各フィールドにおいてどのように信号が送信されるかを［１．送信権の予約取得がされない場合］［２．連続送信のための送信権予約の場合］［３．リード応答のための送信権予約の場合］の３つに場合分けして説明する。
［１．送信権の予約取得がされない場合］
ＥＣＵ１０が従う通信プロトコルには、既存のＩＥＥＥ１３９４に対する改良点がある。その改良点は、調停信号の送信をせずに送信権を得ること（送信権の予約取得）に関する。よって、送信権の予約取得がされない場合であれば、結果的に既存のプロトコルと同じになる。まずは、この場合について説明する。
【００３５】
図３（ａ）は、データフレーム送信終了後における、データ受信値、ストローブ受信値、及びシステムクロックの関係を示したタイミングチャートである。なお、システムクロックは、データフレームを送信したＥＣＵ１０のものである。
【００３６】
各ＥＣＵ１０は、自装置または他装置によるデータフレーム送信終了後、データバス９８及びストローブバス９９への信号送信を止める。全ＥＣＵ１０がデータフレームの送信をしなければ、データ受信値およびストローブ受信値は共にＨ値となる。
【００３７】
ところで、あるＥＣＵ１０のデータ送信値およびストローブ送信値がＨ値であった場合、そのＥＣＵ１０が上記のように「信号送信を止め」ても、データ受信値およびストローブ受信値に与える影響は変わらない。しかし、各ＥＣＵ１０が送信主体として動作している状態と、そうでない状態とは異なるので、両者を区別して表記する。
【００３８】
なお、データ受信値およびストローブ受信値が共にＨ値のまま１０サイクル経つと、本実施例では送信権が消失することになっている。よって、ＡＣＫフィールド後の１０サイクルが過ぎると送信権が消失する。この１０サイクルをサンプル期間という。そして、更に６サイクルを経るとバスが開放されて、何れのＥＣＵ１０も通信フレームの送信が開始できるようになる。この６サイクルはホールド期間であり、全ＥＣＵが信号送信できない。なお、このサンプル期間およびホールド期間が、先述したＧＡＰであり、二つ合わせて開放検出期間と呼ぶ。
【００３９】
図３（ｂ）は、調停フィールドにおける、データ受信値、ストローブ受信値、及びシステムクロックの関係を示したタイミングチャートである。なお、システムクロックは、ＩＤ（調停番号）：０１０のデータフレームを送信するＥＣＵ１０（以下「０１０ＥＣＵ」という。）のものである。ＩＤとは、データフレームの識別子であり、調停信号として送信されるものである。
【００４０】
各ＥＣＵ１０は、バスが開放されている場合にデータフレームの送信を開始しようとするときは、ストローブ送信値をＬ値にすると共に、ＩＤの最上位をデータ送信値にすることになっている。正確には、ＩＤの最上位が「０」ならＬ値を、ＩＤの最上位が「１」ならＨ値をデータ送信値とする。ここでのデータ送信値が、調停信号である。一方、他のＥＣＵ１０は、ストローブ受信値がＬ値になったことを検出すると、データフレームの送信が開始されたと判定する。そして、調停に参加する場合は、ストローブ受信値がＬ値に変化したのを検出し次第、自らもストローブ送信値をＬ値にすると共に、ＩＤの最上位をデータ送信値にする。
【００４１】
図３（ｂ）は、０１０ＥＣＵによる送信開始後に、ＩＤ：００１のデータフレームを送信するＥＣＵ１０（以下「００１ＥＣＵ」という。）による送信開始があった場合である。この場合は、両ＥＣＵとも、調停１ビット目においてデータ送信値をＬ値にすることになる。なお、調停フィールドにおける１ビットタイムは、システムクロックの１０サイクルと定められている。
【００４２】
そして、調停信号を送信するＥＣＵ１０それぞれは、調停信号送信の開始時点から６サイクル経過時のデータ受信値に基づいて、調停に負けたかを判定する。具体的には、自身のデータ送信値がＨ値にも関わらず、データ受信値がＬ値の場合は調停負けと判定し、データバス９８及びストローブバス９９への送信を止める。さもなくば、調停に負けていないと判定して送信を続ける。
【００４３】
図３（ｂ）の場合は、１ビット目において、両ＥＣＵ１０は共にデータ送信値がＬ値なので、両方とも送信を続けることになる。そして、上記判定時点から４サイクルはホールド期間として定められているので、データ送信値およびストローブ送信値を保持する。そして、ホールド期間終了と共に調停１ビット目が終わるので、調停２ビット目に入り、２番目のＩＤをデータ送信値にする。
【００４４】
そして、調停２ビット目のデータ送信値は、０１０ＥＣＵがＨ値、００１ＥＣＵがＬ値にすることになる。そして、この場合、データ受信値はＬ値となる。この結果、０１０ＥＣＵは、データ受信値がＬ値、データ送信値がＨ値となるので、この受信時点で調停負けと判定して送信を止める。そして、調停最後の３ビット目（図示せず）において、００１ＥＣＵは、データ送信値及びデータ受信値が共にＨ値となるので、調停に負けなかったことになり、データフィールドにおける信号送信に移る。つまり、調停の結果、００１ＥＣＵが、送信権を得たことになる。以下、送信権を得たＥＣＵ１０を「送信ＥＣＵ」という。
【００４５】
図４（ａ）は、調停フィールド後における、データ受信値、ストローブ受信値、受信クロック、及び送信ＥＣＵのシステムクロックの関係を示したタイミングチャートである。なお、本実施例では、シングル・データ・レート（ＳＤＲ）を採用しているので、受信クロックは、送信ＥＣＵのシステムクロックの周期を２倍にしたものに相当する。
【００４６】
送信ＥＣＵは、図４（ａ）に示すように、調停フィールド終了から４〜８サイクルの間（図は８サイクルの場合を図示）、データ送信値およびストローブ送信値をＨ値にする（Data-Prefix：緩衝期間に相当）。Data-Prefixとは、調停フィールドとデータフィールドとを区切るための信号状態（データ受信値およびストローブ受信値が共にＨ値）のことである（図２では図示せず。）。
【００４７】
また、送信ＥＣＵ以外のＥＣＵ１０は、Data-Prefixを検出すると、データ・ストローブ方式による受信クロックの再生を開始する。そして、データ・ストローブ方式によるデータの送受信が開始される。また、これに伴いData-Prefixが終わることになる。
【００４８】
図４（ｂ）は、データフィールド終了後における、データ受信値、ストローブ受信値、受信クロック、及び送信ＥＣＵのシステムクロックの関係を示したタイミングチャートである。
【００４９】
送信ＥＣＵは、データフィールド終了後、フィールドエンドにおいて、データ送信値およびストローブ送信値をＨ値にする。フィールドエンドとは、データフィールドとＡＣＫフィールドとを区切るための信号状態（データ受信値およびストローブ受信値が共にＨ値）のことである（図２では図示せず。）。フィールドエンドも緩衝期間に相当する。
【００５０】
一方、データフレームを受信するＥＣＵ１０（以下「受信ＥＣＵ」という。）は、データ受信値およびストローブ受信値が共にＨ値であることが４サイクル以上続いたことを検出すると、データフィールドが終了し、フィールドエンドになったと判定する。そして、受信ＥＣＵは、ＣＲＣ処理の結果が正常であれば、データフィールド終了後８サイクル以内に（図４（ｂ）では６サイクルで）、ＡＣＫの返信（受信確認信号）としてデータ送信値をＬ値にする。データ受信値がＬ値になると、フィールドエンドが終わり、ＡＣＫフィールドが始まることになる。
【００５１】
送信ＥＣＵは、データ受信値がＬ値になったのを検出してから６サイクル目のデータ受信値に基づいて、ＡＣＫの返信が正常かを判定する。ＡＣＫフィールドは１０サイクルなので、その判定後４サイクルが経つと、ＡＣＫフィールドが終了する。そして、その終了と共に全ＥＣＵ１０が送信を止める。さらに、ＡＣＫフィールド終了からサンプル期間（１０サイクル）が経つと送信権が消失し、ホールド期間（６サイクル）を経てバスが開放される。
【００５２】
図５は、ＡＣＫの返信がされない場合のデータフィールド終了後における、データ受信値、ストローブ受信値、受信クロック、及び送信ＥＣＵのシステムクロックの関係を示したタイミングチャートである。ＡＣＫが返信されない原因としては、受信したデータのサイズがヘッダ領域で示されたサイズと異なっていることや、ＣＲＣエラー等がある。
【００５３】
データフィールド終了後８サイクル以内にＡＣＫの返信がない場合は、送信ＥＣＵはＡＣＫエラーと判定し、送信を止める。さらに２サイクルに渡りデータ受信値およびストローブ受信値が共にＨ値であれば、計１０サイクルに渡りデータ受信値およびストローブ受信値が共にＨ値となるので、送信権が消失する。その後、ホールド期間を経てバスが開放される。
［２．連続送信のための送信権予約の場合］
ここから、既存のプロトコルからの改良点、つまり本発明の特徴となるプロトコルの説明をする。まず、送信ＥＣＵが連続送信をする場合の説明をする。例えば、走行制御用等のセンサから得たデータを送信する場合は、一つのデータフレームでは送信できない量のデータを一度に送信する必要があることが多い。このような場合に用いられるプロトコルを説明する。
【００５４】
図６（ａ）は、データフィールド終了後における、データ受信値、ストローブ受信値、受信クロック、及び送信ＥＣＵのシステムクロックの関係を示したタイミングチャートである。つまり、図４（ｂ）で説明した内容の替わりに実行する内容になる。そこで、図４（ｂ）の場合、つまり送信権の予約がされない場合との違いを説明する。
【００５５】
まず、データフレームの属性について説明する。データフレームの属性には、ライト（データ送信）と、リード（データの返信要求）とがある。送信権の予約がされる場合は、送信権の予約がされない場合と異なり、属性について条件がある。その条件とは、連続送信の場合、送信権予約は、属性がライトのデータフレームの送信中にのみ行われることである。属性がリードのデータフレームの送信中に行われないのは、先述した「一つのデータフレームでは送信できない量のデータを一度に送信する」場合に当てはまらないからである。
【００５６】
送信ＥＣＵは、送信権の存続中において、具体的には、データフィールド終了後のフィールドエンドからＡＣＫフィールドにおいて、予約信号として、ストローブ送信値をＬ値にする。一方、受信ＥＣＵは、データ受信値がＨ値、ストローブ受信値がＬ値であることが４サイクル以上続いたことを検出すると、データフィールドが終了したと判定すると共に、送信ＥＣＵによって次回の送信権が予約されたことを認識する。なお、ＡＣＫの返信は、データバス９８を介して行われるので、予約信号の送信によって影響を受けることなく、従来通り実施される。
【００５７】
そして、送信ＥＣＵは、ＡＣＫフィールドの終了後（正確には、データ受信値がＬからＨになったのを確認した後）、予約信号の送信（ストローブ送信値をＬ値にすること）を止め、ストローブ送信値をＨ値にすることでData-Prefixにする（図６（ａ）の場合は、ＡＣＫフィールドの終了からＨ値の送信までに、１サイクルのタイムラグが生じている。）。そして、送信権を予約取得したＥＣＵ１０は、送信権が消失する前に（正確には、Data-Prefixになってから４〜８サイクル経過時に）、データフィールドにおけるデータ信号およびストローブ信号の送信を開始する。
【００５８】
このように、予約信号を送信した上で、データ受信値およびストローブ受信値が共にＨ値になってから８サイクル経過までに送信を開始すれば、調停信号を送信しなくても連続送信ができる。調停信号を省くことができるのは、予約信号が調停信号の役割を肩代わりしているからである。この肩代わりができるのは、連続送信を前提にすれば、「送信ＥＣＵ及び送信されるデータの種別が維持される」という１ビットの情報と、調停信号の情報とが、同じものになるからである。
【００５９】
また、ＡＣＫフィールドにおいて、従来は遊んでいたストローブバス９９を新たに活用することによって予約信号を送信しているので、予約信号が通信フレームを長くすることはない。よって、連続送信をする場合に、データ信号のビット数を大きくしなくても、実体的な通信速度が速くなる。特に自動車搭載用は、通信高速化と回路の小型化とが同時に要求されるので、回路（具体的にはバッファ）を大きくすることなく通信高速化を図れるのは、大変有利である。
［３．リード応答のための送信権予約の場合］
次に、受信ＥＣＵがリード応答のために送信権予約をする場合の説明をする。図６（ｂ）は、データフィールド終了後における、データ受信値、ストローブ受信値、受信クロック、及び送信ＥＣＵのシステムクロックの関係を示したタイミングチャートである。この場合も、図４（ｂ）で説明した内容の替わりに実行する内容になるので、送信権の予約がされない場合との違いを説明する。
【００６０】
先述したように、送信権の予約がされない場合、データフレームの属性は、ライトのときもリードのときもあり得る。一方、リード応答のための送信権予約は、当然、属性がリードのデータフレームの送信中にのみ行われる。
【００６１】
送信権を予約する受信ＥＣＵは、ＡＣＫフィールドにおいて、予約信号として、ストローブ送信値をＬ値にする。そして、送信ＥＣＵは、データ受信値に基づくＡＣＫの返信の判定と同時に、ストローブ受信値に基づいて送信権予約の有無を判定する。具体的には、送信ＥＣＵは、ストローブ受信値がＨ値であれば、送信権予約がなかったと判定する。一方、ストローブ受信値がＬ値であれば、リード応答をすべき受信ＥＣＵによって次回の送信権が予約されたと判定する。
【００６２】
そして、ＡＣＫフィールド後から４〜８サイクル経過時において、予約信号によって送信権を取得したＥＣＵ１０は、データ信号およびストローブ信号の送信を開始する。一方、リード応答を要求したＥＣＵ１０は、両信号をリード応答として受信する。
【００６３】
この場合においても、連続送信の場合と同様に、調停信号の送信を省くことができ、実体的な通信速度が速くなる。
なお、リード応答のための予約信号を、複数の受信ＥＣＵが送信してしまうことは無い（エラーの場合は除く）。一つのデータフレームによってリード応答を要求される受信ＥＣＵは一つしかなく、その受信ＥＣＵのみが、予約信号を送信するようになっているからである。
【００６４】
以上で実施例の説明を終え、ここから変形例を述べる。次の《１》〜《１２》は、各変形例の説明として、実施例との違いを述べたものである。
《１》送信ＥＣＵは、連続送信のための予約信号をＡＣＫフィールドにおいて送信し始めてもよい。この場合、受信ＥＣＵは、ＡＣＫフィールドにおいて予約の有無を判定することになる。ただし、実施例通りフィールドエンドから送信し始める方が好ましい。理由は、受信ＥＣＵにとって、早く予約の有無が確認できて準備がしやすいから、及びリード応答のための予約信号と区別がしやすいからである。
【００６５】
《２》連続送信、リード応答何れの場合も、予約信号の送信タイミングは、ＡＣＫフィールドやフィールドエンドでなくても良い。例えば、調停フィールドとデータフィールドとの間のData-Prefixでも良い。
【００６６】
《３》送信ＥＣＵは、連続送信のために送信権を予約する場合、ＡＣＫの返信を確認後、次回のデータフィールド送信の準備ができていないとき、準備ができるまで予約信号の送信を続けることでバスを開放しないようにしてもよい。送信の準備ができていないのに両バスにＨ値を送信して１０サイクル経ってしまうと、送信権が消失し、バスが開放されて他のＥＣＵ１０が調停信号を送信する可能性があるからである。
【００６７】
《４》予約信号を送信する機能を備えるＥＣＵは、通信システムに属する一部のＥＣＵでもよいし、実施例のように全ＥＣＵでもよい。ところで、実施例では、予約信号の送信が無制限に行われないように、送信権の予約取得の目的を、連続送信とリード応答とに限っていた。さもなくば「複数のＥＣＵが、一つのデータフレームの送信時に予約信号を送信して、同時に送信権を取得する」ことや「送信されているデータフレームの識別子を、受信ＥＣＵが把握できない」こと等に起因するエラーの可能性が出てくる。
【００６８】
しかし、そのようなエラーの可能性がない構成であれば、目的を制限する必要が無くなる。その構成とは、例えば「予約信号を送信できるＥＣＵは一つしかなく、予約取得された送信権に基づいて送信されるデータフレームは１種類しかない」という通信システムが考えられる。特に重要なＥＣＵがあれば、このように構成してもよい。
【００６９】
《５》ＩＤは、優先調停用のビットを付加したものでもよい。優先調停用のビットとは、調停に負けた後やエラーの後に、優先的に送信権を得るためのものである。
《６》実施例ではＩＤはデータフレームの識別子であったが、ＥＣＵの識別子としてもよい。
《７》実施例ではＣＲＣを用いていたが、パリティやチェックサムなどの誤り検出でもよい。
《８》特に信頼性を確保する必要がなければ、ＣＲＣ等を付加しなくてもよい。
《９》データバス９８とストローブバス９９との役割を、一部入れ替えても良い。例えば、連続送信のための予約信号をデータバス９８を介して送信し、ＡＣＫの返信をストローブバス９９を介して送信しても良い。
《１０》実施例中の数値（サイクル期間・データ長・調停番号など）は、変更しても構わない。
《１１》オープンコレクタの替わりに、ワイヤードＯＲを用いてもよく、送信中はトーテムポールモードでもよい。
《１２》車載用の通信装置でなくても、前提となる通信プロトコルが同様である通信装置に本発明を適用してもよい。
【００７０】
最後に、実施例と特許請求の範囲との対応を説明する。調停部１２が、特許請求の範囲の予約手段に相当する。
【符号の説明】
【００７１】
１…車載用通信システム、１０…ＥＣＵ、１１…送信部、１２…調停部、１３…データ再同期部、１４…受信部、１５／１６…セレクタ、９８…データバス、９９…ストローブバス
【図１】
2011071727.tif 000003
【図２】
2011071727.tif 000004
【図３】
2011071727.tif 000005
【図４】
2011071727.tif 000006
【図５】
2011071727.tif 000007
【図６】
2011071727.tif 000008