(57)【特許請求の範囲】
【請求項１】
複数のキーが配列されたキーパネルと、
前記キーパネルをスキャンして、前記キーパネルの操作状態に関するキースキャン情報を取得する外部回路と、
前記外部回路と独立して動作し、前記外部回路と送受信可能に接続されたＣＰＵと、を備え、
前記外部回路は、前記キーが押下されると割込信号を前記ＣＰＵに送信し、前記ＣＰＵは、前記割込信号を受信すると前記キースキャン情報の取得を要求する要求信号を前記外部回路に送信し、
前記外部回路は、前記キーが押下されて前記割込信号を前記ＣＰＵに送信した後に、所定時間以内に前記要求信号を受信しない場合に、前記ＣＰＵがフリーズ状態にあると判定し、
前記外部回路は、前記ＣＰＵがフリーズ状態にある状態で所定のキーが押下された場合に、前記ＣＰＵにリセット信号を送信してリセットするリセット手段を備える、
ことを特徴とするリセット機能付き電子機器。
【請求項２】
任意の前記キーを前記所定のキーとして設定自在となっている、
ことを特徴とする請求項１記載のリセット機能付き電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器が動作中にフリーズしたとき、ＣＰＵをリセットして再起動するための機能を備えた、リセット機能付き電子機器に関する。
【背景技術】
【０００２】
パソコンや携帯電話やスマートフォン等の電子機器は、その使用中に様々な原因によりフリーズ（「ハングアップ」、「ストール」、「暴走」、または「固まる」等といわれることもあるが、本願では「フリーズ」で統一する。）といわれる状態になり、外部操作に対して反応しなくなり、正常な操作ができなくなる事態が発生することがある。
【０００３】
ここで、フリーズした電子機器をリセットして、フリーズ状態から解放し、正常な状態に戻すためには、例えば、電子機器の電源を切断したり、電池を外したりするなどして、強制的に当該電子機器を停止させた後、電源の接続、電池の再装着を行い、再起動させる方法がある。また、ＣＰＵのウォッチドッグタイマ（ＷＤＴ）により、定期的にプログラムの動作状態の監視を行い、フリーズが発生した場合には、自動的にリセットを行わせる方法もある。
【０００４】
さらに、電源キーや、リセットスイッチ等の特定の押しボタン式スイッチを、使用者が一定時間押下することで、リセットを行う方法がある（例えば、特許文献１〜３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２６７１８８号公報
【特許文献２】特開２００８−３７６８号公報
【特許文献３】特開２００４−１４０４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上記の従来のリセット方法、例えば、電源の切断・接続による方法は、電源コンセントが外しにくい場所（例えば事務機器の裏など）にある場合には不便であり、電池の装脱着による方法は、作業中に電池を無くしたり、壊したりする危険性がある。また、後者は特に、防水機構搭載タイプの携帯端末の場合には、電池を脱着しにくい構造になっているため、さらに不便となり、使用者の作業効率を低下させる原因となっている。
【０００７】
一方、ＷＤＴを使用したリセット方法については、ブラウザやメーラー、無線制御、ユーザーインターフェースなど、複数のタスクが同時に起動している状態において、ＷＤＴが監視できないタスクでフリーズが発生すると、ＷＤＴが正常に機能せず、フリーズ状態から脱することができない場合がある。
【０００８】
さらに、特許文献１〜３に記載された先行技術は、上記のとおり、使用者が特定のキーを一定時間長押しすることで、リセットが行われるものであるが、押下する時間は使用者の感覚に左右されるため、誤動作の原因となる恐れがある。また、既存のキーではなく、専用のリセットキーによりリセットを行う場合、当該キーは、使用者が誤って押下することを防止するために、形状や設置場所を、不用意に押せないものにする必要があるため、使用者の利便性に欠ける上、そもそも当該キーの設置が構造上、実現困難な場合がある。
【０００９】
そこで本発明は、簡便な操作により、容易・確実かつ安全にＣＰＵのリセットと再起動ができる、リセット機能付き電子機器を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、請求項１の発明は、リセット機能付き電子機器であって、複数のキーが配列されたキーパネルと、前記キーパネルをスキャンして、前記キーパネルの操作状態に関するキースキャン情報を取得する外部回路と、前記外部回路と独立して動作し、前記外部回路と送受信可能に接続されたＣＰＵと、を備え、前記外部回路は、前記キーが押下されると割込信号を前記ＣＰＵに送信し、前記ＣＰＵは、前記割込信号を受信すると前記キースキャン情報の取得を要求する要求信号を前記外部回路に送信し、前記キーが押下されて前記割込信号を前記ＣＰＵに送信した後に、所定時間以内に前記要求信号を受信しない場合に、前記ＣＰＵがフリーズ状態にあると判定し、前記外部回路は、前記ＣＰＵがフリーズ状態にある状態で所定のキーが押下された場合に、前記ＣＰＵにリセット信号を送信してリセットするリセット手段を備える、ことを特徴とする。
【００１１】
この発明によれば、電子機器が正常に作動している状態では、外部回路とＣＰＵは、キーが押下されることでキースキャン情報の送受信をする。一方、ＣＰＵと外部回路の通信が一定時間以上行われない場合、外部回路は、ＣＰＵがフリーズしていると判断する。ＣＰＵがフリーズしている場合において、押下されたキーが所定のキーであるときは、外部回路は、リセット手段により、ＣＰＵのリセットを行う。
【００１２】
請求項２記載の発明は、請求項１記載のリセット機能付き電子機器であり、任意の前記キーを前記所定のキーとして設定自在となっている、ことを特徴とする。
【００１３】
この発明によれば、任意の既設のキーが、リセットキーとして予め設定される。
【発明の効果】
【００１４】
請求項１記載の発明によれば、リセットキーである所定のキーが押された後、外部回路とＣＰＵの通信が行われない場合、つまりＣＰＵがフリーズしている場合にのみ、ＣＰＵがリセットされる。一方、正常に動作している状態ではＣＰＵと外部回路はキースキャン情報の通信を開始し、ＣＰＵはリセットされないため、押し間違えや、押し時間の過不足等に伴う誤動作の心配がなく、安全にリセットを行うことが可能となる。
【００１５】
また、外部回路はＣＰＵやその他のハードウェア、ソフトウェアとは、物理的にも機能的にも独立した構成となっているため、たとえＣＰＵがフリーズしたとしても、外部回路は正常に動作を続けるので、確実にＣＰＵのリセットを行うことができる。
【００１６】
さらに、ＷＤＴによらずにリセットを行うため、多数のタスクを同時に起動している場合に、ＷＤＴが監視していないタスクにおいてフリーズが発生した場合でも、確実にリセットを行うことが可能となる。
【００１７】
さらには、電源の切断や電池の取り外しを行う必要がないため、電子機器の設置場所や構造的特徴に左右されることなく、簡便かつ安全にリセットを行うことが可能となる。
【００１８】
また、請求項２記載の発明によれば、正常動作中に予めＣＰＵにて設定した既設のキーをリセットキーとして使用するため、専用のリセットキーを使用するときの課題であった構造上の困難や使用上の不便さは解消される。しかも、任意のキーを所定のキーとして設定自在なため、利便性が高まり、使用者が所定のキーを間違えて押下しないように設定したり、外部から偶然に所定のキーが押下されないように設定したりすることが可能となる。
【図面の簡単な説明】
【００１９】
【図１】この発明の実施の形態に係る電子機器の、リセット用の外部回路周りの概略構成ブロック図である。
【図２】図１の電子機器における、外部回路のタスクフロー図である。
【図３】ＣＰＵが正常に動作しているときの、外部回路とＣＰＵの通信動作のフロー図である。
【図４】ＣＰＵがフリーズしているときの、外部回路のリセット動作のフロー図である。
【発明を実施するための形態】
【００２０】
以下、この発明を図示の実施の形態に基づいて説明する。
【００２１】
図１は、リセット機能付き電子機器１の、リセット用の外部回路周りの概略構成ブロック図である。このリセット機能付き電子機器１は、複数のキーが配列されているキーパネル２と、外部回路としてのＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）３と、ＣＰＵ４を備え、キーパネル２とＦＰＧＡ３およびＦＰＧＡ３とＣＰＵ４とが、送受信可能・データ伝送可能に接続されている。
【００２２】
キーパネル２は、複数のキー２１が配列されたパネルであり、ＦＰＧＡ３によってキー２１の押下状態がスキャンされるようになっている。
【００２３】
ＦＰＧＡ３は、所定のプログラムを搭載した集積回路・デバイスであり、キースキャン回路３１とリセット回路３２とを備えている。キースキャン回路３１は、キーパネル２をスキャンして、キー２１の押下状態に関するキースキャン情報を取得する回路であり、既存のキースキャン回路と同等の構成となっている。すなわち、キーパネル２を列ごとにスキャンして、キー列データを順次取得することで、どのキー２１が押下されているかを示すキースキャン情報を取得する。このようなキースキャン情報は、後述するキースキャン動作において、キー列データとして順次ＣＰＵ４に送信される。
【００２４】
リセット回路３２は、リセット信号（リセット手段）を生成してＣＰＵ４に送信する回路であり、後述するように、フリーズ状態中に特定キー（所定のキー）２１Ａが押下された場合に、リセット信号の生成、送信を行う。
【００２５】
また、ＦＰＧＡ３は、ＣＰＵ４から送信された特定キー２１Ａを記憶するメモリ・回路を備えている。すなわち、ＣＰＵ４から送られるリセット用の特定キー２１Ａの情報をメモリに記憶する。ここで、特定キー２１Ａとしては、任意のキー２１を特定キー２１Ａとして設定自在となっている。すなわち、リセット機能付き電子機器１を操作して、任意のキー２１をリセット用の特定キー２１Ａに選択、設定すると、このキー２１が特定キー２１ＡとしてＣＰＵ４からＦＰＧＡ３に送信される。ここで、本実施形態では、特定キー２１Ａは複数のキーの組み合わせであり、リセット信号を発信するためには、これらを同時に押下するものとした。
【００２６】
ＦＰＧＡ３は、自動スキャンモードと手動スキャンモードとを有し、通常は自動スキャンモードとなっている。そして、ＣＰＵ４がフリーズしていない（通常スキャン動作）状態で、自動スキャンモード中にいずれかのキー２１が押下されると、割込信号をＣＰＵ４に送信する。ＣＰＵ４からＦＰＧＡ３に手動スキャン設定信号が送信されると、ＦＰＧＡ３は手動スキャンモードに移行する。以降、要求信号（キーｎ列目設定、ｎは正の整数）が送信される度に、順次、ＦＰＧＡ３からＣＰＵ４にキースキャン情報をＣＰＵ４に送信する。
【００２７】
一方、何らかのキー２１が押されて、一定時間以内にＣＰＵ４からＦＰＧＡ３に要求信号が送信されない場合、ＦＰＧＡ３はＣＰＵ４がフリーズ状態にあると判定する。この状態で特定キー２１Ａが同時に押下されると、ＦＰＧＡ３の内部のリセット回路３２は、ＣＰＵ４にリセット信号を送信し、ＣＰＵ４をリセットする。
【００２８】
ＦＰＧＡ３は、手動スキャンモードでキー２１が操作されている間に、一定時間以上ＣＰＵ４との間で通信が行われなくなった場合には、自動的に自動スキャンモードに移行し、リセット信号を送信するための特定キー２１Ａをスキャンする。
【００２９】
ＣＰＵ４は、ＦＰＧＡ３から受信したキースキャン情報に基づいて、つまり、どのキー２１が押下されたかに基づいて、所定の処理を行ったりする回路であり、ＦＰＧＡ３とは別個独立して動作する回路である。従って、ＣＰＵ４が起動していない状態でもＦＰＧＡ３が起動している場合があり、逆に、ＦＰＧＡ３が起動していない状態でもＣＰＵ４が起動している場合がある。
【００３０】
また、ＣＰＵ４は通常は、ＦＰＧＡ３から送られてくるキースキャン情報のみでなく、様々なタスクを同時に実行している。ただし、フリーズしている状態では、タスク処理ができないため、ＦＰＧＡ３から送られてくるハードリセット信号により再起動する手段しかフリーズから復旧する方法がない。
【００３１】
次に、本構成である、リセット機能付き電子機器１の作用について説明をする。
【００３２】
図２は、ＦＰＧＡ３のリセットタスクフローである。
【００３３】
先ず、キーパネル２の何れかのキー２１が押下されると（ステップＳ１）、ＦＰＧＡ３は、通常の状態では一定時間以内にＣＰＵ４からキースキャン情報の要求信号を受け取る。一方、通信を開始しない場合には、ＣＰＵ４がフリーズしていると判定する（ステップＳ２）。
【００３４】
次に、ＦＰＧＡ３は、ステップＳ１で押下されたキー２１が特定キー２１Ａであるかどうかを判定する（ステップＳ３）。特定キー２１Ａである場合には、ＦＰＧＡ３は、ＣＰＵ４にリセット信号を発して、ＣＰＵ４をリセットさせる（ステップＳ４）。一方、押下されたキー２１が特定キー２１Ａでない場合には、ＣＰＵ４はリセットされない。
【００３５】
次に、図３に示すように、ＣＰＵ４が正常に動作しているときは、キーパネル２のうち、何れのキー２１も押下されていない状態では、ＦＰＧＡ３は、自動スキャンモードにあり、ＣＰＵ４と通信を行わないが、何れかのキー２１が押下されると、ＦＰＧＡ３は、ＣＰＵ４に対し、その実行中の他のタスクへの割込（割込信号）を発生させる（ステップＳ５）。割込を受けたＣＰＵ４は、ＦＰＧＡ３を手動スキャン設定（ステップＳ６）する。ＦＰＧＡ３は、自動スキャンモードから手動スキャンモードに移行し、ＣＰＵ４からのリードタイミングによりキースキャンを行い、キースキャン情報をＣＰＵ４に送信する。
【００３６】
この手動スキャンモードにおけるキースキャンでは、ＣＰＵ４はまず、キーパネル２の配列の１列目を設定し、ＦＰＧＡ３に１列目のキースキャン情報の要求信号を送信する（ステップＳ７）。設定された１列目のキー２１は、ＣＰＵ４との間でそのデータを送受信し（ステップＳ８、ステップＳ９）、同様の通信を、順次キーパネル２のｎ列目（ｎは正の整数）まで繰り返す（ステップＳ１０〜Ｓ１２）。そして、キースキャン情報に基づく押下キー２１の種類・識別に従って、ＣＰＵ４において所定の処理（キー押下処理）が行われる。また、キーパネル２がリリースされ、ＦＰＧＡ３からキースキャン情報が送られなくなったら、ＣＰＵ４はキースキャン情報の要求信号の送信を停止して、ＦＰＧＡ３に対して自動スキャンモードを設定する（ステップＳ１３）。もしくはＣＰＵ４がキースキャン情報の要求信号の送信を停止してから一定時間が経過すると、ＦＰＧＡ３は、自動的に自動スキャンモードに復帰する。
【００３７】
次に、図４に示すように、ＣＰＵ４がフリーズしているときは、ＣＰＵ４がキー２１の操作に反応しないため、キー２１を押下して割込（ステップＳ５）をしようとしても、ＣＰＵ４からは要求信号は発せられない。一方、押下されたキー２１が、特定キー２１Ａであるときには（ステップＳ１４）、ＦＰＧＡ３は、リセット信号をＣＰＵ４に送信するという、リセット動作を行い（ステップＳ１５）、ＣＰＵ４をリセットする（ステップＳ４）。
【００３８】
以上のように、このリセット機能付き電子機器１によれば、所定のキー２１Ａが押された後、ＦＰＧＡ３とＣＰＵ４の通信が行われない場合にのみ、ＣＰＵ４はリセットされる。一方、正常に動作している状態では、ＦＰＧＡ３とＣＰＵ４はキースキャン情報の送受信を開始し、ＣＰＵ４はリセットされないため、押し間違えや、押し時間の過不足等に伴う誤動作の心配がなく、安全にリセットを行うことが可能となる。
【００３９】
また、ＦＰＧＡ３はＣＰＵ４やその他のハードウェア、ソフトウェアとは、物理的にも機能的にも独立した構成となっているため、たとえＣＰＵ４がフリーズしたとしても、ＦＰＧＡ３は正常に動作を続けるので、確実にＣＰＵ４のリセットを行うことができる。
【００４０】
さらに、ＷＤＴによらずにリセットを行うため、多数のタスクを同時に起動している場合に、ＷＤＴが監視していないタスクにおいてフリーズが発生した場合でも、確実にリセットを行うことが可能となる。
【００４１】
さらには、電源の切断や電池の取り外しを行う必要がないため、電子機器の設置場所や構造的特徴に左右されることなく、簡便かつ安全にリセットを行うことが可能となる。
【００４２】
また、正常動作中に予めＣＰＵ４にて設定した既設のキー２１を特定キー２１Ａとして使用するため、専用のリセットキーを使用するときの課題であった構造上の困難や使用上の不便さは解消される。しかも、任意のキー２１を所定のキー２１Ａとして設定自在なため、利便性が高まり、使用者が所定のキー２１Ａを間違えて押下しないように設定したり、外部から偶然に所定のキー２１Ａが押下されないように設定したりすることが可能となる。
【００４３】
以上、この発明の実施の形態について説明したが、具体的な構成は、上記の実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があっても、この発明に含まれる。例えば、本実施形態では、外部回路は、ＦＰＧＡ３としたが、これに限らずその他の集積回路、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＣＳＳＰ（Ｃｕｓｔｏｍｅｒ  Ｓｐｅｃｉｆｉｃ  Ｓｔａｎｄａｒｄ  Ｐｒｏｄｕｃｔｓ、登録商標）などで構成してもよい。
【００４４】
また、キーパネル２は、必ずしもパソコンのキーボードや、携帯電話の操作ボタン、電源ボタンのように、機械的に押下するタイプに限られず、タブレット型ＰＣやスマートフォンのように、タッチパネル式のキーでもよく、勿論両者の組み合わせでもよい。
【００４５】
さらに、特定キー２１Ａを押下する時間は従来技術のように長くても良いし、通常キー操作をするときのように、短くとも良い。また、特定キー２１Ａは必ずしも複数のキー２１の組み合わせに限られず、１個であっても良い。さらに、複数のキー２１を特定キー２１Ａとした場合においても、リセット動作実行のための操作は全てを同時に押下する方法に限られず、例えばパスワードのように、順次に押下する方法であってもよい。
【００４６】
さらには、本実施形態では、リセット手段としては、リセット信号によりＣＰＵ４をリセットさせる形態を採ったが、これに限られず、例えば、リセット機能付き電子機器１の電源を強制的にシャットダウンしたり、ＦＰＧＡ３からリセット信号を受け取った別のＦＰＧＡが、ＣＰＵ４のリセットや、リセット機能付き電子機器１のシャットダウンを行ったりしてもよい。
【符号の説明】
【００４７】
１            リセット機能付き電子機器
２            キーパネル
２１          キー
２１Ａ        特定キー（所定のキー）
３            ＦＰＧＡ（外部回路）
４            ＣＰＵ
Ｓ４          リセット
Ｓ５          割込発生（割込信号）
Ｓ６          手動スキャン設定
Ｓ７          キー１列目設定（要求信号）
Ｓ８          キーｎ列目設定（要求信号）
Ｓ１５        特定キー押下（所定のキー押下）
【図１】
0006335682.tif 000002
【図２】
0006335682.tif 000003
【図３】
0006335682.tif 000004
【図４】
0006335682.tif 000005