以下、本発明を実施するための形態について図面を参照しながら説明する。
図2は、ECU1とECU2がIGオンに対し起動する時間的な流れを説明する図の一例である。
(1)時刻t1に乗員がイグニッションスイッチをオンにする。
(2)電源ECUはIGオンを検出してウェイクアップを開始し、時刻t2に起動要求信号をECU1とゲートウェイ装置に送信する。
(3)ECU1とゲートウェイ装置は、起動要求信号を受信することでウェイクアップを開始する。そして、時刻t3又は若干、前後して、ECU1は起動通知をゲートウェイ装置に送信し、ゲートウェイ装置は起動要求信号をECU2に送信する。
(4)ECU2は、起動要求信号を受信することでウェイクアップを開始する。そして、時刻t4に、ECU2は起動通知をゲートウェイ装置に送信する。
(5)ゲートウェイ装置は、ECU1及びECU2から起動通知を受信すると、ほぼ同時刻の時刻t5にECU1及びECU2にIGオン許可信号を送信する。
ECU1とECU2はIGオン許可信号を受信したタイミングを基準に、従来、IGの電源線によりIGオンを検出して実行していた処理を開始する。こうすることで、IGの電源線と接続されていた時とほぼ同じタイミングで、ECU1とゲートウェイ装置を介して接続されたECU2が処理を開始することができる。
なお、IGオンとは、エンジンを動力源とする車両ではイグニションキーがIG端子まで回転させられること又はスタートキーが押下されることをいい、エンジンが完爆するか否かは問わない。また、モータを動力源とする車両、又は、エンジン及びモータを動力源とする車両ではスタートキーが押下されることをいい、メインシステム(システム制御用のECU)が起動するか否かは問わない。
本実施例ではIGオフの間、バッテリーに接続されたECUはスリープモードに移行した状態であるとする。これらの各ECUは、IGオンによりスリープモードから通常モードに遷移する。通常モードは、ECUのマイコンがプログラムを実行可能なモードであり、スリープモードと対比される。また、スリープモードは、マイコンやCPUに特有の省電力モードの総称であり、CPUだけの動作クロックを停止させるモード、通常モードよりも動作クロックを低減したモード、動作クロックを停止したモード、等が含まれる。しかし、後述するように、各ECUはスリープモードでもネットワークを介して通信データを受信すること、また、受信割り込みの受け付けが可能である。なお、マイコンがスリープモードから通常モードへ移行することをウェイクアップと呼ぶ場合がある。
図3は、車載ネットワーク500の概略構成図の一例を示す。以下では、電源ECU300とゲートウェイ装置100だけを区別し、その他のECU200はその機能に関わらず単にECU200といい、区別する場合はECU1,ECU2…と称す。また、ゲートウェイ装置100が、通信データを中継する以外の機能を有していてもよく、この場合、ゲートウェイ装置100もECUと呼ばれることがある。
図示するように、電源ECU300、ECU1、ゲートウェイ装置100、及び、ECU2に+Bの電源線(以下、+B線という)11が接続されており、電源ECU300にはIGの電源線(以下、IG線という)12が接続されている。また、電源ECU300、ECU1、及び、ゲートウェイ装置100はネットワーク1を介して接続され、ゲートウェイ装置100とECU2はネットワーク2を介して接続されている。ネットワーク1、2は例えばCANプロトコルに基づきECUが通信するネットワークであるが、LINやFrexRayプロトコルに基づきECUが通信するネットワークでもよい。また、ネットワーク1がCANプロトコルに基づく通信を提供し、ネットワーク2がFlexRayに基づく通信を提供する、などのように、2つのネットワークが互いに異なっていてもよい。
電源ECU300は、バッテリーから各ECUへの電力供給を制御する。ここでは乗員がプッシュボタンを押下したとして説明する。乗員は、スマートキー(登録商標)を携帯して車両に乗り込んでおり、車両側の照合ECU(不図示)とスマートキーとの無線通信により、スマートキーに記憶されたIDコードの認証が成立している。
乗員が、プッシュボタンを押し下げるとプッシュボタンはオン状態になり、乗員が指を離すと内蔵された弾性体の付勢力によりブッシュボタンは元の位置に戻りオフとなる。よって、プッシュボタンから電源ECU300にオン信号が所定の時間だけ出力される。なお、電源ECU300には、不図示のブレーキペダルスイッチやシフトポジションセンサが接続されており、ブレーキペダルが踏み込まれているか否か、及び、シフトレバーの位置(P,N、D、R)を検出できる。
電源ECU300には、アクセサリーリレー、IGリレー、及び、エンジンスタートリレーのリレー回路が接続されていている。アクセサリーリレーは、バッテリーからオーディオ装置、ルームランプ等のアクセサリー機器に供給される電力をオン又はオフに制御するリレーである。IGリレーは、走行に必要な車載装置(センサ、アクチュエータ等)にバッテリーから供給される電力をオン又はオフするリレーである。エンジンスタートリレーは、スターターを作動させエンジン始動させるリレーである。電源ECU300がオン又はオフにするリレーは、乗員がプッシュボタンを操作した際のブレーキペダルスイッチの状態及びシフトレバーの位置によって定まる。
上記のように、各ECUはバッテリーから供給された電力で作動するので、各ECUは+B線と接続されている。主に走行時にのみ使用されるECUは、IGオフ状態では作動しないので、バッテリーと接続されていても省電力状態(又は停止状態)である。IGオフ状態(エンジンは停止状態)でも作動しているECU(例えば、盗難検知用のECU、車両周辺のスマートキーを検出するECU、リモート操作を受け付けるためのECU等)は、IGオフ状態でも最小限動作している。
ゲートウェイ装置100は、一方のネットワーク1(又はネットワーク2)から他方のネットワーク2(又はネットワーク1)に通信データを選択的に配信する。CANとFlexRayのいずれの場合でも、バス上の全てのノードが1つの通信データを受信可能なので、ゲートウェイ装置100は予め設定されている配信ポリシーに基づき、選択的に通信データを中継する。配信ポリシーにはネットワーク1から2に通信データを中継するECUの識別情報、及び、ネットワーク2から1に通信データを中継するECUの識別情報、等が登録されている。なお、通信データの送信元のECUはCANプロトコルの場合はCANIDにより、FlexRayの場合はFrameIDにより判別される。
図4は、ゲートウェイ装置100のハードウェア構成図の一例である。ゲートウェイ装置100はマイコン50とその他の回路とを有し、その他の回路は主に電源IC21、入出力I/F22、不揮発メモリ23、監視回路24、及び、クロック生成器25である。
また、マイコン50はCPU31、RAM32、ROM33、INTC(割込みコントローラ)34、不揮発メモリ35、DMAC36、及び、ブリッジ37を有する。CPU31は、例えばROM33に記憶されたプログラムを実行しRAM32にデータを書き込み、またRAM32に書き込まれたデータを読み出して演算結果を生成したり、他のECUと通信するための通信情報を生成する。RAM32はこのようなプログラムの作業メモリとなり、各種のデータが一時的に記憶される。
ROM33にはプログラムが予め記憶されている。また、プログラムはECU100に特有の処理を行うものの他、ECU1とECU2にIGオン許可信号を送信するためのプログラムが含まれている。INTC34は、入出力I/F22、不図示のタイマ、又は、他のECU等からの割込み要因を調停して、CPU31に割込み要求する。不揮発メモリ35は、フラッシュメモリなどのEEPROMであり省電力モード移行時にデータの退避に使用される。DMAC36は、入出力I/F22からの要求を受け付けて入出力I/F22からRAM32の指定アドレスにデータを転送し、また、CPU31からの要求を受け付けてRAM32の指定アドレスから入出力I/F22にデータを転送する。ブリッジ37は、マイコン内のバス18とマイコン50外のバス26の周波数の違いや電圧の違いを吸収してバス同士を接続する。
電源IC21は、不図示のバッテリー(+B線)から電力供給を受けてマイコン駆動用の電圧・電流を生成する。IGオン時は、ECU内の全ての回路を通常モードで動作させるために必要な大容量の電圧・電流を生成し、IGオフ時は、マイコン50や他の回路の一部を省電力モードに保持するために必要な最小限の電圧・電流を生成する。電源IC21は、通常モードとスリープモードにおいて、予めそれぞれに決められた回路に電力を供給する。
入出力I/F22にはマイコン50が演算に用いる信号を検出する各種のセンサ、マイコン50が制御するアクチュエータやアクチュエータのドライバ回路等が接続されている。CAN通信装置23は、CANプロトコルに従って他のECU1,2等と通信する装置である。
クロック生成器25はマイコン50に動作クロックを供給する。クロック生成器25は、スリープモードになると、クロックを停止するか通常モードよりも低速にし、また、CPU(又は一部)やCAN通信装置23など、通常モードに復帰するための移行条件の成立を検出するための回路以外へのクロック供給を停止して消費電力を抑制する。
監視回路24は、異常を検出するためのウォッチドックタイマ、異常時にマイコン50をリセットして再起動させるためのリセット回路等を有する。
なお、ECU1,2のハードウェア構成図は省略するが、主要部はゲートウェイ装置100と同様である。当然ながら、ROM33に記憶されているプログラムはECU1,2の機能によって異なる。
図5は、電源ECU300、ゲートウェイ装置100、及びECU1,2の機能ブロック図の一例を示す。電源ECU300、ゲートウェイ装置100、及び、ECU1,2が有する各機能は、各ECUのCPUが実行するプログラム及び上記のハードウェアが協働して実現される。
まず、電源ECU300は起動要求送信部41を有する。乗員によるIGオン操作により、電源ECU300の所定の端子には例えばHレベル(又はLレベル)が入力される。電源ECU300は、これによりIGオンを検知して、スリープ状態であればウェイクアップして通常モードに移行する。通常モードに移行すると、電源ECU300の起動要求送信部41が起動し、CAN通信装置23を使ってECU1及びゲートウェイ装置100に起動要求信号を送信する。
また、ECU1,2はそれぞれ起動完了通知部42を有する。起動完了通知部42は、起動完了をゲートウェイ装置100に送信する。具体的には、ECU1、2は、自機のCAN通信装置23が起動要求信号を受信してCPUに割り込みすることでウェイクアップし、スリープモードから通常モードに移行する。ECU1,2はウェイクアップの直後、起動完了通知部42を実現するためのプログラムを実行するので、起動完了通知部42が起動される。起動完了通知部42は、ゲートウェイ装置100に自機であるECU1,2が通常モードに移行したこと(以下、起動通知という)を送信する。なお、ECU1,2は起動通知の送信後、アイドルタスクを実行するなどして待機している。
ゲートウェイ装置100は、データ中継部43、起動確認部44、及び、IGオン許可部46を有する。まず、ゲートウェイ装置100も、自機のCAN通信装置23が起動要求信号を受信してCPUに割り込みすることでウェイクアップし、スリープモードから通常モードに移行する。
データ中継部43は、配信ポリシーに基づき、電源ECU300又はECU1が送信した通信データをECU2に中継し、ECU2が送信した通信データをECU1又は電源ECU300に中継する。データ中継部43はデータ中継の1つとして、電源ECU300から受信した起動要求信号をECU2に中継する。
起動確認部44は、IGオン又はIGオフのタイミングを共有すべきECU1,2が起動したことを確認する。起動の定義は例えば通常モードに移行したことであるが、ゲートウェイ装置100にとってECUが通常モードに移行したか否かは不明なので、起動通知を受信したことで起動を確認する。
IGオン又はIGオフのタイミングを共有すべきECU1,2とは、IGオンを基準に実行すべき処理を有するECUである。IGオンを基準に実行すべき処理には、例えば、他のECUの応答確認のため通信を開始する処理が挙げられる。
このため、ゲートウェイ装置100はECUリスト45を有している。ECUリスト45にはIGオン又はIGオフのタイミングを共有すべきECUがリストアップされている。起動確認部44は、ECU1及びECU2から起動通知を受信すると、ECUリスト45に登録された全てのECUから起動通知を受信したか否かを判定する。ECUリスト45に登録された全てのECUから起動通知を受信したと判定すると、起動確認部44はIGオン許可部46に通知する。
また、ECUリスト45に登録された全てのECUから起動通知を受信したと判定すると、起動確認部44は起動通知を上流のゲートウェイ装置に送信する。これについては実施例2で詳述する。
IGオン許可部46は、CAN通信装置23を用いて、ECU1,2にほぼ同時期にIGオン許可信号を送信する。例えば、ネットワーク1、2の一方のみがFlexRayプロトコルの場合、IGオン許可部46はゲートウェイ装置100のタイムスロットに合わせ、CANプロトコル側のネットワークにIGオン許可信号を送信する。したがって、ECU1,2はゲートウェイ装置100のウェイクアップ時間に関係なくほぼ同時にIGオン許可信号を受信できる。
図6は、ゲートウェイ装置100がIGオン許可信号を配信する手順を示すシーケンス図の一例である。
乗員は、プッシュボタンを押下するか又はキーをIGシリンダに差し込みIGオンの位置まで回転させる(S10)。これにより、電源ECU300はIGオンを検知し、ウェイクアップを開始する。
電源ECU300は通常モードに移行後、起動要求送信部41を立ち上げ、起動要求送信部41は起動要求信号をゲートウェイ装置100及びECU2に送信する(S20、S30)。通信データはネットワーク1上のノードに共通に送信されるので、起動要求信号はほぼ同時に受信される。これによりゲートウェイ装置100及びECU1はウェイクアップを開始する。
図ではゲートウェイ装置100がECU1よりも先に通常モードに移行したとして説明するが、ECU1が先に通常モードに移行してもよい。
通常モードに復帰したゲートウェイ装置100は、データ中継部43を起動させ、データ中継部43は起動要求信号をECU2に送信する(S40)。これにより、ECU2はウェイクアップを開始し、スリープモードから通常モードへ移行する。
通常モードに復帰したECU2は、起動完了通知部42を起動させ、起動完了通知部42は起動通知をゲートウェイ装置100に送信する(S50)。
また、通常モードに復帰したECU1は、起動完了通知部42を起動させ、起動完了通知部42は起動通知をゲートウェイ装置100に送信する(S60)。ステップS50、S60によりゲートウェイ装置100はECU1,2から起動通知を受信したことになる。
ゲートウェイ装置100の起動確認部44は、ECUリスト45に登録されている全てのECUから起動通知を受信したか否かを判定し、全てのECUから起動通知を受信したと判定すると、IGオン許可部46がIGオン許可信号をECU1及びECU2に送信する(S70,S80)。
これにより、ゲートウェイ装置100を介して接続されているECU1,2がほぼ同時にIGオン許可信号を受信できるので、ECU1,2はIGオンのタイミングを共有することができる。
実施例1ではゲートウェイ装置100を1つとしたが、1つの車載ネットワーク500に複数のゲートウェイ装置100が接続される場合がある。
図7は、車載ネットワーク500の概略構成図の一例を示す。図6において図3と同一部には同一の符号を付しその説明は省略する。本実施例の車載ネットワーク500はネットワーク3を有し、ネットワーク1とネットワーク3がゲートウェイ装置2を介して電気的に接続されている。ゲートウェイ装置2は、配信ポリシーに基づき、電源ECU300、ECU1又はゲートウェイ装置1が送信した通信データをECU3に中継し、ECU3が送信した通信データを電源ECU300、ECU1又はゲートウェイ装置1に中継する。ECU3は、IGオン又はIGオフのタイミングを共有すべきECUである。
電源ECU300がIGオンを検知すると、実施例1と同様に、ゲートウェイ装置1はECU1とECU2から起動通知を受信する。しかし、この時点でゲートウェイ装置1がECU1,2にIGオン許可信号を送信すると、ECU3とECU1,2がIGオンのタイミングを共有できない。そこで、本実施例では、ゲートウェイ装置1がゲートウェイ装置2に対しても起動通知を送信することで、ゲートウェイ装置1と2がほぼ同時にIG許可信号を送信できる車載ネットワーク500について説明する。
また、実施例1では、ECUリスト45にはIGオン又はIGオフのタイミングを共有すべきECUがリストアップされていると説明したが、図7のように複数のゲートウェイ装置が配置された車載ネットワーク500では、IGオン又はIGオフのタイミングを共有すべきECU3が接続されたネットワーク3のゲートウェイ装置2も登録されている。
図8(a)はゲートウェイ装置1のECUリストの一例を、図8(b)はゲートウェイ装置2のECUリストの一例をそれぞれ示す図である。ECUリストに登録されたゲートウェイ装置は、ゲートウェイ装置100が、ECUリストに登録されたゲートウェイ装置が起動確認するECUの起動が確認された時にその旨(これも起動通知とする)を受信すべきゲートウェイ装置である。すなわち、ゲートウェイ装置1は、ECU3から起動通知を受信したゲートウェイ装置2から起動通知を受信すべきことを、ゲートウェイ装置2は、ECU1,2から起動通知を受信したゲートウェイ装置1から起動通知を受信すべきことを、ECUリスト45に基づき検出する。ゲートウェイ装置1,2もECUの一態様なのでゲートウェイ装置1,2をECUと同列に扱うことが考えられるが、図8のようにしたのは、ゲートウェイ装置1,2が互いに相手の起動通知を待つ状態になることを防止するためである。
起動確認部44は、ECUリスト45に登録された全てのECUから起動通知を受信すると、上流のゲートウェイ装置に起動通知を送信する。上流とは、ゲートウェイ装置から見て電源ECU300に近い側である。ゲートウェイ装置1と2はどちらも最も上流のゲートウェイ装置なので、互いに起動通知を送信する。また、各ゲートウェイ装置1,2にとって上流のゲートウェイ装置は固定なので、起動通知の送信先のゲートウェイ装置を予め定めておくこともできる。
したがって、ゲートウェイ装置1の起動確認部44は、ECU1,2から起動通知を受信すると起動通知をゲートウェイ装置2に送信する。ゲートウェイ装置2の起動確認部44は、ECU3から起動通知を受信すると起動通知をゲートウェイ装置1に送信する。
図9は、ゲートウェイ装置がIGオン許可信号を配信する手順を示すシーケンス図の一例である。図9の手順は、S60までの処理は図5とほぼ同じである。
乗員は、プッシュボタンを押下するか又はキーをIGシリンダに差し込みIGオンの位置まで回転させる(S10)。これにより、電源ECU300はIGオンを検知し、ウェイクアップを開始する。
電源ECU300は通常モードに移行後、起動要求送信部41を立ち上げ、起動要求送信部41は起動要求信号をゲートウェイ装置1,2及びECU2に送信する(S20、S30、S110)。したがって、ゲートウェイ装置1と2はほぼ同時に起動要求信号を受信できる。
この後、ゲートウェイ装置1は、ECU1から起動通知を受信し(S60)、ECU2に起動要求信号を送信し(S40)、ECU2から起動通知を受信する(S50)。
ここまでの処理で、ゲートウェイ装置1はネットットワーク1、2のECU1、2の起動を確認したので、ゲートウェイ装置1の起動確認部44は起動通知を上流のゲートウェイ装置2に送信する(S140)。
一方、ゲートウェイ装置2は、電源ECU300から受信した起動要求信号により通常モードに移行する。通常モードに復帰したゲートウェイ装置は、データ中継部43を起動させ、データ中継部43は起動要求信号をECU3に送信する(S120)。これにより、ECU3はウェイクアップを開始し、スリープモードから通常モードへ移行する。
通常モードに復帰したECU3は、起動完了通知部42を起動させ、起動完了通知部42は起動通知をゲートウェイ装置2に送信する(S130)。
ゲートウェイ装置2の起動確認部44は、ECUリスト45に登録されている全てのECU3から起動通知を受信すると、上流のゲートウェイ装置1に起動通知を送信する(S150)。
以上の処理で、ゲートウェイ装置1はECUリスト45のゲートウェイ装置2から起動通知を受信することで、ゲートウェイ装置2側のECU3が全て起動したことを検出する。同様に、ゲートウェイ装置2はECUリスト45のゲートウェイ装置1から起動通知を受信することで、ゲートウェイ装置1側のECU1,2が全て起動したことを検出する。
よって、ゲートウェイ装置1,2がIGオン許可信号をECU1〜3にほぼ同時に送信すればよい。しかし、ステップS140の起動通知とS150の起動通知は一定の傾向はあるとしてもどちらが先になるか決まっていない。そこで、ゲートウェイ装置1,2のIGオン許可部46は、以下のタイミングでIGオン許可信号を送信する。
・ゲートウェイ装置1の方が先に起動通知をゲートウェイ装置2に送信した場合
ゲートウェイ装置1のIGオン許可部46はゲートウェイ装置2から起動通知を受信した直後又は所定時間経過後にIGオン許可信号をECU1,2に送信する。
ゲートウェイ装置2のIGオン許可部46は、起動確認部がゲートウェイ装置1に起動通知を送信した直後又は所定時間経過後にIGオン許可信号をECU3に送信する。
・ゲートウェイ装置2の方が先に起動通知をゲートウェイ装置1に送信した場合
ゲートウェイ装置1のIGオン許可部46は、起動確認部がゲートウェイ装置2に起動通知を送信した直後又は所定時間経過後にIGオン許可信号をECU1,2に送信する。
ゲートウェイ装置2のIGオン許可部46はゲートウェイ装置1から起動通知を受信した直後又は所定時間経過後にIGオン許可信号をECU3に送信する。
以上のようなタイミングで、ゲートウェイ装置1のIGオン許可部46はIGオン許可信号をECU1,2に送信し(S70、80)、ゲートウェイ装置2のIGオン許可部46はIGオン許可信号をECU3に送信する(S160)。
これにより、ゲートウェイ装置1を介して接続されているECU1,2及びECU3がほぼ同時にIGオン許可信号を受信でき、ゲートウェイ装置1,2により車載ネットワーク500が3つに分割されていても、ECU1〜3はIGオンのタイミングを共有することができる。
〔変形例〕
さらに多くのゲートウェイ装置(例えば3つ以上)が車載ネットワーク500に接続される場合も希なケースとしてはあり得る。しかしながらこの場合も本実施例と同様に扱うことができる。
図10は、ゲートウェイ装置がIGオン許可信号を配信する手順を示すシーケンス図の一例である。図10では、図9と比べ車載ネットワーク500にゲートウェイ装置3,4が追加されている。
図11は、図10の車載ネットワークにおけるECUリスト45の一例を示す図である。すなわち、ゲートウェイ装置4のECUリスト45にはECUとしてECU_Bが登録されている。ゲートウェイ装置3のECUリスト45にはECUとしてECU_A及びゲートウェイ装置4が、ゲートウェイ装置としてゲートウェイ装置1が登録されている。ゲートウェイ装置1のECUリスト45にはECUとしてECU1、2及びゲートウェイ装置3が、ゲートウェイ装置としてのゲートウェイ装置2が登録されている。ゲートウェイ装置2のECUリスト45は変更がない。
ステップS30までの処理は図9と同様である。ステップS40で、通常モードに復帰したゲートウェイ装置1は、データ中継部43を起動させ、データ中継部43は起動要求信号をECU2及びゲートウェイ装置3に送信する(S40、S210)。これにより、ECU2及びゲートウェイ装置3はウェイクアップを開始し、スリープモードから通常モードへ移行する。
通常モードに復帰したECU2は、起動完了通知部42を起動させ、起動完了通知部42は起動通知をゲートウェイ装置1に送信する(S50)。
通常モードに復帰したゲートウェイ装置3はデータ中継部43を起動させ、データ中継部43は起動要求信号をECU_A及びゲートウェイ装置4に送信する(S220、S230)。これにより、ECU_A及びゲートウェイ装置4はウェイクアップを開始し、スリープモードから通常モードへ移行する。
通常モードに復帰したECU_Aは、起動完了通知部42を起動させ、起動完了通知部42は起動通知をゲートウェイ装置3に送信する(S240)。
通常モードに復帰したゲートウェイ装置4はデータ中継部43を起動させ、データ中継部43は起動要求信号をECU_Bに送信する(S250)。これにより、ECU_Bはウェイクアップを開始し、スリープモードから通常モードへ移行する。
通常モードに復帰したECU_Bは、起動完了通知部42を起動させ、起動完了通知部42は起動通知をゲートウェイ装置4に送信する(S260)。
ゲートウェイ装置4の起動確認部44は、ECUリスト45に登録されている全てのECUであるECU_Bから起動通知を受信したか否かを判定し、全てのECUから起動通知を受信したと判定すると、起動通知をゲートウェイ装置3に送信する(S270)。ゲートウェイ装置3はゲートウェイ装置4を含む下流のECUは全て起動したことが分かる。
ゲートウェイ装置3の起動確認部44は、ECUリスト45に登録されている全てのECUであるECU_A及びゲートウェイ装置4から起動通知を受信したか否かを判定し、全てのECUから起動通知を受信したと判定すると、起動通知をゲートウェイ装置1に送信する(S280)。ゲートウェイ装置1は、ゲートウェイ装置3を含む下流のECUは全て起動したことが分かる。
ゲートウェイ装置1の起動確認部44は、ECUリスト45に登録されている全てのECU1,2及びゲートウェイ装置3から起動通知を受信すると、起動通知をゲートウェイ装置2に送信する(S140)。これにより、ゲートウェイ装置2はゲートウェイ装置1を含む下流のECUは全て起動したことが分かる。
ゲートウェイ装置2の起動確認部44は、ECUリスト45に登録されている全てのECUであるECU3から起動通知を受信すると、起動通知をゲートウェイ装置1に送信する(S150)。
図9にて説明したように、ゲートウェイ装置1,2はステップS140とS150が完了するとIGオン許可信号をECU1〜3に送信できる(S70,80,160)。
一方、ゲートウェイ装置1のデータ中継部43はゲートウェイ装置2から受信したS150の起動通知をゲートウェイ装置3に中継する(S290)。同様に、ゲートウェイ装置3のデータ中継部43はゲートウェイ装置1から起動通知をゲートウェイ装置4に中継する(S300)。
ゲートウェイ装置3の起動確認部44は、ECUリスト45に登録されたゲートウェイ装置1から起動通知を受信できたので、IGオン許可信号をECU_Aに送信することができる(S310)。
ゲートウェイ装置4の起動確認部44は、ECUリスト45に登録されたゲートウェイ装置3から起動通知を受信できたので、IGオン許可信号をECU_Bに送信することができる(S320)。
以上のように、3つ以上のゲートウェイ装置1,2,3が配置された車載ネットワークにおいても、自機からみて上流側及び下流側の全てのECUが通常モードに移行した場合に、ゲートウェイ装置100はIGオン許可信号をECU200に送信することができる。従って、起動通知の通信時間(中継時間)を無視すれば、若干の遅延はあっても不都合のないレベルで、ECU1〜3,ECU_A及びECU_Bがほぼ同時にIGオン許可信号を受信することができる。
なお、図の構成ではゲートウェイ装置2が送信した起動通知が、ECU_Bの起動よりも先にゲートウェイ装置4に到達することがある。この結果、最も後にウェイクアップするゲートウェイ装置4がECU_Bの起動を検出した後、最も早くIGオン許可信号をECU_Bに送信する可能性がある(ゲートウェイ装置4が最も遅くS300の起動通知を受信しても)。この場合、ゲートウェイ装置2が最も遅くにIGオン許可信号をECU3に送信することになるが、それでもゲートウェイ装置4とゲートウェイ装置2がIGオン許可信号を送信する時間差は許容できる範囲である。
仮に、IGオン許可信号を送信する時間差が許容できない場合、ゲートウェイ装置100と電源ECUの通信的な距離(例えば、間にある他のゲートウェイ装置の数)に応じて、各ゲートウェイ装置1〜4がIGオン許可信号を送信するタイミングを遅延させればよい。例えば、ゲートウェイ装置4のIGオン許可部46は、起動確認部44がECU_Bの起動を確認しかつゲートウェイ装置3から起動通知を受信してからα時間後にIGオン許可信号をECU_Bに送信する。ゲートウェイ装置3のIGオン許可部46は、起動確認部44がECU_Aとゲートウェイ装置4の起動を確認しかつゲートウェイ装置1から起動通知を受信してからβ時間後にIGオン許可信号をECU_Aに送信する。ゲートウェイ装置1のIGオン許可部46は、起動確認部44がECU1,2及びゲートウェイ装置3の起動を確認しかつゲートウェイ装置2から起動通知を受信してからγ時間後にIGオン許可信号をECU1,2に送信する。ゲートウェイ装置2のIGオン許可部46は、起動確認部44がECU3の起動を確認しかつゲートウェイ装置1から起動通知を受信してからγ時間後にIGオン許可信号をECU3に送信する。ただし、α>β>γである。こうすることで、ECU1〜3,ECU_A及びECU_BがIGオン許可信号を受信する時刻をさらに近づけることができる。
実施例1又は2のIGオンタイミングの共有方法では、ECUリスト45に登録されたECU200又はゲートウェイ装置100が上流側のゲートウェイ装置100に起動通知を送信しないと、IGオン許可信号を送信するゲートウェイ装置100がいつまでも待機状態になってしまう。
本実施例では、このような状況を検出してフェールセーフすることができる車載ネットワーク500について説明する。
図12は、車載ネットワーク500の構成図の一例を示す。車載ネットワーク500では、系統別にネットワークを分割することが多い。例えば、制御系、ボディ系、アクセサリー系、オプション系などである。制御系はエンジンECU、ブレーキECU、ステアリングECU等の車両の基本機能に必要なアクチュエータ等を制御するECUのネットワークである。ボディECUはドアECU、ウィンドウECU、ワイパーECU、パワーシートECU等の快適性能に関連するECUのネットワークである。アクセサリー系は、メータECU、AV系ECU、エアコンECU等、ACC電源で動作可能なECUである。オプション系は、リモートスタートECU、セキュリティアラーム用のECU等、ディーラやユーザが装着可能なECUのネットワークである。
これらの優先度はフェールクラスとして定められているが、優先度が高いECUほど電源ECU300に近いことで、ECU200の故障の影響を低減できる。例えば、図においてECU_Bが故障した場合、車載ネットワーク500からオプション系のネットワークを切り離しても走行は可能である。したがって、図示するように、優先度(フェールクラス)の高いECU(ネットワーク)ほど電源ECU300と接続されたゲートウェイ装置1の近くに配置されることが好ましい。
より具体的には、各ゲートウェイ装置1〜4が電源ECU300から見て下流側のECUの起動通知に対しタイムアウトを検出することで、相対的に優先度の低いネットワークの切り離しが可能になる。
図13は、電源ECU300、ゲートウェイ装置100、及びECU1,2の機能ブロック図の一例を示す。図13において図6と同一部の説明は省略する。図13のゲートウェイ装置100はタイムアウト検出部47を有する。タイムアウト検出部47は、データ中継部43が起動要求信号をECU2に送信することでタイマーのカウントアップ(又は決まったカウント値からのカウントダウンでもよい)を開始する。タイムアウト検出部47は、起動確認部44がECUリスト45の全てのECUから起動通知を受信したと判定するまでに、予め定めたタイムアウト時間が経過すると、タイムアウトしたと判定する。
タイムアウト検出部47がタイムアウトを検出した場合、起動確認部44は起動通知を上流側のゲートウェイ装置100に送信する。
したがって、決まった時間が経過すると各ゲートウェイ装置は起動通知を上流側のゲートウェイ装置に送信できるので、下流側の重要度が低いECU(ネットワーク)を切り離しながら、下流側のECUを含めIGオンタイミングを共有できる。
図14は、ゲートウェイ装置100がタイムアウトを検知して、IGオン許可信号を配信する手順を示すシーケンス図の一例である。
乗員は、プッシュボタンを押下するか又はキーをIGシリンダに差し込みIGオンの位置まで回転させる(S10)。これにより、電源ECU300はIGオンを検知し、ウェイクアップを開始する。
電源ECU300は通常モードに移行後、起動要求送信部41を立ち上げ、起動要求送信部41は起動要求信号をゲートウェイ装置100及びECU2に送信する(S20、S30)。通信データはネットワーク1上のノードに共通に送信されるので、起動要求信号はほぼ同時に受信される。これによりゲートウェイ装置1及びECU1はウェイクアップを開始する。
通常モードに復帰したゲートウェイ装置1は、データ中継部43を起動させ、データ中継部43は起動要求信号をECU2に送信する(S40)。これにより、ECU2はウェイクアップを開始し、スリープモードから通常モードへ移行する。
本実施例のゲートウェイ装置1はデータ中継部43が起動要求信号を送信した後、タイムアウト検出部47がタイムアウト時間の計測を開始する(S42)。
ECU2が通常モードに復帰しない場合や、復帰してもECU2の起動完了通知部42が起動通知をゲートウェイ装置に送信できない場合、タイムアウト検出部47はタイムアウトを検出する(S44)。
タイムアウト検出すると起動確認部44は起動通知をゲートウェイ装置2に送信する(S140)。これにより、ゲートウェイ装置2のIGオン許可部はECU3にIGオン許可信号を送信できる(S160)。また、ゲートウェイ装置2は起動通知をゲートウェイ装置1に送信する。
タイムアウト検出部がタイムアウトを検出しているので、IGオン許可部46は、ゲートウェイ装置2から受信した起動通知により、IGオン許可信号を同報的にECU1及びECU2に送信する(S70,S80)。この場合、ECU2が故障から復帰していれば、IGオン許可信号を受信して、IGオンタイミングをECU1と共有できる。ECU2が故障から復帰していなくても、より優先度の高いECU1はIGオン許可信号を受信してIGオンタイミングを基準に処理を開始することができる。
実施例3では、ゲートウェイ装置の故障に優先度に応じたECU(ネットワーク)の配置とタイムアウトで対応した。本実施例では、冗長構成によりゲートウェイ装置の故障に対応する車載ネットワーク500について説明する。
図15は、車載ネットワーク500の概略構成図の一例を示す。図15において図3と同一部の説明は省略する。図15の車載ネットワーク500は、サブケートウェイ装置150を有する。サブゲートウェイ装置150は、+B線11に接続されると共にネットワーク1及びネットワーク2に電気的に接続されている。サブゲートウェイ装置150は、2チャンネル(2つのCAN通信装置23)を有するECUであればよく、ECU1などが兼用することも可能である。
サブゲートウェイ装置150は、ゲートウェイ装置監視部48を有する。ゲートウェイ装置監視部48は、ゲートウェイ装置1が故障したか否かを監視する。監視には種々の方法があるが、ゲートウェイ装置監視部48は、例えばサブバス側(ネットワーク2)に起動要求信号が中継されないことから、ゲートウェイ装置1の故障を検出する。起動要求信号は、ゲートウェイ装置1が必ずネットワーク2に送信する通信データなので、起動要求信号が送信されないことから、ゲートウェイ装置監視部48は確実にゲートウェイ装置1の故障を検出できる。または、ゲートウェイ装置監視部48は、ゲートウェイ装置1に故障の有無を問い合わせ、応答結果に基づきゲートウェイ装置1の故障を検出してもよい。
ゲートウェイ装置監視部48がゲートウェイ装置1の故障を検出した場合、サブゲートウェイ装置150がゲートウェイ装置100として機能する。すなわち、サブゲートウェイ装置150のデータ中継部43が起動要求信号をECU2に送信し、ECU2が起動通知を送信すると起動確認部44がECUリスト45に基づき全てのECUが起動したか否かを判定する。すべてのECUが起動すると、サブゲートウェイ装置150のIGオン許可部46がECU1及びECU2にIGオン許可信号を送信する。
したがって、本実施例の車載ネットワーク500によれば、ゲートウェイ装置1が故障しても、各ECUがIGオンタイミングを共有する可能性を高めることができる。
以上説明したように、本実施形態の車載ネットワーク500は、ECUからIG線12を取り外しても、IGオンタイミングを共有できるので各ECUが従来と同様に同期して処理することができる。
なお、実施例1〜4では、CANバスと+B線11を別々に搭載した車載ネットワーク500について説明したが、PLC(Power Line Communication)に対応した通信装置を各ECUに配置することで、CANバスを省略することができる。PLCは電力線に情報を乗せて通信する通信方法である。このように通信のための通信線を省略することで、IG線12を取り外すだけよりさらにコストや車両重量を低減できる。