(57)【要約】【課題】複数のモジュールにホストとの間のバスを同時に使用させることでホストによる複数のモジュールに対する同時アクセスを可能にし、モジュール一つ当たりの実質的な転送速度の向上、及び伝送品質の向上を実現する複合入出力装置を提供する。【解決手段】複合Ｉ／Ｏカード（１Ａ）内のモジュール（１０、２０）のホストインタフェース（１１、２１）はそれぞれ、ホスト（Ｈ）との間でデータをシリアルに又は４ビットずつパラレルに転送する。バス調停部（２Ａ）は各モジュールへの内部バス（１３、２３）とホスト（Ｈ）への外部バス（３）との接続を管理する。特に両モジュール（１０、２０）のシリアル転送時、第一の内部バス（１３）のコマンド線（ＣＭＤ）及び第一と第二とのデータ線（ＤＡＴ０、ＤＡＴ１）、並びに第二の内部バス（２３）のコマンド線（ＣＭＤ）及び第一のデータ線（ＤＡＴ０）を、外部バス（３）のコマンド線（ＣＭＤ）、第一、第二、第三、及び第四のデータ線（ＤＡＴ０、ＤＡＴ１、ＤＡＴ２、ＤＡＴ３）へ、それぞれ接続する。【選択図】        図１
2005025473.tif 000002
【特許請求の範囲】
【請求項１】
（Ａ）  ホストからのコマンドを伝送するためのコマンド線と、前記ホストとの間で交換されるデータを伝送するための複数本のデータ線と、を含むバス；
（Ｂ）  前記バスを通し前記ホストとの間で通信を行うためのインタフェースであり、特に前記ホストからのコマンドを解読可能で、かつ前記ホストとの間のデータ転送で使用される前記データ線の本数を増減可能である第一のホストインタフェース、を含む第一のモジュール；
（Ｃ）  前記バスを通し前記ホストとの間で通信を行うためのインタフェースであり、特に前記ホストからのコマンドを解読可能である第二のホストインタフェース、を含む第二のモジュール；及び、
（Ｄ）  前記第一と第二とのホストインタフェースと前記バスとの接続を管理し、特に前記データ線をそれぞれのホストインタフェースに対し専用の信号線として割り振るためのバス調停部；
を有する複合入出力装置。
【請求項２】
前記第二のホストインタフェースが前記第一のホストインタフェースと同様、前記ホストとの間のデータ転送で使用される前記データ線の本数を増減可能である、請求項１記載の複合入出力装置。
【請求項３】
前記バス調停部が前記バスに含まれる前記コマンド線を、前記第一と第二とのホストインタフェースのそれぞれへ共通のコマンド線として接続する、請求項１記載の複合入出力装置。
【請求項４】
前記バス調停部が前記バスに含まれる前記データ線の少なくとも一つを、前記第一と第二とのホストインタフェースの少なくとも一つへコマンド線として接続する、請求項１記載の複合入出力装置。
【請求項５】
（Ａ）  ホストからのコマンドを伝送するためのコマンド線と、前記ホストとの間で交換されるデータを伝送するための複数本のデータ線と、を含むバス；
（Ｂ）  前記バスを通し前記ホストとの間で通信を行うためのインタフェースであり、特に前記ホストからのコマンドを解読可能で、かつ前記ホストとの間のデータ転送で使用される前記データ線の本数を増減可能である第一のホストインタフェース、を含む第一のモジュール；
（Ｃ）  前記バスを通し前記ホストとの間でデータ転送を行うための第二のホストインタフェース、を含む第二のモジュール；及び、
（Ｄ）  前記第一と第二とのホストインタフェースと前記バスとの接続を管理し、特に前記データ線をそれぞれのホストインタフェースに対し専用の信号線として割り振るためのバス調停部；
を有する複合入出力装置であり、
前記第二のモジュールが、前記バス調停部により割り振られた前記バスの前記データ線の内、一本を同期伝送用クロックの伝送線として、別の一本をディジタルデータの伝送線として、それぞれ使用し、
前記第一のモジュールが、前記バス調停部により割り振られた前記バスの前記データ線の一本を、前記ディジタルデータのサンプル間隔を示す信号の伝送線として使用する、
複合入出力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部の電子機器（例えば、携帯電話、ＰＨＳ、ノートパソコン、及び携帯情報端末（ＰＤＡ）等のモバイル機器、ディジタルカメラ、テレビ、及びビデオレコーダ等のＡＶ機器、パソコン等の情報処理機器、並びに情報家電）をホストとし、そのホストに対し、データストレージ機能又は他の情報処理装置との間のインタフェース機能等、複数の機能を提供するための多機能な入出力装置に関する。特に、単体の入出力装置と同等なモジュールを一つの筐体内に複数実装した複合入出力装置に関する。
【０００２】
【従来の技術】
情報技術の飛躍的進歩及び爆発的普及により多種多様な電子機器が相互に接続され、様々なデータを交換できる。それらのデータ通信を担う入出力装置には、下位互換性を含め、多種多様な電子機器についての汎用性、及び高速なデータ転送能力が要求される。その上、電子機器全体に対する小型軽量化の要請に伴い、入出力装置自体に対しても小型軽量化が求められる。
【０００３】
従来の外付け入出力装置では特にカード型のもの（以下、インタフェースカードという）が多用される。インタフェースカードの小型化は著しく進み、そのサイズは近年では数ｃｍ角程度である。インタフェースカードはホストに設けられた専用スロット（以下、カードスロットという）に差し込まれ、ホストとデータ交換可能に接続される。カードスロットを様々な電子機器へ組み込むことでインタフェースカードは多種多様な電子機器に対する汎用性を獲得する。
【０００４】
インタフェースカードの種類にはメモリカードとＩ／Ｏカードとがある。近年では更に、両方のカードの機能を複合した複合Ｉ／Ｏカードがある。
メモリカードは例えばフラッシュメモリ等の半導体メモリを内部に含み、外部記録媒体（データストレージ）として機能する。例えば、複数のホストが一枚のメモリカードを共用することにより、相互間のデータ交換を実現する。
【０００５】
Ｉ／Ｏカードはホストと他の情報処理装置又はネットワークとの間のインタフェースとして機能する。Ｉ／Ｏカード内の機能部（ファンクションともいう）には例えば、メモリ、短距離無線通信、携帯電話、ＰＨＳ、無線ＬＡＮ、ＧＰＳ、若しくはディジタルカメラ等の装置、又はそれらに対するインタフェースが含まれる。ここで、一枚のＩ／Ｏカードが複数の機能部を含んでも良い。Ｉ／Ｏカードはホストを様々な機能部へ接続することで、多種多様な機能をホストへ提供できる。
【０００６】
インタフェースカードはホストとの間のデータ転送について、一般に複数の転送モードで動作し得る。それらの転送モードには例えば、シリアル転送モードとパラレル転送モードとが含まれる。シリアル転送モードでは、ディジタルデータが一ビットずつ転送される。パラレル転送モードでは、ディジタルデータが複数ビットずつパラレルに転送される。ここで、そのビット数は例えば、４、８、１６、又は３２である。
インタフェースカードは例えばホストの通信能力（転送速度等）及びデータの内容に応じ、複数の転送モードを使い分ける。それにより、多種多様なホストに対する互換性と高速なデータ転送との両立を図る。
【０００７】
図６は、従来のメモリカード１００及びＩ／Ｏカード２００の構成を示すブロック図である（非特許文献１及び特許文献１参照）。
メモリカード１００は第一のバス１０３を通し、ホストＨの第一のカードスロットＳＬ１へ接続される。第一のバス１０３は、コマンド線ＣＭＤ、四本のデータ線ＤＡＴ０〜３、クロック線ＣＬＫ、電源線ＶＤＤ、及びグラウンド線ＶＳＳを含む。
【０００８】
電源線ＶＤＤとグラウンド線ＶＳＳとは、ホストＨからメモリカード１００への電力供給用の信号線である。
コマンド線ＣＭＤはホストＨからメモリカード１００へのコマンド、及びメモリカード１００からホストＨへのレスポンスを伝送するための信号線である。
データ線ＤＡＴ０〜３はホストＨとメモリカード１００との間で転送されるデータを伝送するための信号線である。
クロック線ＣＬＫはホストＨからメモリカード１００への同期通信用クロックの伝送線である。
【０００９】
ホストインタフェース１０１はコマンド線ＣＭＤを通しホストＨからコマンドを受信し解読する。更に、解読されたコマンドの内容及びメモリ部１０２の状態に応じレスポンスを設定し、ホストＨへコマンド線ＣＭＤを通し返信する。
【００１０】
コマンドが例えばフラッシュメモリからの読み出し命令であるとき、ホストインタフェース１０１はメモリ部１０２に対し、その内部のフラッシュメモリからデータを読み出すように指示する。更に、メモリ部１０２により読み出されたデータを、ホストＨへデータ線ＤＡＴ０〜３を通し転送する。
【００１１】
コマンドが例えばフラッシュメモリへの書き込み命令であるとき、ホストインタフェース１０１はデータ線ＤＡＴ０〜３を通し書き込み対象データをホストＨから受信し、メモリ部１０２へ転送する。メモリ部１０２はそのデータを内部のフラッシュメモリへ書き込む。
【００１２】
ホストＨとホストインタフェース１０１との間のデータ転送は同期通信で行われ、すなわち、クロック線ＣＬＫを通しホストＨから送出されるクロックと同期する。
データ転送は更に、シリアル転送又はパラレル転送のいずれかのモードで行われる。ここで、シリアル転送では第一のデータ線ＤＡＴ０のみが使用される。一方、パラレル転送では四本のデータ線ＤＡＴ０〜３全てが使用され、すなわちデータが４ビットずつ転送される。ホストＨはデータ転送時、使用する転送モードを予め選択し、ホストインタフェース１０１へ通知する。
【００１３】
Ｉ／Ｏカード２００は第二のバス２０３を通し、ホストＨの第二のカードスロットＳＬ２へ接続される。ここで、第二のバス２０３は第一のバス１０３と同様な信号線を含む。すなわち、第二のバス２０３は、コマンド線ＣＭＤ、四本のデータ線ＤＡＴ０〜３、クロック線ＣＬＫ、電源線ＶＤＤ、及びグラウンド線ＶＳＳを含む。
【００１４】
電源線ＶＤＤとグラウンド線ＶＳＳとはホストＨからＩ／Ｏカード２００への電力供給に使用される。
コマンド線ＣＭＤはホストＨからＩ／Ｏカード２００へのコマンド、及びＩ／Ｏカード２００からホストＨへのレスポンスを伝送するための信号線である。
データ線ＤＡＴ０〜３はホストＨとＩ／Ｏカード２００との間で転送されるデータを伝送するための信号線である。
クロック線ＣＬＫはホストＨからＩ／Ｏカード２００への同期通信用クロックの伝送線である。
【００１５】
Ｉ／Ｏカード２００は機能部として、例えば無線通信部２０２Ａと撮像部２０２Ｂとを含む。無線通信部２０２Ａはホストインタフェース２０１を、例えば外部のＬＡＮへ無線で接続し、データ通信を行う。撮像部２０２Ｂは、例えば電荷結合素子（ＣＣＤ）等の撮像素子を含み、外部から取り入れた光学像を画像信号へ変換する。
【００１６】
ホストインタフェース２０１はコマンド線ＣＭＤを通しホストＨからコマンドを受信し、その内容と宛先機能部とを解読する。更に、解読されたコマンドの内容をそのコマンドの宛先機能部へ通知する。それと共に、コマンドの内容及び宛先機能部の状態に応じレスポンスを設定し、ホストＨへコマンド線ＣＭＤを通し返信する。
【００１７】
コマンドが例えば無線通信部２０２Ａ又は撮像部２０２Ｂからのデータ転送命令であるとき、ホストインタフェース２０１はそれぞれの機能部からデータを読み出し、データ線ＤＡＴ０〜３を通しホストＨへ転送する。
コマンドが例えば無線通信部２０２Ａに対するデータ送信命令であるとき、ホストインタフェース２０１はデータ線ＤＡＴ０〜３を通し送信対象データをホストＨから受信し、無線通信部２０２Ａへ転送する。それにより、送信対象データが外部へ無線で送信される。
【００１８】
ホストＨとホストインタフェース２０１との間のデータ転送は同期通信で行われ、すなわち、クロック線ＣＬＫを通しホストＨから送出されるクロックと同期する。
データ転送は更に、シリアル転送又はパラレル転送のいずれかのモードで行われる。メモリカード１００と同様、シリアル転送では第一のデータ線ＤＡＴ０のみが使用され、パラレル転送では四本のデータ線ＤＡＴ０〜３全てが使用される。ホストＨはデータ転送時、使用する転送モードを予め選択し、ホストインタフェース２０１へ通知する。
【００１９】
例えば外部から無線通信部２０２Ａを通しホストＨへデータが転送されるとき、無線通信部２０２Ａ内の受信バッファが一杯になるごとに、ホストインタフェース２０１はホストＨへ割り込みをかける。ここで、割込信号は第二のデータ線ＤＡＴ１を通し送出される。その割り込みにより、ホストＨは無線通信部２０２Ａに対しデータ転送命令を送出する。
撮像部２０２ＢからホストＨへのデータ転送についても、同様な割り込みが行われる。
【００２０】
ホストＨは二つのカードスロットＳＬ１とＳＬ２とのそれぞれへ挿入されたメモリカード１００とＩ／Ｏカード２００とを、カードスロット別に初期化し認識する。特に、それぞれのカードに対し異なるカードアドレスＣＡ１とＣＡ２とを割り当てる。それぞれのカードのホストインタフェース１０１と２０１とは、ホストＨにより割り当てられたカードアドレスＣＡ１とＣＡ２とを内部のレジスタに記憶する。
カードアドレスの割り当て完了後、ホストＨはコマンドの宛先を示す引数にカードアドレスを設定する。それにより、データ転送対象のインタフェースカードを特定する。
【００２１】
二つのバス１０３と２０３とは、メモリカード１００とＩ／Ｏカード２００との初期化／認識処理中ではそれぞれ独立のバスとしてホストＨへ接続される。メモリカード１００とＩ／Ｏカード２００との両方がホストＨにより認識され、特にカードアドレスを割り当てられた後、二つのバス１０３と２０３とはホストＨ内で互いにバス接続される。従って、メモリカード１００とＩ／Ｏカード２００との初期化／認識完了後、ホストＨからのコマンドは両方のカード内のホストインタフェース１０１と２０１とにより受信される。それぞれのホストインタフェースは、受信されたコマンドの宛先アドレスと内部のレジスタに記憶されたカードアドレスとを比較する。それらのアドレスの一致により、そのコマンドの宛先が自己のカードであることを判断する。
【００２２】
Ｉ／Ｏカード２００は更にその初期化／認識処理の中で、内部の機能部に関する識別情報をホストＨへ通知する。その識別情報は例えば、機能部を特定するためのシリアル番号を含む。ホストＨはそのシリアル番号をコマンドの引数として設定し、そのコマンドの宛先機能部を指定する。Ｉ／Ｏカード２００のホストインタフェース２０１は、受信されたコマンドの引数として設定されたシリアル番号に基づき、そのコマンドの宛先機能部を特定する。
【００２３】
メモリカード１００とＩ／Ｏカード２００とは、ホストＨとの間のバス１０３と２０３等を含むコネクタ部で共通する。複合Ｉ／Ｏカードはそれら共通のコネクタ部を単一の装置に統合し、メモリカードとＩ／Ｏカードとの両方の機能を一枚のカード内に収めるインタフェースカードである。複合Ｉ／Ｏカードは単一のカードスロットを通し、メモリカードとＩ／Ｏカードとの両機能を同時にホストへ提供する。
【００２４】
図７は、従来の複合Ｉ／Ｏカードの一例３００の構成を示すブロック図である。この複合Ｉ／Ｏカード３００はメモリモジュール３１０とＩ／Ｏモジュール３２０とを有する。
メモリモジュール３１０は従来のメモリカード１００と共通の構成を含み、ホストＨによりメモリカード用コマンドで制御される。Ｉ／Ｏモジュール３２０は従来のＩ／Ｏカード２００と共通の構成を含み、ホストＨによりＩ／Ｏカード用コマンドで制御される。図７ではそれらの共通の構成に対し、図６に示される符号と同じ符号が付される。
【００２５】
バス調停部３０２は第一の内部バス３１３と第二の内部バス３２３とを共通の外部バス３０３へ接続する。ここで、外部バス３０３はホストＨのカードスロットＳＬに、第一の内部バス３１３はメモリモジュール３１０に、第二の内部バス３２３はＩ／Ｏモジュール３２０に、それぞれ繋がる。それぞれのバスは、コマンド線ＣＭＤ、四本のデータ線ＤＡＴ０〜３、及びクロック線ＣＬＫを含む点で共通する。外部バス３０３は更に、電源線ＶＤＤとグラウンド線ＶＳＳとを含む。複合Ｉ／Ｏカード３００は電源線ＶＤＤとグラウンド線ＶＳＳとを通し、ホストＨから電力を供給される。
【００２６】
第一の内部バス３１３、第二の内部バス３２３、及び外部バス３０３との間の接続パターンには三種類がある。バス調停部３０２は、メモリモジュール３１０とＩ／Ｏモジュール３２０とのそれぞれの状態に応じ、第一の内部バス３１３、第二の内部バス３２３、及び外部バス３０３の接続パターンを次のように切り換える。
メモリモジュール３１０とＩ／Ｏモジュール３２０とのいずれか一方が初期化待ち状態にあるとき、バス調停部３０２はその初期化待ち状態にあるモジュールと繋がる内部バスだけを外部バス３０３へ接続する。それにより、その初期化待ち状態のモジュールだけがホストＨにより初期化され認識される。
【００２７】
メモリモジュール３１０とＩ／Ｏモジュール３２０との両方が初期化待ち状態にあるとき、バス調停部３０２はまず第一の内部バス３１３だけを外部バス３０３へ接続する。それにより、メモリモジュール３１０がまずホストＨにより初期化され認識される。バス調停部３０２は次に、第二の内部バス３２３だけを外部バス３０３へ接続する。それにより、Ｉ／Ｏモジュール３２０がホストＨにより初期化され認識される。
【００２８】
メモリモジュール３１０とＩ／Ｏモジュール３２０との両方がホストＨにより認識され、特にカードアドレスを割り当てられた状態にあるとき、バス調停部３０２は第一の内部バス３１３と第二の内部バス３２３との両方を外部バス３０３へ接続する。それにより、メモリモジュール３１０とＩ／Ｏモジュール３２０とはホストＨへバス接続される。ホストＨから送出されるコマンドは、メモリモジュール３１０のホストインタフェース１０１とＩ／Ｏモジュール３２０のホストインタフェース２０１との両方により同時に受信される。それぞれのホストインタフェースは、ホストＨからのコマンドの受信時、そのコマンドの宛先として設定されたカードアドレスに基づき、応答を判断する。
【００２９】
【特許文献１】
特開２００２−１７１３０３号公報
【非特許文献１】
岡田浩人、横山智弘、「第８章  マルチメディアカード＆ＳＤカードの概要」、インターフェース増刊  ＴＥＣＨＩシリーズ  Ｖｏｌ．１４  ＰＣカード／メモリカードの徹底研究、ＣＱ出版株式会社、２００２年１０月１日、ｐ．２１６−２３０
【００３０】
【発明が解決しようとする課題】
複合Ｉ／Ｏカードは上記のように複数のモジュールを実装する。モジュールはそれぞれホストインタフェースを含み、単体のインタフェースカードと同等な通信能力を持つ。
しかし、複合Ｉ／Ｏカードでは一組のバスだけが、複数のモジュールとホストとの接続に使用される。例えば、図７に示される複合Ｉ／Ｏカード３００では、メモリモジュール３１０とＩ／Ｏモジュール３２０とが一組の外部バス３０３を通しホストＨへ接続される。
従って、ホストとの間のバスを使用可能なモジュールは、ある一定の期間ではいずれか一つに限られる。すなわち、例えばメモリモジュール３１０とＩ／Ｏモジュール３２０との両方が同時にホストＨと通信できる訳ではない。
【００３１】
例えば、いずれかのモジュールの初期化／認識時ではその初期化対象モジュールだけしかホストへは接続されない。その初期化／認識処理が完了するまで、他のモジュールは待機しなければならない。
更に、いずれか一つのモジュールがホストとデータを交換している間も、他のモジュールは待機しなければならない。例えば、メモリモジュール３１０がホストＨに対しシリアル転送を行い、外部バス３０３の第一のデータ線ＤＡＴ０だけしか使用しない場合でも、Ｉ／Ｏモジュール３２０は空いている三本のデータ線ＤＡＴ１〜３を使用できない。
こうして、ホストは、複合Ｉ／Ｏカード内の複数のモジュールを同時に利用する場合、実際にはそれぞれのモジュールとの間で交互にしかデータを転送できない。従って、モジュール一つ当たりの実質的な転送速度の向上が困難であった。
【００３２】
ホストがインタフェースカードを通し、外部のネットワークとの間でディジタルオーディオデータを交換する場合、従来のインタフェースカードには、そのディジタルオーディオデータの送受信と、ホストインタフェースによるシリアル転送とを並行させるものが知られる（特許文献１参照）。このインタフェースカードはＢｌｕｅｔｏｏｔｈ（登録商標）規格に準拠の無線通信部とパルス幅変調（ＰＷＭ）器とを搭載する。
無線通信部はディジタルオーディオデータを、外部ネットワークとの間では無線で送受信し、ホストインタフェースとの間ではパルス符号変調（ＰＣＭ）信号として交換する。ＰＣＭ通信は、上下方向それぞれ一本ずつのデータ伝送線、同期伝送用クロック（ビットクロック）の伝送線、及びディジタルオーディオデータ内の各ワード（サンプルともいう）の先頭を示すクロック（ワードクロック）の伝送線の計四本を要する（特許文献１図７参照）。一方、ホストインタフェースがホストとの間でシリアル転送を行うとき、ホストインタフェースとホストとの間のバスには空きデータ線が三本しかない。ＰＷＭ器はホストインタフェースに含まれ、ホストと無線通信部との間でデータを中継する。そのとき、無線通信部から入力されるＰＣＭ信号をＰＷＭ信号へ変調し、ホストへ送出する。逆に、ホストから入力されるＰＷＭ信号をＰＣＭ信号へ復調し、無線通信部へ送出する。ＰＷＭ通信は、上下方向それぞれ一本ずつ、計二本のデータ伝送線で実現可能である。こうして、ホストと無線通信部との間でのディジタルオーディオデータの交換が、ホストインタフェースによるシリアル転送中の空きデータ線を用い、そのシリアル転送と並行して実現される。
【００３３】
しかし、ＰＷＭ通信はＰＣＭ通信より周波数帯域が一般に広く、高い伝送速度を要する。従って、例えばステレオ信号等、マルチチャネルのオーディオデータを多重化して伝送することが困難であった。
更に、ＰＷＭ通信はＰＣＭ通信より雑音の影響を受けやすい。その上、無線通信部により受信されるデータは一般に高いエラーレートを示すので、無線通信部からホストへ送出されるＰＣＭ信号ではワードの先頭がワードクロックから外れやすい。しかし、ＰＷＭ通信ではそのずれがホストへ通知されない。従って、伝送品質の更なる向上が困難であった。
【００３４】
本発明は、複数のモジュールにホストとの間のバスを同時に使用させることでホストによる複数のモジュールに対する同時アクセス、特に一つのモジュールとの間のＰＣＭ通信、及び他のモジュールとの間のデータ転送の並行を可能にし、それにより、モジュール一つ当たりの実質的な転送速度の向上、及び伝送品質の向上を実現する複合入出力装置、の提供を目的とする。
【００３５】
【課題を解決するための手段】
本発明の一つの観点による複合入出力装置は、
（Ａ）  ホストからのコマンドを伝送するためのコマンド線と、ホストとの間で交換されるデータを伝送するための複数本のデータ線と、を含むバス；
（Ｂ）  そのバスを通しホストとの間で通信を行うためのインタフェースであり、特にホストからのコマンドを解読可能で、かつホストとの間のデータ転送で使用されるデータ線の本数を増減可能である第一のホストインタフェース、を含む第一のモジュール；
（Ｃ）  上記と同じバスを通しホストとの間で通信を行うためのインタフェースであり、特にホストからのコマンドを解読可能である第二のホストインタフェース、を含む第二のモジュール；及び、
（Ｄ）  第一と第二とのホストインタフェースと上記のバスとの接続を管理し、特にデータ線をそれぞれのホストインタフェースに専用の信号線として割り振るためのバス調停部；
を有する。この複合入出力装置は好ましくは、ホストに外付けされるインタフェースカードである。その他にホストに内蔵される入出力装置であっても良い。
【００３６】
第一と第二とのモジュールはそれぞれ互いに独立な入出力装置として、ホストとデータを交換する。それぞれのモジュールは独自のデータ処理機能を持ち、ホストからのコマンドに従い、その機能を発揮する。例えば、フラッシュメモリ等の半導体メモリを内部に含み、データストレージとして機能しても良い。その他に、ホストと他の情報処理装置又はネットワークとの間のインタフェースとして機能しても良い。それによりホストへ提供される機能としては例えば、メモリ、短距離無線通信、携帯電話、ＰＨＳ、無線ＬＡＮ、ＧＰＳ、又はディジタルカメラ等が含まれる。ここで、一つのモジュールが複数の機能を含んでも良い。
【００３７】
第一のモジュールでは、第一のホストインタフェースがデータ線の本数を増減することで、転送速度をホストの通信能力に合わせる。例えば、ホストからシリアル転送が指定されるとき、第一のホストインタフェースはデータ線を一本だけ用いる。一方、ホストからパラレル転送が指定されるとき、第一のホストインタフェースはそのパラレル転送のビット幅と同数のデータ線を用いる。
【００３８】
第二のモジュールでは、第二のホストインタフェースがホストへのデータ転送に使用するデータ線の本数を一定に保っても良い。その他に、第二のホストインタフェースが第一のホストインタフェースと同様、ホストとの間のデータ転送で使用されるデータ線の本数を増減可能であっても良い。
上記の複合入出力装置は更に、第一のモジュールと第二のモジュールとをそれぞれ複数ずつ含んでも良い。
【００３９】
バス調停部は、第一と第二とのモジュールそれぞれに対するバスのデータ線の割り振りを、それぞれのホストインタフェースにより使用される本数に応じ決定する。例えば、第一のホストインタフェースがシリアル転送を行うとき、バス調停部は一本のデータ線を第一のホストインタフェースに対し専用の信号線として割り振る。それと同時に、残りのデータ線から必要な本数を第二のホストインタフェースに対し専用の信号線として割り振る。
こうして、第一と第二とのホストインタフェースが相互に独立に、かつ同時にホストへ接続されるので、それぞれとホストとの間のデータ転送が同時に実行される。その結果、データ転送時の待ち時間が短縮されるので、モジュール一つ当たりの実質的な転送速度が向上する。
【００４０】
上記の複合入出力装置では、バス調停部がバスに含まれるコマンド線を、第一と第二とのホストインタフェースのそれぞれへ共通のコマンド線として接続しても良い。それにより、ホストはコマンドの宛先モジュールをそのモジュールに割り当てたアドレスで指定できる。
【００４１】
上記の複合入出力装置では、バス調停部がバスに含まれるデータ線の少なくとも一つを、第一と第二とのホストインタフェースの少なくとも一つへコマンド線として接続しても良い。それにより、複数のモジュールがそれぞれ専用のコマンド線を持ち得る。ホストはコマンドを宛先モジュール別にそれぞれの専用のコマンド線でのみ送出する。それにより、複数のモジュールがそれぞれ異なるコマンドを同時に処理できる。更に、それぞれのモジュールには他のモジュール宛のコマンドが入力されないので、ホストインタフェースの負担が軽減される。
その他に、ホストがそれぞれのモジュール専用のコマンド線をモジュール選択用の信号線として使用しても良い。すなわち、モジュール別に接続されたコマンド線の動作状態（例えばＨ又はＬ）で通信対象モジュールを指定しても良い。
【００４２】
本発明の別の観点による複合入出力装置は、
（Ａ）  ホストからのコマンドを伝送するためのコマンド線と、ホストとの間で交換されるデータを伝送するための複数本のデータ線と、を含むバス；
（Ｂ）  そのバスを通しホストとの間で通信を行うためのインタフェースであり、特にホストからのコマンドを解読可能で、かつホストとの間のデータ転送で使用されるデータ線の本数を増減可能である第一のホストインタフェース、を含む第一のモジュール；
（Ｃ）  バスを通しホストとの間でデータ転送を行うための第二のホストインタフェース、を含む第二のモジュール；及び、
（Ｄ）  第一と第二とのホストインタフェースとバスとの接続を管理し、特にデータ線をそれぞれのホストインタフェースに対し専用の信号線として割り振るためのバス調停部；
を有する複合入出力装置であり、
第二のモジュールがバス調停部により割り振られたバスのデータ線の内、一本を同期伝送用クロックの伝送線として、別の一本をディジタルデータの伝送線として、それぞれ使用し、
第一のモジュールがバス調停部により割り振られたバスのデータ線の一本を、ディジタルデータのサンプル間隔を示す信号（以下、サンプリング同期信号という）の伝送線として使用しても良い。
【００４３】
この複合入出力装置では、ホストが第一のモジュールと第二のモジュールとの両方との間でデータ転送を同時に実行できる。特に、ホストが第二のモジュールからディジタルデータを転送するとき、上記の同期伝送用クロックを第二のモジュールからそのディジタルデータとパラレルに入力する。更に、サンプリング同期信号を第一のモジュールから割込信号として入力する。こうして、第二のモジュールとホストとの間で直接のＰＣＭ通信が実現される。ホストは特に、ＰＣＭ信号内の実際のサンプル間隔とサンプリング同期信号とのずれを、直接検出できる。それにより、ホストと第二のモジュールとの間のデータ転送について、その伝送品質を高く維持できる。
【００４４】
【発明の実施の形態】
以下、本発明の最適な実施形態について、図面を参照しつつ説明する。
【００４５】
《実施形態１》
図１は、本発明の実施形態１による複合Ｉ／Ｏカード１Ａの構成を示すブロック図である。この複合Ｉ／Ｏカード１ＡはホストＨに外付けされるカード型入出力装置、すなわちインタフェースカードである。更に、Ｉ／Ｏモジュール１０とメモリモジュール２０との複数のモジュールを実装する複合入出力装置である。
【００４６】
複合Ｉ／Ｏカード１Ａは外部バス３を通し、ホストＨのカードスロットＳＬへ接続される。外部バス３は、コマンド線ＣＭＤ、四本のデータ線ＤＡＴ０〜３、クロック線ＣＬＫ、電源線ＶＤＤ、及びグラウンド線ＶＳＳを含む。
電源線ＶＤＤとグラウンド線ＶＳＳとは、ホストＨから複合Ｉ／Ｏカード１Ａへ電力を供給するための信号線である。
コマンド線ＣＭＤはホストＨから複合Ｉ／Ｏカード１Ａへのコマンド、及び複合Ｉ／Ｏカード１ＡからホストＨへのレスポンスを伝送するための信号線である。
データ線ＤＡＴ０〜３はホストＨと複合Ｉ／Ｏカード１Ａとの間で転送されるデータを伝送するための信号線である。
クロック線ＣＬＫはホストＨから複合Ｉ／Ｏカード１Ａへの同期通信用クロックの伝送線である。
【００４７】
バス調停部２Ａは、第一の内部バス１３と第二の内部バス２３とを外部バス３へ接続する。ここで、第一の内部バス１３はＩ／Ｏモジュール１０に繋がり、第二の内部バス２３はメモリモジュール２０に繋がる。内部バスはそれぞれ外部バス３と同様に、コマンド線ＣＭＤ、四本のデータ線ＤＡＴ０〜３、及びクロック線ＣＬＫを含む。
第一の内部バス１３、第二の内部バス２３、及び外部バス３のそれぞれの信号線間の接続パターンは、従来の複合Ｉ／Ｏカードと同様な三種類に加え、新たな一種類を含む。バス調停部２Ａは、例えばＩ／Ｏモジュール１０とメモリモジュール２０とのそれぞれの状態に応じ、内部バスと外部バスとの信号線間の接続パターンをそれら四種類の中から選択する。その選択の詳細については後述する。
【００４８】
Ｉ／Ｏモジュール１０は従来のＩ／Ｏカード（例えば、図６に示されるＩ／Ｏカード２００を参照せよ）と共通の構成として、第一のホストインタフェース１１及び機能部１２Ａと１２Ｂとを含む。
第一のホストインタフェース１１は、ホストＨと機能部１２Ａ又は１２Ｂとの間で交換されるデータを中継するためのインタフェースである。
【００４９】
Ｉ／Ｏモジュール１０は機能部として、例えば無線通信部１２Ａと撮像部１２Ｂとを含む。無線通信部１２Ａは第一のホストインタフェース１１を、例えば外部の無線ＬＡＮへ接続し、データ通信を行う。撮像部１２Ｂは、例えば電荷結合素子（ＣＣＤ）等の撮像素子を含み、外部から取り入れた光学像を画像信号へ変換する。
Ｉ／Ｏモジュール１０はその他に例えば、メモリ、短距離無線通信、携帯電話、ＰＨＳ、若しくはＧＰＳの装置、又はそれらに対するインタフェースを、機能部として含んでも良い。
【００５０】
第一のホストインタフェース１１はコマンド線ＣＭＤを通しホストＨからコマンドを受信し、その内容と宛先機能部とを解読する。更に、解読されたコマンドの内容をそのコマンドの宛先機能部へ通知する。それと共に、コマンドの内容及び宛先機能部の状態に応じレスポンスを設定し、ホストＨへコマンド線ＣＭＤを通し返信する。
【００５１】
コマンドが例えば無線通信部１２Ａ又は撮像部１２Ｂからのデータ転送命令であるとき、第一のホストインタフェース１１はそれぞれの機能部からデータを読み出し、データ線ＤＡＴ０〜３を通しホストＨへ転送する。
コマンドが例えば無線通信部１２Ａに対するデータ送信命令であるとき、第一のホストインタフェース１１はデータ線ＤＡＴ０〜３を通し送信対象データをホストＨから受信し、無線通信部１２Ａへ転送する。それにより、送信対象データが外部へ無線で送信される。
【００５２】
ホストＨと第一のホストインタフェース１１との間のデータ転送は同期通信で行われ、すなわち、クロック線ＣＬＫを通しホストＨから送出されるクロックと同期する。
データは更に一定のデータ量ずつブロックに分けられ、ブロックごとにシリアルに又はパラレルに転送される。シリアル転送では第一のデータ線ＤＡＴ０のみが使用され、パラレル転送では四本のデータ線ＤＡＴ０〜３全てが使用される。ホストＨはデータ転送時、使用する転送モードを予め選択し、第一のホストインタフェース１１へ通知する。
【００５３】
例えば外部から無線通信部１２Ａを通しホストＨへデータが転送されるとき、無線通信部１２Ａ内の受信バッファが一杯になるごとに、第一のホストインタフェース１１はホストＨへ割り込みをかける。ここで、割込信号は第二のデータ線ＤＡＴ１を通し送出される。その割り込みにより、ホストＨは無線通信部１２Ａに対しデータ転送命令を送出する。
撮像部１２ＢからホストＨへのデータ転送についても同様な割り込みが行われる。
【００５４】
メモリモジュール２０は従来のメモリカード（例えば、図６に示されるメモリカード１００を参照せよ）と共通の構成として、第二のホストインタフェース２１とメモリ部２２とを含む。
第二のホストインタフェース２１は、ホストＨとメモリ部２２との間で交換されるデータを中継するためのインタフェースである。
メモリ部２２は不揮発性半導体メモリ、好ましくはフラッシュメモリを内蔵し、ホストＨにデータストレージ機能を提供する。
【００５５】
第二のホストインタフェース２１はコマンド線ＣＭＤを通しホストＨからコマンドを受信し解読する。更に、解読されたコマンドの内容及びメモリ部２２の状態に応じレスポンスを設定し、ホストＨへコマンド線ＣＭＤを通し返信する。
【００５６】
コマンドが例えばフラッシュメモリからの読み出し命令であるとき、第二のホストインタフェース２１はメモリ部２２に対し、内蔵フラッシュメモリからデータを読み出すように指示する。更に、メモリ部２２により読み出されたデータを、ホストＨへデータ線ＤＡＴ０〜３を通し転送する。
【００５７】
コマンドが例えばフラッシュメモリへの書き込み命令であるとき、第二のホストインタフェース２１はデータ線ＤＡＴ０〜３を通し書き込み対象データをホストＨから受信し、メモリ部２２へ転送する。メモリ部２２はそのデータを内蔵フラッシュメモリへ書き込む。
【００５８】
ホストＨと第二のホストインタフェース２１との間のデータ転送は同期通信で行われ、すなわち、クロック線ＣＬＫを通しホストＨから送出されるクロックと同期する。
データ転送は更に、シリアル転送又はパラレル転送のいずれかのモードで行われる。ここで、シリアル転送では第一のデータ線ＤＡＴ０のみが使用される。一方、パラレル転送では四本のデータ線ＤＡＴ０〜３全てが使用され、すなわちデータが４ビットずつ転送される。ホストＨはデータ転送時、使用する転送モードを予め選択し、第二のホストインタフェース２１へ通知する。
【００５９】
ホストＨは複合Ｉ／Ｏカード１Ａの初期化時、Ｉ／Ｏモジュール１０とメモリモジュール２０とを個別に初期化し認識する。特に、それぞれのモジュールに対し異なるカードアドレスＣＡ１とＣＡ２とを割り当てる。第一のホストインタフェース１１と第二のホストインタフェース２１とはそれぞれ、ホストＨにより割り当てられたカードアドレスＣＡ１とＣＡ２とを内部のレジスタ１１Ａと２１Ａとに記憶する。
【００６０】
カードアドレスの割り当て完了後、ホストＨはコマンドの宛先を示す引数にカードアドレスを設定する。それによりデータ転送の対象モジュールを特定する。第一のホストインタフェース１１／第二のホストインタフェース２１は、受信されたコマンドの宛先アドレスと、内部のレジスタ１１Ａ／２１Ａに記憶されたカードアドレスＣＡ１／ＣＡ２とをそれぞれ比較する。それらのアドレスの一致により、そのコマンドの宛先モジュールが自己のモジュールであることを判断する。
第一のホストインタフェース１１と第二のホストインタフェース２１とは、レスポンスの送出元を示す引数に自己のカードアドレスを設定する。ホストＨはレスポンスに含まれるカードアドレスに基づき、その送出元のモジュールを特定する。
【００６１】
Ｉ／Ｏモジュール１０は更にその初期化／認識処理の中で、内部の機能部に関する識別情報をホストＨへ通知する。その識別情報は例えば、機能部を特定するためのシリアル番号を含む。ホストＨはそのシリアル番号をコマンドの引数として設定し、そのコマンドの宛先機能部を指定する。第一のホストインタフェース１１は、受信されたコマンドの引数として設定されたシリアル番号に基づき、そのコマンドの宛先機能部を特定する。
【００６２】
以下、バス調停部２Ａによる、第一の内部バス１３、第二の内部バス２３、及び外部バス３の接続パターンの切換について説明する。
実施形態１による接続パターンは次の四種類を含む：
第一のパターンでは、第一の内部バス１３だけが外部バス３へ接続される。それにより、Ｉ／Ｏモジュール１０だけがホストＨへ接続される。
第二のパターンでは、第二の内部バス２３だけが外部バス３へ接続される。それにより、メモリモジュール２０だけがホストＨへ接続される。
第三のパターンでは、第一の内部バス１３と第二の内部バス２３とのそれぞれの信号線が全て、外部バス３の対応する信号線へ接続される。それにより、Ｉ／Ｏモジュール１０とメモリモジュール２０とがホストＨへバス接続される。
これら三つのパターンは従来の複合Ｉ／Ｏカードと共通である。
【００６３】
第四のパターンは図１に示され、本発明の実施形態１での特徴的な接続パターンである。
第四のパターンでは、第一の内部バス１３のコマンド線ＣＭＤ、第一のデータ線ＤＡＴ０、第二のデータ線ＤＡＴ１、及びクロック線ＣＬＫが、外部バス３のコマンド線ＣＭＤ、第一のデータ線ＤＡＴ０、第二のデータ線ＤＡＴ１、及びクロック線ＣＬＫへ、それぞれ接続される。一方、第二の内部バス２３のコマンド線ＣＭＤ、第一のデータ線ＤＡＴ０、及びクロック線ＣＬＫが、外部バス３の第三のデータ線ＤＡＴ２、第四のデータ線ＤＡＴ３、及びクロック線ＣＬＫへ、それぞれ接続される。そのとき、第一のホストインタフェース１１と第二のホストインタフェース２１とはそれぞれ、シリアル転送でのみホストＨとの間でデータを交換できる。ここで、外部バス３の第二のデータ線ＤＡＴ１は、Ｉ／Ｏモジュール１０からの割り込み用の信号線として使用される。
【００６４】
バス調停部２Ａは上記第一〜第四のパターンを、Ｉ／Ｏモジュール１０とメモリモジュール２０とのそれぞれの状態に応じ、次のように選択する：
Ｉ／Ｏモジュール１０とメモリモジュール２０とのいずれか一方が初期化待ち状態にあるとき、バス調停部２Ａはその初期化待ち状態にあるモジュールと繋がる内部バスだけを外部バス３へ接続する。すなわち、第一又は第二のパターンいずれか一方を選択する。それにより、その初期化待ち状態のモジュールだけがホストＨにより初期化／認識される。
【００６５】
Ｉ／Ｏモジュール１０とメモリモジュール２０との両方が初期化待ち状態にあるとき、バス調停部２Ａはまず第一のパターンを選択し、第一の内部バス１３だけを外部バス３へ接続する。それにより、Ｉ／Ｏモジュール１０がまずホストＨにより初期化／認識される。
バス調停部２Ａは次に接続パターンを第二のパターンへ切り換え、第二の内部バス２３だけを外部バス３へ接続する。それにより、メモリモジュール２０がホストＨにより初期化／認識される。
【００６６】
Ｉ／Ｏモジュール１０とメモリモジュール２０との両方がホストＨにより初期化／認識され、特にカードアドレスを割り当てられた状態にあるとき、バス調停部２Ａは接続パターンを第三又は第四のパターンのいずれかへ切り換える。ここで、その切り換え先の選択は、例えば次のように行う：
【００６７】
ホストＨがいずれかのモジュールに対しパラレル転送を指示するとき、バス調停部２Ａは第三のパターンを選択し、第一の内部バス１３と第二の内部バス２３との両方を外部バス３へ接続する。それにより、Ｉ／Ｏモジュール１０とメモリモジュール２０とがホストＨへバス接続される。
ホストＨから送出されるコマンドは、第一のホストインタフェース１１と第二のホストインタフェース２１との両方により同時に受信される。それぞれのホストインタフェースは、ホストＨからのコマンドの受信時、そのコマンドの宛先として設定されたカードアドレスに基づき、応答を判断する。すなわち、受信されたコマンドの宛先アドレスを自己のカードアドレスと比較する。それらが一致するとき、それぞれのホストインタフェースはそのコマンドを所属モジュール宛のものとして処理する。それ以外のときは例えば、そのコマンドを他のモジュール宛のコマンドとして破棄し、次のコマンドを待つ。
【００６８】
ホストＨがＩ／Ｏモジュール１０とメモリモジュール２０との両方に対しシリアル転送を指示するとき、バス調停部２Ａは第四のパターンを選択する。
ホストＨから送出されるコマンドはそれぞれの宛先モジュール専用のコマンド線を通し送出される。すなわち、Ｉ／Ｏモジュール１０宛のコマンドは外部バス３のコマンド線で伝送され、メモリモジュール２０宛のコマンドは外部バス３の第三のデータ線ＤＡＴ２で伝送される。
Ｉ／Ｏモジュール１０とホストＨとの間のシリアル転送は、外部バス３の第一のデータ線ＤＡＴ０を通し実行される。一方、メモリモジュール２０とホストＨとの間のシリアル転送は、外部バス３の第三のデータ線ＤＡＴ２を通し実行される。
【００６９】
こうして、両方のモジュールによるシリアル転送が相互に独立に、かつ同時に実現される。その結果、一方のモジュールのシリアル転送による他方のモジュールの待ち時間が短縮されるので、モジュール一つ当たりの実質的な転送速度が向上する。
【００７０】
上記の複合Ｉ／Ｏカード１Ａでは、ホストＨがＩ／Ｏモジュール１０とメモリモジュール２０との両方に異なるカードアドレスを割り当てる。その他に、ホストＨが両方のモジュールに対しシリアル転送のみを指示するときは、カードアドレスの割り当てを省略しても良い。その場合、バス調停部２Ａは第四のパターンを選択するので、コマンドが宛先モジュールにしか送出されない。従って、それぞれのホストインタフェースは、受信されたコマンドの宛先を確認しなくても良い。その結果、ホストインタフェースの負担が軽減する。更に、コマンドのオーバヘッドが縮小されるので、外部バス３のトラフィックを低減できる。
【００７１】
《実施形態２》
図２は、本発明の実施形態２による複合Ｉ／Ｏカード１Ｂの構成を示すブロック図である。この複合Ｉ／Ｏカード１Ｂは実施形態１による複合Ｉ／Ｏカード１Ａと共通の構成要素を含む。図２では、それらの共通の構成要素に対し、図１と同じ符号が付される。更に、それらの共通の構成要素の詳細は、実施形態１での説明を援用する。
【００７２】
実施形態２による複合Ｉ／Ｏカード１Ｂは、第一のＩ／Ｏモジュール１０と第二のＩ／Ｏモジュール３０とを実装する。
第一のＩ／Ｏモジュール１０は実施形態１によるＩ／Ｏモジュール１０と共通の構成を含む。
第二のＩ／Ｏモジュール３０は第一のＩ／Ｏモジュール１０と同様、従来のＩ／Ｏカード（例えば、図６に示されるＩ／Ｏカード２００を参照せよ）と共通の構成として、第二のホストインタフェース３１及び機能部３２Ａと３２Ｂとを含む。
第二のホストインタフェース３１は、ホストＨと機能部３２Ａ又は３２Ｂとの間で交換されるデータを中継するためのインタフェースである。
【００７３】
第二のＩ／Ｏモジュール３０は機能部として、例えばメモリ部３２ＡとＧＰＳ部３２Ｂとを含む。メモリ部３２Ａは不揮発性半導体メモリ、好ましくはフラッシュメモリを内蔵し、ホストＨにデータストレージ機能を提供する。ＧＰＳ部３２Ｂは、例えばＧＰＳ衛星からの電波信号を受信するためのアンテナ、及びその電波信号の解析部を含む。その電波信号の解析により現在位置を算出し、ホストへ通知する。
第二のＩ／Ｏモジュール３０はその他に例えば、短距離無線通信、携帯電話、若しくはＰＨＳの装置、又はそれらに対するインタフェースを、機能部として含んでも良い。
【００７４】
第二のホストインタフェース３１はコマンド線ＣＭＤを通しホストＨからコマンドを受信し、その内容と宛先機能部とを解読する。更に、解読されたコマンドの内容をそのコマンドの宛先機能部へ通知する。それと共に、コマンドの内容及び宛先機能部の状態に応じレスポンスを設定し、ホストＨへコマンド線ＣＭＤを通し返信する。
【００７５】
コマンドが例えばメモリ部３２Ａに対するデータ読み出し命令、又はＧＰＳ部３２Ｂに対するデータ転送命令であるとき、第二のホストインタフェース３１はそれぞれの機能部からデータを読み出し、データ線ＤＡＴ０〜３を通しホストＨへ転送する。
コマンドが例えばメモリ部３２Ａに対するデータ書き込み命令であるとき、第二のホストインタフェース３１はデータ線ＤＡＴ０〜３を通し書き込み対象データをホストＨから受信し、メモリ部３２Ａへ転送する。それにより、書き込み対象データがメモリ部３２Ａ内部のフラッシュメモリへ書き込まれる。
【００７６】
ホストＨと第二のホストインタフェース３１との間のデータ転送は同期通信で行われ、すなわち、クロック線ＣＬＫを通しホストＨから送出されるクロックと同期する。
データ転送は更に、シリアル転送又はパラレル転送のいずれかのモードで行われる。シリアル転送では第一のデータ線ＤＡＴ０のみが使用され、パラレル転送では四本のデータ線ＤＡＴ０〜３全てが使用される。ホストＨはデータ転送時、使用する転送モードを予め選択し、第二のホストインタフェース３１へ通知する。
【００７７】
例えばＧＰＳ部３２Ｂが現在位置を算出するごとに、第二のホストインタフェース３１はホストＨへ割り込みをかける。ここで、割込信号は第二のデータ線ＤＡＴ１を通し送出される。その割り込みにより、ホストＨはＧＰＳ部３２Ｂに対しデータ転送命令を送出する。
【００７８】
バス調停部２Ｂは、第一の内部バス１３と第二の内部バス３３とを外部バス３へ接続する。ここで、第一の内部バス１３は第一のＩ／Ｏモジュール１０に繋がり、第二の内部バス３３は第二のＩ／Ｏモジュール３０に繋がる。内部バスはそれぞれ外部バス３と同様、コマンド線ＣＭＤ、四本のデータ線ＤＡＴ０〜３、及びクロック線ＣＬＫを含む。第一の内部バス１３、第二の内部バス３３、及び外部バス３のそれぞれの信号線間の接続パターンは、従来の複合Ｉ／Ｏカードと同様な三種類に加え、新たな一種類を含む。バス調停部２Ｂは、例えば第一と第二とのＩ／Ｏモジュール１０と３０とのそれぞれの状態に応じ、内部バスと外部バスとの信号線間の接続パターンをそれら四種類の中から選択する。その選択の詳細については後述する。
【００７９】
ホストＨは複合Ｉ／Ｏカード１Ｂの初期化時、第一と第二とのＩ／Ｏモジュール１０と３０とを個別に初期化し認識する。特に、それぞれのモジュールに対し異なるカードアドレスＣＡ１とＣＡ２とを割り当てる。第一のホストインタフェース１１と第二のホストインタフェース３１とはそれぞれ、ホストＨにより割り当てられたカードアドレスＣＡ１とＣＡ２とを内部のレジスタ１１Ａと３１Ａとに記憶する。
【００８０】
カードアドレスの割り当て完了後、ホストＨはコマンドの宛先を示す引数にカードアドレスを設定する。それによりデータ転送の対象モジュールを特定する。第一のホストインタフェース１１／第二のホストインタフェース３１は、受信されたコマンドの宛先アドレスと、内部のレジスタ１１Ａ／３１Ａに記憶されたカードアドレスＣＡ１／ＣＡ２とを比較する。それらのアドレスの一致により、そのコマンドの宛先モジュールが自己のモジュールであることを判断する。
第一のホストインタフェース１１と第二のホストインタフェース３１とは、レスポンスの送出元を示す引数に自己のカードアドレスを設定する。ホストＨはレスポンスに含まれるカードアドレスに基づき、その送出元のモジュールを特定する。
【００８１】
第一と第二とのＩ／Ｏモジュール１０と３０とは更にそれぞれの初期化／認識処理の中で、内部の機能部に関する識別情報をホストＨへ通知する。その識別情報は例えば、機能部を特定するためのシリアル番号を含む。ホストＨはそのシリアル番号をコマンドの引数として設定し、そのコマンドの宛先機能部を指定する。第一と第二とのホストインタフェース１１と３１とは、受信されたコマンドの引数として設定されたシリアル番号に基づき、そのコマンドの宛先機能部を特定する。
【００８２】
以下、バス調停部２Ｂによる、第一の内部バス１３、第二の内部バス３３、及び外部バス３の接続パターンの切換について説明する。
実施形態２による接続パターンは実施形態１によるものと同様、従来の第一〜第三のパターンを含む。それらに加え、実施形態２での特徴的な接続パターンとして、第五のパターンを含む。第五のパターンは図２に示される。
【００８３】
第五のパターンでは、第一の内部バス１３のコマンド線ＣＭＤ、第一のデータ線ＤＡＴ０、第二のデータ線ＤＡＴ１、及びクロック線ＣＬＫが、外部バス３のコマンド線ＣＭＤ、第一のデータ線ＤＡＴ０、第二のデータ線ＤＡＴ１、及びクロック線ＣＬＫへそれぞれ接続される。一方、第二の内部バス２３のコマンド線ＣＭＤ、第一のデータ線ＤＡＴ０、第二のデータ線ＤＡＴ１、及びクロック線ＣＬＫが、外部バス３のコマンド線ＣＭＤ、第三のデータ線ＤＡＴ２、第四のデータ線ＤＡＴ３、及びクロック線ＣＬＫへそれぞれ接続される。そのとき、第一のホストインタフェース１１と第二のホストインタフェース３１とはそれぞれ、シリアル転送でのみホストＨとの間でデータを交換できる。
更に、第一のＩ／Ｏモジュール１０は外部バス３の第二のデータ線ＤＡＴ１を通し、第二のＩ／Ｏモジュール３０は外部バス３の第四のデータ線ＤＡＴ３を通し、それぞれの割込信号をホストＨへ送出する。
【００８４】
バス調停部２Ｂは上記第一〜第三、及び第五のパターンを、第一と第二とのＩ／Ｏモジュール１０と３０とのそれぞれの状態に応じ、次のように選択する：
Ｉ／Ｏモジュール１０と３０とのいずれか一方が初期化待ち状態にあるとき、バス調停部２Ｂはその初期化待ち状態にあるモジュールと繋がる内部バスだけを外部バス３へ接続する。すなわち、第一又は第二のパターンいずれか一方を選択する。それにより、その初期化待ち状態のモジュールだけがホストＨにより初期化／認識される。
【００８５】
Ｉ／Ｏモジュール１０と３０との両方が初期化待ち状態にあるとき、バス調停部２Ｂはまず第一のパターンを選択する。それにより、第一のＩ／Ｏモジュール１０がまずホストＨにより初期化／認識される。バス調停部２Ｂは次に接続パターンを第二のパターンへ切り換える。それにより、第二のＩ／Ｏモジュール３０がホストＨにより初期化／認識される。
【００８６】
Ｉ／Ｏモジュール１０と３０との両方がホストＨにより初期化／認識され、特にカードアドレスを割り当てられた状態にあるとき、バス調停部２Ｂは接続パターンを第三又は第五のパターンのいずれかへ切り換える。ここで、その切り換え先の選択は、例えば次のように行う：
【００８７】
ホストＨがいずれかのモジュールに対しパラレル転送を指示するとき、バス調停部２Ｂは第三のパターンを選択する。それにより、Ｉ／Ｏモジュール１０と３０とがホストＨへバス接続される。
ホストＨから送出されるコマンドは、第一のホストインタフェース１１と第二のホストインタフェース３１との両方により同時に受信される。それぞれのホストインタフェースは、ホストＨからのコマンドの受信時、そのコマンドの宛先として設定されたカードアドレスに基づき、応答を判断する。すなわち、受信されたコマンドの宛先アドレスを自己のカードアドレスと比較する。それらが一致するとき、それぞれのホストインタフェースはそのコマンドを所属モジュール宛のものとして処理する。それ以外のときは例えば、そのコマンドを他のモジュール宛のコマンドとして破棄し、次のコマンドを待つ。
【００８８】
ホストＨがＩ／Ｏモジュール１０と３０との両方に対しシリアル転送を指示するとき、バス調停部２Ｂは第五のパターンを選択する。
第五のパターンでは、第一と第二との内部バス１３と３３とのコマンド線ＣＭＤがいずれも、外部バス３のコマンド線ＣＭＤへ接続される。従って、第三のパターンと同様、ホストＨから送出されるコマンドは、第一と第二とのホストインタフェース１１と３１との両方により同時に受信される。それぞれのホストインタフェース１１と３１とは、ホストＨからのコマンドの受信時、そのコマンドの宛先として設定されたカードアドレスに基づき、応答を判断する。
【００８９】
第一のＩ／Ｏモジュール１０とホストＨとの間のシリアル転送は、外部バス３の第一のデータ線ＤＡＴ０を通し実行される。一方、第二のＩ／Ｏモジュール３０とホストＨとの間のシリアル転送は、外部バス３の第三のデータ線ＤＡＴ２を通し実行される。更に、第一のＩ／Ｏモジュール１０からホストＨへの割込信号は外部バス３の第二のデータ線ＤＡＴ１を通し伝送される。一方、第二のＩ／Ｏモジュール３０からホストＨへの割込信号は外部バス３の第四のデータ線ＤＡＴ３を通し伝送される。従って、ホストＨは割込信号の伝送線の識別を通し、いずれのＩ／Ｏモジュールからの割り込みであるのかを判断できる。
【００９０】
こうして、両方のＩ／Ｏモジュールによるシリアル転送が相互に独立に、かつ同時に実現される。その結果、一方のモジュールのシリアル転送による他方のモジュールの待ち時間が短縮されるので、モジュール一つ当たりの実質的な転送速度が向上する。
【００９１】
《実施形態３》
図３は、本発明の実施形態３による複合Ｉ／Ｏカード１Ｃの構成を示すブロック図である。この複合Ｉ／Ｏカード１Ｃは上記の実施形態１及び２による複合Ｉ／Ｏカード１Ａ及び１Ｂと同様な構成要素を含む。図３では、それらの同様な構成要素に対し、図１及び図２と同じ符号が付される。
【００９２】
実施形態３による複合Ｉ／Ｏカード１Ｃは例えば、第一〜第五の五つのモジュール１０、２０、３０、４０、及び５０を実装する。それらのモジュールはいずれも、実施形態１によるＩ／Ｏモジュール１０、メモリモジュール２０、又は実施形態２による第二のＩ／Ｏモジュール３０と同様、従来のＩ／Ｏカード又はメモリカードと共通の構成を含み、それらのインタフェースカードと同等に機能する。
【００９３】
それぞれのモジュールは特に、従来のインタフェースカードと共通の構成として、ホストインタフェース１１、２１、３１、４１、及び５１、並びに機能部１２、２２、３２、４２、及び５２を含む。
モジュール１０〜５０内の機能部１２〜５２はそれぞれ、例えば、メモリ、短距離無線通信、携帯電話、ＰＨＳ、無線ＬＡＮ、ＧＰＳ、若しくはディジタルカメラ等の装置、又はそれらに対するインタフェースを含む。ここで、一つのモジュールが複数の機能部を含んでも良い。
【００９４】
実施形態３によるバス調停部２Ｃは、第一〜第五の五つの内部バス１３、２３、３３、４３、及び５３を外部バス３へ接続する。第一〜第五の内部バス１３〜５３はそれぞれ第一〜第五のモジュール１０〜５０に繋がる。内部バスはそれぞれ外部バス３と同様、コマンド線ＣＭＤ、四本のデータ線ＤＡＴ０〜３、及びクロック線ＣＬＫを含む。
【００９５】
第一〜第五の内部バス１３〜５３、及び外部バス３のそれぞれの信号線間の接続パターンは以下の三種類を含む。
第一のパターンでは、第一〜第五の内部バス１３〜５３のいずれか一つだけが外部バス３へ接続される。それにより、第一〜第五のモジュール１０〜５０のいずれか一つだけがホストＨへ接続される。
第二のパターンでは、第一〜第五の内部バス１３〜５３のそれぞれの信号線が全て外部バス３の対応する信号線へ接続される。それにより、第一〜第五のモジュール１０〜５０全てがホストＨへバス接続される。
これら二つのパターンは従来の複合Ｉ／Ｏカードと共通である。
【００９６】
第三のパターンは図３に示され、本発明の実施形態３での特徴的な接続パターンである。
第三のパターンでは、第一〜第五の内部バス１３〜５３それぞれのコマンド線ＣＭＤが順に、外部バス３のコマンド線ＣＭＤ、第一のデータ線ＤＡＴ０、第二のデータ線ＤＡＴ１、第三のデータ線ＤＡＴ２、及び第四のデータ線ＤＡＴ３へ接続される。更に、第一〜第五の内部バス１３〜５３それぞれのクロック線ＣＬＫがいずれも、外部バス３のクロック線ＣＬＫへ接続される。こうして、第一〜第五のホストインタフェース１１〜５１はそれぞれ、コマンド線ＣＭＤでのみホストＨと通信できる。
【００９７】
バス調停部２Ｃは上記第一〜第三のパターンを、例えば第一〜第五のモジュール１０〜５０のそれぞれの状態に応じ、次のように選択する：
五つのモジュールのいずれか一つが初期化待ち状態にあるとき、バス調停部２Ｃはその初期化待ち状態にあるモジュールと繋がる内部バスだけを外部バス３へ接続する。すなわち、第一のパターンを選択する。それにより、その初期化待ち状態のモジュールだけがホストＨにより初期化／認識される。
【００９８】
例えば五つのモジュールの少なくとも二つ、好ましくは全部が初期化待ち状態にあるとき、バス調停部２Ｃは第三のパターンを選択する。そのとき、ホストＨはそれぞれのモジュールに対し、初期化／認識処理をコマンド／レスポンス通信で制御する。第三のパターンでは、全てのモジュールのコマンド線ＣＭＤが相互に独立に、かつパラレルにホストＨへ接続される。従って、ホストＨは複数のモジュールの初期化／認識処理をパラレルに実行できるので、その全体の処理時間を短縮できる。
【００９９】
ホストＨが全てのモジュールについて初期化／認識処理を終えたとき、バス調停部２Ｃは第二のパターンを選択する。それにより、第一〜第五のモジュール１０〜５０全てがホストＨへバス接続される。特に、それぞれのモジュールのデータ線ＤＡＴ０〜３がホストＨへ接続される。従って、データ線ＤＡＴ０〜３によるデータ転送が可能である。
ホストＨから送出されるコマンドは、第一〜第五のホストインタフェース１１〜５１の全てにより同時に受信される。それぞれのホストインタフェースは、ホストＨからのコマンドの受信時、そのコマンドの宛先として設定されたカードアドレスに基づき、応答を判断する。
【０１００】
《実施形態４》
図４は、本発明の実施形態４による複合Ｉ／Ｏカード１Ｄの構成を示すブロック図である。この複合Ｉ／Ｏカード１Ｄは上記の実施形態１による複合Ｉ／Ｏカード１Ａと共通の構成要素を含む。図４では、それらの共通の構成要素に対し、図１と同じ符号が付される。更に、それらの共通の構成要素の詳細は実施形態１での説明を援用する。
【０１０１】
実施形態４による複合Ｉ／Ｏカード１Ｄは例えば、第一〜第四の四つのモジュール２０Ａ、２０Ｂ、２０Ｃ、及び２０Ｄを実装する。それらのモジュールはいずれも、実施形態１によるメモリモジュール２０と共通の構成を含み、それらと同等に機能する。それぞれのモジュールは特に、実施形態１によるメモリモジュール２０と共通の構成として、ホストインタフェース２１、及びメモリ部２２を含む。
【０１０２】
実施形態４によるバス調停部２Ｄは、第一〜第四の四つの内部バス１３Ａ、１３Ｂ、１３Ｃ、及び１３Ｄを外部バス３へ接続する。第一〜第四の内部バス１３Ａ〜１３Ｄはそれぞれ第一〜第四のモジュール２０Ａ〜２０Ｄに繋がる。内部バスはそれぞれ外部バス３と同様、コマンド線ＣＭＤ、四本のデータ線ＤＡＴ０〜３、及びクロック線ＣＬＫを含む。
【０１０３】
第一〜第四の内部バス１３Ａ〜１３Ｄ、及び外部バス３のそれぞれの信号線間の接続パターンは以下の三種類を含む。
第一のパターンでは、第一〜第四の内部バス１３Ａ〜１３Ｄのいずれか一つだけが外部バス３へ接続される。それにより、第一〜第四のモジュール２０Ａ〜２０Ｄのいずれか一つだけがホストＨへ接続される。
第二のパターンでは、第一〜第四の内部バス１３Ａ〜１３Ｄのそれぞれの信号線が全て外部バス３の対応する信号線へ接続される。それにより、第一〜第四のモジュール２０Ａ〜２０Ｄ全てがホストＨへバス接続される。
これら二つのパターンは従来の複合Ｉ／Ｏカードと共通である。
【０１０４】
第三のパターンは図４に示され、本発明の実施形態４での特徴的な接続パターンである。
第三のパターンでは、第一〜第四の内部バス１３Ａ〜１３Ｄそれぞれの第一のデータ線ＤＡＴ０が順に、外部バス３の第一のデータ線ＤＡＴ０、第二のデータ線ＤＡＴ１、第三のデータ線ＤＡＴ２、及び第四のデータ線ＤＡＴ３へ接続される。更に、第一〜第四の内部バス１３Ａ〜１３Ｄそれぞれのコマンド線ＣＭＤ及びクロック線ＣＬＫが、外部バス３のコマンド線ＣＭＤ及びクロック線ＣＬＫへ、それぞれ接続される。こうして、第一〜第四のモジュール２０Ａ〜２０Ｄのホストインタフェース２１はそれぞれ、シリアル転送でのみホストＨとの間でデータを転送できる。
【０１０５】
バス調停部２Ｄは上記第一〜第三のパターンを、例えば第一〜第四のモジュール２０Ａ〜２０Ｄのそれぞれの状態に応じ、次のように選択する：
第一〜第四のモジュール２０Ａ〜２０Ｄが初期化待ち状態のものを含むとき、バス調停部２Ｄはその初期化待ち状態にあるモジュールと繋がる内部バスを、一組ずつ順に外部バス３へ接続する。すなわち、第一のパターンを選択する。それにより、その初期化待ち状態のモジュールがホストＨにより個別に初期化／認識される。特にそれぞれのモジュールは異なるカードアドレスＣＡ１、ＣＡ２、ＣＡ３、及びＣＡ４を割り当てられる。それぞれのモジュールのホストインタフェース２１は、ホストＨにより割り当てられたカードアドレスＣＡ１〜ＣＡ４を内部のレジスタ２１Ａに記憶する。
【０１０６】
第一〜第四のモジュール２０Ａ〜２０Ｄの全てがホストＨにより初期化／認識され、特にカードアドレスを割り当てられた状態にあるとき、バス調停部２Ｄは接続パターンを第二又は第三のパターンのいずれかへ切り換える。ここで、その切り換え先の選択は、例えば次のように行う：
【０１０７】
ホストＨがいずれかのモジュールに対しパラレル転送を指示するとき、バス調停部２Ｄは第二のパターンを選択し、第一〜第四の内部バス１３Ａ〜１３Ｄの全てを外部バス３へバス接続する。それにより、第一〜第四のモジュール２０Ａ〜２０Ｄが全て、ホストＨへバス接続される。
ホストＨから送出されるコマンドは、第一〜第四のモジュール２０Ａ〜２０Ｄそれぞれのホストインタフェース２１により同時に受信される。それぞれのホストインタフェース２１は、ホストＨからのコマンドの受信時、そのコマンドの宛先として設定されたカードアドレスに基づき、応答を判断する。
【０１０８】
ホストＨが複数のモジュールに対しシリアル転送のみを指示するとき、バス調停部２Ｄは第三のパターンを選択する。第三のパターンでは、第一〜第四の内部バス１３Ａ〜１３Ｄのコマンド線ＣＭＤがいずれも、外部バス３のコマンド線ＣＭＤへ接続される。従って、第二のパターンと同様、ホストＨから送出されるコマンドは、第一〜第四のモジュール２０Ａ〜２０Ｄそれぞれのホストインタフェース２１により同時に受信される。それぞれのホストインタフェース２１は、ホストＨからのコマンドの受信時、そのコマンドの宛先として設定されたカードアドレスに基づき、応答を判断する。
【０１０９】
第一のモジュール２０ＡとホストＨとの間のシリアル転送は、外部バス３の第一のデータ線ＤＡＴ０を通し実行される。第二のモジュール２０ＢとホストＨとの間のシリアル転送は、外部バス３の第二のデータ線ＤＡＴ１を通し実行される。第三のモジュール２０ＣとホストＨとの間のシリアル転送は、外部バス３の第三のデータ線ＤＡＴ２を通し実行される。第四のモジュール２０ＤとホストＨとの間のシリアル転送は、外部バス３の第四のデータ線ＤＡＴ３を通し実行される。
こうして、第一〜第四のモジュールによるシリアル転送が相互に独立に、かつ同時に実現される。その結果、一つのモジュールのシリアル転送による他のモジュールの待ち時間が短縮されるので、モジュール一つ当たりの実質的な転送速度が向上する。
【０１１０】
《実施形態５》
図５は、本発明の実施形態５による複合Ｉ／Ｏカード１Ｅの構成を示すブロック図である。この複合Ｉ／Ｏカード１Ｅは上記の実施形態１による複合Ｉ／Ｏカード１Ａと共通の構成要素を含む。図５では、それらの共通の構成要素に対し、図１と同じ符号が付される。更に、それらの共通の構成要素の詳細は実施形態１での説明を援用する。
【０１１１】
実施形態５による複合Ｉ／Ｏカード１Ｅは例えばＩ／Ｏモジュール１０とオーディオモジュール６０とを実装する。
Ｉ／Ｏモジュール１０は実施形態１によるものと共通の構成を含み、同様に機能する。特に、第一のホストインタフェース１１及び機能部１２Ａと１２Ｂとを含む点で共通する。
【０１１２】
第一のホストインタフェース１１はデータをブロックに細かく分け、ブロックごとにホストＨへ転送する。このブロック転送は、特にディジタルオーディオデータに対してはブロックの継ぎ目で音跳び又は雑音を生じやすいので、好ましくない。
Ｉ／Ｏモジュール１０内の無線通信部１２Ａは、外部から一連のディジタルオーディオデータを受信するとき、そのディジタルオーディオデータをＰＣＭ信号に変換する。更に変換後のディジタルオーディオデータＤＳを、第一のホストインタフェース１１に代え、オーディオモジュール６０へ転送する。
【０１１３】
オーディオモジュール６０はディジタルオーディオデータＤＳをメモリ部６２に一旦蓄える。ここで、メモリ部６２はＲＡＭ、好ましくはＳＲＡＭを含む。
オーディオモジュール６０は特に、メモリ部６２に蓄えられたディジタルオーディオデータについて実際のサンプル間隔とサンプリング周期とを比較し、相互のずれを補正する。例えば所定数のサンプルごとにパディングデータを付加し、それに続くサンプルの先頭位置をサンプリング周期に強制的に合わせる。
十分に多量のディジタルオーディオデータＤＳがメモリ部６２に蓄えられるとき、オーディオモジュール６０はそのディジタルオーディオデータを一連のストリームデータとして、ホストＨへ連続的に転送する。
【０１１４】
オーディオモジュール６０の構成は従来のインタフェースカードの構成とは異なる。特に第二のホストインタフェース６１はディジタルオーディオデータ及びその付加データをパラレルに、かつ互いに同期させて送出する。
ここで、その付加データは例えば同期伝送用クロック（以下、ビットクロックという）を含む。ディジタルオーディオデータがステレオ信号であるとき、付加データはレフト／ライトチャネル切換信号を含んでも良い。
【０１１５】
ホストＨは第一のホストインタフェース１１を通し、第二のホストインタフェース６１を制御する。ホストＨは例えば、第一のホストインタフェース１１に対するコマンドで、第二のホストインタフェース６１の動作を指示する。第一のホストインタフェース１１はそのコマンドに従い、第二のホストインタフェース６１へ所定の制御信号ＣＬＴを送出する。第二のホストインタフェース６１はその制御信号ＣＬＴに従い動作する。
【０１１６】
第二のホストインタフェース６１は、ディジタルオーディオデータに関する情報（例えば、サンプリング周波数、チャネル数、及び量子化ビット数を含む）、並びにモジュールに関する情報を、第一のホストインタフェース１１を通しホストＨへ通知する。ここで、第一のホストインタフェース１１は第二のホストインタフェース６１から入力されるそれらの情報を、ホストＨからのコマンドに対するレスポンスとして送出する。
【０１１７】
第二のホストインタフェース６１は更に、ディジタルオーディオデータのサンプルを一つ、ホストＨへ送出するごとに、所定の通知信号ＳＭＰを第一のホストインタフェース１１へ送出する。第一のホストインタフェース１１はそのとき、割込信号をホストＨへ送出する。それにより、割込信号はサンプリング周波数と同じ周波数の同期信号、すなわちサンプリング同期信号としてホストＨへ伝送される。ホストＨは例えば、ビットクロックのパルス数から求められるサンプル間隔とサンプリング同期信号の間隔との差から、ディジタルオーディオデータ内のパディングデータの存在を検出できる。
【０１１８】
ここで、第一のホストインタフェース１１と第二のホストインタフェース６１との間の通信は、第一のホストインタフェース１１と機能部１２Ａ（又は１２Ｂ）との間の通信と同様に行われても良い。すなわち、オーディオモジュール６０はＩ／Ｏモジュール１０の機能部の一つとして構成されても良い。但し、ディジタルオーディオデータ等を直接ホストＨへ送出できる点で通常の機能部とは異なる。
【０１１９】
実施形態５によるバス調停部２Ｅは、第一の内部バス１３及び第二の内部バス６３を外部バス３へ接続する。第一の内部バス１３はＩ／Ｏモジュール１０に繋がり、外部バス３と同様、コマンド線ＣＭＤ、四本のデータ線ＤＡＴ０〜３、及びクロック線ＣＬＫを含む。第二の内部バス６３はオーディオモジュール６０に繋がり、データ線ＤＡＴ、チャネル切換線ＬＲＣＫ、及びビットクロック線ＤＡＣ＿ＣＬＫを含む。
【０１２０】
第一の内部バス１３、第二の内部バス６３、及び外部バス３のそれぞれの信号線間の接続パターンは以下の二種類を含む。
第一のパターンでは、第一の内部バス１３だけが外部バス３へ接続される。それにより、Ｉ／Ｏモジュール１０だけがホストＨへ接続される。
このパターンは従来のＩ／Ｏカードと共通である。
【０１２１】
第二のパターンは図５に示され、本発明の実施形態５での特徴的な接続パターンである。
第二のパターンでは、第一の内部バス１３のコマンド線ＣＭＤ及び第二のデータ線ＤＡＴ１が、外部バス３のコマンド線ＣＭＤ及び第二のデータ線ＤＡＴ１へ、それぞれ接続される。一方、第二の内部バス６３のビットクロック線ＤＡＣ＿ＣＬＫ、チャネル切換線ＬＲＣＫ、及びデータ線ＤＡＴが、外部バス３の第一のデータ線ＤＡＴ０、第三のデータ線ＤＡＴ２、及び第四のデータ線ＤＡＴ３へ、それぞれ接続される。
【０１２２】
バス調停部２Ｅは上記第一と第二とのパターンを、例えばＩ／Ｏモジュール１０の状態に応じ、次のように選択する：
バス調停部２Ｅは通常、第一のパターンを選択し、第一の内部バス１３だけを外部バス３へ接続する。それにより、ホストＨは複合Ｉ／Ｏカード１Ｅを通常、Ｉ／Ｏモジュール１０と同等な単体のＩ／Ｏカードとして取り扱う。特に複合Ｉ／Ｏカード１Ｅの初期化／認識時では、ホストＨはＩ／Ｏモジュール１０の初期化／認識をまず行う。次に、第一のホストインタフェース１１を通し、オーディオモジュール６０を初期化する。
【０１２３】
ホストＨは外部から無線で伝送されるディジタルオーディオデータを、無線通信部１２Ａを通し受信するとき、オーディオモジュール６０の起動を第一のホストインタフェース１１へ指示する。そのとき、バス調停部２Ｅは接続パターンを第二のパターンへ切り換える。
第二のホストインタフェース６１は一連のディジタルオーディオデータを、ビットクロックとレフト／ライトチャネル切換信号とパラレルに、互いに同期させ、かつ連続に送出する。
【０１２４】
第一のホストインタフェース１１は、第二のホストインタフェース６１によるディジタルオーディオデータの送出と並行し、第二のホストインタフェース６１からの通知信号ＳＭＰに従い、割込信号を外部バス３の第二のデータ線ＤＡＴ１を通しホストＨへ送出する。こうして、ホストＨはオーディオモジュール６０との間で直接のＰＣＭ通信を実現できる。ホストＨは特に、ＰＣＭ信号内の実際のサンプル間隔とサンプリング同期信号とのずれを直接検出できる。それにより、ホストと第二のモジュールとの間のデータ転送について、その伝送品質を高く維持できる。
【０１２５】
【発明の効果】
以上の説明の通り、本発明による複合入出力装置は、複数のモジュールそれぞれに対するバスのデータ線の割り振りを、それぞれのモジュールのホストインタフェースにより使用される本数に応じ決定する。それにより、複数のモジュールそれぞれのホストインタフェースが相互に独立に、かつ同時にホストへ接続されるので、それぞれとホストとの間のデータ転送が同時に実行される。その結果、データ転送時の待ち時間が短縮されるので、モジュール一つ当たりの実質的な転送速度が向上する。
【０１２６】
この複合入出力装置では特に、第二のモジュールがバスのデータ線の一本を同期伝送用クロックの伝送線として、別の一本をディジタルオーディオデータの伝送線として、それぞれ使用し、第一のモジュールがバスのデータ線の一本を、そのディジタルオーディオデータのサンプル間隔を示す信号（サンプリング同期信号）の伝送線として使用しても良い。こうして、第二のモジュールとホストとの間で直接のＰＣＭ通信が実現される。ホストは特に、ＰＣＭ信号内の実際のサンプル間隔とサンプリング同期信号とのずれを直接検出できる。それにより、ホストと第二のモジュールとの間のデータ転送について、その伝送品質を高く維持できる。
【図面の簡単な説明】
【図１】本発明の実施形態１による複合Ｉ／Ｏカード１Ａの構成を示すブロック図である。
【図２】本発明の実施形態２による複合Ｉ／Ｏカード１Ｂの構成を示すブロック図である。
【図３】本発明の実施形態３による複合Ｉ／Ｏカード１Ｃの構成を示すブロック図である。
【図４】本発明の実施形態４による複合Ｉ／Ｏカード１Ｄの構成を示すブロック図である。
【図５】本発明の実施形態５による複合Ｉ／Ｏカード１Ｅの構成を示すブロック図である。
【図６】従来のメモリカード１００及びＩ／Ｏカード２００の構成を示すブロック図である。
【図７】従来の複合Ｉ／Ｏカードの一例の構成３００を示すブロック図である。
【符号の説明】
１０        Ｉ／Ｏモジュール
１３        第一の内部バス
２０        メモリモジュール
２３        第二の内部バス
２Ａ        バス調停部
３          外部バス
Ｈ          ホスト
ＳＬ        カードスロット
【図１】
2005025473.tif 000003
【図２】
2005025473.tif 000004
【図３】
2005025473.tif 000005
【図４】
2005025473.tif 000006
【図５】
2005025473.tif 000007
【図６】
2005025473.tif 000008
【図７】
2005025473.tif 000009