(57)【要約】【課題】  通信障害やデータの遅延を抑制した車載ネットワークシステムを提供する。【解決手段】  車載ネットワークシステムは、第１バスと、前記第１バスに接続される複数の第１制御部と、前記第１バスで生じるエラーを検出するエラー検出部と、前記エラー検出部によって検出されるエラーの発生度合を計測する発生度合計測部と、前記エラーの発生度合が第１度合以上になると、前記複数の第１制御部のうちの少なくともいずれか１つの通信速度及び通信データ量を第１通信速度及び第１通信データ量から第２通信速度及び第２通信データ量に低下させる通信制御部であって、前記第２通信速度及び前記第２通信データ量による通信時間が、前記第１通信速度及び前記第１通信データ量による通信時間以下になるように、前記少なくともいずれか１つの第１制御部の通信速度及び通信データ量を低下させる通信制御部とを含む。【選択図】図１
2018074257.tif 000002
【特許請求の範囲】
【請求項１】
第１バスと、
前記第１バスに接続される複数の第１制御部と、
前記第１バスで生じるエラーを検出するエラー検出部と、
前記エラー検出部によって検出されるエラーの発生度合を計測する発生度合計測部と、
前記エラーの発生度合が第１度合以上になると、前記複数の第１制御部のうちの少なくともいずれか１つの通信速度及び通信データ量を第１通信速度及び第１通信データ量から第２通信速度及び第２通信データ量に低下させる通信制御部であって、前記第２通信速度及び前記第２通信データ量による通信時間が、前記第１通信速度及び前記第１通信データ量による通信時間以下になるように、前記少なくともいずれか１つの第１制御部の通信速度及び通信データ量を低下させる通信制御部と
を含む、車載ネットワークシステム。
【請求項２】
前記通信制御部は、前記第１通信データ量のデータを所定数のデータに分割することにより、前記通信データ量を前記第２通信データ量に低下させる、請求項１記載の車載ネットワークシステム。
【請求項３】
前記通信制御部は、前記少なくともいずれか１つの第１制御部に、前記第２通信速度で前記第２通信データ量の第１データを送信し、
前記第１データを受信した前記第１制御部は、前記第１バスに前記第２通信速度で前記第２通信データ量の第２データを出力する、請求項１又は２記載の車載ネットワークシステム。
【請求項４】
前記発生度合計測部は、前記エラー検出部によって前記第１バスで前記エラーが検出されない度合に応じて、前記第１バスにおける前記エラーの発生度合を低減し、
前記通信制御部は、前記第１バスにおける前記エラーの発生度合がゼロになると、通信速度及び通信データ量が前記第２通信速度及び前記第２通信データ量に低下された第１制御部の通信速度及び通信データ量を前記第１通信速度及び第１通信データ量に復帰させる、請求項１乃至３のいずれか一項記載の車載ネットワークシステム。
【請求項５】
前記通信制御部は、通信速度及び通信データ量が前記第２通信速度及び前記第２通信データ量に低下された第１制御部に、前記第１通信速度で前記第１通信データ量の第３データを送信し、
前記第３データを受信した前記第１制御部は、前記第１バスに前記第１通信速度で前記第１通信データ量の第４データを出力する、請求項４記載の車載ネットワークシステム。
【請求項６】
前記第１バスに接続される第２制御部をさらに含み、
前記通信制御部は、前記第１バスにおける前記エラーの発生度合が前記第１度合よりも大きい第２度合以上になると、前記第２通信速度及び前記第２通信データ量による通信時間が、前記第１通信速度及び前記第１通信データ量による通信時間以下になるように、前記第２制御部の通信速度及び通信データ量を、前記第１通信速度及び前記第１通信データ量から前記第２通信速度及び前記第２通信データ量に低下させる、請求項１乃至５のいずれか一項記載の車載ネットワークシステム。
【請求項７】
前記通信制御部は、前記第１バスにおける前記エラーの発生度合が前記第２度合以上になると、前記第２制御部に前記第２通信速度で前記第２通信データ量の第５データを送信し、
前記第５データを受信した前記第２制御部は、前記第１バスに前記第２通信速度で前記第２通信データ量の第６データを出力する、請求項６記載の車載ネットワークシステム。
【請求項８】
前記発生度合計測部は、前記エラー検出部によって前記第１バスで前記エラーが検出されない度合に応じて、前記第１バスにおける前記エラーの発生度合を低減し、
前記通信制御部は、前記第１バスにおける前記エラーの発生度合がゼロになると、前記第２制御部の通信速度及び通信データ量を前記第２通信速度及び前記第２通信データ量から前記第１通信速度及び第１通信データ量に復帰させる、請求項６又は７記載の車載ネットワークシステム。
【請求項９】
前記通信制御部は、前記第１バスにおける前記エラーの発生度合がゼロになると、前記第２制御部に前記第１通信速度で前記第１通信データ量の第７データを送信し、
前記第７データを受信した前記第２制御部は、前記第１バスに前記第１通信速度で前記第１通信データ量の第８データを出力する、請求項８記載の車載ネットワークシステム。
【請求項１０】
第２バスと、
前記第２バスに接続される第２制御部と
をさらに含み、
前記通信制御部は、前記第２バスにおける前記エラーの発生度合が前記第１度合よりも大きい第２度合以上になると、前記第２通信速度及び前記第２通信データ量による通信時間が、前記第１通信速度及び前記第１通信データ量による通信時間以下になるように、前記第２制御部の通信速度及び通信データ量を、前記第１通信速度及び前記第１通信データ量から前記第２通信速度及び前記第２通信データ量に低下させる、請求項１乃至５のいずれか一項記載の車載ネットワークシステム。
【請求項１１】
前記通信制御部は、前記第２バスにおける前記エラーの発生度合が前記第２度合以上になると、前記第２制御部に前記第２通信速度で前記第２通信データ量の第５データを送信し、
前記第５データを受信した前記第２制御部は、前記第２バスに前記第２通信速度で前記第２通信データ量の第６データを出力する、請求項１０記載の車載ネットワークシステム。
【請求項１２】
前記発生度合計測部は、前記エラー検出部によって前記第２バスで前記エラーが検出されない度合に応じて、前記第２バスにおける前記エラーの発生度合を低減し、
前記通信制御部は、前記第２バスにおける前記エラーの発生度合がゼロになると、前記第２制御部の通信速度及び通信データ量を前記第２通信速度及び前記第２通信データ量から前記第１通信速度及び第１通信データ量に復帰させる、請求項１０又は１１記載の車載ネットワークシステム。
【請求項１３】
前記通信制御部は、前記第２バスにおける前記エラーの発生度合がゼロになると、前記第２制御部に前記第１通信速度で前記第１通信データ量の第７データを送信し、
前記第７データを受信した前記第２制御部は、前記第２バスに前記第１通信速度で前記第１通信データ量の第８データを出力する、請求項１２記載の車載ネットワークシステム。
【請求項１４】
前記エラー検出部と、前記通信制御部と、前記発生度合計測部とを有し、前記第１バス及び前記第２バスを並列に接続し、前記第１バス及び前記第２バスの間を中継する中継装置をさらに含む、請求項１０乃至１３のいずれか一項記載の車載ネットワークシステム。
【請求項１５】
バスと、
前記バスに接続される複数の第１制御部と
を含む、車載ネットワークシステムにおける通信制御方法であって、
前記バスで生じるエラーを検出し、
前記検出されるエラーの発生度合を計測し、
前記エラーの発生度合が第１度合以上になると、前記複数の第１制御部のうちの少なくともいずれか１つの通信速度及び通信データ量を第１通信速度及び第１通信データ量から第２通信速度及び第２通信データ量に低下させることであって、前記第２通信速度及び前記第２通信データ量による通信時間が、前記第１通信速度及び前記第１通信データ量による通信時間以下になるように、前記少なくともいずれか１つの第１制御部の通信速度及び通信データ量を低下させる、車載ネットワークシステムにおける通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載ネットワークシステム、及び、車載ネットワークシステムにおける通信制御方法に関する。
【背景技術】
【０００２】
従来より、複数のＥＣＵ(Electric Control Unit)がバスで接続されたＣＡＮ(Controller Area Network)ネットワークにおいて、エラーを検出した後に、通信速度を低下させる、データの伝送方法がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１３−５３８０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来の方法は、エラーを検出したときに通信速度を低下させるだけであるため、通信速度を下げたときに、データがバスを占有する占有時間が通信速度を下げる前よりも長くなり、他のデータとの衝突等の通信障害、又は、他のデータの転送の遅延等が生じるおそれがある。
【０００５】
そこで、通信障害やデータの遅延を抑制した車載ネットワークシステム、及び、車載ネットワークシステムにおける通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施の形態の車載ネットワークシステムは、
第１バスと、
前記第１バスに接続される複数の第１制御部と、
前記第１バスで生じるエラーを検出するエラー検出部と、
前記エラー検出部によって検出されるエラーの発生度合を計測する発生度合計測部と、
前記エラーの発生度合が第１度合以上になると、前記複数の第１制御部のうちの少なくともいずれか１つの通信速度及び通信データ量を第１通信速度及び第１通信データ量から第２通信速度及び第２通信データ量に低下させる通信制御部であって、前記第２通信速度及び前記第２通信データ量による通信時間が、前記第１通信速度及び前記第１通信データ量による通信時間以下になるように、前記少なくともいずれか１つの第１制御部の通信速度及び通信データ量を低下させる通信制御部と
を含む。
【０００７】
このように、通信速度及び通信データ量を低下させた後のデータの通信時間を、通信速度及び通信データ量を低下させる前のデータの通信時間以下にすることにより、低下させる前のデータの通信時間の枠に、低下させた後のデータを収めることができる。
【０００８】
従って、通信速度及び通信データ量を低下させても、通信障害やデータの遅延の発生を抑制することができる。
【０００９】
また、本発明の実施の形態の車載ネットワークシステムでは、
前記通信制御部は、前記第１通信データ量のデータを所定数のデータに分割することにより、前記通信データ量を前記第２通信データ量に低下させる。
【００１０】
このように、第１通信データ量のデータを所定数のデータに分割すれば、通信データ量を容易に低下させることができ、通信データ量を低下させたデータの管理が容易になる。
【００１１】
従って、通信データ量を容易に低下でき、データの管理も容易な車載ネットワークシステムを提供することができる。
【００１２】
また、本発明の実施の形態の車載ネットワークシステムでは、
前記通信制御部は、前記少なくともいずれか１つの第１制御部に、前記第２通信速度で前記第２通信データ量の第１データを送信し、
前記第１データを受信した前記第１制御部は、前記第１バスに前記第２通信速度で前記第２通信データ量の第２データを出力する。
【００１３】
このように、第１制御部は、通信制御部から第２通信速度で第２通信データ量の第１データを受信すると、前記第２通信速度で前記第２通信データ量の第２データを出力するため、通信速度及び通信データ量を低下させるために、専用の信号や情報を設ける必要がない。
【００１４】
従って、第１バスによって送信されるデータ量を増やさずに済み、通信障害やデータの遅延の発生を抑制することができる。
【００１５】
また、本発明の実施の形態の車載ネットワークシステムでは、
前記発生度合計測部は、前記エラー検出部によって前記第１バスで前記エラーが検出されない度合に応じて、前記第１バスにおける前記エラーの発生度合を低減し、
前記通信制御部は、前記第１バスにおける前記エラーの発生度合がゼロになると、通信速度及び通信データ量が前記第２通信速度及び前記第２通信データ量に低下された第１制御部の通信速度及び通信データ量を前記第１通信速度及び第１通信データ量に復帰させる。
【００１６】
このように、エラーの発生度合がゼロになったときに、低下させる前の第１通信速度及び第１通信データ量に復帰させるため、高速側の通信速度及び大容量側の通信データ量に戻しても、通信障害やデータの遅延の発生は、極めて生じにくい状況になっている。
【００１７】
従って、エラーの発生度合がゼロになった後には、再び高速側の通信速度及び大容量側の通信データ量で通信を行うことができる車載ネットワークシステムを提供することができる。
【００１８】
また、本発明の実施の形態の車載ネットワークシステムでは、
前記通信制御部は、通信速度及び通信データ量が前記第２通信速度及び前記第２通信データ量に低下された第１制御部に、前記第１通信速度で前記第１通信データ量の第３データを送信し、
前記第３データを受信した前記第１制御部は、前記第１バスに前記第１通信速度で前記第１通信データ量の第４データを出力する。
【００１９】
このように、第１制御部は、通信制御部から第１通信速度で第１通信データ量の第３データを受信すると、通信速度及び通信データ量を復帰させて、第１通信速度で第１通信データ量の第４データを出力するため、通信速度及び通信データ量を復帰させるために、専用の信号や情報を設ける必要がない。
【００２０】
従って、通信速度及び通信データ量を復帰させる際にも、第１バスによって送信されるデータ量を増やさずに済み、通信障害やデータの遅延の発生を抑制することができる。
【００２１】
また、本発明の実施の形態の車載ネットワークシステムは、
前記第１バスに接続される第２制御部をさらに含み、
前記通信制御部は、前記第１バスにおける前記エラーの発生度合が前記第１度合よりも大きい第２度合以上になると、前記第２通信速度及び前記第２通信データ量による通信時間が、前記第１通信速度及び前記第１通信データ量による通信時間以下になるように、前記第２制御部の通信速度及び通信データ量を、前記第１通信速度及び前記第１通信データ量から前記第２通信速度及び前記第２通信データ量に低下させる。
【００２２】
このように、第２制御部については、エラーの発生度合が第１度合よりも大きい第２度合以上になったときに、通信速度及び通信データ量を低下させるので、複数の制御装置をグループ分けして、グループ毎に通信速度及び通信データ量を低下させる条件を変えることができる。
【００２３】
従って、通信障害やデータの遅延の発生を抑制しつつ、第１制御部、第２制御部の種類や用途等に応じて、グループ毎に通信速度及び通信データ量を低下させることができる車載ネットワークシステムを提供することができる。
【００２４】
また、本発明の実施の形態の車載ネットワークシステムでは、
前記通信制御部は、前記第１バスにおける前記エラーの発生度合が前記第２度合以上になると、前記第２制御部に前記第２通信速度で前記第２通信データ量の第５データを送信し、
前記第５データを受信した前記第２制御部は、前記第１バスに前記第２通信速度で前記第２通信データ量の第６データを出力する。
【００２５】
このように、第２制御部は、通信制御部から第２通信速度で第２通信データ量の第５データを受信すると、前記第２通信速度で前記第２通信データ量の第６データを出力するため、通信速度及び通信データ量を低下させるために、専用の信号や情報を設ける必要がない。
【００２６】
従って、第１バスによって送信されるデータ量を増やさずに済み、通信障害やデータの遅延の発生を抑制することができる。
【００２７】
また、本発明の実施の形態の車載ネットワークシステムでは、
前記発生度合計測部は、前記エラー検出部によって前記第１バスで前記エラーが検出されない度合に応じて、前記第１バスにおける前記エラーの発生度合を低減し、
前記通信制御部は、前記第１バスにおける前記エラーの発生度合がゼロになると、前記第２制御部の通信速度及び通信データ量を前記第２通信速度及び前記第２通信データ量から前記第１通信速度及び第１通信データ量に復帰させる。
【００２８】
このように、エラーの発生度合がゼロになったときに、低下させる前の第１通信速度及び第１通信データ量に復帰させるため、高速側の通信速度及び大容量側の通信データ量に戻しても、通信障害やデータの遅延の発生は、極めて生じにくい状況になっている。
【００２９】
従って、エラーの発生度合がゼロになった後には、再び高速側の通信速度及び大容量側の通信データ量で通信を行うことができる車載ネットワークシステムを提供することができる。
【００３０】
また、本発明の実施の形態の車載ネットワークシステムでは、
前記通信制御部は、前記第１バスにおける前記エラーの発生度合がゼロになると、前記第２制御部に前記第１通信速度で前記第１通信データ量の第７データを送信し、
前記第７データを受信した前記第２制御部は、前記第１バスに前記第１通信速度で前記第１通信データ量の第８データを出力する。
【００３１】
このように、第２制御部は、通信制御部から第１通信速度で第１通信データ量の第７データを受信すると、通信速度及び通信データ量を復帰させて、第１通信速度で第１通信データ量の第８データを出力するため、通信速度及び通信データ量を復帰させるために、専用の信号や情報を設ける必要がない。
【００３２】
従って、通信速度及び通信データ量を復帰させる際にも、第１バスによって送信されるデータ量を増やさずに済み、通信障害やデータの遅延の発生を抑制することができる。
【００３３】
また、本発明の実施の形態の車載ネットワークシステムは、
第２バスと、
前記第２バスに接続される第２制御部と
をさらに含み、
前記通信制御部は、前記第２バスにおける前記エラーの発生度合が前記第１度合よりも大きい第２度合以上になると、前記第２通信速度及び前記第２通信データ量による通信時間が、前記第１通信速度及び前記第１通信データ量による通信時間以下になるように、前記第２制御部の通信速度及び通信データ量を、前記第１通信速度及び前記第１通信データ量から前記第２通信速度及び前記第２通信データ量に低下させる。
【００３４】
このように、第２制御部については、エラーの発生度合が第１度合よりも大きい第２度合以上になったときに、通信速度及び通信データ量を低下させるので、複数の制御装置をグループ分けして、グループ毎に通信速度及び通信データ量を低下させる条件を変えることができる。
【００３５】
従って、通信障害やデータの遅延の発生を抑制しつつ、第１制御部、第２制御部の種類や用途等に応じて、グループ毎に通信速度及び通信データ量を低下させることができる車載ネットワークシステムを提供することができる。
【００３６】
また、本発明の実施の形態の車載ネットワークシステムでは、
前記通信制御部は、前記第２バスにおける前記エラーの発生度合が前記第２度合以上になると、前記第２制御部に前記第２通信速度で前記第２通信データ量の第５データを送信し、
前記第５データを受信した前記第２制御部は、前記第２バスに前記第２通信速度で前記第２通信データ量の第６データを出力する。
【００３７】
このように、第２制御部は、通信制御部から第２通信速度で第２通信データ量の第５データを受信すると、前記第２通信速度で前記第２通信データ量の第６データを出力するため、通信速度及び通信データ量を低下させるために、専用の信号や情報を設ける必要がない。
【００３８】
従って、第１バスによって送信されるデータ量を増やさずに済み、通信障害やデータの遅延の発生を抑制することができる。
【００３９】
また、本発明の実施の形態の車載ネットワークシステムでは、
前記発生度合計測部は、前記エラー検出部によって前記第２バスで前記エラーが検出されない度合に応じて、前記第２バスにおける前記エラーの発生度合を低減し、
前記通信制御部は、前記第２バスにおける前記エラーの発生度合がゼロになると、前記第２制御部の通信速度及び通信データ量を前記第２通信速度及び前記第２通信データ量から前記第１通信速度及び第１通信データ量に復帰させる。
【００４０】
このように、エラーの発生度合がゼロになったときに、低下させる前の第１通信速度及び第１通信データ量に復帰させるため、高速側の通信速度及び大容量側の通信データ量に戻しても、通信障害やデータの遅延の発生は、極めて生じにくい状況になっている。
【００４１】
従って、エラーの発生度合がゼロになった後には、再び高速側の通信速度及び大容量側の通信データ量で通信を行うことができる車載ネットワークシステムを提供することができる。
【００４２】
また、本発明の実施の形態の車載ネットワークシステムでは、
前記通信制御部は、前記第２バスにおける前記エラーの発生度合がゼロになると、前記第２制御部に前記第１通信速度で前記第１通信データ量の第７データを送信し、
前記第７データを受信した前記第２制御部は、前記第２バスに前記第１通信速度で前記第１通信データ量の第８データを出力する。
【００４３】
このように、第２制御部は、通信制御部から第１通信速度で第１通信データ量の第７データを受信すると、通信速度及び通信データ量を復帰させて、第１通信速度で第１通信データ量の第８データを出力するため、通信速度及び通信データ量を復帰させるために、専用の信号や情報を設ける必要がない。
【００４４】
従って、通信速度及び通信データ量を復帰させる際にも、第１バスによって送信されるデータ量を増やさずに済み、通信障害やデータの遅延の発生を抑制することができる。
【００４５】
本発明の実施の形態の車載ネットワークシステムにおける通信制御方法は、
バスと、
前記バスに接続される複数の第１制御部と
を含む、車載ネットワークシステムにおける通信制御方法であって、
前記バスで生じるエラーを検出し、
前記検出されるエラーの発生度合を計測し、
前記エラーの発生度合が第１度合以上になると、前記複数の第１制御部のうちの少なくともいずれか１つの通信速度及び通信データ量を第１通信速度及び第１通信データ量から第２通信速度及び第２通信データ量に低下させることであって、前記第２通信速度及び前記第２通信データ量による通信時間が、前記第１通信速度及び前記第１通信データ量による通信時間以下になるように、前記少なくともいずれか１つの第１制御部の通信速度及び通信データ量を低下させる。
【００４６】
このように、通信速度及び通信データ量を低下させた後のデータの通信時間を、通信速度及び通信データ量を低下させる前のデータの通信時間以下にすることにより、低下させる前のデータの通信時間の枠に、低下させた後のデータを収めることができる。
【００４７】
従って、通信速度及び通信データ量を低下させても、通信障害やデータの遅延の発生を抑制することができる。
【発明の効果】
【００４８】
通信障害やデータの遅延を抑制した車載ネットワークシステム、及び、車載ネットワークシステムにおける通信制御方法を提供することができる。
【図面の簡単な説明】
【００４９】
【図１】実施の形態の車載ネットワークシステム１００の構成の一例を示す図である。
【図２】ＣＧＷ−ＥＣＵ１１０の内部構成を示すブロック図である。
【図３】ＥＣＵ１３１〜１３６の内部構成を示すブロック図である。
【図４】ＣＡＮ−ＦＤフォーマットにおけるＣＡＮ−ＦＤフレームの一例を示す図である。
【図５】ＣＡＮフォーマットにおけるＣＡＮフレームの一例を示す図である。
【図６】ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２１にデータを出力する処理を説明する図である。
【図７】ＣＧＷ−ＥＣＵ１１０が実行する処理を示すフローチャートである。
【図８】ＥＣＵ１３１〜１３６の通信制御部１３０Ａが実行する処理を示すフローチャートである。
【図９】ＣＧＷ−ＥＣＵ１１０の動作の一例を示す図である。
【図１０】エラー発生回数のカウント値を減少させる手法を示す図である。
【発明を実施するための形態】
【００５０】
以下、本発明の車載ネットワークシステム、及び、車載ネットワークシステムにおける通信制御方法を適用した実施の形態について説明する。
【００５１】
＜実施の形態＞
図１は、実施の形態の車載ネットワークシステム１００の構成の一例を示す図である。
【００５２】
車載ネットワークシステム１００は、ＣＧＷ(Central Gateway)−ＥＣＵ(Electronic Control Unit)１１０、ＣＡＮ(Controller Area Network)１２０、及び複数のＥＣＵ１３０を含む。
【００５３】
ＣＡＮ１２０は、ＣＡＮバス１２１、１２２、１２３を有する。複数のＥＣＵ１３０は、エンジンＥＣＵ１３１、ＰＣＳ(Pre-Crash Safety)−ＥＣＵ１３２、ＬＫＡ(Lane Keeping Assist)−ＥＣＵ１３３、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、トランスミッションＥＣＵ１３６、ボディＥＣＵ１３７、メータＥＣＵ１３８、及びエアコンＥＣＵ１３９である。
【００５４】
以下では、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、ＬＫＡ−ＥＣＵ１３３、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、トランスミッションＥＣＵ１３６、ボディＥＣＵ１３７、メータＥＣＵ１３８、及びエアコンＥＣＵ１３９をまとめてＥＣＵ１３１〜１３９と称す。
【００５５】
また、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、ＬＫＡ−ＥＣＵ１３３、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、及びトランスミッションＥＣＵ１３６をまとめてＥＣＵ１３１〜１３６と称す。
【００５６】
また、複数のＥＣＵ１３０（ＥＣＵ１３１〜１３９）の各々を特に区別しない場合には、ＥＣＵ１３０と称す。複数のＥＣＵ１３０としては、ＥＣＵ１３１〜１３９以外のＥＣＵも存在し得るが、ここではＥＣＵ１３１〜１３９を用いて説明する。
【００５７】
また、ここでは、図１に加えて、図２及び図３を用いて説明する。図２は、ＣＧＷ−ＥＣＵ１１０の内部構成を示すブロック図である。図３は、ＥＣＵ１３１〜１３６の内部構成を示すブロック図である。
【００５８】
ＣＧＷ−ＥＣＵ１１０、及び、複数のＥＣＵ１３０の各々は、一例として、ＣＰＵ(Central Processing Unit)、ＲＡＭ(Random Access Memory)、ＲＯＭ(Read Only Memory)、クロック生成部、入出力インターフェース、通信インターフェース、送受信部、及び内部バス等を含むコンピュータによって実現されるが、図２及び図３には、ＣＰＵが所定のプログラムを実行することによって実現される機能ブロックを示す。
【００５９】
車載ネットワークシステム１００は、車両に搭載され、複数のＥＣＵ１３０の間で通信を行う。なお、以下では、車両とは、特に断らない限り、車載ネットワークシステム１００が搭載される車両を指す。
【００６０】
ＣＧＷ−ＥＣＵ１１０は、主制御部１１０Ａ、エラー検出部１１１、１１２、１１３、発生度合計測部１１４、及び通信制御部１１５を有する。また、ＣＧＷ−ＥＣＵ１１０には、ＣＡＮ１２０のＣＡＮバス１２１、１２２、１２３が接続されている。
【００６１】
ＣＧＷ−ＥＣＵ１１０は、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、及びＬＫＡ−ＥＣＵ１３３がＣＡＮバス１２１に出力するデータをＣＡＮバス１２２及び１２３に中継し、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、及びトランスミッションＥＣＵ１３６がＣＡＮバス１２２に出力するデータをＣＡＮバス１２１及び１２３に中継し、ボディＥＣＵ１３７、メータＥＣＵ１３８、及びエアコンＥＣＵ１３９がＣＡＮバス１２３に出力するデータをＣＡＮバス１２１及び１２２に中継する。ＣＧＷ−ＥＣＵ１１０は、中継装置の一例であり、ＣＡＮバス１２１及び１２２の間でデータを中継するゲートウェイ装置である。
【００６２】
このようにＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２１、１２２、１２３の間でデータを中継することにより、ＥＣＵ１３１〜１３９は、ＣＡＮバス１２１、１２２、１２３を介して互いにデータ通信を行うことができる。
【００６３】
なお、データの通信速度とは、ＣＡＮ１２０を介してデータを転送する速度（データ転送速度）である。
【００６４】
主制御部１１０Ａは、ＣＧＷ−ＥＣＵ１１０の処理を統括する制御部である。主制御部１１０Ａの処理内容の一例については、図６のフローチャートを用いて後述する。
【００６５】
エラー検出部１１１、１１２、１１３は、それぞれ、ＣＡＮバス１２１、１２２、１２３に接続されており、ＣＡＮバス１２１、１２２、１２３で発生するエラーを独立的に検出する。エラー検出部１１１、１１２、１１３がエラー検出を行うのは、ＣＧＷ−ＥＣＵ１１０の制御周期毎である。
【００６６】
エラー検出部１１１がエラーを検出するのは、例えば、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２１にデータを出力する際にビットエラーが生じた場合、又は、ＣＡＮバス１２１を介してエラーフレームを受信した場合である。ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２１を介してエラーフレームを受信するのは、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、あるいはＬＫＡ−ＥＣＵ１３３で、ビットエラー、フレームエラー、又はＣＲＣエラーが発生した場合である。エラー検出部１１１は、このようにＣＡＮバス１２１で発生するエラーを検出する。
【００６７】
また、エラー検出部１１１は、エラーを検出すると、エラーフラグを'１'に設定する。エラー検出部１１１は、エラーを検出しない場合には、エラーフラグを'０'に設定する。エラーフラグが'０'のときは、ＣＡＮバス１２１で通信されるデータが正常の場合である。
【００６８】
エラー検出部１１２がエラーを検出するのは、例えば、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２２にデータを出力する際にビットエラーが生じた場合、又は、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、あるいはトランスミッションＥＣＵ１３６で、ビットエラー、フレームエラー、又はＣＲＣエラーが発生したことにより、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２２を介してエラーフレームを受信した場合である。エラー検出部１１２は、このようにＣＡＮバス１２２で発生するエラーを検出する。
【００６９】
また、エラー検出部１１２は、エラー検出部１１１と同様に、エラーを検出するとエラーフラグを'１'に設定し、エラーを検出しない場合（ＣＡＮバス１２２で通信されるデータが正常の場合）にはエラーフラグを'０'に設定する。
【００７０】
また、エラー検出部１１３がエラーを検出するのは、例えば、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２３にデータを出力する際にビットエラーが生じた場合、又は、ボディＥＣＵ１３７、メータＥＣＵ１３８、あるいはエアコンＥＣＵ１３９で、ビットエラー、フレームエラー、又はＣＲＣエラーが発生して、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２３を介してエラーフレームを受信した場合である。エラー検出部１１３は、エラー検出部１１１及び１１２と同様にエラーフラグを設定する。
【００７１】
なお、実施の形態では、エラー検出部１１１及び１１２が検出するエラーの発生回数をカウントし、エラー検出部１１３が検出するエラーの発生回数をカウントしない。
【００７２】
発生度合計測部１１４は、エラー検出部１１１及び１１２がエラーを検出した回数を別個独立にカウントする。エラーを検出した回数は、エラーの発生回数であり、エラーの発生度合の一例である。発生度合計測部１１４のカウント値は、ＣＡＮバス１２１におけるエラーの発生回数を表す。
【００７３】
具体的には、発生度合計測部１１４は、エラー検出部１１１がエラーフラグを'１'に設定する回数をカウント（インクリメント）する。また、発生度合計測部１１４は、エラーの発生回数が１回以上である場合に、エラー検出部１１１がエラーフラグを'０'に設定すると、カウント値をデクリメントする。
【００７４】
同様に、発生度合計測部１１４は、エラー検出部１１２がエラーフラグを'１'に設定する回数をカウント（インクリメント）する。すなわち、発生度合計測部１１４のカウント値は、ＣＡＮバス１２２におけるエラーの発生回数を表す。また、発生度合計測部１１４は、エラーの発生回数が１回以上である場合に、エラー検出部１１２がエラーフラグを'０'に設定すると、カウント値をデクリメントする。
【００７５】
なお、発生度合計測部１１４がカウントするカウント値は、ＣＧＷ−ＥＣＵ１１０のＲＡＭ等に保持される。
【００７６】
通信制御部１１５は、ＣＡＮバス１２１及び１２２において生じるエラーの発生回数に応じて、ＣＡＮバス１２１及び１２２によって転送されるデータの通信速度及び通信データ量を制御する。ＣＡＮバス１２１及び１２２において生じるエラーの発生回数に応じてＣＡＮバス１２１及び１２２によって転送されるデータの通信速度及び通信データ量を切り替えることは、通信制御部１１５（ＣＧＷ−ＥＣＵ１１０）が統一的に行う。
【００７７】
ＥＣＵ１３１〜１３６は、通信制御部１１５によって切り替えられた通信速度及び通信データ量に従って通信速度及び通信データ量を切り替えるが、通信制御部１１５による切り替えが無ければ、自らデータの通信速度及び通信データ量を切り替えることはできない。
【００７８】
ＣＡＮバス１２１及び１２２によって転送されるデータの通信速度及び通信データ量は、ＣＡＮバス１２１及び１２２にエラーが発生していない状態では、高速側の通信速度及び大容量側の通信データ量に設定される。一例として、高速側の通信速度は２Ｍｂｐｓであり、大容量側の通信データ量は３２バイトである。高速側の通信速度は、第１通信速度の一例であり、大容量側の通信データ量は、第１通信データ量の一例である。
【００７９】
通信制御部１１５は、発生度合計測部１１４によってカウントされるＣＡＮバス１２１におけるエラーの発生回数が所定回数Ｎ１以上になると、ＣＧＷ−ＥＣＵ１１０がエンジンＥＣＵ１３１及びＰＣＳ−ＥＣＵ１３２に転送するためにＣＡＮバス１２１に出力するデータの通信速度及び通信データ量を低下させる。この段階でＣＧＷ−ＥＣＵ１１０が出力するデータは、第１データの一例である。エンジンＥＣＵ１３１及びＰＣＳ−ＥＣＵ１３２のいずれに転送するデータであるかは、データに含まれるＩＤ(Identification)によって決まっている。
【００８０】
そして、この結果、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２は、ＣＡＮバス１２１に出力するデータの通信速度及び通信データ量を低下させる。このようにして、ＣＡＮバス１２１に接続される複数の第１制御部（エンジンＥＣＵ１３１及びＰＣＳ−ＥＣＵ１３２）のうちの少なくともいずれか１つ（エンジンＥＣＵ１３１又はＰＣＳ−ＥＣＵ１３２）の通信速度及び通信データ量が低下される。なお、この段階でエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２が出力するデータは、第２データの一例である。
【００８１】
また、通信制御部１１５は、発生度合計測部１１４によってカウントされるＣＡＮバス１２１におけるエラーの発生回数が所定回数Ｎ１よりも多い所定回数Ｎ２以上になると、ＣＧＷ−ＥＣＵ１１０がエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、及びＬＫＡ−ＥＣＵ１３３に転送するためにＣＡＮバス１２１に出力するデータの通信速度及び通信データ量を低下させる。この段階でＣＧＷ−ＥＣＵ１１０がＬＫＡ−ＥＣＵ１３３に転送するためにＣＡＮバス１２１に出力するデータは、第５データの一例である。エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、及びＬＫＡ−ＥＣＵ１３３のいずれに転送するデータであるかは、データに含まれるＩＤによって決まる。
【００８２】
そして、この結果、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、及びＬＫＡ−ＥＣＵ１３３は、ＣＡＮバス１２１に出力するデータの通信速度及び通信データ量を低下させる。この段階でＬＫＡ−ＥＣＵ１３３が出力するデータは、第６データの一例である。
【００８３】
これらの場合に、通信制御部１１５は、通信速度及び通信データ量を低下させた後のデータの通信時間が、通信速度及び通信データ量を低下させる前のデータの通信時間以下になるように、通信速度及び通信データ量を低下させる。
【００８４】
より具体的には、通信制御部１１５は、一例として、通信速度を高速側の通信速度（２Ｍｂｐｓ）から、低速側の通信速度（５００ｋｂｐｓ）に低下させるとともに、通信データ量を大容量側の３２バイトから小容量側の８バイトに低下させる。低速側の通信速度は、第２通信速度の一例であり、小容量側の通信データ量は、第２通信データ量の一例である。
【００８５】
また、同様に、通信制御部１１５は、発生度合計測部１１４によってカウントされるＣＡＮバス１２２におけるエラーの発生回数が所定回数Ｎ１以上になると、ＣＧＷ−ＥＣＵ１１０がブレーキＥＣＵ１３４及びステアリングＥＣＵ１３５に転送するためにＣＡＮバス１２２に出力するデータの通信速度及び通信データ量を低下させる。この段階でＣＧＷ−ＥＣＵ１１０が出力するデータは、第１データの一例である。ブレーキＥＣＵ１３４及びステアリングＥＣＵ１３５のいずれに転送するデータであるかは、データに含まれるＩＤによって決まる。
【００８６】
そして、この結果、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５は、ＣＡＮバス１２２に出力するデータの通信速度及び通信データ量を低下させる。この段階でブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５が出力するデータは、第２データの一例である。
【００８７】
また、通信制御部１１５は、発生度合計測部１１４によってカウントされるＣＡＮバス１２２におけるエラーの発生回数が所定回数Ｎ１よりも多い所定回数Ｎ２以上になると、ＣＧＷ−ＥＣＵ１１０がブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、及びトランスミッションＥＣＵ１３６に転送するためにＣＡＮバス１２２に出力するデータの通信速度及び通信データ量を低下させる。この段階でＣＧＷ−ＥＣＵ１１０がトランスミッションＥＣＵ１３６に転送するためにＣＡＮバス１２２に出力するデータは、第５データの一例である。ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、及びトランスミッションＥＣＵ１３６のいずれに転送するデータであるかは、データに含まれるＩＤによって決まる。
【００８８】
そして、この結果、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、及びトランスミッションＥＣＵ１３６は、ＣＡＮバス１２２に出力するデータの通信速度及び通信データ量を低下させる。この段階でトランスミッションＥＣＵ１３６が出力するデータは、第６データの一例である。
【００８９】
通信制御部１１５は、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２２に出力するデータについても、通信速度を高速側の通信速度（２Ｍｂｐｓ）から、低速側の通信速度（５００ｋｂｐｓ）に低下させるとともに、通信データ量を３２バイトから８バイトに低下させる。
【００９０】
ここで、車載ネットワークシステム１００は、ＣＡＮ−ＦＤ（CAN with Flexible Data）規格のデータフレーム（ＣＡＮ−ＦＤフレーム）と、ＣＡＮ規格のデータフレーム（ＣＡＮフレーム）とを用いる。ＣＡＮ−ＦＤフレームは、高速側の通信速度と大容量側の通信データ量とによるデータ通信に用いられ、ＣＡＮフレームは、低速側の通信速度と小容量側の通信データ量とによるデータ通信に用いられる。ＣＡＮ−ＦＤフレームとＣＡＮフレームとの切り替えは、ＣＡＮ−ＦＤフレーム及びＣＡＮフレームのコントロールフィールドに含まれるＦＤＦ(Flexible Data Format)の値を変更することによって行われる。
【００９１】
ＦＤＦの値が'１'のときは、高速側の通信速度（２Ｍｂｐｓ）と大容量側の通信データ量（３２バイト）のＣＡＮ−ＦＤフレームに設定され、ＦＤＦの値が'０'のときは、低速側の通信速度（５００ｋｂｐｓ）と低容量側の通信データ量（８バイト）のＣＡＮフレームに設定される。
【００９２】
通信制御部１１５は、データ保持部１１５Ａ、１１５Ｂ、１１５Ｃ、１１５Ｄを有する。データ保持部１１５Ａは、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２１を介してエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２に送信するデータのＦＤＦに設定する値を保持する。データ保持部１１５Ｂは、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２１を介してＬＫＡ−ＥＣＵ１３３に送信するデータのＦＤＦに設定する値を保持する。
【００９３】
データ保持部１１５Ｃは、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２２を介してブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５に送信するデータのＦＤＦに設定する値を保持する。データ保持部１１５Ｄは、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２２を介してトランスミッションＥＣＵ１３６に送信するデータのＦＤＦに設定する値を保持する。
【００９４】
ＣＧＷ−ＥＣＵ１１０の制御が開始される際には、ＣＡＮバス１２１及び１２２で転送されるすべてのデータのＦＤＦの値は'１'に設定され、データ保持部１１５Ａ〜１１５Ｄが保持する値も'１'に設定される。また、ＣＡＮバス１２１及び１２２にエラーが発生していない状態では、ＣＡＮバス１２１及び１２２で転送されるすべてのデータのＦＤＦの値と、データ保持部１１５Ａ〜１１５Ｄが保持する値とは、'１'に保持（維持）される。
【００９５】
通信制御部１１５は、ＣＡＮバス１２１におけるエラーの発生回数が所定回数Ｎ１未満であるときは、データ保持部１１５Ａ及び１１５Ｂの値を'１'に保持（維持）する。
【００９６】
また、通信制御部１１５は、ＣＡＮバス１２１におけるエラーの発生回数が所定回数Ｎ１以上で所定回数Ｎ２未満であるときは、データ保持部１１５Ａの値を'０'に設定するとともに、データ保持部１１５Ｂの値を'１'に保持（維持）する。
【００９７】
また、通信制御部１１５は、ＣＡＮバス１２１におけるエラーの発生回数が所定回数Ｎ２以上であるときは、データ保持部１１５Ａ及び１１５Ｂの値を'０'に設定する。
【００９８】
同様に、通信制御部１１５は、ＣＡＮバス１２２におけるエラーの発生回数が所定回数Ｎ１未満であるときは、データ保持部１１５Ｃ及び１１５Ｄの値を'１'に保持（維持）する。
【００９９】
また、通信制御部１１５は、ＣＡＮバス１２２におけるエラーの発生回数が所定回数Ｎ１以上で所定回数Ｎ２未満であるときは、データ保持部１１５Ｃの値を'０'に設定するとともに、データ保持部１１５Ｄの値を'１'に保持（維持）する。
【０１００】
また、通信制御部１１５は、ＣＡＮバス１２２におけるエラーの発生回数が所定回数Ｎ２以上であるときは、データ保持部１１５Ｃ及び１１５Ｄの値を'０'に設定する。
【０１０１】
ここで、通信データ量を３２バイトから８バイトに低減する（１／４にする）ことは、例えば、データフィールドが３２バイトのデータ量を有する１つのＣＡＮ−ＦＤフレームのデータを４分割して、データフィールドが８バイトのデータ量を有する４つのＣＡＮフレームのデータを生成することによって実現される。
【０１０２】
このように、データを分割するとともに、データ形式をＣＡＮ−ＦＤフレームからＣＡＮフレームに変えることにより、分割後の１つのＣＡＮフレームの通信時間が、分割前の１つのＣＡＮ−ＦＤフレームの通信時間以下になるようにしている。データを分割することにより、通信データ量を容易に低下させることができ、通信データ量を低下させたデータの管理も容易である。なお、分割後の通信時間が分割前の通信時間以下になる点については、図４及び図５を用いて後述する。
【０１０３】
また、ＣＡＮバス１２１及び１２２で通信されるデータが正常の場合には、発生度合計測部１１４は、エラー発生回数を表すカウント値をデクリメントするため、カウント値が所定回数Ｎ１又は所定回数Ｎ２以上になった後に、カウント値が減る場合がある。
【０１０４】
そして、カウント値をデクリメントした結果、発生度合計測部１１４がＣＡＮバス１２１又は１２２についてカウントするエラー発生回数が０回に戻ることがある。
【０１０５】
このような場合には、通信制御部１１５は、データ保持部１１５Ａ、１１５Ｂ、又は、データ保持部１１５Ｃ、１１５Ｄの値を'１'に復帰させ、ＣＡＮバス１２１及び１２２に出力するデータの通信速度及び通信データ量を高速側の通信速度及び大容量側の通信データ量に復帰させる。
【０１０６】
発生度合計測部１１４のＣＡＮバス１２１についてのカウント値が所定回数Ｎ１以上で所定回数Ｎ２未満の状態から０回に戻れば、ＣＧＷ−ＥＣＵ１１０がエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２に送信するデータの通信速度及び通信データ量は、高速側の通信速度及び大容量側の通信データ量に復帰される。この段階でＣＧＷ−ＥＣＵ１１０（通信制御部１１５）が出力するデータは、第３データの一例である。
【０１０７】
この結果、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２がＣＡＮバス１２１に出力するデータの通信速度及び通信データ量も高速側の通信速度及び大容量側の通信データ量に復帰する。この段階でエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２がＣＡＮバス１２１に出力するデータは、第４データの一例である。
【０１０８】
また、発生度合計測部１１４のＣＡＮバス１２１についてのカウント値が所定回数Ｎ２以上の状態から０回に戻れば、ＣＧＷ−ＥＣＵ１１０がエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、ＬＫＡ−ＥＣＵ１３３に送信するデータの通信速度及び通信データ量は、高速側の通信速度及び大容量側の通信データ量に復帰される。この段階でＣＧＷ−ＥＣＵ１１０がＬＫＡ−ＥＣＵ１３３に転送するためにＣＡＮバス１２１に出力するデータは、第７データの一例である。
【０１０９】
この結果、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、ＬＫＡ−ＥＣＵ１３３がＣＡＮバス１２１に出力するデータの通信速度及び通信データ量も高速側の通信速度及び大容量側の通信データ量に復帰する。この段階でＬＫＡ−ＥＣＵ１３３が出力するデータは、第８データの一例である。
【０１１０】
同様に、発生度合計測部１１４のＣＡＮバス１２２についてのカウント値が所定回数Ｎ１以上で所定回数Ｎ２未満の状態から０回に戻れば、ＣＧＷ−ＥＣＵ１１０がブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５に送信するデータの通信速度及び通信データ量は、高速側の通信速度及び大容量側の通信データ量に復帰される。この段階でＣＧＷ−ＥＣＵ１１０（通信制御部１１５）が出力するデータは、第３データの一例である。
【０１１１】
この結果、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５がＣＡＮバス１２２に出力するデータの通信速度及び通信データ量も高速側の通信速度及び大容量側の通信データ量に復帰する。この段階でブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５がＣＡＮバス１２２に出力するデータは、第４データの一例である。
【０１１２】
また、発生度合計測部１１４のＣＡＮバス１２２についてのカウント値が所定回数Ｎ２以上の状態から０回に戻れば、ＣＧＷ−ＥＣＵ１１０がブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、トランスミッションＥＣＵ１３６に送信するデータの通信速度及び通信データ量は、高速側の通信速度及び大容量側の通信データ量に復帰される。この段階でＣＧＷ−ＥＣＵ１１０がトランスミッションＥＣＵ１３６に転送するためにＣＡＮバス１２２に出力するデータは、第７データの一例である。
【０１１３】
この結果、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、トランスミッションＥＣＵ１３６がＣＡＮバス１２２に出力するデータの通信速度及び通信データ量も高速側の通信速度及び大容量側の通信データ量に復帰する。この段階でトランスミッションＥＣＵ１３６が出力するデータは、第８データの一例である。
【０１１４】
ここで、上述のように、通信速度及び通信データ量を低下させた後のデータの通信時間を、通信速度及び通信データ量を低下させる前のデータの通信時間以下にするのは、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２１及び１２２に出力するデータや、データを受信したＥＣＵ（１３１〜１３６のうちのいずれか）が低速側の通信速度でＣＡＮバス１２１及び１２２に出力するデータが、他のＥＣＵ（１３１〜１３６のうちのいずれか）の通信遅延や通信障害を生じさせないようにするためである。
【０１１５】
ＣＡＮ１２０のＣＡＮバス１２１には、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、及びＬＫＡ−ＥＣＵ１３３が接続されており、ＣＡＮバス１２２には、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、及びトランスミッションＥＣＵ１３６が接続されており、ＣＡＮバス１２３には、ボディＥＣＵ１３７、メータＥＣＵ１３８、及びエアコンＥＣＵ１３９が接続されている。
【０１１６】
ＣＡＮ１２０は、ＣＡＮバス１２１、１２２、１２３が上述のようにＣＧＷ−ＥＣＵ１１０によって接続されることにより、複数のＥＣＵ１３０の間において、ＣＡＮ−ＦＤプロトコルによる相互通信が可能な車載ネットワークを構築している。
【０１１７】
ＣＡＮバス１２１、１２２、１２３のうち、ＣＡＮバス１２１及び１２２は、上述のように通信制御部１１５によって通信速度及び通信データ量の切り替えが行われる。ＣＡＮバス１２１、１２２は、第１バス、第２バスの一例である。また、ＣＡＮバス１２３では、低速側の通信速度でデータ通信が行われる。
【０１１８】
また、ＣＡＮバス１２３では、エラー発生の有無に関係なく、低速側の通信速度及び小容量側の通信データ量のＣＡＮフレームを用いたデータ通信が行われる。一例として、低速側の通信速度は５００ｋｂｐｓであり、小容量側の通信データ量は８バイトである。ＣＡＮバス１２３によって転送されるデータのＦＤＦの値は、常に'０'に保持される。
【０１１９】
ＥＣＵ１３１〜１３９は、車両の制御を実行する制御装置である。エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、ＬＫＡ−ＥＣＵ１３３、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、及びトランスミッションＥＣＵ１３６は、車両の走行に関わる制御（走る、曲がる、止まるに関する制御）等を行うＥＣＵであり、走行系ＥＣＵである。ボディＥＣＵ１３７、メータＥＣＵ１３８、及びエアコンＥＣＵ１３９は、車両の走行に関わる制御（走る、曲がる、止まるに関する制御）以外の制御等を行うＥＣＵであり、非走行系ＥＣＵである。
【０１２０】
ここで、ＥＣＵ１３１〜１３９は、一例に過ぎず、ＣＡＮバス１２１、１２２、１２３には、さらに他の種類のＥＣＵが接続される。
【０１２１】
ＥＣＵ１３１〜１３９のうち、ＣＡＮバス１２１に接続されるエンジンＥＣＵ１３１とＰＣＳ−ＥＣＵ１３２と、ＣＡＮバス１２２に接続されるブレーキＥＣＵ１３４とステアリングＥＣＵ１３５とは、複数の第１制御部の一例であり、ＬＫＡ−ＥＣＵ１３３とトランスミッションＥＣＵ１３６は、第２制御部の一例である。
【０１２２】
また、ＥＣＵ１３１〜１３９のうち、ＥＣＵ１３１〜１３６（図３参照）は、通信制御部１３０Ａ（図３参照）とデータ保持部１３０Ｂとを有する。
【０１２３】
通信制御部１３０Ａは、ＣＡＮバス１２１又は１２２を介して受信するデータのコントロールフィールド内の１ビットのＦＤＦの値を参照して、ＣＡＮバス１２１又は１２２に出力するデータの形式を、高速側の通信速度及び大容量側の通信データ量のＣＡＮ−ＦＤフレーム、又は、低速側の通信速度及び小容量側の通信データ量のＣＡＮフレームのいずれかに設定する。
【０１２４】
通信制御部１３０Ａは、ＣＧＷ−ＥＣＵ１１０から受信したデータのＦＤＦの値が'０'の場合には、低速側の通信速度（５００ｋｂｐｓ）と、小容量側の通信データ量（８バイト）とによるＣＡＮフレームに設定し、ＣＧＷ−ＥＣＵ１１０から受信したデータのＦＤＦの値が'１'の場合には、高速側の通信速度（２Ｍｂｐｓ）と、大容量側の通信データ量（３２バイト）とによるＣＡＮ−ＦＤフレームに設定する。
【０１２５】
データ保持部１３０Ｂは、ＣＧＷ−ＥＣＵ１１０から受信するデータのＦＤＦの値を保持する。データ保持部１３０Ｂが保持する値は、ＥＣＵ１３１〜１３６の各々がＣＡＮバス１２１又は１２２に出力するデータのＦＤＦの値として通信制御部１３０Ａによって設定される。
【０１２６】
データ保持部１３０Ｂは、ＣＧＷ−ＥＣＵ１１０の制御が開始される際には、'１'を保持する。そして、データ保持部１３０Ｂは、通信制御部１３０ＡがＣＧＷ−ＥＣＵ１１０からＦＤＦの値が'０'のデータを受信すると、'０'の値を保持する。データ保持部１３０Ｂは、'０'を保持している状態で、ＣＧＷ−ＥＣＵ１１０からＦＤＦの値が'１'のデータを受信すると、保持する値を'１'に復帰させる。なお、ＣＧＷ−ＥＣＵ１１０から受信したデータであることは、データのＩＤによって識別される。
【０１２７】
エンジンＥＣＵ１３１は、アクセル開度や車速等に基づいて、エンジンの出力を制御するＥＣＵである。なお、(Hybrid Vehicle)車、及び、ＥＶ(Electric Vehicle)の場合には、エンジンＥＣＵ１３１の代わりに、それぞれ、エンジン又は駆動用モータの出力を制御するＨＶ−ＥＣＵ、及び、駆動用モータの出力を制御するＥＶ−ＥＣＵを用いればよい。アクセル開度は、アクセルポジションセンサによって検出され、車速は、車速センサによって検出される。
【０１２８】
ＰＣＳ−ＥＣＵ１３２は、車速や、車両の前方の障害物との間の距離等に基づいて、車両前方の障害物との衝突回避のための警報（ＰＣＳ警報）を発報し、障害物との衝突を回避するための自動ブレーキ（以下、ＰＣＳブレーキと称す）の作動制御を行うＥＣＵである。なお、車両の前方の障害物との間の距離は、例えば、ミリ波レーダ装置と単眼カメラによって検出される。また、ステレオカメラを用いて車両の前方の障害物との間の距離を検出してもよい。
【０１２９】
ＬＫＡ−ＥＣＵ１３３は、単眼カメラ等によって検出される車両前方の画像等に基づいて、車両が走行中の車線から逸脱しないように、舵角の制御を行うＥＣＵである。
【０１３０】
ブレーキＥＣＵ１３４は、マスターシリンダ内に設けられた油圧センサによって検出される油圧等に基づいて、ＡＢＳ(Anti-lock Brake System)の機能及びＶＳＣ(Vehicle Stability Control)の機能を実現するための制御を実行するＥＣＵである。また、ブレーキＥＣＵ１３４は、ＰＣＳ−ＥＣＵ１３１と連携して、ＰＣＳブレーキの制御を行う。
【０１３１】
ステアリングＥＣＵ１３５は、車速や操舵トルクに基づいて、電動パワーステアリングのアシスト用の電動モータの制御を行うＥＣＵである。操舵トルクは、運転者がステアリングホイールに入力するトルクを検出するトルクセンサによって検出される。
【０１３２】
トランスミッションＥＣＵ１３６は、シフトレバーの操作や車速等に応じて、トランスミッションの変速等の制御を行うＥＣＵである。トランスミッションは、トルクコンバータを用いたオートマチックトランスミッションや、ＣＶＴ（Continuous Variable Transmission・ベルト式無段変速機）等である。
【０１３３】
ボディＥＣＵ１３７は、車両のドアの開閉状態の検出や、サイドウィンドウ等の開閉制御等を行うＥＣＵである。
【０１３４】
メータＥＣＵ１３８は、車両のメータパネルのスピードメータやタコメータ等の各種メータ、及び、各種警報灯等の制御を行うＥＣＵである。
【０１３５】
エアコンＥＣＵ１３９は、車室内の空気の温度及び湿度を調整するエアコンディショナの制御を行うＥＣＵである。
【０１３６】
図４は、ＣＡＮ−ＦＤフォーマットにおけるＣＡＮ−ＦＤフレームの一例を示す図である。
【０１３７】
ＣＡＮ−ＦＤプロトコルのフォーマット（ＣＡＮ−ＦＤフォーマット）におけるＣＡＮ−ＦＤフレーム（データフレーム）は、ＳＯＦ（Start Of Frame）、アービトレーションフィールド(Arbitration field)、コントロールフィールド(Control field)、データフィールド(Data field)、ＣＲＣフィールド(CRC field)、ＡＣＫフィールド(ACK field)、及びＥＯＦ（End Of Frame）を有する。これらのうち、アービトレーションフィールドは、ＩＤ(Identifier)を含む。
【０１３８】
ＩＤは、データ内容や送信ノード等を識別するために使用されるとともに、ＣＡＮ１２０における通信調停（複数のノードから同時にＣＡＮ−ＦＤフレームがＣＡＮバス１２１〜１２３に出力された場合の調停）の優先順位を決定するために使用される。ＩＤが小さいほど、優先順位は高い。なお、ノードとは、ここでは、ＣＧＷ−ＥＣＵ１１０、及び、ＥＣＵ１３１〜１３９の各々のことである。
【０１３９】
ＥＣＵ１３１〜１３９は、予め割り当てられたＩＤに従い、ＣＡＮ１２０におけるＣＡＮ−ＦＤフレームの送受信を行うことにより、ＣＡＮ１２０（ＣＡＮバス１２１、１２２、１２３）上のＣＡＮ−ＦＤフレームを識別して必要なデータを受信することができる。
【０１４０】
また、コントロールフィールドは、ＩＤＥ(Identifier Extension)、ＤＬＣ(Data Length Code)、ＢＲＳ(Bit Rate Switch)、ＥＳＩ(Error State Indicator)、及びＦＤＦ(Flexible Data Format)を含む。上述したように、ＣＧＷ−ＥＣＵ１１０は、データの通信速度及び通信データ量を切り替えるために、ＦＤＦ（１ビット）の値を用いる。また、ＣＡＮ−ＦＤフレームは、高速側の通信速度及び大容量側の通信データ量によるデータ通信に用いられるため、ＢＲＳの値は、'１'（高速側の値）に保持される。
【０１４１】
ＣＡＮ−ＦＤフレームのデータの場合、データフィールドは、例えば、最大で６４バイトのデータを保持することができる。ＣＧＷ−ＥＣＵ１１０は、一例として、３２バイトのデータを保持させる。データフィールドには、ＥＣＵ１３１〜１３９が利用する様々な制御データが書き込まれ、ＣＡＮ１２０によって伝送される。
【０１４２】
なお、ＣＡＮ−ＦＤフレームのデータでは、ＳＯＦからコントロールフィールドのＤＬＣまでが２２ビット、ＣＲＣフィールドからＥＯＦまでが３６ビットである。
【０１４３】
図５は、ＣＡＮフォーマットにおけるＣＡＮフレームの一例を示す図である。
【０１４４】
ＣＡＮプロトコルの標準フォーマットにおけるＣＡＮフレーム（データフレーム）は、ＳＯＦ、ＩＤ、ＲＴＲ（Remote Transmission Request）、コントロールフィールド、データフィールド、ＣＲＣシーケンス、ＣＲＣデリミタ、ＡＣＫスロット、ＡＣＫデリミタ、ＥＯＦを有する。
【０１４５】
ＣＡＮフレームにより送信されるデータは、データフィールドに含まれ、ＣＡＮフレームは、１バイト単位で最大８バイトのデータまで送信することができる。ＣＡＮフレームに含まれるデータの長さは、コントロールフィールド内の４ビットのＤＬＣ（Data Length Code）により０〜８の間で設定される。本実施の形態では、８バイトに設定する。
【０１４６】
ＣＡＮフレームのデータフィールドには、ＣＡＮ−ＦＤフレームのデータフィールドのデータを分割したデータが書き込まれる。
【０１４７】
ＣＡＮフレームのコントロールフィールドは、ＣＡＮ−ＦＤフレームのコントロールフィールドと同様に、ＩＤＥ及びＦＤＦを有し、さらにＤＬＣを有する。ＣＡＮフレームでは、ＦＤＦの値は'０'に設定される。ＦＤＦの値を'０'から'１'に変更すれば、図４に示すＣＡＮ―ＦＤフレームになり、'０'に設定すれば、図５に示すＣＡＮフレームになる。
【０１４８】
ここで、ＣＡＮフレームのＳＯＦからコントロールフィールドのＤＬＣまでは１８ビットあり、ＣＲＣシーケンスからＥＯＦまでは２５ビットである。このようなＣＡＮフレームのデータフィールドに８バイトのデータを書き込んで５００ｋｂｐｓで送信すると、１フレームの通信時間は、約２２２μｓ（マイクロ秒）である。また、上述のＣＡＮ−ＦＤフレームのデータフィールドに３２バイトのデータを書き込んで２Ｍｂｐｓで送信すると、１フレームの通信時間は、約２３９．２μｓ（マイクロ秒）である。
【０１４９】
このように、ＣＡＮフレームのデータフィールドに８バイトのデータを書き込んで５００ｋｂｐｓで送信する場合の１フレームの通信時間（約２２２μｓ）は、ＣＡＮ−ＦＤフレームのデータフィールドに３２バイトのデータを書き込んで２Ｍｂｐｓで送信する場合の１フレームの通信時間（約２３９．２μｓ）未満である。なお、ここでは、８バイト及び５００ｋｂｐｓという組み合わせと、３２バイト及び２Ｍｂｐｓという組み合わせで比較したが、このような数値の組み合わせに限られるものではない。
【０１５０】
本実施の形態では、通信速度及び通信データ量を低下させた後のデータの通信時間が、通信速度及び通信データ量を低下させる前のデータの通信時間以下になるように、低下させる前後の通信速度及び通信データ量が設定されていればよい。
【０１５１】
図６は、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２１にデータを出力する処理を説明する図である。図６に示すバッファ１１０Ｂは、ＣＡＮバス１２１に対応するバッファであり、ＣＧＷ−ＥＣＵ１１０のＲＡＭによって実現される。図６には図示しないが、ＣＧＷ−ＥＣＵ１１０は、ＣＡＮバス１２２及び１２３に対応する２つのバッファも有する。
【０１５２】
ＣＧＷ−ＥＣＵ１１０のバッファ１１０Ｂには、ＣＡＮバス１２１への出力待ちのデータ（メッセージ）Ａ、Ｂ、Ｃがスタックされている。データＡ、Ｂ、Ｃは、データＡが最も古く、データＣが最も新しい。
【０１５３】
このような場合に、ＣＧＷ−ＥＣＵ１１０は、古いデータから順番にＣＡＮバス１２１に出力する。すなわち、データＡを最初にＣＡＮバス１２１に出力し、その次にデータＢを出力し、その次にデータＣを出力する。
【０１５４】
また、データＡ、Ｂ、ＣのＩＤは、それぞれ、１００ｈ、１５０ｈ、５００ｈであり、ＩＤが小さいほど、優先順位は高いため、データＡの優先度が最も高いことになる。データＢの優先度は、２番目であり、データＣの優先度は、３つのデータＡ、Ｂ、Ｃのうちで最も低い。なお、バッファ１１０Ｂには、実際には、データＡ、Ｂ、Ｃの後に、より新しい他のデータがスタックされ得る。バッファ１１０Ｂは、一例として、５つのデータを格納するデータ容量を有する。
【０１５５】
ここで、ＣＡＮバス１２１に発生したエラーの発生回数が所定回数Ｎ１に近づくと、ＣＡＮ−ＦＤのプロトコルにより、エンジンＥＣＵ１３１及びＰＣＳ−ＥＣＵ１３２に送信されるデータには、優先順位の高いＩＤ（値の小さなＩＤ）が割り振られるようになっている。
【０１５６】
このため、ここでは一例として、データＡはエンジンＥＣＵ１３１に送信されるデータであり、データＢはＰＣＳ−ＥＣＵ１３２に送信されるデータであり、データＣは、ＬＫＡ−ＥＣＵ１３３に送信されるデータである。なお、実際のＣＡＮバス１２１には、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、及びＬＫＡ−ＥＣＵ１３３以外のＥＣＵが接続され得るため、データＣの送信先は、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、及びＬＫＡ−ＥＣＵ１３３以外のＣＡＮバス１２１に接続されるＥＣＵであってもよい。
【０１５７】
図６に示すようにデータＡ、Ｂ、Ｃがバッファ１１０Ｂに貯まっている状態で、ＣＡＮバス１２１に発生したエラーの発生回数が所定回数Ｎ１以上になると、ＣＧＷ−ＥＣＵ１１０は、バッファ１１０Ｂにスタックされるデータのうち、最も古いデータから順番にＣＡＮバス１２１に出力する際に、送信先がエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２であるデータＡ、Ｂについては、ＦＤＦの値を'０'に設定する。また、送信先がＬＫＡ−ＥＣＵ１３３であるデータＣについては、ＦＤＦの値を'１'に保持する。
【０１５８】
この結果、データＡ及びＢは、低速側の通信速度及び小容量側の通信データ量によるＣＡＮフレーム形式のデータとしてＣＡＮバス１２１に出力され、データＣは、高速側の通信速度及び高容量側の通信データ量によるＣＡＮ−ＦＤフレーム形式のデータとしてＣＡＮバス１２１に出力される。
【０１５９】
そして、低速側の通信速度及び小容量側の通信データ量でデータＡ、Ｂ（ＣＡＮフレーム形式）をそれぞれ受信したエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２は、低速側の通信速度及び小容量側の通信データ量でデータ（ＣＡＮフレーム形式）をＣＡＮバス１２１に出力する。また、高速側の通信速度及び大容量側の通信データ量でデータＣ（ＣＡＮ−ＦＤフレーム形式）を受信したＬＫＡ−ＥＣＵ１３３は、高速側の通信速度及び大容量側の通信データ量でデータ（ＣＡＮ−ＦＤフレーム形式）をＣＡＮバス１２１に出力する。
【０１６０】
また、ＣＡＮバス１２１でエラーが発生せずに（正常に通信されて）、エラーの発生回数が所定回数Ｎ１からデクリメントされる制御周期が複数周期以上生じて、ＣＡＮバス１２１におけるエラー発生回数が０回になると、ＣＧＷ−ＥＣＵ１１０は、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２に送信するデータ（図６には不図示）のＦＤＦの値を'１'に復帰させる。この結果、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２に向けて、高速側の通信速度及び大容量側の通信データ量でＣＡＮバス１２１にデータ（ＣＡＮ−ＦＤフレーム形式）が出力される。
【０１６１】
そして、高速側の通信速度及び大容量側の通信データ量でデータを受信したエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２は、高速側の通信速度及び高容量側の通信データ量でデータ（ＣＡＮ−ＦＤフレーム形式）をＣＡＮバス１２１に出力するようになる。
【０１６２】
なお、ここでは、バッファ１１０Ｂに、最も古い方から最も新しい方にかけて、優先度が最も高いデータＡから、優先度が最も低いデータＣがスタックされる形態について説明したが、データＡ、Ｂ、Ｃがバッファ１１０Ｂにスタックされる順番が異なっていても、バッファ１１０ＢからＣＡＮバス１２１に出力される順番が変わるだけで、ＦＤＦの値を設定する考え方は同一である。
【０１６３】
また、ここでは、ＣＡＮバス１２１に対応するバッファ１１０Ｂについて説明したが、ＣＡＮバス１２２に対応するバッファにおいても同様である。
【０１６４】
また、ＣＡＮバス１２１に発生したエラーの発生回数が所定回数Ｎ１の状態で、所定回数Ｎ２に近づくと、ＣＡＮ−ＦＤのプロトコルにより、エンジンＥＣＵ１３１及びＰＣＳ−ＥＣＵ１３２に送信されるデータに加えて、ＬＫＡ−ＥＣＵ１３３に送信されるデータについても、優先順位の高いＩＤ（値の小さなＩＤ）が割り振られるようになっている。
【０１６５】
このため、データＡ、Ｂ、Ｃがバッファ１１０Ｂに貯まっている状態では、送信先がＬＫＡ−ＥＣＵ１３３であるデータＣに割り振られるＩＤの値は、より小さな値（例えば、２００ｈ）になる。
【０１６６】
そして、ＣＡＮバス１２１に発生したエラーの発生回数が所定回数Ｎ２以上になると、ＣＧＷ−ＥＣＵ１１０は、バッファ１１０Ｂにスタックされるデータのうち、最も古いデータから順番にＣＡＮバス１２１に出力する際に、送信先がエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、及びＬＫＡ−ＥＣＵ１３３であるデータＡ、Ｂ、ＣについてＦＤＦの値を'０'に設定する。
【０１６７】
この結果、データＡ、Ｂ、Ｃは、低速側の通信速度及び小容量側の通信データ量によるＣＡＮフレーム形式のデータとしてＣＡＮバス１２１に出力され。
【０１６８】
そして、低速側の通信速度及び小容量側の通信データ量でデータＡ、Ｂ、Ｃをそれぞれ受信したエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、ＬＫＡ−ＥＣＵ１３３は、低速側の通信速度及び小容量側の通信データ量でデータ（ＣＡＮフレーム形式）をＣＡＮバス１２１に出力する。
【０１６９】
また、ＣＡＮバス１２１でエラーが発生せずに（正常に通信されて）、エラーの発生回数が所定回数Ｎ２からデクリメントされる制御周期が複数周期以上生じて、ＣＡＮバス１２１におけるエラー発生回数が０回になると、送信先がエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、ＬＫＡ−ＥＣＵ１３３であるデータＡ、Ｂ、ＣのＦＤＦの値は'１'に復帰する。
【０１７０】
以上のように、ＣＡＮバス１２１におけるエラーの発生回数が所定回数Ｎ１以上になると、ＣＧＷ−ＥＣＵ１１０は、送信先がエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２であるデータＡ、ＢについてＦＤＦの値を'０'に設定する。
【０１７１】
また、ＣＡＮバス１２１におけるエラーの発生回数が所定回数Ｎ２以上になると、ＣＧＷ−ＥＣＵ１１０は、送信先がエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、及びＬＫＡ−ＥＣＵ１３３であるデータＡ、Ｂ、ＣについてＦＤＦの値を'０'に設定する。
【０１７２】
そして、ＣＡＮバス１２１におけるエラーの発生回数が０回に復帰すると、ＣＧＷ−ＥＣＵ１１０は、送信先がエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、及びＬＫＡ−ＥＣＵ１３３であるデータＡ、Ｂ、ＣについてＦＤＦの値を'１'に復帰させる。
【０１７３】
なお、以上のような処理は、ＣＡＮバス１２２に接続されるブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５、トランスミッションＥＣＵ１３６についても同様である。
【０１７４】
図７は、ＣＧＷ−ＥＣＵ１１０が実行する処理を示すフローチャートである。図７に示す処理は、後述する図８に示す処理とともに、車載ネットワークシステムにおける通信制御方法を実現する処理である。
【０１７５】
通信制御部１１５は、車両のイグニッションスイッチがオンにされると、処理をスタートする（スタート）。フローがスタートする際の前提条件として、ＣＡＮバス１２１及び１２２で転送されるすべてのデータのＦＤＦの値は'１'に設定される。また、通信制御部１１５のデータ保持部１１５Ａ〜１１５Ｄが保持するＦＤＦの値も'１'に設定される。
【０１７６】
なお、イグニッションスイッチは、エンジン車の場合は、車両の利用者により操作され、エンジンの始動及び停止に伴う車両各部への電源状態を切り換えるスイッチである。ＨＶ車やＥＶ車の場合は、エンジンの代わりに、エンジン又は駆動用モータや駆動用モータが対象となる。
【０１７７】
主制御部１１０Ａは、ＣＡＮバス１２１又は１２２でエラーが発生しているかどうかを判定する（ステップＳ１）。ＣＡＮバス１２１又は１２２でのエラーは、それぞれ、エラー検出部１１１又は１１２によって検出される。
【０１７８】
発生度合計測部１１４は、主制御部１１０ＡがＣＡＮバス１２１又は１２２でエラーが発生している（Ｓ１：ＹＥＳ）と判定すると、エラー検出部１１１及び１１２がエラーを検出した回数を別個独立にカウントする（ステップＳ２）。
【０１７９】
ステップＳ２において、発生度合計測部１１４は、ＣＡＮバス１２１でエラーが発生している場合は、ＣＡＮバス１２１におけるエラー発生回数のカウント値をインクリメントし、ＣＡＮバス１２２でエラーが発生している場合は、ＣＡＮバス１２２におけるエラー発生回数のカウント値をインクリメントする。ＣＡＮバス１２１及び１２２の両方でエラーが発生している場合は、両方のカウント値をともにインクリメントすればよい。
【０１８０】
通信制御部１１５は、ＣＡＮバス１２１又は１２２におけるエラーの発生回数が所定回数Ｎ１以上であるかどうかを判定する（ステップＳ３）。ステップＳ３では、発生度合計測部１１４がステップＳ２でカウントしたＣＡＮバス１２１又は１２２についてのカウント値が所定回数Ｎ１以上であるかどうかを通信制御部１１５が判定する。なお、所定回数Ｎ１の値は、実験やシミュレーション等で適切な値に設定すればよい。
【０１８１】
通信制御部１１５は、ＣＡＮバス１２１又は１２２におけるエラーの発生回数が所定回数Ｎ１以上である（Ｓ３：ＹＥＳ）と判定すると、エラーの発生回数が所定回数Ｎ１以上のＣＡＮバス１２１又は１２２に対応するデータ保持部１１５Ａ又は１１５Ｃの値を'０'に設定する（ステップＳ４）。エラーの発生回数が所定回数Ｎ１以上のＣＡＮバス１２１又は１２２において、低速側の通信速度及び小容量側の通信データ量での通信を行うためである。
【０１８２】
通信制御部１１５は、ＣＧＷ−ＥＣＵ１１０のバッファ１１０Ｂに貯まっている送信（転送）待ちのデータのうち、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、ブレーキＥＣＵ１３４、又はステアリングＥＣＵ１３５が送信先になっているデータがあるかどうかを判定する（ステップＳ５）。
【０１８３】
主制御部１１０Ａは、通信制御部１１５によって、送信先がエンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、ブレーキＥＣＵ１３４、又はステアリングＥＣＵ１３５のデータがある（Ｓ５：ＹＥＳ）と判定されると、バッファ１１０Ｂにスタックされたデータを、古いデータから順番に送信する（ステップＳ６）。
【０１８４】
各制御周期におけるステップＳ６で送信されるデータは、１つである。制御周期が繰り返されることにより、ステップＳ６において、バッファ１１０Ｂにスタックされたデータが古いデータから順番に送信される。また、バッファ１１０Ｂにスタックされたデータがない場合は、データの送信処理は行わない。なお、データの送信の順番は、図６を用いて説明した通りである。
【０１８５】
主制御部１１０Ａは、処理を終了するかどうかを判定する（ステップＳ７）。処理を終了するのは、車両のイグニッションスイッチがオフにされたときである。主制御部１１０Ａは、処理を終了する（Ｓ７：ＹＥＳ）と判定すると、一連の処理を終了する（エンド）。一方、主制御部１１０Ａは、処理を終了しない（Ｓ７：ＮＯ）と判定すると、フローをステップＳ１にリターンする。
【０１８６】
なお、ステップＳ５において、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、ブレーキＥＣＵ１３４、又はステアリングＥＣＵ１３５が送信先になっているデータがない（Ｓ５：ＮＯ）と判定すると、通信制御部１１５は、ＣＡＮバス１２１又は１２２におけるエラーの発生回数が所定回数Ｎ２以上であるかどうかを判定する（ステップＳ８）。
【０１８７】
ステップＳ８で通信制御部１１５が判定するエラーの発生回数（カウント値）は、主制御部１１０ＡがステップＳ２で読み出したカウント値である。なお、ＣＧＷ−ＥＣＵ１１０のバッファ１１０Ｂに送信（転送）待ちのデータが存在しない場合も、ステップＳ５においてデータがない（Ｓ５：ＮＯ）と判定され、フローはステップＳ８に進む。
【０１８８】
通信制御部１１５は、ＣＡＮバス１２１又は１２２におけるエラーの発生回数が所定回数Ｎ２以上である（Ｓ８：ＹＥＳ）と判定すると、エラーの発生回数が所定回数Ｎ２以上のＣＡＮバス１２１又は１２２に対応するデータ保持部１１５Ｂ又は１１５Ｄの値を'０'に設定する（ステップＳ９）。低速側の通信速度及び小容量側の通信データ量での通信を行うためである。
【０１８９】
通信制御部１１５は、ＬＫＡ−ＥＣＵ１３３又はトランスミッションＥＣＵ１３６が送信先になっているデータがあるかどうかを判定する（ステップＳ１０）。
【０１９０】
主制御部１１０Ａは、ＬＫＡ−ＥＣＵ１３３又はトランスミッションＥＣＵ１３６が送信先になっているデータがある（Ｓ１０：ＹＥＳ）と判定すると、フローをステップＳ６に進行させる。この結果、ステップＳ１０で見つかったＥＣＵ（１３３又は１３６）に、低速側の通信速度及び小容量側の通信データ量でデータが送信（転送）される。
【０１９１】
また、主制御部１１０Ａは、ステップＳ３において、通信制御部１１５によってＣＡＮバス（１２１又は１２２）におけるエラーの発生回数が所定回数Ｎ１以上ではない（Ｓ３：ＮＯ）と判定されると、フローをステップＳ６に進行させる。ＦＤＦの値を'１'に保持しておけばよいからである。
【０１９２】
また、主制御部１１０Ａは、ステップＳ１において、ＣＡＮバス１２１又は１２２でエラーが発生していない（Ｓ１：ＮＯ）と判定すると、ＣＡＮバス１２１又は１２２におけるエラー発生回数が０回よりも多いかどうかを判定する（ステップＳ１１）。
【０１９３】
発生度合計測部１１４は、主制御部１１０ＡによってＣＡＮバス１２１又は１２２におけるエラーの発生回数が０回よりも多い（Ｓ１１：ＹＥＳ）と判定されると、エラーの発生回数が０回よりも多いＣＡＮバス（１２１又は１２２）についてのカウント値をデクリメントする（ステップＳ１２）。
【０１９４】
主制御部１１０Ａは、ＣＡＮバス１２１又は１２２におけるエラー発生回数が０回であるかどうかを判定する（ステップＳ１３）。エラー発生回数が０回に復帰していれば、ＦＤＦの値を'１'に復帰させるため、ステップＳ１３の判定処理を設けている。
【０１９５】
通信制御部１１５は、ステップＳ１３において、主制御部１１０ＡがＣＡＮバス１２１又は１２２におけるエラー発生回数が０回である（Ｓ１３：ＹＥＳ）と判定すると、データ保持部１１５Ａ〜１１５Ｄのうち、'０'を保持するデータ保持部（１１５Ａ〜１１５Ｄ）の値を'１'に設定する（ステップＳ１４）。これ以降は、再びステップＳ４又はＳ９でデータ保持部（１１５Ａ〜１１５Ｄ）の値が'０'に設定されるまでは、'１'に保持されることになる。
【０１９６】
主制御部１１０Ａは、ステップＳ１４の処理が終わると、フローをステップＳ６に進行させる。
【０１９７】
また、主制御部１１０Ａは、ステップＳ１１において、ＣＡＮバス１２１又は１２２におけるエラーの発生回数が０回よりも多くない（Ｓ１１：ＮＯ）と判定すると、フローをステップＳ６に進行させる。エラー発生回数が０回であり、ＦＤＦの値を'１'に保持すればよいため、フローをステップＳ６に進行させることとしたものである。
【０１９８】
また、主制御部１１０Ａは、ステップＳ８において、通信制御部１１５によってＣＡＮバス１２１又は１２２におけるエラーの発生回数が所定回数Ｎ２以上ではない（Ｓ８：ＮＯ）と判定されると、フローをステップＳ６に進行させる。例えば、エラーの発生回数が所定回数Ｎ１以上で所定回数Ｎ２未満であって、送信先がＬＫＡ−ＥＣＵ１３３又はトランスミッションＥＣＵ１３６である場合は、この経路でフローが進行する。
【０１９９】
また、主制御部１１０Ａは、ステップＳ１０において、通信制御部１１５によってＬＫＡ−ＥＣＵ１３３又はトランスミッションＥＣＵ１３６が送信先になっているデータがない（Ｓ１０：ＮＯ）と判定すると、フローをステップＳ７に進行させる。送信先がＥＣＵ１３１〜１３６のいずれでもないため、ステップＳ６（データ送信処理）を経ずにステップＳ７に進むようにしたものである。
【０２００】
以上のように、ＣＧＷ−ＥＣＵ１１０は、図７に示すフローを実行する。
【０２０１】
図８は、ＥＣＵ１３１〜１３６の通信制御部１３０Ａが実行する処理を示すフローチャートである。
【０２０２】
通信制御部１３０Ａは、車両のイグニッションスイッチがオンにされると、処理をスタートする（スタート）。
【０２０３】
通信制御部１３０Ａは、ＣＡＮバス１２１を介してデータを受信したかどうかを判定する（ステップＳ２１）。
【０２０４】
通信制御部１３０Ａは、データを受信した（Ｓ２１：ＹＥＳ）と判定した場合は、ＣＧＷ−ＥＣＵ１１０からデータを受信したかどうかを判定する（ステップＳ２２）。
【０２０５】
通信制御部１３０Ａは、ＣＧＷ−ＥＣＵ１１０からデータを受信した（Ｓ２２：ＹＥＳ）と判定すると、ＦＤＦの値が'１'であるかどうかを判定する（ステップＳ２３）。ＣＧＷ−ＥＣＵ１１０から受信したデータであるかどうかを判定するのは、ＣＧＷ−ＥＣＵ１１０が通信速度及び通信データ量の切り替えを統一的に行い、ＥＣＵ１３１〜１３６は、ＣＧＷ−ＥＣＵ１１０による切り替えに従属する形で通信速度及び通信データ量を切り替えるからである。
また、ＥＣＵ１３１〜１３６がデータを送信する際に、高速側の通信速度及び大容量側の通信データ量に保持するかどうかを判定するために、ステップＳ２３の判定を行う。
【０２０６】
通信制御部１３０Ａは、ＦＤＦの値が'１'である（Ｓ２３：ＹＥＳ）と判定すると、データ保持部１３０Ｂで保持する値を'１'に保持（維持）又は設定するとともに、バッファにスタックされたデータがあれば、最も古いデータをＦＤＦの値を'１'に保持した状態で送信する（ステップＳ２４）。ステップＳ２４において、バッファにスタックされたデータがない場合は、データの送信処理は行わない。
【０２０７】
なお、ステップＳ２４において、データ保持部１３０Ｂで保持する値を'１'に保持（維持）するのは、前回の制御周期においてデータ保持部１３０Ｂで保持する値が'１'であった場合である。また、ステップＳ２４において、データ保持部１３０Ｂで保持する値を'１'に設定するのは、前回の制御周期においてデータ保持部１３０Ｂで保持する値が'０'であった場合である。
【０２０８】
通信制御部１３０Ａは、処理を終了するかどうかを判定する（ステップＳ２５）。処理を終了するのは、車両のイグニッションスイッチがオフにされたときである。通信制御部１３０Ａは、処理を終了する（Ｓ２５：ＹＥＳ）と判定すると、一連の処理を終了する（エンド）。一方、通信制御部１３０Ａは、処理を終了しない（Ｓ２５：ＮＯ）と判定すると、フローをステップＳ２１にリターンする。
【０２０９】
なお、通信制御部１３０Ａは、ステップＳ２３において、ＦＤＦの値が'１'ではない（Ｓ２３：ＮＯ）と判定すると、データ保持部１３０Ｂで保持する値を'０'に設定するとともに、バッファにスタックされたデータがあれば、最も古いデータをＦＤＦの値を'０'に設定した状態で送信する（ステップＳ２６）。なお、ステップＳ２６において、バッファにスタックされたデータがない場合は、データの送信処理は行わない。通信制御部１３０Ａは、データを送信するとフローをステップＳ２５に進行させる。
【０２１０】
また、通信制御部１３０Ａは、ステップＳ２２において、ＣＧＷ−ＥＣＵ１１０からデータを受信していない（Ｓ２２：ＮＯ）と判定すると、データ保持部１３０Ｂで保持する値をそのままの値に保持（維持）するとともに、バッファにスタックされたデータがあれば、最も古いデータをデータ保持部１３０Ｂで保持する値に設定した状態で送信する（ステップＳ２７）。なお、ステップＳ２７において、バッファにスタックされたデータがない場合は、データの送信処理は行わない。通信制御部１３０Ａは、ステップＳ２７の処理を終えると、フローをステップＳ２５に進行させる。
【０２１１】
また、通信制御部１３０Ａは、ステップＳ２１において、データを受信していない（Ｓ２１：ＮＯ）と判定すると、フローをステップＳ２７に進行させる。
【０２１２】
以上のように、ＥＣＵ１３１〜１３６の通信制御部１３０Ａは、ＣＧＷ−ＥＣＵ１１０から受信したデータのＦＤＦの値が'０'である場合に、データ保持部１３０Ｂで保持する値を'０'に設定するとともに、自己（ＥＣＵ１３１〜１３６）が送信するデータのＦＤＦの値を'０'に設定する。データ保持部１３０Ｂで保持する値は、ステップＳ２６で'０'に変更され、ステップＳ２４で'１'に復帰される。
【０２１３】
図９は、ＣＧＷ−ＥＣＵ１１０の動作の一例を示す図である。図９には、ＣＧＷ−ＥＣＵ１１０、エンジンＥＣＵ１３１、ＬＫＡ−ＥＣＵ１３３の間でのデータの流れを示す。図９では、縦方向に時間軸ｔを取り、ＣＧＷ−ＥＣＵ１１０、エンジンＥＣＵ１３１、ＬＫＡ−ＥＣＵ１３３の間でのデータの流れを横方向に示す。
【０２１４】
時刻ｔ１で、ＣＡＮバス１２１にエラーが発生すると、ＣＧＷ−ＥＣＵ１１０はエラーを検出し、エラーの発生回数をカウントする。この時点では、ＣＡＮバス１２１におけるエラー発生回数が所定回数Ｎ１未満である。
【０２１５】
このため、時刻ｔ１の後（時刻ｔ２になるまで）は、ＣＧＷ−ＥＣＵ１１０からエンジンＥＣＵ１３１にデータ[CGW]CAN-FD1が送信され、ＣＧＷ−ＥＣＵ１１０からＬＫＡ−ＥＣＵ１３３にデータ[CGW]CAN-FD2が送信される。
【０２１６】
また、エンジンＥＣＵ１３１からＣＧＷ−ＥＣＵ１１０及びＬＫＡ−ＥＣＵ１３３にデータ[ECU131]CAN-FD1が送信され、ＬＫＡ−ＥＣＵ１３３からＣＧＷ−ＥＣＵ１１０及びエンジンＥＣＵ１３１にデータ[ECU133]CAN-FD1が送信される。
【０２１７】
データ[CGW]CAN-FD1、データ[CGW]CAN-FD2、データ[ECU131]CAN-FD1、データ[ECU133]CAN-FD1のデータ容量は３２バイトであり、通信速度は２Ｍｂｐｓである。すなわち、これら４つのデータは、高速側の通信速度及び大容量側の通信データ量による、ＣＡＮ−ＦＤフレーム形式のデータである。
【０２１８】
時刻ｔ２で、ＣＡＮバス１２１におけるエラー発生回数が所定回数Ｎ１に達すると、ＣＧＷ−ＥＣＵ１１０からエンジンＥＣＵ１３１にデータ[CGW]CAN1が送信される。データ[CGW]CAN1のデータ容量は８バイトであり、通信速度は５００ｋｂｐｓである。すなわち、低速側の通信速度及び小容量側の通信データ量によるＣＡＮフレーム形式のデータである。データ[CGW]CAN1は、３２バイトのＣＡＮ−ＦＤフレーム形式のデータを４分割したものであるため、４つのデータ[CGW]CAN1がＣＧＷ−ＥＣＵ１１０からエンジンＥＣＵ１３１に送信される。
【０２１９】
また、その後、ＣＧＷ−ＥＣＵ１１０からＬＫＡ−ＥＣＵ１３３にデータ[CGW]CAN-FD3が送信される。データ[CGW]CAN-FD3のデータ容量は３２バイトであり、通信速度は２Ｍｂｐｓである。すなわち、ＣＡＮ−ＦＤフレーム形式のデータである。
【０２２０】
そして、エンジンＥＣＵ１３１は、ＣＧＷ−ＥＣＵ１１０及びＬＫＡ−ＥＣＵ１３３にデータ[ECU131]CAN1を送信し、ＬＫＡ−ＥＣＵ１３３は、ＣＧＷ−ＥＣＵ１１０及びエンジンＥＣＵ１３１にデータ[ECU133]CAN-FD2を送信する。
【０２２１】
データ[ECU131]CAN1のデータ容量は８バイトであり、通信速度は５００ｋｂｐｓである。エンジンＥＣＵ１３１は、ＣＧＷ−ＥＣＵ１１０から低速側の通信速度及び小容量側の通信データ量によるＣＡＮフレーム形式のデータ[CGW]CAN1を受信したことにより、エンジンＥＣＵ１３１の通信制御部１３０Ａがデータ[CGW]CAN1のＦＤＦの値を参照し、通信速度及び通信データ量を低下させている。このため、低速側の通信速度及び小容量側の通信データ量のデータ[ECU131]CAN1を送信している。このようにして、ＣＡＮバス１２１に接続される複数の第１制御部（エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２）のうちの少なくともいずれか１つ（エンジンＥＣＵ１３１）の通信速度及び通信データ量が低下される。なお、データ[ECU131]CAN1は、３２バイトのデータを４分割したものであるため、４つのデータ[ECU131]CAN1がエンジンＥＣＵ１３１から送信される。
【０２２２】
一方、データ[ECU133]CAN-FD2のデータ容量は３２バイトであり、通信速度は２Ｍｂｐｓである。ＬＫＡ−ＥＣＵ１３３は、ＣＡＮバス１２１におけるエラー発生回数が所定回数Ｎ２以上になったときに低速側の通信速度及び小容量側の通信データ量のデータを出力するようになるが、この時点では、ＣＡＮバス１２１におけるエラー発生回数が所定回数Ｎ１に達したばかりであり、Ｎ２＞Ｎ１であるため、通信速度及び通信データ量を低下させずにデータ[ECU133]CAN-FD2を出力している。
【０２２３】
時刻ｔ３で、ＣＡＮバス１２１におけるエラー発生回数が０に復帰すると、ＣＧＷ−ＥＣＵ１１０からエンジンＥＣＵ１３１にデータ[CGW]CAN-FD3が送信される。データ[CGW]CAN-FD3のデータ容量は３２バイトであり、通信速度は２Ｍｂｐｓである。
【０２２４】
エラー発生回数が０に復帰したため、エンジンＥＣＵ１３１に送信するデータ[CGW]CAN-FD3は、高速側の通信速度及び大容量側の通信データ量によるＣＡＮ−ＦＤフレームに切り替えられている。
【０２２５】
また、ＣＧＷ−ＥＣＵ１１０からＬＫＡ−ＥＣＵ１３３にデータ[CGW]CAN-FD4が送信される。データ[CGW]CAN-FD4のデータ容量は３２バイトであり、通信速度は２Ｍｂｐｓである。
【０２２６】
また、エンジンＥＣＵ１３１からＣＧＷ−ＥＣＵ１１０及びＬＫＡ−ＥＣＵ１３３にデータ[ECU131]CAN-FD2が送信され、ＬＫＡ−ＥＣＵ１３３からＣＧＷ−ＥＣＵ１１０及びエンジンＥＣＵ１３１にデータ[ECU133]CAN-FD3が送信される。
【０２２７】
エンジンＥＣＵ１３１が送信するデータ[ECU131]CAN-FD2は、エンジンＥＣＵ１３１の通信制御部１３０Ａがデータ[CGW]CAN-FD3のＦＤＦを参照して、高速側の通信速度及び大容量側の通信データ量に切り替えられている。また、データ[ECU133]CAN-FD3は、高速側の通信速度及び大容量側の通信データ量で送信されている。
【０２２８】
以上のように、通信速度及び通信データ量の切り替えが行われる。
【０２２９】
以上、実施の形態によれば、エラー発生回数が所定回数Ｎ１以上になると、ＣＡＮバス１２１についてはエンジンＥＣＵ１３１及びＰＣＳ−ＥＣＵ１３２の通信速度及び通信データ量を低下させ、ＣＡＮバス１２１についてはブレーキＥＣＵ１３４及びステアリングＥＣＵ１３５の通信速度及び通信データ量を低下させる。
【０２３０】
また、通信速度及び通信データ量を低下させる際には、通信速度及び通信データ量を低下させた後のデータの通信時間が、通信速度及び通信データ量を低下させる前のデータの通信時間以下になるようにしている。
【０２３１】
このため、ＣＡＮバス１２１又は１２２でエラーが所定回数Ｎ１以上発生しているときに、ＣＧＷ−ＥＣＵ１１０がＣＡＮバス１２１及び１２２に出力するデータや、データを受信したＥＣＵ（１３１、１３２、１３４、１３５のうちのいずれか）が低速側の通信速度でＣＡＮバス１２１及び１２２に出力するデータが、他のＥＣＵ（１３１、１３２、１３４、１３５のうちのいずれか）の通信遅延や通信障害を生じさせることを抑制できる。
【０２３２】
従って、通信障害やデータの遅延を抑制した車載ネットワークシステム１００、及び、車載ネットワークシステム１００における通信制御方法を提供することができる。
【０２３３】
また、通信速度及び通信データ量の切り替えは、ＣＧＷ−ＥＣＵ１１０が統一的に行い、ＥＣＵ１３１〜１３６は、ＣＧＷ−ＥＣＵ１１０による切り替えに従属する形で通信速度及び通信データ量を切り替えるため、切り替えのタイミングを統一できる。例えば、ＣＡＮ１２０に接続される各ＥＣＵが通信速度及び通信データ量を切り替えると、タイミングがばらつき、通信障害やデータの遅延が発生し得るが、本実施の形態では、ＣＧＷ−ＥＣＵ１１０が統一的に通信速度及び通信データ量の切り替えを行うため、このような観点からも通信障害やデータの遅延を抑制することができる。
【０２３４】
また、一般的に、通信速度が高くなると、データ同士の衝突の可能性が高まるが、本実施の形態では、エラーが発生していないときには高速で通信を行い、エラー発生回数に応じて通信速度を低下させるため、ＣＡＮ１２０で通信障害やデータの遅延を抑制した高速データ通信が可能になる。
【０２３５】
なお、以上では、ＣＧＷ−ＥＣＵ１１０がエラー検出部１１１、１１２、１１３、発生度合計測部１１４、及び通信制御部１１５を有する形態について説明した。しかしながら、エラー検出部１１１、１１２、１１３、発生度合計測部１１４、及び通信制御部１１５のうちのいずれか、又は、エラー検出部１１１、１１２、１１３、発生度合計測部１１４、及び通信制御部１１５のすべてが、ＣＧＷ−ＥＣＵ１１０の外に設けられてＣＡＮバス１２１及び１２２におけるエラー検出、エラー発生回数のカウント、及び通信制御を行うように構成されていてもよい。
【０２３６】
また、以上では、車載ネットワークシステム１００が、ＣＡＮバス１２１、１２２、１２３によって構築されるＣＡＮ１２０を含む形態について説明した。しかしながら、ＣＡＮ１２０は、１本のＣＡＮバスによって構築されていてもよい。この場合には、エラー検出部は、１つあればよく、１つのエラー検出部、発生度合計測部１１４、及び通信制御部１１５は、１本のバスにおけるエラー検出、エラー発生回数のカウント、及び通信制御を行うように構成されていればよい。
【０２３７】
また、以上では、エラーの発生回数が１回以上である場合に、エラー検出部１１１によってエラーが検出されない（エラーフラグが'０'に設定される）場合には、発生度合計測部１１４がカウント値をデクリメントする形態について説明した。すなわち、ＣＡＮバス１２１又は１２２でエラーが発生せずに正常なデータ通信が行われた場合に、発生度合計測部１１４のカウント値は、'１'減算される形態について説明した。
【０２３８】
しかしながら、カウント値を減算するには様々な手法がある。図１０は、エラー発生回数のカウント値を減少させる手法を示す図である。
【０２３９】
図１０（Ａ）は、カウント値をデクリメント（'１'ずつ減算）する手法を示す。これは、上述した手法である。
【０２４０】
図１０（Ｂ）は、カウント値を'３'ずつカウントダウンする手法を示す。なお、カウント値が３に達していない（１か２の）場合には、３を減算することで０にすればよい。
【０２４１】
図１０（Ｃ）は、カウント値を一気に０までカウントダウンする手法を示す。このような手法を用いてもよい。
【０２４２】
また、以上では、発生度合計測部１１４がエラー検出部１１１及び１１２がエラーを検出した回数をエラーの発生度合としてカウントする形態について説明したが、発生度合計測部１１４は、エラー検出部１１１及び１１２によってエラーが検出されている時間（期間）をエラーの発生度合として計測してもよい。
【０２４３】
例えば、発生度合計測部１１４が、エラーフラグが'１'に設定される制御周期数をカウントし、カウント値に制御周期（例えば、１０ｍｓ（ミリ秒））を乗算することにより、エラーが検出されている時間を計測することができる。
【０２４４】
また、以上では、エラー発生回数が所定回数Ｎ１以上Ｎ２未満のときに、エンジンＥＣＵ１３１、ＰＣＳ−ＥＣＵ１３２、ブレーキＥＣＵ１３４、ステアリングＥＣＵ１３５の通信速度及び通信データ量を低下させ、エラー発生回数が所定回数Ｎ２以上のときに、ＬＫＡ−ＥＣＵ１３３、トランスミッションＥＣＵ１３６の通信速度及び通信データ量を低下させる形態について説明した。
【０２４５】
しかしながら、このような所定回数Ｎ１、Ｎ２と、ＥＣＵ１３１〜１３６との組み合わせは任意であるため、車載ネットワークシステム１００に含まれるＥＣＵの種類等に応じて、所定回数とＥＣＵの組み合わせを適宜設定すればよい。
【０２４６】
また、以上では、ＥＣＵ１３１〜１３６を所定回数Ｎ１とＮ２で２つのグループに分け、２段階で通信速度及び通信データ量を切り替える形態について説明したが、所定回数Ｎ１及びＮ２とは異なる所定回数を用いて、グループ数をさらに増やしてもよい。
【０２４７】
また、以上では、通信速度及び通信データ量を低下させる際に、通信速度及び通信データ量を低下させた後のデータの通信時間が、通信速度及び通信データ量を低下させる前のデータの通信時間以下になるようにする形態について説明した。
【０２４８】
しかしながら、通信速度及び通信データ量を低下させる際に、さらに、データに含まれる一部の情報を削除してもよい。例えば、ＣＡＮ−ＦＤフレームからＭＡＣ、チェックサム、ＣＲＣ等のデータフィールド内にあるエラー訂正符号等を削除することにより、データの通信時間よりも短くしてもよい。
【０２４９】
また、以上では、エラー発生回数が０回になったときに、低下させる前の通信速度及び通信データ量に復帰させるため、高速側の通信速度及び大容量側の通信データ量に戻しても、通信障害やデータの遅延の発生は、極めて生じにくい状況になっている。
【０２５０】
従って、エラーの発生回数が０回になった後には、再び高速側の通信速度及び大容量側の通信データ量で通信を行うことができる車載ネットワークシステム１００を提供することができる。
【０２５１】
以上、本発明の例示的な実施の形態の車載ネットワークシステム、及び、車載ネットワークシステムにおける通信制御方法について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０２５２】
１００  車載ネットワークシステム
１１０  ＣＧＷ−ＥＣＵ（中継装置）
１１０Ａ  主制御部
１１１、１１２、１１３  エラー検出部
１１４  発生度合計測部
１１５  通信制御部
１１５Ａ、１１５Ｂ、１１５Ｃ、１１５Ｄ  データ保持部
１２０  ＣＡＮ
１２１、１２２、１２３  ＣＡＮバス（１２１、１２２：第１バス、第２バス、バス）
１３０、１３１〜１３９  ＥＣＵ
１３０Ａ  通信制御部
１３０Ｂ  データ保持部
１３１  エンジンＥＣＵ（第１制御部）
１３２  ＰＣＳ−ＥＣＵ（第１制御部）
１３３  ＬＫＡ−ＥＣＵ（第２制御部）
１３４  ブレーキＥＣＵ（第１制御部）
１３５  ステアリングＥＣＵ（第１制御部）
１３６  トランスミッションＥＣＵ（第２制御部）
１３７  ボディＥＣＵ
１３８  メータＥＣＵ
１３９  エアコンＥＣＵ
【図１】
2018074257.tif 000003
【図２】
2018074257.tif 000004
【図３】
2018074257.tif 000005
【図４】
2018074257.tif 000006
【図５】
2018074257.tif 000007
【図６】
2018074257.tif 000008
【図７】
2018074257.tif 000009
【図８】
2018074257.tif 000010
【図９】
2018074257.tif 000011
【図１０】
2018074257.tif 000012