(57)【要約】【課題】この発明は、キャリブレーション処理後の再キャリブレーション処理要求に対して、前の処理結果を利用した簡易キャリブレーション処理を行なって処理時間の短縮を図り、実用に適するようにしたキャリブレーション処理制御装置及びキャリブレーション処理制御方法を提供することを目的としている。【解決手段】再キャリブレーション要求で発行されたキャリブレーション要求コマンドに対するレスポンスデータについて、最後のキャリブレーション処理で検出されたサンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲から、位相の異なる複数個のサンプリングクロックを選択し、その選択されたサンプリングクロックでサンプリングを行なった結果の正当性を確認することで簡易キャリブレーションを実行する。【選択図】    図３
2011233042.tif 000002
【特許請求の範囲】
【請求項１】
キャリブレーション要求に基づいて発行されたキャリブレーション要求コマンドに対するレスポンスデータについて、サンプリングクロックの位相を順次可変してサンプリングを行なった結果の正当性を確認することで、サンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲を検出し、その検出された位相設定範囲を基に最終的な位相設定を決定するキャリブレーション手段と、
再キャリブレーション要求に基づいて発行されたキャリブレーション要求コマンドに対するレスポンスデータについて、前記キャリブレーション手段による最後のキャリブレーション処理で検出されたサンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲から、位相の異なる複数個のサンプリングクロックを選択し、その選択されたサンプリングクロックでサンプリングを行なった結果の正当性を確認することでサンプリングクロックの位相設定を決定する簡易キャリブレーション手段とを具備することを特徴とするキャリブレーション処理制御装置。
【請求項２】
前記キャリブレーション手段は、再キャリブレーション要求に基づく前記簡易キャリブレーション手段による簡易キャリブレーション処理が成功しなかった場合に、キャリブレーション処理を実行することを特徴とする請求項１記載のキャリブレーション処理制御装置。
【請求項３】
前記簡易キャリブレーション手段は、前記キャリブレーション手段による最後のキャリブレーション処理で検出されたサンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲から、キャリブレーション要求コマンド発行時のサンプリングの正当性を確認するための位相設定として、中央の位相とその前後に同じ時間だけずれた２つの位相にそれぞれ対応する３つのサンプリングクロックを選択することを特徴とする請求項１記載のキャリブレーション処理制御装置。
【請求項４】
前記簡易キャリブレーション手段は、前記キャリブレーション手段が設定されたサンプリングクロックの位相設定範囲を温度変化に追従させる機能を備えていないという条件において、前記キャリブレーション手段による最後のキャリブレーション処理で検出されたサンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲から、キャリブレーション要求コマンド発行時のサンプリングの正当性を確認するための位相設定として、位相の異なる複数個のサンプリングクロックを選択することを特徴とする請求項１記載のキャリブレーション処理制御装置。
【請求項５】
前記簡易キャリブレーション手段は、前記キャリブレーション手段が決定したサンプリングクロックの位相設定を温度変化に追従させる機能を備えており、かつ、予め設定された所定時間以上データ転送が行なわれない場合に再キャリブレーション要求が発生されるという条件において、前記キャリブレーション手段による最後のキャリブレーション処理で検出されたサンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲から、キャリブレーション要求コマンド発行時のサンプリングの正当性を確認するための位相設定として、位相の異なる複数個のサンプリングクロックを選択することを特徴とする請求項１記載のキャリブレーション処理制御装置。
【請求項６】
前記簡易キャリブレーション手段は、前記キャリブレーション手段が決定したサンプリングクロックの位相設定を温度変化に追従させる機能を備えており、かつ、データ転送期間と非データ転送期間との区別なく再キャリブレーション要求が発生されるという条件において、最後のデータ転送時に使用したサンプリングクロックの位相設定と、必要としている正当なサンプリングが可能な連続した位相設定数から導出される仮想的な正当なサンプリングが可能な連続した位相設定範囲から、キャリブレーション要求コマンド発行時のサンプリングの正当性を確認するための位相設定として、位相の異なる複数個のサンプリングクロックとを選択することを特徴とする請求項１記載のキャリブレーション処理制御装置。
【請求項７】
前記簡易キャリブレーション手段は、最後のデータ転送時に使用したサンプリングクロックの位相設定と、必要としている正当なサンプリングが可能な連続した位相設定数から導出される仮想的な正当なサンプリングが可能な連続した位相設定範囲から、キャリブレーション要求コマンド発行時のサンプリングの正当性を確認するための位相設定として、その仮想的な正当なサンプリングが可能な連続した位相設定範囲の中心をサンプリングクロックの位相を中心として前後に同じ時間だけずれた２つの位相に対応するサンプリングクロックとを選択することを特徴とする請求項６記載のキャリブレーション処理制御装置。
【請求項８】
キャリブレーション要求に基づいて発行されたキャリブレーション要求コマンドに対するレスポンスデータについて、サンプリングクロックの位相を順次可変してサンプリングを行なった結果の正当性を確認することで、サンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲を検出し、その検出された位相設定範囲を基に最終的な位相設定を決定するキャリブレーション工程と、
再キャリブレーション要求に基づいて発行されたキャリブレーション要求コマンドに対するレスポンスデータについて、前記キャリブレーション工程による最後のキャリブレーション処理で検出されたサンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲から、位相の異なる複数個のサンプリングクロックを選択し、その選択されたサンプリングクロックでサンプリングを行なった結果の正当性を確認することでサンプリングクロックの位相設定を決定する簡易キャリブレーション工程とを有することを特徴とするキャリブレーション処理制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明の実施の形態は、デバイス相互間でデータ転送を確立する際のキャリブレーション処理を行なうキャリブレーション処理制御装置及びキャリブレーション処理制御方法に関する。
【背景技術】
【０００２】
周知のように、例えばＰＣ（personal computer）等でなるホスト装置が、それに内蔵されたホストコントローラを制御してメモリカードとの間でデータ転送を行なう場合、ホストコントローラは、メモリカードとの相互間でデータ転送を確立するためにキャリブレーション処理を実行している。
【０００３】
そして、このようなキャリブレーション処理を実行するにあたり、近年では、ホストコントローラに対して、メモリカードから受信したデータをサンプリングするためのクロックの位相を可変に制御することができるようにした仕様が規格化され、その規格に対応したホストコントローラが実用化されている。
【０００４】
このため、ホストコントローラは、メモリカードからの受信データに対し、サンプリング用クロックの位相を順次シフトさせてサンプリングを行ない、各位相のクロックでのサンプリング後のデータの正当性を逐一確認することにより、データサンプリングに使用可能なサンプリング用クロックの正当なサンプリングが可能な連続した位相設定範囲（サンプリングウィンドウ）を検出し、その検出したサンプリングウィンドウを基に最終的な位相設定を決定している。
【０００５】
ところで、ホストコントローラがサンプリング用クロックの位相を順次シフトし、各位相のクロックでサンプリングしたデータの正当性を逐一確認することによりサンプリング用位相設定を決定する技術は、まだまだ開発途上にある段階であり、種々の点で改良すべき余地が多々残されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２３３９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、この発明は上記事情を考慮してなされたもので、キャリブレーション処理後の再キャリブレーション処理要求に対して、前の処理結果を利用した簡易キャリブレーション処理を行なって処理時間の短縮を図り、実用に適するようにしたキャリブレーション処理制御装置及びキャリブレーション処理制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の実施の形態に係るキャリブレーション処理制御装置は、キャリブレーション要求に基づいて発行されたキャリブレーション要求コマンドに対するレスポンスデータについて、サンプリングクロックの位相を順次可変してサンプリングを行なった結果の正当性を確認することで、サンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲を検出し、その検出された位相設定範囲を基に最終的な位相設定を決定するキャリブレーション手段と、再キャリブレーション要求に基づいて発行されたキャリブレーション要求コマンドに対するレスポンスデータについて、キャリブレーション手段による最後のキャリブレーション処理で検出されたサンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲から、位相の異なる複数個のサンプリングクロックを選択し、その選択されたサンプリングクロックでサンプリングを行なった結果の正当性を確認することでサンプリングクロックの位相設定を決定する簡易キャリブレーション手段とを備えるようにしたものである。
【０００９】
また、この発明の実施の形態に係るキャリブレーション処理制御方法は、キャリブレーション要求に基づいて発行されたキャリブレーション要求コマンドに対するレスポンスデータについて、サンプリングクロックの位相を順次可変してサンプリングを行なった結果の正当性を確認することで、サンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲を検出し、その検出された位相設定範囲を基に最終的な位相設定を決定するキャリブレーション工程と、再キャリブレーション要求に基づいて発行されたキャリブレーション要求コマンドに対するレスポンスデータについて、キャリブレーション工程による最後のキャリブレーション処理で検出されたサンプリングクロックの正当なサンプリングが可能な連続した位相設定範囲から、位相の異なる複数個のサンプリングクロックを選択し、その選択されたサンプリングクロックでサンプリングを行なった結果の正当性を確認することでサンプリングクロックの位相設定を決定する簡易キャリブレーション工程とを有するようにしたものである。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態を示すもので、ＰＣの信号処理系の一例を概略的に説明するために示すブロック構成図。
【図２】同実施の形態におけるＰＣ内のホストコントローラの一例を説明するために示すブロック構成図。
【図３】同実施の形態におけるホストコントローラ内のキャリブレーション処理制御部の一例を説明するために示すブロック構成図。
【図４】同実施の形態におけるキャリブレーション処理制御部が行なう処理動作の一部を説明するために示すフローチャート。
【図５】同実施の形態におけるキャリブレーション処理制御部が行なう処理動作の残部を説明するために示すフローチャート。
【発明を実施するための最良の形態】
【００１１】
以下、この発明の実施の形態について図面を参照して詳細に説明する。図１は、この実施の形態で説明するホスト装置としてのＰＣ１１の信号処理系を概略的に示している。このＰＣ１１は、図示しないＣＰＵ（central processing unit）を内蔵したＰＣ本体部１２に、例えば液晶パネル等を用いた表示部１３、操作部としてのキーボード１４、ポインティングデバイスとしてのマウス１５等が接続される構成となっている。
【００１２】
また、このＰＣ本体部１２には、ホストコントローラ１６が接続されている。このホストコントローラ１６には、例えばＳＤ（secure digital）カード等のメモリカード１７が着脱可能となされている。そして、このホストコントローラ１６は、ＰＣ本体部１２にインストールされたホストドライバ１８の制御に基づき、装着されたメモリカード１７に対してキャリブレーション処理やデータ転送等を実行することができる。
【００１３】
図２は、上記ホストコントローラ１６の一例を示している。このホストコントローラ１６は、ホストドライバ１８から出力される各種のコマンドやデータ等が供給される制御部１９を備えている。この制御部１９は、ホストドライバ１８から供給されたコマンドを解析し、その解析結果をＩ（input）／Ｏ（output）コントローラ２０に出力している。そして、このＩ／Ｏコントローラ２０は、制御部１９が解析したコマンドの解析結果を、メモリカード１７との伝送バスプロトコルに従ったコマンドに変換してメモリカード１７に送信する。
【００１４】
すなわち、ホストドライバ１８からメモリカード１７に対するデータ書き込みコマンドが供給された場合、制御部１９は、そのコマンドの解析結果を、Ｉ／Ｏコントローラ２０により、メモリカード１７との伝送バスプロトコルに従ったコマンドに変換してメモリカード１７に送信させる。そして、制御部１９は、データ書き込みコマンドの後にホストドライバ１８から供給される書き込み用のデータをＩ／Ｏコントローラ２０に送り、メモリカード１７に書き込ませる。
【００１５】
また、ホストドライバ１８からメモリカード１７に対するデータ読み出しコマンドが供給された場合、制御部１９は、そのコマンドの解析結果を、Ｉ／Ｏコントローラ２０により、メモリカード１７との伝送バスプロトコルに従ったコマンドに変換してメモリカード１７に送信させ、データの読み出しを行なわせる。この場合、メモリカード１７から読み出されたデータは、Ｉ／Ｏコントローラ２０内の同期回路２１により、クロックジェネレータ２２から供給されるサンプリングクロックに基づいてサンプリングされた後、制御部１９に供給され、制御部１９がホストドライバ１８に出力する。
【００１６】
ここで、ホストドライバ１８からメモリカード１７に対するキャリブレーションコマンド発行要求コマンドが供給された場合には、制御部１９内のキャリブレーション処理制御部２３が、そのコマンドを解析し、キャリブレーションコマンドを発行する。また、このキャリブレーション処理制御部２３は、クロックジェネレータ２２に対して、出力されるサンプリング用クロックの位相を制御するための位相設定値を通知する信号を出力している。
【００１７】
そして、上記キャリブレーションコマンドは、Ｉ／Ｏコントローラ２０により、メモリカード１７との伝送バスプロトコルに従ったコマンドに変換されてメモリカード１７に送信される。メモリカード１７は、キャリブレーションコマンドを受信すると、それに対するレスポンスデータ（コマンド応答やキャリブレーションデータ）を出力する。このレスポンスデータは、Ｉ／Ｏコントローラ２０内の同期回路２１により、クロックジェネレータ２２から供給されるサンプリング用クロックに基づいてサンプリングされた後、キャリブレーション処理制御部２３に供給されてその正当性が確認される。
【００１８】
このため、キャリブレーション処理制御部２３では、メモリカード１７から受信したレスポンスデータに対して、ホストドライバ１８から要求されるキャリブレーションコマンド発行要求毎に、クロックジェネレータ２２から出力されるサンプリング用クロックの位相を順次シフトさせてメモリカード１７から送信されるレスポンスデータのサンプリングを行ない、各位相設定でのサンプリング後のデータの正当性を逐一確認することにより、データサンプリングが正当に行なわれる連続した位相設定範囲（サンプリングウィンドウ）を検出し、その検出された位相設定範囲を基に最終的な位相設定を決定している。
【００１９】
また、上記キャリブレーション処理制御部２３は、上記した通常のキャリブレーション処理を実行した後に、ホストドライバ１８から再キャリブレーション要求コマンドが供給された場合、再び上記した通常のキャリブレーション処理を実行するか、前に実行した通常のキャリブレーション処理結果を利用した簡易キャリブレーション処理を実行するかを選択することができる。
【００２０】
例えば、Ｉ／Ｏコントローラ２０とメモリカード１７との間で転送されるデータの品質を重視する場合や、再キャリブレーション要求の発生頻度が低く、再キャリブレーション要求時に通常のキャリブレーション処理を実行してもデータ転送レートが損なわれないような場合には、上記した通常のキャリブレーション処理を選択する。また、Ｉ／Ｏコントローラ２０とメモリカード１７との間で転送されるデータに対して、ＰＣ１１より上位レベルでの保護が存在し、当該データの安全性がそのデータ転送によるリスクより重視できる場合には、簡易キャリブレーション処理を選択する。
【００２１】
簡易キャリブレーション処理としては、例えば、最後に行なわれた通常のキャリブレーション処理で検出されたサンプリング用クロックの正当なサンプリングが可能な連続した位相設定範囲（サンプリングウィンドウ）の中から位相の異なる数個のサンプリング用クロックを選定し、その選定されたサンプリング用クロックでサンプリングを行なったときのデータの正当性を確認する手法や、最後のデータ転送時に使用したサンプリングクロックの位相から導出される簡易的な再キャリブレーション用仮想サンプリングウィンドウの中から位相の異なる数個のサンプリング用クロックを選定し、その選定されたサンプリング用クロックでサンプリングを行なったときのデータの正当性を確認する手法等がある。具体的には、サンプリングウィンドウの中から、中央の位相と、その位相の前後に同じ時間だけずれた位置にある位相との、３つの位相を有するサンプリング用クロックを選定し、その選定されたサンプリング用クロックでサンプリングを行なったときのデータの正当性を確認する。
【００２２】
ここで、簡易キャリブレーション処理を実行することが選択された場合において、どのような条件のときにどのような手法の簡易キャリブレーション処理が実行されるのかについて説明する。まず、メモリカード１７からのデータ出力タイミングは、データ転送中の温度変化により変化することが知られている。このため、キャリブレーション処理制御部２３には、温度変化によるメモリカード１７からのデータ出力タイミングの変化に対してサンプリングウィンドウが追従するように、サンプリング用クロックの位相設定を修正する機能を備えたものがある。
【００２３】
このような機能を有するキャリブレーション処理制御部２３は、例えば、通常のデータ転送中のブロックデータのサンプリング状態から温度変化によるメモリカード１７からのデータ出力タイミングの変化方向と変化量とを検出し、転送中のブロックデータとブロックデータとのアイドル期間で必要に応じて位相設定を修正する。
【００２４】
なお、データ転送中の温度変化に対してサンプリングウィンドウが追従する機能を持たないキャリブレーション処理制御部２３の場合には、最後に行なわれた通常のキャリブレーション処理で検出されたサンプリング用クロックの正当なサンプリングが可能な連続した位相設定範囲（サンプリングウィンドウ）の中から位相の異なる数個のサンプリング用クロックを選定し、その選定されたサンプリング用クロックでサンプリングを行なったときのデータの正当性を確認する手法の簡易キャリブレーション処理が行なわれる。
【００２５】
また、キャリブレーション処理制御部２３が温度変化に対してサンプリングウィンドウを追従させる機能を持ち、ホストドライバ１８が予め設定された所定時間以上データ転送が行なわれない場合に再キャリブレーションを要求するものである場合には、最後に行なわれた通常のキャリブレーション処理で検出されたサンプリング用クロックの正当なサンプリングが可能な連続した位相設定範囲（サンプリングウィンドウ）の中から位相の異なる数個のサンプリング用クロックを選定し、その選定されたサンプリング用クロックでサンプリングを行なったときのデータの正当性を確認する手法の簡易キャリブレーション処理が行なわれる。
【００２６】
さらに、キャリブレーション処理制御部２３が温度変化に対してサンプリングウィンドウを追従させる機能を持ち、ホストドライバ１８がデータ転送期間と非データ転送期間との区別なく再キャリブレーションを要求するものである場合には、最後のデータ転送時に使用したサンプリング用クロックの位相設定と、必要としている正当なサンプリングが可能な連続した位相設定数から導出される、仮想的な正当なサンプリングが可能な連続した位相設定範囲の中から選定した位相の異なる数個のサンプリング用クロックとを用い、それらのサンプリング用クロックでサンプリングを行なったときのデータの正当性を確認する手法の簡易キャリブレーション処理が行なわれる。
【００２７】
例えば、最後のデータ転送時に使用したサンプリングクロックの位相設定もしくは必要に応じてその補正値を、上記した仮想的な正当なサンプリングが可能な連続した位相設定範囲のセンター値として想定し、そのセンター値とその前後に同じ時間だけずれた位置にある位相との、３つの位相を有するサンプリング用クロックを、必要としている正当なサンプリングが可能な連続した位相設定数を踏まえた形で選定し、その選定された位相のサンプリング用クロックでサンプリングを行なったときのデータの正当性を確認する手法の簡易キャリブレーション処理が行なわれる。
【００２８】
図３は、上記キャリブレーション処理制御部２３の一例を示している。すなわち、キャリブレーション処理部２４は、ホストドライバ１８からのキャリブレーションコマンド発行要求に基づいて、キャリブレーションコマンドを発行する。このキャリブレーションコマンドは、Ｉ／Ｏコントローラ２０を介してメモリカード１７に送信される。
【００２９】
すると、メモリカード１７は、受信したキャリブレーションコマンドに対するレスポンスデータを出力する。このレスポンスデータは、Ｉ／Ｏコントローラ２０に供給され、その同期回路２１により、クロックジェネレータ２２で生成されたサンプリング用クロックを用いてサンプリングされる。そして、このサンプリングされたレスポンスデータが、キャリブレーション処理部２４に供給されることによりサンプリング結果の正当性の確認が行なわれる。
【００３０】
また、このキャリブレーション処理部２４は、サンプリングクロック位相設定値制御部２５を制御することにより、クロックジェネレータ２２に対して、出力サンプリングクロックの位相を制御するための位相設定値を通知する信号を出力させる。このため、キャリブレーション処理部２４では、クロックジェネレータ２２から出力されるサンプリングクロックの位相を順次シフトさせて、Ｉ／Ｏコントローラ２０にメモリカード１７が出力した受信レスポンスデータに対するサンプリングを行なわせ、各位相のクロックでのサンプリング後のデータの正当性を逐一確認することにより、データサンプリングに使用可能なサンプリング用クロックの位相設定範囲（サンプリングウィンドウ）を検出し、その検出された位相設定範囲を基に最終的な位相設定値を決定する、いわゆる、通常のキャリブレーション処理を実行している。
【００３１】
そして、このキャリブレーション処理部２４によって最後に実行された通常のキャリブレーション処理の処理結果は、演算保持部２６に供給される。この演算保持部２６は、最後に実行された通常のキャリブレーション処理結果を保持するとともに、その保持された内容に基づいて、簡易キャリブレーション処理を実行する際に用いるサンプリング用クロックの位相を設定するための位相設定値を算出する。
【００３２】
この場合、演算保持部２６では、例えば、先に述べたように、最後に行なわれた通常のキャリブレーション処理で設定されたサンプリング用クロックの位相設定範囲（サンプリングウィンドウ）の中から、中央の位相と、その位相の前後に同じ時間だけずれた位置にある位相との、３つの位相を有するサンプリング用クロックを選定するための位相設定値を算出している。
【００３３】
簡易キャリブレーション処理部２７は、ホストドライバ１８から再キャリブレーション要求コマンドが供給されたとき、キャリブレーション処理制御部２３が簡易キャリブレーション処理の実行を選択した場合に起動される。この簡易キャリブレーション処理部２７は、起動されると、キャリブレーションコマンドを発行する。このキャリブレーションコマンドは、Ｉ／Ｏコントローラ２０を介してメモリカード１７に送信される。
【００３４】
すると、メモリカード１７は、受信したキャリブレーションコマンドに対するレスポンスデータを出力する。このレスポンスデータは、Ｉ／Ｏコントローラ２０に供給され、その同期回路２１により、クロックジェネレータ２２で生成されたサンプリング用クロックを用いてサンプリングされる。そして、このサンプリングされたレスポンスデータが、簡易キャリブレーション処理部２７に供給されてサンプリング結果の正当性の確認が行なわれる。
【００３５】
この場合、簡易キャリブレーション処理部２７は、演算保持部２６が算出した簡易キャリブレーション用のサンプリング用クロックの位相を設定する位相設定値に基づいてサンプリングクロック位相設定値制御部２５を制御している。これにより、クロックジェネレータ２２からは、簡易キャリブレーション用に設定された３種類の位相のサンプリング用クロックが順次出力される。
【００３６】
このため、簡易キャリブレーション処理部２７では、クロックジェネレータ２２から順次出力される３種類の位相のサンプリングクロックのそれぞれを用いて、Ｉ／Ｏコントローラ２０にメモリカード１７が出力した受信レスポンスデータに対するサンプリングを行なわせ、各位相のクロックでのサンプリング後のデータの正当性を逐一確認することにより、データサンプリングに使用可能なサンプリング用クロックの位相設定範囲（サンプリングウィンドウ）を検出し、その検出された位相設定範囲を基に最終的な位相設定値を決定するという、簡易キャリブレーション処理を実行することができる。
【００３７】
温度変化追従制御部２８は、温度変化によりメモリカード１７からのデータ出力タイミングが変化することに対して、サンプリング用クロック位相が追従するようにサンプリング用クロックの位相設定を修正するものである。すなわち、例えば、通常のデータ転送中のブロックデータのサンプリング状態から温度変化によるメモリカード１７からのデータ出力タイミングの変化方向と変化量とを検出し、転送中のブロックデータとブロックデータとのアイドル期間で必要に応じて位相設定を修正している。または、内蔵された温度センサにより温度変化を感知し、その感知した温度変化に基づいてメモリカード１７からのデータ出力タイミングの変化方向（早くなるか遅くなるか）を判断し、その判断結果にサンプリングウィンドウが追従するように、サンプリングクロック位相設定値制御部２５を介してクロックジェネレータ２２が生成するサンプリング用クロックの位相を制御するような実装となっても良い。
【００３８】
また、この温度変化追従制御部２８は、メモリカード１７から出力されたデータを最後にサンプリングしたサンプリング用クロックの位相を示す位相設定値を演算保持部２６に出力している。そして、この演算保持部２６では、必要としている正当なサンプリングが可能な連続した位相設定数や、最後にデータをサンプリングしたサンプリング用クロックの位相を示す位相設定値、必要に応じて最後に実行された通常のキャリブレーション処理の処理結果等に基づいて、簡易キャリブレーション処理を実行する際のサンプリングクロックの位相を設定するための位相設定値を算出する。
【００３９】
この場合、演算保持部２６では、例えば、先に述べたように、最後のデータサンプリングに使用したサンプリング用クロックの位相設定もしくは必要に応じてその補正値を、仮想的な正当なサンプリングが可能な連続した位相設定範囲内にセンター値として設定し、そのセンター値とその前後に同じ時間だけずれた位置にある位相とを、必要としている正当なサンプリングが可能な連続した位相設定数を踏まえた形で選択することにより、これら３つの位相設定値を算出している。
【００４０】
図４及び図５は、上記したキャリブレーション処理制御部２３の主要な処理動作をまとめたフローチャートを示している。すなわち、処理が開始（ステップＳ１１）されると、キャリブレーション処理制御部２３は、ステップＳ１２で、ホストドライバ１８から再キャリブレーション処理が要求されたか否かを判別する。
【００４１】
そして、再キャリブレーション処理が要求されたと判断された場合（ＹＥＳ）、キャリブレーション処理制御部２３は、ステップＳ１３で、簡易キャリブレーション処理が選択されたか否かを判別し、簡易キャリブレーション処理が選択されていないと判断された場合（ＮＯ）、ステップＳ１４で、通常のキャリブレーション処理を実行して、処理を終了（ステップＳ２０）する。
【００４２】
また、上記ステップＳ１３で簡易キャリブレーション処理が選択されたと判断された場合（ＹＥＳ）、キャリブレーション処理制御部２３は、ステップＳ１５で、自己が温度変化に応じてサンプリングウィンドウを追従させる機能を備えているか否かを判別し、備えていないと判断された場合（ＮＯ）、ステップＳ１６で、最後に行なわれた通常のキャリブレーション処理で設定されたサンプリング用クロックの使用可能な位相設定範囲（サンプリングウィンドウ）の中から選定した位相の異なる数個のサンプリング用クロックを用いて、メモリカード１７からの受信レスポンスデータにそれぞれサンプリングを行なったときのデータの正当性を確認する手法の簡易キャリブレーション処理を実行する。
【００４３】
さらに、上記ステップＳ１５で温度変化に応じてサンプリングウィンドウを追従させる機能を備えていると判断された場合（ＹＥＳ）、キャリブレーション処理制御部２３は、ステップＳ１７で、ホストドライバ１８が予め設定された所定時間以上を検出して再キャリブレーション処理を要求する場合に、データ非転送期間のみで所定時間を計測するのか、データ転送／非転送期間の区別なく計測するのかを判別し、前者であると判断された場合（ＹＥＳ）、上記したステップＳ１６の処理が実行される。
【００４４】
また、上記ステップＳ１７で後者であると判断された場合（ＮＯ）、キャリブレーション処理制御部２３は、ステップＳ１８で、最後のデータ転送時に使用したサンプリング用クロックの位相設定と、必要としている正当なサンプリングが可能な連続した位相設定数から導出される仮想的な正当なサンプリングが可能な連続した位相設定範囲から選定した位相の異なる数個のサンプリング用クロックとを用い、それらのサンプリング用クロックでサンプリングを行なったときのデータの正当性を確認する手法の簡易キャリブレーション処理を実行する。
【００４５】
そして、上記ステップＳ１６またはステップＳ１８の後、キャリブレーション処理制御部２３は、ステップＳ１９で、簡易キャリブレーション処理が成功したか否かを判別し、成功していないと判断された場合（ＮＯ）、上記したステップＳ１４の処理に移行して通常のキャリブレーション処理を実行し、処理を終了（ステップＳ２０）する。
【００４６】
上記した実施の形態によれば、再キャリブレーション処理が要求されたとき、最後に実行された通常のキャリブレーション処理結果から選定される数個のサンプリング用クロックを用いた簡易キャリブレーション処理を行なうようにしたので、処理時間の短縮を図り実用に好適するものとなる。
【００４７】
特に、キャリブレーション処理制御部２３が温度変化に応じてサンプリングウィンドウを追従させる機能を備えていない場合とは、サンプリングウィンドウに影響を与えるような温度変化の発生頻度が少ないケースを想定しており、このようなケースでは、通常のキャリブレーション処理を一度実行すればその結果のサンプリングウィンドウが大きくずれる頻度が低いと想定されるので、最後に行なわれた通常のキャリブレーション処理で設定されたサンプリング用クロックの位相設定範囲（サンプリングウィンドウ）の中から選定した位相の異なる数個のサンプリング用クロックを用いた簡易キャリブレーション処理を行なうようにしている。
【００４８】
また、キャリブレーション処理制御部２３が温度変化に応じてサンプリングウィンドウを追従させる機能を備えていて、ホストドライバ１８が予め設定された所定時間以上の時間経過検出をデータ非転送期間のみで計測して再キャリブレーション処理を要求する場合とは、メモリカード１７に対するデータ転送がないアイドル状態が長く続くことにより再キャリブレーション要求が発生するケースを想定しており、このようなケースでも、通常のキャリブレーション処理を一度実行すればその結果のサンプリングウィンドウが大きくずれる頻度が低いと想定されるので、最後に行なわれた通常のキャリブレーション処理で設定されたサンプリング用クロックの位相設定範囲（サンプリングウィンドウ）の中から選定した位相の異なる数個のサンプリング用クロックを用いた簡易キャリブレーション処理を行なうようにしている。
【００４９】
さらに、キャリブレーション処理制御部２３が温度変化に応じてサンプリングウィンドウを追従させる機能を備えていて、ホストドライバ１８が予め設定された所定時間以上の時間経過検出をデータ転送／非転送期間の区別なく計測して再キャリブレーション処理を要求する場合とは、上記した予め設定される所定時間が比較的短く設定されることが想定され、再キャリブレーション要求が高頻度で発生する（メモリカード１７とのデータ転送中でも再キャリブレーション要求が高頻度で発生する）ケースを想定しており、このようなケースでは、できるだけ現状に即するように、最後のデータ転送時に使用したサンプリング用クロックと、必要としている正当なサンプリングが可能な連続した位相設定数から導出される仮想的な正当なサンプリングが可能な連続した位相設定範囲の中から選定した位相の異なる数個のサンプリング用クロックとを用いた簡易キャリブレーション処理を行なうようにして、簡易キャリブレーション処理の成功頻度を高めるようにしている。
【００５０】
また、上記した実施の形態では、簡易キャリブレーション処理時に、最後に行なわれた通常のキャリブレーション処理で検出されたサンプリング用クロックの使用可能な位相設定範囲（サンプリングウィンドウ）の中から、中央の位相と、その位相の前後に同じ時間だけずれた位置にある位相との、３つの位相を有するサンプリング用クロックを選定し、これらのクロックを用いて受信データをサンプリングするようにしたが、選定するサンプリング用クロックやその発生順序等は必要に応じて任意に設定することができる。
【００５１】
例えば、クロックジェネレータ２２の構成都合等により、生成するサンプリング用クロックの位相によって処理時間が異なるような場合、処理時間が最短となるように最適化された結果や、最後に発行するキャリブレーションコマンドの設定値と最終的なサンプリング位相決定値とが異なる場合には、最終的なサンプリング位相決定値への切り換えをキャリブレーションコマンドの発行なしで実施することができるような構成をとることも可能である。
【００５２】
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
【符号の説明】
【００５３】
１１…ＰＣ、１２…ＰＣ本体部、１３…表示部、１４…キーボード、１５…マウス、１６…ホストコントローラ、１７…メモリカード、１８…ホストドライバ、１９…制御部、２０…Ｉ／Ｏコントローラ、２１…同期回路、２２…クロックジェネレータ、２３…キャリブレーション処理制御部、２４ＰＣ、１２…ＰＣ本体部、１３…表示部、１４…キーボード、１５…マウス、１６…ホストコントローラ、１７…メモリカード、１８…ホストドライバ、１９…制御部、２０…Ｉ／Ｏコントローラ、２１…同期回路、２２…クロックジェネレータ、２３…キャリブレーション処理制御部、２４…キャリブレーション処理部、２５…サンプリングクロック位相設定値制御部、２６…演算保持部、２７…簡易キャリブレーション処理部、２８…温度変化追従制御部。
【図１】
2011233042.tif 000003
【図２】
2011233042.tif 000004
【図３】
2011233042.tif 000005
【図４】
2011233042.tif 000006
【図５】
2011233042.tif 000007