(57)【特許請求の範囲】
【請求項１】
ハンディターミナル内の各部に電源を供給する主電池と、
前記ハンディターミナル内のＲＡＭに書き込まれているデータを保持するのに必要な電圧を供給すると共に、前記ハンディターミナル内のＣＰＵを待機モードに維持するのに必要な電圧を供給する第１の副電池と、
前記ＣＰＵの動作に必要な電圧であり、かつ、前記ＣＰＵが前記ＲＡＭにデータを書き込むために必要な電圧を、少なくとも前記ＣＰＵが所定量のデータを前記ＲＡＭに書き込むのに要する期間、前記ＣＰＵに供給する第２の副電池と、
前記ＣＰＵと前記ＲＡＭとに供給する電圧を、前記主電池と、第１の副電池と、第２の副電池のうちいずれか１つを選択して供給する電池制御回路と備え、
前記電池制御回路は、前記主電池の電圧と、前記第１の副電池の電圧と、前記第２の副電池の電圧とを検出することが可能な電池電圧検出部を有し、
前記電池電圧検出部は、前記ＣＰＵが前記ＲＡＭにデータの書き込みを行う際、前記主電池の電圧を測定し、前記主電池の電圧が正常であった場合には前記第１の副電池の電圧を測定し、
前記ＣＰＵは、前記電池電圧検出部による測定の結果、前記主電池および前記第１の副電池の電圧が両方とも正常であった場合に前記ＲＡＭへのデータの書き込みを実行する
ことを特徴とするハンディターミナル。
【請求項２】
前記電池制御回路が、
前記電池電圧検出部によって、前記主電池の電圧レベルが予め設定された電圧基準値より低下しことが検出された場合に、前記ＣＰＵと前記ＲＡＭとに供給する電源を前記主電池から前記第２の副電池に切り替えると共に、前記第２の副電池の電圧の電圧レベルが前記電圧基準値より低下したことが検出された場合に、前記ＣＰＵと前記ＲＡＭとに供給する電源を前記第２の副電池から前記第１の副電池に切り替える電源切替部を備える
ことを特徴とする請求項１に記載のハンディターミナル。
【請求項３】
前記第２の副電池はキャパシタで構成されており、
ハンディターミナルの起動時に、前記電池制御回路が、前記主電池から前記キャパシタを充電するようにする構成されている
ことを特徴とする請求項１または２に記載のハンディターミナル。
【請求項４】
前記主電池は乾電池または二次電池のいずれかで構成され、
前記主電池電圧検出部により測定された主電池電圧を基に前記主電池の種類を判定し、判定された主電池の種類に応じて前記電圧基準値を生成する電圧基準値生成部を備えることを特徴とする
請求項１から３のいずれかに記載のハンディターミナル。
【請求項５】
前記主電池に対する負荷を変動させることにより前記主電池の出力電圧を電圧変動させる負荷変動部と、
前記主電池の電圧を前記電圧検出部により検出し、検出した電圧の振幅値の変化が、予め定められた変動幅より大きい場合に、前記主電池が劣化していると判定する主電池劣化判定部とを備えることを特徴とする
請求項１から４のいずれかに記載のハンディターミナル。
【請求項６】
前記負荷変動部は、ハンディターミナルが備える表示部と通信部の両方、またはいずれか一方を、予め定められた周期で起動または停止することにより、前記主電池に対する負荷を変動させることを特徴とする
請求項５に記載のハンディターミナル。
【請求項７】
前記ハンディターミナルは少なくとも飲食店を含む店舗内において注文データを入力するためのハンディターミナルであって、
前記ＣＰＵは、前記第２の副電池から電源の供給を受けている間に、入力された注文データを前記ＲＡＭに書き込むと共に、その後に待機モードに遷移するように構成されたこと、
を特徴とする請求項１から６のいずれかに記載のハンディターミナル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外食店舗内等の注文データ管理システムにおいて、客からの注文を入力し、無線転送するハンディターミナルに関する。
【背景技術】
【０００２】
従来から、レストラン、居酒屋あるいはホテル等で、客から注文された注文データ等を管理するために、注文データ管理システムが使用されている。この注文データ管理システムにおいては、ウエイトレスが客から料理の注文を受けた場合、ハンディターミナルにテーブル番号や人数等と共に注文を受けた各メニューを入力する。この入力された注文データは、ハンディターミナルから注文データ管理システムの制御装置に無線送信され、この注文データを基に、調理指示データや会計データ等が作成される。
【０００３】
図１１は、ハンディターミナルの外観例である。蓋３１を開くことにより、タッチパネルを使用した表示部１４が見えるようになっており、キー入力部１３の押下による注文データ入力や、表示部１４のタッチパネルへのペン入力やタッチ入力により注文データの入力を行うことができるように構成されている。
【０００４】
ところで、上述した従来のハンディターミナルにおいて、乾電池駆動のハンディターミナルでは、振動などで電池の接点が離れてしまい一瞬停電状態になることがある。これを「瞬断」と呼ぶ。また、電池交換の際に停電状態になることがある。このように電池からの電源供給が停止した場合、ＲＡＭ（例えば、ＳＲＡＭ等）に書き込み中のデータは消えてしまうか、送信中のデータが途中で切れてしまい不完全な状態となることがある。
【０００５】
これらの対策の第１の方法として、乾電池の接点を強いバネで固定して瞬断を回避する方法がある。第２の方法として、容量が大きいキャパシタを使って電圧を保持し、瞬断に対処する方法がある。第３の方法として、駆動電圧の異なるＣＰＵを２つ搭載してサブＣＰＵで電圧を監視する仕組みを用いる方法がある（例えば、特許文献１参照。）。
【０００６】
しかしながら、上述した第１の方法では完全に瞬断を防ぐことは難しく。第２の方法では、瞬断の時間が長いとデータ消えが発生する可能性がある。また、第３の方法の場合では、ＣＰＵがＲＡＭにデータを書込み中に、電池による電源の供給が停止した場合には、ＲＡＭに正常のデータを書き込むことができないという問題があった。
【０００７】
飲食店等で使用されるハンディターミナルでこのような現象が発生すると、入力した注文データが消えてしまうことがあり、また異なる注文データがＲＡＭに保存されてしまう可能性があり、これらの問題を解決したハンディターミナルの提供が望まれていた。
【特許文献１】特開２００３−２９５９８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したように従来のハンディターミナルにおいては、ＣＰＵがＲＡＭにデータを書込み中に、電池からの電源供給が停止した場合には、ＲＡＭに正常なデータを書き込むことができないという問題があった。
【０００９】
また、電池の容量が少なくなってきた場合や劣化が進行した電池を使っている場合に突然動作電圧を下回るような場合も同様にＲＡＭのデータが不整合になる場合があった。
【００１０】
本発明は、斯かる実情に鑑みなされたものであり、本発明の第１の目的は、主電池からの電源供給が停止した場合にも、ＲＡＭに書き込み中のデータを安全に保存すると共に、ＲＡＭに保存されたデータを安全に保持することができる、ハンディターミナルを提供することにある。また、第２の目的として、電池の容量が少なくなってきた場合や劣化した場合に、これを検出してＲＡＭへの誤データの書き込みを回避し、また、ＲＡＭに保存されたデータを安全に保持することができる、ハンディターミナルを提供することにある。
【課題を解決するための手段】
【００１１】
本発明は上記課題を解決するためになされたものであり、本発明のハンディターミナルは、ハンディターミナル内の各部に電源を供給する主電池と、前記ハンディターミナル内のＲＡＭに書き込まれているデータを保持するのに必要な電圧を供給すると共に、前記ハンディターミナル内のＣＰＵを待機モードに維持するのに必要な電圧を供給する第１の副電池と、前記ＣＰＵの動作に必要な電圧であり、かつ、前記ＣＰＵがＲＡＭにデータを書き込むために必要な電圧を、少なくとも前記ＣＰＵが所定量のデータを前記ＲＡＭに書き込むのに要する期間、前記ＣＰＵに供給する第２の副電池と、前記ＣＰＵとＲＡＭとに供給する電圧を、前記主電池と、第１の副電池と、第２の副電池の組み合わせのうちいずれか１つを選択して供給する電池制御回路と、を備えることを特徴とする。
【００１２】
上記構成からなる本発明のハンディターミナルでは、電池を三系統搭載する。すなわち、主電池、ＣＰＵの待機状態およびＲＡＭのデータ保持をバックアップする第１の副電池、主電池から副電池に切り替える間にＣＰＵを通常動作させる第２の副電池を搭載する。また、主電池と、第１の副電池と、第２の副電池のうちのいずれか１つを選択する電池制御回路を設ける。そして、例えば、主電池からの電源供給が停止した場合に、ＣＰＵの電源を主電池から第２の副電池に切り替える。ＣＰＵは第２の副電池から電源の供給を受けている間に、データ書き込み中であればデータの書き込みを完了する。その後、第２の副電池の電圧が放電し電圧が低下した場合に、ＣＰＵとＲＡＭの電源を第１の副電池に切り替え、この第１の副電池によりＣＰＵを待機モードに維持すると共に、ＲＡＭがデータを安全に保持できるようにバックアップする。
【００１３】
これにより、主電池電圧の瞬断や主電池の交換等により、主電池からの電源供給が停止した場合にも、ＲＡＭに書き込み中のデータを安全に保存すると共に、ＲＡＭに保存されたデータを安全に保持することができる。
【００１４】
また、本発明のハンディターミナルは、前記電池制御回路には、前記主電池の電圧と前記第２の副電池の電圧とを少なくとも検出する電池電圧検出部と、前記電池電圧検出部により主電池の電圧レベルが予め設定された電圧基準値より低下しことが検出された場合に、前記ＣＰＵとＲＡＭとに供給する電源を前記主電池から前記第２の副電池に切り替えると共に、前記第２の副電池の電圧の電圧レベルが前記電圧基準値より低下したことが検出された場合に、前記ＣＰＵとＲＡＭとに供給する電源を前記第２の副電池から前記第１の副電池に切り替える電源切替部と、を備えることを特徴とする。
【００１５】
上記構成からなる本発明のハンディターミナルでは、主電池からの電源供給が停止した場合に、ＣＰＵの電源を主電池から第２の副電池に切り替える。ＣＰＵは第２の副電池から電源の供給を受けている間に、データ書き込み中であればデータの書き込みを完了する。その後、第２の副電池の電圧が放電し電圧が低下した場合に、ＣＰＵとＲＡＭの電源を第１の副電池に切り替え、この第１の副電池によりＣＰＵを待機モードに維持すると共に、ＲＡＭがデータを安全に保持できるようにバックアップする。
【００１６】
これにより、主電池電圧の瞬断や主電池の交換等により、主電池からの電源供給が停止した場合にも、ＲＡＭに書き込み中のデータを安全に保存すると共に、ＲＡＭに保存されたデータを安全に保持することができる。
【００１７】
また、本発明のハンディターミナルは、前記ハンディターミナルは少なくとも飲食店を含む店舗内において注文データを入力するためのハンディターミナルであって、前記ＣＰＵは、前記第２の副電池から電源の供給を受けている間に、入力された注文データを前記ＲＡＭに書き込むと共に、その後に待機モードに遷移するように構成されたこと、を特徴とする。
【００１８】
上記構成からなる本発明のハンディターミナルでは、飲食店等でハンディターミナルに注文データを入力した際に、主電池からの電源供給が停止した場合は、ＣＰＵは、第２の副電池から電源の供給を受けている間に、入力された注文データのＲＡＭへの書き込みを完了させ、その後に待機モードに遷移する。
【００１９】
これにより、主電池電圧の瞬断や主電池の交換等により、主電池からの電源供給が停止した場合にも、入力された注文データを安全にＲＡＭに保存することができる。
【００２０】
また、本発明のハンディターミナルは、前記第２の副電池はキャパシタで構成されており、ハンディターミナルの起動時に、前記電池制御回路が、前記主電池から前記キャパシタを充電するようにする構成されたこと、を特徴とする。
【００２１】
上記構成からなる本発明のハンディターミナルでは、第２の副電池をキャパシタで構成し、該キャパシタを主電池により充電するようにしたので、これにより、容易かつ安価に第２の副電池を設備することができる。
【００２２】
また、本発明のハンディターミナルは、前記ＣＰＵから前記ＲＡＭにデータを書き込みを行う際には、前記電圧検出部により前記主電池および第１の副電池の電圧レベルを測定し、前記主電池および第１の副電池の電圧レベルが正常と判定された場合に前記ＲＡＭへのデータの書き込みを実行するとともに、前記ＲＡＭに書き込んだデータを再度読み出し、該読み出したデータのサムチェックを行うように構成されたこと、を特徴とする。
【００２３】
上記構成からなる本発明のハンディターミナルでは、ＲＡＭにデータを書き込みを行う際には、主電池および第１の副電池の電圧レベルが正常であるかを判定し、主電池および第１の副電池の電圧レベルが正常な場合にＲＡＭへのデータの書き込みを実行するとともに、ＲＡＭに書き込んだデータを再度読み出し、該読み出したデータにサムチェックを行うようにしたので、ＲＡＭに安全にデータを書き込むことができると共に、データの整合性を常に保つことができる。
【００２４】
また、本発明のハンディターミナルは、前記主電池は乾電池または二次電池のいずれかで構成され、前記主電池電圧検出部により測定された主電池電圧を基に前記主電池の種類を判定し、判定された主電池の種類に応じて前記電圧基準値を生成する電圧基準値生成部を、備えることを特徴とする。
【００２５】
上記構成からなる本発明のハンディターミナルでは、主電池として乾電池または二次電池のいずれかを使用し、また、電池の種類に応じて電圧基準値を生成するようにしたので、これにより、電池の種類に応じて、主電池からの電源供給の停止を判定できる。
【００２６】
また、本発明のハンディターミナルは、前記主電池に対する負荷を変動させることにより前記主電池の出力電圧を電圧変動させる負荷変動部と、前記主電池の電圧を前記電圧検出部により検出し、検出した電圧の振幅値の変化が、予め定められた変動幅より大きい場合に、前記主電池が劣化していると判定する主電池劣化判定部と、を備えることを特徴とする。
【００２７】
上記構成からなる本発明のハンディターミナルでは、主電池に対する負荷を変動させた場合の主電池の電圧の振幅値の変化から、主電池の劣化を判定するようにしたので、これにより、主電池の劣化を容易に判定できる。このため、主電池が劣化している場合は、ＲＡＭへのデータの書き込みを中止して、誤データの書き込みを回避できると共に、主電池劣化のメッセージを表示部に表示することにより、主電池の交換をユーザに促すことができる。
【００２８】
また、本発明のハンディターミナルは、前記負荷変動部は、ハンディターミナルが備える表示部と通信部の両方、またはいずれか一方を、予め定められた周期で起動または停止することにより、前記主電池に対する負荷を変動させること、を特徴とする。
【００２９】
これにより、主電池に接続する変動負荷を特別に用意する必要がなくなる。
【００３０】
また、本発明のハンディターミナルは、ハンディターミナル内の各部に電源を供給する主電池を有するハンディターミナルであって、前記主電池の電圧を検出する電池電圧検出部と、前記主電池に対する負荷を変動させることにより前記主電池の出力電圧を電圧変動させる負荷変動部と、前記主電池の電圧を前記電圧検出部により検出し、検出した電圧の振幅値の変化が、予め定められた変動幅より大きい場合に、前記主電池が劣化していると判定する主電池劣化判定部と、を備えることを特徴とする。
【００３１】
上記構成からなる本発明のハンディターミナルでは、主電池に対する負荷を変動させた場合の主電池の電圧の振幅値の変化から、主電池の劣化を判定するようにしたので、これにより、主電池の劣化を容易に判定できる。このため、主電池が劣化している場合は、ＲＡＭへのデータの書き込みを中止して、誤データの書き込みを回避できると共に、主電池劣化のメッセージを表示部に表示することにより、主電池の交換をユーザに促すことができる。
【発明の効果】
【００３２】
本発明のハンディターミナルにおいては、主電池電圧の瞬断や主電池の交換等により、主電池からの電源供給が停止した場合にも、ＲＡＭに書き込み中のデータを安全に保存することができると共に、ＲＡＭに保存されたデータを安全に保持することができる。
【００３３】
また、電池の容量が少なくなってきた場合や劣化した場合に、これを検出してＲＡＭへの誤データの書き込みを回避し、また、ＲＡＭに保存されたデータを安全に保持することができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施の形態を添付図面を参照して説明する。
【００３５】
［第１の実施の形態］
（ハンディターミナルの概略構成の説明）
図１は、本発明の実施の形態に係わるハンディターミナルの概略構成を示す図である。図１に示すハンディターミナルは、飲食店等で注文データを受け付けるための端末であり、ハンディターミナルは、ＣＰＵ１、ＲＯＭ１１、ＲＡＭ１２、キー入力部１３、表示部１４、通信部１５、主電池１６、副電池１７、キャパシタ１８、電池制御回路２１を備える。（なお、ＣＰＵ１および電池制御回路２１の詳細な構成については後述される。）
ＣＰＵ１は、ハンディターミナルの各部を統括して制御する制御部である。ＲＯＭ１１には注文データを処理する制御プログラムならびに漢字フォントなどが格納されている。ＲＡＭ１２は、消費電流の少ないＳＲＡＭ等であり、注文データ等のデータが格納されている。キー入力部１３は、注文データを入力するためのキー入力部であり、メニューキーや数量データを入力するための数値キー等で構成される。表示部１４はカラーＬＣＤを使用した表示部であり、タッチパネルとしても機能する表示部である。通信部１５は、注文データ管理システムの制御装置（図示せず）と無線により通信を行うための処理部であり、注文データを注文データ管理システム側に送信する。
【００３６】
なお、図１に示す例では、表示部１４はタッチパネル機能付のカラーＬＣＤを用いるものとしたが、特にこれに限定されるものではなく、例えば、モノクロＬＣＤでも良いしタッチパネル機能がなくても良い。
【００３７】
主電池１６は、ハンディターミナル内の基本となる主電源であり、乾電池または充電可能な二次電池で構成され、通常時に、ＣＰＵ１、ＲＯＭ１１、ＲＡＭ１２、キー入力部１３、通信部１５等に対し電源を供給する。
【００３８】
副電池１７は、コイン電池等であり、主電池１６からの電源供給が停止した場合に、ＲＡＭ１２へ電源を供給してデータを保持させると共に、ＣＰＵ１をスリープモード（待機モード）に維持するための電源を供給する。なお、前述の第１の副電池は副電池１７が相当する。
【００３９】
キャパシタ１８は、主電池１６から充電される電源であり、主電池１６から副電池１７に電源を切り替える際に、ＣＰＵ１に電源を供給するための電源である。前述の第２の副電池はキャパシタ１８が相当する。
【００４０】
電池制御回路２１は、主電池１６からキャパシタ１８への充電回路を構成する。また、電池制御回路２１は、ＣＰＵ１およびＲＡＭ１２の電源を主電池１６からキャパシタ１８へ切り替えると共に、キャパシタ１８から副電池１７に切り替える制御を行う。
【００４１】
上記構成のハンディターミナルにおいて、主電池１６からの電源供給が停止された場合は、キャパシタ１８からＣＰＵ１に電源を供給し、ＣＰＵ１を所定の期間だけ通常動作できるようにし、ＣＰＵ１がＲＡＭ１２にデータ書き込み中であれば、それを完了させる。そして、ＣＰＵ１は、スリープモードに移行するための退避処理を行い、スリープモードに遷移する。その後、キャパシタ１８が放電し出力電圧が低下すると、ＣＰＵ１およびＲＡＭ１２に供給する電源をキャパシタ１８から副電池１７に切り替える。この副電池１７によりＣＰＵ１をスリープモードに維持し、また、ＲＡＭ１２のデータを安全に保持する。
【００４２】
また、本発明のハンディターミナルは、上述した機能の他に、主電池１６の電池容量の減少、および主電池１６の劣化を判定して警告を表示する機能も備えている。
【００４３】
（主電池１６からの電源供給が停止された場合の各電池の切り替え動作の説明）
図２は、主電池からの電源供給が停止された場合の電池切り替え動作の説明図であり、主電池からの電源供給が停止された場合の、ＣＰＵ１およびＲＡＭ１２に電源を供給する各電池の電圧と時間との関係を示している。
【００４４】
図２において、符号ｂ１は、主電池の放電（電圧）曲線、ｂ２は、キャパシタの放電（電圧）曲線、ｂ３は副電池の放電（電圧）曲線、ｖ１はＣＰＵがスリープ状態を保持できる電圧、ｖ２はＣＰＵが通常動作を行える電圧、ｔ１は瞬断または電池交換などによりｂ１がｖ２を下回る開始時間、ｔ２はキャパシタの放電によりｂ２がｖ２を下回る開始時間、ｔ１〜ｔ２はキャパシタでＣＰＵを通常動作させることができる最大時間を、それぞれ示している。なお、時間ｔ１〜ｔ２の時間幅は、例えば、飲食向けのハンディターミナルでは注文データとして最大２Ｋバイト程度が必要となり、これをＣＰＵ１がＲＡＭ１２に保存できる時間以上とし、この時間に応じてキャパシタの容量が決定される。
【００４５】
図２を参照して、主電池１６からの電源供給を停止すると、曲線ｂ１に示すように、主電池１６からの電源電圧が次第に低下し、時刻ｔ１において、ＣＰＵが通常動作を行える電圧ｖ２以下になろうとする。この時、ＣＰＵ１に対して供給される電源は、主電池１６からキャパシタ１８に切り替えられ、ＣＰＵ１に対して曲線ｂ２に示す電圧が供給される。
【００４６】
このキャパシタ１８により、時刻ｔ１からｔ２の間はＣＰＵ１が通常動作を行えるように維持される。この時刻ｔ１からｔ２の間に、ＣＰＵは注文データをＲＡＭ１２に保存するなど、ハンディターミナルが安全に動作を終了し、スリープモードに遷移するための処理を行う。
【００４７】
時刻ｔ２に至り、曲線ｂ１で示すキャパシタ１８の電圧がｖ２以下になると、ＣＰＵ１、およびＲＡＭ１２の電源は、キャパシタ１８から副電池１７に切り替えられ、曲線ｂ３で示す電圧が供給される。この副電池１７の電圧は、ＲＡＭ１２にデータを保持させると共に、ＣＰＵ１をスリープ状態に保持するのに十分な電圧であり、これにより、時刻ｔ２以降から主電池１６の電源が回復するまでの間、副電池１７により、ＲＡＭ１２のデータが保持され、また、ＣＰＵ１のスリープ状態が保持される。
【００４８】
（ＣＰＵおよび電池制御回路の詳細な構成の説明）
また、図３は、ＣＰＵと電池制御回路の詳細な構成を示す図である。図３に示す例は、ＣＰＵ１と電池制御回路２１の内部構成と共に、各回路部への電源の供給経路Ａ、Ｂ、ＣＤ、Ｅ、Ｆを示したものであり、ＣＰＵと電池制御回路については、本発明に直接関係する部分のみを示したものである。
【００４９】
なお、ＣＰＵ１は内部にＡ／Ｄ変換器２Ａ、Ｄ／Ａ変換器２Ｂを内蔵したマイクロコントローラ等であり、また、ＣＰＵ１内の各処理部は、ＲＯＭ１１に記憶された制御プログラム等を実行することによりソフトウェア手段によりその機能を実現するものである。
【００５０】
ＣＰＵ１内の主電池電圧検出部３は、主電池１６の電圧を検出するための処理部である。副電池電圧検出部４は、副電池１７の電圧を検出するための処理部である。この電圧検出の場合に、主電池１６の電圧、副電池１７の電圧、および電源線Ａの電圧を所定の時間ごとにＡ／Ｄ変換器２Ａにより取り込み電圧検出を行うものである。
【００５１】
ＢＬＤ（Ｂａｔｔｅｒｙ  Ｌｏｗ  Ｄｅｔｅｃｔ）判定部５は、ハンディターミナルの起動時に、主電池１６の電圧レベルを判定し、この電圧レベルを基に主電池１６が乾電池であるか二次電池であるかを判定する。そして、この判定結果を基に、電圧基準値生成部５Ａにより電圧基準値（ＢＬＤ値）を生成する。この電圧基準値は、Ｄ／Ａ変換器２Ｂによりアナログ信号に変換されて電池制御回路２１にも送られ、電池制御回路２１内の電圧基準値保持部２５に保持される。
【００５２】
データ書込部６は、注文データ等のデータをＲＡＭ１２に保存するための処理部である。このデータ書込部６では、ＲＡＭ１２へデータを書き込む場合に、主電池電圧検出部３および副電池電圧検出部４における電池電圧の検出結果を基に、ＲＡＭ１２に安全にデータを書き込めるかどうかを判定する。データ書込部６は、安全にデータを書き込めると判定した場合に、ＲＡＭ１２にデータを書き込む。また、ＲＡＭ１２に書き込まれるデータにはサムチェックデータが付加されている。データ書込部６は、ＲＡＭ６にデータを書き込んだ後、この書き込んだデータを再度読み出し、サムチェック部７によりサムチェックを行い、ＲＡＭ１２に保存されたデータと書込みデータとの間に整合性が保たれていることを検証する。
【００５３】
データ退避部８は、主電池１６からの電源供給が停止され、ＣＰＵ１の電源が主電池１６からキャパシタ１８に切り替えられた場合に、この電源切替情報を電源切替部２６から受信する。そして、このデータ退避部８により、ＣＰＵ１が現在処理中の注文データ等をＲＡＭ１２に退避すると共に、スリープモードに安全に移行するためのデータ退避処理を行う。
【００５４】
次に、電池制御回路２１の構成について説明する。
【００５５】
電池制御回路２１内の充電部２２は主電池１６からキャパシタ１８への充電を行う回路であり、主電池１６からキャパシタ１８への充電は、ハンディターミナルの起動時に行われる。
【００５６】
主電池電圧検出部２３は、例えばコンパレータで構成されており、主電池１６の電圧を電圧基準値保持部２５に保持された電圧基準値と比較することにより、主電池１６の電圧が、ＣＰＵ１が通常動作できる電圧レベルであるかどうかを判定する。
【００５７】
キャパシタ電圧検出部２４は、例えば、コンパレータで構成されており、キャパシタ１８の電圧を、電圧基準値保持部２５に保持された電圧基準値と比較することにより、キャパシタ１８の電圧が、ＣＰＵ１が通常動作できる電圧レベルであるかどうかを判定する。
【００５８】
電源切替部２６は、主電池電圧検出部２３およびキャパシタ電圧検出部２４における判定結果を基に、トランジスタ等の半導体スイッチで構成されるスイッチＳＷ１、ＳＷ２、ＳＷ３、ＳＷ４、ＳＷ５をＯＮ／ＯＦＦ制御する。これにより、電源切替部２６は、ＣＰＵ１およびＲＡＭ１２等の電源となる電池（主電池１６、副電池１７、キャパシタ１８）を切り替える。また、電源切替部２６は、電池を切り替えた場合に、この電池切替の情報をＣＰＵ１のデータ退避部８に通知する。
【００５９】
主電池１６から電源供給可能な場合は、電源切替部２６はスイッチＳＷ１、スイッチＳＷ４、およびＳＷ５をオン（導通）にし、他のスイッチをオフ（非導通）にする。これにより、ＣＰＵ１、ＲＯＭ１２、ＲＡＭ１３、キー入力部１３、表示部１４、および通信部１５に対し、電源線Ｂ、Ａ、Ｃ、Dを通して、主電池１６から電源を供給する。
【００６０】
主電池１６からの電源供給が停止し、キャパシタ１８から電源供給を行う場合は、電源切替部２６は、ＳＷ３をオン（導通）にし、他のスイッチをオフ（非導通）にし、ＣＰＵ１、およびＲＡＭ１２に対し、電源線E、Ａを介して電源を供給する。
【００６１】
キャパシタ１８の放電が進み、キャパシタ１８からの電源供給を停止する場合は、ＳＷ２をオンにし、他のスイッチをオフにして、ＣＰＵ１、およびＲＡＭ１２に対し、電源線F、Ａを介して、副電池１７から電源を供給する。
【００６２】
なお、上述した例では、電池制御回路２１の主電池電圧検出部２３と、ＣＰＵ１内の主電池電圧検出部３とが重複して使用されている。これは、主電池１６の電圧が低下し、ＣＰＵ１内の主電池電圧検出部２３が機能しなくなった場合にも、電池制御回路２１は主電池電圧を検出する必要があるために設けられている。
【００６３】
従って、ＣＰＵ１が通常動作できなくなる電圧基準値を、実際にＣＰＵ１が動作できなくなる電圧よりも高めに設定することにより、電池制御回路２１内の主電池電圧検出部２３、キャパシタ電圧検出部２４等の機能をＣＰＵ１内に含めることもできる。
【００６４】
また、図３に示す例では、電圧基準値生成部５Ａで生成された電圧基準値は、Ｄ／Ａ変換器２Ｂによりアナログ信号に変換される構成となっているが、他の方法として、電圧基準値生成部５Ａが電池ごとに基準値テーブルを持つ方法がある。この方法では、使用される電池の種類に応じた基準値が基準値テーブルから選択され電池制御回路２１に送られる。
【００６５】
この場合、電池制御回路２１は、主電池電圧およびキャパシタ電圧と、電圧基準値（基準値テーブルから選択された基準値）とをデジタル値で比較するため、デジタル回路またはＣＰＵ１と同様なマイクロコントローラ等で構成される（ただし、ＣＰＵ１よりも低い電圧で動作可能な回路構成とする）。なお、ＣＰＵ１内において、電池の種類に応じた基準値テーブルを使用し、主電池電圧およびキャパシタ電圧と、電圧基準値とを比較する構成とすることもできる。
【００６６】
なお、前述の電池電圧検出部は、主電池電圧検出部２３およびキャパシタ電圧検出部２４が相当する。
【００６７】
（ハンディターミナルにおける各処理動作につての説明）
上述したように、ＣＰＵ１内のデータ書込部６は、ＲＡＭ１２へデータを書き込む場合に、電池電圧を確認し、安全にデータを書き込めると判定した後に、ＲＡＭ１２にデータを書き込むように構成されている。
【００６８】
図４は、ＲＡＭにデータを書込む場合の電池電圧の判定処理の流れを示すフローチャートである。以下、図４を参照して、その処理の流れについて説明する。
【００６９】
ＣＰＵ１において、ＲＡＭ１２へのデータ書込み処理が開始される（ステップＳ１０１）。ＲＡＭ１２へのデータ書込み処理が開始されると、最初に主電池電圧検出部３により主電池１６の電圧レベルがチェックされ（ステップＳ１０２）、所定の電圧基準値以上であるかどうかが判定される（ステップＳ１０３）。
【００７０】
主電池１６の電圧が所定の電圧基準値以下であると判定されると（ステップＳ１０３：Ｎｏ）、ＲＡＭ１２へのデータ書込み不可と判定し、ＲＡＭ１２へのデータ書込みを中止する（ステップＳ１１２）。
【００７１】
一方、主電池１６の電圧が所定の電圧基準値以上であると判定されると（ステップＳ１０３：Ｙｅｓ）、次に、副電池１７の電圧レベルがチェックされ（ステップＳ１０４）、所定の電圧基準値以上であるかどうかが判定される（ステップＳ１０５）。
【００７２】
副電池１７の電圧が所定の電圧基準値以下であると判定されると（ステップＳ１０５：Ｎｏ）、ＲＡＭ１２へのデータ書込み不可と判定し、ＲＡＭ１２へのデータ書込みを中止する（ステップＳ１１２）。
【００７３】
副電池１７の電圧が所定の電圧基準値以上であると判定されると（ステップＳ１０５：Ｙｅｓ）、ステップＳ１０６に移行し、書込みデータのサムチェックを作成し（ステップＳ１０６）、このサムチェックデータを付加したデータをＲＡＭ１２に書き込む（ステップＳ１０７）。そして、ＲＡＭ１２に書き込んだ当該データを再び読み出し（ステップＳ１０８）、読み出したデータのサムチェックを行う。
【００７４】
サムチェックの結果が正しい（ＯＫ）と判定された場合は（ステップＳ１０９：Ｙｅｓ）、ＲＡＭ１２へのデータ書込みが正常に行われたものとして、書き込み処理を終了する（ステップＳ１１１）。一方、ステップＳ１０９の判定において、サムチェックの結果が正しくないと判定された場合は（ステップＳ１０９：Ｎｏ）、ＲＡＭ１２に書き込んだデータをクリアし（ステップＳ１１０）、ステップＳ１０２に戻る。
【００７５】
上述した処理の流れにより、ＲＡＭ１２にデータを書き込む際に、主電池１６の電圧の判定と、副電池１７の電圧の判定とを行うことにより、ＲＡＭ１２に安全にデータを書き込むことができる。また、書き込んだデータを読み出してサムチェックを行うようにしたので、これにより、ＲＡＭ１２に書き込まれたデータに整合性があることを判定できる。
【００７６】
また、図５は、瞬断に対する割込み処理の流れを示すフローチャートである。主電池１６からの電源供給が停止した場合の処理の流れを示したものである。以下、図５を参照して、その処理の流れについて説明する。
【００７７】
電池制御回路２１では、主電池電圧検出部３により主電池１６の電圧レベルを常時チェックしており（ステップＳ２０１）、主電池１６の電圧が所定の電圧基準値以下になったと判定した場合は（ステップＳ２０２：Ｙｅｓ）、瞬断に対する割込み処理が開始される。
【００７８】
瞬断に対する割込み処理が開始されると（ステップＳ３０１）、電池制御回路２１では、ＣＰＵ１およびＲＡＭ１２の電源を主電池１６からキャパシタ１８に切り替える（ステップＳ３０２）。また、電池制御回路２１は、電源を主電池１６からキャパシタ１８に切り替えたことを示す電池切替信号をＣＰＵ１に送信する。
【００７９】
一方、ＣＰＵ１では、主電池１６からキャパシタ１８への電池切替信号を受信すると、ＲＡＭ１２へデータ書込み中であれば、このデータ書込みを完了させる（ステップＳ３０３）。ＲＡＭ１２へデータ書込みが完了すると（ステップＳ３０３：Ｎｏ）、ＣＰＵ１はスリープモードに遷移し（ステップＳ３０４）、瞬断に対する割込み処理が終了する（ステップＳ３０５）。
【００８０】
これにより、ＲＡＭ１２へデータ書込み中に、主電池１６からの電源供給が停止した場合にも、ＲＡＭ１２へデータを安全に書き込むことができるようになる。
【００８１】
なお、図５に示す処理では、電池制御回路２１側の主電池電圧検出部２３が、主電池１６からの電源供給を停止を検出する場合について説明したが、ＣＰＵ１側の主電池電圧検出部３により、主電池１６からの電源供給を停止を検出して瞬断に対する割込み処理を開始することもできる。なお、この場合は、ＣＰＵ１から電池制御回路２１に対して、瞬断に対する割込み処理を開始する旨の信号を通知する必要がある。
【００８２】
また、図６は、ハンディターミナルの起動時の電池判定処理の流れを示すフローチャートである。以下、図６を参照して、その処理の流れについて説明する。
【００８３】
ハンディターミナルの起動処理が開始されると（ステップＳ４０１）、ＣＰＵ１の主電池電圧検出部３により主電池１６の電圧レベルを測定する（ステップＳ４０２）。そして、測定された電圧レベルに応じて電池種類を判定する（ステップＳ４０３）。この場合に、新品の乾電池は二次電池よりも電圧が高いので、これより、電池種類を自動判定できる。または、起動時にハンディターミナルの表示部に電池種類を設定するためのダイアログ画面を表示し、ユーザが設定するようにしてもよい。
【００８４】
次に、電池種類が二次電池と判定された場合は、電圧基準値を、例えば、１．１Ｖに設定し（ステップＳ４０４）、電池種類が乾電池と判定された場合は、電圧基準値を、例えば、１．２Ｖに設定する（ステップＳ４０５）。
【００８５】
次に、主電池電圧検出部３により主電池１６の電圧レベルをチェックし（ステップＳ４０６）、所定の電圧基準値以上であるかどうかを判定する（ステップＳ４０７）。
【００８６】
主電池１６の電圧が所定の電圧基準値以下であると判定された場合は（ステップＳ４０７：Ｎｏ）、起動不可と判定し、起動処理エラーとする（ステップＳ４１０）。一方、主電池１６の電圧が所定の電圧基準値以上であると判定されると（ステップＳ４０７：Ｙｅｓ）、キャパシタ１８への充電処理を行い（ステップＳ４０８）、起動処理を完了する（ステップＳ４０９）。
【００８７】
上記処理により、主電池１６の種類に応じて電圧基準値を設定できる。
【００８８】
［第２の実施の形態］
本発明の第１の実施の形態では、主電池からの電源供給が停止した場合にも、安全にデータを退避できるハンディターミナルについて説明したが、本発明のハンディターミナルでは、さらに、主電池の劣化判定を行うようにもできる。本発明の第２の実施の形態では、この主電池の劣化判定機能を備えるハンディターミナルについて説明する。
【００８９】
（主電池劣化判定動作の説明）
最初に、本発明のハンディターミナルにおける主電池の劣化判定動作について説明する。
【００９０】
図７は、主電池劣化判定動作にについて説明するための図である。図７において、符号ｖ３はＣＰＵ１が通常動作を行える電圧、ｒ１、ｒ２は劣化測定するための負荷抵抗値（抵抗値ｒ１と抵抗値ｒ２とを交互に変化させる）、ｂ４は劣化電池の放電電圧曲線、ｂ５は正常電池の放電電圧曲線を、それぞれ示している。
【００９１】
放電電圧曲線ｂ４に示す劣化電池の電圧波形は、十分に充電した状態での測定データを模式的に示すものである。従って、平均電圧（振幅の中央値）がｖ３よりも高く測定され、電圧チェックのみでは、あたかも使用可能な電池と判断されてしまう。着目すべきは、波形の振幅値の変動の大きさであり、放電電圧曲線ｂ５に示す劣化していない正常な電池の同じ負荷抵抗での振幅と比較すると約２倍の振幅変動を生じる。十分に充電されて平均電圧としてｖ３を超える電圧が測定されても、このように大きな振幅変動を示す電池は、短時間で平均電圧が急降下する傾向がある。従って、電池の劣化状態の確認には、電圧の振幅を計測すれば良い。
【００９２】
なお、図７に示す例では、放電電圧曲線ｂ５で示される正常電池の波形では、平均電圧がｖ３を下回っている例を示しているが、これは充電そのものが不十分である例を示してものであり、十分な充電を行うことにより、放電電圧曲線ｂ５の平均電圧をｖ３にできる。
【００９３】
以上説明したように、劣化電池は負荷が小さい時には高い電圧を示すが、負荷を大きくした場合大きな電圧降下の傾向が見られる。一方正常な電池は電圧降下が小さい。これにより、主電池が劣化しているかどうかを判定でき、劣化している場合は、主電池を交換するように警告するメッセージを表示部に表示することができる。
【００９４】
（ＣＰＵおよび電池制御回路の詳細な構成の説明）
また、図８は、主電池劣化判定機能を備えるハンディターミナルにおけるＣＰＵと電池制御回路の詳細な構成を示す図である。
【００９５】
図８に示すハンディターミナルが、図３に示すハンディターミナルと構成上異なるのは、図３に示すハンディターミナルに対し、ＣＰＵ１内の主電池劣化判定部９と、負荷変動部９Ａを新たに追加した点である。さらに、負荷変動部９Ａによりオン・オフ駆動されるスイッチＳＷ６と、スイッチＳＷ６により電源線Ａに接続される擬似負荷１０を新たに追加した点である。他の構成は図３に示すハンディターミナルと同様である。このため、同一の構成部分には同一の符号を付し、重複する説明は省略し、新たに追加された部分についてのみ説明する。
【００９６】
主電池劣化判定部９では、負荷変動部９Ａにより電源線Ａに接続される擬似負荷１０をＳＷ６によりＯＮ、ＯＦＦし、電源線Ａの電圧の振幅値の変化を検出し、この電圧振幅値の変化を基に、主電池１６の劣化を判定する処理部である。なお、擬似負荷１０に代えて、比較的消費電流の大きい表示部１４と通信部１５の起動と停止を繰り返すようにしてもよい。
【００９７】
（ハンディターミナルにおける各処理動作の説明）
図９は、ＲＡＭにデータを書込む場合の電池電圧の判定処理の流れを示すフローチャートである。
【００９８】
図９に示すフローチャートは、図４に示すフローチャートと比較して、新たに、主電池劣化判定の処理ステップ（ステップＳ１０３Ａ、Ｓ１０３Ｂ）が追加された点が異なり、他のステップは図４に示すフローチャートと同様である。このため、同一の処理内容のステップには同一の符号を付し、重複する説明は省略し、新たに追加された処理ステップの部分についてのみ説明する。
【００９９】
主電池１６の電圧が所定の電圧基準値以上であると判定されると（ステップＳ１０３：Ｙｅｓ）、主電池劣化判定部９により主電池劣化チェックを行う（ステップＳ１０３Ａ）。この主電池劣化判定は、図７に示したように、負荷変動時の主電池電圧の振幅値の変化を検出することにより行われる。
【０１００】
主電池劣化チェックにより主電池が劣化していると判定された場合は（ステップＳ１０３Ｂ：Ｎｏ）、ＲＡＭ１２へのデータ書込み不可と判定し、ＲＡＭ１２へのデータ書込みを中止する（ステップＳ１１２）。
【０１０１】
一方、主電池劣化判定部９により主電池が劣化していないと判定された場合は（ステップＳ１０３Ｂ：Ｙｅｓ）、副電池電圧検出部４により、副電池１７の電圧レベルがチェックされる（ステップＳ１０４）。
【０１０２】
上述した処理の流れにより、ＲＡＭ１２にデータを書き込む際に、主電池１６の電圧の判定と、副電池１７の電圧の判定に加えて、主電池１６の劣化判定を行うようにしたので、より安全にＲＡＭ１２へデータを書き込むことができる。
【０１０３】
また、図１０は、主電池劣化判定を行うハンディターミナルの起動処理の流れを示すフローチャートである。以下、図１０を参照して、その処理の流れについて説明する。
【０１０４】
図１０に示すフローチャートは、図６に示すフローチャートと比較して、新たに、主電池劣化判定の処理ステップ（ステップＳ４０７Ａ、Ｓ４０７Ｂ）が追加された点が異なり、他のステップは図６に示すフローチャートと同様である。このため、同一の処理内容のステップには同一の符号を付し、重複する説明は省略し、新たに追加された処理ステップの部分についてのみ説明する。
【０１０５】
主電池１６の電圧が所定の電圧基準値以上であると判定されると（ステップＳ４０７：Ｙｅｓ）、主電池劣化判定部９により主電池劣化チェックが行われる（ステップＳ４０７Ａ）。この主電池劣化判定は、図７に示したように、負荷変動時の主電池電圧の振幅値の変化を検出することにより行われる。
【０１０６】
主電池劣化チェックにより主電池が劣化していると判定された場合は（ステップＳ４０７Ｂ：Ｎｏ）、起動不可と判定し、起動処理エラーとする（ステップＳ４１０）。一方、主電池１６が劣化していないと判定された場合は（ステップＳ４０７Ｂ：Ｙｅｓ）、キャパシタ１８への充電処理を行い（ステップＳ４０８）、起動処理を完了する（ステップＳ４０９）。
【０１０７】
上記処理により、ハンディターミナルの起動時に主電池の劣化の判定を行い、起動処理を完了することができる。
【０１０８】
以上、本発明の実施の形態について説明したが、本発明のハンディターミナルは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施の形態に係わるハンディターミナルの概略構成を示す図である。
【図２】主電池からの電源供給が停止された場合の電池切り替え動作の説明図である。
【図３】ＣＰＵと電池制御回路の詳細な構成を示す図である。
【図４】ＲＡＭにデータを書込む場合の電池電圧の判定処理の流れを示すフローチャートである。
【図５】瞬断に対する割込み処理の流れを示すフローチャートである。
【図６】ハンディターミナルの起動処理の流れを示すフローチャートである。
【図７】主電池劣化判定動作について説明するための図である。
【図８】主電池劣化判定機能を備えるハンディターミナルにおけるＣＰＵと電池制御回路の詳細な構成を示す図である。
【図９】ＲＡＭにデータを書込む場合の電池電圧の判定と主電池劣化判定の処理の流れを示すフローチャートである。
【図１０】主電池劣化判定を行うハンディターミナルの起動処理の流れを示すフローチャートである。
【図１１】ハンディターミナルの外観例を示す図である。
【符号の説明】
【０１１０】
１・・・ＣＰＵ、２Ａ・・・Ａ／Ｄ変換器、２Ｂ・・・Ｄ／Ａ変換器、３・・・主電池電圧検出部、４・・・副電池電圧検出部、５・・・ＢＬＤ判定部、５Ａ・・・電圧基準値生成部、６・・・データ書込部、７・・・サムチェック部、８・・・データ退避部、９・・・主電池劣化判定部、９Ａ・・・負荷変動部、１０・・・擬似負荷、１１・・・ＲＯＭ、１２・・・ＲＡＭ、１３・・・キー入力部、１４・・・表示部、１５・・・通信部、１６・・・主電池、１７・・・副電池、１８・・・キャパシタ、２１・・・    電池制御回路、２２・・・充電部、２３・・・主電池電圧検出部、２４・・・キャパシタ電圧検出部、２５・・・電圧基準値保持部、２６・・・電源切替部
【図１】
0004972495.tif 000002
【図２】
0004972495.tif 000003
【図３】
0004972495.tif 000004
【図４】
0004972495.tif 000005
【図５】
0004972495.tif 000006
【図６】
0004972495.tif 000007
【図７】
0004972495.tif 000008
【図８】
0004972495.tif 000009
【図９】
0004972495.tif 000010
【図１０】
0004972495.tif 000011
【図１１】
0004972495.tif 000012