(57)【特許請求の範囲】
【請求項１】
上位装置からの指令に従って処理を実行する電子機器装置であって、
電子機器装置の動作の制御機能を有する第１の情報処理手段と、
電子機器装置の動作状態の監視機能を有する第２の情報処理手段と、
前記第１の情報処理手段と上位装置との間で、各種データの送受信を行う第１の汎用性通信手段と、
前記第２の情報処理手段と上位装置との間で、電子機器装置の動作状態を示す動作状態信号を通信する第２の汎用性通信手段と、
前記第１の情報処理手段に対するリセット信号又は電源ＯＮ／ＯＦＦ信号を生成する第１のリセット回路又は第１の電源回路と、
前記第２の情報処理手段に対するリセット信号又は電源ＯＮ／ＯＦＦ信号を生成する第２のリセット回路又は第２の電源回路と、
を有し、
前記第１の情報処理手段で実行されるリセット信号又は電源ＯＮ／ＯＦＦ信号は、前記第２のリセット回路からのリセット信号又は前記第２の電源回路からの電源ＯＮ／ＯＦＦ信号を受信した前記第２の情報処理手段の指令に基づいて、前記第１のリセット回路又は前記第１の電源回路で生成されることを特徴とする電子機器装置。
【請求項２】
前記第２の情報処理手段は、前記第１の情報処理手段に対するソフトウェアの更新機能を有することを特徴とする請求項１記載の電子機器装置。
【請求項３】
前記第２の情報処理手段が前記第１の情報処理手段の動作状態の監視に成功していないと判断したときは、前記第２の情報処理手段は前記第１の情報処理手段に対してリセット信号を送信して又は電源ＯＮ／ＯＦＦ信号を送信して電子機器装置の電源を入れ直して、電子機器装置を初期状態に設定することを特徴とする請求項１又は２記載の電子機器装置。
【請求項４】
前記リセット信号又は前記電源ＯＮ／ＯＦＦ信号を受信した第１の情報処理手段が電子機器装置の初期状態への設定に成功していないと判断したときは、その旨を上位装置に通知し、前記第２の情報処理手段は前記第１の情報処理手段に対して電源ＯＦＦ信号を送信して電子機器装置の電源をＯＦＦ状態にし、上位装置による復旧によって電子機器装置の電源を入れ直すことを特徴とする請求項３記載の電子機器装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置からの指令に従って処理を実行する電子機器装置に関する。
【背景技術】
【０００２】
通常、電子機器装置は通信線を介して上位装置と接続され、上位装置からの指令に従って処理を実行するようになっている。このように、上位装置と電子機器装置（下位装置）との通信を確立するためには、ＲＳ２３２Ｃ方式、パラレルポート方式、ＵＳＢ接続方式など種々の通信方式が採用されている。
【０００３】
ＲＳ２３２Ｃ方式やパラレルポート方式という従来型の接続方式は、データ線以外に各種制御線を実装することが可能であり、下位装置に応じたきめ細かい制御を行うことができる。一方、近年主流となっているＵＳＢ接続方式は、メーカーを問わずに外部機器を接続可能なので外部機器接続のデファクトスタンダードとして手軽ではあるが、ＵＳＢ規格が電力供給とデータ交換に主眼を置いていることから、それ以外の制御自由度がほとんどない。
【０００４】
そのため、従来型の接続方式では、上位装置が何らかの手段で通信異常を検知すると、各種制御線を介して下位装置を復旧させることが可能であるが、ＵＳＢ接続方式では、ソフトウェア的に下位装置の異常を検知することはできても、上位装置からの指令によって下位装置を復旧させることは汎用的な構成では不可能である。
【０００５】
例えば、特許文献１は、ホスト機器とデバイス機器とを専用線を介して信号を送受信する専用インタフェース回路を備え、専用線を介した信号の送受信によってハングアップの復旧を実現している。
【０００６】
また、特許文献２は、ホスト機器とＵＳＢ機器とをＵＳＢケーブルを介して信号を送受信するものであり、ホストからのＵＳＢ規格上のバスリセットを検出してＵＳＢ機器はリセット動作を実行している。
【０００７】
【特許文献１】特開２００３−１３１９５６号公報（図１）
【特許文献２】特開２００５−３５２９４２号公報（図１）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に見られる従来型の接続方式では、専用線を接続するための専用インタフェース回路を上位装置と下位装置に設ける必要がある。また、上位装置からの指令に従って処理を実行するためには、上位装置に下位装置の電源を制御する電源制御用回路を設けて下位装置を制御する必要がある。これらは上位装置の構成の変更やそれに伴う構成の複雑化、コスト増の要因となりえる。特に既存装置の動作安定性を向上させる場合、すなわち、上位装置との通信において電子機器装置を安定して動作させる場合はより顕著となる。
【０００９】
また、特許文献２に見られる近年主流のＵＳＢ接続方式では、良好な通信環境下では下位装置の動作安定性に支障を来たすことはないが、下位装置が発する電磁波等によりノイズにさらされるような通信環境下では、通信が停止したり、通信の不具合が発生することがある。このときに、上位装置に不具合が発生しているのか、下位装置に不具合が発生しているのか、そもそも通信の不具合なのかを外部から検出することは非常に困難であり、結果的に上位装置及び下位装置双方の復旧を図るということになり、システム効率が下がるという問題がある。
【００１０】
また、単一のＵＳＢケーブルで上位装置と下位装置を接続した場合は、通信環境は正常で下位装置に不具合がある状態を検出することができない。具体的には、ＵＳＢ機能を内蔵しているＣＰＵを使用する場合、ＵＳＢ標準コマンドへの応答をハードウェア的に処理してしまうことがあるため、下位装置におけるソフトウェアの暴走などで下位装置が異常動作しても、それを外部から検出することができない。その結果、下位装置が正常に動作しているか否かの監視ができないという問題がある。
【００１１】
本発明は、このような点に鑑みてなされたものであり、その目的は、上位装置と電子機器装置（下位装置）との通信構成を複雑化させることなく電子機器装置を安定して動作させることのできる電子機器装置を提供することにある。また、上位装置との通信において電子機器装置を安定して動作させることができる電子機器装置を提供することにある。
【課題を解決するための手段】
【００１２】
以上のような課題を解決するために、本発明は、以下のものを提供する。
【００１３】
（１）  上位装置からの指令に従って処理を実行する電子機器装置であって、電子機器装置の動作の制御機能を有する第１の情報処理手段と、電子機器装置の動作状態の監視機能を有する第２の情報処理手段と、前記第１の情報処理手段と上位装置との間で、各種データの送受信を行う第１の汎用性通信手段と、前記第２の情報処理手段と上位装置との間で、電子機器装置の動作状態を示す動作状態信号を通信する第２の汎用性通信手段と、前記第１の情報処理手段に対するリセット信号又は電源ＯＮ／ＯＦＦ信号を生成する第１のリセット回路又は第１の電源回路と、前記第２の情報処理手段に対するリセット信号又は電源ＯＮ／ＯＦＦ信号を生成する第２のリセット回路又は第２の電源回路と、を有し、前記第１の情報処理手段で実行されるリセット信号又は電源ＯＮ／ＯＦＦ信号は、前記第２のリセット回路からのリセット信号又は前記第２の電源回路からの電源ＯＮ／ＯＦＦ信号を受信した前記第２の情報処理手段の指令に基づいて、前記第１のリセット回路又は前記第１の電源回路で生成されることを特徴とする電子機器装置。
【００１４】
本発明によれば、電子機器装置は、第１の汎用性通信手段及び第２の汎用性通信手段によって上位装置と別々に接続され、第１の汎用性通信手段は上位装置からの指令に従って電子機器装置の動作の制御を行う第１の情報処理手段に接続され、第２の汎用性通信手段は電子機器装置の動作状態の監視を行う第２の情報処理手段に接続されていることから、第２の情報処理手段は第１の情報処理手段の動作状態を監視しつつ、第１の情報処理手段は上位装置からの指令に従って電子機器装置の動作の制御を行うことができ、電子機器装置の動作に不具合が生じた場合でも、第２の情報処理手段による復旧が可能となることから、上位装置によらずに電子機器装置を安定して動作させることができる。
【００１５】
（２）  前記第２の情報処理手段は、前記第１の情報処理手段に対するソフトウェアの更新機能を有することを特徴とする電子機器装置。
【００１６】
本発明によれば、第２の情報処理手段は、第１の情報処理手段に対してソフトウェアの更新を行うことができることから、第１の情報処理手段が実行するプログラム等のソフトウェア全体に対する更新が可能となり、電子機器装置の動作に不具合が生じた場合でも、上位装置によらずに正常なソフトウェアの導入によって電子機器装置を安定して動作させることができる。
【００１７】
（３）  前記第２の情報処理手段が前記第１の情報処理手段の動作状態の監視に成功していないと判断したときは、前記第２の情報処理手段は前記第１の情報処理手段に対してリセット信号を送信して又は電源ＯＮ／ＯＦＦ信号を送信して電子機器装置の電源を入れ直して、電子機器装置を初期状態に設定することを特徴とする電子機器装置。
【００１８】
本発明によれば、電子機器装置の動作に不具合が生じて第２の情報処理手段が監視に成功していない場合は、第２の情報処理手段は第１の情報処理手段に対してリセット信号を送信して電子機器装置を初期状態に設定することができることから、上位装置によらずに第２の情報処理手段による復旧が可能となり、電子機器装置を安定して動作させることができる。
【００１９】
（４）  前記リセット信号又は前記電源ＯＮ／ＯＦＦ信号を受信した第１の情報処理手段が電子機器装置の初期状態への設定に成功していないと判断したときは、その旨を上位装置に通知し、前記第２の情報処理手段は前記第１の情報処理手段に対して電源ＯＦＦ信号を送信して電子機器装置の電源をＯＦＦ状態にし、上位装置による復旧によって電子機器装置の電源を入れ直すことを特徴とする電子機器装置。
【００２０】
本発明によれば、第１の情報処理手段に対するリセット信号の入力によって電子機器装置を初期状態に設定することができない場合は、第１の情報処理手段に対して電源ＯＮ／ＯＦＦ信号を送信して電子機器装置の電源を入れ直すことができることから、上位装置によらずに第２の情報処理手段による復旧が可能となり、電子機器装置を安定して動作させることができる。
【発明の効果】
【００２１】
本発明に係る電子機器装置は、動作異常時に自己復旧を図ったり、上位装置からの復旧動作によって復旧が可能となり、上位装置はそのままの状態でよいからシステム効率が下がることはなく、電子機器装置の動作安定性の向上につながる。
【００２２】
また、本発明に係る電子機器装置は、第２の情報処理手段が第１の情報処理手段をブートモードに制御可能であるから、ソフトウェア全体を更新することができるようになり、電子機器装置の動作安定性の向上や保守性の向上につながる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施の形態に係る上位装置と電子機器装置のシステム構成を示すブロック図である。
【図２】本発明の実施の形態に係る電子機器装置のメインＣＰＵによる制御機能を説明するためのフロー図である。
【図３】本発明の実施の形態に係る電子機器装置のサブＣＰＵによる動作監視機能を説明するためのフロー図である。
【図４】本発明の実施の形態に係る電子機器装置のサブＣＰＵで実行されるリセット処理の内容を説明するためのフロー図である。
【図５】本発明の実施の形態に係る電子機器装置のサブＣＰＵで実行される電源ＯＮ／ＯＦＦ処理の内容を説明するためのフロー図である。
【発明を実施するための形態】
【００２４】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００２５】
［機能ブロックの説明］
図１は、本発明の実施の形態に係る上位装置１０と電子機器装置３０のシステム構成を示すブロック図であり、上位装置１０と電子機器装置３０とは２本のＵＳＢケーブル２１，２２でＵＳＢ接続されている。
【００２６】
上位装置１０は、ＵＳＢケーブル２１，２２を介して電子機器装置３０に信号の送受信を行うＵＳＢホストコントローラ１１を備えている。なお、上位装置１０はパーソナルコンピュータとして、図示を省略するＣＰＵ、ＲＡＭ，ＲＯＭ、ＨＤＤ等も備えている。
【００２７】
電子機器装置３０は、ＵＳＢケーブル２１，２２を介して上位装置１０に信号の送受信を行うＵＳＢデバイスコントローラ３１，３５を備えている。
【００２８】
ＵＳＢケーブル２１は、本発明の第１の汎用性通信手段に相当し、図１において、ＵＳＢホストコントローラ１１とＵＳＢデバイスコントローラ３１との間を接続している。また、ＵＳＢケーブル２２は、本発明の第２の汎用性通信手段に相当し、図１において、ＵＳＢホストコントローラ１１とＵＳＢデバイスコントローラ３５との間を接続している。
【００２９】
メインＣＰＵ３２は、電子機器装置３０の動作の制御機能を総合的に司る第１の情報処理手段としての中核をなし、リセット回路３３からのリセット信号に基づいて電子機器装置３０のリセット命令を実行する。また、電源回路３４からの電源ＯＮ／ＯＦＦ信号に基づいて電子機器装置３０の電源のＯＮ／ＯＦＦ命令を実行する。さらに、リセット回路３７にリセット信号を送信したり、電源回路３８に電源ＯＮ／ＯＦＦ信号を送信したりする。なお、本発明の実施の形態では、メインＣＰＵ３２は、サブＣＰＵ３６に対してブートモード設定の信号を送信してブートモード設定命令を実行することができるようになっている。
【００３０】
リセット回路３３は、サブＣＰＵ３６からのリセット信号を受信して、メインＣＰＵ３２を含む電子機器装置３０全体にハードリセットをかけ、ＣＰＵ３２を初期化する。電源回路３４は、サブＣＰＵ３６からの電源ＯＮ／ＯＦＦ信号に基づいてメインＣＰＵ３２を含む電子機器装置３０全体に電源のＯＮ／ＯＦＦをかける。
【００３１】
サブＣＰＵ３６は、電子機器装置３０の動作状態の監視機能を司る第２の情報処理手段としての中核をなし、リセット回路３７からのリセット信号に基づいてリセット回路３３にリセット信号を送信したり、電源回路３８からの電源ＯＮ／ＯＦＦ信号に基づいて電源回路３４に電源ＯＮ／ＯＦＦ信号を送信したりする。なお、本発明の実施の形態では、サブＣＰＵ３６は、メインＣＰＵ３２に対してブートモード設定の信号を送信し、ブートモード設定により電子機器装置３０のソフトウエアを書き換えることができるようになっている。
【００３２】
上記構成によれば、メインＣＰＵ３２は電子機器装置３０本来の機能（主機能）を発揮するために設けられ、サブＣＰＵ３６は電子機器装置３０の動作状態を監視する機能（動作監視機能）を発揮するために設けられており、サブＣＰＵ３６による動作監視の状況に応じて、メインＣＰＵ３２を含むリセット回路３３や電源回路３４による総合的な電子機器装置３０の動作の制御をすることができる。なお、動作状態とは、電子機器装置３０が期待した機能を実現可能な状態をいう。
【００３３】
なお、本発明の実施の形態によれば、電子機器装置３０において、メインＣＰＵ３２およびサブＣＰＵ３６はそれぞれブートモード設定の機能を有している。このため、サブＣＰＵ３６がメインＣＰＵ３２に対してブートモード設定の信号を送信することによって、メインＣＰＵ３２をブートモードに遷移させてソフトウェアの更新（アップデート）をすることができる。また、メインＣＰＵ３２がサブＣＰＵ３６に対してブートモード設定の信号を送信することによって、サブＣＰＵ３６をブートモードに遷移させてソフトウェアの更新（アップデート）をすることができる。これにより、メインＣＰＵ３２とサブＣＰＵ３６とによる相乗効果により、ソフトウェアの保守性を向上させることができる。また、更新の際には、更新用のソフトウェアをフラッシュメモリ等の記憶部に常駐させることなく、メインＣＰＵ３２やサブＣＰＵ３６をブートモードに制御可能にしたことから、更新用ソフトウェア自身を更新することが可能となり、ソフトウェアの部分的更新ではなく全体的更新をすることができ、ソフトウェアの保守性をより向上させることができる。
【００３４】
［メインＣＰＵによる制御機能］
図２は、本発明の実施の形態に係る電子機器装置３０のメインＣＰＵ３２による制御機能を説明するためのフロー図である。
【００３５】
ＵＳＢケーブル２１で接続された上位装置１０と電子機器装置３０とにおいて、電子機器装置３０に電源が供給されると、メインＣＰＵ３２は、エニミュレーション、つまり、ＵＳＢ規格に定めた電子機器装置３０が上位装置１０に接続された際の起動処理を実行してその処理が完了したかどうかを判断する（ステップＳ２０１）。より具体的には、このエニミュレーションは、例えば、上位装置１０と電子機器装置３０とがＵＳＢケーブル２１で接続されると、上位装置１０は、電子機器装置３０を識別する固有番号を付与され、この固有番号に基づき、上位装置１０と電子機器装置３０との間で通信等が行われる。なお、エニミュレーションとは、ＵＳＢ規格で定義された通信確立手順のことであり、具体的な手順は公知であるので、ここでの詳細な説明は省略する。
【００３６】
エニミュレーション処理が完了後、電子機器装置３０のメインＣＰＵ３２の初期化が行われる。ここで、初期化とは、電子機器装置３０が使用可能な状態となるように準備を行うための動作をいい、この初期化動作は、電子機器装置３０の電源投入時、始業開始前あるいは所定のエラー処理後等に行われる。例えば、電子機器装置３０内のＲＯＭ／ＲＡＭチェック、ポート設定、変数設定等のソフトウェア処理のことをいう。初期化を行った後に、初期化完了信号をセットして（ステップＳ２０２）、ＣＰＵの出力ポートをＯＮ（Ｈｉｇｈ）にする。
【００３７】
エニミュレーションと初期化が完了すると、メインＣＰＵ３２は上位装置１０からの指令に従って電子機器装置３０の主機能の処理を実行する（ステップＳ２０３）。主機能の処理とは、例えば、電子機器装置３０としてカードリーダーを採用する場合には、カードの読み取り機能、取り込み機能等、カードのリード／ライトに付随するすべての機能を発揮する。
【００３８】
メインＣＰＵ３２は、サブＣＰＵ３６からの生存確認信号がセットされたか否かを判断し（ステップＳ２０４）、生存確認信号がセットされたと判定すれば生存確認信号をクリアする一方（ステップＳ２０５）、生存確認信号がセットされていないと判定すれば処理をステップＳ２０３に戻して、電子機器装置３０の主機能の処理を実行する。例えば、サブＣＰＵ３６がメインＣＰＵ３２に対して生存確認信号を送信し、メインＣＰＵ３２は生存確認信号がセットされた状態となり、この生存確認信号がセット（送信）された時点から所定の異常判断時間が経過するまでに、メインＣＰＵ３２から生存確認信号に対する所定の応答信号を受信すれば、サブＣＰＵ３６は、セットされた状態がクリアされた状態となり、サブＣＰＵ３６はメインＣＰＵ３２の動作が正常であると判断する。もし、異常判断時間内に応答信号を受信できなければ、サブＣＰＵ３６はメインＣＰＵ３２に暴走や故障などの異常が発生したと判断する。
【００３９】
［サブＣＰＵによる監視機能］
図３は、本発明の実施の形態に係る電子機器装置３０のサブＣＰＵ３６による動作監視機能を説明するためのフロー図である。
【００４０】
ＵＳＢケーブル２２で接続された上位装置１０と電子機器装置３０とにおいて、サブＣＰＵ３６は、上述のエニミュレーションを実行してその処理が完了したかどうかを判断する（ステップＳ３０１）。次いで、サブＣＰＵ３６の初期化を行った後に、初期化完了信号をセットする（ステップＳ３０２）。
【００４１】
エニミュレーションと初期化が完了すると、サブＣＰＵ３６は電子機器装置３０の電源がＯＮ状態になっているか否かを判断し（ステップＳ３０３）、電源がＯＮ状態になっていないと判定すると、ＯＮ状態になるまでステップＳ３０３の処理を繰り返す。ステップＳ３０３にて電子機器装置３０の電源がＯＮ状態になっていると判定すると、初期化監視タイマーを例えば５秒間にセットする（ステップＳ３０４）。
【００４２】
サブＣＰＵ３６による初期化監視タイマーのセットが完了すると、メインＣＰＵ３２の初期化が完了したか否かを判断し（ステップＳ３０５）、初期化が完了したと判定すると、ステップＳ３０９に処理を進める一方、初期化が完了していないと判定すると、初期化監視タイマーがタイムアップしたか否かをサブＣＰＵ３６は判定する（ステップＳ３０６）。なお、ステップＳ３０５においてサブＣＰＵ３６は初期化が完了したと判定すると、メインＣＰＵ３２にその旨が通知され、メインＣＰＵ３２は初期化完了信号をセットすることになる（図２のステップＳ２０２）。
【００４３】
ステップＳ３０６にて初期化監視タイマーがタイムアップしていない、すなわち、上記例示した５秒間を経過していないと判定すると、処理をステップＳ３０５に戻し、メインＣＰＵ３２の初期化が完了したか否かを判断する。一方、ステップＳ３０６にて初期化監視タイマーがタイムアップした、すなわち、上記例示した５秒間を経過したと判定すると、後述するリセット処理（ステップＳ３０７）や電源ＯＮ／ＯＦＦ処理（ステップＳ３０８）を実行する。
【００４４】
ステップＳ３０９においては、サブＣＰＵ３６は生存確認タイマーを例えば１秒間にセットする。次いで、サブＣＰＵ３６はメインＣＰＵ３２に対して生存確認信号をセットする（ステップＳ３１０）。メインＣＰＵ３２に生存確認信号がセットされたか否かは、図２のステップＳ２０４にて判断される。
【００４５】
次いで、サブＣＰＵ３６は生存確認信号がクリアされたか否かを判断する（ステップＳ３１１）。これは、図２のステップS２０５において、メインＣＰＵ３２は生存確認信号をクリアすると、サブＣＰＵ３６は生存確認信号がクリアされたと判定し、処理をステップＳ３０９に戻す。
【００４６】
一方、ステップＳ３１１において、生存確認信号がクリアされていないと判定すると、生存確認タイマーがタイムアップしたか否かをサブＣＰＵ３６は判定する（ステップＳ３１２）。ステップＳ３０６にて生存確認タイマーがタイムアップしていない、すなわち、上記例示した１秒間を経過していないと判定すると、処理をステップＳ３１１に戻し、メインＣＰＵ３２にて生存確認信号がクリアされたか否かを判断する。一方、ステップＳ３１２にて生存確認タイマーがタイムアップした、すなわち、上記例示した１秒間を経過したと判定すると、後述するリセット処理（ステップＳ３１３）や電源ＯＮ／ＯＦＦ処理（ステップＳ３１４）を実行する。
【００４７】
このように、動作監視機能を有するサブＣＰＵ３６は、メインＣＰＵ３２の初期化が完了したか否かを監視して初期化が正常に完了していない場合や、メインＣＰＵ３２の生存確認を監視して生存確認ができない場合には、メインＣＰＵ３２のリセット処理や電源ＯＮ／ＯＦＦ処理を実行することができるので、電子機器装置３０の通信不具合や機能不具合が発生しても、上位装置１０の再起動若しくはシャットダウンといった上位装置１０による復旧を試みることなく、電子機器装置３０自体で自己復旧を図ることができることから、電子機器装置を安定して動作させることができる
【００４８】
［リセット処理］
図４は、本発明の実施の形態に係る電子機器装置３０のサブＣＰＵ３６で実行されるリセット処理（ステップＳ３０７，ステップＳ３１３）の内容を説明するためのフロー図である。
【００４９】
まず、電子機器装置３０のリセット、すなわちメインＣＰＵ３２をリセットするために、リセット信号を入力する（ステップＳ４０１）。リセット信号は、サブＣＰＵ３６の指令によってリセット回路３３で生成された後に、メインＣＰＵ３２に入力される。
【００５０】
次いで、初期化監視タイマーを例えば５秒間にセットする（ステップＳ４０２）。サブＣＰＵ３６による初期化監視タイマーのセットが完了すると、メインＣＰＵ３２の初期化が完了したか否かを判断し（ステップＳ４０３）、初期化が完了したと判定すると、本サブルーチンを終了する。一方、初期化が完了していないと判定すると、初期化監視タイマーがタイムアップしたか否かをサブＣＰＵ３６は判定する（ステップＳ４０４）。
【００５１】
ステップＳ４０４にて初期化監視タイマーがタイムアップしていない、すなわち、上記例示した５秒間を経過していないと判定すると、処理をステップＳ４０３に戻し、メインＣＰＵ３２の初期化が完了したか否かを判断する。一方、ステップＳ４０４にて初期化監視タイマーがタイムアップした、すなわち、上記例示した５秒間を経過したと判定すると、上位装置１０に異常を通知して、電子機器装置３０の電源をＯＦＦ状態にする（ステップＳ４０５）。本サブルーチンを終了する。
【００５２】
［電源ＯＮ／ＯＦＦ処理］
図５は、本発明の実施の形態に係る電子機器装置３０のサブＣＰＵ３６で実行される電源ＯＮ／ＯＦＦ処理（ステップＳ３０８，ステップＳ３１４）の内容を説明するためのフロー図である。
【００５３】
まず、電子機器装置３０の電源を入れ直すために、メインＣＰＵ３２に対しての電源をＯＦＦにした後、ＯＮの電源信号を入力する（ステップＳ５０１）。電源ＯＮ／ＯＦＦ信号は、サブＣＰＵ３６の指令によって電源回路３４で生成された後に、メインＣＰＵ３２に入力される。
【００５４】
次いで、初期化監視タイマーを例えば５秒間にセットする（ステップＳ５０２）。
【００５５】
サブＣＰＵ３６による初期化監視タイマーのセットが完了すると、メインＣＰＵ３２の初期化が完了したか否かを判断し（ステップＳ５０３）、初期化が完了したと判定すると、本サブルーチンを終了する。一方、初期化が完了していないと判定すると、初期化監視タイマーがタイムアップしたか否かをサブＣＰＵ３６は判定する（ステップＳ５０４）。
【００５６】
ステップＳ５０４にて初期化監視タイマーがタイムアップしていない、すなわち、上記例示した５秒間を経過していないと判定すると、処理をステップＳ５０３に戻し、メインＣＰＵ３２の初期化が完了したか否かを判断する。一方、ステップＳ５０４にて初期化監視タイマーがタイムアップした、すなわち、上記例示した５秒間を経過したと判定すると、上位装置１０に異常を通知して、電子機器装置３０の電源をＯＦＦ状態にする（ステップＳ５０５）。
【００５７】
［実施の形態の主な効果］
このように、メインＣＰＵ３２に対するサブＣＰＵ３６からの電源ＯＮ／ＯＦＦ処理によって、電子機器装置３０自体が電源のＯＮ／ＯＦＦ処理を実行することができるので、電子機器装置３０の通信不具合や機能不具合が発生しても、上位装置１０の再起動若しくはシャットダウンといった上位装置１０による復旧を試みることなく、電子機器装置３０自体で自己復旧を図ることができる。このため、電子機器装置を安定して動作させることができる。また、メインＣＰＵ３２に対するサブＣＰＵ３６からのリセット処理又は電源ＯＮ／ＯＦＦ処理によっても自己復旧できない場合は、上位装置１０に電子機器装置３０の異常を通知して、電子機器装置３０の電源をＯＦＦ状態にすることにより、上位装置１０の再起動若しくはシャットダウン等による上位装置による復旧を試みることができる。すなわち、上位装置１０が電子機器装置３０の状態を監視するのみならず、電子機器装置３０が上位装置１０の状態を監視することによって監視状態の相互補完を実現しており、上位装置１０は電子機器装置３０の異常を検出すると再起動させることができ、電子機器装置３０は上位装置１０の異常を検出すると第２の汎用性通信手段を使って上位装置１０に通知する。
【００５８】
［他の実施の形態］
なお、本発明の実施の形態によれば、第２の汎用性通信手段としてＵＳＢ接続を用いたが、ＵＳＢ接続をイーサーネット（登録商標）接続に変更することで、ネットワーク経由での状態監視機能の実現も可能である。例えば、上位装置１０の基に複数の電子機器装置３０が接続される場合には、ネットワーク経由で複数の電子機器装置３０の状態監視を上位装置１０で一括管理することが可能である。
【００５９】
また、上述では、サブＣＰＵ３６がメインＣＰＵ３２の状態を監視する電子機器装置３０の状態監視を主眼として説明したが、メインＣＰＵ３２がサブＣＰＵ３６の状態を監視する機能を付加して、相互監視をすることで、さらに動作安定性を向上させることができる。すなわち、相互監視とは、メインＣＰＵ３２とサブＣＰＵ３６とがお互いに状態を監視しており、お互いに前述した生存確認を行う。この場合には、リセット信号は、メインＣＰＵ３２の指令によってリセット回路３７で生成された後に、サブＣＰＵ３６に入力され、電源ＯＮ／ＯＦＦ信号は、メインＣＰＵ３２の指令によって電源回路３８で生成された後に、サブＣＰＵ３６に入力される。
【００６０】
また、電子機器装置３０の電源ＯＮ／ＯＦＦ制御やリセット制御、更にはソフトウェアの更新制御用にサブＣＰＵ３６を搭載したことにより、上位装置からの要求に応じて電子機器装置３０の電源ＯＮ／ＯＦＦ、メインＣＰＵ３２のリセットを行うことが可能となる。
【００６１】
なお、上位装置１０からサブＣＰＵ３６は、仮想ＣＯＭポート又はＨＩＤデバイスとして制御することも可能であり、仮想ＣＯＭポートとしてサブＣＰＵ３６を実装した場合は、従来の接続方式でそのまま使用可能となり、ＨＩＤデバイスとして実装した場合は、別にコマンド体系を実装して制御することが可能となる。
【００６２】
また、本実施形態では上位装置と電子機器装置を１対１で接続しているが、上位装置と複数の電子機器装置というように１対多数の場合でもよく、ＵＳＢ接続に限らずにイーサーネット接続であってもよい。
【産業上の利用可能性】
【００６３】
本発明は、汎用の通信手段を用いて動作安定性を向上させ、また、監視状態の相互補完を実現して動作安定性をより向上させた電子機器装置として有用である。
【符号の説明】
【００６４】
１０  上位装置
１１  ＵＳＢホストコントローラ
２１，２２  ＵＳＢケーブル
３１，３５  ＵＳＢデバイスコントローラ
３２  メインＣＰＵ
３３，３７  リセット回路
３４，３８  電源回路
３６  サブＣＰＵ
【図１】
0005682007.tif 000002
【図２】
0005682007.tif 000003
【図３】
0005682007.tif 000004
【図４】
0005682007.tif 000005
【図５】
0005682007.tif 000006