(57)【要約】【課題】主ＣＰＵから副ＣＰＵにゲートウェイ処理を正確に引き継ぐことができるゲートウェイ装置を提供する。【解決手段】ゲートウェイ装置は、CAN・FlexRayゲートウェイ処理を実施するゲートウェイＥＣＵ２を備えている。ゲートウェイＥＣＵ２は、マスタコア９と、スレーブコア１０とを有している。スレーブコア１０は、マスタコア９の動作状態を監視し、マスタコア９の動作の警戒判定が成立するときは、マスタコア９のゲートウェイ機能動作情報のロギング（記録）を開始する。そして、スレーブコア１０は、マスタコア９の動作状態を監視し、マスタコア９の動作の異常判定が成立するときは、その時のゲートウェイ機能動作情報の記録内容に基づいて、スレーブコア１０によりゲートウェイ処理をどのタイミングから引き継ぐかを決定し、スレーブコア１０によるゲートウェイ処理の実行を開始する。【選択図】図２
2011250008.tif 000002
【特許請求の範囲】
【請求項１】
主ＣＰＵ及び副ＣＰＵを有し、前記主ＣＰＵの動作状態を前記副ＣＰＵにより監視し、前記主ＣＰＵの動作状態が第１条件を満たしたときに、前記主ＣＰＵによるゲートウェイ処理の実行を停止すると共に前記副ＣＰＵによるゲートウェイ処理の実行を開始するゲートウェイ装置において、
前記主ＣＰＵの動作状態が前記第１条件よりも成立しやすい第２条件を満たしたときに、前記主ＣＰＵの処理内容の記録を開始するロギング手段と、
前記主ＣＰＵの動作状態が前記第１条件を満たしときに、前記ロギング手段により記録された前記主ＣＰＵの処理内容に基づいて、前記副ＣＰＵによるゲートウェイ処理の実行を開始するバックアップ手段とを備えることを特徴とするゲートウェイ装置。
【請求項２】
前記バックアップ手段は、前記ロギング手段により記録された前記主ＣＰＵの処理内容に基づいて、前記主ＣＰＵによるゲートウェイ処理から前記副ＣＰＵによるゲートウェイ処理への切り替えタイミングを決定し、当該切り替えタイミングに応じて前記副ＣＰＵによるゲートウェイ処理の実行を開始することを特徴とする請求項１記載のゲートウェイ装置。
【請求項３】
前記第１条件は、前記主ＣＰＵによるゲートウェイ処理の実行に要する時間が第１時間を超えるか否かを判定するものであり、
前記第２条件は、前記主ＣＰＵによるゲートウェイ処理の実行に要する時間が前記第１時間よりも短い第２時間を超えるか否かを判定するものであることを特徴とする請求項１または２記載のゲートウェイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主ＣＰＵ及び副ＣＰＵを有するゲートウェイ装置に関するものである。
【背景技術】
【０００２】
従来、主ＣＰＵのタスク実行状況を副ＣＰＵにより監視し、主ＣＰＵの処理時間が所定時間を超えると、副ＣＰＵが主ＣＰＵに替わって処理動作を実行するようにした装置がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−６４９３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術をゲートウェイ装置に適用した場合には、以下の問題点が存在する。即ち、１つの閾値のみを判断基準として、処理を実行するＣＰＵを切り替えるだけでは、ゲートウェイされるフレームの順番が変わったり、ゲートウェイ処理中のフレームが消失する等といった事態が生じる可能性がある。従って、主ＣＰＵから副ＣＰＵにゲートウェイ処理を正確に引き継げない事態が考えられる。
【０００５】
本発明の目的は、主ＣＰＵから副ＣＰＵにゲートウェイ処理を正確に引き継ぐことができるゲートウェイ装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、主ＣＰＵ及び副ＣＰＵを有し、主ＣＰＵの動作状態を副ＣＰＵにより監視し、主ＣＰＵの動作状態が第１条件を満たしたときに、主ＣＰＵによるゲートウェイ処理の実行を停止すると共に副ＣＰＵによるゲートウェイ処理の実行を開始するゲートウェイ装置において、主ＣＰＵの動作状態が第１条件よりも成立しやすい第２条件を満たしたときに、主ＣＰＵの処理内容の記録を開始するロギング手段と、主ＣＰＵの動作状態が第１条件を満たしときに、ロギング手段により記録された主ＣＰＵの処理内容に基づいて、副ＣＰＵによるゲートウェイ処理の実行を開始するバックアップ手段とを備えることを特徴とするものである。
【０００７】
このように本発明のゲートウェイ装置においては、主ＣＰＵの動作状態が第１条件よりも成立しやすい第２条件を満たしたときに、主ＣＰＵの処理内容の記録を開始することにより、主ＣＰＵから副ＣＰＵへのゲートウェイ処理の切り替え条件が成立する前に、主ＣＰＵによるゲートウェイ処理の状況が記録されることとなる。そして、主ＣＰＵの動作状態が第１条件を満たしたときに、記録された主ＣＰＵの処理内容に基づいて、副ＣＰＵによるゲートウェイ処理の実行を開始することにより、主ＣＰＵによるゲートウェイ処理の状況を参照して、主ＣＰＵから副ＣＰＵにゲートウェイ処理が切り替えられることとなる。従って、副ＣＰＵによるゲートウェイ処理を実行したときに、ゲートウェイされるフレームの順番が変わったりゲートウェイ処理中のフレームが消失することを防止できる。これにより、主ＣＰＵから副ＣＰＵにゲートウェイ処理を正確に引き継ぐことができる。
【０００８】
好ましくは、バックアップ手段は、ロギング手段により記録された主ＣＰＵの処理内容に基づいて、主ＣＰＵによるゲートウェイ処理から副ＣＰＵによるゲートウェイ処理への切り替えタイミングを決定し、当該切り替えタイミングに応じて副ＣＰＵによるゲートウェイ処理の実行を開始する。この場合には、主ＣＰＵから副ＣＰＵへのゲートウェイ処理の切り替え（引き継ぎ）を適切なタイミングで行うことができる。
【０００９】
また、好ましくは、第１条件は、主ＣＰＵによるゲートウェイ処理の実行に要する時間が第１時間を超えるか否かを判定するものであり、第２条件は、主ＣＰＵによるゲートウェイ処理の実行に要する時間が第１時間よりも短い第２時間を超えるか否かを判定するものである。主ＣＰＵによるゲートウェイ処理の実行に要する時間が必要以上に長くなった場合は、主ＣＰＵによるゲートウェイ処理に何らかの障害が発生している可能性が高いと考えられる。従って、主ＣＰＵによるゲートウェイ処理の実行に要する時間が第１時間及び第２時間を超えるか否かを判定することで、第１条件及び第２条件を満たすかどうかを判断するのが好適である。
【発明の効果】
【００１０】
本発明によれば、主ＣＰＵから副ＣＰＵにゲートウェイ処理を正確に引き継ぐことができる。これにより、例えば階層化ＬＡＮにおいて、信頼性の高いゲートウェイのバックアップシステムを構築することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係わるゲートウェイ装置の一実施形態を示す概略構成図である。
【図２】図１に示したゲートウェイＥＣＵのハードウェア構成を示す図である。
【図３】図１に示したゲートウェイＥＣＵにおけるゲートウェイ機能を概略的に示す図である。
【図４】図２に示したスレーブコアにより実行されるゲートウェイバックアップ処理の基本手順を示すフローチャートである。
【図５】図４に示したバックアップ準備処理の手順の詳細を示すフローチャートである。
【図６】図４に示したバックアップ処理の手順の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明に係わるゲートウェイ装置の好適な実施形態について、図面を参照して詳細に説明する。
【００１３】
図１は、本発明に係わるゲートウェイ装置の一実施形態を示す概略構成図である。同図において、本実施形態のゲートウェイ装置１は、車両に設置された階層化ＬＡＮにおいて、CAN・FlexRayゲートウェイ処理を実施するゲートウェイＥＣＵ（Electronic Control Unit）２を備えている。CAN・FlexRayゲートウェイ処理は、CANプロトコルで規定されるフレームをFlexRayプロトコルで規定されるフレームへ置換したり、逆にFlexRayプロトコルで規定されるフレームをCANプロトコルで規定されるフレームへ置換する処理である。
【００１４】
ゲートウェイＥＣＵ２には、CANバス３及びFlexRayバス４が接続されている。CANバス３にはＥＣＵ５，６が接続され、FlexRayバス４にはＥＣＵ７，８が接続されている。図１は、ＥＣＵ５のフレームがCANバス３を介してゲートウェイＥＣＵ２で中継されてFlexRayバス４に送られる様子を示している。
【００１５】
図２は、ゲートウェイＥＣＵ２のハードウェア構成を示す図である。同図において、ゲートウェイＥＣＵ２は、マスタコア（主ＣＰＵ）９と、スレーブコア（副ＣＰＵ）１０と、ＲＯＭ１１と、ＲＡＭ１２と、CAN、FlexRay等の通信コントローラ１３と、周辺ペリフェラル１４とを有している。これらの機器は、内部バス１５を介して互いに接続されている。
【００１６】
マスタコア９及びスレーブコア１０は、ゲートウェイ処理を実行するゲートウェイ処理実行部を有している。通常はマスタコア９によりゲートウェイ処理が実行され、マスタコア９の動作が異常状態になると、マスタコア９によるゲートウェイ処理の実行が停止し、スレーブコア１０によるゲートウェイ処理の実行が開始されるようになる。スレーブコア１０は、マスタコア９の動作状態を監視し、ゲートウェイ処理のバックアップを行う機能を有している。
【００１７】
図３は、ゲートウェイＥＣＵ２におけるゲートウェイ機能を概略的に示す図である。同図において、ゲートウェイＥＣＵ２は、受信バッファ１６と、優先送信バッファ１７と、一般送信バッファ１８と、受信バッファ１９と、送信バッファ２０と、宛先マップ２１と、検索部２２とを有している。バッファ１６〜２０及び宛先マップ２１は、上記のＲＡＭ１２に設けられ、検索部２２は、上記のＲＯＭ１１に設けられている。
【００１８】
受信バッファ１６は、CANバス３から受け取ったフレームを一時的に保存するメモリ領域である。優先送信バッファ１７は、CANバス３に送る優先フレームを一時的に保存するメモリ領域である。一般送信バッファ１８は、CANバス３に送る一般フレームを一時的に保存するメモリ領域である。受信バッファ１９は、FlexRayバス４から受け取ったフレームを一時的に保存するメモリ領域である。送信バッファ２０は、FlexRayバス４に送るフレームを一時的に保存するメモリ領域である。
【００１９】
宛先マップ２１は、CANバス３から受け取ったフレームのＩＤ及び当該フレームを送るべきFlexRayの宛先や、FlexRayバス４から受け取ったフレームのＩＤ及び当該フレームを送るべきCANの宛先が規定されているマップである。検索部２２は、CANバス３またはFlexRayバス４から受け取ったフレームのＩＤと宛先マップ２１に規定されたＩＤとを照合し、両者のＩＤが一致したときに当該フレームをどの宛先に送るかを確認する。
【００２０】
図４は、上記のスレーブコア１０により実行されるゲートウェイバックアップ処理の基本手順を示すフローチャートである。同図において、まずマスタコア９の動作状態を監視する（手順Ｓ１０１）。
【００２１】
続いて、マスタコア９の動作の警戒判定が成立するかどうかを判断する（手順Ｓ１０２）。具体的には、マスタコア９により実行される下記の２つの警戒判定式が成立するかどうかを判断する。
実際のゲートウェイ処理時間＞ゲートウェイ処理時間警戒判定値
実際の各アプリケーション処理時間＞各アプリケーション処理時間警戒判定値
【００２２】
マスタコア９の動作の警戒判定が成立しないと判断されたときは、手順Ｓ１０１に戻る。マスタコア９の動作の警戒判定が成立すると判断されたときは、スレーブコア１０によるバックアップ準備処理を実施する（手順Ｓ１０３）。このバックアップ準備処理の手順の詳細を図５に示す。
【００２３】
図５において、まずスレーブコア１０に異常が無いかどうかセルフチェックを実施する（手順Ｓ２０１）。例えば、予め決められた計算を行い、その計算結果をＲＯＭ１１に格納された正解値と比較する。続いて、マスタコア９の動作情報をモニタする機能をスレーブコア１０の命令により動作させる（手順Ｓ２０２）。
【００２４】
続いて、マスタコア９のゲートウェイ機能動作情報のロギング（記録）を開始する（手順Ｓ２０３）。ゲートウェイ機能動作情報は、どのようなフレームをいつどこへゲートウェイするかという情報である。このようなゲートウェイ機能動作情報をＲＡＭ１２に記録する。
【００２５】
図４に戻り、そのようなバックアップ準備処理を開始した後、マスタコア９の動作状態を監視する（手順Ｓ１０４）。そして、マスタコア９の動作の異常判定が成立するかどうかを判断する（手順Ｓ１０５）。具体的には、マスタコア９により実行される下記の２つの異常判定式が成立するかどうかを判断する。
実際のゲートウェイ処理時間＞ゲートウェイ処理時間上限値
実際の各アプリケーション処理時間＞各アプリケーション処理時間上限値
なお、上限値は、上記の警戒判定値よりも大きな値である。
【００２６】
マスタコア９の動作の異常判定が成立しないと判断されたときは、手順Ｓ１０４に戻る。マスタコア９の動作の異常判定が成立すると判断されたときは、スレーブコア１０によるバックアップ処理を実施する（手順Ｓ１０６）。このバックアップ処理の手順の詳細を図６に示す。
【００２７】
図６において、まずマスタコア９の動作の異常判定が成立した時点のゲートウェイ機能動作情報の記録内容に基づいて、スレーブコア１０によりゲートウェイ処理をどのタイミングから引き継ぐかを決定する（手順Ｓ３０１）。続いて、マスタコア９によるゲートウェイ処理の実行を禁止し、スレーブコア１０の処理をソフトウェアで有効化する（手順Ｓ３０２）。そして、スレーブコア１０によるゲートウェイ処理の実行を開始する（手順Ｓ３０３）。
【００２８】
これにより、ゲートウェイ処理をマスタコア９からスレーブコア１０にシームレスに切り替えることができる。また、異常となったマスタコア９によるゲートウェイ処理の実行を禁止するので、ゲートウェイ装置１の誤動作を防止することができる。
【００２９】
以上において、スレーブコア１０の上記手順Ｓ１０１〜Ｓ１０３は、主ＣＰＵ９の動作状態が第１条件よりも成立しやすい第２条件を満たしたときに、主ＣＰＵ９の処理内容の記録を開始するロギング手段を構成する。スレーブコア１０の上記手順Ｓ１０４〜Ｓ１０６は、主ＣＰＵ９の動作状態が第１条件を満たしたときに、ロギング手段により記録された主ＣＰＵ９の処理内容に基づいて、副ＣＰＵ１０によるゲートウェイ処理の実行を開始するバックアップ手段を構成する。
【００３０】
ところで、上記のバックアップ準備処理を実施しない場合には、以下の問題点が発生する。即ち、受信バッファ１９から優先フレームを取得し、検索部２２により検索処理を実施し、優先送信バッファ１７に優先フレームを格納した後、マスタコア９が異常となったため、マスタコア９からスレーブコア１０にゲートウェイ処理が切り替えられた場合、スレーブコア１０では優先フレームの格納履歴が無いため、先に一般送信バッファ１８から一般フレームが送信される可能性がある。つまり、ゲートウェイされるフレームの順番間違いが発生することがある。
【００３１】
また、受信バッファ１６にフレームが格納されてから、検索部２２により検索処理を実施するために受信バッファ１６からフレームを取得した後、マスタコア９が異常となったため、マスタコア９からスレーブコア１０にゲートウェイ処理が切り替えられた場合、スレーブコア１０ではフレームの受信履歴が無いため、受信バッファ１６から取得されたフレームがロスト（消失）する可能性がある。
【００３２】
これに対し本実施形態では、マスタコア９の動作状態を監視し、マスタコア９の動作の警戒判定が成立するときは、マスタコア９のゲートウェイ機能動作情報のロギング（記録）を開始し、その後マスタコア９の動作の異常判定が成立するときは、ゲートウェイ機能動作情報のログ内容に基づいて、マスタコア９からスレーブコア１０へのゲートウェイ処理の引き継ぎタイミングを決定し、その引き継ぎタイミングに従ってスレーブコア１０によるゲートウェイ処理を開始する。このようにゲートウェイ機能動作情報のログ内容を参照して、マスタコア９からスレーブコア１０へゲートウェイ処理を切り替えるので、ゲートウェイされるフレームの順番間違いや中継途中のフレームロストの発生が防止される。これにより、ゲートウェイ処理をマスタコア９からスレーブコア１０へ正確に引き継ぐことができる。その結果、ゲートウェイ装置１の性能を向上させることが可能となる。
【００３３】
また、ゲートウェイ装置１をマルチコアＣＰＵ構成とすることで、同じ構造をもつゲートウェイＥＣＵを２つ用意しなくて済むため、ゲートウェイのバックアップシステムを安価に構築することが可能となる。
【００３４】
なお、本発明は、上記実施形態に限定されるものではない。例えば上記実施形態では、マスタコア９の動作の警戒判定が成立するかどうかの判断処理において、上記２つの警戒判定式を満足したときに、マスタコア９の動作の警戒判定が成立するものとしたが、実際のゲートウェイ処理時間がゲートウェイ処理時間警戒判定値よりも長いときのみ、マスタコア９の動作の警戒判定が成立するものとしても良い。
【００３５】
また、同様に、マスタコア９の動作の異常判定が成立するかどうかの判断処理において、上記２つの異常判定式を満足したときに、マスタコア９の動作の異常判定が成立するものとしたが、実際のゲートウェイ処理時間がゲートウェイ処理時間上限値よりも長いときのみ、マスタコア９の動作の異常判定が成立するものとしても良い。
【符号の説明】
【００３６】
１…ゲートウェイ装置、２…ゲートウェイＥＣＵ、９…マスタコア（主ＣＰＵ）、１０…スレーブコア（副ＣＰＵ、ロギング手段、バックアップ手段）、１２…ＲＡＭ。
【図１】
2011250008.tif 000003
【図２】
2011250008.tif 000004
【図３】
2011250008.tif 000005
【図４】
2011250008.tif 000006
【図５】
2011250008.tif 000007
【図６】
2011250008.tif 000008