(57)【要約】【課題】互いに種類が異なる複数のメモリカードに対応可能なメモリカード制御装置においてカードソケット数を減少させる。【解決手段】互いに種類が異なる複数のメモリカードに対応する単一のカードソケット（１１７）と、上記メモリカードの動作制御を可能とする複数のコントローラ（１１３，１１６）と、上記カードソケットとを設ける。さらに上記複数のコントローラとの間の信号伝達経路を形成する選択回路（Ｓ１〜Ｓ６）と、上記メモリカードに対応するコントローラを選択的に上記メモリカードの動作制御に関与させるための処理を実行可能なＣＰＵ（１１１）とを設ける。上記ＣＰＵで実行される処理には、所定のコマンドを発行し、発行された所定コマンドに対する応答の有無を判別し、その判別結果に応じて信号伝達経路の選択状態を切り替える処理を含み、単一のカードソケットで互いに種類が異なる複数のメモリカードに対応させる。【選択図】図２
2009252109.tif 000002
【特許請求の範囲】
【請求項１】
互いに種類が異なる複数のメモリカードに対応する単一のカードソケットと、
上記メモリカードの動作制御を可能とする複数のコントローラと、
上記カードソケットと、上記複数のコントローラとの間の信号伝達経路を選択的に形成するための選択回路と、
上記複数のコントローラのうち、上記カードソケットに装着されたメモリカードに対応するコントローラを選択的に上記メモリカードの動作制御に関与させるための処理を実行可能なＣＰＵと、を含み、
上記ＣＰＵで実行される処理には、上記カードソケットに装着されたカードに対して所定のコマンドを発行する第１処理と、
上記第１処理で発行された所定コマンドに対して、上記カードソケットに装着されたカードから応答があるか否かを判別する第２処理と、
上記第２処理での判別結果に応じて、上記コントローラの選択状態と上記選択回路による信号伝達経路の選択状態を切り替える第３処理と、が含まれることを特徴とするメモリカード制御装置。
【請求項２】
上記選択回路は、上記複数のコントローラから上記カードソケットへの単方向の信号供給を可能とする信号伝達経路を選択的に形成するための第１選択回路と、
上記複数のコントローラと上記カードソケットとの間で双方向のデータ伝達を可能とする信号伝達経路を選択的に形成するための第２選択回路と、を含む請求項１記載のメモリカード制御装置。
【請求項３】
上記第１選択回路及び上記第２選択回路による信号伝達経路選択状態の切り替えを可能とする選択端子と、
上記第２選択回路におけるデータ伝達方向の切り替えを可能とするデータ方向端子と、を含み、
上記ＣＰＵは、上記第２処理での判別結果に応じて上記選択端子及び上記データ方向端子に制御信号を供給する請求項２記載のメモリカード制御装置。
【請求項４】
上記カードソケットは、第１メモリカードと、上記第１メモリカードとはプロトコル上の互換性を持つが、転送速度やセキュリティ機能の有無が互いに異なる第２メモリカードとに対応し、
上記複数のコントローラは、上記第１メモリカードの動作を制御可能な第１コントローラと、上記第２メモリカードの動作を制御可能な第２コントローラとを含む請求項１記載のメモリカード制御装置。
【請求項５】
上記カードソケットは、第１メモリカードと、上記第１メモリカードとはプロトコル上の互換性を持たない第３メモリカードとに対応し、
上記複数のコントローラは、上記第１メモリカードの動作を制御可能な第１コントローラと、上記第３メモリカードの動作を制御可能な第３コントローラとを含む請求項１記載のメモリカード制御装置。
【請求項６】
上記カードソケットは、第１メモリカードと、上記第１メモリカードとはプロトコル上の互換性を持つが、転送速度やセキュリティ機能の有無が互いに異なる第２メモリカードと、上記第１メモリカード及び上記第２メモリカードとはプロトコル上の互換性を持たない第３メモリカードとに対応し、
上記複数のコントローラには、上記第１メモリカードの動作を制御可能な第１コントローラと、上記第２メモリカードの動作を制御可能な第２コントローラと、上記第３メモリカードの動作を制御可能な第３コントローラとを含む請求項１記載のメモリカード制御装置。
【請求項７】
上記第１メモリカードはＳＤカードを含み、上記第２メモリカードはマルチメディアカード（を含み、上記第３メモリカードはメモリスティックを含む請求項６記載のメモリカード制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに種類の異なる複数のカードに対応可能なメモリカード制御装置に関する。
【背景技術】
【０００２】
プラスチック製カードに半導体集積回路を埋め込み、情報を記録できるようにしたカードとして、メモリカードが知られている。メモリカードには、ＳＤ（Secure Digital）カードやマルチメディアカード（登録商標）（ＭＭＣ：Multi Media Card）等が含まれる。ＳＤカード（「ＳＤメモリカード」とも称される）は、携帯電話機やデジタルカメラを中心に製品展開が行われている。ＳＤカードには、コンテンツの著作権保護機能に対応したＳＤカードや無線ＬＡＮなどのアプリケーションに対応したＳＤＩＯカードがあるが、データ転送速度は理論上最大２５Ｍバイト／秒（クロック周波数＝最大５０ＭＨｚ、バス幅＝４ビット）となっている。マルチメディアカードには、データ転送速度が理論上最大２．５Ｍバイト／秒（クロック周波数＝最大２０ＭＨｚ、バス幅＝１ビット）の従来のマルチメディアカード（以下「従来ＭＭＣ」という）と、データ転送速度が理論上最大５２Ｍバイト／秒（クロック周波数＝最大５２ＭＨｚ、バス幅＝８ビット）のＨｉｇｈ−Ｓｐｅｅｄ ＭＭＣ（以下、「ＨＳ−ＭＭＣ」という）がある。
【０００３】
形状に互換性のある複数の種類のメモリカードにおいて、該メモリカードが接続されたことを示すメモリカード検出信号では、物理的にメモリカードの種類を認識することができない。そこで、そのようなシステムでは、複数種類のカードに対応するメモリカードスロットと、挿入されたメモリカードの種類を識別するカード識別回路部とが搭載される（例えば特許文献１参照）。
【０００４】
【特許文献１】特開２００６−２０９６４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＳＤカードとマルチメディアカードの双方を使用する技術としては、ＳＤコントローラで制御する第１制御方式と、２個のカードソケットで制御する第２制御方式とを挙げることができ、本願発明者はこの二つの方式について検討した。
【０００６】
第１制御方式において、マルチメディアカードは、ＳＤカードと外部端子やコマンドの互換性を持つ。そこで、ＳＤコントローラのみでＳＤカードとマルチメディアカードを制御することが考えられる。ホストシステム１０は、例えば図１０に示されるように、ＣＰＵ１１、ＳＤソフトウェア１２、ＳＤコントローラ１３、及びカードソケット１４を含んで成る。この場合、ＳＤコントローラ１３は、ＳＤカード２０−１、ＳＤＩＯカード２０−２、従来ＭＭＣ２１−１の制御はできるが、ＨＳ−ＭＭＣ２１−２を制御できない。
【０００７】
これに対して、第２制御方式においては、ＳＤコントローラとＭＭＣコントローラを使用し、それぞれに独立なカードソケットが接続される。この場合のホストシステム１０は例えば図１１に示されるように、ＣＰＵ１１、ＳＤソフトウェア１２、ＭＭＣソフトウェア１５、ＳＤコントローラ１３、ＭＭＣコントローラ１６、ＳＤコントローラに接続されたカードソケット１４、及びＭＭＣコントローラに接続されたカードソケット１７で構成する。この場合、ＳＤカード２０−１とＳＤＩＯカード２０−２はカードソケット１に挿入し、従来ＭＭＣ２１−１とＨＳ−ＭＭＣ２１−２はカードソケット２に挿入することで制御できる。しかしこの場合、２個のカードソケットと内部端子が必要となる。
【０００８】
このようにＳＤコントローラのみで制御する場合（第１制御方式）には、ＨＳ−ＭＭＣは制御不可となり、２個のカードソケットで制御する（第２制御方式）場合には、マルチメディアカードとＳＤカードは外部端子とコマンドの互換性を持つにもかかわらず、余分なカードソケットと内部端子が必要になる。また、ユーザはカード使用前にＳＤカードとマルチメディアカードを判別する必要がある。
【０００９】
尚、特許文献１によれば、挿入されたメモリカードの種類を識別するカード識別回路部や、複数のメモリカードに対応するメモリカードスロットとインタフェース回路部等との間の信号伝達経路、その信号伝達経路の切り替え等に関しては詳細に記載されていない。
【００１０】
本発明の目的は、互いに種類が異なる複数のメモリカードに対応可能なメモリカード制御装置において、カードソケット数を減少させるための技術を提供することにある。
【００１１】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
【００１３】
すなわち、互いに種類が異なる複数のメモリカードに対応する単一のカードソケットと、上記メモリカードの動作制御を可能とする複数のコントローラと、上記カードソケットと、上記複数のコントローラとの間の信号伝達経路を形成する選択回路と、上記カードソケットに装着されたメモリカードに対応するコントローラを選択的に上記メモリカードの動作制御に関与させるための処理を実行可能なＣＰＵとを設ける。上記ＣＰＵで実行される処理には、所定のコマンドを発行し、発行された所定コマンドに対する応答の有無を判別し、その判別結果に応じて信号伝達経路の選択状態を切り替える処理が含まれる。これにより、単一のカードソケットで互いに種類が異なる複数のメモリカードに対応させることができ、このことが、カードソケット数の減少を達成する。
【発明の効果】
【００１４】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１５】
すなわち、互いに種類が異なる複数のメモリカードに対応可能なメモリカード制御装置において、カードソケット数を減少させることができる。
【発明を実施するための最良の形態】
【００１６】
１．代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１７】
〔１〕本発明の代表的な実施の形態に係るメモリカード制御装置（１００）は、互いに種類が異なる複数のメモリカードに対応する単一のカードソケット（１１７）と、上記メモリカードの動作制御を可能とする複数のコントローラ（１１３，１１６，３１６）と、上記カードソケットと、上記複数のコントローラとの間の信号伝達経路を選択的に形成するための選択回路（Ｓ１〜Ｓ１３）とを含む。また、上記メモリカード制御装置（１００）は、上記カードソケットに装着されたメモリカードに対応するコントローラを選択的に上記メモリカードの動作制御に関与させるための処理を実行可能なＣＰＵ（１１１）を含む。
【００１８】
上記ＣＰＵで実行される処理には、上記カードソケットに装着されたカードに対して所定のコマンドを発行する第１処理と、上記第１処理で発行された所定コマンドに対して、上記カードソケットに装着されたカードから応答があるか否かを判別する第２処理と、上記第２処理での判別結果に応じて、上記コントローラの選択状態と上記選択回路による信号伝達経路の選択状態を切り替える第３処理とが含まれる。
【００１９】
〔２〕上記選択回路には、上記複数のコントローラから上記カードソケットへの単方向の信号伝達を可能とする信号伝達経路を選択的に形成するための第１選択回路と、上記複数のコントローラと上記カードソケットとの間で双方向のデータ伝達を可能とする信号伝達経路を選択的に形成するための第２選択回路とを含めることができる。
【００２０】
〔３〕上記メモリカード制御装置には、上記第１選択回路及び上記第２選択回路による信号伝達経路選択状態の切り替えを可能とする選択端子と、上記第２選択回路におけるデータ伝達方向の切り替えを可能とするデータ方向端子とを含めることができる。このとき、上記ＣＰＵは、上記第２処理での判別結果に応じて上記選択端子及び上記データ方向端子に制御信号を供給するように構成することができる。
【００２１】
〔４〕上記カードソケットには、第１メモリカードと、上記第１メモリカードとはプロトコル上の互換性を持つが、転送速度やセキュリティ機能の有無が互いに異なる第２メモリカードとに対応するものを適用することができる。このとき、上記複数のコントローラには、上記第１メモリカードの動作を制御可能な第１コントローラと、上記第２メモリカードの動作を制御可能な第２コントローラとを含めることができる。上記第１コントローラは、ＳＤコントローラ（１１３）とすることができ、上記第２コントローラは、ＭＭＣコントローラ（１１６）とすることができる。
【００２２】
〔５〕上記カードソケットには、第１メモリカードと、上記第１メモリカードとはプロトコル上の互換性を持たない第３メモリカードとに対応するものを適用することができる。このとき、上記複数のコントローラには、上記第１メモリカードの動作を制御可能な第１コントローラと、上記第３メモリカードの動作を制御可能な第３コントローラとを含めることができる。上記第１コントローラは、ＳＤコントローラ（１１３）とすることができ、上記第３コントローラは、ＭＳコントローラ（３１６）とすることができる。
【００２３】
〔６〕上記カードソケットには、第１メモリカードと、上記第１メモリカードとはプロトコル上の互換性を持つが、転送速度やセキュリティ機能の有無が互いに異なる第２メモリカードと、上記第１メモリカード及び上記第２メモリカードとはプロトコル上の互換性を持たない第３メモリカードとに対応するものを適用することができる。このとき、上記複数のコントローラには、上記第１メモリカードの動作を制御可能な第１コントローラと、上記第２メモリカードの動作を制御可能な第２コントローラと、上記第３メモリカードの動作を制御可能な第３コントローラとを含めることができる。
【００２４】
〔７〕上記第１メモリカードにはＳＤカードが含まれ、上記第２メモリカードにはマルチメディアカードが含まれ、上記第３メモリカードはメモリスティック（登録商標）が含まれる。
【００２５】
２．実施の形態の説明
次に、実施の形態について更に詳述する。
【００２６】
＜実施の形態１＞
図１には、本発明にかかるメモリカード制御装置の一例とされるホストシステムの構成例が示される。図１に示されるホストシステム１００は、特に制限されないが、ＣＰＵ１１１、ＳＤソフトウェア１１２、ＳＤコントローラ１１３、選択ソフトウェア１１４、ＭＭＣソフトウェア１１５、ＭＭＣコントローラ１１６、カードソケット１１７を含む。
【００２７】
上記カードソケット１１７は、単一のカードソケットでありながら、互いに種類が異なる複数のメモリカードに対応可能に構成される。ここで、互いに種類が異なる複数のメモリカードには、ＳＤカード２０−１、ＳＤＩＯカード２０−２、従来ＭＭＣ２１−１及びＨＳ−ＭＭＣ２１−２を挙げることができる。ＳＤソフトウェア１１２がＣＰＵ１１１で実行されることにより、ＳＤコントローラ１１３が制御され、カードソケット１１７にＳＤカード２０−１が挿入された場合、コマンド送信、レスポンス受信、及びデータ送受信などから構成するコマンドシーケンスの管理などが行われる。ＭＭＣソフトウェア１１５がＣＰＵ１１１で実行されることにより、ＭＭＣコントローラ１１６が制御され、カードソケット１１７にマルチメディアカードが挿入された場合、コマンド送信、レスポンス受信、及びデータ送受信などから構成するコマンドシーケンスの管理などが行われる。
【００２８】
選択ソフトウェア１１４がＣＰＵ１１１で実行されることにより、カードソケット１１７に挿入されたカードに従い、ＳＤコントローラ１１３またはＭＭＣコントローラ１１６が選択される。
【００２９】
ＳＤコントローラ１１３は、コマンド送信、レスポンス受信、データ送受信などの機能を持ち、ＳＤカード２０−１とＳＤＩＯカード２０−２を制御する。特に、マルチメディアカードと互換性のあるコマンドに対応する他、コンテンツの著作権保護機能やＳＤカード固有のアプリケーションコマンドにも対応する。
【００３０】
ＭＭＣコントローラ１１６は、コマンド送信、レスポンス受信、データ送受信などの機能を持ち、従来ＭＭＣ２１−１とＨＳ−ＭＭＣ２１−２を制御する。特に、ＳＤカード２０−１と互換性のあるコマンドに対応する他、ＨＳ−ＭＭＣ固有のコマンドにも対応する。
【００３１】
カードソケット１１７は、ＳＤカード２０−１、ＳＤＩＯカード２０−２、従来ＭＭＣ２１−１に対応する他、バス幅８ビットのＨＳ−ＭＭＣ２１−２にも対応する。
【００３２】
図２には、上記ホストシステム１００における主要部の構成例が示される。
【００３３】
上記カードソケット１１７は、単一のカードソケットでありながら、互いに種類が異なる複数のメモリカードに対応し、対応するメモリカードが装着された祭に、当該メモリカードに接触可能な複数の内部端子を備える。上記互いに種類が異なる複数のメモリカードには、ＳＤカードと、それとはプロトコル上の互換性を持つが、転送速度やセキュリティ機能の有無が互いに異なるメモリカード、例えばＭＭＣが挙げられる。上記カードソケット１１７における複数の内部端子には、高電位側電源端子ＶＤＤ、低電位側電源端子ＶＳＳ１，ＶＳＳ２、クロック端子ＣＬＫ、ライトプロテクト端子ＷＰ、カード検出端子ＣＤ、及びデータ端子ＤＡＴ０〜ＤＡＴ７が含まれる。上記ＳＤコントローラ１１３及び上記ＭＭＣコントローラ１１６には、それぞれ上記カードソケット１１７との間で各種信号のやり取りを可能とするための複数の端子が設けられている。例えば上記ＳＤコントローラ１１３には、クロック端子ＳＤＣＬＫ、コマンド端子ＳＤＣＭＤ、データ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３、カード検出端子ＳＤＣＤ、及びライトプロテクト端子ＳＤＷＰが設けられる。上記ＭＭＣコントローラ１１６には、クロック端子ＭＭＣＣＬＫ、コマンド端子ＭＭＣＣＭＤ、データ端子ＭＭＣＤＡＴ０〜ＭＭＣＤＡＴ７、及びカード検出端子ＭＭＣＣＤが設けられる。上記カードソケット１１７と、上記ＳＤコントローラ１１３及び上記ＭＭＣコントローラ１１６とは、配線によって信号のやり取りが可能に結合される。上記配線には、クロック線２０１、コマンド線２０２、カードデータ線２０５，２１０、ライトプロテクト線２１１、カード検出線２１２、電源線２１３、ＧＮＤ（グランド）線２１４が含まれる。また、論理の安定化のためのプルアップ抵抗Ｒ１〜Ｒ１１や、信号に含まれるノイズを低減するためのダンピング抵抗Ｒ１２〜Ｒ２０、電源回路に流れる過渡電流の急激な変化を防止するためのバイパスコンデンサＣ１が設けられる。上記コマンド線２０２に接続に結合されるプルアップ抵抗Ｒ１の抵抗値は１０ＫΩ〜１００ＫΩとされる。カードデータ線２０５，２１０に結合されるプルアップ抵抗Ｒ２〜Ｒ９の抵抗値は５０ＫΩ〜１００ＫΩとされる。カード検出線２１２とライトプロテクト線２１１に結合されるプルアップ抵抗Ｒ１０とＲ１１の抵抗値は、特に制限されないが、５０ＫΩ〜１００ＫΩとされる。上記ダンピング抵抗Ｒ１２〜Ｒ２０の抵抗値は、特に制限されないが、２０Ω程度とされる。バイパスコンデンサＣ１の静電容量値は、特に制限されないが、０．１μＦ程度とされる。
【００３４】
上記ＳＤコントローラ１１３と上記ＭＭＣコントローラ１１６との間で信号が競合する箇所には、単方向の選択回路Ｓ１や双方向の選択回路Ｓ２〜Ｓ６が設けられることで、信号伝達経路の切り替えが行われるようになっている。電源端子２１５、選択端子ＳＳＥＬ、データ方向端子ＤＳＥＬが設けられる。電源端子ＶＣＣには高電位側電源電圧が供給される。選択端子ＳＳＥＬの論理値によって、単方向の選択回路Ｓ１や双方向の選択回路Ｓ２〜Ｓ６による信号伝達経路の選択状態の切り替えが可能とされる。データ方向端子ＤＳＥＬの論理値によって、双方向の選択回路Ｓ２〜Ｓ６によるデータ伝達方向の切り替えが可能とされる。特に制限されないが、選択端子ＳＳＥＬやデータ方向端子ＤＳＥＬは、ホストシステム１００における汎用端子が割り当てられ、ＣＰＵ１１１によって当該端子の論理値が決定される。
【００３５】
上記クロック線２０１を介してＳＤコントローラ１１３のクロック端子ＳＤＣＬＫまたはＭＭＣコントローラ１１６のクロック端子ＭＭＣＣＬＫからカードソケット１１７のクロック端子ＣＬＫへのクロック信号の伝達が可能とされる。ＳＤコントローラ１１３のクロック端子ＳＤＣＬＫと、ＭＭＣコントローラ１１６のクロック端子ＭＭＣＣＬＫとは、単方向の選択回路Ｓ１を介して上記クロック線２０１に結合される。
【００３６】
上記コマンド線２０２を介して、ＳＤコントローラ１１３のコマンド端子ＳＤＣＭＤまたはＭＭＣコントローラ１１６のコマンド端子ＭＭＣＣＭＤからカードソケット１１７のコマンド端子ＣＭＤ端子へのコマンド伝達や、カードソケット１１７のコマンド端子ＣＭＤからＳＤコントローラ１１３のコマンド端子ＳＤＣＭＤまたはＭＭＣコントローラ１１６のコマンド端子ＭＭＣＣＭＤへのレスポンスの伝達が可能とされる。ＳＤコントローラ１１３のコマンド端子ＳＤＣＭＤと、ＭＭＣコントローラ１１６のコマンド端子ＭＭＣＣＭＤとは、双方向の選択回路Ｓ２を介してコマンド線２０２に結合される。上記コマンド及びレスポンスはクロック同期の信号で、その信号伝達経路は、双方向の選択回路Ｓ２によって選択される。
【００３７】
書き込み時、データがＳＤコントローラ１１３のデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３またはＭＭＣコントローラ１１６におけるデータ端子ＭＭＣＤＡＴ０〜ＭＭＣＤＡＴ７からカードソケット１１７のデータ端子ＤＡＴ０〜ＤＡＴ３またはＤＡＴ０〜ＤＡＴ７に転送される。データはクロック同期の信号で、ＳＤコントローラ１１３のデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３からカードソケット１１７のデータ端子ＤＡＴ０〜ＤＡＴ３またはＭＭＣコントローラ１１６のデータ端子ＭＭＣＤＡＴ０〜ＭＭＣＤＡＴ３からカードソケット１１７のデータ端子ＤＡＴ０〜ＤＡＴ３に転送されるデータに関しては、それぞれ双方向の選択回路Ｓ３〜Ｓ６で選択されるようになっている。
【００３８】
読み出し時、データがカードソケット１１７のデータ端子ＤＡＴ０〜ＤＡＴ３またはＤＡＴ０〜ＤＡＴ７からＳＤコントローラ１１３のデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３またはＭＭＣコントローラ１１６のデータ端子ＭＭＣＤＡＴ０〜ＭＭＣＤＡＴ７に転送される。データはクロック同期の信号で、カードソケット１１７のデータ端子ＤＡＴ０〜ＤＡＴ３からＳＤコントローラ１１３のデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３またはカードソケット１１７のデータ端子ＤＡＴ０〜ＤＡＴ３からＭＭＣコントローラ１１６のデータ端子ＭＭＣＤＡＴ０〜ＭＭＣＤＡＴ３に転送されるデータに関しては、それぞれ双方向の選択回路Ｓ３〜Ｓ６で選択される。
【００３９】
メモリカードがソケット１１７に挿入された場合、カード検出端子ＣＤがローレベルになり、ＳＤコントローラ１１３のカード検出端子ＳＤＣＤまたはＭＭＣコントローラ１１６のカード検出端子ＭＭＣＣＤに伝えられる。カード検出端子ＣＤはクロック非同期の信号で、その伝達経路には単方向の選択回路が介在されない。
【００４０】
ライトプロテクトされたＳＤカードがカードソケット１１７に挿入された場合、カードソケット１１７のライトプロテクト端子ＷＰがローレベルになり、ＳＤコントローラ１１３のライトプロテクト端子ＳＤＷＰに伝えられる。
【００４１】
ＣＰＵ１１１によってＳＤコントローラ１１３が選択された場合、選択端子ＳＳＥＬがハイレベルになり、それが単方向の選択回路Ｓ１と双方向の選択回路Ｓ２〜Ｓ６に伝えられる。ＣＰＵ１１１によってＭＭＣコントローラ１１６が選択された場合、選択端子ＳＳＥＬがローレベルになり、それが単方向の選択回路Ｓ１と双方向の選択回路Ｓ２〜Ｓ６に伝えられる。カードソケット１１７に装着されたメモリカードからデータを読み出す場合、データ方向端子ＤＳＥＬがハイレベルになり、それが双方向の選択回路Ｓ２〜Ｓ６に伝えられる。カードソケット１１７に装着されたメモリカードにデータを書き込む場合、データ方向端子ＤＳＥＬがローレベルになり、それが双方向の選択回路Ｓ２〜Ｓ６に伝えられる。
【００４２】
ホストシステムの電源端子２１５の電圧ＶＣＣは、グランド端子ＧＮＤの電圧ＶＳＳに比べて３．３Ｖ高い電圧とされる。電源端子２１５から供給された電圧ＶＣＣは、電源線２１３を経由してカードソケット１１７における高電位側電源端子ＶＤＤに伝達される。この電圧は、カードソケット１１７に装着されたメモリカードの動作用電源電圧とされる。グランド端子ＧＮＤはホストシステムのグランド電圧とする。カードソケット１１７の低電位側電源端子ＶＳＳ１，ＶＳＳ２は、上記グランド端子ＧＮＤに結合される。
【００４３】
図３には、上記単方向の選択回路Ｓ１の構成例が示される。
【００４４】
単方向の選択回路Ｓ１は、図３に示されるように、１個のノット回路ＮＯＴ１、２個のアンド回路ＡＮＤ１，ＡＮＤ２、１個のオア回路ＯＲ１とが結合されて成る。端子１，２はそれぞれ対応するアンド回路ＡＮＤ１，ＡＮＤ２の一方の入力端子に結合される。２個のＡＮＤ回路ＡＮＤ１，ＡＮＤ２の出力信号は、後段のオア回路ＯＲ１を介して端子３に伝達される。選択端子ＳＳＥＬから端子Ｓにハイレベルが伝えられた場合、アンド回路ＡＮＤ１が活性化されることで、端子１側の信号伝達経路が選択され、それによって、ＳＤコントローラ１１３のクロック端子ＳＤＣＬＫと、カードソケット１１７のクロック端子ＣＬＫとの接続が有効になり、ＳＤコントローラ１１３から、カードソケット１１７に装着されているメモリカードへのクロック信号の供給が可能とされる。また、選択端子ＳＳＥＬから端子Ｓにローレベルが伝えられた場合、アンド回路ＡＮＤ２が活性化されることで、端子２側の信号伝達経路が選択され、それによって、ＭＭＣコントローラ１１６のクロック端子ＭＭＣＣＬＫと、カードソケット１１７のクロック端子ＣＬＫとの接続が有効になり、ＭＭＣコントローラ１１６から、カードソケット１１７に装着されているメモリカードへのクロック信号の供給が可能とされる。
【００４５】
図４には、上記双方向の選択回路Ｓ２〜Ｓ６の構成例が示される。
【００４６】
上記双方向の選択回路Ｓ２〜Ｓ６は互いに同一構成とされる。
【００４７】
双方向の選択回路Ｓ２〜Ｓ６はそれぞれ図４に示されるように３個のノット回路ＮＯＴ２，ＮＯＴ３，ＮＯＴ４、７個のアンド回路ＡＮＤ３，ＡＮＤ４，ＡＮＤ５，ＡＮＤ６，ＡＮＤ７，ＡＮＤ８，ＡＮＤ９、１個のオア回路ＯＲ２とが結合されて成る。
【００４８】
選択端子ＳＳＥＬから端子Ｓにハイレベルが伝えられた場合、双方向の選択回路Ｓ２〜Ｓ６によって端子１側の信号伝達経路が選択される。そして、双方向の選択回路Ｓ２により、ＳＤコントローラ１１３のコマンド端子ＳＤＣＭＤと、カードソケット１１７のコマンド端子ＣＭＤとの接続が有効になり、双方向の選択回路Ｓ３〜Ｓ６により、ＳＤコントローラ１１３のデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３と、カードソケット１１７のデータ端子ＤＡＴ０〜ＤＡＴ３との接続が有効になる。これにより、ＳＤコントローラ１１３と、カードソケット１１７に装着されたメモリカードとの間で、各種コマンドやデータのやり取りが可能とされる。
【００４９】
選択端子ＳＳＥＬから端子Ｓにローレベルが伝えられた場合、双方向の選択回路Ｓ２〜Ｓ６によって端子２側の信号伝達経路が選択される。そして、双方向の選択回路Ｓ２により、ＭＭＣコントローラ１１６のコマンド端子ＭＭＣＣＭＤと、カードソケット１１７のコマンド端子ＣＭＤとの接続が有効になり、双方向の選択回路Ｓ３〜Ｓ６によりＭＭＣコントローラ１１６のデータ端子ＭＭＣＤＡＴ０〜ＭＭＣＤＡＴ３と、カードソケット１１７のデータ端子ＤＡＴ０〜ＤＡＴ３との接続が有効になる。また、データ方向端子ＤＳＥＬから端子Ｄにハイレベルが伝えられた場合、端子３側から端子１側または端子２側への信号伝達が可能とされる。そして、データ方向端子ＤＳＥＬから端子Ｄにローレベルが伝えられた場合、端子１側または端子２側から端子３側への信号伝達が可能とされる。
【００５０】
次に、上記構成の動作について説明する。
【００５１】
図５には、図２に示される構成を採用した場合の上記ＣＰＵ１１１での処理の流れが示される。
【００５２】
尚、従来ＭＭＣ２１−１及びＨＳ−ＭＭＣ２１−２に対する動作は、カード判別までは同様であるので、ここでは両者を区別することなく、「ＭＭＣ」と総称する。
【００５３】
ＣＰＵ１１１の起動後、またはカードソケット１１７からのカード取り出し後、選択ソフトウェア１１４の実行によりＭＭＣコントローラ１１３が選択されて起動される（Ｓ１０１）。
【００５４】
選択ソフトウェア１１４の実行により、選択端子ＳＳＥＬがロー（Ｌｏｗ）レベルにされる（Ｓ１０２）。選択端子ＳＳＥＬがローレベルにされることで、ＭＭＣコントローラ１１６とカードソケット１１７との間の接続において、クロック端子ＭＭＣＣＬＫとＣＬＫ、コマンド端子ＭＭＣＣＭＤとＣＭＤ、データ端子ＭＭＣＤＡＴ０〜ＭＭＣＤＡＴ３とＤＡＴ０〜ＤＡＴ３の接続が選択的に有効とされる。この状態でシステムは、カードソケット１１７へのメモリカードの挿入待ちの状態になる（Ｓ１０３）。メモリカード挿入の判定は、選択済みのＭＭＣコントローラ１１６のカード検出レジスタが参照される。ここで、カード検出レジスタは、ＭＭＣコントローラ１１６のカード検出端子ＭＭＣＣＤの状態を反映したものとなる。
【００５５】
カードソケット１１７にメモリカードが挿入された場合、ＣＰＵ１１１によってＭＭＣコントローラ１１６が制御され、メモリカードに対して所定のコマンドＣＭＤ１が発行される（Ｓ１０４）。そして、ＣＰＵ１１１において、メモリカードから上記ＣＭＤ１に対する応答があるか否かの判定が行われる（Ｓ１０５）。ここで、コマンドＣＭＤ１はマルチメディアカード規格で定義されたコマンドで、カードソケット１１７に装着されているメモリカードがＭＭＣであればコマンドＣＭＤ１に対して応答する。
【００５６】
コマンドＣＭＤ１に対する応答があった場合、カードソケット１１７に装着されているメモリカードはＭＭＣであるため、ＣＰＵ１１１によってＭＭＣコントローラ１１６が制御されることで、マルチメディアカード規格に従ったカードアクセスが実行される（Ｓ１０６）。その後、メモリカードがカードソケット１１７から取り出されたか否かの判定が行われる（Ｓ１０７）。メモリカードが取り出された場合、システムはメモリカードの挿入待ちの状態（Ｓ１０３）に遷移される。また、メモリカードが取り出されない場合には、ＣＰＵ１１１によってＭＭＣコントローラ１１６が制御されることで、ＭＭＣアクセスが行われる（Ｓ１０６）。
【００５７】
上記ステップＳ１０５の判別において、メモリカードから上記コマンドＣＭＤ１に対する応答が無いと判断された場合には、ＣＰＵ１１１によってＳＤコントローラ１１３が選択される（Ｓ１０８）。そして、ＣＰＵ１１１によって選択端子ＳＳＥＬがハイ（Ｈｉｇｈ）レベルにされる（Ｓ１０９）。選択端子ＳＳＥＬがハイレベルにされることで、ＳＤコントローラ１１３とカードソケット１１７との間の接続において、クロック端子ＳＤＣＬＫとＣＬＫ、コマンド端子ＳＤＣＭＤとＣＭＤ、データ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３とＤＡＴ０〜ＤＡＴ３との接続が選択的に有効にされる。
【００５８】
そしてＳＤソフトウェア１１２がＣＰＵ１１１で実行されることでＳＤコントローラ１１３が制御され、メモリカードに対して所定のコマンドＣＭＤ５が発行される（Ｓ１１０）。そして、ＣＰＵ１１１は、上記コマンドＣＭＤ５に対してメモリカードから応答があるか否かを判定する（Ｓ１１１）。ここで、上記コマンドＣＭＤ５は、ＳＤＩＯ規格で定義されたコマンドで、メモリカードがＳＤＩＯカードであれば、当該コマンドに対して応答するようになっている。メモリカードから上記コマンドＣＭＤ５に対する応答があった場合、当該メモリカードはＳＤＩＯであり、ＣＰＵ１１１は、ＳＤコントローラ１１３を制御することで、ＳＤＩＯ規格に従ってメモリカードにアクセスする（Ｓ１１２）。
【００５９】
その後、メモリカードがカードソケット１１７から取り出されたか否かの判定が行われる（Ｓ１１３）。メモリカードがカードソケット１１７から取り出された場合、上記ステップＳ１０１に戻り、ＣＰＵ１１１によって選択ソフトウェア１１４が実行されることでＭＭＣコントローラ１１６が選択される。また、上記ステップＳ１１３の判別において、メモリカードがカードソケット１１７から取り出されていないと判断された場合には、ＣＰＵ１１１によってＳＤコントローラ１１３が制御されることでＳＤＩＯカードアクセスが行われる。
【００６０】
尚、ＳＤＩＯカードをサポートしないシステムの場合、上記ステップＳ１１０〜Ｓ１１３の処理は省略される。
【００６１】
上記ステップＳ１１１の判別において、メモリカードから上記ＣＭＤ５に対する応答がないと判断された場合には、ＣＰＵ１１１はメモリカードに対してコマンドＡＣＭＤ４１を発行する（Ｓ１１４）。
そして、ＣＰＵ１１１は、メモリカードから上記コマンドＡＣＭＤ４１に対する応答があるか否かの判別を行う（Ｓ１１５）。ここで、上記コマンドＡＣＭＤ４１はＳＤ規格で定義されたコマンドで、メモリカードがＳＤカードであれば当該コマンドＡＣＭＤ４１に応答する。
【００６２】
ＡＣＭＤ４１に対する応答があった場合、カードはＳＤカードであり、ＣＰＵ１１１は、ＳＤコントローラ１１３を制御することで、ＳＤ規格に従いメモリカードにアクセスする（Ｓ１１６）。
【００６３】
その後、カードが取り出されたか否かの判定が行われる（Ｓ１１７）。メモリカードが取り出された場合、上記ステップＳ１０１に遷移され、ＭＭＣコントローラ１１６が選択される。メモリカードが取り出されていない場合には、ＣＰＵ１１１によってＳＤコントローラ１１３が制御されることでＳＤカードアクセスが行われる（Ｓ１１６）。
【００６４】
上記ステップＳ１１５の判別において、メモリカードから上記ＡＣＭＤ４１に対する応答がないと判断された場合には、カードソケット１１７に現在装着されているメモリカードは、ＭＭＣでもＳＤカードでもなく、種別不明のカードのため、そのメモリカードがカードソケット１１７から取り出されるのを待つ。そしてそのメモリカードがカードソケット１１７から取り出された場合には、上記ステップＳ１０１に戻り、ＣＰＵ１１１によって選択ソフトウェア１１４が実行されることでＭＭＣコントローラ１１６が選択される。
【００６５】
上記の例によれば、以下の作用効果を得ることができる。
【００６６】
（１）ＳＤコントローラ１１３及びＭＭＣコントローラ１１６と、カードソケット１１７との間の接続と、図５に示される、ＣＰＵ１１１での処理により、ＨＳ−ＭＭＣの制御が可能になる。また、カードソケット１１７は１個で足りるので、図１１に示される構成のようにカードソケット１４，１７を搭載するのに比べて、カードソケット数を減少させることができる。
【００６７】
（２）上記（１）の作用効果により、ホストシステム１００の小型化や製造コストの低減を図ることができる。
【００６８】
＜実施の形態２＞
図６には、上記ホストシステム１００における主要部の別の構成例が示される。
【００６９】
図６に示される構成が、図２に示されるのと大きく相違するのは、カードソケット１１７として、ＳＤカードと、それとはプロトコル上の互換性を持たないメモリカード例えばメモリスティック（登録商標）とに対応するものが適用され、また、ＭＭＣコントローラ１１６に代えてメモリスティックコントローラ（以下、「ＭＳコントローラ」と略記）３１６が設けられている点である。メモリスティックはメモリカードの一例とされる。ＳＤカードを制御するＳＤコントローラとメモリスティックを制御するＭＳコントローラ３１６の端子を、図７に示されるように割り当て、ＳＤカードとメモリスティックとに対応するカードソケット１１７が使用されることで、プロトコル上では互換性を持たないＳＤカードとメモリスティックとに対応可能なホストシステムにおいても、カードソケット数とソケット内端子数を減少させることができる。本例においてホストシステム１００は、図１に示されるようにＣＰＵ１１１と、そこで実行されるソフトウェアを含む。ＣＰＵ１１１で実行されるソフトウェアには、ＭＳコントローラ３１６の動作を制御するＭＳソフトウェアが含まれる。
【００７０】
上記カードソケット１１７は、ＳＤカードに対応する端子として、データ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３、コマンド端子ＳＤＣＭＤ、クロック端子ＳＤＣＬＫ、ライトプロテクト端子ＳＤＷＰ、カード検出端子ＳＤＣＤ、高電位側電源端子ＳＤＶＤＤ、低電位側電源端子ＳＤＶＳＳが設けられ、メモリスティックに対応する端子として、データ端子ＭＳＤＡＴＡ０〜ＭＳＤＡＴＡ３、クロック端子ＭＳＣＬＫ、ＩＮＳ端子ＭＳＩＮＳ、バスステート端子ＭＳＢＳ、高電位側電源端子ＭＳＶＤＤ、低電位側電源端子ＭＳＶＳＳ１，ＭＳＶＳＳ２が設けられる。
【００７１】
図６において、クロック線２０１が設けられ、クロック信号がＳＤコントローラ１１３のクロック端子ＳＤＣＬＫまたはＭＳコントローラ３１６のクロック端子ＭＳＣＬＫから上記クロック線２０１を介してカードソケット１１７のクロック端子ＳＤＣＬＫまたはＭＳＣＬＫに伝達可能にされる。
【００７２】
コマンド線２０２が設けられ、ＳＤカードがカードソケット１１７に装着されているとき、コマンドが上記コマンド線２０２を介してＳＤコントローラ１１３のコマンド端子ＳＤＣＭＤからカードソケット１１７のコマンド端子ＳＤＣＭＤに伝達可能とされ、また、レスポンスが上記コマンド線２０２を介してカードソケット１１７のコマンド端子ＳＤＣＭＤからＳＤコントローラ１１３のコマンド端子ＳＤＣＭＤに伝達可能とされる。また、メモリスティックがカードソケット１１７に装着されているときには、バスステート信号がコマンド線２０２を介してＭＳコントローラ３１６のバスステート端子ＭＳＢＳからカードソケット１１７のバスステート端子ＭＳＢＳに転送される。
【００７３】
カードデータ線２０５が設けられる。書き込み時、データがカードデータ線２０５を介してＳＤコントローラ１１３のデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３またはＭＳコントローラ３１６のデータ端子ＭＳＤＡＴ０〜ＭＳＤＡＴ３からカードソケット１１７のデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３またはＭＳＤＡＴ０〜ＭＳＤＡＴ３に伝達可能とされる。また、読み出し時には、データがカードデータ線２０５を介してカードソケット１１７のデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３またはＭＳＤＡＴ０〜ＭＳＤＡＴ３からＳＤコントローラ１１３のデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３またはＭＳコントローラ３１６のデータ端子ＭＳＤＡＴ０〜ＭＳＤＡＴ３に伝達可能とされる。
【００７４】
カード検出線２１２が設けられる。メモリカードがカードソケット１１７に装着された場合、カードソケット１１７のカード検出端子ＳＤＣＤまたはＩＮＳ端子ＭＳＩＮＳがローレベルになる。そして、アンド回路ＡＮＤ１０によりカード検出線２１２がローレベルにされ、その状態がＳＤコントローラ１１３のカード検出端子ＳＤＣＤとＭＳコントローラ３１６のＩＮＳ端子ＭＳＩＮＳに伝達可能とされる。
【００７５】
ライトプロテクト線２１１が設けられる。ライトプロテクトされたＳＤカードがカードソケット１１７に装着された場合、カードソケット１１７のライトプロテクト端子ＳＤＷＰがローレベルになり、それがライトプロテクト線２１１を介してＳＤコントローラ１１３のライトプロテクト端子ＳＤＷＰに伝達可能とされる。
【００７６】
データ方向端子ＤＳＥＬが設けられ、メモリカードからデータを読み出す場合、ＣＰＵ１１１によってデータ方向端子ＤＳＥＬがハイレベルにされ、それが双方向の選択回路Ｓ３〜Ｓ７に伝えられる。メモリカードにデータを書き込む場合、データ方向端子ＤＳＥＬがローレベルになり、それが双方向の選択回路Ｓ３〜Ｓ７に伝達される。ここで、データ方向端子ＤＳＥＬには、例えばホストシステム１００の汎用端子が割り当てられる。
【００７７】
ホストシステム１００の電源端子２１５に供給される高電位側電源電圧ＶＣＣは、ホストシステム１００のグランド端子ＧＮＤの電圧ＶＳＳに比べて３．３Ｖ高い電圧とされる。この電源電圧が、カードソケット１１７の高電位側電源端子ＳＤＶＤＤとＭＳＶＤＤに供給される。カードソケット１１７の低電位側電源端子ＳＤＶＳＳ１、ＳＤＶＳＳ２、ＭＳＶＳＳ１、及びＭＳＶＳＳ２は、グランド線２１４介してグランド端子ＧＮＤに結合されることで、ＶＳＳレベルに等しくされる。
【００７８】
コマンド線２０２にはプルアップ抵抗Ｒ１が接続される。このプルアップ抵抗Ｒ１の抵抗値は１０ＫΩ〜１００ＫΩとされる。カードデータ線２０５にはプルアップ抵抗Ｒ２〜Ｒ５が接続される。このプルアップ抵抗Ｒ２〜Ｒ５の抵抗値は５０ＫΩ〜１００ＫΩとされる。カード検出線２１２とライトプロテクト線２１１にはプルアップ抵抗Ｒ６、Ｒ７、及びＲ８が接続される。このプルアップ抵抗Ｒ６、Ｒ７、及びＲ８の抵抗値は、特に制限されないが、５０ＫΩ〜１００ＫΩとされる。
【００７９】
ＳＤカードがカードソケット１１７に装着された場合、選択端子ＳＳＥＬがハイ（Ｈｉｇｈ）レベルになり、それが選択回路Ｓ１〜Ｓ７に伝えられる。メモリスティックがカードソケット１１７に装着された場合、選択端子ＳＳＥＬがロー（Ｌｏｗ）レベルになり、それが選択回路Ｓ１〜Ｓ７に伝えられる。ここで、選択端子ＳＳＥＬにはホストシステム１００の汎用端子が割り当てられる。
【００８０】
単方向の選択回路Ｓ１，Ｓ２には、図３に示される構成のものを適用することができる。単方向の選択回路Ｓ１は、選択端子ＳＳＥＬから端子Ｓにハイレベルが伝えられた場合（ＳＤカード接続時）、選択回路Ｓ１によって端子１側の信号伝達ラインが選択され、抵抗Ｒ１〜Ｒ５にＶＣＣが接続される。そして、コマンド線とカードデータ線がプルアップされる。また、選択端子ＳＳＥＬから端子Ｓにローレベルが伝えられた場合（メモリスティック接続時）、選択回路Ｓ１が端子２側の信号伝達経路を選択し、抵抗Ｒ１〜Ｒ５にグランドＧＮＤの電圧ＶＳＳが供給される。そして、コマンド線２０２とカードデータ線２０５がプルダウンされる。単方向の選択回路Ｓ２は選択端子ＳＳＥＬから端子Ｓにハイレベル伝えられた場合、端子Ｓ２が端子１側の信号伝達経路を選択し、ＳＤコントローラ１１３のクロック端子ＳＤＣＬＫとカードソケット１１７のＳＤＣＬＫの接続が有効になる。選択端子ＳＳＥＬから端子Ｓにローレベルが伝えられた場合、選択回路Ｓ２が端子２側を選択しＭＳコントローラのＭＳＣＬＫとカードソケットのＭＳＣＬＫの接続が有効になる。  双方向の選択回路Ｓ３〜Ｓ７には、図４に示される構成のものを適用することができる。選択端子ＳＳＥＬから端子Ｓにハイレベルが伝達された場合、双方向の選択回路Ｓ３〜Ｓ７によって端子１側の信号伝達経路が選択される。そして、双方向の選択回路Ｓ３によりＳＤコントローラ１１３のコマンド端子ＳＤＣＭＤとカードソケット１１７のコマンド端子ＳＤＣＭＤとの接続が有効になる。双方向の選択回路Ｓ４〜Ｓ７によりＳＤコントローラ３１６のデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３とカードソケット１１７のデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３の接続が有効になる。選択端子ＳＳＥＬから端子Ｓにローレベルが伝えられた場合、双方向の選択回路Ｓ３〜Ｓ７によって端子２側の信号伝達経路が選択される。そして、双方向の選択回路Ｓ３によりＭＳコントローラ３１６のバスステート端子ＭＳＢＳとカードソケット１１７のバスステート端子ＭＳＢＳとの接続が有効にされる。また、双方向の選択回路Ｓ４〜Ｓ７によりＭＳコントローラ３１６のデータ端子ＭＳＤＡＴ０〜ＭＳＤＡＴ３とカードソケット１１７のデータ端子ＭＳＤＡＴ０〜ＭＳＤＡＴ３の接続が有効になる。データ方向端子ＤＳＥＬから端子Ｄにハイレベルが伝えられた場合、信号が端子３側から端子１側または端子２側へ伝達される。データ方向端子ＤＳＥＬから端子Ｄにローレベルが伝えられた場合、信号が端子１側または端子２側から端子３側へ伝達される。
【００８１】
コマンド線とデータ線にはノイズ低減のためダンピング抵抗Ｒ９〜Ｒ１３が挿入される。このダンピング抵抗Ｒ９〜Ｒ１３の抵抗値は、特に制限されないが、２０Ω程度とされる。
【００８２】
過渡電流の急激な変化を防止するためＶＣＣとＳＤＶＳＳ１、及びＶＣＣとＳＤＶＳＳ２間にバイパスコンデンサＣ１が挿入される。また、ＶＣＣとＭＳＶＳＳ１、及びＶＣＣとＶＳＳ２間にバイパスコンデンサＣ２が挿入される。このバイパスコンデンサＣ２の静電容量値は、特に制限されないが、０．１μＦ程度とされる。
【００８３】
図７には、図６に示される構成を採用した場合の上記ＣＰＵ１１１での処理の流れが示される。
【００８４】
ＣＰＵ起動後、またはカード取り出し後、ＣＰＵ１１１によってＳＤコントローラ１１３が選択的に起動される。
【００８５】
ＣＰＵ１１１によって選択端子ＳＳＥＬがハイレベルにされる（Ｓ２０２）。選択端子ＳＳＥＬがハイレベルにされることで、図６のＳＤコントローラ１１３とカードソケット１１７との間の接続において、クロック端子ＳＤＣＬＫとクロック線２０１との接続が有効になり、コマンド端子ＳＤＣＭＤとコマンド線２０２との接続が有効になり、データ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３とカードデータ線２０５との接続が有効になる。また、コマンド線２０２とカードデータ線２０５がプルアップされる。
【００８６】
この状態でシステムは、カードソケット１１７へのメモリカードの挿入待ちの状態になる（Ｓ２０３）。メモリカード挿入の判定は、選択済みのＳＤコントローラ１１３のカード検出レジスタが参照される。ここで、カード検出レジスタはカード検出端子ＳＤＣＤの状態を反映したものとなる。ＳＤカードとメモリスティックのどちらかがカードソケット１１７に挿入されれば、ＳＤＣＤがローレベルになるため、アンド回路ＡＮＤ１０の出力論理、すなわち、カード検出線２１２の論理に基づいてメモリカード挿入の判定を行うことができる。
【００８７】
メモリカードがカードソケット１１７に挿入された場合、ＣＰＵ１１１によってＳＤコントローラが制御されることでメモリカードに所定のコマンドＣＭＤ５を発行する（Ｓ２０４）。そしてメモリカードからＣＭＤ５に対する応答があるか否かの判定が行われる（Ｓ２０５）。ここで、ＣＭＤ５はＳＤＩＯ規格で定義されたコマンドで、メモリカードがＳＤＩＯカードであれば当該コマンドに応答するようになっている。コマンドＣＭＤ５に対する応答があった場合、メモリカードはＳＤＩＯカードである。その場合、ＣＰＵ１１１は、ＳＤコントローラ１１３を制御することで、ＳＤＩＯ規格に従い、ＳＤＩＯカードにアクセスする。
【００８８】
その後、カードが取り出されたか否かの判定が行われる（Ｓ２０６）。ＳＤＩＯカードが取り出された場合、上記ステップＳ２０３の判別に遷移される。ＳＤＩＯカードが取り出されていない場合、上記ステップＳ２０６に遷移され、ＳＤＩＯカードへのアクセスが可能とされる。
【００８９】
尚、ＳＤＩＯカードをサポートしないシステムの場合、ステップＳ２０４〜Ｓ２０７の処理は省略される。
【００９０】
上記ステップＳ２０５の判別において、コマンドＣＭＤ５に対する応答がないと判断された場合、ＣＰＵ１１１によりＳＤコントローラ１１３が制御されることで、メモリカードに所定のコマンドＡＣＭＤ４１が発行される（Ｓ２０８）。そして、ＣＰＵ１１１において、メモリカードから上記ＣＭＤ１に対する応答があるか否かの判定が行われる（Ｓ２０９）。ここで、コマンドＡＣＭＤ４１はＳＤ規格で定義されたコマンドで、メモリカードがＳＤカードであれば当該コマンドに応答するようになっている。コマンドＡＣＭＤ４１に対する応答があった場合、そのメモリカードはＳＤカードであるから、ＣＰＵ１１１は、ＳＤコントローラ１１３を制御することで、ＳＤ規格に従い、当該ＳＤカードにアクセスする（Ｓ２１０）。そしてその後、メモリカードが取り出されたか否かの判定が行われる（Ｓ２１１）。メモリカードがカードソケット１１７から取り出された場合、上記ステップＳ２０１に遷移される。メモリカードがカードソケット１１７から取り出されていない場合、上記ステップＳ２１０に遷移され、ＳＤカードへのアクセスが可能とされる。
【００９１】
上記ステップＳ２０９の判別において、コマンドＡＣＭＤ４１に対する応答がないと判断された場合、ＣＰＵ１１１はＭＳコントローラ３１６を選択する（Ｓ２１２）。
【００９２】
そしてＣＰＵ１１１は、ソケット選択端子のＳＳＥＬをロー（Ｌｏｗ）レベルにする（Ｓ２１３）。ＳＳＥＬがローレベルにされることで、ＭＳコントローラ３１６とカードソケット１１７との間の接続において、コマンド端子ＭＳＣＬＫとクロック線２０１の接続が有効にされ、バスステート端子ＭＳＢＳとコマンド線２０２の接続が有効にされ、データ端子ＭＳＤＡＴ０〜ＭＳＤＡＴ３とカードデータ線２０５との接続が有効にされる。また、コマンド線２０２とカードデータ線２０５がプルダウンされる。
【００９３】
そして、ＣＰＵ１１１は、ＭＳコントローラ３１６を制御することで、メモリカードに対してメモリスティックコマンドを発行する（Ｓ２１４）。ここで、発行されるメモリスティックコマンドは、例えばメモリスティックの初期化時に最初に発行する「SET R/W REG ADRS」コマンドとされる。
【００９４】
そして、ＣＰＵ１１１は、上記メモリスティックコマンドに対する応答があるか否かを判定する（Ｓ２１５）。
【００９５】
上記メモリスティックコマンドに対する応答があった場合、カードはメモリスティックであるから、ＣＰＵ１１１は、ＭＳコントローラ３１６を制御することで、メモリスティック規格に従い、メモリスティックにアクセスする（Ｓ２１６）。そのアクセス後、メモリカード（メモリスティック）が取り出されたか否かの判定が行われる（Ｓ２１７）。メモリカード（メモリスティック）が取り出された場合、上記ステップＳ２０１に遷移される。メモリカード（メモリスティック）が取り出されない場合には、上記ステップＳ２１６に遷移され、メモリスティックへのアクセスが可能とされる。
【００９６】
上記ステップＳ２１５の判別において、メモリスティックコマンドに対する応答がない場合、カードソケット１１７に挿入されたカードはＳＤカードでもメモリスティックでもなく、種別不明のカードであるため、そのカードが取り出されるのを待つ。そのカードが取り出された場合に、上記ステップＳ２０１に遷移される。
【００９７】
上記例によれば、以下の作用効果を得ることができる。
【００９８】
（１）ＳＤコントローラ１１３及びＭＳコントローラ３１６と、カードソケット１１７との間の接続と、図７に示される、ＣＰＵ１１１での処理により、ＳＤカードやメモリスティックの制御が可能になるので、単一のカードソケット１１７で、ＳＤカードとメモリスティックとの使用が可能になる。また、ＳＤカードとメモリスティックとに対応するホストシステム１００においてカードソケット１１７は１個で足りるので、ＳＤカード用のカードソケットとメモリスティック用のカードソケットとを別個に設けるのに比べて、カードソケット数を減少させることができる。
【００９９】
（２）上記（１）の作用効果により、ホストシステム１００の小型化や製造コストの低減を図ることができる。
【０１００】
＜実施の形態３＞
図８には、上記ホストシステム１００における主要部の別の構成例が示される。
【０１０１】
図８に示される構成が、図２に示されるのと大きく相違するのは、カードソケット１１７がメモリスティックにも対応され（図６参照）、それに関連して配線や選択回路数が増え、さらにはＭＳコントローラ３１６が追加されている点である。図８に示されるＭＳコントローラ３１６は、図６に示されるのと同一機能を有し、ＣＰＵ１１１によって動作制御される。それにより、互いにプロトコル上の互換性を持つ複数カード（例えば、ＳＤカードとＭＭＣ）と、互いにプロトコル上の互換性を持たない複数カード（例えば、ＳＤカードとメモリスティック）の同時制御を可能にしている。
【０１０２】
尚、本例は、実施の形態１と実施の形態２とを組み合わせにかかるもので、以下の説明では、実施の形態１及び実施の形態２において既に説明した部分については、その詳細な説明を省略する。
【０１０３】
選択端子ＳＳＥＬ１は実施の形態１における選択端子ＳＳＥＬと同様の機能を有する端子で、ＣＰＵ１１１によって当該端子の論理レベルが制御される。すなわち、ＳＤカード接続時にはＣＰＵ１１１によってハイレベルにされ、ＭＭＣ接続時にはＣＰＵ１１１によってローレベルにされる。
【０１０４】
選択端子ＳＳＥＬ２は、実施の形態２における選択端子ＳＳＥＬと同様の機能を有する端子で、ＣＰＵ１１１によって当該端子の論理レベルが制御される。すなわち、ＳＤカードまたはＭＭＣ接続時にはＣＰＵ１１１によってハイレベルにされ、メモリスティック接続時にはＣＰＵ１１１によってローレベルにされる。
【０１０５】
単方向の選択回路Ｓ１は、実施の形態１における単方向の選択回路Ｓ１と同様の機能を有する回路で、選択端子ＳＳＥＬ１から端子Ｓにハイレベルが伝えられた場合、単方向の選択回路Ｓ１によって端子１側の信号伝達経路が選択され、それによってクロック端子ＳＤＣＬＫと選択回路Ｓ１の端子３側の信号伝達経路とが接続される。また、選択端子ＳＳＥＬ１から端子Ｓにローレベルが伝えられた場合、単方向の選択回路Ｓ１によって端子２側の信号伝達経路が選択され、それによってクロック端子ＭＭＣＣＬＫと選択回路Ｓ１の端子３側の信号伝達経路とが接続される。
【０１０６】
単方向の選択回路Ｓ２は、実施の形態２における単方向の選択回路Ｓ２と同様の機能を有する回路で、選択端子ＳＳＥＬ２から端子Ｓにハイレベルが伝えられた場合、単方向の選択回路Ｓ２によって端子１側の信号伝達経路が選択され、単方向の選択回路Ｓ１の端子３側の信号伝達経路と単方向の選択回路Ｓ２の端子３側の信号伝達経路とが接続される。また、選択端子ＳＳＥＬ２から端子Ｓにローレベルが伝えられた場合、単方向の選択回路Ｓ２によって端子２側の信号伝達経路が選択され、クロック端子ＭＳＣＬＫと単方向の選択回路Ｓ２の端子３側の信号伝達経路とが接続される。
【０１０７】
単方向の選択回路Ｓ３は、実施の形態２の単方向の選択回路Ｓ１と同様の機能を有する回路で、単方向の選択回路Ｓ３は、選択端子ＳＳＥＬ２から端子Ｓにハイレベルが伝えられた場合、選択回路Ｓ３によって端子１側の信号伝達経路が選択され、抵抗Ｒ１〜Ｒ９に高電位側電源電圧ＶＣＣが供給される。そして、コマンド線２０２とカードデータ線２０５，２１０，２１６がプルアップされる。また、選択端子ＳＳＥＬ２から端子Ｓにローレベルが伝えられた場合、選択回路Ｓ３によって端子２側の信号伝達経路が選択され、抵抗Ｒ１〜Ｒ９に高電位側電源電圧ＶＳＳが接続される。そして、コマンド線２０２とカードデータ線２０５，２１０，２１６がプルダウンされる。
【０１０８】
双方向の選択回路Ｓ４〜Ｓ８は、実施の形態１における双方向の選択回路Ｓ２〜Ｓ６と同様の機能を有する回路で、選択端子ＳＳＥＬ１から端子Ｓにハイレベルが伝えられた場合、双方向の選択回路Ｓ４〜Ｓ８によって端子１側の信号伝達経路が選択される。そして、双方向の選択回路Ｓ４によりコマンド端子ＳＤＣＭＤと双方向の選択回路Ｓ４の端子３側の信号伝達経路とが接続され、双方向の選択回路Ｓ５〜Ｓ８によりデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３と双方向の選択回路Ｓ５〜Ｓ８の端子３側の信号伝達経路とが接続される。また、選択端子ＳＳＥＬ１から端子Ｓにローレベルが伝えられた場合、双方向の選択回路Ｓ４〜Ｓ８によって端子２側の信号伝達経路が選択される。そして、双方向の選択回路Ｓ４によりコマンド端子ＭＭＣＣＭＤと双方向の選択回路Ｓ４の端子３側の信号伝達経路とが接続され、双方向の選択回路Ｓ５〜Ｓ８によりデータ端子ＭＭＣＤＡＴ０〜ＭＭＣＤＡＴ３と双方向の選択回路Ｓ５〜Ｓ８の端子３側の信号伝達経路とが接続される。
【０１０９】
双方向の選択回路Ｓ９〜Ｓ１３は、実施の形態２における双方向の選択回路Ｓ４〜Ｓ７と同様な機能を有する回路で、選択端子ＳＳＥＬ２から端子Ｓにハイレベルが伝えられた場合、双方向の選択回路Ｓ９〜Ｓ１３が端子１側の信号伝達経路を選択する。そして、双方向の選択回路Ｓ９により双方向の選択回路Ｓ４の端子３側の信号伝達経路と双方向の選択回路Ｓ９の端子３側の信号伝達経路とが接続され、双方向の選択回路Ｓ５〜Ｓ８によりデータ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３またはＭＭＣＤＡＴ０〜ＭＭＣＤＡＴ３と双方向の選択回路Ｓ５〜Ｓ８の端子３側の信号伝達経路とが接続される。また、選択端子ＳＳＥＬ２から端子Ｓにローレベルが伝えられた場合、双方向の選択回路Ｓ９〜Ｓ１３によって端子２側の信号伝達経路が選択される。そして、双方向の選択回路Ｓ９によりバスステート端子ＭＳＢＳとＳ９の端子３側の信号伝達経路とが接続され、双方向の選択回路Ｓ５〜Ｓ８によりデータ端子ＭＳＤＡＴ０〜ＭＳＤＡＴ３と双方向の選択回路Ｓ５〜Ｓ８の端子３側の信号伝達経路とが接続される。
【０１１０】
図９には、図８に示される構成を採用した場合の上記ＣＰＵ１１１での処理の流れが示される。
【０１１１】
尚、ＳＤＩＯカードをサポートしないものとして説明するが、実施の形態１及び実施の形態２と同様にＳＤＩＯカードをサポートするように構成しても良い。
【０１１２】
ＣＰＵ１１１の起動後、またはカードソケット１１７からのカード取り出し後、選択ソフトウェア１１４の実行によりＭＭＣコントローラ１１３が選択されて起動される（Ｓ３０１）。
【０１１３】
ＣＰＵ１１１は、選択端子ＳＳＥＬ１をローレベルにし、選択端子ＳＳＥＬ２をハイレベルにする。選択端子ＳＳＥＬ１をローレベル、選択端子ＳＳＥＬ２をハイレベルにすることで、ＭＭＣコントローラ１１６とカードソケット１１７との間の接続において、クロック端子ＭＭＣＣＬＫとクロック線２０１、コマンド端子ＭＭＣＣＭＤとコマンド線２０２、データ端子ＭＭＣＤＡＴ０〜ＭＭＣＤＡＴ３とカードデータ線２０５との接続を有効にする。また、コマンド線２０２とカードデータ線２０５がプルアップされる。この状態でシステムは、カードソケット１１７へのメモリカードの挿入待ちの状態になる（Ｓ３０３）。メモリカード挿入の判定は、選択済みのＭＭＣコントローラ１１６のカード検出レジスタが参照される。ここで、カード検出レジスタは、ＭＭＣコントローラ１１６のカード検出端子ＭＭＣＣＤの状態を反映したものとなる。
【０１１４】
カードソケット１１７にメモリカードが挿入された場合、ＣＰＵ１１１によってＭＭＣコントローラ１１６が制御され、メモリカードに対して所定のコマンドＣＭＤ１が発行される（Ｓ３０４）。そして、ＣＰＵ１１１において、メモリカードから上記ＣＭＤ１に対する応答があるか否かの判定が行われる（Ｓ３０５）。ここで、コマンドＣＭＤ１はマルチメディアカード規格で定義されたコマンドで、カードソケット１１７に装着されているメモリカードがＭＭＣであればコマンドＣＭＤ１に対して応答する。
【０１１５】
コマンドＣＭＤ１に対する応答があった場合、カードソケット１１７に装着されているメモリカードはＭＭＣであるため、ＣＰＵ１１１によってＭＭＣコントローラ１１６が制御されることで、マルチメディアカード規格に従ったカードアクセスが実行される（Ｓ３０６）。その後、メモリカードがカードソケット１１７から取り出されたか否かの判定が行われる（Ｓ３０７）。メモリカードが取り出された場合、システムはメモリカードの挿入待ちの状態（Ｓ３０３）に遷移される。また、メモリカードが取り出されない場合には、ＣＰＵ１１１はＭＭＣコントローラ１１６を制御することで、カードアクセスが可能になる（Ｓ１０６）。
【０１１６】
上記ステップＳ３０５の判別において、メモリカード１１７から上記コマンドＣＭＤ１に対する応答が無いと判断された場合には、ＣＰＵ１１１によってＳＤコントローラ１１３が選択される（Ｓ３０８）。そして、ＣＰＵ１１１によって選択端子ＳＳＥＬ１がハイレベルにされ、選択端子ＳＳＥＬ２がハイレベルにされる（Ｓ３０９）。選択端子ＳＳＥＬ１がハイレベルにされ、選択端子ＳＳＥＬ２がハイレベルにされることで、ＳＤコントローラ１１３とカードソケット１１７との間の接続において、クロック端子ＳＤＣＬＫとクロック線２０１、コマンド端子ＳＤＣＭＤとコマンド線２０２、データ端子ＳＤＤＡＴ０〜ＳＤＤＡＴ３とカードデータ線２０５との接続が有効にされる。また、コマンド線２０２とカードデータ線２０５がプルアップされる。
【０１１７】
ＣＰＵ１１１によってＳＤコントローラ１１３が制御され、メモリカードに対してコマンドＡＣＭＤ４１が発行される（Ｓ３１０）。そして、ＣＰＵ１１１において、コマンドＡＣＭＤ４１に対する応答があるか否かの判定が行われる（Ｓ３１１）。ここで、コマンドＡＣＭＤ４１はＳＤ規格で定義されたコマンドで、カードソケット１１７に装着されているメモリカードがＳＤカードであればコマンドＡＣＭＤ４１に対して応答する。
【０１１８】
コマンドＡＣＭＤ４１に対する応答があった場合、カードソケット１１７に装着されているメモリカードはＳＤカードであるため、ＣＰＵ１１１によってＳＤコントローラ１１３が制御されることで、ＳＤ規格に従ったカードアクセスが実行される（Ｓ３１２）。その後、メモリカードがカードソケット１１７から取り出されたか否かの判定が行われる（Ｓ３１３）。メモリカードが取り出された場合、システムはＭＭＣコントローラ選択（Ｓ３０１）に遷移される。また、メモリカードが取り出されない場合には、ＣＰＵ１１１によってＳＤコントローラ１１３が制御されることで、ＳＤカードのアクセスが可能になる（Ｓ１０６）。
【０１１９】
上記ステップＳ３１１の判別において、メモリカードから上記コマンドＡＣＭＤ４１に対する応答が無いと判断された場合には、ＣＰＵ１１１によってＭＳコントローラ３１６が選択される（Ｓ３１４）。そして、ＣＰＵ１１１によって、選択端子ＳＳＥＬ２がローレベルにされる（Ｓ３１５）。選択端子ＳＳＥＬ２がローレベルにされることで、ＭＳコントローラ３１６とカードソケット１１７との間の接続において、クロック端子ＭＳＣＬＫとクロック線２０１、バスステート端子ＭＳＢＳとコマンド線２０２、データ端子ＭＳＤＡＴ０〜ＭＳＤＡＴ３とカードデータ線２０５の接続が有効にされる。また、コマンド線２０２とカードデータ線２０５がプルダウンされる。尚、選択端子ＳＳＥＬ１の状態は任意でよい。
【０１２０】
ＣＰＵ１１１はＭＳコントローラ３１６を制御することでメモリスティックコマンドを発行する（Ｓ３１６）。ここで、発行するメモリスティックコマンドは、例えばメモリスティックの初期化時に最初に発行する「SET R/W REG ADRS」コマンドとされる。
【０１２１】
上記メモリスティックコマンドに対する応答があった場合、カードはメモリスティックであるから、ＣＰＵ１１１は、ＭＳコントローラ３１６を制御することで、メモリスティック規格に従い、メモリスティックにアクセスする（Ｓ３１８）。そのアクセス後、メモリカード（メモリスティック）が取り出されたか否かの判定が行われる（Ｓ３１９）。メモリカード（メモリスティック）が取り出された場合、上記ステップＳ３０１に遷移される。メモリカード（メモリスティック）が取り出されない場合には、上記ステップＳ３１８に遷移され、メモリスティックへのアクセスが可能とされる。
【０１２２】
上記ステップＳ３１７の判別において、メモリスティックコマンドに対する応答がない場合、カードソケット１１７に挿入されたカードはＭＭＣ、ＳＤカード、メモリスティックでもなく、種別不明のカードであるため、そのカードが取り出されるのを待つ。そのカードが取り出された場合に、上記ステップＳ３０１に遷移される。
【０１２３】
上記例によれば、以下の作用効果を得ることができる。
【０１２４】
（１）ＳＤコントローラ１１３、ＭＭＣコントローラ１１６及びＭＳコントローラ３１６と、カードソケット１１７との間の接続と、図９に示される、ＣＰＵ１１１での処理により、ＳＤカードやＭＭＣ、さらにはメモリスティックの制御が可能になるので、単一のカードソケット１１７で、ＳＤカード、ＭＭＣ、及びメモリスティックの使用が可能になる。また、ＳＤカード、ＭＭＣ、及びメモリスティックに対応するホストシステム１００においてカードソケット１１７は１個で足りるので、それぞれ専用のカードソケットを別個に設けるのに比べて、カードソケット数を減少させることができる。
【０１２５】
（２）上記（１）の作用効果により、ホストシステム１００の小型化や製造コストの低減を図ることができる。
【０１２６】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【図面の簡単な説明】
【０１２７】
【図１】本発明にかかるメモリカード制御装置の一例とされるホストシステムの構成例ブロック図である。
【図２】上記ホストシステムにおける主要部の構成例回路図である。
【図３】上記ホストシステムに含まれる単方向の選択回路の構成例回路図である。
【図４】上記ホストシステムに含まれる双方向の選択回路の構成例回路図である。
【図５】図２に示される構成を採用した場合の処理の流れを示すフローチャートである。
【図６】上記ホストシステムにおける主要部の別の構成例回路図である。
【図７】図６に示される構成を採用した場合の処理の流れを示すフローチャートである。
【図８】上記ホストシステムにおける主要部の別の構成例回路図である。
【図９】図８に示される構成を採用した場合の処理の流れを示すフローチャートである。
【図１０】図１に示されるホストシステムの比較対象とされるものの構成例ブロック図である。
【図１１】図１に示されるホストシステムの比較対象とされるものの構成例ブロック図である。
【符号の説明】
【０１２８】
１１１  ＣＰＵ
１１２  ＳＤソフトウェア
１１３  ＳＤコントローラ
１１４  選択ソフトウェア
１１５  ＭＭＣソフトウェア
１１６  ＭＭＣコントローラ
１１７  カードソケット
３１６  ＭＳコントローラ
Ｓ１〜Ｓ１３  選択回路
【図１】
2009252109.tif 000003
【図２】
2009252109.tif 000004
【図３】
2009252109.tif 000005
【図４】
2009252109.tif 000006
【図５】
2009252109.tif 000007
【図６】
2009252109.tif 000008
【図７】
2009252109.tif 000009
【図８】
2009252109.tif 000010
【図９】
2009252109.tif 000011
【図１０】
2009252109.tif 000012
【図１１】
2009252109.tif 000013