(57)【要約】【課題】クロック信号とデータ信号とを別の配線で送信する送受信システムにおいて、スキューを解消する。【解決手段】レシーバ２が、クロック信号を受け取る受信側アンプ２１と、データ信号を受け取る受信側アンプ２２と、クロック信号とデータ信号を遅延して遅延調整後クロック信号及び遅延調整後データ信号とを生成する可変遅延回路２３と、遅延調整後クロック信号に同期して遅延調整後データ信号をラッチするラッチ回路部２４と、スキュー検出回路２５とを具備する。スキュー検出回路は、データ信号又はデータ信号を遅延して得られる遅延データ信号によって伝送される特定データ列を、クロック信号からの遅延時間が異なる第１〜第Ｎクロック信号（Ｎは、２以上の整数）に同期してラッチすることでスキュー検出データを生成し、スキュー検出データに応じて、クロック信号とデータ信号が可変遅延回路２３において遅延される遅延時間を制御する。【選択図】図１
2014168195.tif 000002
【特許請求の範囲】
【請求項１】
外部クロック信号を受け取ってクロック信号を出力する第１受信部と、
外部データ信号を受け取ってデータ信号を出力する第２受信部と、
前記クロック信号と前記データ信号の少なくとも一方の信号を遅延することにより遅延調整後クロック信号及び遅延調整後データ信号とを生成するように構成された可変遅延回路と、
前記遅延調整後クロック信号に同期して前記遅延調整後データ信号をラッチして出力データ信号を生成するラッチ回路部と、
前記データ信号又は前記データ信号を遅延して得られる遅延データ信号によって伝送される特定データ列を、前記クロック信号からの遅延時間が異なる第１〜第Ｎクロック信号（Ｎは、２以上の整数）に同期してラッチすることでスキュー検出データを生成し、前記スキュー検出データに応じて、前記少なくとも一方の信号が前記可変遅延回路において遅延される遅延時間を制御するスキュー検出回路
とを具備する
受信装置。
【請求項２】
請求項１に記載の受信装置であって、
前記スキュー検出回路は、前記スキュー検出データに応じて前記可変遅延回路に前記少なくとも一方の信号が遅延される遅延時間を制御する制御信号を生成し、
前記可変遅延回路は、前記第１〜第Ｎクロック信号を生成すると共に、前記制御信号に応じて前記第１〜第Ｎクロック信号のいずれかを選択して前記遅延調整後クロック信号として出力し、
前記第１〜第Ｎクロック信号が前記可変遅延回路から前記スキュー検出回路に供給される
受信装置。
【請求項３】
請求項２に記載の受信装置であって、
前記可変遅延回路は、前記データ信号を所定の遅延時間だけ遅延して前記遅延データ信号を生成すると共に、前記遅延データ信号から前記遅延調整後データ信号を生成し、
前記遅延データ信号が前記可変遅延回路から前記スキュー検出回路に供給され、
前記スキュー検出回路は、前記遅延データ信号によって伝送される前記特定データ列を、前記第１〜第Ｎクロック信号に同期してラッチすることで前記スキュー検出データを生成する
受信装置。
【請求項４】
請求項１に記載の受信装置であって、
前記スキュー検出回路は、前記スキュー検出データに応じて前記可変遅延回路に前記少なくとも一方の信号が遅延される遅延時間を制御する制御信号を生成し、
前記可変遅延回路は、
前記データ信号を遅延して前記遅延調整後データ信号を生成するデータ可変遅延部と、
前記クロック信号を遅延して前記遅延調整後クロック信号を生成するクロック可変遅延部
とを含み、
前記データ可変遅延部は、
前記データ信号を、第１遅延時間だけ遅延して第１遅延信号を出力する第１遅延回路と、
前記第１遅延信号を、第２遅延時間だけ遅延して第２遅延信号を出力する第２遅延回路と、
前記制御信号に応じて前記第１遅延信号と前記第２遅延信号のいずれかを前記遅延調整後データ信号として選択する第１選択回路
とを含み、
前記クロック可変遅延部は、
前記クロック信号を、前記第１遅延時間だけ遅延して第３遅延信号を出力する第３遅延回路と、
前記クロック信号を、前記第２遅延時間だけ遅延して第４遅延信号を出力する第４遅延回路と、
前記制御信号に応じて前記第３遅延信号と前記第４遅延信号のいずれかを前記遅延調整後クロック信号として選択する第２選択回路
とを含み、
前記第２遅延時間は、実質的に前記クロック信号の周期の半分に一致する
受信装置。
【請求項５】
請求項４に記載の受信装置であって、
更に、
前記クロック信号からの遅延時間が異なる複数の第１順次遅延信号を前記クロック信号から生成する第１順次遅延部と、
前記クロック信号を前記複数の第１順次遅延信号に同期してラッチし、又は、前記複数の第１順次遅延信号を前記クロック信号でラッチして遅延制御データを取得する遅延制御データ取得部と、
タイミング検出回路と、
第１遅延選択回路
とを具備し、
前記第２遅延回路は、前記第１遅延信号からの遅延時間が異なる複数の第２順次遅延信号を前記第１遅延信号から生成する第２順次遅延部を備え、
前記タイミング検出回路は、前記遅延制御データに応答して前記複数の第２順次遅延信号のいずれかを前記第２遅延信号として決定し、
前記第１遅延選択回路は、前記タイミング検出回路による決定に応じて、前記複数の第２順次遅延信号のいずれかを前記第２遅延信号として出力する
受信装置。
【請求項６】
請求項５に記載の受信装置であって、
前記第４遅延回路は、前記第３遅延信号からの遅延時間が異なる複数の第３順次遅延信号を前記第３遅延信号から生成する第３順次遅延部と、
第２遅延選択回路
とを備え、
前記タイミング検出回路は、前記遅延制御データに応答して前記複数の第３順次遅延信号のいずれかを前記第３遅延信号として決定し、
前記第２遅延選択回路は、前記タイミング検出回路による決定に応じて、前記複数の第３順次遅延信号のいずれかを前記第３遅延信号として出力する
受信装置。
【請求項７】
請求項１乃至６のいずれかに記載の受信装置であって、
前記受信装置への前記外部クロック信号及び前記外部データ信号への伝送は、ＭＩＰＩ  Ｄ−ＰＨＹ規格に準拠して行われ、
前記特定データ列は、ＨＹ−ＳＹＮＣコードに含まれるデータ列である
受信装置。
【請求項８】
請求項１に記載の受信装置であって、
更に、
前記スキュー検出回路に前記データ信号又は前記遅延データ信号を供給する第１信号ラインと、
前記スキュー検出回路の前記クロック信号を供給する第２信号ラインと、
前記第１信号ラインに設けられた第１スイッチと、
前記第２信号ラインに設けられた第２スイッチ
とを具備し、
前記スキュー検出回路は、前記スキュー検出データに応じて前記可変遅延回路に前記少なくとも一方の信号が遅延される遅延時間を制御する制御信号を生成し、
前記第１スイッチと前記第２スイッチとは、前記特定データ列が伝送される期間を含む特定期間において、前記データ信号又は前記遅延データ信号を前記スキュー検出回路に供給すると共に前記クロック信号を前記スキュー検出回路に供給し、
前記第１スイッチと前記第２スイッチとは、前記特定期間以外の期間において、前記データ信号又は前記遅延データ信号の前記スキュー検出回路への供給、及び、前記クロック信号の前記スキュー検出回路への供給を遮断し、
前記スキュー検出回路は、前記特定期間以外の期間において、前記制御信号の値をホールドする
受信装置。
【請求項９】
請求項１に記載の受信装置であって、
更に、
前記スキュー検出回路に前記データ信号又は前記遅延データ信号を供給する第１信号ラインと、
前記スキュー検出回路の前記第１〜第Ｎクロック信号を供給する第２信号ラインと、
前記第１信号ラインに設けられた第１スイッチと、
前記第２信号ラインに設けられた第２スイッチ
とを具備し、
前記スキュー検出回路は、前記スキュー検出データに応じて前記可変遅延回路に前記少なくとも一方の信号が遅延される遅延時間を制御する制御信号を生成し、
前記第１スイッチと前記第２スイッチとは、前記特定データ列が伝送される期間を含む特定期間において、前記データ信号又は前記遅延データ信号を前記スキュー検出回路に供給すると共に前記第１〜第Ｎクロック信号を前記スキュー検出回路に供給し、
前記第１スイッチと前記第２スイッチとは、前記特定期間以外の期間において、前記データ信号又は前記遅延データ信号の前記スキュー検出回路への供給、及び、前記クロック信号の前記スキュー検出回路への供給を遮断し、
前記スキュー検出回路は、前記特定期間以外の期間において、前記制御信号の値をホールドする
受信装置。
【請求項１０】
請求項１に記載の受信装置であって、
第２外部データ信号を受け取って第２データ信号を出力する第３受信部と、
前記クロック信号と前記第２データ信号の少なくとも一方の信号を遅延することにより第２遅延調整後クロック信号及び第２遅延調整後データ信号とを生成するように構成された第２可変遅延回路と、
前記第２遅延調整後クロック信号に同期して前記第２遅延調整後データ信号をラッチして第２出力データ信号を生成する第２ラッチ回路部と、
前記第２データ信号又は前記第２データ信号を遅延して得られる第２遅延データ信号によって伝送される特定データ列を、前記クロック信号からの遅延時間が異なる第１〜第Ｎクロック信号（Ｎは、２以上の整数）に同期してラッチすることで第２スキュー検出データを生成し、前記第２スキュー検出データに応じて、前記少なくとも一方の信号が前記第２可変遅延回路において遅延される遅延時間を制御する第２スキュー検出回路
とを具備する
受信装置。
【請求項１１】
外部クロック信号を受け取ってクロック信号を出力する第１受信部と、
外部データ信号を受け取ってデータ信号を出力する第２受信部と、
前記クロック信号と前記データ信号の少なくとも一方の信号を遅延することにより遅延調整後クロック信号及び遅延調整後データ信号とを生成する可変遅延回路と、
前記遅延調整後クロック信号に同期して前記遅延調整後データ信号をラッチして出力データ信号を生成するラッチ回路部と、
前記データ信号からの遅延時間が異なる第１〜第Ｎデータ信号（Ｎは、２以上の整数）によって伝送される特定データ列を前記クロック信号又は前記クロック信号を遅延して得られる遅延クロック信号に同期してラッチすることでスキュー検出データを生成し、前記スキュー検出データに応じて、前記少なくとも一方の信号が遅延される遅延時間を制御するスキュー検出回路
とを具備する
受信装置。
【請求項１２】
請求項１１に記載の受信装置であって、
前記スキュー検出回路は、前記スキュー検出データに応じて前記可変遅延回路に前記少なくとも一方の信号が遅延される遅延時間を制御する制御信号を生成し、
前記可変遅延回路は、前記第１〜第Ｎデータ信号を生成すると共に、前記制御信号に応じて前記第１〜第Ｎデータ信号のいずれかを選択して前記遅延調整後データ信号として出力し、
前記第１〜第Ｎデータ信号が前記可変遅延回路から前記スキュー検出回路に供給される
受信装置。
【請求項１３】
請求項１２に記載の受信装置であって、
前記可変遅延回路は、前記クロック信号を所定の遅延時間だけ遅延して前記遅延クロック信号を生成すると共に、前記遅延クロック信号から前記遅延調整後クロック信号を生成し、
前記遅延クロック信号が前記可変遅延回路から前記スキュー検出回路に供給され、
前記スキュー検出回路は、前記第１〜第Ｎデータ信号によって伝送される前記特定データ列を、前記遅延クロック信号に同期してラッチすることで前記スキュー検出データを生成する
受信装置。
【請求項１４】
送信装置と、
前記送信装置から外部クロック信号及び外部データ信号を受け取る受信装置
とを具備し、
前記受信装置は、
前記外部クロック信号を受け取ってクロック信号を出力する第１受信部と、
前記外部データ信号を受け取ってデータ信号を出力する第２受信部と、
前記クロック信号と前記データ信号の少なくとも一方の信号を遅延することにより遅延調整後クロック信号及び遅延調整後データ信号とを生成するように構成された可変遅延回路と、
前記遅延調整後クロック信号に同期して前記遅延調整後データ信号をラッチして出力データ信号を生成するラッチ回路部と、
前記データ信号又は前記データ信号を遅延して得られる遅延データ信号によって伝送される特定データ列を、前記クロック信号からの遅延時間が異なる第１〜第Ｎクロック信号（Ｎは、２以上の整数）に同期してラッチすることでスキュー検出データを生成し、前記スキュー検出データに応じて、前記少なくとも一方の信号が前記可変遅延回路において遅延される遅延時間を制御するスキュー検出回路
とを具備する
送受信システム。
【請求項１５】
送信装置と、
前記送信装置から外部クロック信号及び外部データ信号を受け取る受信装置
とを具備し、
前記受信装置は、
前記外部クロック信号を受け取ってクロック信号を出力する第１受信部と、
前記外部データ信号を受け取ってデータ信号を出力する第２受信部と、
前記クロック信号と前記データ信号の少なくとも一方の信号を遅延することにより遅延調整後クロック信号及び遅延調整後データ信号とを生成する可変遅延回路と、
前記遅延調整後クロック信号に同期して前記遅延調整後データ信号をラッチして出力データ信号を生成するラッチ回路部と、
前記データ信号から生成された、前記データ信号からの遅延時間が異なる第１〜第Ｎデータ信号（Ｎは、２以上の整数）によって伝送される特定データ列を前記クロック信号又は前記クロック信号を遅延して得られる遅延クロック信号に同期してラッチすることでスキュー検出データを生成し、前記スキュー検出データに応じて、前記少なくとも一方の信号が遅延される遅延時間を制御するスキュー検出回路
とを具備する
送受信システム。
【請求項１６】
請求項１４又は１５に記載の送受信システムであって、
前記送信装置から前記受信装置への前記外部クロック信号及び前記外部データ信号への伝送は、ＭＩＰＩ  Ｄ−ＰＨＹ規格に準拠して行われ、
前記特定データ列は、ＨＹ−ＳＹＮＣコードに含まれるデータ列である
送受信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信装置及び送受信システムに関し、特に、クロック信号とデータ信号とを別の配線で送信する送受信システム、及び、それに用いられる受信装置に関する。
【背景技術】
【０００２】
送信装置から受信装置にデータを送信する送受信システムで用いられるデータ通信方式の一つは、クロック信号とデータ信号とを別の配線で送信する方式である。例えば、ＭＩＰＩ規格（Mobile  Industry  Processor  Interface）による通信（例えば、ＭＩＰＩ  ＤＳＩやＭＩＰＩ  Ｄ−ＰＨＹ）は、このようなデータ通信方式に対応している。ＭＩＰＩ  Ｄ−ＰＨＹは、例えば、パネル表示装置のドライバＩＣへの高速データ通信に用いられており、近年の表示パネルの高解像度化に伴い、ＭＩＰＩ−Ｄ−ＰＨＹによるデータ通信において、更なる高速化が要求されている。
【０００３】
クロック信号とデータ信号とを別の配線で送信するデータ通信方式において、通信速度を増大させる上での一つの問題は、クロック信号とデータ信号との間でスキューが発生することである。高速通信においてはスキューの問題は非常に重大な問題になり得る。例えば、ＭＩＰＩ  Ｄ−ＰＨＹ規格に準拠した送受信システムにおいて１．５Ｇｂｐｓの通信速度で通信する場合のスキューの許容値は、数十〜数百ｐｓと非常に小さい。
【０００４】
スキューを解消するための技術は、例えば、特開平５−１１０５５０号公報、特開平１０−１６４０３７号公報、及び、特開２００４−２３６０１９号公報に知られている。しかしながら、発明者の検討によれば、これらの技術においては、スキューの解消において改良の余地がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−１１０５５０号公報
【特許文献２】特開平１０−１６４０３７号公報
【特許文献３】特開２００４−２３６０１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、本発明の目的は、クロック信号とデータ信号とを別の配線で送信する送受信システムにおいて、スキューを解消するための技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一の観点では、受信装置が、外部クロック信号を受け取ってクロック信号を出力する第１受信部と、外部データ信号を受け取ってデータ信号を出力する第２受信部と、クロック信号とデータ信号の少なくとも一方の信号を遅延することにより遅延調整後クロック信号及び遅延調整後データ信号とを生成するように構成された可変遅延回路と、遅延調整後クロック信号に同期して遅延調整後データ信号をラッチして出力データ信号を生成するラッチ回路部と、スキュー検出回路とを具備する。スキュー検出回路は、データ信号又はデータ信号を遅延して得られる遅延データ信号によって伝送される特定データ列を、クロック信号からの遅延時間が異なる第１〜第Ｎクロック信号（Ｎは、２以上の整数）に同期してラッチすることでスキュー検出データを生成し、スキュー検出データに応じて、該少なくとも一方の信号が可変遅延回路において遅延される遅延時間を制御する。
【０００８】
本発明の他の観点では、受信装置が、外部クロック信号を受け取ってクロック信号を出力する第１受信部と、外部データ信号を受け取ってデータ信号を出力する第２受信部と、クロック信号とデータ信号の少なくとも一方の信号を遅延することにより遅延調整後クロック信号及び遅延調整後データ信号とを生成する可変遅延回路と、遅延調整後クロック信号に同期して遅延調整後データ信号をラッチして出力データ信号を生成するラッチ回路部と、スキュー検出回路とを具備する。スキュー検出回路は、データ信号からの遅延時間が異なる第１〜第Ｎデータ信号（Ｎは、２以上の整数）によって伝送される特定データ列をクロック信号又はクロック信号を遅延して得られる遅延クロック信号に同期してラッチすることでスキュー検出データを生成し、スキュー検出データに応じて、該少なくとも一方の信号が遅延される遅延時間を制御する。
【０００９】
本発明の更に他の観点では、送受信システムが、送信装置と、送信装置から外部クロック信号及び外部データ信号を受け取る受信装置とを具備する。該受信装置は、上述の構成を有している。一実施形態では、送信装置から受信装置への外部クロック信号及び外部データ信号への伝送が、ＭＩＰＩ  Ｄ−ＰＨＹ規格に準拠して行われる。この場合、該特定データ列は、ＨＹ−ＳＹＮＣコードに含まれるデータ列であることが好ましい。
【発明の効果】
【００１０】
本発明によれば、クロック信号とデータ信号とを別の配線で送信する送受信システムにおいて、スキューを解消する技術が提供される。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態における送受信システムの構成を示すブロック図である。
【図２】ＨＳ−ＳＹＮＣコードを説明する図である。
【図３】本実施形態の送受信システムの動作を示すタイミングチャートである。
【図４】本実施形態の送受信システムの動作の変形例を示すタイミングチャートである。
【図５】本実施形態の送受信システムの動作の他の変形例を示すタイミングチャートである。
【図６Ａ】本実施形態の送受信システムの動作の更に他の変形例を示すタイミングチャートである。
【図６Ｂ】本実施形態の送受信システムの動作の更に他の変形例を示すタイミングチャートである。
【図７】他の実施形態における送受信システムの構成を示すブロック図である。
【図８】更に他の実施形態における送受信システムの構成を示すブロック図である。
【図９】更に他の実施形態における送受信システムの構成を示すブロック図である。
【図１０】更に他の実施形態における送受信システムの構成を示すブロック図である。
【図１１】実施例１における可変遅延回路、ラッチ回路及びスキュー検出回路の構成を示すブロック図である。
【図１２】実施例１におけるスキュー検出回路の動作を示すタイミングチャートである。
【図１３】実施例２における可変遅延回路、ラッチ回路及びスキュー検出回路の構成を示すブロック図である。
【図１４】実施例３における可変遅延回路、ラッチ回路及びスキュー検出回路の構成を示すブロック図である。
【図１５】実施例４における可変遅延回路、ラッチ回路及びスキュー検出回路の構成を示すブロック図である。
【図１６】実施例４におけるスキュー検出回路の動作を示すタイミングチャートである。
【図１７】実施例５における可変遅延回路、ラッチ回路及びスキュー検出回路の構成を示すブロック図である。
【図１８】実施例６における可変遅延回路、ラッチ回路及びスキュー検出回路の構成を示すブロック図である。
【図１９】実施例７における可変遅延回路、ラッチ回路及びスキュー検出回路の構成を示すブロック図である。
【図２０】実施例７におけるスキュー検出回路の動作を示すタイミングチャートである。
【図２１Ａ】実施例７における、遅延時間をＵＩ／２に調節するための遅延回路の構成を示すブロック図である。
【図２１Ｂ】実施例７における、遅延時間をＵＩ／２に調節するための遅延回路の他の構成を示すブロック図である。
【図２２Ａ】図２１Ａの遅延回路の動作を示すタイミングチャートである。
【図２２Ｂ】図２１Ｂの遅延回路の動作を示すタイミングチャートである。
【図２３】遅延時間が可変である遅延回路の構成を示すブロック図である。
【図２４】実施例８における送受信システムの構成を示すブロック図である。
【図２５】実施例８における送受信システムの変形例を示すブロック図である。
【図２６】実施例９における送受信システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
図１は、本実施形態の一実施形態の送受信システムの構成を示すブロック図である。当該送受信システムは、トランスミッタ（送信装置）１とレシーバ（受信装置）２とを備えている。トランスミッタ１とレシーバ２とは、伝送線路３、４を介して接続されている。トランスミッタ１は、レシーバ２に、データ信号ＤＡＴＡ及びクロック信号ＣＬＯＣＫを、それぞれ、伝送線路３、４を介して送信する。本実施形態では、トランスミッタ１からレシーバ２へのデータ信号ＤＡＴＡ及びクロック信号ＣＬＯＣＫの送信は、ＭＩＰＩ  Ｄ−ＰＨＹ規格に準拠して行われる。
【００１３】
トランスミッタ１は、送信側アンプ１１、１２を備えており、レシーバ２は、受信側アンプ２１、２２を備えている。送信側アンプ１１、１２としては、いずれも、高速アンプが使用される。トランスミッタ１の送信側アンプ１１は、データ信号ＤＡＴＡを、伝送線路３を介してレシーバ２に送信する第１の送信部として機能する。トランスミッタ１の送信側アンプ１２は、クロック信号ＣＬＯＣＫを、伝送線路４を介してレシーバ２の受信側アンプ２２に送信する第２の送信部として機能する。伝送線路３、４においては、データ信号ＤＡＴＡ、クロック信号ＣＬＯＣＫは、いずれも、差動小振幅信号として伝送される。
【００１４】
レシーバ２は、受信側アンプ２１、２２は、それぞれ、差動小振幅信号としてトランスミッタ１から伝送されたデータ信号ＤＡＴＡ（外部データ信号）及びクロック信号ＣＬＯＣＫ（外部クロック信号）を受け取り、受け取ったデータ信号ＤＡＴＡ、クロック信号ＣＬＯＣＫをシングルエンド信号に変換する受信部として機能する。即ち、受信側アンプ２１、２２から出力されるデータ信号ＤＡＴＡ、クロック信号ＣＬＯＣＫは、いずれも、シングルエンド信号である。受信側アンプ２１、２２としては、いずれも、高速アンプが使用される。ここで、レシーバ２の受信側アンプ２１から出力されるデータ信号ＤＡＴＡは、クロック信号ＣＬＯＣＫの半周期に１ビットのデータを伝送する信号である。即ち、データ信号ＤＡＴＡは、クロック信号ＣＬＯＣＫの各エッジ（立ち上がりエッジ及び立ち下がりエッジの両方を含む）あたり、１ビットのデータを含んでいることになる。
【００１５】
レシーバ２は、更に、可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５とを備えている。可変遅延回路２３は、受信側アンプ２１、２２から出力されたデータ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間の相対的な遅延を調節する回路であり、その一方の信号を他方の信号に対して、特定の遅延時間だけ遅延させる機能を有している。ここで、当該遅延時間は、スキュー検出回路２５から供給される遅延制御信号ＳＣＴＲＬに応じて調節される。図１において、可変遅延回路２３によって遅延が調節されたデータ信号ＤＡＴＡとクロック信号ＣＬＯＣＫは、それぞれ、遅延調整後データ信号ＤＡＴＡＡＤＪ、遅延調整後クロック信号ＣＬＯＣＫＡＤＪとして図示されている。
【００１６】
ラッチ回路２４は、遅延調整後クロック信号ＣＬＯＣＫＡＤＪに同期して遅延調整後データ信号ＤＡＴＡＡＤＪをラッチし、出力データ信号ＤＯＵＴを生成する。本実施形態では、ラッチ回路２４は、遅延調整後クロック信号ＣＬＯＣＫＡＤＪの立ち上がりエッジと立ち下がりエッジとの両方に応答して遅延調整後データ信号ＤＡＴＡＡＤＪをラッチする。
【００１７】
スキュー検出回路２５は、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間のスキューを検出し、検出されたスキューに応じて遅延制御信号ＳＣＴＲＬを生成する。生成された遅延制御信号ＳＣＴＲＬは、可変遅延回路２３に送られる。可変遅延回路２３においては、スキューに応じて生成された遅延制御信号ＳＣＴＲＬに応答して、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間の相対的な遅延が制御されることになる。
【００１８】
本実施形態では、スキュー検出回路２５におけるスキューの検出は、データ信号ＤＡＴＡによって、特定のデータ列が特定のタイミングでレシーバ２に送られると判明しているという前提で行われる。そして、スキュー検出回路２５では、該特定のデータ列を、クロック信号ＣＬＯＣＫから生成された多相クロック信号に同期してラッチして得られる一群のデータ（以下、「スキュー検出データ」という。）を用いてスキューが検出される。
【００１９】
トランスミッタ１からレシーバ２へのデータ通信が、ＭＩＰＩ  Ｄ−ＰＨＹ規格に準拠して行われる本実施形態では、ＨＳ−ＳＹＮＣコードに含まれる特定のデータ列を、多相クロック信号に同期してラッチすることにより、スキュー検出データが生成される。図２は、ＨＳ−ＳＹＮＣコードを説明する図である。ＨＳ−ＳＹＮＣコードは、８ビットからなるシリアルコードであり、その値は、ＭＩＰＩ  Ｄ−ＰＨＹ規格において、“０００１１１０１”と定められている。ＨＳ−ＳＹＮＣコードは、ＭＩＰＩ  Ｄ−ＰＨＹ規格において、トランスミッタ１からレシーバ２へのデータ通信がＬＰ（low  power）モードからＨＳ（high  speed）モードに切り換えられるときに、データ信号ＤＡＴＡで送られるデータ列の先頭に挿入されると規定されている。これは、レシーバ２にとって、ＨＳ−ＳＹＮＣコードが送られるタイミングは既知であることを意味している
【００２０】
ＨＳ−ＳＹＮＣコードにはデータ列“０１１１０”が存在しており、本実施形態では、該データ列の１番目“１”と３番目の“１”（図２において、破線の楕円で示されている）が、スキュー検出データに利用される。データ信号ＤＡＴＡにおいて、クロック信号ＣＬＯＣＫの半周期あたりに１ビットが送信される本実施形態では、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間のタイミングが正常であれば、該データ列“０１１１０”の１番目“１”と３番目の“１”は、その両方が、クロック信号ＣＬＯＣＫの立ち下がりエッジでラッチされるか、クロック信号ＣＬＯＣＫの立ち上がりエッジでラッチされるかのいずれでなければならない。そして、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間のスキューが全く存在しない場合には、クロック信号ＣＬＯＣＫと位相が少し異なるクロック信号の立ち下がりエッジ又は立ち上がりエッジで該データ列“０１１１０”をラッチしても、該データ列“０１１１０”の１番目“１”と３番目の“１”が正常にラッチできるはずである。その一方で、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間にスキューが存在する場合には、クロック信号ＣＬＯＣＫと位相が少し異なるクロック信号の立ち下がりエッジ又は立ち上がりエッジで該データ列“０１１１０”をラッチすると、１番目“１”又は３番目の“１”が正常にラッチできず、データ“０”がラッチされることになる。これは、クロック信号ＣＬＯＣＫから生成された多相クロック信号の立ち下がりエッジ又は立ち上がりエッジで該データ列“０１１１０”をラッチして得られるデータ、即ち、スキュー検出データを参照することにより、スキューを検出できることを意味している。ここで、スキュー検出データを得るために用いられる多相クロック信号は、クロック信号ＣＬＯＣＫと同一の周波数を有しており、且つ、互いに位相が異なるように生成される。
【００２１】
図３は、本実施形態の送受信システムの動作を示しており、特に、ＨＳ−ＳＹＮＣコードに含まれるデータ列“０１１１０”を、クロック信号ＣＬＯＣＫから生成された多相クロック信号ＣＬＯＣＫ＃０〜＃２の立ち下がりエッジに同期してラッチすることにより得られるスキュー検出データを図示している。多相クロック信号ＣＬＯＣＫ＃０〜＃２は、データ信号ＤＡＴＡにおいてデータ列“０１１１０”が転送される時間帯に、それぞれ、２つの立ち下がりエッジを含んでいる。以下では、２つの立ち下がりエッジのうち、時間的に前の立ち下がりエッジを「前側立ち下がりエッジ」、時間的に後ろの立ち下がりエッジを「後側立ち下がりエッジ」ということにする。
【００２２】
一例としては、図３（ａ）に示されているように、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間のタイミングが正常である場合、多相クロック信号ＣＬＯＣＫ＃０〜＃２の前側立ち下がりエッジに同期してデータ列“０１１１０”の１番目の“１”がラッチされ、後側立ち下がりエッジに同期して３番目の“１”がラッチされる。この結果、得られるスキュー検出データは、全て“１”となる。
【００２３】
また、図３（ｂ）に示されているように、データ信号ＤＡＴＡに対してクロック信号ＣＬＯＣＫのタイミングが遅延するようなスキューが発生している場合、位相が相対的に遅い多相クロック信号（図３（ｂ）ではクロック信号ＣＬＯＣＫ＃１、＃２）の、後側立ち下がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になる。データ信号ＤＡＴＡに対するクロック信号ＣＬＯＣＫのタイミングの遅延が増大すると、“０”として得られるスキュー検出データの数も増大する。
【００２４】
更に、図３の（ｃ）に示されているように、クロック信号ＣＬＯＣＫに対してデータ信号ＤＡＴＡのタイミングが遅延するようなスキューが発生している場合、位相が相対的に進んでいる多相クロック信号（図３（ｃ）ではクロック信号ＣＬＯＣＫ＃０、＃１）の、前側立ち下がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になる。クロック信号ＣＬＯＣＫに対するデータ信号ＤＡＴＡのタイミングの遅延が増大すると、“０”として得られるスキュー検出データの数も増大する。
【００２５】
このように、“０”のスキュー検出データの存在により、スキューの発生を検出することができる。また、“０”のスキュー検出データが、前側立ち上がりエッジ、後側立ち上がりエッジのいずれで生じるかにより、スキューの向き（即ち、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫのいずれが遅れているか）を判別することができる。更に、“０”のスキュー検出データの数により、スキューの程度を判別することができる。このようにして生成されたスキュー検出データに応じて遅延制御信号ＳＣＴＲＬを生成し、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間の相対的なタイミングを遅延制御信号ＳＣＴＲＬに応答して制御することで、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間のスキューを解消することができる。
【００２６】
なお、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間のタイミングが、図３（ａ）〜（ｃ）のような関係となる多相クロック信号ＣＬＯＣＫ＃０〜＃２は、クロック信号ＣＬＯＣＫを適宜の遅延時間で遅延することで生成することができることに留意されたい。
【００２７】
ここで、データ信号ＤＡＴＡの代わりに、データ信号ＤＡＴＡを遅延して得られる遅延データ信号ＤＡＴＡＤＬＹを多相クロック信号ＣＬＯＣＫ＃０〜＃２に同期してラッチすることで、スキュー検出データを取得しても良い。データ信号ＤＡＴＡの代わりに、それを遅延して得られる遅延データ信号ＤＡＴＡＤＬＹを用いても、スキュー検出データの値が相違し得るだけであり、本質的な相違は無い。この場合でも、スキュー検出データから遅延制御信号ＳＣＴＲＬを生成するロジックを必要に応じて変更することで、適正な遅延制御信号ＳＣＴＲＬを生成することができる。
【００２８】
図３では、３個の多相クロック信号ＣＬＯＣＫ＃０〜＃２がスキュー検出データの生成に用いられているが、多相クロック信号の数は、３には限定されない。図４に示されているように、ＨＳ−ＳＹＮＣコードに含まれるデータ列“０１１１０”を、Ｎ個の多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）（Ｎは、２以上の整数）に同期してラッチすることによってスキュー検出データを生成してもよい。
【００２９】
また、データ信号ＤＡＴＡ（又は遅延データ信号ＤＡＴＡＤＬＹ）を多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）でラッチしてスキュー検出データを生成する代わりに、図５に図示されているように、データ信号ＤＡＴＡからの遅延時間が異なる複数のデータ信号ＤＡＴＡ＃０〜＃（Ｎ−１）を生成し、そのそれぞれを、クロック信号ＣＬＯＣＫに同期してラッチすることによってスキュー検出データを生成してもよい。図５では、３つのデータ信号＃０〜＃２が生成される場合が図示されている。この場合でも、スキュー検出データによって、スキューの検出が可能である。
【００３０】
例えば、図５（ａ）に示されているように、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間のタイミングが正常である場合、データ信号＃０〜＃２の全てにおいて、データ列“０１１１０”の１番目の“１”がクロック信号ＣＬＯＣＫの前側立ち下がりエッジに同期してラッチされ、３番目の“１”が後側立ち下がりエッジに同期してラッチされる。この結果、得られるスキュー検出データは、全て“１”となる。
【００３１】
また、図５（ｂ）に示されているように、データ信号ＤＡＴＡに対してクロック信号ＣＬＯＣＫのタイミングが遅延するようなスキューが発生している場合、データ信号＃０〜＃２のうち、位相が相対的に進んでいるデータ信号（図５（ｂ）ではデータ信号＃０、＃１）をクロック信号ＣＬＯＣＫの後側立ち下がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になる。データ信号ＤＡＴＡに対するクロック信号ＣＬＯＣＫのタイミングの遅延が増大すると、“０”として得られるスキュー検出データの数も増大する。
【００３２】
更に、図５（ｃ）に示されているように、クロック信号ＣＬＯＣＫに対してデータ信号ＤＡＴＡのタイミングが遅延するようなスキューが発生している場合、データ信号＃０〜＃２のうち、位相が相対的に遅れているデータ信号（図５（ｃ）ではデータ信号＃１、＃２）をクロック信号ＣＬＯＣＫの前側立ち下がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になる。クロック信号ＣＬＯＣＫに対するデータ信号ＤＡＴＡのタイミングの遅延が増大すると、“０”として得られるスキュー検出データの数も増大する。
【００３３】
このように、遅延時間が異なる複数のデータ信号ＤＡＴＡ＃０〜＃（Ｎ−１）をクロック信号ＣＬＯＣＫに同期してラッチすることによってスキュー検出データを生成する場合についても、“０”のスキュー検出データの存在により、スキューの発生を検出することができる。
【００３４】
上述の実施形態では、ＨＳ−ＳＹＮＣコードに含まれるデータ列“０１１１０”が、スキュー検出データの生成に利用されるが、ＨＳ−ＳＹＮＣコードに含まれる他のデータ列をスキュー検出データの生成に用いても良い。図６Ａは、ＨＳ−ＳＹＮＣコードに含まれるデータ列“００１１”を用いてスキュー検出データを生成する場合を示している。
【００３５】
図６Ａ（ａ）に示されているように、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間のタイミングが正常である場合、多相クロック信号ＣＬＯＣＫ＃０〜＃２の特定の立ち上がりエッジに同期してデータ列“００１１”の２番目の“０”がラッチされ、該立ち上がりエッジに続く立ち下がりエッジに同期して１番目の“１”がラッチされる。この結果、立ち上がりエッジに同期して得られるスキュー検出データは全て“０”となり、立ち下がりエッジに同期して得られるスキュー検出データは全て“１”となる。
【００３６】
また、図６Ａ（ｂ）に示されているように、データ信号ＤＡＴＡに対してクロック信号ＣＬＯＣＫのタイミングが遅延するようなスキューが発生している場合、多相クロック信号ＣＬＯＣＫ＃０〜＃２のうち、位相が進んだ多相クロック信号ＣＬＯＣＫ＃０の特定の立ち上がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になるのに対し、位相が遅いクロック信号（図６Ａ（ｂ）では、多相クロック信号ＣＬＯＣＫ＃１、＃２）の、当該特定立ち上がりエッジに対応する立ち上がりエッジに同期してラッチすることで得られるスキュー検出データが“１”になる。データ信号ＤＡＴＡに対するクロック信号ＣＬＯＣＫのタイミングの遅延が増大すると、“１”として得られるスキュー検出データの数も増大する。
【００３７】
更に、図６Ａの（ｃ）に示されているように、クロック信号ＣＬＯＣＫに対してデータ信号ＤＡＴＡのタイミングが遅延するようなスキューが発生している場合、多相クロック信号ＣＬＯＣＫ＃０〜＃２のうち位相が遅い多相クロック信号ＣＬＯＣＫ＃２の特定の立ち下がりエッジに同期してラッチすることで得られるスキュー検出データが“１”になるのに対し、位相が進んだクロック信号（図６Ａ（ｃ）では、多相クロック信号ＣＬＯＣＫ＃０、＃１）の、当該特定立ち下がりエッジに対応する立ち下がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になる。クロック信号ＣＬＯＣＫに対するデータ信号ＤＡＴＡのタイミングの遅延が増大すると、“０”として得られるスキュー検出データの数も増大する。
【００３８】
このように、ＨＳ−ＳＹＮＣコードのデータ列“００１１”を用いてスキュー検出データを生成する場合についても、スキュー検出データの値からスキューの発生を検出することができる。
【００３９】
また、図６Ｂは、ＨＳ−ＳＹＮＣコードに含まれるデータ列“１１０１”を用いてスキュー検出データを生成する場合を示している。
【００４０】
図６Ｂ（ａ）に示されているように、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間のタイミングが正常である場合、多相クロック信号ＣＬＯＣＫ＃０〜＃２の特定の立ち下がりエッジに同期してデータ列“１１００”の２番目の“１”がラッチされ、該立ち下がりエッジに続く立ち上がりエッジに同期して１番目の“０”がラッチされる。この結果、立ち上がりエッジに同期して得られるスキュー検出データは全て“１”となり、立ち下がりエッジに同期して得られるスキュー検出データは全て“０”となる。
【００４１】
また、図６Ｂ（ｂ）に示されているように、データ信号ＤＡＴＡに対してクロック信号ＣＬＯＣＫのタイミングが遅延するようなスキューが発生している場合、多相クロック信号ＣＬＯＣＫ＃０〜＃２のうち、位相が進んだ多相クロック信号ＣＬＯＣＫ＃０の特定立ち上がりエッジに同期してラッチすることで得られるスキュー検出データが“１”になり、該特定立ち上がりエッジに続く立ち下がりエッジ（特定立ち下がりエッジ）に同期してラッチすることで得られるスキュー検出データが“０”になる。一方、位相が遅い多相クロック信号ＣＬＯＣＫ＃１、＃２の当該特定立ち上がりエッジに対応する立ち上がりエッジに同期してラッチすることで得られるスキュー検出データは“１”になり、多相クロック信号ＣＬＯＣＫ＃１、＃２の該特定立ち下がりエッジに対応する立ち下がりエッジに同期してラッチすることで得られるスキュー検出データは“０”になる。
【００４２】
更に、図６Ａ（ｃ）に示されているように、クロック信号ＣＬＯＣＫに対してデータ信号ＤＡＴＡのタイミングが遅延するようなスキューが発生している場合、多相クロック信号ＣＬＯＣＫ＃０〜＃２のうち位相が遅い多相クロック信号ＣＬＯＣＫ＃２の特定立ち上がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になるのに対し、位相が進んだクロック信号（図６Ｂ（ｃ）では、多相クロック信号ＣＬＯＣＫ＃０、＃１）の、当該特定立ち上がりエッジに対応する立ち上がりエッジに同期してラッチすることで得られるスキュー検出データが“１”になる。クロック信号ＣＬＯＣＫに対するデータ信号ＤＡＴＡのタイミングの遅延が増大すると、“１”として得られるスキュー検出データの数も増大する。
【００４３】
このように、ＨＳ−ＳＹＮＣコードのデータ列“１１０１”を用いてスキュー検出データを生成する場合についても、スキュー検出データの値からスキューの発生を検出することができる。
【００４４】
図３〜図５、図６Ａ、図６Ｂから理解されるように、一般に、スキュー検出データは、値が既知である任意のデータ列をラッチすることで生成することができる。ただし、多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）、又は、クロック信号ＣＬＯＣＫに含まれるエッジのうち、立ち下がりエッジ又は立ち上がりエッジの一方のみに同期してスキュー検出データを生成することが好適である。図３、図４には、多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）の立ち下がりエッジのみに同期してスキュー検出データを生成する場合が図示されており、図５には、クロック信号ＣＬＯＣＫの立ち下がりエッジのみに同期してスキュー検出データを生成する場合が図示されていることに留意されたい。図６Ａ、図６Ｂに示されているように、スキュー検出データの生成において、立ち上がりエッジと立ち下がりエッジの両方を用いると、立ち上がりエッジに同期してデータ信号ＤＡＴＡ（又は、データ信号＃０〜＃（Ｎ−１））をラッチする回路と、立ち下がりエッジに同期してデータ信号ＤＡＴＡ（又は、データ信号＃０〜＃（Ｎ−１））をラッチする回路の両方が必要となる。これは、回路規模を増大させるため好ましくない。多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）、又は、クロック信号ＣＬＯＣＫに含まれるエッジのうち、立ち下がりエッジ又は立ち上がりエッジの一方のみに同期してスキュー検出データを生成する構成（図３〜図５の動作を行う構成）では、スキュー検出データの生成に用いられる回路の回路規模を小さくすることができる。
【００４５】
なお、データ信号ＤＡＴＡ及びクロック信号ＣＬＯＣＫの送信がＭＩＰＩ  Ｄ−ＰＨＹ規格以外の規格で行われる場合においても、特定のタイミングでレシーバ２に送られることが既知である特定のデータ列を、クロック信号ＣＬＯＣＫから生成された多相クロック信号に同期してラッチすることでスキュー検出データを生成することができることに留意されたい。
【００４６】
また、図７に図示されているように、可変遅延回路２３において多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）が生成され、且つ、スキュー検出回路２５において多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）がスキュー検知データの生成に用いられる場合には、可変遅延回路２３からスキュー検出回路２５に多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）が供給されてもよい。この場合、スキュー検出回路２５において多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）が生成されない。このような構成は、可変遅延回路２３から出力される遅延調整後クロック信号ＣＬＯＣＫＡＤＪが多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）から選択される場合に有効である。
【００４７】
同様に、図８に図示されているように、可変遅延回路２３においてデータ信号ＤＡＴＡ＃０〜＃（Ｎ−１）が生成され、且つ、スキュー検出回路２５においてデータ信号ＤＡＴＡ＃０〜＃（Ｎ−１）がスキュー検知データの生成に用いられる場合には、可変遅延回路２３からスキュー検出回路２５にデータ信号ＤＡＴＡ＃０〜＃（Ｎ−１）が供給されてもよい。この場合、スキュー検出回路２５においてデータ信号ＤＡＴＡ＃０〜＃（Ｎ−１）が生成されない。このような構成は、可変遅延回路２３から出力される遅延調整後データ信号ＤＡＴＡＡＤＪがデータ信号ＤＡＴＡ＃０〜＃（Ｎ−１）から選択される場合に有効である。
【００４８】
更に、図９に図示されているように、可変遅延回路２３においてデータ信号ＤＡＴＡを遅延して遅延データ信号ＤＡＴＡＤＬＹが生成され、且つ、スキュー検出回路２５においてスキュー検知データの生成に遅延データ信号ＤＡＴＡＤＬＹが用いられる場合、可変遅延回路２３からスキュー検出回路２５に遅延データ信号ＤＡＴＡＤＬＹが供給されてもよい。なお、可変遅延回路２３からスキュー検出回路２５に遅延データ信号ＤＡＴＡＤＬＹが供給される構成は、図７においても図示されていることに留意されたい。
【００４９】
同様に、図１０に示されているように、可変遅延回路２３においてクロック信号ＣＬＯＣＫを遅延して遅延クロック信号ＣＬＯＣＫＤＬＹが生成され、且つ、スキュー検出回路２５においてスキュー検知データの生成に遅延クロック信号ＣＬＯＣＫＤＬＹが用いられる場合、可変遅延回路２３からスキュー検出回路２５に遅延クロック信号ＣＬＯＣＫＤＬＹが供給されてもよい。
【００５０】
以下では、上記の実施形態の具体的な実施例、特に、可変遅延回路２３、ラッチ回路２４及びスキュー検出回路２５の具体的な実施例について説明する。
【実施例１】
【００５１】
図１１は、実施例１における可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５の構成を示すブロック図である。図１１に図示された回路構成は、図１に図示されている可変遅延回路２３、ラッチ回路２４及びスキュー検出回路２５の具体的な実施例である。
【００５２】
実施例１においては、可変遅延回路２３は、遅延回路３１〜３３と、選択回路３４とを備えている。遅延回路３１は、データ信号ＤＡＴＡを遅延して遅延調整後データ信号ＤＡＴＡＡＤＪを生成する。本実施例では、遅延回路３１の遅延時間は固定である。
【００５３】
遅延回路３２、３３及び選択回路３４は、スキュー検出回路２５から供給される遅延制御信号ＳＣＴＲＬに応答して、クロック信号ＣＬＯＣＫを遅延した信号である遅延調整後クロック信号ＣＬＯＣＫＡＤＪを生成するクロック可変遅延部２３Ｂを構成している。詳細には、遅延回路３２、３３は、クロック信号ＣＬＯＣＫから多相クロック信号ＣＬＯＣＫ＃０〜＃２を生成する回路部分である。本実施形態では、可変遅延回路２３に入力されるクロック信号ＣＬＯＣＫが、そのまま、クロック信号ＣＬＯＣＫ＃０として用いられる。遅延回路３２は、クロック信号ＣＬＯＣＫ＃０を遅延してクロック信号ＣＬＯＣＫ＃１を生成する。遅延回路３３は、クロック信号ＣＬＯＣＫ＃１を遅延してクロック信号ＣＬＯＣＫ＃２を生成する。選択回路３４は、遅延制御信号ＳＣＴＲＬに応答して、多相クロック信号ＣＬＯＣＫ＃０〜＃２のいずれかを選択し、選択したクロック信号を遅延調整後クロック信号ＣＬＯＣＫＡＤＪとして出力する。
【００５４】
ラッチ回路２４は、Ｄフリップフロップ５１、５２と、デシリアライザ（deserializer）回路５３とを備えている。Ｄフリップフロップ５１は、遅延調整後データ信号ＤＡＴＡＡＤＪを、遅延調整後クロック信号ＣＬＯＣＫＡＤＪの立ち上がりエッジに同期してラッチする。一方、Ｄフリップフロップ５２は、遅延調整後データ信号ＤＡＴＡＡＤＪを、遅延調整後クロック信号ＣＬＯＣＫＡＤＪの立ち下がりエッジに同期してラッチする。デシリアライザ回路５３は、Ｄフリップフロップ５１、５２から出力されるデータに対してデシリアライズ処理を行い、出力データ信号ＤＯＵＴを生成する。このような構成のラッチ回路２４では、遅延調整後クロック信号ＣＬＯＣＫＡＤＪの立ち上がりエッジ及び立ち下がりエッジの両方に同期して、遅延調整後データ信号ＤＡＴＡＡＤＪをラッチすることに留意されたい。
【００５５】
スキュー検出回路２５は、遅延回路４１〜４３と、Ｄフリップフロップ４４〜４６と、タイミング検出回路４７とを備えている。遅延回路４１は、データ信号ＤＡＴＡを遅延して遅延データ信号ＤＡＴＡＤＬＹを生成する。遅延回路４２、４３は、クロック信号ＣＬＯＣＫから多相クロック信号ＣＬＯＣＫ＃０〜＃２を生成する回路部分である。本実施形態では、スキュー検出回路２５に入力されるクロック信号ＣＬＯＣＫが、そのまま、クロック信号ＣＬＯＣＫ＃０として用いられる。遅延回路４２は、クロック信号ＣＬＯＣＫ＃０を遅延してクロック信号ＣＬＯＣＫ＃１を生成する。遅延回路４３は、クロック信号ＣＬＯＣＫ＃１を遅延してクロック信号ＣＬＯＣＫ＃２を生成する。
【００５６】
Ｄフリップフロップ４４〜４６は、それぞれ、多相クロック信号ＣＬＯＣＫ＃０〜＃２の立ち下がりエッジに同期して遅延データ信号ＤＡＴＡＤＬＹをラッチする。Ｄフリップフロップ４４〜４６から出力されるデータが、スキュー検出データとして用いられる。
【００５７】
タイミング検出回路４７は、Ｄフリップフロップ４４〜４６から出力されるスキュー検出データに応じて、遅延制御信号ＳＣＴＲＬを生成する。本実施例では、遅延制御信号ＳＣＴＲＬは、可変遅延回路２３の選択回路３４に、多相クロック信号ＣＬＯＣＫ＃０〜＃２のいずれか選択すべきかを指定する信号として生成される。タイミング検出回路４７には、スキュー検出データの値から、多相クロック信号ＣＬＯＣＫ＃０〜＃２のいずれかを選択するロジックが組み込まれる。
【００５８】
実施例１の可変遅延回路２３の遅延回路３１〜３３、及び、スキュー検出回路２５の遅延回路４１〜４３は、いずれも、「実質的に」同一な遅延時間Ｃを有している。ここで、「実質的に」とは、製造時に不可避的に発生するバラツキを無視することを意味している。
【００５９】
図１２は、実施例１におけるスキュー検出回路２５の動作を示すタイミングチャートである。図１２（ａ）に示されているように、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間のタイミングが正常である場合、多相クロック信号ＣＬＯＣＫ＃０〜＃２の前側立ち下がりエッジに同期して遅延データ信号ＤＡＴＡＤＬＹのデータ列“０１１１０”の１番目の“１”がラッチされ、後側立ち下がりエッジに同期して３番目の“１”がラッチされる。この結果、得られるスキュー検出データは、全て“１”となる。この場合、スキュー検出回路２５から可変遅延回路２３に送られる遅延制御信号ＳＣＴＲＬは、スキュー検出データに応じ、中間的な位相を有する多相クロック信号ＣＬＯＣＫ＃１を選択するように生成される。このような動作により、ラッチ回路２４のＤフリップフロップ５１、５２の動作タイミングのマージンを大きくすることができる。
【００６０】
また、図１２（ｂ）に示されているように、データ信号ＤＡＴＡに対してクロック信号ＣＬＯＣＫのタイミングが遅延するようなスキューが発生している場合、遅延データ信号ＤＡＴＡＤＬＹのデータ列“０１１１０”を、位相が遅い多相クロック信号（図１２（ｂ）ではクロック信号ＣＬＯＣＫ＃１、＃２）の後側立ち下がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になる。この場合、スキュー検出回路２５から可変遅延回路２３に送られる遅延制御信号ＳＣＴＲＬは、スキュー検出データに応じ、位相が相対的に進んだ多相クロック信号ＣＬＯＣＫ＃０を選択するように生成される。このような動作により、ラッチ回路２４のＤフリップフロップ５１、５２の動作タイミングのマージンを大きくすることができる。
【００６１】
更に、図１２（ｃ）に示されているように、クロック信号ＣＬＯＣＫに対してデータ信号ＤＡＴＡのタイミングが遅延するようなスキューが発生している場合、位相が進んだ多相クロック信号（図１２（ｃ）ではクロック信号ＣＬＯＣＫ＃０、＃１）の、前側立ち下がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になる。この場合、スキュー検出回路２５から可変遅延回路２３に送られる遅延制御信号ＳＣＴＲＬは、スキュー検出データに応じ、位相が相対的に遅れた多相クロック信号ＣＬＯＣＫ＃２を選択するように生成される。このような動作により、ラッチ回路２４のＤフリップフロップ５１、５２の動作タイミングのマージンを大きくすることができる。
【００６２】
いずれの場合でも、本実施例では、遅延データ信号ＤＡＴＡＤＬＹのデータ列“０１１１０”を多相クロック信号ＣＬＯＣＫ＃０〜＃２の立ち下がりエッジに同期してラッチすることで得られるスキュー検出データに応じて遅延制御信号ＳＣＴＲＬが生成され、その遅延制御信号ＳＣＴＲＬにより、可変遅延回路２３の選択回路３４が制御される。これにより、遅延調整後データ信号ＤＡＴＡＡＤＪと遅延調整後クロック信号ＣＬＯＣＫＡＤＪの間の相対的な遅延が最適に調整され、遅延調整後データ信号ＤＡＴＡＡＤＪと遅延調整後クロック信号ＣＬＯＣＫＡＤＪの間のスキューを小さくすることができる。
【実施例２】
【００６３】
図１３は、実施例２における可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５の構成を示すブロック図である。図１３に図示された回路構成は、図９に図示されている可変遅延回路２３、ラッチ回路２４及びスキュー検出回路２５の具体的な実施例である。
【００６４】
図１３に図示されている実施例２における回路構成は、図１１に図示されている実施例１の回路構成と類似している。相違点は、実施例２の回路構成では、スキュー検出回路２５から遅延回路４１が除去されると共に可変遅延回路２３からスキュー検出回路２５に遅延データ信号ＤＡＴＡＤＬＹが供給されることである。可変遅延回路２３の遅延回路３１から出力される遅延調整後データ信号ＤＡＴＡＡＤＪが、スキュー検出回路２５に供給される遅延データ信号ＤＡＴＡＤＬＹとしても使用される。スキュー検出回路２５に供給された遅延データ信号ＤＡＴＡＤＬＹは、Ｄフリップフロップ４４〜４６に供給される。
【００６５】
図１３に図示されている実施例２の回路構成によれば、実施例１の回路構成と比較して遅延回路の数を減少させることができる。なお、実施例２における可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５の動作は、実施例１と同様であり、説明を省略する。
【実施例３】
【００６６】
図１４は、実施例３における可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５の構成を示すブロック図である。図１４に図示された回路構成は、図７に図示されている可変遅延回路２３、ラッチ回路２４及びスキュー検出回路２５の具体的な実施例である。
【００６７】
図１４に図示されている実施例３における回路構成は、図１３に図示されている実施例２の回路構成と類似している。相違点は、実施例３の回路構成では、スキュー検出回路２５から遅延回路４２、４３が除去されると共に、可変遅延回路２３からスキュー検出回路２５に多相クロック信号ＣＬＯＣＫ＃０〜＃２が供給されることである。遅延回路３２から出力されるクロック信号ＣＬＯＣＫ＃１は、選択回路３４に加え、スキュー検出回路２５のＤフリップフロップ４５に供給される。また、遅延回路３３から出力されるクロック信号ＣＬＯＣＫ＃２は、選択回路３４に加え、スキュー検出回路２５のＤフリップフロップ４６に供給される。ここで、実施例３では、クロック信号ＣＬＯＣＫが、そのままクロック信号＃０として使用されることに留意されたい。
【００６８】
図１４に図示されている実施例３の回路構成によれば、実施例２の回路構成と比較して、遅延回路の数を一層に減少させることができる。なお、実施例３における可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５の動作は、実施例１と同様であり、説明を省略する。
【実施例４】
【００６９】
図１５は、実施例４における可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５の構成を示すブロック図である。図１５に図示された回路構成は、図１に図示されている可変遅延回路２３、ラッチ回路２４及びスキュー検出回路２５の他の実施例である。
【００７０】
実施例４においては、可変遅延回路２３は、遅延回路６１、５２と、選択回路６３と、遅延回路６４とを備えている。遅延回路６１、６２及び選択回路６３は、スキュー検出回路２５から供給される遅延制御信号ＳＣＴＲＬに応答して、データ信号ＤＡＴＡを遅延した信号である遅延調整後データ信号ＤＡＴＡＡＤＪを生成するデータ可変遅延部２３Ａを構成している。詳細には、遅延回路６１、６２は、データ信号ＤＡＴＡからの遅延時間が互いに異なるデータ信号ＤＡＴＡ＃０〜＃２を生成する回路部分である。本実施形態では、可変遅延回路２３に入力されるデータ信号ＤＡＴＡが、そのまま、データ信号ＤＡＴＡ＃０として用いられる。遅延回路６１は、データ信号ＤＡＴＡ＃０を遅延してデータ信号ＤＡＴＡ＃１を生成する。遅延回路６２は、データ信号ＤＡＴＡ＃１を遅延してデータ信号ＤＡＴＡ＃２を生成する。選択回路６３は、遅延制御信号ＳＣＴＲＬに応答して、データ信号ＤＡＴＡ＃０〜＃２のいずれかを選択し、選択したデータ信号を遅延調整後データ信号ＤＡＴＡＡＤＪとして出力する。遅延回路６４は、クロック信号ＣＬＯＣＫを遅延して遅延調整後クロック信号ＣＬＯＣＫＡＤＪを生成する。本実施例では、遅延回路６４の遅延時間は固定である。
【００７１】
実施例４のラッチ回路２４の構成は、実施例１乃至３のラッチ回路２４と同様である。詳細には、実施例４のラッチ回路２４は、Ｄフリップフロップ５１、５２と、デシリアライザ回路５３とを備えている。Ｄフリップフロップ５１は、遅延調整後データ信号ＤＡＴＡＡＤＪを、遅延調整後クロック信号ＣＬＯＣＫＡＤＪの立ち上がりエッジに同期してラッチする。一方、Ｄフリップフロップ５２は、遅延調整後データ信号ＤＡＴＡＡＤＪを、遅延調整後クロック信号ＣＬＯＣＫＡＤＪの立ち下がりエッジに同期してラッチする。デシリアライザ回路５３は、Ｄフリップフロップ５１、５２から出力されるデータに対してデシリアライズ処理を行い、出力データ信号ＤＯＵＴを生成する。このような構成のラッチ回路２４では、遅延調整後クロック信号ＣＬＯＣＫＡＤＪの立ち上がりエッジ及び立ち下がりエッジの両方に同期して、遅延調整後データ信号ＤＡＴＡＡＤＪをラッチすることに留意されたい。
【００７２】
また、実施例４では、スキュー検出回路２５が、遅延回路７１〜７３と、Ｄフリップフロップ７４〜７６と、タイミング検出回路７７とを備えている。遅延回路７１、７２は、データ信号ＤＡＴＡからデータ信号ＤＡＴＡ＃０〜＃２を生成する回路部分である。本実施形態では、スキュー検出回路２５に入力されるデータ信号ＤＡＴＡが、そのまま、データ信号ＤＡＴＡ＃０として用いられる。遅延回路７１は、データ信号ＤＡＴＡ＃０を遅延してデータ信号ＤＡＴＡ＃１を生成する。遅延回路７２は、データ信号ＤＡＴＡ＃１を遅延してデータ信号ＤＡＴＡ＃２を生成する。一方、遅延回路７３は、クロック信号ＣＬＯＣＫを遅延して遅延クロック信号ＣＬＯＣＫＤＬＹを生成する。
【００７３】
Ｄフリップフロップ７４〜７６は、それぞれ、遅延クロック信号ＣＬＯＣＫＤＬＹの立ち下がりエッジに同期してデータ信号ＤＡＴＡ＃０〜＃２をラッチする。Ｄフリップフロップ７４〜７６から出力されるデータが、スキュー検出データとして用いられる。
【００７４】
タイミング検出回路７７は、Ｄフリップフロップ７４〜７６から出力されるスキュー検出データに応じて、遅延制御信号ＳＣＴＲＬを生成する。本実施例では、遅延制御信号ＳＣＴＲＬは、可変遅延回路２３の選択回路３４に、データ信号ＤＡＴＡ＃０〜＃２のいずれか選択すべきかを指定する信号として生成される。タイミング検出回路７７には、スキュー検出データの値から、データ信号ＤＡＴＡ＃０〜＃２のいずれかを選択するロジックが組み込まれる。
【００７５】
実施例４の可変遅延回路２３の遅延回路６１〜６３、及び、スキュー検出回路２５の遅延回路７１〜７３の遅延時間は、「実質的に」同一である。ここで、「実質的に」とは、製造時に不可避的に発生するバラツキを無視することを意味している。
【００７６】
図１６は、実施例４におけるスキュー検出回路２５の動作を示すタイミングチャートである。図１６（ａ）に示されているように、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫの間のタイミングが正常である場合、遅延クロック信号ＣＬＯＣＫＤＬＹの前側立ち下がりエッジに同期してデータ信号ＤＡＴＡ＃０〜＃２のデータ列“０１１１０”の１番目の“１”がラッチされ、後側立ち下がりエッジに同期して３番目の“１”がラッチされる。この結果、得られるスキュー検出データは、全て“１”となる。この場合、スキュー検出回路２５から可変遅延回路２３に送られる遅延制御信号ＳＣＴＲＬは、スキュー検出データに応じて、中間的な遅延を有するデータ信号ＤＡＴＡ＃１を選択するように生成される。このような動作により、ラッチ回路２４のＤフリップフロップ５１、５２の動作タイミングのマージンを大きくすることができる。
【００７７】
また、図１６（ｂ）に示されているように、データ信号ＤＡＴＡに対してクロック信号ＣＬＯＣＫのタイミングが遅延するようなスキューが発生している場合、データ信号＃０〜＃２のうちデータ信号ＤＡＴＡからの遅延時間が相対的に小さいデータ信号（図１６（ｂ）では、データ信号＃０、＃１）を遅延クロック信号ＣＬＯＣＫＤＬＹの後側立ち下がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になる。この場合、スキュー検出回路２５から可変遅延回路２３に送られる遅延制御信号ＳＣＴＲＬは、スキュー検出データに応じて、データ信号ＤＡＴＡからの相対的に遅延時間が大きいデータ信号ＤＡＴＡ＃２を選択するように生成される。このような動作により、ラッチ回路２４のＤフリップフロップ５１、５２の動作タイミングのマージンを大きくすることができる。
【００７８】
更に、図１６（ｃ）に示されているように、クロック信号ＣＬＯＣＫに対してデータ信号ＤＡＴＡのタイミングが遅延するようなスキューが発生している場合、データ信号ＤＡＴＡからの遅延時間が相対的に大きいデータ信号（図１６（ｃ）ではデータ信号ＤＡＴＡ＃２）の、前側立ち下がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になる。この場合、スキュー検出回路２５から可変遅延回路２３に送られる遅延制御信号ＳＣＴＲＬは、スキュー検出データに応じて、データ信号ＤＡＴＡからの相対的に遅延時間が小さいデータ信号ＤＡＴＡ＃０を選択するように生成される。このような動作により、ラッチ回路２４のＤフリップフロップ５１、５２の動作タイミングのマージンを大きくすることができる。
【００７９】
いずれの場合でも、本実施例では、データ信号ＤＡＴＡ＃０〜＃２のデータ列“０１１１０”を遅延クロック信号ＣＬＯＣＫＤＬＹの立ち下がりエッジに同期してラッチすることで得られるスキュー検出データに応じて遅延制御信号ＳＣＴＲＬが生成され、その遅延制御信号ＳＣＴＲＬにより、可変遅延回路２３の選択回路６３が制御される。これにより、遅延調整後データ信号ＤＡＴＡＡＤＪと遅延調整後クロック信号ＣＬＯＣＫＡＤＪの間の相対的な遅延が最適に調整され、遅延調整後データ信号ＤＡＴＡＡＤＪと遅延調整後クロック信号ＣＬＯＣＫＡＤＪの間のスキューを小さくすることができる。
【実施例５】
【００８０】
図１７は、実施例５における可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５の構成を示すブロック図である。図１７に図示された回路構成は、図１０に図示されている可変遅延回路２３、ラッチ回路２４及びスキュー検出回路２５の具体的な実施例である。
【００８１】
図１７に図示されている実施例５における回路構成は、図１５に図示されている実施例４の回路構成と類似している。相違点は、実施例５の回路構成では、スキュー検出回路２５から遅延回路７３が除去されると共に可変遅延回路２３からスキュー検出回路２５に遅延クロック信号ＣＬＯＣＫＤＬＹが供給されることである。可変遅延回路２３の遅延回路６４から出力される遅延調整後クロック信号ＣＬＯＣＫＡＤＪが、スキュー検出回路２５に供給される遅延クロック信号ＣＬＯＣＫＤＬＹとしても使用される。スキュー検出回路２５に供給された遅延クロック信号ＣＬＯＣＫＤＬＹは、Ｄフリップフロップ７４〜７６に供給される。
【００８２】
図１７に図示されている実施例５の回路構成によれば、実施例４の回路構成と比較して遅延回路の数を減少させることができる。なお、実施例５における可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５の動作は、実施例４と同様であり、説明を省略する。
【実施例６】
【００８３】
図１８は、実施例６における可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５の構成を示すブロック図である。図１８に図示された回路構成は、図８に図示されている可変遅延回路２３、ラッチ回路２４及びスキュー検出回路２５の具体的な実施例である。
【００８４】
図１８に図示されている実施例６における回路構成は、図１７に図示されている実施例５の回路構成と類似している。相違点は、実施例６の回路構成では、スキュー検出回路２５から遅延回路７１、７２が除去されると共に、可変遅延回路２３からスキュー検出回路２５にデータ信号＃０〜＃２が供給されることである。遅延回路６１から出力されるデータ信号ＤＡＴＡ＃１は、選択回路６３に加え、スキュー検出回路２５のＤフリップフロップ７５に供給される。また、遅延回路６２から出力されるデータ信号ＤＡＴＡ＃２は、選択回路６３に加え、スキュー検出回路２５のＤフリップフロップ７６に供給される。ここで、実施例６では、データ信号ＤＡＴＡが、そのままデータ信号＃０として使用されることに留意されたい。
【００８５】
図１８に図示されている実施例６の回路構成によれば、実施例５の回路構成と比較して、遅延回路の数を一層に減少させることができる。なお、実施例６における可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５の動作は、実施例４と同様であり、説明を省略する。
【実施例７】
【００８６】
図１９は、実施例７における可変遅延回路２３と、ラッチ回路２４と、スキュー検出回路２５の構成を示すブロック図である。図１９に図示された回路構成は、図９に図示されている可変遅延回路２３、ラッチ回路２４及びスキュー検出回路２５の具体的な実施例である。
【００８７】
実施例７においては、可変遅延回路２３が、データ可変遅延部２３Ａとクロック可変遅延部２３Ｂとを備えている。データ可変遅延部２３Ａは、スキュー検出回路２５から供給される遅延制御信号ＳＣＴＲＬに応答して、データ信号ＤＡＴＡを遅延した信号である遅延調整後データ信号ＤＡＴＡＡＤＪを生成する回路部分である。詳細には、データ可変遅延部２３Ａは、遅延回路８１、８２と、選択回路８３とを備えている。遅延回路８１は、データ信号ＤＡＴＡを遅延してデータ信号ＤＡＴＡ＃１を生成する。遅延回路８２は、データ信号ＤＡＴＡ＃１を更に遅延してデータ信号ＤＡＴＡＵＩ／２を生成する。選択回路８３は、遅延制御信号ＳＣＴＲＬに応答して、データ信号ＤＡＴＡ＃１とデータ信号ＤＡＴＡＵＩ／２のいずれかを選択し、選択した信号を遅延調整後データ信号ＤＡＴＡＡＤＪとして出力する。遅延回路８１によって生成されたデータ信号ＤＡＴＡ＃１は、遅延データ信号ＤＡＴＡＤＬＹとしてスキュー検出回路２５に供給される。
【００８８】
一方、クロック可変遅延部２３Ｂは、スキュー検出回路２５から供給される遅延制御信号ＳＣＴＲＬに応答して、クロック信号ＣＬＯＣＫを遅延した信号である遅延調整後クロック信号ＣＬＯＣＫＡＤＪを生成する回路部分である。詳細には、クロック可変遅延部２３Ｂは、遅延回路８４、８５と、選択回路８６とを備えている。遅延回路８４は、クロック信号ＣＬＯＣＫを遅延してクロック信号ＣＬＯＣＫ＃１を生成する。遅延回路８５は、クロック信号ＣＬＯＣＫ＃１を更に遅延してクロック信号ＣＬＯＣＫＵＩ／２を生成する。選択回路８６は、遅延制御信号ＳＣＴＲＬに応答して、クロック信号ＣＬＯＣＫ＃１とクロック信号ＣＬＯＣＫＵＩ／２のいずれかを選択し、選択した信号を遅延調整後クロック信号ＣＬＯＣＫＡＤＪとして出力する。
【００８９】
実施例７におけるラッチ回路２４及びスキュー検出回路２５の構成は、実施例５（図１３参照）と同一である。ラッチ回路２４は、Ｄフリップフロップ５１、５２とデシリアライザ回路５３とを備えており、スキュー検出回路２５は、遅延回路４２、４３と、Ｄフリップフロップ４４〜４６と、タイミング検出回路４７とを備えている。本実施形態では、スキュー検出回路２５に入力されるクロック信号ＣＬＯＣＫが、そのまま、クロック信号ＣＬＯＣＫ＃０として用いられ、遅延回路４２、４３により、クロック信号ＣＬＯＣＫ＃１、＃２が生成される。
【００９０】
本実施例の一つの特徴は、可変遅延回路２３に含まれる各遅延回路の遅延時間の設定にある。可変遅延回路２３の遅延回路８１、８４、及び、スキュー検出回路２５の遅延回路４２、４３の遅延時間は、実質的に同一に設定される。遅延回路８１、８４、４２、４３の遅延時間を、以下、遅延時間Ｃという。一方、遅延回路８２、８５の遅延時間は、遅延回路８１、８４、４２、４３の遅延時間Ｃよりも長く設定される。
【００９１】
本実施例では、可変遅延回路２３の遅延回路８２、８５の遅延時間が、ＵＩ／２に「実質的に」一致するように設定される。ここで、「ＵＩ」とは、当該送受信システムの仕様で規定されたクロック信号ＣＬＯＣＫの周期の半分の時間である。また、「実質的に」とは、製造時に不可避的に発生するバラツキを無視することを意味している。言い換えれば、データ可変遅延部２３Ａの選択回路８３により選択されるデータ信号ＤＡＴＡ＃１、ＤＡＴＡＵＩ／２の遅延時間の差がＵＩ／２になり、クロック可変遅延部２３Ｂの選択回路８６により選択されるクロック信号ＣＬＯＣＫ＃１、ＣＬＯＣＫＵＩ／２の遅延時間の差がＵＩ／２になる。このような設定によれば、可変遅延回路２３は、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫとの遅延がどのような関係であっても、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫのエッジのタイミングを、仕様においてデフォルトで規定された時間差に設定できる。
【００９２】
図２０は、実施例７におけるスキュー検出回路２５の動作を示すタイミングチャートである。図２０には、クロック信号ＣＬＯＣＫに対してデータ信号ＤＡＴＡのタイミングが遅延するようなスキューが発生している場合（即ち、クロック信号ＣＬＯＣＫの位相がデータ信号ＤＡＴＡに対して進んでいる場合）のスキュー検出回路２５の動作を示している。この場合、位相が進んだ多相クロック信号（図２０ではクロック信号ＣＬＯＣＫ＃０、＃１）の、前側立ち下がりエッジに同期してラッチすることで得られるスキュー検出データが“０”になる。この場合、スキュー検出回路２５から可変遅延回路２３に送られる遅延制御信号ＳＣＴＲＬは、選択回路８３がデータ信号ＤＡＴＡ＃１を選択し、選択回路８６がクロック信号ＣＬＯＣＫＵＩ／２を選択するように生成される。このような動作により、ラッチ回路２４のＤフリップフロップ５１、５２の動作タイミングのマージンを大きくすることができる。
【００９３】
同様に、スキュー検出データから、データ信号ＤＡＴＡに対してクロック信号ＣＬＯＣＫのタイミングが遅延するようなスキューが発生していると判断される場合、スキュー検出回路２５から可変遅延回路２３に送られる遅延制御信号ＳＣＴＲＬは、選択回路８３がデータ信号ＤＡＴＡＵＩ／２を選択し、選択回路８６がクロック信号ＣＬＯＣＫ＃１を選択するように生成される。このような動作により、ラッチ回路２４のＤフリップフロップ５１、５２の動作タイミングのマージンを大きくすることができる。
【００９４】
更に、スキュー検出データからスキューが発生していないと判断される場合（例えば、スキュー検出データの全てが“１”である場合）、スキュー検出回路２５から可変遅延回路２３に送られる遅延制御信号ＳＣＴＲＬは、選択回路８３がデータ信号ＤＡＴＡ＃１を選択し、選択回路８６がクロック信号ＣＬＯＣＫ＃１を選択するように生成される。スキューが発生していないと判断される場合には、データ信号ＤＡＴＡとクロック信号ＣＬＯＣＫとに同一の遅延時間が与えられて遅延調整後データ信号ＤＡＴＡＡＤＪと遅延調整後クロック信号ＣＬＯＣＫＡＤＪとが生成される。
【００９５】
いずれの場合でも、本実施例においても、遅延データ信号ＤＡＴＡＤＬＹのデータ列“０１１１０”を多相クロック信号ＣＬＯＣＫ＃０〜＃２の立ち下がりエッジに同期してラッチすることで得られるスキュー検出データに応じて遅延制御信号ＳＣＴＲＬが生成され、その遅延制御信号ＳＣＴＲＬにより、可変遅延回路２３の選択回路８３、８６が制御される。これにより、遅延調整後データ信号ＤＡＴＡＡＤＪと遅延調整後クロック信号ＣＬＯＣＫＡＤＪの間の相対的な遅延が最適に調整され、遅延調整後データ信号ＤＡＴＡＡＤＪと遅延調整後クロック信号ＣＬＯＣＫＡＤＪの間のスキューを小さくすることができる。
【００９６】
本実施形態において、遅延回路８２、８５は、実際には、インバータその他の遅延素子で用いて構成されるので、温度、電源電圧、ＭＯＳトランジスタの閾値電圧バラツキ等の影響を受ける。このため、遅延回路８２、８５の実際の遅延時間が変動し、遅延時間ＵＩ／２からずれることが起こり得る。また、クロック信号ＣＬＯＣＫの実際の周期（周波数）も変動し得る。このような変動の影響を抑制するためには、現に使用されているクロック信号ＣＬＯＣＫの周期に応じて遅延回路８２、８５の遅延時間ＵＩ／２が調節されることが好ましい。
【００９７】
図２１Ａは、現に使用されているクロック信号ＣＬＯＣＫの周期ＵＩに応じて遅延回路８２の遅延時間ＵＩ／２を設定するための遅延回路８２、８５の構成の例を示す回路図である。以下では、データ信号ＤＡＴＡ＃１を遅延してデータ信号ＤＡＴＡＵＩ／２を生成する遅延回路８２の構成を説明するが、遅延回路８５の構成も、入力される信号が異なるだけで同一である。図２１の構成を遅延回路８５に適用する場合においては、データ信号ＤＡＴＡ＃１の代わりにクロック信号ＣＬＯＣＫ＃１が入力され、データ信号ＤＡＴＡＵＩ／２の代わりにクロック信号ＣＬＯＣＫＵＩ／２が出力されることになる。
【００９８】
図２１Ａの構成では、遅延回路８２が、複数の遅延回路９１１〜９１１０と、複数のＤフリップフロップ９２１〜９２１０と、タイミング検出回路９３ａと、遅延選択回路９３ｂと、遅延回路９４１〜９４７とを備えている。
【００９９】
遅延回路９１１〜９１１０は、それぞれが遅延時間Ｃを有しており、クロック信号ＣＬＯＣＫからの遅延時間が異なる順次遅延信号ＤＥＬＡＹ１〜ＤＥＬＡＹ１０（第１の順次遅延信号）を生成する第１の順次遅延部として動作する。詳細には、遅延回路９１１は、クロック信号ＣＬＯＣＫを遅延時間Ｃだけ遅延して順次遅延信号ＤＥＬＡＹ１を生成する。遅延回路９１２は、遅延信号ＤＥＬＡＹ１を遅延時間Ｃだけ遅延して順次遅延信号ＤＥＬＡＹ２を生成する。以下、同様に、遅延回路９１ｊは、順次遅延信号ＤＥＬＡＹ（ｊ−１）を遅延して順次遅延信号ＤＥＬＡＹｊを生成する。ここで、ｊは、２以上１０以下の整数である。
【０１００】
Ｄフリップフロップ９２１〜９２１０は、それぞれ、順次遅延信号ＤＥＬＡＹ１〜ＤＥＬＡＹ１０に同期してクロック信号ＣＬＯＣＫをラッチする遅延制御データ取得部として機能し、ラッチしたクロック信号ＣＬＯＣＫの値（Ｈｉｇｈ又はＬｏｗレベル）を、遅延制御データとして、それぞれのデータ出力Ｑから出力する。
【０１０１】
遅延回路９４１〜９４７は、それぞれが遅延時間Ｃを有しており、直列に接続されている。遅延回路９４１〜９４７は、データ信号ＤＡＴＡ＃１からの遅延時間が異なる順次遅延信号（第２の順次遅延信号）を生成する第２の順次遅延部として動作する。詳細には、１番目の遅延回路９４１の入力には、データ信号ＤＡＴＡ＃１が供給され、２番目の遅延回路９４２の入力には、１番目の遅延回路９４１の出力が接続されている。同様に、ｋ番目の遅延回路９４ｋの入力には、ｋ−１番目の遅延回路９４ｋ−１の出力が接続されている。ここで、ｋは、２以上７以下の整数である。
【０１０２】
タイミング検出回路９３ａは、Ｄフリップフロップ９２１〜９２１０が出力する遅延制御データに応じて、遅延回路９４１〜９４７から出力される順次遅延信号のうち、データ信号ＤＡＴＡＵＩ／２として最も適した順次遅延信号を決定する。タイミング検出回路９３ａには、Ｄフリップフロップ９２１〜９２１０が出力する値から、遅延回路９４１〜９４７のいずれかが出力する順次遅延信号を選択するロジックが組み込まれる。遅延選択回路９３ｂは、遅延回路９４１〜９４７から出力される順次遅延信号のうちからタイミング検出回路９３ａによって決定された順次遅延信号を選択してデータ信号ＤＡＴＡＵＩ／２として出力する。
【０１０３】
図２２Ａは、図２１Ａの構成の遅延回路８２の動作、特に、遅延選択回路９３の動作を示すタイミングチャートである。図２２Ａでは、Ｄフリップフロップ９２１〜９２１０が、それぞれ、順次遅延信号ＤＥＬＡＹ１〜ＤＥＬＡＹ１０の立ち上がりエッジに応答してクロック信号ＣＬＯＣＫをラッチする場合の動作が図示されている。Ｄフリップフロップ９２１〜９２１０が、それぞれ順次遅延信号ＤＥＬＡＹ１〜ＤＥＬＡＹ１０に同期してクロック信号ＣＬＯＣＫをラッチした場合、Ｄフリップフロップ９２１〜９２１０から出力される値は、それぞれ、順次遅延信号ＤＥＬＡＹ１〜ＤＥＬＡＹ１０の位相とクロック信号ＣＬＯＣＫの位相との先後を示している。よって、Ｄフリップフロップ９２１〜９２１０から出力される値から、クロック信号ＣＬＯＣＫの周期を、遅延時間Ｃ刻みで特定することができる。
【０１０４】
例えば、図２２Ａに図示されているように、順次遅延信号ＤＥＬＡＹ１〜ＤＥＬＡＹ７に同期してクロック信号ＣＬＯＣＫをラッチして得られた値が“１”であり、遅延信号ＤＥＬＡＹ８が不安定であり、順次遅延信号ＤＥＬＡＹ９、ＤＥＬＡＹ１０に同期してクロック信号ＣＬＯＣＫをラッチして得られた値が“０”である場合、クロック信号ＣＬＯＣＫの周期ＤＩは、概ね、クロック信号ＣＬＯＣＫから順次遅延信号ＤＥＬＡＹ８までの遅延時間８Ｃに一致していると考えられる。このような場合、遅延選択回路９３によってクロック信号ＣＬＯＣＫからの遅延時間が４Ｃである信号である遅延回路９４４の出力信号を選択することで、データ信号ＤＡＴＡ＃１から概ねクロック信号ＣＬＯＣＫの周期ＤＩの半分だけ遅延されたデータ信号ＤＡＴＡＵＩ／２を出力することができる。
【０１０５】
図２１Ａでは、１０個の遅延回路９１と１０個のＤフリップフロップ９２とを含んでいる回路構成が図示されているが、遅延回路９１、Ｄフリップフロップ９２の数は適宜に変更可能である。同様に、遅延回路９４の数も、適宜に変更可能である。
【０１０６】
また、遅延回路９１の遅延時間と、遅延回路９４の遅延時間は、必ずしも一致している必要はないことに留意されたい。遅延回路９１の遅延時間と、遅延回路９４の遅延時間とが相違していても、遅延選択回路９３のロジックを変更すれば、Ｄフリップフロップ９２１〜９２１０が出力する値から、データ信号ＤＡＴＡ＃１からの遅延時間がＵＩ／２である信号、又は、遅延時間がＵＩ／２に最も近い信号を、遅延回路９４１〜９４７のいずれかの出力信号から選択することができる。
【０１０７】
図２１Ｂは、図２１Ａの遅延回路８２の構成の変形例を図示している。図２１Ｂの構成では、Ｄフリップフロップ９２１〜９２１０が、それぞれ、クロック信号ＣＬＯＣＫに同期して順次遅延信号ＤＥＬＡＹ１〜ＤＥＬＡＹ１０をラッチし、ラッチした遅延信号ＤＥＬＡＹ１〜ＤＥＬＡＹ１０の値（Ｈｉｇｈ又はＬｏｗレベル）を、遅延制御データとして、それぞれのデータ出力Ｑから出力する。この場合でも、Ｄフリップフロップ９２１〜９２１０が出力する遅延制御データに応じて、遅延回路９４１〜９４７のいずれかから出力される順次遅延信号をデータ信号ＤＡＴＡＵＩ／２として決定するロジックをタイミング検出回路９３ａに組み込むことで、遅延回路９４１〜９４７のいずれかから出力される順次遅延信号を、データ信号ＤＡＴＡＵＩ／２として適切に選択することができる。
【０１０８】
図２２Ｂは、図２１Ｂの構成の遅延回路８２の動作を示している。図２２Ｂでは、Ｄフリップフロップ９２１〜９２１０が、それぞれ、クロック信号ＣＬＯＣＫの立ち下がりエッジに応答してクロック信号ＣＬＯＣＫをラッチする場合の動作が図示されている。図２１Ｂの構成を採用する場合においても、本質的な動作は、図２１Ａの構成を採用する場合と同一である。
【０１０９】
なお、遅延回路９１１〜９１１０と、Ｄフリップフロップ９２１〜９２１０と、タイミング検出回路９３ａとは、遅延回路８２、８５の間で共有されてもよい。この場合、遅延回路８２に対応する遅延回路９４１〜９４７と遅延回路８５に対応する遅延回路９４１〜９４７とが設けられる。タイミング検出回路９３ａは、遅延回路８２に含まれる遅延回路９４１〜９４７から出力される順次遅延信号のいずれかを選択してデータ信号ＤＡＴＡＵＩ／２として出力し、遅延回路８５に含まれる遅延回路９４１〜９４７から出力される順次遅延信号のいずれかをクロック信号ＣＬＯＣＫＵＩ／２として出力する。
【０１１０】
本実施例において、可変遅延回路２３の遅延回路８１、８４、及び、スキュー検出回路２５の遅延回路４２、４３（図１９参照）についても、遅延時間を可変に調節できる構成を採用しても良い。図２３は、遅延時間を可変に調節できる遅延回路の構成の例を示している。図２３の構成の遅延回路は、入力端子１０１に直列に接続された遅延素子１０２１〜１０２７と、選択回路１０３とを備えている。選択回路１０３は、遅延素子１０２１〜１０２７のいずれかの出力信号を選択し、選択した出力信号を出力端子１０４に出力する。選択回路１０３の動作は、レジスタによって設定しても良いし、メタル配線により特定の遅延回路１０２の出力信号が固定的に選択されるように設定してもよい。図２３の構成を採用することで、選択回路１０３の設定によって遅延時間が可変である遅延回路を提供することができる。
【０１１１】
また、以上に説明された他の実施例のいずれにおいて用いられる遅延回路（遅延回路３１〜３３、４１〜４３、６１、６２、６４、７１〜７３）についても、図２３に図示されている構成を採用してもよい。これにより、各遅延回路の遅延時間が、可変に調節可能になる。
【０１１２】
続いて、以下では、本実施形態の送受信システムの変形例となる実施例を説明する。
【実施例８】
【０１１３】
図２４は、実施例８の送受信システムの構成を示すブロック図である。実施例８では、データ信号ＤＡＴＡ、クロック信号ＣＬＯＣＫをスキュー検出回路２５に供給する信号ラインに、それぞれ、スイッチ２６、２７が設けられる。スイッチ２６、２７は、スキュー検出データの生成に用いられる特定のデータ列がデータ信号ＤＡＴＡで伝送される期間を含む特定期間にオンされ、他の期間においてはオフされる。スイッチ２６、２７がオフされると、データ信号ＤＡＴＡ、クロック信号ＣＬＯＣＫはスキュー検出回路２５に供給されない。スイッチ２６、２７がオフされる期間（即ち、該特定期間以外の期間）においては、スキュー検出回路２５から出力される遅延制御信号ＳＣＴＲＬの値がホールドされる。
【０１１４】
例えば、当該送受信システムが、ＭＩＰＩ  Ｄ−ＰＨＹ規格に準拠してデータ信号ＤＡＴＡ及びクロック信号ＣＬＯＣＫをレシーバ２に送信する場合、ＨＳ−ＳＹＮＣコードがデータ信号ＤＡＴＡで伝送される期間においてスイッチ２６、２７がオンされ、それ以外の期間において、スイッチ２６、２７がオフされてもよい。
【０１１５】
このような構成によれば、スキューが検出される期間（即ち、スキュー検出データが生成される期間）以外において、データ信号ＤＡＴＡ及びクロック信号ＣＬＯＣＫのスキュー検出回路２５への供給を停止することができ、スキュー検出回路２５の消費電流を低減することができる。
【０１１６】
スキュー検出回路２５に、他のデータ信号（即ち、遅延データ信号ＤＡＴＡＤＬＹ、及び、データ信号ＤＡＴＡ＃０〜＃（Ｎ−１））が供給される場合、該データ信号をスキュー検出回路２５に供給する信号ラインにスイッチを設けても良い。また、スキュー検出回路２５に、他のクロック信号（即ち、遅延クロック信号ＣＬＯＣＫＤＬＹ、及び、多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１））が供給される場合、該クロック信号をスキュー検出回路２５に供給する信号ラインにスイッチを設けても良い。
【０１１７】
図２５は、このような構成の送受信システムの例を示している。図２５の構成では、遅延データ信号ＤＡＴＡＤＬＹを可変遅延回路２３からスキュー検出回路２５に供給する信号ラインにスイッチ２８が設けられ、多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）を可変遅延回路２３からスキュー検出回路２５に供給する信号ラインにスイッチ２９が設けられる。スイッチ２８、２９は、スキュー検出データの生成に用いられる特定のデータ列がデータ信号ＤＡＴＡで伝送される期間を含む特定期間にオンされ、他の期間においてはオフされる。スイッチ２８、２９がオフされると、遅延データ信号ＤＡＴＡＤＬＹ、多相クロック信号ＣＬＯＣＫ＃０〜＃（Ｎ−１）はスキュー検出回路２５に供給されない。スイッチ２８、２９がオフされる期間（即ち、該特定期間以外の期間）においては、スキュー検出回路２５から出力される遅延制御信号ＳＣＴＲＬの値がホールドされる。このような構成によれば、スキューが検出される期間（即ち、スキュー検出データが生成される期間）以外において、スキュー検出回路２５の消費電流を低減することができる。
【実施例９】
【０１１８】
図２６は、実施例９の送受信システムの構成を示すブロック図である。実施例９においては、複数のデータ信号、具体的には、データ信号ＤＡＴＡ００〜ＤＡＴＡ０４が、クロック信号ＣＬＯＣＫに同期してトランスミッタ１からレシーバ２に伝送される。本実施例では、レシーバ２には、データ信号ＤＡＴＡ００〜ＤＡＴＡ０４のそれぞれについて、可変遅延回路２３、ラッチ回路２４、及び、スキュー検出回路２５が設けられる。
【０１１９】
詳細には、トランスミッタ１は、送信側アンプ１１０〜１１３、１２を備えており、レシーバ２は、受信側アンプ２１０〜２１３、２２を備えている。トランスミッタ１の送信側アンプ１１０−１１３は、それぞれ、データ信号ＤＡＴＡ００〜ＤＡＴＡ０３を、伝送線路３０〜３３を介してレシーバ２の受信側アンプ２１０〜２２３に送信する。また、トランスミッタ１の送信側アンプ１２は、クロック信号ＣＬＯＣＫを、伝送線路４を介してレシーバ２の受信側アンプ２２に送信する。伝送線路３０〜３３、４においては、データ信号ＤＡＴＡ００〜ＤＡＴＡ０３及びクロック信号ＣＬＯＣＫは、いずれも、差動小振幅信号として伝送される。受信側アンプ２１０〜２１３、２２は、それぞれ、差動小振幅信号として伝送されたデータ信号ＤＡＴＡ００〜ＤＡＴＡ０３、クロック信号ＣＬＯＣＫをシングルエンド信号に変換する。即ち、受信側アンプ２１０〜２１３、２２から出力されるデータ信号ＤＡＴＡ００〜ＤＡＴＡ０３、クロック信号ＣＬＯＣＫは、いずれも、シングルエンド信号である。
【０１２０】
レシーバ２は、更に、可変遅延回路２３０〜２３３と、ラッチ回路２４０〜２４３と、スキュー検出回路２５０〜２５３とを備えている。可変遅延回路２３０〜２３３は、それぞれ、データ信号ＤＡＴＡ００〜ＤＡＴＡ０３とクロック信号ＣＬＯＣＫの間の相対的な遅延を調節する回路である。ラッチ回路２４０〜２４３は、それぞれ、可変遅延回路２３０〜２３３から供給される遅延調整後クロック信号ＣＬＯＣＫＡＤＪに同期して遅延調整後データ信号ＤＡＴＡＡＤＪをラッチし、出力データ信号ＤＯＵＴ０〜ＤＯＵＴ３を生成する。スキュー検出回路２５０〜２５３は、それぞれ、データ信号ＤＡＴＡ００〜ＤＡＴＡ０３とクロック信号ＣＬＯＣＫの間のスキューを検出し、検出されたスキューに応じて遅延制御信号ＳＣＴＲＬ０〜ＳＣＴＲＬ３を生成する。生成された遅延制御信号ＳＣＴＲＬ０〜ＳＣＴＲＬ３は、可変遅延回路２３０〜２３３に送られる。可変遅延回路２３０〜２３３においては、検出されたスキューに応じて生成された遅延制御信号ＳＣＴＲＬ０〜ＳＣＴＲＬ３に応答して、データ信号ＤＡＴＡ００〜ＤＡＴＡ０３とクロック信号ＣＬＯＣＫの間の相対的な遅延が制御される。可変遅延回路２３０〜２３３、ラッチ回路２４０〜２４３、スキュー検出回路２５０〜２５３の構成は、上述の実施例で説明されているとおりである。
【０１２１】
本実施例においては、複数のデータ信号ＤＡＴＡ００〜ＤＡＴＡ０３のそれぞれについて、個別に、クロック信号ＣＬＯＣＫとのスキューを解消することができる。
【０１２２】
以上には、本発明の具体的な実施形態及び実施例が説明されているが、本発明は、上記の実施形態及び実施例に限定されると解釈してはならない。本発明が、様々な変更と共に実施され得ることは、当業者には自明的であろう。
【符号の説明】
【０１２３】
１        ：トランスミッタ
２        ：レシーバ
３、４    ：伝送線路
１１、１２：送信側アンプ
２１、２２：受信側アンプ
２３      ：可変遅延回路
２３Ａ    ：データ可変遅延部
２３Ｂ    ：クロック可変遅延部
２４      ：ラッチ回路
２５      ：スキュー検出回路
２６〜２９      ：スイッチ
３１〜３３：遅延回路
３４      ：選択回路
４１〜４３：遅延回路
４４〜４６：Ｄフリップフロップ
４７      ：タイミング検出回路
５１、５２：Ｄフリップフロップ
５３      ：デシリアライザ回路
６１、６２：遅延回路
６３      ：選択回路
６４      ：遅延回路
７１〜７３：遅延回路
７４〜７６：Ｄフリップフロップ
７７      ：タイミング検出回路
８１、８２：遅延回路
８３      ：選択回路
８４、８５：遅延回路
８６      ：選択回路
９１      ：遅延回路
９２      ：Ｄフリップフロップ
９３ａ    ：タイミング検出回路
９３ｂ    ：遅延選択回路
９４      ：遅延回路
１０１    ：入力端子
１０２    ：遅延回路
１０３    ：選択回路
１０４    ：出力端子
【図１】
2014168195.tif 000003
【図２】
2014168195.tif 000004
【図３】
2014168195.tif 000005
【図４】
2014168195.tif 000006
【図５】
2014168195.tif 000007
【図６Ａ】
2014168195.tif 000008
【図６Ｂ】
2014168195.tif 000009
【図７】
2014168195.tif 000010
【図８】
2014168195.tif 000011
【図９】
2014168195.tif 000012
【図１０】
2014168195.tif 000013
【図１１】
2014168195.tif 000014
【図１２】
2014168195.tif 000015
【図１３】
2014168195.tif 000016
【図１４】
2014168195.tif 000017
【図１５】
2014168195.tif 000018
【図１６】
2014168195.tif 000019
【図１７】
2014168195.tif 000020
【図１８】
2014168195.tif 000021
【図１９】
2014168195.tif 000022
【図２０】
2014168195.tif 000023
【図２１Ａ】
2014168195.tif 000024
【図２１Ｂ】
2014168195.tif 000025
【図２２Ａ】
2014168195.tif 000026
【図２２Ｂ】
2014168195.tif 000027
【図２３】
2014168195.tif 000028
【図２４】
2014168195.tif 000029
【図２５】
2014168195.tif 000030
【図２６】
2014168195.tif 000031