JP2022107522A - 位相調整方法およびシステム - Google Patents
位相調整方法およびシステム Download PDFInfo
- Publication number
- JP2022107522A JP2022107522A JP2022000285A JP2022000285A JP2022107522A JP 2022107522 A JP2022107522 A JP 2022107522A JP 2022000285 A JP2022000285 A JP 2022000285A JP 2022000285 A JP2022000285 A JP 2022000285A JP 2022107522 A JP2022107522 A JP 2022107522A
- Authority
- JP
- Japan
- Prior art keywords
- phase
- phase code
- code
- updated
- clock signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000010408 sweeping Methods 0.000 claims abstract description 28
- 230000007704 transition Effects 0.000 claims abstract description 27
- 230000000630 rising effect Effects 0.000 claims description 35
- 230000008859 change Effects 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 230000000737 periodic effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/10—Arrangements for initial synchronisation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
- G09G5/008—Clock recovery
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
- H03L7/0814—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the phase shifting device being digitally controlled
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/10—Monitoring; Testing of transmitters
- H04B17/11—Monitoring; Testing of transmitters for calibration
- H04B17/12—Monitoring; Testing of transmitters for calibration of transmit antennas, e.g. of the amplitude or phase
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/20—Monitoring; Testing of receivers
- H04B17/21—Monitoring; Testing of receivers for calibration; for correcting measurements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/002—Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation
- H04L7/0025—Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation interpolation of clock signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0079—Receiver details
- H04L7/0087—Preprocessing of received signal for synchronisation, e.g. by code conversion, pulse generation or edge detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
- H04L7/0337—Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/041—Speed or phase control by synchronisation signals using special codes as synchronising signal
- H04L7/046—Speed or phase control by synchronisation signals using special codes as synchronising signal using a dotting sequence
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/10—Use of a protocol of communication by packets in interfaces along the display data pipeline
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/14—Use of low voltage differential signaling [LVDS] for display data communication
Abstract
【課題】クロック信号を効果的に調整する位相調整方法及びシステムを提供する。【解決手段】位相調整回路100における移送調整方法であって、直列クロック信号を受信する段階と、直列データ信号を受信する段階と、直列クロック信号の位相を遷移させることができる複数の位相コードをスイーピングする段階と、複数の位相コードのうち第1位相コード、第2位相コード、第3位相コード、第4位相コードを識別する段階と、第1位相コード、第2位相コード、第3位相コード及び第4位相コードに基づいて平均位相コードを決定する段階と、平均位相コードを位相補間器に適用して直列クロック信号の位相を遷移させる段階と、を含む。【選択図】図1
Description
本発明は、位相調整方法およびシステムに関し、より詳しくは、直列インターフェースがある位相調整方法およびシステムに関する。
本出願は、2021年1月8日付で米国特許庁に出願した米国特許出願番号第63/135,434号を優先権主張し、ここに引用することによってこの出願の全体内容を本願に含む。
高速直列インターフェースを介したデータ転送は、インターフェースを介して送られるデータに合わせて調整されたクロック信号に影響される。調整されていないクロック信号によって偶発的に信頼できない、エラーを含み得るデータが生じることがある。
本発明が解決しようとする課題は、クロック信号を効果的に調整する方法を提示することである。
本発明の一実施形態による位相調整方法は、直列クロック信号を受信する段階と、直列データ信号を受信する段階と、前記直列クロック信号に適用して前記直列クロック信号の位相を遷移させることができる複数の位相コードをスイーピングする段階と、前記複数の位相コードのうち第1位相コードを識別する段階と、前記複数の位相コードのうち第2位相コードを識別する段階と、前記複数の位相コードのうち第3位相コードを識別する段階と、前記複数の位相コードのうち第4位相コードを識別する段階と、前記第1位相コード、前記第2位相コード、前記第3位相コードおよび前記第4位相コードに基づいて平均位相コードを決定する段階と、前記平均位相コードを位相補間器に適用して前記直列クロック信号の位相を遷移させる段階とを含んでもよい。このとき、前記第1位相コードは、前記直列データ信号から抽出した第1閾値ビット数を0に加えた数のビットが特定値であるように識別され、前記第2位相コードは、前記直列データ信号から抽出した第2閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、前記第3位相コードは、前記直列データ信号から抽出した第3閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、前記第4位相コードは、前記直列データ信号から抽出した第4閾値ビット数を0に加えた数のビットが前記特定値であるように識別されてもよい。
前記直列データ信号は、前記直列クロック信号と同一のトレーニングパターンを含み、前記第1、第2、第3および第4閾値ビット数は、抽出したビット数全体の0%~5%であってもよい。
前記特定値は、1または0であり、前記1は、予定時点より早い時点で前記直列データ信号から抽出されるビットを含み、前記0は、予定時点より遅い時点で前記直列データ信号から抽出されるビットを含むことができる。
前記複数の位相コードをスイーピングする段階は、前記直列データ信号の3つの単位区間をスイーピングする段階を含むことができる。
前記平均位相コードを前記位相補間器に適用して前記直列クロック信号の位相を遷移させる段階は、前記直列クロック信号のエッジが前記直列データ信号のデータアイの中心に整列するように前記直列クロック信号を遷移させる段階を含むことができる。
前記直列データ信号から抽出したビットは、前記直列クロック信号の立ち上がりエッジに対応する第1ビットと、前記直列クロック信号の立ち下がりエッジに対応する第2ビットとを含むことができる。
前記位相調整方法は、位相コードの第1ウィンドウをスイーピングして更新された第1位相コードおよび更新された第2位相コードを識別する段階と、位相コードの第2ウィンドウをスイーピングして更新された第3位相コードおよび更新された第4位相コードを識別する段階と、前記更新された第1位相コード、前記更新された第2位相コード、前記更新された第3位相コードおよび前記更新された第4位相コードに基づいて更新された平均位相コードを決定する段階と、前記更新された平均位相コードを前記位相補間器に適用して前記直列クロック信号の位相をさらに遷移させる段階とをさらに含み、前記第1ウィンドウは、前記第1位相コードから定数を減じた地点から始まって前記第2位相コードに前記定数を加えた地点で終わり、前記第2ウィンドウは、前記第3位相コードから前記定数を減じた地点から始まって前記第4位相コードに前記定数を加えた地点で終わっていてもよい。
前記定数は、プログラム可能な所定値であってもよい。
前記更新された第1位相コードは、前記更新された第2位相コードと異なり、前記更新された第3位相コードは、前記更新された第4位相コードと異なっていてもよい。
本発明の一実施形態によるシステムは、コンピュータ実行可能な命令(computer-executable instructions)を格納するメモリと、前記命令を実行するプロセッサとを含むシステムであって、前記プロセッサが前記命令を実行すると、前記システムは、直列クロック信号を受信し、直列データ信号を受信し、前記直列クロック信号に適用して前記直列クロック信号の位相を遷移させることができる複数の位相コードをスイーピングし、前記複数の位相コードのうち第1位相コードを識別し、前記複数の位相コードのうち第2位相コードを識別し、前記複数の位相コードのうち第3位相コードを識別し、前記複数の位相コードのうち第4位相コードを識別し、前記第1位相コード、前記第2位相コード、前記第3位相コードおよび前記第4位相コードに基づいて平均位相コードを決定し、前記平均位相コードを位相補間器に適用して前記直列クロック信号の位相を遷移させることを含んでもよい。このとき、前記第1位相コードは、前記直列データ信号から抽出した第1閾値ビット数を0に加えた数のビットが特定値であるように識別され、前記第2位相コードは、前記直列データ信号から抽出した第2閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、前記第3位相コードは、前記直列データ信号から抽出した第3閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、前記第4位相コードは、前記直列データ信号から抽出した第4閾値ビット数を0に加えた数のビットが前記特定値であるように識別されてもよい。
前記直列データ信号は、前記直列クロック信号と同一のトレーニングパターンを含み、前記第1、第2、第3および第4閾値ビット数は、抽出したビット数全体の0%~5%であってもよい。
前記特定値は、1または0であり、前記1は、予定時点より早い時点で前記直列データ信号から抽出されるビットを含み、前記0は、予定時点より遅い時点で前記直列データ信号から抽出されるビットを含むことができる。
前記複数の位相コードのスイーピングは、前記直列データ信号の3つの単位区間をスイーピングすることができる。
前記平均位相コードを前記位相補間器に適用して前記直列クロック信号の位相を遷移させることは、前記直列クロック信号のエッジが前記直列データ信号のデータアイの中心に整列するように前記直列クロック信号を遷移させることを含むことができる。
前記直列データ信号から抽出したビットは、前記直列クロック信号の立ち上がりエッジに対応する第1ビットと、前記直列クロック信号の立ち下がりエッジに対応する第2ビットとを含むことができる。
前記プロセッサが前記命令を実行すると、前記システムはさらに、位相コードの第1ウィンドウをスイーピングして更新された第1位相コードおよび更新された第2位相コードを識別し、位相コードの第2ウィンドウをスイーピングして更新された第3位相コードおよび更新された第4位相コードを識別し、前記更新された第1位相コード、前記更新された第2位相コード、前記更新された第3位相コードおよび前記更新された第4位相コードに基づいて更新された平均位相コードを決定し、前記更新された平均位相コードを前記位相補間器に適用して前記直列クロック信号の位相をさらに遷移させることを含んでもよい。このとき、前記第1ウィンドウは、前記第1位相コードから定数を減じた地点から始まって前記第2位相コードに前記定数を加えた地点で終わり、前記第2ウィンドウは、前記第3位相コードから前記定数を減じた地点から始まって前記第4位相コードに前記定数を加えた地点で終わっていてもよい。
前記定数は、プログラム可能な所定値であってもよい。
前記更新された第1位相コードは、前記更新された第2位相コードと異なり、前記更新された第3位相コードは、前記更新された第4位相コードと異なっていてもよい。
本発明の一実施形態による位相調整方法は、直列クロック信号を受信する段階と、直列データ信号を受信する段階と、前記直列クロック信号に適用して前記直列クロック信号の位相を遷移させることができる位相コードの第1ウィンドウをスイーピングする段階と、前記位相コードの第1ウィンドウのうち更新された第1位相コードを識別する段階と、前記位相コードの第1ウィンドウのうち更新された第2位相コードを識別する段階と、前記直列クロック信号に適用して前記直列クロック信号の位相を遷移させることができる位相コードの第2ウィンドウをスイーピングする段階と、前記位相コードの第2ウィンドウのうち更新された第3位相コードを識別する段階と、前記位相コードの第2ウィンドウのうち更新された第4位相コードを識別する段階と、前記更新された第1位相コード、前記更新された第2位相コード、前記更新された第3位相コードおよび前記更新された第4位相コードに基づいて平均位相コードを決定する段階と、前記平均位相コードを位相補間器に適用して前記直列クロック信号の位相を遷移させる段階とを含んでもよい。このとき、前記第1ウィンドウは、所定の第1位相コードから定数を減じた地点から始まって所定の第2位相コードに前記定数を加えた地点で終わり、前記更新された第1位相コードは、前記直列データ信号から抽出した第1閾値ビット数を0に加えた数のビットが特定値であるように識別され、前記更新された第2位相コードは、前記直列データ信号から抽出した第2閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、前記第2ウィンドウは、所定の第3位相コードから前記定数を減じた地点から始まって所定の第4位相コードに前記定数を加えた地点で終わり、前記更新された第3位相コードは、前記直列データ信号から抽出した第3閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、前記更新された第4位相コードは、前記直列データ信号から抽出した第4閾値ビット数を0に加えた数のビットが前記特定値であるように識別されてもよい。
前記第1、第2、第3および第4閾値ビット数は、抽出したビット数全体の0%~5%であり、前記特定値は、1または0であり、前記1は、予定時点より早い時点で前記直列データ信号から抽出されるビットを含み、前記0は、予定時点より遅い時点で前記直列データ信号から抽出されるビットを含むことができる。
このようにすることで、クロック信号を効果的に調整することができる。
本発明の実施形態とその利点は、次の詳細な説明を通じて最もよく理解することができる。特別な説明がない限り、図面と明細書全体にわたって同一の図面符号は同一の構成要素を指し、よって、説明を繰り返さない。また、図面において、部分、層、領域などは明確な理解のために誇張されることがある。
以下、添付した図面を参照して、本発明の実施形態について詳細に説明する。しかし、本発明は種々の異なる形態で実現可能であり、ここで説明する実施形態に限定されない。このような実施形態を提供することによって発明の詳細な説明が完全かつ豊富になり、発明の多様な側面と特徴を当業者に十分に示すであろう。したがって、当業者が本発明の多様な側面と特徴を完全に理解するうえで必要としない過程、装置、技術などは説明を省略する。
本発明の実施形態は、高速直列データインターフェース(high-speed serial data interface)を用いて1つの装置から他の装置にデータを転送する装置に関する。高速直列データインターフェースの一例としては、ビデオおよび/またはオーディオデータを1つの装置から他の装置に転送するMIPI D-PHYなどのモバイル表示装置インターフェースが挙げられる。高速直列データインターフェースの他の例としては、DDRインターフェースまたは当業者に知られた他の高速直列データインターフェースがある。より一般に、本発明の一実施形態は、転送-クロック(forwarded-clock)PHYプロトコルで転送されたクロックの位相を調整してデータが正確にサンプリングされるようにする位相調整方法に関する。
図1は、本発明の一実施形態による直列インターフェースを有する電子装置を示したものであって、位相調整回路100のブロック図である。
本発明の一実施形態によれば、送信機102は、MIPI D-PHYなどの高速直列データインターフェース(high-speed serial data interface)で共に結合されている受信機108にデータを伝送する。例えば、送信機102は、コンピュータタブレットであってもよく、受信機108は、表示装置であってもよいし、コンピュータタブレットは、映像データを表示装置に送って表示されるようにしてもよい。本発明の一実施形態によれば、送信機102は、少なくともクロック送信機(clock transmitter)104およびデータ送信機(data transmitter)106を含み、受信機108は、少なくともクロック受信機(clock receiver)110およびデータ受信機(data receiver)112を含む。クロック送信機104は直列クロック信号を伝送し、クロック受信機110はこれを受信し、データ送信機106は直列データを送信し、データ受信機112はこれを受信する。したがって、受信機108と連結されたスライサ(slicer)[またはサンプラ(sampler)]118は受信したクロック信号に基づいて、例えば、クロック信号の立ち上がりエッジ(rising edge)ごとに受信した直列データ信号をサンプリングする。
本発明の一実施形態によれば、送信機102および受信機108は、同一の電子装置またはシステムの一部であってもよいが、例えば、送信機102および受信機108は、表示装置内で高速直列インターフェースを介して連結可能である。本発明の他の実施形態によれば、送信機102および受信機108は、1つのコンピュータ内で高速直列インターフェースを介して連結され、そのコンピュータの1つの領域から他の領域にデータを転送することができる。
図1に示すような実施形態によれば、クロック送信機104は、周期的な矩形波(square wave)クロック信号を伝送し、データ送信機106は、データ信号を伝送する。ここで、図1の122に示すように、クロック信号およびデータ信号は、クロック信号のエッジ(edges)(例:立ち上がりエッジまたは立ち下がりエッジ)がデータアイ(data eye)の中間に整列されるように伝送する。このような整列が望ましいのは、スライサ118がクロック信号のエッジ、例えば、クロック信号の立ち上がりエッジを用いてデータ信号をサンプリングするからである。クロック信号のエッジをデータアイの中間に整列することによって、正確なデータをサンプリングすることが保障される。つまり、クロックエッジがデータアイの中間にあり、そこではデータが1から0に変わったり、0から1に変わったりしないので、データが論理1であれば、論理1がサンプリングされ、データが論理0であれば、論理0がサンプリングされる。
クロック信号およびデータ信号が高速直列インターフェースを介して受信機に伝送される間、クロック信号の位相が(例えば、データ信号に対して)遷移する。ある場合は、図1の124に示すように、クロック信号の位相が遷移してクロック信号のエッジがデータ信号のエッジと整列、またはほぼ整列される。すると、スライサ118が、例えば、クロック信号の立ち上がりエッジでデータ信号をサンプリングするが、クロック信号とデータ信号がそれ以上整列されないことから、スライサ118がデータの正確な標本(サンプル)を抽出できないことがある。つまり、データ信号が少し先行してサンプリングされるか、それとも少し遅れてサンプリングされるかによって、サンプリングされたデータが論理1として抽出されたり、論理0として抽出されたりする。そのため、送信機102が最初に送信された通り、受信したクロック信号のエッジがデータ信号のデータアイの中間に整列されるように位相調整(phase calibration)過程を設けることで位相遷移を調整することが好ましい。したがって、位相調整を行うことによって、クロック信号とデータ信号を図1の126に示すように適切に整列することができる。本発明の一実施形態によれば、システムまたは装置をオンにした時、初期位相調整を行うことができる。本発明の他の実施形態によれば、動作をする間[例えば、データ伝送に休止期(pause)があるとき]に調整データまたはトレーニングデータを送信して周期的に、または何らかの規則的な間隔で位相調整を行うことができる。本発明の他の実施形態によれば、初期位相調整と周期的位相調整を組み合わせて行うことによって、適切に調整された直列インターフェースをさらに強化することができる。
本発明の一実施形態によれば、位相補間器(phase interpolator)116は、クロック受信機110と連結されており、位相遷移クロック信号(phase shifted clock signal)を受信する。スライサ118は、データ受信機112と連結されており、データ信号を受信する。位相遷移クロック信号が位相補間器116からスライサ118に伝送され、スライサ118は、この位相遷移クロック信号に基づいて受信した直列データをサンプリングする。したがって、本発明の一実施形態は、位相補間器116がスライサ118に位相調整された(adjustedまたはcalibrated)クロック信号を提供してスライサ118がデータを正しくサンプリングできるようにする位相遷移クロック信号の位相調整方法を提示する。本発明の一実施形態によれば、交互に現れる0と1を含む直列クロック信号と同一であるか実質的に同一であるトレーニングデータ信号をスライサ118に供給して位相調整を行うことができる。
本発明の一実施形態によれば、スライサ118からのサンプリングデータ(sampled data)は逆直列化器(deserializer)120に供給され、逆直列化器120は、直列データ信号を逆直列化し、逆直列化データ(deserialized data)を位相調整器(phase calibrator)114に供給する。本発明の一実施形態によれば、逆直列化データが16ビットのデータブロックであってもよいし、本発明の他の実施形態によれば、逆直列化データは、32、64、または所定ビットのデータブロックであってもよい。位相調整器114は、逆直列化データを取って位相調整過程を行うことで位相コード(phase code)を決定するが、位相コードは位相補間器116に供給されて位相補間器116が位相遷移クロック信号を調整するのに用いられる。
図2Aおよび図2Bは、例えば、ケーブル、接続部などで発生する干渉などの外部要素によってクロック信号が移動または遷移した場合を示す。特に、図2Aには、直列クロック信号と直列データ信号が示されているが、直列クロック信号は適正に調整されたクロック信号に対して右側に移動している。ここで、適正に調整されたクロック信号は、図1の122に示すように、クロック信号の立ち上がりエッジがデータ信号のデータアイの中心(例:0の中心)と整列されているのである。図2Aに示したクロック信号は、立ち上がりエッジがデータ信号の0の中心からずれてデータ信号の立ち上がりエッジに近づいてきたので、右側に移動したのである。これにより、データ信号がクロック信号より遅れ、スライサ118は、適正に調整されたクロック信号で意図したものより遅い時点でデータ信号をサンプリングすることになり、ここでは、これを「後行ビット(late bits)」という。言い換えれば、クロック信号の立ち上がりエッジの間、データ信号のデータアイの中心よりデータ信号の立ち上がりエッジに近づいてデータ信号がサンプリングされる。
図2Bには、直列クロック信号と直列データ信号が示されているが、直列クロック信号は適正に調整されたクロック信号に対して左側に移動している。ここで、適正に調整されたクロック信号は、図1の122に示すように、クロック信号の立ち上がりエッジがデータ信号のデータアイの中心(例:1の中心)と整列されているのである。図2Bに示したクロック信号は、立ち上がりエッジがデータ信号の1の中心からずれてデータ信号の立ち上がりエッジに近づいてきたので、左側に移動したのである。これにより、データ信号がクロック信号より先行し、スライサ118は、適正に調整されたクロック信号で意図したものより早い時点でデータ信号をサンプリングすることになり、ここでは、これを「先行ビット(early bits)」という。言い換えれば、クロック信号の立ち上がりエッジの間、データ信号のデータアイの中心よりデータ信号の立ち上がりエッジに近づいてデータ信号がサンプリングされる。遅いまたは遅れたデータ信号は、図2Aに示すように、速いまたは先行したデータ信号は、図2Bに示すように、スライサ118に誤ったデータを生成させるが、特に、データがデータ信号のエッジに過度に近づいてサンプリングする時にそのようになる。そのため、図2Aのクロック信号は、エッジがデータ信号のデータアイの中心と整列するように左側に移動させることによって位相整列することができ、図2Bのクロック信号は、エッジがデータ信号のデータアイの中心と整列するように右側に移動させることによって位相整列することができる。
本発明の一実施形態によれば、クロック信号の立ち上がりエッジでデータをサンプリングし、図2Aに示すように、サンプリングされたデータが全て、または大部分0であれば、位相調整器114は、データ信号がクロック信号より遅れて、意図した時点より遅い時点でデータ信号がサンプリングされると判断する。これとは逆に、図2Bに示すように、サンプリングされたデータが全て、または大部分1であれば、位相調整器114は、データ信号がクロック信号より先行して、意図した時点より早い時点でデータ信号がサンプリングされると判断する。また、本発明の一実施形態によれば、サンプリングされたデータが全てまたは大部分0であるというのが、データ信号が(遅い時点ではなく)早い時点でサンプリングされることを表すこともできるが、これは、互いに異なるデータ信号パターンを用いたり、クロック信号の立ち下がりエッジでデータをサンプリングしたりするからであるか、それとも両方によるものであってもよい。これと同様に、サンプリングされたデータが全てまたは大部分1であるというのが、先に説明したのと同様の理由から、データ信号が(早い時点ではなく)遅い時点でサンプリングされることを表すこともできる。これにより、位相調整器114は、全てまたは大部分0であるか、全てまたは大部分1である場合を探し、適切な位相コードをクロック信号に適用してクロック信号のエッジがデータ信号のデータアイの中心と整列されるようにエッジを移動させる。
図2Aと類似して、図3Aには、直列クロック信号と直列データ信号が示されているが、クロック信号が適正に調整されたクロック信号に対して右側に移動している。ここで、適正に調整されたクロック信号は、クロック信号の立ち上がりエッジがデータ信号0のデータアイの中心と整列されており、クロック信号の立ち下がりエッジがデータ信号1のデータアイの中心と整列されているのである。図3Aに示したクロック信号は、立ち上がりエッジがデータ信号0のデータアイの中心からずれてデータ信号の立ち上がりエッジに近づいてきており、立ち下がりエッジがデータ信号1のデータアイの中心からずれてデータ信号の立ち下がりエッジに近づいてきたので、右側に移動したのである。これにより、データ信号がクロック信号より遅れ、スライサ118は、適正に調整されたクロック信号で意図したものより遅い時点でデータ信号をサンプリングすることになる。
図2Bと類似して、図3Bには、直列クロック信号と直列データ信号が示されているが、クロック信号が適正に調整されたクロック信号に対して左側に移動している。ここで、適正に調整されたクロック信号は、クロック信号の立ち上がりエッジがデータ信号1のデータアイの中心と整列されており、クロック信号の立ち下がりエッジがデータ信号0のデータアイの中心と整列されているのである。図3Bに示したクロック信号は、立ち上がりエッジがデータ信号1のデータアイの中心からずれてデータ信号の立ち上がりエッジに近づいてきており、立ち下がりエッジがデータ信号0のデータアイの中心からずれてデータ信号の立ち下がりエッジに近づいてきたので、左側に移動したのである。これにより、データ信号がクロック信号より先行し、スライサ118は、適正に調整されたクロック信号で意図したものより早い時点でデータ信号をサンプリングすることになる。しかし、図2Aおよび図2Bとは異なり、図3Aおよび図3Bは、直列クロック信号の立ち上がりエッジと立ち下がりエッジの両方ともにおいてデータをサンプリングするデータサンプリング方法を示す。例えば、図3Aを参照すれば、サンプリングされたデータの偶数番目ビットが全て0であり奇数番目ビットが全て1であれば、本発明の一実施形態により、位相調整器114は、データ信号がクロック信号より遅れていると判断することができる。これとは逆に、サンプリングされたデータの偶数番目ビットが全て1であり奇数番目ビットが全て0であれば、本発明の一実施形態により、位相調整器114は、データ信号がクロック信号より先行していると判断することができる。
本発明の一実施形態によれば、位相調整器114は、データが早いまたは遅い時点でサンプリングされるか否かによって位相コードを設定することができるが、クロック信号のエッジがデータ信号のデータアイの中心と整列されるようにクロック信号の位相遷移を調整することができる。位相コードは、例えば、8ビットで示した数値、例えば0~255であり、クロック信号への256個の互いに異なる増分遷移に相当する。これにより、位相補間器116に位相コードを適用すれば、位相補間器116は、与えられた位相コードに対応する量だけクロック信号の位相を遷移させることができる。例えば、位相コード1は、クロック信号の1.4度の位相遷移に相当する。そのため、位相補間器116に位相コード1を適用すれば、位相補間器116は、クロック信号を1.4度だけ遷移させたりずらしたりすることができる。他の例を挙げると、例えば、位相コード37は、クロック信号の52度の位相遷移に相当する。そのため、位相補間器116に位相コード37を適用すれば、位相補間器116は、クロック信号を52度だけ遷移させたりずらしたりすることができる。したがって、位相補間器116は、位相補間器116に提供された位相コードに基づいてクロック信号の位相をずらすことによって調整することができる。これにより、位相調整(された)クロック信号をスライサ118が直列データ信号をサンプリングするのに用いることができ、サンプリング(された)データを逆直列化し(120)、位相調整器114でこれを分析して所望の通りにクロック信号が調整されたかを判断することができる。本発明の一実施形態によれば、クロック信号の立ち上がりエッジがデータ信号のデータアイの中心と整列されるようにクロック信号を調整した時が、まさに望んでいた結果である。したがって、位相遷移したクロック信号が所望の通りになるまで、互いに異なる位相コードを位相補間器116に適用する試行錯誤を経ることができる。
例えば、1つのクロックサイクルが2つの単位区間と同一のDDRベースの直列リンク(DDR-based serial link)で、クロック信号の立ち上がりエッジおよび立ち下がりエッジの両方で全てデータをサンプリングすることによって、クロック信号の立ち上がりエッジおよび立ち下がりエッジのいずれか1つの時点でのみデータをサンプリングする方よりも速く(つまり、2倍の速度で)データ信号をサンプリングすることができる(例えば、データ信号で与えられた数のビット数をサンプリングするならば、立ち上がりエッジおよび立ち下がりエッジのうちの1時点でのみサンプリングする時と比較して半分のクロックサイクル数で可能である)。位相調整アルゴリズムは、特定のビット数をサンプリングすることと関連があるので、速い速度でデータをサンプリングすることによって位相コードをより速い速度で判断および設定することができ、位相遷移クロック信号をより速く調整することができ、よって、全体の位相調整過程の速度を向上させることができる。
図4は、位相コードスイープ(phase code sweep)の間にそれぞれの位相コードに対してクロック信号によって先行してサンプリングされる1のデータビット(「先行ビット」)の百分率を示したグラフである。例えば、8ビットが示す位相コードは、256個の互いに異なるコードを有し、256個の互いに異なるコードは、クロック信号を256個の互いに異なる増分だけ遷移させるが、それぞれの位相コードの結果として得る1の百分率をグラフに示すと、図4に示すように、位相コード対1の百分率のグラフを得ることができる。つまり、スイーピングされる複数の位相コードのうち各位相コードに対して1のビットの百分率がこのグラフで描かれる。グラフの下領域は、位相コードスイープから抽出されたデータビットが1の場合がほとんどない(例:0-5%)位相コードに相当する。言い換えれば、クロック信号によって抽出されたデータビットのほぼ全て(例:95-100%)が遅れてサンプリングされる。これとは異なり、グラフの上領域は、位相コードスイープから抽出されたデータビットがほぼ全て(例:95-100%)1の場合の位相コードに相当する。グラフの中間領域は、抽出されたデータビットの約半分は1であり残りの半分は0である場合の位相コードに相当する。これにより、この50%閾値は、直列クロック信号のエッジが直列データ信号のエッジと整列する場合に相当する。そのため、50%閾値に対応する位相コードを判断することによって、クロック信号を50%閾値の地点から遠く遷移させて、クロック信号のエッジがデータアイの中心と整列するようにクロック信号を調整することができる。
本発明の一実施形態によれば、図4にて、地点1および地点2に対応する位相コードを格納および平均して平均位相コードを決定し、これをクロック信号に印加してクロック信号のエッジをデータ信号のデータアイの中心と整列させることができる。言い換えれば、位相コードをスイーピングする時、複数(例:64、128、256など)の互いに異なる位相調整クロック信号が補間器116によって生成され、1の百分率が約0から約50%に増加すれば(つまり、ビットの約50%が先行であり、残りの約50%は先行でなければ)、対応する位相コードを地点1として格納することができる。位相コードがスイーピングを継続して1の百分率がほぼ100%まで増加してから再び減少し始める。1の百分率が再び約50%に減少すれば、対応する位相コードを地点2として格納することができる。しかし、このような位相コードの設定方法は非常に遅くて誤差が生じやすい。例えば、クロック信号のエッジとデータのエッジが整列すれば、データ標本にジッタ(jitter)が生じ、これにより、図5に示したグラフに示すように、位相コードを誤って検知する結果が出ることもある。図5では、地点1と地点2の平均が50%の1に対応する位相コードを反映しない。
図4と同様に、図6は、位相コードスイープの間の1の百分率を示したグラフである。しかし、図4とは異なり、図6は、正しい位相コードを判断するための4点(4-point)検知方法を示すが、この方法では、位相コードスイープグラフの互いに異なる地点を格納してジッタによる誤差を無くしたり、低減したりする。これにより、より正確な位相コードを決定できる。
本発明の一実施形態によれば、複数の位相コードをスイーピングして1の百分率を決定する。例えば、位相コードは、いかなるビット数からなってもよいが、例えば、8ビットからなる場合、256個の互いに異なる位相ビットを位相補間器116に適用して256個の互いに異なる位相調整クロック信号を生成し、これを用いてデータ信号をサンプリングし、サンプリングされたビットから1の百分率を決定する。位相コードが約50%の1と50%の0を生成するか否かを判断するために、実質的に1がない場合(例:1がない場合に加えて、所定閾値、例えば、1が約0-5%の範囲内の場合を含む)に相当する2個の位相コードを格納し、実質的に全て1の場合(例:全て1の場合に加えて、所定閾値、例えば、1が95-100%の範囲内の場合を含む)に対応する2個の位相コードを格納する。
特に、位相コードスイープを行う時、図6に示すように、1の百分率が0%からほぼ0%(例:約5%)に増加すれば、相当する位相コードを地点1として格納する。位相コードスイープを継続すれば、1の百分率が100%に向かって増加する。位相コードのほぼ(near)100%(例:約95%)から100%に対応する位相コードは、図6に示すように、地点2として格納する。本発明の一実施形態によれば、位相コードスイープを継続すれば、結局のところ1の百分率が再び減少し始める。ここで、1の百分率が100%からほぼ100%(例:約95%)に減少し始めると、図6に示すように、相当する位相コードを地点3として格納する。最後に、位相コードスイープを継続して減少させて、ほぼ0%(例:約5%)から0%までに対応する位相コードを地点4として格納する。
本発明の一実施形態によれば、このような4個の位相コード、つまり、地点1、地点2、地点3および地点4の平均を計算して、約50%の1に対応する最終位相コードを決定する。つまり、例えば、256個の位相コードがあり、地点1、地点2、地点3、地点4に対応する位相コードがそれぞれ40、60、200、215であれば、平均位相コードは(40+50+200+215)/4=126.25になる。本発明の一実施形態によれば、50%の1に対応する位相コードを格納された4地点の平均で計算した後、最終平均位相コードを位相補間器116に適用してクロック信号のエッジがデータ信号のデータアイの中心と整列するようにクロック位相を調整する。また、位相コードは円形であり(circular)、よって、「初期値に戻る(wrap around)」。例えば、0から255までの位相コードに対して、地点1、地点2、地点3、地点4に対応する位相コードはそれぞれ190、192、64、66であるので、「円形(circular)」平均は(190+192+(64+256)+(66+256)/4=256=0である。
本発明の他の実施形態による迅速調整方法(fast calibration technique)について説明する。迅速調整方法は、4点検知方法(4-point detection technique)の初期実行後に始まるが、例えば、迅速調整方法を用いてシステムの使用中に、または動作間の休止期間にシステムに位相調整を行う。図7は、迅速調整方法による位相コードスイープ対1の百分率のグラフである。図6に示した4点検知方法とは異なり、迅速調整方法はより小さい範囲で位相コードスイープを行うが、例えば、位相コードのうち1つの小さい範囲に位相コードスイープの第1ウィンドウ(window)を行い、位相コードのうち他の小さい範囲に位相コードスイープの第2ウィンドウを行うことで、位相コードをスイーピングするのにかかる時間を短縮させる。
本発明の一実施形態によれば、位相コードスイープの第1ウィンドウは、地点1のN位相コード前から始まって地点2のN位相コード後で終わっていてもよいが、ここで、Nは所定(predetermined)またはプログラム可能な(programmable)定数値である。言い換えれば、図6と類似して、図7にて、地点1は、1が0から実質的に0(例:約5%)の場合に対応する位相コードであってもよく、地点2は、ほぼ全て(例:約95%)1であるか、全て1である場合に対応する位相コードであってもよいし、位相コードスイープは、この地点1のN位相コード前(つまり、地点1-N)から始まって地点2のN位相コード後(つまり、地点2+N)で終わる。これにより、位相コードスイープの第1ウィンドウは、図6を参照して説明した全体(full)位相コードスイープより実質的に小さい。
本発明の一実施形態によれば、Nを(256位相コードのうち)値4として選択することができる。したがって、位相コードスイープの第1ウィンドウは、地点1の4位相コード前から始まって地点2の4位相コード後で終わるはずである。これにより、プログラム可能なN値は、最終使用者に調整速度と位相移動許容限度(phase-drift tolerance)との間のトレード-オフ(trade-off)を変化させることを可能にする。つまり、N値が大きければ、スイーピングを行うのに時間が長くかかるので調整が遅くなるが、最後の調整からN-コードまでより大きい位相コード移動に耐えられるはずである。これとは逆に、N値が小さければ、スイーピングを行うのに時間が少なくかかって調整が速くなるが、耐えられる位相コード移動が小さくなる。
本発明の一実施形態によれば、位相コードスイープの第2ウィンドウは、地点3のN位相コード前から始まって地点4のN位相コード後で終わっていてもよい。言い換えれば、図6と類似して、図7にて、地点3は、ほぼ全て(例:約95%)1であるか、全て1である場合に対応する位相コードであってもよく、地点4は、1が0から実質的に0(例:約5%)の場合に対応する位相コードであってもよいし、位相コードスイープは、地点3のN位相コード前(つまり、地点3-N)から始まって地点4のN位相コード後(つまり、地点4+N)で終わる。これにより、位相コードスイープの第2ウィンドウは、図6を参照して説明した全体(full)位相コードスイープより実質的に小さい。言い換えれば、位相コードスイープの第1ウィンドウと位相コードスイープの第2ウィンドウがスイーピングされるが、地点2+Nと地点3-Nとの間の位相コードはスイーピングされない。また、地点1-Nの前の位相コードと地点4+Nの後の位相コードはスイーピングされない。そのため、位相コードをスイーピングするのにかかる時間が短縮し、地点1、地点2、地点3および地点4が迅速に求められる。
次に、地点1、地点2、地点3および地点4の平均位相コードを計算して、約50%の1に対応する最終位相コードを決定できる。本発明の一実施形態によれば、50%の1に対応する位相コードを格納された4地点の平均で計算した後、最終平均位相コードを位相補間器116に適用してクロック信号のエッジがデータ信号のデータアイの中心と整列するようにクロック位相を調整する。したがって、この方法によれば、先に求められた位相コード情報を活用することによって、図6を参照して説明したような方法と類似の結果をより迅速に得ることができる。つまり、例えば、前の調整周期からの地点1に対応する位相コードを用いて地点1-Nを求め、地点1-Nの前の領域は省略して地点1-Nから位相コードスイープを始めることができる。これと同様に、地点2+Nと地点3-Nとの間の領域は省略し、地点3に対応する位相コードは前の調整周期からすでに知っているので、位相コードスイープの第2ウィンドウを地点3-Nから始めることができる。
図8は、4点検知方法および迅速調整方法のフローチャートである。本発明の一実施形態によれば、位相調整器114が位相調整要請(request)を受信し、直列クロック信号を直列データ信号に対して調整する。初期調整中に、4点検知方法を用いる初期調整方法804を実行できる。これとは異なり、周期的な調整中に、迅速モード調整を用いる周期調整方法816を実行してもよい。本発明の一実施形態によれば、初期調整方法804は、周期調整を望む場合にも実行できるが、初期調整方法804は、周期調整方法816より実行時間が長い。
まず、初期調整方法804を選択すれば、位相コードスイーピング過程を開始できる。先に説明したように、位相コードスイープは位相コードを含み、位相コードの数はいかなるものでも構わないが、例えば、256個であってもよい。それぞれの位相コードは、少しずつ(例:クロック周期の1/256)遷移したクロック信号に対応する。本発明の一実施形態によれば、まず、位相コードを0に設定する(806)が、これは、位相コードスイープに用いられる複数の位相コードのうち第1位相コード(例:0~255位相コードのうち第1位相コード)に対応する。本発明の一実施形態によれば、位相コードは、位相コードスイープ用に64個の位相コードを含む6-ビットの位相コードであってもよい。本発明の他の実施形態によれば、位相コードは、位相コードスイープ用に128個の位相コードを含む7-ビットの位相コードであってもよい。本明細書では、位相コードが8ビットの場合だけを仮定して説明するが、これは一例に過ぎない。
次に、位相補間器に複数の位相コードを適用することによって位相コードをスイーピングする(808)。位相コードスイープを実行すると、クロックの位相が調整され、サンプリングおよび逆直列化されたデータから1の百分率が決定されるが、1が1つもない場合から全て1の場合まである。図6を参照して説明したように、ビットの0%からほぼ0%(例:約5%)が1の場合は、相当する位相コードを地点1として格納する(810)。本発明の一実施形態によれば、3つの単位区間(UIs)の間(例:1ビットの直列クロックの間)に位相コードスイープを行って、図6を参照して説明したように、地点1、地点2、地点3および地点4を求める。例えば、地点2は、1の百分率がほぼ100%(例:約95%)から100%までの時に格納し、地点3は、1の百分率がほぼ100%(例:約95%)から100%までの時に格納し、地点4は、1の百分率がほぼ0%(例:約5%)から0%までの時に格納する。4つの地点を格納した後(812)、地点1~地点4に対応する位相コードを平均することによって最終位相コードを計算し(838)、計算した位相コードを位相補間器116に適用する(840)。位相コードスイープが3回のUIについて行われていない場合(812)は、位相コードを次の位相コードに、例えば、位相コード1から位相コード2に増分する方式で進行させる。段階808-812は、3つのUIが行われるまで繰り返される。
本発明の一実施形態によれば、迅速調整方法を用いる周期調整方法を実行する(816)。まず、位相コードを地点1-Nに設定する(818)が、Nは所定またはプログラム可能な定数である。地点1に対する位相コードは、前の位相コードスイープ、例えば、初期調整モードで決定される。次に、位相補間器に複数の位相コードを適用することによって位相コードの第1ウィンドウをスイーピングする(820)。位相コードスイープの第1ウィンドウを実行すると、クロックの位相が調整され、サンプリングおよび逆直列化されたデータから1の百分率が決定されるが、1が1つもない場合から全て1の場合まである。ビットの0%からほぼ0%(例:約5%)が1であれば、図7を参照して説明したように、当該位相コードを地点1として格納する(822)。位相コードスイープの第1ウィンドウを継続して位相コードが地点2+Nと同一になると、最初の2地点に対して位相コードスイープの第1ウィンドウを実行したことになる(824)。位相コードが地点2+Nと同一でなければ、位相コードを増分し、段階820-824を繰り返して、地点1と地点2の両方ともが格納されるようにする(826)。地点1と地点2が格納されると、位相コードを地点3-Nに設定し(828)、位相コードスイープの第2ウィンドウを実行し、位相補間器に適用する(830)。1の百分率がほぼ100%(例:約95%)から100%であると判断されれば、図7を参照して説明したように、当該位相コードを地点3として格納し(832)、位相コードが地点4+Nと同一であるかを調べるが、これは、第3および第4地点に対して位相コードスイープの実行を終えたことを意味する(834)。位相コードが地点4+Nと同一でなければ、位相コードを増分し(836)、地点3と地点4が全て格納されるまで(836)、段階830-834を繰り返す。2地点、つまり、地点3と地点4が格納されると、地点1、地点2、地点3および地点4に対応する位相コードを平均することによって最終位相コードを計算し(838)、計算された位相コードを位相補間器に適用する(840)。調整周期が完了すれば、位相調整器は、休止状態(idle state)に入り、他の調整要請を受けるまで待機する(842)。
本発明の一実施形態によれば、計算された最終位相コードで位相補間器116を更新すれば、位相補間器116は、クロック信号を調整し、この調整されたクロック信号をスライサ118に提供し、スライサ118は、この調整クロック信号を用いて入力直列データをサンプリングする。これにより、調整クロック信号のエッジは、入力直列データ信号のデータアイの中心と整列される。
先に説明した方法では、1(例:早いビット)の百分率について言及したが、本発明の他の実施形態によれば、ビットは1の代わりに0(例:遅いビット)であってもよい。そのため、4点検知方法または迅速調整方法は、1の百分率の代わりに0の百分率を用いて同様の方法を適用することができる。
本発明の一実施形態によれば、複数の調整方法を共に用いて調整結果を向上させることができる。例えば、図6を参照して説明した4点検知方法を、図3Aおよび図3Bを参照して説明した2-エッジサンプリング方法(クロック信号の立ち上がりエッジおよび立ち下がりエッジの両方でデータをサンプリング)と共に適用可能である。また、本発明の他の実施形態によれば、図7を参照して先に説明した迅速調整方法を、図3Aおよび図3Bを参照して説明した2-エッジサンプリング方法と共に用いてもよい。
「第1」、「第2」、「第3」などの用語を様々な要素、成分、領域、層、部分などに使うが、これらはこのような修飾語によって限定されない。このような用語は、ある要素、成分、領域、層、部分を他の要素、成分、領域、層、部分と区別するために使うものである。したがって、第1要素、成分、領域、層、部分は、本発明の趣旨と範囲を逸脱することなく第2要素、成分、領域、層、部分とすることもできる。
説明の便宜のために、図面に示したある部分または特性に対する他の部分または特性の関係を示すために、「の下」、「下方」、「~より下」、「真下」、「の上」、「~より上」などの空間関係の用語を使うことができる。このような空間関係の用語は、図面に示した使用または動作する装置の互いに異なる位置および/または方向を示すためのものである。例えば、図面において、ある部分「の下」または「下」にあると示した部分は、装置がひっくり返されると逆に「上」にあるものとなる。そのため、例えば、「の下」および「下」は、上と下を全て示すことができる。装置が、例えば、90度回転したり他の方向を向いたりすることができ、この場合、空間関係の用語はこれに合わせて解釈されなければならない。
成分や層が他の成分や層の「上に」あるか「接続されて」いると記載する場合、「直に」上にあるかまたは「直接」接続されている場合のみならず、中間に他の成分や層がさらに挟まれている場合も含む。しかし、「真上に」あるか「直接接続」されていると記載すれば、中間に他の部分がないことを意味する。また、ある成分や層が他の2つの成分や層の「間」にあると表現した時、2つの成分や層がその間に当該成分や層のみあってもよいが、1つ以上の他の成分や層がさらにあってもよい。
ここで使われた用語は、特定の実施形態を説明する目的で使うだけであり、本発明を制限しようとするものではない。ここで、数を特に言及しなければ、単数または複数の場合をすべて含む。ある特徴、整数、段階、動作、部分、成分などを「含む」という表現は、当該部分以外に他の特徴、整数、段階、動作、部分、成分なども包含できることを意味する。「および/または」という表現は、挙げられたものの1つまたは2以上のすべての組み合わせを含む。挙げられたリストの前に記載した「少なくとも1つ」などの表現は、リスト全体を修飾するものであって、リスト内のそれぞれのものを修飾するわけではない。
ここで、「実質的に」、「約」、「およそ」およびこれと類似する表現は近似を示す表現に過ぎず、「程度」を示すものではなく、当業者に周知の測定値または計算値の固有の誤差を示すために使う。また、本発明の実施形態を説明する時に使う「できる(てもよい)」という表現は、「本発明の1つ以上の実施形態」に適用可能であることを意味する。「例示的な」という用語は、例または図面を示す。「使用」、「利用」などは、これと類似の他の表現と共に類似する意味で使われる。
本発明の実施形態により説明した電子装置、電気装置および/または他の関連装置またはその構成要素は、適切なハードウェア、ファームウェア[例:特定用途向け集積回路(ASIC:application-specific integrated circuit)、FPGA(field-programmable gate array)]、ソフトウェアまたはこれらの組み合わせを用いて実現することができる。例えば、これら装置の多様な構成要素は1つの集積回路チップに形成されてもよく、互いに異なる集積回路チップで実現されてもよい。また、これら装置の多様な構成要素をフレキシブルプリント回路フィルム、テープキャリアパッケージ(TCP:tape carrier package)、プリント回路基板などに実現するか、1つの基板上に形成することができる。さらに、これら装置の多様な構成要素を、ここで説明した多様な機能を行うために、コンピュータプログラム命令を実行し、他のシステム要素と相互作用する1つ以上のコンピュータ装置内にある1つ以上のプロセッサで実行可能なプロセスまたはスレッド(thread)であってもよい。コンピュータプログラム命令は、RAM(random access memory)などの標準メモリ装置を用いるコンピュータ装置に実現されたメモリに格納できる。それだけでなく、当業者は、本発明の実施形態の概念と範囲を逸脱することなく多様なコンピュータ装置の機能を1つのコンピュータ装置に結合または統合するか、特定のコンピュータ装置の機能を1つ以上の他のコンピュータ装置に分散することもできる。
特別な言及がない限り、ここで使う(技術的、科学的用語を含む)すべての用語は、この発明の属する技術分野における当業者が一般に知っているのと同じ意味を有している。一般に使われる辞書に定義された用語などの用語は、関連技術分野および/または本明細書における意味と一致する意味を有すると解釈し、ここで明示しない限り、理想的または過度に厳しい意味で解釈してはならない。
以上説明した実施形態はまさに例であるに過ぎない。当業者であれば、ここに記載した実施形態から多様な代替実施形態を知ることができる。このような代替実施形態は本発明の範囲に含まれる。このように、実施形態は以下の特許請求の範囲およびその等価物によってのみ限定される。
100:位相調整回路
102:送信機
104:クロック送信機
106:データ送信機
108:受信機
110:クロック受信機
112:データ受信機
114:位相調整器
116:位相補間器
118:スライサ
120:逆直列化器
102:送信機
104:クロック送信機
106:データ送信機
108:受信機
110:クロック受信機
112:データ受信機
114:位相調整器
116:位相補間器
118:スライサ
120:逆直列化器
Claims (20)
- 直列クロック信号を受信する段階と、
直列データ信号を受信する段階と、
前記直列クロック信号に適用して前記直列クロック信号の位相を遷移させることができる複数の位相コードをスイーピングする段階と、
前記複数の位相コードのうち第1位相コードを識別する段階と、
前記複数の位相コードのうち第2位相コードを識別する段階と、
前記複数の位相コードのうち第3位相コードを識別する段階と、
前記複数の位相コードのうち第4位相コードを識別する段階と、
前記第1位相コード、前記第2位相コード、前記第3位相コードおよび前記第4位相コードに基づいて平均位相コードを決定する段階と、
前記平均位相コードを位相補間器に適用して前記直列クロック信号の位相を遷移させる段階と
を含み、
前記第1位相コードは、前記直列データ信号から抽出した第1閾値ビット数を0に加えた数のビットが特定値であるように識別され、
前記第2位相コードは、前記直列データ信号から抽出した第2閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、
前記第3位相コードは、前記直列データ信号から抽出した第3閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、
前記第4位相コードは、前記直列データ信号から抽出した第4閾値ビット数を0に加えた数のビットが前記特定値であるように識別される
位相調整方法。 - 前記直列データ信号は、前記直列クロック信号と同一のトレーニングパターンを含み、
前記第1、第2、第3および第4閾値ビット数は、抽出したビット数全体の0%~5%である、
請求項1に記載の位相調整方法。 - 前記特定値は、1または0であり、
前記1は、予定時点より早い時点で前記直列データ信号から抽出されるビットを含み、
前記0は、予定時点より遅い時点で前記直列データ信号から抽出されるビットを含む、
請求項2に記載の位相調整方法。 - 前記複数の位相コードをスイーピングする段階は、前記直列データ信号の3つの単位区間をスイーピングする段階を含む、請求項1に記載の位相調整方法。
- 前記平均位相コードを前記位相補間器に適用して前記直列クロック信号の位相を遷移させる段階は、前記直列クロック信号のエッジが前記直列データ信号のデータアイの中心に整列するように前記直列クロック信号を遷移させる段階を含む、請求項1に記載の位相調整方法。
- 前記直列データ信号から抽出したビットは、前記直列クロック信号の立ち上がりエッジに対応する第1ビットと、前記直列クロック信号の立ち下がりエッジに対応する第2ビットとを含む、請求項1に記載の位相調整方法。
- 位相コードの第1ウィンドウをスイーピングして更新された第1位相コードおよび更新された第2位相コードを識別する段階と、
位相コードの第2ウィンドウをスイーピングして更新された第3位相コードおよび更新された第4位相コードを識別する段階と、
前記更新された第1位相コード、前記更新された第2位相コード、前記更新された第3位相コードおよび前記更新された第4位相コードに基づいて更新された平均位相コードを決定する段階と、
前記更新された平均位相コードを前記位相補間器に適用して前記直列クロック信号の位相をさらに遷移させる段階と
をさらに含み、
前記第1ウィンドウは、前記第1位相コードから定数を減じた地点から始まって前記第2位相コードに前記定数を加えた地点で終わり、
前記第2ウィンドウは、前記第3位相コードから前記定数を減じた地点から始まって前記第4位相コードに前記定数を加えた地点で終わる、
請求項1に記載の位相調整方法。 - 前記定数は、プログラム可能な所定値である、請求項7に記載の位相調整方法。
- 前記更新された第1位相コードは、前記更新された第2位相コードと異なり、前記更新された第3位相コードは、前記更新された第4位相コードと異なる、請求項8に記載の位相調整方法。
- コンピュータ実行可能な命令を格納するメモリと、
前記命令を実行するプロセッサと
を含むシステムであって、
前記プロセッサが前記命令を実行すると、前記システムは、
直列クロック信号を受信し、
直列データ信号を受信し、
前記直列クロック信号に適用して前記直列クロック信号の位相を遷移させることができる複数の位相コードをスイーピングし、
前記複数の位相コードのうち第1位相コードを識別し、
前記複数の位相コードのうち第2位相コードを識別し、
前記複数の位相コードのうち第3位相コードを識別し、
前記複数の位相コードのうち第4位相コードを識別し、
前記第1位相コード、前記第2位相コード、前記第3位相コードおよび前記第4位相コードに基づいて平均位相コードを決定し、
前記平均位相コードを位相補間器に適用して前記直列クロック信号の位相を遷移させることを含み、
前記第1位相コードは、前記直列データ信号から抽出した第1閾値ビット数を0に加えた数のビットが特定値であるように識別され、
前記第2位相コードは、前記直列データ信号から抽出した第2閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、
前記第3位相コードは、前記直列データ信号から抽出した第3閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、
前記第4位相コードは、前記直列データ信号から抽出した第4閾値ビット数を0に加えた数のビットが前記特定値であるように識別される
システム。 - 前記直列データ信号は、前記直列クロック信号と同一のトレーニングパターンを含み、
前記第1、第2、第3および第4閾値ビット数は、抽出したビット数全体の0%~5%である、
請求項10に記載のシステム。 - 前記特定値は、1または0であり、
前記1は、予定時点より早い時点で前記直列データ信号から抽出されるビットを含み、
前記0は、予定時点より遅い時点で前記直列データ信号から抽出されるビットを含む、
請求項11に記載のシステム。 - 前記複数の位相コードのスイーピングは、前記直列データ信号の3つの単位区間をスイーピングする、請求項10に記載のシステム。
- 前記平均位相コードを前記位相補間器に適用して前記直列クロック信号の位相を遷移させることは、前記直列クロック信号のエッジが前記直列データ信号のデータアイの中心に整列するように前記直列クロック信号を遷移させることを含む、請求項10に記載のシステム。
- 前記直列データ信号から抽出したビットは、前記直列クロック信号の立ち上がりエッジに対応する第1ビットと、前記直列クロック信号の立ち下がりエッジに対応する第2ビットとを含む、請求項10に記載のシステム。
- 前記プロセッサが前記命令を実行すると、前記システムはさらに、
位相コードの第1ウィンドウをスイーピングして更新された第1位相コードおよび更新された第2位相コードを識別し、
位相コードの第2ウィンドウをスイーピングして更新された第3位相コードおよび更新された第4位相コードを識別し、
前記更新された第1位相コード、前記更新された第2位相コード、前記更新された第3位相コードおよび前記更新された第4位相コードに基づいて更新された平均位相コードを決定し、
前記更新された平均位相コードを前記位相補間器に適用して前記直列クロック信号の位相をさらに遷移させることを含み、
前記第1ウィンドウは、前記第1位相コードから定数を減じた地点から始まって前記第2位相コードに前記定数を加えた地点で終わり、
前記第2ウィンドウは、前記第3位相コードから前記定数を減じた地点から始まって前記第4位相コードに前記定数を加えた地点で終わる、
請求項10に記載のシステム。 - 前記定数は、プログラム可能な所定値である、請求項16に記載のシステム。
- 前記更新された第1位相コードは、前記更新された第2位相コードと異なり、前記更新された第3位相コードは、前記更新された第4位相コードと異なる、請求項17に記載のシステム。
- 直列クロック信号を受信する段階と、
直列データ信号を受信する段階と、
前記直列クロック信号に適用して前記直列クロック信号の位相を遷移させることができる位相コードの第1ウィンドウをスイーピングする段階と、
前記位相コードの第1ウィンドウのうち更新された第1位相コードを識別する段階と、
前記位相コードの第1ウィンドウのうち更新された第2位相コードを識別する段階と、
前記直列クロック信号に適用して前記直列クロック信号の位相を遷移させることができる位相コードの第2ウィンドウをスイーピングする段階と、
前記位相コードの第2ウィンドウのうち更新された第3位相コードを識別する段階と、
前記位相コードの第2ウィンドウのうち更新された第4位相コードを識別する段階と、
前記更新された第1位相コード、前記更新された第2位相コード、前記更新された第3位相コードおよび前記更新された第4位相コードに基づいて平均位相コードを決定する段階と、
前記平均位相コードを位相補間器に適用して前記直列クロック信号の位相を遷移させる段階と
を含み、
前記第1ウィンドウは、所定の第1位相コードから定数を減じた地点から始まって所定の第2位相コードに前記定数を加えた地点で終わり、
前記更新された第1位相コードは、前記直列データ信号から抽出した第1閾値ビット数を0に加えた数のビットが特定値であるように識別され、
前記更新された第2位相コードは、前記直列データ信号から抽出した第2閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、
前記第2ウィンドウは、所定の第3位相コードから前記定数を減じた地点から始まって所定の第4位相コードに前記定数を加えた地点で終わり、
前記更新された第3位相コードは、前記直列データ信号から抽出した第3閾値ビット数を、抽出したビット数全体から減じた数のビットが前記特定値であるように識別され、
前記更新された第4位相コードは、前記直列データ信号から抽出した第4閾値ビット数を0に加えた数のビットが前記特定値であるように識別される
位相調整方法。 - 前記第1、第2、第3および第4閾値ビット数は、抽出したビット数全体の0%~5%であり、
前記特定値は、1または0であり、
前記1は、予定時点より早い時点で前記直列データ信号から抽出されるビットを含み、
前記0は、予定時点より遅い時点で前記直列データ信号から抽出されるビットを含む、
請求項19に記載の位相調整方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163135434P | 2021-01-08 | 2021-01-08 | |
US63/135,434 | 2021-01-08 | ||
US17/211,758 US11239992B1 (en) | 2021-01-08 | 2021-03-24 | Efficient phase calibration methods and systems for serial interfaces |
US17/211,758 | 2021-03-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022107522A true JP2022107522A (ja) | 2022-07-21 |
Family
ID=79269855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022000285A Pending JP2022107522A (ja) | 2021-01-08 | 2022-01-04 | 位相調整方法およびシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US11695538B2 (ja) |
EP (1) | EP4027573A1 (ja) |
JP (1) | JP2022107522A (ja) |
KR (1) | KR20220100794A (ja) |
CN (1) | CN114756499B (ja) |
TW (1) | TWI809644B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7095789B2 (en) * | 2004-01-28 | 2006-08-22 | Rambus, Inc. | Communication channel calibration for drift conditions |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6621861B1 (en) * | 2002-02-06 | 2003-09-16 | Ciena Corporation | System to optimize signal detection |
JP2004153712A (ja) * | 2002-10-31 | 2004-05-27 | Thine Electronics Inc | 受信装置 |
US7873132B2 (en) * | 2005-09-21 | 2011-01-18 | Hewlett-Packard Development Company, L.P. | Clock recovery |
US7644296B1 (en) * | 2006-04-07 | 2010-01-05 | Altera Corporation | Programmable logic device integrated circuits with configurable dynamic phase alignment circuitry |
US8594264B1 (en) * | 2010-12-14 | 2013-11-26 | Xilinx, Inc. | Phase detection and aligned signal selection with multiple phases of clocks |
US9160518B1 (en) * | 2014-09-30 | 2015-10-13 | Realtek Semiconductor Corporation | Half-rate clock-data recovery circuit and method thereof |
US9209960B1 (en) * | 2014-11-21 | 2015-12-08 | Xilinx, Inc. | Fast locking CDR for burst mode |
US9805693B2 (en) * | 2014-12-04 | 2017-10-31 | Samsung Display Co., Ltd. | Relay-based bidirectional display interface |
US9407424B1 (en) * | 2015-04-09 | 2016-08-02 | Texas Instruments Incorporated | Fast locking clock and data recovery using only two samples per period |
US9755819B2 (en) | 2015-07-01 | 2017-09-05 | Rambus Inc. | Phase calibration of clock signals |
US9442512B1 (en) | 2015-11-20 | 2016-09-13 | International Business Machines Corporation | Interface clock frequency switching using a computed insertion delay |
TWI608721B (zh) * | 2015-12-29 | 2017-12-11 | 安南帕斯公司 | 雙向通訊方法及使用該方法之雙向通訊裝置 |
US10411922B2 (en) | 2016-09-16 | 2019-09-10 | Kandou Labs, S.A. | Data-driven phase detector element for phase locked loops |
KR20180034738A (ko) | 2016-09-26 | 2018-04-05 | 삼성전자주식회사 | 메모리 장치 및 그것의 분주 클록 보정 방법 |
JP7089519B2 (ja) * | 2016-12-21 | 2022-06-22 | インテル コーポレイション | 無線通信技術、装置及び方法 |
US11003203B2 (en) | 2018-07-23 | 2021-05-11 | Xilinx, Inc. | Circuits for and methods of calibrating a circuit in an integrated circuit device |
US10686582B1 (en) | 2019-02-25 | 2020-06-16 | Intel Corporation | Clock phase compensation apparatus and method |
KR102649761B1 (ko) * | 2019-05-27 | 2024-03-20 | 삼성전자주식회사 | 클럭 위상 및 전압 오프셋 보정 방법 및 이를 수행하는 데이터 복원 회로 |
US10797683B1 (en) | 2020-03-06 | 2020-10-06 | Faraday Technology Corp. | Calibration circuit and associated calibrating method capable of precisely adjusting clocks with distorted duty cycles and phases |
US11239992B1 (en) * | 2021-01-08 | 2022-02-01 | Samsung Display Co., Ltd. | Efficient phase calibration methods and systems for serial interfaces |
-
2022
- 2022-01-04 JP JP2022000285A patent/JP2022107522A/ja active Pending
- 2022-01-05 TW TW111100467A patent/TWI809644B/zh active
- 2022-01-05 CN CN202210005366.2A patent/CN114756499B/zh active Active
- 2022-01-06 EP EP22150490.5A patent/EP4027573A1/en active Pending
- 2022-01-07 KR KR1020220002750A patent/KR20220100794A/ko unknown
- 2022-01-27 US US17/586,442 patent/US11695538B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN114756499A (zh) | 2022-07-15 |
US20220224505A1 (en) | 2022-07-14 |
US11695538B2 (en) | 2023-07-04 |
TWI809644B (zh) | 2023-07-21 |
EP4027573A1 (en) | 2022-07-13 |
CN114756499B (zh) | 2024-04-26 |
TW202242669A (zh) | 2022-11-01 |
KR20220100794A (ko) | 2022-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI720008B (zh) | 用於三相介面之多相位時脈資料回復 | |
US9853806B2 (en) | Method to enhance MIPI D-PHY link rate with minimal PHY changes and no protocol changes | |
TWI457579B (zh) | 用於自動測試設備系統的追蹤器電路及方法 | |
US7249290B2 (en) | Deskew circuit and disk array control device using the deskew circuit, and deskew method | |
US9215063B2 (en) | Specifying a 3-phase or N-phase eye pattern | |
US20170091141A1 (en) | N-phase signal transition alignment | |
US7821317B2 (en) | Clock generating apparatus | |
US20170039163A1 (en) | Reducing transmitter encoding jitter in a c-phy interface using multiple clock phases to launch symbols | |
TWI678073B (zh) | 用於多線多相介面中的時鐘資料恢復的校準模式和工作循環失真校正 | |
KR20180033190A (ko) | C-phy 3상 송신기를 위한 시간 기반 등화 | |
KR101617374B1 (ko) | 에러 검출 기법들에 의거한 메모리 쓰기 타이밍의 조정 | |
CN110995241B (zh) | 一种自适应相位调整的lvds延时电路 | |
CN104283665A (zh) | 用于传送数据的系统和包括其的视频显示器 | |
JP2022107522A (ja) | 位相調整方法およびシステム | |
US6735732B2 (en) | Clock adjusting method and circuit device | |
US11239992B1 (en) | Efficient phase calibration methods and systems for serial interfaces | |
JP5221609B2 (ja) | Dllを共用してサンプリング位相設定を行うホストコントローラ | |
US20110185218A1 (en) | Adjustment of Write Timing Based on a Training Signal | |
CN109101691B (zh) | 一种双倍速率数据传输接口的数据采样方法 | |
CN108345554B (zh) | 决定出取样时脉信号的取样相位的方法及相关的电子装置 | |
US7573312B2 (en) | Apparatus and method of controlling operation frequency in DLL circuit | |
JP2020046800A (ja) | 半導体装置 | |
US11940836B2 (en) | Dual chip clock synchronization | |
CN115834015A (zh) | 一种基于fpga的输入信号自适应时序对齐方法 |