説明

通信装置

【課題】複数の通信装置に同一の識別コードを割り当てることを可能としつつ、バス負荷の増大を抑制する。
【解決手段】送信用メッセージボックスにウェイクアップ指示用フレームをセットする場合にはエラー割込みを許可し(S11:YES,S13)、エラーが発生した場合にはエラー割込みにより送信用メッセージボックスにセットされたウェイクアップ指示用フレームの送信をキャンセルする(S21)。このため、ウェイクアップ指示用フレームの送信元IDとして同一の送信元IDを複数のECU10に割り当てることができ、これが原因でエラーが発生してもウェイクアップ指示用フレームの再送信が行われないため、バス負荷の増大を抑制することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の通信装置が共通のバスを介して通信を行い、バス上でフレームの衝突が発生した場合には、フレームに含まれた識別コードを用いて調停処理を行う通信システムに用いられる通信装置に関するものである。
【背景技術】
【0002】
従来、ローカルエリアネットワーク(LAN)、特に車内LANに多用されている通信プロトコルとして、CSMA/CD方式のCAN(Controller Area Network)プロトコルが知られている(特許文献1参照)。
【0003】
CANプロトコルで規定されたフレームの先頭部分には、後続のデータ領域にどのようなメッセージが割り付けられたフレームであるかを識別するための識別コード(ID)が含まれており、通信システムを構成する通信装置は、受信したフレームの種別を、そのフレームに含まれているIDに基づき識別する。なお、IDは、通信装置間で同じ値を持つことがないようにユニークに割り当てられるように規定されている。
【0004】
また、複数の通信装置が共通のバスを介して通信を行うため、送信すべきフレームを有する通信装置は、バスが使用中でなければ直ちにフレームの送信を開始し、バスが使用中であればバスが解放(フレームの送信が終了)されてからフレームの送信を開始する。このため、送信すべきフレームを有する通信装置が複数存在すると、複数の通信装置が同時にフレームの送信を開始することがあり、この場合、バス上でフレームの衝突が発生する。
【0005】
このようなフレームの衝突が発生した場合、CANプロトコルでは、どのフレームを優先的に処理するかを決定する調停処理を、前述のIDを用いて行うように規定されている。すなわち、CANプロトコルでは、バス上の信号レベルとしてドミナント(優性)とレセッシブ(劣性)とが規定されており、複数の通信装置からドミナントとレセッシブとが同時に送信された場合、バス上の信号レベルはドミナントとなる。なお、一般的に、ドミナントの論理値を「0」、レセッシブの論理値を「1」として考える。
【0006】
そして、通信装置は、フレームの送信中に、送信したフレームの信号レベルとバス上の信号レベルとをビットごとに比較し、IDを構成するビットの送信中に、送信したフレームの信号レベルとバス上の信号レベルとが相違した場合には、調停負けと判定してフレームの送信を中止して受信状態に遷移する。複数の通信装置が同時にフレームの送信を開始しても、送信フレームのIDは互いに相違することから、値が相違するビットを送信したタイミングで、レセッシブ「1」を送信した通信装置が調停負けとなる。この結果、IDを送信し終えた段階でフレームを送信しているのは1つの通信装置となり、この通信装置(調停に勝ち残った通信装置)によってフレームの送信が継続される。
【0007】
一方、IDよりも後のビットの送信中に、送信したフレームの信号レベルとバス上の信号レベルとが相違した場合には、エラーが発生したと判定する。この場合、通信装置は、フレームの送信を中止するとともに、エラーフレームを送信することで他の通信装置にもエラーの発生を通知するエラー処理を行う。このエラー処理の後、通信装置は、エラーの発生により送信が完了しなかったフレームを再送信する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2006−287738号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、通信を実行可能な通常モードと、通信を停止して消費電力を低減するスリープモードとに動作モードを切替可能な構成の通信装置が用いられる通信システムなどでは、通信装置が送信するフレームとして、一般の制御フレームの他に、ネットワーク管理用フレーム(NMフレーム)が用いられる。NMフレームは、ネットワークの管理のためのデータをやりとりするためのものであり、車両制御用のデータなどをやりとりするための制御フレームに比べると重要度の低いものである。NMフレームとしては、例えば、スリープモードの通信装置を通常モードに遷移(ウェイクアップ)させるためのものや、通常モードの通信装置をスリープモードに遷移させるためのものや、通信装置の生死に関する情報(アライブ情報)を確認するためのものなどが挙げられる。
【0010】
CANプロトコル(ISO11898)などで規定されている通信方式では、IDが通信装置ごとにユニークに割り当てられるため、通信システムを構成する通信装置の数が多い場合、一般の制御に使用しないNMフレームにも多くのIDを割り当てなければならない。このため、一般の制御フレームに割り当てるためのID領域が圧迫されてしまうという問題があった。
【0011】
なお、複数の通信装置に同一のIDを割り当てることも考えられるが、この場合、複数の通信装置から同一IDのフレームが同時に送信されてバス上で衝突すると、IDの送信が終わった段階でも複数の通信装置によってフレームの送信が継続されることになる。このため、IDよりも後のデータの相違によりエラーが発生したと判定され、プロトコルの規定に従ってフレームの再送信が繰り返されてバス上にエラーフレームが頻発することとなり、バス負荷が増大して正常なフレームの送信が妨害されてしまう。
【0012】
本発明は、こうした問題にかんがみてなされたものであり、複数の通信装置に同一の識別コードを割り当てることを可能としつつ、バス負荷の増大を抑制することのできる通信装置を提供することを目的としている。
【課題を解決するための手段】
【0013】
上記目的を達成するためになされた本発明の請求項1に記載の通信装置は、複数の通信装置が共通のバスを介して通信を行う通信システムに用いられるものである。
この通信装置は、識別コードが含まれたフレームの送信中に、送信したフレームの信号レベルとバス上の信号レベルとをビットごとに比較する。そして、識別コードを構成するビットの信号レベルが相違した場合には調停負けと判定してフレームの送信を中止する一方、識別コードよりも後のビットの信号レベルが相違した場合にはエラーが発生したと判定し、フレームの送信を中止するとともにエラーフレームを送信した後、送信が完了しなかったフレームを再送信するように構成されたものである。
【0014】
ただし、この通信装置は、送信するフレームの種別の一つであるネットワーク管理用フレームの送信中に、信号レベルの相違によりエラーが発生したと判定して送信を中止した場合には、送信が完了しなかったネットワーク管理用フレームを再送信しないように構成されている。
【0015】
このような通信装置が用いられた通信システムによれば、ネットワーク管理用フレームの識別コードとして同一の識別コードを複数の通信装置に割り当て、これが原因でエラーが発生しても、ネットワーク管理用フレームの再送信によるバス負荷の増大を抑制することができる。
【0016】
すなわち、ネットワーク管理用フレームの識別コードとして同一の識別コードを複数の通信装置に割り当てた場合、それら複数の通信装置によってネットワーク管理用フレームが同時に送信されると、識別コードの送信が終わった段階でも複数の通信装置によってフレームの送信が継続されることになる。このため、識別コードよりも後のデータの相違によりエラーが発生したと判定され、フレームの送信が中止されるとともにエラーフレームが送信される。したがって、送信が完了しなかったフレームを再送信する処理では、エラーが繰り返し発生してバス負荷が増大してしまうという問題がある。
【0017】
この点、本発明の通信装置は、ネットワーク管理用フレームの衝突によりエラーが発生してもネットワーク管理用フレームを再送信しないため、バス負荷の増大を抑制することができる。したがって、複数の通信装置に同一の識別コードを割り当てることを可能としつつ、バス負荷の増大を抑制することができる。
【0018】
ここで、例えば請求項2に記載のように、通信装置が、通信を実行可能な通常モードと、通信を停止して消費電力を低減するスリープモードとに動作モードを切替可能である場合、ネットワーク管理用フレームとしては、動作モードがスリープモードの状態の他の通信装置を通常モードへ切り替えるためのウェイクアップ指示用フレームが挙げられる。このようなウェイクアップ指示用フレームは、制御用のデータなどをやりとりするための制御フレームに比べると重要度の低いものであるため、エラーの発生により再送信しないことによる影響は小さいものとなる。
【0019】
特に、例えば請求項3に記載のように、通信装置が、動作モードがスリープモードの状態において、ウェイクアップ指示用フレームの送信がエラーの発生により中止されるまでの信号を受信することによって、動作モードを通常モードへ切り替える構成であれば、ウェイクアップ指示用フレームを再送信することなく、スリープモードの通信装置を通常モードへ切り替えることができる。
【0020】
具体的には、例えば請求項4に記載の通信装置は、送信すべきデータを一時的に記憶するための送信用メッセージボックスを備えている。そして、送信用メッセージボックスにネットワーク管理用フレームを一時的に記憶させる場合にはエラー割込みを許可し、エラーが発生した場合にはエラー割込みにより送信用メッセージボックスに記憶されているネットワーク管理用フレームを消去する。このようにすれば、エラーの発生により送信が完了しなかったフレームを再送信する処理をベースとしながら、ネットワーク管理用フレームについては例外的な処理として再送信を行わないようにすることができる。
【図面の簡単な説明】
【0021】
【図1】実施形態の通信システムの構成を表すブロック図である。
【図2】CANプロトコルのフレームフォーマットの一例を表す説明図である。
【図3】(a)は送信処理のフローチャートであり、(b)はエラー割込み処理のフローチャートである。
【図4】(a)はエラー割込みをしない構成のタイミングチャートであり、(b)はエラー割込みをする構成のタイミングチャートである。
【発明を実施するための形態】
【0022】
以下、本発明が適用された実施形態について、図面を用いて説明する。
[1.全体構成]
図1は、通信プロトコルとしてCAN(Controller Area Network)プロトコルが用いられた車載用の通信システムの構成を表すブロック図である。
【0023】
この通信システムは、車両に搭載された複数の電子制御ユニット(以下「ECU」という。)10,10,…が、共通のバス90を介して相互に通信可能となるように接続されたものであり、各ECU10が通信装置(ノード)として機能する。なお、車両に搭載されたECU10,10,…としては、例えば、エンジン制御を行うエンジンECU、ブレーキ制御を行うブレーキECU、ステアリング制御を行うステアリングECU、サスペンション制御を行うサスペンションECU等、種々のECUが挙げられる。
【0024】
また、この通信システムに用いられるECU10,10,…は、通信を実行可能な通常モードと、通信を停止して消費電力を低減するスリープモードとに動作モードを切替可能に構成されている。
【0025】
[2.ECU10の構成]
次に、この通信システムに用いられるECU10の構成について説明する。
ECU10は、車両各部の制御処理や他のECU10との通信処理を実行するマイクロコンピュータ(以下「マイコン」という。)20と、マイコン20とバス90との間を仲介するインタフェース用ICであるトランシーバ50とを備えている。
【0026】
マイコン20は、CANプロトコルに従った通信処理(フレームの送受信、調停処理、エラー処理等)を実行する通信コントローラ30と、通信コントローラ30を介して他のECU10との間でメッセージを交換することにより、他のECU10と連携して各種処理を実行する処理部40とを備えている。なお、CANプロトコルで規定されている調停処理やエラー処理などは、背景技術で説明したとおりである。
【0027】
また、マイコン20は、動作クロックを生成するクロック回路(図示せず)を備えており、クロック回路への電源供給を停止することで、クロック回路の動作を停止させることができるように構成されている。なお、マイコン20のクロック回路が動作している状態が、ECU10の動作モードが通常モードの状態に相当し、マイコン20のクロック回路が動作を停止している状態が、ECU10の動作モードがスリープモードの状態に相当する。そして、ECU10は、動作モードがスリープモードの状態において、バス90上でドミナントパルスが検出されることにより通常モードに遷移(ウェイクアップ)する。
【0028】
トランシーバ50は、通信コントローラ30が生成するフレームを、あらかじめ規定されたバス90の電気的条件を満たす通信信号に変換し、バス90を介して送信する。具体的には、通信コントローラ30は、バス90を介して送信すべきメッセージ等の送信データを格納(一時的に記憶)するための送信用メッセージボックス31を備えており、処理部40によって送信データが送信用メッセージボックス31にセット(記憶)されると、バス90が解放されている状態でその送信データを送信する。
【0029】
[3.フレームフォーマット]
図2は、CANプロトコルのフレームフォーマットの一例を表す説明図である。通信コントローラ30が生成するフレームの先頭部分には、後続のデータ領域にどのようなメッセージが割り付けられたフレームかを識別するための11ビットの識別コード(送信元ID)が含まれており、フレームを受信したECU10は、送信元IDに基づきフレームの種別を識別する。
【0030】
また、通信コントローラ30が生成するフレームの種別としては、一般の制御フレームの他にネットワーク管理用フレーム(NMフレーム)が挙げられ、本実施形態の通信システムでは、スリープモードのECU10を通常モードに遷移(ウェイクアップ)させるためのウェイクアップ指示用フレームをNMフレームとして送信する。
【0031】
送信元IDは、異なるECU10が同じ値を持つことがないようにユニークに割り当てられ、同じECU10であってもフレームの種別によって異なるIDが割り当てられる。ただし、本実施形態の通信システムでは、ウェイクアップ指示用フレームの送信元IDについては、すべてのECU10に共通の送信元IDが割り当てられている。このため、万が一、複数のECU10からウェイクアップ指示用フレームが同時に送信されてバス90上で衝突すると、調停処理が正しく行われず、エラーが発生してしまうことになる。そこで、本実施形態の通信システムに用いられるECU10は、以下に詳述するように、ウェイクアップ指示用フレームの送信中にエラーが発生して送信を中止した場合には、送信が完了しなかったウェイクアップ指示用フレームを再送信しないように構成されている。
【0032】
[4.マイコン20が実行する処理]
次に、ECU10のマイコン20(処理部40)が実行する処理について説明する。マイコン20は、送信すべきデータが発生した場合に図3(a)のフローチャートに示す送信処理を実行し、エラーが発生しかつエラー割込みが許可されている場合に図3(b)のフローチャートに示すエラー割込み処理を実行する。
【0033】
マイコン20は、図3(a)に示す送信処理として、まず、送信データがウェイクアップ指示用フレームであるか否かを判定し(S11)、ウェイクアップ指示用フレームでないと判定した場合にはエラー割込みを禁止する一方(S12)、ウェイクアップ指示用フレームであると判定した場合にはエラー割込みを許可する(S13)。その後、マイコン20は、送信データを送信用メッセージボックス31にセットして(S14)、送信処理を終了する。
【0034】
そして、ウェイクアップ指示用フレームの送信中にエラーが発生すると、マイコン20は、図3(b)に示すエラー割込み処理を実行し、送信用メッセージボックス31にセットされている送信データを消去することでその送信をキャンセルする(S21)。
【0035】
つまり、本実施形態の通信システムでは、ウェイクアップ指示用フレームの送信中にたとえフレームの衝突によるエラーが発生しても、そのウェイクアップ指示用フレームの再送信を行わない仕組みを設けており、これにより複数のECU10が同一の送信元IDでウェイクアップ指示用フレームを送信することを可能としている。
【0036】
そして、CANプロトコル(ISO11898−5)の規定では、スリープモードのECU10を通常モードに遷移(ウェイクアップ)させるためには、ドミナントパルスがバス上に発生すればよいため、ウェイクアップ指示用フレームの送信がエラーの発生により中止されても、スリープモードのECU10をウェイクアップさせることができる。なお、一般の制御フレームを送信する場合にはエラー割込みを許可しないため、エラーの発生により送信を完了できなかった制御フレームについてはCANプロトコルの規定に従って再送信される。
【0037】
[5.効果]
以上説明したように、本実施形態の通信システムに用いられるECU10は、ウェイクアップ指示用フレームにおける送信元IDよりも後のビットの送信中に、送信したフレームの信号レベルとバス90上の信号レベルとの相違によりエラーが発生したと判定して送信を中止した場合には、送信が完了しなかったウェイクアップ指示用フレームを再送信しないように構成されている。
【0038】
具体的には、ECU10は、送信用メッセージボックス31にウェイクアップ指示用フレームをセットする場合にはエラー割込みを許可し(S11:YES,S13)、エラーが発生した場合にはエラー割込みにより送信用メッセージボックス31にセットされたウェイクアップ指示用フレームの送信をキャンセルする(S21)。
【0039】
つまり、ウェイクアップ指示用フレームを送信する場合にだけエラー割込みを許可することにより、ウェイクアップ指示用フレームが万が一衝突しても、エラー割込み処理でウェイクアップ指示用フレームの再送信が禁止されるようにしている。このように、エラーの発生により送信が完了しなかったフレームを再送信する処理をベースとしながら、ウェイクアップ指示用フレームについては例外的な処理として再送信を行わないようにしている。
【0040】
このようなECU10が用いられた通信システムによれば、ウェイクアップ指示用フレームの送信元IDとして同一の送信元IDを複数のECU10に割り当てることができ、これが原因でエラーが発生してもウェイクアップ指示用フレームの再送信が行われないため、バス負荷の増大を抑制することができる。したがって、複数のECU10に同一の送信元IDを割り当てることを可能としつつ、バス負荷の増大を抑制することができる。
【0041】
ここで、従来のようにエラー割込みを許可しない構成と比較した効果について説明する。図4(a)は、エラー割込みを許可しない構成のタイミングチャートであり、図4(b)は、エラー割込みを許可する構成(本実施形態の構成)のタイミングチャートである。
【0042】
図4(a),(b)に共通するように、ウェイクアップ指示用フレームを送信すべきイベントの発生を契機として、複数のECU10(説明の便宜上、ここでは「ノードA〜D」と称する。)によりウェイクアップ指示用フレームが同時に送信されたとすると、送信元IDよりも後のデータの相違によりエラーが発生したと判定したノードによってエラーフレームが送信され、すべてのノードA〜Dでフレームの送信が中止される。
【0043】
ここで、エラー割込みを許可しない構成では、図4(a)に示すように、ノードA〜Dのいずれにおいてもウェイクアップ指示用フレームの送信が完了していないことから、エラー処理の後にノードA〜Dによりウェイクアップ指示用フレームが再送信される。この結果、エラーが繰り返し発生してバス負荷が増大してしまうという問題がある。
【0044】
これに対し、本実施形態のようにエラー割込みを許可する構成では、図4(b)に示すように、ウェイクアップ指示用フレームの衝突によりエラーが発生してもウェイクアップ指示用フレームを再送信しないため、バス上の無駄な負荷の解消することができる。
【0045】
特に、本実施形態の通信システムに用いられるECU10は、動作モードがスリープモードの状態において、バス90上でドミナントパルスが検出されることにより通常モードに遷移(ウェイクアップ)する。このため、ウェイクアップ指示用フレームを再送信するまでもなく、ウェイクアップ指示用フレームの送信がエラーの発生により中止されるまでの信号によって、スリープモードのECU10を通常モードへ切り替えることができる。
【0046】
[6.他の実施形態]
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されることなく、種々の形態を採り得ることは言うまでもない。
【0047】
例えば、上記実施形態では、ウェイクアップ指示用フレームの送信がエラーの発生により中止されても、ドミナントパルスの検出によりスリープモードのECU10をウェイクアップさせることができると説明した。ただし、本発明は、ウェイクアップ指示用フレームの送信によりバス90に接続されたすべてのECU10をウェイクアップさせる構成に限定されるものではなく、一部のECU10を指定してウェイクアップさせ、他のECU10についてはスリープモードの状態にする構成の通信システムにも適用することも可能である。このような構成の通信システムは、例えば、ドミナントパルスの検出によりスリープモードのECU10がいったん仮ウェイクアップ状態となり、仮ウェイクアップ状態のECU10自身が、ウェイクアップすべき状況であるか否かを判定することで実現することができる。また例えば、ドミナントパルスの検出でウェイクアップするECU10と、ドミナントパルスの検出だけではウェイクアップしないECU10とを混在させることによっても実現することができる。
【0048】
また、上記実施形態では、NMフレームとしてウェイクアップ指示用フレームを例示したが、これに限定されるものではなく、例えば、通常モードの通信装置をスリープモードに遷移させるためのフレームや、通信装置の生死に関する情報(アライブ情報)を確認するためのフレームであってもよい。
【0049】
また、上記実施形態ではCANプロトコルの車載用通信システムを例示したが、これに限定されるものではなく、その他のCSMA/CD方式の通信プロトコル(例えばJ1850等)であっても本発明を適用することができる。
【符号の説明】
【0050】
10…ECU、20…マイコン、30…通信コントローラ、31…送信用メッセージボックス、40…処理部、50…トランシーバ、90…バス

【特許請求の範囲】
【請求項1】
複数の通信装置が共通のバスを介して通信を行う通信システムに用いられ、識別コードが含まれたフレームの送信中に、送信したフレームの信号レベルと前記バス上の信号レベルとをビットごとに比較し、前記識別コードを構成するビットの信号レベルが相違した場合には調停負けと判定してフレームの送信を中止する一方、前記識別コードよりも後のビットの信号レベルが相違した場合にはエラーが発生したと判定し、フレームの送信を中止するとともにエラーフレームを送信した後、送信が完了しなかったフレームを再送信するように構成された通信装置であって、
送信するフレームの種別の一つであるネットワーク管理用フレームの送信中に前記エラーが発生したと判定して送信を中止した場合には、送信が完了しなかったネットワーク管理用フレームを再送信しないように構成されていること
を特徴とする通信装置。
【請求項2】
通信を実行可能な通常モードと、通信を停止して消費電力を低減するスリープモードとに動作モードを切替可能であって、
前記ネットワーク管理用フレームは、前記動作モードが前記スリープモードの状態の他の通信装置を前記通常モードへ切り替えるためのウェイクアップ指示用フレームであること
を特徴とする請求項1に記載の通信装置。
【請求項3】
前記動作モードが前記スリープモードの状態において、前記ウェイクアップ指示用フレームの送信が前記エラーの発生により中止されるまでの信号を受信することによって、前記動作モードを前記通常モードへ切り替えること
を特徴とする請求項2に記載の通信装置。
【請求項4】
送信すべきデータを一時的に記憶するための送信用メッセージボックスを備え、
前記送信用メッセージボックスに前記ネットワーク管理用フレームを一時的に記憶させる場合にはエラー割込みを許可し、前記エラーが発生した場合にはエラー割込みにより前記送信用メッセージボックスに記憶されているネットワーク管理用フレームを消去すること
を特徴とする請求項1から請求項3までのいずれか1項に記載の通信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−49884(P2012−49884A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−191028(P2010−191028)
【出願日】平成22年8月27日(2010.8.27)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】