상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일측면에 따른 아이 사이즈 측정 회로는 수신 데이터로부터 복원된 서로 다른 위상을 가진 복수의 복원 클럭 중의 적어도 하나의 복원 클럭을 소정 위상 범위내로 쉬프트시킨 적어도 하나의 쉬프트 클럭으로 상기 수신 데이터를 샘플링하여 제1 샘플 데이터를 제공하는 샘플러; 및 상기 적어도 하나의 복원 클럭으로 상기 수신 데이터를 샘플링한 제2 샘플 데이터와 상기 제1 샘플 데이터를 비교하여 에러 횟수를 산출하는 에러 횟수 산출부를 포함한다.
또한, 본 발명의 제1 목적을 달성하기 위한 본 발명의 다른 측면에 따른 아이 사이즈 측정 회로는 서로 다른 위상을 가진 복수의 클럭 중의 적어도 하나의 클럭을 소정 위상 범위에서 쉬프팅 시킨 적어도 하나의 쉬프트 클럭으로 수신 데이터를 샘플링하여 제1 샘플 데이터를 제공하는 샘플러; 및 상기 수신 데이터로부터 복원된 서로 다른 위상을 가진 복수의 복원 클럭 중의 적어도 하나의 복원 클럭으로 상기 수신 데이터를 샘플링한 제2 샘플 데이터와 상기 제1 샘플 데이터를 비교하여 에러 횟수를 산출하는 에러 횟수 산출부를 포함한다.
또한, 본 발명의 제2 목적을 달성하기 위한 본 발명의 일측면에 따른 데이터 통신 시스템의 수신기는 수신 데이터를 복원하여 서로 다른 위상을 가진 복수의 복원 클럭들을 생성하는 클럭데이터복원회로; 상기 복수의 복원 클럭 중의 적어도 하나의 복원 클럭으로 상기 수신 데이터를 샘플링하여 제1 샘플 데이터를 생성하는 제1 샘플러; 및 상기 적어도 하나의 복원 클럭을 소정 위상 범위내로 쉬프트시킨 적어도 하나의 쉬프트 클럭으로 상기 수신 데이터를 샘플링하여 제1 샘플 데이터를 생성하고, 상기 제1 샘플 데이터와 상기 제2 샘플 데이터를 비교하여 에러 횟수를 산출함으로써 아이 사이즈를 산출하는 아이 사이즈 측정 회로를 포함한다.
또한, 본 발명의 제2 목적을 달성하기 위한 본 발명의 다른 측면에 따른 데이터 통신 시스템의 수신기는 수신 데이터를 복원하여 서로 다른 위상을 가진 복수의 복원 클럭들을 생성하는 클럭데이터복원회로; 상기 복수의 복원 클럭 중의 적어도 하나의 복원 클럭으로 상기 수신 데이터를 샘플링하여 제1 샘플 데이터를 생성하는 제1 샘플러; 및 서로 다른 위상을 가진 복수의 클럭 중의 적어도 하나의 클럭을 소정 위상 범위에서 쉬프팅 시킨 적어도 하나의 쉬프트 클럭으로 상기 수신 데이터를 샘플링하여 제2 샘플 데이터를 생성하고, 상기 제1 샘플 데이터와 상기 제2 샘플 데이터를 비교하여 에러 횟수를 산출함으로써 아이 사이즈를 산출하는 아이 사이즈 측정 회로를 포함한다.
또한, 본 발명의 제3 목적을 달성하기 위한 본 발명의 일측면에 따른 아이 사이즈 측정 방법은 수신 데이터로부터 복원된 서로 다른 위상을 가진 복수의 복원 클럭 중의 적어도 하나의 복원 클럭으로 상기 수신 데이터를 샘플링하여 제1 샘플 데이터를 생성하는 단계; 상기 적어도 하나의 복원 클럭을 소정 위상 범위내로 쉬프트시켜 적어도 하나의 쉬프트 클럭을 생성하는 단계; 상기 적어도 하나의 쉬프트 클럭으로 상기 수신 데이터를 샘플링하여 제2 샘플 데이터를 제공하는 단계; 및 상기 제1 샘플 데이터 및 상기 제2 샘플 데이터를 비교하여 에러 횟수를 산출하는 단계를 포함한다.
또한, 본 발명의 제2 목적을 달성하기 위한 본 발명의 다른 측면에 따른 아이 사이즈 측정 방법은 수신 데이터로부터 복원된 서로 다른 위상을 가진 복수의 복원 클럭 중의 적어도 하나의 복원 클럭으로 상기 수신 데이터를 샘플링하여 제1 샘플 데이터를 생성하는 단계; 서로 다른 위상을 가진 복수의 클럭 중의 적어도 하나의 클럭을 소정 위상 범위에서 쉬프팅 시켜 적어도 하나의 쉬프트 클럭을 생성하는 단계; 상기 적어도 하나의 쉬프트 클럭으로 상기 수신 데이터를 샘플링하여 제2 샘플 데이터를 제공하는 단계; 및 상기 제1 샘플 데이터 및 상기 제2 샘플 데이터를 비교하여 에러 횟수를 산출하는 단계를 포함한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명에 따른 아이 사이즈 측정 회로는 샘플러와 클럭데이터복원회로(CDR) 를 가지는 데이터 통신 시스템의 수신기에 적용할 수 있다. 예를 들어, 본 발명에 따른 아이 사이즈 측정 회로는 직렬화기-역직렬화기를 구비한 데이터 통신 시스템의 수신기에 적용할 수 있다.
그러나, 본 발명에 따른 아이 사이즈 측정 회로는 직렬화기-역직렬화기를 구비한 데이터 통신 시스템의 수신기에 한정되는 것은 아니며, 샘플러 및 클럭데이터복원회로(CDR)를 가지는 데이터 통신 시스템의 수신기라면 직렬화기 및/또는 역직렬화기를 포함하지 않는 수신기에도 적용할 수 있음은 물론이다.
이하, 직렬화기-역직렬화기를 구비한 데이터 통신 시스템의 수신기를 예로 들어 본 발명의 아이 사이즈 측정 회로를 설명한다.
도1은 본 발명의 일 실시예에 따른 직렬화기-역직렬화기를 구비한 데이터 통신 시스템의 수신기(1000)를 나타낸 블록도이다.
도 1을 참조하면, 수신기(1000)는 프리엠프/이퀄라이저(100), 제1 샘플러(200), 역직렬화기(300), 클럭데이터복원회로(CDR; Clock Data Recovery, 420), 위상고정루프(PLL; Phase Locked Loop, 416), 아이 사이즈 측정 회로(400) 및 직렬화기/출력 드라이버(350)를 포함한다.
프리엠프/이퀄라이저(100)에서는 전송선을 통하여 수신한 직렬 데이터 스트림의 데이터(10)의 크기와 지연 특성을 보상하여 보상된 데이터(101)를 제1 샘플러(200)로 출력한다. 구체적으로, 프리엠프/이퀄라이저(100)는 전송선을 통하여 직렬화된 데이터 스트림을 수신하여 수신된 데이터(10)의 전압을 증폭하고, 증폭된 데이터를 이퀄라이징하여 수신 데이터(10)의 지터, 특히 신호간 간섭(ISI)으로 인한 데이터 신호의 왜곡을 보상한다. 또한, 프리엠프/이퀄라이저(100)는 아이 사이즈 측정 회로(400)로부터의 제어 신호(401)에 기초하여 이퀄라이징 강도(equalizing strength)를 조절한다.
제1 샘플러(200)는 클럭데이터복원회로(420)에 의해 수신 데이터(10)로부터 복원된 복수의 복원 클럭들(403, I, Q, Ib, Qb)을 이용하여 프리엠프/이퀄라이저(100)의 보상된 데이터(101)를 샘플링한다.
역직렬화기(300)는 제1 샘플러(200)의 직렬화된 샘플링된 데이터(201)를 1:n비율의 패러렐(parallel) 데이터로 변환하여 역직렬화된 데이터(301)를 출력한다. 상기 역직렬화된 데이터(301)는 클럭데이터복원회로(420) 및/또는 데이터 통신 시스템의 다른 기능 블록들(미도시)로 제공된다.
클럭데이터복원회로(420)는 역직렬화기(300)의 직렬화된 데이터(301) 및 PLL(416)의 복수의 클럭(411)을 이용하여 수신 데이터(10)로부터 복원된 복수의 복원 클럭(403; I, Q, Ib, Qb)을 생성한다.
여기서, 본 발명의 다른 실시예에 따른 클럭데이터복원회로(420)는, 도 2에 도시된 바와 같이, 역직렬화기(300)의 출력 데이터(301) 대신 제1 샘플러(200)의 샘플링된 데이터(201)를 이용하여 수신 데이터(10)로부터 복원된 복수의 복원 클럭(403)을 생성할 수도 있다.
아이 사이즈 측정 회로(400)는 프리엠프/이퀄라이저(100)의 출력 데이터(101)를 쉬프트 클럭(Q', Qb')을 이용하여 샘플링한 데이터와 제1 샘플러(200)의 출력인 샘플링된 데이터(201)를 비교하여 에러 횟수를 산출하고, 에러 횟수에 근거 하여 수신 데이터(10)의 아이 사이즈를 산출한다. 또한, 아이 사이즈 측정 회로(400)는 프리엠프/이퀄라이저(100)의 이퀄라이징 강도(equalizing strength)를 조절하기 위한 제어 신호(401)를 생성하여 프리엠프/이퀄라이저(100)로 제공한다.
직렬화기/출력 드라이버(350)는 다른 기능 블록(미도시)에서 처리된 데이터(303)를 직렬화하고 증폭하여 전송선(미도시)을 통하여 전송한다.
도 3은 도 1의 아이 사이즈 측정 회로(400)를 포함하는 수신기의 구체적인 구성을 나타낸 블록도이다. 도 3에서는 도 1 또는 도 2의 직렬화기/출력드라이버(350)의 도시는 생략하였다. 도 3에서는 프리엠프/이퀄라이저(100)와 제1 샘플러(200) 사이에 버퍼 회로(110)를 두어 프리엠프/이퀄라이저(100)의 출력을 버퍼링하여 제1 샘플러(200) 및 제 2 샘플러(410)로 제공하는 것을 도시하였다. 그러나, 버퍼 회로(110) 없이 프리엠프/이퀄라이저(100)의 출력이 바로 제1 샘플러(200)로 제공되도록 구성할 수도 있다. 또한, 버퍼 회로(110)를 구성하는 각각의 버퍼(111, 113)는 서로 동일한 버퍼로 구성할 수 있으며, 또는 버퍼 회로(110)는 하나의 버퍼로 이루어져 하나의 버퍼의 출력이 각각 제1 샘플러(200) 및 제2 샘플러(410)로 제공될 수도 있다.
제1 샘플러(200)는 I 플립플롭(210), Q 플립플롭(220), Ib 플립플롭(230) 및 Qb 플립플롭(240)으로 구성된다. 제1 샘플러(200)는 CDR(420)의 제1 위상 인터폴레이터(412)로부터 출력되는 복수의 복원 클럭들(403, I, Q, Ib, Qb)을 이용하여 프리엠프/이퀄라이저(100)의 출력 데이터(101)를 샘플링하여 샘플 데이터(201) DI, DQ, DIb, DQb를 출력한다.
클럭데이터복원회로(420)는 위상 검출기(Phase Detector, 422), CDR 루프 필터(424), PI 컨트롤러(Phase Interpolator Controller, 426) 및 위상 인터폴레이터(Phase Interpolator, 412)를 포함한다.
여기서, 예를 들어, 수신 데이터(10)의 주파수를 f이고, 역직렬화기(300)가 1:n으로 역직렬화를 수행한다고 가정할 때, 예를 들어 PLL(416)의 복수의 클럭(411)의 주파수는 f/2이고, 복수의 복원 클럭들(403)의 주파수는 f/2이며, 위상 검출기(422), CDR 루프 필터(424) 및 PI 컨트롤러(426)는 f/(2n)의 클럭 주파수로 동작할 수 있다. 그러나, 여기서 PLL(416)의 복수의 클럭(411) 및 복수의 복원 클럭들(403)의 주파수 f/2는 예시적인 것으로서 f/2에 한정되지 않으며, f/4, f/8 등의 다른 주파수를 가질 수도 있음은 물론이다.
클럭데이터복원회로(420)는 클럭데이터복원회로(420)의 출력을 제1 샘플러(200)로 피드백시켜 반복적인 복원 과정을 통하여 수신 데이터(10)의 클럭 및 데이터를 복원한다.
클럭데이터복원회로(420)는 제1 위상 인터폴레이터(412)의 출력인 복원 클럭 Q 및/또는 복원 클럭 Qb가 데이터(201 또는 301)의 한가운데에 위치(도 4 및 도 6참조)하도록 위상 검출기(422), CDR 루프 필터(424), PI 컨트롤러(426) 및 위상 인터폴레이터(412)를 동작시킨다.
위상 검출기(422)는 제1 샘플러(200)의 출력인 샘플 데이터(201) 또는 역직렬화기(300)의 출력인 역직렬화된 데이터(301)의 위상을 검출하여 업(UP) 신호 또는 다운(DOWN) 신호를 출력한다. 여기서, 예를 들어, 수신 데이터(10)의 주파수를 f이고, 역직렬화기(300)가 1:n으로 역직렬화를 수행한다고 가정할 때, 위상 검출기(422)가 역직렬화기(300)의 출력이 아닌 제1 샘플러(200)의 출력인 샘플 데이터(201)를 입력받는 경우에는 위상 검출기(422), CDR 루프 필터(424) 및 PI 컨트롤러(426)는 f/2의 클럭 주파수로 동작할 수 있다.
CDR 루프 필터(424)는 상기 업(UP) 신호 또는 다운(DOWN) 신호에 각각 대응하는 업(UP) 커맨드 또는 다운(DOWN) 커맨드를 생성하고, PI 컨트롤러(426)는 업(UP) 커맨드 또는 다운(DOWN) 커맨드를 입력받아 디지털 코드 값을 생성한다.
여기서, 업(UP) 커맨드 또는 다운(DOWN) 커맨드는 예를 들어 1비트 값을 이용하여 '1'은 업 커맨드, '0'은 다운 커맨드를 나타내도록 할 수 있다. 예를 들어, 디지털 코드 값이 4비트인 경우, '0000' 내지 '1111'의 디지털 코드 값을 이용하여 제1 위상 인터폴레이터(412)의 출력 클럭의 위상을 22.5도(360도/16)씩 변화시킬 수 있다.
도 5에 도시된 바와 같이, PI 컨트롤러(426)는 업(UP) 커맨드가 입력된 경우 디지털 코드 값을 1만큼 증가시키고, 다운(DOWN) 커맨드가 입력된 경우 디지털 코드 값을 1만큼 감소시킬 수 있다.
도 6에 도시된 바와 같이, 디지털 코드 값이 4번 쉬프트된 경우 90도(22.5도 x 4)만큼 제1 위상 인터폴레이터(412)의 복원 클럭의 위상을 증가 또는 감소시킬 수 있다.
제1 위상 인터폴레이터(412)는 PLL(416)으로부터 0도/90도/180도/270도의 4개의 클럭을 입력받아 PI 컨트롤러(426)로부터의 디지털 코드 값에 기초하여 상기 0도/90도/180도/270도의 4개의 클럭의 위상을 증가 또는 감소시킨다.
도 3을 참조하면, 아이 사이즈 측정회로(400)는 제2 샘플러(410), 쉬프트 클럭 생성부(420), 에러 횟수 산출부(430) 및 아이 사이즈 컨트롤러(450)를 포함한다.
도 7에 도시된 바와 같이, 아이 사이즈 측정 회로(400)는 프리엠프/이퀄라이저(100)의 출력 데이터(101)를 제2 위상 인터폴레이터(422)의 출력인 쉬프트 클럭(Q', Qb')을 이용하여 샘플링한 데이터(DQ', DQb')와 프리엠프/이퀄라이저(100)의 출력 데이터(101)를 제1 위상 인터폴레이터(412)의 복원 클럭(Q, Qb)을 이용하여 샘플링한 샘플 데이터(201, DQ, DQb)를 비교한다. 또한, 아이 사이즈 측정 회로(400)는 샘플 데이터 DQ'가 샘플 데이터 DQ와 같은지 및/또는 샘플 데이터 DQb'가 샘플 데이터 DQb와 같은지 여부를 판단하여 에러 횟수를 산출하고, 에러 횟수에 근거하여 수신 데이터(10)의 아이 사이즈를 산출한다.
또한, 아이 사이즈 측정 회로(400)는 프리엠프/이퀄라이저(100)의 이퀄라이징 강도(equalizing strength)를 조절하기 위한 제어 신호(401)를 생성하여 프리엠프/이퀄라이저(100)로 제공한다.
쉬프트 클럭 생성부(420)는 쉬프터(425) 및 제2 위상 인터폴레이터(422)를 포함한다.
쉬프터(425)는 CDR(420)의 제1 PI 컨트롤러(406)의 출력 디지털 코드(405)의 비트 값을 순차적으로 쉬프트시켜 디지털 코드(407)를 생성하여 제2 위상 인터폴레이터(422)로 제공한다. 상기 디지털 코드(407)는 디지털 코드(405)에 상응되는 위 상을 ±180도 범위에서 천이시키는 코드 값을 가진다.
제2 위상 인터폴레이터(422)는 PLL(416)의 0도/90도/180도/270도의 출력 클럭들(411) 및 디지털 코드(407)를 입력받아 제1의 위상 인터폴레이터(412)가 발생하는 복원 클럭(403, I, Q, Ib, Qb)에 대하여 최대 ±180도 범위에서 도 7과 같이 순차적으로 천이된 위상을 가지는 천이 위상 클럭(Q', Qb', 409)를 발생시킨다. 즉, 쉬프터(425) 및 제2 위상 인터폴레이터(422)가 CDR(420)에 의해 복원된 클럭을 기준으로 소정 위상만큼 천이되는 천이 위상 클럭(Q', Qb', 409)이 발생되므로 아이 사이즈 측정과정에서 수신 데이터의 주파수 오프셋(frequency offset) 및/또는 지터의 영향을 받지 않는다.
도 6에 도시된 바와 같이, 천이 위상 클럭(Q', Qb', 409)을 제1의 위상 인터폴레이터(412)가 발생하는 복원 클럭(403, Q, Qb)의 위상을 기준으로 -180도에서 +180까지 순차적으로 스캐닝(scanning)한다.
제2 샘플러(410)는 프리엠프/이퀄라이저(100)의 출력 데이터(101)(또는 버퍼 회로의 출력 데이터)를 상기 제2 위상 인터폴레이터(422)의 상기 소정 위상 범위에서 스캐닝되는 천이 위상 클럭(Q', Qb', 409)을 이용하여 샘플링하여 샘플 데이터 DQ', DQb'를 출력한다.
상기 에러 횟수 산출부(430)는 1:2 디먹스(Demultiplexer, 431) 및 래치(433), 샘플 데이터 비교부(435) 및 카운터(437)를 포함한다. 샘플 데이터 비교부(435)는 예를 들어 배타적 논리합 게이트(XOR)로 이루어질 수 있다.
에러 횟수 산출부(430)는 제1 샘플러(200)의 샘플 데이터 DQ 및 DQb와 제2 샘플러(410)의 샘플 데이터 DQ', DQb'를 비교하여 에러 횟수를 산출한다.
구체적으로, 에러 횟수 산출부(430)는, 도 6 및 도 7에 도시된 바와 같이, 수신된 데이터(101)의 가운데에 위치하는 복원 클럭(403, Q, Qb)에 동기된 샘플 데이터 DQ 및 DQb와 복원 클럭(403, Q, Qb)의 위상에 대해 -180도에서 +180의 위상까지 순차적으로 스캐닝한 천이 위상 클럭(Q', Qb', 409)에 동기된 샘플 데이터 DQ', DQb'의 데이터 값이 같은지 다른지를 판단한다.
도 6을 참조하면, 천이 위상 클럭 Q'가 복원 클럭 Q의 위상에 대해 -180도 또는 +180도 위상을 가지는 (a) 및 (d)의 경우, 천이 위상 클럭 Q', Qb'에 상응하는 샘플 데이터(DQ', DQb')의 값은 수신 데이터의 지터 영역에 속하므로 천이 위상 클럭 Q'에 상응하는 샘플 데이터(DQ')의 값과 복원 클럭 Q에 상응하는 샘플 데이터(DQ)의 값은 서로 다르며, 천이 위상 클럭 Qb'에 상응하는 샘플 데이터(DQb')의 값과 복원 클럭 Qb에 상응하는 샘플 데이터(DQb)의 값은 서로 다르다.
천이 위상 클럭 Q'가 복원 클럭 Q에 대해 좌측(left)에 위치하는 경우-즉, 천이 위상 클럭 Q'가 복원 클럭 Q의 위상에 대해 -180도 내지 0도 사이의 특정 위상을 가지는 (a) 경우-, 천이 위상 클럭 Q', Qb'에 상응하는 샘플 데이터(DQ', DQb')의 값이 수신 데이터의 지터 영역에 속하지 않을 때에는 천이 위상 클럭 Q'에 상응하는 샘플 데이터(DQ')의 값과 복원 클럭 Q에 상응하는 샘플 데이터(DQ)의 값은 서로 같으며, 천이 위상 클럭 Qb'에 상응하는 샘플 데이터(DQb')의 값과 복원 클럭 Qb에 상응하는 샘플 데이터(DQb)의 값은 서로 같다.
천이 위상 클럭 Q'가 복원 클럭 Q에 대해 우측(right)에 위치하는 경우-즉, 천이 위상 클럭 Q'가 복원 클럭 Q의 위상에 대해 0도 내지 +180도 사이의 특정 위상을 가지는 (c) 경우-, 천이 위상 클럭 Q', Qb'에 상응하는 샘플 데이터(DQ', DQb')의 값이 수신 데이터의 지터 영역에 속하지 않을 때에는 천이 위상 클럭 Q'에 상응하는 샘플 데이터(DQ')의 값과 복원 클럭 Q에 상응하는 샘플 데이터(DQ)의 값은 서로 같으며, 천이 위상 클럭 Qb'에 상응하는 샘플 데이터(DQb')의 값과 복원 클럭 Qb에 상응하는 샘플 데이터(DQb)의 값은 서로 같다.
샘플 데이터 DQ, DQ'는 디먹스(431)에 의해 1:2로 디멀티플렉싱된 후 래치(433)에 의해 래치되어 동기가 맞춰진 후 XOR 게이트로 입력된다. XOR 게이트는 샘플 데이터 DQ, DQ'가 서로 다른 값을 가진 경우 1을 출력하고, 서로 같은 값을 가질 경우 0을 출력한다.
샘플 데이터 DQb, DQb'는 디먹스에 의해 1:2로 디멀티플렉싱된 후 래치에 의해 래치되어 동기가 맞춰진 후 XOR 게이트로 입력된다. XOR 게이트는 샘플 데이터 DQb, DQb'가 서로 다른 값을 가진 경우 1을 출력하고, 서로 같은 값을 가질 경우 0을 출력한다. 1:2 디먹스는 데이터를 비교할 경우의 타이밍 제약 때문에 추가한 것이다. 1:2 디먹스외에도 1:4 디먹스 또는 1:8 디먹스를 사용할 수도 있음은 물론이다.
도 8은 천이 위상 클럭(Q', Qb')을 순차적으로 쉬프트 시켜가면서 수신 데이터의 아이 사이즈(eye size)를 측정하는 경우의 타이밍도를 나타낸다.
도 8을 참조하면, 복원 클럭(Q)은 CDR(420)에 의해 제1 및 제2 샘플러(200, 410)로 입력되는 데이터(P1)의 가운데 위치로 정렬된다. 제1 샘플러(200)의 출력 데이터는 P2에 나타난 바와 같이 디먹스(431)를 거치면서 소정시간 지연된다.
P3은 천이 위상 클럭 Q'가 복원 클럭 Q에 대해 -180도의 위치에 있는 경우의 데이터를 나타내고, P4는 천이 위상 클럭 Qb'가 복원 클럭 Q에 대해 -180도의 위치에 있는 경우의 데이터를 나타낸다.
천이 위상 클럭 Q', Qb'가 각각 복원 클럭 Q, Qb에 대해 센터(center)에 위치하는 경우 제2 샘플러(410)의 샘플 데이터 DQ', DQb'는 에러 횟수 산출부(430)의 1:2 디먹스를 거치면서 1:2로 디멀티플레싱됨과 동시에 소정 시간만큼 지연되고(P5, P6), 래치를 거치면서 동기화되어 출력된다(P7, P8). 마찬가지로, 천이 위상 클럭 Q', Qb'가 각각 복원 클럭 Q, Qb에 대해 좌측(left)에 위치하는 경우 제2 샘플러(410)의 샘플 데이터 DQ', DQb'는 에러 횟수 산출부(430)의 1:2 디먹스를 거치면서 1:2로 디멀티플레싱됨과 동시에 소정 시간만큼 지연되고(P9, P10), 래치를 거치면서 동기화되어 출력된다(P11, P12). 마찬가지로, 천이 위상 클럭 Q', Qb'가 각각 복원 클럭 Q, Qb에 대해 우측(right)에 위치하는 경우 제2 샘플러(410)의 샘플 데이터 DQ', DQb'는 에러 횟수 산출부(430)의 1:2 디먹스를 거치면서 1:2로 디멀티플레싱됨과 동시에 소정 시간만큼 지연되고(P13, P14), 래치를 거치면서 동기화되어 출력된다(P15, P16).
도 9는 복원 클럭을 쉬프트시키기 위한 디지털 코드 값과 에러 횟수를 예시적으로 나타낸 테이블이다.
도 9의 에러 횟수는 여러번에 걸쳐 디지털 코드(405)값을 쉬프트시켜 천이 위상 클럭(Q', Qb')을 순차적으로 쉬프트시켜 가면서 XOR 게이트의 출력을 합한 값 을 나타낸다.
도 9를 참조하면, 예를 들어, 디지털 코드(405)값이 0-즉, '0000'-인 경우 대응되는 천이 위상 클럭(Q', Qb')의 위상은 복원 클럭(Q, Qb)에 대해 각각 -180도이고 이 경우 여러번에 걸쳐 측정한 에러 횟수는 32회이고, 디지털 코드(405)값이 1-즉, '0001'-인 경우 대응되는 천이 위상 클럭(Q', Qb')의 위상은 복원 클럭(Q, Qb)에 대해 각각 -167.5도이고 이 경우 여러번에 걸쳐 측정한 에러 횟수는 21회이다. 디지털 코드(405)값이 3 내지 12-즉, '0011' 내지 '1100'- 사이 값을 가지는 경우 대응되는 천이 위상 클럭(Q', Qb')의 위상은 복원 클럭(Q, Qb)에 대해 -112.5도 내지 +112.5도이고 이 경우 여러번에 걸쳐 측정한 에러 횟수는 0회이다. 에러 횟수가 0 값을 가지는 디지털 코드(405)값 3 내지 12, 즉 위상으로는 -112.5도 내지 +112.5도 사이가 수신 데이터의 아이 사이즈를 나타낸다. 즉, 이 경우의 아이 사이즈는 225도가 된다.
다시 도 3을 참조하면, 아이 사이즈 컨트롤러(450)는 상기 에러 횟수 산출부(430)로부터 에러 횟수를 입력받아 수신 데이터(10)의 아이 사이즈를 산출하고, 각각의 아이 사이즈별로 프리엠프/이퀄라이저(100)의 이퀄라이징 강도(equalizing strength)를 조절하기 위한 이퀄라이저 제어 비트 값을 설정한다. 아이 사이즈 컨트롤러(450)는 이퀄라이저 제어 비트값(401)을 프리엠프/이퀄라이저(100)로 제공한다.
도 10은 복원 클럭을 쉬프트시키기 위한 디지털 코드 값, 에러 횟수, 아이 사이즈 및 이퀄라이저 제어 비트값의 관계를 예시적으로 나타낸 테이블이다.
아이 사이즈 컨트롤러(450)는 이퀄라이저 제어 비트값을 '00', '01', '10', '11'로 프리엠프/이퀄라이저(100)로 제공하고, 각각의 이퀄라이저 제어 비트값에 대한 아이 사이즈를 측정한다.
여기서, 에러 횟수는 각각의 디지털 코드 값에 대해 복수 회(N회) 측정된다. 예를 들어, 이퀄라이저 제어 비트값이 '00'이고, 디지털 코드 값이 0인 경우 50번 에러 횟수를 측정한 결과 에러 횟수가 10인 경우를 나타내며, 이퀄라이저 제어 비트값이 '00'이고, 디지털 코드 값이 2인 경우 50번 에러 횟수를 측정한 결과 에러 횟수가 0인 경우를 나타낸다.
아이 사이즈 컨트롤러(450)는 상기 측정된 아이 사이즈를 레지스터(미도시)에 저장한다. 여기서, 상기 디지털 코드 값, 에러 횟수, 아이 사이즈 및 이퀄라이저 제어 비트값은 레지스터(미도시)에 저장될 수 있다. 상기 레지스터는 아이 사이즈 컨트롤러(450) 내부에 존재할 수도 있고 아이 사이즈 컨트롤러(450) 외부에 설치될 수도 있다.
도 10을 참조하면, 이퀄라이저 제어 비트값이 '00'일 경우 아이 사이즈는 8이고, 이퀄라이저 제어 비트값이 '01'일 경우 아이 사이즈는 14이고, 이퀄라이저 제어 비트값이 '10'일 경우 아이 사이즈는 12이고, 이퀄라이저 제어 비트값이 '11'일 경우 아이 사이즈는 6이다. 즉, 이퀄라이저 제어 비트값이 '01'일 경우 아이 사이즈가 최대값 14를 갖는다. 여기서, 아이 사이즈 1은 4비트의 디지털 코드를 사용한 경우 22.5도의 위상차를 나타낸다.
따라서, 아이 사이즈 컨트롤러(450)는 이퀄라이저 제어 비트값을 '01'로 설 정하여 최대 아이 사이즈가 얻어지도록 프리엠프/이퀄라이저(100)를 제어함으로써 적응적 이퀄라이저(adaptive equalizer)를 구현할 수 있다.
이하, 도 11 내지 도 13을 참조하여 이퀄라이저 제어 비트값을 이용하여 이퀄라이저의 이득을 조절하는 과정을 설명한다.
도 11은 이퀄라이저 제어 비트값이 2비트로 이루어지는 경우의 예를 들어 2단의 이퀄라이저(130)를 나타낸 개념도이고, 도 12는 도 11의 2단의 이퀄라이저(130) 중 1단만을 예시적으로 나타낸 회로도이며, 도 13은 이퀄라이저 제어 비트값을 이용하여 도 12의 이퀄라이저의 이득이 조절되는 것을 보여주는 그래프이다. 도 11의 이퀄라이저는 3단 이상의 이퀄라이저로 구현될 수도 있음은 물론이다.
도 11 및 도 12를 참조하면, 이퀄라이저(130)는 이퀄라이저 제어 비트값 EN0을 제어 입력 단자로 입력받고, 이퀄라이저(132)는 이퀄라이저 제어 비트값 EN1을 제어 입력 단자로 입력받는다.
도 12를 참조하면, 이퀄라이저 제어 비트값 EN0이 '0'인 경우 인버터(131)의 출력은 논리 하이 레벨을 가지며, 스위치(SW)는 턴온되어 이퀄라이저 기능이 오프(off), 즉 이퀄라이징 강도는 0으로 된다.
이퀄라이저 제어 비트값 EN0이 '1'인 경우 인버터(131)의 출력은 논리 로우 레벨을 가지며, 스위치(SW)는 턴오프된다. 이 경우 이퀄라이저(130)는 증폭기로 동작하여 입력 고주파 신호를 커패시터(C)를 통한 신호 패스를 통해 증폭하여 이퀄라이저 기능이 온(on)된다. 따라서, 이퀄라이저의 게인을 적응적으로 조절하여 최대의 아이 사이즈가 얻어질 경우의 이퀄라이저 제어 비트값으로 이퀄라이저의 게인을 설정할 있다.
도 14는 본 발명의 다른 실시예에 따른 디지털 데이터 통신 시스템의 수신기를 나타낸 블록도이다.
도 14는 도 3의 수신기와 달리 CDR(420)에서 수신 데이터로부터 복원한 복원 클럭을 이용하지 않고 PLL(416)의 복수의 클럭(411)을 소정 위상 범위내로 쉬프트 시켜 쉬프트 클럭(Q', Qb')을 생성한다.
도 16은 도 14의 아이 사이즈 측정 회로를 포함하는 수신기의 구체적인 구성을 나타낸 블록도이다.
도 16의 아이 사이즈 측정회로의 구성이 도 3의 아이 사이즈 측정회로와 차이가 있고 나머지 구성요소는 동일하다.
도 16의 아이 사이즈 측정 회로(500)는 도 3의 아이 사이즈 측정 회로(400)와 달리 CDR(420)의 출력 디지털 코드(405)를 이용하여 쉬프트 클럭(Q', Qb')을 생성하지 않고, 제2 위상 인터폴레이터(424)에서 PLL(416)의 복수의 클럭(411)을 소정 위상 범위내로 쉬프트 시켜 쉬프트 클럭(Q', Qb')을 생성한다.
제2 위상 인터폴레이터(424)는 아이 사이즈 컨트롤러(450)로부터 이퀄라이저 제어 비트값을 입력받아 이퀄라이저 제어 비트값이 '00', '01', '10', '11'로 변경될 때마다 쉬프트 클럭의 쉬프트를 새로 개시한다.
여기서, 클럭데이터복원회로(420)는, 도 15에 도시된 바와 같이, 역직렬화기(300)의 출력 데이터(301) 대신 제1 샘플러(200)의 샘플링된 데이터(201)를 이용하여 수신 데이터(10)로부터 복원된 복수의 복원 클럭(403)을 생성할 수도 있다.
도 17 내지 도 20은 본 발명의 다른 실시예에 따른 아이 사이즈 측정회로를 도시한 블록도들이다.
도 17 내지 도 20은 아이 사이즈 측정회로 중 제2 샘플러의 구성 및 에러 횟수 산출부의 구성이 도 3 및 도 16의 아이 사이즈 측정회로와 차이가 있고 나머지 구성요소는 동일하다.
도 17의 아이 사이즈 측정회로(400a)는 도 3의 아이 사이즈 측정회로(400)와 달리 제2 샘플러(410a)를 Q' 플립플롭만으로 구성하고, 에러 횟수 산출부(430a)에서 Q'만을 스캔하여 Q와 Q'를 비교하여 에러 횟수를 측정한다.
도 18의 아이 사이즈 측정회로(500a)는 도 16의 아이 사이즈 측정회로(500)와 달리 제2 샘플러(410a)를 Q' 플립플롭만으로 구성하고, 에러 횟수 산출부(430a)에서 Q'만을 스캔하여 Q와 Q'를 비교하여 에러 횟수를 측정한다.
도 19의 아이 사이즈 측정회로(400b)는 도 3의 아이 사이즈 측정회로(400)와 달리 제2 샘플러(410b)를 Qb' 플립플롭만으로 구성하고, 에러 횟수 산출부(430b)에서 Qb'만을 스캔하여 Qb와 Qb'를 비교하여 에러 횟수를 측정한다.
도 20의 아이 사이즈 측정회로(500b)는 도 16의 아이 사이즈 측정회로(500)와 달리 제2 샘플러(410b)를 Qb' 플립플롭만으로 구성하고, 에러 횟수 산출부(430b)에서 Qb'만을 스캔하여 Qb와 Qb'를 비교하여 에러 횟수를 측정한다.