(57)【特許請求の範囲】
【請求項１】
入出力部、前記入出力部を通じて情報を入出力する制御部、及び前記制御部により制御されて動作する機能動作部をそれぞれ有する、第１の機能ユニットを含む複数の機能ユニットを有し、
前記第１の機能ユニットの前記入出力部は、
外部から送信された情報が前記第１の機能ユニットに宛てた情報であればその情報を前記第１の機能ユニットの前記制御部に伝送し且つ外部に情報を送信する第１の入出力部と、
外部から送信された情報が前記第１の機能ユニット以外の機能ユニットに宛てた情報であればその情報を第２の入出力部に伝送し且つ前記第２の入出力部が入力した情報を外部に送信する第１の調停部と、
前記第１の調停部から伝送された情報を前記第１の機能ユニット以外の機能ユニットの前記入出力部に伝送し、前記第１の機能ユニット以外の機能ユニットの前記入出力部から伝送された情報を入力する前記第２の入出力部と、
を有する、ことを特徴とするＩＣカード。
【請求項２】
第１の機能ユニットを含む３つ以上の機能ユニットと、前記第２の入出力部と前記第１の機能ユニット以外の複数の機能ユニットの前記入出力部との間に配置した第２の調停部と、を有し、
前記第２の調停部は、前記第２の入出力部から伝送された情報をその宛先又は内容に応じて前記第１の機能ユニット以外の複数の機能ユニットの前記入出力部に振り分けて伝送し、前記第１の機能ユニット以外の複数の機能ユニットの前記入出力部から伝送された情報を入力して前記第２の入出力部に伝送する、
ことを特徴とする請求項１に記載のＩＣカード。
【請求項３】
それぞれの前記機能ユニットは、複数の状態を有し且つその状態を管理する状態管理部を有し、
少なくとも１つの情報は、１つの前記機能ユニットの１つの状態において処理可能であり、且つその機能ユニットの他の状態において処理不可能であり、
前記第１の調停部は、それぞれの前記機能ユニットの前記状態管理部から伝送された状態の情報に基づいて、外部から入力した複数の前記機能ユニットに宛てた情報がそのうちの１つの前記機能ユニットにとって処理可能であり且つ他の前記機能ユニットにとって処理不可能である場合は、その情報が処理可能である前記機能ユニットのみにその情報を伝送することを特徴とする請求項１に記載のＩＣカード。
【請求項４】
それぞれの前記機能ユニットは、複数の状態を有し且つその状態を管理する状態管理部を有し、
少なくとも１つの情報は、１つの前記機能ユニットの１つの状態において処理可能であり、且つその機能ユニットの他の状態において処理不可能であり、
前記第１の調停部又は前記第２の調停部は、それぞれの前記機能ユニットの前記状態管理部から伝送された状態の情報に基づいて、外部から入力した複数の前記機能ユニットに宛てた情報がそのうちの１つの前記機能ユニットにとって処理可能であり且つ他の前記機能ユニットにとって処理不可能である場合は、その情報が処理可能である前記機能ユニットのみにその情報を伝送することを特徴とする請求項２に記載のＩＣカード。
【請求項５】
前記機能ユニットは、情報が処理不可能である場合に応答情報を出力する第１のモードと応答情報を出力しない第２のモードとを有し、前記第１の調停部は、前記機能ユニットが第１のモードであるか第２のモードであるかに応じて、外部から送信された情報を異なる方法で前記機能ユニットに伝送することを特徴とする請求項１又は３に記載のＩＣカード。
【請求項６】
前記機能ユニットは、情報が処理不可能である場合に応答情報を出力する第１のモードと応答情報を出力しない第２のモードとを有し、前記第１の調停部又は前記第２の調停部は、前記機能ユニットが第１のモードであるか第２のモードであるかに応じて、外部から送信された情報を異なる方法で前記機能ユニットに伝送することを特徴とする請求項２又は４に記載のＩＣカード。
【請求項７】
外部から複数の前記機能ユニットに宛てた情報を入力した場合は、その情報をそれぞれの前記機能ユニットに伝送し、
前記第１の調停部は、それぞれの前記機能ユニットからの応答情報を入力し、
応答情報の中に、外部から入力した情報が処理可能である場合の応答情報と、外部から入力した情報が処理不可能である場合の応答情報とが含まれれば、外部から入力した情報が処理可能である場合の応答情報のみを出力する、
ことを特徴とする請求項１、３又は５に記載のＩＣカード。
【請求項８】
外部から複数の前記機能ユニットに宛てた情報を入力した場合は、その情報をそれぞれの前記機能ユニットに伝送し、
前記第１の調停部又は前記第２の調停部は、それぞれの前記機能ユニットからの応答情報を入力し、
応答情報の中に、外部から入力した情報が処理可能である場合の応答情報と、外部から入力した情報が処理不可能である場合の応答情報とが含まれれば、外部から入力した情報が処理可能である場合の応答情報のみを出力する、
ことを特徴とする請求項２、４又は６に記載のＩＣカード。
【請求項９】
少なくとも１本の線を他の機能ユニットの入出力部と共用して外部との間で情報を入出力する前記入出力部、前記入出力部を通じて情報を入出力する制御部、及び前記制御部により制御されて動作する機能動作部をそれぞれ有する第２の機能ユニットと第３の機能ユニットとを有し、
前記第２の機能ユニットの入出力部（以下「第３の入出力部」と言う。）と前記第３の機能ユニットの入出力部（以下「第４の入出力部」と言う。）とは、前記第３の入出力部が処理可能な情報を入力したという情報を前記第３の入出力部から前記第４の入出力部に伝送し且つ前記第４の入出力部が処理可能な情報を入力したという情報を前記第４の入出力部から前記第３の入出力部に伝送する線で接続されており、
前記線を通じて前記第３の入出力部が処理可能な情報を入力したという情報を前記第４の入出力部が入力した場合は、前記第４の入出力部はその情報に対して応答情報を出力せず、
前記線を通じて前記第４の入出力部が処理可能な情報を入力したという情報を前記第３の入出力部が入力した場合は、前記第３の入出力部はその情報に対して応答情報を出力しない、
ことを特徴とするＩＣカード。
【請求項１０】
少なくとも１本の線を他の機能ユニットの入出力部と共用して外部との間で情報を入出力する前記入出力部、前記入出力部を通じて情報を入出力する制御部、及び前記制御部により制御されて動作する機能動作部をそれぞれ有する第２の機能ユニットと第３の機能ユニットとを有し、
前記第２の機能ユニットの入出力部（以下「第３の入出力部」と言う。）と前記第３の機能ユニットの入出力部（以下「第４の入出力部」と言う。）とは、前記第３の入出力部が処理可能な情報を入力したという情報を前記第３の入出力部から前記第４の入出力部に伝送し且つ前記第４の入出力部が処理可能な情報を入力したという情報を前記第４の入出力部から前記第３の入出力部に伝送する線で接続されており、
前記線を通じて前記第３の入出力部が処理可能な情報を入力したという情報を前記第４の入出力部が入力し且つ前記第４の入出力部がその情報が処理不可能であると判断した場合は、前記第４の入出力部はその情報に対して応答情報を出力せず、
前記線を通じて前記第４の入出力部が処理可能な情報を入力したという情報を前記第３の入出力部が入力し且つ前記第３の入出力部がその情報が処理不可能であると判断した場合は、前記第３の入出力部はその情報に対して応答情報を出力しない、
ことを特徴とするＩＣカード。
【請求項１１】
第１の機能ユニットを含む３つ以上の機能ユニットと、第２の入出力部と前記第１の機能ユニット以外の複数の機能ユニットの入出力部との間に配置した第２の調停部とを有し、
前記複数の機能ユニットは、前記入出力部と、前記入出力部を通じて情報を入出力する制御部と、前記制御部により制御されて動作する機能動作部とをそれぞれ有する、
ＩＣカードの制御方法であって、
前記第１の機能ユニットの前記入出力部が、外部から送信された情報をその宛先又は内容に応じて前記第１の機能ユニットの前記制御部又は前記第２の調停部に振り分ける第１の振り分けステップと、
前記第２の調停部が、前記第１の機能ユニットの前記入出力部から送信された情報をその宛先又は内容に応じて前記第１の機能ユニット以外の複数の機能ユニットに振り分ける第２の振り分けステップと、
を有することを特徴とするＩＣカードの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＩＣカード及びその制御方法に関する。
【０００２】
【従来の技術】
従来のシステムにおいては、異なる複数の機能モジュールはホストのそれぞれ別々の入出力部に接続していた。このようなＩＣカードをホストに接続するシステムにおいては、使用できるＩＣカードの数はホストの入出力部の数以下に制限される。それ故、たくさんの機能モジュールを一度に使うことはできない。また、ホストにたくさんの入出力部を設けるとホストの小型化を妨げることにもなる。そこで、複数の機能モジュールの入出力バスを並列に接続することにより、ホストの１つの入出力部を使って複数の機能モジュールを同時に使うことができるＩＣカードを作成した。
【０００３】
図１２を用いて従来のＩＣカードを説明する。 図１２は従来のマスター／スレーブ型ＩＣカードシステムのブロック図である。１０１はホスト（マスター）、１２１１はＩＣカードである。ホスト１０１は、入出力部１０２を有する。また、ＩＣカード１２１１は、機能ユニット１１３、１１４（スレーブ）を有する。機能ユニット１１３は入出力部１２１、制御部１２２、機能動作部１２３を有する。同様に機能ユニット１１４は入出力部１２４、制御部１２５、機能動作部１２６を有する。
１枚のＩＣカード宛ての指令はそのＩＣカードに搭載されている全ての機能ユニットに伝送される。このような場合は、例えば機能ユニット毎に受け付ける指令の種類を限定して割り当てる。機能ユニットが割り当てられた指令以外の指令を入力した場合は、その指令は他の機能ユニットに宛てた指令であると判断して応答しない。これにより、ホストと複数の機能ユニットとの通信秩序が保たれる。
【０００４】
次に従来のＩＣカードのデータの流れについて説明する。ホスト１０１からの複数の機能ユニット１１３及び１１４宛の指令は、ホスト１０１の入出力部１０２からＩＣカード１２１１に入力される。ＩＣカード１２１１に入力された指令は、機能ユニット１１３及び１１４の両方に伝送される。
機能ユニット内においては、指令はまず入出力部１２１、１２４に入力される。入出力部１２１、１２４は、入力した指令に含まれる指令番号などの情報により、入力した指令がその機能ユニットで処理可能か否かを判断する（従来例及び全ての実施例において同様である。）。
【０００５】
指令が例えば処理不可能な指令等でかつＩＣカードが第２のモードである場合は、入出力部１２１、１２４はすぐにレスポンスを返す。指令が例えば入出力部の設定指令等の場合は、入出力部１２１、１２４はすぐにレスポンスを返す。指令が例えば機能動作部１２３、１２６の設定指令等の場合は、入出力部１２１、１２４は指令を制御部１２２、１２５に伝送する。制御部１２２、１２５は指令に応じて機能動作部を設定し、入出力部１２１、１２４を経由してレスポンスを返す。指令が例えば機能動作部１２３、１２６（例えばＲＡＭとする。）からデータを読み取る指令等の場合は、入出力部１２１、１２４は指令を制御部１２２、１２５を経由して機能動作部１２３、１２６に伝送する。機能動作部１２３、１２６は制御部１２２、１２５及び入出力部１２１、１２４を経由してレスポンス（ＲＡＭから読み出したデータを含む。）を返す。最後にホスト１０１は、ＩＣカード１２１１から出力されたレスポンスを受け取る。
【０００６】
もし１つの指令が複数の機能ユニットに宛てて送られ、複数の機能ユニットが同一の応答（例えば「ＡＣＫ」）を同期して送り返す（例えばシンクロナス伝送）場合は、ホストは複数の機能ユニットから伝送された応答を読み取ることが出来る。
第１のモードとは、処理不可能な指令を受け取ってもエラー情報を返さず、処理不可能な指令を受け取ったという情報を記憶するモードである。また、第２のモードとは、処理不可能な指令を受け取るとすぐにエラーである旨の返答をするモードである。
【０００７】
しかし、複数の機能ユニットが１つの指令に応答し且つその応答内容が相互に異なる場合、複数の機能ユニットからの応答が干渉し合って、ホストはそれらの応答を読み取ることが出来ない。例えば１枚のＩＣカード上の複数の機能ユニットの中の１つの機能ユニットのみが処理可能な指令が入力された場合（その指令を処理できない機能ユニットも当該指令に応答する。）、当該指令を処理可能な機能ユニットは「ＡＣＫ」を返し、他の機能ユニットは「ＮＡＫ」を返す。ホストは２つの応答（ＡＣＫ及びＮＡＫ）が混じった信号（例えば２つの応答のＡＮＤ信号）を入力する故に、応答を読み取ることが出来ない。またすべての機能ユニットが処理可能な指令が入力された場合であっても、処理結果が異なることもありホストに混乱を生じさせてしまう。
【０００８】
【発明が解決しようとする課題】
従来のＩＣカードにおいては、例えばホストから１つの指令が複数の機能ユニットに伝送され、複数の機能ユニットがその指令に対して複数の異なる処理結果を返してホストに混乱を生じさせる場合があった。
本発明は、上記の問題を解決し、信号が衝突することなく、ホストに１つの正しい処理結果を返すＩＣカード及びその制御方法を提供することを目的とする。
本発明は、応答方法が異なる複数のモードに応じて、最適の方法で外部から伝送された情報を各機能ユニットに伝送するＩＣカード及びその制御方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記課題を解決するため、本発明は下記の構成を有する。
【００１０】
請求項１に記載の発明は、入出力部、前記入出力部を通じて情報を入出力する制御部、及び前記制御部により制御されて動作する機能動作部をそれぞれ有する、第１の機能ユニットを含む複数の機能ユニットを有し、前記第１の機能ユニットの前記入出力部は、外部から送信された情報が前記第１の機能ユニットに宛てた情報であればその情報を前記第１の機能ユニットの前記制御部に伝送し且つ外部に情報を送信する第１の入出力部と、外部から送信された情報が前記第１の機能ユニット以外の機能ユニットに宛てた情報であればその情報を第２の入出力部に伝送し且つ前記第２の入出力部が入力した情報を外部に送信する第１の調停部と、前記第１の調停部から伝送された情報を前記第１の機能ユニット以外の機能ユニットの前記入出力部に伝送し、前記第１の機能ユニット以外の機能ユニットの前記入出力部から伝送された情報を入力する前記第２の入出力部と、を有する、ことを特徴とするＩＣカードである。
【００１１】
請求項２に記載の発明は、第１の機能ユニットを含む３つ以上の機能ユニットと、前記第２の入出力部と前記第１の機能ユニット以外の複数の機能ユニットの前記入出力部との間に配置した第２の調停部と、を有し、前記第２の調停部は、前記第２の入出力部から伝送された情報をその宛先又は内容に応じて前記第１の機能ユニット以外の複数の機能ユニットの前記入出力部に振り分けて伝送し、前記第１の機能ユニット以外の複数の機能ユニットの前記入出力部から伝送された情報を入力して前記第２の入出力部に伝送する、ことを特徴とする請求項２に記載のＩＣカードである。
【００１３】
請求項３に記載の発明は、それぞれの前記機能ユニットは、複数の状態を有し且つその状態を管理する状態管理部を有し、少なくとも１つの情報は、１つの前記機能ユニットの１つの状態において処理可能であり、且つその機能ユニットの他の状態において処理不可能であり、前記第１の調停部は、それぞれの前記機能ユニットの前記状態管理部から伝送された状態の情報に基づいて、外部から入力した複数の前記機能ユニットに宛てた情報がそのうちの１つの前記機能ユニットにとって処理可能であり且つ他の前記機能ユニットにとって処理不可能である場合は、その情報が処理可能である前記機能ユニットのみにその情報を伝送することを特徴とする請求項１に記載のＩＣカードである。
請求項４に記載の発明は、それぞれの前記機能ユニットは、複数の状態を有し且つその状態を管理する状態管理部を有し、少なくとも１つの情報は、１つの前記機能ユニットの１つの状態において処理可能であり、且つその機能ユニットの他の状態において処理不可能であり、前記第１の調停部又は前記第２の調停部は、それぞれの前記機能ユニットの前記状態管理部から伝送された状態の情報に基づいて、外部から入力した複数の前記機能ユニットに宛てた情報がそのうちの１つの前記機能ユニットにとって処理可能であり且つ他の前記機能ユニットにとって処理不可能である場合は、その情報が処理可能である前記機能ユニットのみにその情報を伝送することを特徴とする請求項２に記載のＩＣカードである。
【００１４】
請求項５に記載の発明は、前記機能ユニットは、情報が処理不可能である場合に応答情報を出力する第１のモードと応答情報を出力しない第２のモードとを有し、前記第１の調停部は、前記機能ユニットが第１のモードであるか第２のモードであるかに応じて、外部から送信された情報を異なる方法で前記機能ユニットに伝送することを特徴とする請求項１又は３に記載のＩＣカードである。
請求項６に記載の発明は、前記機能ユニットは、情報が処理不可能である場合に応答情報を出力する第１のモードと応答情報を出力しない第２のモードとを有し、前記第１の調停部又は前記第２の調停部は、前記機能ユニットが第１のモードであるか第２のモードであるかに応じて、外部から送信された情報を異なる方法で前記機能ユニットに伝送することを特徴とする請求項２又は４に記載のＩＣカードである。
【００１５】
請求項７に記載の発明は、外部から複数の前記機能ユニットに宛てた情報を入力した場合は、その情報をそれぞれの前記機能ユニットに伝送し、前記第１の調停部は、それぞれの前記機能ユニットからの応答情報を入力し、応答情報の中に、外部から入力した情報が処理可能である場合の応答情報と、外部から入力した情報が処理不可能である場合の応答情報とが含まれれば、外部から入力した情報が処理可能である場合の応答情報のみを出力する、ことを特徴とする請求項１、３又は５に記載のＩＣカードである。
請求項８に記載の発明は、外部から複数の前記機能ユニットに宛てた情報を入力した場合は、その情報をそれぞれの前記機能ユニットに伝送し、前記第１の調停部又は前記第２の調停部は、それぞれの前記機能ユニットからの応答情報を入力し、応答情報の中に、外部から入力した情報が処理可能である場合の応答情報と、外部から入力した情報が処理不可能である場合の応答情報とが含まれれば、外部から入力した情報が処理可能である場合の応答情報のみを出力する、ことを特徴とする請求項２、４又は６に記載のＩＣカードである。
【００１６】
請求項９に記載の発明は、少なくとも１本の線を他の機能ユニットの入出力部と共用して外部との間で情報を入出力する前記入出力部、前記入出力部を通じて情報を入出力する制御部、及び前記制御部により制御されて動作する機能動作部をそれぞれ有する第２の機能ユニットと第３の機能ユニットとを有し、前記第２の機能ユニットの入出力部（以下「第３の入出力部」と言う。）と前記第３の機能ユニットの入出力部（以下「第４の入出力部」と言う。）とは、前記第３の入出力部が処理可能な情報を入力したという情報を前記第３の入出力部から前記第４の入出力部に伝送し且つ前記第４の入出力部が処理可能な情報を入力したという情報を前記第４の入出力部から前記第３の入出力部に伝送する線で接続されており、前記線を通じて前記第３の入出力部が処理可能な情報を入力したという情報を前記第４の入出力部が入力した場合は、前記第４の入出力部はその情報に対して応答情報を出力せず、前記線を通じて前記第４の入出力部が処理可能な情報を入力したという情報を前記第３の入出力部が入力した場合は、前記第３の入出力部はその情報に対して応答情報を出力しない、ことを特徴とするＩＣカードである。
【００１７】
請求項１０に記載の発明は、少なくとも１本の線を他の機能ユニットの入出力部と共用して外部との間で情報を入出力する前記入出力部、前記入出力部を通じて情報を入出力する制御部、及び前記制御部により制御されて動作する機能動作部をそれぞれ有する第２の機能ユニットと第３の機能ユニットとを有し、前記第２の機能ユニットの入出力部（以下「第３の入出力部」と言う。）と前記第３の機能ユニットの入出力部（以下「第４の入出力部」と言う。）とは、前記第３の入出力部が処理可能な情報を入力したという情報を前記第３の入出力部から前記第４の入出力部に伝送し且つ前記第４の入出力部が処理可能な情報を入力したという情報を前記第４の入出力部から前記第３の入出力部に伝送する線で接続されており、前記線を通じて前記第３の入出力部が処理可能な情報を入力したという情報を前記第４の入出力部が入力し且つ前記第４の入出力部がその情報が処理不可能であると判断した場合は、前記第４の入出力部はその情報に対して応答情報を出力せず、前記線を通じて前記第４の入出力部が処理可能な情報を入力したという情報を前記第３の入出力部が入力し且つ前記第３の入出力部がその情報が処理不可能であると判断した場合は、前記第３の入出力部はその情報に対して応答情報を出力しない、ことを特徴とするＩＣカードである。
【００１９】
請求項１１に記載の発明は、第１の機能ユニットを含む３つ以上の機能ユニットと、第２の入出力部と前記第１の機能ユニット以外の複数の機能ユニットの入出力部との間に配置した第２の調停部とを有し、前記複数の機能ユニットは、前記入出力部と、前記入出力部を通じて情報を入出力する制御部と、前記制御部により制御されて動作する機能動作部とをそれぞれ有する、ＩＣカードの制御方法であって、前記第１の機能ユニットの前記入出力部が、外部から送信された情報をその宛先又は内容に応じて前記第１の機能ユニットの前記制御部又は前記第２の調停部に振り分ける第１の振り分けステップと、前記第２の調停部が、前記第１の機能ユニットの前記入出力部から送信された情報をその宛先又は内容に応じて前記第１の機能ユニット以外の複数の機能ユニットに振り分ける第２の振り分けステップと、を有することを特徴とするＩＣカードの制御方法である。
【００２１】
本発明は、ホストからの指令が複数の機能ユニットに伝送された場合にも通信が混乱しないＩＣカード及びその制御方法を実現出来るという作用を有する。
本発明は、複数の機能ユニットがホストからの１つの指令に対して異なる処理結果を返す場合にも通信が混乱しないＩＣカード及びその制御方法を実現出来るという作用を有する。
本発明は、速い応答性を要求される機能ユニットに対する指令又はその応答についてはほとんど遅延を生じることなく、ホストから複数の機能ユニットに指令が伝送された場合にも通信が混乱しないＩＣカード及びその制御方法を実現出来るという作用を有する。
本発明は、応答方法が異なる複数のモードに応じて、最適の方法で外部から伝送された情報を各機能ユニットに伝送するＩＣカード及びその制御方法を実現出来るという作用を有する。
【００２２】
【発明の実施の形態】
以下、本発明の実施をするための最良の形態を具体的に示した実施例について、図面とともに記載する。
【００２３】
《実施例１》
図１、２を用いて、本発明の実施例１のＩＣカード（複数の機能を有するＩＣカードである。）について説明する。
はじめに実施例１のＩＣカードの構成について説明する。図１は本発明の実施例１のＩＣカードの構成を示すブロック図である。図１において、１０１はホスト（実施例１においてはコンピュータである。）、１１１はＩＣカードである。ホスト１０１は入出力部１０２を有する。また、ＩＣカード１１１は調停部１１２、機能ユニット１１３、１１４を有する。調停部１１２はアドレス記憶部１３１を有する。機能ユニット１１３は入出力部１２１、入出力部１２１を通じて情報を入出力する制御部１２２、制御部１２２により制御されて動作する機能動作部１２３を有する。同様に機能ユニット１１４は入出力部１２４、制御部１２５、機能動作部１２６を有する。
【００２４】
実施例１では、機能ユニット１１３はBluetooth（登録商標）モジュール（無線通信モジュール）、機能ユニット１１４はメモリモジュールである。
調停部１１２とホスト１０１の入出力部１０２との間の通信プロトコルと、調停部１１２と各機能ユニット１１３、１１４の入出力部１２１、１２４との間の通信プロトコルとは、同一である（ハードウエア及びソフトウエアのいずれの点でも同一である）。メーカーは、機能ユニット１１３のみを有するＩＣカード、機能ユニット１１４のみを有するＩＣカード、機能ユニット１１３及び１１４を有するＩＣカード、及びこれらの機能ユニットと同一のプロトコルを有する他の機能ユニットとを組み合わせたＩＣカード等を効率的に設計し、商品化することが出来る。
従来例と異なる点は、複数の機能ユニットの入出力部の前に調停部１１２を追加した点である。
【００２５】
次に実施例１のＩＣカードのデータの流れについて説明する。ホスト１０１からの複数の機能ユニット１１３及び１１４宛の指令は、ホスト１０１の入出力部１０２からＩＣカード１１１に伝送される。ＩＣカード１１１に入力された指令は、まず調停部１１２に入力される。調停部１１２では、入力した指令に含まれる指令番号などの情報により、指令がどの機能ユニット宛てであるかを判断し、宛先の機能ユニットにその指令を伝送する。複数の機能ユニットに宛てた指令であれば、複数の機能ユニットがその指令に応じて処理可能か否か判断し、その中に処理が可能である機能ユニットと処理が不可能である機能ユニットとが混じっていれば、その指令を処理可能な機能ユニットのみに伝送する。
【００２６】
機能ユニット内においては、指令はまず入出力部１２１、１２４に入力される。入出力部１２１、１２４は、入力した指令に含まれる指令番号などの情報により、入力した指令がその機能ユニットで処理可能か否かを判断する。
指令が例えば処理不可能な指令等でかつＩＣカードが第２のモードである場合は、入出力部１２１、１２４はすぐにレスポンスを返す。指令が例えば入出力部の設定指令等の場合は、入出力部１２１、１２４はすぐにレスポンスを返す。指令が例えば機能動作部１２３、１２６の設定指令等の場合は、入出力部１２１、１２４は指令を制御部１２２、１２５に伝送する。制御部１２２、１２５は指令に応じて機能動作部を設定し、入出力部１２１、１２４を経由してレスポンスを返す。指令が例えば機能動作部１２３、１２６（例えばＲＡＭとする。）からデータを読み取る指令等の場合は、入出力部１２１、１２４は指令を制御部１２２、１２５を経由して機能動作部１２３、１２６に伝送する。機能動作部１２３、１２６は制御部１２２、１２５及び入出力部１２１、１２４を経由してレスポンス（ＲＡＭから読み出したデータを含む。）を返す。最後にホスト１０１は、ＩＣカード１１１から出力されたレスポンスを受け取る。
【００２７】
明細書の記載における「入出力部が指令を処理可能であるか否かを判断する」という意味は、入出力部が実質的に判断すること、制御部又は機能動作部が指令を入力してその指令が処理可能であるか否かを判断し、その判断結果を入出力部に伝送すること、及びそれらの組み合わせであっても良い（他の実施例も同様である。）。
明細書の記載における「入出力部が処理結果をホストに送信する」ことは、入出力部が生成した処理結果、制御部が生成した処理結果、又は機能動作部が生成した処理結果を、入出力部がホストに送信することを意味する。
【００２８】
次に実施例１のＩＣカードの調停部１１２の機能について詳細に説明する。図２は本発明の実施例１のＩＣカードの制御方法のフローチャートである。まずステップ２０１で、ホストから伝送された複数の機能ユニット１１３及び１１４宛の指令が、調停部１１２に入力される。ステップ２０２で、入力された指令が機能ユニット１１３で処理可能な指令か否かを、調停部１１２が入力した指令に含まれる指令番号などの情報により判断する。機能ユニット１１３で処理可能な指令の場合は、ステップ２０３に進む。ステップ２０３で、入力された指令が機能ユニット１１４で処理可能な指令か否かを、調停部１１２が入力した指令に含まれる指令番号などの情報により判断する。機能ユニット１１４で処理可能な指令の場合は、ステップ２０４に進む。ステップ２０４において（機能ユニット１１３、１１４で共に処理可能な指令である場合）、調停部１１２は機能ユニット１１３及び１１４の両方に指令を送信する。ステップ２０５で指令に基づき機能ユニット１１３及び１１４それぞれが処理する。ステップ２０６で機能ユニット１１３及び１１４がそれぞれの処理結果を調停部１１２に送信する。ステップ２０７で、調停部１１２はあらかじめ決めておいた機能ユニットの処理結果をホスト１０１に送信し、このフローチャートは終了する。
【００２９】
ステップ２０３で、入力された指令が機能ユニット１１４で処理不可能な指令の場合は、ステップ２０８に進む。ステップ２０８において（機能ユニット１１３でのみ処理可能な指令である場合）、調停部１１２は機能ユニット１１３のみに指令を送信する。ステップ２０９で指令に基づき機能ユニット１１３が処理する。ステップ２１０で機能ユニット１１３が処理結果を調停部１１２に送信する。ステップ２１１で、調停部１１２はその処理結果をホスト１０１に送信し、このフローチャートは終了する。
ステップ２０２で、入力された指令が機能ユニット１１３で処理不可能な指令の場合は、ステップ２１２に進む。ステップ２１２では、ステップ２０３と同様に、入力された指令が機能ユニット１１４で処理可能な指令か否かを、調停部１１２が入力した指令に含まれる指令番号などの情報により判断する。機能ユニット１１４で処理可能な指令の場合は、ステップ２１３に進む。ステップ２１３において（機能ユニット１１４でのみ処理可能な指令である場合）、調停部１１２は機能ユニット１１４のみに指令を送信する。ステップ２１４で指令に基づき機能ユニット１１４が処理する。ステップ２１５で機能ユニット１１４が処理結果を調停部１１２に送信する。ステップ２１１で、調停部１１２はその処理結果をホスト１０１に送信し、このフローチャートは終了する。
【００３０】
ステップ２１２で、入力された指令が機能ユニット１１４で処理不可能な指令の場合は、ステップ２１６に進む。ステップ２１６において（機能ユニット１１３、１１４で共に処理不可能な指令である場合）、現在第１のモードか否か（実施例においては、第１のモードでない時は第２のモードである。全ての実施例において、全ての機能ユニットのモード（第１のモード又は第２のモード）は常に一致している。）を、調停部１１２が判断する。第１のモードでなければ（第２のモードであれば）ステップ２１７に進み、調停部１１２はあらかじめ決めておいた機能ユニットに指令を送信する。ステップ２１８で指令に基づき機能ユニットが処理する。ステップ２１９で機能ユニットが処理結果を調停部１１２に送信する。この処理結果は、入力された指令が機能ユニットで処理不可能であったという情報（エラー情報）を含む。ステップ２１１で、調停部１１２はその処理結果をホスト１０１に送信し、このフローチャートは終了する。
【００３１】
ステップ２１６で第１のモードであればステップ２２０に進み、調停部１１２は処理不可能な指令を受信したという情報を記憶し（機能ユニット１１３及び１１４には指令を送信しない。）、このフローチャートは終了する。
第１のモードとは、処理不可能な指令を受け取ってもエラー情報を返さず、処理不可能な指令を受け取ったという情報を記憶するモードである。また、第２のモードとは、処理不可能な指令を受け取るとすぐにエラーである旨の返答をするモードである。
【００３２】
本実施例においてステップ２０７では（機能ユニット１１３、１１４で共に処理可能な指令である場合）、調停部１１２はあらかじめ決めておいた機能ユニットの処理結果をホスト１０１に送信する。これに代えて、調停部１１２は機能ユニット１１３及び１１４の処理結果が同一か否かを判断し、同一の場合はその処理結果をホスト１０１に送信し、異なる場合はエラー情報をホスト１０１に送信することとしても良い。
また本実施例においてステップ２０４〜ステップ２０６では（機能ユニット１１３、１１４で共に処理可能な指令である場合）、調停部１１２は機能ユニット１１３及び１１４の両方に指令を送信し、指令に基づき機能ユニット１１３及び１１４の両方が処理し、機能ユニット１１３及び１１４がそれぞれの処理結果を調停部１１２に送信する。これに代えて、調停部１１２はあらかじめ決めておいた機能ユニットにのみ指令を送信し、指令を送信された機能ユニットのみが処理し、その機能ユニットのみが処理結果を調停部１１２に送信することとしても良い。
【００３３】
また本実施例においてステップ２１７、ステップ２１９では（機能ユニット１１３、１１４で共に処理不可能な指令でありかつ第２のモードである場合）、調停部１１２はあらかじめ決めておいた機能ユニットにのみ指令を送信し、指令を送信された機能ユニットのみが処理し、その機能ユニットのみが処理結果を調停部１１２に送信する。これに代えて、調停部１１２は機能ユニット１１３及び１１４に指令を送信することなく、処理が不可能であった旨のエラー情報をホスト１０１に送信することとしても良い。
【００３４】
本発明は、標準化されたプロトコルに対応する機能ユニットの入出力部の前に同一のプロトコルに対応する調停部を追加することにより、ホストへの応答信号の衝突がない簡単な構成のＩＣカードを実現した。
本発明は、複数のモードのプロトコルに対応するＩＣカードを実現した。
【００３５】
《実施例２》
図３〜５を用いて、本発明の実施例２のＩＣカード（複数の機能を有するＩＣカードである。）について説明する。
はじめに実施例２のＩＣカードの構成について説明する。図３は本発明の実施例２のＩＣカードの構成を示すブロック図である。図３において、１０１はホスト（実施例２においてはデジタルカメラである。）、３１１はＩＣカードである。ホスト１０１は入出力部１０２を有する。また、ＩＣカード３１１は第１の機能ユニット３１３、機能ユニット３１４を有する。第１の機能ユニット３１３は入出力部３２１、入出力部３２１を通じて情報を入出力する制御部３２２、制御部３２２により制御されて動作する機能動作部３２３を有する。機能ユニット３１４は入出力部３２４、制御部３２５、機能動作部３２６を有する。入出力部３２１は第１の入出力部３３１、第１の調停部３３２、第２の入出力部３３３を有する。
【００３６】
実施例２では、第１の機能ユニット３１３はBluetooth（登録商標）モジュール（無線通信モジュール）、機能ユニット３１４はメモリモジュールである。
入出力部３２１とホスト１０１の入出力部１０２との間の通信プロトコルと、入出力部３２１と他の機能ユニット３１４の入出力部３２４との間の通信プロトコルとは、同一である。
実施例１(図１)と同様の構成要素には同様の符号を付している。実施例１と異なる点は、実施例１では調停部は機能ユニットから独立しているが、調停部を１つの機能ユニットの入出力部内に持つことこととした点である。
【００３７】
次に実施例２のＩＣカードのデータの流れについて説明する。ホスト１０１からの複数の機能ユニット３１３及び３１４宛の指令は、ホスト１０１の入出力部１０２からＩＣカード３１１に伝送される。ＩＣカード３１１に入力された指令は、まず第１の機能ユニット３１３の入出力部３２１の第１の入出力部３３１及び第１の調停部３３２に入力される。第１の調停部３３２は、入力した指令に含まれる指令番号などの情報により、指令がどの機能ユニット宛てであるかを判断し、機能ユニット３１４宛ての場合は、指令を第２の入出力部３３３を経由して機能ユニット３１４の入出力部３２４に伝送する。
【００３８】
第１の入出力部３３１、入出力部３２４は、入力した指令に含まれる指令番号などの情報により、入力した指令がその機能ユニットで処理可能か否かを判断する。
指令が例えば処理不可能な指令等でかつＩＣカードが第２のモードである場合は、入出力部３３１、３２４はすぐにレスポンスを返す。指令が例えば入出力部の設定指令等の場合は、入出力部３３１、３２４はすぐにレスポンスを返す。指令が例えば機能動作部３２３、３２６の設定指令等の場合は、入出力部３３１、３２４は指令を制御部３２２、３２５に伝送する。制御部３２２、３２５は指令に応じて機能動作部を設定し、入出力部３３１、３２４を経由してレスポンス（例えばＡＣＫ）を返す。指令が例えば機能動作部３２３、３２６（例えば無線通信出力バッファとする。）にデータを書き込む指令（書き込みデータを含む。）等の場合は、入出力部３３１、３２４は指令を制御部３２２、３２５を経由して機能動作部３２３、３２６に伝送する。機能動作部３２３、３２６は無線通信出力バッファにデータを書き込んで、制御部３２２、３２５及び入出力部３３１、３２４を経由してレスポンス（例えばＡＣＫ）を返す。
機能ユニット３１４からのレスポンスはさらに第２の入出力部３３３、第１の調停部３３２を経由してＩＣカードから出力される。第１の調停部３３２が第２の入出力部３３３から受け取ったレスポンスを出力し、又は第１の入出力部３３１が機能ユニット３１３のレスポンスを出力する。ホスト１０１は、ＩＣカード３１１から出力されたレスポンスを受け取る。
【００３９】
次に実施例２のＩＣカードの第１の調停部３３２の機能について詳細に説明する。図４は本発明の実施例２のＩＣカードの制御方法のフローチャートである。まずステップ４０１でホストから伝送された複数の機能ユニット３１３及び３１４宛の指令が第１の入出力部３３１及び第１の調停部３３２に入力される。ステップ４０２で、入力された指令が第１の機能ユニット３１３で処理可能な指令か否かを、第１の調停部３３２が入力した指令に含まれる指令番号などの情報により判断する。第１の機能ユニット３１３で処理可能な指令の場合は、ステップ４０３に進む。ステップ４０３で、入力された指令が機能ユニット３１４で処理可能な指令か否かを、第１の調停部３３２が入力した指令に含まれる指令番号などの情報により判断する。機能ユニット３１４で処理可能な指令の場合は、ステップ４０４に進む。ステップ４０４において（第１の機能ユニット３１３、機能ユニット３１４で共に処理可能な指令である場合）、第１の調停部３１２は第２の入出力部３３３を経由して機能ユニット３１４に指令を送信する。ステップ４０５で指令に基づき第１の機能ユニット３１３及び機能ユニット３１４それぞれが処理する。ステップ４０６で機能ユニット３１４が処理結果を第２の入出力部３３３を経由して第１の調停部３３２に送信する。ステップ４０７で、第１の入出力部３３１は第１の機能ユニット３１３の処理結果をホスト１０１に送信し（第１の調停部３３２は処理結果を送信しない。）、このフローチャートは終了する。
【００４０】
ステップ４０３で、入力された指令が機能ユニット３１４で処理不可能な指令の場合は、ステップ４０８に進む。ステップ４０８において（機能ユニット３１３でのみ処理可能な指令である場合）、指令に基づき第１の機能ユニット３１３が処理する。ステップ４０７で、第１の入出力部３３１が第１の機能ユニット３１３の処理結果をホスト１０１に送信し（第１の調停部３３２は処理結果を送信しない。）、このフローチャートは終了する。
【００４１】
ステップ４０２で、入力された指令が第１の機能ユニット３１３で処理不可能な指令の場合は、ステップ４０９に進む。ステップ４０９は第１の機能ユニット３１３で処理不可能な指令である場合の処理であり、図５を用いて詳細に説明する。図５は本発明の実施例２のＩＣカードの制御方法のフローチャート（第１の機能ユニット３１３で処理不可能な指令である場合の処理）である。ステップ５０１では、ステップ４０３と同様に、入力した指令が機能ユニット３１４で処理可能な指令か否かを、第１の調停部３３２が入力した指令に含まれる指令番号などの情報により判断する。機能ユニット３１４で処理可能な指令の場合は、ステップ５０２に進む。ステップ５０２において（機能ユニット３１４でのみ処理可能な指令である場合）、現在第１のモードか否かを、第１の調停部３３２が判断する。第１のモードであれば、ステップ５０３に進む。ステップ５０３で第１の調停部３３２は第１の入出力部３３１に処理不可能な指令を受信したという情報をリセットさせる。第１のモードでなければ（第２のモードであれば）ステップ５０８に進み、第１の調停部３３２は第１の入出力部３３１にエラー情報の送信を中止させる。
【００４２】
ステップ５０４で第１の調停部３３２は第２の入出力部３３３を経由して機能ユニット３１４に指令を送信する。ステップ５０５で指令に基づき機能ユニット３１４が処理する。ステップ５０６で機能ユニット３１４が処理結果を第２の入出力部３３３を経由して第１の調停部３３２に送信する。ステップ５０７で、第１の調停部３３２は機能ユニット３１４の処理結果をホスト１０１に送信し、このフローチャートは終了する。
【００４３】
ステップ５０１で、入力された指令が機能ユニット３１４で処理不可能な指令の場合は、ステップ５０９に進む。ステップ５０９において（第１の機能ユニット３１３、機能ユニット３１４で共に処理不可能な指令である場合）、現在第１のモードか否かを、第１の調停部３３２が判断する。第１のモードであれば、ステップ５１０に進む。ステップ５１０で第１の調停部３３２は処理不可能な指令を受信したという情報を記憶し（機能ユニット３１４には指令を送信しない。）、このフローチャートは終了する。
ステップ５０９で、第１のモードでなければ（第２のモードであれば）ステップ５１１に進み、第１の調停部３３２は何もしない（機能ユニット３１４には指令を送信しない。）。ステップ５１２で、第１の入出力部３３１はホスト１０１にエラー情報を送信し、このフローチャートは終了する。
【００４４】
本実施例においてステップ４０７では（第１の機能ユニット３１３、機能ユニット３１４で共に処理可能な指令である場合）、第１の入出力部３３１が第１の機能ユニット３１３の処理結果をホスト１０１に送信する。これに代えて、第１の調停部３３２が第１の機能ユニット３１３及び機能ユニット３１４の処理結果が同一か否かを判断し、同一の場合はその処理結果をホスト１０１に送信し、異なる場合はエラー情報をホスト１０１に送信する（第１の入出力部３３１は処理結果を送信しない。）こととしても良い。
また本実施例においてステップ４０４〜ステップ４０６では（第１の機能ユニット３１３、３１４で共に処理可能な指令である場合）、第１の調停部３３２は機能ユニット３１４に指令を送信し、指令に基づき第１の機能ユニット３１３及び３１４の両方が処理し、機能ユニット３１４が処理結果を第１の調停部３３２に送信する。これに代えて、第１の調停部３３２はあらかじめ決めておいた機能ユニットにのみ指令を送信し（例えば機能ユニット３１４に指令を送信しない。または例えば機能ユニット３１４に指令を送信し且つ第１の入出力部３３１に入力した指令を放棄させる。）、指令を送信された機能ユニットのみが処理し、その機能ユニットのみが処理結果を直接または第１の調停部３３２を経由してホスト１０１に送信することとしても良い。
【００４５】
また本実施例においてステップ５１１、ステップ５１２では（第１の機能ユニット３１３、機能ユニット３１４で共に処理不可能な指令でありかつ第２のモードである場合）、第１の調停部３３２は何もせず（機能ユニット３１４には指令を送信しない。）、第１の入出力部３３１がホスト１０１にエラー情報を送信する。これに代えて、第１の調停部３３２はあらかじめ決めておいた機能ユニットにのみ指令を送信し（例えば機能ユニット３１４に指令を送信しない。または例えば機能ユニット３１４に指令を送信し且つ第１の入出力部３３１に入力した指令を放棄させる。）、指令を送信された機能ユニットのみが処理し、その機能ユニットのみが処理結果を直接または第１の調停部３３２を経由してホスト１０１に送信することとしても良い。
【００４６】
実施例１のＩＣカードは、調停部がないＩＣカードと比較すると、調停部の処理時間だけ応答速度が遅い。実施例２においては、ホストと機能ユニット３１４との間の通信は第１の調停部３３２を経由する故に従来例より伝送時間がかかる場合があるが、ホストと第１の機能ユニット３１３との間の通信は第１の調停部３３２を経由しないで行われる故に従来例のＩＣカードと同等の応答速度を有する。
実施例２のＩＣカードにおいて、最も速い応答速度を要求される機能ユニットを第１の機能ユニット３１３とすることが好ましい。又は、最も頻繁に応答を要求される機能ユニットを第１の機能ユニット３１３とすることが好ましい。
本実施例においては、ＩＣカードの１つの入出力部に第１の調停部及び第２の入出力部を追加することにより、複数の機能ユニットのうち１つ（第１の機能ユニット）はホストに対する高い応答性を維持した簡単な構成のＩＣカードを実現した。
【００４７】
《実施例３》
図６を用いて、本発明の実施例３のＩＣカード（複数の機能を有するＩＣカードである。）について説明する。
はじめに実施例３のＩＣカードの構成について説明する。図６は本発明の実施例３のＩＣカードの構成を示すブロック図である。図６において、１０１はホスト（実施例３においては携帯電話である。）、６１１はＩＣカードである。ホスト１０１は入出力部１０２を有する。また、ＩＣカード６１１は第１の機能ユニット３１３、機能ユニット３１４及び６１５、第２の調停部６３４を有する。第１の機能ユニット３１３は入出力部３２１、入出力部３２１を通じて情報を入出力する制御部３２２、制御部３２２により制御されて動作する機能動作部３２３を有する。機能ユニット３１４は入出力部３２４、制御部３２５、機能動作部３２６を有する。同様に機能ユニット６１５は入出力部６２７、制御部６２８、機能動作部６２９を有する。入出力部３２１は第１の入出力部３３１、第１の調停部３３２、第２の入出力部３３３を有する。
【００４８】
実施例３では、第１の機能ユニット３１３はBluetooth（登録商標）モジュール（無線通信モジュール）、機能ユニット３１４及び６１５はメモリモジュールである。
実施例２(図４)と同様の構成要素には同様の符号を付している。実施例３は、実施例２のＩＣカードに機能ユニットをもう１つ追加したものである。第１の機能ユニット３１３以外の機能ユニットが複数存在することになるため、これらの機能ユニットの入出力部の前に第２の調停部６３４を設ける。第２の調停部６３４は実施例１の調停部１１２と同様の機能を有する。これにより、実施例３のＩＣカードは、実施例１及び実施例２のＩＣカードと同様の効果を得ることができる。
【００４９】
《実施例４》
図７、８を用いて、本発明の実施例４のＩＣカード（複数の機能を有するＩＣカードである。）について説明する。
はじめに実施例４のＩＣカードの構成について説明する。図７は本発明の実施例４のＩＣカードの構成を示すブロック図である。図７において、１０１はホスト（実施例４においてはセットトップボックスである。）、７１１はＩＣカードである。ホスト１０１は入出力部１０２を有する。また、ＩＣカード７１１は第２の機能ユニット７１３、第３の機能ユニット７１４を有する。第２の機能ユニット７１３は第３の入出力部７２１、入出力部７２１を通じて情報を入出力する制御部７２２、制御部７２２により制御されて動作する機能動作部７２３を有する。第３の機能ユニット７１４は第４の入出力部７２４、制御部７２５、機能動作部７２６を有する。
【００５０】
実施例４では、第２の機能ユニット７１３はBluetooth（登録商標）モジュール（無線通信モジュール）、第３の機能ユニット７１４はメモリモジュールである。実施例１(図１)と同様の構成要素には同様の符号を付している。
実施例１と異なる点は、実施例１では調停部で行っていた指令の選択等を、それぞれの機能ユニットの入出力部同士で情報を交換することにより実現している点である。
【００５１】
次に実施例４のＩＣカードのデータの流れについて説明する。ホスト１０１からの複数の機能ユニット７１３及び７１４宛の指令は、ホスト１０１の入出力部１０２からＩＣカード７１１に伝送される。ＩＣカード７１１に入力された指令は、まず第２の機能ユニット７１３の第３の入出力部７２１及び第３の機能ユニット７１４の第４の入出力部７２４に入力される。
第３の入出力部７２１と第４の入出力部７２４とは２本の線（第２の機能ユニット７１３が指令を処理可能であるか否かの情報を第３の入出力部７２１から第４の入出力部７２４に伝送する線と、第３の機能ユニット７１４が指令を処理可能であるか否かの情報を第４の入出力部７２４から第３の入出力部７２１に伝送する線）で接続されている。
【００５２】
指令は、上記２本の線を通じて伝送する情報を用いて第３の入出力部７２１及び第４の入出力部７２４で相互に調整される（調整方法は後述（図８））。
入出力部７２１、７２４は、入力した指令に含まれる指令番号などの情報により、入力した指令がその機能ユニットで処理可能か否かを判断する。
指令が例えば処理不可能な指令等でかつＩＣカードが第２のモードである場合は、入出力部７２１、７２４はすぐにレスポンスを返す。指令が例えば入出力部の設定指令等の場合は、入出力部７２１、７２４はすぐにレスポンスを返す。指令が例えば機能動作部７２３、７２６の設定状態の情報要求指令等の場合は、入出力部７２１、７２４は指令を制御部７２２、７２５に伝送する。制御部７２２、７２５は入出力部７２１、７２４を経由してレスポンス（機能動作部の設定状態の情報を含む。）を返す。指令が例えば機能動作部７２３、７２６（例えば無線通信の入力バッファとする。）からデータを読み取る指令等の場合は、入出力部７２１、７２４は指令を制御部７２２、７２５を経由して機能動作部７２３、７２６に伝送する。機能動作部７２３、７２６は制御部７２２、７２５及び入出力部７２１、７２４を経由してレスポンス（無線通信の入力バッファから読み出したデータを含む。）を返す。上記レスポンスは、第３の入出力部７２１及び第４の入出力部７２４で相互に調整し（調整方法は後述する。）出力する。最後にホスト１０１は、ＩＣカード７１１から出力されたレスポンスを受け取る。
【００５３】
機能ユニットが３つ以上になった場合も、例えば隣接する２つの機能ユニットをそれぞれ２本の線で接続して全ての機能ユニットをつなぐ（両端の機能ユニットを除くと、１つの機能ユニットは左右の機能ユニットとそれぞれ２本の線で接続される。）。ＩＣカードが指令を入力した時、１つの機能ユニットの入出力部は、入力した指令に含まれる指令番号などの情報により、入力した指令が処理可能であると判断すれば、左右の線の出力回路から処理可能であるという情報（例えばロウレベル）を出力する。入出力部は、入力した指令が処理不可能であると判断し且つ左（又は右）の線から処理不可能であるという情報（例えばハイレベル）を入力すれば、右（又は左）の線から処理不可能であるという情報（例えばハイレベル）を出力する。入出力部は、入力した指令が処理不可能であると判断し且つ左（又は右）の線から処理可能であるという情報（例えばロウレベル）を入力すれば、右（又は左）の線から処理可能であるという情報（例えばロウレベル）を出力する。
上記の方法により、いずれかの機能ユニットが処理可能であれば、その情報を全ての機能ユニットに伝えることが出来る。機能ユニットが３つ以上になった場合も、実施例４と同様の機能及び効果が得られる。
【００５４】
次に実施例４のＩＣカードの入出力部の調整機能について詳細に説明する。図８は本発明の実施例４のＩＣカードの制御方法のフローチャートである。まずステップ８０１で、ホストから伝送された複数の機能ユニット７１３及び７１４宛の指令が、第３の入出力部７２１及び第４の入出力部７２４に入力される。ステップ８０２で、入力された指令が第２の機能ユニット７１３で処理可能な指令か否かを、第３の入出力部７２１が入力した指令に含まれる指令番号などの情報により判断する。機能ユニット７１３で処理可能な指令の場合は、ステップ８０３に進む。ステップ８０３で第３の入出力部７２１は、入力された指令が第２の機能ユニット７１３で処理可能な指令であるという情報を、第４の入出力部７２４に送信する（伝送線を通じてロウレベルの信号を送信する。）。この情報を受信した第４の入出力部７２４はこの指令に対して応答しない。ステップ８０４で指令に基づき第２の機能ユニット７１３が処理する。ステップ８０５で、第２の機能ユニット７１３の第３の入出力部７２１が第２の機能ユニット７１３の処理結果をホスト１０１に送信し、このフローチャートは終了する。
【００５５】
ステップ８０２で、入力された指令が第２の機能ユニット７１３で処理不可能な指令の場合は、ステップ８０６に進む。ステップ８０６で第４の入出力部７２４は、入力された指令が第２の機能ユニット７１３で処理不可能な指令であるという情報を、第３の入出力部７２１から受信する（伝送線を通じてハイレベルの信号を受信する。）。ステップ８０７で、入力された指令が第３の機能ユニット７１４で処理可能な指令か否かを、第４の入出力部７２４が入力した指令に含まれる指令番号などの情報により判断する。第３の機能ユニット７１４で処理可能な指令の場合は、ステップ８０８に進む。ステップ８０８において（第３の機能ユニット７１４でのみ処理可能な指令である場合）、第４の入出力部７２４は、入力された指令が第３の機能ユニット７１４で処理可能な指令であるという情報を、第３の入出力部７２１に送信する（伝送線を通じてロウレベルの信号を送信する。）。この情報を受信した第３の入出力部７２１（第２の機能ユニット７１３は指令を処理出来ない。）はこの指令に対して応答しない。ステップ８０９で指令に基づき第３の機能ユニット７１４が処理する。ステップ８１０で、第３の機能ユニット７１４の第４の入出力部７２４が第３の機能ユニット７１４の処理結果をホスト１０１に送信し、このフローチャートは終了する。
【００５６】
ステップ８０７で、入力された指令が第３の機能ユニット７１４で処理不可能な指令の場合は、ステップ８１１に進む。ステップ８１１において（第２の機能ユニット７１３、第３の機能ユニット７１４で共に処理不可能な指令である場合）、第３の入出力部７２１は、入力された指令が第３の機能ユニット７１４で処理不可能な指令であるという情報を、第４の入出力部７２４から受信する（伝送線を通じてハイレベルの信号を受信する。）。故に、第３の入出力部７２１は、両方の機能ユニット７１３、７１４が指令を処理不可能であることを知ることが出来る。ステップ８１２で、現在第１のモードであるか否かを、第３の入出力部７２１が判断する。第１のモードであれば、ステップ８１３に進む。ステップ８１３で第３の入出力部７２１は処理不可能な指令を受信したという情報を記憶し（第３の入出力部７２１及び第４の入出力部７２４は、どちらもホスト１０１に応答を送信しない。）、このフローチャートは終了する。
ステップ８１２で、第１のモードでなければ（第２のモードであれば）ステップ８１４に進み、第３の入出力部７２１はホスト１０１にエラー情報（例えばＮＡＫ）を送信し（第４の入出力部７２４はホスト１０１に応答を送信しない。）、このフローチャートは終了する。
【００５７】
本実施例においてはステップ８０４、ステップ８０５では、第３の機能ユニット７１４で処理可能な指令であっても、第２の機能ユニット７１３のみが処理し、その処理結果をホスト１０１に送信する。これに代えて、第３の機能ユニット７１４で処理可能な指令か否かを、第４の入出力部が入力した指令に含まれる指令番号などの情報により判断する。処理可能な指令である場合は第２の機能ユニット７１３及び第３の機能ユニット７１４の両方で処理を行い、それぞれの処理結果が同一か否かを判断する。同一の場合はその処理結果をホスト１０１に送信し、異なる場合はエラー情報をホスト１０１に送信することとしても良い。
また、本実施例においてステップ８１４では（第２の機能ユニット７１３、第３の機能ユニット７１４で共に処理不可能な指令でありかつ第２のモードである場合）、第３の入出力部７２１はホスト１０１にエラー情報を送信する（第４の入出力部７２４はホスト１０１に応答を送信しない。）。これに代えて、第２の機能ユニット７１３及び第３の機能ユニット７１４の両方がエラー情報をホスト１０１に送信することとしても良い。第３の入出力部７２１及び第４の入出力部７２４がシンクロナス方式により同一の信号（例えばＮＡＫ）を送信する場合は、ホストは２つの機能ユニットが同時に出力した信号を読み取ることが出来る。本実施例においては、ＩＣカードの各入出力部同士を結び、各入出力回路同士が相互に制御するような構成にすることにより、すべての機能ユニットがホストに対する応答性を維持した簡単な構成のＩＣカードを実現した。
【００５８】
他の実施例においては、第３の入出力部７２１と第４の入出力部７２４とは抵抗で電源に接続された１本の線で接続されており、第３の入出力部７２１及び第４の入出力部７２４は入力回路とオープンコレクタ型出力回路とを有する（いわゆるワイアドＯＲ構成である。）。第３の入出力部７２１及び第４の入出力部７２４は、それぞれ、入力した指令が処理可能であると判断するとオープンコレクタ型出力回路をＯＮにし（いずれかのオープンコレクタ型出力回路がＯＮすれば、線の電位はロウレベルになる。）、入力した指令が処理不可能であると判断するとオープンコレクタ型出力回路をＯＦＦにする（両方がＯＦＦであれば、線の電位はハイレベルになる。）
【００５９】
これにより、第３の入出力部７２１及び第４の入出力部７２４は、その機能ユニットで処理可能であれば機能動作部７２３、７２６で処理して処理結果を出力し、その機能ユニットで処理不可能であり且つ他の機能ユニットが処理可能であれば（当該線がロウレベルになっていることから判断出来る。）応答結果を出力せず、いずれの機能ユニットでも処理不可能であれば（当該線がハイレベルになっていることから判断出来る。）応答結果（例えばＮＡＫ）を出力する。２つの機能ユニットが共に指令を処理可能である場合は、ホストに応答を返す優先順位を決めておくことにより、混信を防ぐことが出来る。
機能ユニットが３つ以上になった場合も、実施例と同様の方法により、いずれかの機能ユニットが処理可能であれば、その情報を全ての機能ユニットに伝えることが出来る。
【００６０】
《実施例５》
図９、１０を用いて、本発明の実施例５のＩＣカード（複数の機能を有するＩＣカードである。）について説明する。
はじめに実施例５のＩＣカードの構成について説明する。図９は本発明の実施例５のＩＣカードの構成を示すブロック図である。図９において、１０１はホスト（実施例５においては音声レコーダである。）、９１１はＩＣカードである。ホスト１０１は入出力部１０２を有する。また、ＩＣカード９１１は調停部９１２、機能ユニット９１３、機能ユニット９１４を有する。機能ユニット９１３は入出力部９２１、入出力部９２１を通じて情報を入出力する制御部９２２、制御部９２２により制御されて動作する機能動作部９２３、状態管理部９３１を有する。機能ユニット９１４は入出力部９２４、制御部９２５、機能動作部９２６、状態管理部９３２を有する。
【００６１】
実施例５では、機能ユニット９１３はBluetooth（登録商標）モジュール（無線通信モジュール）、機能ユニット９１４はメモリモジュールである。
調停部９１２とホスト１０１の入出力部１０２との間の通信プロトコルと、調停部９１２と各機能ユニット９１３、９１４の入出力部９２１、９２４との間の通信プロトコルとは、同一である。
実施例１(図１)と同様の構成要素には同様の符号を付している。実施例１と異なる点は、状態管理部９３１及び９３２を追加した点である。実施例５においては各機能ユニットは複数の状態を有し、各機能ユニットは、１つの指令（例えばその機能ユニットを選択する選択指令）をある状態（例えば選択されていない状態）で処理可能であり、他の状態（例えば既に選択されている状態）で処理不可能である。
【００６２】
次に実施例５のＩＣカードのデータの流れについて説明する。ホスト１０１からの複数の機能ユニット９１３及び９１４宛の指令は、ホスト１０１の入出力部１０２からＩＣカード９１１に伝送される。ＩＣカード９１１に入力された指令は、まず調停部９１２に入力される。調停部９１２では、状態管理部９３１、９３２から伝送された各機能ユニットの状態に基づいて、入力した指令に含まれる指令番号などの情報により、指令がどの機能ユニットで処理可能か判断され、処理可能な機能ユニットに伝送される。
【００６３】
機能ユニット内においては、指令はまず入出力部９２１、９２４に入力される。入出力部９２１、９２４は、入力した指令に含まれる指令番号などの情報により、入力した指令がその機能ユニットで処理可能か否かを判断する。
指令が例えば処理不可能な指令等でかつＩＣカードが第２のモードである場合は、入出力部９２１、９２４はすぐにレスポンスを返す。指令が例えば入出力部の設定指令等の場合は、入出力部９２１、９２４はすぐにレスポンスを返す。指令が例えば機能動作部９２３、９２６の設定指令等の場合は、入出力部９２１、９２４は指令を制御部９２２、９２５に伝送する。制御部９２２、９２５は機能動作部を設定し、入出力部９２１、９２４を経由してレスポンスを返す。指令が例えば機能動作部９２３、９２６（例えばＲＡＭとする。）からデータを読み取る指令等の場合は、入出力部９２１、９２４は指令を制御部９２２、９２５を経由して機能動作部９２３、９２６に伝送する。機能動作部９２３、９２６は制御部９２２、９２５及び入出力部９２１、９２４を経由してレスポンス（ＲＡＭから読み出したデータを含む。）を返す。調停部９１２は、受け取ったレスポンスを調停し出力する。最後にホスト１０１は、ＩＣカード９１１から出力されたレスポンスを受け取る。
【００６４】
次に実施例５のＩＣカードの機能ユニットの状態の遷移について説明する。図１０は本発明の実施例５のＩＣカードの機能ユニットの状態（ステート）のフローチャートである。まずステップ１００１で電源が入ると初期状態となる。ステップ１００２で初期化指令が入力される。ステップ１００３で第２の状態となる。ステップ１００４で初期設定指令が入力される。ステップ１００５で第３の状態となる。ステップ１００６で機能動作が実行される。通常、ユーザはこの状態でＩＣカードを使用する。ステップ１００７でリセット指令が入力されると、ステップ１００１に戻る。
【００６５】
例えば初期状態（その機能ユニットは初期化されていない。）の時には、その機能ユニットは実動作（リード／ライト）指令を処理することが出来ない。また、例えば第２の状態（その機能ユニットの初期設定が終わっていない。）の時には、その機能ユニットは実動作（リード／ライト）指令を処理することが出来ない。
本発明においては、状態管理部を追加し、調停部が機能ユニットの状態も加味して振り分け処理を行う。例えば状態管理部が複数の（例えば２つの）機能ユニットに宛てた１つの指令を受信し、１つの機能ユニットはその指令を処理可能であるが、他のひとつの機能ユニットは状態によっては処理可能な指令であっても現状態では処理不可能な場合、調停部はその指令を処理可能な機能ユニットにのみ伝送し、その機能ユニットから送り返された処理結果をホストに送信する。本実施例は、機能ユニットの状態に応じて、指令を正しく振り分ける簡単な構成のＩＣカードである。
【００６６】
《実施例６》
図１、１１を用いて、本発明の実施例６のＩＣカード（複数の機能を有するＩＣカードである。）について説明する。
はじめに実施例６のＩＣカードの構成について説明する。図１は本発明の実施例６のＩＣカードの構成を示すブロック図である。実施例１(図１)と同様であるため説明を省略する。
【００６７】
次に実施例６のＩＣカードの調停部１１２の機能について詳細に説明する。図１１は本発明の実施例６のＩＣカードの制御方法のフローチャートである。まずステップ１１０１で、ホストから伝送された複数の機能ユニット１１３及び１１４宛の指令が調停部１１２に入力される。ステップ１１０２で調停部１１２は機能ユニット１１３及び１１４の両方に指令を送信する。ステップ１１０３で指令に基づき機能ユニット１１３及び１１４それぞれが処理する。ステップ１１０４で機能ユニット１１３及び１１４がそれぞれの処理結果を調停部１１２に送信する。ステップ１１０５で、機能ユニット１１３及び１１４の処理結果が同一か否かを、調停部１１２が判断する。同一の場合は、ステップ１１０６に進み、調停部１１２がその処理結果をホスト１０１に送信し、このフローチャートは終了する。
【００６８】
ステップ１１０５で、処理結果が異なる場合は、ステップ１１０７に進む。ステップ１１０７で機能ユニット１１３からの応答情報の中に、指令が機能ユニット１１３で処理可能であるという情報(ＡＣＫ)が含まれており、かつ機能ユニット１１４からの応答情報の中に、指令が機能ユニット１１４で処理不可能であるという情報(ＮＡＫ)が含まれているか否かを、調停部１１２が判断する。両方とも含まれている場合は、ステップ１１０８に進み、調停部１１２が機能ユニット１１３の処理結果をホスト１０１に送信し、このフローチャートは終了する。
ステップ１１０７で、それ以外の場合は、ステップ１１０９に進む。ステップ１１０９で機能ユニット１１３からの応答情報の中に、指令が機能ユニット１１３で処理不可能であるという情報(ＮＡＫ)が含まれており、かつ機能ユニット１１４からの応答情報の中に、指令が機能ユニット１１４で処理可能であるという情報(ＡＣＫ)が含まれているか否かを、調停部１１２が判断する。両方とも含まれている場合は、ステップ１１１０に進み、調停部１１２が機能ユニット１１４の処理結果をホスト１０１に送信し、このフローチャートは終了する。
ステップ１１０９で、両方とも含まれている場合以外の場合は、ステップ１１１１に進み、現在第１のモードか否かを、調停部１１２が判断する。第１のモードであれば、ステップ１１１２に進む。ステップ１１１２で調停部１１２は処理不可能な指令を受信したという情報を記憶し（機能ユニット１１３及び１１４には指令を送信しない。）、このフローチャートは終了する。
ステップ１１１１で、第１のモードでなければ（第２のモードであれば）ステップ１１１３に進み、調停部１１２がホスト１０１にエラー情報（処理不可能であるという情報(ＮＡＫ)）を送信し、このフローチャートは終了する。
【００６９】
本実施例においては、機能ユニットの入出力部の前に調停部を追加し、調停部は入力指令を各機能ユニットに伝送し、各機能ユニットから送り返されてきた処理結果（応答）を調停して出力する。これにより、ホストへの信号の衝突がない簡単な構成のＩＣカードを実現した。
実施例６においては、調停部は、ホストからの指令を入力した時には全ての機能ユニットに指令を送り、その指令に対する各機能ユニットからの応答の中から、適切な応答を選択してホストに返す。実施例２、３、５についても、それぞれの実施例の調停部が、ホストからの指令を入力した時には全ての機能ユニットに指令を送り、その指令に対する各機能ユニットからの応答の中から、適切な応答を選択してホストに返すようにすることが出来る。これにより、ホストへの信号の衝突がない簡単な構成のＩＣカードを実現した。
【００７０】
【発明の効果】
本発明によれば、ホストへの信号（応答）の衝突を防ぐことができるＩＣカード及びその制御方法を実現できるという効果が得られる。
本発明によれば、応答方法が異なる複数のモードに応じて、最適の方法で外部から伝送された情報を各機能ユニットに伝送するＩＣカード及びその制御方法を実現出来るという有利な効果が得られる。
本発明によれば、すべての機能ユニット又は特定の機能ユニット（第１の機能ユニット）がホストに対する高い応答性を維持できるＩＣカード及びその制御方法を実現できるという効果が得られる。
本発明によれば、機能ユニットの状態に応じて、指令を正しく振り分ける簡単な構成のＩＣカード及びその制御方法を実現できるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施例１及び６のＩＣカードの構成を示すブロック図
【図２】本発明の実施例１のＩＣカードの制御方法のフローチャート
【図３】本発明の実施例２のＩＣカードの構成を示すブロック図
【図４】本発明の実施例２のＩＣカードの制御方法のフローチャート
【図５】本発明の実施例２のＩＣカードの制御方法のフローチャート（第１の機能ユニットで処理不可能な指令である場合の処理）
【図６】本発明の実施例３のＩＣカードの構成を示すブロック図
【図７】本発明の実施例４のＩＣカードの構成を示すブロック図
【図８】本発明の実施例４のＩＣカードの制御方法のフローチャート
【図９】本発明の実施例５のＩＣカードの構成を示すブロック図
【図１０】本発明の実施例５のＩＣカードの制御方法のフローチャート
【図１１】本発明の実施例６のＩＣカードの制御方法のフローチャート
【図１２】従来のＩＣカードの構成を示すブロック図
【符号の説明】
１０１    ホスト
１０２    入出力部
１１１、３１１、６１１、８１１、９１１、１３１１    ＩＣカード
１１２、９１２    調停部
１１３、１１４、３１４、６１５、９１３、９１４    機能ユニット
１２１、１２４、３２１、３２４、６２７、９２１、９２４    入出力部
１２２、１２５、３２２、３２５、６２８、７２２、７２５、９２２、９２５    制御部
１２３、１２６  ３２３、３２６、６２９、７２３、７２６、９２３、９２６    機能動作部
１３１    アドレス記憶部
３１３    第１の機能ユニット
３３１    第１の入出力部
３３２    第１の調停部
３３３    第２の入出力部
６３４    第２の調停部
７１３    第２の機能ユニット
７１４    第３の機能ユニット
７２１    第３の入出力部
７２４    第４の入出力部
９３１、９３２    状態管理部
【図１】
0004033707.tif 000002
【図２】
0004033707.tif 000003
【図３】
0004033707.tif 000004
【図４】
0004033707.tif 000005
【図５】
0004033707.tif 000006
【図６】
0004033707.tif 000007
【図７】
0004033707.tif 000008
【図８】
0004033707.tif 000009
【図９】
0004033707.tif 000010
【図１０】
0004033707.tif 000011
【図１１】
0004033707.tif 000012
【図１２】
0004033707.tif 000013