JP2009252109A - メモリカード制御装置 - Google Patents

メモリカード制御装置 Download PDF

Info

Publication number
JP2009252109A
JP2009252109A JP2008101748A JP2008101748A JP2009252109A JP 2009252109 A JP2009252109 A JP 2009252109A JP 2008101748 A JP2008101748 A JP 2008101748A JP 2008101748 A JP2008101748 A JP 2008101748A JP 2009252109 A JP2009252109 A JP 2009252109A
Authority
JP
Japan
Prior art keywords
card
memory card
terminal
controller
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2008101748A
Other languages
English (en)
Inventor
Shinichi Suzuki
慎一 鈴木
Takayasu Hirama
孝廉 平間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2008101748A priority Critical patent/JP2009252109A/ja
Publication of JP2009252109A publication Critical patent/JP2009252109A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】互いに種類が異なる複数のメモリカードに対応可能なメモリカード制御装置においてカードソケット数を減少させる。
【解決手段】互いに種類が異なる複数のメモリカードに対応する単一のカードソケット(117)と、上記メモリカードの動作制御を可能とする複数のコントローラ(113,116)と、上記カードソケットとを設ける。さらに上記複数のコントローラとの間の信号伝達経路を形成する選択回路(S1〜S6)と、上記メモリカードに対応するコントローラを選択的に上記メモリカードの動作制御に関与させるための処理を実行可能なCPU(111)とを設ける。上記CPUで実行される処理には、所定のコマンドを発行し、発行された所定コマンドに対する応答の有無を判別し、その判別結果に応じて信号伝達経路の選択状態を切り替える処理を含み、単一のカードソケットで互いに種類が異なる複数のメモリカードに対応させる。
【選択図】図2

Description

本発明は、互いに種類の異なる複数のカードに対応可能なメモリカード制御装置に関する。
プラスチック製カードに半導体集積回路を埋め込み、情報を記録できるようにしたカードとして、メモリカードが知られている。メモリカードには、SD(Secure Digital)カードやマルチメディアカード(登録商標)(MMC:Multi Media Card)等が含まれる。SDカード(「SDメモリカード」とも称される)は、携帯電話機やデジタルカメラを中心に製品展開が行われている。SDカードには、コンテンツの著作権保護機能に対応したSDカードや無線LANなどのアプリケーションに対応したSDIOカードがあるが、データ転送速度は理論上最大25Mバイト/秒(クロック周波数=最大50MHz、バス幅=4ビット)となっている。マルチメディアカードには、データ転送速度が理論上最大2.5Mバイト/秒(クロック周波数=最大20MHz、バス幅=1ビット)の従来のマルチメディアカード(以下「従来MMC」という)と、データ転送速度が理論上最大52Mバイト/秒(クロック周波数=最大52MHz、バス幅=8ビット)のHigh−Speed MMC(以下、「HS−MMC」という)がある。
形状に互換性のある複数の種類のメモリカードにおいて、該メモリカードが接続されたことを示すメモリカード検出信号では、物理的にメモリカードの種類を認識することができない。そこで、そのようなシステムでは、複数種類のカードに対応するメモリカードスロットと、挿入されたメモリカードの種類を識別するカード識別回路部とが搭載される(例えば特許文献1参照)。
特開2006−209643号公報
SDカードとマルチメディアカードの双方を使用する技術としては、SDコントローラで制御する第1制御方式と、2個のカードソケットで制御する第2制御方式とを挙げることができ、本願発明者はこの二つの方式について検討した。
第1制御方式において、マルチメディアカードは、SDカードと外部端子やコマンドの互換性を持つ。そこで、SDコントローラのみでSDカードとマルチメディアカードを制御することが考えられる。ホストシステム10は、例えば図10に示されるように、CPU11、SDソフトウェア12、SDコントローラ13、及びカードソケット14を含んで成る。この場合、SDコントローラ13は、SDカード20−1、SDIOカード20−2、従来MMC21−1の制御はできるが、HS−MMC21−2を制御できない。
これに対して、第2制御方式においては、SDコントローラとMMCコントローラを使用し、それぞれに独立なカードソケットが接続される。この場合のホストシステム10は例えば図11に示されるように、CPU11、SDソフトウェア12、MMCソフトウェア15、SDコントローラ13、MMCコントローラ16、SDコントローラに接続されたカードソケット14、及びMMCコントローラに接続されたカードソケット17で構成する。この場合、SDカード20−1とSDIOカード20−2はカードソケット1に挿入し、従来MMC21−1とHS−MMC21−2はカードソケット2に挿入することで制御できる。しかしこの場合、2個のカードソケットと内部端子が必要となる。
このようにSDコントローラのみで制御する場合(第1制御方式)には、HS−MMCは制御不可となり、2個のカードソケットで制御する(第2制御方式)場合には、マルチメディアカードとSDカードは外部端子とコマンドの互換性を持つにもかかわらず、余分なカードソケットと内部端子が必要になる。また、ユーザはカード使用前にSDカードとマルチメディアカードを判別する必要がある。
尚、特許文献1によれば、挿入されたメモリカードの種類を識別するカード識別回路部や、複数のメモリカードに対応するメモリカードスロットとインタフェース回路部等との間の信号伝達経路、その信号伝達経路の切り替え等に関しては詳細に記載されていない。
本発明の目的は、互いに種類が異なる複数のメモリカードに対応可能なメモリカード制御装置において、カードソケット数を減少させるための技術を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、互いに種類が異なる複数のメモリカードに対応する単一のカードソケットと、上記メモリカードの動作制御を可能とする複数のコントローラと、上記カードソケットと、上記複数のコントローラとの間の信号伝達経路を形成する選択回路と、上記カードソケットに装着されたメモリカードに対応するコントローラを選択的に上記メモリカードの動作制御に関与させるための処理を実行可能なCPUとを設ける。上記CPUで実行される処理には、所定のコマンドを発行し、発行された所定コマンドに対する応答の有無を判別し、その判別結果に応じて信号伝達経路の選択状態を切り替える処理が含まれる。これにより、単一のカードソケットで互いに種類が異なる複数のメモリカードに対応させることができ、このことが、カードソケット数の減少を達成する。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、互いに種類が異なる複数のメモリカードに対応可能なメモリカード制御装置において、カードソケット数を減少させることができる。
1.代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係るメモリカード制御装置(100)は、互いに種類が異なる複数のメモリカードに対応する単一のカードソケット(117)と、上記メモリカードの動作制御を可能とする複数のコントローラ(113,116,316)と、上記カードソケットと、上記複数のコントローラとの間の信号伝達経路を選択的に形成するための選択回路(S1〜S13)とを含む。また、上記メモリカード制御装置(100)は、上記カードソケットに装着されたメモリカードに対応するコントローラを選択的に上記メモリカードの動作制御に関与させるための処理を実行可能なCPU(111)を含む。
上記CPUで実行される処理には、上記カードソケットに装着されたカードに対して所定のコマンドを発行する第1処理と、上記第1処理で発行された所定コマンドに対して、上記カードソケットに装着されたカードから応答があるか否かを判別する第2処理と、上記第2処理での判別結果に応じて、上記コントローラの選択状態と上記選択回路による信号伝達経路の選択状態を切り替える第3処理とが含まれる。
〔2〕上記選択回路には、上記複数のコントローラから上記カードソケットへの単方向の信号伝達を可能とする信号伝達経路を選択的に形成するための第1選択回路と、上記複数のコントローラと上記カードソケットとの間で双方向のデータ伝達を可能とする信号伝達経路を選択的に形成するための第2選択回路とを含めることができる。
〔3〕上記メモリカード制御装置には、上記第1選択回路及び上記第2選択回路による信号伝達経路選択状態の切り替えを可能とする選択端子と、上記第2選択回路におけるデータ伝達方向の切り替えを可能とするデータ方向端子とを含めることができる。このとき、上記CPUは、上記第2処理での判別結果に応じて上記選択端子及び上記データ方向端子に制御信号を供給するように構成することができる。
〔4〕上記カードソケットには、第1メモリカードと、上記第1メモリカードとはプロトコル上の互換性を持つが、転送速度やセキュリティ機能の有無が互いに異なる第2メモリカードとに対応するものを適用することができる。このとき、上記複数のコントローラには、上記第1メモリカードの動作を制御可能な第1コントローラと、上記第2メモリカードの動作を制御可能な第2コントローラとを含めることができる。上記第1コントローラは、SDコントローラ(113)とすることができ、上記第2コントローラは、MMCコントローラ(116)とすることができる。
〔5〕上記カードソケットには、第1メモリカードと、上記第1メモリカードとはプロトコル上の互換性を持たない第3メモリカードとに対応するものを適用することができる。このとき、上記複数のコントローラには、上記第1メモリカードの動作を制御可能な第1コントローラと、上記第3メモリカードの動作を制御可能な第3コントローラとを含めることができる。上記第1コントローラは、SDコントローラ(113)とすることができ、上記第3コントローラは、MSコントローラ(316)とすることができる。
〔6〕上記カードソケットには、第1メモリカードと、上記第1メモリカードとはプロトコル上の互換性を持つが、転送速度やセキュリティ機能の有無が互いに異なる第2メモリカードと、上記第1メモリカード及び上記第2メモリカードとはプロトコル上の互換性を持たない第3メモリカードとに対応するものを適用することができる。このとき、上記複数のコントローラには、上記第1メモリカードの動作を制御可能な第1コントローラと、上記第2メモリカードの動作を制御可能な第2コントローラと、上記第3メモリカードの動作を制御可能な第3コントローラとを含めることができる。
〔7〕上記第1メモリカードにはSDカードが含まれ、上記第2メモリカードにはマルチメディアカードが含まれ、上記第3メモリカードはメモリスティック(登録商標)が含まれる。
2.実施の形態の説明
次に、実施の形態について更に詳述する。
<実施の形態1>
図1には、本発明にかかるメモリカード制御装置の一例とされるホストシステムの構成例が示される。図1に示されるホストシステム100は、特に制限されないが、CPU111、SDソフトウェア112、SDコントローラ113、選択ソフトウェア114、MMCソフトウェア115、MMCコントローラ116、カードソケット117を含む。
上記カードソケット117は、単一のカードソケットでありながら、互いに種類が異なる複数のメモリカードに対応可能に構成される。ここで、互いに種類が異なる複数のメモリカードには、SDカード20−1、SDIOカード20−2、従来MMC21−1及びHS−MMC21−2を挙げることができる。SDソフトウェア112がCPU111で実行されることにより、SDコントローラ113が制御され、カードソケット117にSDカード20−1が挿入された場合、コマンド送信、レスポンス受信、及びデータ送受信などから構成するコマンドシーケンスの管理などが行われる。MMCソフトウェア115がCPU111で実行されることにより、MMCコントローラ116が制御され、カードソケット117にマルチメディアカードが挿入された場合、コマンド送信、レスポンス受信、及びデータ送受信などから構成するコマンドシーケンスの管理などが行われる。
選択ソフトウェア114がCPU111で実行されることにより、カードソケット117に挿入されたカードに従い、SDコントローラ113またはMMCコントローラ116が選択される。
SDコントローラ113は、コマンド送信、レスポンス受信、データ送受信などの機能を持ち、SDカード20−1とSDIOカード20−2を制御する。特に、マルチメディアカードと互換性のあるコマンドに対応する他、コンテンツの著作権保護機能やSDカード固有のアプリケーションコマンドにも対応する。
MMCコントローラ116は、コマンド送信、レスポンス受信、データ送受信などの機能を持ち、従来MMC21−1とHS−MMC21−2を制御する。特に、SDカード20−1と互換性のあるコマンドに対応する他、HS−MMC固有のコマンドにも対応する。
カードソケット117は、SDカード20−1、SDIOカード20−2、従来MMC21−1に対応する他、バス幅8ビットのHS−MMC21−2にも対応する。
図2には、上記ホストシステム100における主要部の構成例が示される。
上記カードソケット117は、単一のカードソケットでありながら、互いに種類が異なる複数のメモリカードに対応し、対応するメモリカードが装着された祭に、当該メモリカードに接触可能な複数の内部端子を備える。上記互いに種類が異なる複数のメモリカードには、SDカードと、それとはプロトコル上の互換性を持つが、転送速度やセキュリティ機能の有無が互いに異なるメモリカード、例えばMMCが挙げられる。上記カードソケット117における複数の内部端子には、高電位側電源端子VDD、低電位側電源端子VSS1,VSS2、クロック端子CLK、ライトプロテクト端子WP、カード検出端子CD、及びデータ端子DAT0〜DAT7が含まれる。上記SDコントローラ113及び上記MMCコントローラ116には、それぞれ上記カードソケット117との間で各種信号のやり取りを可能とするための複数の端子が設けられている。例えば上記SDコントローラ113には、クロック端子SDCLK、コマンド端子SDCMD、データ端子SDDAT0〜SDDAT3、カード検出端子SDCD、及びライトプロテクト端子SDWPが設けられる。上記MMCコントローラ116には、クロック端子MMCCLK、コマンド端子MMCCMD、データ端子MMCDAT0〜MMCDAT7、及びカード検出端子MMCCDが設けられる。上記カードソケット117と、上記SDコントローラ113及び上記MMCコントローラ116とは、配線によって信号のやり取りが可能に結合される。上記配線には、クロック線201、コマンド線202、カードデータ線205,210、ライトプロテクト線211、カード検出線212、電源線213、GND(グランド)線214が含まれる。また、論理の安定化のためのプルアップ抵抗R1〜R11や、信号に含まれるノイズを低減するためのダンピング抵抗R12〜R20、電源回路に流れる過渡電流の急激な変化を防止するためのバイパスコンデンサC1が設けられる。上記コマンド線202に接続に結合されるプルアップ抵抗R1の抵抗値は10KΩ〜100KΩとされる。カードデータ線205,210に結合されるプルアップ抵抗R2〜R9の抵抗値は50KΩ〜100KΩとされる。カード検出線212とライトプロテクト線211に結合されるプルアップ抵抗R10とR11の抵抗値は、特に制限されないが、50KΩ〜100KΩとされる。上記ダンピング抵抗R12〜R20の抵抗値は、特に制限されないが、20Ω程度とされる。バイパスコンデンサC1の静電容量値は、特に制限されないが、0.1μF程度とされる。
上記SDコントローラ113と上記MMCコントローラ116との間で信号が競合する箇所には、単方向の選択回路S1や双方向の選択回路S2〜S6が設けられることで、信号伝達経路の切り替えが行われるようになっている。電源端子215、選択端子SSEL、データ方向端子DSELが設けられる。電源端子VCCには高電位側電源電圧が供給される。選択端子SSELの論理値によって、単方向の選択回路S1や双方向の選択回路S2〜S6による信号伝達経路の選択状態の切り替えが可能とされる。データ方向端子DSELの論理値によって、双方向の選択回路S2〜S6によるデータ伝達方向の切り替えが可能とされる。特に制限されないが、選択端子SSELやデータ方向端子DSELは、ホストシステム100における汎用端子が割り当てられ、CPU111によって当該端子の論理値が決定される。
上記クロック線201を介してSDコントローラ113のクロック端子SDCLKまたはMMCコントローラ116のクロック端子MMCCLKからカードソケット117のクロック端子CLKへのクロック信号の伝達が可能とされる。SDコントローラ113のクロック端子SDCLKと、MMCコントローラ116のクロック端子MMCCLKとは、単方向の選択回路S1を介して上記クロック線201に結合される。
上記コマンド線202を介して、SDコントローラ113のコマンド端子SDCMDまたはMMCコントローラ116のコマンド端子MMCCMDからカードソケット117のコマンド端子CMD端子へのコマンド伝達や、カードソケット117のコマンド端子CMDからSDコントローラ113のコマンド端子SDCMDまたはMMCコントローラ116のコマンド端子MMCCMDへのレスポンスの伝達が可能とされる。SDコントローラ113のコマンド端子SDCMDと、MMCコントローラ116のコマンド端子MMCCMDとは、双方向の選択回路S2を介してコマンド線202に結合される。上記コマンド及びレスポンスはクロック同期の信号で、その信号伝達経路は、双方向の選択回路S2によって選択される。
書き込み時、データがSDコントローラ113のデータ端子SDDAT0〜SDDAT3またはMMCコントローラ116におけるデータ端子MMCDAT0〜MMCDAT7からカードソケット117のデータ端子DAT0〜DAT3またはDAT0〜DAT7に転送される。データはクロック同期の信号で、SDコントローラ113のデータ端子SDDAT0〜SDDAT3からカードソケット117のデータ端子DAT0〜DAT3またはMMCコントローラ116のデータ端子MMCDAT0〜MMCDAT3からカードソケット117のデータ端子DAT0〜DAT3に転送されるデータに関しては、それぞれ双方向の選択回路S3〜S6で選択されるようになっている。
読み出し時、データがカードソケット117のデータ端子DAT0〜DAT3またはDAT0〜DAT7からSDコントローラ113のデータ端子SDDAT0〜SDDAT3またはMMCコントローラ116のデータ端子MMCDAT0〜MMCDAT7に転送される。データはクロック同期の信号で、カードソケット117のデータ端子DAT0〜DAT3からSDコントローラ113のデータ端子SDDAT0〜SDDAT3またはカードソケット117のデータ端子DAT0〜DAT3からMMCコントローラ116のデータ端子MMCDAT0〜MMCDAT3に転送されるデータに関しては、それぞれ双方向の選択回路S3〜S6で選択される。
メモリカードがソケット117に挿入された場合、カード検出端子CDがローレベルになり、SDコントローラ113のカード検出端子SDCDまたはMMCコントローラ116のカード検出端子MMCCDに伝えられる。カード検出端子CDはクロック非同期の信号で、その伝達経路には単方向の選択回路が介在されない。
ライトプロテクトされたSDカードがカードソケット117に挿入された場合、カードソケット117のライトプロテクト端子WPがローレベルになり、SDコントローラ113のライトプロテクト端子SDWPに伝えられる。
CPU111によってSDコントローラ113が選択された場合、選択端子SSELがハイレベルになり、それが単方向の選択回路S1と双方向の選択回路S2〜S6に伝えられる。CPU111によってMMCコントローラ116が選択された場合、選択端子SSELがローレベルになり、それが単方向の選択回路S1と双方向の選択回路S2〜S6に伝えられる。カードソケット117に装着されたメモリカードからデータを読み出す場合、データ方向端子DSELがハイレベルになり、それが双方向の選択回路S2〜S6に伝えられる。カードソケット117に装着されたメモリカードにデータを書き込む場合、データ方向端子DSELがローレベルになり、それが双方向の選択回路S2〜S6に伝えられる。
ホストシステムの電源端子215の電圧VCCは、グランド端子GNDの電圧VSSに比べて3.3V高い電圧とされる。電源端子215から供給された電圧VCCは、電源線213を経由してカードソケット117における高電位側電源端子VDDに伝達される。この電圧は、カードソケット117に装着されたメモリカードの動作用電源電圧とされる。グランド端子GNDはホストシステムのグランド電圧とする。カードソケット117の低電位側電源端子VSS1,VSS2は、上記グランド端子GNDに結合される。
図3には、上記単方向の選択回路S1の構成例が示される。
単方向の選択回路S1は、図3に示されるように、1個のノット回路NOT1、2個のアンド回路AND1,AND2、1個のオア回路OR1とが結合されて成る。端子1,2はそれぞれ対応するアンド回路AND1,AND2の一方の入力端子に結合される。2個のAND回路AND1,AND2の出力信号は、後段のオア回路OR1を介して端子3に伝達される。選択端子SSELから端子Sにハイレベルが伝えられた場合、アンド回路AND1が活性化されることで、端子1側の信号伝達経路が選択され、それによって、SDコントローラ113のクロック端子SDCLKと、カードソケット117のクロック端子CLKとの接続が有効になり、SDコントローラ113から、カードソケット117に装着されているメモリカードへのクロック信号の供給が可能とされる。また、選択端子SSELから端子Sにローレベルが伝えられた場合、アンド回路AND2が活性化されることで、端子2側の信号伝達経路が選択され、それによって、MMCコントローラ116のクロック端子MMCCLKと、カードソケット117のクロック端子CLKとの接続が有効になり、MMCコントローラ116から、カードソケット117に装着されているメモリカードへのクロック信号の供給が可能とされる。
図4には、上記双方向の選択回路S2〜S6の構成例が示される。
上記双方向の選択回路S2〜S6は互いに同一構成とされる。
双方向の選択回路S2〜S6はそれぞれ図4に示されるように3個のノット回路NOT2,NOT3,NOT4、7個のアンド回路AND3,AND4,AND5,AND6,AND7,AND8,AND9、1個のオア回路OR2とが結合されて成る。
選択端子SSELから端子Sにハイレベルが伝えられた場合、双方向の選択回路S2〜S6によって端子1側の信号伝達経路が選択される。そして、双方向の選択回路S2により、SDコントローラ113のコマンド端子SDCMDと、カードソケット117のコマンド端子CMDとの接続が有効になり、双方向の選択回路S3〜S6により、SDコントローラ113のデータ端子SDDAT0〜SDDAT3と、カードソケット117のデータ端子DAT0〜DAT3との接続が有効になる。これにより、SDコントローラ113と、カードソケット117に装着されたメモリカードとの間で、各種コマンドやデータのやり取りが可能とされる。
選択端子SSELから端子Sにローレベルが伝えられた場合、双方向の選択回路S2〜S6によって端子2側の信号伝達経路が選択される。そして、双方向の選択回路S2により、MMCコントローラ116のコマンド端子MMCCMDと、カードソケット117のコマンド端子CMDとの接続が有効になり、双方向の選択回路S3〜S6によりMMCコントローラ116のデータ端子MMCDAT0〜MMCDAT3と、カードソケット117のデータ端子DAT0〜DAT3との接続が有効になる。また、データ方向端子DSELから端子Dにハイレベルが伝えられた場合、端子3側から端子1側または端子2側への信号伝達が可能とされる。そして、データ方向端子DSELから端子Dにローレベルが伝えられた場合、端子1側または端子2側から端子3側への信号伝達が可能とされる。
次に、上記構成の動作について説明する。
図5には、図2に示される構成を採用した場合の上記CPU111での処理の流れが示される。
尚、従来MMC21−1及びHS−MMC21−2に対する動作は、カード判別までは同様であるので、ここでは両者を区別することなく、「MMC」と総称する。
CPU111の起動後、またはカードソケット117からのカード取り出し後、選択ソフトウェア114の実行によりMMCコントローラ113が選択されて起動される(S101)。
選択ソフトウェア114の実行により、選択端子SSELがロー(Low)レベルにされる(S102)。選択端子SSELがローレベルにされることで、MMCコントローラ116とカードソケット117との間の接続において、クロック端子MMCCLKとCLK、コマンド端子MMCCMDとCMD、データ端子MMCDAT0〜MMCDAT3とDAT0〜DAT3の接続が選択的に有効とされる。この状態でシステムは、カードソケット117へのメモリカードの挿入待ちの状態になる(S103)。メモリカード挿入の判定は、選択済みのMMCコントローラ116のカード検出レジスタが参照される。ここで、カード検出レジスタは、MMCコントローラ116のカード検出端子MMCCDの状態を反映したものとなる。
カードソケット117にメモリカードが挿入された場合、CPU111によってMMCコントローラ116が制御され、メモリカードに対して所定のコマンドCMD1が発行される(S104)。そして、CPU111において、メモリカードから上記CMD1に対する応答があるか否かの判定が行われる(S105)。ここで、コマンドCMD1はマルチメディアカード規格で定義されたコマンドで、カードソケット117に装着されているメモリカードがMMCであればコマンドCMD1に対して応答する。
コマンドCMD1に対する応答があった場合、カードソケット117に装着されているメモリカードはMMCであるため、CPU111によってMMCコントローラ116が制御されることで、マルチメディアカード規格に従ったカードアクセスが実行される(S106)。その後、メモリカードがカードソケット117から取り出されたか否かの判定が行われる(S107)。メモリカードが取り出された場合、システムはメモリカードの挿入待ちの状態(S103)に遷移される。また、メモリカードが取り出されない場合には、CPU111によってMMCコントローラ116が制御されることで、MMCアクセスが行われる(S106)。
上記ステップS105の判別において、メモリカードから上記コマンドCMD1に対する応答が無いと判断された場合には、CPU111によってSDコントローラ113が選択される(S108)。そして、CPU111によって選択端子SSELがハイ(High)レベルにされる(S109)。選択端子SSELがハイレベルにされることで、SDコントローラ113とカードソケット117との間の接続において、クロック端子SDCLKとCLK、コマンド端子SDCMDとCMD、データ端子SDDAT0〜SDDAT3とDAT0〜DAT3との接続が選択的に有効にされる。
そしてSDソフトウェア112がCPU111で実行されることでSDコントローラ113が制御され、メモリカードに対して所定のコマンドCMD5が発行される(S110)。そして、CPU111は、上記コマンドCMD5に対してメモリカードから応答があるか否かを判定する(S111)。ここで、上記コマンドCMD5は、SDIO規格で定義されたコマンドで、メモリカードがSDIOカードであれば、当該コマンドに対して応答するようになっている。メモリカードから上記コマンドCMD5に対する応答があった場合、当該メモリカードはSDIOであり、CPU111は、SDコントローラ113を制御することで、SDIO規格に従ってメモリカードにアクセスする(S112)。
その後、メモリカードがカードソケット117から取り出されたか否かの判定が行われる(S113)。メモリカードがカードソケット117から取り出された場合、上記ステップS101に戻り、CPU111によって選択ソフトウェア114が実行されることでMMCコントローラ116が選択される。また、上記ステップS113の判別において、メモリカードがカードソケット117から取り出されていないと判断された場合には、CPU111によってSDコントローラ113が制御されることでSDIOカードアクセスが行われる。
尚、SDIOカードをサポートしないシステムの場合、上記ステップS110〜S113の処理は省略される。
上記ステップS111の判別において、メモリカードから上記CMD5に対する応答がないと判断された場合には、CPU111はメモリカードに対してコマンドACMD41を発行する(S114)。
そして、CPU111は、メモリカードから上記コマンドACMD41に対する応答があるか否かの判別を行う(S115)。ここで、上記コマンドACMD41はSD規格で定義されたコマンドで、メモリカードがSDカードであれば当該コマンドACMD41に応答する。
ACMD41に対する応答があった場合、カードはSDカードであり、CPU111は、SDコントローラ113を制御することで、SD規格に従いメモリカードにアクセスする(S116)。
その後、カードが取り出されたか否かの判定が行われる(S117)。メモリカードが取り出された場合、上記ステップS101に遷移され、MMCコントローラ116が選択される。メモリカードが取り出されていない場合には、CPU111によってSDコントローラ113が制御されることでSDカードアクセスが行われる(S116)。
上記ステップS115の判別において、メモリカードから上記ACMD41に対する応答がないと判断された場合には、カードソケット117に現在装着されているメモリカードは、MMCでもSDカードでもなく、種別不明のカードのため、そのメモリカードがカードソケット117から取り出されるのを待つ。そしてそのメモリカードがカードソケット117から取り出された場合には、上記ステップS101に戻り、CPU111によって選択ソフトウェア114が実行されることでMMCコントローラ116が選択される。
上記の例によれば、以下の作用効果を得ることができる。
(1)SDコントローラ113及びMMCコントローラ116と、カードソケット117との間の接続と、図5に示される、CPU111での処理により、HS−MMCの制御が可能になる。また、カードソケット117は1個で足りるので、図11に示される構成のようにカードソケット14,17を搭載するのに比べて、カードソケット数を減少させることができる。
(2)上記(1)の作用効果により、ホストシステム100の小型化や製造コストの低減を図ることができる。
<実施の形態2>
図6には、上記ホストシステム100における主要部の別の構成例が示される。
図6に示される構成が、図2に示されるのと大きく相違するのは、カードソケット117として、SDカードと、それとはプロトコル上の互換性を持たないメモリカード例えばメモリスティック(登録商標)とに対応するものが適用され、また、MMCコントローラ116に代えてメモリスティックコントローラ(以下、「MSコントローラ」と略記)316が設けられている点である。メモリスティックはメモリカードの一例とされる。SDカードを制御するSDコントローラとメモリスティックを制御するMSコントローラ316の端子を、図7に示されるように割り当て、SDカードとメモリスティックとに対応するカードソケット117が使用されることで、プロトコル上では互換性を持たないSDカードとメモリスティックとに対応可能なホストシステムにおいても、カードソケット数とソケット内端子数を減少させることができる。本例においてホストシステム100は、図1に示されるようにCPU111と、そこで実行されるソフトウェアを含む。CPU111で実行されるソフトウェアには、MSコントローラ316の動作を制御するMSソフトウェアが含まれる。
上記カードソケット117は、SDカードに対応する端子として、データ端子SDDAT0〜SDDAT3、コマンド端子SDCMD、クロック端子SDCLK、ライトプロテクト端子SDWP、カード検出端子SDCD、高電位側電源端子SDVDD、低電位側電源端子SDVSSが設けられ、メモリスティックに対応する端子として、データ端子MSDATA0〜MSDATA3、クロック端子MSCLK、INS端子MSINS、バスステート端子MSBS、高電位側電源端子MSVDD、低電位側電源端子MSVSS1,MSVSS2が設けられる。
図6において、クロック線201が設けられ、クロック信号がSDコントローラ113のクロック端子SDCLKまたはMSコントローラ316のクロック端子MSCLKから上記クロック線201を介してカードソケット117のクロック端子SDCLKまたはMSCLKに伝達可能にされる。
コマンド線202が設けられ、SDカードがカードソケット117に装着されているとき、コマンドが上記コマンド線202を介してSDコントローラ113のコマンド端子SDCMDからカードソケット117のコマンド端子SDCMDに伝達可能とされ、また、レスポンスが上記コマンド線202を介してカードソケット117のコマンド端子SDCMDからSDコントローラ113のコマンド端子SDCMDに伝達可能とされる。また、メモリスティックがカードソケット117に装着されているときには、バスステート信号がコマンド線202を介してMSコントローラ316のバスステート端子MSBSからカードソケット117のバスステート端子MSBSに転送される。
カードデータ線205が設けられる。書き込み時、データがカードデータ線205を介してSDコントローラ113のデータ端子SDDAT0〜SDDAT3またはMSコントローラ316のデータ端子MSDAT0〜MSDAT3からカードソケット117のデータ端子SDDAT0〜SDDAT3またはMSDAT0〜MSDAT3に伝達可能とされる。また、読み出し時には、データがカードデータ線205を介してカードソケット117のデータ端子SDDAT0〜SDDAT3またはMSDAT0〜MSDAT3からSDコントローラ113のデータ端子SDDAT0〜SDDAT3またはMSコントローラ316のデータ端子MSDAT0〜MSDAT3に伝達可能とされる。
カード検出線212が設けられる。メモリカードがカードソケット117に装着された場合、カードソケット117のカード検出端子SDCDまたはINS端子MSINSがローレベルになる。そして、アンド回路AND10によりカード検出線212がローレベルにされ、その状態がSDコントローラ113のカード検出端子SDCDとMSコントローラ316のINS端子MSINSに伝達可能とされる。
ライトプロテクト線211が設けられる。ライトプロテクトされたSDカードがカードソケット117に装着された場合、カードソケット117のライトプロテクト端子SDWPがローレベルになり、それがライトプロテクト線211を介してSDコントローラ113のライトプロテクト端子SDWPに伝達可能とされる。
データ方向端子DSELが設けられ、メモリカードからデータを読み出す場合、CPU111によってデータ方向端子DSELがハイレベルにされ、それが双方向の選択回路S3〜S7に伝えられる。メモリカードにデータを書き込む場合、データ方向端子DSELがローレベルになり、それが双方向の選択回路S3〜S7に伝達される。ここで、データ方向端子DSELには、例えばホストシステム100の汎用端子が割り当てられる。
ホストシステム100の電源端子215に供給される高電位側電源電圧VCCは、ホストシステム100のグランド端子GNDの電圧VSSに比べて3.3V高い電圧とされる。この電源電圧が、カードソケット117の高電位側電源端子SDVDDとMSVDDに供給される。カードソケット117の低電位側電源端子SDVSS1、SDVSS2、MSVSS1、及びMSVSS2は、グランド線214介してグランド端子GNDに結合されることで、VSSレベルに等しくされる。
コマンド線202にはプルアップ抵抗R1が接続される。このプルアップ抵抗R1の抵抗値は10KΩ〜100KΩとされる。カードデータ線205にはプルアップ抵抗R2〜R5が接続される。このプルアップ抵抗R2〜R5の抵抗値は50KΩ〜100KΩとされる。カード検出線212とライトプロテクト線211にはプルアップ抵抗R6、R7、及びR8が接続される。このプルアップ抵抗R6、R7、及びR8の抵抗値は、特に制限されないが、50KΩ〜100KΩとされる。
SDカードがカードソケット117に装着された場合、選択端子SSELがハイ(High)レベルになり、それが選択回路S1〜S7に伝えられる。メモリスティックがカードソケット117に装着された場合、選択端子SSELがロー(Low)レベルになり、それが選択回路S1〜S7に伝えられる。ここで、選択端子SSELにはホストシステム100の汎用端子が割り当てられる。
単方向の選択回路S1,S2には、図3に示される構成のものを適用することができる。単方向の選択回路S1は、選択端子SSELから端子Sにハイレベルが伝えられた場合(SDカード接続時)、選択回路S1によって端子1側の信号伝達ラインが選択され、抵抗R1〜R5にVCCが接続される。そして、コマンド線とカードデータ線がプルアップされる。また、選択端子SSELから端子Sにローレベルが伝えられた場合(メモリスティック接続時)、選択回路S1が端子2側の信号伝達経路を選択し、抵抗R1〜R5にグランドGNDの電圧VSSが供給される。そして、コマンド線202とカードデータ線205がプルダウンされる。単方向の選択回路S2は選択端子SSELから端子Sにハイレベル伝えられた場合、端子S2が端子1側の信号伝達経路を選択し、SDコントローラ113のクロック端子SDCLKとカードソケット117のSDCLKの接続が有効になる。選択端子SSELから端子Sにローレベルが伝えられた場合、選択回路S2が端子2側を選択しMSコントローラのMSCLKとカードソケットのMSCLKの接続が有効になる。 双方向の選択回路S3〜S7には、図4に示される構成のものを適用することができる。選択端子SSELから端子Sにハイレベルが伝達された場合、双方向の選択回路S3〜S7によって端子1側の信号伝達経路が選択される。そして、双方向の選択回路S3によりSDコントローラ113のコマンド端子SDCMDとカードソケット117のコマンド端子SDCMDとの接続が有効になる。双方向の選択回路S4〜S7によりSDコントローラ316のデータ端子SDDAT0〜SDDAT3とカードソケット117のデータ端子SDDAT0〜SDDAT3の接続が有効になる。選択端子SSELから端子Sにローレベルが伝えられた場合、双方向の選択回路S3〜S7によって端子2側の信号伝達経路が選択される。そして、双方向の選択回路S3によりMSコントローラ316のバスステート端子MSBSとカードソケット117のバスステート端子MSBSとの接続が有効にされる。また、双方向の選択回路S4〜S7によりMSコントローラ316のデータ端子MSDAT0〜MSDAT3とカードソケット117のデータ端子MSDAT0〜MSDAT3の接続が有効になる。データ方向端子DSELから端子Dにハイレベルが伝えられた場合、信号が端子3側から端子1側または端子2側へ伝達される。データ方向端子DSELから端子Dにローレベルが伝えられた場合、信号が端子1側または端子2側から端子3側へ伝達される。
コマンド線とデータ線にはノイズ低減のためダンピング抵抗R9〜R13が挿入される。このダンピング抵抗R9〜R13の抵抗値は、特に制限されないが、20Ω程度とされる。
過渡電流の急激な変化を防止するためVCCとSDVSS1、及びVCCとSDVSS2間にバイパスコンデンサC1が挿入される。また、VCCとMSVSS1、及びVCCとVSS2間にバイパスコンデンサC2が挿入される。このバイパスコンデンサC2の静電容量値は、特に制限されないが、0.1μF程度とされる。
図7には、図6に示される構成を採用した場合の上記CPU111での処理の流れが示される。
CPU起動後、またはカード取り出し後、CPU111によってSDコントローラ113が選択的に起動される。
CPU111によって選択端子SSELがハイレベルにされる(S202)。選択端子SSELがハイレベルにされることで、図6のSDコントローラ113とカードソケット117との間の接続において、クロック端子SDCLKとクロック線201との接続が有効になり、コマンド端子SDCMDとコマンド線202との接続が有効になり、データ端子SDDAT0〜SDDAT3とカードデータ線205との接続が有効になる。また、コマンド線202とカードデータ線205がプルアップされる。
この状態でシステムは、カードソケット117へのメモリカードの挿入待ちの状態になる(S203)。メモリカード挿入の判定は、選択済みのSDコントローラ113のカード検出レジスタが参照される。ここで、カード検出レジスタはカード検出端子SDCDの状態を反映したものとなる。SDカードとメモリスティックのどちらかがカードソケット117に挿入されれば、SDCDがローレベルになるため、アンド回路AND10の出力論理、すなわち、カード検出線212の論理に基づいてメモリカード挿入の判定を行うことができる。
メモリカードがカードソケット117に挿入された場合、CPU111によってSDコントローラが制御されることでメモリカードに所定のコマンドCMD5を発行する(S204)。そしてメモリカードからCMD5に対する応答があるか否かの判定が行われる(S205)。ここで、CMD5はSDIO規格で定義されたコマンドで、メモリカードがSDIOカードであれば当該コマンドに応答するようになっている。コマンドCMD5に対する応答があった場合、メモリカードはSDIOカードである。その場合、CPU111は、SDコントローラ113を制御することで、SDIO規格に従い、SDIOカードにアクセスする。
その後、カードが取り出されたか否かの判定が行われる(S206)。SDIOカードが取り出された場合、上記ステップS203の判別に遷移される。SDIOカードが取り出されていない場合、上記ステップS206に遷移され、SDIOカードへのアクセスが可能とされる。
尚、SDIOカードをサポートしないシステムの場合、ステップS204〜S207の処理は省略される。
上記ステップS205の判別において、コマンドCMD5に対する応答がないと判断された場合、CPU111によりSDコントローラ113が制御されることで、メモリカードに所定のコマンドACMD41が発行される(S208)。そして、CPU111において、メモリカードから上記CMD1に対する応答があるか否かの判定が行われる(S209)。ここで、コマンドACMD41はSD規格で定義されたコマンドで、メモリカードがSDカードであれば当該コマンドに応答するようになっている。コマンドACMD41に対する応答があった場合、そのメモリカードはSDカードであるから、CPU111は、SDコントローラ113を制御することで、SD規格に従い、当該SDカードにアクセスする(S210)。そしてその後、メモリカードが取り出されたか否かの判定が行われる(S211)。メモリカードがカードソケット117から取り出された場合、上記ステップS201に遷移される。メモリカードがカードソケット117から取り出されていない場合、上記ステップS210に遷移され、SDカードへのアクセスが可能とされる。
上記ステップS209の判別において、コマンドACMD41に対する応答がないと判断された場合、CPU111はMSコントローラ316を選択する(S212)。
そしてCPU111は、ソケット選択端子のSSELをロー(Low)レベルにする(S213)。SSELがローレベルにされることで、MSコントローラ316とカードソケット117との間の接続において、コマンド端子MSCLKとクロック線201の接続が有効にされ、バスステート端子MSBSとコマンド線202の接続が有効にされ、データ端子MSDAT0〜MSDAT3とカードデータ線205との接続が有効にされる。また、コマンド線202とカードデータ線205がプルダウンされる。
そして、CPU111は、MSコントローラ316を制御することで、メモリカードに対してメモリスティックコマンドを発行する(S214)。ここで、発行されるメモリスティックコマンドは、例えばメモリスティックの初期化時に最初に発行する「SET R/W REG ADRS」コマンドとされる。
そして、CPU111は、上記メモリスティックコマンドに対する応答があるか否かを判定する(S215)。
上記メモリスティックコマンドに対する応答があった場合、カードはメモリスティックであるから、CPU111は、MSコントローラ316を制御することで、メモリスティック規格に従い、メモリスティックにアクセスする(S216)。そのアクセス後、メモリカード(メモリスティック)が取り出されたか否かの判定が行われる(S217)。メモリカード(メモリスティック)が取り出された場合、上記ステップS201に遷移される。メモリカード(メモリスティック)が取り出されない場合には、上記ステップS216に遷移され、メモリスティックへのアクセスが可能とされる。
上記ステップS215の判別において、メモリスティックコマンドに対する応答がない場合、カードソケット117に挿入されたカードはSDカードでもメモリスティックでもなく、種別不明のカードであるため、そのカードが取り出されるのを待つ。そのカードが取り出された場合に、上記ステップS201に遷移される。
上記例によれば、以下の作用効果を得ることができる。
(1)SDコントローラ113及びMSコントローラ316と、カードソケット117との間の接続と、図7に示される、CPU111での処理により、SDカードやメモリスティックの制御が可能になるので、単一のカードソケット117で、SDカードとメモリスティックとの使用が可能になる。また、SDカードとメモリスティックとに対応するホストシステム100においてカードソケット117は1個で足りるので、SDカード用のカードソケットとメモリスティック用のカードソケットとを別個に設けるのに比べて、カードソケット数を減少させることができる。
(2)上記(1)の作用効果により、ホストシステム100の小型化や製造コストの低減を図ることができる。
<実施の形態3>
図8には、上記ホストシステム100における主要部の別の構成例が示される。
図8に示される構成が、図2に示されるのと大きく相違するのは、カードソケット117がメモリスティックにも対応され(図6参照)、それに関連して配線や選択回路数が増え、さらにはMSコントローラ316が追加されている点である。図8に示されるMSコントローラ316は、図6に示されるのと同一機能を有し、CPU111によって動作制御される。それにより、互いにプロトコル上の互換性を持つ複数カード(例えば、SDカードとMMC)と、互いにプロトコル上の互換性を持たない複数カード(例えば、SDカードとメモリスティック)の同時制御を可能にしている。
尚、本例は、実施の形態1と実施の形態2とを組み合わせにかかるもので、以下の説明では、実施の形態1及び実施の形態2において既に説明した部分については、その詳細な説明を省略する。
選択端子SSEL1は実施の形態1における選択端子SSELと同様の機能を有する端子で、CPU111によって当該端子の論理レベルが制御される。すなわち、SDカード接続時にはCPU111によってハイレベルにされ、MMC接続時にはCPU111によってローレベルにされる。
選択端子SSEL2は、実施の形態2における選択端子SSELと同様の機能を有する端子で、CPU111によって当該端子の論理レベルが制御される。すなわち、SDカードまたはMMC接続時にはCPU111によってハイレベルにされ、メモリスティック接続時にはCPU111によってローレベルにされる。
単方向の選択回路S1は、実施の形態1における単方向の選択回路S1と同様の機能を有する回路で、選択端子SSEL1から端子Sにハイレベルが伝えられた場合、単方向の選択回路S1によって端子1側の信号伝達経路が選択され、それによってクロック端子SDCLKと選択回路S1の端子3側の信号伝達経路とが接続される。また、選択端子SSEL1から端子Sにローレベルが伝えられた場合、単方向の選択回路S1によって端子2側の信号伝達経路が選択され、それによってクロック端子MMCCLKと選択回路S1の端子3側の信号伝達経路とが接続される。
単方向の選択回路S2は、実施の形態2における単方向の選択回路S2と同様の機能を有する回路で、選択端子SSEL2から端子Sにハイレベルが伝えられた場合、単方向の選択回路S2によって端子1側の信号伝達経路が選択され、単方向の選択回路S1の端子3側の信号伝達経路と単方向の選択回路S2の端子3側の信号伝達経路とが接続される。また、選択端子SSEL2から端子Sにローレベルが伝えられた場合、単方向の選択回路S2によって端子2側の信号伝達経路が選択され、クロック端子MSCLKと単方向の選択回路S2の端子3側の信号伝達経路とが接続される。
単方向の選択回路S3は、実施の形態2の単方向の選択回路S1と同様の機能を有する回路で、単方向の選択回路S3は、選択端子SSEL2から端子Sにハイレベルが伝えられた場合、選択回路S3によって端子1側の信号伝達経路が選択され、抵抗R1〜R9に高電位側電源電圧VCCが供給される。そして、コマンド線202とカードデータ線205,210,216がプルアップされる。また、選択端子SSEL2から端子Sにローレベルが伝えられた場合、選択回路S3によって端子2側の信号伝達経路が選択され、抵抗R1〜R9に高電位側電源電圧VSSが接続される。そして、コマンド線202とカードデータ線205,210,216がプルダウンされる。
双方向の選択回路S4〜S8は、実施の形態1における双方向の選択回路S2〜S6と同様の機能を有する回路で、選択端子SSEL1から端子Sにハイレベルが伝えられた場合、双方向の選択回路S4〜S8によって端子1側の信号伝達経路が選択される。そして、双方向の選択回路S4によりコマンド端子SDCMDと双方向の選択回路S4の端子3側の信号伝達経路とが接続され、双方向の選択回路S5〜S8によりデータ端子SDDAT0〜SDDAT3と双方向の選択回路S5〜S8の端子3側の信号伝達経路とが接続される。また、選択端子SSEL1から端子Sにローレベルが伝えられた場合、双方向の選択回路S4〜S8によって端子2側の信号伝達経路が選択される。そして、双方向の選択回路S4によりコマンド端子MMCCMDと双方向の選択回路S4の端子3側の信号伝達経路とが接続され、双方向の選択回路S5〜S8によりデータ端子MMCDAT0〜MMCDAT3と双方向の選択回路S5〜S8の端子3側の信号伝達経路とが接続される。
双方向の選択回路S9〜S13は、実施の形態2における双方向の選択回路S4〜S7と同様な機能を有する回路で、選択端子SSEL2から端子Sにハイレベルが伝えられた場合、双方向の選択回路S9〜S13が端子1側の信号伝達経路を選択する。そして、双方向の選択回路S9により双方向の選択回路S4の端子3側の信号伝達経路と双方向の選択回路S9の端子3側の信号伝達経路とが接続され、双方向の選択回路S5〜S8によりデータ端子SDDAT0〜SDDAT3またはMMCDAT0〜MMCDAT3と双方向の選択回路S5〜S8の端子3側の信号伝達経路とが接続される。また、選択端子SSEL2から端子Sにローレベルが伝えられた場合、双方向の選択回路S9〜S13によって端子2側の信号伝達経路が選択される。そして、双方向の選択回路S9によりバスステート端子MSBSとS9の端子3側の信号伝達経路とが接続され、双方向の選択回路S5〜S8によりデータ端子MSDAT0〜MSDAT3と双方向の選択回路S5〜S8の端子3側の信号伝達経路とが接続される。
図9には、図8に示される構成を採用した場合の上記CPU111での処理の流れが示される。
尚、SDIOカードをサポートしないものとして説明するが、実施の形態1及び実施の形態2と同様にSDIOカードをサポートするように構成しても良い。
CPU111の起動後、またはカードソケット117からのカード取り出し後、選択ソフトウェア114の実行によりMMCコントローラ113が選択されて起動される(S301)。
CPU111は、選択端子SSEL1をローレベルにし、選択端子SSEL2をハイレベルにする。選択端子SSEL1をローレベル、選択端子SSEL2をハイレベルにすることで、MMCコントローラ116とカードソケット117との間の接続において、クロック端子MMCCLKとクロック線201、コマンド端子MMCCMDとコマンド線202、データ端子MMCDAT0〜MMCDAT3とカードデータ線205との接続を有効にする。また、コマンド線202とカードデータ線205がプルアップされる。この状態でシステムは、カードソケット117へのメモリカードの挿入待ちの状態になる(S303)。メモリカード挿入の判定は、選択済みのMMCコントローラ116のカード検出レジスタが参照される。ここで、カード検出レジスタは、MMCコントローラ116のカード検出端子MMCCDの状態を反映したものとなる。
カードソケット117にメモリカードが挿入された場合、CPU111によってMMCコントローラ116が制御され、メモリカードに対して所定のコマンドCMD1が発行される(S304)。そして、CPU111において、メモリカードから上記CMD1に対する応答があるか否かの判定が行われる(S305)。ここで、コマンドCMD1はマルチメディアカード規格で定義されたコマンドで、カードソケット117に装着されているメモリカードがMMCであればコマンドCMD1に対して応答する。
コマンドCMD1に対する応答があった場合、カードソケット117に装着されているメモリカードはMMCであるため、CPU111によってMMCコントローラ116が制御されることで、マルチメディアカード規格に従ったカードアクセスが実行される(S306)。その後、メモリカードがカードソケット117から取り出されたか否かの判定が行われる(S307)。メモリカードが取り出された場合、システムはメモリカードの挿入待ちの状態(S303)に遷移される。また、メモリカードが取り出されない場合には、CPU111はMMCコントローラ116を制御することで、カードアクセスが可能になる(S106)。
上記ステップS305の判別において、メモリカード117から上記コマンドCMD1に対する応答が無いと判断された場合には、CPU111によってSDコントローラ113が選択される(S308)。そして、CPU111によって選択端子SSEL1がハイレベルにされ、選択端子SSEL2がハイレベルにされる(S309)。選択端子SSEL1がハイレベルにされ、選択端子SSEL2がハイレベルにされることで、SDコントローラ113とカードソケット117との間の接続において、クロック端子SDCLKとクロック線201、コマンド端子SDCMDとコマンド線202、データ端子SDDAT0〜SDDAT3とカードデータ線205との接続が有効にされる。また、コマンド線202とカードデータ線205がプルアップされる。
CPU111によってSDコントローラ113が制御され、メモリカードに対してコマンドACMD41が発行される(S310)。そして、CPU111において、コマンドACMD41に対する応答があるか否かの判定が行われる(S311)。ここで、コマンドACMD41はSD規格で定義されたコマンドで、カードソケット117に装着されているメモリカードがSDカードであればコマンドACMD41に対して応答する。
コマンドACMD41に対する応答があった場合、カードソケット117に装着されているメモリカードはSDカードであるため、CPU111によってSDコントローラ113が制御されることで、SD規格に従ったカードアクセスが実行される(S312)。その後、メモリカードがカードソケット117から取り出されたか否かの判定が行われる(S313)。メモリカードが取り出された場合、システムはMMCコントローラ選択(S301)に遷移される。また、メモリカードが取り出されない場合には、CPU111によってSDコントローラ113が制御されることで、SDカードのアクセスが可能になる(S106)。
上記ステップS311の判別において、メモリカードから上記コマンドACMD41に対する応答が無いと判断された場合には、CPU111によってMSコントローラ316が選択される(S314)。そして、CPU111によって、選択端子SSEL2がローレベルにされる(S315)。選択端子SSEL2がローレベルにされることで、MSコントローラ316とカードソケット117との間の接続において、クロック端子MSCLKとクロック線201、バスステート端子MSBSとコマンド線202、データ端子MSDAT0〜MSDAT3とカードデータ線205の接続が有効にされる。また、コマンド線202とカードデータ線205がプルダウンされる。尚、選択端子SSEL1の状態は任意でよい。
CPU111はMSコントローラ316を制御することでメモリスティックコマンドを発行する(S316)。ここで、発行するメモリスティックコマンドは、例えばメモリスティックの初期化時に最初に発行する「SET R/W REG ADRS」コマンドとされる。
上記メモリスティックコマンドに対する応答があった場合、カードはメモリスティックであるから、CPU111は、MSコントローラ316を制御することで、メモリスティック規格に従い、メモリスティックにアクセスする(S318)。そのアクセス後、メモリカード(メモリスティック)が取り出されたか否かの判定が行われる(S319)。メモリカード(メモリスティック)が取り出された場合、上記ステップS301に遷移される。メモリカード(メモリスティック)が取り出されない場合には、上記ステップS318に遷移され、メモリスティックへのアクセスが可能とされる。
上記ステップS317の判別において、メモリスティックコマンドに対する応答がない場合、カードソケット117に挿入されたカードはMMC、SDカード、メモリスティックでもなく、種別不明のカードであるため、そのカードが取り出されるのを待つ。そのカードが取り出された場合に、上記ステップS301に遷移される。
上記例によれば、以下の作用効果を得ることができる。
(1)SDコントローラ113、MMCコントローラ116及びMSコントローラ316と、カードソケット117との間の接続と、図9に示される、CPU111での処理により、SDカードやMMC、さらにはメモリスティックの制御が可能になるので、単一のカードソケット117で、SDカード、MMC、及びメモリスティックの使用が可能になる。また、SDカード、MMC、及びメモリスティックに対応するホストシステム100においてカードソケット117は1個で足りるので、それぞれ専用のカードソケットを別個に設けるのに比べて、カードソケット数を減少させることができる。
(2)上記(1)の作用効果により、ホストシステム100の小型化や製造コストの低減を図ることができる。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明にかかるメモリカード制御装置の一例とされるホストシステムの構成例ブロック図である。 上記ホストシステムにおける主要部の構成例回路図である。 上記ホストシステムに含まれる単方向の選択回路の構成例回路図である。 上記ホストシステムに含まれる双方向の選択回路の構成例回路図である。 図2に示される構成を採用した場合の処理の流れを示すフローチャートである。 上記ホストシステムにおける主要部の別の構成例回路図である。 図6に示される構成を採用した場合の処理の流れを示すフローチャートである。 上記ホストシステムにおける主要部の別の構成例回路図である。 図8に示される構成を採用した場合の処理の流れを示すフローチャートである。 図1に示されるホストシステムの比較対象とされるものの構成例ブロック図である。 図1に示されるホストシステムの比較対象とされるものの構成例ブロック図である。
符号の説明
111 CPU
112 SDソフトウェア
113 SDコントローラ
114 選択ソフトウェア
115 MMCソフトウェア
116 MMCコントローラ
117 カードソケット
316 MSコントローラ
S1〜S13 選択回路

Claims (7)

  1. 互いに種類が異なる複数のメモリカードに対応する単一のカードソケットと、
    上記メモリカードの動作制御を可能とする複数のコントローラと、
    上記カードソケットと、上記複数のコントローラとの間の信号伝達経路を選択的に形成するための選択回路と、
    上記複数のコントローラのうち、上記カードソケットに装着されたメモリカードに対応するコントローラを選択的に上記メモリカードの動作制御に関与させるための処理を実行可能なCPUと、を含み、
    上記CPUで実行される処理には、上記カードソケットに装着されたカードに対して所定のコマンドを発行する第1処理と、
    上記第1処理で発行された所定コマンドに対して、上記カードソケットに装着されたカードから応答があるか否かを判別する第2処理と、
    上記第2処理での判別結果に応じて、上記コントローラの選択状態と上記選択回路による信号伝達経路の選択状態を切り替える第3処理と、が含まれることを特徴とするメモリカード制御装置。
  2. 上記選択回路は、上記複数のコントローラから上記カードソケットへの単方向の信号供給を可能とする信号伝達経路を選択的に形成するための第1選択回路と、
    上記複数のコントローラと上記カードソケットとの間で双方向のデータ伝達を可能とする信号伝達経路を選択的に形成するための第2選択回路と、を含む請求項1記載のメモリカード制御装置。
  3. 上記第1選択回路及び上記第2選択回路による信号伝達経路選択状態の切り替えを可能とする選択端子と、
    上記第2選択回路におけるデータ伝達方向の切り替えを可能とするデータ方向端子と、を含み、
    上記CPUは、上記第2処理での判別結果に応じて上記選択端子及び上記データ方向端子に制御信号を供給する請求項2記載のメモリカード制御装置。
  4. 上記カードソケットは、第1メモリカードと、上記第1メモリカードとはプロトコル上の互換性を持つが、転送速度やセキュリティ機能の有無が互いに異なる第2メモリカードとに対応し、
    上記複数のコントローラは、上記第1メモリカードの動作を制御可能な第1コントローラと、上記第2メモリカードの動作を制御可能な第2コントローラとを含む請求項1記載のメモリカード制御装置。
  5. 上記カードソケットは、第1メモリカードと、上記第1メモリカードとはプロトコル上の互換性を持たない第3メモリカードとに対応し、
    上記複数のコントローラは、上記第1メモリカードの動作を制御可能な第1コントローラと、上記第3メモリカードの動作を制御可能な第3コントローラとを含む請求項1記載のメモリカード制御装置。
  6. 上記カードソケットは、第1メモリカードと、上記第1メモリカードとはプロトコル上の互換性を持つが、転送速度やセキュリティ機能の有無が互いに異なる第2メモリカードと、上記第1メモリカード及び上記第2メモリカードとはプロトコル上の互換性を持たない第3メモリカードとに対応し、
    上記複数のコントローラには、上記第1メモリカードの動作を制御可能な第1コントローラと、上記第2メモリカードの動作を制御可能な第2コントローラと、上記第3メモリカードの動作を制御可能な第3コントローラとを含む請求項1記載のメモリカード制御装置。
  7. 上記第1メモリカードはSDカードを含み、上記第2メモリカードはマルチメディアカード(を含み、上記第3メモリカードはメモリスティックを含む請求項6記載のメモリカード制御装置。
JP2008101748A 2008-04-09 2008-04-09 メモリカード制御装置 Withdrawn JP2009252109A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008101748A JP2009252109A (ja) 2008-04-09 2008-04-09 メモリカード制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008101748A JP2009252109A (ja) 2008-04-09 2008-04-09 メモリカード制御装置

Publications (1)

Publication Number Publication Date
JP2009252109A true JP2009252109A (ja) 2009-10-29

Family

ID=41312728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008101748A Withdrawn JP2009252109A (ja) 2008-04-09 2008-04-09 メモリカード制御装置

Country Status (1)

Country Link
JP (1) JP2009252109A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194611A (ja) * 2011-03-14 2012-10-11 Fujitsu Component Ltd Kvmスイッチ及びプログラム
US8972716B2 (en) 2010-04-23 2015-03-03 Huawei Device Co., Ltd. Wireless internet access module, communication method for host and wireless internet access module, and data card
JP2016096974A (ja) * 2014-11-20 2016-05-30 株式会社ニューギン 遊技機
US9496635B2 (en) 2014-06-26 2016-11-15 Samsung Electronics Co., Ltd. Memory card indentification device, host device and memory card using the same

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972716B2 (en) 2010-04-23 2015-03-03 Huawei Device Co., Ltd. Wireless internet access module, communication method for host and wireless internet access module, and data card
US9003179B2 (en) 2010-04-23 2015-04-07 Huawei Device Co., Ltd. Wireless internet access module, communication method for host and wireless internet access module, and data card
US9092157B2 (en) 2010-04-23 2015-07-28 Huawei Device Co., Ltd. Wireless internet-accessing module, host, communication method thereof, and data card
US9110605B2 (en) 2010-04-23 2015-08-18 Huawei Device Co., Ltd. Wireless internet access module, communication method for host and wireless internet access module, and data card
US9146692B2 (en) 2010-04-23 2015-09-29 Huawei Device Co., Ltd. Wireless internet access module, communication method for host and wireless internet access module, and data card
JP2012194611A (ja) * 2011-03-14 2012-10-11 Fujitsu Component Ltd Kvmスイッチ及びプログラム
US9496635B2 (en) 2014-06-26 2016-11-15 Samsung Electronics Co., Ltd. Memory card indentification device, host device and memory card using the same
JP2016096974A (ja) * 2014-11-20 2016-05-30 株式会社ニューギン 遊技機

Similar Documents

Publication Publication Date Title
US8103817B2 (en) Systems for accessing memory card and methods for accessing memory card by a control unit
US7376773B2 (en) Multi-standard protocol storage devices and methods of operating the same
US7809866B2 (en) Double interface SD flash memory card
KR100764744B1 (ko) 호스트의 인터페이스 프로토콜을 판별하는 디바이스 그것을포함하는 아이씨카드
US6880024B2 (en) Control system for memory storage device having two different interfaces
US8769160B2 (en) Multi-interface memory card and method of operation
TWI259406B (en) A method and an apparatus of flash cards access
US7890690B2 (en) System and method for dual-ported flash memory
EP2040174B1 (en) Card-type peripheral device
JP3813849B2 (ja) カード装置
JP2008257506A (ja) 半導体装置
US7607585B2 (en) Integrated circuit device with multiple communication modes and operating method thereof
JP2009099528A (ja) 取り外し可能な電気的インタフェースデバイスのためのレセプタクル
TWI760615B (zh) 用於進行記憶裝置之寫保護指令之偵測控制的方法、控制晶片以及電子裝置
US20030116624A1 (en) Memory card reading device
EP1403814B1 (en) Electronic apparatus, information processing apparatus, adapter apparatus, and information exchange system
JP2010282617A (ja) 接続バス、電子装置及びシステム
JP2007299377A (ja) マルチマイクロメモリカードとそのインタフェース切替検知方法
JP2009252109A (ja) メモリカード制御装置
JP2005174337A (ja) メモリシステムおよびホストとメモリカードとの間のデータ伝送速度設定方法
US7287098B2 (en) Control method and electronic device enabling recognition of functions installed in the electronic device
CN112084073B (zh) 执行写保护指令的检测控制的方法、控制芯片和电子装置
JP2007066101A (ja) メモリコントローラ、不揮発性記憶装置及び不揮発性記憶システム
CN101676871A (zh) 嵌入式电子装置及其开机方法
KR20010063912A (ko) 마스터 및 슬레이브 기능 변환장치

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100527

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110705