JP4463658B2 - 情報処理システムの下位装置、下位装置用動作制御プログラムおよび下位装置用動作制御方法 - Google Patents

情報処理システムの下位装置、下位装置用動作制御プログラムおよび下位装置用動作制御方法 Download PDF

Info

Publication number
JP4463658B2
JP4463658B2 JP2004314081A JP2004314081A JP4463658B2 JP 4463658 B2 JP4463658 B2 JP 4463658B2 JP 2004314081 A JP2004314081 A JP 2004314081A JP 2004314081 A JP2004314081 A JP 2004314081A JP 4463658 B2 JP4463658 B2 JP 4463658B2
Authority
JP
Japan
Prior art keywords
communication interface
information processing
processing system
communication
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004314081A
Other languages
English (en)
Other versions
JP2006127128A5 (ja
JP2006127128A (ja
Inventor
勉 馬場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nidec Sankyo Corp
Original Assignee
Nidec Sankyo Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nidec Sankyo Corp filed Critical Nidec Sankyo Corp
Priority to JP2004314081A priority Critical patent/JP4463658B2/ja
Priority to US11/259,387 priority patent/US7404027B2/en
Priority to CN200510119231.5A priority patent/CN1767544B/zh
Publication of JP2006127128A publication Critical patent/JP2006127128A/ja
Publication of JP2006127128A5 publication Critical patent/JP2006127128A5/ja
Application granted granted Critical
Publication of JP4463658B2 publication Critical patent/JP4463658B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、情報処理システムの下位装置、下位装置用動作制御プログラムおよび下位装置用動作制御方法に関する。さらに詳述すると、本発明は、情報処理システムにおける動作制御の改良に関する。
上位装置と、この上位装置との間で通信を行って、状況に応じた処理を実施して現在の状態と処理結果を送信する下位装置の組み合わせとしては、例えばホスト(上位装置)とカードリーダ(下位装置)とが組み合わされたシステムを挙げることができる。このようなカードリーダには、データ処理機能は全く同じだが、通信用インターフェイス(入出力インターフェイス)が例えば一方がRS232C、他方がUSBというように異なる2機種のものが存在する場合があり、このような場合、従来はプログラムをそれぞれ独立して管理することがあった。
このように、上位装置(例えばカードリーダに接続されているホストコンピュータのこと、あるいはコンピュータに内蔵されている制御装置や演算装置といった処理装置のこと)との通信を行うカードリーダにおいて、RS232CやUSBのように異なる通信用インターフェイスが用いられれば、データの処理内容が同じであっても通信用インターフェイス毎に異なるプログラムを組み込まなければならないことがあった(例えば、特許文献1参照)。つまり、上位装置からのコマンドを実行する機能が同一であり汎用できる場合であっても、コマンドデータ受信機能、コマンド解析機能、レスポンス送信機能といった各機能がUSB専用あるいはRS232C専用というように汎用性のないものであれば、通信用インターフェイス毎に異なるプログラムを組み込むこととなっていた(図12参照)。要するに、実体的な内容は同じだが通信の仕様が異なる複数のプログラムを用意していた。
また、上位装置との通信を行うために、RS232C用、USB用、LAN用という3つの異なる通信用インターフェイスを備えたカードリーダが開示されている(例えば、特許文献2参照)。このカードリーダでは、電子マネーに関するデータはUSB用の通信用インターフェイスを用いて上位装置からの信号を受け、クレジットカードに関するデータはRS232C用の通信用インターフェイスを用いて別の上位装置からの信号を受けてデータのやり取りを行っている。
特開平8−288979号公報 特開2003−187193号公報
しかしながら、上述のように通信用インターフェイス毎に異なるプログラムの管理をしていると、例えば共通機能など、通信部に関する機能以外の部分について修正が必要となった場合、各プログラムをそれぞれ修正する必要が生じるため修正に手間と時間がかかるという問題があった。しかも、通信用インターフェイスの異なるそれぞれのカードリーダについて、修正後のプログラムが問題なく機能するか検証を行う必要もあるために開発期間が長くなるという更なる問題もあった。
また、上位装置との通信を行うために例えば3種類の異なる通信用インターフェイスを備えたカードリーダにおいても同様の問題があった。すなわち、各通信用インターフェイスが処理を行う上位装置と1対1に設定されている場合には(例えば特許文献2参照)、上位装置からの指令に基づいて上述したRS232C用やUSB用などのプログラムをそれぞれ独立して管理する手法に基づいていることから、各プログラムに対応して共通機能を修正しなければならないという問題があった。
さらに、特許文献2に記載のカードリーダにおいても、電子マネーに関する通信を、USB用の通信用インターフェイスではなく、RS232C用に変更したシステムを組み込もうとした場合、やはり、電子マネーに関する通信として、USB用の通信用インターフェイスを組み込んだプログラムとは別に、RS232C用の通信用のインターフェイスを組み込んだプログラムを独立して管理することになる。このため、組み込まれたプログラムは、不具合を直したり、またはセキュリティを高めるなどのために、そのたびごとに、複数のプログラムをそれぞれ修正しなければならない。さらに、修正したプログラムが正常に動作するかどうかの検証も行わなければならず、手間及び時間がかかるという問題があった。
そこで、本発明は、通信用インターフェイス毎に異なるプログラムの管理を不要とし、尚かつ各プログラムを修正し検証する場合の手間と時間とコストを削減し、さらには機器のコストアップと大型化を防ぐことのできる情報処理システムの下位装置、下位装置用動作制御プログラムおよび下位装置用動作制御方法を提供することを目的とする。
かかる目的を達成するため、本発明者は従来技術の内容などについて鋭意検討し、例えば特許文献2の場合、目的別のDB(データベース)へアクセスする際に、電子マネーDBに関してはUSBを使い、クレジットDBに関してはRS232Cを使うというように機能別に固定的な通信用インターフェイスを切り換えるだけであることに着目した。この点についてさらに検討を重ねると、従来技術は、通信用インターフェイスの種別を判別して通信を行うというようなものではないとの知見が得られた。つまり、電子マネーDBにRS232Cを経由してアクセスするのか、あるいは別の通信用インターフェイスを使用するのかを判別する方法等に関する特徴的な技術は特に開示されていないという結論が得られた。
本発明はかかる知見に基づくものであり、本発明は、情報処理システムの上位装置との間で通信を行うとともに状況に応じた処理を実施して当該上位装置に対し現在の状態と処理結果を送信する情報処理システムの下位装置において、当該下位装置のコンピュータは状況に応じた処理を実施するために当該下位装置の動作を制御するプログラムを備えており、尚かつこのプログラムにより、当該下位装置に備え付けられた通信用インターフェイスを制御する制御部を介して特定レジスタが割り当てられるアドレスの値を参照し通信用インターフェイスの種別を判別する機能と、これら通信用インターフェイスを介して上位装置との間で通信を行う機能と、上位装置から送信されたコマンドを各通信用インターフェイスごとに対応した処理を行うモジュールを利用して解析する機能と、解析した後のコマンドに応じ、通信用インターフェイスに依存しない単一のモジュールを利用して当該下位装置の動作を制御する機能とを備えているというものである。
上述した知見に基づき、本発明者は、情報処理システムの下位装置(例えばカードリーダなど)が通信インターフェイスのみが異なり実体的な内容は同じ別々の機種であっても、同一のプログラムを各下位装置に設けられたコンピュータに組み込み、そのプログラムにより、通信用インターフェイスを制御する制御部を介してその通信用インターフェイス(およびこのインターフェイスに準拠した通信方法)を判別する機能、及び、判別した通信用インターフェイス(および通信方法)を用いて通信を行える機能を作成した。このようにソフトウエア上で判別処理を実施するようにすれば、通信インターフェイスのみが異なり実体的な内容は同じ別々の機種であっても一つのプログラムにより対応することが可能となるため、仮に修正が必要になった場合であっても当該1つのプログラムを修正するだけで済むし、修正後の検証も1回で済む。
本発明において、上記情報処理システムの下位装置は、請求項2記載のように、電源立ち上げ時またはリセット時に通信用インターフェイスの種別の判別を自動的に行う機能を備えていることが好ましい。
また、本発明は、通信用インターフェイス用の通信ポートを1つのみ備えることも好ましい。
また、本発明においては、上記情報処理システムの下位装置において、通信用インターフェイスがUSBとRS232Cのいずれかであることが好ましい。
この場合、上記特定レジスタとしては、請求項5記載のように予め初期値に特徴的な値を示すレジスタを選定しておくことが好ましい。
また、上記特徴的な値を示すレジスタが複数設置されていることも好ましい。
本発明において、上記情報処理システムの下位装置は、カードリーダに適用することができる。
さらに、下位装置用動作制御プログラムとしての本発明は、情報処理システムの下位装置に設けられたコンピュータに、上位装置との間で通信を行わせるとともに状況に応じた処理を実施させて当該上位装置に対し現在の状態と処理結果を送信させる情報処理システムの下位装置用動作制御プログラムにおいて、当該下位装置に備え付けられた通信用インターフェイスを制御する制御部を介して特定レジスタが割り当てられるアドレスの値を参照し通信用インターフェイスの種別を判別する機能と、これら通信用インターフェイスを介して上位装置との間で通信を行う機能と、上位装置から送信されたコマンドを各通信用インターフェイスごとに対応した処理を行うモジュールを利用して解析する機能と、この解析した後のコマンドに応じ、通信用インターフェイスに依存しない単一のモジュールを利用して当該下位装置の動作を制御する機能とを実現させるというものである。
さらに、動作制御方法としての発明は、情報処理システムの下位装置に設けられたコンピュータにより、上位装置との間で通信を行うとともに状況に応じた処理を実施して当該上位装置に対し現在の状態と処理結果を送信する情報処理システムの下位装置用動作制御方法において、当該下位装置に備え付けられた通信用インターフェイスを制御する制御部を介して特定レジスタが割り当てられるアドレスの値を参照し通信用インターフェイスの種別を判別し、これら通信用インターフェイスを介して上位装置との間で通信を行い、上位装置から送信されたコマンドを各通信用インターフェイスごとに対応した処理を行うモジュールを利用して解析し、この解析した後のコマンドに応じ、通信用インターフェイスに依存しない単一のモジュールを利用して当該下位装置の動作を制御するというものである。
本発明における情報処理システムの下位装置によると、プログラムを一元管理することが可能となり、従来のように通信用インターフェイス毎に異なるプログラムを管理する必要がなくなる。このため、ソフト上の修正が必要となった場合であっても従来より手間や時間がかからず、尚かつ検証も1回で済むようになることから、システム管理上の手間と時間とコストを大幅に削減することが可能となる。このように、1つのプログラムで複数の通信用インターフェイスに対応するという汎用性を備えれば開発コストや開発期間といった面でも効率的となり、この結果として開発効率を大幅に改善することにつながる。
また、本発明における情報処理システムの下位装置において、電源立ち上げ時またはリセット時に通信用インターフェイスの種別判別が行われるようにしておけば、電源立ち上げ時またはリセットのたびに通信用インターフェイスの判別をしあるいはその確認をすることができる。
また、本発明における情報処理システムの下位装置において、通信用インターフェイス用の通信ポートを1つのみ備えることとしておけば、コスト削減と装置の小型化に有利となる。また、通信ポートが1つのみであるので、間違って他の通信ポートにつなげてしまうという問題も起こらない。さらに、使用していない通信ポートを使用して盗聴されることもなく、セキュリティ性が高まる。
また、本発明における情報処理システムの下位装置においては、通信用インターフェイスがUSBとRS232CのいずれかであるというシステムにおいてこれらUSBとRS232Cを判別することができる。また、通信用インターフェイスがUSBの場合に下位装置に内蔵されるUSBコントローラIC内部の特定レジスタが割り当てられるアドレスの値を参照し、得られた値に基づき通信用インターフェイスの種別の判別を行うことによってこれらUSBとRS232Cを判別することができる。
また、本発明における情報処理システムの下位装置においては、特定レジスタとして予め初期値に特徴的な値を示すものを選定しておき、この値を参照して通信用インターフェイスの種別を判別することができる。
また、本発明における情報処理システムの下位装置においては、特徴的な値を示す複数のレジスタ値を参照して通信用インターフェイスの種別を判別することができる。
また、本発明においては、情報処理システムを構成しているカードリーダにおいて通信用インターフェイスの種別の判別を行うことができる。
また、本発明における情報処理システムの下位装置用動作制御プログラムによれば、当該プログラムを一元管理することが可能となり、従来のように通信用インターフェイス毎に異なるプログラムを管理する必要がなくなる。このため、ソフト上の修正が必要となった場合であっても従来より手間や時間がかからず、尚かつ検証も1回で済むようになることから、システム管理上の手間と時間とコストを大幅に削減することが可能となる。このように、1つのプログラムで複数の通信用インターフェイスに対応するという汎用性を備えれば開発コストや開発期間といった面でも効率的となり、この結果として開発効率を大幅に改善することにつながる。
さらに、本発明における情報処理システムの下位装置用動作制御方法によっても、プログラムを一元管理することが可能となり、従来のように通信用インターフェイス毎に異なるプログラムを管理する必要がなくなる。このため、ソフト上の修正が必要となった場合であっても従来より手間や時間がかからず、尚かつ検証も1回で済むようになることから、システム管理上の手間と時間とコストを大幅に削減することが可能となる。このように、1つのプログラムで複数の通信用インターフェイスに対応するという汎用性を備えれば開発コストや開発期間といった面でも効率的となり、この結果として開発効率を大幅に改善することにつながる。
以下、本発明の構成を図面に示す実施の形態に基づいて詳細に説明する。
図1〜図11に本発明を適用した実施形態を示す。本発明にかかる情報処理システムの下位装置1は、情報処理システムの上位装置2との間で通信を行うとともにこの上位装置2から受信したコマンドに応じた処理を実施して当該上位装置2に対し現在の状態と処理結果を送信するというものである。さらに本実施形態における下位装置1の場合、当該下位装置1のコンピュータは上位装置2からのコマンドに応じて当該下位装置1の動作を制御するプログラムを備えており、尚かつこのプログラムにより、当該下位装置に備え付けられた通信用インターフェイスを制御する制御部を介して当該通信用インターフェイスの種別を判別する機能と、これら通信用インターフェイスを介して上位装置2との間で通信を行う機能と、上位装置2から送信されたコマンドを各通信用インターフェイスごとに対応した処理を行うモジュールを利用して解析する機能と、解析した後のコマンドに応じ、通信用インターフェイスに依存しない単一のモジュールを利用して当該下位装置1の動作を制御する機能とを備えている。
以下では、情報処理システムの下位装置1の一例として、カードに記録された情報を読み取りさらには必要に応じて新たな情報の書き込みを行う装置カードリーダに本発明を適用した場合について説明する(以下、「カードリーダ1」として説明する)。ちなみに、本発明における「上位装置」は例えばホストコンピュータ、あるいはコンピュータに内蔵されている制御装置や演算装置といった処理装置のことであり、下位装置がカードリーダ1である本実施形態であれば例えば当該カードリーダ1に接続されているホストコンピュータがこの上位装置の一例となる(以下、「ホストコンピュータ2」として説明する)。
本実施形態のカードリーダ1は、通信方法を判別する機能、つまり、どの通信用インターフェイス(入出力インターフェイス)が有効なのかを判別して通信を行う機能を備えている。もう少し具体的に説明すると、当該カードリーダ1とホストコンピュータ(上位装置)2との間においてどの通信用インターフェイスが有効なのかを、通信用インターフェイスを制御する制御部を介してカードリーダ1のCPU(中央処理装置)によって判別するようにしている(図3〜図5参照)。この場合の通信方法、すなわちどの通信用インターフェイスとそれに基づくコマンドが利用されているかについては、カードリーダ1およびホストコンピュータ2がどれを用いるか(用いる可能性があるか)に応じて対象が変わりうる。本実施形態では、種々の通信用インターフェイスのうち比較的広く普及した(あるいは広く普及しつつある)RS232C(Recommendation Standard-232C)およびUSB(Universal Serial Bus)の2つを取り上げ、これら両インターフェイスのいずれも使われる可能性がある場合を例示して以下に説明することにする(図3等参照)。
まず、カードリーダ1およびホストコンピュータ2の全体構成をブロック図として説明しておく(図3〜図5参照)。これらカードリーダ1およびホストコンピュータ2がUSB通信機種である場合、ホストコンピュータ2と制御部としてのUSBコントローラIC(図3および図4において符号3で示す)とがUSBケーブル4を介して電気的に接続されることになる(図3参照)。USBコントローラIC3はカードリーダ1に内蔵された集積回路で、例えば本実施形態のUSBコントローラIC3は内部にレジスタを備えている。USBコントローラIC3が備えるこれら各種レジスタは各アドレスに割り当てられている(図3参照)。そして、これらのレジスタの中から予め初期値に特徴的な値を示す特定レジスタを選定しておくが好ましい。こうした場合、特定レジスタの特徴的な値を参照して通信用インターフェイスが例えばUSBかあるいはそうでないかを精度よく判別できる。さらには、この場合においては特徴的な値を示す特定レジスタを複数設置することも好ましい。こうした場合には、特徴的なレジスタ値であって各々値が異なるものをその数の分だけ参照することが可能となる。
このUSBコントローラIC3とCPUとの間においては、アドレス番号がアドレスバスによってCPUからUSBコントローラIC3へと転送され、データがデータバスによって双方向に転送される(図3参照)。このような構成を含むカードリーダ1とホストコンピュータ2との間においては、まずCPUにおいてデータを必要に応じて実効アドレスに変換し、USBコントローラIC3へと転送し、特定の特定レジスタのアドレスを指定する(図4参照)。USBコントローラIC3はこのアドレス値に該当するデータをCPUに転送する。CPUはこのデータを参照する。このような処理構成を利用して、CPUはUSBコントローラIC3内部の特定レジスタの値を参照し、これによって得られた値に基づき通信用インターフェイスの種別を判別する。
次に、カードリーダ1およびホストコンピュータ2の全体構成として、これらカードリーダ1およびホストコンピュータ2がRS232C通信機種である場合について説明する(図5参照)。この場合のCPUは例えばRS232C通信ポート5を備え、このポート5にRS232CドライバIC6が電気的に接続された構成となっている。RS232CドライバIC6とホストコンピュータ2とはRS232Cケーブル(クロスケーブル)7によって接続される(図5参照)。
続いて、このカードリーダ1に格納されている動作制御プログラムおよびこの動作制御プログラムによって実現される動作制御の内容についてフローチャートを使って説明する(図1参照)。この動作制御プログラムは、カードリーダ1のコンピュータに対し、ホストコンピュータ2との間で通信を行わせるとともにこのホストコンピュータ2から受信したコマンドに応じた処理を実施させて当該ホストコンピュータ2に対し現在の状態と処理結果を送信させるというものであり、また、判別した通信用インターフェイスに準拠したプロトコルによって当該コンピュータにホストコンピュータ(上位装置)2との通信を行わせるようになっている。本実施形態の動作制御プログラムが有する種々の特有の機能については、図1中のフローの中で順次説明することにする。
図1に、この動作制御プログラムによってカードリーダ1の動作を制御する際の処理フロー例を示す。図1においては、この動作制御プログラムによって実現可能な「インターフェイスの判別機能」、「上位装置との通信機能」、「コマンド解析機能」、「下位装置を動作させる機能」のそれぞれを破線で囲むことによって示している。
まず、「インターフェイスの判別機能」について説明する(図1のステップ1〜ステップ8、ステップ12参照)。これは、カードリーダ1に備え付けられた通信用インターフェイスの種別を通信用インターフェイスを制御する制御部を介して判別するという機能で、例えば本実施形態であれば、上述したようにUSBとRS232Cのいずれの種別なのかを、通信用インターフェイスがUSBの場合に内蔵されるコントローラIC3が割り当てられる特定アドレスを参照して判別する。ステップに沿った処理内容を説明すると、まずカードリーダ1の電源をONにし(ステップ1)、CPUを初期化し(ステップ2)、その後、3つの特定アドレスのデータを参照する。すなわち、CPUでアドレスA1のアドレス値を読み込み、この値がUSBコントローラIC3のレジスタ1の初期値と合致するかどうかを判断する(ステップ3)。合致している場合には、同様の処理、すなわちアドレスA2のアドレス値とレジスタ2の初期値とが合致するかどうかの判断(ステップ4)、およびアドレスA3のアドレス値とレジスタ3の初期値とが合致するかどうかの判断(ステップ5)を行う。いずれも合致した場合には、当該情報処理システム(あるいはカードリーダ1)にUSBコントローラ(ICを含む)が搭載されていると判断する(ステップ6)。逆に、ステップ3〜5において1回でも値が合致しなければ当該情報処理システム(あるいはカードリーダ1)はRS232C通信の機種であると判断し、RS232C通信の機種としての処理を開始する(ステップ12)。ステップ6でUSBコントローラ(ICを含む)が搭載されていると判断したら、USBのEnumerationが完了するのを待つ(ステップ7)。Enumerationは、一般には情報処理システムに登録されているユーザ・アカウントやIPアドレス、ホスト名などの一覧を取得するための「列挙」などと呼ばれる動作のことであり、例えばこのステップ7のようにUSBが行う場合であれば、Plug and Play 動作つまり他の装置と自動的に機器認識する動作ないしその機能が該当する。このUSBのEnumerationが完了したら(ステップ8)、次のステップ9へと進む。このステップ8あるいは上述のステップ12で「インターフェイスの判別機能」が終了する。
次に「上位装置との通信機能」について説明する(図1のステップ9〜10、ステップ13〜14参照)。この機能は、通信用インターフェイス(USBまたはRS232C)を介してホストコンピュータ2との間で通信を行うというものであり、本実施形態であれば、ステップ8においてUSBのEnumerationが完了した後にUSBコントローラ(ICを含む)からのコマンドを受信するのを待ち(ステップ9)、さらに受信したコマンドを処理するまでのステップ(ステップ10)が該当する(図1参照)。コマンドを受信することができれば、すなわち上位装置(この場合、ホストコンピュータ2)との通信が行えたことになる。また、通信用インターフェイスがRS232Cである場合にも以上の機能ないし処理は同様となる。すなわち、RS232C通信ポート5からのコマンドを受信するのを待ち(ステップ13)、コマンドを受信したらこれを処理する(ステップ14)。
続いては「コマンド解析機能」である(図1のステップ11、ステップ15参照)。この機能は、ホストコンピュータ2から送信されたコマンドを各通信用インターフェイスごとに対応した処理を行うモジュールを利用して解析するというものであり、例えば本実施形態であればステップ10またはステップ14にて受信し処理したコマンドを解析処理し、現在、コマンドを実行できるか否かのチェックなど(ステップ11)、さらには、RS232Cの場合はCRCチェック(巡回冗長検査)など(ステップ15)、を行う。
続いては、「下位装置を動作させる機能」である(図1のステップ16参照)。この機能は、「コマンド解析機能」によって解析した後のコマンドに応じ、通信用インターフェイスに依存しない単一のモジュールを利用して当該カードリーダ1の動作を制御するというものである。ここでは「通信用インターフェイスに依存しない単一のモジュール」という表現を用いているが、これは通信用インターフェイスがUSBとRS232Cのいずれであっても利用可能な汎用性のあるモジュールのことを意味している。具体例を挙げてもう少し詳しく説明すると、例えば従来であればコマンドデータ受信機能、コマンド解析機能、レスポンス送信機能といった各機能が汎用性のないものとなっていたのに対し(図12参照)、本実施形態の場合にはこれら各機能のいずれとも汎用性のあるものとして、通信用インターフェイスがUSBとRS232Cのいずれである場合にもそのまま利用できるプログラムを構築している(図2参照)。つまり、このプログラムは汎用性あるコマンド実行機能を有する点では従来と変わらないが、このことに加え、コマンドデータ受信機能、コマンド解析機能、レスポンス送信機能といった各機能として判別結果に基づきRS232C/USBのいずれかの処理を実施できる汎用性のあるものを有することにより、通信用インターフェイスの種別にかかわらず利用可能な汎用プログラムとして成立している(図2参照)。
ここまで動作制御プログラムおよびこの動作制御プログラムによって実現される動作制御の内容についてフローチャートを使って説明したが、さらに、通信コマンドの具体例についても併せて説明しておく(図6〜図11参照)。まず、USB通信である場合のデバイス受信コマンドの一例を図6に示す。この場合、カードリーダ1はあるフィールドのデータがCのコマンドを受信したことになる(ステップ9,10)。カードリーダ1はこのコマンドを解析処理し、実行可能であればこれを実行処理する(ステップ11,16)。この結果、コマンド成功時にはホストコンピュータ2に対して例えばあるフィールドのデータがPのレスポンスデータを送信する(図7参照)。逆に、コマンドを失敗した時であればホストコンピュータ2に対し例えばあるフィールドのデータがNのレスポンスデータを送信する(図8参照)。なお、ここまでの説明で明らかなように、コマンドおよびレスポンスのうちコアとなるデータ部分はほぼ共通する。
次にRS232C通信である場合について、デバイス受信コマンドの一例を図9に示す。この場合、カードリーダ1はあるフィールドのデータがCのコマンドを受信したことになる(ステップ13,14)。カードリーダ1はこのコマンドを解析処理し、実行可能であればこれを実行処理する(ステップ15,16)。この結果、コマンド成功時にはホストコンピュータ2に対して例えばあるフィールドのデータがPのレスポンスデータを送信する(図10参照)。逆に、コマンドを失敗した時であればホストコンピュータ2に対し例えばあるフィールドのデータがNのレスポンスデータを送信する(図11参照)。
以下では、さらに具体例を挙げて本実施形態の説明をする。USB機に関しては例えば沖電気工業株式会社製のUSBコントローラIC3(ML60851Dor 2A)が搭載された構成などとすることができる。また、カードリーダ1に組み込まれた動作制御プログラムは、電源立ち上げ(又はリセット)時に同USBコントローラIC3(ML60851Dor 2A)が搭載されているか否かを判別する機能を備えていることも好ましい。この場合、USBコントローラIC3(ML60851Dor 2A)が搭載されていることが確認できたらUSB機、搭載されていなければRS232C機と判断し、以後その判別結果に基づき、いずれかの通信方法で予め決められた通信プロトコルで上位装置(ホストコンピュータ2)との通信を行いカードリーダ1としての処理を実施する。また、USBコントローラIC3(ML60851Dor 2A)のレジスタの中には、そのIC自身にリセットがかけられた直後に初期値が設定されている特定レジスタと言えるものがある。例えば、予め初期値が特徴的な値を示すレジスタを特定レジスタとして選定しておくこととすれば、当該動作制御プログラムは電源立ち上げ(又はリセット)時にそれらの特徴的な値を示す特定レジスタのアドレスを参照することになる。参照の結果、判断基準となる特徴的な値と異なる値が読み出されたのであれば、沖電気工業株式会社製のUSBコントローラIC3(ML60851Dor 2A)が搭載されていないものと判断する。
以上説明したように、本実施形態にかかるカードリーダ1によれば、2以上の通信用インターフェイスのうちのいずれもが利用される可能性のある情報処理システムにおいて、1つのプログラムのみによって有効な通信用インターフェイスを判別し、システムに適した通信手段を選択して正常な通信を行うことが可能となっている。このように、本実施形態にかかる情報処理システムによれば、従来ならば別々に用意されていた通信用インターフェイス別のプログラムを一元管理することが可能となるし、またソフトウエア上でのバグといった不具合の修正が必要となった場合にも当該1つのプログラムの修正・検証だけで済むので開発効率を大幅に改善することも可能となる。
なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば、本実施形態においては具体例として沖電気工業株式会社製のUSBコントローラIC3を例示したがこれは一例に過ぎず、これ以外のUSBコントローラIC3であっても構わないのはいうまでもない。この場合、電源立ち上げ(又はリセット)時にそのコントローラIC3が搭載されていることが判別できれば上に例示したのと同様の構成とすることも可能である。
また、電源立ち上げ(又はリセット)時に通信用インターフェイスの種別の判別を行うことが好ましいことを説明したが、これに関してさらに説明を加えると、初めての電源立ち上げ時にはUSBまたはRS232Cのいずれなのかを判別し、その結果情報をコンピュータの不揮発性メモリ等に記憶させておくことも好ましい(図2参照)。こうした場合には、それ以降その情報に基づいて通信方法を決定することも可能となる。
さらに、本実施形態においてはカードリーダ1の電源をONにし(ステップ1)、CPUを初期化し(ステップ2)、A1,A2,A3という3つのアドレスのデータを参照したがこれも一例にすぎず、情報処理システムやそこに含まれるカードリーダ(下位装置)1の態様などに応じてアドレスや参照箇所は適宜変更して構わない。ただ、通信用インターフェイスの種別判断(例えば、USBなのかRS232Cなのか)の精度をより高めるという観点からすれば、レジスタとしては、予め初期値に特徴的な値を示すレジスタを特定レジスタとして選定しておくことが好ましいし、さらには、複数のレジスタを特定レジスタとして設定しておきアドレス参照を複数回実施することが好ましい。


また、本実施形態においては通信用インターフェイスとしてRS232CとUSBの2つを例示して説明したがこれも例示に過ぎない。例えば上述したカードリーダ1等からなる情報処理システムにおいてこれら以外のインターフェイスを使った通信方法が採用されている場合であっても、当該通信用コントローラの有無を認識する構成とすれば本実施形態と同様に判別を行うことができる。
加えて、本実施形態では下位装置がカードリーダ1であり上位装置がホストコンピュータ2である情報処理システムを例示して説明したがこれも一例に過ぎない。要は、上位装置と下位装置との間で通信が行われ、上位装置から受信したコマンドに応じて下位装置が処理を実施し、当該上位装置に対し現在の状態と処理結果を送信する情報処理システムを対象として本発明を適用することが可能である。
本発明の一実施形態を示す図で、情報処理システムの下位装置用動作制御プログラムにより実現される処理内容を表したフローチャートである。 本発明にかかる動作制御プログラムの機能を従来との対比で違いを解りやすく示した概略図である。 通信用インターフェイスがUSBである場合のCPUからホストコンピュータまでの全体構成を簡単に示したブロック図である。 図3に示したCPUとUSBコントローラICとの間のデータの送受信の様子を簡単に示した図である。 通信用インターフェイスがRS232Cである場合のCPUからホストコンピュータまでの全体構成を簡単に示したブロック図である。 USB通信コマンドのうちデバイス受信コマンドの一例を示した図である。 USB通信コマンドのうちコマンド成功時におけるレスポンスの一例を示した図である。 USB通信コマンドのうちコマンド失敗時におけるレスポンスの一例を示した図である。 RS232C通信コマンドのうちデバイス受信コマンドの一例を示した図である。 RS232C通信コマンドのうちコマンド成功時におけるレスポンスの一例を示した図である。 RS232C通信コマンドのうちコマンド失敗時におけるレスポンスの一例を示した図である。 従来の動作制御プログラムの機能を解りやすく示した概略図である。
符号の説明
1 カードリーダ(下位装置)
2 ホストコンピュータ(上位装置)
3 USBコントローラIC

Claims (9)

  1. 情報処理システムの上位装置との間で通信を行うとともに状況に応じた処理を実施して当該上位装置に対し現在の状態と処理結果を送信する情報処理システムの下位装置において、当該下位装置のコンピュータは状況に応じた処理を実施するために当該下位装置の動作を制御するプログラムを備えており、尚かつこのプログラムにより、当該下位装置に備え付けられた通信用インターフェイスを制御する制御部を介して特定レジスタが割り当てられるアドレスの値を参照し前記通信用インターフェイスの種別を判別する機能と、これら通信用インターフェイスを介して前記上位装置との間で通信を行う機能と、前記上位装置から送信されたコマンドを前記各通信用インターフェイスごとに対応した処理を行うモジュールを利用して解析する機能と、解析した後のコマンドに応じ、前記通信用インターフェイスに依存しない単一のモジュールを利用して当該下位装置の動作を制御する機能とを備えていることを特徴とする情報処理システムの下位装置。
  2. 電源立ち上げ時またはリセット時に前記通信用インターフェイスの種別の判別を行う機能を備えていることを特徴とする請求項1記載の情報処理システムの下位装置。
  3. 前記通信用インターフェイス用の通信ポートを1つのみ備えることを特徴とする請求項1記載の情報処理システムの下位装置。
  4. 前記通信用インターフェイスがUSBとRS232Cのいずれかであることを特徴とする請求項1記載の情報処理システムの下位装置。
  5. 前記特定レジスタとして、予め初期値に特徴的な値を示すレジスタを選定しておくことを特徴とする請求項4記載の情報処理システムの下位装置。
  6. 前記特徴的な値を示すレジスタが複数設置されていることを特徴とする請求項5記載の情報処理システムの下位装置。
  7. 当該下位装置がカードリーダであることを特徴とする請求項1から6のいずれかひとつに記載の情報処理システムの下位装置。
  8. 情報処理システムの下位装置に設けられたコンピュータに、上位装置との間で通信を行わせるとともに状況に応じた処理を実施させて当該上位装置に対し現在の状態と処理結果を送信させる情報処理システムの下位装置用動作制御プログラムにおいて、当該下位装置に備え付けられた通信用インターフェイスを制御する制御部を介して特定レジスタが割り当てられるアドレスの値を参照し前記通信用インターフェイスの種別を判別する機能と、これら通信用インターフェイスを介して前記上位装置との間で通信を行う機能と、前記上位装置から送信されたコマンドを前記各通信用インターフェイスごとに対応した処理を行うモジュールを利用して解析する機能と、この解析した後のコマンドに応じ、前記通信用インターフェイスに依存しない単一のモジュールを利用して当該下位装置の動作を制御する機能とを実現させるための情報処理システムの下位装置用動作制御プログラム。
  9. 情報処理システムの下位装置に設けられたコンピュータにより、上位装置との間で通信を行うとともに状況に応じた処理を実施して当該上位装置に対し現在の状態と処理結果を送信する情報処理システムの下位装置用動作制御方法において、当該下位装置に備え付けられた通信用インターフェイスを制御する制御部を介して特定レジスタが割り当てられるアドレスの値を参照し前記通信用インターフェイスの種別を判別し、これら通信用インターフェイスを介して前記上位装置との間で通信を行い、前記上位装置から送信されたコマンドを前記各通信用インターフェイスごとに対応した処理を行うモジュールを利用して解析し、この解析した後のコマンドに応じ、前記通信用インターフェイスに依存しない単一のモジュールを利用して当該下位装置の動作を制御することを特徴とする情報処理システムの下位装置用動作制御方法。
JP2004314081A 2004-10-28 2004-10-28 情報処理システムの下位装置、下位装置用動作制御プログラムおよび下位装置用動作制御方法 Expired - Fee Related JP4463658B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004314081A JP4463658B2 (ja) 2004-10-28 2004-10-28 情報処理システムの下位装置、下位装置用動作制御プログラムおよび下位装置用動作制御方法
US11/259,387 US7404027B2 (en) 2004-10-28 2005-10-26 Slave device in information processing system, operation control program for slave device, and operation control method for slave device
CN200510119231.5A CN1767544B (zh) 2004-10-28 2005-10-28 信息处理系统的下位装置、下位装置用动作控制程序及动作控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004314081A JP4463658B2 (ja) 2004-10-28 2004-10-28 情報処理システムの下位装置、下位装置用動作制御プログラムおよび下位装置用動作制御方法

Publications (3)

Publication Number Publication Date
JP2006127128A JP2006127128A (ja) 2006-05-18
JP2006127128A5 JP2006127128A5 (ja) 2007-01-18
JP4463658B2 true JP4463658B2 (ja) 2010-05-19

Family

ID=36263454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004314081A Expired - Fee Related JP4463658B2 (ja) 2004-10-28 2004-10-28 情報処理システムの下位装置、下位装置用動作制御プログラムおよび下位装置用動作制御方法

Country Status (3)

Country Link
US (1) US7404027B2 (ja)
JP (1) JP4463658B2 (ja)
CN (1) CN1767544B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9083565B2 (en) 2006-09-25 2015-07-14 Hangzhou H3C Technologies Co., Ltd. Network apparatus and method for communication between different components
US20140208134A1 (en) * 2013-01-21 2014-07-24 Texas Instruments Incorporated Host controller interface for universal serial bus (usb) power delivery
CN108304216A (zh) * 2018-01-03 2018-07-20 沈阳东软医疗系统有限公司 一种设备通信方法及通信设备
CN114780029B (zh) * 2022-04-12 2023-05-09 荣耀终端有限公司 器件识别方法和相关装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08288979A (ja) 1995-04-12 1996-11-01 Kansai Denki Kk データ転送装置のインターフェース切替方法及びその装置
US6260084B1 (en) * 1998-05-18 2001-07-10 3Com Corporation Modem apparatus and method for serial command and data multiplexing
US6460094B1 (en) * 1998-07-08 2002-10-01 Microsoft Corporation Peripheral device configured to detect the type of interface to which it is connected and configuring itself accordingly
US6442734B1 (en) * 1998-07-08 2002-08-27 Microsoft Corporation Method and apparatus for detecting the type of interface to which a peripheral device is connected
US6493084B1 (en) * 1998-12-23 2002-12-10 X-Rite, Incorporated Color measurement instrument with multiple protocol interface
JP2001100877A (ja) * 1999-10-01 2001-04-13 Fujitsu Ltd 周辺機器
US6601124B1 (en) * 2000-02-14 2003-07-29 International Business Machines Corporation Universal interface for selectively coupling to a computer port type and method therefor
JP3849036B2 (ja) 2001-12-19 2006-11-22 株式会社デンソーウェーブ カードリーダ及びカードリーダの通信制御方法
KR100516296B1 (ko) * 2003-01-21 2005-09-21 주식회사 팬택앤큐리텔 스위칭 기능을 이용한 인터페이스 장치
US7380705B2 (en) * 2003-08-28 2008-06-03 Symbol Technologies, Inc. Multi-interface data acquisition system and method thereof

Also Published As

Publication number Publication date
CN1767544A (zh) 2006-05-03
CN1767544B (zh) 2011-08-03
JP2006127128A (ja) 2006-05-18
US7404027B2 (en) 2008-07-22
US20060095643A1 (en) 2006-05-04

Similar Documents

Publication Publication Date Title
US7454606B2 (en) Maintenance device for remotely accessing and repairing failed computer systems
US7058563B1 (en) Device driver auto-load
US8171179B2 (en) Apparatus supporting plurality of interfaces and method of setting up network connection of the same
EP1870778A2 (en) Diagnosing an image forming apparatus
US8666263B2 (en) Information input method, apparatus and system for associated apparatus of imaging device
CN102945173A (zh) 用户程序在线升级系统和升级方法
US6954815B2 (en) Microcomputer with universal serial bus interface circuit and method of controlling the same
CN101620580B (zh) 计算机系统及其控制方法
JP4463658B2 (ja) 情報処理システムの下位装置、下位装置用動作制御プログラムおよび下位装置用動作制御方法
US7890666B2 (en) Embedded protocol selection technique, related interface and computer program product
KR20020013425A (ko) 전자 장치, 그것을 사용하는 기기 및 데이터 판독 방법
US7287098B2 (en) Control method and electronic device enabling recognition of functions installed in the electronic device
CN113466688A (zh) 一种电机参数的辨识方法、装置、电机、系统及存储介质
JP5010065B2 (ja) マイクロコンピュータ
CN101814057B (zh) 一种驱动信息安全设备的方法及信息安全设备
JP4793798B2 (ja) マイクロコンピュータ
CN113467842B (zh) 适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质
KR20060097464A (ko) 하드웨어 버전관리 기능이 구비된 이동통신 단말기 및 그동작방법
JP4716929B2 (ja) プログラムデバッグ支援処理装置及び通信用アダプタ並びにプログラムデバッグ支援処理プログラム
KR20100037670A (ko) 업무 프로그램의 자동 테스트 과정 동안 usb 장치의 동작을 가상적으로 대행하는 에뮬레이터 및 그 동작 방법
JP2011070284A (ja) エンドカバー、これを備えたプログラマブルロジックコントローラ装置、エンドカバー装着有無確認方法、及びプログラマブルロジックコントローラ装置の故障診断方法
JP2002183075A (ja) Ioポート接続方式
JP2005122579A (ja) 複数の通信プロトコルに対応したicカード及びicカードソフトウェアプログラム
WO2000039684A1 (en) Method and system for testing an integrated circuit card terminal
JP2004355067A (ja) 情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061124

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100203

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100217

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4463658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees