(57)【要約】【課題】通常フレームを伝送できなくなる事態の発生を抑制する。【解決手段】ＥＣＵ１１〜１４はそれぞれ、隣接中継装置から送信されてＥＣＵ１１〜１４のリングポートを介して受信される通常フレームが途絶しているか否かを判断する。ＥＣＵ１１〜１４は、通常フレームが途絶していると判断した場合に、隣接中継装置へ異常検出フレームを送信する。ＥＣＵ１１〜１４は、異常検出フレームを送信した後に、隣接中継装置から応答フレームを受信したか否かを判断する。ＥＣＵ１１〜１４は、応答フレームを受信していないと判断した場合に、隣接中継装置とＥＣＵ１１〜１４との間の通信線で異常が発生していると判断する。【選択図】図１
2020162038.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの中継装置と通信線で接続される中継装置（１１〜１４）であって、
前記中継装置のそれぞれが有する複数のポート（Ｐ１〜Ｐ４）のうち、少なくとも２つの前記ポートが、前記中継装置の間に冗長な複数の転送経路を構成するための複数の前記通信線に接続される冗長ポート（Ｐ１，Ｐ２）であり、
当該中継装置以外の一つの前記中継装置である対象中継装置から送信されて当該中継装置の前記冗長ポートを介して受信されるフレームが途絶しているか否かを判断するように構成された途絶判断部（Ｓ４０）と、
前記フレームが途絶していると前記途絶判断部が判断した場合に、前記対象中継装置へ異常検出フレームを送信するように構成された異常送信部（Ｓ５０）と、
前記異常送信部が前記異常検出フレームを送信した後に、前記対象中継装置から応答フレームを受信したか否かを判断するように構成された応答受信部（Ｓ６０）と、
前記応答フレームを受信していないと前記応答受信部が判断した場合に、前記対象中継装置と当該中継装置との間の前記通信線で異常が発生していると判断するように構成された異常判断部（Ｓ７０）と
を備える中継装置。
【請求項２】
請求項１に記載の中継装置であって、
前記途絶判断部は、前記対象中継装置から前記フレームを受信していない未受信時間が予め設定された異常判定時間を超えた場合に、前記フレームが途絶していると判断し、
前記異常判定時間は、通常データを伝送するための前記フレームである通常フレームのフレーム送信間隔の最大値より長い中継装置。
【請求項３】
請求項１または請求項２に記載の中継装置であって、
前記通信線で異常が発生していると前記異常判断部が判断した後に、前記対象中継装置へ前記異常検出フレームを繰り返し送信するように構成された継続異常送信部（Ｓ１４０〜Ｓ１６０，Ｓ１８０，Ｓ１９０）と、
前記継続異常送信部が前記異常検出フレームを送信した後に、前記対象中継装置から前記応答フレームを受信したか否かを判断するように構成された継続応答受信部（Ｓ１７０）と、
前記応答フレームを受信したと前記継続応答受信部が判断した場合に、前記対象中継装置と当該中継装置との間の前記通信線は正常であると判断する正常判断部（Ｓ２００）と
を備える中継装置。
【請求項４】
請求項３に記載の中継装置であって、
前記継続異常送信部は、予め設定された再送数の前記異常検出フレームを、予め設定された再送周期が経過する毎に送信する中継装置。
【請求項５】
請求項１〜請求項４の何れか１項に記載の中継装置であって、
前記対象中継装置と当該中継装置との間の前記通信線で異常が発生していると前記異常判断部が判断した場合に、その旨を示す異常発生通知を、当該中継装置以外の前記中継装置へ送信するように構成された異常通知部（Ｓ８０）を備える中継装置。
【請求項６】
請求項５に記載の中継装置であって、
前記異常通知部は、複数の前記通信線とは異なる通信経路（４６）を用いて、前記異常発生通知を送信する中継装置。
【請求項７】
請求項１〜請求項６の何れか１項に記載の中継装置であって、
異常が発生している前記通信線である異常通信線を特定するように構成された異常特定部（Ｓ４２０）と、
前記異常特定部が特定した前記異常通信線を回避して前記中継装置へ前記フレームを送信するように構成された回避送信部（Ｓ４４０，Ｓ４５０）と
を備える中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信ネットワークを構成する中継装置に関する。
【背景技術】
【０００２】
例えばイーサネットのネットワークにおいて、イーサネットスイッチ（以下、スイッチ）をリング状に接続すれば、リング型トポロジが形成される。イーサネットは登録商標である。そのリング型トポロジの場合、複数のスイッチは、各スイッチのポートのうちの２つが、他のスイッチのポートに接続されることにより、リング状に接続される。そして、複数のスイッチとスイッチ同士を接続する通信線とにより、フレームを１周させることが可能なリング状の通信経路（以下、リング状通信経路）が構成されることとなる。また、このリング状通信経路は、各スイッチにとっては、フレームを右回り（すなわち、時計回り）方向と左回り（すなわち、反時計回り）方向との何れにも伝送させることが可能な２系統の通信経路として利用することができる。
【０００３】
特許文献１に記載の通信ネットワークでは、リング状に接続された複数のスイッチの１つであるマスタスイッチが、リング状接続に用いられている２つのポートの一方から一定時間毎に異常検出フレームを送信する。そして、他のスイッチであるスレーブスイッチが、受信した異常検出フレームを次段のスイッチに転送する。さらに各スイッチは、他のスイッチからのフレームを受信不能になったと判断すると、フレームの周回方向において当該スイッチの直前の通信経路が異常であると特定し、当該スイッチのＩＤを含む異常通知フレームを次段のスイッチへ送信する。これにより、特許文献１に記載の通信ネットワークは、通信経路の異常区間を特定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−３４５９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載の技術では、通信経路の異常を早期に検出するために、異常検出フレームを定期的に送信するための上記の一定時間を短くする必要がある。これにより、リング状通信経路で異常検出フレームが伝送される頻度が多くなり、通常データが格納された通常フレームをリング状通信経路で伝送できなくなってしまう恐れがあった。
【０００６】
本開示は、通常フレームを伝送できなくなる事態の発生を抑制することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一態様は、少なくとも一つの中継装置と通信線で接続される中継装置（１１〜１４）であって、中継装置のそれぞれが有する複数のポート（Ｐ１〜Ｐ４）のうち、少なくとも２つのポートが冗長ポート（Ｐ１，Ｐ２）である。冗長ポートは、中継装置の間に冗長な複数の転送経路を構成するための複数の通信線（３１〜３４）に接続される。
【０００８】
そして、本開示の中継装置は、途絶判断部（Ｓ４０）と、異常送信部（Ｓ５０）と、応答受信部（Ｓ６０）と、異常判断部（Ｓ７０）とを備える。
途絶判断部は、当該中継装置以外の一つの中継装置である対象中継装置から送信されて当該中継装置の冗長ポートを介して受信されるフレームが途絶しているか否かを判断するように構成される。
【０００９】
異常送信部は、フレームが途絶していると途絶判断部が判断した場合に、対象中継装置へ異常検出フレームを送信するように構成される。
応答受信部は、異常送信部が異常検出フレームを送信した後に、対象中継装置から応答フレームを受信したか否かを判断するように構成される。
【００１０】
異常判断部は、応答フレームを受信していないと応答受信部が判断した場合に、対象中継装置と当該中継装置との間の通信線で異常が発生していると判断するように構成される。
【００１１】
このように構成された本開示の中継装置は、フレームが途絶している場合に異常検出フレームを送信するため、冗長ポートに接続されている複数の通信線で異常検出フレームが伝送される頻度を低減することができる。このため、本開示の中継装置は、通常データが格納された通常フレームを、冗長ポートに接続されている複数の通信線で伝送できなくなる事態の発生を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】通信ネットワークの構成を示すブロック図である。
【図２】イーサネットフレームの構成を示す説明図である。
【図３】ＭＡＣアドレステーブルの一例を説明する第１の説明図である。
【図４】ＭＡＣアドレステーブルの一例を説明する第２の説明図である。
【図５】異常検出処理の前半部分を示すフローチャートである。
【図６】異常検出処理の後半部分を示すフローチャートである。
【図７】異常応答処理を示すフローチャートである。
【図８】フレーム送信処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に本開示の実施形態を図面とともに説明する。
本実施形態の通信ネットワーク１は、例えば乗用車等の車両に搭載されたイーサネットネットワークであり、図１に示すように、電子制御装置（以下、ＥＣＵ）１１〜２２と、通信線３１〜４２とを備える。ＥＣＵは、Electronic Control Unitの略である。
【００１４】
ＥＣＵ１１，１２，１３，１４はそれぞれ、イーサネットスイッチ５１，５２，５３，５４を備える。イーサネットスイッチ５１〜５４は、他のＥＣＵ１５〜２２間の通信を中継する機能を有するネットワークスイッチである。
【００１５】
さらにＥＣＵ１１，１２，１３，１４はそれぞれ、マイクロコンピュータ（以下、マイコン）６１，６２，６３，６４を備える。マイコン６１〜６４は、図示しないＣＰＵ、ＲＯＭおよびＲＡＭ等を備える。マイコン６１〜６４の各種機能は、ＣＰＵが非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ＲＯＭが、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。また、ＥＣＵ１１〜１４を構成するマイコンの数は１つでも複数でもよい。
【００１６】
スイッチ５１〜５４は、例えばレイヤ２スイッチであり、イーサネット規格に従った中継のための通信を行う。このため、スイッチ５１は、フレームを送受信するためのポートＰ１，Ｐ２，Ｐ３，Ｐ４と、ＭＡＣアドレステーブル７１と、イーサネット規格に従った中継のための通信処理を行う通信制御部７３とを備える。スイッチ５２，５３，５４は、スイッチ５１と同様に、ポートＰ１，Ｐ２，Ｐ３，Ｐ４と、ＭＡＣアドレステーブル７１と、通信制御部７３とを備える。なお、スイッチ５１〜５４の動作は、通信制御部７３によって実現される動作である。
【００１７】
通信制御部７３は、ＣＰＵ、ＲＯＭおよびＲＡＭ等を備えたマイクロコンピュータを中心に構成された電子制御装置である。マイクロコンピュータの各種機能は、ＣＰＵが非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ＲＯＭが、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、ＣＰＵが実行する機能の一部または全部を、一つあるいは複数のＩＣ等によりハードウェア的に構成してもよい。また、通信制御部７３を構成するマイクロコンピュータの数は１つでも複数でもよい。
【００１８】
通信ネットワーク１では、ＥＣＵ１１のスイッチ５１のポートＰ１と、ＥＣＵ１２のスイッチ５２のポートＰ１とが、通信線３１で接続されており、ＥＣＵ１２のスイッチ５２のポートＰ２と、ＥＣＵ１３のスイッチ５３のポートＰ１とが、通信線３２で接続されている。さらに、ＥＣＵ１３のスイッチ５３のポートＰ２と、ＥＣＵ１４のスイッチ５４のポートＰ２とが、通信線３３で接続されており、ＥＣＵ１４のスイッチ５４のポートＰ１と、ＥＣＵ１１のスイッチ５１のポートＰ２とが、通信線３４で接続されている。
【００１９】
そして、ＥＣＵ１１のスイッチ５１のポートＰ３，Ｐ４には、通信線３５，３６を介してＥＣＵ１５，１６がそれぞれ接続されており、ＥＣＵ１２のスイッチ５２のポートＰ３，Ｐ４には、通信線３７，３８を介してＥＣＵ１７，１８がそれぞれ接続されている。また、ＥＣＵ１３のスイッチ５３のポートＰ３，Ｐ４には、通信線３９，４０を介してＥＣＵ１９，２０がそれぞれ接続されており、ＥＣＵ１４のスイッチ５４のポートＰ３，Ｐ４には、通信線４１，４２を介してＥＣＵ２１，２２がそれぞれ接続されている。
【００２０】
つまり、スイッチ５１〜５４は、各スイッチのポートＰ１，Ｐ２が、他のスイッチのポートＰ１，Ｐ２に接続されることで、リング状に接続されている。リング状とは、ループ状のことでもある。そして、スイッチ５１〜５４のポートＰ１〜Ｐ４のうち、リング状接続に使用されていないポートＰ３，Ｐ４には、通信ノードとしてのＥＣＵ１５〜２２が接続されている。
【００２１】
このため、スイッチ５１〜５４間の通信経路としては、例えばスイッチ５１を起点とすると、スイッチ５１からスイッチ５２への方向である左回りの通信経路と、スイッチ５１からスイッチ５４への方向である右回りの通信経路とが存在することとなる。そして、この２つの通信経路は、ＥＣＵ１５〜２２のうち、異なるスイッチ５１〜５４に接続されているＥＣＵ間の通信について、２つの通信経路として機能することができる。
【００２２】
なお、以下の説明においては、スイッチ５１〜５４のポートＰ１〜Ｐ４のうち、リング状接続に用いられているポートＰ１，Ｐ２を、リングポートともいう。また、リングポートではないポート（すなわち、リング状接続に使用されていないポート）Ｐ３，Ｐ４を、通常ポートともいう。
【００２３】
またマイコン６１〜６４は、ＣＡＮ通信線４６を介して互いにデータ通信可能に接続されており、ＣＡＮ通信プロトコルに従ってデータの送受信を行う。ＣＡＮは、Controller Area Networkの略である。ＣＡＮは登録商標である。
【００２４】
通信ネットワーク１において通信されるフレームは、例えば、図２に示すように、プリアンブル領域、宛先ＭＡＣアドレス領域、送信元ＭＡＣアドレス領域、ＶＬＡＮタグ領域、タイプ領域、データ領域およびＦＣＳ領域の各領域を備える。ＭＡＣは、Media Access Controlの略である。ＶＬＡＮは、Virtual Local Area Networkの略である。ＦＣＳは、Frame Check Sequenceの略である。
【００２５】
宛先ＭＡＣアドレス領域は、フレームの宛先装置のＭＡＣアドレス（以下、宛先ＭＡＣアドレス）を格納する。送信元ＭＡＣアドレス領域は、フレームの送信元装置のＭＡＣアドレス（以下、送信元ＭＡＣアドレス）である。
【００２６】
ＶＬＡＮタグ領域のうち、前半２バイトの領域には、ＴＰＩＤが配置され、後半２バイトの領域には、ＴＣＩが配置される。ＴＣＩとしては、３ビットのＰＣＰと、１ビットのＣＦＩと、１２ビットのＶＩＤとがある。本実施形態では、ＶＬＡＮタグ領域のうち、例えばＶＩＤを、後述の異常検出フレーム識別情報を格納する領域として使用する。なお、ＴＰＩＤは、Tag Protocol Identifierの略である。ＴＣＩは、Tag Control Informationの略である。ＰＣＰは、Priority Code Pointの略である。ＣＦＩは、Canonical Format Indicatorの略である。ＶＩＤは、VLAN Identifierの略である。
【００２７】
一方、各スイッチ５１〜５４のＭＡＣアドレステーブル７１には、そのスイッチにおけるポートの各々について、そのポートの先に接続されている装置のＭＡＣアドレスが登録される。なお、ＥＣＵに付した符号としての数字を「ｎ」とすると、以下の説明と図３と図４では、ＥＣＵｎのＭＡＣアドレスを「ＡＤｎ」と記載している。
【００２８】
例えば、図３に示すように、スイッチ５１のＭＡＣアドレステーブル７１では、通常ポートＰ３については、ＥＣＵ１５のＭＡＣアドレスである「ＡＤ１５」が登録され、通常ポートＰ４に対しては、ＥＣＵ１６のＭＡＣアドレスである「ＡＤ１６」が登録される。そして、リングポートＰ１，Ｐ２の各々については、他のスイッチ５２〜５４の通常ポートＰ３，Ｐ４に接続されているＥＣＵ１７〜２２のＭＡＣアドレスである「ＡＤ１７」〜「ＡＤ２２」が登録される。スイッチ５１のリングポートＰ１，Ｐ２の先には、他のスイッチ５２〜５４を介してＥＣＵ１７〜２２が接続されていることになるからである。
【００２９】
また例えば、図４に示すように、スイッチ５２のＭＡＣアドレステーブル７１では、通常ポートＰ３に対しては、ＥＣＵ１７のＭＡＣアドレスである「ＡＤ１７」が登録され、通常ポートＰ４に対しては、ＥＣＵ１８のＭＡＣアドレスである「ＡＤ１８」が登録される。そして、リングポートＰ１，Ｐ２の各々に対しては、他のスイッチ５１，５３，５４の通常ポートＰ３，Ｐ４に接続されているＥＣＵ１５，１６，１９〜２２のＭＡＣアドレスである「ＡＤ１５」，「ＡＤ１６」，「ＡＤ１９」〜「ＡＤ２２」が登録される。
【００３０】
さらに、各スイッチ５１〜５４のＭＡＣアドレステーブル７１において、リングポートＰ１，Ｐ２の各々については、ＭＡＣアドレスに対する付加情報として、ホップ数も登録される。ホップ数は、スイッチのリングポートから送信されるフレームが、宛先ＥＣＵに到達するまでに経由する他のスイッチの数を示す情報である。なお、この場合の宛先ＥＣＵとは、ＭＡＣアドレステーブル７１において、そのホップ数と対応付けて登録されたＭＡＣアドレスのＥＣＵのことである。
【００３１】
例えば、図３に示すように、スイッチ５１のＭＡＣアドレステーブル７１では、リングポートＰ１について登録された「ＡＤ１７」，「ＡＤ１８」に対しては、ホップ数として「１」が登録される。スイッチ５１のリングポートＰ１からＥＣＵ１７またはＥＣＵ１８へ至るまでの通信経路には、リング状に接続されたスイッチ５１〜５４のうち、１つのスイッチ５２が存在するからである。これに対して、リングポートＰ２について登録された「ＡＤ１７」，「ＡＤ１８」に対しては、ホップ数として「３」が登録される。スイッチ５１のリングポートＰ２からＥＣＵ１７またはＥＣＵ１８へ至るまでの通信経路には、リング状に接続されたスイッチ５１〜５４のうち、３つのスイッチ５２〜５４が存在するからである。
【００３２】
また、スイッチ５１のＭＡＣアドレステーブル７１では、リングポートＰ１について登録された「ＡＤ２１」，「ＡＤ２２」に対しては、ホップ数として「３」が登録される。スイッチ５１のリングポートＰ１からＥＣＵ２１またはＥＣＵ２２へ至るまでの通信経路には、３つのスイッチ５２〜５４が存在するからである。これに対して、リングポートＰ２について登録された「ＡＤ２１」，「ＡＤ２２」に対しては、ホップ数として「１」が登録される。スイッチ５１のリングポートＰ２からＥＣＵ２１またはＥＣＵ２２へ至るまでの通信経路には、１つのスイッチ５４が存在するからである。
【００３３】
また、スイッチ５１のＭＡＣアドレステーブル７１では、リングポートＰ１について登録された「ＡＤ１９」，「ＡＤ２０」に対しては、ホップ数として「２」が登録される。スイッチ５１のリングポートＰ１からＥＣＵ１９またはＥＣＵ２０へ至るまでの通信経路には、２つのスイッチ５２，５３が存在するからである。そして、リングポートＰ２について登録された「ＡＤ１９」，「ＡＤ２０」に対しても、ホップ数として「２」が登録される。スイッチ５１のリングポートＰ２からＥＣＵ１９またはＥＣＵ２０へ至るまでの通信経路には、２つのスイッチ５３，５４が存在するからである。
【００３４】
各スイッチ５１〜５４の通信制御部７３は、下記のフレーム転送機能を有する。
通信制御部７３は、当該スイッチのポートＰ１〜Ｐ４の何れかからフレームが受信されると、受信されたフレーム（以下、受信フレーム）中の宛先ＭＡＣアドレスと、ＭＡＣアドレステーブル７１とに基づいて、受信フレームの転送先のポートを決定する。
【００３５】
具体的には、通信制御部７３は、ポートＰ１〜Ｐ４のうち、フレームが受信されたポート以外のポートについて、ＭＡＣアドレステーブル７１に受信フレーム中の宛先ＭＡＣアドレスと同じＭＡＣアドレスが登録されているか否かを判断する。そして通信制御部７３は、受信フレーム中の宛先ＭＡＣアドレスと同じＭＡＣアドレスが登録されていれば、ＭＡＣアドレステーブル７１において、そのＭＡＣアドレスが登録されているポートを、転送先のポートとして決定する。また通信制御部７３は、ＭＡＣアドレステーブル７１に受信フレーム中の宛先ＭＡＣアドレスと同じＭＡＣアドレスが登録されていなかった場合には、フレームが受信されたポート以外の全てのポートを、転送先のポートとして決定する。そして通信制御部７３は、受信フレームを、転送先として決定したポートから送信する。
【００３６】
各スイッチ５１〜５４の通信制御部７３は、ポートＰ１〜Ｐ４の何れかからフレームが受信されると、そのフレームが受信されたポートの番号と、受信フレーム中の送信元ＭＡＣアドレスとを、対応付けてＭＡＣアドレステーブル７１に登録する。この機能は、一般的なＭＡＣアドレス学習機能である。
【００３７】
このため、各スイッチ５１〜５４においては、通常ポートＰ３，Ｐ４の何れかからフレームが受信されると、そのフレーム中の送信元ＭＡＣアドレスが、ＭＡＣアドレステーブル７１において、そのフレームが受信されたポートについて登録される。例えば、スイッチ５１のポートＰ３に接続されているＥＣＵ１５がフレームを送信すると、図３に示すように、スイッチ５１のＭＡＣアドレステーブル７１には、ポートＰ３について、ＥＣＵ１５のＭＡＣアドレスが登録されることとなる。
【００３８】
このように構成された通信ネットワーク１において、ＥＣＵ１１〜１４の通信制御部７３は、後述する異常検出処理、異常応答処理およびフレーム送信処理を実行する。
まず、異常検出処理の手順を説明する。異常検出処理は、ＥＣＵ１１〜１４の動作中において繰り返し実行される処理である。また、異常検出処理は、２台の隣接中継装置のそれぞれに対して実行される。隣接中継装置は、リング状に接続されている複数の中継装置のそれぞれについて、直接接続されている２台の中継装置である。例えば、ＥＣＵ１１の隣接中継装置は、ＥＣＵ１２およびＥＣＵ１４である。同様に、ＥＣＵ１２の隣接中継装置は、ＥＣＵ１１およびＥＣＵ１３である。ＥＣＵ１３の隣接中継装置は、ＥＣＵ１２およびＥＣＵ１４である。ＥＣＵ１４の隣接中継装置は、ＥＣＵ１１およびＥＣＵ１３である。
【００３９】
このため、例えば、ＥＣＵ１１の通信制御部７３は、ＥＣＵ１２に対応する異常検出処理と、ＥＣＵ１４に対応する異常検出処理とを実行する。なお、ＥＣＵ１１の通信制御部７３が実行するＥＣＵ１２に対応する異常検出処理とＥＣＵ１４に対応する異常検出処理とは個別に実行してよい。
異常検出処理が実行されると、通信制御部７３は、図５に示すように、まずＳ１０にて、ＲＡＭに設けられた継続フラグＦ２がセットされているか否かを判断する。以下の説明において、フラグをセットするとは、そのフラグの値を１にすることを示し、フラグをクリアするとは、そのフラグの値を０にすることを示す。
【００４０】
ここで、継続フラグＦ２がクリアされている場合には、通信制御部７３は、Ｓ２０にて、隣接中継装置から通常フレームを受信したか否かを判断する。通常フレームは、ＥＣＵ１１〜２２が車両を制御するために送受信されるフレームであり、後述する異常検出フレームおよび応答フレーム以外のフレームである。通常フレームは、例えば画像データおよび音声データを含むフレームである。
【００４１】
ここで、隣接中継装置から通常フレームを受信していない場合には、通信制御部７３は、Ｓ４０に移行する。一方、通常フレームを受信した場合には、通信制御部７３は、Ｓ３０にて、ＲＡＭに設けられたタイマＴＭをリセット（すなわち、０に設定）して、Ｓ４０に移行する。タイマＴＭは、例えば１ｍｓ毎にインクリメント（すなわち、１加算）するタイマである。
【００４２】
Ｓ４０に移行すると、通信制御部７３は、タイマＴＭの値が予め設定された異常判定値Ｊ１（例えば、１００ｍｓに相当する値）を超えているか否かを判断する。なお、異常判定値Ｊ１は、通常フレームの送信間隔の最大値を超える値となるように設定されている。
【００４３】
ここで、タイマＴＭの値が異常判定値Ｊ１以下である場合には、通信制御部７３は、異常検出処理を一旦終了する。一方、タイマＴＭの値が異常判定値Ｊ１を超えている場合には、通信制御部７３は、Ｓ５０にて、隣接中継装置へ異常検出フレームを送信する。異常検出フレームの上述のＶＩＤには、異常検出フレーム識別情報が格納される。
【００４４】
そしてＳ６０にて、通信制御部７３は、隣接中継装置から応答フレームを受信したか否かを判断する。ここで、隣接中継装置から応答フレームを受信しなかった場合には、通信制御部７３は、Ｓ７０にて、ＲＡＭに設けられた異常フラグＦ１をセットする。さらにＳ８０にて、通信制御部７３は、異常検出処理を実行する通信制御部７３を搭載する中継装置と隣接中継装置との間の通信線で異常が発生した旨を示す経路異常通知を、マイコン（すなわち、マイコン６１，６２，６３，６４の何れか一つ）に、ＣＡＮ通信線４６を介して他の中継装置へ送信させる。例えば、異常検出処理を実行する中継装置がＥＣＵ１３であり、隣接中継装置がＥＣＵ１２である場合には、ＥＣＵ１３が、通信線３２で異常が発生した旨を示す経路異常通知を、ＥＣＵ１１，１２，１４へ送信する。
【００４５】
そしてＳ９０にて、通信制御部７３は、タイマＴＭをリセットする。またＳ１００にて、通信制御部７３は、継続フラグＦ２をセットする。さらにＳ１１０にて、通信制御部７３は、ＲＡＭに設けられた送信回数カウンタＣＴをリセットし、異常検出処理を一旦終了する。
【００４６】
またＳ６０にて、隣接中継装置から応答フレームを受信した場合には、通信制御部７３は、Ｓ１２０にて、異常フラグＦ１をクリアする。そしてＳ１３０にて、通信制御部７３は、タイマＴＭをリセットし、異常検出処理を一旦終了する。
【００４７】
またＳ１０にて、継続フラグＦ２がセットされている場合には、通信制御部７３は、図６に示すように、Ｓ１４０にて、送信回数カウンタＣＴの値が予め設定された送信終了判定値Ｊ２を超えているか否かを判断する。ここで、送信回数カウンタＣＴの値が送信終了判定値Ｊ２以下である場合には、通信制御部７３は、Ｓ１５０にて、タイマＴＭの値が予め設定された異常送信判定値Ｊ３を超えているか否かを判断する。なお、異常送信判定値Ｊ３は、異常判定値Ｊ１より小さくなるように設定されている。
【００４８】
ここで、タイマＴＭの値が異常送信判定値Ｊ３を超えている場合には、通信制御部７３は、Ｓ１６０にて、隣接中継装置へ異常検出フレームを送信する。
そしてＳ１７０にて、通信制御部７３は、隣接中継装置から応答フレームを受信したか否かを判断する。ここで、隣接中継装置から応答フレームを受信しなかった場合には、通信制御部７３は、Ｓ１８０にて、タイマＴＭをリセットする。またＳ１９０にて、通信制御部７３は、送信回数カウンタＣＴをインクリメントし、異常検出処理を一旦終了する。
【００４９】
またＳ１７０にて、隣接中継装置から応答フレームを受信した場合には、通信制御部７３は、Ｓ２００にて、異常フラグＦ１をクリアする。そしてＳ２１０にて、通信制御部７３は、異常検出処理を実行する通信制御部７３を搭載する中継装置と隣接中継装置との間の通信線が正常である旨を示す経路正常通知を、マイコン（すなわち、マイコン６１，６２，６３，６４の何れか一つ）に、ＣＡＮ通信線４６を介して、他の中継装置へ送信させる。
【００５０】
またＳ２２０にて、通信制御部７３は、タイマＴＭをリセットする。さらにＳ２３０にて、通信制御部７３は、継続フラグＦ２をクリアして、異常検出処理を一旦終了する。
またＳ１４０にて、送信回数カウンタＣＴの値が送信終了判定値Ｊ２を超えている場合には、通信制御部７３は、Ｓ２４０にて、ＲＡＭに設けられたタイマＴＭ２をリセット（すなわち、０に設定）して、Ｓ２５０に移行する。タイマＴＭ２は、例えば１ｓ毎にインクリメント（すなわち、１加算）するタイマである。Ｓ２５０に移行すると、通信制御部７３は、タイマＴＭ２の値が予め設定された異常検出停止判定値Ｊ４を超えているか否かを判断する。なお、異常検出停止判定値Ｊ４は、異常判定値Ｊ１や異常送信判定値Ｊ３に比較して十分に大きな値となるように設定されている。ここで、タイマＴＭ２の値が異常検出停止判定値Ｊ４以下である場合には、通信制御部７３は、Ｓ２５０を繰り返す。一方、タイマＴＭ２の値が異常検出停止判定値Ｊ４を超えている場合には、通信制御部７３は、Ｓ２６０にて、継続フラグＦ２をクリアして、異常検出処理を一旦終了する。
【００５１】
次に、ＥＣＵ１１〜１４の通信制御部７３が実行する異常応答処理の手順を説明する。異常応答処理は、ＥＣＵ１１〜１４の動作中において繰り返し実行される処理である。
異常応答処理が実行されると、通信制御部７３は、図７に示すように、まずＳ３１０にて、隣接中継装置から異常検出フレームを受信したか否かを判断する。ここで、異常検出フレームを受信していない場合には、通信制御部７３は、異常応答処理を一旦終了する。一方、異常検出フレームを受信した場合には、通信制御部７３は、Ｓ３２０にて、異常検出フレームの送信元となる隣接中継装置へ応答フレームを送信して、異常応答処理を一旦終了する。
【００５２】
次に、ＥＣＵ１１〜１４の通信制御部７３が実行するフレーム送信処理の手順を説明する。フレーム送信処理は、ＥＣＵ１１〜１４の動作中において繰り返し実行される処理である。
【００５３】
フレーム送信処理が実行されると、通信制御部７３は、図８に示すように、まずＳ４１０にて、送信するフレームが存在するか否かを判断する。ここで、送信するフレームが存在しない場合には、フレーム送信処理を一旦終了する。
【００５４】
一方、送信するフレームが存在する場合には、通信制御部７３は、Ｓ４２０にて、通信線に異常が発生しているか否かを判断する。具体的には、通信制御部７３は、通信制御部７３のＲＡＭに設けられている異常フラグＦ１の値と、他の中継装置から受信した経路異常通知とに基づいて、異常が発生している通信線を特定する。そして通信制御部７３は、異常が発生している通信線を特定した場合には、通信線に異常が発生していると判断する。一方、通信制御部７３は、異常が発生している通信線を特定できなかった場合には、通信線に異常が発生していないと判断する。
【００５５】
ここで、通信線に異常が発生していない場合には、通信制御部７３は、Ｓ４３０にて、送信するフレームの宛先と、ＭＡＣアドレステーブル７１とに基づいて、送信ポートを決定し、Ｓ４５０に移行する。
【００５６】
一方、通信線に異常が発生している場合には、通信制御部７３は、Ｓ４４０にて、異常が発生している通信線と、送信するフレームの宛先とに基づいて、フレームを宛先まで送信することができる送信ポートを決定し、Ｓ４５０に移行する。例えば、通信線３２で異常が発生している場合において、ＥＣＵ１１がＥＣＵ１９へフレームを送信するとする。この場合には、ＥＣＵ１１の通信制御部７３は、送信ポートをリングポートＰ２に決定する。
【００５７】
Ｓ４５０に移行すると、通信制御部７３は、Ｓ４３０またはＳ４４０で決定した送信ポートからフレームを送信し、フレーム送信処理を一旦終了する。
このように構成されたＥＣＵ１１は、二つのＥＣＵ１２，１４と通信線３１，３４で接続される。同様に、ＥＣＵ１２は、二つのＥＣＵ１１，１３と通信線３１，３２で接続される。ＥＣＵ１３は、二つのＥＣＵ１２，１４と通信線３２，３３で接続される。ＥＣＵ１４は、二つのＥＣＵ１１，１３と通信線３４，３３で接続される。ＥＣＵ１１〜１４のそれぞれが有する複数のポートＰ１，Ｐ２，Ｐ３，Ｐ４のうち、２つのポートＰ１，Ｐ２がリングポートである。
【００５８】
ＥＣＵ１１〜１４はそれぞれ、隣接中継装置から送信されてＥＣＵ１１〜１４のリングポートを介して受信される通常フレームが途絶しているか否かを判断する。
ＥＣＵ１１〜１４は、通常フレームが途絶していると判断した場合に、隣接中継装置へ異常検出フレームを送信する。
【００５９】
ＥＣＵ１１〜１４は、異常検出フレームを送信した後に、隣接中継装置から応答フレームを受信したか否かを判断する。
ＥＣＵ１１〜１４は、応答フレームを受信していないと判断した場合に、隣接中継装置とＥＣＵ１１〜１４との間の通信線で異常が発生していると判断する。
【００６０】
このようにＥＣＵ１１〜１４は、通常フレームが途絶している場合に異常検出フレームを送信するため、リングポートに接続されている通信線３１〜３４で異常検出フレームが伝送される頻度を低減することができる。このため、ＥＣＵ１１〜１４は、通常データが格納された通常フレームを、リングポートに接続されている通信線３１〜３４で伝送できなくなる事態の発生を抑制することができる。
【００６１】
ＥＣＵ１１〜１４は、隣接中継装置から通常フレームを受信していない未受信時間が予め設定された異常判定値Ｊ１に相当する時間を超えた場合に、通常フレームが途絶していると判断する。異常判定値Ｊ１に相当する時間は、通常データを伝送するためのフレームである通常フレームのフレーム送信間隔の最大値より長い。これにより、ＥＣＵ１１〜１４は、通常フレームが途絶しているか否かを簡便に判断することができる。
【００６２】
ＥＣＵ１１〜１４は、通信線で異常が発生していると判断した後に、隣接中継装置へ異常検出フレームを繰り返し送信する。さらにＥＣＵ１１〜１４は、異常検出フレームを送信した後に、隣接中継装置から応答フレームを受信したか否かを判断する。そしてＥＣＵ１１〜１４はそれぞれ、応答フレームを受信したと判断した場合に、隣接中継装置とＥＣＵ１１〜１４との間の通信線は正常であると判断する。これにより、ＥＣＵ１１〜１４は、通信線で異常が発生していると判断した後であっても、通信線が正常な状態に復帰した場合には、通信線が正常な状態に復帰したことを検出することができる。
【００６３】
ＥＣＵ１１〜１４は、予め設定された送信終了判定値Ｊ２に相当する回数の異常検出フレームを、予め設定された異常送信判定値Ｊ３に相当する時間が経過する毎に送信する。これにより、ＥＣＵ１１〜１４は、異常検出フレームの再送数と再送周期とを任意に設定することが可能となる。また、予め設定された送信終了判定値Ｊ２に相当する回数の異常検出フレームを送信した後は、異常検出処理を所定時間停止させるため、ＥＣＵ１１〜１４の処理負荷を低減させることができる。
【００６４】
ＥＣＵ１１は、隣接中継装置とＥＣＵ１１との間の通信線で異常が発生していると判断した場合に、その旨を示す経路異常通知を、ＥＣＵ１１以外の中継装置へ送信する。同様に、ＥＣＵ１２〜１４はそれぞれ、隣接中継装置とＥＣＵ１２〜１４との間の通信線で異常が発生していると判断した場合に、その旨を示す経路異常通知を、ＥＣＵ１２〜１４以外の中継装置へ送信する。これにより、ＥＣＵ１１〜１４は、通信線において異常が発生している箇所を特定する情報を、通信ネットワーク１を構成する中継装置へ知らせることができる。
【００６５】
ＥＣＵ１１〜１４は、通信線３１〜３４とは異なるＣＡＮ通信線４６を用いて、経路異常通知を送信する。これにより、ＥＣＵ１１〜１４は、通信線３１〜３４において異常が発生している箇所を考慮することなく、簡便に経路異常通知を送信することができる。
【００６６】
ＥＣＵ１１〜１４は、異常が発生している通信線である異常通信線を特定する。そしてＥＣＵ１１〜１４は、特定した異常通信線を回避してフレームを送信する。これにより、ＥＣＵ１１〜１４は、通信ネットワーク１を構成する中継装置へフレームを送信できなくなる事態の発生を抑制することができる。
【００６７】
以上説明した実施形態において、ＥＣＵ１１〜１４は中継装置に相当し、リングポートは冗長ポートに相当し、隣接中継装置は対象中継装置に相当する。
また、Ｓ４０は途絶判断部としての処理に相当し、Ｓ５０は異常送信部としての処理に相当し、Ｓ６０は応答受信部としての処理に相当し、Ｓ７０は異常判断部としての処理に相当する。
【００６８】
また、異常判定値Ｊ１に相当する時間は異常判定時間に相当し、Ｓ１４０〜Ｓ１６０，Ｓ１８０，Ｓ１９０は継続異常送信部としての処理に相当し、Ｓ１７０は継続応答受信部としての処理に相当し、Ｓ２００は正常判断部としての処理に相当する。
【００６９】
また、送信終了判定値Ｊ２に相当する回数は再送数に相当し、異常送信判定値Ｊ３に相当する時間は再送周期に相当する。
また、Ｓ８０は異常通知部としての処理に相当し、経路異常通知は異常発生通知に相当し、ＣＡＮ通信線４６は通信線とは異なる通信経路に相当する。
【００７０】
また、Ｓ４２０は異常特定部としての処理に相当し、Ｓ４４０，Ｓ４５０は回避送信部としての処理に相当する。
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
【００７１】
［変形例１］
例えば上記実施形態では、ＥＣＵの数が１２であり、スイッチの数が４であり、ポートの数が４であるものを示したが、これらの数は一例であり、他の値でもよい。また、通信プロトコルは、イーサネット以外のプロトコルであってもよい。
［変形例２］
図６に示すようにＳ１４０にて、送信回数カウンタＣＴの値が送信終了判定値Ｊ２を超えている場合にＳ２４０及びＳ２５０で所定時間（異常検出停止判定値Ｊ４）異常検出処理を停止するとしたが、これに限定されることはない。例えば、Ｓ２４０及びＳ２５０の代わりに所定の動作（例えば、車両の電源がオフされて、再度オンされた場合等）があるまで異常検出処理を停止するようにしてもよい。
【００７２】
本開示に記載のＥＣＵ１１〜１４及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載のＥＣＵ１１〜１４及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載のＥＣＵ１１〜１４及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。ＥＣＵ１１〜１４に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
【００７３】
上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。
【００７４】
上述したＥＣＵ１１〜１４の他、当該ＥＣＵ１１〜１４を構成要素とするシステム、当該ＥＣＵ１１〜１４としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、異常検出方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００７５】
１１〜１４…ＥＣＵ、３１〜３４…通信線、Ｐ１〜Ｐ４…ポート
【図１】
2020162038.tif 000003
【図２】
2020162038.tif 000004
【図３】
2020162038.tif 000005
【図４】
2020162038.tif 000006
【図５】
2020162038.tif 000007
【図６】
2020162038.tif 000008
【図７】
2020162038.tif 000009
【図８】
2020162038.tif 000010