(57)【要約】【課題】ＣＰＵの暴走が生じた場合であっても、自動的に復帰することを可能にし、利便性を向上させ得る下位装置及び情報処理システムを提供する。【解決手段】上位装置２との間で通信を行うとともに状況に応じた処理を実行して、上位装置２に対し現在の状態と処理結果を送信する磁気カードリーダ１において、上位装置２との間で通信を行うＲＳレシーバー１４と、状況に応じた処理を実行するために磁気カードリーダ１の動作を制御するＣＰＵ１１と、ＣＰＵ１１が暴走した際に、ＣＰＵ１１への電力供給を制御するＣＰＵ電源制御回路１３と、を備える。【選択図】図２
2010282271.tif 000002
【特許請求の範囲】
【請求項１】
上位装置との間で通信を行うとともに状況に応じた処理を実行して、当該上位装置に対し現在の状態と処理結果を送信する下位装置において、
前記上位装置との間で通信を行う通信用インターフェイスと、
状況に応じた処理を実行するために当該下位装置の動作を制御する主制御部と、
前記主制御部が暴走した際に、前記主制御部への電力供給を制御する電源制御部と、を備えることを特徴とする下位装置。
【請求項２】
前記電源制御部は、遅延回路を介在させて前記通信用インターフェイスと電気的に接続されたシュミット回路と、
前記シュミット回路の出力に応じて前記主制御部への電力供給を制御するＦＥＴと、を備えることを特徴とする請求項１記載の下位装置。
【請求項３】
前記通信用インターフェイスはＲＳ２３２Ｃであって、
前記電源制御部は、前記主制御部が暴走した際に、前記上位装置のＲＴＳ信号がＯＦＦとなったタイミングを利用して、当該主制御部への電力供給を制御することを特徴とする請求項１又は２記載の下位装置。
【請求項４】
請求項１から３のいずれか記載の下位装置と、前記上位装置と、を有する情報処理システムにおいて、
前記上位装置は、前記主制御部が暴走したことを検知した際に、当該上位装置のＲＴＳ信号を所定時間ＯＦＦすることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置に対し現在の状態と処理結果を送信する下位装置及び情報処理システムに関する。
【背景技術】
【０００２】
従来から、クレジットカード，プリペイドカード又はキャッシュカード等のカード状媒体に形成された磁気ストライプには、例えば固有情報等の磁気情報が記録されている。この磁気情報の読み取り又は書き込みを行うものとして、磁気カードリーダが広く普及している。以下では、この磁気カードリーダを、下位装置の一例として説明する。
【０００３】
この磁気カードリーダ（下位装置）は、上位装置との間で通信を行うとともに状況に応じた処理を実行して、上位装置に対し現在の状態と処理結果を送信するようになっている。例えばスワイプ式の磁気カードリーダでは、カード状媒体を読み取っている際（たとえば、利用者がカードを手動で走行（スワイプ）させる際）に、静電気によるリセット（磁気カードリーダのデバイスのリセット）が生じる場合がある。このような場合の対処法として、例えば特許文献１に開示された磁気カードリーダのように、上位装置からの所定のリセット信号を受信するまで待機し、これを受信すると初期状態に復帰する、といった方策がある。
また、静電気によるリセットに比べれば低い確率ではあるが、何らかの原因でＣＰＵが暴走する場合もある。この場合、上位装置との間で通信を行うことができず、上位装置は磁気カードリーダに対して制御不能な状態となる。その対処法は、利用者が上位装置の電源を一旦ＯＦＦし、再びＯＮすることで復帰する、といった方策が執られている。
【０００４】
【特許文献１】特開平２−９６２９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記磁気カードリーダのＣＰＵの暴走が生じた場合など、例えば通常のリセットでは復帰できないモードになった場合には、上述のとおり上位装置の電源を入れ直さなければならないが、このような作業を利用者に課すと利便性に欠ける。
【０００６】
例えば、２４時間稼動し続け、お客自身が操作するセルフサービス方式のシステム（ガソリンスタンドのＰＯＳシステムなど）を考えた場合、不特定多数の人がどのような操作をするか分からない状態であるため、仮に操作中にＣＰＵの暴走が発生した場合、適切なＯＮ・ＯＦＦ操作が行われる可能性は低い。また、このようなシステムを考える際には、どのような状況でも停止することなく動作し続けることが要求されているため、仮に店員が上位装置の電源を入れ直せば復帰できる場合であっても、人為的なＯＮ・ＯＦＦ操作の介在は好ましいものではない。
【０００７】
本発明は、このような点に鑑みてなされたものであり、その目的は、下位装置のＣＰＵの暴走が生じた場合であっても、自動的に復帰することを可能にし、利便性を向上させ得る下位装置及び情報処理システムを提供することにある。
【課題を解決するための手段】
【０００８】
以上のような課題を解決するために、本発明は、以下のものを提供する。
【０００９】
（１）  上位装置との間で通信を行うとともに状況に応じた処理を実行して、当該上位装置に対し現在の状態と処理結果を送信する下位装置において、前記上位装置との間で通信を行う通信用インターフェイスと、状況に応じた処理を実行するために当該下位装置の動作を制御する主制御部と、前記主制御部が暴走した際に、前記主制御部への電力供給を制御する電源制御部と、を備えることを特徴とする下位装置。
【００１０】
本発明によれば、下位装置に、上位装置との間で通信を行う通信用インターフェイス、状況に応じた処理を実行するために下位装置の動作を制御する主制御部、前記主制御部が暴走した際に、主制御部への電力供給を制御する電源制御部と、を設けることとしたので、主制御部が暴走した場合であっても、電源制御部により、主制御部への電力を一旦遮断し、再び電力供給を開始する、といった対処が可能となる。したがって、下位装置を自動的に復帰させることができ、ひいては利便性を向上させることができる。
【００１１】
特に、本発明は、通常のリセットでは復帰できないモードになった場合であっても、上位装置の電源を入れ直すなどの人為的なＯＮ・ＯＦＦ操作が必要ない点で、利便性が高いものとなる。
【００１２】
（２）  前記電源制御部は、遅延回路を介在させて前記通信用インターフェイスと電気的に接続されたシュミット回路と、前記シュミット回路の出力に応じて前記主制御部への電力供給を制御するＦＥＴ（Field Effect Transistor）と、を備えることを特徴とする下位装置。
【００１３】
本発明によれば、上述した電源制御部には、遅延回路を介在させて通信用インターフェイスと電気的に接続されたシュミット回路と、シュミット回路の出力に応じて主制御部への電力供給を制御するＦＥＴとが設けられているので、遅延回路やシュミット回路によりノイズ耐性を高めつつ、下位装置を自動的に復帰させることができる。特に、遅延回路の存在により、通信用インターフェイスから送られてくる信号にパルス状のノイズが乗っていた場合でも、その悪影響（そのノイズにより主制御部への電源供給を誤って制御してしまう弊害）を抑えることができる。
【００１４】
（３）  前記通信用インターフェイスはＲＳ２３２Ｃであって、前記電源制御部は、前記主制御部が暴走した際に、前記上位装置のＲＴＳ信号がＯＦＦとなったタイミングを利用して、当該主制御部への電力供給を制御することを特徴とする下位装置。
【００１５】
本発明によれば、通信用インターフェイスはＲＳ２３２Ｃであって、電源制御部は、主制御部が暴走した際に、上位装置のＲＴＳ信号がＯＦＦとなったタイミングを利用して主制御部への電力供給を制御することとしたので、回路の複雑化を防ぐことができる。すなわち、本発明では、主制御部への電力供給のトリガ信号として、新たな制御線を流れる信号ではなく、ＲＳ２３２Ｃで規定された既存のＲＴＳ信号を用いるようにしているので、回路の複雑化を防ぐことができる。
【００１６】
（４）  （１）から（３）のいずれか記載の下位装置と、前記上位装置と、を有する情報処理システムにおいて、前記上位装置は、前記主制御部が暴走したことを検知した際に、当該上位装置のＲＴＳ信号を所定時間ＯＦＦすることを特徴とする情報処理システム。
【００１７】
本発明によれば、上述した下位装置と上位装置を有する情報処理システムで、上位装置は、主制御部が暴走したことを検知した際に、ＲＴＳ信号を所定時間ＯＦＦすることとしたので、上述した電源制御部はこれを契機として主制御部への電力供給を制御でき、ひいては下位装置を自動的に復帰させることができる。また、下位装置を自動的に復帰させることができれば、システムを（停止させることなく）動作させ続けることができるので、システム全体の安定性を高めることができる。
【発明の効果】
【００１８】
以上説明したように、本発明によれば、主制御部の暴走が生じた場合であっても、下位装置を自動的に復帰させることができ、ひいては利便性を高めることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００２０】
［システム構成］
図１及び図２は、本発明の実施の形態に係る情報処理システムの構成を示すブロック図であり、図１は上位装置２を、図２は下位装置の一例としての磁気カードリーダ１を示している。
【００２１】
上位装置２は、ＰＯＳ端末にケーブルを介して接続されている下位装置１を利用して情報処理を実行させるアプリケーション２１と、このアプリケーション２１と下位装置１との間の通信を制御するドライバーモジュールと、を有し、このドライバーモジュールはＯＰＯＳ２２を含んでいる。ＯＰＯＳ２２は、ＯＰＯＳ（Open Point of Service）技術協議会によってアプリケーションサービスインターフェイスの標準規格（ソフト）として定められているものである。その他、上位装置２は、図示しないＣＰＵ，ＲＯＭ，ＲＡＭ等の各種ハードウェアを有しており、上位装置２を統合的に制御する機能、下位装置１との通信機能等を有している。
【００２２】
ＯＰＯＳ２２は、ＣＯ（Control Object）とＳＯ（Service Object）の２階層から構成されている。ＣＯは、下位装置（磁気カードリーダー，プリンタ，ディスプレイ等）のデバイスクラス毎に提供されるオブジェクトであり、アプリケーション２１とのインターフェースを司っている。ＳＯは、下位装置のデバイス毎に提供されるオブジェクトであり、ＳＯを介して各デバイスの制御を実行する。
【００２３】
アプリケーション２１は、メソッド及びプロパティによって制御対象となる下位装置1に所望の制御を実行させ、イベント及びプロパティによって下位装置1に制御を実行させた結果を受け取る。
【００２４】
ＯＰＯＳ２２は、アプリケーション２１から下位装置１への処理要求を下位装置１がサポートしているコマンドに変換して送信し、下位装置１の処理結果をステータスとして受信する。具体的には、ＰＯＳ端末システムを構成する磁気カードリーダ１の制御を実行させるアプリケーション・ソフトウェアとの間に位置し、上位装置２と磁気カードリーダ１とのインタフェースを所定の仕様に基づいて標準化させるためのソフトウェアである。アプリケーション・ソフトウェアは、メソッド（Ｍｅｔｈｏｄ）等によって制御対象となる磁気カードリーダ１に所望の制御を実行させ、戻り値やイベント（Ｅｖｅｎｔ）、パリティによってデバイスに制御を実行させた結果を受け取るようになっている。
【００２５】
なお、図1では図示しないが、上位装置２は、アプリケーション２１と下位装置１との間の通信を制御するドライバーモジュールも有している。ドライバーモジュールには、ＯＰＯＳ２２の他に、実際に下位装置１との通信を制御するための通信制御用ソフトウェアなどが含まれる。
【００２６】
以下、上位装置２との間で通信を行うとともに状況に応じた処理を実行して、上位装置２に対し現在の状態と処理結果を送信する下位装置の一例として、磁気カードリーダ１を採用する場合について説明する。この磁気カードリーダ１は、クレジットカードやプリペードカード等の磁気カードをカード通路内に取り込んで、カード通路内に配置されている磁気ヘッドが、カードに形成された磁気ストライプに接触・摺動し、磁気ストライプに磁気情報の読取りあるいは磁気情報の書込みを行っている。また、このような磁気カードリーダ１は、ＡＴＭ、自動販売機、自動券売機、ＰＯＳ端末機などに広く採用されている。本実施形態では、磁気カードリーダ１をＰＯＳ端末に接続した場合で説明する。
【００２７】
なお、ＰＯＳ（Point Of Sales）システムは、小売店等において広く活用されている。このＰＯＳシステムは、どの商品がいつ、いくらで売られたかを把握するために、実際に商品を販売した時に単品情報を収集し、コンピュータで管理するためのシステムである。言い換えれば、ＰＯＳシステムは、ＰＯＳ端末（レジスタ、パソコン、磁気カードリーダ等）から入力されたデータをリアルタイムで管理するシステムである。
【００２８】
図２において、上位装置２はＰＯＳ端末用ホストであり、ＰＯＳ端末に磁気カードリーダ１が接続されており、磁気カードリーダ１に対しコマンド（命令）指示を行うとともに、磁気カードリーダ１にて読み取られた磁気データを受信して所定の処理を実行するようになっている。この上位装置２に接続された磁気カードリーダ１は、ＣＰＵ１１と、ＣＰＵ電源１２と、ＣＰＵ電源制御回路１３と、ＲＳレシーバー１４と、を有している。
【００２９】
ＣＰＵ１１は、磁気カードリーダ全体を統合的に制御するものであって、図示しないＲＯＭ等からプログラムを読み出し、図示しないＲＡＭをワーキングエリアとして各種処理を実行する。また、ＣＰＵ電源１２から電力の供給を受けて、各種処理を実行する。なお、ＣＰＵ１１は、状況に応じた処理を実行するために磁気カードリーダ１の動作を（統合的に又は全体的に）制御する主制御部の一例に相当するが、その他、ＭＰＵなどＣＰＵ１１以外のものを主制御部として用いても構わない。
【００３０】
ＲＳレシーバー１４は、ＣＰＵ１１、ＣＰＵ電源制御回路１３及び上位装置２と電気的に接続されている。本実施形態では、上位装置２側のＲＴＳ信号を、磁気カードリーダ１側ではＣＴＳ信号として受信して、このＣＴＳ信号をＣＰＵ１１とＣＰＵ電源制御回路１３に送信する。なお、ＲＳレシーバー１４は、上位装置２との間で通信を行う通信用インターフェイスの一例に相当する。具体的には、上位装置２と磁気カードリーダ１とはＲＳ２３２Ｃ規格によって通信可能となっており、ＲＴＳ信号もＣＴＳ信号もＲＳ２３２Ｃによって定められた信号である。このＲＳ２３２Ｃは送・受信を各一本の信号線で行うための規格であり、標準的な通信（データ交換）方法の一つである。また、上位装置２のＲＴＳ信号線と磁気カードリーダ１側のＣＴＳ信号線はクロス接続されており、このクロス接続を使うと、上位装置２側で出力された送信信号が、正しく磁気カードリーダ１側の受信信号に入力されるので、通信が可能になる。
【００３１】
また、ＲＴＳ（Request  to  send：送信要求）信号及びＣＴＳ（Clear  ｔｏ  send：送信可能）信号は、データ送信に先立って送信される信号であり、データ部分の送受信を行う前に接続の確認を行なっている。
【００３２】
ここで、本実施形態に係る磁気カードリーダ１におけるＣＰＵ電源制御回路１３は、上位装置２のＲＴＳ信号をトリガとして、ＣＰＵ電源１２を所望のタイミングでコントロールすることができるようになっている。具体的には、図３を用いて詳述する。なお、ＣＰＵ電源制御回路１３は、ＣＰＵ１１が暴走した際に、ＣＰＵ１１への電力供給を制御する電源制御部の一例に相当する。
【００３３】
図３は、ＣＰＵ電源制御回路１３の電気的構成を示すブロック図である。
【００３４】
図３において、ＲＳレシーバー１４に接続されたＣＰＵ電源制御回路１３は、遅延回路１３１と、シュミット回路１３２と、ＦＥＴ１３３とを有している。遅延回路１３１は、抵抗ＲとコンデンサＣから構成され、それぞれ抵抗値と静電容量を調節することで、最適な時定数を設定することができる。そして、最適な時定数を設定しておくことで、ＲＳレシーバー１４から送られてくるＣＴＳ信号が、所定の微少時間以下で変化した場合に（例えば、０．５秒以下でＯＮ→ＯＦＦ→ＯＮと変化した場合に）、その変化を吸収することができる。これにより、ＣＴＳ信号をトリガ信号として用いる場合に、トリガ信号とノイズとを区別することができる。このように、本実施形態では、遅延回路１３１を設けることで、０．５秒以下のＣＴＳ信号には反応しないようにしている。なお、本実施形態では、遅延回路１３１として、抵抗とコンデンサを用いることとしたが、例えばコイルとコンデンサを用いたＬＣフィルタを用いるなど、電気信号を一定時間遅らせるバッシブ回路、その他同等の機能を有する回路であれば、如何なる種類の回路であってもよい。
【００３５】
なお、図３に示すように、ＲＳレシーバー１４、シュミット回路１３２には、上位装置２から電源が供給されるようになっている。
【００３６】
シュミット回路１３２は、ヒステリシスを有する電子回路であり、ＣＴＳ信号が閾値付近で揺らいだ際の出力変動を防止する。具体的には、ＣＴＳ信号の電位が高閾値を上回るとＨレベルの電位を出力し、ＣＴＳ信号の電位が低閾値を下回るとＬレベルの電位を出力する。これにより、ＣＴＳ信号の振幅が揺らいでも、意図しない出力変動を防止でき、ノイズ耐性を高めている。なお、シュミット回路１３２の具体的回路構成は、如何なる種類のものであってもよい。例えば、正帰還付きのオペアンプで実現してもよいし、そのオペアンプの出力側にツェナーダイオードを付加して実現してもよいし、複数のトランジスタを組み合せて実現してもよいし、ロジックＩＣを用いて実現してもよい。
【００３７】
ＦＥＴ（電界効果トランジスタ）１３３は、シュミット回路１３２の出力（電位変化）をトリガとして、上位装置２の供給電源２２からＣＰＵ電源１２への電力供給を制御するものである。具体的には、シュミット回路１３２の出力がＯＮ状態（例えばＨレベル）であれば、ＦＥＴ１３３もＯＮし、ＣＰＵ電源１２への電力供給が行われると同時にＣＰＵ１１へも電力供給が行われる。一方、シュミット回路１３２の出力がＯＦＦ状態（例えばＬレベル）であれば、ＦＥＴ１３３もＯＦＦし、ＣＰＵ電源１２への電力供給が遮断されると同時にＣＰＵ１１への電力供給も遮断される。
【００３８】
このように、ＣＰＵ電源制御回路１３は、遅延回路１３１，シュミット回路１３２，及びＦＥＴ１３３などを利用することで、上位装置２のＲＴＳ信号をトリガとして、ＣＰＵ電源１２をコントロールすることができるようになっている。すなわち、ＣＰＵ１１が暴走した際に、上位装置２のＲＴＳ信号がＯＦＦとなったタイミングを利用して、ＣＰＵ１１への電力供給を制御することができるようになっている。なお、ＲＳレシーバー１４とシュミット回路１３２、ＦＥＴ１３３は、上位装置２の供給電源２２に接続されている。
【００３９】
［システム動作］
次に、図１及び図２に示すシステムの動作について説明する。図４は、上述したＯＰＯＳの状態遷移を説明するための説明図、すなわち、ＰＯＳ端末システムにおけるＯＰＯＳ（ソフトウェア）の役割（位置付け）を示す図である。図５は、ＣＰＵ１１の暴走が生じた場合の復帰処理を説明するためのシーケンス図である。
【００４０】
図４において、ＯＰＯＳは、アプリケーション・ソフトウェアから磁気カードリーダ１への処理要求を、磁気カードリーダ１がサポートしているコマンドに変換して送信し、磁気カードリーダ１の処理結果をステータス（状態）として受信するようになっている。
【００４１】
本実施形態において、上位装置２におけるＯＰＯＳは、最初は、Ｃｌｏｓｅ状態（状態ＳＴ１）になっており、上位装置２と磁気カードリーダ１とは通信が切れた状態となっている。そこで、上位装置２のアプリケーション・ソフトウェアから送信されたＯｐｅｎメソッド（コマンドの一種）を磁気カードリーダ１が受け取った場合には、Ｏｐｅｎ状態（状態ＳＴ２）、すなわち、上位装置２が磁気カードリーダ１を指定した状態に遷移する。そして、更に、磁気カードリーダ１がＣｌａｉｍＤｅｖｉｃｅメソッドを受け取ると、Ｃｌａｉｍ状態（状態ＳＴ３）、すなわち、上位装置２が磁気カードリーダ１と通信可能な状態に遷移する。その後、ＯＰＯＳがＤｅｖｉｃｅＥｎａｂｌｅｄ＝ＴＲＵＥへプロパティが設定されると、ＯＰＯＳはＥｎａｂｌｅ状態（状態ＳＴ４）となり、上位装置２は磁気カードリーダ２から送信される磁気情報の読み取り待ち状態（磁気情報の入力待ちを示す待機状態）となる。一方で、ＯＰＯＳがＥｎａｂｌｅ状態になれば、磁気カードリーダ１も、磁気情報の入力待ちを示す待機状態となっている。すなわち、このＥｎａｂｌｅ状態（状態ＳＴ４）で、上位装置２は、磁気カードリーダ１から送信される磁気情報を受信し処理可能な状態となっている。
【００４２】
ＯＰＯＳは、図４に示すように、逆の状態遷移も同様で、アプリケーション・ソフトウェアからＯＰＯＳへＤｅｖｉｃｅＥｎａｂｌｅ＝ＦＡＬＳＥのプロパティ設定が行われると、ＯＰＯＳの状態は状態ＳＴ４から状態ＳＴ３へ遷移し、ＲｅｌｅａｓｅＤｅｖｉｃｅメソッドが送られると、ＯＰＯＳの状態は状態ＳＴ３から状態ＳＴ２へ遷移し、Ｃｌｏｓｅメソッドが送られると、ＯＰＯＳの状態は状態ＳＴ２から状態ＳＴ１へ遷移する。
【００４３】
このようなＯＰＯＳの状態遷移に基づいて、ＣＰＵ暴走からの復帰処理について詳述する。図５に示すように、まず、アプリケーション・ソフトウェアからＯＰＯＳへＤｅｖｉｃｅＥｎａｂｌｅｄ＝ＴＲＵＥのプロパティ設定が行われる（ステップＳ１）。これを受信したＯＰＯＳ（上位装置２）は、磁気カードリーダ１（下位装置）に対して初期化コマンドを送信する（ステップＳ２）。これに対して初期化完了のレスポンスがＯＰＯＳに返ってくる。次に、ＯＰＯＳは、磁気カードリーダ１に対して機器認証コマンドを送信する（ステップＳ３）。これに対して機器認証完了のレスポンスがＯＰＯＳに返ってくる。次に、ＯＰＯＳは、磁気カードリーダ１に対してイネーブルコマンド（磁気情報受信可能コマンド）を送信する（ステップＳ４）。これに対してイネーブル確認のレスポンスがＯＰＯＳに返ってくる。そして、イネーブル確認のレスポンスを受信したＯＰＯＳは、ＲｅｓｕｌｔＣｏｄｅ＝ＯＰＯＳ＿ＳＵＣＣＥＳＳのレスポンスをアプリケーション・ソフトウェアに送信する（ステップＳ５）。その結果、上位装置２と磁気カードリーダ１は、磁気情報の入力待ちを示す待機状態となる。すなわち、磁気カードリーダ１は、磁気カードが挿入されるまで待機している状態となっている。なお、本実施形態では、磁気データに暗号（ＤＥＳ）を使用しており、機器認証コマンドを実行している。機器認証コマンドは、磁気カードリーダ１とＯＰＯＳが同じマスターキーを保有しているかを確認し、キー交換用のキーを互いに保有する機能を有している。暗号（ＤＥＳ）を使用しない場合、機器認証コマンドは不要となる。
【００４４】
（通常動作）
この待機状態では、ＯＰＯＳは、例えば１００ｍｓの間隔で、定期的にスワイプ完了待ちコマンドを磁気カードリーダ１に送信する（ステップＳ６）。これに対して、ＣＰＵ１１が暴走した等の問題が生じていない場合には、スワイプ完了待ちの確認のレスポンスがＯＰＯＳに返ってくる。
【００４５】
（暴走した場合）
次に、磁気カードリーダ１において、仮にＣＰＵ１１が暴走した場合、ＯＰＯＳがスワイプ完了待ちコマンドを磁気カードリーダ１に送信しても（ステップＳ７）、磁気カードリーダ１からレスポンスが返ってこない（ステップＳ８）。具体的には、ＯＰＯＳが送信したスワイプ完了待ちコマンドに対して５００ｍｓｅｃ以内にＡＣＫ信号（Acknowledgement信号：データを転送する際に、送信側からの転送要求に対し、受信側が転送を許可する意味で送信側に発する信号）が返ってこないエラーが、４回繰り返されると、ＯＰＯＳはＣＰＵ１１が暴走したと判断する。なお、本実施の形態では、経験上で４回繰り返された場合に暴走したと判断するようにしているが、回数は限定されるものではない。
【００４６】
このような場合、ＯＰＯＳは自動的にＣＰＵ暴走からの復帰処理を実行する。より具体的には、本実施形態では、ＯＰＯＳは、磁気カードリーダ１に対して上位装置２側のＲＴＳ信号を１秒間ＯＦＦにする（ステップＳ９）。その結果、図２を用いて説明したように、ＲＳレシーバー１４のＣＴＳ信号が１秒間ＯＦＦとなり、遅延回路１３１，シュミット回路１３２，及びＦＥＴ１３３を通じてＣＰＵ電源１２への電力供給が遮断され、磁気カードリーダ１の電源はＯＦＦされる。その後、上位装置２側のＲＴＳ信号をＯＮへ戻す（ステップＳ１０）。その結果、図２を用いて説明したように、ＲＳレシーバー１４のＣＴＳ信号がＯＮとなり、遅延回路１３１，シュミット回路１３２，及びＦＥＴ１３３を通じてＣＰＵ電源１２への電力供給が再び開始され、磁気カードリーダ１はＯＮされる。
【００４７】
その後、ＯＮされた磁気カードリーダ１は、図４に示すＣｌｏｓｅ状態である。そこで、上述したように、上位装置２のアプリケーション・ソフトウェアから各メソッド（コマンドの一種）をＯＰＯＳから送信されて磁気カードリーダ１が受け取り、Ｃｌａｉｍ状態まで状態変遷する。さらに、ＤｅｖｉｃｅＥｎａｂｌｅｄ＝ＴＲＵＥまでに必要な一連のコマンドが実行され、磁気カードリーダ１はカードスワイプ待ち状態へ復帰する。すなわち、図５において、ＯＰＯＳは、初期化コマンド、機器認証コマンド、イネーブルコマンドをこの順に送信することによって（ステップＳ１１，ステップＳ１２及びステップＳ１３）、磁気カードリーダ１を初期状態から待機状態へ遷移させる。これにより、エラーから復帰し、ＯＰＯＳはカードスワイプ待ちの処理を継続するため、スワイプ完了待ちコマンドを定期的に送信する（ステップＳ１４）。なお、ステップＳ２〜ステップＳ４、および、ステップＳ１１〜ステップＳ１３において、磁気カードリーダ１に対し、初期化コマンド、機器認証コマンド、イネーブルコマンドをこの順に送信しているが、この順番に限定されるものではない。たとえば、機器認証コマンド、イネーブルコマンドを逆にしてもよい。また、少なくとも初期化コマンド、イネーブルコマンドを送信すればよく、暗号（ＤＥＳ）を使用しなければ、機器認証コマンドの送信は不要であるし、この機器認証コマンド以外のコマンドが含まれていてもよい。
【００４８】
図６は、ＯＰＯＳによる復帰処理の流れを示すフローチャートである。
【００４９】
図６に示すように、まず、ＤｅｖｉｃｅＥｎａｂｌｅｄ＝ＴＲＵＥのプロパティ設定を契機として、初期化処理が実行される（ステップＳ３１）。より具体的には、ＯＰＯＳは、アプリケーションからＤｅｖｉｃｅＥｎａｂｌｅｄ＝ＴＲＵＥへプロパティが設定されると、上述したように、磁気カードリーダ１に対し、初期化コマンド、機器認証コマンド、イネーブルコマンドを送信する（図５のステップＳ２，ステップＳ３及びステップＳ４参照）。そして、初期化処理が成功すると、すなわちエラーがなければ（ステップＳ３２：ＮＯ）、処理はステップＳ３３に移される。一方、初期化処理に失敗した場合、すなわちエラーがあった場合には（ステップＳ３２：ＹＥＳ）、初期化することができない異常が生じているとして、処理を終了する。
【００５０】
ステップＳ３３において、ＯＰＯＳは、Ｅｎａｂｌｅ状態（図３に示す状態ＳＴ４）となっており、カードスワイプを監視している。一方、磁気カードリーダ１は、カードスワイプを検知するコマンド（図４に示すスワイプ完了待ちコマンド）をポーリングしている。
【００５１】
ここで、通常の動作では、磁気カードリーダ１がカード待機状態でスワイプ完了待ちの確認のレスポンスがＯＰＯＳに返ってくる。もし、スワイプ完了待ちの確認のレスポンスが返ってこない場合には、磁気カードリーダ１に何らかの問題が発生したとＯＰＯＳ（上位装置２）が判断する。
【００５２】
具体的には、スワイプ完了待ちコマンドに対して磁気カードリーダ１からレスポンスが返ってこない場合には（ステップＳ３４：ＹＥＳ）、ＣＰＵ１１の暴走が発生したと判断する。本実施の形態では、ＯＰＯＳが送信したスワイプ完了待ちコマンドに対して５００ｍｓｅｃ以内にＡＣＫ信号が返ってこないエラーが、４回繰り返されると、ＯＰＯＳはＣＰＵ１１が暴走したと判断する。ＣＰＵ１１が暴走したと判断した場合には、上述したように、上位装置２側のＲＴＳ信号を１秒間ＯＦＦし、再びＯＮにする（ステップＳ３５）。その結果、ＣＰＵ電源１２も１秒間ＯＦＦされ、再びＯＮされる。ステップＳ３５の処理の後、復帰用の初期化処理が行われる（ステップＳ３７）。具体的には、図４を用いて説明したように、ＯＰＯＳは、磁気カードリーダ１に対し、初期化コマンド、機器認証コマンド、イネーブルコマンドをこの順に送信し（図４のステップＳ１１，ステップＳ１２及びステップＳ１３参照）、磁気カードリーダ１はこれらのコマンドを順次実行する。その結果、エラー復帰が完了する。そして、ＯＰＯＳは、再びスワイプ完了待ちコマンドを定期的に送信する、カードスワイプ監視処理（ステップＳ３３）に移行する。
【００５３】
次に、スワイプ完了待ちコマンドに対して磁気カードリーダ１からＡＣＫ信号が返信され、その後、エラーコードがＯＰＯＳに返信された場合には、ＣＰＵ１１の暴走が発生しておらず、別の問題が生じたか否かが判断される（ステップＳ３６）。具体的には、カードスワイプ時に静電気リセットが発生した場合である。この場合には、磁気カードリーダ１は初期化され、スワイプ完了待ちコマンドに対して未初期化エラーのレスポンスをＯＰＯＳに返す。未初期化エラーが返されていない場合には（ステップＳ３６：ＮＯ）、ＤｅｖｉｃｅＥｎａｂｌｅｄプロパティの状態が判断され（ステップＳ３８）、ＤｅｖｉｃｅＥｎａｂｌｅｄ＝ＴＲＵＥであればカードスワイプの監視が継続して行われる（ステップＳ３３）。また、ＤｅｖｉｃｅＥｎａｂｌｅｄ＝ＦＡＬＳＥの状態であれば（ステップＳ３８：ＦＡＬＳＥ）、処理は終了する。
【００５４】
一方で、ステップＳ３６において未初期化エラーが返された場合には（ステップＳ３６：ＹＥＳ）、上述したような復帰用の初期化処理が行われる（ステップＳ３７）。
【００５５】
［実施形態の主な効果］
以上説明したように、本実施形態に係る磁気カードリーダ１によれば、ＣＰＵ１１の暴走があったとき、磁気カードリーダ１の電源を自動的に入れ直し（図５のステップＳ３５）、その後、初期状態から待機状態へ遷移させることができる（図５のステップＳ３７）。これにより、磁気カードリーダ１を自動的に復帰させることができ、利便性を高めることができる。また、静電気による磁気カードリーダ１自体のリセットがあったときでも、初期状態から待機状態へ遷移させることができるので（図５のステップＳ３７）、磁気カードリーダ１を自動的に復帰させることができ、利便性を高めることができる。このように、本実施形態に係る磁気カードリーダ１は、静電気によるリセット、ＣＰＵ１１の暴走のいずれに対しても、適切に対処することができる。
【００５６】
また、上位装置２のＯＰＯＳは、ＣＰＵ１１が暴走したことを検知した際に（図４のステップＳ８）、上位装置２のＲＴＳ信号を所定時間（本実施形態では１秒）だけＯＦＦするので、磁気カードリーダ１を自動的に復帰させることができるとともに（図５のステップＳ３７）、上位装置２のアプリケーション側にエラー通知を行う回数を減らすことができる。なお、上位装置２のアプリケーション側で復帰処理を行う必要がなくなれば、より強固なシステムを構築することができる。
【００５７】
また、トリガ信号としてＲＴＳ信号を用いることで、トリガ信号を流すための新たな制御線を設ける必要がなくなり、回路の複雑化を防ぐことができる。なお、一般に、磁気カード等のデータ量は非常に少なく、基本的に磁気カードリーダ１から送信されるデータ量で上位装置２が対応しきれなくなる可能性は極めて低い。したがって、本実施形態では、このような事情を上手く活用し、部品点数の増加や回路の複雑化を防いでいる。
【００５８】
なお、本実施形態ではトリガ信号としてＲＴＳ信号を用いたが、これ以外の信号を用いても構わない。例えば、装置の電源が入っているか否かを確認するためのＤＴＲ信号（磁気カードリーダ１側から見ればＤＳＲ信号）など、使用頻度の少ない制御線を用いることができる。また、本実施形態では下位装置として磁気カードリーダ１を考えたが、これ以外のデバイスにも本発明は適用可能である。
【産業上の利用可能性】
【００５９】
以上説明したように、本発明は、デバイスのエラー復帰を自動的に行うことができ、利便性を向上させることが可能なものとして有用である。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態に係る下位装置を含むシステムの構成を示すブロック図である。
【図２】本発明の実施の形態に係る下位装置を含むシステムの構成を示すブロック図である。
【図３】ＣＰＵ電源制御回路の電気的構成を示すブロック図である。
【図４】ＯＰＯＳの状態遷移を説明するための説明図である。
【図５】ＣＰＵの暴走が生じた場合の復帰処理を説明するためのシーケンス図である。
【図６】ＯＰＯＳによる復帰処理の流れを示すフローチャートである。
【符号の説明】
【００６１】
１  磁気カードリーダ
２  上位装置
１１  ＣＰＵ
１２  ＣＰＵ電源
１３  ＣＰＵ電源制御回路
１４  ＲＳレシーバー
【図１】
2010282271.tif 000003
【図２】
2010282271.tif 000004
【図３】
2010282271.tif 000005
【図４】
2010282271.tif 000006
【図５】
2010282271.tif 000007
【図６】
2010282271.tif 000008