JP2011071727A - 通信装置 - Google Patents
通信装置 Download PDFInfo
- Publication number
- JP2011071727A JP2011071727A JP2009220853A JP2009220853A JP2011071727A JP 2011071727 A JP2011071727 A JP 2011071727A JP 2009220853 A JP2009220853 A JP 2009220853A JP 2009220853 A JP2009220853 A JP 2009220853A JP 2011071727 A JP2011071727 A JP 2011071727A
- Authority
- JP
- Japan
- Prior art keywords
- transmission
- signal
- communication
- data
- reservation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
【課題】CSMA/NBA方式を用いた通信システムに属する通信装置において、通信フレームにおけるデータ信号のビット数を大きくすることなく、実体的な通信速度を向上させること。
【解決手段】送信権を持つECU(通信装置)は、通信フレームを連続送信する場合、データフィールド終了後のフィールドエンドにおいて、予約信号としてストローブバスにドミナント値を送信することで、次回の送信権を予約取得する(a)。通信フレームを受信中のECUは、リード応答のために送信権を予約取得する場合、ACKフィールドにおいて、予約信号としてストローブバスにドミナント値を送信することで、次回の送信権を予約取得する(b)。送信権を予約取得したECUは、次回の通信フレーム送信時において調停信号の送信を省く。
【選択図】図6
【解決手段】送信権を持つECU(通信装置)は、通信フレームを連続送信する場合、データフィールド終了後のフィールドエンドにおいて、予約信号としてストローブバスにドミナント値を送信することで、次回の送信権を予約取得する(a)。通信フレームを受信中のECUは、リード応答のために送信権を予約取得する場合、ACKフィールドにおいて、予約信号としてストローブバスにドミナント値を送信することで、次回の送信権を予約取得する(b)。送信権を予約取得したECUは、次回の通信フレーム送信時において調停信号の送信を省く。
【選択図】図6
Description
半二重シリアル通信方式を用いた通信システムに属する通信装置に関する。
複数の通信装置が、共通のバスを介して互いに接続されることで半二重シリアル通信をするように構成された場合、別々の通信装置から送信された信号同士が衝突しないことを、通信プロトコルによって保証する必要がある。このような通信プロトコルは種々あり、それぞれ特徴があるので、用途に応じて使い分けられている。そして、このような通信プロトコルの一例として、CAN(非特許文献1)やIEEE1394(非特許文献2)が挙げられる。
CANやIEEE1394では、CSMA/NBA(Carrier Sense Multiple Access / Non-Destructive Bitwise Arbitration)方式によって、信号の衝突を避けるようになっている。つまり、バスが開放された状態において通信フレームの送信を早く始めた通信装置が、通信フレーム全体を送信する権利(送信権)を得る(CSMA方式)。ただし、通信フレームの送信を同時期に開始した通信装置が複数あった場合、送信権を得る通信装置は調停によって決められる。調停は、非破壊のビット単位調停によって行われる(NBA方式)。なお、この調停のために送信される信号(調停信号)は通信フレームの一部である。そして、送信権を得た通信装置のみが、通信フレームの送信を続ける。その通信装置が通信フレーム全体を送信し終えると、その送信の原(もと)となっていた送信権は消失し、バスが開放される。
なお、両通信プロトコルとも、2線式のバスが用いられる。そして、CANでは差動電圧方式、IEEE1394ではデータ・ストローブ方式が採用されている。このうち、データ・ストローブ方式は、受信側の通信装置が、送信元の通信装置のクロックを再生できるのが特徴である。具体的には、送信権のある通信装置が、バスの1線にデータ信号を送信し、もう1線にストローブ信号を送信する。そして、受信側の通信装置は、データ信号とストローブ信号との排他的論理和(XOR)を取ることでクロックを再生する。この再生されたクロック(受信クロック)によって、CANで必要とされるような同期補正は、IEEE1394では不要となる。
CAN2.0B仕様書(CAN Specification version2.0B)、[online]、BOSCH、[平成21年8月18日検索]、インターネット<URL:http://www.semiconductors.bosch.de/pdf/can2spec.pdf#search='can specification 2.0b'>
IEEE1394プロトコル、[online]、スペースソフト、[平成21年8月18日検索]、インターネット<URL:http://www.spacesoft.co.jp/index.htm>
先述した従来技術の課題は、調停信号が実体的な通信速度を遅くしていることである。調停信号の送信中はデータ信号を送信できないので、調停信号の送信は実体的な通信速度を遅くすることになる。ここで言う実体的な通信速度とは、単位時間当たりに送信されるデータ信号の量のことである。ただし、ここで言う「データ信号」は、IEEE1394でのストローブ信号と対になるデータ信号だけではなく、実体的なデータを送信するための信号全般を指す。
もっとも、調停信号のビット数(通常、数ビット〜数十ビット)に対して、データ信号のビット数を大きくすれば(例えば4096バイト)、調停信号はデータ信号に対してほとんど無視できる程の小さなものとなり、実体的な通信速度にあまり影響を与えなくなる。しかしながら、このようにデータ信号のビット数を大きくすると、通信フレームが長くなり、サイズの大きい回路が必要となる(具体的にはバッファが大きくなる)。このようにして回路のサイズが大きくなると、搭載スペースの制約が厳しい用途(例えば、自動車への搭載用)には採用しづらくなり、好ましくない場合がある。
本発明は、この課題に鑑み、CSMA/NBA方式を用いた通信システムに属する通信装置において、通信フレームにおけるデータ信号のビット数を大きくすることなく、実体的な通信速度を向上させることを目的とする。
この目的を達成するための請求項1に記載の通信装置は、次のことが定められている通信システムに属するものである。まず、この通信システムでは、複数の通信装置が、2線式のバスを介して互いに半二重シリアル通信をするようになっている。そして、通信フレームを送信しようとする通信装置は、CSMA/NBA方式に基づいて、通信フレームの一部としての調停信号を送信する。また、送信権を得た通信装置は、実体的な情報を送信する場合、その実体的な情報を示すデータ信号を通信フレームの一部として送信する。そして、通信フレームの送信後に、その通信フレームを送信する原となっていた送信権が消失する。また、送信権の存続中にバスの1線が信号の送信に用いられていない期間がある。
そして、請求項1に記載の通信装置は、送信権の存続中に、次回の送信権の予約取得を他の通信装置に通知する予約信号を送信する予約手段を備える。そして、この予約手段によって送信権を得た場合、調停信号の送信をせずに、データ信号の送信をする。
この発明によれば、CSMA/NBA方式を用いた通信システムに属する通信装置において、通信フレームにおけるデータ信号のビット数を大きくすることなく、実体的な通信速度を向上させることができる。理由は、調停信号の送信を省く場合があるからである。すなわち、実体的な通信速度は、先述したように、調停信号の送信により遅くなってしまう。よって、調停信号を省くことで、実体的な通信速度を速くすることができる。調停信号を省くことができるのは、予約手段によって送信権が決まれば調停信号の送信が不要になるからである。
また、予約信号の送信を送信権の存続中に行うのは、バスが開放されるのを防ぐためである。送信権が消失してバスが開放されると、他装置が調停信号の送信を始める可能性がある。そこで、送信権の存続中に予約を済ませることで、このような事態が発生しないようにしている。
また「予約信号の送信のために通信フレームが長くなって、実体的な通信速度が遅くなる」ことは回避できる。送信権の存続中には、バスの1線が信号の送信に用いられていない期間がある。この1線を用いれば、通信フレームを長くしなくても予約信号の送信ができる。
ただし、予約信号の送受信は、上記信号の時間領域に限られない。例えば、緩衝期間があれば、その緩衝期間において予約信号を送信する方法も考えられる。緩衝期間とは、異なる二つの時間領域(例えば、データ信号の時間領域、及びその他の信号の時間領域)を区切るための時間領域である。バスが2線あれば同時に2ビットの情報が送信できるので、緩衝期間であることを示す信号および予約信号を、緩衝期間において送信できる。
ところで、通信フレームの送信中に、受信確認が行われる場合がある。受信確認とは、受信側の通信装置による受信が正常に行われたかを、送信権のある通信装置が確認することである。この受信確認の具体的方法は、例えば、データ信号を正常に受信したことを示す受信確認信号を、受信側の通信装置が送信権のある通信装置に送信し、この受信確認信号を送信権のある通信装置が受信する、というものである。このような受信確認が、バスの1線を介して行われる場合には、次のように構成すると良い。
請求項2に記載の通信装置は、次のような通信システムに属する。この通信システムでは、送信権を得た通信装置は、データ信号をバスの1線を介して送信すると共に、そのデータ信号を構成する各ビットのビットタイムを示すクロック信号を、データ信号の送信に用いられるバスの1線とは異なる1線を介して送信する。そして、データ信号の正常な受信をした通信装置は、その受信を送信権のある通信装置に確認させるための受信確認信号を、バスの何れか1線を介して送信する。また、データ信号の送信を終えた通信装置は、受信確認信号を受信することでデータ信号の受信確認をする。
なお、受信確認信号の送信中は、バスの1線が信号の送信に用いられていない期間である。また、クロック信号は、例えば、データ・ストローブ方式におけるストローブ信号や、クロックを直接的に示す信号が考えられる。なお、データ・ストローブ方式を採用すれば、クロック・スキュー(クロックの伝播による遅延時間のバラツキ)に強くなり、さらに、装置を小規模な回路で構成しやすくなる。
ところで、送信権を持っている通信装置が連続して送信権を得る場合は、具体的には以下のように構成できる。
請求項3に記載の通信装置が備える予約手段は、送信中の通信フレームに属するデータ信号に引き続いて送信されるべきデータ信号がある場合、予約信号を送信する。
請求項3に記載の通信装置が備える予約手段は、送信中の通信フレームに属するデータ信号に引き続いて送信されるべきデータ信号がある場合、予約信号を送信する。
この発明によれば、一つの通信フレームでは送信できない量のデータを送信するような場合に予約信号を送信することで、複数の通信フレームを連続して送信することができる。その際、調停信号の送信が省略されるため、実体的な通信速度を向上させることができる。
ところで、受信した通信フレームによってデータの送信要求に対する応答(リード応答)をする場合は、具体的には以下のように構成できる。
請求項4に記載の通信装置が備える予約手段は、自装置によるデータ信号の送信が、受信中の通信フレームによって要求された場合、予約信号を送信する。
請求項4に記載の通信装置が備える予約手段は、自装置によるデータ信号の送信が、受信中の通信フレームによって要求された場合、予約信号を送信する。
この発明によれば、リード要求を受けた場合に予約信号を送信することで、調停信号の送信を省いてリード応答ができるため、実体的な通信速度を向上させることができる。
本発明の実施例を説明する。図1は、本発明が適用された車載用通信システム1のブロック構成図である。車載用通信システム1は、自動車に搭載されるものであり、複数のECU(電子制御装置)10、10…、データバス98及びストローブバス99から構成される。各ECU10は、それぞれが制御対象とする車載機器(エンジン、エアコン等)の制御をする装置である。そして、ECU10同士は、その制御のために、データバス98とストローブバス99とから成る2線式バスを介して、IEEE1394を改良した通信プロトコルに従う半二重シリアル通信が可能に構成されている。
IEEE1394は、データ・ストローブ方式を採用しており、データバス98と、ストローブバス99とで別々の値を持つことができる。その値は、具体的には、High値(以下「H値」という)又はLow値(以下「L値」という)である。また、データバス98及びストローブバス99それぞれは、オープンコレクタで接続されており、H値がレセッシブ、L値がドミナントとなっている。つまり、H値とL値とが同時にバスに送信されると、受信される値はL値となる。
なお、各ECU10がデータバス98から受信する値を「データ受信値」、ストローブバス99から受信する値を「ストローブ受信値」と呼ぶことにする。また、各ECU10がデータバス98に送信する値を「データ送信値」、ストローブバス99に送信する値を「ストローブ送信値」と呼ぶことにする。
また、図示のようにECU10は、送信部11・調停部12・データ再同期部13・受信部14・セレクタ(SEL)15/16を備える。なお、各ECU10の内部構成は同じなので、一つのECU10のみについて内部構成を図示し、他のECU10については図示を省く。また、本来は、この他にも制御等のための構成を備えるが、本発明は通信に特徴があるので通信のための構成のみを図示し、その他の構成の図示や説明は省く。
送信部11及び調停部12は、状況に応じて、データ送信値およびストローブ送信値の送信主体になる。具体的には、調停部12が送信主体となるのは、送信権を得るために調停信号(後述)を送信する場合である。一方、送信部11が送信主体となるのは、調停信号を送信し終えた後、自装置に送信権がある場合である。また、セレクタ15(16)は、送信部11及び調停部12から送信された信号同士がデータバス98(ストローブバス99)で衝突しないように、一方から送信された信号のみがデータバス98(ストローブバス99)に送信されるように機能する。
また、送信部11によるデータ送信値およびストローブ送信値は、実体的な情報を示すためのものである(データフィールドにおけるデータ信号およびストローブ信号。図4参照)。
一方、調停部12及びデータ再同期部13は、常時、データ受信値およびストローブ受信値の受信主体となる。
また、調停部12は、CSMA/NBA方式を実現するためのものである。具体的には、調停部12は、データ受信値およびストローブ受信値に基づいて、バスが開放されているかを判定する。さらに、調停部12は、バスが開放されていると判定した場合に送信権を得ようとするときは、自身によるデータ送信値およびストローブ送信値、並びに、データ受信値およびストローブ受信値に基づいて調停に負けたかを判定する(判定の具体的方法は、図3(b)の説明と共に述べる。)。また、調停部12は、予約信号(後述)の送受信の主体となる。
また、調停部12は、CSMA/NBA方式を実現するためのものである。具体的には、調停部12は、データ受信値およびストローブ受信値に基づいて、バスが開放されているかを判定する。さらに、調停部12は、バスが開放されていると判定した場合に送信権を得ようとするときは、自身によるデータ送信値およびストローブ送信値、並びに、データ受信値およびストローブ受信値に基づいて調停に負けたかを判定する(判定の具体的方法は、図3(b)の説明と共に述べる。)。また、調停部12は、予約信号(後述)の送受信の主体となる。
データ再同期部13は、データ受信値およびストローブ受信値に基づいて、データの再同期をする。具体的には、データ受信値とストローブ受信値との排他的論理和(XOR:データ受信値とストローブ受信値とが同じなら「0」、異なれば「1」)によって得られるクロック(受信クロック)を、ECU10が備えるシステムクロック(図示なし)に同期させる。
ところで、このようなデータの再同期は、データ・ストローブ方式に基づく信号を対象として行うものであり、それ以外の信号を対象として行う必要はない。本実施例でのデータ・ストローブ方式に基づく信号は、データフィールドにおいて送信されるデータ信号およびストローブ信号である。よって、データ再同期部13は、データフィールドにおいてクロックの再生をするようになっている。
受信部14は、データ再同期部13によって再同期されたデータの受信処理をしたり、エラー検出をしたりする。
このようにECU10は、各構成要素によって各信号を処理しているが、以下からは簡単のために、各処理の主体をECU10として表記する。
このようにECU10は、各構成要素によって各信号を処理しているが、以下からは簡単のために、各処理の主体をECU10として表記する。
図2は、ECU10が送受信するデータフレームのフォーマットを示した図である。データフレームは、調停フィールド、データフィールド、及びACK(受信確認)フィールドから成る。また、データフィールドは、ヘッダ領域、データ領域およびフッタ領域で構成される。ヘッダ領域は、フレームの属性(リード/ライト)やアドレス、データ長の情報を送信するためのものである。データ領域は、データ長で指定したサイズ(例えば8バイト)のデータを送信するためのものである。フッタ領域は、データフレーム送受信の信頼性確保のために、誤り検出符号としてCRC(Cyclic Redundancy Check)を送信するためのものである。なお、データフレームの開始/終了が検出できるように、データフレーム同士の間にはGAP(すき間)がある。
次から、各フィールドにおいてどのように信号が送信されるかを[1.送信権の予約取得がされない場合][2.連続送信のための送信権予約の場合][3.リード応答のための送信権予約の場合]の3つに場合分けして説明する。
[1.送信権の予約取得がされない場合]
ECU10が従う通信プロトコルには、既存のIEEE1394に対する改良点がある。その改良点は、調停信号の送信をせずに送信権を得ること(送信権の予約取得)に関する。よって、送信権の予約取得がされない場合であれば、結果的に既存のプロトコルと同じになる。まずは、この場合について説明する。
[1.送信権の予約取得がされない場合]
ECU10が従う通信プロトコルには、既存のIEEE1394に対する改良点がある。その改良点は、調停信号の送信をせずに送信権を得ること(送信権の予約取得)に関する。よって、送信権の予約取得がされない場合であれば、結果的に既存のプロトコルと同じになる。まずは、この場合について説明する。
図3(a)は、データフレーム送信終了後における、データ受信値、ストローブ受信値、及びシステムクロックの関係を示したタイミングチャートである。なお、システムクロックは、データフレームを送信したECU10のものである。
各ECU10は、自装置または他装置によるデータフレーム送信終了後、データバス98及びストローブバス99への信号送信を止める。全ECU10がデータフレームの送信をしなければ、データ受信値およびストローブ受信値は共にH値となる。
ところで、あるECU10のデータ送信値およびストローブ送信値がH値であった場合、そのECU10が上記のように「信号送信を止め」ても、データ受信値およびストローブ受信値に与える影響は変わらない。しかし、各ECU10が送信主体として動作している状態と、そうでない状態とは異なるので、両者を区別して表記する。
なお、データ受信値およびストローブ受信値が共にH値のまま10サイクル経つと、本実施例では送信権が消失することになっている。よって、ACKフィールド後の10サイクルが過ぎると送信権が消失する。この10サイクルをサンプル期間という。そして、更に6サイクルを経るとバスが開放されて、何れのECU10も通信フレームの送信が開始できるようになる。この6サイクルはホールド期間であり、全ECUが信号送信できない。なお、このサンプル期間およびホールド期間が、先述したGAPであり、二つ合わせて開放検出期間と呼ぶ。
図3(b)は、調停フィールドにおける、データ受信値、ストローブ受信値、及びシステムクロックの関係を示したタイミングチャートである。なお、システムクロックは、ID(調停番号):010のデータフレームを送信するECU10(以下「010ECU」という。)のものである。IDとは、データフレームの識別子であり、調停信号として送信されるものである。
各ECU10は、バスが開放されている場合にデータフレームの送信を開始しようとするときは、ストローブ送信値をL値にすると共に、IDの最上位をデータ送信値にすることになっている。正確には、IDの最上位が「0」ならL値を、IDの最上位が「1」ならH値をデータ送信値とする。ここでのデータ送信値が、調停信号である。一方、他のECU10は、ストローブ受信値がL値になったことを検出すると、データフレームの送信が開始されたと判定する。そして、調停に参加する場合は、ストローブ受信値がL値に変化したのを検出し次第、自らもストローブ送信値をL値にすると共に、IDの最上位をデータ送信値にする。
図3(b)は、010ECUによる送信開始後に、ID:001のデータフレームを送信するECU10(以下「001ECU」という。)による送信開始があった場合である。この場合は、両ECUとも、調停1ビット目においてデータ送信値をL値にすることになる。なお、調停フィールドにおける1ビットタイムは、システムクロックの10サイクルと定められている。
そして、調停信号を送信するECU10それぞれは、調停信号送信の開始時点から6サイクル経過時のデータ受信値に基づいて、調停に負けたかを判定する。具体的には、自身のデータ送信値がH値にも関わらず、データ受信値がL値の場合は調停負けと判定し、データバス98及びストローブバス99への送信を止める。さもなくば、調停に負けていないと判定して送信を続ける。
図3(b)の場合は、1ビット目において、両ECU10は共にデータ送信値がL値なので、両方とも送信を続けることになる。そして、上記判定時点から4サイクルはホールド期間として定められているので、データ送信値およびストローブ送信値を保持する。そして、ホールド期間終了と共に調停1ビット目が終わるので、調停2ビット目に入り、2番目のIDをデータ送信値にする。
そして、調停2ビット目のデータ送信値は、010ECUがH値、001ECUがL値にすることになる。そして、この場合、データ受信値はL値となる。この結果、010ECUは、データ受信値がL値、データ送信値がH値となるので、この受信時点で調停負けと判定して送信を止める。そして、調停最後の3ビット目(図示せず)において、001ECUは、データ送信値及びデータ受信値が共にH値となるので、調停に負けなかったことになり、データフィールドにおける信号送信に移る。つまり、調停の結果、001ECUが、送信権を得たことになる。以下、送信権を得たECU10を「送信ECU」という。
図4(a)は、調停フィールド後における、データ受信値、ストローブ受信値、受信クロック、及び送信ECUのシステムクロックの関係を示したタイミングチャートである。なお、本実施例では、シングル・データ・レート(SDR)を採用しているので、受信クロックは、送信ECUのシステムクロックの周期を2倍にしたものに相当する。
送信ECUは、図4(a)に示すように、調停フィールド終了から4〜8サイクルの間(図は8サイクルの場合を図示)、データ送信値およびストローブ送信値をH値にする(Data-Prefix:緩衝期間に相当)。Data-Prefixとは、調停フィールドとデータフィールドとを区切るための信号状態(データ受信値およびストローブ受信値が共にH値)のことである(図2では図示せず。)。
また、送信ECU以外のECU10は、Data-Prefixを検出すると、データ・ストローブ方式による受信クロックの再生を開始する。そして、データ・ストローブ方式によるデータの送受信が開始される。また、これに伴いData-Prefixが終わることになる。
図4(b)は、データフィールド終了後における、データ受信値、ストローブ受信値、受信クロック、及び送信ECUのシステムクロックの関係を示したタイミングチャートである。
送信ECUは、データフィールド終了後、フィールドエンドにおいて、データ送信値およびストローブ送信値をH値にする。フィールドエンドとは、データフィールドとACKフィールドとを区切るための信号状態(データ受信値およびストローブ受信値が共にH値)のことである(図2では図示せず。)。フィールドエンドも緩衝期間に相当する。
一方、データフレームを受信するECU10(以下「受信ECU」という。)は、データ受信値およびストローブ受信値が共にH値であることが4サイクル以上続いたことを検出すると、データフィールドが終了し、フィールドエンドになったと判定する。そして、受信ECUは、CRC処理の結果が正常であれば、データフィールド終了後8サイクル以内に(図4(b)では6サイクルで)、ACKの返信(受信確認信号)としてデータ送信値をL値にする。データ受信値がL値になると、フィールドエンドが終わり、ACKフィールドが始まることになる。
送信ECUは、データ受信値がL値になったのを検出してから6サイクル目のデータ受信値に基づいて、ACKの返信が正常かを判定する。ACKフィールドは10サイクルなので、その判定後4サイクルが経つと、ACKフィールドが終了する。そして、その終了と共に全ECU10が送信を止める。さらに、ACKフィールド終了からサンプル期間(10サイクル)が経つと送信権が消失し、ホールド期間(6サイクル)を経てバスが開放される。
図5は、ACKの返信がされない場合のデータフィールド終了後における、データ受信値、ストローブ受信値、受信クロック、及び送信ECUのシステムクロックの関係を示したタイミングチャートである。ACKが返信されない原因としては、受信したデータのサイズがヘッダ領域で示されたサイズと異なっていることや、CRCエラー等がある。
データフィールド終了後8サイクル以内にACKの返信がない場合は、送信ECUはACKエラーと判定し、送信を止める。さらに2サイクルに渡りデータ受信値およびストローブ受信値が共にH値であれば、計10サイクルに渡りデータ受信値およびストローブ受信値が共にH値となるので、送信権が消失する。その後、ホールド期間を経てバスが開放される。
[2.連続送信のための送信権予約の場合]
ここから、既存のプロトコルからの改良点、つまり本発明の特徴となるプロトコルの説明をする。まず、送信ECUが連続送信をする場合の説明をする。例えば、走行制御用等のセンサから得たデータを送信する場合は、一つのデータフレームでは送信できない量のデータを一度に送信する必要があることが多い。このような場合に用いられるプロトコルを説明する。
[2.連続送信のための送信権予約の場合]
ここから、既存のプロトコルからの改良点、つまり本発明の特徴となるプロトコルの説明をする。まず、送信ECUが連続送信をする場合の説明をする。例えば、走行制御用等のセンサから得たデータを送信する場合は、一つのデータフレームでは送信できない量のデータを一度に送信する必要があることが多い。このような場合に用いられるプロトコルを説明する。
図6(a)は、データフィールド終了後における、データ受信値、ストローブ受信値、受信クロック、及び送信ECUのシステムクロックの関係を示したタイミングチャートである。つまり、図4(b)で説明した内容の替わりに実行する内容になる。そこで、図4(b)の場合、つまり送信権の予約がされない場合との違いを説明する。
まず、データフレームの属性について説明する。データフレームの属性には、ライト(データ送信)と、リード(データの返信要求)とがある。送信権の予約がされる場合は、送信権の予約がされない場合と異なり、属性について条件がある。その条件とは、連続送信の場合、送信権予約は、属性がライトのデータフレームの送信中にのみ行われることである。属性がリードのデータフレームの送信中に行われないのは、先述した「一つのデータフレームでは送信できない量のデータを一度に送信する」場合に当てはまらないからである。
送信ECUは、送信権の存続中において、具体的には、データフィールド終了後のフィールドエンドからACKフィールドにおいて、予約信号として、ストローブ送信値をL値にする。一方、受信ECUは、データ受信値がH値、ストローブ受信値がL値であることが4サイクル以上続いたことを検出すると、データフィールドが終了したと判定すると共に、送信ECUによって次回の送信権が予約されたことを認識する。なお、ACKの返信は、データバス98を介して行われるので、予約信号の送信によって影響を受けることなく、従来通り実施される。
そして、送信ECUは、ACKフィールドの終了後(正確には、データ受信値がLからHになったのを確認した後)、予約信号の送信(ストローブ送信値をL値にすること)を止め、ストローブ送信値をH値にすることでData-Prefixにする(図6(a)の場合は、ACKフィールドの終了からH値の送信までに、1サイクルのタイムラグが生じている。)。そして、送信権を予約取得したECU10は、送信権が消失する前に(正確には、Data-Prefixになってから4〜8サイクル経過時に)、データフィールドにおけるデータ信号およびストローブ信号の送信を開始する。
このように、予約信号を送信した上で、データ受信値およびストローブ受信値が共にH値になってから8サイクル経過までに送信を開始すれば、調停信号を送信しなくても連続送信ができる。調停信号を省くことができるのは、予約信号が調停信号の役割を肩代わりしているからである。この肩代わりができるのは、連続送信を前提にすれば、「送信ECU及び送信されるデータの種別が維持される」という1ビットの情報と、調停信号の情報とが、同じものになるからである。
また、ACKフィールドにおいて、従来は遊んでいたストローブバス99を新たに活用することによって予約信号を送信しているので、予約信号が通信フレームを長くすることはない。よって、連続送信をする場合に、データ信号のビット数を大きくしなくても、実体的な通信速度が速くなる。特に自動車搭載用は、通信高速化と回路の小型化とが同時に要求されるので、回路(具体的にはバッファ)を大きくすることなく通信高速化を図れるのは、大変有利である。
[3.リード応答のための送信権予約の場合]
次に、受信ECUがリード応答のために送信権予約をする場合の説明をする。図6(b)は、データフィールド終了後における、データ受信値、ストローブ受信値、受信クロック、及び送信ECUのシステムクロックの関係を示したタイミングチャートである。この場合も、図4(b)で説明した内容の替わりに実行する内容になるので、送信権の予約がされない場合との違いを説明する。
[3.リード応答のための送信権予約の場合]
次に、受信ECUがリード応答のために送信権予約をする場合の説明をする。図6(b)は、データフィールド終了後における、データ受信値、ストローブ受信値、受信クロック、及び送信ECUのシステムクロックの関係を示したタイミングチャートである。この場合も、図4(b)で説明した内容の替わりに実行する内容になるので、送信権の予約がされない場合との違いを説明する。
先述したように、送信権の予約がされない場合、データフレームの属性は、ライトのときもリードのときもあり得る。一方、リード応答のための送信権予約は、当然、属性がリードのデータフレームの送信中にのみ行われる。
送信権を予約する受信ECUは、ACKフィールドにおいて、予約信号として、ストローブ送信値をL値にする。そして、送信ECUは、データ受信値に基づくACKの返信の判定と同時に、ストローブ受信値に基づいて送信権予約の有無を判定する。具体的には、送信ECUは、ストローブ受信値がH値であれば、送信権予約がなかったと判定する。一方、ストローブ受信値がL値であれば、リード応答をすべき受信ECUによって次回の送信権が予約されたと判定する。
そして、ACKフィールド後から4〜8サイクル経過時において、予約信号によって送信権を取得したECU10は、データ信号およびストローブ信号の送信を開始する。一方、リード応答を要求したECU10は、両信号をリード応答として受信する。
この場合においても、連続送信の場合と同様に、調停信号の送信を省くことができ、実体的な通信速度が速くなる。
なお、リード応答のための予約信号を、複数の受信ECUが送信してしまうことは無い(エラーの場合は除く)。一つのデータフレームによってリード応答を要求される受信ECUは一つしかなく、その受信ECUのみが、予約信号を送信するようになっているからである。
なお、リード応答のための予約信号を、複数の受信ECUが送信してしまうことは無い(エラーの場合は除く)。一つのデータフレームによってリード応答を要求される受信ECUは一つしかなく、その受信ECUのみが、予約信号を送信するようになっているからである。
以上で実施例の説明を終え、ここから変形例を述べる。次の《1》〜《12》は、各変形例の説明として、実施例との違いを述べたものである。
《1》送信ECUは、連続送信のための予約信号をACKフィールドにおいて送信し始めてもよい。この場合、受信ECUは、ACKフィールドにおいて予約の有無を判定することになる。ただし、実施例通りフィールドエンドから送信し始める方が好ましい。理由は、受信ECUにとって、早く予約の有無が確認できて準備がしやすいから、及びリード応答のための予約信号と区別がしやすいからである。
《1》送信ECUは、連続送信のための予約信号をACKフィールドにおいて送信し始めてもよい。この場合、受信ECUは、ACKフィールドにおいて予約の有無を判定することになる。ただし、実施例通りフィールドエンドから送信し始める方が好ましい。理由は、受信ECUにとって、早く予約の有無が確認できて準備がしやすいから、及びリード応答のための予約信号と区別がしやすいからである。
《2》連続送信、リード応答何れの場合も、予約信号の送信タイミングは、ACKフィールドやフィールドエンドでなくても良い。例えば、調停フィールドとデータフィールドとの間のData-Prefixでも良い。
《3》送信ECUは、連続送信のために送信権を予約する場合、ACKの返信を確認後、次回のデータフィールド送信の準備ができていないとき、準備ができるまで予約信号の送信を続けることでバスを開放しないようにしてもよい。送信の準備ができていないのに両バスにH値を送信して10サイクル経ってしまうと、送信権が消失し、バスが開放されて他のECU10が調停信号を送信する可能性があるからである。
《4》予約信号を送信する機能を備えるECUは、通信システムに属する一部のECUでもよいし、実施例のように全ECUでもよい。ところで、実施例では、予約信号の送信が無制限に行われないように、送信権の予約取得の目的を、連続送信とリード応答とに限っていた。さもなくば「複数のECUが、一つのデータフレームの送信時に予約信号を送信して、同時に送信権を取得する」ことや「送信されているデータフレームの識別子を、受信ECUが把握できない」こと等に起因するエラーの可能性が出てくる。
しかし、そのようなエラーの可能性がない構成であれば、目的を制限する必要が無くなる。その構成とは、例えば「予約信号を送信できるECUは一つしかなく、予約取得された送信権に基づいて送信されるデータフレームは1種類しかない」という通信システムが考えられる。特に重要なECUがあれば、このように構成してもよい。
《5》IDは、優先調停用のビットを付加したものでもよい。優先調停用のビットとは、調停に負けた後やエラーの後に、優先的に送信権を得るためのものである。
《6》実施例ではIDはデータフレームの識別子であったが、ECUの識別子としてもよい。
《7》実施例ではCRCを用いていたが、パリティやチェックサムなどの誤り検出でもよい。
《8》特に信頼性を確保する必要がなければ、CRC等を付加しなくてもよい。
《9》データバス98とストローブバス99との役割を、一部入れ替えても良い。例えば、連続送信のための予約信号をデータバス98を介して送信し、ACKの返信をストローブバス99を介して送信しても良い。
《10》実施例中の数値(サイクル期間・データ長・調停番号など)は、変更しても構わない。
《11》オープンコレクタの替わりに、ワイヤードORを用いてもよく、送信中はトーテムポールモードでもよい。
《12》車載用の通信装置でなくても、前提となる通信プロトコルが同様である通信装置に本発明を適用してもよい。
《6》実施例ではIDはデータフレームの識別子であったが、ECUの識別子としてもよい。
《7》実施例ではCRCを用いていたが、パリティやチェックサムなどの誤り検出でもよい。
《8》特に信頼性を確保する必要がなければ、CRC等を付加しなくてもよい。
《9》データバス98とストローブバス99との役割を、一部入れ替えても良い。例えば、連続送信のための予約信号をデータバス98を介して送信し、ACKの返信をストローブバス99を介して送信しても良い。
《10》実施例中の数値(サイクル期間・データ長・調停番号など)は、変更しても構わない。
《11》オープンコレクタの替わりに、ワイヤードORを用いてもよく、送信中はトーテムポールモードでもよい。
《12》車載用の通信装置でなくても、前提となる通信プロトコルが同様である通信装置に本発明を適用してもよい。
最後に、実施例と特許請求の範囲との対応を説明する。調停部12が、特許請求の範囲の予約手段に相当する。
1…車載用通信システム、10…ECU、11…送信部、12…調停部、13…データ再同期部、14…受信部、15/16…セレクタ、98…データバス、99…ストローブバス
Claims (4)
- 複数の通信装置が、2線式のバスを介して互いに半二重シリアル通信をするようになっており、
通信フレームを送信しようとする通信装置は、CSMA/NBA方式に基づいて、通信フレームの一部としての調停信号を送信し、
送信権を得た通信装置は、実体的な情報を送信する場合、その実体的な情報を示すデータ信号を前記通信フレームの一部として送信し、
前記通信フレームの送信後に、その通信フレームを送信する原となっていた送信権が消失し、
送信権の存続中に前記バスの1線が信号の送信に用いられていない期間がある通信システムに属する通信装置であって、
送信権の存続中に、次回の送信権の予約取得を他の通信装置に通知する予約信号を送信する予約手段を備え、
前記予約手段によって送信権を得た場合、前記調停信号の送信をせずに、前記データ信号の送信をする
ことを特徴とする通信装置。 - 送信権を得た通信装置は、前記データ信号を前記バスの1線を介して送信すると共に、そのデータ信号を構成する各ビットのビットタイムを示すクロック信号を、前記データ信号の送信に用いられるバスの1線とは異なる1線を介して送信し、
前記データ信号の正常な受信をした通信装置は、その受信を送信権のある通信装置に確認させるための受信確認信号を、前記バスの何れか1線を介して送信し、
前記データ信号の送信を終えた通信装置は、前記受信確認信号を受信することで前記データ信号の受信確認をする通信システムに属する
ことを特徴とする請求項1に記載の通信装置。 - 前記予約手段は、送信中の前記通信フレームに属する前記データ信号に引き続いて送信されるべき前記データ信号がある場合、前記予約信号を送信する
ことを特徴とする請求項1又は請求項2に記載の通信装置。 - 前記予約手段は、自装置によるデータ信号の送信が、受信中の通信フレームによって要求された場合、前記予約信号を送信する
ことを特徴とする請求項1〜請求項3の何れか1項に記載の通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009220853A JP2011071727A (ja) | 2009-09-25 | 2009-09-25 | 通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009220853A JP2011071727A (ja) | 2009-09-25 | 2009-09-25 | 通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011071727A true JP2011071727A (ja) | 2011-04-07 |
Family
ID=44016569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009220853A Pending JP2011071727A (ja) | 2009-09-25 | 2009-09-25 | 通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011071727A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03273730A (ja) * | 1990-03-22 | 1991-12-04 | Yuniueru:Kk | 通信制御方法 |
JPH09181754A (ja) * | 1995-12-26 | 1997-07-11 | Omron Corp | 通信制御システム及び通信制御方法 |
-
2009
- 2009-09-25 JP JP2009220853A patent/JP2011071727A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03273730A (ja) * | 1990-03-22 | 1991-12-04 | Yuniueru:Kk | 通信制御方法 |
JPH09181754A (ja) * | 1995-12-26 | 1997-07-11 | Omron Corp | 通信制御システム及び通信制御方法 |
Non-Patent Citations (2)
Title |
---|
CSND200200622003; 松井俊也: 'IEEE1394拡張規格の内容と機能' トランジスタ技術SPECIAL No.70, 20000401, pp.47-73, CQ出版株式会社 * |
JPN6013009569; 松井俊也: 'IEEE1394拡張規格の内容と機能' トランジスタ技術SPECIAL No.70, 20000401, pp.47-73, CQ出版株式会社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10742675B2 (en) | Fraudulent message detection device, electronic control apparatus equipped with fraudulent message detection device, fraudulent message detection method, and fraudulent message detection program | |
KR101472896B1 (ko) | 차량 내 통신 네트워크에서의 보안 강화 방법 및 그 장치 | |
KR101519793B1 (ko) | 차량용 네트워크 시스템 및 이 시스템 내 이종 통신 제어기의 데이터 전송 방법 | |
US9298529B2 (en) | Indicating internal transmitter errors in a controller area network (CAN) | |
US20170235698A1 (en) | Controller area network (can) message filtering | |
US8306004B2 (en) | Communication network system having high-ranking network and low-ranking networks, interchange terminal connecting high-ranking network and low-ranking network, microcomputer controlling connection between transmission line of low-ranking network and transmission line of high-ranking network, and communication transmitter-receiver connected with transmission line of low-ranking network and transmission line of high-ranking network | |
US9461937B2 (en) | Method and device for a serial data transmission with additionally inserted data | |
JP5814474B2 (ja) | 通信システムを駆動する方法 | |
JP2008219555A (ja) | 車載用の中継接続ユニット | |
US20150095532A1 (en) | Controller area network (can) device and method for controlling can traffic | |
JP4766160B2 (ja) | 通信システムおよび通信ノード | |
TWI537742B (zh) | 具控制器區域網路匯流排模組及自動速度偵測之微控制器及用於初始化微控制器中之控制器區域網路模組之方法 | |
AU2012250760A1 (en) | Methods and apparatus for transporting data through network tunnels | |
CN110784385B (zh) | 用于在多主机总线上传送数据帧的方法和装置 | |
JP2012080360A (ja) | 通信システム、マスタノード、スレーブノード | |
US20160283432A1 (en) | Protocol-tolerant communications in controller area networks | |
US20170134299A1 (en) | Method and apparatus for controlling message over heterogeneous network | |
KR101334017B1 (ko) | 차량 네트워크의 메시지 무결성 체크 시스템 및 방법 | |
KR20200139059A (ko) | 제어기 진단 장치 및 그 방법 | |
KR101714526B1 (ko) | 차량 네트워크 해킹 방지 방법 및 장치 | |
EP2940935B1 (en) | Controller area network (CAN) device and method for controlling CAN traffic | |
CN112823496B (zh) | 帧屏蔽单元、用于串行总线系统的用户站以及用于在串行总线系统中进行通信的方法 | |
CN108880965B (zh) | 一种用于自动驾驶汽车的动力can网关及其实现方法 | |
JP3164402B2 (ja) | 多重伝送方式 | |
JP2011071727A (ja) | 通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130212 |
|
A131 | Notification of reasons for refusal |
Effective date: 20130312 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Effective date: 20140401 Free format text: JAPANESE INTERMEDIATE CODE: A02 |