(57)【要約】      （修正有）【課題】複数の装置がＰＣＩｅで接続されている構成において、ＰＣＩｅの初期化プロセスを確実に完了させることができる情報処理装置、情報処理装置の起動方法、情報処理装置の起動プログラムを提供する。【解決手段】情報処理装置（ナビＥＣＵ２）は、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースで接続された複数の装置（メインマイコン１０、サブマイコン１１、ＩＯＨ１２）を備え、複数の装置（メインマイコン１０、サブマイコン１１、ＩＯＨ１２）のうち少なくとも１つの装置（サブマイコン１１）は、起動時に、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースに接続されている接続先の装置（メインマイコン１０、ＩＯＨ１２）を認識するための認識処理を、当該接続先の装置（メインマイコン１０、ＩＯＨ１２）が認識されるまで実行し続ける。【選択図】図１
2015121837.tif 000002
【特許請求の範囲】
【請求項１】
ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）インターフェースで接続された複数の装置（１，１１、１２）を備え、
前記複数の装置（１０、１１、１２）のうち少なくとも１つの装置は、起動時に、前記ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースに接続されている接続先の装置（１０、１１、１２）を認識するための認識処理を、当該接続先の装置（１０、１１、１２）が認識されるまで実行し続けることを特徴とする情報処理装置。
【請求項２】
前記複数の装置（１０、１１、１２）のうち少なくとも１つの装置は、前記認識処理により認識された前記接続先の装置側からデータを取得するデータ取得処理を実行する装置であり、
前記データ取得処理を実行する装置（１０、１１、１２）は、当該データ取得処理を実行しても前記接続先の装置（１０、１１、１２）側からデータを取得できなかった場合、予め定められているリトライ上限回数を上限として、前記データ取得処理を繰り返すことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記データ取得処理を実行する装置（１０、１１、１２）は、当該データ取得処理を前記リトライ上限回数だけ繰り返しても前記接続先の装置（１０、１１、１２）側からデータを取得できなかった場合、予め定められているリセット上限回数を上限として、該情報処理装置（２）の全体をリセットするリセット処理を繰り返すことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記データ取得処理を実行する装置（１０、１１、１２）は、前記リセット処理を前記リセット上限回数だけ繰り返しても前記接続先の装置（１０、１１、１２）側からデータを取得できなかった場合、該情報処理装置（２）に異常が生じている旨を報知する報知処理を実行することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記複数の装置（１０、１１、１２）は、
前記データ取得処理および前記リセット処理を実行する装置であって、前記接続先の装置側から取得したデータを用いて作動する第１の装置（１０）と、
前記認識処理を実行する装置であって、前記ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースを介して前記第１の装置に接続されている第２の装置（１１）と、
前記接続先の装置に相当する装置であって、前記ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースを介して前記第２の装置に接続されているとともに、前記第１の装置にて用いられるデータを記憶している記憶手段（１５）が設けられている第３の装置（１２）と、を少なくとも含んで構成されており、
前記第１の装置（１０）は、前記データ取得処理を実行しても前記第３の装置（１２）に設けられている前記記憶手段（１５）からデータを取得できなかった場合には、当該データ取得処理を予め定められている前記リトライ上限回数を上限として繰り返すとともに、前記リセット処理を実行しても前記記憶手段（１５）からデータを取得できなかった場合には、当該リセット処理を予め定められている前記リセット上限回数を上限として繰り返すことを特徴とする請求項４記載の情報処理装置。
【請求項６】
ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）インターフェースで接続された複数の装置（１０、１１、１２）を備えた情報処理装置を起動する際の情報処理装置（２）の起動方法であって、
前記情報処理装置（２）の起動時に、前記ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースに接続されている接続先の装置（１０、１１、１２）を認識するための認識処理を、当該接続先の装置（１０、１１、１２）が認識されるまで実行し続ける認識工程を含むことを特徴とする情報処理装置の起動方法。
【請求項７】
ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）インターフェースで接続された複数の装置（１０、１１、１２）を備えた情報処理装置（２）を起動するための情報処理装置の起動プログラムであって、
前記複数の装置（１０、１１、１２）のうち少なくとも１つの装置に対して、起動時に、前記ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースに接続されている接続先の装置（１０、１１、１２）を認識するための認識処理を、当該接続先の装置（１０、１１、１２）が認識されるまで実行させ続けることを特徴とする情報処理装置の起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）インターフェースで接続された複数の装置を備えた情報処理装置、情報処理装置の起動方法、情報処理装置の起動プログラムに関する。
【背景技術】
【０００２】
いわゆるマルチプロセッサシステムのような複数のＣＰＵ、つまり、複数の装置を備えた情報処理装置が知られている（例えば、特許文献１参照）。このような複数の装置を備えた情報処理装置では、各装置間でのデータ通信を効率的且つ高速に行うことが求められてきている。そのため、近年、ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）インターフェース（以下、便宜的にＰＣＩｅと称する）を採用して各装置間のデータ通信を高速で行うことが行われている。
【０００３】
ＰＣＩｅの場合、送信側と受信側とが１対１で通信を行うことから、起動時つまり各装置のリセットが解除されたときには、トレーニングシーケンス・オーダーセットと呼ばれるデータを互いの装置間でやり取りし、利用可能なデータレート、信号線の物理的な極性や使用するレーン数等を設定するトレーニングシーケンスとよばれる処理プロセスが行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−３３２８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ＰＣＩｅの仕様では、トレーニングシーケンスにて用いるデータの種類やその意味合い、およびデータをやり取りする手順等の規定はあるものの、トレーニングシーケンスが完了するまでに要する時間的な制限は規定されていない。そのため、一般的な手法としては、トレーニングシーケンスが完了すると想定される上限時間を設定し、それを超えた場合にはエラーとして処理することが行われている。
【０００６】
しかしながら、ＰＣＩｅを採用している情報処理装置では、状況によってはトレーニングシーケンスに要する時間が上記した上限時間を超えることがあり、トレーニングシーケンスが完了する前にエラーとして処理されてしまうという問題があった。
【０００７】
本発明は上記事情に鑑みてなされたものであり、その目的は、複数の装置がＰＣＩｅで接続されている構成において、ＰＣＩｅの初期化プロセスを確実に完了させることができる情報処理装置、情報処理装置の起動方法、情報処理装置の起動プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
請求項１記載の情報処理装置は、ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）インターフェースで接続された複数の装置を備え、前記複数の装置のうち少なくとも１つの装置は、起動時に、前記ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースに接続されている接続先の装置を認識するための認識処理を、当該接続先の装置が認識されるまで実行し続けることを特徴とする。
【図面の簡単な説明】
【０００９】
【図１】一実施形態の情報処理装置の電気的構成を模式的に示す図
【図２】一実施形態の情報処理装置での通常時の作動の流れを模式的に示す図
【図３】一実施形態の情報処理装置において認識処理がエラーとなる態様を模式的に示す図
【図４】一実施形態の情報処理装置を構成するサブマイコンの初期化処理の流れを模式的に示す図
【図５】一実施形態の情報処理装置を構成するメインマイコンの起動時処理の流れを模式的に示す図
【図６】一実施形態の情報処理装置での認識処理がエラーとなった場合の作動の流れを模式的に示す図
【図７】その他の実施形態の情報処理装置の電気的構成の一例を模式的に示す図
【発明を実施するための形態】
【００１０】
（一実施形態）
以下、本発明の一実施形態について、図１から図６を参照しながら説明する。
図１に示すように、本実施形態の情報処理装置（後述するナビＥＣＵ２）は、車両に用いられる車両用システム１に適用されている。この車両用システム１には、ナビＥＣＵ２、バッテリ３、および他のＥＣＵ４等が設けられている。車両用システム１において、情報処理装置としてのナビＥＣＵ２（Electronic Control Unit）は、いわゆるナビゲーションシステムを構成している。なお、他のＥＣＵ４としては、１つではなく、複数のＥＣＵが接続されていてもよい。
【００１１】
ナビＥＣＵ２は、メインマイコン１０、第２の装置としてのサブマイコン１１、および第３の装置としてのＩＯＨ１２（Input Output Huｂ）を有している。これらメインマイコン１０ＩＯＨ１２は、ＰＣＩｅのバスＢ１およびバスＢ２によってそれぞれサブマイコン１１に１対１で接続されている。なお、「メイン」、「サブ」の記載は、２つのマイクロコンピュータが存在する旨を示すために便宜的に用いているものであり、いわゆるマスターとスレーブのような主従関係を示しているわけではない。
【００１２】
ナビＥＣＵ２のメインマイコン１０は、図示しないＣＰＵ、ＲＯＭおよびＲＡＭ等を有するマイクロコンピュータで構成されている。このメインマイコン１０は、フラッシュメモリ１３（図１には「ＦＬＡＳＨ」と示す）、およびリセット回路１４等に接続されている。本実施形態の場合、メインマイコン１０は、マップマッチングや経路探索等のナビゲーション機能を実行する。このとき、詳細は後述するが、メインマイコン１０は、起動時にリセットが解除されると、まずフラッシュメモリ１３から起動プログラムを読み出して実行する。
【００１３】
また、メインマイコン１０は、ＩＯＨ１２に設けられているＳＤカード１５（図１には「内蔵ＳＤ」と示す）から地図データ等を読み出して、マップマッチングや経路探索等のナビゲーション機能を実行する。つまり、メインマイコン１０は、ＰＣＩｅで接続された接続先の装置に相当するＩＯＨに設けられている記憶手段であるＳＤカード１５から自身の作動に用いるデータを取得するデータ取得処理を実行する。また、メインマイコン１０は、本実施形態に関連して、リセット回路１４に対してリセット指示を出力し、ナビＥＣＵ２全体をリセットするリセット処理を実行する。このため、メインマイコン１０とリセット回路１４との間は、セルフリセット用の信号線Ｒ１にて接続されている。
【００１４】
つまり、メインマイコン１０は、データ取得処理およびリセット処理を実行する装置であって、接続先の装置側、本実施形態ではＩＯＨ１２側から取得したデータを用いて作動する第１の装置に相当する。
【００１５】
フラッシュメモリ１３は、読み書き可能な半導体メモリで構成されており、ナビゲーション画面に表示する日本語フォント等のデータを記憶している。また、上記した地図データ等のフラッシュメモリ１３に記憶できない大きな容量のデータは、ＳＤカード１５に記憶されている。
リセット回路１４は、電源が投入された際における各装置のリセットのタイミング制御等、周知のパワーオンリセット機能を備えている。また、リセット回路１４は、上記したように、メインマイコン１０からのリセット指示に基づいてナビＥＣＵ２全体をリセットする機能も備えている。
【００１６】
サブマイコン１１は、ＰＣＩｅの初期化を行う主体として構成されている。つまり、本実施形態では、サブマイコン１１によって、ＰＣＩｅの初期化、すなわち、ＰＣＩｅに接続されている接続先の装置を認識する認識処理が実行される。サブマイコン１１は、詳細は後述するが、接続先の装置に相当するメインマイコン１０およびＩＯＨ１２との間で、ＰＣＩｅのトレーニングシーケンスを実行する。すなわち、サブマイコン１１は、認識処理を実行する装置であって、ＰＣＩｅ介して第１の装置に相当するメインマイコン１０に接続されている第２の装置に相当する。
【００１７】
ＩＯＨ１２は、各種の入出力インターフェースを提供する装置であり、本実施形態では大容量記憶媒体であるＳＤカード１５が設けられている。つまり、ＩＯＨ１２は、ＰＣＩｅを介して第２の装置に相当するサブマイコン１１に接続されているとともに、第１の装置に相当するメインマイコン１０にて用いられるデータを記憶している記憶手段であるＳＤカード１５が設けられている第３の装置に相当する。
【００１８】
なお、ＩＯＨ１２が備える入出力インターフェースは、ＳＤカード１５用のインターフェースに限定されるものではない。例えばＣＤ−ＲＯＭやＤＶＤあるいはＣＦカード等の他の記憶媒体用のインターフェースであってもよいし、複数のインターフェースを備えていてもよい。また、ＳＤカード１５は、ナビＥＣＵ２に固定的に設けられているものであってもよいし、着脱可能に設けられているものであってもよい。また、ＳＤカード１５をナビＥＣＵ２に固定的に設け、着脱可能な記憶媒体をさらに設けることが可能な構成としてもよい。
【００１９】
次に、上記した構成の作用について説明する。
まず、図２を参照しながら、情報処理装置としてのナビＥＣＵ２の基本的な処理の流れについて説明する。ナビＥＣＵ２では、例えば電源がオンされたとき等、リセット状態が解除されると、メインマイコン１０、サブマイコン１１、ＩＯＨ１２においてそれぞれ初期化が行われる。このとき、ナビＥＣＵ２では、上記したように、サブマイコン１１によってＰＣＩｅのトレーニングシーケンスの実行（後述する認識処理に相当する）、つまり、ＰＣＩｅの初期化が行われる。そして、ＰＣＩｅの初期化が正常に完了していれば、メインマイコン１０からＩＯＨ１２へのアクセスが可能となる。
【００２０】
そのため、メインマイコン１０は、自身の初期化が完了すると、ＩＯＨ１２に設けられているＳＤカード１５からデータを取得するデータ取得処理を実行する。具体的には、メインマイコン１０は、自身の初期化が完了すると、ＩＯＨ１２に対してデータ要求を送信する。このデータ要求は、サブマイコン１１によって中継され、ＩＯＨ１２に送信される。そして、ＩＯＨ１２は、データ要求を受信すると、ＳＤカード１５から対応するデータ例えば地図データ等を読み出し、読み出したデータをメインマイコン１０に対して送信する。ＩＯＨ１２から送信されたデータは、サブマイコン１１で中継され、メインマイコン１０にて取得される。このデータ要求の送信から対応するデータを取得するまでの処理が、データ取得処理に相当する。
【００２１】
データを取得すると、メインマイコン１０は、取得したデータを用いた予定動作、本実施形態ではナビゲーション機能を実行する動作を開始する。このように、ナビＥＣＵ２は、それぞれの装置が役割を分担しつつ、ナビゲーション装置としての機能を実現している。なお、メインマイコン１０は、起動時だけでなく、ナビゲーション機能の実行中にも必要に応じてデータ取得処理を実行する。
【００２２】
ところで、本実施形態のナビＥＣＵ２では、メインマイコン１０は、自身の初期化が完了した時点で既にＰＣＩｅの初期化が完了していると想定している。これは、ＰＣＩｅの初期化に要する時間は、メインマイコン１０の初期化に要する処理時間、つまり、本実施形態では上記した日本語フォント等の読み込み等の処理が完了するまでの時間に比べると、相対的に短時間で完了すると想定されるためである。ただし、ＰＣＩｅの初期化が正常に完了しなかった場合には、メインマイコン１０は、ＩＯＨ１２側からデータを取得することができなくなる。
【００２３】
ここで、図３を参照しながら、従来構成の情報処理装置におけるＰＣＩｅの初期化プロセスの流れを簡単に説明する。サブマイコン１１は、時刻ｔ０においてリセット状態が解除されたとすると、初期化を実行する。この初期化には、サブマイコン１１自身の初期化と、ＰＣＩｅの初期化つまりＰＣＩｅに接続されている他の装置を認識する処理が含まれている。なお、ＰＣＩｅの初期化プロセスは規格化されていることから、その詳細な説明は省略する。
【００２４】
サブマイコン１１は、自身の初期化が完了した後、例えば時刻ｔ１においてＩＯＨ１２を認識するためのＩＯＨ認識処理を開始したとする。このとき、従来の情報処理装置では、ＩＯＨ認識処理の上限時間、すなわち、ＩＯＨ１２からの応答を待機する上限時間が設定されている。図３では、想定上限時間（＝時刻ｔ１＋上限時間）が時刻ｔ２に設定された状態を示している。
さて、サブマイコン１１は、ＩＯＨ認識処理において上記したトレーニングシーケンス（以下、便宜的にＴＳと称する。また、図３にも「ＴＳ」と示す）を実行する。このＴＳは、データの種類や送受信の手順は規格化されているものの、時間的な制約は規定されていない。
【００２５】
そのため、図３にケース１として示すように、ＴＳが比較的短期間で完了した場合、より具体的には、ＴＳが想定上限時間である時刻ｔ２よりも前の時刻ｔ３で完了した場合には、ＩＯＨ認識処理が正常に完了することになる。そして、ＩＯＨ認識処理が正常に完了すれば、サブマイコン１１によってＩＯＨ１２が認識されたため、以降はＩＯＨ１２へのアクセスが可能となる。換言すると、ＩＯＨ１２は、時刻ｔ３以降ではＰＣＩｅ側からのアクセスが可能となる。
【００２６】
一方、図３にケース２として示すように、何らかの理由によりＴＳが比較的長期間となった場合、より具体的には、ＴＳが想定上限時間である時刻ｔ２を超えても完了しなかった場合には、従来構成の情報処理装置では、ＩＯＨ認識処理がエラーとなる。この場合、ＩＯＨ認識処理が完了していないため、サブマイコン１１によってＩＯＨ１２が認識できず、以降はＩＯＨ１２へのアクセスが不可能となる。換言すると、時刻ｔ２までに認識されなかったＩＯＨ１２は、以降はＰＣＩｅ側からのアクセスが不可能となる。そして、ＩＯＨ１２側からデータを取得できなくなるため、メインマイコン１０は予定動作を実行することができなくなる。
【００２７】
このように、ＰＣＩｅを認識する認識処理に時間的な制約を設けてしまうと、何らかの理由によりＴＳが長期間になった場合には、ＰＣＩｅに接続されている装置を認識できなくなるおそれがある。その一方で、ＴＳの上限時間が規定されていないＰＣＩｅでは、上記のようにＴＳが長期間となったとしても、それは不具合に分類されるものではない。この場合、想定される全ての条件をクリアできるように上限時間を設定できれば、ＩＯＨ１２を認識できなくなることを防ぐことは可能になるものと想定される。しかし、本実施形態のナビＥＣＵ２のように車両に用いる情報処理装置の場合には、図１に示したようにバッテリ３には他のＥＵＣ４等が接続されていること、そのＥＣＵ４等の数や消費電力は車種によって異なること、また、同一車種であっても室内灯やヘッドランプ等の点灯状況やバッテリ３の消耗状態が異なる等、想定される状況が多すぎるため、全ての条件を事前に網羅することは現実的には不可能に近い。
【００２８】
そこで、本実施形態のナビＥＣＵ２では、以下に説明するように、サブマイコン１１によって行われるＰＣＩｅの初期化プロセスを確実に完了できるようにしている。
サブマイコン１１は、図４に示すように、リセット状態が解除された後の初期化処理において、内蔵回路等の自身の初期化を実行する（Ｓ２１）。続いて、サブマイコン１１は、接続先の装置を認識するための認識処理を実行する（認識工程）。この認識処理は、ＰＣＩｅの初期化プロセスの１つである。このとき、サブマイコン１１は、装置を認識できたかを判定し（Ｓ２２）、認識できなければ（Ｓ２２：ＮＯ）、認識できるまで認識処理を継続する。すなわち、サブマイコン１１は、ＰＣＩｅに接続されている装置例えばＩＯＨ１２を認識できるまでＴＳの完了を待機する。これにより、何らかの理由によりＴＳが長期間になったとしても、いずれは完了するＴＳを待機することが可能となる。一方、サブマイコン１１は、装置を認識できれば（Ｓ２２：ＹＥＳ）、初期化処理を終了する。
【００２９】
このように、サブマイコン１１の初期化時にＴＳの完了を待機することにより、換言すると、上記した想定上限時間等の時間的な制約を設けることなく認識処理を実行し続けることにより、ＰＣＩｅに接続された装置を確実に認識することができる。なお、ＴＳは、ＰＣＩｅに接続されている各装置に対して個別に行われる処理である。そのため、サブマイコン１１は、認識対象の装置がメインマイコン１０の場合も同様に、時間的な制約を設けることなくＴＳの完了を待機する。
【００３０】
さて、上記したように時間的制約を無くすことにより、ＴＳの遅延（長期間化）に起因する装置の認識不可には対処することが可能となる。その一方で、例えば物理的な損傷等、ＰＣＩｅの仕様によらない他の理由による装置の認識不可への対処も必要とされる。特に、車両に用いられる情報処理装置の場合、本実施形態のナビＥＣＵ２のような走行に直接的な支障がない装置だからといって、その動作が不安定なままであることは好ましくない。
【００３１】
そこで、ナビＥＣＵ２では、装置の認識不可への対処をさらに行っている。この対処は、サブマイコン１１ではなく、メインマイコン１０によって行われる。すなわち、ナビＥＣＵ２では、ＰＣＩｅを初期化する装置（サブマイコン１１）とは異なる装置（メインマイコン１０）によって、ＰＣＩｅの仕様によらない他の理由による装置の認識不可への対処を行っている。以下、図５および図６を参照しながら説明する。
【００３２】
メインマイコン１０は、図５に示すように、リセット状態が解除された後の起動時の処理において、自身の初期化を実行する（Ｓ１）。このステップＳ１の初期化では、内蔵回路等の自身の初期化を行った後、上記した日本語フォントの読み込み処理等、予定動作を行うための前準備となる処理が行われている。このため、メインマイコン１０の場合、リセット状態が開示されてから初期化が完了するまでに要する時間、つまりは、ステップＳ１が完了するまでに要する時間は、数秒程度となっている。なお、一般的な装置においては、ＴＳが完了するまでに要すると想定される時間は概ね数ミリ秒〜数十ミリ秒と想定されることが多いため、それに比べると、メインマイコン１０の初期化に要する時間は十分に長いと考えられる。
【００３３】
初期化が完了すると、メインマイコン１０は、上記したデータ取得処理を実行する（Ｓ２）。続いて、メインマイコン１０は、データを取得できたかを判定する（Ｓ３）。このとき、メインマイコン１０は、データが取得できれば（Ｓ３：ＹＥＳ）、取得したデータを用いて予定動作を開始する（Ｓ４）。この流れは、上記した図２のシーケンスと同様である。
これに対して、サブマイコン１１にて図４に示した初期化処理において装置が認識できていない場合、例えば図６に示すようにサブマイコン１１によりＩＯＨ１２が認識できていない場合には、ＩＯＨ１２側からデータを取得することができない。
【００３４】
そのため、メインマイコン１０は、図５に示す起動時処理において、データを取得できなかった場合には（Ｓ３：ＮＯ）、データ取得処理の試行回数を記憶し（Ｓ５）、試行回数が３回を超えたかを判定する（Ｓ６）。つまり、メインマイコン１０は、本実施形態では３回に予め定められているリトライ上限回数を上限として、データ取得処理を繰り返す（データ取得処理をリトライする）。このとき、メインマイコン１０は、試行回数が３回を超えていない場合には（Ｓ６：ＮＯ）、ステップＳ２に移行して、データの取得を再試行する。以下、データ取得処理を繰り返す処理を、便宜的にデータ再取得処理と称する。
【００３５】
一方、メインマイコン１０は、図６に示すようにデータ取得処理を３回繰り返してもデータを取得できなかった場合には、図５に示す起動時処理において、データ取得処理の試行回数が３回を超えることから（Ｓ３： ＮＯ、且つ、Ｓ５、Ｓ６：ＹＥＳ）、リセット処理の試行回数を記憶し（Ｓ７）、リセット処理の試行回数が５回を超えたかを判定する（Ｓ８）。ここで、リセット処理とは、メインマイコン１０からセルフリセット用の信号線Ｒ１を介してリセット回路１４にリセット指示を出力することで、サブマイコン１１およびＩＯＨ１２を含めたナビＥＣＵ２全体をリセット（再起動）する処理である。
【００３６】
メインマイコン１０は、リセット処理の試行回数が５回を超えていなければ（Ｓ８：ＮＯ）、リセット処理を実行する（Ｓ１０）。このリセット処理が実行されると、メインマイコン１０は、電源がオンされたのと同様の状態となることから、ステップＳ１の初期化から起動時処理を実行する。なお、図５では、説明の簡略化のために、ステップＳ１０にてリセット処理が実行された後の移行先をステップＳ１としている。
つまり、メインマイコン１０は、本実施形態では５回に予め定められているリセット上限回数を上限として、ナビＥＣＵ２の全体をリセットするリセット処理を繰り返す。なお、リセット処理の試行回数は、リセット時に試行回数がクリアされないように、フラッシュメモリ１３に記憶されている。
【００３７】
リセット処理を実行すると、メインマイコン１０は、自身を初期化した後（Ｓ１）、およびデータ取得処理（Ｓ２）を実行し、データを取得できたかを判定する（Ｓ３）。そして、ナビＥＣＵ２全体をリセットしてもデータを取得できない場合には（Ｓ３：ＮＯ）、再度、データ取得処理の試行回数を記憶し（Ｓ５）、データ取得処理の試行回数が３回を超えたかを判定する（Ｓ６）。なお、データ取得処理の試行回数は、リセット時に初期化されてゼロになっている。
【００３８】
そして、メインマイコン１０は、図６に示すように、１回目のリセット処理を実行した後のデータ再取得処理においてデータを取得できなかった場合には、図５の起動時処理において、データ取得処理の試行回数が３回を超えたことから（Ｓ６：ＹＥＳ）、再びリセット処理の試行回数を記憶した後（Ｓ７）、リセット処理の試行回数が２回目であるので（Ｓ８：ＮＯ）、再びリセット処理を実行する（Ｓ１０）。その後、メインマイコン１０は、３回目となる起動時処理を実行する。
【００３９】
さて、このようなシステムリセットが繰り返され、図６に示すように、５回目のリセット処理が実行された後のデータ再取得処理においてもデータを取得できなかった場合には、メインマイコン１０は、エラーを報知する。すなわち、メインマイコン１０は、図５に示す起動時処理において、リセット処理の試行回数が５回を超えたことから（Ｓ８：ＹＥＳ）、エラーを報知する（Ｓ９）。このエラーの報知が、報知処理に相当する。なお、本実施形態のようにナビＥＣＵ２の場合、図示しない表示器やスピーカ等の出力装置を備えている。そのため、メインマイコン１０は、例えば、表示器を報知手段として用いて、「データを読めませんでした」等のメッセージによりユーザに不具合の発生を報知する。
このように、ナビＥＣＵ２では、ＰＣＩｅの仕様に準じたＴＳの長期化に起因する装置の認識不可と、他の理由によると思われる装置の認識不可との双方に対して、対処することができるようになっている。
【００４０】
以上説明した本実施形態によれば、次のような効果を得ることができる。
一実施形態の情報処理装置であるナビＥＣＵ２は、ＰＣＩｅで接続された複数の装置であるメインマイコン１０、サブマイコン１１、ＩＯＨ１２を備えている。そして、これらのうち少なくとも１つの装置であるサブマイコン１１は、起動時に、ＰＣＩｅに接続されている接続先の装置に相当するメインマイコン１０およびＩＯＨ１２を認識するための認識処理を、当該接続先の装置であるメインマイコン１０およびＩＯＨ１２が認識されるまで実行し続ける。これにより、複数の装置がＰＣＩｅで接続されている構成において、ＰＣＩｅの初期化プロセスにおいてＴＳが長期間化したとしても、ＴＳを確実に完了させることができる。すなわち、ナビＥＣＵ２は、接続先の装置を確実に認識することができ、期待されている予定動作を確実に実行することができる。
【００４１】
また、ナビＥＣＵ２は、ナビＥＣＵ２を構成する複数の装置であるメインマイコン１０、サブマイコン１１、ＩＯＨ１２のうち少なくとも１つの装置であるサブマイコン１１にて、起動時に、ＰＣＩｅで接続されている接続先の装置であるメインマイコン１０、ＩＯＨ１２を認識するための認識処理を当該接続先の装置が認識されるまで実行し続ける認識工程を含む起動方法を採用している。これにより、ナビＥＣＵ２は、上記したように、ＰＣＩｅの初期化プロセスにおいてＴＳが長期間化したとしても、ＴＳを確実に完了させることができる。
【００４２】
また、ナビＥＣＵ２は、ナビＥＣＵ２を構成する複数の装置であるメインマイコン１０、サブマイコン１１、ＩＯＨ１２のうち少なくとも１つの装置であるサブマイコン１１に対して、起動時に、ＰＣＩｅで接続されている接続先の装置であるメインマイコン１０、ＩＯＨ１２を認識するための認識処理を当該接続先の装置が認識されるまで実行させ続ける起動プログラムを採用している。これにより、ナビＥＣＵ２は、上記した起動方法と同様に、ＰＣＩｅの初期化プロセスにおいてＴＳが長期間化したとしても、ＴＳを確実に完了させることができる。
【００４３】
ナビＥＣＵ２は、複数の装置であるメインマイコン１０、サブマイコン１１、ＩＯＨ１２のうち少なくとも１つの装置であるメインマイコン１０は、認識処理により認識された接続先の装置であるＩＯＨ１２側からデータを取得するデータ取得処理を実行する装置であり、データ取得処理を実行する装置であるメインマイコン１０は、当該データ取得処理を実行しても接続先の装置であるＩＯＨ１２側からデータを取得できなかった場合、予め定められているリトライ上限回数（本実施形態では３回）を上限として、データ取得処理を繰り返す。これにより、例えばノイズ等による偶発的・瞬間的な読み取り不可状態にも対処することができる。
【００４４】
データ取得処理を実行する装置であるメインマイコン１０は、当該データ取得処理をリトライ上限回数だけ繰り返しても接続先の装置であるＩＯＨ１２側からデータを取得できなかった場合、予め定められているリセット上限回数（本実施形態では５回）を上限として、情報処理装置であるナビＥＣＵ２の全体をリセットするリセット処理を繰り返す。これにより、不安定な状態のまま動作し続けるおそれを解消することができ、車両用の情報処理装置において特に好適である。
【００４５】
データ取得処理を実行する装置であるメインマイコン１０は、リセット処理をリセット上限回数だけ繰り返しても接続先の装置であるＩＯＨ１２側からデータを取得できなかった場合、情報処理装置であるナビＥＣＵ２に異常が生じている旨を報知する報知処理を実行する。これにより、故障等への対処が可能となり、信頼性の高い情報処理装置を提供することができる。
【００４６】
ナビＥＣＵ２は、複数の装置であるメインマイコン１０、サブマイコン１１、ＩＯＨ１２において、それぞれ機能が分担されている。具体的には、メインマイコン１０は、第１の装置に相当し、データ取得処理およびリセット処理を実行する装置であって、接続先の装置であるＩＯＨ１２側から取得したデータを用いて作動する。サブマイコン１１は、第２の装置に相当し、認識処理を実行する装置であって、ＰＣＩｅを介してメインマイコン１０とＩＯＨ１２とに接続されている。ＩＯＨ１２は、第３の装置に相当し、接続先の装置に相当する装置であって、ＰＣＩｅを介してサブマイコン１１に接続されているとともに、メインマイコン１０にて用いられるデータを記憶している記憶手段であるＳＤカード１５が設けられている。そして、メインマイコン１０は、データ取得処理を実行してもＩＯＨ１２に設けられているＳＤカード１５からデータを取得できなかった場合には、データ取得処理を、予め定められているリトライ上限回数を上限として繰り返す。また、メインマイコン１０は、リセット処理を実行してもＳＤカード１５からデータを取得できなかった場合には、当該リセット処理を、予め定められているリセット上限回数を上限として繰り返す。
【００４７】
このように、ＰＣＩｅを初期化して認識処理を行う装置（サブマイコン１１）と、データ取得処理およびリセット処理を実行する装置（メインマイコン１０）とを別体とする構成を採用することで、ナビＥＣＵ２に冗長性を持たせることができる。つまり、データの送受信経路であるＰＣＩｅを管理する装置（サブマイコン１１）と、その装置が正常であるか否かをデータの送受信が可能であるか否かに基づいて判断する装置（メインマイコン１０）とを設けることで、ナビＥＣＵ２が全体として正常に作動しているか否かの判断を複数箇所で行うことができるようになる。したがって、情報処理装置としての信頼性を向上させることができる。
【００４８】
（その他の実施形態）
本発明は、上記した一実施形態にて例示したものに限定されることなく、その範囲を逸脱しない範囲で任意に変形や拡張あるいは以下に例示するものとの組み合わせを行うことができる。
【００４９】
例えば、図７に示す情報処理装置であるＥＣＵ２０のように、サブマイコン１１にさらにＰＣＩｅのバスＢ３を介してマイコン２１が接続されているような構成であってもよい。すなわち、情報処理装置を構成する装置が４つ以上であってもよい。この場合、マイコン２１にてデータ取得処理を実行させ、データを取得できない場合にはリセット処理を実行させてもよい。その場合、リセット指示が複数箇所から出力されることを避けるために、メインマイコン１０とマイコン２１とを信号線Ｒ２により接続し、マイコン２１側のエラーをメインマイコン１０側に通知し、リセット指示はメインマイコン１０から出力するようにしてもよい。
【００５０】
また、図示は省略するが、サブマイコン１１とＩＯＨ１２の２つの装置で情報処理装置を構成してもよい。この場合、サブマイコン１１にてデータ取得処理を行ってもよいし、例えばＩＯＨ１２にて起動後にデータ要求は来ないことを条件としてリセット処理を行う構成としてもよい。
一実施形態では情報処理装置としてナビＥＣＵ２を例示したが、情報処理装置は、他のＥＣＵであってもよいし、車両用ではない装置であってもよい。つまり、本発明は、複数の装置がＰＣＩｅで接続されている構成であれば、どのようなものであっても適用することができる。また、装置間がプリント配線ではなくケーブルで接続されている情報処理装置に対しても、もちろん適用することができる。
【００５１】
一実施形態ではＩＯＨ１２に設けられているＳＤカード１５からデータを取得する例を示したが、例えばサブマイコン１１に記憶手段を設け、その記憶手段からデータを取得する構成であっても本発明を適用することができる。
一実施形態ではサブマイコン１１にて認識処理を実行し、メインマイコン１０にてリセット処理を実行する構成を例示したが、これに限定されるものでは無い。例えば、各装置に接続され、リセット処理を担当する専用の装置を設ける構成としてもよい。
【００５２】
一実施形態で示した数値等はいずれも例示であり、それに限定されるものでは無い。例えば、全体の処理時間が相対的に短いと想定されるリトライ（データ再取得処理）については、そのリトライ上限回数を５回等に設定したり、全体の処理時間が相対的に長いと想定されるリセット処理については、そのリセット上限回数を３回に設定したりする等、適宜変更することができる。
【符号の説明】
【００５３】
図面中、２はナビＥＣＵ（情報処理装置）、１０はメインマイコン（複数の装置、第１の装置）、１１はサブマイコン（複数の装置、第２の装置）、１２はＩＯＨ（複数の装置、第３の装置）、１５はＳＤカード（記憶手段）、２０はＥＣＵ（情報処理装置）、２１はマイコン（複数の装置）、を示す。
【図１】
2015121837.tif 000003
【図２】
2015121837.tif 000004
【図３】
2015121837.tif 000005
【図４】
2015121837.tif 000006
【図５】
2015121837.tif 000007
【図６】
2015121837.tif 000008
【図７】
2015121837.tif 000009