(57)【要約】【課題】ホストへの信号の衝突を防ぐことができ、ホストに対する高い応答性も維持できる多機能型のＩＣカード及びその制御方法を提供する。【解決手段】本発明のＩＣカードは、ホストインタフェース部と機能動作部とをそれぞれ有する複数の機能ユニットを有し、ホストインタフェース部は、その機能ユニットが処理可能なコマンドからなる第１のコマンド群と他の機能ユニットが処理可能なコマンドからなる第２のコマンド群とを記憶し、ホストからの受信コマンドが第１のコマンド群に属するか否かを検索して第１の検索結果を出力し、受信コマンドが第２のコマンド群に属するか否かを検索して第２の検索結果を出力するコマンドデコーダと、受信コマンドに対する応答を生成する応答生成部と、第１の検索結果及び前記第２の検索結果に応じて応答生成部を制御する調停部と、を有する。【選択図】　　　　図１
2004021351.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器からのコマンドを受信するホストインタフェース部と、前記ホストインタフェース部が受信した前記コマンド（以下「受信コマンド」と呼ぶ。）に従い処理を行う機能動作部と、をそれぞれ有する複数の機能ユニットを有し、
前記ホストインタフェース部は、
その機能ユニットが処理可能なコマンドからなる第１のコマンド群と他の機能ユニットが処理可能なコマンドからなる第２のコマンド群とを記憶し、受信コマンドが前記第１のコマンド群に属するか否かを検索してその検索結果である第１の検索結果を出力し、受信コマンドが前記第２のコマンド群に属するか否かを検索してその検索結果である第２の検索結果を出力するコマンドデコーダと、
前記受信コマンドに対する応答を生成する応答生成部と、
前記第１の検索結果及び前記第２の検索結果に応じて前記応答生成部を制御する調停部と、
を有することを特徴とするＩＣカード。
【請求項２】
前記ホストインタフェース部は他の機能ユニットの状態を検知し、前記調停部は前記他の機能ユニットの状態を前記応答生成部を制御する条件に加える、
ことを特徴とする請求項１に記載のＩＣカード。
【請求項３】
前記コマンドデコーダは、
前記第１のコマンド群を記憶し、受信コマンドが前記第１のコマンド群に属するか否かを検索し、その検索結果である第１の検索結果を出力する第１のコマンドデコーダと、
前記第２のコマンド群を記憶し、受信コマンドが前記第２のコマンド群に属するか否かを検索し、その検索結果である第２の検索結果を出力する第２のコマンドデコーダと、
を有することを特徴とする請求項１又は請求項２に記載のＩＣカード。
【請求項４】
ホスト機器からのコマンドを受信するホストインタフェース部と、前記ホストインタフェース部が受信した前記コマンド（以下「受信コマンド」と呼ぶ。）に従い処理を行う機能動作部と、をそれぞれ有する複数の機能ユニットを有し、
前記ホストインタフェース部は、
その機能ユニットが処理可能なコマンドからなる第１のコマンド群を記憶し、受信コマンドが前記第１のコマンド群に属するか否かを検索してその検索結果である第１の検索結果を出力するコマンドデコーダと、
前記受信コマンドに対する応答を生成する応答生成部と、
前記第１の検索結果を他の機能ユニットの前記ホストインタフェース部に伝送し、他の機能ユニットの前記ホストインタフェース部から伝送された、受信コマンドが他の機能ユニットの前記ホストインタフェース部の前記第１のコマンド群に属するか否かの検索結果である前記第１の検索結果（以下、他の機能ユニットのホストインタフェース部が出力した第１の検索結果を「第２の検索結果」と呼ぶ。）を入力し、前記第１の検索結果及び前記第２の検索結果に応じて前記応答生成部を制御する調停部と、
を有することを特徴とするＩＣカード。
【請求項５】
前記調停部は、更に、自機能ユニットの状態を他の機能ユニットの調停部に出力し且つ前記他の機能ユニットの調停部から他の機能ユニットの状態を入力し、前記他の機能ユニットの状態を前記応答生成部を制御する条件に加える、
ことを特徴とする請求項４に記載のＩＣカード。
【請求項６】
前記ホストインタフェース部は、
受信コマンドが前記第１のコマンド群に属するコマンドであれば応答し、
受信コマンドが前記第２のコマンド群に属するコマンドであれば応答せず、
受信コマンドが前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さないコマンドであれば、予め定められた機能ユニットの前記ホストインタフェース部が応答する、
ことを特徴とする請求項１から請求項５のいずれかの請求項に記載のＩＣカード。
【請求項７】
前記ホストインタフェース部は、
受信コマンドが前記第１のコマンド群に属するコマンドであれば応答し、
受信コマンドが前記第２のコマンド群に属するコマンドであれば応答せず、
受信コマンドが前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さないコマンドであれば応答せず且つ受信コマンドが不正であることを示すフラグをセットし、次の受信コマンドが前記第１のコマンド群に属するコマンドであれば、その受信コマンドに応答すると共に先の受信コマンドが不正であるという情報をホストに送り、且つ前記フラグをリセットする、
ことを特徴とする請求項１から請求項５のいずれかの請求項に記載のＩＣカード。
【請求項８】
受信コマンドが前記第１のコマンド群にも前記第２のコマンド群にも属するコマンドであれば、予め定められた機能ユニットの前記ホストインタフェース部が応答することを特徴とする請求項６又は請求項７に記載のＩＣカード。
【請求項９】
前記ホストインタフェース部は、前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さない受信コマンドの次に、前記第２のコマンド群に属するコマンドを受信した場合は、応答せず、前記フラグをリセットすることを特徴とする請求項７に記載のＩＣカード。
【請求項１０】
前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さない受信コマンドの次に、前記第１のコマンド群及び前記第２のコマンド群のいずれにも属するコマンドを受信した場合は、
予め定められた機能ユニットの前記ホストインタフェース部がその受信コマンドに応答すると共に先の受信コマンドが不正であるという情報をホストに送り、且つ前記フラグをリセットし、
予め定められた機能ユニット以外の機能ユニットの前記ホストインタフェース部は応答せず、前記フラグをリセットすることを特徴とする請求項７に記載のＩＣカード。
【請求項１１】
前記第１のコマンド群に属するコマンドを受信した場合には応答を返し、前記第１のコマンド群に属さないコマンドを受信した場合には応答を返さない第１のインタフェースモードと、
受信コマンドに必ず応答を返す第２のインタフェースモードと、
を有し、
前記第１のインタフェースモードにおいては、請求項７に記載のＩＣカードとして機能し、前記第２のインタフェースモードにおいては請求項６に記載のＩＣカードとして機能することを特徴とするＩＣカード。
【請求項１２】
ホスト機器からのコマンドを受信するホストインタフェース部と、前記ホストインタフェース部が受信した前記コマンド（以下「受信コマンド」と呼ぶ。）に従い処理を行う機能動作部と、をそれぞれ有する複数の機能ユニットを有するＩＣカードの制御方法であって、
各機能ユニットにおいて、受信コマンドがその機能ユニットが処理可能なコマンドからなる第１のコマンド群に属するか否かを検索してその検索結果である第１の検索結果を出力し、受信コマンドが他の機能ユニットが処理可能なコマンドからなる第２のコマンド群に属するか否かを検索してその検索結果である第２の検索結果を出力するコマンド検索ステップと、
各機能ユニットにおいて、前記第１の検索結果及び前記第２の検索結果に応じて、前記受信コマンドに対して応答を生成する応答生成ステップと、
を有することを特徴とするＩＣカードの制御方法。
【請求項１３】
他の機能ユニットの状態を検知する状態検知ステップを更に有し、
前記応答生成ステップにおいて前記他の機能ユニットの状態を応答生成の条件に加える、
ことを特徴とする請求項１２に記載のＩＣカードの制御方法。
【請求項１４】
ホスト機器からのコマンドを受信するホストインタフェース部と、前記ホストインタフェース部が受信した前記コマンド（以下「受信コマンド」と呼ぶ。）に従い処理を行う機能動作部と、をそれぞれ有する複数の機能ユニットを有するＩＣカードの制御方法であって、
各機能ユニットにおいて、受信コマンドがその機能ユニットが処理可能なコマンドからなる前記第１のコマンド群に属するか否かを検索してその検索結果である第１の検索結果を出力するコマンド検索ステップと、
各機能ユニットにおいて、前記第１の検索結果を他の機能ユニットの前記ホストインタフェース部に伝送し、他の機能ユニットの前記ホストインタフェース部から伝送された、受信コマンドが他の機能ユニットの前記ホストインタフェース部の前記第１のコマンド群に属するか否かの検索結果である前記第１の検索結果（以下、他の機能ユニットのホストインタフェース部が出力した第１の検索結果を「第２の検索結果」と呼ぶ。）を入力する入力ステップと、
各機能ユニットにおいて、前記第１の検索結果及び前記第２の検索結果に応じて、前記受信コマンドに対して応答を生成する応答生成ステップと、
を有することを特徴とするＩＣカードの制御方法。
【請求項１５】
自機能ユニットの状態を含む情報を他の機能ユニットのホストインタフェース部に出力する状態出力ステップと、
他の機能ユニットのホストインタフェース部から他の機能ユニットの状態を含む情報を入力する状態入力ステップと、を更に有し、
前記応答生成ステップにおいて前記他の機能ユニットの状態を応答生成の条件に加える、
ことを特徴とする請求項１４に記載のＩＣカードの制御方法。
【請求項１６】
前記応答生成ステップが、
受信コマンドが前記第１のコマンド群に属するコマンドであれば応答する第１の応答ステップと、
受信コマンドが前記第２のコマンド群に属するコマンドであれば応答しない第２の応答ステップと、
受信コマンドが前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さないコマンドであれば、予め定められた機能ユニットの前記ホストインタフェース部が応答する第３の応答ステップと、
を有することを特徴とする請求項１２から請求項１５のいずれかの請求項に記載のＩＣカードの制御方法。
【請求項１７】
前記応答生成ステップが、
受信コマンドが前記第１のコマンド群に属するコマンドであれば応答する第１の応答ステップと、
受信コマンドが前記第２のコマンド群に属するコマンドであれば応答しない第２の応答ステップと、
受信コマンドが前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さないコマンドであれば応答せず且つ受信コマンドが不正であることを示すフラグをセットする第４の応答ステップと、
前記第４の応答ステップの次に受信するコマンドが前記第１のコマンド群に属するコマンドであれば、その受信コマンドに応答すると共に先の受信コマンドが不正であるという情報をホストに送り、且つ前記フラグをリセットする第５の応答ステップと、
を有することを特徴とする請求項１２から請求項１５のいずれかの請求項に記載のＩＣカードの制御方法。
【請求項１８】
前記応答生成ステップが、受信コマンドが前記第１のコマンド群にも前記第２のコマンド群にも属するコマンドであれば、予め定められた機能ユニットの前記ホストインタフェース部が応答する第６の応答ステップを有することを特徴とする請求項１６又は請求項１７に記載のＩＣカードの制御方法。
【請求項１９】
前記応答生成ステップが、前記第４の応答ステップの次に受信するコマンドが前記第２のコマンド群に属するコマンドであれば、応答せず、前記フラグをリセットする第７の応答ステップを有することを特徴とする請求項１７に記載のＩＣカードの制御方法。
【請求項２０】
前記応答生成ステップが、
前記第４の応答ステップの次に受信するコマンドが前記第１のコマンド群及び前記第２のコマンド群のいずれにも属するコマンドであれば、
予め定められた機能ユニットの前記ホストインタフェース部がその受信コマンドに応答すると共に先の受信コマンドが不正であるという情報をホストに送り、且つ前記フラグをリセットし、
予め定められた機能ユニット以外の機能ユニットの前記ホストインタフェース部は応答せず、前記フラグをリセットする、
第８の応答ステップを有することを特徴とする請求項１７に記載のＩＣカードの制御方法。
【請求項２１】
前記第１のコマンド群に属するコマンドを受信した場合には応答を返し、前記第１のコマンド群に属さないコマンドを受信した場合には応答を返さない第１のインタフェースモードと、
受信コマンドに必ず応答を返す第２のインタフェースモードと、
を有し、
前記第１のインタフェースモードにおいては、請求項１７に記載の制御方法を実行し、前記第２のインタフェースモードにおいては請求項１６に記載の制御方法を実行することを特徴とするＩＣカードの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＩＣカード及びその制御方法に関する。
【０００２】
【従来の技術】
近年、小型で大容量、高速のメモリカードがパーソナルコンピュータ（パソコン）、デジタルカメラ、オーディオプレーヤー、携帯電話、ＰＤＡ（Ｐｅｒｓｏｎａｌ　ｄｉｇｉｔａｌ　ａｓｓｉｓｔａｎｔｓ）、カーナビゲーションシステム等で利用されている。
更に、最近では、上記のようなメモリ機能以外の機能（例えばＢｌｕｅｔｏｏｔｈ（登録商標）規格による無線通信等のネットワーク接続機能、ＧＰＳ（Ｇｌｏｂａｌ　Ｐｏｓｉｔｉｏｎｉｎｇ　Ｓｙｓｔｅｍ）による計測機能等）を搭載したＩ／Ｏ用のＩＣカードも登場している。
【０００３】
従来例１のＩ／Ｏ用のＩＣカードは、１つのホストインタフェース部（以下「インタフェース」を「Ｉ／Ｆ」と略す。）と、そのホストＩ／Ｆ部と接続された１つ又は複数の機能モジュールとを有する。パソコン等のホストと、ホストに挿入された従来例１のＩＣカードとは、ホストをマスタとし、ＩＣカードをスレーブとするマスタ／スレーブ型の通信を行う。ホストＩ／Ｆ部はホストからのコマンドを受信し、そのコマンドを実行すべき機能モジュールを選択し、選択した機能モジュールにそのコマンドを伝送する。その機能モジュールがそのコマンドに従って処理を行い、ホストＩ／Ｆ部に応答（レスポンス）を返す。ホストＩ／Ｆ部は、応答をホストに伝送する。
【０００４】
従来例１のＩＣカードは、ホストから伝送されるコマンドを適切に処理し、全てのコマンドに対して適切な応答を返す。
ＩＣカードは、ユーザが希望する機能をホスト機器に付加する役割を果たす。そのため、市場ニーズの多様化に伴い、種々の機能を任意に組み合わせた（特にメモリ機能とＩ／Ｏ機能を搭載した）多機能型ＩＣカード（多機能モジュールカード）を開発し、市場に供給することが求められている。
【０００５】
従来例２の多機能型ＩＣカードは、ホスト機器とのバスラインに並列に機能モジュール（を含む機能ユニット）を接続する構成を有する。図６は、従来例２の多機能モジュールカード（多機能型ＩＣカード）の構成を示す。
図６において、多機能モジュールカード６０１は、パソコン等のホスト機器であるホスト１０１の入出力部１０２とバスライン１０３を介して接続されている。　ホスト１０１と多機能モジュールカード６０１は、ホスト１０１をマスタとし、多機能モジュールカード６０１をスレーブとするマスタ／スレーブ型の通信を行う。
【０００６】
多機能モジュールカード６０１には、機能ユニット６１１及び機能ユニット６２１が搭載されている。機能ユニット６１１と機能ユニット６２１は、バスライン１０３に並列に接続している。
本例では、機能ユニット６１１はメモリアクセス、機能ユニット６２１はデジタルカメラとのＩ／Ｏ処理を行う。
【０００７】
機能ユニット６１１はホストＩ／Ｆ部６１２及び機能モジュール６１３を有する。機能ユニット６２１はホストＩ／Ｆ部６２２及び機能モジュール６２３を有する。
機能ユニットのホストＩ／Ｆ部６１２、６２２は、ホストとのインタフェース処理を行う。
機能モジュール６１３は、メモリアクセス処理を行い、機能モジュール６２３はデジタルカメラとのＩ／Ｏ処理を行う。
【０００８】
ホスト１０１から多機能モジュールカード６０１に搭載されている機能ユニットへ送信されたコマンドは、機能ユニット６１１、６２１の各ホストＩ／Ｆ部６１２、６２２により受信される。
ホストＩ／Ｆ部６１２、６２２は、その受信されたコマンド（受信コマンド）を解析する。その解析結果（受信コマンドに含まれるコマンド番号（そのコマンドの種別を示す）等の情報）に応じて、機能ユニット６１１、６２１は処理を行う。
また、受信コマンドに対する応答をホスト１０１に送信する。
【０００９】
各機能ユニットは、以下に示す方法でホストへの応答を返す。
（１）受信コマンドがその機能ユニットで処理可能で且つホスト１０１がその処理結果を要求しないコマンドの場合は、当該機能ユニットは、ホスト１０１に応答（例えば肯定を意味するＡＣＫ）を返す。
（２）受信コマンドがその機能ユニットで処理可能で且つホスト１０１がその処理結果を要求するコマンドの場合は、当該機能ユニットは、ホスト１０１に応答及びその処理結果（例えば機能モジュール６１３がメモリから読み出したデータ）を送信する。
（３）受信コマンドがその機能ユニットで処理不可能であるコマンドの場合は、応答しない。
【００１０】
例えば、受信コマンドが機能ユニット６１１に対するデータリード要求の指令である場合に、機能ユニット６１１の機能モジュール６１３は、その指令に従い不揮発性メモリ（例えばフラッシュメモリ）からデータを読み出し、応答とその読み出したデータとをホストＩ／Ｆ部６１２を介してホスト１０１に返す。
バスライン１０３は、コマンド／レスポンス線と、データ線とを含む。ホスト１０１からのコマンドと、機能ユニットからの応答（レスポンス）は、コマンド／レスポンス線を通じて伝送される。ホスト又は機能ユニットからのデータは、その要求コマンドの種別により、コマンド／レスポンス線を通じて送信する場合と、データ線を通じて送信する場合とがある。
【００１１】
また、従来例２の多機能モジュールカードは、コマンド受信後、予め仕様により定められた一定時間内にホスト１０１に対する応答を返さなければならない。
【００１２】
【発明が解決しようとする課題】
従来例２の多機能モジュールカードにおいて、機能ユニット６１１が処理可能なコマンドと機能ユニット６２１が処理可能なコマンドとが重複せず、且つホスト１０１が送信するコマンドが機能ユニット６１１及び６２１のいずれかが処理可能なコマンドに限られれば、従来例２のホスト及び多機能モジュールカードは問題無く動作する。
【００１３】
しかし例えば受信コマンドが、複数の機能ユニットのいずれもが処理不可能なコマンドの場合は、多機能モジュールカードからホストに何の応答も返されない。ホストは、コマンドを出力して一定時間内に応答を受信しなければ、ＩＣカードとの間の通信が途絶したと判断する。一般に、一旦通信が途絶すると、再び通信を回復するためには、ホストからＩＣカードへの所定のコマンドの送信、及びホストとＩＣカードとの間での所定の情報の交換を初めから実行する必要がある（通信プロトコルに応じて、必要な手順が異なる。）。即ち、ホストからのコマンドに対してＩＣカードが何の応答もしなければ、両者の間のスムーズな通信が妨げられる。
【００１４】
従来例２の（３）に代えて、下記の（３Ａ）のプロトコルを実行することもできる。
（３Ａ）受信コマンドがその機能ユニットで処理不可能であるコマンドの場合は、全ての機能ユニットがホストにコマンドへの応答を拒否する（コマンドが不正である）ことを意味する応答（例えばＮＡＣＫ）を返す。
（１）、（２）又は（３Ａ）において、複数の機能ユニットが同一応答（例えばＡＣＫ又はＮＡＫ）を同期して送り返す（例えばシンクロナス伝送）場合には、ホストは複数の機能ユニットから伝送された応答を読み取ることができる。
【００１５】
しかし、複数の機能ユニットが１つのコマンドに対して異なる応答を返した場合（例えばメモリデータの送信要求コマンドに対して、１つの機能ユニット（メモリモジュール）がＡＣＫを返し、他の機能ユニット（例えば無線通信モジュール）がＮＡＣＫを返した場合）、複数の機能ユニットからの応答がバスライン上で相互に衝突してデータが破壊され、ホストはそれらの応答を読み取ることができない。
【００１６】
また、仮にそれぞれの機能ユニットの応答タイミングを調整し、複数の応答の衝突を回避したとしても（プロトコル上の互換性を確保できることが前提となる。）、双方の機能ユニットの応答内容が異なる場合には、ホストは、仕様上同一カード内の複数の機能ユニットを識別できないため、どの機能ユニットがどの応答を返してきたのかを認識できない。ホストは、複数の応答の内容を正しく認識して処理を正常に行うことができず、多機能モジュールカード６０１の制御を正しく行えない。
【００１７】
ＩＣカードの各機能ユニット（ホストＩ／Ｆ部）に固有のアドレスを割り当てる方法も考えられる。しかしこのような方法によれば、ホストと各機能ユニットとの通信において、コマンド及びレスポンスに送信元のアドレス及び送信先のアドレスを付加して送信する必要があり、通信情報量の増大、通信速度の低下を招く。小型で安価な単一の機能モジュールしか有さないＩＣカード（一般に、単一機能型ＩＣカードは、販売されるＩＣカードの過半数を占める。）及びそのようなＩＣカードのみを接続可能なホストにとって、複雑な通信プロトコルへの対応はコストアップ、消費電力の増大等を招いて好ましくない。
【００１８】
送信元のアドレス及び送信先のアドレスを付加しないでコマンド及びレスポンスを送受信する、ホストと単機能型ＩＣカードとの間の通信プロトコルが既に標準化されている場合、多機能型ＩＣカード用の各機能モジュールに固有のアドレスを割り当てれば、単機能型ＩＣカードと多機能型ＩＣカードとの間の互換性がなくなる。
【００１９】
本発明は、上記問題を解決し、通信が途絶することなく、且つ１つのＩＣカードに搭載された複数の機能ユニットからの応答が相互に衝突することなく、ホストが正しく各機能ユニットからの応答を認識できるＩＣカード及びその制御方法を提供することを目的とする。
本発明は、簡易な構成で１つのＩＣカードに搭載された複数の機能ユニットの制御を精度良く行うことができるＩＣカード及びその制御方法を提供することを目的とする。
【００２０】
本発明は、単機能のＩＣカードがホストとの間で行う通信と互換性を維持して、ホストとの間でスムーズに（混乱を生じることなく）通信を行う複数機能のＩＣカード及びその制御方法を提供することを目的とする。
本発明は、単機能のＩＣカードが簡易な方法でホストと通信する特徴を維持しつつ、ホストとの間でスムーズに通信を行う多機能のＩＣカード及びその制御方法を提供することを目的とする。
【００２１】
本発明によれば、機能ユニットを並列に接続するだけで、複数の機能を有するＩＣカードを実現できる。複数の機能ユニットの組み合わせに応じてホストとのインタフェース部分の新たな要素（ハードウエア及びソフトウエアを含む。）を開発する必要がないため、複数機能を有するＩＣカードの商品展開の速度を早め、開発コストを下げることができる。これにより、ＩＣカードのコストを下げることもできる。本発明は、短期間に低コストで開発できる多機能型ＩＣカード及びその制御方法を提供することを目的とする。
また、本発明は、ホスト−多機能型ＩＣカード間で、コマンドに対する応答方法が異なる複数のモードに応じて、最適の方法で各機能ユニットを制御することができる多機能型ＩＣカード及びその制御方法を提供することを目的とする。
【００２２】
【課題を解決するための手段】
上記課題を解決するため、本発明は下記の構成を有する。
請求項１に記載の発明は、ホスト機器からのコマンドを受信するホストインタフェース部と、前記ホストインタフェース部が受信した前記コマンド（以下「受信コマンド」と呼ぶ。）に従い処理を行う機能動作部と、をそれぞれ有する複数の機能ユニットを有し、前記ホストインタフェース部は、その機能ユニットが処理可能なコマンドからなる第１のコマンド群と他の機能ユニットが処理可能なコマンドからなる第２のコマンド群とを記憶し、受信コマンドが前記第１のコマンド群に属するか否かを検索してその検索結果である第１の検索結果を出力し、受信コマンドが前記第２のコマンド群に属するか否かを検索してその検索結果である第２の検索結果を出力するコマンドデコーダと、前記受信コマンドに対する応答を生成する応答生成部と、前記第１の検索結果及び前記第２の検索結果に応じて前記応答生成部を制御する調停部と、を有することを特徴とするＩＣカードである。
【００２３】
請求項２に記載の発明は、前記ホストインタフェース部は他の機能ユニットの状態を検知し、前記調停部は前記他の機能ユニットの状態を前記応答生成部を制御する条件に加える、ことを特徴とする請求項１に記載のＩＣカードである。
「機能ユニットの状態」とは、例えば、ホストからの初期化コマンドを受信し、その機能ユニットの「初期化が完了している状態」又はホストからの初期化コマンドを受信しておらず「初期化が完了していない状態」等を示す。初期化完了後、当該機能ユニットは、ホストからの通常コマンド（初期化等以外であり、その機能ユニット特有の動作を制御するコマンド）に対しての処理が可能となる。
【００２４】
請求項３に記載の発明は、前記コマンドデコーダは、前記第１のコマンド群を記憶し、受信コマンドが前記第１のコマンド群に属するか否かを検索し、その検索結果である第１の検索結果を出力する第１のコマンドデコーダと、前記第２のコマンド群を記憶し、受信コマンドが前記第２のコマンド群に属するか否かを検索し、その検索結果である第２の検索結果を出力する第２のコマンドデコーダと、を有することを特徴とする請求項１又は請求項２に記載のＩＣカードである。
【００２５】
請求項４に記載の発明は、ホスト機器からのコマンドを受信するホストインタフェース部と、前記ホストインタフェース部が受信した前記コマンド（以下「受信コマンド」と呼ぶ。）に従い処理を行う機能動作部と、をそれぞれ有する複数の機能ユニットを有し、前記ホストインタフェース部は、その機能ユニットが処理可能なコマンドからなる第１のコマンド群を記憶し、受信コマンドが前記第１のコマンド群に属するか否かを検索してその検索結果である第１の検索結果を出力するコマンドデコーダと、前記受信コマンドに対する応答を生成する応答生成部と、前記第１の検索結果を他の機能ユニットの前記ホストインタフェース部に伝送し、他の機能ユニットの前記ホストインタフェース部から伝送された、受信コマンドが他の機能ユニットの前記ホストインタフェース部の前記第１のコマンド群に属するか否かの検索結果である前記第１の検索結果（以下、他の機能ユニットのホストインタフェース部が出力した第１の検索結果を「第２の検索結果」と呼ぶ。）を入力し、前記第１の検索結果及び前記第２の検索結果に応じて前記応答生成部を制御する調停部と、を有することを特徴とするＩＣカードである。
【００２６】
請求項５に記載の発明は、前記調停部は、更に、自機能ユニットの状態を他の機能ユニットの調停部に出力し且つ前記他の機能ユニットの調停部から他の機能ユニットの状態を入力し、前記他の機能ユニットの状態を前記応答生成部を制御する条件に加える、ことを特徴とする請求項４に記載のＩＣカードである。
【００２７】
請求項６に記載の発明は、前記ホストインタフェース部は、受信コマンドが前記第１のコマンド群に属するコマンドであれば応答し、受信コマンドが前記第２のコマンド群に属するコマンドであれば応答せず、受信コマンドが前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さないコマンドであれば、予め定められた機能ユニットの前記ホストインタフェース部が応答する、ことを特徴とする請求項１から請求項５のいずれかの請求項に記載のＩＣカードである。
【００２８】
請求項７に記載の発明は、前記ホストインタフェース部は、受信コマンドが前記第１のコマンド群に属するコマンドであれば応答し、受信コマンドが前記第２のコマンド群に属するコマンドであれば応答せず、受信コマンドが前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さないコマンドであれば応答せず且つ受信コマンドが不正であることを示すフラグをセットし、次の受信コマンドが前記第１のコマンド群に属するコマンドであれば、その受信コマンドに応答すると共に先の受信コマンドが不正であるという情報をホストに送り、且つ前記フラグをリセットする、ことを特徴とする請求項１から請求項５のいずれかの請求項に記載のＩＣカードである。
「受信コマンドが不正」とは、受信コマンドが、そのＩＣカードの全ての機能ユニットにとって処理不可能なコマンドであることを意味する。
【００２９】
請求項８に記載の発明は、受信コマンドが前記第１のコマンド群にも前記第２のコマンド群にも属するコマンドであれば、予め定められた機能ユニットの前記ホストインタフェース部が応答することを特徴とする請求項６又は請求項７に記載のＩＣカードである。
【００３０】
請求項９に記載の発明は、前記ホストインタフェース部は、前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さない受信コマンドの次に、前記第２のコマンド群に属するコマンドを受信した場合は、応答せず、前記フラグをリセットすることを特徴とする請求項７に記載のＩＣカードである。
【００３１】
請求項１０に記載の発明は、前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さない受信コマンドの次に、前記第１のコマンド群及び前記第２のコマンド群のいずれにも属するコマンドを受信した場合は、予め定められた機能ユニットの前記ホストインタフェース部がその受信コマンドに応答すると共に先の受信コマンドが不正であるという情報をホストに送り、且つ前記フラグをリセットし、予め定められた機能ユニット以外の機能ユニットの前記ホストインタフェース部は応答せず、前記フラグをリセットすることを特徴とする請求項７に記載のＩＣカードである。
【００３２】
請求項１１に記載の発明は、前記第１のコマンド群に属するコマンドを受信した場合には応答を返し、前記第１のコマンド群に属さないコマンドを受信した場合には応答を返さない第１のインタフェースモードと、受信コマンドに必ず応答を返す第２のインタフェースモードと、を有し、前記第１のインタフェースモードにおいては、請求項７に記載のＩＣカードとして機能し、前記第２のインタフェースモードにおいては請求項６に記載のＩＣカードとして機能することを特徴とするＩＣカードである。
【００３３】
請求項１２に記載の発明は、ホスト機器からのコマンドを受信するホストインタフェース部と、前記ホストインタフェース部が受信した前記コマンド（以下「受信コマンド」と呼ぶ。）に従い処理を行う機能動作部と、をそれぞれ有する複数の機能ユニットを有するＩＣカードの制御方法であって、各機能ユニットにおいて、受信コマンドがその機能ユニットが処理可能なコマンドからなる第１のコマンド群に属するか否かを検索してその検索結果である第１の検索結果を出力し、受信コマンドが他の機能ユニットが処理可能なコマンドからなる第２のコマンド群に属するか否かを検索してその検索結果である第２の検索結果を出力するコマンド検索ステップと、各機能ユニットにおいて、前記第１の検索結果及び前記第２の検索結果に応じて、前記受信コマンドに対して応答を生成する応答生成ステップと、を有することを特徴とするＩＣカードの制御方法である。
【００３４】
請求項１３に記載の発明は、他の機能ユニットの状態を検知する状態検知ステップを更に有し、前記応答生成ステップにおいて前記他の機能ユニットの状態を応答生成の条件に加える、ことを特徴とする請求項１２に記載のＩＣカードの制御方法である。
【００３５】
請求項１４に記載の発明は、ホスト機器からのコマンドを受信するホストインタフェース部と、前記ホストインタフェース部が受信した前記コマンド（以下「受信コマンド」と呼ぶ。）に従い処理を行う機能動作部と、をそれぞれ有する複数の機能ユニットを有するＩＣカードの制御方法であって、各機能ユニットにおいて、受信コマンドがその機能ユニットが処理可能なコマンドからなる前記第１のコマンド群に属するか否かを検索してその検索結果である第１の検索結果を出力するコマンド検索ステップと、各機能ユニットにおいて、前記第１の検索結果を他の機能ユニットの前記ホストインタフェース部に伝送し、他の機能ユニットの前記ホストインタフェース部から伝送された、受信コマンドが他の機能ユニットの前記ホストインタフェース部の前記第１のコマンド群に属するか否かの検索結果である前記第１の検索結果（以下、他の機能ユニットのホストインタフェース部が出力した第１の検索結果を「第２の検索結果」と呼ぶ。）を入力する入力ステップと、各機能ユニットにおいて、前記第１の検索結果及び前記第２の検索結果に応じて、前記受信コマンドに対して応答を生成する応答生成ステップと、を有することを特徴とするＩＣカードの制御方法である。
【００３６】
請求項１５に記載の発明は、自機能ユニットの状態を含む情報を他の機能ユニットのホストインタフェース部に出力する状態出力ステップと、他の機能ユニットのホストインタフェース部から他の機能ユニットの状態を含む情報を入力する状態入力ステップと、を更に有し、前記応答生成ステップにおいて前記他の機能ユニットの状態を応答生成の条件に加える、ことを特徴とする請求項１４に記載のＩＣカードの制御方法である。
【００３７】
請求項１６に記載の発明は、前記応答生成ステップが、受信コマンドが前記第１のコマンド群に属するコマンドであれば応答する第１の応答ステップと、受信コマンドが前記第２のコマンド群に属するコマンドであれば応答しない第２の応答ステップと、受信コマンドが前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さないコマンドであれば、予め定められた機能ユニットの前記ホストインタフェース部が応答する第３の応答ステップと、を有することを特徴とする請求項１２から請求項１５のいずれかの請求項に記載のＩＣカードの制御方法である。
【００３８】
請求項１７に記載の発明は、前記応答生成ステップが、受信コマンドが前記第１のコマンド群に属するコマンドであれば応答する第１の応答ステップと、受信コマンドが前記第２のコマンド群に属するコマンドであれば応答しない第２の応答ステップと、受信コマンドが前記第１のコマンド群及び前記第２のコマンド群のいずれにも属さないコマンドであれば応答せず且つ受信コマンドが不正であることを示すフラグをセットする第４の応答ステップと、前記第４の応答ステップの次に受信するコマンドが前記第１のコマンド群に属するコマンドであれば、その受信コマンドに応答すると共に先の受信コマンドが不正であるという情報をホストに送り、且つ前記フラグをリセットする第５の応答ステップと、を有することを特徴とする請求項１２から請求項１５のいずれかの請求項に記載のＩＣカードの制御方法である。
【００３９】
請求項１８に記載の発明は、前記応答生成ステップが、受信コマンドが前記第１のコマンド群にも前記第２のコマンド群にも属するコマンドであれば、予め定められた機能ユニットの前記ホストインタフェース部が応答する第６の応答ステップを有することを特徴とする請求項１６又は請求項１７に記載のＩＣカードの制御方法である。
【００４０】
請求項１９に記載の発明は、前記応答生成ステップが、前記第４の応答ステップの次に受信するコマンドが前記第２のコマンド群に属するコマンドであれば、応答せず、前記フラグをリセットする第７の応答ステップを有することを特徴とする請求項１７に記載のＩＣカードの制御方法である。
【００４１】
請求項２０に記載の発明は、前記応答生成ステップが、前記第４の応答ステップの次に受信するコマンドが前記第１のコマンド群及び前記第２のコマンド群のいずれにも属するコマンドであれば、予め定められた機能ユニットの前記ホストインタフェース部がその受信コマンドに応答すると共に先の受信コマンドが不正であるという情報をホストに送り、且つ前記フラグをリセットし、予め定められた機能ユニット以外の機能ユニットの前記ホストインタフェース部は応答せず、前記フラグをリセットする、第８の応答ステップを有することを特徴とする請求項１７に記載のＩＣカードの制御方法である。
【００４２】
請求項２１に記載の発明は、前記第１のコマンド群に属するコマンドを受信した場合には応答を返し、前記第１のコマンド群に属さないコマンドを受信した場合には応答を返さない第１のインタフェースモードと、受信コマンドに必ず応答を返す第２のインタフェースモードと、を有し、前記第１のインタフェースモードにおいては、請求項１７に記載の制御方法を実行し、前記第２のインタフェースモードにおいては請求項１６に記載の制御方法を実行することを特徴とするＩＣカードの制御方法である。
【００４３】
本発明は、ホストが、通信の混乱を引き起こすことなく、複数の機能ユニットを制御し、各機能ユニットからの応答を認識できる多機能型ＩＣカード及びその制御方法を実現できるという作用を有する。
【００４４】
【発明の実施の形態】
以下に本発明の実施をするための好適な形態を具体的に示した実施例について図面を参照しながら説明する。
【００４５】
《実施例１》
図１〜４を用いて、本発明の実施例１の多機能モジュールカード（多機能型ＩＣカード）及びその制御方法について説明する。
図１は本発明の実施例１の多機能モジュールカードの構成を示すブロック図である。
図１において、１０１はホスト（本実施例においてはパソコンである。）、１１１は多機能モジュールカードである。多機能モジュールカード１１１は、ホスト１０１の入出力部１０２とバスライン１０３を介して接続されている。
【００４６】
ホスト１０１と、ホストに挿入された実施例１の多機能モジュールカードとは、ホスト１０１をマスタとし、多機能モジュールカード１１１をスレーブとするマスタ／スレーブ型の通信を行う。実施例１のバスライン１０３は、従来例２のバスライン１０３と同じである。実施例１の装置はシンクロナス通信（ホスト１０１がクロックを供給する。）を行うが、アシンクロナス通信であっても良い。
【００４７】
多機能モジュールカード１１１は、バス制御部１２１、ホストＩ／Ｆ部（Ａ）１３１、機能モジュール（Ａ）１４１、ホストＩ／Ｆ部（Ｂ）１５１及び機能モジュール（Ｂ）１６１を有する。
ホストＩ／Ｆ部（Ａ）１３１及びそれに対応する機能モジュール（Ａ）１４１は、機能ユニット（実施例においてはメモリユニットである。）を構成する。
ホストＩ／Ｆ部（Ｂ）１５１及びそれに対応する機能モジュール（Ｂ）１６１は、機能ユニット（実施例においてはデジタルカメラユニットである。）を構成する。
【００４８】
バス制御部１２１は、ホスト１０１の入出力部１０２から送信されたコマンド、データ及びクロックをそのまま全てのホストＩ／Ｆ部（ホストＩ／Ｆ部（Ａ）１３１、ホストＩ／Ｆ部（Ｂ）１５１）の入出力部１３２、１５２に分配して伝送し、ホストから伝送されたクロックにより各入出力部１３２、１５２から出力されたレスポンス、データの論理積をホスト１０１の入出力部１０２に伝送する。
【００４９】
バス制御部１２１と入出力部１３２、１５２との間の内部バスは、これらの入出力部が全てハイインピーダンスである時、ＨＩＧＨレベルになる。後述するように、実施例１の多機能モジュールカード１１１においては１つのコマンドに対して、１つのホストＩ／Ｆ部のみが応答するように制御される。各入出力部１３２、１５２から出力されたレスポンス、データは、バス制御部１２１を介して、ホスト１０１の入出力部１０２に伝送される。バス制御部１２１は実質的に入出力バッファである。
バス制御部１２１を削除し、ホストからのバスライン１０３に、各機能ユニットの入出力部１３２、１５２を直接並列に接続しても良い。
【００５０】
ホストＩ／Ｆ部（Ａ）１３１、ホストＩ／Ｆ部（Ｂ）１５１は、ホスト１０１と機能モジュール（Ａ）１４１、機能モジュール（Ｂ）１６１間のＩ／Ｆ処理を行う。
本実施例において、機能モジュール（Ａ）１４１は、読み書き可能な不揮発性のメモリへのアクセスを行うメモリ専用の機能モジュールである。機能モジュール（Ｂ）１６１は、デジタルカメラとのＩ／Ｏ処理を行う。
ホストＩ／Ｆ部（Ａ）１３１は、メモリモジュール用のホストＩ／Ｆ部であり、ホストＩ／Ｆ部（Ｂ）１５１は、Ｉ／Ｏ用のホストＩ／Ｆ部である。ホストＩ／Ｆ部（Ｂ）１５１には、デジタルカメラ用モジュールである機能モジュール（Ｂ）１６１のみならず、複数の異なる機能モジュール（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格の無線通信モジュール、ＧＰＳモジュール等）を接続することも可能である。
また、ホストＩ／Ｆ部（Ａ）１３１、ホストＩ／Ｆ部（Ｂ）１５１と並列に、他のホストＩ／Ｆ部を接続することもできる。
【００５１】
ホストＩ／Ｆ部（Ａ）１３１は、入出力部１３２、第１のコマンドデコーダ１３３、機能モジュールＩ／Ｆ部１３４、第２のコマンドデコーダ１３５、調停部１３６及び応答生成部１３７を有する。
ホストＩ／Ｆ部（Ｂ）１５１は、入出力部１５２、第１のコマンドデコーダ１５３、機能モジュールＩ／Ｆ部１５４、第２のコマンドデコーダ１５５、調停部１５６及び応答生成部１５７を有する。
ホストＩ／Ｆ部（Ａ）１３１とホストＩ／Ｆ部（Ｂ）１５１は、バス制御部１２１を介する接続の他に状態監視用信号路１７１にて相互に接続されている。
【００５２】
ホストＩ／Ｆ部（Ａ）１３１及びホストＩ／Ｆ部（Ｂ）１５１は具体的に処理可能なコマンドが異なるが、以下のホストＩ／Ｆ部の説明は両者に共通する。そこでホストＩ／Ｆ部（Ａ）１３１を例にとって説明する。説明中のホストＩ／Ｆ部（Ａ）１３１の各符号等をホストＩ／Ｆ部（Ｂ）１５１の各符号等に置き換え、ホストＩ／Ｆ部（Ｂ）１５１の各符号等をホストＩ／Ｆ部（Ａ）１３１の各符号等に置き換えることにより、ホストＩ／Ｆ部（Ｂ）１５１を理解することができる。
ホストＩ／Ｆ部（Ａ）１３１において、入出力部１３２は、ホスト１０１からのコマンド、データの受信及びホスト１０１への応答、データの送信を行う。入出力部１３２は、受信コマンドを第１のコマンドデコーダ１３３及び第２のコマンドデコーダ１３５に出力する。
【００５３】
例えば入出力部１３２は、ホスト１０１からデータライト要求等のデータを伴うコマンドを受信した場合は、コマンドに伴うデータ（例えば機能モジュール（Ａ）１４１がメモリに書き込むデータ）を機能モジュールＩ／Ｆ部１３４を介して機能モジュール（Ａ）１４１に伝送する。例えば入出力部１３２は、ホスト１０１からデータリード要求等の処理結果を要求するコマンドを受信した場合は、その処理結果（例えば機能モジュール（Ａ）１４１がメモリから読み出したデータ）をホスト１０１に送信する。
【００５４】
第１のコマンドデコーダ１３３は、ホストＩ／Ｆ部（Ａ）１３１及び機能モジュール（Ａ）１４１の機能ユニットが処理可能なコマンドからなる第１のコマンド群を記憶しており、受信コマンドを第１のコマンド群の範囲で解析する。受信コマンドが第１のコマンド群に属していれば、受信コマンドの内容を機能モジュールＩ／Ｆ部１３４を通じて機能モジュール（Ａ）１４１に伝送し、機能モジュール（Ａ）１４１はその内容に応じた処理を行う。また、応答生成部１３７は受信コマンドに対する応答を返す。また、第１のコマンドデコーダ１３３は、受信コマンドが前記第１のコマンド群に属するか否かを検索してその検索結果である第１の検索結果を調停部１３６に出力する。
【００５５】
第２のコマンドデコーダ１３５は、ホストＩ／Ｆ部（Ｂ）１５１及び機能モジュール（Ｂ）１６１の機能ユニットが処理可能なコマンドからなる第２のコマンド群を記憶しており、受信コマンドを第２のコマンド群の範囲で解析する。第２のコマンドデコーダ１３５は、受信コマンドが前記第２のコマンド群に属するか否かを検索してその検索結果である第２の検索結果を調停部１３６に出力する。
ホストＩ／Ｆ部（Ａ）１３１の第１のコマンドデコーダ１３３は、ホストＩ／Ｆ部（Ｂ）１５１の第２のコマンドデコーダ１５５と同一のブロックであり、ホストＩ／Ｆ部（Ｂ）１５１の第１のコマンドデコーダ１５３は、ホストＩ／Ｆ部（Ａ）１３１の第２のコマンドデコーダ１３５と同一のブロックである。ブロックを共通化することにより、ＩＣカードの開発効率を向上させることができる。
【００５６】
機能モジュールＩ／Ｆ部１３４は、ホストＩ／Ｆ部（Ａ）１３１と機能モジュール（Ａ）１４１との間のＩ／Ｆ処理を行う。第１のコマンドデコーダ１３３がコマンドを解析した結果、受信コマンドが当該機能ユニットで処理可能なコマンドの場合には、コマンドの内容が機能モジュールＩ／Ｆ部１３４を介して機能モジュール（Ａ）１４１に出力される。また、機能モジュール（Ａ）１４１で処理された結果は機能モジュールＩ／Ｆ部１３４を介して、応答生成部１３７に出力される。
【００５７】
調停部１３６は、第１のコマンドデコーダ１３３が出力する第１の検索結果、第２のコマンドデコーダ１３５が出力する第２の検索結果、バスモード（後述）及び他の機能ユニット（ホストＩ／Ｆ部（Ｂ）１５１及び機能モジュール（Ｂ）１６１）の状態（後述）を基に、応答生成部１３７（受信コマンドに対する応答）の制御を行う。
【００５８】
各機能ユニットは、ホストからの初期化コマンドを受信し、機能ユニットの初期化処理を行う。初期化処理完了後、当該機能ユニットは、ホストからの通常コマンド（その機能ユニット特有の動作を制御するコマンド、例えば、データリード要求等）に対しての処理が可能となる。
本実施例においては、機能ユニットの状態は、初期化処理が完了している状態と初期化処理が完了していない状態の２つの状態を示し、以降、それぞれ「初期化完了状態」と「初期化未完了状態」と称す。
【００５９】
ホストＩ／Ｆ部（Ａ）１３１は、ホストＩ／Ｆ部（Ａ）１３１を含む機能ユニットが初期化完了状態の場合は状態監視用信号路１７１を通じてＨＩＧＨレベルの信号をホストＩ／Ｆ部（Ｂ）１５１に伝送し、ホストＩ／Ｆ部（Ａ）１３１を含む機能ユニットが初期化未完了状態の場合は状態監視用信号路１７１を通じてＬＯＷレベルの信号をホストＩ／Ｆ部（Ｂ）１５１に伝送する。
同様に、ホストＩ／Ｆ部（Ｂ）１５１は、ホストＩ／Ｆ部（Ｂ）１５１を含む機能ユニットが初期化完了状態の場合は状態監視用信号路１７１を通じてＨＩＧＨレベルの信号をホストＩ／Ｆ部（Ａ）１３１に伝送し、ホストＩ／Ｆ部（Ｂ）１５１を含む機能ユニットが初期化未完了状態の場合は状態監視用信号路１７１を通じてＬＯＷレベルの信号をホストＩ／Ｆ部（Ａ）１３１に伝送する。
【００６０】
状態監視用信号路１７１により、各ホストＩ／Ｆ部は、他の機能ユニットの状態（初期化完了状態／初期化未完了状態）を知ることができる。
各ホストＩ／Ｆ部は、その機能ユニットが初期化完了状態であればホストからの通常コマンドに応答可能であり、その機能ユニットが初期化未完了状態であればホストからの通常コマンドに応答しない。
【００６１】
バスモードとは、ホストＩ／Ｆ部が管理する、ホスト１０１とのバスライン１０３での通信における２つのモードである。バスモードには第１のＩ／Ｆモードと第２のＩ／Ｆモードがある。
第１のＩ／Ｆモードは、ＩＣカードは、ＩＣカードが有するいずれかの機能ユニットが処理可能なコマンドを受信した場合にはホストに応答を返し、ＩＣカードが有する全ての機能ユニットが処理不可能なコマンド（不正なコマンド）を受信した場合にはホストに応答を返さないモードである。不正なコマンドを受信したＩＣカードは、次に処理可能なコマンドを受信すると、そのコマンドに応答すると共に、先のコマンドが不正であったという情報をホストに送る。
【００６２】
第２のＩ／Ｆモードは、ホスト１０１からのコマンドに対して、ＩＣカードが必ず応答を返すモードである。ＩＣカードは、そのＩＣカードが有する機能ユニットでは処理できないコマンドを受信した場合にも、ホストに応答（例えばコマンドが不正であることを示すＮＡＣＫ））を返す。
【００６３】
従来技術には無い第２のコマンドデコーダと調停部を有する点が、実施例１における本発明の特徴である。
【００６４】
応答生成部１３７は、調停部１３６からの制御信号と、第１のコマンドデコーダ１３３の解析結果（コマンドの種類に応じて応答が異なる。）に従ってホスト１０１に対する応答を生成し、入出力部１３２に出力する。また、応答生成部１３７は、機能モジュール（Ａ）１４１が出力したデータを入力し、入出力部１３２に出力する。具体的な応答方法は、以下に説明する。
【００６５】
次に、ホスト１０１からのコマンド受信時におけるホストＩ／Ｆ部（Ａ）１３１、ホストＩ／Ｆ部（Ｂ）１５１の動作について説明する。
図２及び図３は、ホスト１０１からのコマンドを受信した後のホストＩ／Ｆ部（Ａ）１３１、ホストＩ／Ｆ部（Ｂ）１５１の動作を示すフローチャートである。ここではホストＩ／Ｆ部（Ａ）１３１を例にとって説明する。説明中のホストＩ／Ｆ部（Ａ）１３１の各符号等をホストＩ／Ｆ部（Ｂ）１５１の各符号等に置き換えることにより、ホストＩ／Ｆ部（Ｂ）１５１を理解することができる。
最初に入出力部１３２がホスト１０１からのコマンドを受信したか否かをチェックする。ホスト１０１からのコマンドを受信した場合はステップＳ２０２に移行する。それ以外の場合は本処理を抜ける（ステップＳ２０１）。
【００６６】
次に、第１のコマンドデコーダ１３３及び第２のコマンドデコーダ１３５は、その受信コマンドを解析し、それぞれ第１の検索結果及び第２の検索結果を出力する。
調停部１３６は、現在のバスモード（ホストとの間で行っている通信のモード）が、第１のＩ／Ｆモードか（ＩＣカードが受信コマンド（種別）を処理可能な場合にのみ、ホストに応答を返すモード）又は第２のＩ／Ｆモード（ＩＣカードが受信コマンド（種別）を処理可能か否かにかかわらず、必ずホストに応答を返すモード）であるかの判定を行う（ステップＳ２０２）。
バスモードが「第２のＩ／Ｆモード」の場合はステップＳ２０３に移行し、それ以外の場合（第１のＩ／Ｆモード）はステップＳ３０１（図３）に移行する。
【００６７】
［第２のＩ／Ｆモードの場合の処理］
調停部１３６は、第１の検索結果に基づいて、受信コマンドが自ホストＩ／Ｆ部（自機能ユニット）用のコマンドであるかどうかを判別する（ステップＳ２０３）。受信コマンドが第１のコマンド群に属するという第１の検索結果が得られれば、受信コマンドは自ホストＩ／Ｆ部（ホストＩ／Ｆ部（Ａ）１３１）用であると判断する。受信コマンドが第１のコマンド群に属さないという第１の検索結果が得られれば、受信コマンドはホストＩ／Ｆ部（Ａ）１３１用のコマンドでないと判断する。
【００６８】
ホストＩ／Ｆ部（Ａ）１３１用のコマンド（自ホストＩ／Ｆ部専用、又は自ホストＩ／Ｆ部及び他のホストＩ／Ｆ部の共通コマンド）である場合、第１のコマンドデコーダ１３３は、機能モジュールＩ／Ｆ部１３４を介して機能モジュール（Ａ）１４１にコマンドの内容（指令）情報を出力する。機能モジュール（Ａ）１４１はそのコマンドに従い処理を行う（ステップＳ２０４）。
この時、ホストＩ／Ｆ部（Ａ）１３１の状態が、初期化未完了状態である場合は、受信コマンドが初期化コマンドである場合のみ処理を行う。
【００６９】
次いで、調停部１３６は、第２の検索結果に基づいて、受信コマンドが他のホストＩ／Ｆ部（ホストＩ／Ｆ部（Ｂ）１５１）用のコマンドでもあるかどうかを判別する（ステップＳ２０５）。受信コマンドが第２のコマンド群に属するという第２の検索結果が得られれば、受信コマンドはホストＩ／Ｆ部（Ｂ）１５１用のコマンドであると判断する。受信コマンドが第２のコマンド群に属さないという第２の検索結果が得られれば、受信コマンドはホストＩ／Ｆ部（Ｂ）１５１用のコマンドでないと判断する。
受信コマンドがホストＩ／Ｆ部（Ｂ）１５１用のコマンドでない場合はステップＳ２０６に移行する。
【００７０】
次に、調停部１３６は、ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要があるかどうかを判断する（ステップＳ２０６）。
自ホストＩ／Ｆ部がホストに対して応答できるか否かは、受信コマンドの内容、自ホストＩ／Ｆ部（自機能ユニット）の状態、他のホストＩ／Ｆ部（他の機能ユニット）の状態及び応答優先権フラグの値によって定まる。
「応答優先権フラグ」は、各ホストＩ／Ｆ部が保持しており、このフラグがＯＮの場合は、”応答優先権あり”となり、ＯＦＦの場合は”応答優先権なし”となる。応答優先権フラグの値は予め決められた固定値である。
【００７１】
調停部１３６は、この応答優先権フラグ、第１のコマンドデコーダ１３３の検索結果、第２のコマンドデコーダ１３５の検索結果、ホストＩ／Ｆ部（Ａ）１３１及びホストＩ／Ｆ部（Ｂ）１５１の状態により自ホストＩ／Ｆ部（ホストＩ／Ｆ部（Ａ）１３１）がホスト１０１に対して応答を行えるかどうかを判断する。
【００７２】
図４は、ホスト１０１への自ホストＩ／Ｆ部の応答有無とそれを決める前述の各条件を表（応答決定表）にしたものである。
応答決定表は受信コマンドの内容に応じて４つの区分を有する。
「自ホストＩ／Ｆ部のコマンド」は、自ホストＩ／Ｆ部（自機能ユニット）専用のコマンドであることを示す。「他ホストＩ／Ｆ部のコマンド」は、他のホストＩ／Ｆ部（他の機能ユニット）専用のコマンドであることを示す。「共通コマンド」は、自ホストＩ／Ｆ部及び他のホストＩ／Ｆ部で共通のコマンドであることを示す。「未定義コマンド」は、自ホストＩ／Ｆ部及び他のホストＩ／Ｆ部ともに対応していないコマンドであることを示す。
【００７３】
左端の項目において、「自ホストＩ／Ｆ部の状態」とは、自機能ユニットの状態を示す。”○”は初期化完了状態を示し、”×”は初期化未完了状態であることを示す。
「他のホストＩ／Ｆ部の状態」とは、他の機能ユニットの状態を示す。”○”は初期化完了状態を示し、”×”は初期化未完了状態であることを示す。
「自ホストＩ／Ｆ部の優先権」は、応答優先権フラグの状態を示す。”○”は「応答権あり」と初期設定（ＯＮ）されていることを示し、”×”は「応答権なし」と初期設定（ＯＦＦ）されていることを示す。
「応答の有無」において、”○”の場合は、自ホストＩ／Ｆ部がホストに対して応答を返すことを示し、”×”の場合は、他のホストＩ／Ｆ部が応答を返すことを示す。
【００７４】
ステップＳ２０６において、ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要があるかどうかの判断は、この図４の応答決定表に基づき行われる。また、ステップＳ２０６の処理では、受信コマンドが、自ホストＩ／Ｆ部専用であるので、応答決定表の最上位項目（受信コマンドの内容）の内、一番左側の区分（自ホストＩ／Ｆ部のコマンド）のみで判断すれば良い。
ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がある場合は、調停部１３６は、ホスト１０１に対する応答の生成を応答生成部１３７に要求する。応答生成部１３７によって生成された応答は入出力部１３２を介してホスト１０１へ送信され（ステップＳ２０７）、本処理は終了する。
【００７５】
ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がない場合は、ホストＩ／Ｆ部（Ａ）１３１はホストへの応答を返さず処理を終了する（ホストＩ／Ｆ部（Ｂ）１５１がホストへの応答を行う（ステップＳ２１２）。）。
ステップＳ２０５において、受信コマンドがホストＩ／Ｆ部（Ｂ）１５１用のコマンドでもある場合（受信コマンドがホストＩ／Ｆ部（Ａ）１３１、ホストＩ／Ｆ部（Ｂ）１５１で共通のコマンドの場合）は、ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要があるかどうかを判断する（ステップＳ２０８）。
【００７６】
ステップＳ２０８の処理では、受信コマンドがホストＩ／Ｆ部（Ａ）１３１及びホストＩ／Ｆ部（Ｂ）１５１で共通のコマンドあるので、図４の応答決定表の最上位項目（受信コマンドの内容）の内、左から３番目の区分（共通コマンド）のみで判断すれば良い。
ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がある場合は、ステップＳ２０７の処理を行い、本処理は終了する。
ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がない場合は、ホストＩ／Ｆ部（Ａ）１３１はホストへの応答を返さず処理を終了する（ホストＩ／Ｆ部（Ｂ）１５１がホストへの応答を行う（ステップＳ２１２）。）。
【００７７】
ステップＳ２０３で、受信コマンドがホストＩ／Ｆ部（Ａ）１３１用のコマンドでない場合、調停部１３６は、受信コマンドが他のホストＩ／Ｆ部（ホストＩ／Ｆ部（Ｂ）１５１）用のコマンドであるかどうかを判別する（ステップＳ２０９）。ホストＩ／Ｆ部（Ｂ）１５１用のコマンドである場合は、調停部１３６は、ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要があるかどうかを判断する（ステップＳ２１０）。
【００７８】
ステップＳ２１０の処理では、受信コマンドがホストＩ／Ｆ部（Ｂ）１５１専用のコマンドあるので、図４の応答決定表の最上位項目（受信コマンドの内容）の内、左から２番目の区分（他のホストＩ／Ｆ部のコマンド）のみで判断すれば良い。
ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がある場合は、ステップＳ２０７の処理を行い、本処理は終了する。
ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がない場合は、ホストＩ／Ｆ部（Ａ）１３１はホストへの応答を返さず処理を終了する（ホストＩ／Ｆ部（Ｂ）１５１がホストへの応答を行う（ステップＳ２１２）。）。
【００７９】
ステップＳ２０９で、受信コマンドがホストＩ／Ｆ部（Ｂ）１５１用のコマンドでもない場合、調停部１３６は、ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要があるかどうかを判断する（ステップＳ２１１）。
ステップＳ２１１の処理では、受信コマンドが、ホストＩ／Ｆ部（Ａ）１３１及びホストＩ／Ｆ部（Ｂ）１５１で対応していないコマンドであるので、図４の応答決定表の最上位項目（受信コマンドの内容）の内、左から４番目の区分（未定義コマンド）のみで判断すれば良い。
ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がある場合は、ステップＳ２０７の処理を行い、本処理は終了する。
ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がない場合は、ホストＩ／Ｆ部（Ａ）１３１はホストへの応答を返さず処理を終了する（ホストＩ／Ｆ部（Ｂ）１５１がホストへの応答を行う（ステップＳ２１２）。）。
【００８０】
［第１のＩ／Ｆモードの場合の処理（図３）］
次にＳ２０２で、現在のバスモードが第１のＩ／Ｆモードであると判定された場合の処理について、図３を用いて説明する。
調停部１３６は、ステップＳ２０２の解析結果（第１の検索結果）から受信コマンドが自ホストＩ／Ｆ部（ホストＩ／Ｆ部（Ａ）１３１）用のコマンドであるかどうかを判別する（ステップＳ３０１）。
自ホストＩ／Ｆ部用のコマンド（自ホストＩ／Ｆ部専用又は共通コマンド）である場合は、機能モジュールＩ／Ｆ部１３４を介して機能モジュール（Ａ）１４１にコマンドの内容（指令）情報を出力する。機能モジュール（Ａ）１４１はその指令に従い処理を行う（ステップＳ３０２）。
この時、ホストＩ／Ｆ部（Ａ）１３１の状態が、初期化未完了状態である場合は、受信コマンドが初期化コマンドである場合のみ処理を行う。
【００８１】
次いで、調停部１３６は、第２の検索結果に基づいて受信コマンドが他のホストＩ／Ｆ部（ホストＩ／Ｆ部（Ｂ）１５１）用のコマンドでもあるかどうかを判別する（ステップＳ３０３）。ホストＩ／Ｆ部（Ｂ）１５１用のコマンドでない場合は、調停部１３６は、ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要があるかどうかを判断する（ステップＳ３０４）。
ステップＳ３０４の処理では、受信コマンドがホストＩ／Ｆ部（Ａ）１３１専用のコマンドあるので、図４の応答決定表の最上位項目（受信コマンドの内容）の内、一番左側の区分（自ホストＩ／Ｆ部のコマンド）のみで判断すれば良い。
【００８２】
ただし、第１のＩ／Ｆモードでは、自ホストＩ／Ｆ部及び他のホストＩ／Ｆ部で処理不可能な場合においては、ホストへの応答を返さないため、自ホストＩ／Ｆ部の状態が初期化未完了の状態（図４の応答決定表で”×”の箇所）では、応答を返さない。
【００８３】
ステップＳ３０４において、ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がある場合は、調停部１３６は、ホスト１０１に対する応答の生成を応答生成部１３７に要求する。応答生成部１３７によって生成された応答は入出力部１３２を介してホスト１０１へ送信される（ステップＳ３０５）。この時、不正フラグがＯＮとなっている場合（先の受信コマンドが不正であった場合）には、応答生成部１３７は、応答（コマンド長は４８ビットである。）の所定のビット（不正フラグビット）を立てる。これによりホスト１０１は、直前のコマンドが不正コマンド（どのホストＩ／Ｆ部も処理できないコマンド）であったことを認識できる。
【００８４】
不正フラグとは、第１のＩ／Ｆモードにおいて、ホストからのコマンド受信時に、多機能モジュールカード上の全ホストＩ／Ｆ部（実施例１においてはホストＩ／Ｆ部（Ａ）１３１及びホストＩ／Ｆ部（Ｂ）１５１）で、ともに処理不可能である場合にＯＮにするフラグであり、各々のホストＩ／Ｆ部で管理される。不正フラグは、全ホストＩ／Ｆ部の内、いずれか一つのホストＩ／Ｆ部が処理可能であるコマンドを受信した場合にクリア（ＯＦＦ）される。
従って、複数のホストＩ／Ｆ部が動作中である場合には、各々の不正フラグは同一値を示す。
調停部１３６は不正フラグを（ＯＮの場合には）ＯＦＦにし（ステップＳ３０６）、本処理は終了する。
【００８５】
ステップＳ３０４において、ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がない場合（ホストＩ／Ｆ部（Ａ）１３１が初期化未完了状態の場合）は、調停部１３６は不正フラグをＯＮにし（ステップＳ３１２）、本処理を終了する。（ホストへの応答を行わない。）
【００８６】
ステップＳ３０３において、受信コマンドが他のホストＩ／Ｆ部（ホストＩ／Ｆ部（Ｂ）１５１）用のコマンドでもある場合（受信コマンドがホストＩ／Ｆ部（Ａ）１３１及びホストＩ／Ｆ部（Ｂ）１５１で共通のコマンドの場合）、調停部１３６は、ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要があるかどうかを判断する（ステップＳ３０７）。
ステップＳ３０７の処理では、受信コマンドがホストＩ／Ｆ部（Ａ）１３１及びホストＩ／Ｆ部（Ｂ）１５１で共通のコマンドであるので、図４の応答決定表の最上位項目（受信コマンドの内容）の内、左から３番目の区分（共通コマンド）のみで判断すれば良い。
ただし、ステップＳ３０４と同様に、自ホストＩ／Ｆ部の状態が初期化未完了の状態（図４の応答決定表で”×”の箇所）では応答を返さない。
【００８７】
ステップＳ３０７において、ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がある場合は、ステップＳ３０５（ホストへの応答処理）及びＳ３０６（不正フラグのクリア）を実行し、本処理を終了する。ステップＳ３０５及びＳ３０６は既に説明済みである。
ステップＳ３０７において、ホストＩ／Ｆ部（Ａ）１３１がホストへ応答を行う必要がない場合は、調停部１３６は、状態監視用信号路１７１からの入力信号に基づいて、ホストＩ／Ｆ部（Ｂ）１５１が初期化完了状態であるか否かを判定する（ステップＳ３０８）。ホストＩ／Ｆ部（Ｂ）１５１が初期化完了状態である場合は、ホストＩ／Ｆ部（Ｂ）１５１がホスト１０１への応答を行う（ステップＳ３０９）。調停部１３６は不正フラグを（ＯＮの場合には）ＯＦＦにし（ステップＳ３０６）、本処理は終了する。
【００８８】
ステップＳ３０８において、ホストＩ／Ｆ部（Ｂ）１５１が初期化未完了状態である場合は、調停部１３６は不正フラグをＯＮにし（ステップＳ３１２）、本処理を終了する。（ホストへの応答を行わない。）
ステップＳ３０１で受信コマンドが自ホストＩ／Ｆ部（ホストＩ／Ｆ部（Ａ）１３１）用のコマンドでない場合、調停部１３６は、第２の検索結果に基づいて受信コマンドが他のホストＩ／Ｆ部（ホストＩ／Ｆ部（Ｂ）１５１）用のコマンドであるか否かを判別する（ステップＳ３１０）。ホストＩ／Ｆ部（Ｂ）１５１用のコマンドである場合は、調停部１３６は、状態監視用信号路１７１からの入力信号に基づいて、ホストＩ／Ｆ部（Ｂ）１５１が初期化完了状態であるか否かを判定する（ステップＳ３１１）。
【００８９】
ステップＳ３１１で、ホストＩ／Ｆ部（Ｂ）１５１が初期化完了状態である場合は、ホストＩ／Ｆ部（Ｂ）１５１がホスト１０１への応答を行う（ステップＳ３０９）。調停部１３６は不正フラグを（ＯＮの場合には）ＯＦＦにし（ステップＳ３０６）、本処理は終了する。
ステップＳ３１１で、ホストＩ／Ｆ部（Ｂ）１５１が初期化未完了状態である場合は、調停部１３６は不正フラグをＯＮにし（ステップＳ３１２）、本処理を終了する。（ホストへの応答を行わない。）
【００９０】
第１のＩ／Ｆモードにおいては、ＩＣカード上の全ホストＩ／Ｆ部で処理不可能なコマンドを受信した場合に不正フラグをＯＮする（ステップＳ３１２）。次に自ホストＩ／Ｆ部で処理可能なコマンドを受信して、応答する場合は、応答コマンドの所定のビット（不正フラグビット）を立てて（１に設定して）先のコマンドが不正であったという情報をホストに伝える（ステップＳ３０５）。そして不正フラグをＯＦＦにする（ステップＳ３０６）。
また、ＩＣカード上の全ホストＩ／Ｆ部で処理不可能なコマンドを受信した後に、いずれかのホストＩ／Ｆ部で処理可能なコマンドを受信し、他のホストＩ／Ｆ部が応答する場合（ステップＳ３０９）は、不正フラグをＯＦＦにする（ステップＳ３０６）。
【００９１】
尚、実施例１のＩＣカードは２つの機能ユニットを有しているが、ＩＣカードが３つ以上の機能ユニットを搭載することもできる。例えばＩＣカードが３つの機能ユニットを搭載する場合は、第２のコマンドデコーダは、他の機能ユニットの数と同数の第２のコマンド群を有し、同数の第２の検索結果を出力する。それぞれの第２のコマンド群は、対応する他のホストＩ／Ｆ部が処理可能なコマンドからなる。各第２の検索結果は、受信コマンドが１つの第２のコマンド群に属するか否かを示す。
また、各ホストＩ／Ｆ部は、他の２つのホストＩ／Ｆ部とそれぞれ状態監視用信号路で接続されており、２つの他のホストＩ／Ｆ部の状態（機能ユニットの状態）を知ることができる。１つの他のホストＩ／Ｆ部が初期化未完了状態の場合は、調停部は、初期化未完了状態の他のホストＩ／Ｆ部に係る第２の検索結果を使用しない。それ以外の点において、３つ以上の機能ユニットを搭載するＩＣカードは、実施例１のＩＣカードと同様である。
【００９２】
《実施例２》
図５を用いて、本発明の実施例２の多機能モジュールカード（多機能型ＩＣカード）及びその制御方法について説明する。
図５は本発明の実施例２の多機能モジュールカードの構成を示すブロック図である。
図５において、１０１はホスト（本実施例においてはパソコンである。）、５１１は多機能モジュールカードである。多機能モジュールカード５１１は、ホスト１０１の入出力部１０２とバスライン１０３を介して接続されている。
ホスト１０１と、ホストに挿入された実施例２の多機能モジュールカードとは、ホストをマスタとし、多機能モジュールカード５１１をスレーブとするマスタ／スレーブ型の通信を行う。
【００９３】
実施例２の多機能モジュールカード５１１（図５）と実施例１の多機能モジュールカード１１１（図１）は、ホストへの応答の送信制御方法において違いがある。他の点は同一である。実施例１と同一機能を有するものには図１と同一符号を付し、説明を省略する。
多機能モジュールカード５１１は、バス制御部１２１、ホストＩ／Ｆ部（Ａ）５３１、機能モジュール（Ａ）１４１、ホストＩ／Ｆ部（Ｂ）５５１及び機能モジュール（Ｂ）１６１を有する。
ホストＩ／Ｆ部（Ａ）５３１及びそれに対応する機能モジュール（Ａ）１４１は、機能ユニット（実施例においてはメモリユニットである。）を構成する。
ホストＩ／Ｆ部（Ｂ）５５１及びそれに対応する機能モジュール（Ｂ）１６１は、機能ユニット（実施例においてはデジタルカメラユニットである。）を構成する。
【００９４】
ホストＩ／Ｆ部（Ａ）５３１は、入出力部１３２、第１のコマンドデコーダ１３３、機能モジュールＩ／Ｆ部１３４、調停部５３３及び応答生成部１３７を有する。
ホストＩ／Ｆ部（Ｂ）５５１は、入出力部１５２、第１のコマンドデコーダ１５３、機能モジュールＩ／Ｆ部１５４、調停部５５３及び応答生成部１５７を有する。ホストＩ／Ｆ部（Ａ）５３１の調停部５３３と、ホストＩ／Ｆ部（Ｂ）５５１の調停部５５３とは、データの送受信が可能な伝送路であるホストＩ／Ｆ部間通信路５６１で相互に接続されている。
【００９５】
実施例２の多機能モジュールカードは、第２のコマンドデコーダを有しておらず、それに代えて、ホストＩ／Ｆ部間通信路５６１を有する点で実施例１の多機能モジュールカードと異なる。それ以外の点において、両者は同一である。
入出力部、第１のコマンドデコーダ、機能モジュールＩ／Ｆ部及び応答生成部については、実施例１と同一機能であるため説明を省略する。
【００９６】
調停部５３３（５５３）は、第１のコマンドデコーダ１３３（１５３）から第１の検索結果を受けると、第１の検索結果をホストＩ／Ｆ部間通信路５６１を介して他のホストＩ／Ｆ部の調停部５５３（５３３）に通知する。
実施例２のホストＩ／Ｆ部において、他のホストＩ／Ｆ部の調停部から送られてくる第１のコマンドデコーダの第１の検索結果が、実施例１のホストＩ／Ｆ部の第２のコマンドデコーダの第２の検索結果に相当する。また、実施例１において他のホストＩ／Ｆ部の状態（初期化完了／初期化未完了）を用いたが、これは、他のホストＩ／Ｆ部の調停部から第１のコマンドデコーダの解析結果が送られてくれば初期化完了状態であり、送られてこない場合は初期化未完了状態と判断することで対応できる。
【００９７】
また、調停部５３３（５５３）は、自ホストＩ／Ｆ部（Ａ）５３１（（Ｂ）５５１）の状態（初期化完了／初期化未完了）に関する情報を他のホストＩ／Ｆ部の調停部５５３（５３３）に出力しても良い。この場合、この情報から調停部５３３（５５３）は、他の機能ユニットの状態（初期化完了／初期化未完了）を判断する。
【００９８】
調停部５３３（５５３）は、第１のコマンドデコーダ１３３（１５３）の第１の検索結果、他のホストＩ／Ｆ部の第１のコマンドデコーダ１５３（１３３）の第１の検索結果、他の機能ユニットの状態及びバスモード（実施例１で説明）の状態を基に、応答生成部１３７（１５７）を制御する。応答生成部１３７（１５７）は、制御に応じて、受信コマンドに対する応答を行う。
【００９９】
【発明の効果】
本発明によれば、通信が途絶することなく、且つ１つのＩＣカードに搭載された複数の機能ユニットからの応答が相互に衝突することなく、ホストが正しく各機能ユニットからの応答を認識できるＩＣカード及びその制御方法を実現できるという有利な効果が得られる。
本発明によれば、簡易な構成で１つのＩＣカードに搭載された複数の機能ユニットの制御を精度良く行うことができるＩＣカード及びその制御方法を実現できるという有利な効果が得られる。
【０１００】
本発明によれば、単機能のＩＣカードがホストとの間で行う通信と互換性を維持して、ホストとの間でスムーズに通信を行う多機能型ＩＣカード及びその制御方法を実現できるという有利な効果が得られる。
本発明によれば、単機能のＩＣカードが簡易な方法でホストと通信する特徴を維持しつつ、ホストとの間でスムーズに通信を行う多機能型ＩＣカード及びその制御方法を実現できるという有利な効果が得られる。
【０１０１】
本発明によれば、機能ユニットを並列に接続するだけで、複数の機能を有するＩＣカードを実現できる。本発明によれば、短期間に低コストで開発できる多機能型ＩＣカード及びその制御方法を実現できるという有利な効果が得られる。
また、本発明によれば、ホスト−多機能型ＩＣカード間で、コマンドに対する応答方法が異なる複数のモードに応じて、最適の方法で各機能ユニットを制御することができる多機能型ＩＣカード及びその制御方法を実現できるという有利な効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施例１の多機能モージュールカードの内部構成を示すブロック図である。
【図２】本発明の実施例１の多機能モージュールカードの応答制御動作（第２のＩ／Ｆモード時を含む。）を示すフローチャートである。
【図３】本発明の実施例１の多機能モージュールカードの第１のＩ／Ｆモード時での応答制御動作を示すフローチャートである。
【図４】本発明の実施例１において「応答の有無」の決定表である。
【図５】本発明の実施例２における多機能モージュールカードの内部構成を示すブロック図である。
【図６】従来例２の複数の機能ユニットを搭載したＩＣカードの構成を示すブロック図である。
【符号の説明】
１０１　ホスト
１０２、１３２、１５２　入出力部
１０３　バスライン
１１１、５１１、６０１　多機能モジュールカード
１２１　バス制御部
１３１、５３１　ホストＩ／Ｆ部（Ａ）
１３３、１５３　第１のコマンドデコーダ
１３４、１５４　機能モジュールＩ／Ｆ部
１３５、１５５　第２のコマンドデコーダ
１３６、１５６、５３３、５５３　調停部
１３７、１５７　応答生成部
１４１　機能モジュール（Ａ）
１５１、５５１　ホストＩ／Ｆ部（Ｂ）
１６１　機能モジュール（Ｂ）
１７１　状態監視用信号路
５６１　ホストＩ／Ｆ部間通信路
６１１、６２１　機能ユニット
６１２、６２２　ホストＩ／Ｆ部
６１３、６２３　機能モジュール
【図１】
2004021351.tif 000003
【図２】
2004021351.tif 000004
【図３】
2004021351.tif 000005
【図４】
2004021351.tif 000006
【図５】
2004021351.tif 000007
【図６】
2004021351.tif 000008