(57)【要約】【課題】異常を確実に検出できるようにした通信装置、及び通信装置における異常検出方法を提供すること。【解決手段】第１または第２のバスから受信したフレームをそれぞれ前記第２または第１のバスに送信する通信装置において、前記受信したフレームを第１または第２のバスに振り分ける振り分け部と、前記受信したフレームに基づいて、ハードウェアとして複数のブロックからなる前記振り分け部の異常を検出する検出部とを備える。【選択図】図１
2010245934.tif 000002
【特許請求の範囲】
【請求項１】
第１または第２のバスから受信したフレームをそれぞれ前記第２または第１のバスに送信する通信装置において、
前記受信したフレームを第１または第２のバスに振り分ける振り分け部と、
前記受信したフレームに基づいて、ハードウェアとして複数のブロックからなる前記振り分け部の異常を検出する検出部と、
を備えることを特徴とする通信装置。
【請求項２】
前記振り分け部は、さらに、前記振り分けに応じた第１及び第２の記憶部と、前記通信装置が送信すべきでないフレームを記憶する第３の記憶部とを備え、
前記検出部は、前記受信したフレームの総数と、前記第１乃至第３の記憶部に記憶されたフレームの総数とが等しいか否かにより前記振り分け部に異常を検出することを特徴とする請求項１記載の通信装置。
【請求項３】
前記振り分け部は、前記受信したフレームのＩＤに基づいて、前記受信したフレームを前記通信装置が送信すべきでないフレームとして前記第３の記憶部に記憶することを特徴とする請求項２記載の通信装置。
【請求項４】
前記振り分け部は、さらに前記通信装置が送信すべきでないフレームを記憶する第３の記憶部を備え、
前記検出部は、前記第３の記憶部に前記通信装置が送信すべきフレームが記憶されているか否かにより前記振り分け部の異常を検出することを特徴とする請求項１記載の通信装置。
【請求項５】
前記振り分け部は、前記受信したフレームのＩＤに基づいて、前記受信したフレームを前記通信装置が送信すべきでないフレームとして前記第３の記憶部に記憶することを特徴とする請求項４記載の通信装置。
【請求項６】
前記振り分け部は、さらに、前記受信したフレームの経路情報を記憶したルーティングマップと、前記経路情報に基づいて前記受信したフレームを前記第１または第２のバスに振り分けることを特徴とする請求項１記載の通信装置。
【請求項７】
前記通信装置は、ＣＡＮプロトコルによるゲートウェイ装置であることを特徴とする請求項１記載の通信装置。
【請求項８】
第１または第２のバスから受信したフレームをそれぞれ前記第２または第１のバスに振り分ける振り分け部を有する通信装置における異常検出方法おいて、
前記受信したフレームに基づいて、ハードウェアとして複数のブロックからなる前記振り分け部の異常を検出する、
ことを特徴とする異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、及び通信装置における異常検出方法に関する。
【背景技術】
【０００２】
昨今、車両の車載ネットワークとしてＣＡＮプロトコルが注目されている（例えば、以下の非特許文献１及び２）。ＣＡＮはＩＳＯ（International Organization for Standardization）で国際的に標準化された通信プロトコルである。
【０００３】
ＣＡＮプロトコルによる車載ネットワークシステムでは、複数のＥＣＵ（Electric Control Unit）がＣＡＮバスに接続される。そして、フレームと呼ばれるデータが各ＥＣＵ間で送受信される。ＥＣＵのうちゲートウェイＥＣＵは、あるＣＡＮバスから他のＣＡＮバスにフレームを送受信するＥＣＵである。図５は従来のゲートウェイＥＣＵの構成例を示す図である。
【０００４】
ゲートウェイＥＣＵ５００は、ＣＡＮコントローラ５１０と、検索エンジン５２０と、送信側ＦＩＦＯ５３０，５４０と、ソフトウェア処理部５５０とを備える。ＣＡＮコントローラ５１０で受信したフレームは検索エンジン５２０においてどのＣＡＮバスに送信するかが振り分けられ、その振り分けに応じて２つの送信側ＦＩＦＯ５３０，５４０のいずれかに出力される。そして、ソフトウェア処理部５５０は送信側ＦＩＦＯ５３０，５４０からフレームを読み出し、フェールセーフ等のソフトウェアによる処理を行い、他のＣＡＮバスに送信する。
【０００５】
ゲートウェイＥＣＵ５００は、フレーム数が多くなった場合の処理負荷を考慮して、振り分けはソフトウェアではなく、検索エンジン５２０と送信側ＦＩＦＯ５３０，５４０により構成されたハードウェア（またはハードマクロ）で行われる。
【０００６】
なお、この種の従来技術は例えば以下に示す特許文献に開示されている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】「ＣＡＮ入門書」www.renesas.com
【非特許文献２】「ＣＡＮとは？」www.toyo.co.jp/car/CAN/CAN_General.htm
【特許文献】
【０００８】
【特許文献１】特開平７‐４４４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来のゲートウェイＥＣＵ５００は異常を検出する機能がなかった。このため、たとえゲートウェイＥＣＵ５００のハードマクロ内の異常によりフレームが損失したとしても、ゲートウェイＥＣＵ５００はフレームを受信していないと判断されていた。
【００１０】
ゲートウェイＥＣＵ５００は他のＥＣＵにフレームを送信するためのものであり、故障等によりフレームを送信できないと、例えば車両内の種々の制御に影響を与えてしまう。また、フレームを必要とするＥＣＵにフレームが送信されていないと、送信元のＥＣＵが故障なのか、ゲートウェイＥＣＵ５００が故障なのか等、故障個所の特定が困難であった。
【００１１】
そこで、一目的は異常を確実に検出できるようにした通信装置、及び通信装置における異常検出方法を提供することにある。
【課題を解決するための手段】
【００１２】
一態様によれば、第１または第２のバスから受信したフレームをそれぞれ前記第２または第１のバスに送信する通信装置において、前記受信したフレームを第１または第２のバスに振り分ける振り分け部と、前記受信したフレームに基づいて、ハードウェアとして複数のブロックからなる前記振り分け部の異常を検出する検出部とを備える。
【００１３】
また、他の態様によれば、  第１または第２のバスから受信したフレームをそれぞれ前記第２または第１のバスに振り分ける振り分け部を有する通信装置における異常検出方法おいて、前記受信したフレームに基づいて、ハードウェアとして複数のブロックからなる前記振り分け部の異常を検出する。
【発明の効果】
【００１４】
異常を確実に検出できるようにした通信装置、及び通信装置における異常検出方法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】図１はゲートウェイＥＣＵの構成例を示す図である。
【図２】図２は異常検出処理の例を示すフローチャートである。
【図３】図３は異常検出処理の他の例を示すフローチャートである。
【図４】図４はゲートウェイＥＣＵの他の構成例を示す図である。
【図５】図５は従来のゲートウェイＥＣＵの構成例を示す図である。
【発明を実施するための形態】
【００１６】
実施するための最良の形態について、以下図面を参照しながら説明する。
【００１７】
図１は、通信装置でもあるゲートウェイＥＣＵ１００の構成例を示す図である。ゲートウェイＥＣＵ１００は、第１及び第２のＣＡＮコントローラ１１，１２と、セレクタ１３と、検索エンジン１４と、ルーティングマップ１５と、第１及び第２の送信側ＦＩＦＯ１６，１７と、バッファ１８と、マイコン（ＣＰＵ）１９と、第３及び第４のＣＡＮコントローラ２０，２１とを備える。なお、ゲートウェイＥＣＵ１００は、本実施例では第１及び第２のＣＡＮバス２００，３００に接続される。
【００１８】
第１及び第２のＣＡＮコントローラ１１，１２は、それぞれ第１及び第２のＣＡＮバス２００，３００からフレームを受信し、セレクタ１３に出力する。
【００１９】
セレクタ１３は、第１または第２のＣＡＮコントローラ１１，１２からのフレームのうち、いずれか一方のフレームを検索エンジン１４に出力する。
【００２０】
検索エンジン１４は、ルーティングマップ１５に基づいて、受信フレームをどのＣＡＮバス２００，３００に送信するかを振り分ける。検索エンジン１４はその振り分けに応じて受信フレームを第１または第２の送信側ＦＩＦＯ１６，１７に出力する。
【００２１】
ルーティングマップ１５は、ＣＡＮＩＤ（例えば、フレームの種別を示す識別情報）、受信バス番号、送信バス番号の各項目を記憶し、どのＣＡＮＩＤのフレームをどのバスに送信するかを定義したマップである。ルーティングマップ１５は受信フレームの経路情報を示すマップでもある。
【００２２】
なお、検索エンジン１４は、ルーティングマップ１５に登録されていないＣＡＮＩＤのフレームを入力したとき、当該フレームをバッファ１８に出力する。バッファ１８は、ゲートウェイＥＣＵ１００が本来中継すべきフレームを格納するためのバッファである。
【００２３】
第１及び第２の送信側ＦＩＦＯ１６，１７は、振り分け後のフレームを格納するバッファである。
【００２４】
マイコン１９は、第１及び第２の送信側ＦＩＦＯ１６，１７からフレームを読み出し、フェールセーフ等の各種ソフトウェア処理を実行し、振り分けに応じてフレームをそれぞれ第３または第４のＣＡＮコントローラ２０，２１に出力する。
【００２５】
第３または第４のＣＡＮコントローラ２０，２１は、マイコン１９からのフレームをそれぞれ第１または第２のＣＡＮバス２００，３００に送信する。第１または第２のＣＡＮバス２００，３００に送信されたフレームは、他のＥＣＵに送信される。
【００２６】
なお、本実施例において、検索エンジン１４、ルーティングマップ１５、第１及び第２の送信側ＦＩＦＯ１６，１７、及びバッファ１８をハードマクロと称する。受信フレームの振り分けは、ハードウェアで構成されたハードマクロ（または振り分け部）により行われる。
【００２７】
図２は異常検出処理の例を示すフローチャートである。処理が開始されると（Ｓ１０）、ゲートウェイＥＣＵ１００は全ＣＡＮコントローラ１１，１２で受信した受信フレーム数をチェックする（Ｓ１１）。受信フレーム数のチェックは、例えばマイコン１９で行われる。図１に示すように、マイコン１９は、例えば第１及び第２のＣＡＮコントローラ１１，１２からフレームを受信したことを示す信号が入力される。マイコン１９は、この信号の入力数をカウントすることで受信フレーム数をチェックできる。あるいは、各ＣＡＮコントローラ１１，１２で受信フレーム数をカウントし、その情報をマイコン１９に出力してもよい。
【００２８】
次いで、ゲートウェイＥＣＵ１００は、全送信側ＦＩＦＯ１６，１７とバッファ１８に格納されたフレーム数をチェックする（Ｓ１２）。例えば、本処理はマイコン１９で行う。図１に示すように、マイコン１９は例えば第１及び第２の送信側ＦＩＦＯ１６，１７、さらにバッファ１８にアクセスして、各部に記憶された受信フレーム数をカウントするようにする。
【００２９】
なお、マイコン１９は、Ｓ１１でカウントした受信フレームが送信側ＦＩＦＯ１６，１７に格納されて、当該受信フレームが本処理（Ｓ１２）でカウントされるよう、例えば検索エンジン１４等の処理遅延を考慮して本処理における受信フレーム数をカウントしてもよい。
【００３０】
次いで、ゲートウェイＥＣＵ１００は、受信フレーム数の総和（Ｓ１２）と格納されたフレーム数の総和（Ｓ１３）とが等しいか否かを判定する（Ｓ１３）。本処理は、例えばマイコン１９で判定される。
【００３１】
全ＣＡＮコントローラ１１，１２で受信したフレームの総数と、第１及び第２の送信側ＦＩＦＯ１６，１７等に格納されたフレームの総数とが等しいとき（Ｓ１３でＹｅｓ）、ハードマクロ内ではフレームの損失がないため、ゲートウェイＥＣＵ１００は正常と判定する（Ｓ１６）。本処理も、例えばマイコン１９で判定する。
【００３２】
一方、全ＣＡＮコントローラ１１，１２で受信したフレームの総数と、第１及び第２の送信側ＦＩＦＯ１６，１７等に格納されたフレームの総数とが等しくないとき（Ｓ１３でＮｏ）、ゲートウェイＥＣＵ１００はフレームが損失したと判定する（Ｓ１４）。本処理も、例えばマイコン１９で判定する。
【００３３】
判定（Ｓ１４，Ｓ１６）後、一連の処理は終了する（Ｓ１５）。
【００３４】
図３は異常検出処理の他の例を示すフローチャートである。本処理が開始されると（Ｓ２０）、ゲートウェイＥＣＵ１００はバッファ１８に中継対象のフレームがあるか否かを判定する（Ｓ２１）。バッファ１８はゲートウェイＥＣＵ１００が中継する対象でないフレームを格納するが、故障等により中継対象のフレームがバッファ１８に記憶される場合がある。ゲートウェイＥＣＵ１００はバッファ１８に中継対象のフレームが記憶されたか否かにより判定する。
【００３５】
例えば、図１に示すようにマイコン１９がバッファ１８にアクセスして、格納されたフレームのＣＡＮＩＤと、マイコン１９自身が保持したＣＡＮＩＤとが一致するか否かにより判定できる。ここで、マイコン１９は保持したＣＡＮＩＤは、例えばルーティングマップ１５に登録されたＣＡＮＩＤと同じものである。
【００３６】
そして、ゲートウェイＥＣＵ１００は、バッファ１８に中継対象のフレームがあれば（Ｓ２１でＹｅｓ）、フレームがハードマクロ内で損失したと判定する（Ｓ２２）。
【００３７】
一方、ゲートウェイＥＣＵ１００は、バッファ１８に中継対象のフレームがなければ（Ｓ２１でＮｏ）、フレームの損失がなく正常と判定する（Ｓ２４）。
【００３８】
判定（Ｓ２２，Ｓ２４）後、一連の処理は終了する（Ｓ２３）。
【００３９】
このように、本ゲートウェイＥＣＵ１００は、受信フレームの総数と送信側ＦＩＦＯ１６，１７等に格納されたフレームの総数とを比較し、または中継対象でないフレームを記憶するバッファ１８に中継対象のフレームが格納されているかをチェックすることで、異常検出を行うようにしている。ハードマクロ内のいずれかで故障等による異常が発生しているとき、フレームの総数は等しくならないため、これを検出することで異常の発生を確実に検出できる。また、検索エンジン１４等で故障等による異常が発生しているとき、バッファ１８には中継対象のフレームが格納される場合もあるため、これを検出することで異常の発生を確実に検出できる。
【００４０】
ここで、フレームを損失した場合に、マイコン１９はその時刻等を履歴としてマイコン１９内のバッファ等に記憶することもできる。フレーム損失のログ情報として後で確認することができる。
【００４１】
上述した例は、マイコン１９によりフレームの総数等をチェックするようにした。マイコン１９は、例えばハードマクロの異常を検出する検出部であるものとして説明した。例えば、検出部を別途設けてハードマクロの異常を検出するようにしてもよい。図４はゲートウェイＥＣＵ１００の他の構成例を示す図である。ゲートウェイＥＣＵ１００はさらに検出部３０を備える。
【００４２】
検出部３０は、第１及び第２のＣＡＮコントローラ１１，１２、第１及び第２の送信側ＦＩＦＯ１６，１７、及びバッファ１８と接続される。検出部３０は、例えば、第１及び第２のＣＡＮコントローラ１１，１２からフレームを受信するごとに出力される信号を検出しこれをカウントすることで受信フレームの総数をカウントする（図２のＳ１１）。あるいは検出部３０は、第１のＣＡＮコントローラ１１等でカウントした受信フレーム数を入力するようにしてもよい。
【００４３】
また、検出部３０は、例えば、第１及び第２の送信側ＦＩＦＯ１６，１７、及びバッファ１８にアクセスして、格納された受信フレーム数をカウントするようにしてもよい（図２のＳ１２）。
【００４４】
さらに、検出部３０は、例えばバッファ１８にアクセスして、格納されたフレームのＣＡＮＩＤが、自身で保持したＣＡＮＩＤと一致するか否かを判定するようにしてもよい（図３のＳ２１）。
【００４５】
そして、検出部３０でカウント数（図２のＳ１１とＳ１２）や一致したか否か（図３のＳ２１）の情報を、例えばマイコン１９に出力し、マイコン１９でフレーム損失を判定してもよい（Ｓ１５とＳ１６、Ｓ２２とＳ２４）。フレーム損失の判定は検出部３０で行ってもよい。
【００４６】
なお、フレーム損失の時刻やＣＡＮＩＤ等は検出部３０またはマイコン１９で履歴として保持することもできる。
【００４７】
また、上述したいずれの例も、ＣＡＮバス２００，３００は２つの例で説明した。ゲートウェイＥＣＵ１００は複数のＣＡＮバスに接続できればよいので、３つ、４つなどのＣＡＮバスと接続されても、実施可能である。さらに、接続されるＣＡＮバスの数に応じて、送信側ＦＩＦＯやＣＡＮコントローラの数も増加してもよい。
【符号の説明】
【００４８】
１１，１２  第１，第２のＣＡＮコントローラ、  １３  セレクタ、  １４  検索エンジン、  １５  ルーティングマップ、  １６，１７  第１，第２の送信側ＦＩＦＯ、  １８  バッファ、  １９  マイコン（ＣＰＵ）、  ２０，２１  第３，第４のＣＡＮコントローラ、  ３０  検出部、  １００  ゲートウェイＥＣＵ、  ２００，３００  第１，第２のＣＡＮバス
【図１】
2010245934.tif 000003
【図２】
2010245934.tif 000004
【図３】
2010245934.tif 000005
【図４】
2010245934.tif 000006
【図５】
2010245934.tif 000007