(57)【要約】      （修正有）【課題】処理制御部の動作停止等の問題が発生した場合に、問題発生時点及び問題発生直前の情報を取得することが可能な情報処理装置を提供する。【解決手段】制御信号を送受信する処理制御部（ＭＰＵ）１０と、制御信号の信号処理を行う信号処理部（ＤＳＰ）１１と、処理制御部と信号処理部との間における制御信号の送受信を中継する中継部（ＦＰＧＡ）１２と、中継部に接続された記憶部（Ｆｌａｓｈメモリ）１３と、を有する。中継部１２は、制御信号の制御処理の内容を示す制御情報データを、中継部１２による当該制御信号の送受信の中継に応じて順次取り込み、所定量の制御情報データを保持しつつ、取り込んだ順に出力する先入れ先出し型のバッファ２３と、処理制御部の不具合の発生を検出する検出部２２と、を有し、検出部２２による処理制御部の不具合の検出に応じて、バッファ２３から制御情報データを読み出し、記憶部１３に格納する。【選択図】図１
2020092324.tif 000002
【特許請求の範囲】
【請求項１】
制御信号を送受信する処理制御部と、
前記制御信号の信号処理を行う信号処理部と、
前記処理制御部と前記信号処理部との間における前記制御信号の送受信を中継する中継部と、
前記中継部に接続された記憶部と、
を有し、
前記中継部は、
前記制御信号の制御処理の内容を示す制御情報データを、前記中継部による当該制御信号の送受信の中継に応じて順次取り込み、所定量の前記制御情報データを保持しつつ、取り込んだ順に出力する先入れ先出し型のバッファと、
前記処理制御部の不具合の発生を検出する検出部と、
を有し、前記検出部による前記処理制御部の不具合の発生の検出に応じて、前記バッファから前記制御情報データを読み出し、前記記憶部に格納する、
ことを特徴とする情報処理装置。
【請求項２】
前記中継部は、前記中継部の動作状態を示す情報である内部状態データを保持する情報保持部を有し、
前記検出部による前記処理制御部の不具合の発生の検出に応じて、前記情報保持部から前記内部状態データを読み出し、前記記憶部に格納することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検出部は、時間経過に応じて単位時間毎にカウントを行い、カウント開始から第１の所定期間が経過するとオーバフロー信号を出力するウォッチドッグタイマを含み、
前記処理制御部は、前記第１の所定期間よりも小なる第２の所定期間おきに前記ウォッチドッグタイマのカウントをリセットし、
前記検出部は、前記ウォッチドッグタイマの前記オーバフロー信号の出力に基づいて前記処理制御部の不具合の発生を検出することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記処理制御部及び前記信号処理部は、前記情報処理装置に接続された外部装置との間で前記制御信号の送受信を行い、
前記中継部は、前記処理制御部及び前記信号処理部と前記外部装置との間における前記制御信号の送受信を中継するとともに、当該制御信号の制御処理の内容を示す制御情報データを前記バッファに順次格納することを特徴とする請求項１乃至３のいずれか１に記載の情報処理装置。
【請求項５】
前記制御情報データは、前記制御信号のタイミングに関する情報であって前記制御信号同士の時間的な関係を示す情報を含むことを特徴とする請求項１乃至４のいずれか１に記載の情報処理装置。
【請求項６】
処理制御部と、信号処理部と、前記処理制御部及び前記信号処理部に接続された中継部と、前記中継部に接続された記憶部と、前記処理制御部の不具合の発生を検出する検出部と、前記中継部に設けられた先入れ先出し型のバッファと、を有する情報処理装置が実行する情報取得方法であって、
前記中継部が、前記処理制御部と前記信号処理部との間の制御信号の送受信を中継するステップと、
前記バッファが、前記制御信号の制御処理の内容を示す制御情報データを、前記中継部による当該制御信号の送受信の中継に応じて順次取り込み、所定量の前記制御情報データを保持しつつ、取り込んだ順に出力するステップと、
前記検出部が、前記処理制御部の不具合の発生を検出するステップと、
前記中継部が、前記処理制御部の不具合の発生の検出に応じて、前記バッファから前記制御情報データを読み出し、前記記憶部に格納するステップと、
を含むことを特徴とする情報取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報取得方法に関する。
【背景技術】
【０００２】
複数のプロセッサを備え、これらを協働させることによりタスクを実行する情報処理装置が知られている。このような情報処理装置として、例えば中継部を介して互いに接続された制御部（ＣＰＵ）及びＤＳＰを備え、外部装置との間で信号の送受信を行う処理装置が提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−４３２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来技術のような情報処理装置において、装置内部で問題が発生した際、問題解析に必要な情報を取得することができない場合があった。例えば、制御部の動作が停止してウォッチドッグタイマオーバフロー（ＷＤＴＯＶＦ）が発生すると、装置の状態等の情報を制御部から取得することができない場合があり、問題解析に必要な情報が不足してしまっていた。装置の再立ち上げを行った場合、問題があった箇所を復旧することはできても、問題発生当時の状態は消えてしまい、問題解析に必要な情報を取得することができないという問題があった。
【０００５】
また、問題解析のためには、問題発生直前の処理内容を知ることが重要である。例えば、従来はデバッグ時に上位インタフェースの部分に通信をモニタするモニタ装置を組み入れることにより、通信ログを取得することが行われている。しかし、このような方法による通信ログの取得は、モニタ装置等の外部装置の接続を必要とするため、いつ発生するか分からない問題のために情報を常時取得することには不向きであった。
【０００６】
本発明は上記問題点に鑑みてなされたものであり、処理制御部の動作停止等の問題が発生した場合に、問題発生時点及び問題発生直前の情報を取得することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、制御信号を送受信する処理制御部と、前記制御信号の信号処理を行う信号処理部と、前記処理制御部と前記信号処理部との間における前記制御信号の送受信を中継する中継部と、前記中継部に接続された記憶部と、を有し、前記中継部は、前記制御信号の制御処理の内容を示す制御情報データを、前記中継部による当該制御信号の送受信の中継に応じて順次取り込み、所定量の前記制御情報データを保持しつつ、取り込んだ順に出力する先入れ先出し型のバッファと、前記処理制御部の不具合の発生を検出する検出部と、を有し、前記検出部による前記処理制御部の不具合の発生の検出に応じて、前記バッファから前記制御情報データを読み出し、前記記憶部に格納する、ことを特徴とする。
【０００８】
本発明に係る情報取得方法は、処理制御部と、信号処理部と、前記処理制御部及び前記信号処理部に接続された中継部と、前記中継部に接続された記憶部と、前記処理制御部の不具合の発生を検出する検出部と、前記中継部に設けられた先入れ先出し型のバッファと、を有する情報処理装置が実行する情報取得方法であって、前記中継部が、前記処理制御部と前記信号処理部との間の制御信号の送受信を中継するステップと、前記バッファが、前記制御信号の制御処理の内容を示す制御情報データを、前記中継部による当該制御信号の送受信の中継に応じて順次取り込み、所定量の前記制御情報データを保持しつつ、取り込んだ順に出力するステップと、前記検出部が、前記処理制御部の不具合の発生を検出するステップと、前記中継部が、前記処理制御部の不具合の発生の検出に応じて、前記バッファから前記制御情報データを読み出し、前記記憶部に格納するステップと、を含むことを特徴とする。
【発明の効果】
【０００９】
本発明に係る情報処理装置によれば、問題発生時点及び問題発生直前の情報を取得することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施例の情報処理装置の構成を示すブロック図である。
【図２】本実施例の情報処理装置による制御信号の送受信及び制御情報データの取得動作を示すフローチャートである。
【図３】本実施例の情報処理装置による制御信号の送受信及び制御情報データの取得を模式的に示す図である。
【図４】ＷＤＴＯＶＦ信号の出力によるＭＰＵの不具合の検出動作を示す図である。
【図５】比較例の情報処理装置による制御信号の送受信及び制御情報データの取得を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施例について、図面を参照して説明する。なお、以下の実施例における説明及び添付図面においては、実質的に同一又は等価な部分には同一の参照符号を付している。
【００１２】
図１は、本実施例の情報処理装置１００の構成を示すブロック図である。情報処理装置１００は、ＭＰＵ（Micro Processing Unit）１０、ＤＳＰ（Digital Signal Processor）１１、ＦＰＧＡ（Field Programmable Gate Array）１２及びＦｌａｓｈメモリ１３を有する。情報処理装置１００は、外部インタフェースを介して外部装置ＥＤと接続されている。また、ＭＰＵ１０、ＤＳＰ１１及びＦｌａｓｈメモリ１３は、例えばデータバスを介してＦＰＧＡ１２に接続されている。ＦＰＧＡ１２は、ＷＤＴクリアレジスタ２１、タイマ２２、ＦＩＦＯバッファ２３及び内部状態保持部２４を有する。
【００１３】
ＭＰＵ１０は、ＦＰＧＡ１２を介して制御信号を送受信することにより、外部装置ＥＤとの間の通信や、情報処理装置１００内の各部の処理制御を行う。また、ＭＰＵ１０は、ＦＰＧＡ１２内のＷＤＴクリアレジスタ２１にアクセスし、タイマ２２によるカウントの初期値を示す値をＷＤＴクリアレジスタ２１に書き込むことにより、タイマ２２のカウンタを周期的にリセットする。
【００１４】
ＤＳＰ１１は、ＦＰＧＡ１２を介して送受信されるデジタル信号の信号処理を行う。例えば、ＤＳＰ１１は、ＭＰＵ１０や外部装置ＥＤから送信された制御信号の信号処理を行う。
【００１５】
ＦＰＧＡ１２は、複数の論理回路（図示せず）を含み、各論理回路の配列及び接続が書き換え可能に構成されたプログラマブルロジックデバイスである。本実施例では、ＦＰＧＡ１２は、ＭＰＵ１０、ＤＳＰ１１及び外部装置ＥＤの間における制御信号の送受信を中継する中継部としての機能を有する。ＦＰＧＡ１２は、制御信号の送受信の中継に際して、例えばフレーム同期を取る等の処理を行う。
【００１６】
ＷＤＴクリアレジスタ２１は、揮発性の記憶装置から構成されている。ＷＤＴクリアレジスタ２１は、タイマ２２によるカウントのカウント値を記憶する。
【００１７】
タイマ２２は、第１の所定期間に亘って、初期値からゼロまでカウントを行うタイマである。例えば、タイマ２２は、時間経過に応じて、ＷＤＴクリアレジスタ２１に記憶されたカウント値を１ずつ減少させる（すなわち、カウントダウンする）ようにカウントを行う。ＷＤＴクリアレジスタ２１に記憶されたカウント値がゼロになる（すなわち、タイムアップする）と、タイマ２２は、タイマが満了したことを示すＷＤＴＯＶＦ（Watchdog timer over flow）信号を出力する。
【００１８】
ＦＩＦＯバッファ２３は、先入れ先出し方式でデータの格納及び出力を行うバッファである。ＦＩＦＯバッファ２３は、ＦＰＧＡ１２による制御信号の中継処理時に、当該制御信号の制御処理の内容を示す制御情報データを順次取り込む。そして、ＦＩＦＯバッファ２３は、最新の制御情報データを含む所定量の制御情報データ（例えば、所定数のデータ片）を保持し、取り込んだ順に順次出力する。これにより、ＦＩＦＯバッファ２３には直近の制御情報データが常に保持される。
【００１９】
内部状態保持部２４は、例えばハードディスク等の不揮発性の記憶装置から構成されている。内部状態保持部２４は、ＦＰＧＡ１２内における各論理回路の動作状況等、ＦＰＧＡ１２内部の動作状態についての情報（以下、内部状態データと称する）を保持する。
【００２０】
Ｆｌａｓｈメモリ１３は、ＦＰＧＡ１２の外部に設けられた不揮発性メモリである。ＦＰＧＡ１２は、情報処理装置１００の内部における問題発生を検出し、当該問題発生の検出をトリガとして、ＦＩＦＯバッファ２３に保持されている制御情報データ及び内部状態保持部２４に保持されている内部状態データのＦｌａｓｈメモリ１３への書き出しを行う。例えば、ＦＰＧＡ１２は、タイマ２２によるＷＤＴＯＶＦ信号の出力に基づいて、ＭＰＵ１０の不具合の発生を検出する。そして、ＦＰＧＡ１２は、不具合の検出に応じて、ＦＩＦＯバッファ２３に保持されている制御情報データ及び内部状態保持部２４に保持されている内部状態データを読み出し、読み出したこれらのデータをＦｌａｓｈメモリ１３に書き込む。
【００２１】
次に、本実施例の情報処理装置１００の動作について説明する。図２は、本実施例の情報処理装置１００による制御情報データの取得動作を示すフローチャートである。図３は、制御信号の送受信及び制御情報データの取得における信号及びデータの流れを模式的に示す図である。
【００２２】
ＦＰＧＡ１２は、ＭＰＵ１０、ＤＳＰ１１及び外部装置ＥＤの間の制御信号の送受信を中継する（ＳＴＥＰ１０１）。その際、ＦＰＧＡ１２は、制御信号の処理内容を示す制御情報データをＦＩＦＯバッファ２３に格納する（ＳＴＥＰ１０２）。例えば、図３に示すように、ＦＰＧＡ１２は、制御信号のコピーをそのまま制御情報データとしてＦＩＦＯバッファ２３に格納する。ＦＩＦＯバッファ２３は、所定量の制御情報データを保持する。
【００２３】
ＦＰＧＡ１２は、情報処理装置１００の内部で発生した問題の検出を行う。例えば、ＦＰＧＡ１２は、ＭＰＵ１０に動作停止等の不具合が発生したことを問題発生として検出する。
【００２４】
図４は、ＷＤＴＯＶＦ信号の出力によるＭＰＵ１０の不具合の検出動作を示す図である。なお、ここでは動作説明のため、タイマ２２を図１とは異なる位置に表示している。
【００２５】
タイマ２２は、時間経過に応じて、ＷＤＴクリアレジスタ２１に記憶されたカウント値を１ずつ減少させる。ＭＰＵ１０は、ＷＤＴクリアレジスタ２１にアクセス（ライトアクセス）し、ＷＤＴクリアレジスタ２１に記憶されているカウント値を、第２の所定期間おきに初期値に書き換える。第２の所定期間は、タイマ２２のタイマ満了期間である第１の所定期間よりも短い期間に設定されている。従って、ＭＰＵ１０が通常通りに動作している場合、タイマ２２によるカウントはゼロまで行われることなく（すなわち、タイマ満了を迎えることなく）、第２の所定期間おきにリセットされる。つまり、ＭＰＵ１０に動作停止等の不具合が生じていない場合、ＷＤＴＯＶＦ信号は出力されない。
【００２６】
一方、ＭＰＵ１０に動作停止等の不具合が生じて処理が滞った場合、ＷＤＴクリアレジスタ２１に記憶されているカウント値の初期値への書き換えが行われない。このため、タイマ２２はゼロまでカウントを行い、ＷＤＴＯＶＦ信号を出力する。
【００２７】
このように、ＷＤＴＯＶＦ信号は、ＭＰＵ１０に動作停止等の不具合が発生した場合に出力される。従って、ＦＰＧＡ１２は、ＷＤＴＯＶＦ信号を検出することにより、ＭＰＵ１０についての問題発生を検出することが可能である。
【００２８】
再び図２を参照すると、ＦＰＧＡ１２は、問題発生が検出されない場合（ＳＴＥＰ１０３：Ｎｏ）、制御信号の中継及び制御情報データのＦＩＦＯバッファ２３への格納を繰り返し実行する。一方、問題発生が検出されると（ＳＴＥＰ１０３：Ｙｅｓ）、ＦＰＧＡ１２は、当該問題発生の検出に応じて、ＦＩＦＯ２３に保持されている制御情報データ及び内部状態保持部２４に保持されている内部状態データのＦｌａｓｈメモリ１３への書き出しを行う（ＳＴＥＰ１０４）。
【００２９】
ＦＩＦＯ２０には、直近の制御情報データを含む所定量の制御情報データが保持されているため、Ｆｌａｓｈメモリ１３には、ＷＤＴＯＶＦ信号の検出時及び検出直前における制御情報データが格納される。また、ＷＤＴＯＶＦ信号の検出時点におけるＦＰＧＡ１２の内部状態データがＦｌａｓｈメモリ１３に格納される。
【００３０】
Ｆｌａｓｈメモリ１３は、不揮発性のメモリであり、ＭＰＵ１０、ＤＳＰ１１及びＦＰＧＡ１２とは別個に設けられているため、ＭＰＵ１０等の動作が停止したような場合にも情報の読み出しを行うことが可能である。従って、ＷＤＴＯＶＦ信号を検出した後、Ｆｌａｓｈメモリ１３に格納されている制御情報データ及び内部状態データを読み出すことにより、問題発生時や問題発生直前にやりとりされていた制御信号の処理内容及びＦＰＧＡ１２の内部状態の情報を得ることができる。
【００３１】
図５は、本実施例の情報処理装置とは異なり、ＦＩＦＯバッファ２３を有しない比較例の情報処理装置において、制御情報データを取得するための構成を示すブロック図である。
【００３２】
比較例の情報処理装置２００のデバッグを行う際、情報処理装置２００と外部装置ＥＤとの間にモニタ装置ＭＤが接続される。モニタ装置ＭＤは、ＭＰＵ１０及びＤＳＰ１１と外部装置ＥＤとの間における制御信号の送受信の通信ログを取得する。
【００３３】
比較例の構成によれば、取得した通信ログに基づいて制御情報データを得ることができる。しかし、係る構成を実現するためには外部装置であるモニタ装置ＭＤを接続する必要があるため、システム全体としてのコストが増大する。従って、いつ発生するか分からない問題に備えてモニタ装置ＭＤを常時接続しておくことは困難であり、モニタ装置ＭＤの接続による通信ログの取得は、情報処理装置２００のデバッグ時等に限られることになる。
【００３４】
これに対し、本実施例の情報処理装置１００は、直近の制御情報データを所定量保持するためのＦＩＦＯバッファ２３をＦＰＧＡ１２の内部に有し、ＭＰＵ１０の不具合を示すＷＤＴＯＶＦ信号が出力された場合にのみ、Ｆｌａｓｈメモリ１３への書き出しを行う。従って、情報処理装置１００のデバッグ時に限られず、問題発生時及び問題発生の直前の制御情報データを取得することが出来る。
【００３５】
なお、Ｆｌａｓｈメモリへの情報の書き込みの速度は、一般的に制御信号の信号処理の処理速度に比べて遅い。このため、制御情報データを常時Ｆｌａｓｈメモリ１３に書き出したのでは処理が間に合わず、書き出せないデータが生じてしまう。また、一般的に不揮発性のメモリは書き換え回数の制限があるため、常時書込みには向かない。しかし、本実施例の情報処理装置１００では、ＦＰＧＡ１２の内部にＦＩＦＯバッファ２３を設け、直近の制御情報データを所定量格納することにより、制御信号の送受信を常時監視し、問題発生が検出された場合にのみ制御情報データをＦｌａｓｈメモリ１３に書き出す。従って、ＦＩＦＯバッファ２３を設けることにより、制御信号の信号処理とＦｌａｓｈメモリ１３への書き出しとの処理速度の差を吸収することができる。
【００３６】
以上のように、本実施例の情報処理装置１００によれば、装置内の処理制御部等における問題発生を検出した場合に、問題発生時点及び問題発生直前の制御信号の処理内容を示す制御情報データを取得することが可能である。従って、これらの情報を用いて問題発生の原因や経緯等を特定するための解析を行うことが可能となる。
【００３７】
なお、本発明は上記実施形態に限定されない。例えば、実施例では、問題発生の検出例として、ウォッチドッグタイマオーバフロー（ＷＤＴＯＶＦ）によりＭＰＵ１０の不具合の発生を検出する場合について説明した。しかし、例えばＤＳＰ１１等、ＭＰＵ１０以外の他のデバイスについての不具合をＷＤＴＯＶＦによって検出するように構成してもよい。
【００３８】
また、ＷＤＴＯＶＦの検出に限られず、他の方法によりＭＰＵ１０やＤＳＰ１１に発生した不具合を検出する構成であってもよい。本発明の情報処理装置は、ＦＩＦＯバッファ２３や内部状態保持部２４に常に最新の制御情報データを保持しておき、問題発生の検出に応じてＦｌａｓｈメモリ１３に書き出すことを特徴としており、かかる特徴によれば、問題検出の方法如何にかかわらず、問題解析のために有用な情報を得ることが可能となる。すなわち、本発明の情報処理装置によれば、装置内の任意の処理部についての問題発生を検出した際に、問題発生時点及び問題発生直前の情報を得ることが可能である。
【００３９】
また、上記実施例では、ＦＰＧＡ１２がＦＩＦＯバッファ２３を有し、ＦＰＧＡ１２による制御信号の中継時に制御情報データをＦＩＦＯバッファ２３に格納する場合を例として説明した。しかし、ＦＰＧＡ１２の代わりに、同等の機能を持つ他のデバイスを用いて情報処理装置を構成してもよい。
【００４０】
また、上記実施例では、ＦＰＧＡ１２がＦＩＦＯバッファ２３及び内部状態データ保持部２４の双方を有する場合を例として説明した。しかし、ＦＰＧＡ１２は、少なくともＦＩＦＯバッファ２３を有していればよい。かかる構成によれば、問題発生直前の制御情報データを得ることが可能となる。
【００４１】
また、上記実施例では、制御信号のコピーをそのまま制御情報データとしてＦＩＦＯバッファ２３に格納する場合を例として説明した。しかし、これに限られず、例えば制御信号の一部を抽出してＦＩＦＯバッファ２３に格納する構成であってもよい。また、制御信号同士の時間的関係を示す情報を付与することにより、制御信号のタイミングがわかるような形でＦＩＦＯバッファ２３に格納する構成であってもよい。要するに、制御信号の制御処理の内容やタイミング等を示すデータを制御情報データとして格納するものであればよい。
【００４２】
また、上記実施例では、ＭＰＵ１０、ＤＳＰ１１及び外部装置ＥＤの間の制御信号の送受信をＦＰＧＡ１２が中継する場合を例として説明した。しかし、ＦＰＧＡ１２が中継する制御信号の送受信はこれらの間で行われるものに限られない。例えば、ＦＰＧＡ１２は、ＤＳＰ１１以外の他の処理部とＭＰＵ１０との間の制御信号の送受信を中継するものであってもよい。また、情報処理装置１００に接続される外部装置ＥＤは１つに限られない。すなわち、ＦＰＧＡ１２は、ＭＰＵ１０やＤＳＰ１１と複数の外部装置との間の制御信号の送受信を中継することが可能である。いずれの場合にも、制御信号の中継時にＦＰＧＡ１２が制御情報データをＦＩＦＯバッファ２３に格納し、問題発生の検出時にＦｌａｓｈメモリ１３に書き出すことにより、問題発生時点及び問題発生直前の制御情報データを取得することが可能となる。
【符号の説明】
【００４３】
１００  情報処理装置
１０  ＭＰＵ
１１  ＤＳＰ
１２  ＦＰＧＡ
１３  Ｆｌａｓｈメモリ
２１  ＷＤＴクリアレジスタ
２２  タイマ
２３  ＦＩＦＯバッファ
２４  内部状態保持部
ＥＤ  外部装置
【図１】
2020092324.tif 000003
【図２】
2020092324.tif 000004
【図３】
2020092324.tif 000005
【図４】
2020092324.tif 000006
【図５】
2020092324.tif 000007