(57)【要約】【課題】内部異常の発生を検出可能な中継装置を提供する。【解決手段】中継装置２は、中継処理部の動作を点検するための所定の通信フレームであるチェックフレームを生成し、バッファ４４に保存するチェックフレーム生成部４６を備える。バッファ４４に保存されているチェックフレームは出力処理部４５によって取り出され、あるチェックフレーム専用パスＰｃを介して受信処理部４３に出力される。受信処理部４３は、出力処理部４５からチェックフレームが入力されるとバッファ４４に保存する。異常検出部４７は、チェックフレーム生成部４６によってバッファ４４に保存されたチェックフレームと、受信処理部４３によってバッファ４４に戻されたチェックフレームの内容を比較することにより、中継装置２の内部異常を検出する。【選択図】図３
2020043520.tif 000002
【特許請求の範囲】
【請求項１】
物理層を提供する複数のポート（３１）と、
複数の前記ポートと接続されてあって、複数の前記ポートのそれぞれから入力された通信フレームを中継処理部に出力するとともに、前記中継処理部から入力された通信フレームを所定の前記ポートに出力する媒体アクセス制御部（４１）と、
前記媒体アクセス制御部から入力された通信フレームを、前記媒体アクセス制御部と協働して当該通信フレームの宛先情報に応じた前記ポートへ出力するための中継処理を実施する前記中継処理部（４０）と、
前記中継処理部の動作を点検するための所定の通信フレームであるチェックフレームを生成するチェックフレーム生成部（４６）と、
前記チェックフレーム生成部が生成した前記チェックフレームを用いて前記中継処理部の内部が正常に動作しているか否かを判定する異常検出部（４７）と、を備え、
前記中継処理には、複数の工程が含まれており、
前記中継処理部は、前記チェックフレームに対して複数の前記工程の一部または全部を実行するように構成されており、
前記異常検出部は、
少なくとも１つの前記工程を施す前の前記チェックフレームである巡回前フレームの内容と、少なくとも１つの前記工程を施した後の前記チェックフレームである巡回後フレームの内容とが一致していないこと、
前記巡回前フレームが発生してから所定時間経過しても前記巡回後フレームが得られないこと、
及び、前記巡回前フレームが発生してから前記巡回後フレームが得られるまでに要した時間が所定の期待値から所定の閾値以上乖離していること、
の少なくとも何れか１つに基づいて異常が生じていると判定するように構成されている中継装置。
【請求項２】
請求項１に記載の中継装置であって、
通信フレームを保持するためのバッファ（４４）を備え、
前記中継処理部は、
前記媒体アクセス制御部から入力された通信フレームである受信フレームを前記バッファに入力する工程である受信工程（Ｓ１）を実施する受信処理部（４３）と、
前記バッファに保存されている通信フレームを、当該通信フレームの宛先に応じた構成へと出力する工程である出力工程（Ｓ３）を実施する出力処理部（４５）と、を備え、
前記出力処理部は、前記受信フレームについては当該受信フレームの宛先情報に応じた前記ポートへ出力されるように前記媒体アクセス制御部に出力する一方、前記チェックフレームについては前記媒体アクセス制御部へは出力しないように構成されている中継装置。
【請求項３】
請求項２に記載の中継装置であって、
前記チェックフレーム生成部は、生成した前記チェックフレームを前記出力処理部に提供し、
前記出力処理部は、前記チェックフレーム生成部から提供された前記チェックフレームを前記受信処理部に出力し、
前記受信処理部は、前記出力処理部から入力された前記チェックフレームを前記バッファに保存するように構成されており、
前記異常検出部は、前記チェックフレーム生成部が生成したフレームを前記巡回前フレームとして取得するとともに、前記受信処理部が前記バッファに保存した前記チェックフレームを前記巡回後フレームとして取得し、これらを比較するように構成されている中継装置。
【請求項４】
請求項２に記載の中継装置であって、
前記チェックフレーム生成部は、生成した前記チェックフレームを前記バッファに保存し、
前記出力処理部は、前記バッファに保存されている前記チェックフレームを前記受信処理部に出力し、
前記受信処理部は、前記出力処理部から入力された前記チェックフレームを前記異常検出部に提供するように構成されており、
前記異常検出部は、前記チェックフレーム生成部が生成したフレームを前記巡回前フレームとして取得するとともに、前記受信処理部から提供される前記チェックフレームを前記巡回後フレームとして取得し、これらを比較するように構成されている中継装置。
【請求項５】
請求項４に記載の中継装置であって、
前記チェックフレーム生成部は、所定の点検周期で定期的に前記チェックフレームを前記バッファに保存するように構成されており、
前記異常検出部は、
前記チェックフレームが生成される度に、前記巡回前フレームの内容と前記巡回後フレームの内容が一致しているか否かを判定する処理である照合処理を実行するように構成されており、
直近一定回数分の前記照合処理の結果に基づいて、前記中継処理部の内部に異常が生じているか否かを判定するように構成されている中継装置。
【請求項６】
請求項５に記載の中継装置であって、
前記チェックフレーム生成部は、直近一定回数以内における、前記巡回前フレームの内容と前記巡回後フレームの内容の不一致が生じている回数又は割合が所定の閾値以上である場合には、前記チェックフレームを生成する前記点検周期を、前記巡回前フレームの内容と前記巡回後フレームの内容の不一致が生じていない場合よりも短くするように構成されている中継装置。
【請求項７】
請求項５又は６に記載の中継装置であって、
前記出力処理部は、
通信フレームの種別に応じて予め設定されている優先度に従って、前記バッファに格納されている通信フレームを出力するように構成されているとともに、
直近一定回数以内における、前記巡回前フレームの内容と前記巡回後フレームの内容の不一致が生じている回数又は割合が所定の閾値以上である場合には、前記チェックフレームを前記バッファから取り出す優先度を、前記巡回前フレームの内容と前記巡回後フレームの内容の不一致が生じていない場合よりも高くするように構成されている中継装置。
【請求項８】
請求項２に記載の中継装置であって、
前記チェックフレーム生成部は、生成した前記チェックフレームを前記出力処理部に提供し、
前記出力処理部は、前記チェックフレーム生成部から提供された前記チェックフレームを前記受信処理部に出力し、
前記受信処理部は、前記出力処理部から入力された前記異常検出部に提供するように構成されており、
前記異常検出部は、前記チェックフレーム生成部が生成したフレームを前記巡回前フレームとして取得するとともに、前記受信処理部から提供される前記チェックフレームを前記巡回後フレームとして取得し、これらを比較するように構成されている中継装置。
【請求項９】
請求項２から８の何れか１項に記載の中継装置であって、
前記チェックフレームのヘッダには、当該通信フレームが前記チェックフレームであることを示す情報が含まれており、
前記中継処理部は、前記ヘッダを参照することにより、前記バッファに格納されている通信フレームが前記チェックフレームであるか否かを識別するように構成されている中継装置。
【請求項１０】
請求項２から９の何れか１項に記載の中継装置であって、
前記チェックフレーム生成部は、前記チェックフレームの宛先アドレス領域に、何れの通信装置においても受信されない所定のアドレス値を設定するように構成されている中継装置。
【請求項１１】
請求項１から１０の何れか１項に記載の中継装置であって、
イーサネットの規格に準拠した通信フレームの中継を行うように構成されている中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車両内の通信ネットワークを構成する中継装置に関する。
【背景技術】
【０００２】
特許文献１には、中継装置を用いて構成されている車載通信ネットワークが開示されている。特許文献１に開示の中継装置は、複数のポートを備えており、１つのポートに入力された信号を、当該入力信号に含まれている宛先により定まるポートへと送出する。
【０００３】
また、特許文献１には、中継装置にとっての物理層を提供するポートに、ノードユニットとの通信可否を検出する機能（検出器）を付加した構成が開示されている。検出器としてのポートは、定期的に通信確認のための電子信号を中継装置とノードとをつなぐ通信線に送出することで、通信線の通信可否状態を監視する。そして、中継装置とノードとをつなぐ通信線に例えば断線等の異常が生じ、通信不可能となると、検出器としてのポートは通信の異常を検出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１４１２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示の構成によれば、通信線の断線や、通信線とポートとの接続不良などに起因する通信異常は検出できる。しかしながら、特許文献１では中継装置内部の異常については何ら検討されていない。換言すれば、特許文献１に開示の構成では中継装置の内部にて、通信フレームの中継処理に係る何らかの異常（以降、内部異常）が発生しても、当該内部異常の発生を検出することができない。その結果、中継装置に内部異常が生じている状態が継続し得る。なお、通信フレームの中継処理に係る内部異常とは、例えば、データの一部が本来とは異なるビット値に化けたデータ（いわゆるビット化けが生じたデータ、異常データ）を転送先に出力する状態や、中継処理自体が停止している状態を指す。
【０００６】
本開示は、この事情に基づいて成されたものであり、その目的とするところは、内部異常の発生を検出可能な中継装置を提供することにある。
【課題を解決するための手段】
【０００７】
その目的を達成するための中継装置は、一例として、物理層を提供する複数のポート（３１）と、複数のポートと接続されてあって、複数のポートのそれぞれから入力された通信フレームを中継処理部に出力するとともに、中継処理部から入力された通信フレームを所定のポートに出力する媒体アクセス制御部（４１）と、媒体アクセス制御部から入力された通信フレームを、媒体アクセス制御部と協働して当該通信フレームの宛先情報に応じたポートへ出力するための中継処理を実施する中継処理部（４０）と、中継処理部の動作を点検するための所定の通信フレームであるチェックフレームを生成するチェックフレーム生成部（４６）と、チェックフレーム生成部が生成したチェックフレームを用いて中継処理部の内部が正常に動作しているか否かを判定する異常検出部（４７）と、を備え、中継処理には複数の工程が含まれており、中継処理部は、チェックフレームに対して複数の工程の一部又は全部を実行するように構成されており、異常検出部は、少なくとも１つの工程を施す前のチェックフレームである巡回前フレームの内容と、少なくとも１つの工程を施した後のチェックフレームである巡回後フレームの内容とが一致していないこと、巡回前フレームが発生してから所定時間経過しても巡回後フレームが得られないこと、及び、巡回前フレームが発生してから巡回後フレームが得られるまでの時間が所定の期待値から所定の閾値上乖離していること、の少なくとも何れか１つに基づいて異常が生じていると判定するように構成されている。
【０００８】
上記の構成は、中継処理部の内部に所定のチェックフレームを流し、当該チェックフレームにビット化け等の内容の変更が生じたか否かや、巡回後フレームが得られたか否か、巡回後フレームが得られるまでの所要時間に基づいて中継処理部に異常動作していることを検出する構成に相当する。このような構成によれば、中継処理部の内部異常を検出することができる。
【０００９】
なお、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１０】
【図１】車載通信システム１００の概略的な構成を示す図である。
【図２】イーサネットフレームの構成を概略的に示す図である。
【図３】中継装置２の構成を示すブロック図である。
【図４】中継処理に含まれる工程を示すフローチャートである。
【図５】チェックフレームの構成を示す図である。
【図６】異常検出部４７及びマイコン５の作動を説明するための図である。
【図７】変形例１、２の構成を示すブロック図である。
【図８】変形例１、３の構成を示すブロック図である。
【図９】中継装置２の構成の変形例を示すブロック図である。
【図１０】中継装置２の構成の変形例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、本開示の実施形態について図を用いて説明する。図１は、本開示に係る中継装置２を用いて車両に構築されている通信システム（以降、車載通信システム１００）の構成例を示す図である。本実施形態の車載通信システム１００は、車載イーサネットの規格に従って構成されている。なお、イーサネットは登録商標である。以下では、イーサネット通信プロトコルに準拠したデータ通信をイーサネット通信という。また、以降における通信フレームとは、イーサネット通信プロトコルに従った通信フレーム（いわゆるイーサネットフレーム）を指す。
【００１２】
車載通信システム１００は、ノードとしての複数のＥＣＵ（Electronic Control Unit）１と、少なくとも１つの中継装置２と、を備えている。図１に示す車載通信システム１００は一例として、６つのＥＣＵ１と、２つの中継装置２とを備えている。２つの中継装置２を区別する場合には、中継装置２ａ、２ｂと記載する。また、６つのＥＣＵ１のそれぞれを区別する場合には、ＥＣＵ１ａ〜１ｆと記載する。ＥＣＵ１ａ〜１ｃはそれぞれ通信ケーブル９を介して中継装置２ａと相互通信可能に接続されている。ＥＣＵ１ｄ〜１ｆはそれぞれ通信ケーブル９を介して中継装置２ｂと相互通信可能に接続されている。中継装置２ａと中継装置２ｂもまた通信ケーブル９を介して互いに相互通信可能に接続されている。通信ケーブル９は、たとえば、ツイストペアケーブルである。
【００１３】
なお、車載通信システムを構成するＥＣＵ１や中継装置２の数は一例であり、適宜変更可能である。また、図１に示す車載通信システム１００のネットワークトポロジは一例であってこれに限らない。車載通信システム１００のネットワークトポロジは、メッシュ型や、スター型、バス型、リング型などであってもよい。ネットワーク形状も適宜変更可能である。
【００１４】
ＥＣＵ１は、前述の通り、通信ケーブル９を介して中継装置２と接続されている。ＥＣＵ１は、中継装置２を介して他のＥＣＵ１とイーサネット通信プロトコルに従ったデータの送受信を実行する。それぞれのＥＣＵ１は、直接的には、中継装置２とのみ通信を行う。なお、車載通信システム１００が備える通信装置（換言すればノード）は、センサなど、ＥＣＵ１以外のものでもよい。ノードは、ユーザや点検者によって車載通信システム１００への接続状態を動的に変更可能な外部ツールであってもよい。中継装置２もまた、別の観点によればノードに相当しうる。例えば中継装置２ａにとって中継装置２ｂは自装置に接続するノードの１つに該当する。ＥＣＵ１や中継装置２などにはそれぞれ固有の識別情報（ＭＡＣアドレス）が付与されている。
【００１５】
各ＥＣＵ１が送出する通信フレームには、図２に示すように、プリアンブル部、ヘッダ部、データ部、及びＦＣＳ（Frame Check Sequence）部を含む。ヘッダ部は、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、長さ、タイプ等を含む。なお、宛先ＭＡＣアドレスは、通信対象とするＥＣＵ１のＭＡＣアドレスであり、送信元ＭＡＣアドレスは、当該通信フレームの送信元であるＥＣＵ１のＭＡＣアドレスである。宛先ＭＡＣアドレスは宛先情報に相当する。宛先ＭＡＣアドレスとするビット列が配される領域が宛先アドレス領域に相当する。データ部は、データ本体が格納される領域である。ＦＳＣ部は、データの破損、誤りを検出するためのＣＲＣ（Cyclic Redundancy Check）値が格納される領域である。
【００１６】
中継装置２は、或る通信ケーブル９から入力された通信フレームを、当該通信フレームの宛先に応じた通信ケーブル９に送出する装置である。中継装置２は図３に示すように、複数のＰＨＹ３と、制御部４と、マイクロコンピュータ（以降、マイコン５）とを備えている。
【００１７】
ＰＨＹ３は、通信ケーブル９と接続される構成であって、ＯＳＩ参照モデルにおける物理層を提供する。ＰＨＹ３は、通信ケーブル９と電気的に接続されるポート３１を備える。本実施形態では一例として１つのＰＨＹ３には、１本の通信ケーブル９が接続されるように構成されている。つまり、各ＰＨＹ３は、通信ケーブル９と接続するためのポート３１を１つずつ備える。
【００１８】
例えば中継装置２ａが備える或るＰＨＹ３は、通信ケーブル９を介してＥＣＵ１ａと接続されており、他の１つのＰＨＹ３は、通信ケーブル９を介してＥＣＵ１ｂと接続されている。その他、中継装置２ａは、通信ケーブル９を介してＥＣＵ１ｃと接続されているＰＨＹ３や、中継装置２ｂと接続されているＰＨＹ３などを備える。中継装置２が備えるＰＨＹ３の数は、中継装置２が接続可能なノードの数に相当する。本実施形態の中継装置２は一例として、最大６つのノードとイーサネット通信可能なように、６つのＰＨＹ３を備える。なお、他の構成として、中継装置２が備えるＰＨＹ３の数は４や８などであっても良い。ＰＨＹ３は、中継装置２が接続可能な通信ケーブル９（ひいてはノード）に応じた数だけ用意されていればよい。なお、他の構成として、ＰＨＹ３は、ポート３１を複数備えるものであってもよい。例えばＰＨＹ３は、２つのポート３１を備えていてもよい。
【００１９】
中継装置２が備える複数のポート３１にはそれぞれ固有のポート番号が設定されている。便宜上、中継装置２が備える複数のポート３１を区別する場合には、そのポート３１に設定されているポート番号Ｋを用いて第Ｋポートと記載する。例えば、第１ポートはポート番号が１番に設定されているポート３１を指し、第２ポートはポート番号が２番に設定されているポート３１を指す。本実施形態の中継装置２は、第１ポートから第６ポートまでを備える。
【００２０】
ＰＨＹ３は、概略的には、自分自身と接続している通信ケーブル９（以降、接続ケーブル）から入力された信号を、制御部４で処理可能なデジタル信号に変換して制御部４（具体的にはＭＡＣ４１）に出力する。また、ＰＨＹ３は、制御部４から入力されたデジタル信号を、通信ケーブル９へ伝送可能な電気信号に変換アナログ信号に変換した上で所定の通信ケーブル９に出力する。その他、ＰＨＹ３は、上記の信号形式の変換処理に加えて、フレーム符号化、シリアルパラレル変換、信号波形変換などを行う。ＰＨＹ３はアナログ回路などを備えたＩＣ、すなわち、ハードウェア回路である。
【００２１】
制御部４は、複数のＰＨＹ３のそれぞれと接続されているとともに、マイコン５とも相互通信可能に接続されている。制御部４は、ＯＳＩ参照モデルにおける第２層（データリンク層）の機能を実行できるようにプログラムされている。すなわち、制御部４は、ＰＨＹ３から入力された通信フレームを、当該通信フレームに含まれる宛先ＭＡＣアドレスに基づいて、該通信フレームを送出するべきＰＨＹ３（厳密にはポート３１）を特定し、特定したＰＨＹ３へ通信フレームを出力する。また、制御部４は、内部の異常を検出した場合にはその旨をマイコン５に通知する。
【００２２】
その他、制御部４は、ＯＳＩ参照モデルにおける第３層（いわゆるネットワーク層）の機能を実行できるようにプログラムされている。つまり制御部４は、異なるネットワーク間での通信フレームの中継を実施するように構成されている。第３層としての制御部４はＩＰ（Internet Protocol）アドレスを用いた中継処理を実施する。なお、第３層の機能は、マイコン５が備えていても良い。中継装置２内における機能配置は適宜変更可能である。
【００２３】
当該制御部４は、例えばＦＰＧＡ（field-programmable gate array）を用いて実現されている。なお、制御部４は、ＡＳＩＣ（application specific integrated circuit）を用いて実現されていても良い。また、制御部４は、ＭＰＵや、ＣＰＵ、ＧＰＵを用いて実現されていても良い。制御部４の機能及び構成の詳細については別途後述する。
【００２４】
マイコン５は、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ、およびこれらの構成を接続するバスラインなどを備えた汎用的なコンピュータである。ＲＯＭには、汎用的なコンピュータを、マイコン５として機能させるためのプログラムが格納されている。ＣＰＵが、ＲＡＭの一時記憶機能を利用しつつ、ＲＯＭに記憶されたプログラムを実行することで、マイコン５は、ＯＳＩ参照モデルにおける第４層から第７層までの機能を提供する。つまり、第４層〜第７層は、ソフトウェア処理により実現される。なお、ＣＰＵが実行するプログラムを記憶する記憶媒体はＲＯＭに限られず、非遷移的実体的記録媒体(non-transitory tangible storage medium)に記憶されていればよい。
【００２５】
なお、第４層はトランスポート層であり、プログラム間通信や、データ転送保証などを実行する。第５層はセッション層、第６層はプレゼンテーション層、第７層はアプリケーション層である。これら第５層、第６層、第７層では、ユーザ認証、データエンコードおよびデコード、ユーザインタフェース機能などを実行する。なお、これらの機能を備えた中継装置２は、スイッチングハブＥＣＵと言うこともできる。
【００２６】
＜制御部４の構成及び機能について＞
当該制御部４は、より細かい構成として、複数のＭＡＣ４１と、アドレステーブル記憶部４２と、受信処理部４３と、バッファ４４と、出力処理部４５と、チェックフレーム生成部４６と、異常検出部４７と、を備える。受信処理部４３、バッファ４４、及び、出力処理部４５を備える構成が中継処理部４０に相当する。
【００２７】
ＭＡＣ４１は、イーサネット通信プロトコルにおける媒体アクセス制御（Medium Access Control）を実施する構成である。複数のＭＡＣ４１はそれぞれ１つのＰＨＹ３と接続されている。なお、ＭＡＣ４１は複数のＰＨＹ３と接続されるように構成されていてもよい。ＭＡＣ４１は媒体アクセス制御部に相当する。
【００２８】
各ＭＡＣ４１は、IEEE802.3にて規定されている機能を提供するように構成されている。例えばＭＡＣ４１は、ＰＨＹ３から入力された通信フレーム（以降、受信フレームとも記載）のＦＣＳを参照し、データに破損等の異常が生じているか否かを判断する。また、ＭＡＣ４１は、受信フレームの長さが観測し、長すぎたり、短すぎたりしていないかを判断する。ＭＡＣ４１は、直近一定時間において受信した通信フレームの数や、そのうち、異常が検出された通信フレーム（以降、異常フレーム）の数などを保持する。これらの受信フレーム数や異常フレームの数は、マイコン５によって参照される。なお、ＭＡＣ４１は、ＦＣＳに基づく通信フレームの異常を検出した場合には、再送を要求するなどの処置を実施するように構成されていても良い。
【００２９】
ＭＡＣ４１は、異常が発見されなかった受信フレームを受信処理部４３に提供する。加えて、ＭＡＣ４１は出力処理部４５から入力された通信フレームを、当該ＭＡＣ４１に対応するＰＨＹ３に出力し、通信ケーブル９へと送出させる。なお、ＭＡＣ４１は、ＰＨＹ３と協働してCSMA/CD（Carrier Sense Multiple Access/Collision Detection）を実施する。ＭＡＣ４１は、キャリアセンスの結果に応じて定まるタイミングで、出力処理部４５から入力された通信フレームをＰＨＹ３と協働して通信ケーブル９へと送出する。また、通信フレームの衝突が発生した場合には、通信フレームの再送処理を実施する。
【００３０】
アドレステーブル記憶部４２は、各ＰＨＹ３（具体的には各ポート３１）に接続しているノードのＭＡＣアドレスを示すデータ（以降、アドレステーブル）を保持している記憶媒体である。アドレステーブルは、ポート３１毎の番号（いわゆるポート番号）と、当該ポート３１に接続しているノードのＭＡＣアドレスとの対応関係を示す。各ＰＨＹ３に接続しているＭＡＣアドレスについてはラーニングブリッジやＡＲＰ（Address Resolution Protocol）など、多様な方法で学習される。ここではアドレステーブルの生成方法についての詳細な説明は省略する。なお、ＰＨＹ３毎の接続先のＭＡＣアドレスを学習する機能（以降、アドレステーブル更新機能）は、制御部４が備えていてもよいし、マイコン５が備えていても良い。
【００３１】
受信処理部４３は、ＭＡＣ４１から入力された受信フレームを、バッファ４４に格納する。バッファ４４は、受信フレームを当該通信フレームの送信が完了するまで保持するメモリである。バッファ４４のサイズは、例えば、１２８ＫＢｙｔｅである。バッファ４４は、複数のブロックに分割されて運用される。本実施形態のバッファ４４は一例として、１個あたり１２８Ｂｙｔｅのブロックを１０２４個備える。
【００３２】
また、バッファ４４は、各ポート３１に対応するキューを備える。本実施形態のバッファ４４は一例として、通信フレームの出力先となる１つのポート３１に対してキューを２個ずつ備える。各キューは少なくとも１つのブロックを用いて実現される。各キューに対するブロックの割り当て数は可変に構成されている。１つの送信先ポートに対する２つのキューを便宜上、第１キュー、第２キューと称する。第１キューと第２キューには、それぞれ異なる優先度を設定することができる。ここでは一例として、第１キューは、第２キューよりも優先度が高く設定されている。ここでの優先度は、出力処理部４５がバッファ４４（厳密にはキュー）から通信フレームを取り出す際の優先度である。各キューに対する優先度は、出力処理部４５による通信フレームの出力処理において、最小帯域を保証するための重みとして機能する。なお、他の態様として第１キューと第２キューの優先度は同等に設定されていてもよい。
【００３３】
受信処理部４３は、ＭＡＣ４１から入力された受信フレームを、出力先となるポート３１に応じたキューに保存する。受信フレームの出力先とするポート番号は、通信フレームのヘッダに記載された宛先ＭＡＣアドレスと、アドレステーブルを用いて特定される。受信処理部４３は、アドレステーブルを参照し、受信フレームの宛先ＭＡＣアドレスと対応付けられているポート番号を特定する。そして、その特定したポート番号に対応するキューに受信フレームを保存する。例えば受信処理部４３は第１ポートに出力すべき通信フレームを受信した場合には、当該受信フレームを第１ポート用のキューに保存する。第１キューと第２キュ−のどちらに入力するかは、受信フレームの内容に応じて決定される。便宜上、通信フレームの出力先を特定する処理のことを出力先特定処理とも称する。
【００３４】
なお、本実施形態では受信処理部４３が受信フレームの出力ポートを特定するように構成されているものとするが、これに限らない。アドレステーブルに基づく受信フレームの出力ポートを特定する処理（つまり出力先特定処理）は、出力処理部４５が実行するように構成されていても良い。また、出力先特定処理は、受信処理部４３や出力処理部４５とは独立した構成が実施するように構成されていても良い。中継処理部４０が備える機能の配置態様は適宜変更可能である。
【００３５】
また、受信処理部４３は、出力処理部４５とチェックフレーム専用のパスであるチェックフレーム専用パスＰｃで接続されている。受信処理部４３は、出力処理部４５からチェックフレームが入力されると、当該チェックフレームを異常検出部４７に出力する。チェックフレーム専用パスＰｃは仮想的なパスであってもよいし、実体を有する構成であっても良い。図３において二点鎖線で示す経路がチェックフレーム専用パスＰｃを表している。受信処理部４３から異常検出部４７に出力されるチェックフレームが巡回後フレームに相当する。
【００３６】
出力処理部４５は主として、バッファ４４に格納されている通信フレームを、当該通信フレームの宛先に応じたＭＡＣ４１（ひいてはＰＨＹ３）へと出力する構成である。例えば出力処理部４５は第１ポートに出力するべき通信フレームについては、第１ポートを備えるＰＨＹ３に対応するＭＡＣ４１へと出力する。出力処理部４５は、複数のＭＡＣ４１のそれぞれと中継フレームパスによって接続されている。中継フレームパスは、出力処理部４５から各ＭＡＣ４１へ向かう通信フレームのパスである。中継フレームパスは仮想的なパスであってもよいし、実体を有する構成であっても良い。図３において一点鎖線で示す経路が中継フレームパスを示している。
【００３７】
また、出力処理部４５は、バッファ４４にチェックフレームが保存されている場合、チェックフレーム専用パスＰｃを用いて当該チェックフレームを受信処理部４３に出力する。本実施形態の出力処理部４５は、通信フレームの種別に応じて予め設定されている優先度に従って、バッファに格納されている通信フレームを出力するように構成されている。チェックフレームの優先度は、ＭＡＣ４１（ひいてはポート３１）から入力された通信フレームである受信フレームよりも低く設定されている。このような構成によれば、チェックフレームの出力よりも、受信フレームの出力が優先的に行われるため、第２層での中継処理による通信遅延を抑制することができる。
【００３８】
ただし、出力処理部４５は、バッファ４４にチェックフレームが保存されてから所定の出力待機時間以内に当該チェックフレームをバッファ４４から取り出して受信処理部４３に出力するように構成されている。仮に、優先順に従った出力制御の結果として、チェックフレームがバッファ４４に滞留している時間が出力待機時間となった場合には、当該チェックフレームの出力処理を受信フレームの出力処理に割り込ませて実施するものとする。
【００３９】
ここでの中継処理には、図４に示すように、受信工程Ｓ１と、出力先特定工程Ｓ２と、出力工程Ｓ３と、が含まれる。受信工程Ｓ１は、受信フレームをバッファ４４に保存する工程であり、出力先特定工程Ｓ２は受信フレームの出力先とするポートを特定する工程である。出力先特定工程Ｓ２は出力先特定処理を実施する工程に相当する。出力工程Ｓ３はバッファ４４に保存されている通信フレームを宛先に応じたパスに出力する工程である。前述の通り、本実施形態では出力先特定工程Ｓ２は、受信工程Ｓ１に含まれているものとするが、これに限らない。工程の実行順序や、どこまでを１つの工程とするかは適宜変更可能である。
【００４０】
チェックフレーム生成部４６は、中継処理部４０の動作を点検するための所定のチェックフレームを生成し、バッファ４４に保存（換言すれば入力）する構成である。バッファ４４においてチェックフレームが入力されるキューは、チェックフレームがバッファ４４の全領域を通るように順次変更される。具体的にはチェックフレーム生成部４６は、チェックフレームを生成する度に、当該チェックフレームの保存先とするキューを、第１ポート用の第１キュー、第１ポート用の第２キュー、第２ポート用の第１キュー、第２ポート用の第２キュー、第３ポート用の第１キュー、・・・、第６ポート用の第２キューの順番に変更する。換言すれば、複数のキューのそれぞれに対応するチェックフレームを順次作成し、各キューに入力する。このような構成によれば、バッファ４４が備える全てのキューを点検することができる。故に、複数のキューの何れかに異常が生じている場合には、そのことを検出可能となる。
【００４１】
チェックフレームのヘッダには、図５に示すように、当該通信フレームがチェックフレームであることを示すフレーム種別情報が含まれている。また、チェックフレームのヘッダには、バッファ４４内での入力先を示す情報（以降、疑似宛先情報）として、ポート番号及びキューが含まれている。出力処理部４５や受信処理部４３は、ヘッダのフレーム種別情報を参照することにより、当該通信フレームがチェックフレームであることを識別するように構成されている。これにより、チェックフレームは、中継装置２の内部のみを巡回し、外部へは出力されないよう構成されている。その結果、中継装置２にチェックフレームを用いた自己診断機能を付加することによって他の通信装置に影響を与える恐れを一層低減することができる。なお、通信フレームがチェックフレームであるか否かを識別するための情報は、ヘッダ以外の領域に記載されるように構成されていても良い。例えば、通信フレームがチェックフレームであるか否かを識別するための情報は、データ部に含まれていても良い。
【００４２】
加えて、チェックフレームの宛先ＭＡＣアドレスには、どの通信装置においても受信されない所定のアドレス値が設定されている。これにより、仮にチェックフレームがポート３１の外部に漏れ出てしまった場合であっても、何れの通信装置でも受信されない。故に、中継装置２にチェックフレームを用いた自己診断機能を付加することによって他の通信装置に影響を与える恐れをより一層低減することができる。どの通信装置においても受信されない宛先ＭＡＣアドレス（６Ｂｙｔｅ）とは、例えば、全ビットが０に設定されているアドレス（つまり、００：００：００：００：００：００）である。
【００４３】
加えて、チェックフレームの送信元ＭＡＣアドレスには、全ビットが０に設定されているアドレスが設定されている。そのような設定によれば、チェックフレームは通信装置においてエラーフレームとして処理される。その他、チェックフレーム生成部４６は、チェックフレームのEtherType（２Ｂｙｔｅ）の領域に、IEEE802.3にて規定されていない数値を設定するように構成されていてもよい。そのような設定によっても、仮にチェックフレームが外部に漏れて他の装置で受信された場合であっても破棄される。IEEE802.3にて規定されていないEtherTypeの値とは、例えば、０ｘＦＦＦＦである。EtherTypeが０ｘＦＦＦＦに設定されている通信フレームは、チェックフレームであることを表す。
【００４４】
チェックフレーム生成部４６は例えば所定の内部点検周期で定期的にチェックフレームを生成してバッファ４４の所定領域（例えば点検対象とするキュー）に入力する。チェックフレーム生成部４６は、チェックフレームを生成した場合には、当該チェックフレームを異常検出部４７にも提供する。これにより、異常検出部４７は、チェックフレーム生成部４６が生成したばかりの（換言すれば他の処理が施されていない）チェックフレームを取得する。なお、異常検出部４７は、バッファ４４の所定領域に入力されているチェックフレームを参照することにより、チェックフレーム生成部４６が生成したチェックフレームを取得するように構成されていても良い。バッファ４４に保存されたばかりのチェックフレーム、換言すればチェックフレーム生成部４６が生成した直後のチェックフレームが巡回前フレームに相当する。
【００４５】
チェックフレーム生成部４６によってバッファ４４に入力（換言すれば保存）されたチェックフレームは、出力処理部４５によって取り出され、チェックフレーム専用パスＰｃを介して受信処理部４３に入力される。なお、出力処理部４５は、いったんチェックフレームの出力処理を実施した場合には、所定の禁止時間、チェックフレームの出力処理は行わないように構成されているものとする。禁止時間は内部点検周期と同じ値に設定されていればよい。前述の通り、受信処理部４３はチェックフレームを受信すると、当該チェックフレームを異常検出部４７に提供する。
【００４６】
異常検出部４７は、受信処理部４３からチェックフレームが入力されると、チェックフレーム生成部４６から提供されたチェックフレームである巡回前フレームと、受信処理部４３から入力されたチェックフレームである巡回後フレームとを比較する。つまり、異常検出部４７は、巡回前フレームの内容と巡回後フレームの内容とを比較する処理（以降、照合処理）を実施する。そして、巡回前フレームと、巡回後フレームとが一致していない場合には、中継処理部４０に異常が生じていると判定する。中継処理部４０に異常が生じていると判定することは、中継処理部４０の内部異常を検出することに相当する。
【００４７】
その他、異常検出部４７は、チェックフレーム生成部４６がバッファ４４にチェックフレームを入力してから、所定の出力待機時間が経過しても出力処理部４５によってチェックフレームが取り出されなかった場合、中継処理部４０に異常が生じていると判定する。また、異常検出部４７は、出力処理部４５がバッファ４４からチェックフレームを取り出された時点から所定の巡回上限時間が経過しても受信処理部４３からチェックフレームが入力されなかった場合、中継処理部４０に異常が生じていると判定する。
【００４８】
出力待機時間や巡回上限時間の具体的な値は適宜設計されれば良い。尚、バッファ４４からチェックフレームが取り出された時点を、チェックフレームが巡回を開始したとみなす時点（以降、巡回開始時点）に相当する。巡回開始時点から所定の巡回上限時間が経過しても受信処理部４３からチェックフレームが入力されなかった場合が、巡回前フレームが発生してから所定時間経過しても巡回後フレームが得られない場合に相当する。なお、他の態様として、巡回開始時点は、チェックフレーム生成部４６がチェックフレームを生成した時点、換言すればバッファ４４にチェックフレームが保存された時点であってもよい。
【００４９】
加えて、異常検出部４７は、出力処理部４５がバッファ４４からチェックフレームが取り出してから、受信処理部４３からチェックフレームが入力されるまでに要した時間（以降、巡回所要時間）を計測する。そして、当該巡回所要時間が、所定の期待値から所定の閾値以上乖離している場合に、中継処理部４０に異常が生じていると判定するように構成されていても良い。巡回所要時間の期待値は、中継処理部４０が正常に動作している場合に観測される巡回所要時間の平均値などであって、その具体的には値は適宜設計されれば良い。巡回所要時間が期待値を超過している場合とは、処理遅延が生じている場合に相当する。巡回所要時間が期待値から所定の閾値以上乖離している場合とは、遅延時間が所定の閾値以上である場合に相当する。
【００５０】
異常検出部４７は、中継処理部４０のどこかに異常が生じていると判定した場合には、マイコン５に内部異常の発生を通知する。例えば異常検出部４７は、異常が生じていると判断していない場合には、マイコン５に対して、状態通知信号としてパルス信号を所定の送信間隔Ｔｐで定期的に送信する。一方、異常検出部４７は、異常が生じていると判断した場合には、状態通知信号として、ハイレベルまたはローレベルに固着した信号を出力する。なお、図６に示す例では、異常を検出したことを示す状態通知信号としてローレベル信号を出力し続ける態様を示している。
【００５１】
マイコン５は、制御部４からパルス信号が定期的に入力されることに基づいて中継処理部４０が正常動作していると判断する。マイコン５は所定の待機時間Ｔｑ以上、状態通知信号のエッジが観測されない場合には、中継処理部４０に異常が生じていると見なして、リセット信号を出力する。待機時間Ｔｑは、パルス信号の送信間隔Ｔｐを２倍した値など、送信間隔Ｔｐよりも長い値に設定されていればよい。なお、状態通知信号のエッジが所定の待機時間Ｔｑ以上観測されない場合とは、所定の待機時間Ｔｑ以上、状態通知信号がハイレベルかローレベルのままとなっている場合に相当する。
【００５２】
このようにマイコン５は、中継処理部４０が正常に動作していないことを検出した場合には、正常化処理として例えば制御部４を再起動させる。これにより、正常な状態に復帰させる。なお、正常化処理とは、中継処理部４０の作動を正常な状態に復帰させるための処理である。中継処理部４０が正常な状態とは、通信フレームの出力遅延や、消失、データ化けなどが生じていない状態を指す。制御部４の再起動は、リセット信号の入力によって実現されてもよいし、制御部４への電力供給を一時的に遮断することによって実施されてもよい。電力供給を一時的に遮断することによる再起動は、ハードリブートとも称される。
【００５３】
なお、本実施形態のように、正常に動作している場合には状態通知信号としてパルス信号を定期送信する構成によれば、エッジ入力間隔が規定の期間よりも長い場合だけでなく、短すぎることも検出できる。エッジ入力間隔が短すぎる場合とは、状態通知信号を生成する回路部に何らかの不具合が生じている場合である。上記構成によれば、エッジ入力間隔が規定の期間よりも短い場合にも、異常として検出可能であるため、中継装置２の信頼性をより一層高めることができる。
【００５４】
以上、本開示の実施形態を説明したが、本開示は上述の実施形態に限定されるものではなく、以降で述べる種々の変形例も本開示の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施することができる。例えば下記の種々の変形例は、技術的な矛盾が生じない範囲において適宜組み合わせて実施することができる。なお、前述の実施形態で述べた部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。また、構成の一部のみに言及している場合、他の部分については先に説明した実施形態の構成を適用することができる。
【００５５】
［変形例１］
異常検出部４７は、直近Ｎ回分（つまり直近一定回数分）の照合処理の結果に基づいて、中継処理部の内部に異常が生じているか否かを判定するように構成されていてもよい。その場合、異常検出部４７は、図７に示すように直近のＮ回分の照合処理の結果を保持する判定履歴保持部４７１を備える。Ｎは、３以上の自然数に設定されていれば良く、例えばＮ＝５に設定されている。もちろん、Ｎは３や、８、１０などであってもよい。
【００５６】
異常検出部４７は、直近５回分の照合処理の結果として、例えば、巡回開始時点と巡回終了時点のフレーム内容の不一致が検出された回数が３回以上となった場合（換言すれば過半数となった場合）に、中継処理部４０の内部に異常が生じていると判定する。なお、Ｎ回の比較結果において、巡回開始時点と巡回終了時点のフレーム内容の不一致が検出された回数が占める割合が所定の閾値以上であることに基づいて、中継処理部４０の内部に異常が生じていると判定するように構成されていても良い。図７では、過去５回の照合処理において何れも巡回開始時点と巡回終了時点のフレーム内容が一致していた場合を例示している。
【００５７】
［変形例２］
変形例１の応用として、出力処理部４５は、直近Ｎ回分の照合処理の結果に基づいて、バッファ４４に保存されているチェックフレームを処理する優先度を変更する優先順位変更部４５１を備えていても良い。例えば優先順位変更部４５１は、直近Ｎ回分の照合処理の結果として、フレーム内容の不一致が検出されている回数がＭ回未満である場合には、チェックフレームの優先度は、受信フレームよりも低く設定する。これにより、出力処理部４５はチェックフレームの出力処理よりも受信フレームの出力処理を優先的に実行する。一方、優先順位変更部４５１は、フレーム内容の不一致が検出されている回数がＭ回以上である場合においては、チェックフレームの優先度を、受信フレームよりも高くする。
【００５８】
このような構成によれば、中継処理部４０に異常が生じている疑いがある場合には照合処理が受信フレームの中継（換言すれば転送）に対して優先的に実行される。その結果、より迅速に中継処理部４０の異常を検出可能となる。また、中継処理部４０の異常の発見時期が早まることにより、中継処理部４０の異常が車載通信システム１００に与える影響を低減することが可能となる。
【００５９】
なお、チェックフレームの優先度を変更するための閾値として機能するパラメータ（以降、モード変更閾値）Ｍは、Ｎ以下の範囲において適宜設計されればよい。例えばモード変更閾値Ｍは、１や３などに設定されれば良い。チェックフレームの優先度を変更することは、出力処理部４５の動作態様を変更することに相当する。
【００６０】
［変形例３］
変形例１、２の応用として、チェックフレーム生成部４６は図８に示すように、直近Ｎ回分の照合処理の結果に基づいて、チェックフレームの生成周期（つまり内部点検周期）を変更する周期変更部４６１を備えていても良い。例えば周期変更部４６１は、直近Ｎ回分の照合処理の結果としてフレーム内容の不一致が検出されている回数がＭ回以上である場合には、フレーム内容の不一致が検出されている回数がＭ回未満である場合よりも短くする。より具体的には周期変更部４６１は、フレーム内容の不一致が検出されている回数がＭ回以上である場合には、フレーム内容の不一致が検出されている回数がＭ回未満である場合の周期の半分に設定する。
【００６１】
このような構成によれば、中継処理部４０に異常が生じている疑いがある場合には照合処理が実行される間隔が短くなり、その結果、より迅速に中継処理部４０の異常を検出可能となる。なお、本変形例３は、上記の変形例２と組み合わせて実施されることが好ましい。
【００６２】
［変形例４］
上述した実施形態では、チェックフレームを、バッファ４４、出力処理部４５、受信処理部４３の順に一巡させる態様を開示したがこれに限らない。チェックフレームの巡回経路は適宜変更可能である。例えばチェックフレームは、出力処理部４５、受信処理部４３、バッファ４４の順に、中継処理にかかる複数の工程を一巡するように構成されていてもよい。その場合には、チェックフレーム生成部４６は、生成したチェックフレームをバッファ４４を介さずに（つまり直接的に）出力処理部４５に提供するように構成されていれば良い。また、受信処理部４３は、出力処理部４５からチェックフレームが入力されると、その入力されたチェックフレームをバッファ４４が備える複数のキューのうち、擬似宛先情報に示されているキューに入力する。このような構成によっても実施形態と同様の効果を奏する。
【００６３】
また、他の態様としてチェックフレームは、例えば、チェックフレーム生成部４６を始点として、受信処理部４３、バッファ４４、出力処理部４５の順に、中継処理にかかる複数の工程を一巡するように構成されていてもよい。その場合には、図９に示すように、チェックフレーム生成部４６は、生成したチェックフレームを受信処理部４３に入力するとともに、出力処理部４５は、バッファ４４に保存されているチェックフレームを異常検出部４７に出力するように構成されていればよい。また、図１０に示すように、チェックフレーム生成部４６が生成したチェックフレームはバッファ４４を介さずに出力処理部４５や異常検出部４７に提供されるように構成されていても良い。加えて、受信処理部４３は、出力処理部４５から入力されたチェックフレームを異常検出部４７へと直接提供するように構成されていてもよい。もちろん、受信処理部４３は、出力処理部４５から入力されたチェックフレームをバッファ４４を介して異常検出部４７へ提供するように構成されていてもよい。
【００６４】
その他、チェックフレームは、各ＭＡＣ４１を巡回の始点として、受信処理部４３、バッファ４４、出力処理部４５の順に一巡するように構成されていてもよい。そのような構成は、例えば各ＭＡＣ４１がチェックフレーム生成部４６を備えることによって実現されれば良い。また、上記構成は、チェックフレーム生成部４６が各ＭＡＣ４１に対してチェックフレームを入力することによって実現されても良い。
【００６５】
加えて、チェックフレームは、バッファ４４を通らないように構成されていても良い。例えば、チェックフレーム生成部４６が生成したチェックフレームは、出力処理部４５、受信処理部４３を通って異常検出部４７に入力されるように構成されていても良い。そのような構成によっても、受信処理部４３や出力処理部４５が正常に機能しているか否かを判別することができる。
【００６６】
［変形例５］
マイコン５は、異常検出部４７によって異常が生じているキューが特定されている場合には、正常化処理として、チェックフレームの停止が観測されたキューを使わないようにする等の処置を採用可能に構成されていてもよい。バッファ４４が備える複数のキューのうち、何れのキューでチェックフレームが止まったか否かは、異常検出部４７は、各キューを対象とするチェックフレームを生成することによって特定可能である。また、上述した実施形態ではマイコン５は正常化処理として制御部４を再起動する態様を開示したがこれに限らない。特定のバッファだけをクリアするように構成されていても良いし、経路の一部だけをリフレッシュするように構成されていても良い。また、中継装置２自身を再起動させるように構成されていても良い。
【００６７】
＜付言＞
中継装置２が提供する手段および／または機能は、実体的なメモリ装置に記録されたソフトウェアおよびそれを実行するコンピュータ、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの組合せによって提供することができる。中継装置２が備える機能の一部又は全部はハードウェアとして実現されても良い。或る機能をハードウェアとして実現する態様には、１つ又は複数のＩＣなどを用いて実現する態様が含まれる。また、中継装置２が備える機能の一部又は全部が、ハードウェアである電子回路によって提供される場合、それは多数の論理回路を含むデジタル回路、またはアナログ回路によって提供することができる。
【符号の説明】
【００６８】
１００  車載通信システム、１・１ａ〜１ｆ  ＥＣＵ、２・２ａ〜２ｂ  中継装置、３  ＰＨＹ、４  制御部、５  マイコン、３１  ポート、４０  中継処理部、４１  ＭＡＣ（媒体アクセス制御部）、４２  アドレステーブル記憶部、４３  受信処理部、４４  バッファ、４５  出力処理部、４６  チェックフレーム生成部、４７  異常検出部、４５１  優先順位変更部、４６１  周期変更部、４７１  判定履歴保持部、Ｓ１  受信工程、Ｓ２  出力先特定工程、Ｓ３  出力工程
【図１】
2020043520.tif 000003
【図２】
2020043520.tif 000004
【図３】
2020043520.tif 000005
【図４】
2020043520.tif 000006
【図５】
2020043520.tif 000007
【図６】
2020043520.tif 000008
【図７】
2020043520.tif 000009
【図８】
2020043520.tif 000010
【図９】
2020043520.tif 000011
【図１０】
2020043520.tif 000012