(57)【特許請求の範囲】
【請求項１】
コマンドピン、電源ピン及び複数のデータピンを含むコネクタピン群を有するカード型電子機器を使用することが可能な情報処理装置において、
前記カード型電子機器の前記コネクタピン群を介して当該カード型電子機器と接続するためのカードインタフェースと、
前記コマンドピンを介して前記カード型電子機器に第１のコマンドを送信することにより、前記カード型電子機器が有するレジスタ手段に予め格納されている前記カード型電子機器の動作電圧を指定する動作電圧情報を前記コマンドピンを介して前記カード型電子機器から取得する動作電圧情報取得手段と、
前記電源ピンの電圧を、前記動作電圧情報取得手段によって取得された前記動作電圧情報の指定する動作電圧に設定する動作電圧設定手段と、
前記コマンドピンを介して前記カード型電子機器に第２のコマンドを送信することにより、前記レジスタ手段に予め格納されている、前記カード型電子機器の動作モードとして第１及び第２の動作モードの１つを指定する動作モード情報を前記コマンドピンを介して前記カード型電子機器から取得する動作モード取得手段と、
前記動作モード取得手段により取得された動作モード情報に基づいて、前記複数のデータピンに関する信号割り当てを実行する動作モード設定手段であって、前記動作モード情報が前記第１の動作モードを指定する場合には前記複数のデータピンの全てをデータ転送用に割り当て、前記動作モード情報が前記第２の動作モードを指定する場合には前記複数のデータピンの一部をデータ転送用に割り当てる動作モード設定手段とを具備することを特徴とする情報処理装置。
【請求項２】
前記動作モード設定手段は、前記第２の動作モードでは前記複数のデータピンの前記一部を除く残りの少なくとも１つをデータ以外の所定の信号の転送用に割り当てることを特徴とする請求項１記載の情報処理装置。
【請求項３】
カードインタフェースを有する情報処理装置により使用されるカード型電子機器において、
前記カードインタフェースを介して前記情報処理装置と接続するための、コマンドピン、電源ピン及び複数のデータピンを含むコネクタピン群と、
前記カード型電子機器の動作モードとして第１及び第２の動作モードの１つを指定する動作モード情報と、前記カード型電子機器の動作電圧を指定する動作電圧情報とを予め格納するレジスタ手段と、
前記コマンドピンを介して前記情報処理装置から前記動作電圧情報の読み出しを要求する第１のコマンドが与えられた場合、前記レジスタ手段に格納されている前記動作電圧情報を前記コマンドピンを介して前記情報処理装置に送信し、前記コマンドピンを介して前記情報処理装置から前記動作モード情報の読み出しを要求する第２のコマンドが与えられた場合、前記レジスタ手段に格納されている前記動作モード情報を前記コマンドピンを介して前記情報処理装置に送信する動作モード通知手段と、
前記情報処理装置に送信された前記動作モード情報に従って当該情報処理装置によってデータ転送用に割り当てられたデータピンを利用して、前記カード型電子機器と前記情報処理装置との間のデータ転送を行うデータ転送手段であって、前記第１の動作モードでは前記複数のデータピンの全てをデータ転送用に用い、前記第２の動作モードでは前記複数のデータピンの一部をデータ転送用に用いるデータ転送手段とを具備し、
前記電源ピンの電圧は、前記情報処理装置に送信された前記動作電圧情報の指定する電圧に当該情報処理装置によって設定されることを特徴とするカード型電子機器。
【請求項４】
前記データ転送手段は、前記第２の動作モードでは前記複数のデータピンの前記一部を除く残りの少なくとも１つをデータ以外の所定の信号の転送用に用いることを特徴とする請求項３記載のカード型電子機器。
【請求項５】
コマンドピン、電源ピン及び複数のデータピンを含むコネクタピン群を有し、情報処理機器によって使用可能なカード型電子機器の動作モードを設定するための動作モード設定方法であって、
前記情報処理装置から前記カード型電子機器に前記コマンドピンを介して第１のコマンドを送信するステップと、
前記情報処理装置からの前記第１のコマンドを受けて、前記カード型電子機器が有するレジスタ手段に予め格納されている前記カード型電子機器の動作電圧を指定する動作電圧情報を、前記カード型電子機器から前記情報処理機器に前記コマンドピンを介して返すステップと、
前記電源ピンの電圧を、前記情報処理機器に返された前記動作電圧情報の示す動作電圧に前記情報処理機器によって設定するステップと、
前記情報処理装置から前記カード型電子機器に前記コマンドピンを介して第２のコマンドを送信するステップと、
前記情報処理装置からの前記第２のコマンドを受けて、前記レジスタ手段に予め格納されている前記カード型電子機器の動作モードとして第１及び第２の動作モードの１つを指定する動作モード情報を、前記カード型電子機器から前記情報処理機器に前記コマンドピンを介して返すステップと、
前記情報処理機器に返された前記動作モード情報が前記第１の動作モードを指定している場合、前記情報処理機器が前記複数のデータピンの全てをデータ転送用に割り当てると共に第３のコマンドを前記情報処理機器から前記カード型電子機器に送信するステップと、
前記情報処理機器に返された前記動作モード情報が前記第２の動作モードを指定している場合、前記情報処理機器が前記複数のデータピンの一部をデータ転送用に割り当てると共に第４のコマンドを前記情報処理機器から前記カード型電子機器に送信するステップと、
前記情報処理装置からの前記第３のコマンドを受けて前記第１の動作モードを設定するステップと、
前記情報処理装置からの前記第４のコマンドを受けて前記第２の動作モードを設定するステップと、
前記第１の動作モードにおいて、前記情報処理装置と前記カード型電子機器との間で前記複数のデータピンの全てを用いてデータを転送するステップと、
前記第２の動作モードにおいて、前記情報処理装置と前記カード型電子機器との間で前記複数のデータピンの前記一部を用いてデータを転送するステップとを具備することを特徴とする動作モード設定方法。
【請求項６】
前記第２の動作モードにおいて、前記情報処理装置と前記カード型電子機器との間で前記複数のデータピンの前記一部を除く残りの少なくとも１つを用いて、データ以外の所定の信号を転送するステップを更に具備することを特徴とする請求項５記載の動作モード設定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ピン配置が共通のメモリカード及びＩ／Ｏ（入出力）カードの両カード型電子機器に共通のカードインタフェースを備えた情報処理装置、同装置に装着可能なカード型電子機器、及び同装置におけ動作モード設定方法に関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータや各種の情報処理装置においては、ＰＣＭＣＩＡ（Personal Computer Memory Card International Association）に準拠するＩＣカード（ＰＣカード）を使用できる機能を持つものが一般的となっている。ＰＣカードは、データ記憶用のメディアとして使用されるだけでなく、周辺機能を拡張するためにも使用されている。例えば、ＰＣカードには、モデム、ネットワークカード、ハードディスク、通信機などに機能するものがある。
【０００３】
ところで近年では、ＰＣＭＣＩＡに準拠するＰＣカードだけではなく、更に小型のＩＣカードが使用されてきている。例えば、電気的に書き換え可能であって、電源を切っても記憶された内容が消えないフラッシュメモリが搭載されたメモリカードなどがある。
【０００４】
近時、この種の小型のメモリカードとして、ＳＤ（Secure Degital）メモリカードが開発されている。このＳＤメモリカードは、信号ピン数が９ピンであり、そのうちの４ピンをデータ線として用いている。つまりＳＤメモリカードでは、４ビットデータ転送を実現することで、それ以前の１ビットデータ転送を行う小型メモリカードに比べてデータ転送能力の向上を図っている。
【０００５】
一方、ＳＤメモリカードの出現に伴い、ＰＣカードと同様に、当該ＳＤメモリカードだけでなく、Ｉ／Ｏインタフェース機能を持つ小型カード、つまり小型のカード型電子機器（Ｉ／Ｏカード）も、情報処理装置（ホスト機器）で（共通のカードスロットを介して）共通に利用できるようにすることが要求されている。
【０００６】
【発明が解決しようとする課題】
小型メモリカードと各種の小型Ｉ／Ｏカードを情報処理装置で共通に利用できるようにするには、ピン配置、カード形状等を共通にすればよい。
一方、小型メモリカード（ＳＤメモリカード）では、データ転送能力の向上のために、限られたピン数（ＳＤメモリカードでは９ピン）のうちの多く（ＳＤメモリカードでは４ピン）をデータ線として用いている。
【０００７】
したがって、小型メモリカードと各種の小型Ｉ／Ｏカードのピン配置、カード形状等を共通にして情報処理装置で共通に利用できるようにした場合、情報処理装置と小型Ｉ／Ｏカードとの間のデータ転送も、多くのピン（４ピン）を用いて行うことになる。
【０００８】
さて、多くのピンをデータ線として用いることでデータ転送能力を高めることは、メモリカードのように、データ転送回数は少ないが１回当たりの転送量が多いものには有効である。しかしながら、１回当たりのデータ転送量は少ないものの、データ転送回数、つまり処理（トランザクション）回数が多いカード（カード型電子機器）では、データ転送能力を高めるよりは、データ転送が速やかに開始できること、即ちレスポンスの高速化を図ることの方が重要である。
【０００９】
本発明は上記事情を考慮してなされたものでその目的は、Ｉ／Ｏインタフェース機能を持つカード型電子機器のピン割り当てを含む動作モードの設定が、当該電子機器の初期化時にメモリカードに対するのと同一手続きで情報処理装置から行えるようにすることにある。
【００１０】
本発明の他の目的は、上記Ｉ／Ｏインタフェース機能を持つカード型電子機器に対する、当該電子機器に固有のデータ転送幅となる動作モードの設定が、メモリカードに対するのと同一手続きで情報処理装置から行えるようにすることにある。
【００１１】
本発明の更に他の目的は、上記Ｉ／Ｏインタフェース機能を持つカード型電子機器の利用時のプラグアンドプレイ機能が実現できるようにすることにある。
【００１２】
【課題を解決するための手段】
本発明の情報処理装置は、複数のデータピンを含むコネクタピン群を有するカード型電子機器が装着可能な情報処理装置において、上記コネクタピン群のうちデータピン以外の所定のピンを介して、上記カード型電子機器の動作モード情報を取得する動作モード取得手段と、この動作モード取得手段により取得された動作モード情報に基づいて、上記複数のデータピンに関する信号割り当てを設定する動作モード設定手段とを備えたことを特徴とする。
【００１３】
このような構成の情報処理装置においては、カード型電子機器の複数のデータピンに関する信号割り当てを含む動作モードが、当該電子機器の初期化時に、当該電子機器の種類等に無関係に、当該電子機器に適した固有のモードに情報処理装置から設定できる。これにより、例えばメモリカードと共通のピン配置の、Ｉ／Ｏインタフェース機能を持つカード型電子機器（Ｉ／Ｏカード）の動作モードについても、メモリカードに対するのと共通の手続きにより、当該Ｉ／Ｏカードの種類に無関係に情報処理装置から設定できる。
【００１４】
ここで、上記所定のピンに、情報処理装置からのコマンド転送と当該コマンドに対するカード型電子機器からのレスポンスの転送とに用いられるコマンドピン（ＣＭＤピン）を割り当て、上記動作モード取得手段において、カード型電子機器との間で上記ＣＭＤピンを介してのコマンド送信とレスポンス受信とを行うことで、当該電子機器の動作モード情報を取得する構成とするならば、メモリカードに対するのと共通の手続きによる動作モードの設定が、より簡単に行える。
【００１５】
なお、カード型電子機器の動作（駆動）電圧は、カードタイプ（メモリカードであるか、またはＩ／Ｏカードであるか）、或いはカード種類（Ｉ／Ｏカードの種類）によって異なる可能性がある。そこで、初期化処理の開始時に、上記動作モード情報の取得前に、情報処理装置から上記所定のピン（ＣＭＤピン）を介して対象となるカード型電子機器の（動作電圧を含む）動作条件を確認するためのコマンドを出力して、そのレスポンスから動作条件を取得し、当該電子機器に印加する電源電圧を全カード型電子機器に共通の初期電圧から当該動作条件の示す動作電圧に切り替えるようにするとよい。
【００１６】
また本発明は、上記カード型電子機器の動作モードに第１乃至第３の動作モードを含め、上記動作モード設定手段においては、対象となるカード型電子機器の動作モードが第１の動作モードの場合には、上記複数のデータピンを全てデータ転送用に割り当て、第２の動作モードの場合には当該複数のデータピンの一部をデータ転送用に、残りの１つを汎用信号用に、別の残りの１つをカード型電子機器から情報処理装置へのウェイトとレディの状態通知用に、別の残りの１つをカード型電子機器から情報処理装置への非同期の割り込み用に割り当て、第３の動作モードの場合には当該複数のデータピンの第２の動作モードの場合より多い一部をデータ転送用に、残りの１つをカード型電子機器から情報処理装置へのウェイトとレディの状態通知用に、別の残りの１つをカード型電子機器から情報処理装置への非同期の割り込み用に割り当てる構成としたことをも特徴とする。
【００１７】
このような構成においては、初期化の対象となるカード型電子機器に固有のデータ転送幅となる動作モードの設定が情報処理装置から行える。ここで第１の動作モードが設定された場合、複数のデータピンが全てデータ転送用に割り当てられる。このため第１の動作モードは、回数は少ないものの大量のデータを高速転送する必要があるカード型電子機器に適している。
【００１８】
また、第２の動作モードが設定された場合、データ転送用に割り当てられるデータピン数は少ないものの、残りのデータピンが汎用信号用と、ウェイト／レディ（Ｗａｉｔ／Ｒｅａｄｙ）の状態通知用と、非同期の割り込み用とにそれぞれ割り当てられる。このため第２の動作モードは、データ転送能力よりはレスポンスの高速化が要求されるカード型電子機器に適している。特に、モデムインタフェース用など、オーディオ線が必要なカード型電子機器では、汎用信号線をオーディオ線として利用できるため、第２の動作モードが最適である。また、第３の動作モードでは、この汎用信号線をデータ線に追加できるため、ＬＡＮインタフェース用など、データ転送能力とレスポンスの高速化の両方が要求されるカード型電子機器に適している。この他に、データピンを２ピン、いずれもＵＳＢ（Universal Serial Bus）データ線に割り当てることでＵＳＢインタフェース用のカード型電子機器に適用し、データピンを４ピン、いずれもＩＥＥＥ１３９４に準拠したデータ線に割り当てることでＩＥＥＥ１３９４インタフェース用のカード型電子機器に適用することも可能である。
【００１９】
また本発明は、上記動作モード取得手段において、上記動作モードの取得時に上記カード型電子機器がメモリカードであるか或いはＩ／Ｏカードであるかを示すカードタイプ情報をも取得する構成を適用し、上記情報処理装置内に次の各手段、即ち上記カード型電子機器がＩ／Ｏカードである場合に、当該電子機器からプラグ・アンド・プレイに必要なプラグ・アンド・プレイ情報を取得するプラグ・アンド・プレイ情報取得手段と、このプラグ・アンド・プレイ情報取得手段により取得されたプラグ・アンド・プレイ情報に従い、該当するデバイスドライバにより上記カード型電子機器の自動コンフィグレーションを行わせる手段とを更に備えたことをも特徴とする。
【００２０】
このような構成においては、情報処理装置へのＩ／Ｏカード装着時等におけるプラグ・アンド・プレイ機能が実現できる。ここで、Ｉ／Ｏカード側にデバイスドライバを添付して、プラグ・アンド・プレイ情報によりその旨が示される構成を適用し、情報処理装置には、上記プラグ・アンド・プレイ情報取得手段により取得されたプラグ・アンド・プレイ情報によって該当するデバイスドライバが添付されていることが示され、且つ当該ドライバがダウンロード済みでないか、或いは当該ドライバがダウンロード済みでもバージョンが古い場合には、当該ドライバを上記カード型電子機器からダウンロードするダウンロード手段を設けるならば、予め当該ドライバを情報処理装置内にインストールしておくことなく、プラグ・アンド・プレイ機能を実現できる。
【００２１】
また本発明は、上記情報処理装置内に、次の手段、即ち当該情報処理装置の持つシステムメモリをアクセスして、当該システムメモリと上記カード型電子機器との間のデータ転送を司るマスタ手段を更に備えたことをも特徴とする。
【００２２】
このような構成においては、情報処理装置とカード型電子機器との間のデータ転送幅が小さくても、当該データ転送幅で制限されずにシステムメモリとの間で高速転送することが可能となる。
【００２３】
なお、本発明は、以上の情報処理装置に装着可能なカード型電子機器の発明としても成立し、当該カード型電子機器を対象とする上記情報処理装置における動作モード設定方法の発明としても成立する。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
図１は本発明の一実施形態に係る情報処理システムの構成を示すブロック図である。
【００２５】
図１において、携帯型のパーソナルコンピュータ等の情報処理装置としてのホスト機器（以下、ホストと略称する）１０は、小型（ほぼ切手サイズ）のカード型電子機器（以下、カードと略称する）２０が複数、例えば２個装着可能なカードスロットを含むカードインタフェース１１を有している。なお、図では作図の都合上、２個のカード２０が同一平面上に並んだ状態で装着されるカードスロット構造となっているが、実際には２段に重ねて装着可能なカードスロット構造をとるものとする。
【００２６】
カードインタフェース１１は、各カード２０毎に、クロック（ＣＬＫ）線、コマンド（ＣＭＤ）線、及びデータ線等に割り当て可能な信号線（ＤＡＴ［３：０］線）を含んでいる。ここでＤＡＴ［３：０］は、ＤＡＴ［３］〜ＤＡＴ［０］の４本の信号線を示す。なお、ＣＬＫ線は各カード２０に共通に利用できるため、ホスト１０側で共通接続して、共通にドライブするようにしている。
【００２７】
ホスト１０には、カード２０の初期化処理を司る初期化基本ドライバ１４１が用意されている。
【００２８】
一方、カード２０には、当該カード２０の動作電圧（駆動電圧）、当該カードに固有のＩＤ（カードＩＤ）、カードアドレス、当該カードがメモリカードであるかＩ／Ｏカードであるかを示すカードタイプ、当該カードに固有の後述する動作モード等の情報が予め保持されているカードレジスタ群２１が用意されている。またカード２０がＩ／Ｏカードである場合、当該カード２０には、プラグ・アンド・プレイ（Plag and Play）機能を実現するのに必要なプラグ・アンド・プレイ情報（以下、ＰｎＰ情報と称する）が予め保持されているシステムＩ／Ｏレジスタ２２も用意されている。このＰｎＰ情報は、Ｉ／Ｏカードの種類（Ｂｌｕｅｔｏｏｔｈインタフェース、ＵＳＢインタフェース、ＬＡＮインタフェース、ＧＰＳインタフェース、携帯電話インタフェース等）を示す情報を含む。
【００２９】
図２は、ホスト１０の概略構成と、カード２０がＩ／Ｏカードの場合の当該Ｉ／Ｏカードの構成とを示す。
ホスト１０は、先に述べたカードインタフェース１１の他に、当該ホスト１０の制御中枢をなすＣＰＵ１２と、ＲＡＭ等で構成されるシステムメモリ１３と、ハードディスク装置等のディスク記憶装置１４とを有している。ディスク記憶装置１４には、図１中の初期化基本ドライバ１４１の他に、各種デバイスドライバ１４２の群がインストールされている。このデバイスドライバ１４２の群には、各種Ｉ／Ｏカード２０ａ毎に用意される、当該Ｉ／Ｏカード２０ａの種類に固有のデバイスドライバが含まれている。
【００３０】
一方、Ｉ／Ｏカード２０ａには、データ端子等に割り当て可能なＤＡＴ３（ＤＡＴ［３］，ピン１）と、コマンド転送と当該コマンドに対するレスポンス転送のためのＣＭＤ（ピン２）と、第１のグラウンド端子（Ｖss１）としてのＧＮＤ（ピン３）と、電源端子としてのＶDD（ピン４）と、クロック端子としてのＣＬＫ（ピン５）と、第２のグラウンド端子（Ｖss２）としてのＧＮＤ（ピン６）と、データ端子等に割り当て可能なＤＡＴ０（ＤＡＴ［０］，ピン７）と、データ端子等に割り当て可能なＤＡＴ１（ＤＡＴ［１］，ピン８）と、データ端子等に割り当て可能なＤＡＴ２（ＤＡＴ［２］，ピン９）との合計９個の信号ピンが配置されている。以上のピン配置はＩ／Ｏカード２０ａ及びメモリカードに共通、即ち全カード２０に共通である。但し、ＤＡＴ［３：０］のピン割り当て、つまり当該ピンに対する信号割り当ては、カードタイプ（Ｉ／Ｏカード２０ａの場合には更にカード種類）等によって異なる。例えばメモリカードの場合、ＤＡＴ［３：０］は全て双方向のデータ線（データ端子）に割り当てられる。また、ＤＡＴ［３］はカード検出用の端子としても割り当てられる。Ｉ／Ｏカード２０ａにおけるＤＡＴ［３：０］のピン割り当てについては後述する。
【００３１】
Ｉ／Ｏカード２０ａは、プロセッサモジュール２００を備えている。このプロセッサモジュール２００は、Ｉ／Ｏカード２０ａの主制御部をなすコントローラ２０１と、制御プログラムが格納されているＲＯＭ２０２と、ワーク・バッファメモリとして使用されるＳＲＡＭ２０３と、上記９個の信号ピンと接続され、Ｉ／Ｏカード２０ａとホスト１０とのインタフェースをなすＩ／Ｏインタフェース２０４と、後述するフラッシュメモリとのインタフェースをなすメモリインタフェース２０６とを有している。ＲＯＭ２０２の所定領域には、図１中のカードレジスタ群２１が割り当てられている。
【００３２】
Ｉ／Ｏカード２０ａはまた、書き換え可能な不揮発性メモリとしてのフラッシュメモリ（図示せず）を有している。このフラッシュメモリの所定領域には、先に述べたシステムＩ／Ｏレジスタ２２が割り当てられている。なお、システムＩ／Ｏレジスタ２２をプロセッサモジュール２００側に持たせる構成も可能である。この構成は、必ずしもフラッシュメモリを必要としないＩ／Ｏカード２０ａに適している。
【００３３】
次に、本実施形態の動作を、カード初期化処理を中心に図３及び図４のフローチャートを参照して説明する。
まず、ホスト１０の電源投入状態で（Ｉ／Ｏカード２０ａ等の）カード２０が当該ホスト１０が有するカードインタフェース１１（のカードスロット）に装着（挿入）された場合、或いはカード２０が装着されている状態でホスト１０の電源が投入された場合、カード２０は電源投入（Ｐｏｗｅｒ  ＯＮ）状態となり、ホスト１０内の初期化基本ドライバ１４１に従うカード初期化処理が開始される。また、ホスト１０側からＣＭＤ線を介してリセットコマンドが出された場合（ステップＳ０）も、カード初期化処理が開始される。なお、初期化基本ドライバ１４１はシステムメモリ１３にロードされて動作することは勿論である。
【００３４】
さて本実施形態では、カード初期化処理開始時にホスト１０側からＶDD線を介してカード２０に供給される電源電圧は、カードタイプを問わず予め定められた電圧（初期化電圧と称する）となる。この状態でカード２０は、カードタイプを問わず、ＣＭＤ線のみを用いてＣＬＫ線のＣＬＫに同期してコマンドの受信と当該コマンドに対する応答（レスポンス）の送信とを行うように予め設定されている。
【００３５】
カード初期化処理は、カード識別モード（Card Identification Mode）と、転送（データ転送）モード（Transfer Mode）の２つのモードに大別される。カード識別モードは、アイドル状態（Idle State）と、レディ状態（Ready State）と、識別状態（Identification State）との３状態を有する。一方、転送モードは、スタンバイ状態（Stand-by State）と、転送状態（Transfer State）と、インアクティブ状態（Inactive State）との３状態を有する。
【００３６】
ホスト１０（内の初期化基本ドライバ１４１）は、カード初期化処理を開始すると、まず目的（対象）とするカード２０の動作条件を確認するための動作条件確認コマンドを、当該カード２０に対して該当するＣＭＤ線によりＣＬＫに同期してシリアル出力する（ステップＳ１）。
【００３７】
カード２０は、ホスト１０からの動作条件確認コマンドに応じて、カードレジスタ群２１から自身の動作電圧を含む動作条件（を示す情報）を取り出し、当該ホスト１０からの動作条件確認コマンドに対するレスポンスとしてＣＭＤ線によりＣＬＫに同期してシリアル出力する。
【００３８】
以上のホスト１０からカード２０へのコマンド出力と、当該コマンドに対するカード２０からホスト１０へのレスポンス出力の関係を、ＣＬＫと共に図５に示す。
【００３９】
ホスト１０（内の初期化基本ドライバ１４１）は、動作条件確認コマンドに対するカード２０からのレスポンスを受け取ることで、当該カード２０の動作条件に含まれる動作（駆動）電圧を確認する。そこでホスト１０は、ＶDD線の電源電圧を初期化電圧（初期電圧）から上記確認したカード２０の動作電圧に切り替え設定し、その旨の動作条件確認コマンドをＣＭＤ線によりカード２０に出力する（ステップＳ２）。ここでの動作条件確認コマンドが上記ステップＳ１での動作確認コマンドと異なる点は、引数として設定した動作電圧（の情報）が付加される点である（ステップＳ１での動作確認コマンドの引数は０）。
【００４０】
カード２０は、ホスト１０からの動作電圧設定に伴う動作確認コマンドを受け取ると、当該動作電圧で動作可能な状態にあるならレディレスポンスを、動作可能な状態にないならビジーレスポンスを、ＣＭＤ線によりホスト１０に返す。ホスト１０は、カード２０からレディレスポンスが返されるまで（ステップＳ３）、動作電圧設定に伴う動作確認コマンドを出力する（ステップＳ２）。そして、カード２０からレディレスポンスが返されると、アイドル状態からレディ状態に遷移する。
【００４１】
ホスト１０は、レディ状態では、カード２０からカードＩＤを取得するためのカードＩＤ取得コマンドをＣＭＤ線により当該カード２０に出力する（ステップＳ４）。カード２０は、ホスト１０からのカードＩＤ取得コマンドに応じて、カードレジスタ群２１から自身のカードＩＤを取り出し、当該コマンドに対するレスポンスとしてＣＭＤ線によりホスト１０に返す。このカードＩＤは、カード２０を利用するアプリケーションプログラム１４３（図６参照）に渡される。すると、レディ状態から、カード識別モードの最終状態である識別状態に遷移する。
【００４２】
ホスト１０は、識別状態では、カード２０からカードアドレスを取得するためのカードアドレス取得コマンドをＣＭＤ線により当該カード２０に出力する（ステップＳ５）。カード２０は、ホスト１０からのカードアドレス取得コマンドに応じて、カードレジスタ群２１から自身のカードアドレスを取り出し、当該コマンドに対するレスポンスとしてＣＭＤ線によりホスト１０に返す。
【００４３】
ホスト１０（内の初期化基本ドライバ１４１）は、カード２０からのカードアドレスにより当該カード２０を識別する。これによりカード識別モードから転送モードに移行し、まず当該転送モードの最初の状態であるスタンバイ状態に入る。
【００４４】
ホスト１０（内の初期化基本ドライバ１４１）は、スタンバイ状態において、カードアドレス取得コマンドの実行により取得したカードアドレスを用いて、当該カードアドレスのカード２０を選択するためのカード選択コマンドをＣＭＤ線により出力する（ステップＳ６）。これにより、ホスト１０からのカード選択コマンドの指定するカードアドレスを有する（現在非選択状態にある）カード２０は、自身が選択された旨のレスポンスをＣＭＤ線によりホスト１０に返す。
【００４５】
以上により、ホスト１０は指定したカード２０を選択したことになり、スタンバイ状態から転送状態に遷移する。
【００４６】
ホスト１０（内の初期化基本ドライバ１４１）は、転送状態の最初で、先に選択したカード２０から当該カード２０のカードタイプと動作モードの情報を読み取るためのコマンド（カードタイプ＆動作モードリードコマンド）をＣＭＤ線により当該カード２０に出力する（ステップＳ７）。
【００４７】
カード２０は、ホスト１０からのカードタイプ＆動作モードリードコマンドに応じて、カードレジスタ群２１から自身のカードタイプと動作モードの情報を取り出し、当該コマンドに対するレスポンスとしてＣＭＤ線によりホスト１０に返す。
【００４８】
ホスト１０（内の初期化基本ドライバ１４１）は、このカードタイプ＆動作モードリードコマンドに対するレスポンスにより、上記選択したカード２０のタイプ（メモリカードであるかＩ／Ｏカードであるか）と動作モードの情報を取得する。本実施形態において、動作モードは、メモリカードの場合には、４ビット転送モードの１種のみであり、Ｉ／Ｏカードの場合には、（１）（メモリカードと同一の）４ビット転送モード、（２）１ビットＩ／Ｏ転送モード、（３）２ビットＩ／Ｏ転送モード、（４）ＵＳＢ  Ｉ／Ｏ転送モード、（５）１３９４  Ｉ／Ｏ転送モードの５種である。このＩ／Ｏカードの各転送（動作）モードを総称してＩ／Ｏインタフェースモードと呼ぶ。また、メモリカードの転送（動作）モード（４ビット転送モード）をメモリインタフェースモードと呼ぶ。
【００４９】
ホスト１０（内の初期化基本ドライバ１４１）は、選択したカード２０のタイプと動作モードの情報を取得すると、カードインタフェース１１に対して、この取得した動作モードに対応したピン割り当てを行うと共に、当該カード２０に対し、（ＣＭＤ線のみを用いるモードから）当該カード２０に固有の動作（転送）モードへの変更（切り替え）が可能な旨を通知するコマンド（動作モード変更可指示コマンド）をＣＭＤ線により出力する（ステップＳ８）。
【００５０】
一方、ホスト１０からの動作モード変更可指示コマンドを受け取ったカード２０は、自身を自身に固有の動作モードに設定する。これによりカード２０では、各信号ピン（ＤＡＴ［３：０］）に対して当該動作モードに対応したピン割り当てがなされた状態で動作することが可能となる。
【００５１】
本実施形態における各動作（転送）モードとピン割り当ての関係を、Ｉ／Ｏカード（２０ａ）について、即ちＩ／Ｏインタフェースモードについて、図７を参照して説明する。
【００５２】
（１）４ビット転送モード
このモードでは、全てのＤＡＴ［３］〜ＤＡＴ［０］、即ちＤＡＴ［３：０］が双方向のデータ線として割り当てられる。これにより、４ビット転送用のＩ／Ｏインタフェースが実現される。このピン割り当ては、メモリカードの場合、即ちメモリインタフェースモードの唯一の動作（転送）モード（４ビット転送モード）と同一である。４ビット転送モードは、データ転送回数（トランザクション回数）は少ないが１回当たりの転送量が多い高速通信インタフェース用のＩ／Ｏカードに有効である。ここでは、後述する１ビットＩ／Ｏ転送モード、２ビットＩ／Ｏ転送モードのような割り込み線の割り当てができないため、ポーリング等による転送終了等の判定が必要となる。
【００５３】
（２）１ビットＩ／Ｏ転送モード
このモードでは、ＤＡＴ［０］のみが双方向のデータ線として割り当てられ、ＤＡＴ［１］はＩ／Ｏカード（２０ａ）からホスト１０への汎用信号線として割り当てられる。また、ＤＡＴ［２］はＩ／Ｏカード（２０ａ）からホスト１０への（ＣＬＫに同期した）Ｗａｉｔ／Ｒｅａｄｙ（ウェイト／レディ）の状態通知線（Ｗａｉｔ／Ｒｅａｄｙ線）に割り当てられ、ＤＡＴ［３］は同じくＩ／Ｏカード（２０ａ）からホスト１０へのＩｎｔ／Ｗａｋｅ線（非同期割り込み線）に割り当てられる。
【００５４】
上記Ｉｎｔ／Ｗａｋｅは、Ｉ／Ｏカード（２０ａ）からホスト１０へデータ転送終了等を通知するための非同期の割り込み信号（Ｉｎｔ）、或いは省電力（Ｐｏｗｅｒ  Ｄｏｗｎ）状態または休止（サスペンド）状態にあるホスト１０をＩ／Ｏカード（２０ａ）側から立ち上げさせる（ｗａｋｅ  ｕｐさせる）ために当該Ｉ／Ｏカード（２０ａ）から出力される非同期の割り込み信号（Ｗａｋｅ）である。このＷａｋｅは、ホスト１０が省電力または休止状態にあり、したがってＩ／Ｏカード（２０ａ）の最低限の機能だけが動作している状態で、当該機能により所定のインタフェース状態を検出した場合に、その旨をホスト１０に通知して当該ホスト１０を通常動作状態に復帰させるために出される。このようなインタフェース状態の検出としては、モデムインタフェースなど、電話通信機能を持つインタフェース用のＩ／Ｏカードにおける着信検出がある。ここでは、汎用信号線（ＤＡＴ［１］）をオーディオ線として用いることができる。
【００５５】
この１ビットＩ／Ｏ転送モードは、１回当たりの転送量は少ないが、データ転送回数（トランザクション回数）が多いために、データ転送（トランザクション）を速やかに開始する必要があるインタフェース用のＩ／Ｏカードに有効である。
【００５６】
（３）２ビットＩ／Ｏ転送モード
このモードでは、ＤＡＴ［１］とＤＡＴ［０］の２つが双方向のデータ線として割り当てられる。また、ＤＡＴ［２］はＩ／Ｏカード（２０ａ）からホスト１０へのＷａｉｔ／Ｒｅａｄｙ線に割り当てられ、ＤＡＴ［３］は同じくＩ／Ｏカード（２０ａ）からホスト１０へのＩｎｔ／Ｗａｋｅ線に割り当てられる。１ビットＩ／Ｏ転送モードとの違いは、ＤＡＴ［１］が汎用信号線ではなくてデータ線として割り当てられる点である。
【００５７】
この２ビットＩ／Ｏ転送モードは、汎用信号線は必要ないものの、１ビットＩ／Ｏ転送モードを適用するＩ／Ｏカードより高速転送（高速通信）が必要なＬＡＮインタフェース用のＩ／Ｏカードに有効である。
【００５８】
（４）ＵＳＢ  Ｉ／Ｏモード
このモードは、Ｉ／Ｏカード（２０ａ）がＵＳＢインタフェースの場合に有効であり、ＤＡＴ［１］及びＤＡＴ［２］がＵＳＢデータ線に割り当てられる。
【００５９】
（５）１３９４  Ｉ／Ｏモード
このモードは、Ｉ／Ｏカード（２０ａ）がＩＥＥＥ１３９４インタフェースの場合に有効であり、ＤＡＴ［３］〜ＤＡＴ［０］、即ちＤＡＴ［３：０］がＩＥＥＥ１３９４データ線として割り当てられる。
【００６０】
本実施形態では、ホスト１０のカードインタフェース１１内に、図８に示すように、転送モード（４ビット転送モード、１ビットＩ／Ｏ転送モード、２ビットＩ／Ｏ転送モード）用のＩ／Ｏセル７１と、ＵＳＢ  Ｉ／Ｏモード用のＩ／Ｏセル７２と、１３９４  Ｉ／Ｏモード用のＩ／Ｏセル７３とが設けられている。初期化基本ドライバ１４１は、上記ステップＳ８において、先に選択したカード２０の動作モードに固有のインタフェース機能が実現可能なように、当該動作モードに対応するＩ／Ｏセルを選択的にＯＮする。また、カードインタフェース１１における各Ｉ／Ｏセル７１〜７３とカード２０との間には、ＯＮ／ＯＦＦ可能なアクティブプルアップ用の抵抗７４と、ＯＮ／ＯＦＦ可能なアクティブプルダウン用の抵抗７５とが設けられており、動作モードに応じてＯＮ／ＯＦＦ制御される。
【００６１】
さてホスト１０（内の初期化基本ドライバ１４１）は、上記したように、選択したカード２０のタイプと動作モードの情報を取得すると（ステップＳ７）、そのタイプ（カードタイプ）の情報から当該カード２０がメモリカード或いはＩ／Ｏカードの何れであるかを判定する（ステップＳ８）。
【００６２】
もし、カード２０がメモリカードである場合、ホスト１０はカードインタフェース１１に対して、ステップＳ７で取得した動作モード（ここでは、ステップＳ８で判定したメモリカードに固有の動作モード）の情報に基づくピン割り当てを行うと共に、当該カード２０に対し、（ＣＭＤ線のみを用いるモードから）当該カード２０に固有の動作（転送）モードへの変更（切り替え）が可能な旨を通知するコマンド（動作モード変更可指示コマンド）をＣＭＤ線により出力する（ステップＳ９ｂ）。これによりホスト１０は、カード２０（メモリカード）に対する初期化処理は全て完了したとして、当該カード２０（メモリカード）を用いての動作可能状態となる（ステップＳ１６）。
【００６３】
一方、カード２０がＩ／Ｏカードである場合、ホスト１０はカードインタフェース１１に対して（上記したメモリカードの場合と同様に）、ステップＳ７で取得した動作モード情報に基づくピン割り当てを行うと共に、当該カード２０に対して動作モード変更可指示コマンドをＣＭＤ線により出力する（ステップＳ９ａ）。
【００６４】
さてホスト１０（内の初期化基本ドライバ１４１）は、カード２０がＩ／Ｏカード（Ｉ／Ｏカード２０ａ）の場合、動作モード変更可指示コマンドの出力処理（ステップＳ９ａ）が終了しただけでは、当該Ｉ／Ｏカードに対する初期化処理は未だ完了しておらず、プラグ・アンド・プレイを実現するためのコンフィグレーションが必要であると判断する。
【００６５】
そこでホスト１０（内の初期化基本ドライバ１４１）は、先に選択したカード２０（＝Ｉ／Ｏカード２０ａ）からシステムＩ／Ｏレジスタ２２の内容（ＰｎＰ情報）を読み取るためのコマンド（システムＩ／Ｏレジスタリードコマンド）をＣＭＤ線により当該カード２０（２０ａ）に出力する（ステップＳ１０）。
【００６６】
Ｉ／Ｏカード２０ａは、ホスト１０からのシステムＩ／Ｏレジスタリードコマンドに応じて、システムＩ／Ｏレジスタ２２からＰｎＰ情報を取り出し、当該コマンドに対するレスポンスとしてＣＭＤ線によりホスト１０に返す。
【００６７】
ホスト１０（内の初期化基本ドライバ１４１）は、このシステムＩ／Ｏレジスタリードコマンドに対するレスポンスで通知されたＩ／Ｏカード２０ａに固有のＰｎＰ情報をチェックする（ステップＳ１１）。そしてホスト１０（内の初期化基本ドライバ１４１）は、このＰｎＰ情報のチェック結果により、Ｉ／Ｏカード２０ａ（のＲＯＭ２０２内）に図６に示すように（当該Ｉ／Ｏカード２０ａに固有の）デバイスドライバ１４２′が添付（格納）されているか否かを判定する（ステップＳ１２）。
【００６８】
もし、デバイスドライバ１４２′が添付されていて、且つ当該デバイスドライバ１４２′がダウンロード済みでないか、或いは当該デバイスドライバ１４２′がダウンロード済みでもＰｎＰ情報の示すバージョンより古いバージョンならば（ステップＳ１３）、ホスト１０（内の初期化基本ドライバ１４１）は図６に示すように、当該デバイスドライバ１４２′を、Ｉ／Ｏカード２０ａの動作（転送）モードで決まるデータ線を介してホスト１０内にデバイスドライバ１４２″としてダウンロードする（ステップＳ１４）。これによりデバイスドライバ１４２″に制御が渡される。するとホスト１０では、デバイスドライバ１４２″により、上記ＰｎＰ情報に基づいてＩ／Ｏカード２０ａを対象とする自動コンフィグレーションが行われる（ステップＳ１５）。
【００６９】
一方、デバイスドライバが添付されていないか（ステップＳ１２）、或いは添付されていてもＰｎＰ情報の示すバージョンと同じかそれより新しいバージョンのデバイスドライバ（１４２″）が既にダウンロードされているならば（ステップＳ１３）、デバイスドライバのダウンロードは行われずに、既にホスト１０上に存在する該当するデバイスドライバ（１４２または１４２″）により、上記ＰｎＰ情報に基づくＩ／Ｏカード２０ａを対象とする自動コンフィグレーションが行われる（ステップＳ１５）。
【００７０】
このようにして、Ｉ／Ｏカード２０ａを対象とする自動コンフィグレーションが完了すると、ホスト１０は当該Ｉ／Ｏカード２０ａ（カード２０）を用いての動作可能状態となる（ステップＳ１６）。
【００７１】
ホスト１０のアプリケーションプログラム１４３は、カード２０（２０ａ）を用いての動作可能状態（ステップＳ１６）において、当該カード２０（２０ａ）を利用して当該カード２０（２０ａ）に固有の処理を行うことができる。
【００７２】
さて本実施形態では、システムメモリ１３をアクセスして当該システムメモリ１３とカード２０（２０ａ）との間のデータ転送を司どる手段を、従来とは異なってカード２０（２０ａ）内ではなくて、ホスト１０内に置いている。このデータ転送手段を、図９に示すようにマスタ１５と呼ぶ。このように、ホスト１０内にマスタ１５を設けたことにより、ホスト１０とカード２０との間のデータ転送幅が小さくても、当該データ転送幅で制限されずにシステムメモリ１３との間で高速転送することが可能となる。
【００７３】
ところで、ステップＳ６で選択したカード２０（２０ａ）の利用から他のカード２０（２０ａ）の利用に切り替えたい場合がある。この場合、その旨がアプリケーションプログラム１４３から初期化基本ドライバ１４１に通知される。すると初期化基本ドライバ１４１は、現在選択されているカード２０（２０ａ）を非選択状態にするためのコマンドをＣＭＤ線により出力する（ステップＳ１７）。これによりカード２０（２０ａ）を非選択状態にすることができる。
【００７４】
なお本実施形態では、ステップＳ１７のカード非選択処理及びステップＳ６のカード選択処理には、いずれも同一のカード選択コマンドが用いられる。このカード選択コマンドは、対象となるカード２０（２０ａ）が非選択状態にある場合には、当該カード２０（２０ａ）を選択するためのコマンドとなり、選択状態にある場合には、当該カード２０（２０ａ）を非選択状態にするためのコマンドとなる。
【００７５】
さて、ステップＳ６で選択したカード２０（２０ａ）をステップＳ１７で非選択状態にすると、ホスト１０（内の初期化基本ドライバ１４１）はステップＳ６に戻って、アプリケーションプログラム１４３から要求される別のカード２０（２０ａ）を選択することができる。
【００７６】
また、カード２０（２０ａ）を使用する必要がなくなって当該カード２０（２０ａ）をＰｏｗｅｒ  ＯＦＦ状態にしたい場合、ホスト１０（内の初期化基本ドライバ１４１）は、当該カード２０（２０ａ）に対し、インアクティブコマンドをＣＭＤ線により出力する（ステップＳ１８）。これによりカード２０（２０ａ）は転送状態からインアクティブ状態に遷移し、電源遮断（Ｐｏｗｅｒ  ＯＦＦ）状態となる。
【００７７】
【発明の効果】
以上詳述したように本発明によれば、Ｉ／Ｏインタフェース機能を持つカード型電子機器（Ｉ／Ｏカード）のピン割り当てを含む動作モードが、当該電子機器の初期化時にメモリカードに対するのと同一手続きで情報処理装置から自動設定できる。
【００７８】
また本発明によれば、Ｉ／Ｏカードに対する当該カードに固有のデータ転送幅となる動作モードの設定が情報処理装置から設定できる。このように、情報処理装置のカードインタフェースに装着されるＩ／Ｏカードに固有のデータ転送幅に設定できるため、高速転送が必要なＩ／Ｏカード、データ転送能力よりもレスポンスの高速化が要求されるＩ／Ｏカード、データ転送能力とレスポンスの高速化の両方が要求されるＩ／Ｏカードなど、種々のＩ／Ｏカードに適した動作モードの設定が行える。
【００７９】
また本発明によれば、情報処理装置のカードインタフェースへのＩ／Ｏカード装着時等におけるプラグ・アンド・プレイ機能が実現できる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る情報処理システムの構成を示すブロック図。
【図２】ホスト１０の概略構成と、カード２０がＩ／Ｏカードの場合の当該Ｉ／Ｏカードの構成とを示す図。
【図３】同実施例におけるホスト１０によるカード初期化処理を中心とする動作を説明するためのフローチャートの一部を示す図。
【図４】同フローチャートの残りを示す図。
【図５】ホスト１０からカード２０へのコマンド出力と、当該コマンドに対するカード２０からホスト１０へのレスポンス出力の関係を、ＣＬＫと共に示す図。
【図６】Ｉ／Ｏカード２０ａからホスト１０へのデバイスドライバのダウンロードを説明するための図。
【図７】Ｉ／Ｏインタフェースモードにおける各動作（転送）モードとピン割り当ての関係例を示す図。
【図８】各動作モードを実現するためのカードインタフェース１１の要部の構成を示す図。
【図９】ホスト１０内にマスタ１５を備えた構成例を示すブロック図。
【符号の説明】
１０…ホスト（情報処理装置）
１１…カードインタフェース
１３…システムメモリ
１５…マスタ
２０…カード（カード型電子機器）
２１…カードレジスタ群
２２…システムＩ／Ｏレジスタ
７１〜７３…Ｉ／Ｏセル
７４，７５…抵抗
１４１…初期化基本ドライバ
１４２，１４２′，１４２″…デバイスドライバ
１４３…アプリケーションプログラム
２０１…コントローラ
２０２…ＲＯＭ
２０４…Ｉ／Ｏインタフェース
【図１】
0004649009.tif 000002
【図２】
0004649009.tif 000003
【図３】
0004649009.tif 000004
【図４】
0004649009.tif 000005
【図５】
0004649009.tif 000006
【図６】
0004649009.tif 000007
【図７】
0004649009.tif 000008
【図８】
0004649009.tif 000009
【図９】
0004649009.tif 000010