(57)【要約】【課題】受信中にデータ・ウィンドウの有効期間が位相変動しても、データ受信を正常に行うことのできる通信インタフェース回路を提供する。【解決手段】位相調整部１が、入力クロックＣＫの位相を調整して、受信クロックＣＫ０およびサンプリングクロックＣＫ１、ＣＫ２を出力し、レジスタ２が、受信クロックCＫ０で受信データＤＡＴ０〜ＤＡＴ３を取り込み、エッジ検出部３Ａが、レジスタ２の出力の値とサンプリングクロックＣＫ１でサンプリングした受信データの値とを比較して受信データのデータ・ウィンドウの有効期間の開始エッジを検出し、エッジ検出部３Ｂが、レジスタ２の出力の値とサンプリングクロックＣＫ２でサンプリングした受信データの値とを比較して上述の有効期間の終了エッジを検出し、位相シフト制御部４が、エッジ検出部３Ａおよびエッジ検出部３Ｂの検出結果に基づいて、受信クロックＣＫ０の位相の調整を位相調整部１へ指示する。【選択図】  図３
2011114387.tif 000002
【特許請求の範囲】
【請求項１】
データ・ウィンドウの有効期間が規定されているデータを受信する通信インタフェース回路であって、
入力クロックの位相を調整して、受信クロック、前記受信クロックよりも位相の早い第１のサンプリングクロックおよび前記受信クロックよりも位相の遅い第２のサンプリングクロックを出力する位相調整手段と、
前記受信クロックのデータ取り込みエッジで前記データを取り込むレジスタと、
前記レジスタの出力値と前記第１のサンプリングクロックでサンプリングした前記データの値とを比較して前記有効期間の開始エッジが前記受信クロックのデータ取り込みエッジに接近したことを検出する第１のエッジ検出手段と、
前記レジスタの出力値と前記第２のサンプリングクロックでサンプリングした前記データの値とを比較して前記有効期間の終了エッジが前記受信クロックのデータ取り込みエッジに接近したことを検出する第２のエッジ検出手段と、
前記第１のエッジ検出手段または前記第２のエッジ検出手段が前記接近を検出したときに、前記接近が解消する方向へ前記受信クロックの位相をシフトさせるよう前記位相調整手段へ指示する位相シフト制御手段と
を備えることを特徴とする通信インタフェース回路。
【請求項２】
前記第１のエッジ検出手段および前記第２のエッジ検出手段は、
前記データが複数ビットからなるパラレルデータであるときは、前記複数ビットのそれぞれごとに前記サンプリングを行う
ことを特徴とする請求項１に記載の通信インタフェース回路。
【請求項３】
前記位相シフト制御手段は、
前記第１のエッジ検出手段が前記接近を検出したときは、前記受信クロックの位相を遅れ方向へシフトさせるよう前記位相調整手段へ指示し、
前記第２のエッジ検出手段が前記接近を検出したときは、前記受信クロックの位相を進み方向へシフトさせるよう前記位相調整手段へ指示する
ことを特徴とする請求項１または２に記載の通信インタフェース回路。
【請求項４】
前記位相シフト制御手段が、
前記第１のエッジ検出手段が検出した前記接近の回数をカウントする第１のカウンタと、
前記第２のエッジ検出手段が検出した前記接近の回数をカウントする第２のカウンタと
を有し、
前記第１のカウンタのカウント値が所定の値に達したときに前記遅れ方向へのシフトを指示し、
前記第２のカウンタのカウント値が所定の値に達したときに前記進み方向へのシフトを指示する
ことを特徴とする請求項１乃至３のいずれか１項に記載の通信インタフェース回路。
【請求項５】
前記第１のカウンタおよび前記第２のカウンタがともに前記所定の値に満たない値をカウントした状態でカウント動作を停止したときに、前記第１のカウンタおよび前記第２のカウンタのカウント値をクリアするクリア手段を有する
ことを特徴とする請求項４に記載の通信インタフェース回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信インタフェース回路に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータやデジタルカメラなどの携帯型電子機器に装着して使用するメモリカードとして、ＳＤ（Secure  Digital）カード（登録商標）が広く普及している。
【０００３】
このＳＤカードは、フラッシュメモリを内蔵し、小型化、大容量および高速化の要求に見合うように特に設計されている。ＳＤカード通信は、９ピンインタフェースに基づいており、９ピンのうちの４ピンは、ホストとの間のデータ転送に使用可能なデータピンとして割り当てられている。また、データ転送モードとして、ＳＤカードは、ＳＤ４ｂｉｔモード、ＳＤ１ｂｉｔモード、およびＳＰＩ（Serial  Peripheral  Interface）モードの３つの動作モードを有している。
【０００４】
このうち、ＳＤ４ビットモードでは、ＤＡＴ３〜ＤＡＴ０の４つのデータピンを用いることによって、ホストとの間で４ビット幅のパラレルデータの転送が行われる。
【０００５】
従来、上述のような、メモリカードとホストとの間でのパラレルデータの転送では、ホストからメモリカードへクロックを送信すると、その送られたクロックに同期したパラレルデータがメモリカードから出力される。そこで受信側のホストでは、仕様で規定されたセットアップタイム、ホールドタイムを満たすように位相を調整した受信用クロックで送信されたデータを受信する。
【０００６】
その際、受信したパラレルデータにビット間スキューがあると、セットアップタイム違反あるいはホールドタイム違反が生じ、通信エラーが発生する。
【０００７】
その対策として、従来、メモリカードに書き込まれたテストデータを読み出してビット間スキューを検出し、その検出結果に基づいてビット間スキューを調整するようにした情報処理装置が提案されている（例えば、特許文献１参照。）。
【０００８】
上述の提案の方式では、ビット間スキューを調整することにより、セットアップタイムおよびホールドタイムの規格を満たす通信を行うことができる。
【０００９】
ところで、最近、ＳＤカードの新しい規格として、Ｖｅｒ３．００が制定され、その規格では、セットアップタイム、ホールドタイムを規定しない、新しい概念の通信規格が採用されている。
【００１０】
この新規格では、出力データの最小有効期間が、クロック周期に対する比で規定されているだけであり、出力データの出力タイミングは一定しない。
【００１１】
そこで、新規格で通信を行う場合、ホストは、データの通信に先立ってキャリブレーションを実行し、出力データの有効期間に対して受信クロックの位相を最適に調整する必要がある。キャリブレーション実行時、ホストは、ＳＤカードへ所定のキャリブレーション用データの送信を要求し、それに応じてＳＤカードから送信されたキャリブレーション用データの有効期間に対して最適マージンで受信できるよう、クロックの位相を調整する。
【００１２】
ところが、ＳＤカードからのデータ転送はセクタ単位で行われるため、ホストのデータ処理の混雑状況などによって、データ転送が断続的に行われることがある。その場合、データ転送の実行時と停止時とでＳＤカードの電力消費が変動し、ＳＤカードの温度が変動する。温度が変動すると、ＳＤカードの動作速度が変動し、出力データの有効期間の出力位相が変動する。
【００１３】
その結果、上述のキャリブレーションで初期設定した受信クロックの位相位置から、ＳＤカードの出力データの有効期間がずれてしまうと、正常なデータの受信ができなくなり、通信エラーが発生する、という問題が生じる。
【００１４】
この新規格の通信で発生する問題は、特許文献１に示されたような、従来規格に対応した方式では解決することが難しい。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００７−２４９７５３号公報  （第５−７ページ、図２）
【発明の概要】
【発明が解決しようとする課題】
【００１６】
そこで、本発明の目的は、受信中にデータ・ウィンドウの有効期間が位相変動しても、データ受信を正常に行うことのできる通信インタフェース回路を提供することにある。
【課題を解決するための手段】
【００１７】
本発明の一態様によれば、データ・ウィンドウの有効期間が規定されているデータを受信する通信インタフェース回路であって、入力クロックの位相を調整して、受信クロック、前記受信クロックよりも位相の早い第１のサンプリングクロックおよび前記受信クロックよりも位相の遅い第２のサンプリングクロックを出力する位相調整手段と、前記受信クロックのデータ取り込みエッジで前記データを取り込むレジスタと、前記レジスタの出力値と前記第１のサンプリングクロックでサンプリングした前記データの値とを比較して前記有効期間の開始エッジが前記受信クロックのデータ取り込みエッジに接近したことを検出する第１のエッジ検出手段と、前記レジスタの出力値と前記第２のサンプリングクロックでサンプリングした前記データの値とを比較して前記有効期間の終了エッジが前記受信クロックのデータ取り込みエッジに接近したことを検出する第２のエッジ検出手段と、前記第１のエッジ検出手段または前記第２のエッジ検出手段が前記接近を検出したときに、前記接近が解消する方向へ前記受信クロックの位相をシフトさせるよう前記位相調整手段へ指示する位相シフト制御手段とを備えることを特徴とする通信インタフェース回路が提供される。
【発明の効果】
【００１８】
本発明によれば、受信中にデータ・ウィンドウの有効期間が位相変動しても、データ受信を正常に行うことができる。
【図面の簡単な説明】
【００１９】
【図１】ＳＤカードの新規格仕様の説明図。
【図２】受信クロックの初期設定方法の説明図。
【図３】本発明の実施例１に係る通信インタフェース回路の構成の例を示すブロック図。
【図４】本発明の実施例の比較部の構成の例を示すブロック図。
【図５】データ・ウィンドウの有効期間の開始エッジの検出例を示す図。
【図６】データ・ウィンドウの有効期間の終了エッジの検出例を示す図。
【図７】実施例１の通信インタフェース回路における受信クロックの位相調整の例を示す図。
【図８】実施例１の通信インタフェース回路における受信クロックの位相調整の例を示す図。
【図９】実施例１の通信インタフェース回路における受信クロックの位相調整の例を示す図。
【図１０】本発明の実施例２に係る通信インタフェース回路の構成の例を示すブロック図。
【図１１】実施例２の通信インタフェース回路における受信クロックの位相調整の例を示す図。
【発明を実施するための形態】
【００２０】
ここでは、新規格に基づくＳＤカードからの出力データを受信する通信インタフェース回路を例にとり、以下、本発明の実施例について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【実施例１】
【００２１】
ホストからＳＤカードへクロックＳＤＣＬＫを送信し、４ビットのパラレル出力データＤＡＴ［３：０］を読み出す場合、新規格では、従来とは異なり、出力データＤＡＴ［３：０］に対する仕様として、図１（ａ）に示すように、セットアップタイムおよびホールドタイムは規定されず、データ・ウィンドウの有効期間ｔＯＤＷが規定されている。また、温度変動によるドリフトのような動的遅延も認めている。
【００２２】
ここで、図１（ｂ）に示すように、４ビットのデータＤＡＴ０〜ＤＡＴ３の相互間に出力位相のバラツキがあった場合、データ・ウィンドウの有効期間の開始エッジは、最も位相の遅いデータ（図１（ｂ）の例ではＤＡＴ１）で決まり、データ・ウィンドウの有効期間の終了エッジは、最も位相の早いデータ（図１（ｂ）の例ではＤＡＴ２）で決まる。
【００２３】
このような出力データを受信する場合、従来のような受信クロックに対するセットアップタイム、ホールドタイムの仕様がないため、ホスト側では、キャリブレーション動作を行って、受信クロックの位相の初期設定を行う。
【００２４】
キャリブレーションを行う場合、ホストからＳＤカードへキャリブレーション・データの出力を要求する。ホストは、この要求に応じてＤＡＴ［３：０］に出力されたキャリブレーション・データの有効期間に合わせて、図２に示すように、ＤＡＴ［３：０］のデータを取り込む受信クロックＣＫ０の位相を決定する。
【００２５】
このようにして初期設定が行われた受信クロックに対して、本実施例の通信インタフェース回路は、通信中のＤＡＴ［３：０］のデータ・ウィンドウの有効期間の位相変動に応じて、受信クロックＣＫ０の位相の調整を行う。
【００２６】
図３は、本発明の実施例１に係る通信インタフェース回路の構成の例を示すブロック図である。
【００２７】
本実施例の通信インタフェース回路は、入力クロックＣＫの位相を調整して、受信クロックＣＫ０、受信クロックＣＫ０よりも位相の早いサンプリングクロックＣＫ１および受信クロックＣＫ０よりも位相の遅いサンプリングクロックＣＫ２を出力する位相調整部１と、受信クロックCＫ０のデータ取り込みエッジで受信データＤＡＴ０〜ＤＡＴ３を取り込むレジスタ２と、レジスタ２の出力Ｄ００〜Ｄ３０の値とサンプリングクロックＣＫ１でサンプリングした受信データＤＡＴ０〜ＤＡＴ３の値とを比較して受信データＤＡＴ０〜ＤＡＴ３のデータ・ウィンドウの有効期間の開始エッジが受信クロックCＫ０のデータ取り込みエッジに接近したことを検出するエッジ検出部３Ａと、レジスタ２の出力Ｄ００〜Ｄ３０の値とサンプリングクロックＣＫ２でサンプリングした受信データＤＡＴ０〜ＤＡＴ３の値とを比較して上述の有効期間の終了エッジが受信クロックＣＫ０のデータ取り込みエッジに接近したことを検出するエッジ検出部３Ｂと、エッジ検出部３Ａまたはエッジ検出部３Ｂが上述の接近を検出したときに、その接近が解消する方向へ受信クロックＣＫ０の位相をシフトさせるよう位相調整部１へ指示する位相シフト制御部４と、を備える。
【００２８】
位相調整部１は、例えばＤＬＬ回路を用いるものであり、入力クロックＣＫの位相を調整して、受信クロックＣＫ０、受信クロックＣＫ０よりも位相の早いサンプリングクロックＣＫ１および受信クロックＣＫ０よりも位相の遅いサンプリングクロックＣＫ２を出力する。
【００２９】
受信クロックＣＫ０とサンプリングクロックＣＫ１、ＣＫ２との位相差は、受信データＤＡＴ０〜ＤＡＴ３のデータ・ウィンドウの位相変動の検出感度によって決定される。受信クロックＣＫ０とサンプリングクロックＣＫ１、ＣＫ２との位相差を大きくするほど、受信データＤＡＴ０〜ＤＡＴ３のデータ・ウィンドウの位相変動の検出感度は高くなる。
【００３０】
位相調整部１は、入力クロックＣＫの位相の調整に連動させて、サンプリングクロックＣＫ１、ＣＫ２の位相も調整する。これにより、受信クロックＣＫ０とサンプリングクロックＣＫ１、ＣＫ２との位相差は、常に一定に保たれる。
【００３１】
レジスタ２は、受信クロックCＫ０のデータ取り込みエッジ（例えば、立ち上りエッジ）で受信データＤＡＴ０〜ＤＡＴ３を取り込み、出力Ｄ００〜Ｄ３０を出力する。
【００３２】
エッジ検出部３Ａは、サンプリングクロックＣＫ１でサンプリングした受信データＤＡＴ０〜ＤＡＴ３の値を格納するレジスタ３１Ａと、レジスタ２の出力Ｄ００〜Ｄ３０の値とレジスタ３１Ａの出力Ｄ０１〜Ｄ３１の値とを１ビットごとに比較し、いずれかのビットで不一致を検出したときに、データ・ウィンドウの有効期間の開始エッジが受信クロックCＫ０のデータ取り込みエッジに接近したことを示す開始エッジ検出信号Ｋを出力する比較部３２Ａと、を有する。
【００３３】
エッジ検出部３Ｂは、サンプリングクロックＣＫ２でサンプリングした受信データＤＡＴ０〜ＤＡＴ３の値を格納するレジスタ３１Ｂと、レジスタ２の出力Ｄ００〜Ｄ３０の値とレジスタ３１Ｂの出力Ｄ０２〜Ｄ３２の値とを１ビットごとに比較し、いずれかのビットで不一致を検出したときに、データ・ウィンドウの有効期間の終了エッジが受信クロックCＫ０のデータ取り込みエッジに接近したことを示す終了エッジ検出信号Ｓを出力する比較部３２Ｂと、を有する。
【００３４】
位相シフト制御部４は、エッジ検出部３Ａから出力される開始エッジ検出信号Ｋの出力回数をカウントするカウンタ４１と、エッジ検出部３Ｂから出力される終了エッジ検出信号Ｓの出力回数をカウントするカウンタ４２と、を有する。
【００３５】
位相シフト制御部４は、カウンタ４１のカウント値が予め定めた所定の値に達すると、位相調整指示信号Ｐを出力して、受信クロックＣＫ０の位相を遅れ方向へシフトさせるよう位相調整部１へ指示し、カウンタ４２のカウント値が予め定めた所定の値に達すると、位相調整指示信号Ｍを出力して、受信クロックＣＫ０の位相を進み方向へシフトさせるよう位相調整部１へ指示する。
【００３６】
カウンタ４１およびカウンタ４２を用いる理由は、ノイズなどの影響で開始エッジ検出信号Ｋあるいは終了エッジ検出信号Ｓが偶発的に出力されたときに、直ちに受信クロックＣＫ０の位相調整動作に入るのではなく、一定時間、ＤＡＴ［３：０］のデータ・ウィンドウの有効期間の変動が継続したときに受信クロックＣＫ０の位相調整動作に入るようにするためである。
【００３７】
図４に、エッジ検出部３Ａの比較部３２Ａの内部構成の例を示す。
【００３８】
比較部３２Ａは、レジスタ２の出力Ｄ００〜Ｄ３０の値とレジスタ３１Ａの出力Ｄ０１〜Ｄ３１の値とを１ビットごとに比較し、その値が不一致のときに論理‘１’を出力する比較器ＣＭＰ１〜ＣＭＰ４と、比較器ＣＭＰ１〜ＣＭＰ４の論理和を求めるＯＲゲートＯＲ１と、を有する。
【００３９】
これにより、比較器ＣＭＰ１〜ＣＭＰ４のいずれかに論理‘１’が出力されると、ＯＲゲートＯＲ１の出力である開始エッジ検出信号Ｋには、論理‘１’が出力される。
【００４０】
この比較部３２Ａの内部構成と同じ構成を、エッジ検出部３Ｂの比較部３２Ｂもとる。比較部３２Ｂの場合、比較器ＣＭＰ１〜ＣＭＰ４のいずれかに論理‘１’が出力されると、ＯＲゲートＯＲ１から、終了エッジ検出信号Ｓとして論理‘１’が出力される。
【００４１】
図５に、比較部３２Ａによる開始エッジ検出動作の様子を示す。
【００４２】
図５（ａ）に示したＤＡＴ［３：０］のデータ・ウィンドウの有効期間が、図５（ｂ）に示すように、位相が遅れる方向へ変動して、データ・ウィンドウの有効期間の開始エッジが、サンプリングクロックＣＫ１の位相位置を超える位置まで移動したとする。
【００４３】
このとき、図５（ｃ）に示すように、データ・ウィンドウの有効期間の開始エッジがＤＡＴ１で決定されている場合、比較部３２ＡのＣＭＰ２の出力が論理‘１’となり、開始エッジ検出信号Ｋに論理‘１’が出力される。
【００４４】
これに対して、図５（ｄ）に示すように、データ・ウィンドウの有効期間の開始エッジがＤＡＴ２で決定されている場合は、比較部３２ＡのＣＭＰ３の出力が論理‘１’となることにより、開始エッジ検出信号Ｋに論理‘１’が出力される。
【００４５】
次に、図６に、比較部３２Ｂによる終了エッジ検出動作の様子を示す。
【００４６】
図６（ａ）に示したＤＡＴ［３：０］のデータ・ウィンドウの有効期間が、図６（ｂ）に示すように、位相が早まる方向へ変動して、データ・ウィンドウの有効期間の終了エッジが、サンプリングクロックＣＫ２の位相位置を超える位置まで移動したとする。
【００４７】
このとき、図６（ｃ）に示すように、データ・ウィンドウの有効期間の終了エッジがＤＡＴ１で決定されている場合、比較部３２ＢのＣＭＰ２の出力が論理‘１’となり、終了エッジ検出信号Ｓに論理‘１’が出力される。
【００４８】
これに対して、図６（ｄ）に示すように、データ・ウィンドウの有効期間の終了エッジがＤＡＴ２で決定されている場合は、比較部３２ＢのＣＭＰ３の出力が論理‘１’となることにより、終了エッジ検出信号Ｓに論理‘１’が出力される。
【００４９】
次に、図７〜図９を用いて、データ・ウィンドウの有効期間の位相変動に応じて受信クロックＣＫ０の位相が調整される動作について説明する。ここでは、位相シフト制御部４のカウンタ４１およびカウンタ４２のカウント値が‘４’に達したときに、受信クロックＣＫ０の位相調整が行われるものとする。また、各図に、カウンタ４１およびカウンタ４２のカウント値を、それぞれＣＴ１、ＣＴ２として示す。
【００５０】
図７は、データ・ウィンドウの有効期間の位相が位相遅れ方向へ変動したときの、受信クロックＣＫ０の位相調整の例である。
【００５１】
受信データＤＡＴ［３：０］の遅延時間の増加により、図７（ａ）に示す位置にあったデータ・ウィンドウの有効期間が、図７（ｂ）に示す位置まで移動し、データ・ウィンドウの有効期間の開始エッジがサンプリングクロックＣＫ１の後方となると、位相シフト制御部４のカウンタ４１のカウント値ＣＴ１が、ＣＴ１＝１となる。
【００５２】
このような状態になると、データ・ウィンドウの有効期間の開始エッジ側に対する、受信クロックＣＫ０のデータ読み取りマージンが減少する。
【００５３】
その後、図７（ｃ）〜図７（ｅ）に示すように、位相遅れ方向へのデータ・ウィンドウの有効期間の移動が継続すると、カウンタ４１のカウント値ＣＴ１は、ＣＴ１＝２、３，４と増加する。
【００５４】
ＣＴ１＝４となると、位相シフト制御部４は、位相調整部１へ位相調整指示信号Ｐを出力する。
【００５５】
位相調整指示信号Ｐの出力を受けて、位相調整部１は、図７（ｆ）に示すように、受信クロックＣＫ０の位相を遅れ方向へシフトさせる。
【００５６】
この位相シフトにより、データ・ウィンドウの有効期間の開始エッジ側に対する、受信クロックＣＫ０のデータ読み取りマージンは回復する。
【００５７】
なお、カウンタ４１のカウント値ＣＴ１は、位相調整指示信号Ｐの出力時にクリアされて、ＣＴ１＝０となる。
【００５８】
図８は、データ・ウィンドウの有効期間の位相が位相進み方向へ変動したときの、受信クロックＣＫ０の位相調整の例である。
【００５９】
受信データＤＡＴ［３：０］の遅延時間の減少により、図８（ａ）に示す位置にあったデータ・ウィンドウの有効期間が、図８（ｂ）に示す位置まで移動し、データ・ウィンドウの有効期間の終了エッジがサンプリングクロックＣＫ２の前方となると、位相シフト制御部４のカウンタ４２のカウント値ＣＴ２が、ＣＴ２＝１となる。
【００６０】
このような状態になると、データ・ウィンドウの有効期間の終了エッジ側に対する、受信クロックＣＫ０のデータ読み取りマージンが減少する。
【００６１】
その後、図８（ｃ）〜図８（ｅ）に示すように、位相進み方向へのデータ・ウィンドウの有効期間の移動が継続すると、カウンタ４２のカウント値Ｃ２は、ＣＴ２＝２、３，４と増加する。
【００６２】
ＣＴ２＝４となると、位相シフト制御部４は、位相調整部１へ位相調整指示信号Ｍを出力する。
【００６３】
位相調整指示信号Ｍの出力を受けて、位相調整部１は、図８（ｆ）に示すように、受信クロックＣＫ０の位相を進み方向へシフトさせる。
【００６４】
この位相シフトにより、データ・ウィンドウの有効期間の終了エッジ側に対する、受信クロックＣＫ０のデータ読み取りマージンは回復する。
【００６５】
なお、カウンタ４２のカウント値ＣＴ２は、位相調整指示信号Ｍの出力時にクリアされて、ＣＴ２＝０となる。
【００６６】
通常、データ通信時の遅延方向は一方向であり、図７および図８に示したように、位相シフト制御部４のカウンタ４１とカウンタ４２は、そのいずれか１つのみがカウント動作を行う。しかし、受信データＤＡＴ［３：０］にノイズが重畳した場合、カウンタ４１とカウンタ４２の両方がカウント動作を行うことがある。
【００６７】
図９に、受信データＤＡＴ［３：０］にノイズが重畳したときの動作例を示す。
【００６８】
図９（ａ）に示す位置にデータ・ウィンドウの有効期間がある受信データＤＡＴ［３：０］に、図９（ｂ）に示すように、サンプリングクロックＣＫ２付近でノイズが重畳すると、このノイズの影響を受けて、カウンタ４２のカウント値ＣＴ２が、ＣＴ２＝１となることがある。
【００６９】
その後、図９（ｃ）〜図９（ｆ）に示すような、位相遅れ方向へのデータ・ウィンドウの有効期間の移動が発生し、カウンタ４１のカウント値ＣＴ１が、ＣＴ１＝４まで増加したとする。
【００７０】
この場合、位相シフト制御部４は、カウンタ４１のカウント値に基づいて、位相調整部１へ位相調整指示信号Ｐを出力する。これにより、位相調整部１は、図９（ｇ）に示すように、受信クロックＣＫ０の位相を遅れ方向へシフトさせる。
【００７１】
このとき、カウンタ４２のカウント値ＣＴ２も、位相調整指示信号Ｐの出力時にカウンタ４１のカウント値ＣＴ１とともにクリアして、ＣＴ２＝０とするようにする。これにより、受信クロックＣＫ０の位相シフト動作に、偶発的発生するノイズが影響することが防止される。
【００７２】
このような本実施例によれば、受信データのデータ・ウィンドウの有効期間の位相変動が一定期間継続すると、その位相変動に応じて、受信クロックの位相を調整することができる。これにより、受信データのデータ・ウィンドウに対する受信クロックの読み取りマージンを確保することができ、受信エラーの発生を防止することができる。
【実施例２】
【００７３】
ＳＤカードの場合、セクタ単位でデータの読み出しが行われるため、連続してデータを転送した後に、データの転送が断続的になることがある。その場合、連続転送中に上昇したＳＤカードの温度が、断続的な転送中は上下することになる。これにより、連続転送中に増加した出力データの遅延時間が、断続的な転送中は遅くなったり早くなったりと、変動する。断続の間隔が短い場合、遅延時間の変動幅は小さい。
【００７４】
小さい幅で遅延時間が変動すると、受信データＤＡＴ［３：０］のデータ・ウィンドウの有効期間も小さい幅で変動する。データ・ウィンドウの有効期間が小さい幅で変動すると、位相シフト制御部４のカウンタ４１およびカウンタ４２が、ともにカウント動作を行い、予め定めた所定の値に満たない値をカウントした状態で、どちらのカウンタもカウント動作を停止することがある。その後、さらに、小さい幅でデータ・ウィンドウの有効期間が変動すると、データ・ウィンドウの有効期間の変動幅が小さいにも拘らず、カウンタ４１あるいはカウンタ４２の累積カウント値が所定値に達することがある。そのため、実施例１の通信インタフェース回路では、位相調整部１による受信クロックＣＫ０の位相調整が行われる。
【００７５】
しかし、この場合、データ・ウィンドウの有効期間の位置が元の位置からそれほど変化しているわけではないので、受信クロックＣＫ０の位相調整は行わなくてもよい。逆に、受信クロックＣＫ０の位相調整を行うことによって、受信データの取り込みマージンが減少することもある。
【００７６】
そこで、本実施例では、データ・ウィンドウの有効期間に、幅が小さく、かつ変動の方向が交互に逆向きとなる変動が生じたときに、受信クロックＣＫ０の不必要な位相調整が行われることを防止することのできる、通信インタフェース回路の例を示す。
【００７７】
図１０は、本発明の実施例２に係る通信インタフェース回路の構成の例を示すブロック図である。
【００７８】
本実施例の通信インタフェース回路は、実施例１の通信インタフェース回路にクリア部５を追加したものである。
【００７９】
クリア部５は、位相シフト制御部４のカウンタ４１およびカウンタ４２が、ともに、予め定めた所定の値に満たない値をカウントした状態でカウント動作を停止したときに、カウンタ４１およびカウンタ４２のカウント値をクリアする。
【００８０】
図１１に、このクリア部５の動作の様子を示す。なお、本実施例においても、実施例１と同様、位相シフト制御部４のカウンタ４１およびカウンタ４２のカウント値が‘４’に達したときに、受信クロックＣＫ０の位相調整が行われるものとする。
【００８１】
図１１（ａ）に示す位相位置から図１１（ｂ）に示す位相位置まで、受信データＤＡＴ［３：０］のデータ・ウィンドウの有効期間の位置が変化すると、位相シフト制御部４のカウンタ４１のカウント値ＣＴ１が、ＣＴ１＝１となる。
【００８２】
さらに、図１１（ｃ）に示すように、同じ方向への位相変動が続くと、カウンタ４１のカウント値ＣＴ１は、ＣＴ１＝２となる。
【００８３】
その後、位相変動方向が逆向きになって、図１１（ｄ）に示す位相位置まで、受信データＤＡＴ［３：０］のデータ・ウィンドウの有効期間の位置が変化すると、今度は、位相シフト制御部４のカウンタ４２のカウント値ＣＴ２が、ＣＴ２＝１となる。
【００８４】
さらに、図１１（ｅ）に示すように、同じ方向への位相変動が続くと、カウンタ４２のカウント値ＣＴ２は、ＣＴ２＝２となる。
【００８５】
その後、また、位相変動方向が逆向きになって、図１１（ｆ）に示す位相位置まで受信データＤＡＴ［３：０］のデータ・ウィンドウの有効期間の位置が戻ると、カウンタ４１とカウンタ４２のカウント値は、ＣＴ１＝２、ＣＴ２＝２で停止する。
【００８６】
この状態になると、クリア部５は、カウンタ４１およびカウンタ４２のカウント値をクリアする。すなわち、ＣＴ１＝０、ＣＴ２＝０となる。
【００８７】
このように、予め定めた所定の値に満たないカウント値でカウント動作が停止したときはカウンタ４１およびカウンタ４２のカウント値をクリアすることにより、本実施例では、一方向への位相変動が連続して発生したときのみ、位相調整部１による受信クロックＣＫ０の位相調整が行われる。
【００８８】
このような本実施例によれば、受信クロックの不必要な位相調整を行わないことによって、受信データの取り込みマージンが減少することを防止することができ、受信エラーが発生する確率を低減させることができる。
【符号の説明】
【００８９】
１  位相調整部
２  レジスタ
３Ａ、３Ｂ  エッジ検出部
４  位相シフト制御部
５  クリア部
３１Ａ、３１B  レジスタ
３２Ａ、３２B  比較部
４１、４２  カウンタ
ＣＭＰ１〜ＣＭＰ４  比較器
ＯＲ１  ＯＲゲート
【図１】
2011114387.tif 000003
【図２】
2011114387.tif 000004
【図３】
2011114387.tif 000005
【図４】
2011114387.tif 000006
【図５】
2011114387.tif 000007
【図６】
2011114387.tif 000008
【図７】
2011114387.tif 000009
【図８】
2011114387.tif 000010
【図９】
2011114387.tif 000011
【図１０】
2011114387.tif 000012
【図１１】
2011114387.tif 000013