KR100985874B1 - 싱글 비트 블라인드 오버샘플링 데이터 복원회로 및복원방법 - Google Patents

싱글 비트 블라인드 오버샘플링 데이터 복원회로 및복원방법 Download PDF

Info

Publication number
KR100985874B1
KR100985874B1 KR1020080066072A KR20080066072A KR100985874B1 KR 100985874 B1 KR100985874 B1 KR 100985874B1 KR 1020080066072 A KR1020080066072 A KR 1020080066072A KR 20080066072 A KR20080066072 A KR 20080066072A KR 100985874 B1 KR100985874 B1 KR 100985874B1
Authority
KR
South Korea
Prior art keywords
data
bit
signal
token
add
Prior art date
Application number
KR1020080066072A
Other languages
English (en)
Other versions
KR20100005948A (ko
Inventor
전성환
박상훈
박홍준
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020080066072A priority Critical patent/KR100985874B1/ko
Publication of KR20100005948A publication Critical patent/KR20100005948A/ko
Application granted granted Critical
Publication of KR100985874B1 publication Critical patent/KR100985874B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 소비되는 하드웨어 면적이 감소되고 1비트의 록 타임을 가지는 싱글 비트 블라인드 오버샘플링 데이터 복원회로 및 복원방법을 개시한다. 상기 복원회로는 K배 오버샘플러, 코어스 데이터 복원장치 및 데이터 추가/제거 기능이 있는 저장장치를 구비한다. 상기 K배 오버샘플러는 입력데이터의 전송 주파수와 동일하거나 근사한 주파수를 가지며 서로 일정한 위상차이가 있는 K(K는 정수)개의 다중위상 샘플링클럭신호로, 상기 입력데이터의 각각의 비트에 대하여 K배 오버 샘플링 한다. 상기 코어스 데이터 복원장치는 상기 K개의 다중 위상 샘플링클럭신호 중 최적의 샘플링클럭신호를 선택하고, 상기 선택된 샘플링클럭신호로 샘플링 한 샘플링 된 비트데이터를 출력하며, 상기 K배 오버 샘플러에서 샘플링의 대상이 되는 직렬 입력데이터 중 데이터가 소실되거나 중복되는 경우를 판단하고 이를 보상할 것을 지시하는 비트보상신호를 생성한다. 상기 데이터 추가/제거 기능이 있는 저장장치는 상기 샘플링 된 비트데이터 및 상기 비트보상신호에 응답하여 복원이 누락될 데이터를 복원하고 중복되는 데이터는 삭제하여 비트복원데이터를 출력한다.
블라인드 오버샘플링, 데이터 복원회로, 데이터 복원방법,

Description

싱글 비트 블라인드 오버샘플링 데이터 복원회로 및 복원방법{Single bit blind over sampling data recovery circuit and the recovery method used by the circuit}
본 발명은 블라인드 오버샘플링 데이터 복원회로 및 복원방법에 관한 것으로, 특히 싱글 비트 블라인드 오버샘플링 데이터 복원회로 및 복원방법에 관한 것이다.
직렬 데이터(serial data) 전송방식에서는, 송수신용으로 사용되는 전송라인의 수를 줄이기 위해, 할당된 전송라인으로는 데이터만 전송하고 클럭신호는 별도로 전송하지 않는다. 따라서 수신된 데이터를 복원하기 위해서는, 수신단에 별도로 데이터 복원회로를 구비시켜야 한다. 수신된 데이터를 복원하는 방식은 여러 가지가 있으며, 그 가운데 블라인드 오버샘플링(blind over sampling) 데이터 복원회로는 완전 디지털 방식으로 여러 종류의 공정(process)으로 생산이 가능하고 출력 클럭의 지터(jitter) 특성이 공급전압에 포함된 잡음(Noise)에 둔감하며 정확한 데이터를 추출하기까지 걸리는 록 타임(lock time)도 비교적 짧다는 장점을 가지고 있다.
그런데, 오버샘플링 데이터 복원회로는 큰 용량의 FIFO(First In First Out) 방식의 메모리와 비교적 복잡하고 레이아웃(layout)으로 소비하는 면적이 큰 논리회로(logic circuit)를 필요로 하게 되는데, 이는 수신된 데이터를 복원하는데 사용되는 샘플링클럭신호의 위상 즉 데이터 샘플링 위상(data sampling phase)을 찾기 위해 많은 양의 데이터를 저장해야 하고, 데이터를 바이트(byte) 단위로 병렬처리하기 때문이다.
도 1은 종래의 블라인드 오버샘플링 데이터 복원회로의 블록다이어그램이다.
도 1을 참조하면, 블라인드 오버샘플링 데이터 복원회로(100)는, 3배 오버샘플러(110), 제1메모리(120), 클럭신호선택기(130), 동기화기(140) 및 제2메모리(150)를 구비한다.
3배 오버샘플러(110, 3X over sampler)는 직렬 입력데이터(Is, serial input data)의 전송주파수(fs)의
Figure 112008049180318-pat00001
배의 주파수(
Figure 112008049180318-pat00002
)를 가지며, 서로 일정한 위상 차이를 가지는 24개의 다중 위상 샘플링클럭신호들(24 multi-phase
Figure 112008049180318-pat00003
)을 이용하여, 직렬 입력데이터(Is)를 3배(3X) 오버샘플링 한다. 이때 직렬입력데이터(Is)는 바이트(byte) 단위로 오버샘플링 된다. 오버샘플러(110)로부터 출력되는 오버샘플링 된 데이터는, 블라인드 오버샘플링 데이터 복원회로(100)가 구현된 수신단에서 사용되는 동작클럭신호(미도시, operating clock signal)에 동기(synchronize)되어 제1메모리(120)와 클럭신호선택기(130)에 전달된다.
클럭신호선택기(130)는 에지검출기(131, edge detector) 및 보우터(Voter)를 구비하며, 샘플러(110)로부터 출력되는 샘플링 된 데이터를 이용하여, 24개의 다중 위상 샘플링클럭신호들 중 직렬입력데이터(Is)를 정확하게 샘플링 할 수 있는 최적의 샘플링클럭신호를 선택한다. 에지검출기(131)는 직렬로 인가되는 24개의 샘플링 된 데이터 중 인접한 2개의 샘플링 된 데이터의 2비트씩을 XOR(Exclusive-OR) 논리연산 처리함으로써 직렬입력데이터(Is)의 천이(transition) 위치를 찾는다. 보우터(Voter)는 각각의 다중 위상 샘플링클럭신호들 사이의 천이위치를 누적시키고 누적된 천이위치 정보를 이용하여, 예를 들면, 다수결(majority voting) 방식으로 최적의 샘플링클럭신호를 선택하며, 최적의 샘플링클럭신호에 의해 샘플링 된 데이터를 선택할 것을 지시하는 클럭선택신호(SEL)를 출력한다.
제1메모리(120)는 위상검출기(130)가 최적의 샘플링클럭신호를 선택할 때 까지 샘플러(110)로부터 출력되는 24개의 오버 샘플링 된 데이터를 저장한다. 동기화기(140, synchronizer)는 클럭선택신호(SEL)에 응답하여 제1메모리(120)로부터 출력되는 24개의 샘플링 된 데이터 중 선택된 최적의 샘플링클럭신호에 의해 샘플링 된 데이터를 선택하여 출력한다. 제2메모리(150)는 동기화기(140)에서 출력되는 데이터를 저장하고, 저장된 데이터를 8비트 단위로 출력한다. 제2메모리(150)로부터는 직렬 입력데이터(serial input data)의 전송주파수(fs)의
Figure 112008049180318-pat00004
주파수(
Figure 112008049180318-pat00005
)의 주기로 8비트의 데이터를 출력한다.
여기서 제1메모리(120) 및 제2메모리(150)는 FIFO 방식의 메모리이다.
이 때 송신단과 수신단에서 사용하는 클럭신호의 주파수 차이에 의해서 복원 데이터 에러(data error)가 발생할 수 있는데, 이 에러는 동기화기(140)에서 선택된 최적의 위상 클럭신호에 의해 샘플링 된 데이터 7비트, 8비트 및 9비트 중 하나를 출력하도록 하고, 제2메모리(150)는 이들을 저장한 후, 8비트 단위로 출력하도록 함으로써 에러가 보상되도록 한다.
도 1에 도시된 종래의 블라인드 오버샘플링 데이터 복원회로(100)를 이용하여 입력데이터를 복원을 하기 시작한 직후에는, 입력데이터의 천이 정보가 작아서 샘플링클럭신호의 위상이 부정확하게 선택될 수 있다. 따라서 정확한 샘플링클럭신호의 위상과 복원 데이터를 찾기까지는 수 비트의 록 타임(lock time)이 필요하다. 뿐만 아니라, 입력데이터를 복원하는 병렬 구조로 인해 하드웨어가 크게 되는 단점이 있다.
본 발명이 해결하고자 하는 기술적 과제는, 소비되는 하드웨어 면적이 감소되고 1비트의 록 타임을 가지는 싱글 비트 블라인드 오버샘플링 데이터 복원회로를 제공하는데 있다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 싱글 비트 블라인드 오버샘플링 하여 입력데이터를 복원할 때 누락되거나 중복되는 데이터를 보정하는 싱글 비트 블라인드 오버샘플링 데이터 복원방법을 제공하는데 있다.
상기 기술적 과제를 이루기 위한 본 발명에 따른 싱글 비트 블라인드 오버샘플링 데이터 복원회로는, K배 오버샘플러, 코어스 데이터 복원장치 및 데이터 추가/제거 기능이 있는 저장장치를 구비한다. 상기 K배 오버샘플러는 입력데이터의 전송 주파수와 동일하거나 근사한 주파수를 가지며 서로 일정한 위상차이가 있는 K(K는 정수)개의 다중위상 샘플링클럭신호로, 상기 입력데이터의 각각의 비트에 대하여 K배 오버 샘플링 한다. 상기 코어스 데이터 복원장치는 상기 K개의 다중 위상 샘플링클럭신호 중 최적의 샘플링클럭신호를 선택하고, 상기 선택된 샘플링클럭신호로 샘플링 한 샘플링 된 비트데이터를 출력하며, 상기 K배 오버 샘플러에서 샘플링의 대상이 되는 직렬 입력데이터 중 데이터가 소실되거나 중복되는 경우를 판단하고 이를 보상할 것을 지시하는 비트보상신호를 생성한다. 상기 데이터 추가/제거 기능이 있는 저장장치는 상기 샘플링 된 비트데이터 및 상기 비트보상신호에 응답하여 복원이 누락될 데이터를 복원하고 중복되는 데이터는 삭제하여 비트복원데이터를 출력한다.
상기 다른 기술적 과제를 이루기 위한 본 발명에 따른 싱글 비트 블라인드 오버샘플링 데이터 복원방법은, 수신되는 입력데이터를 각각의 비트 단위로 오버 샘플링 하여 이를 복원하는 싱글 비트 5배 블라인드 오버샘플링 데이터 복원방법이며, 상기 입력데이터가 전송되는 주파수에 K배되며 서로 위상차이가 있는 K개의 다중위상 샘플링클럭신호를 이용하여 상기 입력데이터 각각의 비트를 오버샘플링 하는 오버샘플링단계; 상기 K배 다중위상 샘플링클럭신호 및 상기 오버샘플링단계에서 생성된 오버샘플링 된 데이터를 이용하여, 샘플링윈도우를 정의하고 하나의 샘 플링윈도우 내에서 상기 입력데이터가 누락되거나 중복되는 경우가 있는가를 판단하는 복원데이터 누락/중복 확인단계; 입력데이터가 누락되거나 중복되는 경우에는 이를 보상하는 복원데이터 누락/중복보상단계를 구비한다.
본 발명은 싱글 비트를 오버 샘플링 하여 사용하여 데이터 복원을 하기 때문에, 이에 필요한 하드웨어가 최소한으로 되고 또한 복원 과정에서 발생할 수 있는 입력데이터의 누락이나 중복을 보정할 수 있다는 장점이 있다.
이하에서는 본 발명의 구체적인 실시 예를 도면을 참조하여 상세히 설명하도록 한다.
도 2는 본 발명에 따른 싱글 비트 블라인드 오버샘플링 데이터 복원회로의 블록다이어그램이다.
도 2를 참조하면, 싱글 비트 블라인드 오버샘플링 데이터 복원회로(200)는 5배 오버샘플러(210, 5X over sampler), 코어스 데이터 복원장치(220) 및 데이터 추가/제거 기능이 있는 저장장치(230)를 구비한다.
5배 오버샘플러(210, 5X over sampler)는 입력데이터(Is)의 전송 주파수(fs)와 동일하거나 입력데이터(Is)의 전송 주파수(fs)에 근사한 주파수를 가지며 서로 일정한 위상차이가 있는 5개의 다중 위상 샘플링클럭신호(5 multi phase fs)로, 입력데이터(Is)의 각각의 비트(bit)에 대하여 5배의 오버 샘플링 한다. 따라서 직렬 입력데이터(Is)의 각각의 단위 비트를 일정한 위상차를 두고 5회 샘플링 한 5개의 샘플링 데이터가 출력된다. 이 부분이 바이트 단위로 샘플링 하는 종래의 복원회로와 다른 점이다.
코어스 데이터 복원장치(220)는 5개의 다중 위상 샘플링클럭신호 중 최적의 샘플링클럭신호를 선택하고, 수신된 5개의 샘플링 데이터 중 최적의 샘플링클럭신호에 의해 샘플링 된 비트데이터(CRD)를 출력하며, 5배 오버샘플러(210)에서 샘플링 하던 입력데이터(Is)) 중 데이터가 누락되거나 중복되는 경우를 판단하고, 이를 보상할 것을 지시하는 비트보상신호(Add/Drop)를 생성한다. 구성요소에 대한 명칭인 코어스(coarse)가 의미하듯이, 코어스 데이터 복원장치(220)에서는 일차적으로 최적의 샘플링클럭신호를 선택하지만 샘플링 되는 과정에 있어서 발생될 수 있는 데이터의 누락 및 중복에 대한 것은 후속되는 데이터 추가/제거 기능이 있는 저장장치(230)의 도움을 받아 보상한다.
데이터 추가/제거 기능이 있는 저장장치(230)는 샘플링 된 비트데이터(CRD) 및 비트보상신호(Add/Drop)에 응답하여 비트복원데이터(RD)를 출력한다. 데이터 추가/제거 기능이 있는 저장장치(230)는 기본적으로 FIFO 방식으로 동작하지만, 1비트보상신호(Add/Drop)에 응답하여 데이터 큐(queue)에 1비트 데이터를 추가하거나 데이터 큐에 있는 1비트 데이터를 제거할 수 있는 기능을 더 수행할 수 있다는 점에서 도 1에 도시된 일반적인 메모리들(120, 150)과 다르다. 도 2에는 1비트보상신호(Add/Drop)가 2비트로 구현되는 것으로 도시되어 있지만, 실제의 설계에서는 1비트로 구현할 수도 있으며, 이 경우에는 비트보상신호(Add/Drop)의 사용여부를 결정 하는 제어신호(미도시)를 사용하는 것이 바람직하다.
도 3은 코어스 데이터 복원장치(220)의 내부 블록다이어그램이다.
도 3을 참조하면, 코어스 데이터 복원장치(220)는, 지연기(310), 천이검출기(320), 위상선택 & 에러검출블록(330) 및 멀티플렉서(340)를 구비한다.
지연기(310)는 수신된 5비트(D[4:0])의 샘플링 된 비트데이터(CRD)를 일정시간 지연(delay)시킨다.
천이검출기(320)는 현재 수신된 5비트(D[4:0])의 샘플링 된 비트데이터(CRD)와 이전 단계에서 샘플링 된 비트데이터(D'[0])를 이용하여 5개의 구간 가운데 입력데이터가 천이하는 구간을 검출한다.
위상선택 & 에러검출블록(330)은 위상선택기(331) 및 에러검출기(332)를 구비한다. 위상선택기(331)는 천이검출기(320)로부터 검출한 데이터의 천이 구간 정보를 이용하여 최적의 샘플링클럭신호를 선택하고, 선택된 샘플링클럭신호에 의해 샘플링 된 비트데이터를 선택할 것을 지시하는 클럭선택신호(SEL)를 출력한다. 만일 천이 구간이 검출되지 않았을 경우 클럭선택신호(SEL)는 이전에 선택된 샘플링클럭신호와 동일한 샘플링클럭신호를 그대로 사용할 것을 지시하게 된다. 에러검출기(332)는 직렬입력데이터(Is)를 송신할 때 송신단(미도시)에서 사용하는 클럭신호의 주파수와 본 발명에 따른 싱글 비트 블라인드 오버샘플링 데이터 복원회로(200)를 구비하는 수신단에서 사용하는 클럭신호의 주파수의 차이에 따라 발생할 수 있는 데이터의 소실 및 중복을 검출하고 이를 보상할 것을 지시하는 비트보상신호(Add/Drop)를 출력한다.
멀티플렉서(340)는 클럭선택신호(SEL)에 응답하여 지연기(310)로부터 출력되는 5비트(D[4:0])의 샘플링 된 비트데이터(CRD) 중 하나를 샘플링 된 비트데이터(CRD)로 선택하여 출력한다.
도 4는 코어스 데이터 복원장치(220)에서 다중 위상 샘플링클럭신호를 선택하는 방법 및 선택된 데이터를 나타낸다.
도 4를 참조하면, 코어스 데이터 복원장치(220)에서는 일정한 위상 차이를 가지는 5개의 다중위상 샘플링클럭신호들(P[4]~P[0])의 천이 지점에서 입력데이터(Is)에 대해 각각 샘플링 하여 모두 5개의 샘플링 된 비트데이터들(D[4]~D[0])을 생성시킨다. 이 때 5개의 다중위상 샘플링클럭신호들(P[4]~P[0])을 이용하여 입력데이터(Is)를 5회 샘플링 하는 샘플링윈도우(Sampling Window, SW)에서는, 제1샘플링클럭신호(P[4]), 제2샘플링클럭신호(P[3]), 제3샘플링클럭신호(P[2]), 제4샘플링클럭신호(P[1]) 및 제5샘플링클럭신호(P[0])의 순서로 천이한다고 가정한다. 하나의 샘플링윈도우(SW)의 시작 지점은 앞선 샘플링윈도우(SW)의 마지막 지점과 겹친다.
하나의 샘플링윈도우(SW)를 5개의 구간으로 구별할 수 있는데, 샘플링윈도우(SW)의 시작 지점과 제1샘플링클럭신호(P[4])가 천이하는 지점 사이를 제1구간이라고 정한다. 제1샘플링클럭신호(P[4])가 천이하는 지점과 제2샘플링클럭신호(P[3])가 천이하는 지점 사이를 제2구간이라고 한다. 제2샘플링클럭신호(P[3])가 천이하는 지점과 제3샘플링클럭신호(P[2])가 천이하는 지점 사이를 제3구간, 제3샘플링클럭신호(P[2])가 천이하는 지점과 제4샘플링클럭신호(P[1])가 천이하는 지점 사이를 제4구간으로 정하고, 마지막으로 제4샘플링클럭신호(P[1])가 천이하는 지점과 제5샘플링클럭신호(P[0])가 천이하는 지점 사이를 제5구간이라고 정한다.
천이 검출기(320)에서 검출된 입력데이터가 상술한 제1구간 내지 제5구간 중 어느 구간에서 천이하는 가에 따라 모두 5가지의 경우가 가능하다. 즉 제1구간에서 천이하는 제1케이스(case1), 제2구간에서 천이하는 제2케이스(case2), 제3구간에서 천이하는 제3케이스(case3), 제4구간에서 천이하는 제4케이스(case4) 그리고 제5구간에서 천이하는 제5케이스(case5)가 그것이다.
샘플링클럭신호를 선택하는 여러 가지 방식 중 센터 피킹(center picking) 방식을 일예로서 설명한다.
제1케이스(case1)는 제5샘플링클럭신호(P[0])가 천이하는 지점과 제1샘플링클럭신호(P[4])가 천이하는 지점 사이에서 입력데이터가 천이하는 것인데, 이 때 입력데이터의 센터 포인트(center point) 즉 데이터 아이(data eye)가 최대가 되는 지점은 제3샘플링클럭신호(P[2])가 천이하는 부근이 될 것이다. 따라서 위상선택기(331)로부터 출력되는 클럭선택신호(SEL)는 제3샘플링클럭신호(P[2])를 선택하는 정보를 포함하게 되며, 이에 따라 멀티플렉서(340)는 제3샘플링클럭신호(P[2])에 의해 오버 샘플링 된 데이터(D[2])를 선택하게 된다. 상술한 바와 같이 데이터 아이(data eye)가 최대가 되는 지점을 가정하고 이 부근에서 샘플링을 수행하는 것을 센터 피킹 방식이라 한다.
상기의 센터 피킹 방식을 나머지 구간들에 논리적으로 확장시킨다면, 입력데이터가 천이하는 순간이 제2구간에 포함되는 제2케이스(case)는 클럭선택신호(SEL) 는 제4샘플링클럭신호(P[1])를 선택하는 정보를 포함하게 되며, 이에 따라 멀티플렉서(340)는 제4샘플링클럭신호(P[1])에 의해 오버 샘플링 된 데이터(D[1])를 선택하게 된다. 제3케이스(case3)는 클럭선택신호(SEL)는 제5샘플링클럭신호(P[0])를 선택하는 정보를 포함하게 되며, 이에 따라 멀티플렉서(340)는 제5샘플링클럭신호(P[0])에 의해 오버 샘플링 된 데이터(D[0])를 선택하게 된다. 제4케이스(case4)는 클럭선택신호(SEL)는 제1샘플링클럭신호(P[4])를 선택하는 정보를 포함하게 되며, 이에 따라 멀티플렉서(340)는 제1샘플링클럭신호(P[4])에 의해 오버 샘플링 된 데이터(D[4])를 선택하게 된다. 제5케이스(case5)는 클럭선택신호(SEL)는 제2샘플링클럭신호(P[3])를 선택하는 정보를 포함하게 되며, 이에 따라 멀티플렉서(340)는 제2샘플링클럭신호(P[3])에 의해 오버 샘플링 된 데이터(D[3])를 선택하게 된다.
한 개의 샘플링윈도우(SW) 안에서 입력데이터의 천이를 찾고, 해당 샘플링윈도우(SW) 안에 포함된 다중위상 샘플링클럭신호들과 오버샘플링 데이터 가운데 최적의 샘플링클럭신호를 선택하고, 선택된 샘플링클럭신호로 오버샘플링 한 샘플링 된 비트데이터를 이용하여 데이터를 복원한다. 상술한 같이 한 개의 샘플링윈도우 안에 포함된 정보만을 이용하여 입력데이터를 복원하기 때문에, 종래의 방식에서 필수적으로 사용되었던 제1메모리(FIFO1) 및 보우터(voter)를 구현하는 로직회로 등의 하드웨어를 사용하지 않고 복원회로를 구현할 수 있다.
입력데이터의 천이가 하나의 샘플링윈도우 내에서 제1케이스(Case1), 제2케이스(Case2) 그리고 제3케이스(Case3) 중의 한 케이스에 속한다면 각각 현재의 샘플링윈도우 내에서 제1구간 내지 제3구간 다음에 천이하는 3개의 샘플링클럭신 호(P[2], P[1], P[0])에 의해 샘플링 된 샘플링 된 데이터(D[2], D[1], D[0])를 이용하여 데이터를 복원한다.
마찬가지로, 입력데이터의 천이가 하나의 샘플링윈도우 내에서 제4케이스(Case4) 및 제5케이스(Case5) 중의 한 경우에 속한하면 각각 같은 샘플링 윈도우내에서 제4구간 및 제5구간 보다 앞선 구간에서 천이되는 2개의 샘플링클럭신호(P[4], P[3])에 의해 샘플링 된 샘플링 된 데이터(D[4]와 D[0])를 이용하여 데이터를 복원한다.
그런데, 송신단 주파수가 수신단 주파수보다 높아서 입력데이터의 천이가 현재의 샘플링윈도우에서는 제4케이스(Case4)에 속했다가 뒤따르는 샘플링윈도우에서 제3케이스(Case3)로 바뀐 경우, 입력데이터 중 1비트를 잃어버리게 된다. 반대로 송신단 주파수가 수신단 주파수보다 낮아서 입력데이터의 천이가 현재의 샘플링윈도우에서는 제3케이스(Case3)에 속했다가 뒤따르는 샘플링윈도우에서 제4케이스(Case4)로 이동을 하게 되면 입력데이터 중 1비트가 중복해서 복원데이터에 나타나게 된다.
도 5는 1비트 데이터의 중복되는 경우를 나타낸다.
도 5를 참조하면, 송신단에서 사용하는 클럭신호의 주파수가 수신단에서 사용하는 클럭신호의 주파수보다 낮아서 입력데이터의 천이가 앞선 샘플링윈도우(SW1)에서는 제3케이스(Case3)에 속하다가 있다가 연속되는 샘플링윈도우(SW2)에서는 제4케이스(case4)로 이동을 하게 되면 입력데이터 중 1비트가 중복 되어 복원데이터에 나타나게 된다.
도 6은 1비트 데이터가 소실되는 경우를 나타낸다.
도 6을 참조하면, 송신단에서 사용하는 클럭신호의 주파수가 수신단에서 사용하는 클럭신호의 주파수보다 높아서 입력데이터(Is)의 천이가 앞선 샘플링윈도우(SW1)에서는 제4케이스(Case4)에 속하다가 연속되는 샘플링윈도우(SW2)에서는 제3 케이스(Case3)로 바뀐 경우 입력데이터 중 1비트를 잃어버리게 된다.
이러한 문제가 발생하는 경우에는 코어스 데이터 복원장치(220) 내의 에러검출기(332)는 잃어버린 비트와 중복되는 비트에 대하여 각각 추가(Add) 혹은 제거(Drop)를 지시하는 비트보상신호(Add/Drop)를 샘플링 된 1비트데이터(CRD)에 동기 시켜 출력한다. 따라서 비트보상신호(Add/Drop)는 추가신호(Add) 및 삭제신호(Drop)로 구분되는 것이 바람직하다.
뒷단의 데이터 추가/제거 기능이 있는 저장장치(230)에서는 샘플링 된 비트데이터(CRD)와 비트보상신호(Add/Drop)를 이용하여 잃어버린 비트를 추가하거나 중복되는 비트를 제거하여 정상적인 데이터를 복원한다. 따라서 데이터 추가/제거 기능이 있는 저장장치(230)는 기본적으로 FIFO동작을 하지만, 비트보상신호(Add/Drop)가 인에이블 되면 데이터 큐(queue)에 데이터를 한 개 더하거나 제거하는 점에서는 일반적인 FIFO와 다르다.
도 7은 도 2에 도시된 데이터 추가/제거 기능이 있는 저장장치의 내부 블록다이어그램이다.
도 7을 참조하면, 데이터 추가/제거 기능이 있는 저장장치(230)는, 복수 개(2N+1, N은 정수)의 데이터 추가/제거 기능이 있는 저장 셀(710 ~ 750)들을 구비 한다. 이하의 설명에서는 데이터 추가/제거 기능이 있는 저장 셀을 저장 셀로 축약하여 기술할 것이다. 저장 셀(710 ~ 750)들의 개수는 송수신단의 주파수 차이와 최대 패킷(packet)의 크기에 의하여 결정된다. 예를 들어, 최대 패킷의 크기만 고려할 때 최대 패킷의 크기가 바로 N이 될 것이다. N의 값은 수학식 1과 같이 표시할 수 있다.
N = 최대패킷(Maximum packet size) × Δf_offset + N_margin
최대 패킷(Maximum packet size)이 9000, 송수신단 주파수 오프셋(Δf_offset)이 ±500ppm(0.001) 그리고 클럭의 지터를 고려하여 타임 마진(timing margin)을 확보하기 위해 3bit(N_margin)을 추가하면, N(=9000 × 0.001 + 3)은 모두 12가 된다. 이 경우 저장 셀은 모두 25(2× 12 + 1)가 될 것이다.
샘플링 된 비트데이터(CRD)와 비트보상신호(Add/Drop)는 매 샘플링클럭신호의 상승에지(rising edge)에서 다음 단(stage)의 저장 셀들로 전달된다.
(2N+1)개의 저장 셀은 각각 이전에 배치된 저장 셀과 이후에 배치된 저장 셀들과 신호 및 데이터를 송수신한다. 가장 중심에 배치된 (N+1)번째 저장 셀(730)과 (N+1)번째 저장 셀(730)의 이전 및 이후에 배치된 2개의 저장 셀들(720, 740)과의 연결 관계를 대표적으로 설명함으로써, (2N+1)개의 저장 셀들의 연결 관계를 유추할 수 있을 것이다.
(N+1)번째 저장 셀(730)은, N번째 저장 셀(720)로부터 출력되는 샘플링 된 비트데이터(CRD[N])와 비트보상신호(Add[N]/Drop[N]), 제NR토큰이동지시신 호(PTR[N]) 및 (N+2)번째 저장 셀(740)로부터 출력되는 제(N+2)L토큰이동지시신호(PTL[N+2])를 수신하고, 샘플링 된 비트데이터(CRD[N+1]), 비트보상신호(Add[N+1]/Drop[N+1]), 제(N+1)L토큰이동지시신호(PTL[N+1]), 제(N+1)R토큰이동지시신호(PTR[N+1]) 및 비트복원데이터(RD)를 출력한다.
도 8은 도 7에 도시된 저장 셀의 블록 다이어그램이다.
도 8을 참조하면, 저장 셀(710 ~ 750)은, D형 플립플롭(810), 토큰제어회로(820), 인버터(830), 멀티플렉서(840) 및 3상 버퍼(850, tri-state buffer)를 구비한다.
도 8에 도시된 저장 셀이 i(i는 정수)번째 배치된 저장 셀이라고 가정하고 설명한다.
제1D형 플립플롭(810)은 (i-1)번째 저장 셀로부터 출력되는 샘플링 된 비트데이터(CRD[i-1])를 수신하여 저장하고 동작클럭신호에 따라 샘플링 된 비트데이터(CRD[i])를 출력한다. 토큰제어회로(820)는 (i-1)번째 저장 셀로부터 출력되는 비트보상신호(Add[i-1]/Drop[i-1])와 제(i-1)R토큰이동지시신호(PTR[i-1]) 및 (i+1)번째 저장 셀로부터 출력되는 제(i+1)L토큰이동지시신호(PTL[i+1])를 수신하여, 토큰신호(Token[i]), 비트보상신호(Add[i]/Drop[i]), 제(i)L토큰이동지시신호(PTL[i]) 및 제(i)R토큰이동지시신호(PTR[i])를 출력한다.
인버터(830)는 제1D형 플립플롭(810)으로부터 출력되는 신호의 위상을 반전시킨다. 멀티플렉서(840)는 제(i)R토큰이동지시신호(PTR[i])에 응답하여 제1D형 플립플롭(810)의 출력신호 및 인버터(830)의 출력신호 중 하나를 선택하여 스위칭 한 다. 3상 버퍼(850)는 토큰신호(Token[i])에 응답하여 멀티플렉서(840)로부터 출력되는 신호를 비트복원데이터(RD)로 출력한다.
본 발명에 따른 복원회로는 입력데이터를 싱글 비트 단위로 복원하는데, 도 7에는 도시되어 있지 않지만, 한 개의 데이터패킷(data packet)에 대한 수신이 종료되면 모든 저장 셀들은 리셋(Reset) 되며, 다만 중앙에 배치된 (N+1)번째 저장 셀(730)만 선택된다. 따라서 선택된 (N+1)번째 저장 셀(730)의 토큰신호만이 인에이블 되므로, 비트복원데이터(RD)는 (N+1)번째 저장 셀(730)의 멀티플렉서로부터 출력되는 신호가 된다.
도 9는 데이터 추가/제거 기능이 있는 저장 셀을 구성하는 토큰제어회로의 회로도이다.
도 9를 참조하면, 토큰제어회로(820)는, 비트보상신호 저장블록(910), 토큰이동선택블록(920), 토큰활성블록(930) 및 토큰신호생성회로(940)를 구비한다.
비트보상신호 저장블록(910)은 (i-1)번째 저장 셀로부터 수신된 비트추가보상신호(Add[i-1])를 저장하며 동작클럭신호(미도시)에 응답하여 비트추가보상신호(Add[i])를 출력하는 제2D형 플립플롭(911) 및 (i-1)번째 저장 셀로부터 수신된 비트삭제보상신호(Drop[i-1])를 저장하며 동작클럭신호에 응답하여 비트삭제보상신호(Drop[i])를 출력하는 제3D형 플립플롭(912)을 구비한다.
토큰이동선택블록(920)은 토큰이동선택회로(921) 및 제1저장수단(925)을 구비한다. 토큰이동선택회로(921)는, 비트추가보상신호(Add[i-1]), 비트삭제보상신호(Drop[i-1]), 이전 동작클럭신호가 활성화되는 구간에서 결정된 토큰활성신 호(Ten) 및 (i+1)번째 저장 셀로부터 수신된 제(i+1)L토큰이동지시신호(PTL[i+1])에 응답하여 제(i)L토큰이동지시신호(PTL[i]) 및 R토큰이동지시신호(O1)를 생성한다. 제1저장수단(925)은 동작클럭신호에 응답하여 R토큰이동지시신호(O1)를 저장하고 제(i)R토큰이동지시신호(PTR[i])를 출력한다.
토큰활성블록(930)은 토큰활성회로(931) 및 제2저장수단(935)을 구비한다. 토큰활성회로(931)는 비트추가보상신호(Add[i-1]), 비트삭제보상신호(Drop[i-1]), 이전 동작클럭신호가 활성화되는 구간에서 결정된 토큰활성신호(Ten), 제(i+1)L토큰이동지시신호(PTL[i+1]) 및 (i-1)번째 저장 셀로부터 수신된 제(i-1)R토큰이동지시신호(PTR[i-1])에 응답하여 활성신호(O2)를 생성한다. 제2저장수단(935)은 동작클럭신호에 응답하여 활성신호(O2)를 저장하고 토큰활성신호(Ten)를 출력한다.
토큰신호생성블록(940)은 토큰활성신호(Ten) 및 제(i)R토큰이동지시신호(PTR[i])에 응답하여 토큰신호(Token[i])를 생성하며, 2입력(two input) OR게이트로 구현할 수 있다.
여기서 제1저장수단(925) 및 제2저장수단(935)은 각각 D형 플립플롭으로 구현할 수 있다. 토큰이동선택회로(921)는 제(i+1)L토큰이동지시신호(PTL[i+1])와 이전 동작클럭신호가 활성화되는 구간에서 결정된 토큰활성신호(Ten)를 논리 합하는 OR게이트(922), 이전 동작클럭신호가 활성화되는 구간에서 결정된 토큰활성신호(Ten)와 비트삭제보상신호(Drop[i-1])를 논리 곱하여 제(i)L토큰이동지시신호(PTL[i])를 생성하는 AND게이트(923) 및 OR게이트(922)의 출력신호와 비트추가보상신호(Add[i-1])를 논리 곱하여 R토큰이동지시신호(O1)를 생성하는 AND게이 트(924)를 구비한다. 토큰활성회로(931)는 제(i+1)L토큰이동지시신호(PTL[i+1])와 비트추가보상신호(Add[i-1])의 위상을 반전시킨 신호를 논리 곱하는 AND게이트(932), 비트추가보상신호(Add[i-1])의 위상을 반전시킨 신호, 비트삭제보상신호(Drop[i-1])의 위상을 반전시킨 신호 그리고 이전 동작클럭신호가 활성화되는 구간에서 결정된 토큰활성신호(Ten)를 논리 곱하는 AND게이트(933) 및 2개의 AND게이트(932, 933)의 출력신호와 제(i-1)R토큰이동지시신호(PTR[i-1])를 논리 합하여 활성신호(O2)를 생성하는 OR게이트(934)를 구비한다.
토큰이동선택블록(920) 및 토큰활성블록(930)의 기능에 대해서는 아직 까지 공표되지 않았고, 누구도 언급하거나 암시한 적이 없지만, 상술한 기능을 구현할 수 있는 회로는 당업자라면 누구든지 용이하게 설계할 수 있을 것이다. 도 9에 도시된 2개의 블록들(920, 930)은 가능한 회로의 한 가지 실시 예일 뿐이다.
이하에서는 도 7 내지 도 8을 참조하여 도 9에 도시된 토큰제어회로의 동작에 대하여 설명한다.
모든 저장 셀들이 리셋 된 후 중간에 배치된 i번째 저장 셀에서만 활성화 된 토큰활성신호(Ten)에 의해 토큰신호(Token)가 활성화된다. 여기서 활성화에 대응되는 논리 값은 논리하이라고 가정하고 설명한다.
따라서 선택된 i번째 저장 셀에서 출력되는 샘플링 된 비트데이터(CRD[i])가 멀티플렉서(840) 및 3상 버퍼(850)를 통해 비트복원데이터(RD)로 출력된다.
토큰신호(Token[i])가 논리하이인 상태에서 비트추가보상신호(Add[i-1])나 비트삭제보상신호(Drop[i-1])가 활성화되지 않으면, 토큰신호(Token[i])는 계속해 서 논리하이 값을 유지하고 있게 된다.
토큰신호(Token[i])가 논리하이인 상태에서 비트삭제보상신호(Drop[i-1])가 활성화되면, AND게이트(923)에 의해 제(i)L토큰이동지시신호(PTL[i])가 활성화된다. 다음 동작클럭신호가 동작할 때 i번째 저장 셀의 토큰신호(Token[i])는 논리로우가 되고, (i-1)번째 위치한 저장 셀의 토큰신호(Token[i-1])가 활성화된다. 이렇게 되면 비트복원데이터(RD)는 샘플링 된 비트데이터(CRD[i]) 다음에 샘플링 된 비트데이터(CRD[i-2])로 선택되어 이 과정에서 중간에 속하는 샘플링 된 비트데이터(CRD[i-1])가 제거된다.
반대로 토큰신호(Token[i])가 논리하이인 상태에서 비트추가보상신호(Add[i-1])가 활성화되면 동작클럭신호의 두 주기 동안 두 개의 연속된 동작을 하게 된다. 동작클럭신호의 다음 첫 주기에서 제(i)R토큰이동지시신호(PTR[i])가 활성화되어 샘플링 된 비트데이터CRD[i]의 반전된 값이 비트복원데이터(RD)로 출력된다. 이는 비트추가보상신호(Add)가 발생한 경우, 데이터 전이가 발생했으며 이 사이에 1비트가 누락되었기 때문에 샘플링 된 비트데이터(CRD[i])의 반전된 값이 누락되었음을 알 수 있다. 따라서 샘플링 된 비트데이터CRD[i]의 반전된 값을 추가해 줌으로써 비트추가기능을 수행할 수 있다. 동작클럭신호의 그 다음 주기에서 오른쪽 (i+1)번째 저장 셀의 토큰신호(Token[i+1])를 활성화시켜 샘플링 된 비트데이터(CRD[i+1])를 비트복원데이터(RD)로 출력시킨다.
그리고 원래 활성화 되었던 비트추가보상신호(Add[i-1])는 두 개의 저장 셀을 지나가서 비트추가보상신호(Add[i+1])로 되어 있기 때문에, (i+1)번째 저장 셀 에서는 무시된다. 비트삭제보상신호(Drop[i-1])로 인해 i번째 저장 셀에서 제(i)L토큰이동지시신호(PTL[i])가 활성화 되었을 때, (i-1)번째의 저장 셀에 인가되는 비트추가보상신호(Add[i-2])가 활성화되어 있었다면, 이전의 토큰신호(Token[i-1])가 활성화되어 있다고 가정하고 잃어버린 비트를 추가하는 동작을 바로 진행한다.
상기의 설명을 요약하면 다음과 같다.
(2N+1)개의 모든 저장 셀로부터 출력되는 비트복원데이터(RD)는 각각 3상 버퍼를 통하여 모두 한 개의 노드(RD)에 연결되어 있다. 각각의 저장 셀에서 생성되는 토큰신호(Token)의 논리 상태에 따라 (2N+1)개의 저장 셀들 가운데, 한 개의 저장 셀의 3상 버퍼만 활성화된다. 즉, 선택된 저장 셀의 토큰신호 만이 논리하이 값을 가지고 나머지 2N개의 저장 셀의 토큰 신호는 논리로우 값을 가지게 된다. 또한 FIFO의 데이터 큐에 잃어버린 비트를 추가하거나 중복되는 비트를 제거하기 위하여 저장 셀은 이전 단과 다음 단의 저장 셀과 PTL(Pass Token to the Left), PTR(Pass Token to the Left) 신호를 주고받는다. 잃어버린 비트가 있는 경우에는 현재 값의 반전된 비트를 추가 하여 잃어버린 비트를 복원하고 토큰신호를 오른쪽으로 이동시켜 잃어버린 비트를 복원하는 비트사이에 추가하는 것이 가능하게 하고, 중복되는 비트가 있는 경우에는 토큰신호를 왼쪽으로 이동시켜 중복된 비트를 제거한다.
3상 버퍼를 활성화시키기 위해 주고받는 토큰신호의 지연시간을 줄이기 위해, 각 저장 셀은 비트삭제보상신호(Drop)와 비트추가보상신호(Add)를 이용하여 3상 버퍼를 통해 출력할 것인지 아닐지를 미리 결정한 후에 미리 토큰신호를 넘겨, 다음 동작클럭신호에서 출력하기로 결정된 저장 셀의 샘플링 된 비트데이터(CRD)를 비트복원데이터(RD)로 출력하도록 하였다.
저장 셀은 매 패킷 전송이 끝나고 난 후 바로 리셋 되어, 직렬로 배치된 저장 셀들의 한가운데 위치한 (N+1)번째 셀의 토큰신호만 인에이블 시킨다. 나머지 저장 셀들은 활성화된 비트삭제보상신호(Drop)와 비트추가보상신호(Add)가 인가되기 전까지는 불활성상태로 활성화된 어떠한 데이터도 출력하지 않게 된다. 따라서 이때에는 (2N+1)개의 저장 셀들 중에 유일하게 (N+1)번째 저장 셀의 토큰신호(Token[N+1])만 활성화되므로 샘플링 된 비트데이터(CRD[N+1])만이 비트복원데이터(RD)로 출력된다.
도 10은 저장 셀들의 동작을 상태 다이어그램으로 나타내었다.
도 10을 참조하면, i번째 저장 셀의 토큰신호(Token[i])가 논리하이가 되어 샘플링 된 비트데이터(CRD[i])를 비트복원데이터(RD)로 출력하고 있는 경우, 인가되는 비트삭제보상신호(Drop[i-1])가 활성화되면, 현재의 샘플링 된 비트데이터와 다음 동작클럭신호가 동작할 때 인가될 샘플링 된 비트데이터가 중복이 되었다는 것을 의미한다. 따라서 중복된 샘플링 된 비트데이터(CRD[i-1])를 제거하기 위해, 저장 셀에서는 제(i)L토큰이동지시신호(PTL[i])를 활성화시켜 다음 동작클럭신호가 동작할 때 왼쪽에 위치한 (i-1)번째 저장 셀을 1비트복원데이터의 출력 셀로 지정한다.
이와는 반대로 선택된 i번째 저장 셀에 인가되는 비트추가보상신호(Add[i-1])가 활성화되면, 이는 샘플링 된 1비트데이터(CRD[i-1]) 앞에 잃어버린 비트가 존재한다는 것을 의미한다. 이때에는 동작클럭신호의 이 후의 2개의 주기에 걸쳐 2 개의 연속된 동작을 수행한다. 즉, 첫 번째 동작클럭신호가 동작할 때 잃어버린 비트를 데이터 큐 리스트에 추가하여 출력하게 하고, 두 번째 동작클럭신호가 동작할 때 (i+1)번째 저장 셀을 1비트복원데이터의 출력 셀로 지정한다.
이러한 연속된 동작으로 인해 저장 셀은 앞에 잃어버린 비트를 추가할 수 있다. 잃어버린 비트는 현재 천이(transition)가 있기 이 전의 데이터이므로, 현 샘플링 된 비트데이터(CRD[i])와는 반대되는 극성을 가지게 될 것이다.
도 11은 저장 셀의 동작에 관계되는 신호들의 파형도이다.
도 11을 참조하면, 비트추가보상신호(Add[i-1])가 활성화되면, 비트추가보상신호(Add[i-1])가 활성화되는 순간(AD4, AD9, AD11)의 샘플링 된 1비트데이터(D4, D9, D11)의 반전된 값(/D4, /D9, /D11)을 비트복원데이터(RD)에 추가하고, 다음 동작클럭신호가 동작할 때 활성화되는 저장 셀을 오른 쪽으로 이동시켜 오른쪽 저장 셀에 저장된 이전 데이터 값(D4, D9, D11)을 한 번 더 비트복원데이터로 출력시킨다.
반대로 비트삭제보상신호(Drop[i-1])가 활성화되면, 비트삭제보상신호(Drop[i-1])가 활성화되는 순간(DR7, D10)의 샘플링 된 비트데이터(D7, D10)는 비트복원데이터(RD)에 복원되지 않게 하고, 다음 동작클럭신호가 동작할 때 활성화되는 저장 셀을 왼쪽 셀로 옮긴다.
도 2에 도시된 본 발명에 따른 싱글 비트 블라인드 오버샘플링 데이터 복원회로(200)는, 도 1에 도시된 종래의 블라인드 오버샘플링 데이터 복원회로(100)와 달리, 직렬입력데이터의 전송속도와 동일하거나 근사한 주파수를 가지는 5개의 다 중 위상 샘플링클럭신호들로 직렬입력데이터를 5배 오버 샘플링 하여 코어스 데이터 복원장치(220)에서 데이터를 복원한다. 1비트 단위로 데이터를 복원하기 때문에 도 1에 도시된 제1메모리(120)가 필요 없고, 다중위상 클럭신호들 중에서 최적의 샘플링클럭신호를 선택하기 위한 논리회로가 간단하다. 또한 데이터 추가/제거 기능이 있는 저장장치(230)를 사용하여 송수신단의 주파수 차이와 입력 데이터의 지터(jitter)를 보상할 수 있다.
상술한 바와 같이 본 발명에 따른 싱글 비트 블라인드 오버샘플링 데이터 복원회로는 클럭정보를 전달하지 않는 송신단과 수신단 사이의 클럭신호의 주파수 차이를 보상하기 위해, 종래의 블라인드 오버샘플링 데이터 복원회로를 도입하였지만, 바이트 단위가 아닌 비트 단위로 오버샘플링 함으로써, 하드웨어가 간단하기 때문에 레이아웃이 적고 또한 록 타임을 1비트 이내로 감소시킬 수 있다. 본 발명은 실제로 USB 2.0 PHY에 적용하고 USB 패킷에 적용 시 에러 보정 및 주파수 보상이 이루어진다는 것을 확인하였다. 따라서 본 발명은 USB 및 고속 시리얼 인터페이스를 사용하는 모든 시스템에 적용이 가능하다.
이상에서는 본 발명에 대한 기술사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 이라면 누구나 본 발명의 기술적 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
도 1은 종래의 블라인드 오버샘플링 데이터 복원회로의 블록다이어그램이다.
도 2는 본 발명에 따른 싱글 비트 블라인드 오버샘플링 데이터 복원회로의 블록다이어그램이다.
도 3은 코어스 데이터 복원장치(220)의 내부 블록다이어그램이다.
도 4는 코어스 데이터 복원장치(220)에서 다중 위상 샘플링클럭신호를 선택하는 방법 및 선택된 데이터를 나타낸다.
도 5는 1비트 데이터의 중복되는 경우를 나타낸다.
도 6은 1비트 데이터가 소실되는 경우를 나타낸다.
도 7은 도 2에 도시된 데이터 추가/제거 기능이 있는 저장장치의 내부 블록 다이어그램이다.
도 8은 도 7에 도시된 저장 셀의 블록 다이어그램이다.
도 9는 데이터 추가/제거 기능이 있는 저장 셀을 구성하는 토큰제어회로의 회로도이다.
도 10은 저장 셀들의 동작을 상태 다이어그램으로 나타내었다.
도 11은 저장 셀의 동작에 관계되는 신호들의 파형도이다.

Claims (20)

  1. 입력데이터(Is)의 전송 주파수(fs)와 동일한 주파수를 가지며 서로 일정한 위상차이가 있는 K(K는 정수)개의 다중위상 샘플링클럭신호(5 multi phase fs)로, 상기 입력데이터(Is)의 각각의 비트에 대하여 K배 오버 샘플링 하는 K배 오버샘플러(210);
    상기 K개의 다중 위상 샘플링클럭신호 중 하나의 샘플링클럭신호를 선택하고, 상기 선택된 샘플링클럭신호로 샘플링 한 샘플링 된 비트데이터(CRD)를 출력하며, 상기 K배 오버 샘플러(210)에서 샘플링의 대상이 되는 직렬 입력데이터(Is) 중 데이터가 소실되거나 중복되는 경우를 판단하고 이를 보상할 것을 지시하는 비트보상신호(Add/Drop)를 생성하는 코어스 데이터 복원장치(220); 및
    상기 샘플링 된 비트데이터(CRD) 및 상기 비트보상신호(Add/Drop)에 응답하여 복원이 누락될 데이터를 복원하고 중복되는 데이터는 삭제하여 비트복원데이터(RD)를 출력하는 데이터 추가/제거 기능이 있는 저장장치(230)를 구비하는 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  2. 제1항에 있어서,
    상기 K는 5인 것을 특징으로 하는 5배 블라인드 오버샘플링 데이터 복원회로.
  3. 제2항에 있어서, 상기 코어스 데이터 복원장치(220)는,
    수신된 5개(D[4:0])의 상기 샘플링 된 비트데이터(CRD)를 일정시간 지연시키는 지연기(310);
    상기 5개(D[4:0])의 상기 샘플링 된 비트데이터(CRD)와 이전 단계에서 샘플링 된 비트데이터(D'[0])를 이용하여 하나의 샘플링윈도우를 구성하는 5개의 구간 가운데 입력데이터가 천이하는 구간을 검출하는 천이검출기(320);
    상기 천이검출기(320)로부터 검출한 데이터의 천이 구간 정보를 이용하여 상기 선택된 샘플링클럭신호로 샘플링 한 샘플링 된 비트데이터를 선택할 것을 지시하는 클럭선택신호(SEL) 및 상기 비트보상신호(Add/Drop)를 출력하는 위상선택 & 에러검출블록(330); 및
    상기 클럭선택신호(SEL)에 응답하여 상기 지연기(310)로부터 출력되는 5개(D[4:0])의 샘플링 된 비트데이터(CRD) 중 하나를 샘플링 된 비트데이터(CRD)로 선택하여 출력하는 멀티플렉서(340)를 구비하며,
    상기 샘플링윈도우는, 상기 5개의 다중위상 샘플링클럭신호가 각각 1회씩 샘플링 하는 총 시간 구간을 포함하는 구간인 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  4. 제3항에 있어서, 상기 위상선택 & 에러검출블록(330)은,
    상기 클럭선택신호(SEL)를 출력하는 위상선택기(331); 및
    상기 비트보상신호(Add/Drop)를 출력하는 에러검출기(332)를 구비하는 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  5. 제3항에 있어서, 상기 5개의 구간은,
    상기 샘플링윈도우(SW)의 시작 지점과 제1샘플링클럭신호(P[4])가 천이하는 지점 사이를 포함하는 제1구간;
    상기 제1샘플링클럭신호(P[4])가 천이하는 지점과 제2샘플링클럭신호(P[3])가 천이하는 지점 사이를 포함하는 제2구간;
    상기 제2샘플링클럭신호(P[3])가 천이하는 지점과 제3샘플링클럭신호(P[2])가 천이하는 지점 사이를 포함하는 제3구간;
    상기 제3샘플링클럭신호(P[2])가 천이하는 지점과 제4샘플링클럭신호(P[1])가 천이하는 지점 사이를 포함하는 제4구간; 및
    상기 제4샘플링클럭신호(P[1])가 천이하는 지점과 제5샘플링클럭신호(P[0])가 천이하는 지점 사이를 포함하는 제5구간인 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  6. 제3항에 있어서,
    상기 선택된 샘플링클럭신호는 센터 피킹(center picking) 방식을 이용하여 선택하는 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  7. 제1항에 있어서, 상기 데이터 추가/제거 기능이 있는 저장장치(230)는,
    직렬로 배치된 (2N+1)개 (단, N은 정수)의 데이터 추가/제거 기능이 있는 저장 셀을 구비하며,
    (N+1)번째 배치된 데이터 추가/제거 기능이 있는 저장 셀(730)은,
    N번째 데이터 추가/제거 기능이 있는 저장 셀(720)로부터 출력되는 샘플링 된 비트데이터(CRD[N])와 비트보상신호(Add[N]/Drop[N]), 제NR토큰이동지시신호(PTR[N]) 및 (N+2)번째 데이터 추가/제거 기능이 있는 저장 셀(740)로부터 출력되는 제(N+2)L토큰이동지시신호(PTL[N+2])를 수신하고,
    샘플링 된 비트데이터(CRD[N+1]), 비트보상신호(Add[N+1]/Drop[N+1]), 제(N+1)L토큰이동지시신호(PTL[N+1]), 제(N+1)R토큰이동지시신호(PTR[N+1]) 및 비트복원데이터(RD)를 출력하는 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  8. 제7항에 있어서, 상기 N은,
    송수신단에서 사용하는 동작클럭신호의 주파수 차이와 송수신되는 패킷(packet)의 크기에 의하여 결정되는 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  9. 제7항에 있어서, 상기 배치된 데이터 추가/제거 기능이 있는 저장 셀 중 i(i는 정수)번째 저장 셀은,
    (i-1)번째 데이터 추가/제거 기능이 있는 저장 셀로부터 출력되는 샘플링 된 비트데이터(CRD[i-1])를 수신하여 저장하고 동작클럭신호에 따라 샘플링 된 비트데이터(CRD[i])를 출력하는 제1D형 플립플롭(810);
    (i-1)번째 저장 셀로부터 출력되는 비트보상신호(Add[i-1]/Drop[i-1])와 제(i-1)R토큰이동지시신호(PTR[i-1]) 그리고 (i+1)번째 데이터 추가/제거 기능이 있는 저장 셀로부터 출력되는 제(i+1)L토큰이동지시신호(PTL[i+1])를 수신하여, 토큰신호(Token[i]), 비트보상신호(Add[i]/Drop[i]), 제(i)L토큰이동지시신호(PTL[i]) 그리고 제(i)R토큰이동지시신호(PTR[i])를 출력하는 토큰 제어회로(820);
    상기 제1D형 플립플롭(810)으로부터 출력되는 신호의 위상을 반전시키는 인버터(830);
    상기 제(i)R토큰이동지시신호(PTR[i])에 응답하여 상기 제1D형 플립플롭(810)의 출력신호 및 상기 인버터(830)의 출력신호 중 하나를 선택하여 스위칭 하는 멀티플렉서(840); 및
    상기 토큰신호(Token[i])에 응답하여 상기 멀티플렉서(840)로부터 출력되는 신호를 비트복원데이터(RD)로 출력하는 3상 버퍼(850)를 구비하는 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  10. 제9항에 있어서, 상기 토큰 제어회로(820)는,
    (i-1)번째 데이터 추가/제거 기능이 있는 저장 셀로부터 수신된 비트추가보상신호(Add[i-1]) 및 비트삭제보상신호(Drop[i-1])를 저장하며 동작클럭신호에 응답하여 비트추가보상신호(Add[i]) 및 비트삭제보상신호(Drop[i])를 출력하는 비트보상신호 저장블록(910);
    비트추가보상신호(Add[i-1]), 비트삭제보상신호(Drop[i-1]), 토큰활성신호(Ten) 및 (i+1)번째 데이터 추가/제거 기능이 있는 저장 셀로부터 수신된 제(i+1)L토큰이동지시신호(PTL[i+1])에 응답하여 제(i)L토큰이동지시신호(PTL[i]) 및 제(i)R토큰이동지시신호(PTR[i])를 생성하는 토큰이동선택블록(920);
    비트추가보상신호(Add[i-1]), 비트삭제보상신호(Drop[i-1]), 제(i+1)L토큰이동지시신호(PTL[i+1]) 및 (i-1)번째 데이터 추가/제거 기능이 있는 저장 셀로부터 수신된 제(i-1)R토큰이동지시신호(PTR[i-1])에 응답하여 토큰활성신호(Ten)를 출력하는 토큰활성블록(930);
    상기 토큰활성신호(Ten) 및 상기 제(i)R토큰이동지시신호(PTR[i])에 응답하여 상기 토큰신호(Token[i])를 생성하는 토큰신호생성블록(940)을 구비하는 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  11. 제10항에 있어서,
    상기 비트보상신호 저장블록(910)은, (i-1)번째 저장 셀로부터 수신된 비트추가보상신호(Add[i-1])를 저장하며 동작클럭신호에 응답하여 비트추가보상신호(Add[i])를 출력하는 제2D형 플립플롭(911); 및 (i-1)번째 저장 셀로부터 수신된 비트삭제보상신호(Drop[i-1])를 저장하며 동작클럭신호에 응답하여 비트삭제보상신호(Drop[i])를 출력하는 제3D형 플립플롭(912)을 구비하며,
    상기 토큰이동선택블록(920)은, 비트추가보상신호(Add[i-1]), 비트삭제보상신호(Drop[i-1]), 토큰활성신호(Ten) 및 (i+1)번째 저장 셀로부터 수신된 제(i+1)L토큰이동지시신호(PTL[i+1])에 응답하여 제(i)L토큰이동지시신호(PTL[i]) 및 R토큰이동지시신호(O1)를 생성하는 토큰이동선택회로(921); 및 동작클럭신호에 응답하여 R토큰이동지시신호(O1)를 저장하고 상기 제(i)R토큰이동지시신호(PTR[i])를 출력하는 제1저장수단(925)을 구비하며,
    상기 토큰활성블록(930)은, 비트추가보상신호(Add[i-1]), 비트삭제보상신호(Drop[i-1]), 제(i+1)L토큰이동지시신호(PTL[i+1]) 및 (i-1)번째 데이터 추가/제거 기능이 있는 저장 셀로부터 수신된 제(i-1)R토큰이동지시신호(PTR[i-1])에 응답하여 활성신호(O2)를 생성하는 토큰활성회로(931); 및 동작클럭신호에 응답하여 활성신호(O2)를 저장하고 토큰활성신호(Ten)를 출력하는 제2저장수단(935)을 구비하고,
    상기 토큰신호생성블록(940)은 2입력 제1 OR게이트인 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  12. 제11항에 있어서, 상기 제1저장수단(925) 및 제2저장수단(935)은,
    각각 D형 플립플롭인 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데 이터 복원회로.
  13. 제11항에 있어서,
    상기 토큰이동선택회로(921)는,
    제(i+1)L토큰이동지시신호(PTL[i+1])와 이전 동작클럭신호가 활성화되는 구간에서 결정된 토큰활성신호(Ten)를 논리 합하는 제2 OR게이트(922);
    제(i+1)L토큰이동지시신호(PTL[i+1])와 비트삭제보상신호(Drop[i-1])를 논리 곱하여 제(i)L토큰이동지시신호(PTL[i])를 생성하는 제1 AND게이트(923); 및
    상기 제2OR게이트(922)의 출력신호와 상기 비트추가보상신호(Add[i-1])를 논리 곱하여 R토큰이동지시신호(O1)를 생성하는 제2 AND게이트(924)를 구비하며,
    상기 토큰활성회로(931)는,
    제(i+1)L토큰이동지시신호(PTL[i+1])와 비트추가보상신호(Add[i-1])의 위상을 반전시킨 신호를 논리 곱하는 제3 AND게이트(932);
    비트추가보상신호(Add[i-1])의 위상을 반전시킨 신호, 비트삭제보상신호(Drop[i-1])의 위상을 반전시킨 신호 그리고 이전 동작클럭신호가 활성화되는 구간에서 결정된 토큰활성신호(Ten)를 논리 곱하는 제4 AND게이트(933); 및
    상기 제3 및 제4 AND게이트(932, 933)의 출력신호와 제(i-1)R토큰이동지시신호(PTR[i-1])를 논리 합하여 활성신호(O2)를 생성하는 제3 OR게이트(934)를 구비하는 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  14. 제9항에 있어서, 상기 (2N+1)개의 데이터 추가/제거 기능이 있는 저장 셀은,
    하나의 패킷 데이터가 송수신된 후에는 하나의 데이터 추가/제거 기능이 있는 저장 셀을 제외하고는 모두 리셋 되는 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  15. 제14항에 있어서, 상기 하나의 데이터 추가/제거 기능이 있는 저장 셀은,
    N+1번째 배치된 데이터 추가/제거 기능이 있는 저장 셀인 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  16. 제14항에 있어서,
    상기 리셋 된 데이터 추가/제거 기능이 있는 저장 셀들은 비트복원데이터를 출력하지 않고,
    상기 리셋 되지 않은 데이터 추가/제거 기능이 있는 저장 셀은 비트복원데이터를 출력하는 것을 특징으로 하는 싱글 비트 블라인드 오버샘플링 데이터 복원회로.
  17. 수신되는 입력데이터를 각각의 비트 단위로 오버 샘플링 하여 이를 복원하는 싱글 비트 5배 블라인드 오버샘플링 데이터 복원방법에 있어서,
    상기 입력데이터가 전송되는 주파수에 K배되며 서로 위상차이가 있는 K개의 다중위상 샘플링클럭신호를 이용하여 상기 입력데이터 각각의 비트를 오버샘플링 하는 오버샘플링단계;
    상기 K배 다중위상 샘플링클럭신호 및 상기 오버샘플링단계에서 생성된 오버샘플링 된 데이터를 이용하여, 샘플링윈도우를 정의하고 하나의 샘플링윈도우 내에서 상기 입력데이터가 누락되거나 중복되는 경우가 있는가를 판단하는 복원데이터 누락/중복 확인단계;
    입력데이터가 누락되거나 중복되는 경우에는 이를 보상하는 복원데이터 누락/중복보상단계를 구비하는 것을 특징으로 하는 싱글 비트 5배 블라인드 오버샘플링 데이터 복원방법.
  18. 제17항에 있어서,
    상기 K는 5인 것을 특징으로 하는 싱글 비트 5배 블라인드 오버샘플링 데이터 복원방법.
  19. 제18항에 있어서, 상기 복원데이터 누락/중복 확인단계는,
    상기 샘플링윈도우 시작지점에서 제1샘플링클럭신호(P[4]) 천이지점까지의 제1구간, 제1샘플링클럭신호(P[4]) 천이지점부터 제2샘플링클럭신호(P[3]) 천이지점까지의 제2구간, 제2샘플링클럭신호(P[3]) 천이지점부터 제3샘플링클럭신호(P[2]) 천이지점까지의 제3구간, 제3샘플링클럭신호(P[2]) 천이지점부터 제4샘플링클럭신호(P[1])의 천이지점까지의 제4구간 및 제4샘플링클럭신호(P[1]) 천이지점부터 제5샘플링클럭신호(P[0]) 천이지점까지의 제5구간 가운데, 어느 구간에서 상기 입력데이터가 천이하는가를 검출하는 천이위치검출단계;
    상기 단계에서 검출된 천이위치에 따라 센터 피킹 방식을 이용하여 상기 5개의 다중위상 샘플링클럭신호 중 하나의 샘플링클럭신호를 선택하는 단계;
    선택된 샘플링클럭신호에 의해 샘플링 된 비트데이터를 이용하여 상기 입력데이터의 복원누락 또는 복원중복을 판단하는 누락/중복판단 단계를 더 구비하는 것을 특징으로 하는 싱글 비트 5배 블라인드 오버샘플링 데이터 복원방법.
  20. 제19항에 있어서, 상기 누락/중복판단 단계는,
    임의의 순간의 샘플링윈도우에서 검출된 상기 샘플링 된 비트데이터의 천이위치가 이어지는 샘플링윈도우에서 검출된 상기 샘플링 된 비트데이터의 천이위치가 서로 다를 경우,
    상기 입력데이터의 누락이 있거나 상기 입력데이터의 중복이 있다고 판단하는 것을 특징으로 하는 싱글 비트 5배 블라인드 오버샘플링 데이터 복원방법.
KR1020080066072A 2008-07-08 2008-07-08 싱글 비트 블라인드 오버샘플링 데이터 복원회로 및복원방법 KR100985874B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080066072A KR100985874B1 (ko) 2008-07-08 2008-07-08 싱글 비트 블라인드 오버샘플링 데이터 복원회로 및복원방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080066072A KR100985874B1 (ko) 2008-07-08 2008-07-08 싱글 비트 블라인드 오버샘플링 데이터 복원회로 및복원방법

Publications (2)

Publication Number Publication Date
KR20100005948A KR20100005948A (ko) 2010-01-18
KR100985874B1 true KR100985874B1 (ko) 2010-10-08

Family

ID=41815210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080066072A KR100985874B1 (ko) 2008-07-08 2008-07-08 싱글 비트 블라인드 오버샘플링 데이터 복원회로 및복원방법

Country Status (1)

Country Link
KR (1) KR100985874B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101880655B1 (ko) 2012-04-02 2018-07-20 삼성전자주식회사 데이터 복원 회로 및 데이터 복원 방법
KR101725335B1 (ko) 2015-12-04 2017-04-11 동국대학교 산학협력단 클럭 및 데이터 복원 회로
CN114143157A (zh) * 2021-11-22 2022-03-04 上海思源弘瑞自动化有限公司 基于fpga的以太网数据恢复方法、装置及电气设备
CN117435426B (zh) * 2023-10-18 2024-05-07 成都观岩科技有限公司 一种芯片内串行数据溢出校验方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040075243A (ko) * 2003-02-20 2004-08-27 삼성전자주식회사 고속 직렬 링크에서 데이터 복원시 에러 발생을감소시키는 데이터 복원장치 및 그 복원방법
JP2006262165A (ja) 2005-03-17 2006-09-28 Ricoh Co Ltd データリカバリ方法、データリカバリ回路、データ送受信装置及び情報処理装置
KR20070038340A (ko) * 2005-10-05 2007-04-10 인하대학교 산학협력단 기준 클럭이 없는 4배속 오버샘플링 클럭/데이터 복원회로
KR100819097B1 (ko) 2006-12-05 2008-04-02 삼성전자주식회사 랜덤 에지 샘플링을 이용한 클럭 및 데이터 복원회로 및그 복원방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040075243A (ko) * 2003-02-20 2004-08-27 삼성전자주식회사 고속 직렬 링크에서 데이터 복원시 에러 발생을감소시키는 데이터 복원장치 및 그 복원방법
JP2006262165A (ja) 2005-03-17 2006-09-28 Ricoh Co Ltd データリカバリ方法、データリカバリ回路、データ送受信装置及び情報処理装置
KR20070038340A (ko) * 2005-10-05 2007-04-10 인하대학교 산학협력단 기준 클럭이 없는 4배속 오버샘플링 클럭/데이터 복원회로
KR100819097B1 (ko) 2006-12-05 2008-04-02 삼성전자주식회사 랜덤 에지 샘플링을 이용한 클럭 및 데이터 복원회로 및그 복원방법

Also Published As

Publication number Publication date
KR20100005948A (ko) 2010-01-18

Similar Documents

Publication Publication Date Title
US11063741B2 (en) Phase control block for managing multiple clock domains in systems with frequency offsets
US6959058B2 (en) Data recovery apparatus and method for minimizing errors due to clock skew
JP3772197B2 (ja) Nrz/nrziデータを再生するためのデジタルアーキテクチャ
EP1538775B1 (en) Data recovery method and data recovery circuit
US6639956B1 (en) Data resynchronization circuit
TWI395425B (zh) 用以實現虛擬大小為m之彈性緩衝器之方法、虛擬大小為m之彈性緩衝器電路及積體電路
US6288656B1 (en) Receive deserializer for regenerating parallel data serially transmitted over multiple channels
JP2003526984A (ja) データクロックト回復回路
KR100985874B1 (ko) 싱글 비트 블라인드 오버샘플링 데이터 복원회로 및복원방법
US5101203A (en) Digital data regeneration and deserialization circuits
US7069481B2 (en) Data recovery circuit for minimizing power consumption by non-integer times oversampling
US4694196A (en) Clock recovery circuit
CA2122904C (en) Method and apparatus for decoding manchester encoded data
US20050135518A1 (en) Improvements to data recovery circuits using oversampling for isi compensation
KR100634193B1 (ko) 천이 검출, 검증 및 기억 회로
US7194057B2 (en) System and method of oversampling high speed clock/data recovery
US6868134B2 (en) Method and apparatus for recovering a clock signal from an asynchronous data signal
Park et al. A single-data-bit blind oversampling data-recovery circuit with an add-drop FIFO for USB2. 0 high-speed interface
US20090257537A1 (en) Data recovery circuit of semiconductor memory apparatus that minimizes jitter during data transmission
US7366207B1 (en) High speed elastic buffer with clock jitter tolerant design
US10218491B2 (en) Receiving circuit, integrated circuit, and receiving method
US5148450A (en) Digital phase-locked loop
JP2020068458A (ja) 受信装置および送受信システム
JP2010183429A (ja) クロック抽出回路
TW201330556A (zh) 信號等化裝置及其方法

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: 20130710

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140612

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150609

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160704

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170901

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180618

Year of fee payment: 9