(57)【要約】【課題】メモリカードとホスト装置との間の通信をより安全に行う。【解決手段】通信時の信号レベルが第１電圧である第１通信モードと、通信時の信号レベルが前記第１電圧よりも低い第２電圧であってデータの送受信に複数の信号ラインを用いる第２通信モードとを切り替えてメモリカード（２、２＿１、２＿２）と通信を行うことが可能なホスト装置（１）は、メモリカードから出力される信号の信号レベルを検出するとともに、メモリカードに対して所望のデータの送信を要求し、当該要求に応じてメモリカードから送信されたデータが期待されるデータであるか否かの判定を複数の信号ラインのうち一部の信号ラインを用いて行い、前記検出の結果と前記判定の結果とに基づいてメモリカードに設定された通信モードを判別する。【選択図】図１
2013214221.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性の記憶領域を有するメモリカードが装着され、通信時の信号レベルが第１電圧である第１通信モードと、通信時の信号レベルが前記第１電圧よりも低い第２電圧であってデータの送受信に複数の信号ラインを用いる第２通信モードとを切り替えて前記メモリカードと通信を行うことが可能なホスト装置であって、
前記メモリカードから出力される信号の信号レベルの検出を行うとともに、前記メモリカードに対して所望のデータの送信を要求し、前記要求に応じて前記メモリカードから送信されたデータが期待されるデータであるか否かの判定を前記複数の信号ラインのうち一部の信号ラインを用いて行い、前記検出の結果と前記判定の結果とに基づいて前記メモリカードに設定された通信モードを判別する判別処理を行うホスト装置。
【請求項２】
前記メモリカードから前記一部の信号ラインに出力されたデータが１ビットのシリアル形式のデータである場合には、前記期待されるデータであると判定し、そうでない場合には、前記期待されるデータでないと判定する請求項１に記載のホスト装置。
【請求項３】
前記メモリカードから出力される信号の信号レベルが前記第２電圧であることを検出し、且つ、前記メモリカードから送信されたデータが期待されるデータでないと判定した場合には、前記メモリカードに前記第２通信モードが設定されていると判別し、そうでない場合には、前記メモリカードに前記第１通信モードが設定されていると判別する請求項２に記載のホスト装置。
【請求項４】
前記判別処理は、前記第１通信モードから前記第２通信モードに切り替えるときに行われる請求項３に記載のホスト装置。
【請求項５】
前記第２通信モードは、転送速度の異なる複数の第３通信モードを含み、
前記判別処理は、前記第３通信モードから別の前記第３通信モードに切り替えるときに行われる請求項３に記載のホスト装置。
【請求項６】
前記判別処理は、前記記憶領域に対するデータの書き込み又は読み出しを行う直前に行われる請求項３に記載のホスト装置。
【請求項７】
前記判別処理は、前記メモリカードとの通信を開始するための初期設定を行うときに行われる請求項３に記載のホスト装置。
【請求項８】
前記信号レベルの検出は、双方向の通信が可能とされる複数の信号ラインのうち少なくとも１つの信号ラインに出力された信号について行われる請求項３に記載のホスト装置。
【請求項９】
不揮発性の記憶領域を有するメモリカードにアクセスするホスト装置のための半導体装置であって、
前記メモリカードと電気的に接続するための複数の外部端子と、
前記外部端子を介して信号の送受信を行うインターフェース部と、
前記インターフェース部に電圧を供給するレギュレータと、
前記メモリカードから出力される信号の信号レベルの検出を行う電圧検出部と、
前記メモリカードから出力されたデータが期待されるデータであるか否かの判定を行う判定部と、
前記電圧検出部による検出結果と前記判定部による判定結果とに基づいて前記メモリカードに設定されている通信モードを判別する判別処理を行うとともに、前記インターフェース部と前記レギュレータとを制御することにより、複数の通信モードで前記複数の外部端子を用いて前記メモリカードと通信を行う制御部と、を有し、
前記複数の外部端子は、前記メモリカードにおける前記記憶領域に対する書き込みデータの送信と読み出しデータの受信を行うための複数のデータ端子を含み、
前記複数の通信モードは、通信時の信号レベルが第１電圧である第１通信モードと、通信時の信号レベルが前記第１電圧よりも低い第２電圧であって前記複数のデータ端子を用いる第２通信モードとを含み、
前記判定部は、前記複数のデータ端子のうち一部のデータ端子に入力されたデータに基づいて前記判定を行い、
前記制御部は、通信を開始する前に、所望のデータの送信を前記インターフェース部を介して前記メモリカードに要求するとともに、前記判別処理を行う半導体装置。
【請求項１０】
前記判定部は、前記要求に応じて前記メモリカードから前記一部のデータ端子に入力されたデータが１ビットのシリアル形式のデータである場合には、前記期待されるデータであると判定し、そうでない場合には、前記期待されるデータでないと判定する請求項９に記載の半導体装置。
【請求項１１】
前記制御部は、前記電圧検出部により前記メモリカードから出力される信号の信号レベルが前記第２電圧であることが検出され、且つ、前記判定部により前記メモリカードから送信されたデータが期待されるデータでないと判定された場合には、前記メモリカードに前記第２通信モードが設定されていると判別し、そうでない場合には、前記メモリカードに前記第１通信モードが設定されていると判別する請求項１０に記載の半導体装置。
【請求項１２】
前記制御部は、前記第１通信モードから前記第２通信モードに切り替えるとき、前記所望のデータの送信を前記メモリカードに要求するともに、前記判別処理を行う請求項１１に記載の半導体装置。
【請求項１３】
前記第２通信モードは、転送速度の異なる複数の第３通信モードを含み、
前記制御部は、前記第３通信モードから別の前記第３通信モードに切り替えるとき、前記所望のデータの送信を前記メモリカードに要求するともに、前記判別処理を行う請求項１１に記載の半導体装置。
【請求項１４】
前記制御部は、前記メモリカードにおける前記記憶領域に対するデータの書き込み又は読み出しを行う直前に、前記所望のデータの送信を前記メモリカードに要求するともに、前記判別処理を行う請求項１１に記載の半導体装置。
【請求項１５】
前記制御部は、前記メモリカードとの通信を開始するための初期設定を行うとき、前記所望のデータの送信を前記メモリカードに要求するともに、前記判別処理を行う請求項１１に記載の半導体装置。
【請求項１６】
前記複数の外部端子は、前記メモリカードにコマンドを出力するとともに前記メモリカードからの前記コマンドに対するレスポンスを入力するためのコマンド端子を更に含み、
前記電圧検出部は、前記コマンド端子及び前記データ端子のうち少なくとも１つの端子に入力された信号に対して前記信号レベルの検出を行う、請求項１１に記載の半導体装置。
【請求項１７】
前記電圧検出部は、前記コマンド端子及び前記データ端子のうち少なくとも１つの端子に供給されたアナログ信号をディジタル値に変換し、変換したディジタル値に基づいて前記信号レベルの検出を行う請求項１６に記載の半導体装置。
【請求項１８】
前記電圧検出部は、前記コマンド端子及び前記データ端子のうち少なくとも１つの端子に入力された信号の電圧と、ディジタル信号のハイレベル又はローレベルを判別するための閾値電圧とを比較することにより、前記信号レベルの検出を行う請求項１６に記載の半導体装置。
【請求項１９】
不揮発性の記憶領域を有するメモリカードと、
通信時の信号レベルが第１電圧である第１通信モードと、通信時の信号レベルが前記第１電圧よりも低い第２電圧であってデータの送受信に複数の信号ラインを用いる第２通信モードとを切り替えて、装着された前記メモリカードと通信を行うホスト装置と、を有し、
前記ホスト装置は、前記メモリカードから出力される信号の信号レベルの検出を行うとともに、前記メモリカードに対して所望のデータの送信を要求し、前記要求に応じて前記メモリカードから送信されたデータが期待されるデータであるか否かの判定を前記複数の信号ラインのうち一部の信号ラインを用いて行い、前記検出の結果と前記判定の結果とに基づいて前記メモリカードに設定された通信モードを判別するメモリカードシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性の記憶領域を有するメモリカードにアクセスするためのホスト装置、前記ホスト装置のための半導体装置、及びメモリカードシステムに関し、特に、信号レベルの異なる複数の通信モードで通信が可能なホスト装置に適用して有効な技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータやディジタルカメラ等の外部記憶媒体として、ＳＤアソシエーションが標準化したＳＤカード（登録商標）等のメモリカードが広く用いられている。近年、メモリカードにおけるデータの書き込み及び読み出し速度の高速化の要求により、より高速な通信規格に対応したメモリカードが増えつつある。例えば、ＳＤカードでは、従来のデフォルトスピードモード（最大転送速度：１２．５ＭＢ／ｓ）及びハイスピードモード（２５ＭＢ／ｓ）に加え、高速規格のＵＨＳ−Ｉ（Ｕｌｔｒａ  Ｈｉｇｈ  Ｓｐｅｅｄ  １，５０ＭＢ／ｓ又は１０４ＭＢ／ｓ）に対応したメモリカードが増えつつある。ＵＨＳ−Ｉの中にも、通信速度やクロック周波数の異なる３つの通信モード（ＤＤＲ５０、ＳＤＲ５０、ＳＤＲ１０４）がある。ＵＨＳ−Ｉでは、メモリカードとホスト装置との間の送受信信号を従来のデフォルトスピードモードやハイスピードモードにおける信号振幅（３．３Ｖ）よりも低い信号振幅（１．８Ｖ）にして通信が行われる。以下、信号振幅が３．３Ｖである通信モードを３．３Ｖ通信モードと称し、信号振幅が１．８Ｖである通信モードを１．８Ｖ通信モードと称する。
【０００３】
ＵＨＳ−Ｉに対応したホスト装置及びメモリカードは、その他の規格との互換性を考慮し、３．３Ｖ通信モードにも対応している。例えば１．８Ｖ通信モード（ＵＨＳ−Ｉ）に対応したホスト装置は、３．３Ｖ通信モードのみに対応したメモリカードとの間で通信を行うことも考慮し、初めに３．３Ｖ通信モードで通信を開始する。そして、メモリカードが１．８Ｖ通信モードに対応していることが確認された場合には、１．８Ｖ通信モードに移行することができる。通信モードを切り替える場合、信号振幅のみならず、転送バス幅やクロック周波数等も所望の通信モードに対応した設定値に変更される。
【０００４】
１．８Ｖ通信モードへの移行は、ホスト装置からの１．８Ｖ通信モードへの移行の要求の発行と、その要求に対するメモリカードからの応答とに基づいて行うことが規格で定められている。例えば、ホスト装置が、メモリカードに対して１．８Ｖ通信モードへの切り替えを要求するコマンドを発行すると、メモリカードが、１．８Ｖ通信モードへの切り替えが可能であるか否かを示すレスポンスをホスト装置に対して出力し、そのレスポンスに基づいて１．８Ｖ通信モードへの移行の可否が決定される。
【０００５】
信号振幅の切り替えを安全に行うための従来技術として、例えば特許文献１に開示がある。特許文献１には、信号電圧を３．３Ｖから１．８Ｖに変更して通信を行う場合に、ホスト側に設けられた電圧比較回路によってレスポンス信号ラインの電圧レベルを物理的に検出し、レスポンス信号ラインが１．８Ｖに切り替わってから１．８Ｖでの通信を開始することにより、ホスト側とカード側の信号電圧の差によるＩ／Ｏセルの破壊を防止するホストデバイスが開示されている。また、特許文献１には、ホストデバイスから出力されるクロック信号ラインの電圧が１．８Ｖに切り替わったら、信号振幅を１．８Ｖにして通信を行うメモリカードが開示されている。
【０００６】
その他のメモリカードに関する従来技術として、例えば特許文献２乃至５に開示がある。特許文献２には、メモリカードが対応していない特定のクロックモードへ変更するコマンドがホスト装置から入力された場合には、エラーコードをホスト装置に出力するメモリカードが開示されている。特許文献３には、メモリカードから出力されたデータ信号の電圧レベルを検知して、そのデータ信号の駆動電圧レベルとホールドタイムを調整することにより、ホストの種類や特性に適したデータ信号を生成する技術が開示されている。特許文献４及び５には、ホスト装置からメモリカードに供給された電源電圧の大きさに応じて、メモリカード内の不揮発性メモリの駆動電圧を調整する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２５８７７３号公報
【特許文献２】特開２００９−１７６１３６号公報
【特許文献３】特開２００７−２０７２２９号公報
【特許文献４】特開２００５−７１３２５号公報
【特許文献５】特開２００５−１９６７５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述したように、ＳＤカードにおける１．８Ｖ通信モードへの移行は、ホスト装置からメモリカードに対する１．８Ｖ通信モードへの切り替えを要求するコマンドの発行と、そのコマンドに応じたメモリカードからのレスポンスに基づいて行われる。すなわち、現在の規格では、メモリカードが実際に１．８Ｖの振幅の信号を出力しているか否かを物理的に判断することなく、レスポンスの内容によってのみ１．８Ｖ通信モードへの移行が可能となっている。そのため、例えば１．８Ｖ通信モードへの移行が可能であることを示すレスポンスがメモリカードから出力されたが、実際にはメモリカード内のレギュレータの故障によりメモリカードが３．３Ｖの信号振幅でしか通信できない場合等であっても、ホスト装置とメモリカードとが異なる信号振幅で通信を開始してしまう可能性がある。信号振幅に差がある状態で通信が行われると、不所望なデータがメモリカードに書き込まれたり、ホスト装置又はメモリカードのインターフェース回路（Ｉ／Ｏセル）が破壊されたりする虞がある。
【０００９】
この問題を解決するために、例えば特許文献１のようにホスト装置がメモリカードの出力信号の信号レベルを検出する方法を採用することも有効である。しかしながら、出力信号の信号レベルだけを検知してメモリカードが１．８Ｖ通信モードに設定されているか否かを判別する方法では、以下のような構成のメモリカードでは問題が生ずる。例えば、多くのメモリカード（ＳＤカード）は、電源供給が遮断されたら、通信モードが初期値（３．３Ｖ通信モード）に戻るように構成されている。すなわち、電源供給が遮断されたら、メモリカードは３．３Ｖ通信モードに応じた転送バス幅及びクロック周波数の設定値にリセットされる。他方、メモリカードは、規格を満足していれば、カードベンダーが自由に機能を追加することができる。例えば、ホスト装置から出力される信号の信号レベルに応じて出力信号の信号振幅を切り替えるメモリカードも存在する。このようなメモリカードは、例えば、電源電圧の瞬断やその他の要因により、メモリカードが１．８Ｖ通信モードから３．３Ｖ通信モードにリセットされた場合、転送バス幅やクロック周波数は３．３Ｖ通信モードに対応した設定値に戻るが、ホスト装置の出力信号が１．８Ｖであれば信号振幅は１．８Ｖに調整される。この場合、ホスト装置が、メモリカードから出力される信号振幅（１．８Ｖ）のみによってメモリカードの通信モードが１．８Ｖ通信モードであると判断し、１．８Ｖ通信モードに応じた転送バス幅やクロック周波数で通信を行うと、通信が停止してしまったり、不所望なデータがメモリカードに書き込まれてしまったりする虞があり、安全に通信を行うことができない。
【００１０】
このような課題を解決するための手段等を以下に説明するが、その他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記のとおりである。
【００１２】
すなわち、ホスト装置は、第１通信モードよりも通信時の信号レベルが低い第２通信モードで通信を行うとき、メモリカードから出力される信号の信号レベルの検出を行うとともにメモリカードに対して所望のデータの送信を要求し、要求に応じてメモリカードから送信されたデータが期待されるバス幅で送信されたか否かの判定を行うことによりメモリカードに設定された通信モードを判別する。
【発明の効果】
【００１３】
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１４】
すなわち、メモリカードとそのホスト装置との間の通信の安全性を高めることにある。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施の形態１に係る、メモリカードとメモリカードにアクセスするためのホスト装置とから成るメモリカードシステムを例示するブロック図である。
【図２】図２は、メモリカード２＿１の内部構成を例示するブロック図である。
【図３】図３は、メモリカード２＿２の内部構成を例示するブロック図である。
【図４】図４は、ホスト装置１とメモリカード２との初期接続後に３．３Ｖ通信モードから１．８Ｖ通信モードへ切り替わるときの処理手順を例示するフロー図である。
【図５】図５は、バステストの処理手順を例示するフロー図である。
【図６】図６は、１．８Ｖ通信モードから３．３Ｖ通信モードに切り替わる場合の処理手順を例示するフロー図である。
【図７】図７は、メモリカードに対するデータの書き込み又は読み出しを行う場合の処理手順を例示するフロー図である。
【図８】図８は、１．８Ｖ通信モードから別の１．８Ｖ通信モードに切り替える場合の処理手順を例示するフロー図である。
【図９】図９は、実施の形態２に係る、メモリカードとメモリカードにアクセスするためのホスト装置とから成るメモリカードシステムを例示するブロック図である。
【発明を実施するための形態】
【００１６】
１．実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１７】
〔１〕（電圧検出とバステストによりメモリカードの通信モードの判別を行うホスト装置）
本願の代表的な実施の形態に係るホスト装置（１）は、不揮発性の記憶領域（２５）を有するメモリカード（２、２＿１、２＿２）が装着され、通信時の信号レベルが第１電圧（３．３Ｖ）である第１通信モード（３．３Ｖ通信モード）と、通信時の信号レベルが前記第１電圧よりも低い第２電圧（１．８Ｖ）であってデータの送受信に複数の信号ライン（ＤＡＴ０〜ＤＡＴ３）を用いる第２通信モード（１．８Ｖ通信モード）とを切り替えて前記メモリカードと通信を行うことが可能とされる。前記ホスト装置は、前記メモリカードから出力される信号の信号レベルの検出を行うとともに、前記メモリカードに対して所望のデータの送信を要求し、前記要求に応じて前記メモリカードから送信されたデータが期待されるデータであるか否かの判定を前記複数の信号ラインのうち一部の信号ライン（ＤＡＴ０）を用いて行う。更に前記ホスト装置は、前記検出の結果と前記判定の結果とに基づいて前記メモリカードに設定された通信モードを判別する判別処理を行う。
【００１８】
これによれば、前記信号レベルの検出のみならず前記判定も行うから、前記メモリカードに設定されている通信モードをより精度良く判別することができる。これにより、メモリカードとホスト装置の通信モードが相違した状態で通信が開始されてしまうことを回避することができ、通信の安全性をより高めることができる。特に、ホスト装置から出力される信号の信号レベルに応じて出力信号の信号振幅を切り替える機能を備えるメモリカードと通信する場合に有効である。例えば、このようなメモリカードの場合、ホスト装置と信号振幅は一致しているが転送バス幅が不一致となる可能性があるが、項１のホスト装置によれば、前記検出に加え、前記判定も行うから、このようなメモリカードに対しても通信の安全性を高めることができる。
【００１９】
〔２〕（バステストの詳細）
項１のホスト装置において、前記メモリカードから前記一部の信号ラインに出力されたデータが１ビットのシリアル形式のデータである場合には、前記期待されるデータであると判定し、そうでない場合には、前記期待されるデータでないと判定する。
【００２０】
前記メモリカードに複数の信号ラインを用いて通信を行う前記第２通信モードが設定されている場合、前記メモリカードから複数の信号ラインを用いてデータが送信されるため、メモリカードから出力されるデータは１ビットのシリアル形式のデータではない。したがって、項２のホスト装置によれば、メモリカードに設定されている転送バス幅を容易に判別することができる。
【００２１】
〔３〕（通信モードの判別）
項２のホスト装置において、前記メモリカードから出力される信号の信号レベルが前記第２電圧であることを検出し、且つ、前記メモリカードから送信されたデータが期待されるデータでないと判定した場合には、前記メモリカードに前記第２通信モードが設定されていると判別し、そうでない場合には、前記メモリカードに前記第１通信モードが設定されていると判別する。
【００２２】
これによれば、前記メモリカードに前記第２通信モードが設定されているか否かを容易に判別することができる。
【００２３】
〔４〕（バステストを行うタイミング１：１．８Ｖ通信モードに切り替えるとき（図４））
項２又は３のホスト装置において、前記判別処理は、前記第１通信モードから前記第２通信モードに切り替えるときに行われる。
【００２４】
これによれば、メモリカードとホスト装置の通信モードが相違する可能性の高い状況で前記判定を行うから、通信の安全性をより高めることができる。
【００２５】
〔５〕（バステストを行うタイミング２：別の高速通信モードに切り替えるとき（図８））
項２乃至４の何れかのホスト装置において、前記第２通信モードは、転送速度の異なる複数の第３通信モードを含み、前記判別処理は、前記第３通信モードから別の前記第３通信モードに切り替えるときに行われる。
【００２６】
これによれば、前記第１通信モードから前記第２通信モードに切り替わる場合だけでなく、第３通信モードから別の第３通信モードに変更する場合にも前記判定を行うから、通信の安全性をより高めることができる。
【００２７】
〔６〕（バステストを行うタイミング３：データの書き込み／読み出しを行う直前（図７））
項２乃至５の何れかのホスト装置において、前記判別処理は、前記記憶領域に対するデータの書き込み又は読み出しを行う直前に行われる。
【００２８】
これによれば、例えば、メモリカードに対する一連のアクセスが一旦終了した後にアクセスを再開する場合、アクセスを再開する直前に前記判別処理が行われるから、一連のアクセスが終了した後に何らかの原因でメモリカードの通信モードが変更されてしまったとしても、通信の安全を確認した上で通信を再開することができる。
【００２９】
〔７〕（バステストを行うタイミング４：初期接続時（図４））
項２乃至６の何れかのホスト装置において、前記判別処理は、前記メモリカードとの通信を開始するための初期設定を行うときに行われる。
【００３０】
これによれば、より安全に通信を開始することができる。
【００３１】
〔８〕（電圧検出ライン：少なくとも１つの信号ラインの信号レベルを検出する）
項２乃至７の何れかのホスト装置において、前記信号レベルの検出は、双方向の通信が可能とされる複数の信号ラインのうち少なくとも１つの信号ラインに出力された信号について行われる。
【００３２】
これによれば、メモリカードの出力信号の信号振幅を容易に検出することができる。
【００３３】
〔９〕（電圧検出とバステストによりメモリカードの通信モードの判別を行う半導体装置）
本願の代表的な実施の形態に係る半導体装置（１２）は、不揮発性の記憶領域（２５）を有するメモリカード（２、２＿１、２＿２）にアクセスするホスト装置（１）のための半導体装置である。前記半導体装置は、前記メモリカードと電気的に接続するための複数の外部端子（１９＿１〜１９＿９）と、前記外部端子を介して信号の送受信を行うインターフェース部（１７）と、前記インターフェース部に電圧を供給するレギュレータ（１３）と、前記メモリカードから出力される信号の信号レベルの検出を行う電圧検出部（１６、（３４））と、前記メモリカードから出力されたデータが期待されるデータであるか否かの判定を行う判定部（１８）とを有する。更に前記半導体装置は、前記電圧検出部による検出結果と前記判定部による判定結果とに基づいて前記メモリカードに設定されている通信モードを判別する判別処理を行うとともに、前記インターフェース部と前記レギュレータとを制御することにより、複数の通信モードで前記複数の外部端子を用いて前記メモリカードと通信を行う制御部（１４、３４）を有する。前記複数の外部端子は、前記メモリカードにおける前記記憶領域に対する書き込みデータの送信と読み出しデータの受信を行うための複数のデータ端子（１９＿６〜１９＿９）を含む。また、前記複数の通信モードは、通信時の信号レベルが第１電圧（３．３Ｖ）である第１通信モード（３．３Ｖ通信モード）と、通信時の信号レベルが前記第１電圧よりも低い第２電圧（１．８Ｖ）であって前記複数のデータ端子（１９＿６〜１９＿９）を用いる第２通信モード（１．８Ｖ通信モード）とを含む。前記判定部は、前記複数のデータ端子のうち一部のデータ端子（１９＿６）に入力されたデータに基づいて前記判定を行う。更に、前記制御部は、通信を開始する前に、所望のデータの送信を前記インターフェース部を介して前記メモリカードに要求するとともに、前記判別処理を行う。
【００３４】
これによれば、項１と同様に、前記メモリカードに設定されている通信モードをより精度良く判別することができ、ホスト装置から出力される信号の信号レベルに応じて出力信号の信号振幅を切り替える機能を備えるメモリカードに対しても通信の安全性を高めることができる。
【００３５】
〔１０〕（バステストの詳細（図５））
項９の半導体装置において、前記判定部は、前記要求に応じて前記メモリカードから前記一部のデータ端子に入力されたデータが１ビットのシリアル形式のデータである場合には、前記期待されるデータであると判定し、そうでない場合には、前記期待されるデータでないと判定する。
【００３６】
これによれば、項２と同様に、メモリカードに設定されている転送バス幅を容易に判別することができる。
【００３７】
〔１１〕（通信モードの判別）
項１０の半導体装置において、前記制御部は、前記電圧検出部により前記メモリカードから出力される信号の信号レベルが前記第２電圧であることが検出され、且つ、前記判定部により前記メモリカードから送信されたデータが期待されるデータでないと判定された場合には、前記メモリカードに前記第２通信モードが設定されていると判別し、そうでない場合には、前記メモリカードに前記第１通信モードが設定されていると判別する。
【００３８】
これによれば、前記メモリカードに前記第２通信モードが設定されているか否かを容易に判別することができる。
【００３９】
〔１２〕（バステストを行うタイミング１：１．８Ｖ通信モードに切り替えるとき（図４））
項１０又は１１の半導体装置において、前記制御部は、前記第１通信モードから前記第２通信モードに切り替えるとき、前記所望のデータの送信を前記メモリカードに要求するともに、前記判別処理を行う。
【００４０】
これによれば、項４と同様に、通信の安全性をより高めることができる。
【００４１】
〔１３〕（バステストを行うタイミング２：別の高速通信モードに切り替えるとき（図８））
項１０乃至１２の何れかの半導体装置において、前記第２通信モードは、転送速度の異なる複数の第３通信モード（ＳＤＲ１０４、ＳＤＲ５０等）を含み、前記制御部は、前記第３通信モードから別の前記第３通信モードに切り替えるとき、前記所望のデータの送信を前記メモリカードに要求するともに、前記判別処理を行う。
【００４２】
これによれば、項５と同様に、通信の安全性をより高めることができる。
【００４３】
〔１４〕（バステストを行うタイミング３：データの書き込み／読み出しを行う直前（図７））
項１０乃至１３の何れかの半導体装置において、前記制御部は、前記メモリカードにおける前記記憶領域に対するデータの書き込み又は読み出しを行う直前に、前記所望のデータの送信を前記メモリカードに要求するともに、前記判別処理を行う。
【００４４】
これによれば、項６と同様に、メモリカードに対する一連のアクセスが一旦終了した後にアクセスを再開する場合に、通信の安全を確認した上で通信を再開することができる。
【００４５】
〔１５〕（バステストを行うタイミング３：初期接続時（図４））
項１０乃至１４の何れかの半導体装置において、前記制御部は、前記メモリカードとの通信を開始するための初期設定を行うとき、前記所望のデータの送信を前記メモリカードに要求するともに、前記判別処理を行う。
【００４６】
これによれば、より安全に通信を開始することができる。
【００４７】
〔１６〕（電圧検出ライン：少なくとも１つの信号ラインの信号レベルを検出する）
項１０乃至１５の何れかの半導体装置において、前記複数の外部端子は、前記メモリカードにコマンドを出力するとともに前記メモリカードからの前記コマンドに対するレスポンスを入力するためのコマンド端子（１９＿５）を更に含む。また、前記電圧検出部は、前記コマンド端子及び前記データ端子のうち少なくとも１つの端子に入力された信号に対して前記信号レベルの検出を行う。
【００４８】
これによれば、メモリカードの出力信号の信号振幅を容易に検出することができる。
【００４９】
〔１７〕（検出部：ＡＤ変換）
項１０乃至１６の何れかの半導体装置において、前記電圧検出部は、前記コマンド端子及び前記データ端子のうち少なくとも１つの端子に供給されたアナログ信号をディジタル値に変換し、変換したディジタル値に基づいて前記信号レベルの検出を行う。
【００５０】
〔１８〕（検出部：マイコンのポート入力切替機能（図９））
項１０乃至１６の何れかの半導体装置（３０）において、前記電圧検出部（３４）は、前記コマンド端子及び前記データ端子のうち少なくとも１つの端子に入力された信号の電圧と、ディジタル信号のハイレベル又はローレベルを判別するための閾値電圧とを比較することにより、前記信号レベルの検出を行う。
【００５１】
〔１９〕（電圧検出とバステストによりメモリカードの通信モードの判別を行うメモリカードシステム）
本願の代表的な実施の形態に係るメモリカードシステム（１００、２００）は、不揮発性の記憶領域（２５）を有するメモリカード（２、２＿１、２＿２）と、通信時の信号レベルが第１電圧（３．３Ｖ）である第１通信モード（３．３Ｖ通信モード）と、通信時の信号レベルが前記第１電圧よりも低い第２電圧（１．８Ｖ）であってデータの送受信に複数の信号ライン（ＤＡＴ０〜ＤＡＴ３）を用いる第２通信モード（１．８Ｖ通信モード）とを切り替えて、装着された前記メモリカードと通信を行うホスト装置（１，３）と、を有する。前記ホスト装置は、前記メモリカードから出力される信号の信号レベルの検出を行うとともに、前記メモリカードに対して所望のデータの送信を要求し、前記要求に応じて前記メモリカードから送信されたデータが期待されるデータであるか否かの判定を前記複数の信号ラインのうち一部の信号ライン（ＤＡＴ０）を用いて行い、前記検出の結果と前記判定の結果とに基づいて前記メモリカードに設定された通信モードを判別する。
【００５２】
これによれば、項１と同様に、前記メモリカードに設定されている通信モードをより精度良く判別することができ、メモリカードシステムにおける通信の安全性を高めることができる。
【００５３】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００５４】
≪実施の形態１≫
図１は、本実施の形態に係る、メモリカードとメモリカードにアクセスするためのホスト装置とから成るメモリカードシステムを例示するブロック図である。同図に示されるホスト装置１は、装着された外部記憶装置としてのメモリカード２にアクセスし、メモリカード２に対するデータの書き込み及び読み出しを行う。ホスト装置１としては、例えばパーソナルコンピュータやディジタルカメラ、携帯音楽プレイヤー等である。アクセス対象とされるメモリカード２は、特に限定されないが、本明細書ではメモリカードをＳＤカードとして説明する。
【００５５】
ホスト装置１は、例えばデフォルトスピードモード（クロック周波数：５０ＭＨｚ、最大転送速度：１２．５ＭＢ／ｓ）、ハイスピードモード（クロック周波数：５０ＭＨｚ、２５ＭＢ／ｓ）、及び高速規格のＵＨＳ−Ｉに対応しており、何れかの通信モードでメモリカード２にアクセス可能とされる。前述したように、ＵＨＳ−Ｉは、ＤＤＲ５０モード（クロック周波数：５０ＭＨｚ、最大転送速度：５０ＭＢ／ｓ）、ＳＤＲ５０モード（クロック周波数：１００ＭＨｚ、最大転送速度：５０ＭＢ／ｓ）、ＳＤＲ１０４モード（クロック周波数：２０８ＭＨｚ、最大転送速度：１０４ＭＢ／ｓ）の３つの通信モードを含み、夫々のモードでの信号振幅は１．８Ｖであり、転送バス幅は４ビットである。一方、デフォルトスピードモード及びハイスピードモードにおける信号振幅は３．３Ｖであり、転送バス幅は１ビット又は４ビットが選択可能とされる。
【００５６】
ホスト装置１は、ホスト装置におけるシステム全般の動作を制御するシステムコントローラ１１と、メモリカード２にアクセスするためのカードコントローラ１２と、その他の図示されない機能ブロックとから構成される。特に制限されないが、システムコントローラ１１とカードコントローラ１２は、例えば公知のＣＭＯＳ集積回路の製造技術によって１個の単結晶シリコンのような半導体基板に形成された半導体集積回路装置１２によって実現され、例えば１チップのマイクロコントローラである。
【００５７】
カードコントローラ１２は、システムコントローラ１１からの指示に応じて、メモリカード２との間でデータの送受信を行い、メモリカード２内に設けられた不揮発性の記憶領域に対するデータの書き込みと読み出しを実現する。カードコントローラ１２は、メモリカード２と同様に、デフォルトスピードモード、ハイスピードモード、及びＵＨＳ−Ｉの高速通信モードに対応している。具体的には、カードコントローラ１２は、信号振幅を３．３Ｖ又は１．８Ｖに切り替えるとともに、転送バス幅及びクロック周波数を切り替えることで、所望の通信モードでメモリカード２と通信を行う。カードコントローラ１２は更に、通信対象のメモリカードに設定されている通信モードを判別する機能を備える。
【００５８】
カードコントローラ１２は、例えば、電源回路１３、制御部１４、通信モード情報保持部１５、電圧検出部１６、インターフェース部１７、及びバステスト部１８、及び外部端子１９＿１〜１９＿９（総称する場合は、単に外部端子１９と表記する。）から構成される。外部端子１９は、メモリカード２がホスト装置１に装着された状態でホスト装置１とメモリカード２とを電気的に接続するための端子である。外部端子１９＿１は、メモリカード２に電源電圧（例えば３．３Ｖ）を供給するための端子である。外部端子１９＿２、１９＿３は、メモリカード２にグラウンド電圧の供給するための端子である。外部端子１９＿４は、メモリカード２の動作クロックとなるクロック信号を供給するための端子である。外部端子１９＿５〜１９＿９は、メモリカード２と双方向通信を行うための端子である。例えば、外部端子１９＿５は、メモリカード２を制御するためのコマンド信号を送信するとともに、送信したコマンドに対するメモリカード２からのレスポンス信号を受信するためのコマンド端子であり、外部端子１９＿６〜１９＿９は、メモリカード２に対する書き込みデータや読み出しデータ等の転送対象のデータを送受信するためのデータ端子である。以下、外部端子１９＿１〜１９＿９と対応するメモリカード側の外部端子とが接続される信号経路を、電源ラインＶＤＤ、グラウンドラインＶＳＳ１、ＶＳＳ２、クロックラインＣＬＫ、コマンドラインＣＭＤ／ＲＥＳ、データラインＤＡＴ０〜ＤＡＴ３、と夫々表記する。
【００５９】
制御部１４は、カードコントローラ１２における各機能部の統括的な制御を行う。例えば、制御部１４は、システムコントローラ１１からのメモリカード２に対するアクセス要求に応じて、カードコントローラ１２における各機能部を制御することにより、メモリカード２に対するデータの書き込み及び読み出しを実現する。制御部１４は、例えば、ＣＰＵ等のプログラム処理装置がＲＯＭやＲＡＭ等に格納されたプログラムに従って処理を実行することにより実現される機能実現手段である。電源回路１３は、例えばレギュレータ回路を含んで構成され、制御部１４からの指示に応じて電源ラインＶＤＤ及びグラウンドラインＶＳＳ１、ＶＳＳ２を介してメモリカード２に電源電圧（３．３Ｖ）及びグラウンド電圧（０Ｖ）を供給するとともに、インターフェース部１７に電圧を供給する。インターフェース部１７に供給される電圧は３．３Ｖと１．８Ｖで切替え可能とされ、電源回路１３は制御部１４からの指示に応じて何れか一方の電圧をインターフェース部１７に供給する。インターフェース部１７は、メモリカード２との間で信号の送受信を行うための回路である。インターフェース部１７は、電源回路１３から供給された電圧に応じた信号振幅でデータの送信を行う。例えば、電源回路１３から３．３Ｖの電圧が供給された場合には、３．３Ｖの信号振幅でデータ（コマンド信号及びデータ信号）の送信を行い、１．８Ｖの電圧が供給された場合には、１．８Ｖの信号振幅でデータの送信を行う。また、インターフェース部１７は、制御部１４から指示された転送バス幅とクロック周波数でデータの送信を行う。例えば、転送バス幅として“４ビット”が指定された場合には、インターフェース部１７は、データラインＤＡＴ０〜ＤＡＴ３を用いてデータの送受信を行い、転送バス幅として“１ビット”が指定された場合には、例えばデータラインＤＡＴ０を用いてデータの送受信を行う。
【００６０】
通信モード情報保持部１５は、ホスト装置１の通信モードを示す情報等を格納するための記憶部であり、例えば書き換え可能なＲＯＭやＲＡＭ等から構成される。通信モード情報保持部１５に格納される通信モードを示す情報としては、例えば、信号振幅の情報、転送バス幅の情報、クロック周波数の情報等である。例えば、ホスト装置１がＵＨＳ−Ｉ規格のＳＤＲ５０モードでメモリカード２と通信を行う場合、制御部１４は、ＳＤＲ５０に応じた信号振幅、転送バス幅、及びクロック周波数等を電源回路１３及びインターフェース部１７に指示するとともに、指示した信号振幅、転送バス幅、及びクロック周波数等の情報を通信モード情報保持部１５に格納する。
【００６１】
電圧検出部１６は、メモリカード２から出力された信号の信号レベルを検出する。具体的には、電圧検出部１６は、双方向通信を行うための外部端子１９＿５乃至１９＿９に入力された信号の信号振幅が１．８Ｖであるか、３．３Ｖであるかを検出し、検出結果を制御部１４に与える。検出対象は、特に制限されないが、例えば外部端子１９＿５乃至１９＿９のうち少なくとも１つの端子に供給された信号であれば良い。例えば、外部端子１９＿５乃至１９＿９に入力された夫々の信号（レスポンス信号や各種データ信号）を検出対象としても良いし、外部端子１９＿５に入力されたレスポンス信号を検出対象としても良い。電圧検出部１６の具体的な構成は、上記の機能が実現される構成であれば、特に制限されない。例えば、基準電圧と入力信号とを比較し比較結果を出力するコンパレータ回路であっても良いし、外部端子１９＿５乃至１９＿９に入力されたアナログ信号をサンプリングし、ディジタル信号に変換するＡ／Ｄ変換部と、前記変換されたディジタル信号に基づいて電圧レベルを判定する判定部とから構成される回路であってもよい。
【００６２】
バステスト部１８は、メモリカード２からデータラインＤＡＴ０〜ＤＡＴ３に出力されたデータに基づいて、メモリカード２から所望のデータ形式でデータが送信されたか否かの判定（以下、「バステスト」と称する。）を行う。バステスト部１８は、特に制限されないが、例えばＣＰＵ等のプログラム処理装置がＲＯＭやＲＡＭ等に格納されたプログラムに従って処理を実行することにより実現される機能実現手段である。なお、バステストの詳細については後述する。
【００６３】
次に、ホスト装置１に装着されるメモリカードについて説明する。本実施の形態では、メモリカード２として、例えばメモリカード２＿１及びメモリカード２＿２がホスト装置１に装着される場合を例とする。
【００６４】
図２は、メモリカード２＿１の内部構成を例示するブロック図である。同図に示されるメモリカード２＿１は、デフォルトスピードモード、ハイスピードモード、及びＵＨＳ−Ｉに対応したＳＤカードである。メモリカード２＿１は、ホスト装置１から供給された３．３Ｖの電圧を電源として動作する。メモリカード２＿１は、設定された通信モードに応じて信号振幅を３．３Ｖと１．８Ｖとの間で切り替えるとともに、転送バス幅及びクロック周波数を切り替えて通信を行う。メモリカード２＿１は、例えば、レギュレータ部２１、制御部２２、通信モード情報保持部２３、インターフェース部２４、メモリ部２５、外部端子２６＿１〜２６＿９（総称する場合は、単に外部端子２６と表記する。）から構成される。外部端子２６は、ホスト装置１に装着された状態でホスト装置１と電気的に接続される。外部端子２６＿１は、ホスト装置１から電源電圧の供給を受けるための端子である。外部端子２６＿２、２６＿３は、ホスト装置１からグランウンド電圧の供給を受けるための端子である。外部端子２６＿４は、ホスト装置１からクロック信号の供給を受けるための端子である。外部端子２６＿５〜２６＿９は、ホスト装置１と双方向通信を行うための端子である。例えば、外部端子２６＿５は、ホスト装置１から出力されたコマンド信号を受信するとともに、受信したコマンド信号に対するレスポンス信号を送信するための端子であり、外部端子２６＿６〜２６＿９は、メモリ部２５に対する書き込みデータや読み出しデータ等の転送対象のデータを送受信するための端子である。制御部２２は、メモリカード２＿１における各機能部の統括的な制御を行う。例えば、制御部２２は、カードコントローラ１２から出力されたコマンド信号に応じてメモリカード２＿１における各機能部を制御することにより、メモリ部２５に対するデータの書き込み及び読み出しを実現する。メモリ部２５は、不揮発性の記憶領域を有する記憶装置であり、例えばフラッシュメモリである。レギュレータ部２１は、ホスト装置１から供給された電圧に基づいて内部電源を生成する。例えば、レギュレータ部２１は、ホスト装置１から供給された３．３Ｖの電源電圧から１．８Ｖの内部電源電圧を生成する。また、レギュレータ部２１は、制御部２２からの指示に応じて、ホスト装置１から供給された３．３Ｖの電圧と生成した１．８Ｖの電圧とを切り替えて出力する。インターフェース部２４は、ホスト装置１との間で信号の送受信を行うための回路である。インターフェース部２４は、レギュレータ部２１から出力された電圧に応じた信号振幅でデータの送信を行う。例えば、レギュレータ部２１の出力電圧が１．８Ｖである場合には、１．８Ｖの信号振幅でデータ（レスポンス信号及びデータ信号）を送信し、出力電圧が３．３Ｖである場合には、３．３Ｖの信号振幅でデータを送信する。また、インターフェース部２４は、制御部２２から指示された転送バス幅とクロック周波数でデータの送信を行う。例えば、転送バス幅として“４ビット”が指定された場合には、インターフェース部２４は、データラインＤＡＴ０〜ＤＡＴ３を用いてデータの送受信を行い、転送バス幅として“１ビット”が指定された場合には、例えばデータラインＤＡＴ０を用いてデータの送受信を行う。通信モード情報保持部２３は、メモリカード２＿１の通信モードを示す情報等を格納するための記憶部であり、例えば書き換え可能なＲＯＭやＲＡＭ等から構成される。通信モード情報保持部２３に格納される通信モードを示す情報としては、例えば、信号振幅の情報、転送バス幅の情報、クロック周波数の情報等である。例えば、ホスト装置１からコマンド信号によってＳＤＲ５０モードに対応した信号振幅、転送バス幅、及びクロック周波数等への変更が要求されると、制御部２２は、ＳＤＲ５０に応じた信号振幅、転送バス幅、及びクロック周波数等をレギュレータ部２１及びインターフェース部２４に指示するとともに、指示した信号振幅、転送バス幅、及びクロック周波数等の情報を通信モード情報保持部２３に格納する。特に制限されないが、本実施の形態では、メモリカード２＿１の通信モード情報保持部２３に“３．３Ｖ通信モード（例えばデフォルトスピードモード）”が初期設定されるものする。例えば、通信モード情報保持部２３に信号振幅として“３．３Ｖ”が初期設定され、転送バス幅として“１ビット”が初期設定されるものとする。また、ホスト装置１からの電源電圧（３．３Ｖ）の供給が遮断された場合、通信モードがリセットされ、初期設定（デフォルトスピードモード）に戻るものとする。
【００６５】
図３は、メモリカード２＿２の内部構成を例示するブロック図である。メモリカード２＿２は、メモリカード２＿１と同様に、デフォルトスピードモード、ハイスピードモード、及びＵＨＳ−Ｉに対応したＳＤカードである。なお、メモリカード２＿２は、メモリカード２＿１と同様に、“３．３Ｖ通信モード（例えばデフォルトスピードモード）”が初期設定されるものとし、例えば、通信モード情報保持部２３に信号振幅として“３．３Ｖ”が初期設定され、転送バス幅として“１ビット”が初期設定されるものとする。また、ホスト装置１からの電源電圧（３．３Ｖ）の供給が遮断された場合には、通信モードがリセットされ、初期設定（デフォルトスピードモード）に戻るものとする。
【００６６】
メモリカード２＿２は、ホスト装置の出力信号の信号振幅に合わせてメモリカードの出力信号の信号振幅を調整する機能を備える。具体的には、メモリカード２＿２は、前記メモリカード２＿１の各機能部に加え、更に電圧検出部２７を有する。電圧検出部２７は、双方向通信を行うための外部端子２６＿５乃至２６＿９に入力された信号の信号振幅が１．８Ｖであるか、３．３Ｖであるかを検出し、検出結果をレギュレータ部２８に与える。検出対象は、特に制限されないが、例えば外部端子２６＿５乃至２６＿９のうち少なくとも１つの端子に供給された信号であれば良い。例えば、外部端子２６＿５乃至２６＿９に入力された夫々の信号（コマンド信号や各種データ信号）を検出対象としても良いし、外部端子２６＿５に入力されたコマンド信号のみを検出対象としても良い。レギュレータ部２８は、電圧検出部２７による検出結果に応じてインターフェース部２４に供給する電圧を切り替える。すなわち、ホスト装置１からの出力信号が３．３Ｖである場合には、レギュレータ部２８は３．３Ｖをインターフェース部２４に供給し、ホスト装置１からの出力信号が１．８Ｖである場合には、レギュレータ部２８は１．８Ｖをインターフェース部２４に供給する。これにより、メモリカード２＿２から出力されるレスポンス信号やデータ信号の信号レベルは、通信モード情報保持部２３に設定された信号振幅の情報によらず、ホスト装置１から出力されるコマンド信号やデータ信号の信号レベルと一致するように制御される。例えば、メモリカード２＿２が１．８Ｖ通信モードから３．３Ｖ通信モードにリセットされた場合、通信モード情報保持部２３に設定された信号振幅の情報や転送バス幅、クロック周波数等の情報（論理層）は３．３Ｖ通信モードの設定値に戻るが、仮にこのときホスト装置の出力信号が１．８Ｖであったとすると、メモリカード２＿２から出力される信号の信号振幅は１．８Ｖに調整される。
【００６７】
次に、ホスト装置１とメモリカード２との通信手順について詳細に説明する。ホスト装置１とメモリカード２は、動的に通信モードを切り替えて通信を行うことができる。通信モードの切り替えに際し、ホスト装置１は、ＳＤカードの規格で定められたメモリカード２とのネゴシエーションに加え、通信を安全に行うために、メモリカード２に設定された通信モードを判別する処理を行う。ホスト装置１が通信モードの判別処理を行うタイミングとしては、例えば、メモリカード２が初期接続された場合、３．３Ｖ通信モードから１．８Ｖ通信モードへ切り替わる場合、１．８Ｖ通信モードから３．３Ｖ通信モードへ切り替わる場合、メモリカードに対するデータの書き込み及び読み出しが開始される場合、及び１．８Ｖ通信モードから別の１．８Ｖ通信モードへ切り替わる場合等を想定する。夫々の場合におけるホスト装置１とメモリカードの処理手順について、ホスト装置１にメモリカード２＿１又はメモリカード２＿２が装着された場合を例にして、図４〜８を用いて詳細に説明する。
【００６８】
図４は、ホスト装置１とメモリカード２との初期接続後に、３．３Ｖ通信モードから１．８Ｖ通信モードへ切り替わるときの処理手順を例示するフロー図である。同図は、装着されるメモリカード２がメモリカード２＿１である場合を例とし、メモリカード２＿１がホスト装置１に装着されてから初期化処理（Ｉｎｉｔｉａｌｉｚａｔｉｏｎ）が開始されるまでの処理手順が例示される。
【００６９】
先ず、メモリカード２＿１がホスト装置１に装着されると、ホスト装置１及びメモリカード２＿１の通信モードは３．３Ｖ通信モードに設定される（Ｓ１０１）。例えば、ホスト装置１の通信モード情報保持部１５及びメモリカード２＿１の通信モード情報保持部２３に、デフォルトスピードモードに応じた信号振幅、転送バス幅、及びクロック周波数等の情報が設定されるとともに、電源回路１３から３．３Ｖの電圧が出力され、レギュレータ部２１から３．３Ｖの電圧が出力される。次に、ホスト装置１は、メモリカード２＿１から出力される信号の信号レベルを検出する（Ｓ１０２）。例えば、ホスト装置１は、メモリカード２＿１とのファーストコマンドプロトコルにおいて、メモリカード２＿１から出力された信号の信号レベルを電圧検出部１６によって検出する。その後、ホスト装置１はバステストを実行する（Ｓ１０３）。
【００７０】
図５にバステストの処理手順を例示する。同図に示されるように、先ず、ホスト装置１における制御部１４は、４つのデータラインＤＡＴ０〜ＤＡＴ３のうち一部のデータラインをデータ入力用の信号ラインに設定する（Ｓ２０１）。例えば、制御部１４は、外部端子１９＿６（データラインＤＡＴ０）をデータ入力用の端子として１ビットのシリアル通信モードでデータの受信が可能となるように、インターフェース部１７を制御する。次に、制御部１４は、メモリカード２＿１に対して固定データの送信を要求する（Ｓ２０２）。前記固定データは、ホスト装置１が予めデータの内容がわかっているものであれば良く、例えばマスターブートレコード（ＭＢＲ）等である。例えば、制御部１４は、マスターブートレコード（ＭＢＲ）の送信を要求するコマンド信号の出力をインターフェース部１７に指示し、インターフェース部１７がその指示に応じてコマンド信号を送信する。なお、このときのコマンド信号の信号振幅は３．３Ｖである。
【００７１】
メモリカード２＿１は、上記コマンド信号によって要求されたデータをメモリ部２５から読み出し、ホスト装置１に送信する（Ｓ２０３）。このとき、メモリカード２＿１は、通信モード情報保持部２３に設定された通信モードに従ってデータを送信する。例えば、メモリカード２＿１の転送バス幅として４ビットが設定されている場合に、ホスト装置１から“０ｘＣ（１６進数）”の固定データの送信を要求されると、メモリカード２＿１は以下のようにデータを送信する。例えば、要求されたデータ“０ｘＣ（１６進数）”は２進数で“１１００”であるので、メモリカード２＿１は、データラインＤＡＴ０に“１”、データラインＤＡＴ１に“１”、データラインＤＡＴ２に“０”、データラインＤＡＴ３に“０”を夫々出力する。一方、メモリカード２＿１の転送バス幅として１ビットが設定されている場合には、メモリカード２＿１は、１つのデータラインを用いてシリアル形式でデータを送信する。例えばデータラインＤＡＴ０に、“１”、“１”、“０”、“０”の順にシリアル形式でデータを送出する。
【００７２】
次に、ホスト装置１におけるバステスト部１８は、ステップ２０３でメモリカード２＿１から送信されたデータが、前記要求した固定データの期待値と一致するか否かを判定する判定処理を行う（Ｓ２０４）。具体的には、バステスト部１８は、ステップ２０１でデータ転送用に設定した一部のデータライン（上記例ではデータラインＤＡＴ０）上に出力されたデータを取得し、前記要求した固定データの期待値と一致するか否かを判定する。メモリカード２＿１の転送バス幅として“４ビット”が設定されている場合、上述したようにメモリカード２＿１は４つのデータラインＤＡＴ０〜ＤＡＴ３を用いてデータを送信（４ビットのパラレル形式でデータを送信）するため、データラインＤＡＴ０上のデータは前記要求した固定データの期待値（１ビットのシリアルのデータ）と一致しない。一方、メモリカード２＿１の転送バス幅として“１ビット”が設定されている場合、上述したようにメモリカード２＿１はデータラインＤＡＴ０を用いてデータを送信（１ビットのシリアル形式でデータを送信）するため、データラインＤＡＴ０上に出力されたデータは前記要求した固定データの期待値（１ビットのシリアルのデータ）と一致する。バステスト部１８は、データラインＤＡＴ０上に出力されたデータが前記要求した固定データの期待値と一致した場合には一致を示す信号を出力し、一致しなかった場合には不一致を示す信号を出力する（Ｓ２０５）。制御部１４は、一致・不一致を示す信号に基づいて、メモリカード２に設定された転送バス幅を判定する（Ｓ２０６）。例えば、制御部１４は、一致を示す信号がバステスト部１８から出力された場合には、メモリカード２の転送バス幅が“１ビット”であると判定し、不一致を示す信号がバステスト部１８から出力された場合には、メモリカード２の転送バス幅が“４ビット”であると判定する。以上、ステップ２０１〜２０４の処理手順に従ってバステストが実行される。
【００７３】
再び図４に戻り、ステップ１０４以降の処理について説明する。ステップ１０３でバステストが完了すると、ホスト装置１は、メモリカード２＿１に対して、１．８Ｖ通信モードに対応しているか否かを確認するコマンドを発行する（Ｓ１０４）。これは、ＳＤカードには３．３Ｖ通信モードでしか通信できないメモリカードも存在することを考慮し、通信の安全性を高めるためである。このコマンドを受け取ったメモリカード２＿１は、１．８Ｖ通信モードに対応しているか否かを示すレスポンスをホスト装置１に送信する（Ｓ１０５）。ホスト装置１は、１．８Ｖ通信モードに対応していないことを示すレスポンスを受信した場合には、３．３Ｖ通信モードの初期化処理に移行する（Ｓ１１７）。一方、１．８Ｖ通信モードに対応していることを示すレスポンスを受信した場合には、ホスト装置１は、メモリカード２＿１に対し信号振幅を１．８Ｖに変更することを要求するコマンドを送信する（Ｓ１０６）。メモリカード２＿１は、当該コマンドに対するレスポンスをホスト装置１に送信する（Ｓ１０７）。例えば、メモリカード２＿１の制御部２２は、信号振幅を１．８Ｖに切り替えることが可能な場合には、その旨を示すレスポンスをホスト装置１に送信する。一方、信号振幅を１．８Ｖに切り替えることが不可能である場合、又は、すでに信号振幅が１．８Ｖに設定されている場合には、制御部２２は、現在の信号振幅で通信を行うことを示すレスポンスをホスト装置１に送信する。
【００７４】
ホスト装置１は、現在の信号振幅で通信を行うことを示すレスポンスを受信した場合には、３．３Ｖ通信モードの初期化処理に移行する（Ｓ１１７）。一方、信号振幅の変更が可能であることを示すレスポンスを受信した場合には、ホスト装置１は、信号振幅を１．８Ｖに変更することを指示するコマンドをメモリカード２＿１に対して送信する（Ｓ１０８）。当該コマンドを受信したメモリカード２＿１は、１．８Ｖ通信モードに対応した信号振幅、転送バス幅、及びクロック周波数等の情報を通信モード情報保持部２３に設定するとともに、当該コマンドを正常に受け付けたことを示すレスポンスをホスト装置１に送信する（Ｓ１０９）。例えば、制御部２２は、１．８Ｖ通信モードに応じた信号振幅、転送バス幅、及びクロック周波数等の情報を通信モード情報保持部２３に設定し、コマンドを正常に受け付けたことを示すレスポンスをホスト装置１に送信する。その後、ホスト装置１とメモリカード２＿１は、例えばコマンドラインＣＭＤ／ＲＥＳとデータラインＤＡＴ０〜ＤＡＴ３を、一旦０Ｖ（グラウンドレベル）に設定する（Ｓ１１０）。そして、ホスト装置１における制御部１４は、電源回路１３を制御することにより、信号振幅の信号レベルを３．３Ｖから１．８Ｖに変更する（Ｓ１１１）。また、メモリカード２＿１における制御部２２は、レギュレータ部２１を制御することにより、信号振幅の信号レベルを３．３Ｖから１．８Ｖに変更する（Ｓ１１２）。これにより、ホスト装置１とメモリカード２＿１の双方の信号振幅が１．８Ｖになる（Ｓ１１３）。
【００７５】
その後、ホスト装置１は、メモリカード２＿１から出力される信号の信号レベルを検出する（Ｓ１１４）。例えば、ホスト装置１における電圧検出部１６は、メモリカード２＿１がデータラインの１本を１．８Ｖにドライブするタイミングで、当該データラインの電圧を検出する。次に、ホスト装置１は、バステストを実行する（Ｓ１１５）。バステストの処理手順は上記図５と同様である。
【００７６】
ホスト装置１は、ステップ１１４における信号レベルの検出結果とステップ１１５におけるバステストの判定結果とに基づいて、メモリカード２＿１に設定されている通信モードを判別する（Ｓ１１６）。例えば、信号レベルの検出結果が１．８Ｖであって、且つバステストの判定結果が４ビットであった場合には、制御部１４は、メモリカード２＿１に１．８Ｖ通信モードが設定されていると判別する。それ以外の場合には、制御部１４は、メモリカード２＿１に３．３Ｖ通信モードが設定されていると判別する。判別の結果、メモリカード２＿１の通信モードがホスト装置１と一致している（メモリカード２＿１の出力信号の信号レベルが１．８Ｖであり、且つ、メモリカード２＿１に設定されている転送バス幅が４ビットである）場合には、ホスト装置１は、１．８Ｖ通信モードの初期化処理を行う（Ｓ１１７）。不一致の場合には、ホスト装置１は、信号振幅を１．８Ｖから３．３Ｖに変更する処理を行う（Ｓ１１８）。そして、３．３Ｖ通信モードの初期化処理に移行する（Ｓ１１７）。
【００７７】
これによれば、通信モードを３．３Ｖ通信モードから１．８Ｖ通信モードに移行する前に、メモリカードの出力信号レベルを物理的に検出する処理（ステップ１１４）を行うことでメモリカード側の信号振幅が実際に１．８Ｖ変更されているか否かを確認することができるから、異なる信号振幅で通信が開始されてしまうことを防止することができる。例えば、メモリカード２＿１の通信モード情報保持部２３に１．８Ｖ通信モードの情報が設定されているが、何らかの原因でメモリカード２＿１のレギュレータ部２１が故障し、３．３Ｖの信号振幅でしかデータが出力されないような状況であっても、通信の開始を回避することができる。更に、転送バス幅を判定する処理（ステップ１１５）を行うことで、ホスト装置とメモリカードの信号振幅は一致しているが転送バス幅が不一致である状態を検出することができるから、通信モードの不一致により通信が途中で中断したり、不所望なデータがメモリカードに書き込まれたりすることを防止することができ、通信の安全性をより高めることができる。
【００７８】
図６は、１．８Ｖ通信モードから３．３Ｖ通信モードに切り替わる場合の処理手順を例示するフロー図である。同図は、装着されるメモリカードがメモリカード２＿１である場合を例とし、メモリカード２＿１とホスト装置１との間で１．８Ｖ通信モードの通信が確立された状態から、３．３Ｖ通信モードに切り替えて通信を開始するまでの処理手順が例示される。
【００７９】
先ず、図４に示した処理手順を踏んで１．８Ｖ通信モードの初期化処理が行われる（Ｓ３０１）。初期化処理が完了すると、ホスト装置１とメモリカード２＿１は１．８Ｖ通信モードで通信を開始する（Ｓ３０２）。その後、ホスト装置１は通信モードを３．３Ｖ通信モードに切り替えるため、一旦メモリカード２＿１に対する電源供給を停止する（Ｓ３０３）。そして、ホスト装置１は、通信モードを１．８Ｖ通信モードから３．３Ｖ通信モードに変更する（Ｓ３０４）。例えば、ホスト装置１における制御部１４が、３．３Ｖ通信モード（例えばデフォルトスピードモード）に応じた信号振幅、転送バス幅、及びクロック周波数等の情報を通信モード情報保持部１５に設定する。
【００８０】
メモリカード２＿１は、ステップ３０３での電源供給の停止に伴い、通信モードが一旦リセットされ、初期設定（デフォルトスピードモード）に戻る（Ｓ３０５）。例えば、通信モード情報保持部２３に設定された信号振幅の情報、転送バス幅の情報、及びクロック周波数等がデフォルトスピードモードに応じた値にリセットされる。その後、ホスト装置１はメモリカード２＿１に対する電源供給を再開する（Ｓ３０６）。これにより、ホスト装置１とメモリカード２＿１の双方が３．３Ｖ通信モードになる（Ｓ３０７）。
【００８１】
次に、ホスト装置１は、メモリカード２＿１の出力信号の信号レベルを検出する（Ｓ３０８）。例えば、ホスト装置１における電圧検出部１６は、メモリカード２＿１とのファーストコマンドプロトコルにおいて、メモリカード２＿１から出力された信号の信号レベルを検出する。その後、ホスト装置１はバステストを実行する（Ｓ３０９）。バステストの処理手順は上記図５と同様である。ホスト装置１は、ステップ３０８における信号レベルの検出結果とステップ３０９におけるバステストの判定結果に基づいて、メモリカード２＿１に設定されている通信モードを判別する（Ｓ３１０）。例えば、検出結果が“１．８Ｖ”であって、且つ判定結果が“４ビット”であった場合には、ホスト装置１における制御部１４は、メモリカード２＿１に１．８Ｖ通信モードが設定されていると判別する。それ以外の場合には、制御部１４は、メモリカード２＿１に３．３Ｖ通信モードが設定されていると判別する。メモリカード２＿１の通信モードがホスト装置１と一致している場合、ホスト装置１は、３．３Ｖ通信モードで通信を開始する（Ｓ３１１）。一方、不一致の場合、ホスト装置１は通信を開始するための処理を停止する（Ｓ３１２）。例えば、メモリカード２＿１に１．８Ｖ通信モードが設定されていると判別された場合には、ホスト装置１とメモリカード２＿１で通信モードが相違するため通信は開始されない。この場合のその後の処理は、特に制限されないが、例えば、制御部１４が、処理を中断してシステムコントローラ１にエラーを通知してもよいし、再度初期化処理を行って３．３Ｖ通信モードを確立してからメモリカード２＿１との通信を再開してもよい。
【００８２】
これによれば、通信モードを１．８Ｖ通信モードから３．３Ｖ通信モードに移行する前に、メモリカードの出力信号レベルを物理的に検出する処理（ステップ３０８）を行うことでメモリカード側の信号振幅が実際に１．８Ｖ変更されているか否かを確認することができるから、異なる信号振幅で通信が開始されてしまうことを防止することができる。更に、転送バス幅を判定する処理（ステップ３０９）を行うことで、ホスト装置とメモリカードの信号振幅は一致しているが転送バス幅が不一致である状態を検出することができるから、通信モードの不一致により通信が途中で中断したり、不所望なデータがメモリカードに書き込まれたりすることを防止することができる。
【００８３】
図７は、メモリカードに対するデータの書き込み又は読み出しを行う場合の処理手順を例示するフロー図である。同図は、装着されるメモリカードがメモリカード２＿２である場合を例とし、ホスト装置１からメモリカード２＿２に対する一連のアクセスが一旦終了し、１．８Ｖ通信モードでの通信が確立された状態で、メモリカード２＿２に対するアクセスを再開するまでの処理手順が例示される。
【００８４】
先ず、図４に示した処理手順を踏んで１．８Ｖ通信モードの初期化処理が行われる（Ｓ４０１）。初期化処理が完了すると、ホスト装置１は、１．８Ｖ通信モードでメモリカード２＿２に対するアクセスを開始する（Ｓ４０２）。一連のアクセスが終了すると、１．８Ｖ通信モードでの通信が確立された状態が維持される（Ｓ４０３）。所定時間の経過後、メモリカード２＿２に対するアクセス（データの書き込み又は読み出し）を再開するため、ホスト装置１は、アクセスを再開するための処理を開始する（Ｓ４０４）。先ず、ホスト装置１は、メモリカード２＿２の出力信号の信号レベルを検出する（Ｓ４０５）。例えば、ホスト装置１の電圧検出部１６は、メモリカード２＿２とのダミーコマンドプロトコルにおいて、メモリカード２＿２から出力された信号の信号レベルを検出する。その後、ホスト装置１はバステストを実行する（Ｓ４０６）。ホスト装置１は、ステップ４０５における信号レベルの検出結果とステップ４０６におけるバステストの判定結果とに基づいて、メモリカード２＿２に設定されている通信モードを判別する（Ｓ４０７）。例えば、信号レベルの検出結果が“１．８Ｖ”であって、且つバステストの判定結果が“４ビット”であった場合、制御部１４は、メモリカード２＿２に１．８Ｖ通信モードが設定されていると判断する。それ以外の場合には、制御部１４は、メモリカード２＿２に３．３Ｖ通信モードが設定されていると判断する。判別の結果、メモリカード２＿２の通信モードがホスト装置１と一致している場合には、ホスト装置１は、メモリカード２＿２に対するデータの書き込み又は読み出しを再開する（Ｓ４０８）。例えば、図７ではホスト装置１に１．８Ｖ通信モードが設定されているので、メモリカード２＿２に１．８Ｖ通信モードが設定されていると判別された場合には、ホスト装置１は、データの書き込み又は読み出しを開始する。一方、不一致の場合、ホスト装置１は、メモリカード２＿２に対するデータの書き込み又は読み出しを再開するための処理を停止する（Ｓ４０９）。この場合のその後の処理は、特に制限されないが、例えば、制御部１４が、処理を中断してシステムコントローラ１にエラーを通知してもよいし、再度初期化処理を行って１．８Ｖ通信モードを確立してからメモリカード２＿２との通信を再開してもよい。
【００８５】
これによれば、例えば以下のような場合に特に有効である。例えば、外部ノイズや静電気等の影響でホスト装置からメモリカードに供給する電源電圧が瞬断された場合、多くのメモリカードは通信モードが初期化されて３．３Ｖ通信モードに戻るが、従来のホスト装置はメモリカードが３．３Ｖ通信モードに戻ったことを知る手段がなかった。本実施の形態に係るホスト装置１によれば、データの書き込み又は読み出しを開始する前に、メモリカードの出力信号レベルを物理的に検出する処理（ステップ４０５）を行うから、ホスト装置の知らないうちにメモリカードの信号振幅が変更された場合であっても、異なる信号振幅で通信が開始されてしまうことを防止することができる。また、メモリカード２＿２のように、ホスト装置の出力信号の信号振幅に合わせてメモリカード側の出力信号の信号振幅を調整する機能を備えるメモリカードの場合、前述したように、何らかの原因で通信モードが初期化されたとしても、ホスト装置の出力信号が１．８Ｖであればメモリカードから出力される信号の信号振幅は１．８Ｖに調整される。すなわち、このようなメモリカードが装着された場合、ホスト装置とメモリカードの信号振幅は一致しているが転送バス幅が不一致となる状態に陥る可能性がある。本実施の形態に係るホスト装置１によれば、データの書き込み又は読み出しを開始する前に、信号振幅の検出のみならず、メモリカードの転送バス幅を判定する処理（ステップ４０６）を行うから、上記のようなメモリカードが装着された場合にも通信の安全性を高めることができる。
【００８６】
図８は、１．８Ｖ通信モードから別の１．８Ｖ通信モードに切り替える場合の処理手順を例示するフロー図である。同図は、装着されるメモリカードがメモリカード２＿２である場合を例とし、メモリカード２＿２とホスト装置１との間でＳＤＲ５０モードの通信が確立された状態から、ＳＤＲ１０４モードに切り替えて通信を開始するまでの処理手順が例示される。
【００８７】
先ず、図４に示した処理手順を踏んで１．８Ｖ通信モード（ＳＤＲ５０モード）の初期化処理が行われる（Ｓ５０１）。初期化処理が完了すると、ホスト装置１は、ＳＤＲ５０モードでメモリカード２＿２に対するアクセスを開始する（Ｓ５０２）。その後、ホスト装置１は、通信モードをＳＤＲ１０４モードに切り替えるため、メモリカード２＿２の設定を一旦リセットする（Ｓ５０３）。具体的には、ホスト装置１における制御部１４は、メモリカード２＿２に対してリセットコマンドを送信する。前記リセットコマンドは、例えば、メモリカード２＿２における通信モード情報保持部２３を含む各種レジスタ等に設定された値を初期化するコマンドである。このとき、ホスト装置１に設定されている通信モードはリセットされないので、ホスト装置１は１．８Ｖの信号振幅で信号を送信する。そのため、メモリカード２＿２の場合、電圧検出部２７とレギュレータ部２８により、メモリカード２＿２の信号振幅は１．８Ｖに維持される。したがって、メモリカード２＿２の場合、ステップ５０３によってメモリカード２＿２の転送バス幅やクロック周波数は３．３Ｖ通信モードの設定値に戻るが、信号振幅は３．３Ｖに戻らずに１．８Ｖとなる。
【００８８】
次に、ホスト装置１は、通信モードをＳＤＲ１０４モードに変更するための処理を開始する（Ｓ５０４）。先ず、ホスト装置１は、メモリカード２＿２に対して通信モードを１．８Ｖ通信モードに変更することを要求するコマンドを送信する（Ｓ５０５）。メモリカード２＿２は、１．８Ｖ通信モードに変更可能か否かを判別する（Ｓ５０６）。信号振幅を１．８Ｖに切り替えることが可能な場合には、メモリカード２＿２は、１．８Ｖ通信モード（ＳＤＲ１０４モード）に対応した信号振幅、転送バス幅、及びクロック周波数等の情報を通信モード情報保持部２３に設定するとともに、変更を受け付けたことを示すレスポンスをホスト装置１に送信する（Ｓ５０７）。一方、信号振幅を１．８Ｖに切り替えることが不可能である場合、又は、すでに信号振幅が１．８Ｖに設定されている場合には、メモリカード２＿２は、“現在の信号振幅で通信を行うことを示すレスポンス”をホスト装置１に送信する（Ｓ５０８）。このとき、通信モード情報保持部２３に設定された信号振幅、転送バス幅、及びクロック周波数等の情報は変更されない。メモリカード２＿２の場合、ホスト装置１が１．８Ｖの信号振幅で信号を送信しているため、メモリカード２＿２の機能によりメモリカード２＿２側の信号振幅はすでに１．８Ｖに切り替わっている。そのため、メモリカード２＿２は、“現在の信号振幅で通信を行うことを示すレスポンス”をホスト装置１に送信し、通信モード情報保持部２３の設定値は３．３Ｖ通信モードから変更されない。
【００８９】
レスポンスを受け取ったホスト装置１は、メモリカード２＿２の出力信号の信号レベルを検出する（Ｓ５０９）。次に、ホスト装置１は、バステストを実行する（Ｓ５１０）。バステストの処理手順は、前述の図５と同様である。ホスト装置１は、ステップ５０９における信号レベルの検出結果とステップ５１０におけるバステストの判定結果とに基づいて、メモリカード２＿２に設定されている通信モードを判別する（Ｓ５１１）。例えば、検出結果が“１．８Ｖ”であって、且つ判定結果が“４ビット”であった場合には、ホスト装置１における制御部１４は、メモリカード２＿２に１．８Ｖ通信モードが設定されていると判断する。それ以外の場合には、制御部１４は、メモリカード２＿２に３．３Ｖ通信モードが設定されていると判断する。判別の結果、メモリカード２＿１とホスト装置１の通信モードが一致している場合（１．８Ｖ通信モードの場合）には、ＳＤＲ１０４モードでの通信が開始される（Ｓ５１２）。不一致の場合には、ホスト装置１は、通信モードを１．８Ｖ通信モード（ＳＤＲ１０４）に切り替えることを指示するコマンドを送信する（Ｓ５１３）。例えばメモリカード２＿２の場合、ステップ５０８で通信モード情報保持部２３の設定が３．３Ｖ通信モードから変更されていないため、転送バス幅として１ビットが設定されている。そのため、ホスト装置１とメモリカード２＿２の通信モードが不一致となる。その結果、ホスト装置１は、通信モードをＳＤＲ１０４に切り替えることを指示するコマンドを送信する。
【００９０】
当該コマンドを受信したメモリカード２＿２は、通信モードを１．８Ｖ通信モード（ＳＤＲ１０４）に変更し、当該コマンドを正常に受け付けたことを示すレスポンスをホスト装置１に送信する（Ｓ５１４）。例えば、制御部２２は、１．８Ｖ通信モード（ＳＤＲ１０４）に応じた信号振幅、転送バス幅、及びクロック周波数等の情報を通信モード情報保持部２３に設定し、コマンドを正常に受け付けたことを示すレスポンスをホスト装置１に送信する。
【００９１】
これによれば、１．８Ｖ通信モードから別の１．８Ｖ通信モードに切り替える際に、メモリカードの出力信号レベルを物理的に検出する処理（ステップ５０９）のみならずメモリカードの転送バス幅を判定する処理（ステップ５１０）を行うから、メモリカード２＿２のようにホスト装置と信号振幅は一致しているが転送バス幅が不一致となる可能性があるメモリカードに対しても通信の安全性を高めることができる。
【００９２】
≪実施の形態２≫
図９は、実施の形態２に係る、メモリカードとメモリカードにアクセスするためのホスト装置とからなるメモリカードシステムを例示するブロック図である。
【００９３】
同図に示されるホスト装置３におけるカードコントローラ３２は、実施の形態１に係るカードコントローラ１２のように電圧検出部１６を設けることなく、ＣＰＵ等によるプログラム処理によって電圧検出機能を実現する。なお、ホスト装置３におけるその他の機能はホスト装置１と同様であり、図９において、ホスト装置１と同一の構成要素には同一の参照符号を付してその詳細な説明を省略する。
【００９４】
制御部３４は、制御部１４と同様に、例えばＣＰＵ等のプログラム処理装置がＲＯＭやＲＡＭ等に格納されたプログラムに従って処理を実行することにより実現される機能実現手段である。制御部３４は、メモリカード２から出力される信号の信号レベルの検出を、マイコンのポート入力切替え機能を用いて実現する。例えば、通常動作時には、外部端子１９＿５〜１９＿９はデータの入出力にのみ利用されるため、制御部３４は、初めに外部端子１９＿５〜１９＿９を汎用ポートに割り当ておく。その後、信号レベルの検出を実行するタイミングで、制御部３４は、外部端子１９＿５〜１９＿９のうち少なくとも１つの端子（ポート）の割り当てを入力レベル検知機能を備えたポートに切り替える。そして、制御部３４は、当該外部端子に入力された信号をインターフェース部１７を介して受信するとともに、受信した信号の電圧と、ディジタル信号の入力レベル（ハイレベル又はローレベル）を判別するための閾値電圧とを比較することにより、信号レベルを判別する。具体的には、制御部３４は、３．３Ｖのディジタル信号の入力レベルを判別するときの第１閾値電圧と、１．８Ｖのディジタル信号の入力レベルを判別するときの第２閾値電圧とを適宜切り替えて前記比較を行うことにより、メモリカード２から前記割り当てを切り替えた外部端子に入力された信号の電圧レベルが３．３Ｖであるか、１．８Ｖであるかを判定する。
【００９５】
これによれば、メモリカード２の出力信号の信号レベルの検出を、ＣＰＵ等によるプログラム処理によって実現することができるから、電圧検出部を構成する専用ハードウェア回路が不要となり、また、電圧検出部に信号を入力するために外部端子１９＿５〜１９＿９とインターフェース部１７をつなぐ配線を分岐結線する必要がないので、チップコストを低減することができる。
【００９６】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００９７】
例えば、実施の形態１において、電圧検出部１６を、マイクロコントローラ１０から構成されるカードコントローラ１２内に設ける場合を例示したが、これに限られず、マイクロコントローラ１０の外部に設けてもよい。
【００９８】
また、前記バステストにおいて、メモリカード２から１ビットのシリアル形式でデータが送信されたか否かを判定することにより、メモリカード２に設定された転送バス幅を判定する方法を例示したが、これに限られない。例えば、バステスト部１８が、メモリカード２から１ビットのシリアル形式でデータが送信されたか否かを判定する第１判定処理と、メモリカード２から４ビットのパラレル形式でデータが送信されたか否かを判定する第２判定処理とを行い、制御部１４が夫々の判定処理の判定結果に基づいてメモリカード２に設定されている転送バス幅を判定する方法でもよい。例えば、前記第１判定処理において、バステスト部１８は、図５のステップ２０４と同様に、一部のデータライン（例えばデータラインＤＡＴ０）上に出力されたデータに基づいて、メモリカード２＿１から１ビットのシリアル形式でデータが送信されたか否かを判定する。また、前記第２判定処理において、バステスト部１８は、４つのデータライン（データラインＤＡＴ０〜ＤＡＴ３）上に出力されたデータを夫々取得し、前記要求した固定データの期待値と一致するか否かを判定することで、メモリカード２＿１から４ビットのパラレス形式でデータが送信されたか否かを判定する。すなわち、バステスト部１８は、前記第２判定処理において、４つのデータライン（データラインＤＡＴ０〜ＤＡＴ３）上に出力されたデータが前記要求した固定データの期待値と一致した場合には、メモリカード２＿１から４ビットのパラレル形式でデータが送信されたと判定し、一致しなかった場合には、４ビットのパラレル形式でデータが送信されていないと判定する。そして、バステスト部１８は、前記第１判定処理において“１ビットのシリアル形式”でないと判定し、且つ前記第２判定処理において“４ビットのパラレス形式”であると判定した場合には、メモリカード２＿１に設定されている転送バス幅は“４ビット”であると判定し、それ以外の場合には、メモリカード２＿１に設定されている転送バス幅は“１ビット”であると判定する。以上のように前記第１判定処理及び前記第２判定処理を行うことで、メモリカード２の転送バス幅を判別する精度が向上するため、メモリカードとホスト装置との間の通信の安全性をより高めることができる。
【符号の説明】
【００９９】
１  ホスト装置
２  メモリカード
１００  メモリカードシステム
１０  マイクロコントローラ
１１  システムコントローラ
１２  カードコントローラ
１３  電源回路
１４  制御部
１５  通信モード情報保持部
１６  電圧検出部
１７  インターフェース部
１８  バステスト部
１９＿１〜１９＿９  外部端子
ＶＤＤ  電源ライン
ＶＳＳ１、ＶＳＳ２  グラウンドライン
ＣＬＫ  クロックライン
ＣＭＤ／ＲＥＳ  コマンドライン
ＤＡＴ０〜ＤＡＴ３  データライン
２＿１  メモリカード
２１  レギュレータ部
２２  制御部
２３  通信モード設定部
２４  インターフェース部
２５  メモリ部
２６＿１〜２６＿９  外部端子
２＿２  メモリカード
２７  電圧検出部
２８  レギュレータ部
３００  メモリカードシステム
３  ホスト装置
３０  マイクロコントローラ
３２  カードコントローラ
３４  制御部
【図１】
2013214221.tif 000003
【図２】
2013214221.tif 000004
【図３】
2013214221.tif 000005
【図４】
2013214221.tif 000006
【図５】
2013214221.tif 000007
【図６】
2013214221.tif 000008
【図７】
2013214221.tif 000009
【図８】
2013214221.tif 000010
【図９】
2013214221.tif 000011