KR100513275B1 - 데이터의 위치 정보 탐색을 통한 데이터 복원 방법 및상기 알고리즘을 적용한 직렬 데이터 수신기 - Google Patents
데이터의 위치 정보 탐색을 통한 데이터 복원 방법 및상기 알고리즘을 적용한 직렬 데이터 수신기 Download PDFInfo
- Publication number
- KR100513275B1 KR100513275B1 KR10-2003-0060227A KR20030060227A KR100513275B1 KR 100513275 B1 KR100513275 B1 KR 100513275B1 KR 20030060227 A KR20030060227 A KR 20030060227A KR 100513275 B1 KR100513275 B1 KR 100513275B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- overclock
- output
- center
- transition
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/06—Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection
- H04L25/068—Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection by sampling faster than the nominal bit rate
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Dc Digital Transmission (AREA)
Abstract
본 발명은 직렬-링크 데이터 수신기 및 상기 수신기에 적용되는 데이터 복원 알고리즘에 관한 것으로, 송신단으로부터 직렬 데이터 스트림 및 기준 클록 신호를 수신하는 단계; 상기 수신된 기준 클록 신호를 기초로 복수의 오버 클록 신호를 생성하는 단계; 상기 복수의 오버 클록 신호를 기초로 상기 수신된 직렬 데이터를 오버샘플링하는 단계; 및 상기 복수의 오버 클록 신호 각각에 의해 샘플링된 값들을 비교하고 데이터 비트의 천이 위치를 고려하여 가장 유효한 값을 상기 기준 클록 신호에 해당하는 데이터 값으로 출력하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 데이터 송신단이 직렬로 보낸 데이터 스트림을 받아 데이터를 복원시키는 데이터 수신단에서 데이터 스큐(skew)와 변형이 발생하여 데이터의 유효 구간이 50%를 벗어난 매우 심각하게 왜곡된 데이터가 수신되더라도 손실없이 안정적으로 데이터를 복원할 수 있다.
Description
본 발명은 직렬-링크 데이터 수신기 및 상기 수신기에 적용되는 데이터 복원 알고리즘에 관한 것으로, 보다 상세하게는, 데이터 송신단이 직렬로 보낸 데이터 스트림을 받아 데이터를 복원시키는 데이터 수신단에서 데이터 스큐(skew)(즉, 각 비트들이 종장치에 도달하는 데에 시간적인 차이가 발생하는 현상. 주로 케이블이나 보드 라인 길이의 불일치로 인해 발생한다)와 변형이 발생하여 데이터의 유효 구간이 50%를 벗어난 매우 심각하게 왜곡된 데이터가 수신되더라도 손실없이 안정적으로 데이터를 복원하기 위한 알고리즘 및 상기 알고리즘을 적용한 직렬 데이터 수신기에 관한 것이다.
통상, 회로기판 위에 실장된 두 소자 사이의 데이터 송수신이나 서로 떨어져 있는 통신 장치 사이의 디지털 송수신에 있어서, 직렬로 데이터를 송수신할 경우, 데이터의 압축이 용이하고, 소자의 핀(Pin) 개수를 줄일 수 있으며, 회로 보드를 간단하게 할 수 있고, 병렬 신호 사이에 발생할 수 있는 신호 간섭을 방지할 수 있는 등 여러 이점으로 인해 디지털 데이터를 직렬로 송수신하는 방식이 다양한 시스템에서 적용되고 있다. 일반적으로 직렬-링크(Serial-Link)라 불리는 칩들은 송신단과 수신단이 쌍을 이루어 동작하며 두 칩사이는 전송 케이블로 연결되어 있다. 한편, 직렬-링크 계열 종류로서 영상신호 전송용으로 많이 사용되고 있는, 예컨대, 저 전압 차동 스윙(Low Voltage Differential Swing; LVDS) 송수신 칩이나 또는 TMDS(Transition Minimized Differential Signaling) 송수신 칩의 경우, 송수신 칩 사이의 데이터 전송과 클록 전송이 서로 다른 채널을 통해 이루어지는 특성을 가지고 있다. 일반적으로, 송신 칩에서 출력되는 데이터는 출력시 클록에 동기시켜 내보내더라도 여러 원인으로 인해 수신단 도착시에는 클록과 데이터 사이에 스큐가 발생하게 되고 또한 데이터 유효 구간(valid window)의 변형과 같은 심각한 데이터 왜곡 현상이 발생할 수 있다. 이러한 경우, 데이터 패턴은 복원이 용이한 이상적인 조건으로 수신단으로 들어오지 않기 때문에, 수신단 칩은 어떤 경우라도 데이터를 정상적으로 복원시킬 수 있는 특성 및 복원 알고리즘을 가지고 있어야 한다.
도 3은 상기와 같은 데이터 스큐를 보정하기 위한 종래의 회로 중 하나이다. 상기 회로에 의하면, 인접 데이터 사이의 천이가 존재할 때 데이터의 에지(edge)를 검출하고 기준 에지 위치와의 차이를 비교하여 그 차이에 따라 데이터를 지연하도록 조절함으로써 데이터를 복원한다.
도 3의 각 구성을 참조하여 보다 구체적으로 설명하며 다음과 같다. 먼저 송신단에서 출력된 직렬 데이터 및 클록 신호는 데이터 버스 또는 케이블을 통해 수신단(30)의 입력 버퍼(31)와 클록 버퍼(35)로 각각 입력된다. 클록 생성기(37)는 상기 입력된 클록에 따라 천이 클록 신호와 중심 클로 신호를 생성하여 데이터 샘플러(33)에 공급한다. 그러면, 상기 데이터 샘플러(33)는 상기 클록에 따라 2개의 인접한 직렬 데이터 비트 사이의 천이 위치를 연속적으로 샘플링하고, 각 직렬 데이터 비트의 정확한 중심 위치(center position)를 샘플링하여 그 결과 값을 에지 비교기(34)에 전달한다. 에지 비교기(34)는 상기 샘플링된 값과 이상적인 논리 임계값을 비교한다. 만약 차이가 존재한다면 데이터의 스큐가 발생한 것으로, 상기 에지 비교기(34)는 그 차이의 크기에 따라 스큐의 정도를 판단하고 스큐 제어 신호를 발생시켜 이를 데이터 지연 셀(32)로 보낸다. 상기 데이터 지연 셀(32)은 스큐 제어 신호에 따라 데이터를 지연시켜 각각의 직렬 데이터 비트의 중심 위치에 기준 클록이 정확히 위치하도록 보정한다.
이러한 종래의 방법의 가장 큰 문제점으로는, 첫째, 현재 복원하고자 하는 데이터에 존재하는 스큐를 찾아내 다음에 들어오는 데이터 스큐를 보정하는 방식이므로 현재 데이터의 스큐로 인한 데이터 복원시의 오류는 보정할 방법이 없다는 것이다. 둘째, 스큐 및 변형에 의해 데이터가 50% 이상 변형 되는 경우, 즉, 1/2 주기 이상으로 위상이 바뀌는 경우에는 스큐의 정도를 정확하게 구하지 못하여 데이터의 정확한 복원이 곤란하게 된다는 문제점이 있다. 또한, 종래의 방식을 구현하기 위해서는 비교적 많은 부가회로가 필요하기 때문에 전력 소모가 많아지고 칩 사이즈가 증가되는 문제도 발생한다.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위한 것이다. 따라서, 본 발명은, 직렬 데이터 스트림을 수신할 때 데이터 스큐와 변형이 발생하여 데이터 유효 구간을 50% 이상 벗어나는 매우 심각한 왜곡이 발생하더라도, 안정적으로 정확하게 데이터를 복원하기 위한 데이터 위치 정보 탐색을 통한 데이터 복원 알고리즘을 제공하는 것을 목적으로 한다.
또한, 본 발명은 초기 입력된 데이터도 오류없이 정확하게 복원할 수 있는 알고리즘을 제공하는 것을 목적으로 한다.
본 발명의 또 다른 목적은 상기와 같은 데이터 복원 알고리즘을 채용하여 간단하게 구현할 수 있는 직렬 데이터 수신기를 제공하는 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 구성을 간략하게 살펴보면, 본 발명에 따른 데이터의 위치 정보 탐색을 통한 데이터 복원 알고리즘은, 송신단으로부터 직렬 데이터 스트림 및 기준 클록 신호를 수신하는 단계; 상기 수신된 기준 클록 신호를 기초로 복수의 오버 클록 신호를 생성하는 단계; 상기 복수의 오버 클록 신호를 기초로 상기 수신된 직렬 데이터를 오버샘플링하는 단계; 및 상기 복수의 오버 클록 신호 각각에 의해 샘플링된 값들을 비교하고 데이터 비트의 천이 위치를 고려하여 가장 유효한 값을 상기 기준 클록 신호에 해당하는 데이터 값으로 출력하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 직렬 데이터 수신기는, 송신단에서 출력된 직렬 데이터 신호를 수신하여 저장하는 입력 버퍼; 송신단에서 출력된 기준 클록 신호를 수신하여 저장하는 클록 버퍼; 상기 기준 클록 신호를 기초로 복수의 오버 클록 신호를 생성하는 클록 생성기; 상기 복수의 오버 클록 신호를 기초로 상기 수신된 직렬 데이터를 오버샘플링하는 데이터 샘플러; 및 상기 복수의 오버 클록 신호 각각에 의해 샘플링된 값들을 비교하고 데이터 비트의 천이 위치를 고려하여 가장 유효한 값을 상기 기준 클록 신호에 해당하는 데이터 값으로 출력하는 위치 검출기를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조로 하여 본 발명의 특징적인 구성 및 동작에 대해 보다 구체적으로 설명한다.
통상적으로 직렬 데이터의 안정적인 복원을 위해서 오버샘플링 기법을 사용하는 경우가 많다. 오버샘플링 기법을 이용할 경우, 도 5와 같이 입력 데이터 패턴 및 샘플링 클록이 정상적인 경우에는 아무런 문제을 없이 데이터를 복원할 수 있다. 여기서, 오버샘플링은 3배의 오버샘플링을 사용한 경우로서, Dn-1, Dn, Dn+1은 순차적인 데이터 비트열을 나타내며, n 번째 데이터 비트열에 대응하여 Mn은 중앙 오버샘플링 클록, Ln과 Rn은 중앙 오버 클록의 좌우에 위치되는 좌우 오버 클록을 나타낸다. 이렇게 정상적인 데이터와 샘플링인 경우, 복원하고자 하는 Dn에 대해 오버샘플링 클록 Ln, Mn, Rn으로 오버샘플링을 수행하면 모두 Dn이 출력으로 나온다. 즉,
Out(Ln) = Out(Mn) = Out(Rn)
이 된다. 이러한 경우는 어떠한 출력도 모두 맞는 값을 가지기 때문에 아무것이나 출력으로 내보내도 유효한 데이터 복원이 된다.
한편, 스큐가 발생하고 왜곡된 입력 패턴 및 샘플링 클록을 도시하고 있는 도 6을 보면, 정상적인 입력 상태인 도5와 비교할 때, 샘플링 클록를 기준으로 전반적으로 오른쪽으로 이동한 스큐가 발생하였음을 알 수 있다. 도 6의 패턴을 보다 상세히 살펴보면, 데이터 Dn-1은 데이터 eye window(즉, 데이터를 정확하게 복원할 수 있는 유효 구간의 패턴)가 넓어진 반면, 데이터 Dn은 eye window가 매우 작아진 패턴임을 알 수 있다. 데이터 Dn-1의 경우에는, 비록 eye window가 왜곡되었지만 넓어졌으므로 복원에 큰 문제가 없다. 왜냐하면, 도시된 바와 같이 오버샘플링 클록 Ln-1, Mn-1, Rn-1이 모두 데이터 Dn-1의 유효 구간내에 있기 때문이다. 하지만 데이터 Dn의 경우에는, eye window가 작아지는 왜곡 현상이 발생하면서 오버샘플링 클록 Rn만이 데이터 Dn의 유효 구간내에 있고, 다른 오버샘플링 클록 Ln, Mn은 모두 데이터 Dn-1의 유효 구간내에 있기 때문에 오버샘플링 기법을 사용하더라도 복원이 매우 어렵다. 정상적인 경우에는 오버샘플링 기법을 이용할 경우, 하나의 데이터를 여러번 샘플링하여 데이터의 복원 능력을 높일 수 있다. 그러나, 위와 같이 왜곡의 정도가 심한 Dn과 같은 데이터를 복원할 경우에는, 오버샘플링 클록 Ln, Mn은 데이터 Dn-1을 샘플링을 하고 있고 Rn만이 데이터 Dn을 샘플링을 하고 있기 때문에, 3개의 샘플링중 2개의 샘플링 데이터인 Dn-1을 정상 Dn에 해당하는 데이터인 것처럼 복원하고 R
n이 샘플링한 Dn을 오히려 잘못된 데이터로 처리하게 되기 쉽다.
본 발명은 위와 같은 경우에도 Rn이 샘플링한 데이터가 정상 데이터임을 알 수 있도록 한다. 본 발명인 데이터 위치 탐색 알고리즘은 이와 같이 왜곡된 데이터에 대해서도 데이터의 유효 구간이 어디에 위치하는지를 정확하게 알아내어 안정적으로 복원할 수 있다.
그러면, 데이터를 정확하게 복원할 수 있는 본 발명인 데이터 위치 탐색 알고리즘의 원리에 대해 보다 구체적으로 설명하도록 한다. 도 6과 같은 데이터의 왜곡인 있는 경우에, 클록 Ln, Mn, Rn 으로 오버샘플링하면 Out(Ln) = Dn-1 이고 Out(Rn) = Dn 으로, Out(Ln)과 Out(Rn)이 서로 같지 않은 결과가 나온다. 이 경우 Out(Ln)과 Out(Rn)중 어느 것이 유효한 값인지 직접적으로는 알 수 없고, 다만 인접 데이터인 Dn-1과 Dn+1의 영향 및 스큐에 의해 Dn 데이터에 왜곡이 생겼다는 것은 알 수 있다. 즉, Dn을 샘플링한 것 만으로는 안정적인 데이터복원을 수행할 수 없고, 정확한 데이터의 복원을 위해서는 인접 데이터와의 관계를 살피는 것이 필요하다. 이를 만족하는 본 발명의 알고리즘은 다음과 같이 수행된다.
먼저, Out(Ln) = Out(Rn)인 경우에 대해 설명한다. 샘플링 클록 Ln에서 샘플링된 값과 샘플링 클록 Rn에서 샘플링된 출력 값이 동일한 경우에도 데이터의 왜곡이 없다고 단정할 수는 없다. 따라서, 이러한 경우에 도 5를 통해 알 수 있듯이, 본 발명의 알고리즘은 클록 Ln과 클록 Mn-1 사이, 또는 클록 Rn과 클록 Mn+1 사이 중 어느 한 곳에서라도 데이터의 천이가 있는 경우에만 데이터의 왜곡이 없다고 본다. 따라서, 데이터의 천이가 있다면 Out(Ln)과 Out(Rn) 중 어느 것을 유효 출력으로 내보내도 무방하다. 그렇지 않고, 클록 Ln과 클록 Mn-1 사이와 클록 Rn 과 클록 Mn+1 사이 중 어디에도 데이터의 천이가 없다면 가장 유효한 데이터는 Out(Mn)이므로 이를 유효 출력으로 선택한다. 예컨대, 도 7(a)에서 Dn-1 = 1, Dn = 0, Dn+1 = 1 이라고 하면, Out(Ln) = Out(Rn)이지만 데이터의 왜곡은 발생한 경우이다. 이 때, 앞서 설명하였듯이, 클록 Ln과 클록 Mn-1 사이와 클록 Rn 과 클록 Mn+1 사이 중 어디에도 데이터의 천이가 없으므로 Out(Mn)를 유효 출력으로 선택한다.
다음으로 Out(Ln) != Out(Rn)인 경우에 대해 설명한다. 이러한 경우에는 데이터의 왜곡이 반드시 존재하는 경우이다. 이 경우 본 발명의 알고리즘은 데이터 천이의 위치를 탐색하여, 클록 Rn과 클록 Mn+1 사이에만 데이터의 천이가 존재한다면 Out(Rn)이 유효한 출력인 것으로 판단한다. 예컨대, 이는 도 7(b)에서 Dn-1 = 1, D
n = 0, Dn+1 = 1 이라고 하면, Out(Ln) != Out(Rn)이고 클록 Rn과 클록 Mn+1 사이에만 데이터의 천이가 존재하므로 Out(Rn)를 유효한 출력으로 선택한다. 반대로 클록 Ln과 클록 Mn-1 사이에만 데이터의 천이가 존재한다면 Out(Ln)이 유효한 출력인 것으로 판단한다. 예컨대, 도 7(d)에서 Dn-1 = 1, Dn = 0, Dn+1 = 1 이라고 하면, Out(Ln) != Out(Rn)이고 클록 Ln과 클록 Mn-1 사이에만 데이터의 천이가 존재하므로 Out(Ln)를 유효한 출력으로 선택한다. 만약, 클록 Rn과 클록 Mn+1 사이에도 데이터의 천이가 없고, 클록 Ln과 클록 Mn-1 사이에도 데이터의 천이가 없으면, 복원을 위한 유효 출력 값은 Out(Mn)를 유효한 출력인 것으로 판단한다. 예컨대, 도 7(c)에서 Dn-1 = 0, D
n
= 0, Dn+1 = 1 이라고 하면, Out(Ln) != Out(Rn)이고 클록 Rn과 클록 Mn+1 사이와 클록 Ln과 클록 Mn-1 사이 중 어디에도 데이터의 천이가 없으므로, Out(Mn)를 유효한 출력으로 선택한다.
이와 같은 본 발명의 알고리즘 적용하면 위에 예시된 경우 이외의 최소 Ln 또는 최대 Rn의 샘플링 범위를 벗어나지 않는 한에서 발생하는 데이터 변형에 대한 모든 데이터 패턴에 대한 정상적인 복원이 이루어지게 된다. 만약, 상기 예시적인 설명에서와 같이 오버샘플링 클록 주파수가 기준 클록 주파수의 3배인 경우에는 약 75% 이내의 변형이 있는 경우는 정확하게 데이터를 복원할 수 있다. 그러나, 실시예에 따라 오버샘플링 클록 주파수를 더욱 높일 수도 있으며, 그럴 경우 더욱 정확하기 데이터를 복원할 수 있다.
이제, 도 1을 참조하여 상기 알고리즘을 구현할 수 있도록 적용된 직렬 데이터 수신기의 구성 및 동작에 대해 설명한다. 도 1에 도시된 바와 같이, 본 발명인 직렬 데이터 수신기(10)는 입력 버퍼(11), 클록 버퍼(14), 클록 생성기(15), 데이터 샘플러(12), 및 위치 검출기(13)로 구성한다. 먼저, 송신단에서 출력된 직렬 데이터 신호 및 기준 클록 신호는 수신기(10)의 입력 버퍼(11) 및 클록 버퍼(14)를 통해 수신되어 저장된다. 상기 클록 버퍼(14)를 통해 기준 클록 신호를 전달받은 클록 생성기(15)는 기준 클록 신호를 기초로 기준 클록 주파수의 N(여기서 N은 양의 정수)배 주파수의 오버샘플링 클록 신호를 생성하여 데이터 샘플러(12)에 입력한다. 이때, 양호하게는 상기 N은 적어도 3이어야 한다. 즉, 오버샘플링 클록 주파수는 기준 클록 주파수의 적어도 3배이어야 한다. 데이터 샘플러(12)는 상기 오버샘플링 클록을 기초롤 상기 수신된 직렬 데이터를 오버샘플링하고, 샘플링된 결과 값을 위치 검출기(13)에 전달한다. 본 발명에 따른 알고리즘은 상기 위치 검출기(13)에서 수행된다. 위치 검출기(13)는 상술한 알고리즘에 따라 오버샘플링된 값들을 비교한다. 예컨대, Out(Ln)과 Out(Rn)이 동일한 값인지 아니면 서로 다른 값인지를 비교한다. 그런 후, 그 결과에 따라 데이터의 천이 위치를 검출하여 가장 유효한 것으로 판단되는 샘플링 값을 출력한다. 이때 실시예에 따라, 본래의 데이터 비트 수에 따라 복수의 데이터 버스에 데이터를 순차적으로 출력함으로써, 상기 위치 검출기(13)에서 출력되는 값은 직렬 데이터가 아닌 병렬 데이터가 되도록 구성할 수도 있다.
한편, 위와 같은 본 발명의 알고리즘을 이용하면, 데이터가 리드(lead)(즉, 데이터가 기준시간 보다 빠르게 도달)인지 아니면 래그(lag)(즉, 데이터가 지연 도달)인지를 판별하는 것도 가능하다. 본 발명의 알고리즘을 이용하여 데이터의 리드/래그를 판단하는데 있어서는, 앞서 설명한 알고리즘 중 Out(Ln) != Out(Rn)인 경우를 주로 이용한다. 이하에서 이에 대해 보다 구체적으로 설명한다.
먼저, Out(Ln) != Out(Rn)이고 클록 Rn과 클록 Mn+1 사이에서만 데이터의 천이가 존재하면 Out(Rn)이 유효한 출력인 것으로 판단되는데, 이때는 데이터 래그의 상태이다. 예를 들어, 데이터 래그 상태인 경우를 도시하는 도 6에서, Dn-1 = 1, Dn = 0, Dn+1 = 1 이라고 하면, (Out(Ln)=1) != (Out(Rn)=0)이고, 클록 Rn
과 클록 Mn+1 사이에서만 데이터의 천이가 존재하여 Out(Rn)을 유효한 출력으로 판단하므로 데이터 래그의 상태임을 알 수 있게 된다.
다음으로, Out(Ln) != Out(Rn)이고 클록 Ln과 클록 Mn-1 사이에서만 데이터의 천이가 존재하면 Out(Ln)이 유효한 출력인 것으로 판단되는데, 이때는 데이터 리드의 상태이다. 예를 들어, 데이터 리드 상태인 경우를 도시하는 도 7(d)에서, Dn-1 = 1, Dn = 0, Dn+1 = 1 이라고 하면, (Out(Ln)=0) != (Out(Rn)=1)이고, 클록 Ln과 클록 Mn-1 사이에서만 데이터의 천이가 존재하여 Out(Ln)을 유효한 출력으로 판단하므로 데이터 리드의 상태임을 알 수 있게 된다.
마지막으로, Out(Ln) != Out(Rn)이고, 클록 Rn과 클록 Mn+1 사이와 클록 Ln과 클록 Mn-1 사이 중 어디에도 데이터의 천이가 없는 경우에 대해 설명한다. 본 발명의 알고리즘에 따르면, 이러한 경우에는 Out(Mn)를 유효한 출력인 것으로 판단한다는 것은 이미 설명하였다. 따라서, 이 경우에 데이터 리드/래그 여부를 판별하기 위해서는 한 가지 과정을 더 필요로 한다. 즉, Out(Mn)과 같은 값이 샘플링된 클록을 찾아 그 클록이 Rn이면 데이터 래그이고, Ln이면 데이터 리드라고 판단한다. 예를 들어, 데이터 래그 상태인 경우를 도시하는 도 7(b)에서, Dn-1 = 0, Dn = 1, Dn+1
= 1 이라고 하면, (Out(Ln)=0) != (Out(Rn)=1)이고, 클록 Ln과 클록 Mn-1
사이에도 데이터 천이가 없고 클록 Rn과 클록 Mn+1 사이에도 데이터 천이가 없으므로 Out(Mn)을 유효한 출력으로 판단하는데, 여기서 Out(Mn) = Out(Rn)므로 데이터 래그의 상태임을 알 수 있게 된다. 또한, 데이터 리드 상태인 경우를 도시하는 도 7(c)에서, Dn-1 = 0, Dn = 1, Dn+1 = 1 이라고 하면, (Out(Ln)=0) != (Out(Rn)=1)이고, 클록 Ln과 클록 Mn-1 사이에도 데이터 천이가 없고 클록 Rn과 클록 Mn+1 사이에도 데이터 천이가 없으므로 Out(Mn)을 유효한 출력으로 판단하는데, 여기서 Out(Mn) = Out(Ln)므로 데이터 리드의 상태임을 알 수 있게 된다.
이러한 데이터 리드/래그 판별 방법 및 판별 회로는 다양하게 적용되어 신호의 동기화를 위한 피드백 신호를 생성하는데 활용될 수 있다. 또한, 본 발명인 직렬 데이터 수신기(10)의 위치 검출기(13)는 유효한 값을 출력함과 동시에 상기 데이터 리드/래그 신호를 함께 출력하도록 구성될 수도 있다.
지금까지 본 발명의 특징에 대해 상세히 설명하였다. 상술한 바와 같이 본 발명에 따르면, 오버샘플링 클록 Ln 또는 Rn의 샘플링 범위를 벗어나지 않는 한도 내에서 발생하는 데이터 변형에 대한 모든 데이터 패턴에 대해 정확한 데이터의 복원을 실현할 수 있다. 이러한 본 발명의 알고리즘은 모든 직렬-링크 수신기 회로에 매우 간단하게 적용할 수 있다. 따라서, 본 발명에 의할 경우, 보다 정확한 고성능의 직렬-링크 수신기를 보다 저렴하게 제공할 수 있는 장점이 있다. 또한, 본 발명의 상기 알고리즘을 응용하면, 데이터의 리드/래그 상태 여부를 비교적 간단하게 판별하는 것이 가능하다.
도 1은 본 발명에 따른 복원 알고리즘이 적용된 수신기의 구성을 도시하는 블록도이다.
도 2는 본 발명에 따른 복원 알고리즘을 위한 데이터 패턴 및 오버샘플링 클록을 도시한다.
도 3은 기존의 수신기의 구성을 도시하는 블록도이다.
도 4는 기존의 복원 알고리즘을 위한 데이터 패턴 및 샘플링 클록을 도시한다.
도 5는 정상적인 입력 데이터 패턴 및 샘플링 클록을 도시한다.
도 6 내지 도 7은 스큐가 발생하고 왜곡된 입력 패턴 및 샘플링 클록을 도시한다.
※ 도면의 주요 부분에 대한 부호의 설명 ※
10.....본 발명에 따른 수신기 11,31..입력 버퍼(Input buffer)
12,33..데이터 샘플러 13.....위치 검출기
14.....클록 버퍼(Clock buffer) 15,37..클록 생성기
30.....종래의 수신기 32.....입력 지연 셀
34.....에지 비교기 36.....클록 지연 셀
Claims (8)
- 송신단으로부터 직렬 데이터 스트림 및 기준 클록 신호를 수신하는 단계;상기 수신된 기준 클록 신호를 기초로 복수의 오버 클록 신호를 생성하는 단계;상기 복수의 오버 클록 신호를 기초로 상기 수신된 직렬 데이터를 오버샘플링하는 단계; 및상기 오버 클록 신호중 중앙 오버 클록을 중심으로 좌우 오버 클록에 해당하는 샘플링된 값을 비교하고, 이전 중앙 오버 클록과 상기 좌측 오버 클록 사이 및 이후 중앙 오버 클록과 상기 우측 오버 클록 사이의 데이터 천이 유무를 고려하여 가장 유효한 값을 상기 기준 클록 신호에 해당하는 데이터 값으로 출력하는 단계를 포함하는 것을 특징으로 하는 데이터의 위치 정보 탐색을 통한 데이터 복원 방법.
- 제 1 항에 있어서,상기 오버 클록 신호의 주파수는 상기 기준 클록 신호 주파수의 적어도 3배인 것을 특징으로 하는 데이터 위치 정보 탐색을 통한 데이터 복원 방법.
- 제 1 항 또는 제 2 항에 있어서,가장 유효한 값을 상기 기준 클록 신호에 해당하는 데이터 값으로 출력하는 상기 단계는:현재 중앙 오버 클록 좌우의 오버 클록에서 출력된 값이 서로 같은 경우, 상기 좌측 오버 클록과 이전 중앙 오버 클록 사이와 상기 우측 오버 클록과 이후 중앙 오버 클록 사이 중 어느 한 곳에서 데이터 비트의 천이가 있다면 상기 좌우 오버 클록의 출력 값을 유효 데이터 값으로 출력하고, 어느 곳에서도 데이터 비트의 천이가 없다면 현재 중앙 오버 클록의 출력 값을 유효 데이터 값으로 출력하며,현재 중앙 오버 클록 좌우의 오버 클록에서 출력된 값이 서로 다른 경우, 상기 좌측 오버 클록과 이전 중앙 오버 클록 사이에서만 데이터 비트의 천이가 있다면 상기 좌측 오버 클록의 출력 값을 유효 데이터 값으로 출력하고, 상기 우측 오버 클록과 이후 중앙 오버 클록 사이에서만 데이터 비트의 천이가 있다면 상기 우측 오버 클록의 출력 값을 유효 데이터 값으로 출력하며, 어느 곳에서도 데이터 비트의 천이가 없다면 현재 중앙 오버 클록의 출력 값을 유효 데이터 값으로 출력하는 것을 특징으로 하는 데이터 위치 정보 탐색을 통한 데이터 복원 방법.
- 송신단에서 출력된 직렬 데이터 신호를 수신하여 저장하는 입력 버퍼;송신단에서 출력된 기준 클록 신호를 수신하여 저장하는 클록 버퍼;상기 기준 클록 신호를 기초로 복수의 오버 클록 신호를 생성하는 클록 생성기;상기 복수의 오버 클록 신호를 기초로 상기 수신된 직렬 데이터를 오버샘플링하는 데이터 샘플러; 및상기 오버 클록 신호중 중앙 오버 클록을 중심으로 좌우 오버 클록에 해당하는 샘플링된 값을 비교하고, 이전 중앙 오버 클록과 상기 좌측 오버 클록 사이 및 이후 중앙 오버 클록과 상기 우측 오버 클록 사이의 데이터 천이 유무를 고려하여 가장 유효한 값을 상기 기준 클록 신호에 해당하는 데이터 값으로 출력하는 위치 검출기를 포함하는 것을 특징으로 하는 직렬 데이터 수신기.
- 제 4 항에 있어서,상기 오버 클록 신호의 주파수는 상기 기준 클록 신호 주파수의 적어도 3배인 것을 특징으로 하는 직렬 데이터 수신기.
- 제 4 항 또는 제 5 항에 있어서,상기 위치 검출기는,현재 중앙 오버 클록 좌우의 오버 클록에서 출력된 값이 서로 같은 경우, 상기 좌측 오버 클록과 이전 중앙 오버 클록 사이와 상기 우측 오버 클록과 이후 중앙 오버 클록 사이 중 어느 한 곳에서 데이터 비트의 천이가 있다면 상기 좌우 오버 클록의 출력 값을 유효 데이터 값으로 출력하고, 어느 곳에서도 데이터 비트의 천이가 없다면 현재 중앙 오버 클록의 출력 값을 유효 데이터 값으로 출력하며,현재 중앙 오버 클록 좌우의 오버 클록에서 출력된 값이 서로 다른 경우, 상기 좌측 오버 클록과 이전 중앙 오버 클록 사이에서만 데이터 비트의 천이가 있다면 상기 좌측 오버 클록의 출력 값을 유효 데이터 값으로 출력하고, 상기 우측 오버 클록과 이후 중앙 오버 클록 사이에서만 데이터 비트의 천이가 있다면 상기 우측 오버 클록의 출력 값을 유효 데이터 값으로 출력하며, 어느 곳에서도 데이터 비트의 천이가 없다면 현재 중앙 오버 클록의 출력 값을 유효 데이터 값으로 출력하는 것을 특징으로 하는 직렬 데이터 수신기.
- 제 4 항 또는 제 5 항에 있어서,상기 직렬 데이터 수신기는, 상기 복수의 오버 클록 신호 각각에 의해 샘플링된 값들을 비교하고 데이터 비트의 천이 위치를 고려하여 데이터의 리드/래그 여부를 판별하는 하는 데이터 리드/래그 판별 회로를 더 포함하는 것을 특징으로 하는 직렬 데이터 수신기.
- 제 7 항에 있어서,상기 데이터 리드/래그 판별 회로는,현재 중앙 오버 클록 좌우의 오버 클록에서 출력된 값이 서로 다른 경우, 상기 좌측 오버 클록과 이전 중앙 오버 클록 사이에서만 데이터 비트의 천이가 있다면 데이터 리드 신호를 출력하고, 상기 우측 오버 클록과 이후 중앙 오버 클록 사이에서만 데이터 비트의 천이가 있다면 데이터 래그 신호를 출력하며, 어느 곳에서도 데이터 비트의 천이가 없을 경우에는, 상기 현재 중앙 오버 클록의 출력 값과 동일한 값이 샘플링된 클록이 상기 좌측 오버 클록이면 데이터 리드 신호를 출력하고, 상기 우측 오버 클록이면 데이터 래그 신호를 출력하는 것을 특징으로 하는 직렬 데이터 수신기.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0060227A KR100513275B1 (ko) | 2003-08-29 | 2003-08-29 | 데이터의 위치 정보 탐색을 통한 데이터 복원 방법 및상기 알고리즘을 적용한 직렬 데이터 수신기 |
US10/884,358 US7428283B2 (en) | 2003-08-29 | 2004-07-02 | Data recovery algorithm using data position detection and serial data receiver adopting the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0060227A KR100513275B1 (ko) | 2003-08-29 | 2003-08-29 | 데이터의 위치 정보 탐색을 통한 데이터 복원 방법 및상기 알고리즘을 적용한 직렬 데이터 수신기 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030075140A KR20030075140A (ko) | 2003-09-22 |
KR100513275B1 true KR100513275B1 (ko) | 2005-09-09 |
Family
ID=32227758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-0060227A KR100513275B1 (ko) | 2003-08-29 | 2003-08-29 | 데이터의 위치 정보 탐색을 통한 데이터 복원 방법 및상기 알고리즘을 적용한 직렬 데이터 수신기 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7428283B2 (ko) |
KR (1) | KR100513275B1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100775903B1 (ko) * | 2005-10-19 | 2007-11-13 | 이디텍 주식회사 | 직렬데이터 링크를 위한 데이터 복원장치 |
US7676011B2 (en) * | 2006-04-25 | 2010-03-09 | United Microelectronics Corp. | Data recovery apparatus and method for reproducing recovery data |
US7995217B2 (en) * | 2007-12-31 | 2011-08-09 | Stmicroelectronics, Inc. | High-resolution encoder array |
KR100992004B1 (ko) * | 2008-12-12 | 2010-11-04 | 주식회사 하이닉스반도체 | 반도체 메모리 장치의 도메인 크로싱 회로 |
KR101338542B1 (ko) * | 2012-06-26 | 2014-01-03 | 세종대학교산학협력단 | 비동기 데이터 독출 장치 및 방법 |
CN103346770B (zh) * | 2013-07-18 | 2016-08-17 | 灿芯半导体(上海)有限公司 | 高速串行数据恢复的时序缓冲电路及方法 |
US9721627B2 (en) * | 2013-10-04 | 2017-08-01 | Cavium, Inc. | Method and apparatus for aligning signals |
CN109101453B (zh) * | 2018-06-29 | 2021-06-08 | 北京广利核***工程有限公司 | 异步串行通信采样***和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4811325A (en) * | 1987-10-15 | 1989-03-07 | Personics Corporation | High-speed reproduction facility for audio programs |
US7167533B2 (en) * | 2001-06-30 | 2007-01-23 | Intel Corporation | Apparatus and method for communication link receiver having adaptive clock phase shifting |
US20030061564A1 (en) * | 2001-09-27 | 2003-03-27 | Maddux John T. | Serial data extraction using two cycles of edge information |
WO2004034631A1 (en) * | 2002-10-10 | 2004-04-22 | Infineon Technologies Ag | Clock signal extraction device and method for extracting a clock signal from a data signal |
-
2003
- 2003-08-29 KR KR10-2003-0060227A patent/KR100513275B1/ko not_active IP Right Cessation
-
2004
- 2004-07-02 US US10/884,358 patent/US7428283B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7428283B2 (en) | 2008-09-23 |
KR20030075140A (ko) | 2003-09-22 |
US20050047539A1 (en) | 2005-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0688447B1 (en) | De-skewer for serial data bus | |
US5313501A (en) | Method and apparatus for deskewing digital data | |
US5412698A (en) | Adaptive data separator | |
US6937681B2 (en) | Skew correction apparatus | |
US6331999B1 (en) | Serial data transceiver architecture and test method for measuring the amount of jitter within a serial data stream | |
CN109450610B (zh) | 一种通道相位对齐电路及方法 | |
US8045667B2 (en) | Deserializer and data recovery method | |
US11343067B2 (en) | Sampling point identification for low frequency asynchronous data capture | |
US6704882B2 (en) | Data bit-to-clock alignment circuit with first bit capture capability | |
US6522269B2 (en) | System and method for a self-delineating serial link for very high-speed data communication interfaces | |
US6907096B1 (en) | Data recovery method and apparatus | |
KR100513275B1 (ko) | 데이터의 위치 정보 탐색을 통한 데이터 복원 방법 및상기 알고리즘을 적용한 직렬 데이터 수신기 | |
US6795515B1 (en) | Method and apparatus for locating sampling points in a synchronous data stream | |
US10855497B2 (en) | Semiconductor device including a high-speed receiver being capable of adjusting timing skew for multi-level signal and testing equipment including the receiver | |
US6556152B2 (en) | Deserializer | |
US5748123A (en) | Decoding apparatus for Manchester code | |
US11481217B2 (en) | Data transmitting and receiving system including clock and data recovery device and operating method of the data transmitting and receiving system | |
US8711018B2 (en) | Providing a feedback loop in a low latency serial interconnect architecture | |
CN115037400A (zh) | 一种Serdes动态阈值码流同步检测方法及*** | |
US7660364B2 (en) | Method of transmitting serial bit-stream and electronic transmitter for transmitting a serial bit-stream | |
US6181757B1 (en) | Retiming method and means | |
US6889272B1 (en) | Parallel data bus with bit position encoded on the clock wire | |
JP3868776B2 (ja) | 双方向データ送受信方法及びシステム | |
KR20050011760A (ko) | 지터 성분에 둔감한 고속 직렬 링크용 데이터 복원장치 및그 복원방법 | |
US7006585B2 (en) | Recovering data encoded in serial communication channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120831 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20130930 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150130 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160201 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |