(57)【要約】【課題】車両に搭載される制御装置を運用時においても短時間で検査できる検査データを生成する。【解決手段】検査システムは、車両１０に搭載されたゲートウェイ装置２０と、第２の通信路６０を介して車両１０と接続される検査装置５０とを備え、ゲートウェイ装置２０は、第１の通信路４０に送信されたエラーデータとその直前の正常な通信データとを第２の通信路６０を介して検査装置５０へ送信し、検査データ生成部１５０は、エラーデータと共に受信した正常な通信データを基に検査データを生成する。【選択図】図１
2020034486.tif 000002
【特許請求の範囲】
【請求項１】
検査対象である複数の制御装置と、
前記複数の制御装置のそれぞれと第１の通信路を介して通信を行うゲートウェイ装置と、
前記ゲートウェイ装置と第２の通信路を介して通信を行う検査装置と
を備え、
前記複数の制御装置のそれぞれは、前記第１の通信路を介して相互通信が可能であり、
前記ゲートウェイ装置は、
前記複数の制御装置間で相互通信されるデータを逐次受信することで、前記複数の制御装置間の通信状態を監視し、
前記データとして、エラーが発生したことを示すエラーデータを受信した場合には、前記エラーデータを受信する前に前記データとして受信した正常データと前記エラーデータとを組として、前記第２の通信路を介して前記検査装置に送信し、
前記検査装置は、
前記ゲートウェイ装置から受信した前記組に含まれる前記正常データに基づいて、検査データを生成し、
前記検査データを前記第２の通信路を介して前記ゲートウェイ装置に送信する
検査システム。
【請求項２】
前記組に含まれる前記正常データは、前記ゲートウェイ装置が前記エラーデータを受信する直前に受信した正常データである、
請求項１に記載の検査システム。
【請求項３】
前記ゲートウェイ装置は、
前記複数の制御装置間で相互通信される前記データを逐次受信し、受信した前記データが正常データであるかエラーデータであるかを判定するエラー検出部と、
前記エラー検出部が前記データを正常データと判定した場合に、前記正常データを保持するとともに、前記エラー検出部が前記データをエラーデータと判定した場合に、前記エラーデータを受信する前に保持した前記正常データと前記エラーデータとを組として出力する通信データ保持部と、
前記通信データ保持部が出力した前記エラーデータと前記正常データとの前記組を、前記第２の通信路を介して前記検査装置に転送するとともに、前記第２の通信路を介して前記検査装置から受信した前記検査データを前記第１の通信路に転送するデータ転送部と
を有しており、
前記検査装置は、
前記ゲートウェイ装置の前記データ転送部から受信した前記エラーデータと前記正常データとの前記組を保持する生成基データ保持部と、
前記生成基データ保持部が保持する前記組に含まれる前記正常データに基づいて前記検査データを生成する検査データ生成部と、
前記検査データ生成部が生成した前記検査データを前記ゲートウェイ装置の前記データ転送部に送信する検査部と
を有している、
請求項１または２に記載の検査システム。
【請求項４】
前記検査装置は、１つの前記正常データから、１つの前記検査データを生成する、
請求項１から３までのいずれか１項に記載の検査システム。
【請求項５】
前記制御装置と前記ゲートウェイ装置とは車両に搭載され、
前記検査装置は、前記車両の外部に設置され、
前記ゲートウェイ装置と前記検査装置とは、前記第２の通信路を介して、無線通信を行う、
請求項１から４までのいずれか１項に記載の検査システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置を検査する検査システムに関する。
【背景技術】
【０００２】
車両には、ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）と呼ばれる電子制御装置が複数個搭載されている。それらのＥＣＵ間は、車載ネットワークに接続され、互いに連携して動作している。
【０００３】
ＥＣＵには、無線通信装置を有するものもある。そのようなＥＣＵは、無線通信装置を用いて、車両外部に存在する外部機器と無線通信を行うことにより、それらの外部機器との間で、情報共有を実現している。なお、外部機器の例として、例えば、道路または住居に設置された機器、他の車両に搭載された機器、カーメーカまたは車載部品供給メーカが備えるサーバなどが含まれる。
【０００４】
情報共有の例としては、例えば、以下のものがある。
（ａ）：車両外部からＥＣＵの状態を取得して、車両の故障診断を行う。
（ｂ）：新たなソフトウェアを車両外部からＥＣＵへ送信することで、ＥＣＵの機能を更新する。
【０００５】
このような種々の情報共有を行うことで、エンドユーザへ有益な機能および情報を提供できるようになっている。
【０００６】
一方で、悪意の第三者が、情報共有機能を悪用して、不正な情報を車両へ送信して、異常な車両挙動を引き起こさせることも可能となる。そのため、このような場合の対策のために、車両の設計者またはＥＣＵの設計者は、把握し得る不正な情報へ対応できるよう、機能要求、あるいは、セキュリティなどの非機能要求を満たすように、車両またはＥＣＵの設計を行う。また、設計を行った後に、車両毎またはＥＣＵ毎に、品質を十分に満たしているかの検査を行う。
【０００７】
しかしながら、不正な情報は、ＥＣＵが車両に搭載された後に、新たな攻撃手口などにより更新される可能性がある。更新された不正な情報が車両に送信された場合においても、車両またはＥＣＵが異常な動作にならないような対策を講じておくことが理想的である。しかしながら、更新された不正な情報の中には、設計時には予測しきれない情報も存在する。そのため、そのような不正な情報が車両に送信された場合には、車両あるいはＥＣＵの動作に悪影響を与えることになる。
【０００８】
特許文献１に記載の検査装置は、ＥＣＵの動作を検査するための動作検査用データを、計画されたスケジュールに従って、ＥＣＵに送信することで、運用時におけるＥＣＵの動作を検査する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第６２６３４３７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１に記載の技術には、以下のような課題がある。
【００１１】
特許文献１においては、動作検査用データが「ＥＣＵの設計情報に基づいて予め生成されるデータである」と記載されているが、そのデータ数については特に記載がない。そのため、データ数が増加するほど、検査数が増え、検査時間が増加することになる。
【００１２】
本発明は、上記のような課題を解決するためになされたものであり、制御装置を短時間で検査することが可能な検査システムを得ることを目的としている。
【課題を解決するための手段】
【００１３】
本発明に係る検査システムは、検査対象である複数の制御装置と、前記複数の制御装置のそれぞれと第１の通信路を介して通信を行うゲートウェイ装置と、前記ゲートウェイ装置と第２の通信路を介して通信を行う検査装置とを備え、前記複数の制御装置のそれぞれは、前記第１の通信路を介して相互通信が可能であり、前記ゲートウェイ装置は、前記複数の制御装置間で相互通信されるデータを逐次受信することで、前記複数の制御装置間の通信状態を監視し、前記データとして、エラーが発生したことを示すエラーデータを受信した場合には、前記エラーデータを受信する直前に前記データとして受信した正常データと前記エラーデータとを組として、前記第２の通信路を介して前記検査装置に送信し、前記検査装置は、前記ゲートウェイ装置から受信した前記組に含まれる前記正常データに基づいて、検査データを生成し、前記検査データを前記第２の通信路を介して前記ゲートウェイ装置に送信する。
【発明の効果】
【００１４】
本発明に係る検査システムによれば、制御装置を短時間で検査することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１に係る検査システムの構成を示すブロック図である。
【図２】本発明の実施の形態１に係る検査システムにおける、エラーフレーム検出方法を用いたゲートウェイ装置の動作を示すフローチャートである。
【図３】本発明の実施の形態１に係る検査システムに設けられた検査装置の動作を示すフローチャートである。
【図４】本発明の実施の形態１に係る制御装置のＣＡＮ通信回路を示す概略図である。
【図５】本発明の実施の形態１に係る検査システムのデータフレームの構成を示す構成図である。
【図６】本発明の実施の形態１に係る検査データ生成基のデータを示す図である。
【図７】本発明の実施の形態１に係る検査データの一例を示す図である。
【図８】本発明の実施の形態１に係る検査データの一例を示す図である。
【図９】本発明の実施の形態１に係る検査システムにおける、カウントエラー検出方法を用いたゲートウェイ装置の動作を示すフローチャートである。
【図１０】本発明の実施の形態１に係る検査システムに設けられたゲートウェイ装置および検査装置のハードウェア構成の一例を示した図である。
【図１１】本発明の実施の形態１に係る検査システムに設けられたゲートウェイ装置および検査装置のハードウェア構成の一例を示した図である。
【発明を実施するための形態】
【００１６】
以下に、本発明に係る検査システムを実施するための実施の形態について、図面を用いて説明する。
【００１７】
実施の形態１．
図１は、本発明の実施の形態１に係る検査システムの構成を示すブロック図である。図１に示すように、車両１０は、複数個の制御装置３０を備えている。これらの制御装置は、検査システムの検査対象である。制御装置３０の個数は任意の個数でよいが、ここでは、説明を簡略化するために、２個とする。以下では、制御装置３０Ａおよび制御装置３０Ｂとして説明する。また、制御装置３０Ａと制御装置３０Ｂとをまとめて呼ぶ場合は、制御装置３０と呼ぶこととする。
【００１８】
制御装置３０Ａおよび制御装置３０Ｂは、第１の通信路４０を介して互いに接続されている。制御装置３０Ａおよび制御装置３０Ｂは、第１の通信路４０を介して互いに通信可能である。第１の通信路４０は、車両１０に搭載された車載ネットワークである。第１の通信路４０は、例えば、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ネットワークから構成されている。
【００１９】
また、車両１０は、ゲートウェイ装置２０を備えている。ゲートウェイ装置２０は、第１の通信路４０に接続されている。
【００２０】
従って、制御装置３０Ａ、制御装置３０Ｂ、および、ゲートウェイ装置２０は、第１の通信路４０を介して、互いに接続されている。また、制御装置３０Ａ、制御装置３０Ｂ、および、ゲートウェイ装置２０は、第１の通信路４０を介して、車両１０内の図示していない他の制御装置とも通信が可能である。
【００２１】
車両１０の外部には、検査装置５０が設けられている。車両１０のゲートウェイ装置２０と検査装置５０とは、第２の通信路６０を介して接続されている。第２の通信路６０は、例えば無線通信を行う通信路から構成されている。
【００２２】
なお、制御装置３０Ａおよび３０Ｂは、ボディ系、シャシー系などの制御装置である。制御装置３０Ａおよび３０Ｂは、直接、車外へ無線通信を行なわず、ゲートウェイ装置２０を介して車外への無線通信を行う。
【００２３】
また、制御装置３０Ａおよび３０Ｂは、通常、データフレームを第１の通信路４０に送信している。データフレームとは、通信データを構成するデータフレームのことである。
【００２４】
次に、ゲートウェイ装置２０の構成について説明する。ゲートウェイ装置２０は、次のように構成されている。
【００２５】
ゲートウェイ装置２０は、図１に示すように、エラー検出部１００、通信データ保持部１１０、データ転送部１２０、および、通信部１３０を備えて構成されている。ゲートウェイ装置２０は、制御装置３０Ａおよび３０Ｂ間で相互通信されるデータを逐次受信することで、制御装置３０Ａおよび３０Ｂ間の通信状態を監視する。また、ゲートウェイ装置２０は、エラーが発生したことを示すエラーデータを受信した場合に、エラーデータを受信する直前に受信した正常データとエラーデータとを組として、第２の通信路を介して検査装置５０に送信する。以下、ゲートウェイ装置２０の各部について説明する。
【００２６】
エラー検出部１００は、制御装置３０Ａまたは制御装置３０Ｂから第１の通信路４０上に送信されたデータフレームを受信する。エラー検出部１００は、受信したデータフレームが、正常なデータフレームか、エラーが発生したことを示すエラーフレームかを検出して、制御装置３０Ａおよび制御装置３０Ｂ間の通信においてエラーが発生しているか否かを判定する。なお、エラーフレームとは、各種エラーが発生すると送信されるフレームのことで、エラーフラグおよびエラーデリミタから構成される。エラーフレームが送信されるタイミングおよび要因については後述する。エラー検出部１００は、受信したデータフレームの構成をチェックすることで、エラーフレームか否かを判定する。エラー検出部１００は、エラーフレームの検出を行った後、正常なデータフレームとエラーフレームとの両方を通信データ保持部１１０へ送信する。
【００２７】
通信データ保持部１１０は、エラー検出部１００から正常なデータフレームを受信した場合、当該正常なデータフレームをメモリに保持する。なお、通信データ保持部１１０が保持できる正常なデータフレームの個数は予め設定されている。従って、通信データ保持部１１０のデータフレーム保持数が、予め設定された閾値に達した場合、通信データ保持部１１０は、現在保持しているデータフレームの中から、最初に保持したデータフレームを削除した後に、新たに受信したデータフレームをメモリに保持する。なお、最初に保持したデータフレームとは、現在保持しているデータフレームの中の最も古いデータフレームである。一方、エラー検出部１００からエラーフレームを受信した場合には、通信データ保持部１１０は、当該エラーフレームと、当該エラーフレームを受信する前にメモリに保持した１つの正常なデータフレームとを組にして、データ転送部１２０に出力する。また、以下の説明においては、通信データ保持部１１０が、当該エラーフレームと、当該エラーフレームを受信する直前にメモリに保持した１つの正常なデータフレームとを組にして、データ転送部１２０に出力する場合を例に挙げて説明する。
【００２８】
データ転送部１２０は、検査装置５０から、第２の通信路６０と通信部１３０とを介して受信した検査データを第１の通信路４０に転送する。検査データとは、制御装置３０の検査に用いるデータである。検査データについては後述する。また、データ転送部１２０は、通信データ保持部１１０から出力されたエラーフレームと正常なデータフレームとの組を受信する。そして、データ転送部１２０は、当該エラーフレームと正常なデータフレームとの組を、通信部１３０と第２の通信路６０とを介して、検査装置５０に転送する。このとき、第１の通信路４０のプロトコルと第２の通信路６０のプロトコルとは互いに異なる。そのため、データ転送部１２０は、データ転送の際に、それぞれのプロトコルに合わせてデータのプロトコル変換を行う。
【００２９】
次に、検査装置５０の構成について説明する。検査装置５０は、次のように構成されている。
【００３０】
検査装置５０は、図１に示すように、通信部１７０と、生成基データ保持部１４０と、検査データ生成部１５０と、検査部１６０とを備えて構成されている。検査装置５０は、ゲートウェイ装置２０から受信したエラーフレームと正常なデータフレームとの組に含まれる正常なデータフレームに基づいて、検査データを生成する。また、検査装置５０は、生成した検査データを第２の通信路６０を介してゲートウェイ装置２０に送信する。以下、検査装置５０の各部について説明する。
【００３１】
通信部１７０は、第２の通信路６０を介して、ゲートウェイ装置２０のデータ転送部１２０が送信したエラーフレームと正常なデータフレームとの組を受信して、生成基データ保持部１４０へ送信する。また、通信部１７０は、検査部１６０から受信した検査データを、第２の通信路６０を介してゲートウェイ装置２０に送信する。
【００３２】
生成基データ保持部１４０は、通信部１７０が車両１０から組として受信したエラーフレームと正常なデータフレームとの組み合わせを維持したまま保持する。
【００３３】
検査データ生成部１５０は、生成基データ保持部１４０で保持されている組の中の正常なデータフレームを使用して、検査データを生成する。検査データ生成部１５０は、１つのデータフレームから、１つの検査データを生成する。検査データ生成方法の詳細については、後述する。
【００３４】
検査部１６０は、検査データ生成部１５０が生成した検査データを、通信部１７０へ送信する。これにより、制御装置３０の検査が開始される。
【００３５】
次に、ゲートウェイ装置２０の動作と検査装置５０の動作とを、それぞれ、図２および図３のフローチャートに従って示す。
【００３６】
まず、図２について説明する。図２は、ゲートウェイ装置２０の動作の流れを示している。
【００３７】
まず、ステップＳ１００１では、エラー検出部１００が、制御装置３０Ａまたは制御装置３０Ｂから第１の通信路４０にデータフレームが送信されるまで待機する。第１の通信路４０にデータフレームが送信された場合、ステップＳ１００２へ進む。一方、送信されなかった場合、送信されるまでステップＳ１００１を繰り返す。
【００３８】
次に、ステップＳ１００２では、エラー検出部１００は、第１の通信路４０に送信されたデータフレームを受信して、エラーが発生しているか否かを検出する。エラー発生を検出した場合には、ステップＳ１００７へ進む。一方、エラーが検出されなかった場合、ステップＳ１００３へ進む。
【００３９】
ステップＳ１００３では、通信データ保持部１１０が、エラー検出部１００から、正常なデータフレームを受信する。
【００４０】
次に、ステップＳ１００４では、通信データ保持部１１０のデータフレーム保持数が閾値に達したか否かを判定し、データフレーム保持数が閾値に達していた場合、ステップＳ１００５へ進む。一方、データフレーム保持数が閾値に達していない場合、ステップＳ１００６へ進む。
【００４１】
ステップＳ１００５では、通信データ保持部１１０は、現在保持しているデータフレームの中から、最初に保持したデータフレーム、すなわち、最も古いデータフレームを削除する。
【００４２】
ステップＳ１００６では、通信データ保持部１１０が、ステップＳ１００３で受信したデータフレームを新たに保持し、ステップＳ１００１に戻る。
【００４３】
一方、ステップＳ１００７では、エラー検出部１００が、通信データ保持部１１０に、エラーフレームを送信する。
【００４４】
ステップＳ１００８では、通信データ保持部１１０が、ステップＳ１００７で受信したエラーフレームを、データ転送部１２０に送信する。また、それと同時に、通信データ保持部１１０は、ステップＳ１００６で新たに保持したデータフレームをデータ転送部１２０に送信する。ステップＳ１００６で新たに保持したデータフレームは、エラーフレームの直前に送信された正常なデータフレームである。データ転送部１２０は、通信データ保持部１１０から送信されてきたエラーフレームと正常なデータフレームとを、検査装置５０へ送信できる形式へプロトコル変換する。
【００４５】
ステップＳ１００９では、データ転送部１２０が、ステップＳ１００８でプロトコル変換したエラーフレームと正常なデータフレームとを組として、通信部１３０および第２の通信路６０を介して、検査装置５０へ送信する。
【００４６】
次に、図３について説明する。図３は、検査装置５０の動作の流れを示している。
【００４７】
まず、ステップＳ２００１では、ステップＳ１００９で送信されたエラーフレームと正常なデータフレームとの組を通信部１７０が受信して生成基データ保持部１４０に送信する。生成基データ保持部１４０は、通信部１７０が受信したエラーフレームと正常なデータフレームとの組を保持する。
【００４８】
ステップＳ２００２では、検査データ生成部１５０が、生成基データ保持部１４０から正常なデータフレームを受け取り、当該正常なデータフレームから検査データを生成する。このとき、検査データ生成部１５０は、１つの正常なデータフレームから、１つの検査データを生成する。
【００４９】
ステップＳ２００３では、検査データ生成部１５０が、生成した検査データを、検査部１６０へ送信する。
【００５０】
ステップＳ２００４では、検査データ生成部１５０が、生成基データ保持部１４０に保持された正常なデータフレームを用いて、すべての検査データを生成したかを判定する。すべての検査データの生成が完了している場合、ステップＳ２００５へ進む。すべての検査データの生成を終えていない場合、ステップＳ２００２へ戻る。
【００５１】
ステップＳ２００５では、検査部１６０が、通信部１７０に検査データを送信する。通信部１７０は、第２の通信路６０を介して、ゲートウェイ装置２０へ検査データを送信し、検査を開始する。検査開始後は、車両１０に搭載された制御装置３０Ａまたは制御装置３０Ｂを検査対象として１つの検査データを送信し、検査対象からの応答データを待つ。検査対象から期待通りの応答データが得られた場合は、検査装置が検査対象に異常なしと判定する。検査対象から一定時間以上の応答がない、あるいは、期待通りの応答データが得られなかった場合は、検査装置が検査対象に異常ありと判定する。このとき、検査対象は１つの制御装置と限らず、複数の制御装置としてもよい。
【００５２】
上記の例では、第１の通信路４０にエラーフレームが送信されたことをエラー検出部１００が検出した場合、検査データ生成部１５０が、当該エラーフレームの１つ前に送信された正常なデータフレームを、検査データを生成する基となる「検査データ生成基」として使用している。
【００５３】
このエラーフレームが第１の通信路４０に送信されるタイミングについて、図４を用いて、第１の通信路４０を例に説明する。
【００５４】
図４は、制御装置３０のＣＡＮネットワークで構成された第１の通信路４０の構成を示した概略図である。車両１０に搭載された制御装置３０には、マイコン２００とトランシーバＩＣ２３０とが設けられている。また、第１の通信路４０は、ＣＡＮ−Ｈ２４０とＣＡＮ−Ｌ２５０とＣＡＮバス２６０と終端抵抗２７０とを備えて構成されている。
【００５５】
マイコン２００は、送信用信号線２１０と受信用信号線２２０とを介して、トランシーバＩＣ２３０に接続されている。以下では、送信用信号線２１０をＴｘ２１０と呼び、受信用信号線２２０をＲｘ２２０と呼ぶこととする。
【００５６】
さらに、トランシーバＩＣ２３０は、ＣＡＮ−Ｈ２４０とＣＡＮ−Ｌ２５０との差動信号線であるＣＡＮバス２６０と接続されている。さらに、ＣＡＮバス２６０の両端には終端抵抗２７０が設けられている。
【００５７】
エラーフレームが送信される要因は、不完全なデータがＣＡＮバス２６０上に送信されることが考えられる。例えば、通信データ送信時に制御装置３０内のマイコン２００がＴｘ２１０のＴｘ端子を異常操作することによって送信データが途中で切れること、あるいは、Ｔｘ２１０のＴｘ端子がＬレベルの信号を出力し続けることなどが考えられる。このような場合に、エラーフレームが送信される。
【００５８】
そのため、エラーフレームの送信は、ＣＡＮバス２６０に接続された制御装置３０の異常な動作が原因となっている可能性がある。また、そのきっかけが、エラーフレームの発生よりも前にＣＡＮバス２６０上に送信された正常なデータフレームを、制御装置３０が受信したことによるものであると考えられる。そのため、本実施の形態１では、エラーフレームの１つ前に送信された正常なデータフレームを、「検査データ生成基」として使用する。
【００５９】
ここで、制御装置３０を構成するマイコン２００のハードウェア構成について簡単に説明する。マイコン２００は、処理回路としてのプロセッサを有している。マイコン２００の各部の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアおよびファームウェアは、プログラムとして記述され、図示しないメモリに格納される。プロセッサは、メモリに記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。
【００６０】
次に、検査データ生成部１５０の検査データの生成方法の例について図５〜図８を用いて説明する。
【００６１】
検査データの生成方法の１つとして、検査データのデータフレームのデータフィールドの大きさを、ＤＬＣ（Ｄａｔａ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）よりも大きくする方法が考えられる。以下、当該方法について詳細に説明する。
【００６２】
図５は、「検査データ生成基」として使用されるデータフレームの構成を示している。図５のデータフレームの構造は、第１の通信路４０を構成するＣＡＮネットワークで使用される標準フォーマットのデータフレームの構造であるため、公知である。よって、本検査データ生成方法に関わるデータのみ詳細を説明し、それ以外についての詳細説明は省略する。
【００６３】
本検査データ生成方法では、図５に示すデータフレームのうち、ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）５００、コントロールフィールド５０１内のＤＬＣ５０２、および、データフィールド５０３を使用して、検査データを生成する。
【００６４】
ＩＤ５００は、データフレームのデータ内容を識別するために使用され、１１ビット長で０ｘ０〜０ｘ７ＦＦの２０４８種類の識別が可能である。
【００６５】
ＤＬＣ５０２は、データフィールド５０３で何バイトのデータが送信されるかを表している。ＤＬＣ５０２は、図５に示すように、０〜１６の４ビットで表現することができる。しかし、第１の通信路４０の仕様により、データフィールド５０３は８バイトまでとされているため、実際のＤＬＣ５０２は、０〜８の値となる。
【００６６】
データフィールド５０３は、送信されるデータの部分であり、ＤＬＣ５０２によって設定されたデータ長となる。
【００６７】
図６は、図５に示したデータフレームの構成に対して具体的な値を代入した、検査データ生成基のデータフレームの一例を示す図である。
【００６８】
１バイトずつに区切って表記すると、例えば、検査データ生成基のデータフレームのＤＬＣ５０２が２進数で“００１１”、すなわち、１６進数で“３”である。また、データフィールド５０３が１６進数で“１１｜０１｜ＡＡ”であるとする。
【００６９】
このときの検査データ生成部１５０による検査データ生成方法について説明する。当該検査データ生成方法は、上記のステップＳ２００２で用いられる。当該検査データ生成方法においては、検査データのデータフレームのデータフィールドのデータ長を、ＤＬＣ５０２の値よりも大きくすることで、検査データを生成する。当該検査データ生成方法によると、検査データは次の手順で生成される。なお、図７は、図６の検査データ生成基から生成される検査データの一例を示す。図７において、符号５０３Ａは、検査データのデータフィールドを示す。
【００７０】
図６で説明したように検査データ生成基のデータフレームのＤＬＣ５０２が“３”であるとき、検査データのデータフィールド５０３Ａのデータ長を、当該ＤＬＣ５０２の“３”よりも長いデータ長とする。具体的には、例えば、図７に示すように、データフィールドを、３より大きい４バイトとして“ＦＦ｜１１｜０１｜ＡＡ”とする。これは、図６に示す検査データ生成基のデータフィールド５０３の“１１｜０１｜ＡＡ”の先頭に“ＦＦ”を追加したものである。検査データにおけるその他のデータは、図６に示す検査データ生成基のデータフレームの内容と同一であるとする。この場合、検査データは、図７に示す構造となる。すなわち、検査データのＤＬＣ５０２は“３”であり、データフィールド５０３Ａは“ＦＦ｜１１｜０１｜ＡＡ”と決定される。
【００７１】
また、検査データは、図７の例に限らず、ＤＬＣ５０２の値を、実際のデータフィールドの大きさよりも大きくする方法で、検査データを生成することもできる。すなわち、データフィールドが８バイトのとき、検査データのＤＬＣ５０２の値を“８”とせずに、８より大きい値にすることで、検査データを生成する。
【００７２】
具体的に説明する。例えば、検査データ生成基のデータフレームのＤＬＣ５０２が“８”で、データフィールド５０３が“５９｜７２｜１１｜４２｜ＦＦ｜１１｜０１｜ＡＡ”であったとする。このとき、検査データのＤＬＣ５０２を“８”よりも大きい“１０”とし、その他のデータは、検査データ生成基のデータフレームの内容と同一にして、検査データを生成する。この場合、検査データのＤＬＣ５０２は“１０”で、データフィールド５０３Ａは、検査データ生成基と同じ“５９｜７２｜１１｜４２｜ＦＦ｜１１｜０１｜ＡＡ”と決まる。
【００７３】
このようにして、ＤＬＣ５０２に設定するデータフィールド５０３Ａのデータ長と、実際のデータフィールド５０３Ａの長さとを矛盾させることで、検査データを生成するようにしてもよい。
【００７４】
さらに、別の方法として、図８に示すように、データフィールドの１ビット以上の値を反転させる方法を図７の方法に組み合わせてもよい。以下に具体的に説明する。
【００７５】
まず、図７に示す方法により、検査データのＤＬＣ５０２を“３”にし、データフィールド５０３Ｂを“ＦＦ｜１１｜０１｜ＡＡ”とする。さらに、図８に示すように、データフィールド５０３Ｂのデータのうちの１つ以上のビットを反転させる。例えば、２ビット目だけを反転させ、”ＦＦ｜１１｜０１｜Ａ８”とする。その他のデータは、検査データ生成基のデータフレームの内容と同一であるとする。当該方法を用いて検査データを生成した場合、図８に示すように、検査データのＤＬＣは“３”で、データフィールドは“ＦＦ｜１１｜０１｜Ａ８”と決定される。なお、何ビット目を反転させるかについては、適宜、任意に予め設定しておく。
【００７６】
また、これらの方法に限らず、データフィールドの値を書式文字列で意味を持つ値とする方法で検査データを生成することもできる。
【００７７】
例えば、検査データ生成基のデータフィールド５０３の値が、Ｃ言語において文字列を出力するフォーマット指定子である“％ｓ”であった場合、当該データフィールド５０３の値をＡＳＣＩＩ（Ａｍｅｒｉｃａｎ  Ｓｔａｎｄａｒｄ  Ｃｏｄｅ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｉｎｔｅｒｃｈａｎｇｅ）コードに従って変換する。当該変換によって得られた値を、検査データのデータフィールドにすることで、検査データを生成する。以下に詳細に説明する。
【００７８】
ＡＳＣＩＩコードによると、“％”と“ｓ”とは、それぞれ、“０ｘ２５”と“０ｘ７３”とに変換できる。よって、検査データのデータフィールドの値は、“２５｜７３”となる。
【００７９】
さらに、これら以外の検査データ生成方法として、以下の方法（ａ）〜（ｃ）を用いてもよい。また、（ａ）〜（ｃ）の方法を組み合わせてもよい。さらに、上記の方法に、（ａ）〜（ｃ）の方法を組み合わせてもよい。
【００８０】
（ａ）：検査データのデータフィールド５０３の値をすべて０または１として、検査データを生成する。
【００８１】
（ｂ）：検査データ生成基のデータフレームの構造の順序を入れ替えて、検査データを生成する。具体的な例としては、検査データ生成基のＩＤ５００とコントロールフィールド５０１の順序を入れ替えて、検査データを生成する。すなわち、図５に示すように、検査データ生成基において、ＩＤ５００、ＲＴＲ（Ｒｅｍｏｔｅ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｒｅｑｕｅｓｔ）、コントロールフィールド５０１の順になっているとき、ＩＤ５００とコントロールフィールド５０１の順序を入れ替えて、コントロールフィールド５０１、ＲＴＲ、ＩＤ５００の順にしたものを検査データとする。
【００８２】
（ｃ）：データフレームのＩＤ５００の値を、検査データ生成基のＩＤ５００の値と異なる値にすることで、検査データを生成する。
【００８３】
ゆえに、このような構成と検査データ生成方法を備えた、本実施の形態１の検査装置５０においては、エラーフレームが送信される直前の正常なデータフレームを基に検査データを生成することで、検査装置５０が制御装置３０の動作を検査するのに有効な検査データだけに数を絞って検査することができる。
【００８４】
なお、上記の説明においては、エラー検出部１００のエラー検出方法として、エラーデータをエラーフレームとして、エラー検出部１００が、第１の通信路４０に送信されたエラーフレームを検出する例について説明した。なお、以下では、当該エラー検出方法を、エラーフレーム検出方法と呼ぶ。
【００８５】
しかしながら、エラー検出方法はエラーフレーム検出方法に限定されず、他の方法を用いて、エラー検出部１００がエラーを検出するようにしてもよい。例えば、第１の通信路４０上に送信される通信データのデータフィールドの中にカウンタを設ける方法を用いてもよい。その場合、エラー検出部１００が、通信データのデータフィールドに設けられたカウンタが正常に機能しなくなったことを検出した場合に、当該通信データをエラーデータとする。以下では、当該方法を、カウントエラー検出方法と呼ぶ。
【００８６】
以下に、カウントエラー検出方法の詳細について説明する。
【００８７】
カウントエラー検出方法と上述したエラーフレーム検出方法との違いは、カウントエラー検出方法においては、通信データのデータフィールドがカウンタを備えていることである。通信データ送信のたびに、送信元の制御装置３０がカウンタ値を１だけ増加させる。カウンタは、例えば４ビットで構成され、０〜１５までの値を格納できるものとする。従って、エラー検出部１００が順次受信する通信データのカウンタ値は、エラーが発生していなければ、１つずつ大きくなる。従って、エラー検出部１００は、カウンタ値が更新されていれば、通信データは正常であると判定し、カウンタ値が更新されていなかった場合、またはカウンタ値が飛ぶ場合には、通信データをエラーデータと判定する。
【００８８】
図９を用いて、カウントエラー検出方法によるエラー検出動作の流れについて説明する。ここでは、エラーフレーム検出方法との差異がある部分のみ説明する。図９は、カウントエラー検出方法によるゲートウェイ装置２０の動作の流れを示す図である。
【００８９】
ステップＳ３００１では、エラー検出部１００が、第１の通信路４０に通信データが送信されるまで待機する。具体的には、第１の通信路４０に通信データが送信された場合、ステップＳ３００２へ進む。一方、第１の通信路４０に通信データが送信されなかった場合、送信されるまでステップＳ３００１を繰り返す。
【００９０】
ステップＳ３００２では、ステップＳ３００１で送信された通信データのカウンタが正常に更新されていなかった場合、エラー検出部１００は、エラー発生であると検出して、当該データをエラーデータとしたうえで、ステップＳ３００７へ進む。一方、エラーが検出されなかった場合、ステップＳ３００３へ進む。
【００９１】
ステップＳ３００３では、通信データ保持部１１０が、エラー検出部１００から正常な通信データを受信する。
【００９２】
ステップＳ３００４では、通信データ保持部１１０の通信データ保持数が予め設定された閾値に達したか否かを判定する。閾値に達していた場合、ステップＳ３００５へ進む。達していない場合、ステップＳ３００６へ進む。
【００９３】
ステップＳ３００５では、通信データ保持部１１０は、現在保持している通信データの中から、最初に保持した通信データ、すなわち、最も古い通信データを削除する。
【００９４】
ステップＳ３００６では、通信データ保持部１１０が、新たに受信した通信データを保持し、ステップＳ３００１へ戻る。
【００９５】
一方、ステップＳ３００７では、エラー検出部１００が、通信データ保持部１１０にエラーデータを送信する。
【００９６】
ステップＳ３００８では、通信データ保持部１１０が、ステップＳ３００７で受信したエラーデータを、データ転送部１２０に送信する。また、それと同時に、通信データ保持部１１０は、ステップＳ３００６で新たに保持した通信データをデータ転送部１２０に送信する。ステップＳ３００６で新たに保持した通信データは、エラーデータの直前に送信された正常な通信データである。データ転送部１２０は、通信データ保持部１１０から送信されてきたエラーデータと正常な通信データとを、検査装置５０へ送信できる形式へプロトコル変換する。
【００９７】
ステップＳ３００９では、データ転送部１２０が、ステップＳ３００８でプロトコル変換した正常な通信データとエラーデータとを、通信部１３０と第２の通信路６０とを介して、検査装置５０へ送信する。
【００９８】
以降の動作は、図３に示したステップＳ２００１〜ステップＳ２００５と同様であるため、ここでは、その説明を省略する。
【００９９】
なお、ここで、上述した実施の形態１に係るゲートウェイ装置２０および検査装置５０のハードウェアについて説明する。はじめに、ゲートウェイ装置２０について説明する。上述した実施の形態１に係るゲートウェイ装置２０における各機能は、処理回路によって実現される。各機能を実現する処理回路は、専用のハードウェアであってもよく、メモリに格納されるプログラムを実行するプロセッサであってもよい。図１０は、本発明の実施の形態１に係るゲートウェイ装置２０の各機能を専用のハードウェアである処理回路１０００で実現する場合を示した構成図である。また、図１１は、本発明の実施の形態１に係るゲートウェイ装置２０の各機能をプロセッサ２００１およびメモリ２００２を備えた処理回路２０００により実現する場合を示した構成図である。
【０１００】
処理回路が専用のハードウェアである場合、処理回路１０００は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはこれらを組み合わせたものが該当する。エラー検出部１００、通信データ保持部１１０、データ転送部１２０、および、通信部１３０の各部の機能それぞれを個別の処理回路１０００で実現してもよいし、各部の機能をまとめて処理回路１０００で実現してもよい。
【０１０１】
一方、処理回路がプロセッサ２００１の場合、エラー検出部１００、通信データ保持部１１０、データ転送部１２０、および、通信部１３０の各部の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアおよびファームウェアは、プログラムとして記述され、メモリ２００２に格納される。プロセッサ２００１は、メモリ２００２に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、ゲートウェイ装置２０は、処理回路２０００により実行されるときに、エラー検出ステップ、通信データ保持ステップ、データ転送ステップ、および、通信ステップが結果的に実行されることになるプログラムを格納するためのメモリ２００２を備える。
【０１０２】
また、上述した実施の形態１に係る検査装置５０における各機能についても、ゲートウェイ装置２０と同様に、処理回路によって実現される。検査装置５０の各機能を実現する処理回路は、専用のハードウェアであってもよく、メモリに格納されるプログラムを実行するプロセッサであってもよい。すなわち、図１０に示すよう、本発明の実施の形態１に係る検査装置５０の各機能を専用のハードウェアである処理回路１０００で実現してもよく、図１１に示すように、本発明の実施の形態１に係る検査装置５０の各機能をプロセッサ２００１およびメモリ２００２を備えた処理回路２０００により実現してもよい。
【０１０３】
処理回路が専用のハードウェアである場合、処理回路１０００は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ、ＦＰＧＡ、またはこれらを組み合わせたものが該当する。生成基データ保持部１４０、検査データ生成部１５０、検査部１６０、および、通信部１７０の各部の機能それぞれを個別の処理回路１０００で実現してもよいし、各部の機能をまとめて処理回路１０００で実現してもよい。
【０１０４】
一方、処理回路がプロセッサ２００１の場合、生成基データ保持部１４０、検査データ生成部１５０、検査部１６０、および、通信部１７０の各部の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアおよびファームウェアは、プログラムとして記述され、メモリ２００２に格納される。プロセッサ２００１は、メモリ２００２に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、ゲートウェイ装置２０は、処理回路２０００により実行されるときに、生成基データ保持ステップ、検査データ生成ステップ、検査ステップ、および、通信ステップが結果的に実行されることになるプログラムを格納するためのメモリ２００２を備える。
【０１０５】
これらのプログラムは、上述したゲートウェイ装置２０および検査装置５０の各部の手順あるいは方法をコンピュータに実行させるものであるともいえる。ここで、メモリ２００２とは、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の、不揮発性または揮発性の半導体メモリが該当する。また、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等も、メモリ２００２に該当する。
【０１０６】
なお、上述した各部の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
【０１０７】
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述した各部の機能を実現することができる。
【０１０８】
以上のように、本実施の形態１においては、エラー検出部１００がエラーデータを検出した場合に、検査データ生成部１５０が、エラーデータの１つ前の通信データに基づいて検査データを生成することで、検査部１６０が制御装置３０Ａおよび３０Ｂの機能の検査に有効な検査データを用いて検査することができる。
【０１０９】
本実施の形態１に係る検査システムは、車両内に搭載された制御装置３０を短時間で検査することができる。
【０１１０】
なお、上記の実施の形態１の説明では、通信データ保持部１１０が保持するデータは、通信データのみであったが、これに限定されず、通信データ保持部１１０が、通信データの代わりに、エラーデータを保持してもよいし、さらに、通信データとエラーデータとを複数保持してもよい。
【０１１１】
上記の実施の形態１の説明では、検査データ生成部１５０が、１つの通信データから１つの検査データを生成するが、この限りではなく、１つの通信データから複数の検査データを生成してもよい。
【０１１２】
上記の実施の形態１の説明では、検査データの生成を終えた後、すぐに検査を開始したが、この限りではなく、車両１０が駐車中または停車中に検査を開始してもよい。
【０１１３】
上記の実施の形態１の説明では、第１の通信路４０をＣＡＮネットワークとしたが、これに限らず、ＦｌｅｘＲａｙ、ＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）など他のプロトコルを用いる通信路としてもよい。なお、第１の通信路４０のエラーフレームの代わりとしては、例えば、ＦｌｅｘＲａｙであれば、ゲートウェイ装置２０が通信データを受信した際にＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）シーケンスを用いたチェックを行い、エラーが発生したことが確認できた場合、その通信データをエラーデータとすることができる。また、ＬＩＮであれば、ゲートウェイ装置２０が通信データを受信した際に受信データとチェックサムとの値を比較し、値が異なっていた場合の通信データをエラーデータとすることができる。
【０１１４】
上記の実施の形態１の説明では、第２の通信路６０を無線通信としたが、これに代わる別の手段として、有線通信でも構わない。この場合、トンネルや地下といった無線通信が困難である場所においても、検査を行うことができる。
【符号の説明】
【０１１５】
１０  車両、２０  ゲートウェイ装置、３０  制御装置、４０  第１の通信路、５０  検査装置、６０  第２の通信路、１００  エラー検出部、１１０  通信データ保持部、１２０  データ転送部、１３０，１７０  通信部、１４０  生成基データ保持部、１５０  検査データ生成部、１６０  検査部。
【図１】
2020034486.tif 000003
【図２】
2020034486.tif 000004
【図３】
2020034486.tif 000005
【図４】
2020034486.tif 000006
【図５】
2020034486.tif 000007
【図６】
2020034486.tif 000008
【図７】
2020034486.tif 000009
【図８】
2020034486.tif 000010
【図９】
2020034486.tif 000011
【図１０】
2020034486.tif 000012
【図１１】
2020034486.tif 000013
【手続補正書】
【提出日】令和1年9月11日(2019.9.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明に係る検査システムは、車両に搭載された検査対象である複数の制御装置と、前記複数の制御装置のそれぞれと第１の通信路を介して通信を行うゲートウェイ装置と、前記ゲートウェイ装置と第２の通信路を介して通信を行う検査装置とを備え、前記複数の制御装置のそれぞれは、前記第１の通信路を介して相互通信が可能であり、前記ゲートウェイ装置は、前記複数の制御装置間で相互通信されるデータを逐次受信することで、前記複数の制御装置間の通信状態を監視し、前記データとして、エラーが発生したことを示すエラーデータを受信した場合には、前記エラーデータを受信する直前に前記データとして受信した正常データと前記エラーデータとを組として、前記第２の通信路を介して前記検査装置に送信し、前記検査装置は、前記ゲートウェイ装置から受信した前記組に含まれる前記正常データに基づいて、検査データを生成し、前記検査データを前記第２の通信路を介して前記ゲートウェイ装置に送信する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
車両に搭載された検査対象である複数の制御装置と、
前記複数の制御装置のそれぞれと第１の通信路を介して通信を行うゲートウェイ装置と、
前記ゲートウェイ装置と第２の通信路を介して通信を行う検査装置と
を備え、
前記複数の制御装置のそれぞれは、前記第１の通信路を介して相互通信が可能であり、
前記ゲートウェイ装置は、
前記複数の制御装置間で相互通信されるデータを逐次受信することで、前記複数の制御装置間の通信状態を監視し、
前記データとして、エラーが発生したことを示すエラーデータを受信した場合には、前記エラーデータを受信する前に前記データとして受信した正常データと前記エラーデータとを組として、前記第２の通信路を介して前記検査装置に送信し、
前記検査装置は、
前記ゲートウェイ装置から受信した前記組に含まれる前記正常データに基づいて、検査データを生成し、
前記検査データを前記第２の通信路を介して前記ゲートウェイ装置に送信する
検査システム。
【請求項２】
前記組に含まれる前記正常データは、前記ゲートウェイ装置が前記エラーデータを受信する直前に受信した正常データである、
請求項１に記載の検査システム。
【請求項３】
前記ゲートウェイ装置は、
前記複数の制御装置間で相互通信される前記データを逐次受信し、受信した前記データが正常データであるかエラーデータであるかを判定するエラー検出部と、
前記エラー検出部が前記データを正常データと判定した場合に、前記正常データを保持するとともに、前記エラー検出部が前記データをエラーデータと判定した場合に、前記エラーデータを受信する前に保持した前記正常データと前記エラーデータとを組として出力する通信データ保持部と、
前記通信データ保持部が出力した前記エラーデータと前記正常データとの前記組を、前記第２の通信路を介して前記検査装置に転送するとともに、前記第２の通信路を介して前記検査装置から受信した前記検査データを前記第１の通信路に転送するデータ転送部と
を有しており、
前記検査装置は、
前記ゲートウェイ装置の前記データ転送部から受信した前記エラーデータと前記正常データとの前記組を保持する生成基データ保持部と、
前記生成基データ保持部が保持する前記組に含まれる前記正常データに基づいて前記検査データを生成する検査データ生成部と、
前記検査データ生成部が生成した前記検査データを前記ゲートウェイ装置の前記データ転送部に送信する検査部と
を有している、
請求項１または２に記載の検査システム。
【請求項４】
前記検査装置は、１つの前記正常データから、１つの前記検査データを生成する、
請求項１から３までのいずれか１項に記載の検査システム。
【請求項５】
前記ゲートウェイ装置は、前記車両に搭載され、
前記検査装置は、前記車両の外部に設置され、
前記ゲートウェイ装置と前記検査装置とは、前記第２の通信路を介して、無線通信を行う、
請求項１から４までのいずれか１項に記載の検査システム。