(57)【要約】【課題】ハードウェアスイッチによる再起動を可能にするとともに、再起動時には再起動による悪影響がないようにする。【解決手段】リセットスイッチ１によるリセット信号を、一方は、遅延回路２で所定の遅延時間だけ遅延してＣＰＵ４のリセット端子９にマスクスイッチ３を介して供給し、他方は、ＣＰＵ４の汎用入出力端子１０に供給する。汎用入出力端子１０のリセット信号をリセット信号検出部５が検出すると、処理状態監視部６が監視対象を監視する。監視対象が遅延時間内に処理が完了するか、処理状態監視部６のハングアップ時には、遅延されたリセット信号でリセットが行われる。遅延時間内に処理が完了していなければ、マスクスイッチ３でリセット信号を無効化し、処理完了を待ってＯＳの機能によるリセット処理が行われる。リセット信号の無効化後における処理状態監視部６のハングアップ時には、ウォッチドッグタイマ８によるリセット処理が行われる。【選択図】図１
2014203087.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアスイッチのリセットスイッチと、
前記リセットスイッチにより出力された第１のリセット信号を所定の遅延時間だけ遅延した第２のリセット信号を出力する遅延回路と、
前記遅延回路の出力に設置されてプロセッサのリセット端子に入力される前記第２のリセット信号をマスクすることができるマスクスイッチと、
前記第１のリセット信号の入力を検知するリセット信号検出部と、
前記リセット信号検出部による前記第１のリセット信号の検出を契機に監視対象の監視処理状態を監視する処理状態監視部と、
前記処理状態監視部による監視にて前記監視対象の処理が前記所定の遅延時間未満の設定時間を経過したときに前記マスクスイッチをオープン制御するマスクスイッチ制御部と、
を備えていることを特徴とする携帯端末の再起動装置。
【請求項２】
前記処理状態監視部のハングアップによりタイムアップしたときに前記プロセッサをリセットするウォッチドッグタイマをさらに備えていることを特徴とする請求項１記載の携帯端末の再起動装置。
【請求項３】
前記処理状態監視部は、前記監視対象が前記設定時間を超えて処理完了を検知したとき、オペレーティングシステムに再起動を依頼し、前記オペレーティングシステムにより前記プロセッサをリセットすることを特徴とする請求項１または２記載の携帯端末の再起動装置。
【請求項４】
前記リセット信号検出部は、前記プロセッサに設けられた汎用入出力端子を介して前記第１のリセット信号を入力することを特徴とする請求項１ないし３のいずれか１項に記載の携帯端末の再起動装置。
【請求項５】
ハードウェアスイッチによる第１のリセット信号を受けて監視対象の処理状態の監視を開始するとともに前記第１のリセット信号を所定時間遅延し、
前記監視対象の処理状態の監視において、前記監視対象の処理状態が前記所定時間よりも短い設定時間内に完了しているか否かを判断し、
前記監視対象の処理状態が前記設定時間内に完了しているとき、前記第１のリセット信号を遅延した第２のリセット信号によりリセット処理をし、前記監視対象の処理状態が前記設定時間内に完了していないときには、前記第２のリセット信号を無効にして前記監視対象の処理が完了したときにオペレーティングシステムによるリセット処理をする、
ことを特徴とする携帯端末の再起動方法。
【請求項６】
前記監視対象の処理状態の監視中に前記オペレーティングシステムによるリセット処理ができなくなったとき、事前に起動していたウォッチドッグタイマにより、リセット処理をするようにしたことを特徴とする請求項５記載の携帯端末の再起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は携帯端末の再起動装置および再起動方法に関し、特に倉庫業務、電気・ガスなどの検針業務、宅配業務などに使用される業務用の携帯情報端末のような携帯端末に適用して好適な携帯端末の再起動装置および再起動方法に関する。
【背景技術】
【０００２】
ハンドヘルドターミナルのような携帯端末は、電源投入後にフラッシュメモリに格納されたオペレーティングシステム（ＯＳ：Operating System）イメージをＲＡＭ（Random Access Memory）上に展開することにより、ＯＳを実行している。この方式では、携帯端末の稼働中は、ＯＳのロード状態を維持する必要があるため、バッテリからＲＡＭに電源を供給しておく必要がある。
【０００３】
このような携帯端末においては、ソフトウェアの不具合が発生した場合に、ＲＡＭを初期化せずに携帯端末を再起動させる手段として、リセットスイッチが用意されている（たとえば、特許文献１参照）。リセットスイッチは、ハードウェア的にＣＰＵ（Central Processing Unit）のリセット端子に直結されているため、ソフトウェアが完全に動作不可の状態でも、リセットスイッチを押下することにより携帯端末を再起動させることができる。
【０００４】
これに対し、再起動させる別の手段として、バッテリの抜き差しによる再起動の方法もある。この場合、ＲＡＭが初期化されることにより、メモリチェックやデバイスおよびＯＳが完全な初期化状態となるため、起動にかかる時間は、リセットスイッチによる再起動よりも長くなる。このため、携帯端末に不具合が生じたときの復旧には、リセットスイッチが一般に用いられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１１１１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、リセットスイッチは、ＣＰＵのリセット端子にハードウェア的に直結されていて押下があった場合には強制的にＣＰＵをリセットしてしまうため、携帯端末が予期しないタイミングで再起動する可能性があるという問題点があった。このため、ソフトウェアの内部処理状態によっては、その後の動作に深刻な悪影響を及ぼす場合がある。たとえば、外部記録媒体へのリードライト処理中にリセットが行われると、キャッシュ済みデータを外部記録媒体に正しく吐き出すことができなくなるため、外部記録媒体のファイルシステムを壊してしまう場合がある。
【０００７】
本発明はこのような点に鑑みてなされたものであり、ハードウェアスイッチによる再起動を可能にするとともに、携帯端末の内部処理状態に応じて実際に再起動するタイミングを考慮し、再起動による悪影響がないようにした携帯端末の再起動装置および再起動方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記の課題を解決するために、ハードウェアスイッチのリセットスイッチと、前記リセットスイッチにより出力された第１のリセット信号を所定の遅延時間だけ遅延した第２のリセット信号を出力する遅延回路と、前記遅延回路の出力に設置されてプロセッサのリセット端子に入力される前記第２のリセット信号をマスクすることができるマスクスイッチと、前記第１のリセット信号の入力を検知するリセット信号検出部と、前記リセット信号検出部による前記第１のリセット信号の検出を契機に監視対象の監視処理状態を監視する処理状態監視部と、前記処理状態監視部による監視にて前記監視対象の処理が前記所定の遅延時間未満の設定時間を経過したときに前記マスクスイッチをオープン制御するマスクスイッチ制御部と、を備えていることを特徴とする携帯端末の再起動装置が提供される。
【０００９】
また、本発明によれば、ハードウェアスイッチによる第１のリセット信号を受けて監視対象の処理状態の監視を開始するとともに前記第１のリセット信号を所定時間遅延し、前記監視対象の処理状態の監視において、前記監視対象の処理状態が前記所定時間よりも短い設定時間内に完了しているか否かを判断し、前記監視対象の処理状態が前記設定時間内に完了しているとき、前記第１のリセット信号を遅延した第２のリセット信号によりリセット処理をし、前記監視対象の処理状態が前記設定時間内に完了していないときには、前記第２のリセット信号を無効にして前記監視対象の処理が完了したときにオペレーティングシステムによるリセット処理をする、ことを特徴とする携帯端末の再起動方法が提供される。
【００１０】
このような携帯端末の再起動装置および再起動方法によれば、リセットスイッチの押下から少なくとも遅延時間だけ待ち、その間に、内部処理が終了していれば、第２のリセット信号によるリセット処理を行う。遅延時間よりも短い設定時間を超えて内部処理が継続する場合は、第２のリセット信号を無効にして内部処理の完了時にオペレーティングシステムによるリセット処理をする。
【発明の効果】
【００１１】
上記構成の携帯端末の再起動装置および再起動方法は、リセットスイッチの押下時に処理中の内部処理があれば、その処理の完了を待ってリセット処理をするので、予期しないタイミングでの再起動によるデータ喪失を防ぐことができるという利点がある。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係る携帯端末の再起動装置の構成例を示す図である。
【図２】携帯端末におけるソフトウェアの構成例を示す図である。
【図３】再起動処理の制御フローを示すフローチャートである。
【図４】処理状態監視部の監視処理の制御フローを示すフローチャートである。
【図５】通常状態時における再起動の動作シーケンスを示す図である。
【図６】ソフトウェアハングアップ時における再起動の動作シーケンスを示す図である。
【図７】監視対象の処理時間が長い場合における再起動の動作シーケンスを示す図である。
【図８】監視継続中のハングアップ時における再起動の動作シーケンスを示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
図１は本発明の実施の形態に係る携帯端末の再起動装置の構成例を示す図である。
携帯端末の再起動装置は、リセットスイッチ１と、遅延回路２と、マスクスイッチ３と、ＣＰＵ４内のリセット信号検出部５、処理状態監視部６、マスクスイッチ制御部７およびウォッチドッグタイマ８とを備えている。なお、ＣＰＵ４は、特許請求の範囲におけるプロセッサに対応している。
【００１４】
リセットスイッチ１は、ユーザによる押下によってリセット信号を発生することが可能なハードウェアスイッチであり、携帯端末の任意の場所に設置されている。このリセットスイッチ１は、ＣＰＵ４のリセット端子９には直接に接続されてはおらず、汎用入出力端子１０に接続されている。この汎用入出力端子１０は、マイクロプロセッサ、マイクロコントローラなどのようなＣＰＵ４が一般的に備える汎用のインタフェースであり、本実施の形態では、外部割り込み専用端子として使用している。
【００１５】
遅延回路２は、リセットスイッチ１によるリセット信号を入力し、所定時間遅延した信号を出力し、その遅延した信号をＣＰＵ４のリセット端子９に供給する。本実施の形態では、遅延回路２は、リセットスイッチ１によるリセット信号を１秒遅延し、ＣＰＵ４にリセット信号として供給するようにしている。なお、遅延回路２の遅延時間は、ハードウェアまたはソフトウェアから変更することができる。
【００１６】
マスクスイッチ３は、遅延回路２とＣＰＵ４のリセット端子９との間に設けられている。マスクスイッチ３は、その初期状態がクローズ（閉成状態）になっており、遅延回路２により遅延されたリセット信号をＣＰＵ４に入力したくないときにオープン（開成状態）にされて、リセット端子９へのリセット信号の入力を無効にするのに使用される。マスクスイッチ３は、ＣＰＵ４が持つマスク機能によって構成することができるが、外部に半導体スイッチを設けても良い。
【００１７】
リセット信号検出部５は、汎用入出力端子１０を介して入力されるリセットスイッチ１のリセット信号を検出して再起動処理の割り込みを発生させ、携帯端末を安全に復旧させるための監視処理を開始させる。
【００１８】
処理状態監視部６は、リセット信号検出部５によるリセット信号の検出を受けて、監視対象の監視を開始する。監視対象は、ＣＰＵ４の内部処理状態だけでなく、デバイスドライバ２３、ＯＳ２２、アプリケーションソフトウェア２１などであっても良い。処理状態監視部６は、監視対象が処理中であるかの判断と、処理中の場合に遅延回路２による遅延時間内に処理が終了したかの判断と、遅延回路２による遅延時間を超えて継続する処理が終了したかの判断とを行う。また、処理状態監視部６は、ウォッチドッグタイマ８のクリア信号を所定時間毎に生成する。
【００１９】
マスクスイッチ制御部７は、監視対象の処理中の処理が遅延回路２の遅延時間内に終了できないと処理状態監視部６が判断したときに、マスクスイッチをオープンしてリセット端子９へのリセット信号の入力を無効にする制御を行う。
【００２０】
ウォッチドッグタイマ８は、処理状態監視部６の監視開始時にタイマカウントが開始され、タイムアップする前に処理状態監視部６から受けるクリア信号によりクリアされてタイマカウントが再開される。ウォッチドッグタイマ８は、また、処理状態監視部６からクリア信号を受けなくなってタイムアップしたとき、リセット信号を出力し、ＣＰＵ４をリセットさせる。
【００２１】
ＣＰＵ４は、演算処理を行うＣＰＵコア、キャッシュ、入出力インタフェース、端子のマスク機能などを備えており、本実施の形態では、リセット信号検出部５、ウォッチドッグタイマ８、汎用入出力端子１０の機能などを備えたマイクロプロセッサである。
【００２２】
ＣＰＵ４は、また、ＲＯＭ（Read Only Memory）１１、ＲＡＭ１２およびデバイス１３が接続されている。
ＲＯＭ１１は、ＯＳイメージ、アプリケーションソフトウェアなどが格納され、携帯端末の初期起動時にはここからＲＡＭ１２にＯＳイメージが展開される。ＲＡＭ１２は、ＣＰＵ４に実行させるＯＳのプログラムやアプリケーションソフトウェアのプログラムの少なくとも一部が格納される。また、ＲＡＭ１２には、ＣＰＵ４による処理に必要な各種データが格納される。デバイス１３は、携帯端末が備える液晶表示装置、入力キーなどの入出力装置とすることができる。また、デバイス１３としては、携帯端末の機種により、バーコードスキャナ、プリンタ、通信装置などを含んでいることもある。
【００２３】
図２は携帯端末におけるソフトウェアの構成例を示す図である。
携帯端末に搭載されるソフトウェアは、アプリケーションソフトウェア２１、ＯＳ２２、デバイスドライバ２３および監視ドライバ２４を備えている。デバイスドライバ２３は、ハードウェアのデバイス１３を直接制御するモジュールであり、リセット信号検出部５がリセット信号を検出したときに監視ドライバ２４によって監視される監視対象である。監視ドライバ２４は、再起動装置の処理状態監視部６に対応する機能を有しており、アプリケーションソフトウェア２１から監視対象に対する処理命令が完了しているか否かを判断することができる。
【００２４】
携帯端末が正常状態にあるときには、アプリケーションソフトウェア２１が何らかの処理命令を出すと、その処理命令は、ＯＳ２２によってデバイスドライバ２３に伝えられ、デバイスドライバ２３がデバイス１３に対して処理命令の実行を制御する。
【００２５】
リセット信号検出部５がリセット信号を検出したときには、監視ドライバ２４が監視対象であるデバイスドライバ２３の処理状態を監視する。デバイスドライバ２３が処理中の場合、監視ドライバ２４は、デバイスドライバ２３の処理完了を待ち、その処理が何時完了したかにより、ＯＳ２２に再起動の依頼を行う。再起動の依頼を受けたＯＳ２２は、その機能によって携帯端末を再起動する。
【００２６】
図３は再起動処理の制御フローを示すフローチャート、図４は処理状態監視部の監視処理の制御フローを示すフローチャートである。
リセット信号検出部５は、図３に示したように、まず、リセット信号を検出したか否かを判断し（ステップＳ１）、リセット信号を検出したときは、処理状態監視部６による監視処理を開始する（ステップＳ２）。リセット信号検出部５は、リセット信号を検出していないと判断したときは、ステップＳ１に戻る。このようにして、リセット信号検出部５は、リセット信号が検出されるまで待っていて、リセット信号が検出されると、監視処理を開始させる。
【００２７】
処理状態監視部６は、監視処理が開始されると、図４に示したように、まず、監視対象の処理状態を監視する（ステップＳ１１）。このとき、処理状態監視部６は、ウォッチドッグタイマ８を起動し、かつ、ウォッチドッグタイマ８にクリア信号を所定時間毎に送信する。
【００２８】
次に、処理状態監視部６は、監視対象の処理が終了したか否かを判断する（ステップＳ１２）。ここで、監視対象が処理中の場合、処理状態監視部６は、遅延回路２にて設定された所定の遅延時間未満の設定時間に達したか否かを判断し（ステップＳ１３）、遅延時間未満の設定時間に達していなければ、ステップＳ１１に戻る。
【００２９】
ステップＳ１３において、リセット信号の検出から遅延時間未満の設定時間を経過していると判断された場合、処理状態監視部６は、マスクスイッチ制御部７を介してマスクスイッチ３をオープン状態に制御し（ステップＳ１４）、ステップＳ１１に戻る。
【００３０】
ステップＳ１２において、監視対象の処理が終了した場合、処理状態監視部６は、携帯端末を再起動する（ステップＳ１５）。このとき、処理状態監視部６は、監視対象の処理が何時終了したかに応じて、再起動の方法を変えている。すなわち、監視対象の処理が遅延時間未満の設定時間を経過する前に終了した場合、処理状態監視部６は、マスクスイッチ制御部７に対してマスクスイッチ３のクローズ状態を維持するよう指示する。この結果、遅延回路２にて遅延されたリセット信号がリセット端子９に入力されて、携帯端末が再起動される。一方、監視対象の処理が遅延時間未満の設定時間を経過した後に終了した場合、処理状態監視部６は、マスクスイッチ制御部７に対してマスクスイッチ３のオープン状態を指示する。この結果、遅延回路２にて遅延されたリセット信号が無効にされ、処理状態監視部６は、ＯＳ２２に再起動を依頼し、ＯＳ２２が再起動を実行することにより、携帯端末が再起動される。
【００３１】
以上のように、リセット信号の検出により監視対象の処理状態を監視し、リセットスイッチ１の押下時にどの監視対象も処理中でなければ、遅延したリセット信号による携帯端末の再起動が行われる。リセットスイッチ１の押下時に処理中の監視対象があり、かつリセット信号の検出から遅延時間未満の設定時間を経過していないうちに監視対象の処理が終了した場合、遅延したリセット信号による携帯端末の再起動が行われる。リセットスイッチ１の押下時に処理中の監視対象があり、リセット信号の検出から遅延時間未満の設定時間を経過した後に監視対象の処理が終了した場合、ＯＳ２２の機能による携帯端末の再起動が行われる。また、この処理状態監視部６自身がハングアップした場合は、ウォッチドッグタイマ８への定期的なクリア信号の送信がなくなるので、ウォッチドッグタイマ８がタイムアップして、ウォッチドッグタイマ８による携帯端末の再起動が行われる。
【００３２】
次に、各状態時における携帯端末の再起動の動作シーケンスについて説明する。
図５は通常状態時における再起動の動作シーケンスを示す図、図６はソフトウェアハングアップ時における再起動の動作シーケンスを示す図、図７は監視対象の処理時間が長い場合における再起動の動作シーケンスを示す図、図８は監視継続中のハングアップ時における再起動の動作シーケンスを示す図である。これらの動作シーケンスの図において、図の上部には、アプリケーションソフトウェア２１、ＯＳ２２、デバイスドライバ２３、監視ドライバ２４、ＣＰＵコア２５、デバイス１３、リセット端子９、汎用入出力端子１０およびリセットスイッチ１を配置してある。ここで、監視ドライバ２４は、処理状態監視部６に対応している。また、図の下方向に時間経過を示し、四角の時間軸方向の長さは、処理中の時間の長さを示している。
【００３３】
まず、図５において、アプリケーションソフトウェア２１がＯＳ２２に処理命令を出し、ＯＳ２２がデバイスドライバ２３に処理命令を出し、デバイスドライバ２３がＣＰＵコア２５に処理命令を出し、ＣＰＵコア２５がデバイス１３に処理命令を出しているとする。ここで、デバイス１３が処理を実行・完了し、デバイスドライバ２３がその処理完了を検知するものとする。
【００３４】
このような状態で、ユーザがリセットスイッチ１を押下すると、そのリセット信号は、汎用入出力端子１０に直接入力されてリセット信号検出部５に検出され、監視ドライバ２４により監視対象のデバイスドライバ２３の処理状態が監視される。この場合、デバイス１３が処理を完了し、デバイスドライバ２３がデバイス１３の処理完了を検知していると、監視ドライバ２４は、何もすることなく、監視処理を完了する。なお、デバイスドライバ２３およびデバイス１３が複数あれば、監視ドライバ２４は、すべてのデバイスドライバ２３の処理状態を監視することになる。
【００３５】
その後、遅延回路により１秒遅延されたリセット信号がリセット端子９に入力されると、ＣＰＵコア２５は、通常のリセット処理を開始し、携帯端末を再起動する。
このように、遅延時間内に監視ドライバ２４による監視処理が完了している場合には、遅延されたリセット信号によるリセット処理が行われ、携帯端末の再起動が行われる。
【００３６】
次に、図６は、アプリケーションソフトウェア２１、ＯＳ２２、デバイスドライバ２３、監視ドライバ２４などのソフトウェアがハングアップした状態を示している。このような状態でリセットスイッチ１が押下されても、監視ドライバ２４は、デバイスドライバ２３の処理状態を監視することができない。
【００３７】
したがって、ＣＰＵコア２５は、遅延時間の経過後にリセット端子９に入力されるリセット信号によりリセット処理が行われ、携帯端末が再起動されることになる。
次に、図７は、リセットスイッチ１が押下されたときに処理中のデバイスドライバ２３が遅延回路２の遅延時間未満の設定時間内に内部処理が終了しない場合の再起動の動作シーケンスを示している。このような場合、監視ドライバ２４は、リセットスイッチ１が押下されてから遅延時間未満の設定時間経過時にマスクスイッチ制御部７によりマスクスイッチ３をオープン制御して遅延されたリセット信号を無効化し、デバイスドライバ２３の監視を継続する。監視ドライバ２４は、デバイスドライバ２３の処理完了を検知すると、ＯＳ２２に再起動命令を依頼し、ＯＳ２２は、その依頼に従ってＣＰＵコア２５に再起動命令を出し、ＣＰＵコア２５が再起動を実行する。
【００３８】
このように、遅延時間未満の設定時間を超えてデバイスドライバ２３の処理が継続している場合には、まず、遅延されたリセット信号がリセット端子９へ入力される前にその遅延されたリセット信号の入力をマスクする。次に、監視ドライバ２４は、デバイスドライバ２３の処理完了を待って、ＯＳ２２の機能による携帯端末の再起動が行われる。
【００３９】
次に、図８は、監視ドライバ２４が遅延時間未満の設定時間を超えてデバイスドライバ２３の監視を継続中にハングアップして、監視ドライバ２４による再起動処理ができなくなった場合についての再起動の動作シーケンスを示している。このような場合、事前に起動しておいたウォッチドッグタイマ８を利用してＣＰＵコア２５をリセットすることになる。すなわち、監視ドライバ２４がデバイスドライバ２３の監視開始時に起動されていたウォッチドッグタイマ８は、監視ドライバ２４のハングアップによりタイマがクリアできずにタイムアップすることでリセット信号を出力し、ＣＰＵコア２５をリセットする。これにより、携帯端末が再起動される。
【００４０】
なお、上記の実施の形態では、ウォッチドッグタイマ８は、ＣＰＵ４が備える機能の一部として説明したが、ＣＰＵ４の外部に設けることができ、ウォッチドッグタイマ８の起動に関しても、携帯端末の起動時に起動させることができる。
【符号の説明】
【００４１】
１  リセットスイッチ
２  遅延回路
３  マスクスイッチ
４  ＣＰＵ
５  リセット信号検出部
６  処理状態監視部
７  マスクスイッチ制御部
８  ウォッチドッグタイマ
９  リセット端子
１０  汎用入出力端子
１１  ＲＯＭ
１２  ＲＡＭ
１３  デバイス
２１  アプリケーションソフトウェア
２２  ＯＳ
２３  デバイスドライバ
２４  監視ドライバ
２５  ＣＰＵコア
【図１】
2014203087.tif 000003
【図２】
2014203087.tif 000004
【図３】
2014203087.tif 000005
【図４】
2014203087.tif 000006
【図５】
2014203087.tif 000007
【図６】
2014203087.tif 000008
【図７】
2014203087.tif 000009
【図８】
2014203087.tif 000010