特許第6906911号(P6906911)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シナプティクス・ディスプレイ・デバイス株式会社の特許一覧

特許6906911半導体装置、データ伝送システム及び半導体装置の動作方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6906911
(24)【登録日】2021年7月2日
(45)【発行日】2021年7月21日
(54)【発明の名称】半導体装置、データ伝送システム及び半導体装置の動作方法
(51)【国際特許分類】
   H04L 7/00 20060101AFI20210708BHJP
【FI】
   H04L7/00 370
   H04L7/00 410
【請求項の数】19
【全頁数】36
(21)【出願番号】特願2016-160382(P2016-160382)
(22)【出願日】2016年8月18日
(65)【公開番号】特開2018-29269(P2018-29269A)
(43)【公開日】2018年2月22日
【審査請求日】2019年8月6日
(73)【特許権者】
【識別番号】308017571
【氏名又は名称】シナプティクス・ジャパン合同会社
(74)【代理人】
【識別番号】100205350
【弁理士】
【氏名又は名称】狩野 芳正
(74)【代理人】
【識別番号】100117617
【弁理士】
【氏名又は名称】中尾 圭策
(72)【発明者】
【氏名】堀 良彦
(72)【発明者】
【氏名】瀬納 剛史
(72)【発明者】
【氏名】糸魚川 敬一
(72)【発明者】
【氏名】黒沢 淳
(72)【発明者】
【氏名】田村 敬
(72)【発明者】
【氏名】桑田 英明
(72)【発明者】
【氏名】神田 和彦
(72)【発明者】
【氏名】皆木 朋夫
【審査官】 白井 亮
(56)【参考文献】
【文献】 特開2010−028450(JP,A)
【文献】 特開2004−127147(JP,A)
【文献】 特開2004−118083(JP,A)
【文献】 特開平08−204692(JP,A)
【文献】 特開2002−169771(JP,A)
【文献】 特開昭57−157658(JP,A)
【文献】 特表2000−504514(JP,A)
【文献】 米国特許第09020085(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
(57)【特許請求の範囲】
【請求項1】
外部データ信号を受け取って受信データ信号を出力する第1バッファと、
外部クロック信号を受け取って受信クロック信号を出力する第2バッファと、
前記受信クロック信号を、設定された設定遅延時間だけ遅延して遅延クロック信号を生成するように構成された遅延回路部と、
前記遅延クロック信号に応答して、前記受信データ信号又は前記受信データ信号を反転することにより生成された反転データ信号をラッチして受信データを出力するように構成されたラッチ回路と、
前記設定遅延時間を制御するように構成された遅延制御回路部
とを具備し、
前記遅延制御回路部は、前記設定遅延時間の最適値を決定する第1キャリブレーション動作において、
前記設定遅延時間を初期値に設定する初期設定動作と、
前記設定遅延時間を初期値から増大させて前記受信データの値が安定して第1値をとるようになる前記設定遅延時間である第1遅延時間を探索する第1フェイズ動作と、
前記設定遅延時間を前記第1遅延時間から増加させて前記受信データの値が安定して前記第1値と異なる第2値をとるようになる前記設定遅延時間である第2遅延時間を探索する第2フェイズ動作と、
前記設定遅延時間を前記第2遅延時間から減少させて前記受信データ信号の値が安定して前記第1値をとるようになる前記設定遅延時間である第3遅延時間を探索する第3フェイズ動作と、
前記第1遅延時間と前記第3遅延時間とに基づいて前記設定遅延時間の最適値を決定する最適値決定動作
とを行うように構成された
半導体装置。
【請求項2】
外部データ信号を受け取って受信データ信号を出力する第1バッファと、
外部クロック信号を受け取って受信クロック信号を出力する第2バッファと、
前記受信データ信号を、設定された設定遅延時間だけ遅延して遅延データ信号を生成するように構成された遅延回路部と、
前記受信クロック信号に応答して、前記遅延データ信号又は前記遅延データ信号を反転することにより生成された反転データ信号をラッチして受信データを出力するように構成されたラッチ回路と、
前記設定遅延時間を制御するように構成された遅延制御回路部
とを具備し、
前記遅延制御回路部は、前記設定遅延時間の最適値を決定する第1キャリブレーション動作において、
前記設定遅延時間を初期値に設定する初期設定動作と、
前記設定遅延時間を初期値から増大させて前記受信データの値が安定して第1値をとるようになる前記設定遅延時間である第1遅延時間を探索する第1フェイズ動作と、
前記設定遅延時間を前記第1遅延時間から増加させて前記受信データの値が安定して前記第1値と異なる第2値をとるようになる前記設定遅延時間である第2遅延時間を探索する第2フェイズ動作と、
前記設定遅延時間を前記第2遅延時間から減少させて前記受信データ値が安定して前記第1値をとるようになる前記設定遅延時間である第3遅延時間を探索する第3フェイズ動作と、
前記第1遅延時間と前記第3遅延時間とに基づいて前記設定遅延時間の最適値を決定する最適値決定動作
とを行うように構成された
半導体装置。
【請求項3】
請求項1に記載の半導体装置であって、
前記遅延制御回路部は、前記第1フェイズ動作においては前記設定遅延時間を第1増分で増加させ、前記第2フェイズ動作においては前記設定遅延時間を前記第1増分よりも大きい第2増分で増加させるように構成された
半導体装置。
【請求項4】
請求項1に記載の半導体装置であって、
更に、
前記遅延クロック信号を受け取り、前記遅延クロック信号を反転して反転クロック信号を生成するインバータと、
前記受信クロック信号と前記反転クロック信号のうちから選択された内部クロック信号を前記ラッチ回路に供給する選択回路
とを具備し、
前記ラッチ回路は、前記内部クロック信号を受け取って前記受信データ信号をラッチする
半導体装置。
【請求項5】
請求項4に記載の半導体装置であって、
前記初期設定動作において前記設定遅延時間を前記初期値に設定したときに記受信データ値が前記第1値である場合、前記第1フェイズ動作、前記第2フェイズ動作及び前記第3フェイズ動作において、前記選択回路が前記反転クロック信号を前記内部クロック信号として選択する
半導体装置。
【請求項6】
請求項1に記載の半導体装置であって、
更に、
前記受信データ信号を受け取り、前記受信データ信号を反転して前記反転データ信号を生成するインバータと、
前記受信データ信号と前記反転データ信号のうちから選択された選択データ信号を前記ラッチ回路に供給する選択回路
とを具備し、
前記ラッチ回路は、前記選択データ信号をラッチする
半導体装置。
【請求項7】
請求項6に記載の半導体装置であって、
前記初期設定動作において前記設定遅延時間を前記初期値に設定したときに記受信データ値が前記第1値である場合、前記第1フェイズ動作、前記第2フェイズ動作及び前記第3フェイズ動作において、前記選択回路が前記反転データ信号を前記選択データ信号として選択する
半導体装置。
【請求項8】
請求項1乃至7のいずれかに記載の半導体装置であって、
前記遅延制御回路部は、前記第1キャリブレーション動作の前記最適値決定動作において、前記第1遅延時間と前記第3遅延時間の平均値と以前のキャリブレーション動作で決定された前記設定遅延時間の最適値とを比較し、前記以前のキャリブレーション動作で決定された前記設定遅延時間の最適値よりも前記平均値が長い場合、前記第1キャリブレーション動作において、前記以前のキャリブレーション動作で決定された前記設定遅延時間の最適値より所定時間だけ長い遅延時間を前記設定遅延時間の最適値として決定し、前記以前のキャリブレーション動作で決定された前記設定遅延時間の最適値よりも前記平均値が短い場合、前記第1キャリブレーション動作において、前記以前のキャリブレーション動作で決定された前記設定遅延時間の最適値より所定時間だけ短い遅延時間を前記設定遅延時間の最適値として決定する
半導体装置。
【請求項9】
請求項1乃至7のいずれかに記載の半導体装置であって、
前記遅延制御回路部は、前記第1キャリブレーション動作より後で行われる第2キャリブレーション動作において、前記設定遅延時間を前記初期値に設定する動作と、前記設定遅延時間を前記初期値から増大させて前記受信データの値が安定して前記第1値をとるようになる前記設定遅延時間である第4遅延時間を探索する動作とを行うように構成され、
前記遅延制御回路部は、前記第2キャリブレーション動作において、前記設定遅延時間の最適値を、前記第4遅延時間に、前記第3遅延時間から前記第1遅延時間を減じて得られる差の2分の1を加えた遅延時間として算出する
半導体装置。
【請求項10】
請求項1乃至9のいずれかに記載の半導体装置であって、
前記第1フェイズ動作と前記第2フェイズ動作との間の期間に、前記外部データ信号と前記外部クロック信号とを外部から前記半導体装置に送信することによってデータ伝送が行われ、
前記遅延制御回路部は、前記第2フェイズ動作において、前記第1遅延時間を前記設定遅延時間として設定して前記受信データが安定して前記第1値をとるかを判断し、前記受信データが安定して前記第1値をとらない場合に前記第1遅延時間を調節する
半導体装置。
【請求項11】
請求項1乃至9のいずれかに記載の半導体装置であって、
前記第2フェイズ動作と前記第3フェイズ動作との間の期間に、前記外部データ信号と前記外部クロック信号とを外部から前記半導体装置に送信することによってデータ伝送が行われ、
前記遅延制御回路部は、前記第3フェイズ動作において、前記第2遅延時間を前記設定遅延時間として設定して前記受信データが安定して前記第2値をとるかを判断し、前記受信データが安定して前記第2値をとらない場合に前記第2遅延時間を調節する
半導体装置。
【請求項12】
外部データ信号と外部クロック信号を出力するデータ送信装置と、
データ受信装置と、
前記外部データ信号を前記データ受信装置に伝送するデータ伝送路と、
前記データ伝送路とは別に設けられ、前記外部クロック信号を前記データ受信装置に伝送するクロック伝送路
とを具備し、
前記データ受信装置は、
前記外部データ信号を受け取って受信データ信号を出力する第1バッファと、
前記外部クロック信号を受け取って受信クロック信号を出力する第2バッファと、
前記受信クロック信号を、設定された設定遅延時間だけ遅延して遅延クロック信号を生成するように構成された遅延回路部と、
前記遅延クロック信号に応答して、前記受信データ信号又は前記受信データ信号を反転することにより生成された反転データ信号をラッチして受信データを出力するように構成されたラッチ回路と、
前記設定遅延時間を制御するように構成された遅延制御回路部
とを備え、
前記遅延制御回路部は、前記設定遅延時間の最適値を決定するキャリブレーション動作において、
前記設定遅延時間を初期値に設定する初期設定動作と、
前記設定遅延時間を初期値から増大させて記受信データ値が安定して第1値をとるようになる前記設定遅延時間である第1遅延時間を探索する第1フェイズ動作と、
前記設定遅延時間を前記第1遅延時間から増加させて記受信データ値が安定して前記第1値と異なる第2値をとるようになる前記設定遅延時間である第2遅延時間を探索する第2フェイズ動作と、
前記設定遅延時間を前記第2遅延時間から減少させて記受信データ値が安定して前記第1値をとるようになる前記設定遅延時間である第3遅延時間を探索する第3フェイズ動作と、
前記第1遅延時間と前記第3遅延時間とに基づいて前記設定遅延時間の最適値を決定する最適値決定動作
とを行うように構成された
データ伝送システム。
【請求項13】
外部データ信号と外部クロック信号を出力するデータ送信装置と、
データ受信装置と、
前記外部データ信号を前記データ受信装置に伝送するデータ伝送路と、
前記データ伝送路とは別に設けられ、前記外部クロック信号を前記データ受信装置に伝送するクロック伝送路
とを具備し、
前記データ受信装置は、
前記外部データ信号を受け取って受信データ信号を出力する第1バッファと、
前記外部クロック信号を受け取って受信クロック信号を出力する第2バッファと、
前記受信データ信号を、設定された設定遅延時間だけ遅延して遅延データ信号を生成するように構成された遅延回路部と、
前記受信クロック信号に応答して、前記遅延データ信号又は前記遅延データ信号を反転することにより生成された反転データ信号をラッチして受信データを出力するように構成されたラッチ回路と、
前記設定遅延時間を制御するように構成された遅延制御回路部
とを備え、
前記遅延制御回路部は、前記設定遅延時間の最適値を決定するキャリブレーション動作において、
前記設定遅延時間を初期値に設定する初期設定動作と、
前記設定遅延時間を初期値から増大させて記受信データ値が安定して第1値をとるようになる前記設定遅延時間である第1遅延時間を探索する第1フェイズ動作と、
前記設定遅延時間を前記第1遅延時間から増加させて記受信データ値が安定して前記第1値と異なる第2値をとるようになる前記設定遅延時間である第2遅延時間を探索する第2フェイズ動作と、
前記設定遅延時間を前記第2遅延時間から減少させて記受信データ値が安定して前記第1値をとるようになる前記設定遅延時間である第3遅延時間を探索する第3フェイズ動作と、
前記第1遅延時間と前記第3遅延時間とに基づいて前記設定遅延時間の最適値を決定する最適値決定動作
とを行うように構成された
データ伝送システム。
【請求項14】
請求項12又は13に記載のデータ伝送システムであって、
前記第1フェイズ動作と前記第2フェイズ動作の間の期間において、前記外部データ信号と前記外部クロック信号とを前記データ送信装置から前記データ受信装置に送信することによってデータ伝送が行われる
データ伝送システム。
【請求項15】
請求項12乃至14のいずれか1項に記載のデータ伝送システムであって、
前記第2フェイズ動作と前記第3フェイズ動作の間の期間において、前記外部データ信号と前記外部クロック信号とを前記データ送信装置から前記データ受信装置に送信することによってデータ伝送が行われる
データ伝送システム。
【請求項16】
外部データ信号を受け取って受信データ信号を出力する第1バッファと、
外部クロック信号を受け取って受信クロック信号を出力する第2バッファと、
前記受信クロック信号を、設定された設定遅延時間だけ遅延して遅延クロック信号を生成するように構成された遅延回路部と、
前記遅延クロック信号に応答して、前記受信データ信号又は前記受信データ信号を反転することにより生成された反転データ信号をラッチして受信データを出力するように構成されたラッチ回路
とを具備する半導体装置の動作方法であって、
前記設定遅延時間の最適値を決定するキャリブレーション動作を行うステップ
を具備し、
前記キャリブレーション動作は、
前記設定遅延時間を初期値に設定する初期設定動作と、
前記設定遅延時間を初期値から増大させて前記受信データの値が安定して第1値をとるようになる前記設定遅延時間である第1遅延時間を探索する第1フェイズ動作と、
前記設定遅延時間を前記第1遅延時間から増加させて前記受信データの値が安定して前記第1値と異なる第2値をとるようになる前記設定遅延時間である第2遅延時間を探索する第2フェイズ動作と、
前記設定遅延時間を前記第2遅延時間から減少させて前記受信データ値が安定して前記第1値をとるようになる前記設定遅延時間である第3遅延時間を探索する第3フェイズ動作と、
前記第1遅延時間と前記第3遅延時間とに基づいて前記設定遅延時間の最適値を決定する最適値決定動作
とを備えている
半導体装置の動作方法。
【請求項17】
外部データ信号を受け取って受信データ信号を出力する第1バッファと、
外部クロック信号を受け取って受信クロック信号を出力する第2バッファと、
前記受信データ信号を、設定された設定遅延時間だけ遅延して遅延データ信号を生成するように構成された遅延回路部と、
前記受信クロック信号に応答して、前記遅延データ信号又は前記遅延データ信号を反転することにより生成された反転データ信号をラッチして受信データを出力するように構成されたラッチ回路
とを具備する半導体装置の動作方法であって、
前記設定遅延時間の最適値を決定するキャリブレーション動作を行うステップ
を具備し、
前記キャリブレーション動作は、
前記設定遅延時間を初期値に設定する初期設定動作と、
前記設定遅延時間を初期値から増大させて前記受信データの値が安定して第1値をとるようになる前記設定遅延時間である第1遅延時間を探索する第1フェイズ動作と、
前記設定遅延時間を前記第1遅延時間から増加させて前記受信データの値が安定して前記第1値と異なる第2値をとるようになる前記設定遅延時間である第2遅延時間を探索する第2フェイズ動作と、
前記設定遅延時間を前記第2遅延時間から減少させて前記受信データ値が安定して前記第1値をとるようになる前記設定遅延時間である第3遅延時間を探索する第3フェイズ動作と、
前記第1遅延時間と前記第3遅延時間とに基づいて前記設定遅延時間の最適値を決定する最適値決定動作
とを備えている
半導体装置の動作方法。
【請求項18】
請求項16又は17に記載の半導体装置の動作方法であって、
前記第1フェイズ動作と前記第2フェイズ動作の間に、前記外部データ信号及び前記外部クロック信号によって前記半導体装置にデータを送信するデータ伝送を行うステップ
を更に具備する
半導体装置の動作方法。
【請求項19】
請求項16乃至18のいずれか1項に記載の半導体装置の動作方法であって、
前記第2フェイズ動作と前記第3フェイズ動作の間に、前記外部データ信号及び前記外部クロック信号によって前記半導体装置にデータを送信するデータ伝送を行うステップ
を更に具備する
半導体装置の動作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置、データ伝送システム及び半導体装置の動作方法に関し、特に、半導体装置にデータを伝送するためのデータインターフェースに関する。
【背景技術】
【0002】
近年の半導体装置は、ますます高速なデータ伝送が求められている。例えば、携帯端末の画面の高精細化に伴い、表示パネル(例えば、液晶表示パネルやOLED(organic light emitting diode)表示パネル)を駆動する表示ドライバへの画像データのデータ伝送レートは、ますます上昇している。
【0003】
高速データ伝送に一般的に用いられる技術の一つは、データ信号にクロックを埋め込むクロックエンベデッド(clock embedded)技術である。しかしながら、クロックエンベデッド技術は、PLL(phase locked loop)回路やDLL(delay locked loop)回路のような比較的消費電力が大きい回路が必要である。
【0004】
このような背景から、携帯端末等、電池で駆動される機器では、クロックエンベデッド技術を用いず、データ信号とクロック信号とを別々の伝送路で送信するアーキテクチャを採用する場合がある。例えば、MIPI(Mobile Industry Processor Interface)アライアンスによって策定されたMIPI D−PHY規格は、データ信号とクロック信号とを別々の伝送路で送信するアーキテクチャを採用している。
【0005】
このようなアーキテクチャを採用するデータ伝送システムでは、受信側の設計により決まるセットアップタイム及びホールドタイムに対し、十分に余裕が確保できるようにデータ信号とクロック信号の位相が設計される。
【0006】
図1Aは、データ信号とクロック信号の位相の例を示している。データ転送の単位時間であるユニットインターバル(UI(unit interval))に対し、セットアップタイムとホールドタイムの和が十分に短ければデータ転送は安定する。1ユニットインターバルをtUI、セットアップタイムをtSETUP、ホールドタイムをtHOLDとすると、tUI−(tSETUP+tHOLD)で表される時間差が、設計において許容される時間の余裕(時間マージン)である。図1Aは、1ユニットインターバルに対し、セットアップタイムとホールドタイムの和が十分に短い場合を図示している。
【0007】
この時間の余裕(時間マージン)は、送信側デバイス及び受信側デバイスの設計バラツキの補償に割り当てられることもあるが、データ信号とクロック信号とを独立した伝送路で送信するデータ伝送システムにおいて高いデータレートでデータ伝送を行う場合、時間の余裕の大部分が、伝送路の設計余裕を確保するために、即ち、データ信号とクロック信号との間のスキューに対応するために用いられる。
【0008】
データ信号とクロック信号との間で発生するスキューの要因には、概略的には、次の2種類がある。第1の要因は、データ信号とクロック信号を伝送する伝送路の線路長の差により発生するタイミングのずれである。線路長の差は、スキューの大きな要因の一つであり、従来から、等長配線等で対応がなされている。第2の要因は、ISI(Inter Symbol Interference)と呼ばれる伝送路の周波数特性による波形のゆがみである。データレートが高くなると、ISIのような、線路長の差以外の要因で発生するスキューも無視できなくなり、伝送路の設計の難易度も高くなってきている。
【0009】
特に、近年では、4K/2Kディスプレイや高フレームレート化等の技術が開発されてきており、これらの技術は、画像データの転送におけるデータレートの急激な上昇を伴う。データレートの上昇は、1ユニットインターバルの短縮を意味しており、図1Bに図示されているように、時間の余裕を減少させることになる。従来は、1ユニットインターバルの短縮に対して、半導体製造プロセスの微細化によるセットアップタイム、ホールドタイムの短縮で対応してきていたが、近年のデータレートの上昇により、微細化によるセットアップタイム、ホールドタイムの短縮だけでは安定したデータ転送を実現するための時間の余裕を確保することが困難になってきている。
【0010】
このような背景から、データ信号とクロック信号とを別々の伝送路で伝送するデータ伝送システムにおいて、データ信号とクロック信号との間のスキューを補償するための技術の提供が求められている。
【0011】
なお、スキューを解消するための技術は、例えば、特開2014−168195号公報に開示されている。この公報に開示された受信装置は、クロック信号とデータ信号との少なくとも一方を遅延する可変遅延回路の遅延時間を、スキュー検出回路によって生成されたスキュー検出データに応じて制御するように構成されている。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2014−168195号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
従って、本発明の目的の一つは、データ信号とクロック信号とを別々の伝送路で伝送するデータ伝送システムにおいて、データ信号とクロック信号との間のスキューを補償するための技術を提供することにある。本発明の他の目的は、下記の開示から当業者には理解されるであろう。
【課題を解決するための手段】
【0014】
本発明の一の観点では、半導体装置が、外部データ信号を受け取って受信データ信号を出力する第1バッファと、外部クロック信号を受け取って受信クロック信号を出力する第2バッファと、受信クロック信号に応答して受信データ信号又は受信データ信号から生成された信号をラッチして受信データを出力するラッチ回路と、受信データ信号と受信クロック信号の一方の信号を、設定された設定遅延時間だけ他方の信号に対して遅延させるように構成された遅延回路部と、設定遅延時間を制御するように構成された遅延制御回路部とを具備する。遅延制御回路部は、設定遅延時間の最適値を決定するキャリブレーション動作において、設定遅延時間を初期値に設定する初期設定動作と、設定遅延時間を初期値から増大させて受信データの値が安定して第1値をとるようになる設定遅延時間である第1遅延時間を探索する第1フェイズ動作と、設定遅延時間を第1遅延時間から増加させて受信データの値が安定して第1値と異なる第2値をとるようになる設定遅延時間である第2遅延時間を探索する第2フェイズ動作と、設定遅延時間を第2遅延時間から減少させて受信データ信号の値が安定して第1値をとるようになる設定遅延時間である第3遅延時間を探索する第3フェイズ動作と、第1遅延時間と第3遅延時間とに基づいて設定遅延時間の最適値を決定する最適値決定動作とを行うように構成されている。
【0015】
このような半導体装置は、データ送信装置からデータ受信装置にデータ伝送を行うデータ伝送システムに好適に適用される。
【0016】
本発明の他の観点では、外部データ信号を受け取って受信データ信号を出力する第1バッファと、外部クロック信号を受け取って受信クロック信号を出力する第2バッファと、受信クロック信号に応答して受信データ信号又は受信データ信号から生成された信号をラッチして受信データを出力するラッチ回路と、受信データ信号と受信クロック信号の一方の信号を、設定された設定遅延時間だけ他方の信号に対して遅延させるように構成された遅延回路部とを具備する半導体装置の動作方法が提供される。当該動作方法は、設定遅延時間の最適値を決定するキャリブレーション動作を行うステップを具備する。キャリブレーション動作は、設定遅延時間を初期値に設定する初期設定動作と、設定遅延時間を初期値から増大させて受信データの値が安定して第1値をとるようになる設定遅延時間である第1遅延時間を探索する第1フェイズ動作と、設定遅延時間を第1遅延時間から増加させて受信データの値が安定して第1値と異なる第2値をとるようになる設定遅延時間である第2遅延時間を探索する第2フェイズ動作と、設定遅延時間を第2遅延時間から減少させて受信データ信号の値が安定して第1値をとるようになる設定遅延時間である第3遅延時間を探索する第3フェイズ動作と、第1遅延時間と第3遅延時間とに基づいて設定遅延時間の最適値を決定する最適値決定動作とを備えている。
【発明の効果】
【0017】
本発明によれば、データ信号とクロック信号とを別々の伝送路で伝送するデータ伝送システムにおいて、データ信号とクロック信号との間のスキューを補償するための技術を提供することができる。
【図面の簡単な説明】
【0018】
図1A】データ信号とクロック信号の位相の例を示すタイミングチャートである。
図1B】1ユニットインターバル(UI)が短縮された場合の時間の余裕(時間マージン)を示すタイミングチャートである。
図2】一実施形態におけるデータ伝送システムの構成を示すブロック図である。
図3】一実施形態におけるデータ受信装置の構成を示すブロック図である。
図4】データ受信装置の構成の変形例を示すブロック図である。
図5】キャリブレーション動作において生じ得る最適化クロック信号のエッジの位置のブレを説明するタイミングチャートである。
図6】本実施形態におけるキャリブレーション動作の概要を示すタイミングチャートである。
図7】第1フェイズにおけるデータ受信装置の動作を示すフローチャートである。
図8】可変遅延回路の遅延設定値が初期値D0に設定されたときの受信データ信号と遅延クロック信号の波形の例を示すタイミングチャートである。
図9A】遅延設定値が初期値D0に設定されたときにラッチ回路によってラッチされた受信データ信号の値が“L”である場合の内部クロック信号(遅延クロック信号)の波形、及び、この場合に遅延クロック信号を用いて受信データ信号をラッチした場合の第1フェイズにおける動作を示すタイミングチャートである。
図9B】遅延設定値が初期値D0に設定されたときにラッチ回路によってラッチされた受信データ信号の値が“L”である場合に、内部クロック信号を反転した場合の第1フェイズにおける動作を示すタイミングチャートである。
図10】第1フェイズで得られる遅延設定値D1と受信データ信号の波形の関係を示すタイミングチャートである。
図11】第2フェイズにおけるデータ受信装置の動作を示すフローチャートである。
図12】第2フェイズで得られる遅延設定値D2と受信データ信号の波形の関係を示すタイミングチャートである。
図13】第3フェイズにおけるデータ受信装置の動作を示すフローチャートである。
図14】第フェイズで得られる遅延設定値D3と受信データ信号の波形の関係を示すタイミングチャートである。
図15】最適遅延設定値の算出方法及び算出された最適遅延設定値と受信データ信号の波形の関係を示すタイミングチャートである。
図16】第1フェイズ、第2フェイズ及び第3フェイズを分割して実行するキャリブレーション動作を行う場合のデータ伝送システムの動作の例を示すタイミングチャートである。
図17A】第1フェイズと第2フェイズとを分割して実行する場合の経時変化による影響を抑制するために好適な第2フェイズの動作を示すフローチャートである。
図17B】第1フェイズと第2フェイズとを分割して実行する場合の経時変化による影響を抑制するために好適な第2フェイズの動作を示すフローチャートである。
図18A】第2フェイズと第3フェイズとを分割して実行する場合の経時変化による影響を抑制するために好適な第3フェイズの動作を示すフローチャートである。
図18B】第2フェイズと第3フェイズとを分割して実行する場合の経時変化による影響を抑制するために好適な第3フェイズの動作を示すフローチャートである。
図19】データ受信装置の構成の他の変形例を示すブロック図である。
図20】データ受信装置の構成の更に他の変形例を示すブロック図である。
図21】データ受信装置の構成の更に他の変形例を示すブロック図である。
図22A】データ伝送システムの構成の変形例を示すブロック図である。
図22B図22Aに図示されているデータ伝送システムにおけるデータ受信装置の構成を示すブロック図である。
図23】オプション動作#1に対応したデータ受信装置の構成を示すブロック図である。
図24】オプション動作#1の手順を示すフローチャートである。
図25】オプション動作#2に対応したデータ受信装置の構成を示すブロック図である。
図26A】オプション動作#2の手順を示すフローチャートである。
図26B】オプション動作#2の手順を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、添付図面を参照しながら、様々な実施の形態を説明する。以下の説明において、同一又は類似の構成要素は、同一又は対応する参照符号によって参照することがある。
【0020】
(第1の実施形態)
図2は、一実施形態におけるデータ伝送システム10の構成を示すブロック図である。データ伝送システム10は、データ送信装置1とデータ受信装置2とを備えている。データ送信装置1は、データ信号を伝送するデータ伝送路3とクロック信号を伝送するクロック伝送路4とによってデータ受信装置2に接続されている。一実施例としては、データ送信装置1が第1の半導体装置(又は集積回路(IC))として実装され、データ受信装置2が第2の半導体装置(又は集積回路)として実装される。例えば、データ送信装置1が、アプリケーションプロセッサに実装され、データ受信装置2が、表示パネル(例えば、液晶表示パネルやOLED表示パネル)を駆動する表示ドライバに実装されてもよい。
【0021】
では、データ伝送路3が、本の線として図示されているが、データ信号を差動信号として送信する場合には、データ伝送路3が該差動信号を伝送する2本の信号線を含んでいてもよい。クロック伝送路4についても同様に、クロック信号を差動信号として送信する場合には、クロック伝送路4が該差動信号を伝送する2本の信号線を含んでいてもよい。以下では、データ伝送路3で伝送されるデータ信号を外部データ信号5といい、クロック伝送路4によって伝送されるクロック信号を外部クロック信号6という。
【0022】
図3は、一実施形態におけるデータ受信装置2の構成を示すブロック図である。データ受信装置2は、受信バッファ11、12と、遅延回路部(delay circuitry)13と、クロック反転回路部(clock inversion circuitry)14と、ラッチ回路15と、シリアルパラレル変換回路16と、遅延制御回路部(delay control circuitry)17とを備えている。
【0023】
受信バッファ11は、データ伝送路3を介して伝送される外部データ信号5を受信し、受信した外部データ信号5に対応するシングルエンド信号である受信データ信号31を出力する。同様に、受信バッファ12は、クロック伝送路4によって伝送される外部クロック信号6を受信し、外部クロック信号6に対応するシングルエンド信号である受信クロック信号32を出力する。
【0024】
遅延回路部13は、受信データ信号31と受信クロック信号32の一方の信号を、該遅延回路部13に設定された設定遅延時間だけ他方の信号に対して遅延させるように構成されている。本実施形態では、遅延回路部13は、受信クロック信号32を遅延する一方、受信データ信号31をそのまま出力するように構成される。遅延回路部13は、受信バッファ12の出力に接続された可変遅延回路13aを備えている。可変遅延回路13aは、それに設定された設定遅延時間だけ受信クロック信号32を遅延し、遅延クロック信号33を出力する。本実施形態では、可変遅延回路13aに設定される設定遅延時間は、遅延制御回路部17から供給される遅延設定値によって指定される。以下では、簡単のために、遅延設定値が大きいほど、可変遅延回路13aに設定される設定遅延時間が長くなるとするとして説明を行う。
【0025】
クロック反転回路部14は、遅延クロック信号33又は遅延クロック信号33を反転して得られる反転クロック信号のいずれかを内部クロック信号34として選択し、内部クロック信号34を出力する。クロック反転回路部14から出力される内部クロック信号34は、ラッチ回路15による受信データ信号31のラッチに用いられる。クロック反転回路部14は、インバータ14aとセレクタ14bとを備えている。インバータ14aは、遅延クロック信号33を反転して反転クロック信号を生成する。セレクタ14bは、遅延制御回路部17から供給されるクロック極性反転信号35に応じて遅延クロック信号33と反転クロック信号との一方のクロック信号を選択し、選択したクロック信号を内部クロック信号34として出力する。
【0026】
ラッチ回路15は、内部クロック信号34に同期して受信データ信号31をラッチし、受信データ36を出力する。ここで、内部クロック信号34は、受信クロック信号32から生成された遅延クロック信号33又はその反転クロック信号であるから、ラッチ回路15は、結局、受信クロック信号32に応じて受信データ信号31をラッチする動作を行うことに留意されたい。本実施形態では、簡単のために、ラッチ回路15が、内部クロック信号34の立ち上がりエッジに同期して、即ち、内部クロック信号34がローレベルからハイレベルに立ち上がると受信データ信号31をラッチするとして説明を行う。なお、ラッチ回路15は、内部クロック信号34の立ち下がりエッジに同期して受信データ信号31をラッチするように構成されてもよいし、後述されるように、内部クロック信号34の立ち上がりエッジと立ち下がりエッジの両方に同期して受信データ信号31をラッチするように構成されてもよい。
【0027】
シリアルパラレル変換回路16は、内部クロック信号34に同期して受信データ36を受け取り、受信データ36に対してシリアルパラレル変換を行ってパラレルデータ37を生成する。加えて、シリアルパラレル変換回路16は、内部クロック信号34に基づいて、パラレルデータ37に同期したパラレルデータ用クロック信号38を生成する。パラレルデータ用クロック信号38は、後段の回路においてパラレルデータ37をラッチするために用いられる。
【0028】
遅延制御回路部17は、可変遅延回路13aに設定すべき設定遅延時間を指定する遅延設定値を可変遅延回路13aに供給する。ここで、本実施形態では、遅延制御回路部17は、受信バッファ11、12によって受信される外部データ信号5と外部クロック信号6の間のスキューを補償するために最適な遅延設定値(以下、「最適遅延設定値」という。)を算出するキャリブレーション動作を実行可能なように構成されている。データ伝送システム10がキャリブレーションを行う動作モードであるキャリブレーションモードに設定されると、遅延制御回路部17は、キャリブレーション動作、即ち、最適遅延設定値を算出するための動作を行う。後述されるように、遅延制御回路部17は、可変遅延回路13aに設定された各遅延設定値(設定遅延時間)と、各遅延設定値に対する受信データ36の値とに基づいて、最適遅延設定値を算出する。通常動作時には、遅延制御回路部17は、キャリブレーション動作で算出した最適遅延設定値を可変遅延回路13aに設定する。
【0029】
本実施形態では、遅延制御回路部17は、キャリブレーション制御回路21と、安定確認カウンタ22と、アップダウンカウンタ23と、セレクタ24とを備えている。キャリブレーション制御回路21は、キャリブレーション動作を制御する。キャリブレーション制御回路21は、レジスタ#1〜#4とシーケンス制御回路25とを備えている。レジスタ#1〜#4は、キャリブレーション動作において用いられるデータ及び算出された最適遅延設定値を保持するために用いられる。シーケンス制御回路25は、キャリブレーション動作の各ステップを実行する手順がプログラムされており、当該手順に従ってキャリブレーション制御回路21からのデータ及び信号の出力及びキャリブレーション制御回路21の外部からのデータの受領を行う。
【0030】
安定確認カウンタ22は、ラッチ回路15から受信データ36を受け取り、受信データ36において同一値が連続して現れる回数をカウントする。後述されるように、安定確認カウンタ22のカウント値は、受信データ36の値が安定したことの確認のために用いられる。
【0031】
アップダウンカウンタ23は、キャリブレーション制御回路21による制御の下、カウント値を増減する。本実施形態では、アップダウンカウンタ23は、キャリブレーション制御回路21から“+1”信号、“+n”信号、“−1”信号及びリセット信号を受け取る。アップダウンカウンタ23は、“+1”信号が活性化されると、そのカウント値を1だけ増加し、“+n”信号が活性化されると、そのカウント値をnだけ増加する。また、アップダウンカウンタ23は、“−1”信号が活性化されると、そのカウント値を1だけ減少し、リセット信号が活性化されると、カウント値が初期値(例えば“0”)にリセットされる。
【0032】
なお、ラッチ回路15が、内部クロック信号34の立ち上がりエッジと立ち下がりエッジの両方に同期して受信データ信号31をラッチするように構成されてもよい。図4は、この場合のデータ受信装置2の構成を示すブロック図である。図4の構成では、ラッチ回路15が、内部クロック信号34(即ち、遅延クロック信号33又は反転クロック信号)の立ち上がりエッジに応答して受信データ信号31をラッチして受信データ36aを出力するラッチ15aと、内部クロック信号34の立ち下がりエッジに応答して受信データ信号31をラッチして受信データ36bを出力するラッチ15bとを備えている。シリアルパラレル変換回路16は、ラッチ15a、15bから受け取った受信データ36a、36bからパラレルデータ37を生成すると共に、内部クロック信号34からパラレルデータ用クロック信号38を生成する。ラッチ15a、15bから出力された受信データ36a、36bは、遅延制御回路部17に供給され、遅延制御回路部17における処理に用いられる。
【0033】
続いて、本実施形態におけるデータ受信装置2において行われるキャリブレーション動作について説明する。キャリブレーション動作の目的は、通常動作時にラッチ回路15に供給される内部クロック信号34の位相を最適化すること、即ち、可変遅延回路13aに設定する設定遅延時間を最適化することである。本実施形態では、可変遅延回路13aに設定される設定遅延時間は遅延設定値によって指定されるので、キャリブレーション動作では、通常動作時に可変遅延回路13aに設定する遅延設定値の最適値、即ち、最適遅延設定値が算出される。図5に図示されているように、最適遅延設定値とは、ラッチ回路15による受信データ信号31のラッチに用いられる内部クロック信号34のエッジの位置が、受信データ信号31の隣接するエッジの中間の位置になるような遅延設定値である。ここで、以下では、エッジの位置が、受信データ信号31の隣接するエッジの中間の位置になるような内部クロック信号34を「最適化クロック信号」と呼ぶ。図5には、様々な場合の「最適化クロック信号」のエッジの位置が図示されている。
【0034】
一つの問題は、外部データ信号5と外部クロック信号6とが別々の伝送路で伝送される本実施形態のデータ伝送システム10では、外部データ信号5と外部クロック信号6とが必ずしも同一の大きさのノイズを受けるとは限らないことである。このような状況でキャリブレーション動作を複数回行うと、キャリブレーション動作の度に、算出される最適遅延設定値が変動し得る。このような問題は、特にノイズが多い環境において顕著になる。
【0035】
例えば、キャリブレーション動作において、受信データ信号31のエッジの位置が時間的に前にぶれた場合(図5のケース#1)、最適化クロック信号も時間的に前になる。図5では、このような関係にある受信データ信号31及び最適化クロック信号を、それぞれ、受信データ信号#1及び最適化クロック信号#1として図示している。一方、受信データ信号31のエッジの位置が時間的に後にぶれた場合(図5のケース#2)、最適化クロック信号も時間的に後になる。図5では、このような関係にある受信データ信号31及び最適化クロック信号を、それぞれ、受信データ信号#2及び最適化クロック信号#2として図示している。このように、算出される最適遅延設定値が、キャリブレーション動作の度に変動し得ることは、データ伝送システム10においてデータを安定に伝送するためには好ましくない。
【0036】
このような問題に対応するために、本実施形態では、算出される最適遅延設定値のぶれを抑制するような手順でキャリブレーション動作が行われる。以下では、本実施形態におけるキャリブレーション動作について詳細に説明する。
【0037】
図6は、本実施形態におけるキャリブレーション動作の概要を示すタイミングチャートである。本実施形態のキャリブレーション動作は、3つのフェイズ:第1フェイズ〜第3フェイズを含んでいる。
【0038】
第1フェイズでは、可変遅延回路13aの設定遅延時間を初期値(典型的には、可変遅延回路13aの最小の遅延時間)から増加させながら、ラッチ回路15から出力される受信データ36の値が、“H”から“L”に遷移した後、“L”で安定するような最小の設定遅延時間が探索される。より具体的には、可変遅延回路13aに設定される遅延設定値を初期値(典型的には、“0”)から増加させながら、ラッチ回路15から出力される受信データ36の値が、“H”から“L”に遷移した後、“L”で安定するような最小の遅延設定値が探索される。以下では、可変遅延回路13aに設定される遅延設定値の初期値をD0と記載し、第1フェイズにおける探索によって得られた遅延設定値を、遅延設定値D1と記載する。
【0039】
第2フェイズでは、可変遅延回路13aの設定遅延時間を更に増加させながら、ラッチ回路15から出力される受信データ36の値が、“L”から“H”に遷移した後、“H”で安定するような設定遅延時間が探索される。より具体的には、可変遅延回路13aに設定される遅延設定値を遅延設定値D1から増加させながら、受信データ36の値が、“L”から“H”に遷移した後、“H”で安定するような遅延設定値が探索される。以下では、第2フェイズにおける探索によって得られた遅延設定値を、遅延設定値D2と記載する。
【0040】
第3フェイズでは、可変遅延回路13aの設定遅延時間を、第2フェイズで探索された設定遅延時間から減少させながら、ラッチ回路15から出力される受信データ36の値が、“H”から“L”に遷移した後、“L”で安定するような最大の設定遅延時間が探索される。より具体的には、可変遅延回路13aに設定される遅延設定値を遅延設定値D2から減少させながら、受信データ36の値が、“H”から“L”に遷移した後、“L”で安定するような最大の遅延設定値が探索される。以下では、第3フェイズにおける探索によって得られた遅延設定値を、遅延設定値D3と記載する。
【0041】
可変遅延回路13aに設定する設定遅延時間の最適値は、第1フェイズの探索によって得られた設定遅延時間と第3フェイズの探索によって得られた設定遅延時間とに基づいて得ることができる。即ち、最適遅延設定値は、第1フェイズの探索によって得られた遅延設定値D1と第3フェイズの探索によって得られた遅延設定値D3とに基づいて算出される。本実施形態では、設定遅延時間の最適値は、第1フェイズの探索によって得られた設定遅延時間と第3フェイズの探索によって得られた設定遅延時間の平均値として算出される。即ち、最適遅延設定値は、遅延設定値D1、D3の平均値として算出される。
【0042】
このような手法によれば、キャリブレーション動作で得られる設定遅延時間の最適値、即ち、キャリブレーション動作で算出される最適遅延設定値の変動を抑制することができる。本実施形態の手法では、最適遅延設定値の算出に用いられる遅延設定値D1、D3は、それぞれ、ラッチ回路15から出力される受信データ36の値が“L”で安定化される最小の遅延設定値及び最大の遅延設定値であるので、遅延設定値D1、D3の変動を抑制することができる。したがって、キャリブレーション動作で得られる設定遅延時間の最適値、即ち、キャリブレーション動作で算出される最適遅延設定値の変動を抑制することができる。
【0043】
なお、上記の説明(及び以下の説明)において、受信データ36の値“L”、“H”は、シングルエンド信号の一方の値(第1値)、他方の値(第2値)という程度の意味しか有していないことに留意されたい。
【0044】
以下では、キャリブレーション動作におけるデータ受信装置2の動作について、詳細に説明する。なお、本実施形態のキャリブレーション動作においては、外部データ信号5として、1UI毎に値が“L”と“H”の間で反転される信号が送られる。また、キャリブレーション動作の初期状態では、クロック極性反転信号35が非活性化され、よって、内部クロック信号34として(インバータ14aによって生成された反転クロック信号ではなく)遅延クロック信号33が選択されているとする。
【0045】
図7は、第1フェイズにおけるデータ受信装置2の動作、特に、遅延制御回路部17の動作を示すフローチャートである。上述のように、第1フェイズでは、可変遅延回路13aに設定される遅延設定値を初期値から増大させながら、ラッチ回路15から出力される受信データ36の値が、“H”から“L”に遷移した後、“L”で安定するような最小の遅延設定値D1が探索される。
【0046】
第1フェイズでは、まず、アップダウンカウンタ23がリセットされ、更に、可変遅延回路13aがアップダウンカウンタ23に接続される(ステップS10)。詳細には、ステップS10では、キャリブレーション制御回路21によってリセット信号が活性化され、アップダウンカウンタ23のカウント値が初期値(典型的には“0”)にリセットされる。また、セレクタ24によってアップダウンカウンタ23のカウント値が可変遅延回路13aに設定される遅延設定値として選択され、これにより、可変遅延回路13aに設定される遅延設定値が、初期値D0に設定される。図8は、可変遅延回路13aの遅延設定値が初期値D0に設定されたときの受信データ信号31と遅延クロック信号33の波形の例を示している。
【0047】
続いて、ラッチ回路15から出力される受信データ36の値がキャリブレーション制御回路21によって判定される(ステップS11)。ステップS11において判定された受信データ36の値が“L”である場合、クロック極性反転信号35が活性化され、内部クロック信号34が反転される(ステップS12)。即ち、クロック極性反転信号35の活性化に応答してセレクタ14bにより反転クロック信号が選択され、以後、反転クロック信号が内部クロック信号34として用いられる。
【0048】
ステップS11、S12の動作が行われるのは、第1フェイズにおける探索を速やかに完了させるためである。上述のように、第1フェイズでは、ラッチ回路15から出力される受信データ36の値が“H”から“L”に遷移した後、“L”で安定するような最小の遅延設定値D1が探索される。このとき、例えば、図9Aに図示されているように、遅延設定値が初期値D0に設定された場合にラッチ回路15から出力される受信データ36の値が“L”であるときには、第1フェイズにおいて、ラッチ回路15から出力される受信データ36の値が“L”から“H”に遷移し、更に“H”から“L”に遷移した後、“L”で安定するような最小の遅延設定値を探索することになる。このような動作では、第1フェイズにおける探索に要する時間が増大してしまう。
【0049】
一方、図9Bに図示されているように、遅延設定値が初期値D0に設定された場合にラッチ回路15から出力される受信データ36の値が“L”であるときに内部クロック信号34を反転すれば(即ち、内部クロック信号34として反転クロック信号を選択すれば)、遅延設定値が初期値D0に設定された場合にラッチ回路15から出力される受信データ36の値を“H”にすることができる。よって、第1フェイズにおける探索を短時間で完了させることができる。
【0050】
図7に戻り、第1フェイズの手順は、ステップS13、S14に移行する。ステップS13、S14では、ラッチ回路15から出力される受信データ36の値が“L”になるまで、アップダウンカウンタ23のカウント値、即ち、可変遅延回路13aに設定される遅延設定値が1ずつ増加される。第1フェイズのステップS13、S14において遅延設定値が増加される増分は1である。上述のように、アップダウンカウンタ23のカウント値は、キャリブレーション制御回路21からアップダウンカウンタ23に供給される“+1”信号を活性化することにより、1ずつ増加させることができる。
【0051】
ステップS14において、ある遅延設定値について、ラッチ回路15から出力される受信データ36の値が“L”になったことが検知されると、ステップS15〜S19において、当該遅延設定値によって受信データ36の値が“L”で安定するかが判断される。
【0052】
より具体的には、まず、安定確認カウンタ22がリセットされ(ステップS15)、更に、この状態で、再度、ラッチ回路15から出力される受信データ36の値が“L”であるかが判断される(ステップS16)。
【0053】
ステップS16においてラッチ回路15から出力される受信データ36の値が“L”でない場合には、アップダウンカウンタ23のカウント値が1だけ増加され(ステップS17)、再度、ラッチ回路15から出力される受信データ36の値が“L”であるかが判断される(ステップS16)。
【0054】
ステップS16においてラッチ回路15から出力される受信データ36の値が“L”であると判断された場合、安定確認カウンタ22のカウント値が1だけ増加される(ステップS18)。
【0055】
ステップS18に続いて、安定確認カウンタ22のカウント値が、所定の基準値に到達しているかが判断される(ステップS19)。安定確認カウンタ22のカウント値が、所定の基準値に到達していない場合、ステップS16〜S18の動作が再度実行される。ステップS16〜S18の動作は、安定確認カウンタ22のカウント値が、所定の基準値に到達するまで繰り返して実行される。
【0056】
安定確認カウンタ22のカウント値が所定の基準値に到達した時点のアップダウンカウンタ23のカウント値、即ち、この時点で可変遅延回路13aに設定されていた遅延設定値が遅延設定値D1である。図10は、第1フェイズで得られた遅延設定値D1と受信データ信号31の位相との関係を図示している。遅延設定値D1は、キャリブレーション制御回路21のレジスタ#1に格納されて保持される(ステップS19)。以上で、第1フェイズの動作が完了する。
【0057】
図11は、第2フェイズにおけるデータ受信装置2の動作、特に、遅延制御回路部17の動作を示すフローチャートであり、図12は、第2フェイズで得られる遅延設定値D2と受信データ信号31の波形の関係を示すタイミングチャートである。第2フェイズでは、可変遅延回路13aに設定される遅延設定値を遅延設定値D1から増加させながら、ラッチ回路15から出力される受信データ36の値が、“L”から“H”に遷移した後、“H”で安定するような遅延設定値D2が探索される。
【0058】
第2フェイズでは、まず、ラッチ回路15から出力される受信データ36の値が“H”になるまで、アップダウンカウンタ23のカウント値、即ち、可変遅延回路13aに設定される遅延設定値が、遅延設定値D1から、n(>1)ずつ増加される(ステップS21、S22)。詳細には、アップダウンカウンタ23のカウント値がnだけ増加され(ステップS21)、この状態でラッチ回路15から出力される受信データ36の値が判断される(ステップS22)。なお、アップダウンカウンタ23のカウント値は、キャリブレーション制御回路21からアップダウンカウンタ23に供給される“+n”信号を活性化することにより、nずつ増加させることができる。ステップS21、S22は、ラッチ回路15から出力される受信データ36の値が“H”になるまで繰り返して行われる。
【0059】
留意すべきことは、第2フェイズのステップS21、S22において遅延設定値が増加される増分がn(>1)であり、第1フェイズにおいて遅延設定値が増加される増分(即ち、1)よりも大きいことである。言い換えれば、第2フェイズのステップS21、S22において増加される可変遅延回路13aの設定遅延時間の増分は、第1フェイズにおいて増加される可変遅延回路13aの設定遅延時間の増分よりも大きい。このような動作は、第2フェイズにおける遅延設定値D2の探索に要する時間を短縮することに寄与する。第2フェイズにおいて探索される遅延設定値D2は、受信データ36の値が“L”から“H”に遷移した後、“H”で安定するような最小の遅延設定値であるので、第2フェイズにおいて探索される遅延設定値D2は、遅延設定値D1から比較的大きく離れた値である。そこで、ステップS21、S22において遅延設定値が増加される増分を大きくすることで、第2フェイズにおける遅延設定値D2の探索に要する時間を短縮できる。なお、第2フェイズで探索される遅延設定値D2は、後述される遅延設定値D3の探索の初期値として用いられ、最適遅延設定値の算出には直接には用いられないので、遅延設定値D2の精度は低いことが許容されることにも留意されたい。ステップS21、S22において遅延設定値が増加される増分が大きくても、最適遅延設定値の算出の精度は低下しない。
【0060】
ステップS22において、ある遅延設定値について、ラッチ回路15から出力される受信データ36の値が“H”になったことが検知されると、ステップS23〜S27において、当該遅延設定値によって受信データ36の値が“H”で安定するかが判断される。
【0061】
より具体的には、まず、安定確認カウンタ22がリセットされ(ステップS23)、更に、この状態で、再度、ラッチ回路15から出力される受信データ36の値が“H”であるかが判断される(ステップS24)。
【0062】
ステップS24においてラッチ回路15から出力される受信データ36の値が“H”でない場合には、アップダウンカウンタ23のカウント値が1だけ増加され(ステップS25)、再度、ラッチ回路15から出力される受信データ36の値が“H”であるかが判断される(ステップS24)。
【0063】
ステップS24においてラッチ回路15から出力される受信データ36の値が“H”であると判断された場合、安定確認カウンタ22のカウント値が1だけ増加される(ステップS26)。
【0064】
ステップS26に続いて、安定確認カウンタ22のカウント値が、所定の基準値に到達しているかが判断される(ステップS27)。安定確認カウンタ22のカウント値が、所定の基準値に到達していない場合、ステップS24〜S26の動作が再度実行される。ステップS24〜S26の動作は、安定確認カウンタ22のカウント値が、所定の基準値に到達するまで繰り返して実行される。
【0065】
安定確認カウンタ22のカウント値が所定の基準値に到達した時点のアップダウンカウンタ23のカウント値、即ち、この時点で可変遅延回路13aに設定されていた遅延設定値が遅延設定値D2である。遅延設定値D2は、キャリブレーション制御回路21のレジスタ#2に格納されて保持される(ステップS28)。以上で、第2フェイズの動作が完了する。
【0066】
図13は、第3フェイズにおけるデータ受信装置2の動作、特に、遅延制御回路部17の動作を示すフローチャートであり、図14は、第3フェイズで得られる遅延設定値D3と受信データ信号31の波形の関係を示すタイミングチャートである。第3フェイズでは、可変遅延回路13aに設定される遅延設定値を遅延設定値D2から減少させながら、ラッチ回路15から出力される受信データ36の値が、“H”から“L”に遷移した後、“L”で安定するような遅延設定値D3が探索される。
【0067】
第3フェイズでは、まず、ラッチ回路15から出力される受信データ36の値が“L”になるまで、アップダウンカウンタ23のカウント値、即ち、可変遅延回路13aに設定される遅延設定値が、遅延設定値D2から、1ずつ減少される(ステップS31、S32)。詳細には、アップダウンカウンタ23のカウント値が1だけ減少され(ステップS31)、この状態でラッチ回路15から出力される受信データ36の値が判断される(ステップS32)。ステップS31、S32は、ラッチ回路15から出力される受信データ36の値が“L”になるまで繰り返して行われる。第3フェイズのステップS31、S32において遅延設定値が減少される減分は1である。なお、アップダウンカウンタ23のカウント値は、キャリブレーション制御回路21からアップダウンカウンタ23に供給される“−1”信号を活性化することにより、1ずつ減少させることができる。
【0068】
ステップS32において、ある遅延設定値について、ラッチ回路15から出力される受信データ36の値が“L”になったことが検知されると、ステップS33〜S37において、当該遅延設定値によって受信データ36の値が“L”で安定するかが判断される。
【0069】
より具体的には、まず、安定確認カウンタ22がリセットされ(ステップS33)、更に、この状態で、再度、ラッチ回路15から出力される受信データ36の値が“L”であるかが判断される(ステップS34)。
【0070】
ステップS34においてラッチ回路15から出力される受信データ36の値が“L”でない場合には、アップダウンカウンタ23のカウント値が1だけ減少され(ステップS35)、再度、ラッチ回路15から出力される受信データ36の値が“L”であるかが判断される(ステップS34)。
【0071】
ステップS34においてラッチ回路15から出力される受信データ36の値が“L”であると判断された場合、安定確認カウンタ22のカウント値が1だけ増加される(ステップS36)。
【0072】
ステップS36に続いて、安定確認カウンタ22のカウント値が、所定の基準値に到達しているかが判断される(ステップS37)。安定確認カウンタ22のカウント値が、所定の基準値に到達していない場合、ステップS34〜S36の動作が再度実行される。ステップS34〜S36の動作は、安定確認カウンタ22のカウント値が、所定の基準値に到達するまで繰り返して実行される。
【0073】
安定確認カウンタ22のカウント値が所定の基準値に到達した時点のアップダウンカウンタ23のカウント値、即ち、この時点で可変遅延回路13aに設定されていた遅延設定値が遅延設定値D3である。遅延設定値D3は、キャリブレーション制御回路21のレジスタ#3に格納されて保持される(ステップS38)。以上で、第3フェイズの動作が完了する。
【0074】
図15に図示されているように、最適遅延設定値は、第1フェイズの探索によって得られた遅延設定値D1と第3フェイズの探索によって得られた遅延設定値D3とに基づいて算出される。最適遅延設定値の算出は、キャリブレーション制御回路21によって行われる。本実施形態では、最適遅延設定値は、遅延設定値D1、D3の平均値(D1+D3)/2として算出される。算出された最適遅延設定値がレジスタ#4に格納され、キャリブレーション動作が完了する。
【0075】
通常動作時には、レジスタ#4に格納されている最適遅延設定値がセレクタ24によって選択され、可変遅延回路13aに設定される。上記のようにして算出された最適遅延設定値を可変遅延回路13aに設定することにより、受信データ信号31と内部クロック信号34との間の位相差を適切に設定し、外部データ信号5及び外部クロック信号6の間のスキューを補償することができる。
【0076】
上述された本実施形態の手法では、キャリブレーション動作で算出される最適遅延設定値の変動を抑制することができることに留意されたい。最適遅延設定値の算出に用いられる遅延設定値D1、D3は、それぞれ、ラッチ回路15から出力される受信データ36の値が“L”で安定化される最小の遅延設定値及び最大の遅延設定値であるので、遅延設定値D1、D3は、キャリブレーション動作毎の変動を小さくことができる。したがって、キャリブレーション動作で算出される最適遅延設定値の変動も抑制することができる。
【0077】
加えて、本実施形態のキャリブレーション動作は、第1フェイズ、第2フェイズ、第3フェイズを分割して実行できるため、キャリブレーション動作の実施の柔軟性が高いという利点もある。例えば、第1フェイズを実行した後、第1フェイズにおいて得られた遅延設定値D1をキャリブレーション制御回路21のレジスタ#1に格納し、第2フェイズの実行を開始するときにレジスタ#1に格納された遅延設定値D1を読み出してアップダウンカウンタ23に設定すれば、第1フェイズと第2フェイズを連続して実行する必要性が無くなる。同様に、第2フェイズを実行した後、第2フェイズにおいて得られた遅延設定値D2をキャリブレーション制御回路21のレジスタ#2に格納し、第3フェイズの実行を開始するときにレジスタ#2に格納された遅延設定値D2を読み出してアップダウンカウンタ23に設定すれば、第2フェイズと第3フェイズを連続して実行する必要性が無くなる。第1フェイズ、第2フェイズ、第3フェイズのそれぞれは、比較的短時間で実行できるので、第1フェイズ、第2フェイズ、第3フェイズを分割して実行することで、データ伝送の空き時間を有効に利用することができる。
【0078】
例えば、第1フェイズと第2フェイズの間の期間において、通常のデータ伝送(即ち、外部データ信号5、外部クロック信号6を用いたデータ伝送)が行われてもよい。上述のように、通常のデータ伝送の際には、レジスタ#4に格納されている最適遅延設定値がセレクタ24によって選択され、可変遅延回路13aに設定される。同様に、第2フェイズと第3フェイズの間の期間において、通常のデータ伝送が行われてもよい。第3フェイズが完了すると、第1フェイズと第3フェイズで得られた遅延設定値D1、D3から最適遅延設定値が算出され、レジスタ#4に格納される。これにより、最適遅延設定値が更新される。次回のデータ伝送では、更新された最適遅延設定値が可変遅延回路13aに設定されてデータ伝送が行われる。
【0079】
図16は、第1フェイズ、第2フェイズ及び第3フェイズを分割して実行するキャリブレーション動作を行う場合のデータ伝送システムの動作の例を示すタイミングチャートである。データ伝送システム10が起動されると(例えば、電源が投入されると)、起動シーケンスが開始される。起動シーケンスにおいては上記のキャリブレーション動作が実行される。このキャリブレーション動作では第1〜第3フェイズが連続して実行される。
【0080】
その後、データ伝送システム10におけるデータ伝送が開始される。データ伝送が開始された後のキャリブレーション動作は、第1〜第3フェイズが分割して実行される。適宜のタイミングでデータ伝送が一旦停止され、第1フェイズが実行される。第1フェイズが完了すると、データ伝送が再開される。その後、適宜のタイミングでデータ伝送が一旦停止され、第2フェイズが実行される。第2フェイズが完了すると、データ伝送が再開される。その後、適宜のタイミングでデータ伝送が一旦停止され、第3フェイズが実行される。第3フェイズが実行されると、最適遅延設定値が算出される。以後、算出された最適遅延設定値が可変遅延回路13aに設定されてデータ伝送が行われる。
【0081】
また、本実施形態のデータ伝送システム10が、表示装置において表示パネルを駆動する表示ドライバに画像データ及び制御データを供給するために用いられる場合(この場合、データ受信装置2が該表示ドライバに集積化される)、第1フェイズ、第2フェイズ、第3フェイズのそれぞれが、垂直ブランキング期間において行われてもよい。例えば、第1フェイズが、第1垂直同期期間の垂直ブランキング期間において行われ、第2フェイズが、第1垂直同期期間よりも時間的に後である第2垂直同期期間の垂直ブランキング期間において行われ、第3フェイズが、第2垂直同期期間よりも時間的に後である第3垂直同期期間の垂直ブランキング期間において行われてもよい。なお、第2垂直同期期間は、第1垂直同期期間の直後の垂直同期期間である必要は無く、第3垂直同期期間は、第2垂直同期期間の直後の垂直同期期間である必要は無い。
【0082】
第1フェイズ、第2フェイズ及び第3フェイズを分割して実行する場合、経時変化による影響が発生し得る。例えば、第1フェイズの完了からある程度の時間が経過してから第2フェイズを実行すると、第1フェイズで決定された遅延設定値D1が、経時変化により、最適でなくなる場合がある。同様に、第2フェイズの完了からある程度の時間が経過してから第3フェイズを実行すると、第2フェイズで決定された遅延設定値D2が、経時変化により、最適でなくなる場合がある。
【0083】
経時変化による影響を抑制するためには、第2フェイズ、第3フェイズの動作を下記のように変更することが望ましい。
【0084】
図17A図17Bは、経時変化による影響を抑制するために好適な第2フェイズの動作を示すフローチャートである。図17Aに図示されているように、第2フェイズが開始されると、レジスタ#1に保持されていた遅延設定値D1が、アップダウンカウンタ23のカウント値として設定される(ステップS41)。更に、セレクタ24によってアップダウンカウンタ23のカウント値が可変遅延回路13aに設定する遅延設定値として選択され、その結果、可変遅延回路13aに遅延設定値D1が設定される。
【0085】
ステップS42〜S46においては、遅延設定値D1を可変遅延回路13aに設定することによって受信データ36の値が“L”で安定するかが判断される。
【0086】
より具体的には、まず、安定確認カウンタ22がリセットされ(ステップS42)、更に、ラッチ回路15から出力される受信データ36の値が“L”であるかが判断される(ステップS43)。
【0087】
ステップS43においてラッチ回路15から出力される受信データ36の値が“L”でない場合には、アップダウンカウンタ23のカウント値が1だけ増加され(ステップS44)、再度、ラッチ回路15から出力される受信データ36の値が“L”であるかが判断される(ステップS43)。
【0088】
ステップS43においてラッチ回路15から出力される受信データ36の値が“L”であると判断された場合、安定確認カウンタ22のカウント値が1だけ増加される(ステップS45)。
【0089】
ステップS45に続いて、安定確認カウンタ22のカウント値が、所定の基準値に到達しているかが判断される(ステップS46)。安定確認カウンタ22のカウント値が、所定の基準値に到達していない場合、ステップS43〜S45の動作が再度実行される。ステップS43〜S45の動作は、安定確認カウンタ22のカウント値が、所定の基準値に到達するまで繰り返して実行される。
【0090】
安定確認カウンタ22のカウント値が所定の基準値に到達した時点のアップダウンカウンタ23のカウント値が、適正な遅延設定値D1と決定される。この時点での安定確認カウンタ22のカウント値が、レジスタ#1に新たな遅延設定値D1として格納される。
【0091】
図17Bに図示されているように、以後の動作は、図11に図示されている第2フェイズのステップS21〜S28の動作と同一である。
【0092】
このような動作では、経時変化によって適正な遅延設定値D1が変動しても、遅延設定値D1の調整が行われるので、経時変化による影響を抑制することができる。
【0093】
図18A図18Bは、経時変化による影響を抑制するために好適な第3フェイズの動作を示すフローチャートである。図18Aに図示されているように、第3フェイズが開始されると、レジスタ#2に保持されていた遅延設定値D2が、アップダウンカウンタ23のカウント値として設定される(ステップS51)。更に、セレクタ24によってアップダウンカウンタ23のカウント値が可変遅延回路13aに設定する遅延設定値として選択され、その結果、可変遅延回路13aに遅延設定値D2が設定される。
【0094】
ステップS52〜S56においては、遅延設定値D2を可変遅延回路13aに設定することによって受信データ信号31の値が“H”で安定するかが判断される。
【0095】
より具体的には、まず、安定確認カウンタ22がリセットされ(ステップS52)、更に、ラッチ回路15から出力される受信データ36の値が“H”であるかが判断される(ステップS53)。
【0096】
ステップS53においてラッチ回路15から出力される受信データ36の値が“H”でない場合には、アップダウンカウンタ23のカウント値が1だけ増加され(ステップS54)、再度、ラッチ回路15から出力される受信データ36の値が“H”であるかが判断される(ステップS53)。
【0097】
ステップS53においてラッチ回路15から出力される受信データ36の値が“H”であると判断された場合、安定確認カウンタ22のカウント値が1だけ増加される(ステップS55)。
【0098】
ステップS55に続いて、安定確認カウンタ22のカウント値が、所定の基準値に到達しているかが判断される(ステップS56)。安定確認カウンタ22のカウント値が、所定の基準値に到達していない場合、ステップS53〜S55の動作が再度実行される。ステップS53〜S55の動作は、安定確認カウンタ22のカウント値が、所定の基準値に到達するまで繰り返して実行される。
【0099】
安定確認カウンタ22のカウント値が所定の基準値に到達した時点のアップダウンカウンタ23のカウント値が、適正な遅延設定値D2と決定される。この時点での安定確認カウンタ22のカウント値が、レジスタ#2に新たな遅延設定値D2として格納される。
【0100】
図18Bに図示されているように、以後の動作は、図13に図示されている第3フェイズのステップS31S38の動作と同一である。
【0101】
このような動作では、経時変化によって適正な遅延設定値D2が変動しても、遅延設定値D2の調整が行われるので、経時変化による影響を抑制することができる。
【0102】
上述の実施形態において、クロック反転回路部14は設けられなくてもよい。この場合、第1フェイズにおいて、ステップS11、S12は実行されず、遅延設定値が初期値D0に設定されたときにラッチ回路15から出力される受信データ36の値が“L”である場合には、図9Aに図示されている動作が行われる。ただし、この場合でも、第1フェイズの実行に要する時間は長くなるが、遅延設定値D1は算出可能である。
【0103】
また、上述の実施形態では、クロック反転回路部14が、外部クロック信号6を受け取る受信バッファ12の出力に接続された可変遅延回路13aの出力に接続されているが、その代わりに、図19に図示されているように、データ反転回路部18が、外部データ信号5を受け取る受信バッファ11の出力に接続されていてもよい。データ反転回路部18は、受信データ信号31又は受信データ信号31を反転して得られる反転データ信号のいずれかを選択し、選択したデータ信号をラッチ回路15に供給する。この場合、可変遅延回路13aから出力された遅延クロック信号33がそのまま内部クロック信号34として用いられる。
【0104】
詳細には、データ反転回路部18は、インバータ18aとセレクタ18bとを備えている。インバータ18aは、受信データ信号31を反転して反転データ信号を生成する。セレクタ18bは、遅延制御回路部17から供給されるデータ極性反転信号40に応じて受信データ信号31と反転データ信号との一方のデータ信号を選択し、選択したデータ信号をラッチ回路15に出力する。
【0105】
図19の構成のデータ受信装置2の動作は、図3の構成のデータ受信装置2の動作とほぼ同様である。ただし、第1フェイズのステップS11において受信データ36の値が“L”である場合、データ極性反転信号40が活性化され、セレクタ18bにより反転データ信号が選択される。以後、反転データ信号がラッチ回路15に供給される。図19の構成のデータ受信装置2の他の動作は、図3の構成のデータ受信装置2と同一である。
【0106】
また、上述の実施形態では、遅延回路部13は、外部クロック信号6を受け取る受信バッファ12の出力に接続された可変遅延回路13aを備えているが、その代わりに、図20に図示されているように、外部データ信号5を受け取る受信バッファ11の出力に接続された可変遅延回路13bを備えていてもよい。この場合、遅延制御回路部17から出力される遅延設定値は可変遅延回路13bに供給され、可変遅延回路13bの設定遅延時間は、遅延制御回路部17から可変遅延回路13bに供給された遅延設定値に応じて設定される。この場合でも、上記と同一のキャリブレーション動作を行うことによって最適遅延設定値が算出され、可変遅延回路13bに設定される。
【0107】
この場合も、クロック反転回路部14を設ける代わりにデータ反転回路部18が設けられていてもよい。図21は、このような構成のデータ受信装置2の構成を示すブロック図である。図21の構成では、データ反転回路部18が、可変遅延回路13bの出力に接続されている。図21の構成のデータ受信装置2の動作は、図20の構成のデータ受信装置2の動作と同様であり、第1フェイズのステップS11において受信データ36の値が“L”である場合、データ極性反転信号40が活性化され、セレクタ18bによりインバータ18aから出力される反転データ信号が選択される。以後、該反転データ信号がラッチ回路15に供給される。図21の構成のデータ受信装置2の他の動作は、図3の構成のデータ受信装置2と同一である。
【0108】
また、データ伝送システムが複数のデータ伝送路を用いてデータ伝送を行うように構成されてもよい。図22Aは、2つのデータ伝送路を用いてデータ伝送を行うデータ伝送システム10Aの構成を示している。データ伝送システム10Aは、データ送信装置1Aとデータ受信装置2Aとを備えている。データ送信装置1Aは、2つのデータ伝送路3、3とクロック伝送路4とを介してデータ受信装置2Aに接続されている。データ伝送路3、3は、2つのデータレーン:レーン#1、#2として用いられる。レーン#1(データ伝送路3)は、外部データ信号5の伝送に用いられ、レーン#2(データ伝送路3)は、外部データ信号5の伝送に用いられる。
【0109】
図22Bは、データ受信装置2Aの構成を示すブロック図である。データ受信装置2Aは、レーン#1、#2のそれぞれについて、受信バッファ11と、遅延回路部13と、クロック反転回路部14と、ラッチ回路15と、シリアルパラレル変換回路16と、遅延制御回路部17とを備えている。なお、図18Bにおいて、レーン#1について設けられる受信バッファ11と、遅延回路部13と、クロック反転回路部14と、ラッチ回路15と、シリアルパラレル変換回路16と、遅延制御回路部17は、それぞれ、符号11、13、14、15、16、17によって参照されている。同様に、レーン#2について設けられる受信バッファ11と、遅延回路部13と、クロック反転回路部14と、ラッチ回路15と、シリアルパラレル変換回路16と、遅延制御回路部17は、それぞれ、符号11、13、14、15、16、17によって参照されている。
【0110】
外部クロック信号6を受け取る受信バッファ12は、レーン#1、#2の間で共有される。受信バッファ12から出力される受信クロック信号32は、レーン#1の遅延回路部13の可変遅延回路13aと、レーン#2の遅延回路部13の可変遅延回路13aとに供給される。遅延制御回路部17は、レーン#1のデータ伝送についてキャリブレーション動作を行って遅延回路部13の可変遅延回路13aに設定する最適遅延設定値を算出する。同様に、遅延制御回路部17は、レーン#2のデータ伝送についてキャリブレーション動作を行って遅延回路部13の可変遅延回路13aに設定する最適遅延設定値を算出する。遅延制御回路部17、17によって行われるキャリブレーション動作は、上述されたデータ伝送システム10のキャリブレーション動作と同一である。
【0111】
なお、図22A図22Bは、2つのデータ伝送路を用いて外部データ信号5、5を伝送するデータ伝送システム10Aを図示しているが、データ伝送路の数は2に限定されないことに留意されたい。例えば、MIPI D−PHY規格では、最大で4つのデータレーン(4つのデータ伝送路)を設けることが許容されている。データ受信装置2Aの構成は、データレーンの数に合わせて適宜変更される。
【0112】
また、上述の実施形態の動作では、キャリブレーション動作が行われる毎に最適遅延設定値が遅延設定値D1、D3に基づいて算出されるが、このような動作は、最適遅延設定値の誤算出に対して影響を受けやすい。例えば、ノイズなどの原因により、遅延設定値D1、D3の少なくとも一方が不適切に決定された場合には、最適遅延設定値も不適切な値として算出される。
【0113】
このような問題を回避するためには、第3フェイズの完了の後、以下に説明するオプション動作#1を行ってもよい。オプション動作#1では、最適遅延設定値が新たに算出されたときに、新たに算出された最適遅延設定値とレジスタ#4に設定されている従前の最適遅延設定値とを比較し、比較の結果に応じてレジスタ#4に設定されている最適遅延設定値を所定値(例えば、“1”)だけ増加又は減少される。言い換えれば、第1フェイズの探索で得られた設定遅延時間と第3フェイズの探索で得られた設定遅延時間の平均値と従前のキャリブレーション動作で決定された設定遅延時間の最適値とを比較し、比較の結果に応じて、設定遅延時間の最適値が、所定の遅延時間だけ長く又は短くされる。オプション動作#1では、最適遅延設定値(即ち、設定遅延時間の最適値)が不適切に算出されても、最適遅延設定値の不所望な変動を、該所定値に留めることができる。
【0114】
図23は、オプション動作#1に対応したデータ受信装置2の構成を示している。図23のデータ受信装置2のキャリブレーション制御回路21Aは、レジスタ#1、#3に格納されている遅延設定値D1、D3から新たに算出された最適遅延設定値と、レジスタ#4に格納されている従前の最適遅延設定値とを比較し、比較の結果に応じてレジスタ#4に設定されている最適遅延設定値を所定値(例えば、“1”)だけ増加又は減少するように構成されている
【0115】
図24は、オプション動作#1の手順を示すフローチャートである。オプション動作#1は、1回目のキャリブレーション動作においては使用されない(ステップS61:YES)。1回目のキャリブレーション動作においては、上述されているように、最適遅延設定値が、第1フェイズの探索によって得られた遅延設定値D1と第3フェイズの探索によって得られた遅延設定値D3の平均値として算出される(ステップS67)。
【0116】
また、2回目以降のキャリブレーション動作においても、オプション動作#1が実行されない場合には(ステップS62:NO)、最適遅延設定値が、第1フェイズの探索によって得られた遅延設定値D1と第3フェイズの探索によって得られた遅延設定値D3の平均値として算出される(ステップS67)。
【0117】
2回目以降のキャリブレーション動作においてオプション動作#1が実行される場合、第1、第3フェイズの探索によって得られた遅延設定値D1、D3の平均値と、レジスタ#4に格納されている従前の最適遅延設定値とが比較される(ステップS63)。
【0118】
第1、第3フェイズの探索によって得られた遅延設定値D1、D3の平均値が、レジスタ#4に格納されている従前の最適遅延設定値よりも大きい場合(ステップS63:YES)、レジスタ#4に格納されている最適遅延設定値が、所定値(例えば、“1”)だけ増加される(ステップS64)。一方、第1、第3フェイズの探索によって得られた遅延設定値D1、D3の平均値が、レジスタ#4に格納されている従前の最適遅延設定値よりも小さい場合(ステップS65:YES)、レジスタ#4に格納されている最適遅延設定値が、所定値(例えば、“1”)だけ減少される(ステップS66)。
【0119】
レジスタ#4には、以上のようにして算出又は更新された最適遅延設定値が格納される。通常動作においては、レジスタ#4に格納された最適遅延設定値が、可変遅延回路13aに設定される遅延設定値として選択される(ステップS68)。
【0120】
オプション動作#1の手順で最適遅延設定値を更新することにより、最適遅延設定値の誤算出による影響を抑制することができる。
【0121】
2回目以降のキャリブレーション動作では、1回目のキャリブレーション動作の結果(即ち、1回目のキャリブレーション動作の第1フェイズ、第3フェイズで得られる遅延設定値D1、D3)を利用して下記に説明するオプション動作#2を実行することにより、短時間でキャリブレーション動作を完了させることも可能である。
【0122】
図25は、オプション動作#2に対応したデータ受信装置2の構成を示すブロック図である。図25に図示された構成では、キャリブレーション制御回路21に、5つのレジスタ#1〜#5が設けられる。レジスタ#1〜#3は、1回目のキャリブレーション動作によって得られた遅延設定値D1〜D3を格納するために用いられる。レジスタ#4は、最適遅延設定値を格納するために用いられる。レジスタ#5は、2回目以降のキャリブレーション動作によって得られる遅延設定値D4を格納するために用いられる。ここで、2回目以降のキャリブレーション動作では、1回目のキャリブレーション動作の第1フェイズと同様に、可変遅延回路13aに設定される遅延設定値を初期値(典型的には、“0”)から増加させながら、ラッチ回路15から出力される受信データ36の値が、“H”から“L”に遷移した後、“L”で安定するような最小の遅延設定値が探索される。この探索によって得られた遅延設定値が、遅延設定値D4として、レジスタ#5に格納される。
【0123】
オプション動作#2に対応したデータ受信装置2では、キャリブレーション制御回路21が、2回目以降のキャリブレーション動作において、当該キャリブレーション動作における探索によって得られた遅延設定値D4と1回目のキャリブレーション動作において得られている遅延設定値D1、D3とに基づいて最適遅延設定値を算出するように構成される。より具体的には、キャリブレーション制御回路21は、2回目以降のキャリブレーション動作においては、最適遅延設定値を、D4+(D3−D1)/2として算出する。
【0124】
図26A図26Bは、オプション動作#2に対応したデータ受信装置2におけるキャリブレーション動作を示すフローチャートである。
【0125】
図26に図示されているように、1回目のキャリブレーション動作(ステップS71:YES)では、上述された第1〜第3フェイズの動作が実行される。より具体的には、まず、アップダウンカウンタ23がリセットされ、更に、可変遅延回路13aがアップダウンカウンタ23に接続される(ステップS10)。詳細には、ステップS10では、キャリブレーション制御回路21によってリセット信号が活性化され、アップダウンカウンタ23のカウント値が初期値(典型的には“0”)にリセットされる。また、セレクタ24によってアップダウンカウンタ23のカウント値が可変遅延回路13aに設定される遅延設定値として選択され、これにより、可変遅延回路13aに設定される遅延設定値が、初期値D0に設定される。
【0126】
続いて、ラッチ回路15によってラッチされた受信データ36の値がキャリブレーション制御回路21によって判定される(ステップS11)。ステップS11において判定された受信データ36の値が“L”である場合、クロック極性反転信号35が活性化され、内部クロック信号34が反転される(ステップS12)。即ち、クロック極性反転信号35の活性化に応答してセレクタ14bにより反転クロック信号が選択され、以後、反転クロック信号が内部クロック信号34として用いられる。以後、図7に図示されている第1フェイズのステップS13以降のステップ、及び、図11図13に図示されている第2、第3フェイズの動作が実行され、更に、最適遅延設定値が算出される。
【0127】
2回目以降のキャリブレーション動作において、オプション動作#2が行われない場合(ステップS71:NO、ステップS72:NO)同様に、上述された第1〜第3フェイズの動作が実行され、更に、最適遅延設定値が算出される。
【0128】
2回目以降のキャリブレーション動作において、オプション動作#2を実行する場合、以下の手順で最適遅延設定値が算出される。
【0129】
まず、上述のステップS10〜S12が実行される。これにより、可変遅延回路13aに設定される遅延設定値が、初期値D0に設定され、更に、必要に応じて内部クロック信号34が反転される。
【0130】
続いて、可変遅延回路13aに設定される設定遅延時間を増加しながら、ラッチ回路15から出力される受信データ36の値が“H”から“L”に遷移した後、“L”で安定になるような可変遅延回路13aの設定遅延時間が探索される。
【0131】
より具体的には、図26Bに図示されているように、ラッチ回路15から出力される受信データ36の値が“H”から“L”に遷移して“L”になるまで、アップダウンカウンタ23のカウント値、即ち、可変遅延回路13aに設定される遅延設定値が1ずつ増加される(ステップS73、S74)。ここで、ステップS73、S74において遅延設定値が増加される増分は1である。
【0132】
ステップS74において、ある遅延設定値についてラッチ回路15から出力される受信データ36の値が“L”になったことが検知されると(即ち、可変遅延回路13aのある設定遅延時間についてラッチ回路15から出力される受信データ36の値が“L”になったことが検知されると)、ステップS75〜S79において、当該遅延設定値によって受信データ36の値が“L”で安定するかが判断される。
【0133】
より具体的には、まず、安定確認カウンタ22がリセットされ(ステップS75)、更に、この状態で、再度、ラッチ回路15から出力される受信データ36の値が“L”であるかが判断される(ステップS76)。
【0134】
ステップS76においてラッチ回路15から出力される受信データ36の値が“L”でない場合には、アップダウンカウンタ23のカウント値が1だけ増加され(ステップS77)、再度、ラッチ回路15から出力される受信データ36の値が“L”であるかが判断される(ステップS76)。
【0135】
ステップS76においてラッチ回路15から出力される受信データ36の値が“L”であると判断された場合、安定確認カウンタ22のカウント値が1だけ増加される(ステップS78)。
【0136】
ステップS78に続いて、安定確認カウンタ22のカウント値が、所定の基準値に到達しているかが判断される(ステップS79)。安定確認カウンタ22のカウント値が、所定の基準値に到達していない場合、ステップS76〜S78の動作が再度実行される。ステップS76〜S78の動作は、安定確認カウンタ22のカウント値が、所定の基準値に到達するまで繰り返して実行される。
【0137】
安定確認カウンタ22のカウント値が所定の基準値に到達した時点のアップダウンカウンタ23のカウント値、即ち、この時点で可変遅延回路13aに設定されていた遅延設定値が、遅延設定値D4である。遅延設定値D4は、キャリブレーション制御回路21のレジスタ#5に格納されて保持される(ステップS80)。
【0138】
最適遅延設定値が、レジスタ#1に格納されている遅延設定値D1、レジスタ#3に格納されている遅延設定値D3、及び、レジスタ#5に格納されている遅延設定値D4に基づいて算出され、レジスタ#4に格納される(ステップS81)。より具体的には、最適遅延設定値は、D4+(D3−D1)/2として算出される。言い換えれば、オプション動作#2では、設定遅延時間の最適値が、2回目のキャリブレーション動作において探索された可変遅延回路13aの設定遅延時間に、1回目のキャリブレーション動作において第3フェイズで探索された設定遅延時間から第1フェイズで探索された設定遅延時間を減じて得られる差の2分の1を加えた遅延時間として算出される。以後の通常動作においては、レジスタ#4に格納された最適遅延設定値が、可変遅延回路13aに設定される遅延設定値として選択される(ステップS82)。以上で、キャリブレーション動作が完了する。
【0139】
オプション動作#2は、2回目以降のキャリブレーション動作の実行に要する時間を短縮できる利点がある。
【0140】
以上には、本発明の実施形態が具体的に記述されているが、本発明は、上記の実施形態に限定されると解釈してはならない。本発明が様々な変更と共に実施され得ることは、当業者には自明的であろう。
【符号の説明】
【0141】
1、1A:データ送信装置
2、2A:データ受信装置
3、3、3:データ伝送路
4 :クロック伝送路
5、5、5:外部データ信号
6 :外部クロック信号
10、10A:データ伝送システム
11、12:受信バッファ
13、13、13:遅延回路部
13a、13b:可変遅延回路
14 :クロック反転回路部
14a :インバータ
14b :セレクタ
15 :ラッチ回路
15a、15b:ラッチ
16 :シリアルパラレル変換回路
17、17、17:遅延制御回路部
18 :データ反転回路部
18a :インバータ
18b :セレクタ
21、21A:キャリブレーション制御回路
22 :安定確認カウンタ
23 :アップダウンカウンタ
24 :セレクタ
25 :シーケンス制御回路
31 :受信データ信号
32 :受信クロック信号
33 :遅延クロック信号
34 :内部クロック信号
35 :クロック極性反転信号
36、36a、36b:受信データ
37 :パラレルデータ
38 :パラレルデータ用クロック信号
40 :データ極性反転信号

図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図10
図11
図12
図13
図14
図15
図16
図17A
図17B
図18A
図18B
図19
図20
図21
図22A
図22B
図23
図24
図25
図26A
図26B