(57)【要約】【課題】電子制御ユニットを複数有する通信システムにおいて、消費電力を低減させること。【解決手段】車両に搭載され、且つ通信バスに接続される複数の電子制御ユニットを有する通信システムであって、複数の電子制御ユニットの各々は、通信に関する情報を格納する記憶部と、通信バスにデータを送信するとともに、通信バスからデータを受信する通信部と、車両のイグニッションがオフにされた状態で、且つデータに対する応答を受信できないことによって通信が成立しないと判断した回数が所定の回数以上である場合に、記憶部に格納されている通信に関する情報のうち、送信に関する情報を消去し、送信処理を初期化する制御部とを有する。【選択図】図１
2016088309.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載され、且つ通信バスに接続される複数の電子制御ユニットを有する通信システムであって、
前記複数の電子制御ユニットの各々は、
通信に関する情報を格納する記憶部と、
前記通信バスにデータを送信するとともに、前記通信バスからデータを受信する通信部と、
前記車両のイグニッションがオフにされた状態で、且つ前記データに対する応答を受信できないことによって通信が成立しないと判断した回数が所定の回数以上である場合に、前記記憶部に格納されている前記通信に関する情報のうち、送信に関する情報を消去し、送信処理を初期化する制御部と
を有する、通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
複数の電子制御ユニット(ECU: electronic control unit)が通信バスよって接続されることによってCAN(control area network)等の車載通信ネットワークが構成される。車両のエンジンが停止している状態では、複数の電子制御ユニットの各々の動作等はバッテリ電源に依存することとなるため、消費電力をできるだけ少なくすることが必要である。このため、車載通信ネットワークを構成する電子制御ユニットが機能を停止して、起動要請があったときに再起動できる程度の必要最小限の電力だけを消費する、所謂スリープ状態に入るようにしている。
【０００３】
車載通信ネットワークにおいて、通信線に異常が発生した場合に、異常となった通信ノードによるバスの占有を防止し、他の通信ノードからの通信を行えるようにする技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３５９６２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
車両のイグニッションがオフにされた状態で、複数のECUのうち、あるECUからデータが送信される場合、該ECUは、そのデータに対する応答を受信できたか否かに応じて通信が成立するか否かを判断する。該ECUは、応答を受信できないことによって通信が不成立(以下、「ACKERROR」ともいう)と判断した場合、そのデータを再送することによって、応答を再度受信しようとする。通信が不成立の状態では、ECUを通信バスから切り離し通信を停止する、いわゆるバスオフとすることは行われないため、該ECUは、応答を受信するまでそのデータの再送を継続する。そのため、該ECUが通信バスにデータを再送し続けることによって、消費電力が増大する。
【０００６】
本発明の目的は、電子制御ユニットを複数有する通信システムにおいて、消費電力を低減させることである。
【課題を解決するための手段】
【０００７】
開示の一実施例の通信システムは、
車両に搭載され、且つ通信バスに接続される複数の電子制御ユニットを有する通信システムであって、
前記複数の電子制御ユニットの各々は、
通信に関する情報を格納する記憶部と、
前記通信バスにデータを送信するとともに、前記通信バスからデータを受信する通信部と、
前記車両のイグニッションがオフにされた状態で、且つ前記データに対する応答を受信できないことによって通信が成立しないと判断した回数が所定の回数以上である場合に、前記記憶部に格納されている前記通信に関する情報のうち、送信に関する情報を消去し、送信処理を初期化する制御部と
を有する。
【発明の効果】
【０００８】
開示の実施例によれば、電子制御ユニットを複数有する通信システムにおいて、消費電力を低減させることができる。
【図面の簡単な説明】
【０００９】
【図１】通信システムの一実施例を示す図である。
【図２】通信システムの動作の一実施例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１１】
＜実施例＞
＜通信システム＞
図１は、通信システムの一実施例を示す。
【００１２】
通信システムは、例えば車両等の移動体に搭載される。通信システムの一実施例は、車両に搭載され、CAN、LIN(Local Interconnect Network)等のLAN(Local Area Network)が適用される。通信システムは、情報系LAN、パワートレイン系LAN、ボディ系LANなどに適用できる。また、通信システムに、FlexRay（登録商標）を適用してもよい。
【００１３】
通信システムは、第１のECU１００ａと、第２のECU１００ｂと、第３のECU１００ｃと、第４のECU１００ｄと、第５のECU１００ｅとを備える。
【００１４】
第１のECU１００ａ−第５のECU１００ｅは、通信バス１０により有線接続される。さらに、第２のECU１００ｂ、第３のECU１００ｃ、及び第５のECU１００ｅは、イグニッションスイッチ６０を介して、バッテリ５０とバッテリ接続ケーブル等によって有線接続される。また、第１のECU１００ａ、及び第４のECU１００ｄはバッテリ５０とバッテリ接続ケーブル等によって有線接続される。つまり、イグニッションスイッチ６０がオフにされることによって、イグニッションがオフにされても、第１のECU１００ａ、及び第４のECU１００ｄは、バッテリ５０の電源によって動作し続けることができる。また、図１において、第1のECU１００ａ−第５のECU１００ｄの各々と、バッテリ５０との間に設けられるヒューズは省略される。
【００１５】
図１には、５個のECUによって通信システムが構成される場合について示されるが、２−４個のECUによって構成することも、６個以上のECUによって構成することもできる。データを送信するECUと、そのデータを受信するECUによって通信システムを構成できる。
【００１６】
通信システムにCANが適用される場合、通信バスは、ツイストペアの形態を有する２本の通信線（CANバス）からなる。CANバスのツイストペア線は一方がCAN High（以下、CANHという）、他方がCAN Low（以下、CANLという）と呼ばれる母線である。通信バス１０のそれぞれの両端には終端抵抗（図示なし）が接続される。図１では、１本の実線でCANH、CANLを表す。
【００１７】
第１のECU１００ａ−第５のECU１００ｅは、CSMA/CD(Carrier Sense Multiple Access/Collision Detection)にしたがって、ロー(Lo)レベルの信号を送信し続けたECUが優先して通信を行い、衝突に負けた（ハイ(Hi)レベルの信号を送信した）ECUは次の機会の送信のために待機する。つまり、第１のECU１００ａ−第５のECU１００ｅのうち、ローレベルの信号を送信し続けたECUが通信バス１０を介して通信を行い、ローレベルの信号を送信し続けたECU以外のECUは次の機会まで待機する。
【００１８】
＜第１のECU１００ａ＞
第１のECU１００ａのハードウェア構成について説明する。第２のECU１００ｂ−第５のECU１００ｅのハードウェア構成についても適用できる。
【００１９】
図１に示すように、第１のECU１００ａは、通信トランシーバ１０２ａと、通信回路１０４ａと、CPU１０６ａと、内部RAM(Random Access Memory)１０８ａとを有する。通信回路１０４ａ、ＣＰＵ１０６ａ、及び内部RAM１０８ａは、マイクロコントローラ１１０ａに実装される。
【００２０】
通信トランシーバ１０２ａは、通信バス１０に接続され、通信ドライバによる制御によって、通信回路１０４ａからのデータを通信バス１０に送信するとともに、通信バス１０からのデータを受信し通信回路１０４ａに入力する。これによって、通信トランシーバ１０２ａは、第２のECU１００ｂ−第５のECU１００ｅとの間で、信号の送受信を行う。通信トランシーバ１０２ａは、データを送信する場合には、CANHとCANLに反転信号を送出する。通信トランシーバ１０２ａは、データを受信する場合には、CANHとCANLとの電圧差から、通信バス１０上のデータが"１"であるか"０"であるかを判定する。
【００２１】
通信回路１０４ａは、通信トランシーバ１０２ａと接続され、通信バス１０を介して、第２のECU１００ｂ−第５のECU１００ｅとの間でシリアル通信を行う。通信回路１０４ａは、CPU１０６ａからのデータを通信トランシーバ１０２ａから送信するとともに、通信トランシーバ１０２ａから入力されたデータを受信し、CPU１０６ａに入力する。
【００２２】
CPU１０６ａは、通信回路１０４ａと接続され、通信回路１０４ａによって実行される通信処理等の第１のECU１００ａ全体を制御する処理を実行する。CPU１０６ａには、バッテリ電源(+B電源)が供給される。
【００２３】
CPU１０６ａは、第１のECU１００ａの動作状態を制御する。第１のECU１００ａの動作状態は、CPU１０６ａが通常モードで動作しているときに通常状態となり、CPU１０６ａがスリープモードに入るとスリープ状態となる。CPU１０６ａがスリープモードに入ることによって、CPU１０６ａの動作に伴う消費電力が低減するため、消費電力が少ない状態となる。
【００２４】
CPU１０６ａは、通信回路１０４ａを制御することによって通信トランシーバ１０２ａからデータを送信し、そのデータに対する応答が通信回路１０４ａに受信されたか否かに基づいて、通信が成立したか否かを判断する。CPU１０６ａは、データを送信してから一定時間以内にそのデータの応答が通信回路１０４ａに受信された場合に通信が成立したと判断でき、一定時間経過してもそのデータの応答が通信回路１０４ａに受信されない場合には通信が成立しなかった（ACKERROR）と判断できる。
【００２５】
また、CPU１０６ａは、ACKERRORの検出回数をカウントし、その検出回数が第１の閾値ｎ回以上となった場合には、第１のECU１００ａの内部RAM１０８ａに格納されている通信に関する情報（CAN通信に関する情報）に含まれる送信指示に関する情報をクリア（消去）する。さらに、ＣＰＵ１０６ａは、該ＣＰＵ１０６ａの送信処理に関連するレジスタを初期化（リセット）する。これによって、第１のECU１００ａに対するデータ送信の指示が無くなり、データ送信が停止されるため、消費電力を低減できる。また、送信指示に関する情報がクリアされ、ＣＰＵ１０６ａの送信処理に関連するレジスタが初期化されることによって、第１のECU１００ａはスリープ状態に移行できる状態となり、スリープ状態に移行することで消費電力を低減できる。ただし、第１のECU１００ａに送信するデータが発生した場合には、データを送信する。データを送信する処理は上述した処理を適用できる。
【００２６】
さらに、CPU１０６ａは、内部RAM１０８ａに格納されている通信に関する情報に含まれる送信指示に関する情報をクリアし、CPU１０６ａの送信処理に関連するレジスタを初期化した回数（以下、「クリア回数」という）をカウントし、そのクリア回数が第２の閾値ｍ回以上となった場合には、第１のECU１００ａを強制的にスリープ状態に移行させる。これによって、第１のECU１００ａからデータを送信しても通信が成立しないと想定される場合に、その第１のECU１００ａを強制的にスリープ状態に移行させることができ、消費電力を低減できる。第２の閾値ｍは第１の閾値ｎと同じ値とすることも、異なる値とすることもできる。
【００２７】
＜通信システムの動作＞
図２は、第１のECU１００ａの動作を示す。図２に示される動作は、第２のECU１００ｂ−第５のECU１００ｅの動作にも適用できる。
【００２８】
第１のECU１００ａの処理の前提として、イグニッションスイッチ６０がオフにされることによってイグニッションがオフにされている。これによって、第２のECU１００ｂ、第３のECU１００ｃ、及び第５のECU１００ｅには電源が供給されないため、第２のECU１００ｂ、第３のECU１００ｃ、及び第５のECU１００ｅは動作しない。一方、第１のECU１００ａ、及び第４のECU１００ｄは、イグニッションがオフにされてもバッテリ５０からの電源の供給を受けることができるため、動作する。
【００２９】
ここで、第４のECU１００ｄと通信バス１０との間が断線したと仮定する。これによって、第４のECU１００ｄはデータの送受信ができない。
【００３０】
この状態で、第１のECU１００ａは、データを送信する。しかし、第１のECU１００ａによって送信されたデータは、第２のECU１００ｂ−第５のECU１００ｅでは受信できないため、第１のECU１００ａはそのデータに対する応答を受信できない。この場合、第１のECU１００ａはACKERRORとして再送を繰り返す。
【００３１】
ステップＳ２０２では、第１のECU１００ａのCPU１０６ａは、ACKERRORを検出する処理を行う。CPU１０６ａは、所定の周期でACKERRORが発生しているかどうかを検出することができる。
【００３２】
ステップＳ２０４では、第１のECU１００ａのCPU１０６ａは、ACKERRORがあるか否かを判断する。
【００３３】
ステップＳ２０６では、第１のECU１００ａのCPU１０６ａは、ACKERRORがないと判断した場合、第１のECU１００ａをスリープ状態に移行させる。これによって、第１のECU１００ａの消費電力を低減できる。
【００３４】
ステップＳ２０８では、第１のECU１００ａのCPU１０６ａは、ACKERRORがあると判断した場合、ACKERRORの検出回数をカウントアップする。
【００３５】
ステップＳ２１０では、第１のECU１００ａのCPU１０６ａは、ACKERRORの検出回数が第１の閾値ｎ回以上であるか否かを判断する。ACKERRORの検出回数が第１の閾値ｎ回以上でない場合、ステップＳ２０２に移行する。これによって、第１のECU１００ａは、データを再送でき、イグニッションがオンにされる等によって応答を受信できる状態になった場合に通信を継続できる。
【００３６】
ステップＳ２１２では、第１のECU１００ａのCPU１０６ａは、ACKERRORの検出回数が第１の閾値ｎ回以上である場合、内部RAM１０８ａに格納されている通信に関する情報に含まれる送信指示に関する情報をクリアし、CPU１０６ａの送信処理に関連するレジスタを初期化する。これによって、第１のECU１００ａに対するデータ送信の指示をなくすことができ、データ送信が継続されないため、消費電力を低減できる。ここで、ACKERRORの検出回数をリセットすることもできる。
【００３７】
ステップＳ２１４では、第１のECU１００ａのCPU１０６ａは、スリープ状態に移行できる状態となる。これによって、第１のECU１０６ａがスリープ状態に移行することによって消費電力を低減できる。
【００３８】
ステップＳ２１６では、第１のECU１００ａのCPU１０６ａは、クリア回数をカウントアップする。
【００３９】
ステップＳ２１８では、第１のECU１００ａのCPU１０６ａは、クリア回数が第２の閾値ｍ回以上であるか否かを判断する。クリア回数が第２の閾値ｍ回以上でない場合、ステップＳ２０２に移行する。
【００４０】
ステップＳ２２０では、第１のECU１００ａのCPU１０６ａは、クリア回数が第２の閾値ｍ回以上である場合、強制的にスリープ状態に移行する。これによって、第１のECU１００ａからデータを送信しても応答を受信できないためにACKERRORとなることが想定される場合に、強制的にスリープ状態に移行するため、消費電力を低減できる。ここで、クリア回数をリセットすることもできる。
【００４１】
通信システムの一実施例によれば、ECUは、送信データに対する応答を受信したか否かに基づいて通信が成立するか否かを判断し、通信が成立しないと判断した場合、データの送信指示を消去し、送信処理に関連するレジスタを初期化する。具体的には、イグニッションがオフ（IG(ignition)-OFF）の状態で、且つACKERRORが所定の回数以上継続する場合に、データの送信指示を消去し、送信処理に関連するレジスタを初期化する。これによって、データ送信が継続されないため、消費電力を低減できる。さらに、ECUをスリープ状態に移行できる状態にできることによって、ECUがスリープ状態に移行することによって消費電力を低減できる。
【００４２】
また、データの送信指示を消去し、送信処理に関連するレジスタを初期化した回数に基づいて、強制的にECUをスリープ状態へ移行できる。具体的には、イグニッションがオフの状態で、且つデータの送信指示を消去し、送信処理に関連するレジスタを初期化した回数が所定の回数以上継続する場合に、強制的にECUをスリープ状態へ移行させる。これによって、消費電力を低減できるため、バッテリが上がりが発生するのを防止できる。
【００４３】
内部RAM１０８ａは記憶部の一例であり、通信トランシーバ１０２ａ及び通信回路１０４ａは通信部の一例であり、CPU１０６ａは制御部の一例である。
【００４４】
以上、本発明は特定の実施例を参照しながら説明されてきたが、実施例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【００４５】
１０  通信バス
５０  バッテリ
６０  イグニッションスイッチ
１００ａ  第１のECU
１０２ａ  通信トランシーバ
１０４ａ  通信回路
１０６ａ  CPU
１０８ａ  内部RAM
１１０ａ  マイクロコントローラ
１００ｂ  第２のECU
１００ｃ  第３のECU
１００ｄ  第４のECU
１００ｅ  第５のECU
【図１】
2016088309.tif 000003
【図２】
2016088309.tif 000004