JP3626023B2 - デバイス接続状態認識方法およびデバイス接続状態認識機能を有する処理装置 - Google Patents

デバイス接続状態認識方法およびデバイス接続状態認識機能を有する処理装置 Download PDF

Info

Publication number
JP3626023B2
JP3626023B2 JP30149998A JP30149998A JP3626023B2 JP 3626023 B2 JP3626023 B2 JP 3626023B2 JP 30149998 A JP30149998 A JP 30149998A JP 30149998 A JP30149998 A JP 30149998A JP 3626023 B2 JP3626023 B2 JP 3626023B2
Authority
JP
Japan
Prior art keywords
protocol controller
card
data
program
pull
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
JP30149998A
Other languages
English (en)
Other versions
JP2000132493A (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.)
Fujitsu Ltd
Fujitsu Frontech Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Frontech Ltd
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 Fujitsu Ltd, Fujitsu Frontech Ltd filed Critical Fujitsu Ltd
Priority to JP30149998A priority Critical patent/JP3626023B2/ja
Priority to US09/376,482 priority patent/US6658497B1/en
Priority to EP99306609A priority patent/EP0996067B1/en
Priority to DE69930592T priority patent/DE69930592T2/de
Publication of JP2000132493A publication Critical patent/JP2000132493A/ja
Application granted granted Critical
Publication of JP3626023B2 publication Critical patent/JP3626023B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)

Description

【0001】
(目次)
発明の属する技術分野
従来の技術(図28,図29)
発明が解決しようとする課題(図30〜図32)
課題を解決するための手段(図1)
発明の実施の形態
〔1〕本実施形態の電子マネー制御用集積回路(プロトコルコントローラ)の説明(図2〜図13)
〔2〕本実施形態のプロトコルコントローラにおけるデバイス接続状態認識手法の説明(図14〜図19)
〔3〕本実施形態におけるプロトコルコントローラとICカードとの間のデータ転送制御手法の説明(図20〜図27)
〔4〕その他
発明の効果
【0002】
【発明の属する技術分野】
本発明は、共通のデータバスを介して複数のデバイスを接続されこれらのデバイスを制御したりこれらのデバイスを用いて制御動作を行なったりする処理装置がデバイスの接続状態を認識するための方法に関するとともに、この方法を適用された、デバイス接続状態認識機能を有する処理装置に関する。
【0003】
【従来の技術】
図28は、一般的な処理装置に複数のデバイスを接続してなるシステムの構成例を示すブロック図であり、この図28に示す処理装置100には、複数のデバイスとして、例えばLCD(Liquid Crystal Display)121,RAM122およびROM123が接続されている。これらのLCD121,RAM122およびROM123と処理装置100との間は、8ビットのデータ信号線DT0〜DT7からなる共通のデータバス110により接続されるとともに、LCD121,RAM122およびROM123は、それぞれ、アドレス信号や制御信号等をやり取りするための信号線111a,111b,111cを介して処理装置100に接続されている。
【0004】
そして、処理装置100は、信号線111aを介してLCD121に対し表示制御信号を送るとともに、データバス110を介してLCD121に表示データを送ることにより、LCD121での表示制御を行なう。また、処理装置100は、信号線111bを介してRAM122に対しアドレス信号や書込/読出指示信号を送ることにより、データバス110を介して、RAM122へのデータ書込やRAM122からのデータ読出を制御する。さらに、処理装置100は、信号線111cを介してROM123に対しアドレス信号や読出指示信号を送ることにより、データバス110を介して、ROM123からのデータ読出を制御する。
【0005】
ところで、図29に示すシステムは、例えば図28に示すシステムからROM123を取り除いたもので、処理装置100に、デバイスとしてLCD121およびRAM122を接続した構成を有している。
図28に示すシステムと図29に示すシステムとでは、処理装置100に対するデバイスの接続状態が異なっているが、このようなデバイスの接続状態の差異(つまり処理装置100に接続されているデバイス)を検出し認識する手段を、通常、処理装置100は有していない。
【0006】
そこで、処理装置100に、デバイスの接続の有無を検出する手段をもたせるために、検出専用の信号線を設けることも考えられる。
【0007】
【発明が解決しようとする課題】
しかし、検出専用の信号線を設けてデバイスの接続状態を認識する手法では、処理装置に接続されるデバイスの数が増大するとその数に応じて検出専用の信号線の本数も増大することになり、例えば処理装置が集積回路である場合、チップ上における信号線が増大するため、信号線を高密度に配線しなければならず高コスト化を招いている。従って、検出専用の信号線を追加することなく、デバイスの接続状態を認識できるようにすることが望まれている。
【0008】
一方、通常、各種用途で利用されるコンピュータシステムには、その用途に応じて複数のデバイスがそなえられ、これらのデバイスが処理装置(制御用の集積回路等)によって制御される。このようなシステムでは、各種デバイスを制御するために、接続されたデバイスに応じたドライバ/ハンドラ(デバイス制御プログラム)がROMに予め格納されており、処理装置を成すCPUは、システムの起動時に、ドライバ/ハンドラをROMから読み出して起動させている。
【0009】
例えば図30(a)に示すように、4つのデバイスD1,D3,D4,D8を有するハードウェア200には、これらのデバイスD1,D3,D4,D8をそれぞれ制御する4つのドライバ/ハンドラ(デバイス制御プログラム)を予め搭載したROM210が内蔵されている。この場合、システム起動時に、ハードウェア200内のCPUは、図30(b)に示すように、4つのデバイスD1,D3,D4,D8のドライバ/ハンドラを、順次、ROM210から読み出して起動させる(ステップA11〜A14参照)。
【0010】
また、図31(a)に示すように、6つのデバイスD1,D2,D3,D4,D7,D8を有するハードウェア201には、これらのデバイスD1〜D4,D7,D8をそれぞれ制御する6つのドライバ/ハンドラ(デバイス制御プログラム)を予め搭載したROM211が内蔵されている。この場合、システム起動時に、ハードウェア201内のCPUは、図31(b)に示すように、6つのデバイスD1〜D4,D7,D8のドライバ/ハンドラを、順次、ROM211から読み出して起動させる(ステップA21〜A26参照)。
【0011】
同様に、図32(a)に示すように、2つのデバイスD7,D10を有するハードウェア202には、これらのデバイスD7,D10をそれぞれ制御する2つのドライバ/ハンドラ(デバイス制御プログラム)を予め搭載したROM212が内蔵されている。この場合、システム起動時に、ハードウェア202内のCPUは、図32(b)に示すように、2つのデバイスD7,D10のドライバ/ハンドラを、順次、ROM212から読み出して起動させる(ステップA31,A32参照)。
【0012】
このように、コンピュータシステム毎に、接続されているデバイスが異なる場合、各コンピュータシステムのデバイスに対応したROMを準備しなければならない。
一般に、各種コンピュータシステムに接続されるデバイスは、用途毎に全く異なるわけではなく、共通して用いられるものが多くある。例えば、前述したようなLCD,RAM,ROMのほか、キーボード,プリンタ,IC(Integrated Circuit)カードなど、何種類かのものに限られている。つまり、これらのデバイスの中から幾つかが選択されて接続されている。
【0013】
そこで、コンピュータシステムに接続される可能性のある全てのデバイスのドライバ/ハンドラ(デバイス制御プログラム)を予め搭載した汎用ROMを準備し、システム起動時には、そのシステムに接続されているデバイスを認識し、認識されたデバイスのドライバ/ハンドラ(デバイス制御プログラム)を汎用ROMから読み出して起動させることも考えられる。例えば、図30〜図32に示した例について言えば、デバイスD1〜D10のドライバ/ハンドラ(デバイス制御プログラム)を全て搭載した汎用ROMを準備する。このようにすれば、コンピュータシステム毎に異なるROMを準備する必要がなくなり、ROMへのプログラム搭載に要する手間を省けるとともに部品管理を簡略化できるので、システム製造に要するコストを削減することができる。
【0014】
しかし、従来、前述したように、処理装置は、この処理装置に接続されているデバイスを認識する手段を有していないので、ROMを汎用化しても、必要なドライバ/ハンドラ(デバイス制御プログラム)のみを読み出して起動させることができない。
また、汎用ROMを利用可能にすべく、デバイスの接続状態を認識するための検出専用の信号線を設けると、前述した通り、チップ上の信号線の増大/高密度化ひいては高コスト化を招くことになってしまう。従って、検出専用の信号線を追加することなくデバイスの接続状態を認識できるようにすることが、より強く望まれている。
【0015】
本発明は、このような状況に鑑み創案されたもので、検出専用の信号線を追加することなく、デバイスの接続状態を認識できるようにした、デバイス接続状態認識方法およびデバイス接続状態認識機能を有する処理装置を提供することを目的とする。
【0016】
【課題を解決するための手段】
図1は本発明の原理説明図であり、この図1に示すように、本発明のデバイス接続状態認識方法(請求項1)は、共通のデータバス110を介して複数のデバイス120−0〜120−nを接続されうる処理装置100が、これらのデバイス120−0〜120−nの接続状態を認識する方法である。なお、図1では、少なくとも4つのデバイス120−2,120−3,120−4,120−nを処理装置100に接続した状態が図示されており、デバイス120−0,120−1,120−5〜120−(n−1) の図示は省略されている。
【0017】
処理装置100とデバイス群120との間は、データバス110,制御線(CRTL Line)111およびアドレスバス112により接続されている。ここで、データバス110はn+1本のデータ信号線DT0〜DTnから構成されている。
本発明のデバイス接続状態認識方法(請求項1)では、処理装置100の製造時に、これらのデータ信号線DT0〜DTnの一部もしくは全部を、デバイス120−0〜120−nの接続状態に応じて、予め、プルアップ抵抗113を介して高電位(+V)に接続、もしくは、プルダウン抵抗114を介して低電位(グラウンド:GND)に接続しておき、処理装置100が、デバイスとして、処理装置100に接続されうる複数のデバイス120−0〜120−nの接続状態を示す情報を設定された構成情報レジスタを所定アドレスに保持するプログラム格納用外部記憶部が接続されているか否かを、このプログラム格納用外部記憶部が割り当てられたデータ信号線のプルアップ抵抗113/プルダウン抵抗114により生成される高電位状態/低電位状態に基づいて認識し、プログラム格納用外部記憶部が接続されている場合には、処理装置100が、プログラム格納用外部記憶部に格納されているプログラムを起動するとともに、処理装置100に接続されたデバイス120−0〜120−nに対応したデバイス制御プログラムのみを起動させるべく、プログラム格納用外部記憶部の前記所定アドレスに対してアクセスすることにより構成情報レジスタの情報を読み出し、読み出された構成情報レジスタの情報に基づいてデバイス120−0〜120−nの接続状態を認識する一方、プログラム格納用外部記憶部が接続されていない場合には、処理装置100が、この処理装置100に接続されたデバイス120−0〜120−nに対応したデバイス制御プログラムのみを起動させるべく、複数のデータ信号線DT0〜DTnの一部もしくは全部においてプルアップ抵抗113/プルダウン抵抗114により生成される高電位状態/低電位状態を構成情報データとして読み取り、読み取られたその構成情報データに基づいて、デバイス120−0〜120−nの接続状態(これらのデバイス120−0〜120−nのうちどのデバイスが接続されているか)を認識している。
【0018】
そして、請求項に記載された本発明のデバイス接続状態認識機能を有する処理装置100は、上述したプルアップ抵抗113/プルダウン抵抗114を有しているほか、デバイスとして、処理装置100に接続されうる複数のデバイス120−0〜120−nの接続状態を示す情報を設定された構成情報レジスタを所定アドレスに保持するプログラム格納用外部記憶部が接続されているか否かを、このプログラム格納用外部記憶部が割り当てられたデータ信号線のプルアップ抵抗/プルダウン抵抗により生成される高電位状態/低電位状態に基づいて認識する認識部をそなえ、この認識部が、プログラム格納用外部記憶部が接続されていることを認識すると、プログラム格納用外部記憶部に格納されているプログラムを起動させるとともに、プログラム格納用外部記憶部の前記所定アドレスに対してアクセスすることにより構成情報レジスタの情報を読み出し、読み出された構成情報レジスタの情報に基づいてデバイス120−0〜120−nの接続状態を認識し、処理装置100に接続されたデバイスに対応したデバイス制御プログラムのみを起動する一方、認識部が、プログラム格納用外部記憶部が接続されていないことを認識すると、複数のデータ信号線DT0〜DTnのプルアップ抵抗/プルダウン抵抗により生成される高電位状態/低電位状態を構成情報データとして読み取り、読み取られた構成情報データに基づいてデバイス120−0〜120−nの接続状態を認識し、認識部が接続されていることを認識したデバイス120−0〜120−nに対応したデバイス制御プログラムのみを起動するように構成されている。
【0019】
例えば図1に示す処理装置100には、n+1個のデバイス120−0〜120−nが接続される可能性があり、これらのデバイス120−0〜120−nのうちデバイス120−iが処理装置100に接続されている場合には、データバス110のデータ信号線DTiを、プルダウン抵抗114を介して低電位(グラウンド:GND)に接続する。一方、これらのデバイス120−0〜120−nのうちデバイス120−jが処理装置100に接続されていない場合には、データバス110のデータ信号線DTjを、プルアップ抵抗113を介して高電位(+V)に接続する。
【0020】
より具体的に、図1に示す処理装置100には、少なくとも4つのデバイス120−2,120−3,120−4,120−nが接続されているので、データ信号線DT2,DT3,DT4,DTnはプルダウン抵抗114を介して低電位に接続されている。また、データ信号線DT0,DT1,DTn−1 がプルアップ抵抗113を介して高電位に接続されているので、図1に示す処理装置100に少なくともデバイス120−0,120−1,120−(n−1) は接続されていない。さらに、データ信号線DTn−2 がプルダウン抵抗114を介して低電位に接続されているので、図1に示す処理装置100にはデバイス120−(n−2) が接続されている。
【0021】
なお、上述とは逆に、デバイス120−iが処理装置100に接続されている場合、データバス110のデータ信号線DTiを、プルアップ抵抗113を介して高電位に接続する一方、デバイス120−jが処理装置100に接続されていない場合、データバス110のデータ信号線DTjを、プルダウン抵抗114を介して低電位に接続してもよい。
【0022】
これにより、処理装置(認識部)100は、データ信号線DT0〜DTnにおいてプルアップ抵抗113/プルダウン抵抗114により生成される高電位状態(1)/低電位状態(0)を構成情報データとして読み取るだけで、その構成情報データに基づいて、デバイス120−0〜120−nのうちどのデバイスが接続されているかという接続情報を認識することができる。
【0024】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
〔1〕本実施形態の電子マネー制御用集積回路(プロトコルコントローラ)の説明図2は本発明を適用される電子マネー制御用集積回路(プロトコルコントローラ)の構成を模式的に示す図である。
【0025】
この図2に示す本実施形態の電子マネー制御用集積回路(以下、プロトコルコントローラという)20は、通貨の電子的象徴として定義される電子マネーを取り扱う取引装置、例えばATM(Automatic Teller Machine),ECR(Electric Cash Register),電子マネーロード端末,電子財布,POS(Point Of Sales:販売時点情報管理)システムを成すPOS端末/携帯POS端末(ハンディPOS)/POSサーバなどに組み込まれて、共通に利用されるように構成されたものである。その詳細な構成について図2を参照しながら説明する。
【0026】
プロトコルコントローラ20は、CPU21,ROM22,RAM23,アドレスバス24,データバス25およびインターフェース回路3とともに、後述する周辺制御回路としての回路26,27,29,31〜35,36A,36B,38,42,43を一つのチップ上に集積して構成されている。
ROM(記憶部)22は、複数の異なる方式の電子マネー用プロトコルに対応して作成された制御プログラム5Aもしくは5B(図4もしくは図6参照)を格納したものである。制御プログラム5A,5Bの詳細な構成については、それぞれ図4,図6を参照しながら後述する。
【0027】
なお、本実施形態では、2種類の方式の電子マネーを第1電子マネーおよび第2電子マネーとして取り扱うべく、制御プログラム5A,5Bは、各電子マネーのプロトコルに対応して作成されている。
また、ROM22とプロトコルコントローラ20の外部接続端子との間は論理的に遮断されており、制御プログラム5A,5Bは、プロトコルコントローラ20の製造時点で書き込まれている。つまり、本実施形態のプロトコルコントローラ20におけるROM22は、マスクROMとして構成されている。
【0028】
CPU(処理部)21は、ROM22に格納された制御プログラム5Aもしくは5Bを実行することにより、プロトコルコントローラ20に搭載された各種周辺制御回路の動作を制御して第1電子マネーおよび第2電子マネーの取扱を制御するものである。
RAM23は、CPU21のワーキングエリア等として用いられるものである。
【0029】
インタフェース回路3は、外部処理部や外部メモリ(外部記憶部)54などの外部回路に接続され、この外部回路とCPU21との間のインタフェース機能を果たすものである。図2では、外部メモリ54を外部回路としてプロトコルコントローラ20に接続した場合が図示されている。ここで、外部メモリ54としては、例えば外付ROM54a,外付RAM54b,FROM(FLASH ROM)54cなどが接続される(図14参照)。なお、外付ROM54aは、例えばOS等のプログラムを格納するためのプログラム格納用外部記憶部として用いられる。
【0030】
アドレスバス24およびデータバス25は、CPU21,ROM22,RAM23,インタフェース回路3,後述する回路26,27,29,31〜35,36A,36B,38,42,43の相互間を接続して、アドレス/データのやり取りを行なうものである。
本実施形態のプロトコルコントローラ20にそなえられた周辺制御回路は、いずれも電子マネーの処理に関連する制御機能を果たすもので、具体的には以下のような回路26,27,29,31〜35,36A,36B,38,42,43が、周辺制御回路としてそなえられている。
【0031】
シリアル送受信制御回路(通信制御回路)26は、CPU21および制御プログラム5A,5Bにより制御され、外部装置(例えばホストシステム51,サブシステム52,プリンタ53等)との通信を制御するものである。本実施形態のプロトコルコントローラ20には、3つの通信用ポート(図8のP0,P1,P2参照)がそなえられ、各ポートに対応して3つのシリアル送受信制御回路(Serial Tr/Rv)26がそなえられている。
【0032】
なお、シリアル送受信制御回路26と3つの外部装置(ホストシステム51,サブシステム52,プリンタ53)とは、それぞれRS232Cドライバ50a〜50cを介して、送受信を行なう。また、ホストシステム51は例えばATMやPOS端末などであり、サブシステム52は例えば他のICカードリーダ/ライタなどであり、プリンタ53は、例えばレシートを印刷するものである。さらに、シリアル送受信制御回路26を制御するためのプログラム(デバイス制御プログラム,通信制御プログラム)としては、制御プログラム5Aまたは5Bにおける、プリンタハンドラ531A,HOST手順ハンドラ532A,RS232Cドライバ531B/532B,537Bが用いられる(図4または図6参照)。
【0033】
メモリパリティ生成/チェック回路(Memory Parity Generator Checker)27は、CPU21および制御プログラム5A,5Bにより制御され、プロトコルコントローラ20に接続された外部メモリ54(RAM43b)のパリティチェックを行なうためのものである。
LCD制御回路(表示制御回路)29は、CPU21および制御プログラム5A,5Bにより制御され、プロトコルコントローラ20に接続された表示装置としてのコントローラ内蔵型LCD(Liquid Crystal Display)56を制御するものである。このLCD制御回路29を制御するためのプログラム(デバイス制御プログラム)としては、制御プログラム5Aまたは5Bにおける、LCDハンドラ533AおよびLCDドライバ533Bが用いられる(図4または図6参照)。
【0034】
キーボード制御回路(入力制御回路)31は、CPU21および制御プログラム5A,5Bにより制御され、バス制御回路59を介し入力装置としてのキーボード(KB)60からの信号の入力処理を行なうものである。このキーボード制御回路31を制御するためのプログラム(デバイス制御プログラム)としては、制御プログラム5Aまたは5Bにおける、KBハンドラ534AおよびKBドライバ534Bが用いられる(図4または図6参照)。
【0035】
グリーンボタン制御回路(入力制御回路)32は、CPU21および制御プログラム5A,5Bにより制御され、プロトコルコントローラ20に接続される入力装置としてのグリーンボタン(GB)61からの信号の入力処理を行なうとともに、このグリーンボタン61の点灯/消灯等の制御も行なうものである。このグリーンボタン制御回路32を制御するためのプログラム(デバイス制御プログラム)としては、制御プログラム5Aまたは5Bにおける、GBハンドラ535AおよびGBドライバ535Bが用いられる(図4または図6参照)。なお、グリーンボタン61は、実際には2つのボタン61a,61bからなり、利用者が電子マネー等を利用した支払いを行なう意志があるか否かを確認するためのもので、利用者に操作を促す際に緑色に点灯制御されるようになっている。
【0036】
パルス生成回路(表示制御回路)33は、CPU21および制御プログラム5A,5Bにより制御され、プロトコルコントローラ20に接続される表示装置としてのブザー62を鳴動させるためのパルス信号を生成して、このブザー62の鳴動動作を制御するものである。
MSシリアル入力制御回路34は、CPU21および制御プログラム5A,5Bにより制御され、プロトコルコントローラ20に接続される入力装置としての磁気ストライプリーダ(MSリーダ)63からの信号の入力処理を行なうもので、本実施形態のプロトコルコントローラ20には、4トラック分のMS読取データに同時に対応できるように4つのMSシリアル入力制御回路34がそなえられている。
【0037】
カード搬送制御回路35は、CPU21および制御プログラム5A,5Bにより制御され、プロトコルコントローラ20に接続されるカードコンベヤ64の動作を制御するものである。なお、カードコンベヤ64は、例えばICカードリーダ/ライタにおいてICカード330を搬送駆動するためのものである。
ICカード制御回路(媒体制御回路)36A,36Bは、CPU21および制御プログラム5A,5Bにより制御され、電子マネーを格納したICカード(可搬型媒体)330に対する制御を行なうものである。本実施形態のプロトコルコントローラ20においては、直接的には2枚のICカード330に対応できるように2つのポートAおよびBがそなえられており、これらのポートAおよびBに対応して2つのICカード制御回路36Aおよび36Bがそなえられている。これらのICカード制御回路36Aおよび36Bを制御するためのプログラム(デバイス制御プログラム)としては、制御プログラム5Aまたは5Bにおける、ICカードハンドラ536AおよびICカードドライバ536Bが用いられる(図4または図6参照)。なお、ICカードとしては、例えばISO7816に準拠するものが用いられる。
【0038】
これらのICカード制御回路36Aおよび36Bの各々は、カード用リセット制御回路39,カード用C4/C8制御回路40およびカード用データ入出力制御回路41から構成されている。
プロトコルコントローラ20における2つのポートAおよびBには、データ転送用信号線としてデータ線,C4信号線,C8信号線,リセット信号線(各1本)がそなえられている。カード用リセット制御回路39は、前記リセット信号線を介してICカード330へ出力するリセット信号を制御するものであり、カード用C4/C8制御回路40は、前記のC4信号線やC8信号線を介して、ICカード330へのC4/C8信号の出力制御、および、ICカード330からのC4/C8信号の入力制御を行なうものであり、カード用データ入出力制御回路41は、前記データ線を介して、ICカード330へのデータのシリアル出力制御、および、ICカード330からのデータのシリアル入力制御を行なうものである。
【0039】
また、本実施形態では、プロトコルコントローラ20とICカード330との間にデマルチプレクサ340を介装することにより、プロトコルコントローラ20は、2つのポートAおよびB、つまり2つのICカード制御回路36Aおよび36Bを用いて、最大6枚のICカード330に対する制御を行なえるように構成されている。なお、図4において、6枚のICカード330は、それぞれICC0〜ICC5として表記されており、ICC0〜ICC5は、それぞれ、ポート番号0〜5を付与された実際のカードポート(以下、ポート0〜5と記す)に装着される。
【0040】
デマルチプレクサ340は、6枚のICカード330とプロトコルコントローラ20のICカード制御回路36A,36B(ポートA,B)との間を適宜接続し、これらの間でのデータ転送を制御するデータ転送制御装置(カード切替器)として機能し、プロトコルコントローラ20のアクセス対象となる2枚のICカード330と、ポートAおよびBとを選択的に切り替えて接続するものである。
【0041】
また、デマルチプレクサ340には、プロトコルコントローラ20のアクセス対象とならないICカード330(非アクセス対象)に対する信号(データ,C4/C8信号,リセット信号)の状態をラッチするためのラッチ回路343−0〜343−5,348−0〜348−5(図20,図21参照)がそなえられている。なお、デマルチプレクサ340の詳細かつ具体的な構成については、図20〜図22を参照しながら後述する。
【0042】
そして、プロトコルコントローラ20には、デマルチプレクサ340に対して、各ポートA,Bに接続すべきICカード330をアクセス対象として選択・指定するセレクト信号を供給し、このデマルチプレクサ340を切替動作させるためのカード選択回路43がそなえられている。このカード選択回路43からのセレクト信号により選択されないICカード330は非アクセス対象として扱われ、非アクセス対象のICカード330に対する信号状態は、デマルチプレクサ340のラッチ回路343−0〜343−5,348−0〜348−5において、非アクセス状態への遷移直前でラッチされるようになっている。
【0043】
なお、カード選択回路43は、ICカードポート割当レジスタ(図24参照)を用いてセレクト信号を設定し、そのセレクト信号をデマルチプレクサ340へ出力するように構成されている。セレクト信号の詳細については、図24および図25を参照しながら後述する。また、セレクト信号によるデマルチプレクサ340の具体的な切替動作については、図26および図27を参照しながら後述する。
【0044】
カード用クロック生成回路38は、本実施形態のプロトコルコントローラ20に対して接続されうる最大6枚のICカード330のそれぞれに対し、クロック信号線350を通じて供給すべきクロック信号(制御クロック)を生成するもので、装着されうるICカード330の最大枚数と同じ数(つまり6)だけそなえられている。
【0045】
このように、本実施形態においては、各ICカード330で用いられるクロック信号は、プロトコルコントローラ20から、ICカード330と同数(6本)のクロック信号線350を通じて、各ICカード330に供給される一方、6枚のICカード330が、デマルチプレクサ340を介して、プロトコルコントローラ20の2つのポートA,Bに設けられたデータ転送用信号線(データ線,C4信号線,C8信号線,リセット信号線など)を共用するようになっている。
【0046】
さらに、本実施形態において、各ICカード330への電源供給は、電圧セレクタ360およびパワーレギュレータ(電源調節器)370を用いて行なわれるようになっている。ここで、パワーレギュレータ370は、3Vと5Vの2種類の電圧を生成・出力するもので、電圧セレクタ360は、デマルチプレクサ340からの指示に応じて、3Vまたは5Vの電圧を選択して各ICカード330に印加・供給するものである。この電圧セレクタ360を含む電源供給系の詳細構成については、図23を参照しながら後述する。
【0047】
そして、プロトコルコントローラ20には、ICカード330に対して供給すべき電圧3V/5Vを指定するための信号をそれぞれ生成してデマルチプレクサ340に出力する2つのカード用電源制御回路42がそなえられている。各カード用電源制御回路42からの信号は、デマルチプレクサ340を経由して電圧セレクタ360へ送られ、この電圧セレクタ360がその信号に応じた電圧切替動作を行なうようになっている。また、電圧セレクタ360は、何らかの要因により各ICカード330に対する電源供給に異常が生じた場合にはその旨(Power Fail)をカード用電源制御回路42へ通知するようになっている。
【0048】
なお、図2では図示しないが、プロトコルコントローラ20のポートA,BとICカード330用のポート0〜5との間にはICカード装着通知線がそなえられている。図22にて後述するごとく、ポート0〜5のそれぞれにICカード(ICC0〜ICC5)330が装着されているか否かの情報が、そのICカード装着通知線およびデマルチプレクサ340を介して、ICカード制御回路36A,36Bへ通知されるようになっている。
【0049】
上述した周辺制御回路26,27,29,31〜35,36A,36B,38,42,43は、符号51〜54,56,59〜64を付して説明した各種機器等に常に接続されてこれらの機器を制御するわけではなく、必要に応じてこれらの機器を制御できるようにプロトコルコントローラ20に予め組み込まれている。これにより、本実施形態のプロトコルコントローラ20の汎用性は極めて高いものとなっている。
【0050】
〔1−1〕本実施形態のアドレス空間の説明
なお、本実施形態のプロトコルコントローラ20は、図3に示すような構成のアドレス空間を有している。即ち、本実施形態におけるアドレス空間は、内蔵ROM22,内蔵RAM23,外付ROM54a,外付RAM54b,外付FROM54cに対して割り当てられている。特に、本実施形態のプロトコルコントローラ20では、外付ROM54aに対して例えばアドレスC00000〜EDFFFFが割り当てられている。
【0051】
〔1−2〕制御プログラムの構造の説明
次に、本実施形態のプロトコルコントローラ20における制御プログラム構造について、図4を参照しながら説明する。
この図4に示すように、ROM22に格納される制御プログラム5Aは、ブートプログラム(BOOT)520,OS(オペレーティングシステム)521,アプリケーションプログラム522,第1電子マネー用プロトコル制御プログラム523−1,第2電子マネー用プロトコル制御プログラム523−2およびデバイス制御プログラム群530を有して構成されている。
【0052】
BOOT520は、制御プログラム5Aを起動するために最初に起動されるもので、このBOOT520によりOS521が起動されるようになっている。
デバイス制御プログラム群530は、インタフェース回路3に接続された外部回路や図2で前述した周辺制御回路をデバイスとして制御する複数のデバイス制御プログラムであり、通常、一対のハンドラおよびドライバにより一つのデバイス制御プログラムが構成される。本実施形態では、デバイス制御プログラムとして、前述したハンドラ531A〜536Aおよびドライバ531B〜537Bがそなえられている。
【0053】
第1電子マネー用プロトコル制御プログラム523−1および第2電子マネー用プロトコル制御プログラム523−2は、2種類の方式の電子マネーのそれぞれに対応してデバイス制御プログラム群530に属するプログラムを制御するものである。
アプリケーションプログラム522は、デバイス制御プログラム群530に属するプログラムや、2種類のプロトコル制御プログラム523−1および523−2を制御するものである。
【0054】
〔1−3〕制御電文の説明
次に、本実施形態のプロトコルコントローラ20において用いられる制御電文130の構成について、図5を参照しながら説明する。
本実施形態の制御プログラム5Aにおけるアプリケーションプログラム522は、例えばホストシステム51等の外部装置からシリアル送受信制御回路26を介して図5に示す制御電文130を受けることによって、その制御電文130の内容に応じて、デバイス制御プログラム群530に属するプログラムや、2種類のプロトコル制御プログラム523−1および523−2を制御する。
【0055】
ここで、図5に示すように、制御電文130は、Nバイトのデータフィールド136を有し、このデータフィールド136にデータを格納して転送するためのものである。その転送データには、1バイトのデータヘッダDH1および1バイトのデータヘッダDH2とともに、転送するデータフィールド136に格納されたデータ長Lを指示するデータ長フィールド135が付与される。
【0056】
そして、本実施形態の制御電文130では、データヘッダDH1が、電子マネー種別フィールド131もしくはデバイス種別フィールド133として用いられるとともに、データヘッダDH2が、取引種別フィールド132もしくは命令フィールド134として用いられる。
このとき、データヘッダDH1を電子マネー種別フィールド131として用いる際の指定データとデータヘッダDH1をデバイス種別フィールド133として用いる際の指定データとは、互いに排他の値となっており、データヘッダDH1が電子マネー種別フィールド131として用いられる場合、データヘッダDH2は取引種別フィールド132として機能する一方、データヘッダDH1がデバイス種別フィールド133として用いられる場合、データヘッダDH2は命令フィールド134として機能する。
【0057】
より具体的に説明すると、図5に示すように、データヘッダDH1には、例えば、1バイトのデータ“0x01”,“0x02”,“0x81”,“0x82”,“0x83”,“0x84”,“0x85”が書き込まれる。
これらのうち“0x01”および“0x02”はそれぞれ電子マネー種別を指定するもので、“0x01”は第1電子マネーを指定し、“0x02”は第2電子マネーを指定する。従って、データヘッダDH1に“0x01”または“0x02”が書き込まれた場合、データヘッダDH1は電子マネー種別フィールド131として機能することになる。
【0058】
これに対し、“0x81”〜“0x85”は、それぞれ、デバイスの種別として、ICカード,GB(グリーンボタン),KB(キーボード),LCD,RS232Cを指定する。従って、データヘッダDH1に“0x81”〜“0x85”のいずれかが書き込まれた場合、データヘッダDH2はデバイス種別フィールド133として機能することになる。
【0059】
データヘッダDH1に“0x01”または“0x02”が書き込まれている場合、データヘッダDH2には、指定された電子マネーによって行なうべき取引の種別を指定する1バイトのデータとして、例えば“0x01”〜“0x04”が書き込まれる。これらのデータ“0x01”〜“0x04”により、支払い,払い戻し,引出し,預入といった取引種別がそれぞれ指定される。
【0060】
また、データヘッダDH1に“0x81”〜“0x85”のいずれかが書き込まれている場合、データヘッダDH2には、指定されたデバイスに対する命令を指定する1バイトのデータとして、例えば“0x01”〜“0x07”が書き込まれる。これらのデータ“0x01”〜“0x07”により、状態リード,電源制御,吸入,排出,データ転送,カードセット待ち,カード抜き取り待ちといった命令がそれぞれ指定される。
【0061】
そして、アプリケーションプログラム522は、受け取った制御電文130のデータヘッダDH1およびデータヘッダDH2がそれぞれ電子マネー種別フィールド131および取引種別フィールド132として用いられている場合には、電子マネー種別フィールド131で指定された電子マネーに対応するプロトコル制御プログラム523−1または523−2により、取引種別フィールド132で指定された取引を行なわせる。
【0062】
また、アプリケーションプログラム522は、受け取った制御電文130のデータヘッダDH1およびデータヘッダDH2がそれぞれデバイス種別フィールド133および命令フィールド134として用いられている場合には、デバイス種別フィールド133で指定されたデバイスを制御するためのデバイス制御プログラム(デバイス制御プログラム群530内の一対のハンドラ/ドライバ)に、命令フィールド134に記述された命令を通知して命令を実行させ、その命令に対するデバイス制御プログラムからの応答を応答電文として命令の発行元(つまり制御電文130の発行元;例えばホストシステム51)へシリアル送受信制御回路26を介して送信する。
【0063】
〔1−4〕制御プログラムの他の構造の説明
次に、本実施形態のプロトコルコントローラ20における制御プログラム構造の他例について、図6を参照しながら説明する。
この図6に示すように、ROM22に格納される制御プログラム5Bは、図4にて前述した制御プログラム5Aに、さらに、デバイスルータ(経路制御プログラム)540およびテーブル550を追加したものである。図6中、既述の符号と同一の符号は同一もしくはほぼ同一のものを示しているので、その説明は省略する。
【0064】
なお、以下では、デバイス制御プログラム群530に属するプログラムや、アプリケーションプログラム522,プロトコル制御プログラム523−1,523−2を、モジュールと称する場合がある。
デバイスルータ(経路制御プログラム)540は、前記モジュールの相互間を接続しうるインタフェース機能を提供するものである。ここで説明する制御プログラム5Bを用いる場合、前記モジュールのそれぞれには、固有のモジュール識別子が予め付与されており、デバイスルータ540は、接続要求元モジュールのモジュール識別子と接続相手先モジュールのモジュール識別子とをパラメータとして用いてモジュール相互間を接続し、これらのモジュール相互間で前述したような制御電文130のやり取りを実行させる。
【0065】
その際、接続相手先モジュールがプロトコルコントローラ20の通信用ポートP0〜P2を介して接続された外部装置(ホストシステム51等)に属している場合、デバイスルータ540は、通信制御プログラムとしてのHOST手順ハンドラ532AやRS232Cドライバ531B/532B,537Bにシリアル送受信制御回路26を制御させて、プロトコルコントローラ20における接続要求元モジュールと外部装置における接続相手先モジュールとを接続する。
【0066】
ここで、プロトコルコントローラ20に接続され通信対象となる外部装置は、図8に示すように、本実施形態のプロトコルコントローラ20と同一の機能を有する処理装置(例えばパーソナルコンピュータ)であってもよいし、取引装置内に組み込まれた、本実施形態のプロトコルコントローラ20と同一の構成(機能)を有する他のプロトコルコントローラ20であってもよい。
【0067】
また、図8に示すように、プロトコルコントローラ20の3つの通信用ポートP0〜P2を用いて、複数のプロトコルコントローラ20を、POS/ECR/ATM等のホストシステム51からカスケード状に接続した場合、これらのプロトコルコントローラ20やホストシステム51の相互間でも、デバイスルータ540のインタフェース機能により通信を行なうことが可能になる。
【0068】
プロトコルコントローラ20がモジュールを有する外部装置(処理装置や他のプロトコルコントローラ20)と通信可能に接続されている場合、外部装置に属し通信対象になりうるモジュールにも、固有のモジュール識別子が予め付与されるとともに、プロトコルコントローラ20や外部装置にもデバイスルータ540がそなえられそれぞれ固有の経路識別子(接続相手先モジュールを識別しうるもの)が予め付与されており、デバイスルータ540は、接続要求元モジュールのモジュール識別子と、接続相手先モジュールのモジュール識別子と、接続相手先モジュールの属する装置の経路識別子とをパラメータとして用いてモジュール相互間を接続する。
【0069】
上述のようにモジュール識別子および経路識別子を用いてモジュール間接続を行なうために、本実施形態の制御プログラム5Bには、モジュール識別子とそのモジュール識別子を付与されたモジュールの属する装置を示す経路識別子との対応関係を保持するテーブル550がそなえられている。このテーブル550の内容は、プロトコルコントローラ20を組み込まれるハードウェア(システム)の構成によって決まるもので、そのシステムにおいて相互に通信可能に接続されデバイスルータ540を組み込まれている全ての装置(プロトコルコントローラ20や処理装置)には、同じ内容を保持するテーブル550がそなえられている。
【0070】
このテーブル550の具体的な内容を、図7(a)および図7(b)に示す。
図8に示したように複数のプロトコルコントローラがカスケード状に接続されている場合、図7(a)に示すように、各プロトコルコントローラの経路識別子と、そのプロトコルコントローラが接続されている上位のプロトコルコントローラの経路識別子および通信用ポート番号との対応関係(プロトコルコントローラ構成の定義)が、テーブル550に保持される。
【0071】
図7(a)に示すテーブル550の内容から、経路識別子#90のプロトコルコントローラがルート(ROOT)であり、経路識別子#01のプロトコルコントローラは経路識別子#90のプロトコルコントローラにおけるポート#1に接続され、経路識別子#02のプロトコルコントローラは経路識別子#01のプロトコルコントローラにおけるポート#1に接続され、経路識別子#03のプロトコルコントローラは経路識別子#01のプロトコルコントローラにおけるポート#2に接続され、経路識別子#04のプロトコルコントローラは経路識別子#02のプロトコルコントローラにおけるポート#1に接続され、経路識別子#05のプロトコルコントローラは経路識別子#02のプロトコルコントローラにおけるポート#2に接続されていることが分かる。
【0072】
また、図7(b)に示すように、複数のプロトコルコントローラが有する全てのモジュールに付与されたモジュール識別子と、そのモジュールの属するプロトコルコントローラの経路識別子との対応関係〔モジュール識別子(デバイス番号)の定義〕が、そのモジュール名(もしくはそのモジュールによって制御されるデバイス名)とともに、テーブル550に保持される。
【0073】
図7(b)に示すテーブル550の内容から、モジュール識別子#01のモジュールは経路識別子#01のプロトコルコントローラに属し、モジュール識別子#02のモジュール(デバイス名ICCRW01)は経路識別子#02のプロトコルコントローラに属し、モジュール識別子#03のモジュール(デバイス名ICCRW02)は経路識別子#02のプロトコルコントローラに属し、モジュール識別子#20のモジュール(デバイス名LCD)は経路識別子#01のプロトコルコントローラに属し、モジュール識別子#21のモジュール(デバイス名KEY)は経路識別子#01のプロトコルコントローラに属していることが分かる。
【0074】
このようなテーブル550に保持される内容(前記対応関係)は、シリアル送受信制御回路26で受信した電文に基づいてCPU21により設定/変更することができるようになっている。また、テーブル550を、制御プログラム5B内ではなく、インタフェース回路3を介して接続された外部メモリ54に格納しておくこともできる。
【0075】
本実施形態のデバイスルータ540は、モジュール相互間を接続する場合、接続相手先モジュールのモジュール識別子によりテーブル550の内容〔ここでは図7(b)に示す内容〕を検索し、接続相手先モジュールのモジュール識別子に対応する経路識別子を得る。
検索で得られた経路識別子が自分に付与された経路識別子と一致する場合、接続要求元モジュールと接続相手先モジュールとは同じプロトコルコントローラ20に属しているので、デバイスルータ540は、プロトコルコントローラ20内においてこれらのモジュール相互間を接続する。一方、検索で得られた経路識別子が自分に付与された経路識別子と一致しない場合、デバイスルータ540は、接続相手先モジュールが他のプロトコルコントローラに属するものと判断し、その経路識別子によりテーブル550の内容〔ここでは図7(a)に示す内容〕を検索して他のプロトコルコントローラの接続関係を把握してから、HOST手順ハンドラ532AやRS232Cドライバ531B/532B,537Bにシリアル送受信制御回路26を制御させて、プロトコルコントローラ20における接続要求元モジュールと他のプロトコルコントローラにおける接続相手先モジュールとを接続する。
【0076】
なお、本実施形態のプロトコルコントローラ20に、下記ような構成を有する、パーソナルコンピュータ等の処理装置(a),(b)を外部装置として接続することにより、これらの処理装置(a),(b)とプロトコルコントローラ20との間で通信を行なうことができるようになっている。
処理装置(a)は、CPUと、前述と同様の制御プログラム5Bを格納するためのメモリと、外部装置(ここではプロトコルコントローラ20)との通信を制御する通信制御回路とを有し、制御プログラム5Bが、少なくとも、通信制御回路を制御する通信制御プログラム(前述したHOST手順ハンドラ532AやRS232Cドライバ531B/532B,537Bと同様のもの)と、固有の経路識別子を有する経路制御プログラム(前述したデバイスルータ540と同様のもの)と、固有のモジュール識別子を有するモジュール(アプリケーションプログラム,プロトコル制御プログラム,デバイス制御プログラム等)とを有している。このような処理装置(a)をプロトコルコントローラ20に接続した場合、処理装置(a)とプロトコルコントローラ20との間の通信は、2つのプロトコルコントローラ20の相互間の通信と全く同様に行なわれる。
【0077】
処理装置(b)は、CPUと、プログラム5を格納するためのメモリと、外部装置(ここではプロトコルコントローラ20)との通信を制御する通信制御回路とを有し、そのメモリに、少なくとも、通信制御回路を制御する通信制御プログラムと、通信制御回路に接続されているプロトコルコントローラ20内の各種モジュールに対する接続要求をプロトコルコントローラ20内のデバイスルータ540に対して発行しうるアプリケーションプログラムとが格納されている。このような処理装置(b)をプロトコルコントローラ20に接続した場合、プロトコルコントローラ20のデバイスルータ540は、処理装置(b)からの接続要求を受けると、プロトコルコントローラ20における該当モジュールと処理装置(b)とを接続する。
【0078】
〔1−5〕プロトコルコントローラによる取引処理例の説明
次に、図9および図10を参照しながら、本実施形態のプロトコルコントローラ20を用いた取引処理例について説明する。
図9に示す例では、取引装置である電子マネー(ICカード)対応ユニット70においては、プロトコルコントローラ20が組み込まれ、このプロトコルコントローラ20を制御するプロトコルコントローラアプリケーションと、このプロトコルコントローラアプリケーションを制御すべく上位処理部(CPU)72で実行される上位アプリケーションとがそなえられている。
【0079】
そして、2枚のICカード(可搬型媒体)330−1,330−2をプロトコルコントローラ20に対して接続した状態で、上位処理部72が一方のICカード330−1から他方のICカード330−2への電子マネー転送をプロトコルコントローラ20に要求すると(矢印▲1▼参照)、プロトコルコントローラ20により実際の電子マネーの転送処理が行なわれ(矢印▲2▼参照)、その処理結果がプロトコルコントローラ20から上位処理部72へ通知される(矢印▲3▼参照)。
【0080】
つまり、上位処理部72(上位アプリケーション)は、方式によって異なる電子マネーのプロトコルについて何も意識することなく、単に電子マネーについての取引要求を発行するだけで、複数の異なる方式の電子マネーを取り扱うことができるのである。
図10に示す例では、上述した電子マネー対応ユニット70を2組そなえ、これらのユニット70,70相互間をネットワーク71により相互に通信可能に接続したシステムを想定し、これら2つのユニット70,70のプロトコルコントローラ20,20にそれぞれICカード330−1,330−2を接続した状態で、ICカード330−1と330−2との間での電子マネー転送を行なっている。
【0081】
この場合、まず、2つのユニット70,70における上位処理部72,72の相互間で通信パスを確立してから(矢印▲1▼参照)、一方のユニット70の上位処理部72が、一方のICカード330−1から他方のICカード330−2への電子マネー転送をプロトコルコントローラ20に対して要求する(矢印▲2▼参照)。この要求に応じて、ネットワーク71上の通信パスを経由しながら2つのプロトコルコントローラ20,20の間で実際の電子マネーの転送処理が行なわれる(矢印▲3▼参照)。この後、その処理結果がプロトコルコントローラ20から上位処理部72へ通知され(矢印▲4▼参照)、通信パスが切断される(矢印▲5▼参照)。
【0082】
つまり、この場合も、2つのユニット70,70における上位処理部72,72は、方式によって異なる電子マネーのプロトコルについて何も意識することなく、単に電子マネーについての取引要求を発行するだけで、ネットワーク71を介しながら複数の異なる方式の電子マネーを取り扱うことができるのである。
〔1−6〕プロトコルコントローラの具体的な利用例の説明
次に、図11〜図13を参照しながら、本実施形態のプロトコルコントローラ20の具体的な利用例(各種取引装置への組込み例)について説明する。
【0083】
図11は、本実施形態のプロトコルコントローラ20を組み込んだATM(Automatic Teller Machine)80の構成例を示すブロック図であり、この図11に示すように、ATM80は、制御回路(Controller)81,スクリーン/タッチパネル(Screen+Touch Panel)82,プリンタ83,カードリーダ/ライタ(Card R/W)84およびプロトコルコントローラブロック88を有して構成され、ホスト89に接続されている。
【0084】
そして、プロトコルコントローラブロック88には、本実施形態のプロトコルコントローラ20がそなえられるとともに、このプロトコルコントローラ20に、外付RAM54bが接続されるとともに、PIN(Personal Identification Numbers)を入力するためのPINパッド88aがデバイスとして接続されている。
【0085】
ここで、制御回路81は、ホスト89やスクリーン/タッチパネル82からの信号等に従ってプリンタ83,カードリーダ/ライタ84,プロトコルコントローラ20を制御するものである。また、カードリーダ/ライタ84は、ICカード330に対する書込/読出アクセスを行なうほか、カードに形成されたエンボス部86を読み取ったり、カード上の磁気ストライプ部(MS)87の磁気情報を読み取ったりする機能を有している。
【0086】
このようなATM80は、多種多様な機能を有しており、極めて複雑なICカード330等のハンドリングを行なうもので、その機能全てをプロトコルコントローラ20で行なうことは不可能である。そこで、ATM80では、例えば、各種電子マネーのプロトコルに係る処理(矢印▲1▼参照)やPINの暗号化に係る処理(矢印▲2▼参照)を実行する際にプロトコルコントローラ20の機能を利用し、それ以外の全てのI/O制御(例えば、ICカード330のハンドリング,金額入力,画面表示,印字出力など)は制御回路81により行なう。
【0087】
例えば、実際のカードリーダ/ライタ84に対するI/O制御は、上述のごとく制御回路81により行なうが、そのI/O制御のうち電子マネーのプロトコルに係る部分の処理は、矢印▲1▼で示すように、制御回路81からプロトコルコントローラ20に依頼し、このプロトコルコントローラ20において、処理対象の電子マネーの方式に応じたプロトコル制御プログラムを用いて実行される。
【0088】
また、電子マネーのプロトコルによってはPINを暗号化しなければならない場合がある。このような電子マネーを取り扱う場合、制御回路81は、PINパッド88aから入力されたPINの暗号化処理や、暗号化されたPINの解読処理を、矢印▲2▼で示すようにプロトコルコントローラ20に実行させる。
このように制御回路81によりプロトコルコントローラ20を用いて処理を行なう際、前述した制御電文130による動作要求機能やデバイスルータ540による経路制御機能が有効に用いられることになる。
【0089】
図12は、本実施形態のプロトコルコントローラ20を組み込んだPOSシステム90および外部カードリーダ/ライタ150の構成例を示すブロック図であり、この図12に示すように、POSシステム90は、メインボード91,ディスプレイ92,プリンタ93,MSリーダ94,キーボード(KB)95,ドロア(引出)96およびリーダ/ライタインタフェースアダプタ(R/W I/F Adapter)97を有して構成され、外部カードリーダライタ150に接続されている。
【0090】
POSシステム90のリーダ/ライタインタフェースアダプタ97には、本実施形態のプロトコルコントローラ20がそなえられるとともに、このプロトコルコントローラ20には、シリアルドライバ/レシーバ50dおよび50eを介してメインボード91および外部カードリーダ/ライタ150が接続されるとともに、デマルチプレクサ340(図12では図示省略)を介して、4個のSIM(Subscriber Identity Module)331と、マーチャントカードとして機能するICカード330とが接続されている。ここで、メインボード91は、MSリーダ94やキーボード(KB)95からの信号を受け、ディスプレイ92,プリンタ93,ドロア(引出)96の動作を制御するものである。
【0091】
外部カードリーダ/ライタ150には、本実施形態のプロトコルコントローラ20がそなえられるとともに、このプロトコルコントローラ20には、シリアルドライバ/レシーバ50fを介してPOSシステム90が接続されるとともに、LCD56,キーボード60,グリーンボタン61,ブザー(Bz)62およびICカード330がデバイスとして接続されている。
【0092】
POSシステム90は、例えば店舗でレジスタとして用いられるもので、このPOSシステム90には、上述した外部カードリーダ/ライタ150が接続されており、顧客は、電子マネーによる支払いを行なう際、ICカード330を外部カードリーダ/ライタ150に装着し、LCD56の表示を参照しながらキーボード60やグリーンボタン61を操作し、ICカード330から電子マネーによる所定金額の支払いを行なう。このとき、2つのプロトコルコントローラ20,20はメインボード91の配下でカスケード状に接続されており、これらのプロトコルコントローラ20,20を介して、POSシステム90側のICカード(マーチャントカード)330と外部カードリーダ/ライタ150における顧客のICカード330との間で電子マネーの転送処理が行なわれることになる。
【0093】
図13は、本実施形態のプロトコルコントローラ20を組み込んだ携帯POS端末(ハンディPOS)160の構成例を示すブロック図であり、この図13に示すように、携帯POS端末160は、メインボード161,ディスプレイ162,タッチパネル163,キーボード(KB)164,ブザー(Bz)165,プリンタ166,PCカードインタフェース(PCMCIA)166,無線通信部(SSRF)167,スキャナ168,シリアルドライバ/レシーバ170およびプロトコルコントローラブロック171を有して構成されている。
【0094】
そして、プロトコルコントローラブロック171には、本実施形態のプロトコルコントローラ20がそなえられるとともに、このプロトコルコントローラ20に、シリアルドライバ/レシーバ50gおよび170を介してメインボード161が接続されるとともに、MSリーダ63,ICカード330および4個のSIM331が接続されている。
【0095】
ここで、メインボード161は、シリアルドライバ/レシーバ170を介してスキャナ168に接続されるとともに、PCカードインタフェース(PCMCIA)166および無線通信部(SSRF)167を介してホスト169にも接続される。また、メインボード161は、タッチパネル163やキーボード164からの信号を受け、ディスプレイ162,ブザー(Bz)165およびプリンタ166の動作を制御するものである。
【0096】
携帯POS端末160は、支払いを行なう顧客が、レジスタ(POS端末)の所まで行くことなく、レストラン等であれば着席したままで精算を行なう際に用いられるもので、電子マネーによる支払いを行なう際、顧客のICカード330を携帯POS端末160に装着した状態、タッチパネル163やキーボード164が操作され、所定の精算が行なわれる。精算についての情報(支払い金額等)は、ホスト169から携帯POS端末160へ無線で通知されるとともに、ICカード330から引き出された電子マネーの情報は、携帯POS端末160からホスト169へ無線で通知される。携帯POS端末160のプロトコルコントローラ20は、上述のごとく電子マネーをICカード330から引き出して精算処理を行なうために使用される。
【0097】
〔1−7〕暗号鍵の説明
なお、本実施形態のプロトコルコントローラ20におけるROM22は、前述のごとくマスクROMとして構成されているので、このROM22に、複数の暗号鍵または暗号鍵集合を予め格納しておき、これらの暗号鍵または暗号鍵集合のうちの一つを選択して制御プログラム5Aまたは5Bで使用するように構成してもよい。
【0098】
この場合、プロトコルコントローラ20内において、シリアル送受信制御回路26により外部から受信した電文により複数の暗号鍵または暗号鍵集合のうちの一つを指定できるように構成する。また、インタフェース回路を介して接続された外部記憶部(例えば外付ROM54a)により複数の暗号鍵または暗号鍵集合のうちの一つを指定できるように構成してもよい。
【0099】
このように、プロトコルコントローラ20内のROM22に複数の暗号鍵または暗号鍵集合を予め格納しておき、プロトコルコントローラ20の外部から暗号鍵または暗号鍵集合を選択して切り替えることにより、暗号鍵のセキュリティを確保しながら、複数の暗号鍵または暗号鍵集合に対応することができる。
〔1−8〕本実施形態のプロトコルコントローラによる効果の説明
このように、本発明の一実施形態としてのプロトコルコントローラ20によれば、1つのプロトコルコントローラ20により複数の異なる方式の電子マネーの取扱が可能になるとともに、そのプロトコルコントローラ20を電子マネー対応の各種取引装置(例えば、前述したATM80,POSシステム90,外部カードリーダ/ライタ150,携帯POS端末160)で共通に利用することができる。このとき、プロトコルコントローラ20に各種周辺制御回路を内蔵(集積化)することにより、各種取引装置で共通する部分をより拡大することができる。
【0100】
また、プロトコルコントローラ20内の制御プログラム5Aまたは5Bを格納するROM22をマスクROMとして構成しているので、プロトコルコントローラ20の外部から制御プログラム5Aまたは5Bへのアクセスを禁止でき、セキュリティを確保することができるほか、プロトコルコントローラ20に外付ROM54aをプログラム格納用外部記憶部として接続可能とすることにより、プロトコルコントローラ20の拡張性をより高めることができる。
【0101】
さらに、制御電文130を用いることにより、プロトコルコントローラ20の外部から、使用する電子マネーの種別(プロトコル制御プログラム)を指定できるほか、プロトコルコントローラ20に内蔵された各種周辺制御回路を外部から直接制御したりすることができるので、各種電子マネーに対する処理以外の処理(電子マネーの処理とは無関係に例えばICカードリーダ/ライタを使用する処理)を実行することができる。
【0102】
またさらに、プロトコルコントローラ20を単体で取引装置等に組み込んで利用できるほか、図8に示したように、ホストシステム51にプロトコルコントローラ20を接続したり、ホストシステム51に複数のプロトコルコントローラ20をカスケード状に接続したりすることもできるので、プロトコルコントローラ20を用いて極めて柔軟にシステムを構築することができる。
【0103】
このように、本実施形態のプロトコルコントローラ20の汎用性は極めて高く、プロトコルコントローラ20を電子マネー対応の各種取引装置で共通に利用することができる。これにより、プロトコルコントローラ20について認定を受けておけば、このプロトコルコントローラ20を組み込んで構築された各種取引装置については、プロトコルコントローラ20以外の装置独自の部分についてのみ認定を受ければよく、複数の異なる方式の電子マネー毎に認定を受ける必要もなくなる。従って、各種取引装置の設計・開発工数を大幅に削減でき、認定機関等による認定工数(認定を受けるための検証工数)も大幅に削減できるとともに、信頼性の向上および高いセキュリティ性能を実現することができる。
【0104】
〔2〕本実施形態のプロトコルコントローラにおけるデバイス接続状態認識手法の説明
さて、次に、図14〜図19を参照しながら、上述した本実施形態のプロトコルコントローラ20に適用されるデバイス接続状態認識手法について説明する。本実施形態のプロトコルコントローラ20のCPU21は、以下に説明するデバイス接続状態認識機能をそなえている。このデバイス接続状態認識機能を用いることにより、外付ROM54a以外の各種デバイスの接続/非接続(接続状態)についても認識することができるようになる。
【0105】
図14および図15では、プロトコルコントローラ20におけるCPU21,アドレスバス24およびデータバス25を抽出して図示し、その他の構成回路等の図示は省略している。また、図14では、デバイスとして外付ROM54a,外付RAM54bおよびFROM(FLASH)54cが接続されるプロトコルコントローラ20の回路構成が示され、図15では、デバイスとして外付RAM54bおよびFROM(FLASH)54cが接続されるプロトコルコントローラ20の回路構成が示されている。なお、本実施形態では、データバス25としては、前述した通り16ビットのものが用いられている。つまり、データバス25は、16本のデータ信号線DT0〜DT15から構成されている。
【0106】
プロトコルコントローラ20の設計時には、そのプロトコルコントローラ20が組み込まれる取引装置の種類によって、プロトコルコントローラ20にどのようなデバイスが外付けされるかが判明している。そこで、本実施形態では、プロトコルコントローラ20の製造時に、このプロトコルコントローラ20に接続されるデバイスの種類に応じて、データバス25のデータ信号線DT0〜DT15を、それぞれ、プルアップ抵抗113を介して高電位(+V)に接続、もしくは、プルダウン抵抗114を介して低電位(グラウンド:GND)に接続しておく。
【0107】
そして、プロトコルコントローラ20のCPU21は、システム起動時等に、アドレスバス24にて、所定の論理アドレス、本実施形態では外付ROM54aの先頭アドレスC00000(図3参照)を指定し、データ信号線DT0〜DT15を通じてデータを読み取る。
本実施形態において、プロトコルコントローラ20に外付ROM54aが接続される場合、その外付ROM54aの先頭アドレスC00000(図3の斜線部分参照)に、そのプロトコルコントローラ20に接続されるデバイスについての情報が、図17に示すような16ビットの構成情報レジスタ(HWSTR:Hardware Structure Register)として予め設定されるようになっている。
【0108】
従って、外付ROM54aがプロトコルコントローラ20に接続されている場合、アドレスC00000を指定すると、CPU21は、データバス25を通じて構成情報レジスタ(HWSTR)の情報を読み出すことができる。
これに対し、外付ROM54aがプロトコルコントローラ20に接続されていない場合、アドレスC00000を指定すると、CPU21は、データ信号線DT0〜DT15においてプルアップ抵抗113/プルダウン抵抗114により生成される高電位状態/低電位状態〔1(High)/0(Low)〕を構成情報データとして読み取ることになる。
【0109】
ここで、プルアップ抵抗113およびプルダウン抵抗114により設定される16ビット分の構成情報データは、外付ROM54aの先頭アドレスC00000に設定されうる16ビットの構成情報レジスタ(HWSTR)のデータと全く同じになるように設定される。
構成情報レジスタ(HWSTR)のデータについて、つまり、プルアップ抵抗113およびプルダウン抵抗114による構成情報データの設定の仕方について図17〜図19を参照しながら説明する。
【0110】
なお、構成情報レジスタ(HWSTR)のビット番号0〜15と、データバス25のデータ信号線DT0〜DT15とがそれぞれ対応する。つまり、構成情報レジスタ(HWSTR)のビット番号i(i=0〜15)が0であれば、データ信号線DTiはプルダウン抵抗114を介して低電位(GND)に接続される一方、構成情報レジスタ(HWSTR)のビット番号iが1であれば、データ信号線DTiはプルアップ抵抗113を介して高電位(+V)に接続される。
【0111】
図17および図18に示すように、ビット番号0つまりデータ信号線DT0で拡張I/Oの接続(0)/非接続(1)が設定され、ビット番号1つまりデータ信号線DT1で拡張バスの接続(0)/非接続(1)が設定され、ビット番号5つまりデータ信号線DT5でカード切替器(デマルチプレクサ340)の接続(0)/非接続(1)が設定される。
【0112】
そして、図17〜図19に示すように、ビット番号2〜4つまりデータ信号線DT2〜DT4で、このプロトコルコントローラ20に接続されるICカード330の枚数(0〜6枚)が設定される。
また、ビット番号6つまりデータ信号線DT6で搬送機(カードコンベヤ64)の接続(0)/非接続(1)が設定され、ビット番号7つまりデータ信号線DT7でMSリーダ63の接続(0)/非接続(1)が設定され、ビット番号8つまりデータ信号線DT8でブザー62の接続(0)/非接続(1)が設定され、ビット番号9つまりデータ信号線DT9でグリーンボタン61の接続(0)/非接続(1)が設定され、ビット番号10つまりデータ信号線DT10でキーボード60の接続(0)/非接続(1)が設定される。
【0113】
同様に、ビット番号11つまりデータ信号線DT11で外付RAM54bの接続(0)/非接続(1)が設定され、ビット番号12つまりデータ信号線DT12で外付FLASH54cの接続(0)/非接続(1)が設定され、ビット番号13つまりデータ信号線DT13で外付ROM54aの接続(0)/非接続(1)が設定され、ビット番号14つまりデータ信号線DT14で下位装置(例えばサブシステム52)の接続(0)/非接続(1)が設定され、ビット番号15つまりデータ信号線DT15で上位装置(例えばホストシステム51)の接続(0)/非接続(1)が設定される。
【0114】
例えば図14に示す例では、少なくとも外付ROM54a,外付RAM54bおよびFROM(FLASH)54cがデバイスとして接続されるので、これらに対応して、プロトコルコントローラ20におけるデータ信号線DT13,DT11,DT12はプルダウン抵抗113を介して低電位(GND)に接続されている。
【0115】
また、図15に示す例では、少なくとも外付RAM54bおよびFROM(FLASH)54cがデバイスとして接続されるので、これらに対応して、プロトコルコントローラ20におけるデータ信号線DT11,DT12はプルダウン抵抗113を介して低電位(GND)に接続されている。
なお、図14および図15に示す例では、データ信号線DT0,DT1が、プルダウン抵抗113を介して低電位(GND)に接続されているので、図14や図15中には図示しないが、拡張I/Oおよび拡張バスも接続されていることになる。
【0116】
そして、CPU21は、論理アドレスC00000を指定することにより得られた構成情報データに基づいて、自分の属するプロトコルコントローラ20に接続されているデバイスの接続状態(図18に示した各種デバイスのうちどのデバイスが接続されているか)を認識する認識部として機能することになる。
なお、上述とは逆に、デバイスがプロトコルコントローラ20に接続されている場合、データバス25のデータ信号線DTiを、プルアップ抵抗113を介して高電位に接続する一方、デバイスがプロトコルコントローラ20に接続されていない場合、データバス25のデータ信号線DTiを、プルダウン抵抗114を介して低電位に接続してもよい。
【0117】
さて、次に、図16に示すフローチャート(ステップS1〜S9)に従って、本実施形態のプロトコルコントローラ20のCPU21におけるデバイス接続状態認識手順について説明する。なお、本実施形態では、CPU21によりデバイスの接続/非接続を認識しながら、接続されているデバイスのドライバ/ハンドラ(デバイス制御プログラム)も起動させている。
【0118】
システム起動時等において、CPU21は、まず、外付ROM54aの先頭アドレスとして割り当てられている論理アドレスC00000をアドレスバス24により指定して、データバス25を通じて16ビットの構成情報データを獲得し、データ信号線DT13により得られたデータが“0”か否かを判断する(ステップS1)。つまり、CPU21は、一番最初に、外付ROM54aが接続されているか否かを認識する。
【0119】
そのデータが“0”である場合(ステップS1のYESルート)、CPU21は、外付ROM54aが搭載されているものと判断し、この外付ROM54a上のOS521(図4,図6参照)を起動する(ステップS2)。一方、ステップS1でデータ信号線DT13のデータが“0”でない即ち“1”であると判断された場合(ステップS1のNOルート)、CPU21は、外付ROM54aが未搭載であると判断し、内蔵ROM22上のOS521を起動する(ステップS3)。
【0120】
OS521を起動した後、CPU21は、データ信号線DT13以外のデータ信号線0〜12および14,15のデータを、順次チェックしてゆく。つまり、ビット番号xとして“0”を設定してから(ステップS4)、データ信号線DTx(x=0〜12,14,15)により得られたデータが“1”か否かを判断する(ステップS5)。
そのデータが“1”でない場合、即ち“0”である場合(ステップS5のNOルート)、CPU21は、ビット番号xに対応するデバイスDxのドライバ/ハンドラをデバイス制御プログラム群530(図4,図6参照)の中から読み出して起動してから(ステップS6)、後述のステップS7へ移行する。
【0121】
一方、ステップS5でデータ信号線DTxのデータが“1”であると判断された場合(ステップS5のYESルート)、CPU21は、デバイスDxが未搭載であると判断し、ビット番号xに1を加算し(ステップS7)、新たなビット番号xが既に判断済のビット番号13であれば、ビット番号xにさらに1を加算する(ステップS8)。
【0122】
そして、CPU21は、新たなビット番号xが“16”であるか否かを判断し(ステップS9)、x=16であれば(YESルート)、処理を終了する一方、x≠16であれば(NOルート)、ステップS5に戻り、同様の処理を繰り返し行なう。
このように、本実施形態のプロトコルコントローラ20におけるデバイス接続状態認識手法によれば、CPU21は、データ信号線DT0〜DT15においてプルアップ抵抗113/プルダウン抵抗114により生成される高電位状態(1)/低電位状態(0)を構成情報データとして読み取るだけで、検出専用の信号線等を追加することなく、その構成情報データに基づいてデバイスの接続状態を認識し、そのデバイスに対応したドライバ/ハンドラ(デバイス制御プログラム)のみを起動させることができる。
【0123】
本実施形態のプロトコルコントローラ20に搭載されるROM22や外付ROM54aは、プロトコルコントローラ20に接続されうる全てのデバイスのためのドライバ/ハンドラ(デバイス制御プログラム)を有する制御プログラム5Aまたは5Bを格納することにより汎用化されているが、このような汎用化されたROM22,54aを用いた場合でも、CPU21は、上述のごとくデバイスを認識できるので、接続されたデバイスについてのドライバ/ハンドラ(デバイス制御プログラム)だけを起動させることができる。
【0124】
従って、プロトコルコントローラ20を組み込む取引装置(コンピュータシステム)毎に異なる制御プログラムを格納したROMを準備する必要がなくなり、ROMへのプログラム搭載に要する手間を省けるとともに部品管理を簡略化できるので、各種取引装置(システム)の製造に要するコストを大幅に削減することができる。
【0125】
〔3〕本実施形態におけるプロトコルコントローラとICカードとの間のデータ転送制御手法の説明
図2を参照しながら前述した通り、本実施形態においては、プロトコルコントローラ20とこのプロトコルコントローラ20に装着されうる最大6枚のICカード330との間にはデマルチプレクサ340が介装されている。
【0126】
つまり、本実施形態では、プロトコルコントローラ20とICカード330との間にデマルチプレクサ340を介装することにより、プロトコルコントローラ20は、2つのポートAおよびB、つまり2つのICカード制御回路36Aおよび36Bを用いて、最大6枚のICカード330に対する制御を行なえるように構成されている。
【0127】
このデマルチプレクサ340は、6枚のICカード330とプロトコルコントローラ20のICカード制御回路36A,36B(ポートA,B)との間を適宜接続し、これらの間でのデータ転送を制御するデータ転送制御装置(カード切替器)として機能し、プロトコルコントローラ20のアクセス対象となる2枚のICカード330と、ポートAおよびBとを選択的に切り替えて接続するものである。
【0128】
以下に、デマルチプレクサ340の詳細かつ具体的な構成について、図20〜図22を参照しながら説明する。
なお、図20には、デマルチプレクサ340のうち、プロトコルコントローラ20とICカード330との間で双方向通信される信号(データおよびC4/C8信号)のための切替回路の構成が示され、図21には、デマルチプレクサ340のうち、プロトコルコントローラ20からICカード330へ単方向で通信される信号(リセット信号)のための切替回路の構成が示され、図22には、デマルチプレクサ340のうち、ICカード330からプロトコルコントローラ20へ単方向で通信される信号(ICカード装着通知信号)のための切替回路の構成が示されている。また、図2と同様、図20〜図22において、6枚のICカード330(ICC0〜ICC5)は、それぞれ、ポート番号0〜5を付与された実際のカードポート(以下、ポート0〜5と記す)に装着される。
【0129】
図20〜図22に示すように、本実施形態のデマルチプレクサ340は、ゲートコントローラ341と、2入力1出力のセレクタ342−0〜342−5,347−0〜347−5と、6入力1出力のセレクタ345A,345B,351A,351Bと、ラッチ回路343−0〜343−5,348−0〜348−5と、3ステート入出力ポート344−0〜344−5,346A,346B,349−0〜349−5と、をそなえて構成されている。
【0130】
ゲートコントローラ341は、システムクロックの供給を受けて動作するとともに、プロトコルコントローラ20のカード選択回路43からのセレクト信号CDSEL[0:4]に応じて、セレクタ342−0〜342−5,347−0〜347−5,セレクタ345A,345B,351A,351Bと、ラッチ回路343−0〜343−5,348−0〜348−5と、3ステート入出力ポート344−0〜344−5,346A,346B,349−0〜349−5との動作を制御するものである。なお、セレクト信号CDSEL[0:4]の詳細については、図24および図25を参照しながら後述する。
【0131】
図20に示すように、デマルチプレクサ340において、プロトコルコントローラ20とICカード330との間で双方向通信される信号(データおよびC4/C8信号)のための切替回路には、セレクタ342−0〜342−5,345A,345B,ラッチ回路343−0〜343−5,3ステート入出力ポート344−0〜344−5および3ステート入出力ポート346A,346Bがそなえられている。
【0132】
ここで、セレクタ342−0〜342−5は、ゲートコントローラ341により制御され、プロトコルコントローラ20の2つのポートA,Bから出力されたデータ(もしくはC4/C8信号)のうちのいずれか一方を選択的に切り替えて、6枚のICカード330(ICC0〜ICC5)側へそれぞれ出力するものである。
【0133】
ラッチ回路343−0〜343−5は、ゲートコントローラ341により制御され、それぞれ、ICC0〜ICC5が非アクセス対象である場合に非アクセス状態へ遷移する直前にセレクタ342−0〜342−5から出力された信号をラッチするものである。
3ステート入出力ポート344−0〜344−5は、それぞれ、ICC0〜ICC5が非アクセス対象である場合もしくはICC0〜ICC5に対して出力すべき信号が“1”つまりHigh状態である場合に、ハイインピーダンス状態となるようにゲートコントローラ341により制御されるものである。
【0134】
セレクタ345A,345Bは、ゲートコントローラ341により制御され、6枚のICカード330から出力されたデータ(もしくはC4/C8信号)のうちのいずれか一つを選択的に切り替えてプロトコルコントローラ20のポートA,Bに出力するものである。
上述の構成により、プロトコルコントローラ20のポートAに接続されるべきICカード330からのデータやC4/C8信号は、セレクタ345Aにより選択されてプロトコルコントローラ20のポートAに入力され、プロトコルコントローラ20のポートBに接続されるべきICカード330からのデータやC4/C8信号は、セレクタ345Bにより選択されてプロトコルコントローラ20のポートBに入力される。また、ICCi(i=0〜5)に接続されるべきプロトコルコントローラ20のポートAまたはBからのデータやC4/C8信号は、セレクタ342−iにより選択され、ラッチ回路343−iおよび3ステート入出力ポート344−iを介して、ICCiに出力される。
【0135】
図21に示すように、デマルチプレクサ340において、プロトコルコントローラ20からICカード330へ単方向で通信される信号(リセット信号)のための切替回路には、セレクタ347−0〜347−5,ラッチ回路348−0〜348−5および3ステート入出力ポート349−0〜349−5がそなえられている。
【0136】
セレクタ347−0〜347−5は、ゲートコントローラ341により制御され、プロトコルコントローラ20の2つのポートA,Bから出力されたリセット信号のうちのいずれか一方を選択的に切り替えて6枚のICカード330(ICC0〜ICC5)側へそれぞれ出力するものである。
ラッチ回路348−0〜348−5は、ゲートコントローラ341により制御され、それぞれ、ICC0〜ICC5が非アクセス対象である場合に非アクセス状態へ遷移する直前にセレクタ342−0〜342−5から出力されたリセット信号をラッチするものである。
【0137】
3ステート入出力ポート349−0〜349−5は、それぞれ、ICC0〜ICC5が非アクセス対象である場合もしくはICC0〜ICC5に対して出力すべき信号が“1”つまりHigh状態である場合に、ハイインピーダンス状態となるようにゲートコントローラ341により制御されるものである。
上述の構成により、ICCi(i=0〜5)に接続されるべきプロトコルコントローラ20のポートAまたはBからのリセット信号は、セレクタ347−iにより選択され、ラッチ回路348−iおよび3ステート入出力ポート349−iを介して、ICCiに出力される。
【0138】
図22に示すように、デマルチプレクサ340において、ICカード330からプロトコルコントローラ20へ単方向で通信される信号(ICカード装着通知信号)のための切替回路には、セレクタ351A,351Bがそなえられている。
前述した通り、プロトコルコントローラ20のポートA,BとICカード330用のポート0〜5との間にはICカード装着通知線がそなえられており、ポート0〜5のそれぞれにICカード(ICC0〜ICC5)330が装着されているか否かの情報(ICカード装着通知信号)が、プロトコルコントローラ20のポートA,B(ICカード制御回路36A,36B)へ単方向で通知されるようになっている。
【0139】
そして、セレクタ351A,351Bは、ゲートコントローラ341により制御され、6枚のICカード330から出力されたICカード装着通知信号のうちのいずれか一つを選択的に切り替えてプロトコルコントローラ20のポートA,Bに出力するものである。
上述の構成により、プロトコルコントローラ20のポートAに接続されるべきICカード330からのICカード装着通知信号は、セレクタ345Aにより選択されてプロトコルコントローラ20のポートAに入力され、プロトコルコントローラ20のポートBに接続されるべきICカード330からのICカード装着通知信号は、セレクタ345Bにより選択されてプロトコルコントローラ20のポートBに入力される。
【0140】
図23は、本実施形態のプロトコルコントローラ20に接続される最大6枚のICカード330への電源供給系の構成を示すものである。なお、この図23においても、6枚のICカード330(ICC0〜ICC5)は、それぞれ、ポート番号0〜5を付与された実際のカードポート(以下、ポート0〜5と記す)に装着される。
【0141】
図23に示すように、本実施形態の電源供給系は、図2を参照しながら前述した通り、デマルチプレクサ340,電圧セレクタ360およびパワーレギュレータ(電源調節器)370により構成されている。
ここで、前述したように、パワーレギュレータ370は、3Vと5Vの2種類の電圧を生成・出力するもので、電圧セレクタ360は、デマルチプレクサ340からの指示に応じて、3Vまたは5Vの電圧を選択して各ICカード330に印加・供給するものである。
【0142】
そして、電圧セレクタ360は、2入力1出力のセレクタ361−0〜361−5をそなえて構成される。これらのセレクタ361−0〜361−5は、デマルチプレクサ340(ゲートコントローラ341)により制御され、それぞれ、ICC0〜ICC5が装着されている場合、常時、パワーレギュレータ370からの2種類の電圧3V,5Vのうちのいずれか一方を選択的に切り替えて6枚のICカード330(ICC0〜ICC5)に電源として供給するものである。
【0143】
このとき、デマルチプレクサ340(ゲートコントローラ341)は、プロトコルコントローラ20のカード用電源制御回路42(図2参照)からの信号に応じて、電圧セレクタ360のセレクタ361−0〜361−5を制御する。
上述の構成により、ICCi(i=0〜5)に供給すべき電源電圧が3Vである場合には、パワーレギュレータ370からの電圧3Vの電源がセレクタ361−iにより選択されてICCiに供給される一方、ICCi(i=0〜5)に供給すべき電源電圧が5Vである場合には、パワーレギュレータ370からの電圧5Vの電源がセレクタ361−iにより選択されてICCiに供給される。
【0144】
なお、図2に示した通り、本実施形態のプロトコルコントローラ20に対して接続されうる最大6枚のICカード330のそれぞれに対しては、プロトコルコントローラ20における6つのカード用クロック生成回路38からクロック信号線350を通じて供給すべきクロック信号(制御クロック)がそれぞれ供給される。つまり、本実施形態においては、各ICカード330で用いられるクロック信号は、プロトコルコントローラ20から、ICカード330と同数(6本)のクロック信号線350を通じて、各ICカード330に供給される一方、6枚のICカード330が、デマルチプレクサ340を介して、プロトコルコントローラ20の2つのポートA,Bに設けられたデータ転送用信号線(データ線,C4信号線,C8信号線,リセット信号線など)を共用する。
【0145】
次に、プロトコルコントローラ20のカード選択回路43からデマルチプレクサ340へのセレクト信号CDSEL[0:4]について、図24および図25を参照しながら説明する。なお、図24は、本実施形態のプロトコルコントローラ20において、デマルチプレクサ340へセレクト信号CDSEL[0:4]を出力する際に用いられるICカードポート割当レジスタ(CDSEL)の構成を示す図であり、図25はそのICカードポート割当レジスタの各ビットの意味を説明するための図である。
【0146】
図24に示すように、ICカードポート割当レジスタ(CDSEL)は、例えば論理アドレス002080に設定される1バイトデータで、その下位5ビット(ビット番号0〜4)が用いられる。
このような5ビットのセレクト信号CDSEL[0:4]を図25に示すように設定することにより、プロトコルコントローラ20のポートAに接続すべきICカード330(ICC0〜ICC5のうちのいずれか一つ)と、プロトコルコントローラ20のポートBに接続すべきICカード330(ポートAに接続されるICカード330以外のもの)とが選択される。
【0147】
ただし、図25に示すように、セレクト信号CDSEL[0:4]の5ビットを全て“0”とした場合には、このセレクト信号CDSEL[0:4]は、デマルチプレクサ340(ラッチ回路343−0〜343−5,348−0〜348−5を含む)のリセット指示信号として用いられる。また、セレクト信号CDSEL[0:4]の5ビットを全て“1”とした場合には、このセレクト信号CDSEL[0:4]は、ICカード330に対す全ての出力信号をラッチ回路343−0〜343−5,348−0〜348−5によりラッチするためのラッチ指示信号として用いられる。
【0148】
次に、セレクト信号CDSEL[0:4]によるデマルチプレクサ340の具体的な切替動作については、図26および図27を参照しながら後述する。なお、図26および図27は、いずれも、本実施形態におけるデマルチプレクサ340の切替動作を説明するためのタイムチャートである。
図26では、プロトコルコントローラ20が、2つのポートA,Bから一定周期の方形波を常時出力している状態でセレクト信号CDSEL[0:4]によりデマルチプレクサ340を制御してポートA,Bと接続されるICカード330(ICC0〜ICC6)を切り替えた場合について、デマルチプレクサ340から各ICカード330(ICC0〜ICC6)へ出力される信号波形が示されている。
【0149】
図27では、ICカード330(ICC0〜ICC6)が一定周期の方形波を常時出力している状態で、プロトコルコントローラ20がセレクト信号CDSEL[0:4]によりデマルチプレクサ340を制御してポートA,Bと接続されるICカード330(ICC0〜ICC6)を切り替えた場合について、デマルチプレクサ340からプロトコルコントローラ20のポートA,Bへ入力される信号波形が示されている。
【0150】
これらの図26および図27において、時刻t0〜t1では、セレクト信号CDSEL[0:4]が“11101”でポートAにはICC5が接続されるとともにポートBにはICC3が接続される。同様に、時刻t2〜t3では、セレクト信号CDSEL[0:4]が“11110”でポートAにはICC5が接続されるとともにポートBにはICC4が接続され、時刻t8〜t9では、セレクト信号CDSEL[0:4]が“00001”でポートAにはICC0が接続されるとともにポートBにはICC1が接続され、時刻t10〜t11では、セレクト信号CDSEL[0:4]が“00010”でポートAにはICC0が接続されるとともにポートBにはICC2が接続され、時刻t12〜t13では、セレクト信号CDSEL[0:4]が“00011”でポートAにはICC0が接続されるとともにポートBにはICC3が接続される。また、時刻t4〜t5およびt6〜t7では、セレクト信号CDSEL[0:4]が“00000”であるため、前述した通り、リセット信号XRST(ローアクティブ)が生成されている。
【0151】
図26に示すように、デマルチプレクサ340から各ICカード330(ICC0〜ICC6)へ出力される信号は、セレクト信号CDSEL[0:4]により接続先のICカード330が切り替わる度にラッチされ、切替直前の状態が保持されている。そして、選択されたICカード330には、対応するポートAまたはBからの信号が出力される。
【0152】
図27に示すように、各ICカード330(ICC0〜ICC6)からデマルチプレクサ340へ入力された信号は、セレクト信号CDSEL[0:4]に応じて、対応するポートAまたはBからへ切替・出力される。
図2を参照しながら前述した通り、プロトコルコントローラ20においてはポートA,B毎にICカード制御回路36A,36Bがそなえられており、各ICカード制御回路36A,36Bが、プロトコルコントローラ20内のCPU21からの指示を受けて動作することにより、プロトコルコントローラ20から各ICカード330に対するアクセスが行なわれることになる。
【0153】
また、通信中の各ICカード330は、各ICカード制御回路36A,36Bからのコマンドを受信すると、そのコマンドに応じたレスポンスを各ICカード制御回路36A,36Bへ送信する。通信中以外(非アクセス対象)のICカード330は、クロック信号線350によりクロック信号を供給されるとともに電圧セレクタ360およびパワーレギュレータ370により所定電圧(3V/5V)の電源供給を受け、コマンド待ち状態となっており、いつでも各ICカード制御回路36A,36Bからのコマンドを受信できるようになっている。
【0154】
そして、プロトコルコントローラ20に複数のICカード330を接続した状態で、プロトコルコントローラ20のCPU21からの指示を受けた2つのICカード制御回路36A,36Bが同時に動作することにより、2つのポートA,Bに、デマルチプレクサ340を介して接続された2つの可搬型媒体330に対するアクセスが行なわれている。このようにして2つの可搬型媒体330に対するアクセスを同時に行なうことにより、処理装置300は、2つの可搬型媒体330と330との間でデータ転送処理を行なっている。
【0155】
このように、本実施形態におけるデータ転送制御手法によれば、デマルチプレクサ340を用いて2つのポートA,Bと6枚のICカード330との間の接続状態の切替を行なうことにより、プロトコルコントローラ20側におけるポートの数よりも多くのICカード330に対してアクセスすることができるので、プロトコルコントローラ20によって制御すべきICカード330の数を増加させる場合に、プロトコルコントローラ20側のポートやICカード制御回路を増加させる必要がなくなる。
【0156】
従って、プロトコルコントローラ20の製造コストを増大させることなく、制御対象のICカード330の数を増やすことができる。特に、本実施形態のように、集積化されたプロトコルコントローラ20では、制御対象のICカード330の数を増やしても、多数本のラインやICカード制御回路を高密度で集積する必要がなくなり、製造コストや回路規模の削減に著しく寄与する。
【0157】
また、非アクセス対象のICカード330に対する信号状態をラッチしておくことにより、そのICカード330が非アクセス対象からアクセス対象に切り替わった直後にそのICカード330に対する信号状態がばたついて不安定になるのを確実に防止することができる。
さらに、プロトコルコントローラ20からのセレクト信号CDSEL[0:4]を用いて、デマルチプレクサ340による切替動作およびラッチ回路343−0〜343−5,348−0〜348−5のラッチ動作をリセットしたり、複数のICカード330に対する全ての出力信号をラッチ回路343−0〜343−5,348−0〜348−5でラッチしたりすることができるので、様々な状況に対応して、デマルチプレクサ340の動作状態やラッチの状態を容易に制御することができる。
【0158】
なお、プロトコルコントローラ20に接続されるICカード330の枚数が2枚以下である場合には、外部のデマルチプレクサ340を用いずに、プロトコルコントローラ20の2つのポートA,Bから直接的にICカード330を制御してもよい。
また、本実施形態では、デマルチプレクサ340をプロトコルコントローラ20とは別体としているが、デマルチプレクサ340をプロトコルコントローラ20と同じチップ上に集積してプロトコルコントローラ20と一体化してもよい。
【0159】
さらに、本実施形態では、プロトコルコントローラ20のポート数が2、プロトコルコントローラ20に接続されるICカード330の最大枚数が6である場合について説明しているが、本発明はこれらの数に限定されるものではない。
〔4〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【0160】
例えば、上述した実施形態では、可搬型媒体がICカードである場合について説明しているが、本発明は、これに限定されるものではなく、例えば光カード,無線カード等の可搬型媒体にも同様に適用され、上述した実施形態と同様の作用効果を得ることができる。
また、上述した実施形態では、電子マネーが2種類である場合について説明したが、本発明は、これに限定されず、3種類以上の電子マネーを取り扱う場合であれば、各電子マネーのプロトコルに対応したプロトコル制御プログラムをそなえて制御プログラム5Aや5Bを構成することにより、上述した実施形態と同様の作用効果を得ることができる。
【0161】
さらに、上述した実施形態では、プロトコルコントローラ20のCPU21を処理装置とし、このCPU21がデバイス接続状態を認識する場合について説明したが、本発明は、これに限定されるものではなく、各種処理装置においてデバイス接続状態を認識する際に上述と同様に適用され、上述した実施形態と同様の作用効果を得ることができる。
【0162】
【発明の効果】
以上詳述したように、本発明のデバイス接続状態認識方法(請求項)およびデバイス接続状態認識機能を有する処理装置(請求項)によれば、データバスを成す複数のデータ信号線においてプルアップ抵抗/プルダウン抵抗により生成される高電位状態/低電位状態を構成情報データとして読み取ることにより、検出専用の信号線を追加することなくデバイスの接続状態を認識することができ、つまりは、検出専用の信号線を追加することなく、前述したような汎用ROMを利用できるようになる。従って、コンピュータシステム毎に異なるROMを準備する必要がなくなり、ROMへのプログラム搭載に要する手間を省けるとともに部品管理を簡略化できるので、システム製造に要するコストを削減することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明を適用される電子マネー制御用集積回路(プロトコルコントローラ)の構成例を模式的に示す図である。
【図3】本実施形態のプロトコルコントローラにおけるメモリ空間構成を示す図である。
【図4】本実施形態のプロトコルコントローラにおける制御プログラムの構造を示すブロック図である。
【図5】本実施形態のプロトコルコントローラにおいて用いられる制御電文の構成を説明するための図である。
【図6】本実施形態のプロトコルコントローラにおける制御プログラムの構造の他例を示すブロック図である。
【図7】(a),(b)は、いずれも、本実施形態において、モジュール識別子と経路識別子との対応関係を保持するテーブルの内容を説明するための図である。
【図8】本実施形態のプロトコルコントローラのカスケード接続例を示す図である。
【図9】本実施形態のプロトコルコントローラを用いた取引処理の一例を説明するための図である。
【図10】本実施形態のプロトコルコントローラを用いた取引処理の他例を説明するための図である。
【図11】本実施形態のプロトコルコントローラを適用したATMの構成例を示すブロック図である。
【図12】本実施形態のプロトコルコントローラを適用したPOSシステムおよび外部カードリーダ/ライタの構成例を示すブロック図である。
【図13】本実施形態のプロトコルコントローラを適用した携帯POS端末の構成例を示すブロック図である。
【図14】本実施形態のプロトコルコントローラにおけるデバイス接続状態認識手法を説明するための回路図である。
【図15】本実施形態のプロトコルコントローラにおけるデバイス接続状態認識手法を説明するための回路図である。
【図16】本実施形態のプロトコルコントローラにおけるデバイス接続状態認識手順を説明するためのフローチャートである。
【図17】本実施形態のプロトコルコントローラにおける構成情報レジスタ(HWSTR)の構成を示す図である。
【図18】本実施形態のプロトコルコントローラにおける構成情報レジスタの各ビットの意味を説明するための図である。
【図19】本実施形態のプロトコルコントローラにおける構成情報レジスタの各ビットの意味を説明するための図である。
【図20】本実施形態においてプロトコルコントローラとICカードとの間にそなえられたデマルチプレクサ(データ転送制御装置)の構成を示すブロック図である。
【図21】本実施形態においてプロトコルコントローラとICカードとの間にそなえられたデマルチプレクサ(データ転送制御装置)の構成を示すブロック図である。
【図22】本実施形態においてプロトコルコントローラとICカードとの間にそなえられたデマルチプレクサ(データ転送制御装置)の構成を示すブロック図である。
【図23】本実施形態のプロトコルコントローラに接続されるICカードへの電源供給系の構成を示すブロック図である。
【図24】本実施形態のプロトコルコントローラにおいてデマルチプレクサへセレクト信号を出力する際に用いるICカードポート割当レジスタ(CDSEL)の構成を示す図である。
【図25】本実施形態のプロトコルコントローラにおけるICカードポート割当レジスタの各ビットの意味を説明するための図である。
【図26】本実施形態におけるデマルチプレクサの動作を説明するためのタイムチャートである。
【図27】本実施形態におけるデマルチプレクサの動作を説明するためのタイムチャートである。
【図28】一般的な処理装置に複数のデバイスを接続してなるシステムの構成例を示すブロック図である。
【図29】図27に示すシステムからROMを取り除いた状態を示すブロック図である。
【図30】(a)は4種類のデバイスを有するハードウェアを示す図、(b)は(a)に示すハードウェアのシステム起動時の動作を説明するためのフローチャートである。
【図31】(a)は6種類のデバイスを有するハードウェアを示す図、(b)は(a)に示すハードウェアのシステム起動時の動作を説明するためのフローチャートである。
【図32】(a)は2種類のデバイスを有するハードウェアを示す図、(b)は(a)に示すハードウェアのシステム起動時の動作を説明するためのフローチャートである。
【符号の説明】
3 インタフェース回路
5A,5B 制御プログラム
20 電子マネー制御用集積回路(プロトコルコントローラ)
21 CPU(処理部,処理装置)
22 ROM(記憶部,マスクROM)
23 RAM
24 アドレスバス
25 データバス
26 シリアル送受信制御回路(通信制御回路)
27 メモリパリティ生成/チェック回路
29 LCD制御回路(表示制御回路)
31 キーボード制御回路(入力制御回路)
32 グリーンボタン制御回路(入力/表示制御回路)
33 パルス生成回路(表示制御回路)
34 MSシリアル入力制御回路
35 カード搬送制御回路
36A,36B ICカード制御回路(媒体制御回路)
37 カードI/Oモード制御回路
38 カード用クロック生成回路
39 カード用リセット制御回路(ICカード制御回路,媒体制御回路)
40 カード用C4/C8制御回路(ICカード制御回路,媒体制御回路)
41 カード用データ入出力制御回路(ICカード制御回路,媒体制御回路)
42 カード用電源制御回路
43 カード選択回路
50a〜50c RS232Cドライバ
50d〜50g シリアルドライバ/レシーバ
51 ホストシステム(外部装置)
52 サブシステム(外部装置)
53 プリンタ(外部装置)
54 外部メモリ(外部記憶部)
54a ROM(外付ROM,プログラム格納用外部記憶部)
54b RAM(外付RAM,外部記憶部)
54c FLASH ROM(外部記憶部)
56 LCD
59 バス制御回路
60 キーボード(KB)
61,61a,61b グリーンボタン(GB)
62 ブザー
63 MSリーダ
64 カードコンベヤ
70 電子マネー(ICカード)対応ユニット
71 ネットワーク
72 上位処理部(CPU)
80 ATM(Automatic Teller Machine)
81 制御回路
82 スクリーン/タッチパネル
83 プリンタ
84 カードリーダ/ライタ
86 エンボス部
87 磁気ストライプ部(MS)
88 プロトコルコントローラブロック
88a PINパッド
90 POSシステム
91 メインボード
92 ディスプレイ
93 プリンタ
94 MSリーダ
95 キーボード(KB)
96 ドロア(引出)
97 リーダ/ライタインタフェースアダプタ
100 処理装置
110 データバス
111 制御線
112 アドレスバス
113 プルアップ抵抗
114 プルダウン抵抗
120 デバイス群
120−0〜120−n デバイス
130 制御電文
131 電子マネー種別フィールド
132 取引種別フィールド
133 デバイス種別フィールド
134 命令フィールド
135 データ長フィールド
136 データフィールド
150 外部カードリーダ/ライタ
160 携帯POS端末
161 メインボード
162 ディスプレイ
163 タッチパネル
164 キーボード(KB)
165 ブザー(Bz)
166 プリンタ
166 PCカードインタフェース(PCMCIA)
167 無線通信部(SSRF)
168 スキャナ
169 ホスト
170 シリアルドライバ/レシーバ
171 プロトコルコントローラブロック
330,330−1,330−2 ICカード(可搬型媒体)
331 SIM
340 デマルチプレクサ(データ転送制御装置,カード切替器)
341 ゲートコントローラ
342−0〜342−5 セレクタ
343−0〜343−5 ラッチ回路
344−0〜344−5 3ステート入出力ポート
345A,345B セレクタ
346A,346B 3ステート入出力ポート
347−0〜347−5 セレクタ
348−0〜348−5 ラッチ回路
349−0〜349−5 3ステート入出力ポート
350 クロック信号線
351A,351B セレクタ
360 電圧セレクタ
361−0〜361−5 セレクタ
370 パワーレギュレータ(電源調節器)
501 デバイス制御プログラム
502 プロトコル制御プログラム
503 アプリケーションプログラム
504 経路制御プログラム
505 通信制御プログラム
506 テーブル
510 モジュール群
520 ブートプログラム(BOOT)
521 OS(オペレーティングシステム)
522 アプリケーションプログラム
523−1 第1電子マネー用プロトコル制御プログラム
523−2 第2電子マネー用プロトコル制御プログラム
530 デバイス制御プログラム群
531A プリンタハンドラ
532A HOST手順ハンドラ(デバイス制御プログラム,通信制御プログラム)
531B/532B RS232Cドライバ(デバイス制御プログラム,通信制御プログラム)
533A LCDハンドラ(デバイス制御プログラム)
533B LCDドライバ(デバイス制御プログラム)
534A KBハンドラ(デバイス制御プログラム)
534B KBドライバ(デバイス制御プログラム)
535A GBハンドラ(デバイス制御プログラム)
535B GBドライバ(デバイス制御プログラム)
536A ICハンドラ(デバイス制御プログラム)
536B ICドライバ(デバイス制御プログラム)
537B RS232Cドライバ(デバイス制御プログラム,通信制御プログラム)
540 デバイスルータ(経路制御プログラム)
550 テーブル

Claims (2)

  1. 共通のデータバスを介して複数のデバイスを接続されうる処理装置が該デバイスの接続状態を認識する方法であって、
    該処理装置の製造時に、該データバスを成す複数のデータ信号線の一部もしくは全部において、各データ信号線に一つの該デバイスを割り当て、割り当てられた該デバイスの接続状態に応じて、該データ信号線を予め、プルアップ抵抗を介して高電位に接続、もしくは、プルダウン抵抗を介して低電位に接続しておき、
    該処理装置が、該デバイスとして、前記処理装置に接続されうる該複数のデバイスの接続状態を示す情報を設定された構成情報レジスタを所定アドレスに保持するプログラム格納用外部記憶部が接続されているか否かを、該プログラム格納用外部記憶部が割り当てられた該データ信号線の該プルアップ抵抗/該プルダウン抵抗により生成される高電位状態/低電位状態に基づいて認識し、
    該プログラム格納用外部記憶部が接続されている場合には、該処理装置が、該プログラム格納用外部記憶部に格納されているプログラムを起動するとともに、該処理装置に接続された該デバイスに対応したデバイス制御プログラムのみを起動させるべく、該プログラム格納用外部記憶部の前記所定アドレスに対してアクセスすることにより該構成情報レジスタの該情報を読み出し、読み出された該構成情報レジスタの該情報に基づいて該デバイスの接続状態を認識する一方、
    該プログラム格納用外部記憶部が接続されていない場合には、該処理装置が、該処理装置に接続された該デバイスに対応したデバイス制御プログラムのみを起動させるべく、該複数のデータ信号線の一部もしくは全部において該プルアップ抵抗/該プルダウン抵抗により生成される高電位状態/低電位状態を構成情報データとして読み取り、読み取られた該構成情報データに基づいて、該デバイスの接続状態を認識することを特徴とする、デバイス接続状態認識方法。
  2. 共通のデータバスを介して複数のデバイスを接続されうる処理装置であって、
    該データバスを成す複数のデータ信号線の一部もしくは全部において、各データ信号線に一つの該デバイスを割り当て、割り当てられた該デバイスの接続状態に応じて、該データ信号線が、製造時に予め、プルアップ抵抗を介して高電位に接続、もしくは、プルダウン抵抗を介して低電位に接続されており、
    該デバイスとして、前記処理装置に接続されうる該複数のデバイスの接続状態を示す情報を設定された構成情報レジスタを所定アドレスに保持するプログラム格納用外部記憶部が接続されているか否かを、該プログラム格納用外部記憶部が割り当てられた該データ信号線の該プルアップ抵抗/該プルダウン抵抗により生成される高電位状態/低電位状態に基づいて認識する認識部をそなえ、
    該認識部が、該プログラム格納用外部記憶部が接続されていることを認識すると、該プログラム格納用外部記憶部に格納されているプログラムを起動させるとともに、該プログラム格納用外部記憶部の前記所定アドレスに対してアクセスすることにより該構成情報レジスタの該情報を読み出し、読み出された該構成情報レジスタの該情報に基づいて該デバイスの接続状態を認識し、該処理装置に接続された該デバイスに対応したデバイス制御プログラムのみを起動する一方、
    該認識部が、該プログラム格納用外部記憶部が接続されていないことを認識すると、該複数のデータ信号線の該プルアップ抵抗/該プルダウン抵抗により生成される高電位状態/低電位状態を構成情報データとして読み取り、読み取られた該構成情報データに基づいて該デバイスの接続状態を認識し、該認識部が接続されていることを認識した該デバイスに対応したデバイス制御プログラムのみを起動することを特徴とする、デバイス接続状態認識機能を有する処理装置。
JP30149998A 1998-10-22 1998-10-22 デバイス接続状態認識方法およびデバイス接続状態認識機能を有する処理装置 Expired - Fee Related JP3626023B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP30149998A JP3626023B2 (ja) 1998-10-22 1998-10-22 デバイス接続状態認識方法およびデバイス接続状態認識機能を有する処理装置
US09/376,482 US6658497B1 (en) 1998-10-22 1999-08-18 System for recognizing of a device connection state by reading structure information data which produced by pull-up resistor and pull-down resistor
EP99306609A EP0996067B1 (en) 1998-10-22 1999-08-20 Method of recognition of a device connection state and processing unit having function of such recognition
DE69930592T DE69930592T2 (de) 1998-10-22 1999-08-20 Verfahren zur Gerätverbindungszustandserkennung und Verarbeitungseinheit mit Funktion einer derartigen Erkennung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30149998A JP3626023B2 (ja) 1998-10-22 1998-10-22 デバイス接続状態認識方法およびデバイス接続状態認識機能を有する処理装置

Publications (2)

Publication Number Publication Date
JP2000132493A JP2000132493A (ja) 2000-05-12
JP3626023B2 true JP3626023B2 (ja) 2005-03-02

Family

ID=17897657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30149998A Expired - Fee Related JP3626023B2 (ja) 1998-10-22 1998-10-22 デバイス接続状態認識方法およびデバイス接続状態認識機能を有する処理装置

Country Status (4)

Country Link
US (1) US6658497B1 (ja)
EP (1) EP0996067B1 (ja)
JP (1) JP3626023B2 (ja)
DE (1) DE69930592T2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182162B1 (en) * 1998-03-02 2001-01-30 Lexar Media, Inc. Externally coupled compact flash memory card that configures itself one of a plurality of appropriate operating protocol modes of a host computer
JP3977059B2 (ja) * 2000-12-22 2007-09-19 キヤノン株式会社 情報処理装置、方法、及び制御プログラム
JP2003085120A (ja) * 2001-09-07 2003-03-20 Ricoh Co Ltd 画像形成装置
US7707304B1 (en) * 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US7010641B2 (en) * 2003-01-31 2006-03-07 Agilent Technologies, Inc. Integrated circuit routing resource optimization algorithm for random port ordering
JP3839820B2 (ja) * 2004-04-21 2006-11-01 株式会社エヌ・ティ・ティ・ドコモ データ通信装置およびデータ通信方法
PT1769342T (pt) * 2004-05-25 2019-09-17 Muxi Tecnologia Em Pagamentos S A Sistema para aceder a um terminal pos, método para descarregar e atualizar aplicações, e método para efetuar uma operação eletrónica utilizando um tal sistema
TWI263902B (en) * 2004-09-10 2006-10-11 Mediatek Inc Multiple apparatuses connection system and the method thereof
JP2007179172A (ja) * 2005-12-27 2007-07-12 Nec Corp 論理回路検証システムおよびその制御方法
JP5515919B2 (ja) * 2010-02-12 2014-06-11 ソニー株式会社 電子機器および接続外部機器のデジタルインタフェース判別方法
US8601173B2 (en) * 2010-06-30 2013-12-03 Silicon Image, Inc. Detection of cable connections for electronic devices
US8484387B2 (en) * 2010-06-30 2013-07-09 Silicon Image, Inc. Detection of cable connections for electronic devices
GB2497015B (en) 2011-06-22 2015-08-12 Ibm Retrieving status information from a remote device and corresponding host system
KR20140045422A (ko) 2011-07-01 2014-04-16 소니 주식회사 전자 기기, 전송 케이블의 카테고리 판별 방법 및 전송 케이블
EP2817723B1 (en) * 2012-02-21 2017-06-07 ZIH Corp. Electrically configurable option board interface
US9561646B2 (en) 2015-03-27 2017-02-07 Zih Corp. High speed adaptive thermal printhead interface

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4348670A (en) * 1980-01-29 1982-09-07 Phillips Petroleum Company Computer acquisition of data from nonaddressable switches
US4575714A (en) * 1984-03-12 1986-03-11 Tegal Corporation Module presence sensor
US5469554A (en) * 1994-06-14 1995-11-21 Compaq Computer Corp. Detecting the presence of a device on a computer system bus by altering the bus termination
US5600271A (en) * 1995-09-15 1997-02-04 Xilinx, Inc. Input signal interface with independently controllable pull-up and pull-down circuitry
JPH09319669A (ja) * 1996-05-30 1997-12-12 Mitsubishi Electric Corp Pcカードシステム装置
US6067593A (en) * 1997-07-18 2000-05-23 Avido Systems, Inc. Universal memory bus and card
JPH11160383A (ja) * 1997-12-02 1999-06-18 Fujitsu Ltd 端子の接続認識装置および接続認識方法
US6295567B1 (en) * 1998-01-26 2001-09-25 Dell Usa, L.P. Chassis type determination in an electronic system
TW444165B (en) * 1998-05-12 2001-07-01 Primax Electronics Ltd Hot plug and play universal serial bus switch device and control method

Also Published As

Publication number Publication date
EP0996067A2 (en) 2000-04-26
DE69930592D1 (de) 2006-05-18
EP0996067A3 (en) 2004-01-28
DE69930592T2 (de) 2006-09-14
JP2000132493A (ja) 2000-05-12
US6658497B1 (en) 2003-12-02
EP0996067B1 (en) 2006-03-29

Similar Documents

Publication Publication Date Title
JP3626023B2 (ja) デバイス接続状態認識方法およびデバイス接続状態認識機能を有する処理装置
US20230418363A1 (en) Card and host apparatus
KR950009573B1 (ko) 도커블 휴대용 컴퓨터 시스템 및 통신 포트 할당 자동 구성(configuration)방법
KR100555003B1 (ko) 기억 장치
JP2006139556A (ja) メモリカード及びそのカードコントローラ
JP2003091704A (ja) 不揮発性メモリを備えた記憶装置及びその記憶装置が着脱自在な情報処理装置
JP3537680B2 (ja) プロトコル制御用集積回路
US20020194486A1 (en) Apparatus and method for maintaining secured access to relocated plug and play peripheral devices
JP2003030613A (ja) 記憶装置及び記憶装置を備えたデータ処理装置
EP0478149B1 (en) Workstation and method of configuring same
JP3522549B2 (ja) データ転送制御方法およびデータ転送制御装置
JP2003022216A (ja) 記憶装置
EP1146421B1 (en) Removable electronic device to enhance the functionality of a main processor and control method therefor
KR20030054435A (ko) 다중 인터페이스 스마트카드
JPH06332796A (ja) 回路基板制御装置
EP0473454A2 (en) Register control for work station interfacing means
JPH10198524A (ja) ハードディスク制御装置
JPH06111085A (ja) 非接触記憶媒体
JP2001273471A (ja) 非接触icカード
US20030149877A1 (en) Smart card with keypro function
JP2002074275A (ja) Icカード処理装置
JP2003187193A (ja) カードリーダ及びカードリーダの通信制御方法
JPH06102957A (ja) ポータブルコンピュータ
JP2000020188A (ja) コンピュータ本体への拡張入出力装置の活線挿抜制御装置
JPH06102953A (ja) ポータブルコンピュータ

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040618

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040623

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: 20041124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041201

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20071210

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081210

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101210

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111210

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111210

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121210

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees