KR101470599B1 - 복원된 클럭을 이용하여 송신한 데이터를 수신하는 장치 - Google Patents
복원된 클럭을 이용하여 송신한 데이터를 수신하는 장치 Download PDFInfo
- Publication number
- KR101470599B1 KR101470599B1 KR1020140038763A KR20140038763A KR101470599B1 KR 101470599 B1 KR101470599 B1 KR 101470599B1 KR 1020140038763 A KR1020140038763 A KR 1020140038763A KR 20140038763 A KR20140038763 A KR 20140038763A KR 101470599 B1 KR101470599 B1 KR 101470599B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- channel
- phase
- source
- data signal
- Prior art date
Links
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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
본 발명은 반도체 장치에 관한 것으로서, 상세하게는 복원된 클럭을 이용하여 송신된 데이터를 수신하는 장치에 관한 것이다. 본 발명의 예시적인 실시예에 따르면, 둘 이상의 싱크 각각이 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스에 있어서, 제1 채널 초기 소스 클럭을 제1 위상만큼 쉬프트하여 생성한 제1 채널 멀티페이즈 클럭으로 제1 채널 소스측 데이터 신호를 전송하는 제1 송신기, 제2 채널 초기 소스 클럭을 제2 위상만큼 쉬프트하여 생성한 제2 채널 멀티페이즈 클럭으로 제2 채널 소스측 데이터 신호를 전송하는 제2 송신기 및 상기 제1 채널 소스측 데이터 신호에서 복원한 클럭으로 전송된 제1 채널 싱크측 데이터 신호에서 복원된 제1 채널 복원된 소스 클럭의 위상과 상기 제2 채널 소스측 데이터 신호에서 복원한 클럭으로 전송된 제2 채널 싱크측 데이터 신호에서 복원된 제2 채널 복원된 소스 클럭의 위상을 비교하여 상기 제1 위상을 조정하는 스큐 제어기를 포함하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스가 제공된다.
Description
본 발명은 반도체 장치에 관한 것으로서, 상세하게는 복원된 클럭을 이용하여 송신된 데이터를 수신하는 장치에 관한 것이다.
데이터 전송 속도가 고속화되면서, 소스는 클럭과 데이터를 함께 전송하고, 싱크가 클럭을 복원하여 사용하게 되었다. 이러한 고속 통신 방식에서, 싱크의 CDR(Clock Data Recovery)은 클럭을 복원하고, 복원된 클럭의 위상을 정렬하는 기능을 담당한다. 소스와 싱크는 소스에서 싱크로 데이터를 고속으로 전송할 수 있는 하나 이상의 단방향 채널을 통해 통신한다. 일부의 통신 방식은 싱크에서 소스로 데이터를 전송하는 단방향 채널 또는 소스와 싱크간 양방향 채널을 포함하기도 한다. 하지만, 양방향 채널은 단방향 채널에 비해 상대적으로 저속으로 데이터를 전송한다. 그리고, 양방향 데이터 전송을 위해 별도로 송신 클럭을 생성할 구성이 소스와 싱크에 각각 포함되어야 한다. 일반적으로 소스에는 레퍼런스 클럭이 제공되지만, 싱크에는 레퍼런스 클럭의 제공 여부가 확실하지 않은 경우가 많다. 이로 인해, 싱크를 제작할 경우에는 레퍼런스 클럭이 없는 경우를 대비해 설계를 진행해야 한다. 또한, 채널의 수가 증가하게 되면 많은 수의 채널을 효율적으로 배치하기가 어려워진다.
단방향 채널을 양방향 채널으로 활용할 수 있도록 한다. 싱크에서 소스로 데이터 전송이 필요한 경우 단방향 채널을 양방향 채널으로 활용하여 데이터를 전송할 수 있도록 한다. 이 경우, 싱크에 복잡한 구성을 도입하지 않고서도 송신 클럭을 확보할 수 있다.
한편, 소스와 싱크를 연결하는 채널이 전송되는 데이터 신호에 미치는 영향을 최소화할 수 있도록 한다. 복수의 싱크가 복원된 클럭을 이용하여 송신한 데이터 신호들에 발생하는 스큐를 감소시킬 수 있도록 한다.
본 발명의 예시적인 실시예에 따르면, 둘 이상의 싱크 각각이 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스에 있어서, 제1 채널 초기 소스 클럭을 제1 위상만큼 쉬프트하여 생성한 제1 채널 멀티페이즈 클럭으로 제1 채널 소스측 데이터 신호를 전송하는 제1 송신기, 제2 채널 초기 소스 클럭을 제2 위상만큼 쉬프트하여 생성한 제2 채널 멀티페이즈 클럭으로 제2 채널 소스측 데이터 신호를 전송하는 제2 송신기 및 상기 제1 채널 소스측 데이터 신호에서 복원한 클럭으로 전송된 제1 채널 싱크측 데이터 신호에서 복원된 제1 채널 복원된 소스 클럭의 위상과 상기 제2 채널 소스측 데이터 신호에서 복원한 클럭으로 전송된 제2 채널 싱크측 데이터 신호에서 복원된 제2 채널 복원된 소스 클럭의 위상을 비교하여 상기 제1 위상을 조정하는 스큐 제어기를 포함하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스가 제공된다.
예시적인 실시예로서, 상기 스큐 제어기는 상기 제1 채널 복원된 소스 클럭의 위상과 상기 제2 채널 복원된 소스 클럭의 위상을 비교하여 제1 채널 위상 쉬프트 코드를 생성하는 위상 선택기 및 상기 제1 채널 위상 쉬프트 코드에 의해 상기 제1 위상을 조정하는 제1 채널 위상 쉬프터를 포함할 수 있다. 여기서, 상기 위상 선택기는 상기 제1 채널 복원된 소스 클럭과 상기 제2 채널 복원된 소스 클럭의 위상차에 따라 서로 다른 위상을 갖는 복수의 클럭으로 구성된 상기 제1 채널 멀티페이즈 클럭의 시작 클럭을 변경하는 상기 제1 채널 위상 쉬프트 코드를 생성할 수 있다. 한편, 상기 위상 선택기는 상기 제1 채널 멀티페이즈 클럭중에서 상기 위상차의 1/2 위상을 갖는 클럭을 상기 시작 클럭으로 변경하는 상기 제1 채널 위상 쉬프트 코드를 생성할 수 있다.
한편, 상기 위상 선택기는, 상기 제1 채널 복원된 소스 클럭의 위상을 검출하는 제1 채널 클럭 위상 검출기, 상기 제2 채널 복원된 소스 클럭의 위상을 검출하는 제2 채널 클럭 위상 검출기, 및 검출된 제1 채널 복원된 소스 클럭의 위상과 검출된 제2 채널 복원된 소스 클럭의 위상의 위상차에 의해 상기 제1 채널 위상 쉬프트 코드를 생성하는 카운터를 포함할 수 있다.
한편, 상기 위상 쉬프터는 제어코드에 따라 입력받은 상기 제1 채널 멀티페이즈 클럭 중 하나를 출력하는 복수의 먹스 및 상기 제1 채널 위상 쉬프트 코드에 따라 상기 복수의 먹스 각각의 출력을 제어하는 상기 제어코드를 생성하는 제어코드 생성기를 포함할 수 있다.
예시적인 실시예로서, 상기 스큐 제어기는 상기 제1 채널 복원된 소스 클럭 및 상기 제2 채널 복원된 소스 클럭 중 딜레이가 큰 클럭을 기준으로 상기 제1 위상을 조정할 수 있다.
예시적인 실시예로서, 상기 스큐 제어기는 상기 제1 채널 복원된 소스 클럭 및 상기 제2 채널 복원된 소스 클럭 중 딜레이가 작은 클럭을 기준으로 상기 제1 위상을 조정할 수 있다.
예시적인 실시예로서, 상기 스큐 제어기는 상기 제1 채널 싱크측 데이터 신호 및 상기 제2 채널 싱크측 데이터 신호를 최초로 수신하면 상기 제1 위상을 조정할 수 있다.
예시적인 실시예로서, 상기 스큐 제어기는 주기적으로 상기 제1 위상을 조정할 수 있다.
예시적인 실시예로서, 상기 스큐 제어기는 상기 제1 채널 싱크측 데이터 신호 및 상기 제2 채널 싱크측 데이터 신호를 최초로 수신한 후 미리 지정된 회수 동안 상기 제1 위상을 조정할 수 있다.
예시적인 실시예로서, 상기 스큐 제어기는 상기 제1 채널 복원된 소스 클럭의 위상과 상기 제2 채널 복원된 소스 클럭의 위상을 비교하여 제1 채널 위상 쉬프트 코드 및 제2 채널 위상 쉬프트 코드를 생성하는 위상 선택기, 상기 제1 채널 위상 쉬프트 코드에 의해 상기 제1 위상을 조정하는 제1 채널 위상 쉬프터 및 상기 제2 채널 위상 쉬프트 코드에 의해 상기 제2 위상을 조정하는 제2 채널 위상 쉬프터를 포함할 수 있다.
예시적인 실시예로서, 상기 제1 송신기는 상기 제1 채널 멀티페이즈 클럭을 생성하는 멀티페이즈 클럭 생성기 및 상기 제1 채널 멀티페이즈 클럭으로 제1 채널 소스측 데이터를 직렬화하여 상기 제1 채널 소스측 데이터 신호를 출력하는 시리얼라이저를 포함할 수 있다.
단방향 채널을 양방향 채널으로 활용할 수 있게 된다. 싱크에서 소스로 데이터 전송이 필요한 경우 단방향 채널을 양방향 채널으로 활용하여 데이터를 전송할 수 있다. 이 경우, 싱크에 복잡한 구성을 도입하지 않고서도 송신 클럭을 확보할 수 있다.
또한, 소스와 싱크를 연결하는 채널에 의한 영향이 최소화할 수 있다. 복수의 싱크가 복원된 클럭을 이용하여 송신한 데이터 신호들에 발생하는 스큐가 감소될 수 있다.
이하에서, 본 발명은 첨부된 도면에 도시된 실시예를 참조하여 설명된다. 이해를 돕기 위해, 첨부된 전체 도면에 걸쳐, 동일한 구성 요소에는 동일한 도면 부호가 할당되었다. 첨부된 도면에 도시된 구성은 본 발명을 설명하기 위해 예시적으로 구현된 실시예에 불과하며, 본 발명의 범위를 이에 한정하기 위한 것은 아니다.
도 1은 소스와 싱크 구성을 예시적으로 나타낸 도면이다.
도 2a는 싱크의 클럭 생성 장치의 구성을 나타낸 도면이다.
도 2b는 싱크의 클럭 생성 장치의 다른 구성을 나타낸 도면이다.
도 3은 도 2a 내지 도 2b에 도시된 클럭 생성 장치의 동작을 설명하기 위한 도면이다.
도 4a 및 도 4b는 도 2a 내지 도 2b에 도시된 송신 클럭 설정기의 예시적인 구성을 나타낸 도면이다.
도 5a는 복수의 싱크와 연결된 소스를 예시적으로 도시한 도면이고, 도 5b는 제1 소스 클럭과 제2 소스 클럭간 스큐를 예시적으로 도시한 도면이다.
도 6은 복수의 싱크에 의해 발생한 스큐를 감소시키는 방법을 예시적으로 설명하기 위한 도면이다.
도 7은 복수의 싱크와 연결 가능한 소스의 예시적인 구성을 도시한 도면이다.
도 8a는 위상 쉬프터의 예시적인 구성을 예시적으로 도시한 도면이다.
도 8b는 도 8a의 위상 쉬프터를 제어하기 위한 위상 제어코드를 생성하는 제어코드 생성기의 예시적인 구성을 도시한 도면이다.
도 9a는 위상 선택기의 예시적인 구성을 도시한 도면이다.
도 9b는 도 9a에 도시된 클럭 위상 검출기의 예시적인 구성을 예시적으로 도시한 도면이다.
도 10은 소스와 싱크간 데이터 전송 과정을 설명하기 위한 흐름도이다.
도 11은 소스와 싱크간 전송되는 데이터의 구조를 도시한 도면이다.
도 12는 미니 트레이닝 패턴을 도시한 도면이다.
도 1은 소스와 싱크 구성을 예시적으로 나타낸 도면이다.
도 2a는 싱크의 클럭 생성 장치의 구성을 나타낸 도면이다.
도 2b는 싱크의 클럭 생성 장치의 다른 구성을 나타낸 도면이다.
도 3은 도 2a 내지 도 2b에 도시된 클럭 생성 장치의 동작을 설명하기 위한 도면이다.
도 4a 및 도 4b는 도 2a 내지 도 2b에 도시된 송신 클럭 설정기의 예시적인 구성을 나타낸 도면이다.
도 5a는 복수의 싱크와 연결된 소스를 예시적으로 도시한 도면이고, 도 5b는 제1 소스 클럭과 제2 소스 클럭간 스큐를 예시적으로 도시한 도면이다.
도 6은 복수의 싱크에 의해 발생한 스큐를 감소시키는 방법을 예시적으로 설명하기 위한 도면이다.
도 7은 복수의 싱크와 연결 가능한 소스의 예시적인 구성을 도시한 도면이다.
도 8a는 위상 쉬프터의 예시적인 구성을 예시적으로 도시한 도면이다.
도 8b는 도 8a의 위상 쉬프터를 제어하기 위한 위상 제어코드를 생성하는 제어코드 생성기의 예시적인 구성을 도시한 도면이다.
도 9a는 위상 선택기의 예시적인 구성을 도시한 도면이다.
도 9b는 도 9a에 도시된 클럭 위상 검출기의 예시적인 구성을 예시적으로 도시한 도면이다.
도 10은 소스와 싱크간 데이터 전송 과정을 설명하기 위한 흐름도이다.
도 11은 소스와 싱크간 전송되는 데이터의 구조를 도시한 도면이다.
도 12는 미니 트레이닝 패턴을 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
도 1은 소스와 싱크 구성을 예시적으로 나타낸 도면이다.
소스와 싱크는 채널을 통해 전기적으로 연결되며, 소스는 싱크로 데이터 신호를 전송한다. 하나의 채널을 통해 소스는 싱크로 데이터 신호를 고속으로 전송하며, 싱크는 데이터 신호에서 복원된 클럭을 이용하여 송신 클럭을 생성하고 이를 이용하여 리턴 데이터를 소스로 전송한다.
소스와 싱크는 각각 송신기 Tx와 수신기 Rx를 포함한다. 소스의 수신기 Rx는 싱크의 송신기 Tx가 송신한 싱크측 데이터 신호에서 클럭과 데이터를 복원하는 CDR(Clock and Data Recovery)이며, 싱크의 수신기 Rx는 소스의 송신기 Tx가 송신한 소스측 데이터 신호에서 클럭과 데이터를 복원하는 CDR이다. 싱크의 송신기 Tx는 CDR에 의해 복원된 클럭과 실질적으로 동일한 주파수를 갖는 송신 클럭을 생성할 수 있다. 여기서, 소스의 송신기 Tx는 레퍼런스 클럭을 이용하여 생성된 멀티페이즈 클럭으로 소스측 데이터를 전송할 수 있다.
리턴 데이터는 소스측 데이터 신호 전송이 일시 중단되는 블랭크 구간에 싱크에서 소스로 전송된다. 블랭크 구간 동안 채널의 데이터 전송 방향은 변경되어 싱크만이 데이터를 전송할 수 있게 된다. 데이터 전송 방식에 따라 달라질 수 있지만, 블랭크 구간은 소스와 싱크간 데이터 신호를 통신하는 동안 적어도 1회 이상 발생할 수 있다. 블랭크 구간은 데이터 전송 방식에 따라 특정한 길이를 가질 수 있다. 한편, 데이터 신호가 전송되는 구간과 비교할 때, 블랭크 구간의 길이는 데이터 신호가 전송되는 구간에 비해 상대적으로 짧다. 하지만, 리턴 데이터의 크기를 블랭크 구간보다 작게 구성함으로써, 소스-싱크간 데이터 전송 효율에 전혀 영향을 미치지 않으면서 동시에 양방향 통신을 가능하게 할 수 있다. 한편, 리턴 데이터의 크기가 블랭크 구간보다 커지더라도, 후속 블랭크 구간을 이용하여 리턴 데이터를 분할 전송함으로써 역시 소스-싱크간 데이터 전송 효율에 영향을 주시 않을 수 있다. 또한, 리턴 데이터의 크기가 블랭크 구간보다 클 경우, bit rate을 증가시켜서 전송할 수도 있으며, 이 경우, 싱크의 송신기 Tx의 시리얼라이저가 멀티페이즈 클럭을 사용하여 복원된 클럭의 bit rate 이상으로 전송할 수 있다.
도 2a는 싱크의 클럭 생성 장치의 구성을 나타낸 도면이고, 도 2b는 싱크의 클럭 생성 장치의 다른 구성을 나타낸 도면이다.
도 2a를 참조하면, 싱크는 수신기(100)와 송신기(300)로 구성되며, 양방향 인터페이스를 통해 소스에 전기적으로 통신가능하게 연결된다. 수신기(100)는 소스로부터 수신된 소스측 데이터 신호의 수신 클럭과 복원된 클럭의 위상차를 이용하여 디지털 제어 오실레이터 코드를 생성하고, 생성된 디지털 제어 오실레이터 코드에 의해 복원된 상기 복원된 클럭을 이용하여 상기 소스측 데이터 신호에서 데이터를 복원한다. 송신기(300)는 복원된 클럭을 수신 클럭에 라킹시킨 디지털 제어 오실레이터 코드에 의해 송신 클럭을 생성하고, 송신 클럭을 이용하여 리턴 데이터를 소스로 전송한다.
싱크의 클럭 생성 장치는 디지털 위상 검출기(110), 시간-디지털 변환기(120), 제1 디지털 제어 오실레이터(140), 락 검출기(160), 송신 클럭 설정기(200), 제2 디지털 제어 오실레이터(310)를 포함한다. 한편, 싱크의 클럭 생성 장치는 디지털 필터(130)를 더 포함할 수 있다.
디지털 위상 검출기(110)는 수신 클럭과 복원된 클럭의 위상차를 검출한다. 양방향 인터페이스(330)를 통해 입력된 소스측 데이터 신호의 수신 클럭의 위상을 수신 클럭을 이용하여 복원된 클럭의 위상과 비교하여 복원된 클럭의 위상이 수신 클럭에 비해 늦거나 빠른지를 나타내는 검출된 위상차를 출력한다. 여기서, 소스측 데이터 신호는 메인 트레이닝 패턴 및 미니 트레이닝 패턴 중 어느 하나를 포함할 수 있다. 디지털 위상 검출기(110)는, 예를 들어, Alexander 위상 검출기, Oversampled 위상 검출기, 또는 Bang-Bang 위상 검출기 등과 같은 비선형 검출기일 수 있다. 입력된 소스측 데이터 신호와 복원된 클럭의 위상차를 비교하여 그 차이에 비례하는 너비를 가지는 업 신호 펄스(UP) 및 다운 신호 펄스(DN)를 생성하는 선형 위상 검출기에 비해, 비선형 위상 검출기는 위상 오차의 크기에 대한 정보는 무시하고 위상 오차의 극성을 출력할 수 있다.
시간-디지털 변환기(120)는 디지털 위상 검출기(110)의 출력단에 연결되며, 검출된 위상차를 디지털 제어 오실레이터 코드로 변환한다. 예를 들어, 검출된 위상차는, 예를 들어, UP/DN, Early/late, Error/Ref 등과 같이 다양한 형태로 출력될 수 있으며, 복원된 클럭의 위상이 수신 클럭의 위상에 대해 빠름/느림을 나타내며, 시간-디지털 변환기(120)는 검출된 위상차를 n 비트(n은 자연수)의 디지털 신호인 디지털 제어 오실레이터 코드로 변환한다. 따라서 제1 디지털 제어 오실레이터(140)가 라킹(locking)되기 전까지는 서로 다른 값을 갖는 디지털 제어 오실레이터 코드가 계속해서 출력될 수 있다. 제1 디지털 제어 오실레이터(140)가 라킹되면, 시간-디지털 변환기(120)는 고정된 디지털 제어 오실레이터 코드를 출력할 수 있다.
디지털 필터(130)는 시간-디지털 변환기(120)로부터 출력된 디지털 제어 오실레이터 코드를 디지털 모드로 필터링할 수 있다. 디지털 필터(130)에 의해 복원된 클럭 및 송신 클럭의 지터 노이즈 특성이 향상될 수 있다.
제1 디지털 제어 오실레이터(140)는 시간-디지털 변환기(120)의 출력단 또는 디지털 필터(130)의 출력단에 연결되며, 디지털 제어 오실레이터 코드에 의해 복원된 클럭을 출력한다. 제1 디지털 제어 오실레이터(140)는 n 비트의 디지털 제어 오실레이터 코드에 따라 클럭의 주파수가 증가하거나 감소한다. 예를 들어, 9 비트의 디지털 제어 오실레이터 코드를 이용하는 경우, 제1 디지털 제어 오실레이터(140)는 최대 512개의 서로 다른 주파수를 갖는 클럭을 출력할 수 있다.
디시리얼라이저(150)는 양방향 인터페이스를 통해 입력된 직렬 데이터 신호를 복원된 클럭을 이용하여 병렬화한다. 병렬화된 데이터는 싱크의 제어회로(미도시)로 출력된다. 싱크의 제어회로는 병렬화된 데이터를 처리할 뿐만 아니라, 수신기(100), 송신 클럭 설정기(200), 및 송신기(300)의 동작을 제어하는 기능을 수행한다.
락 검출기(160)는 디지털 위상 검출기(110)의 출력단에 연결되며, 제1 디지털 제어 오실레이터(140)의 라킹 여부를 판단한다. 상세하게는, 락 검출기(160)는 디지털 위상 검출기(110)로부터 출력된 위상차를 이용하여 복원된 클럭이 수신 클럭에 일치하면 라킹 검출 신호를 출력한다. 디지털 위상 검출기(110)는 수신 클럭과 복원된 클럭의 위상차를 검출한다. 디지털 위상 검출기(110)가 출력하는 위상차는 다양한 형태가 될 수 있다. 예를 들어, 위상차는 빠름/느림을 나타내는 펄스이거나, Reference/Error를 나타내는 펄스일 수 있다. 위상차가 어떠한 방식으로 출력되는지 여부와는 무관하게, 제1 디지털 제어 오실레이터(140)가 라킹되면, 검출값은 일정한 형태를 유지하게 된다. 예를 들어, 빠름/느림을 나타내는 펄스로 출력되는 경우, 빠름 펄스와 느림 펄스가 동일 시점에 출력되거나, 아주 짧은 펄스로 출력될 수 있다. 이외에도 다양한 형태로 라킹 상태가 표현될 수 있다. 따라서 락 검출기(160)는 라킹 상태에 출력되는 위상차의 형태를 이용하여 라킹 여부를 판단할 수 있다.
한편, 락 검출기(160)는 제1 디지털 제어 오실레이터(140)의 출력단에 연결되며, 제1 디지털 제어 오실레이터(140)의 라킹 여부를 판단할 수도 있다. 락 검출기(160)는 수신 클럭과 제1 디지털 제어 오실레이터(140)에 의해 복원된 클럭을 비교하여 라킹이 발생하면 라킹 검출 신호를 출력한다. 예를 들어, 수신 클럭과 복원된 클럭의 라이징 엣지를 비교하여 일치하면, 락 검출기(160)는 라킹이 되었다고 판단할 수 있다. 다른 예로서, 락 검출기(160)는 수신 클럭과 복원된 클럭의 라이징 엣지의 위상이 일치하는 회수를 카운팅하여 라킹 여부를 판단할 수도 있다. 또 다른 예로, 제1 디지털 제어 오실레이터(140)로부터 출력되는 복수의 복원된 클럭들에서 선택된 두 개의 복원된 클럭을 비교하여 복원된 클럭이 수신 클럭에 일치하는지를 판단할 수도 있다. 이외에도 다양한 방식을 이용하여 라킹 여부를 판단할 수 있음은 물론이다.
한편, 도 2a에서는 락 검출기(160)가 수신기(100)에 위치한 것으로 도시되어 있으나, 반드시 이에 한정되는 것은 아니다. 또한 락 검출기(160)로부터 송신 클럭 설정기(200)로 라킹 검출 신호가 직접 제공되는 것으로 도시되어 있으나, 이는 이해를 돕기 위한 일 예시에 불과하며, 라킹 검출 신호는 싱크의 제어회로를 경유해서 단독으로 또는 제어 신호와 함께 제공될 수도 있다.
송신 클럭 설정기(200)는 수신기(100)와 송신기(300) 사이에 위치하며, 송신기(300)에 위치한 제2 디지털 제어 오실레이터(310)에 디지털 제어 오실레이터 코드를 제공한다. 송신 클럭 설정기(200)는 락 검출기(160)로부터 라킹 검출 신호를 수신하면 제2 디지털 제어 오실레이터(310)에 디지털 제어 오실레이터 코드를 제공할 수 있다. 한편, 송신기(300)에 의한 전력 손실을 방지하거나 양방향 인터페이스가 연결된 전송매체에 노이즈가 발생하지 않도록 하기 위해서 싱크의 제어회로는 수신 동작중에는 송신기(300)를 턴 오프하며, 송신 동작중에는 수신기(100)를 턴 오프할 수도 있다. 송신 클럭 설정기(200)는 라킹 검출 신호 및 제어회로로부터의 제어 신호의 조합에 의해 제2 디지털 제어 오실레이터(310)에 디지털 제어 오실레이터 코드를 제공할 수 있다. 송신 클럭 설정기(200) 구조의 예시와 동작은 도 4a 및 4b를 참조하여 설명하기로 한다.
제2 디지털 제어 오실레이터(310)는 송신 클럭을 제공한다. 제2 디지털 제어 오실레이터(310)는 라킹 검출 신호에 의해 제공된 디지털 제어 오실레이터 코드를 이용하여 송신 클럭을 출력한다. 예를 들어, 제2 디지털 제어 오실레이터(310)와 제1 디지털 제어 오실레이터(140)는 동일한 구조를 가질 수 있다. 따라서 라킹 검출 신호가 출력되도록 한 디지털 제어 오실레이터 코드에 의해서, 제2 디지털 제어 오실레이터(310)와 제1 디지털 제어 오실레이터(140)는 동일한 클럭을 출력할 수 있다.
시리얼라이저(320)는 제어회로가 입력한 데이터를 직렬화하여 출력한다. 출력된 데이터는 양방향 인터페이스를 통해 소스로 전송된다. 싱크의 제어 회로는 미니 트레이닝 패턴(Mini training) 및 라킹 데이터를 포함하는 리턴 데이터와 블랭크 구간의 종료를 나타내는 싱크 엔드를 시리얼라이저(320)를 통해 소스로 전송한다. 한편, 시리얼라이저(320)는 멀티페이즈 클럭을 이용하여 복원된 송신 클럭의 bit rate 이상의 bit rate으로 리턴 데이터를 전송할 수도 있다.
양방향인터페이스(330)는 소스와 싱크간 데이터 전송 방향을 제어한다. 소스측 데이터 신호를 수신하는 경우, 양방향인터페이스(330)는 싱크에서 소스로의 싱크측 데이터 신호 전송을 중단하며, 싱크측 데이터 신호를 전송하는 경우, 양방향인터페이스(330)는 소스에서 싱크로의 소스측 데이터 신호 수신을 중단한다. 양방향인터페이스(330)의 데이터 송신 방향은 제어회로의 제어신호에 의해 결정된다. 여기서, 제어 회로는 소스로부터 수신한 소스 엔드(Source End)에 의해 양방향인터페이스(330)가 싱크에서 소스로 리턴 데이터를 전송할 수 있도록 한다. 아울러, 리턴 데이터의 전송이 종료되면, 제어 회로는 싱크 엔드를 소스로 전송하고 양방향인터페이스(330)가 소스측 데이터 신호를 수신할 수 있도록 한다.
도 2b는 싱크의 클럭 생성 장치의 또 다른 구성을 나타낸 도면이다.
도 2b를 참조하면, 싱크는 수신기(100)와 송신기(300)로 구성되며, 양방향 인터페이스를 통해 소스에 전기적으로 통신가능하게 연결된다. 싱크의 클럭 생성 장치는 선형 위상 검출기(115), 차지 펌프/LPF(125), 아날로그-디지털 변환기(135), 제1 디지털 제어 오실레이터(140), 락 검출기(160), 송신 클럭 설정기(200), 제2 디지털 제어 오실레이터(310)를 포함한다. 도 2a에서 설명된 구성 요소에 대한 동일한 설명은 생략한다.
선형 위상 검출기(115)는 수신 클럭과 복원된 클럭의 위상차를 검출한다. 양방향인터페이스(330)를 통해 입력된 소스측 데이터 신호의 수신 클럭의 위상을 수신 클럭을 이용하여 복원된 클럭의 위상과 비교하여 복원된 클럭의 위상이 수신 클럭에 비해 늦거나 빠른지를 나타내는 검출된 위상차를 출력한다. 대표적인 선형 위상 검출기(115)인 Hogge 타입 위상 검출기는 D플립플롭과 XOR 게이트로 이루어진 단순 위상 검출기를 2개 연결한 구조이지만, 반드시 이에 한정되는 것은 아니며, 다양한 구성을 갖는 선형 위상 검출기가 적용될 수 있다. 선형 위상 검출기(115)는 데이터 신호와 복원된 클럭의 위상차를 비교하며, 예를 들어, 위상차에 비례하는 너비를 가지는 업 신호 펄스 UP 및 다운 신호 펄스 DN을 생성한다.
차지 펌프/LPF(125)는 차지 펌프와 로우 패스 필터를 포함하며, 선형 위상 검출기(115)의 출력단에 연결된다. 차지 펌프/LPF(125)는 검출된 위상차에 따른 제어 전압 Vctrl을 출력한다. 가장 단순한 구성을 예로 들면, 차지 펌프는 두 개의 정전류원과 각 정전류원에 의한 전류 공급을 제어하는 두 개의 스위치로 구성될 수 있으나, 반드시 이에 한정되는 것은 아니다. 각 정전류원이 공급하는 전류는 선형 위상 검출기(115)에서 출력된 업 신호 펄스 UP 및 다운 신호 펄스 DN에 의해 스위칭하는 스위치에 의해 달라진다. 마찬가지로, 가장 단순한 구성을 예로 들면, 로우 패스 필터는 차지 펌프의 출력단에 연결된 저항 및 커패시터의 조합으로 구성된 RC 필터일 수 있으나, 반드시 이에 한정되는 것은 아니다. 업 신호 펄스 UP 및 다운 신호 펄스 DN에 의해서, 차지 펌프는, 예를 들어, 로우 패스 필터에 포함된 커패시터로부터 전하를 흡수하는 Pull 동작 또는 전하를 공급하는 push 동작을 할 수 있다. 차지 펌프의 Pull 동작에 의해 로우 패스 필터로부터 출력되는 제어 전압 Vctrl은 낮아지며, Push 동작에 의해 제어 전압 Vctrl은 높아질 수 있다.
아날로그-디지털 변환기(135)는 제어 전압 Vctrl을 n 비트의 디지털 제어 오실레이터 코드로 변환한다. 따라서 제1 디지털 제어 오실레이터(140)가 라킹(locking)되기 전까지는 서로 다른 값을 갖는 디지털 제어 오실레이터 코드가 계속해서 출력될 수 있다. 제1 디지털 제어 오실레이터(140)가 라킹되면, 아날로그-디지털 변환기(135)는 실질적으로 고정된 디지털 제어 오실레이터 코드를 출력할 수 있다. 여기서, 실질적으로 고정은 허용 가능한 오차 범위(마진)내에서 디지털 제어 오실레이터 코드가 변화하는 경우를 의미한다.
한편, 아날로그-디지털 변환기(135)는 다양한 구조를 갖도록 설계될 수 있다. 예를 들어, 아날로그-디지털 변환기(135)는 제어 전압 Vctrl을 8 비트의 디지털 제어 오실레이터 코드로 변환할 수 있으나, 정밀한 제어를 위해 디지털 제어 오실레이터 코드의 비트수는 증가될 수도 있다. 아날로그-디지털 변환기(135)는 기준 전압 Vref를 전압 분배하는 8개의 저항(R1 내지 R8) 및 제어 전압과 전압 분배된 Vref를 비교하는 8개의 비교기(C1 내지 C8)로 구성될 수 있다. R1 내지 R8은 동일한 저항값을 가지며 Vref를 1/8씩 전압 분배한다. 여기서, Vref는 Vctrl의 최대값을 고려해서 결정될 수 있다. 비교기 C1 내지 C8은 입력된 제어 전압 Vctrl을 분배된 Vref와 비교하여 최상위비트 C7부터 최하위비트 C0를 각각 출력한다. 출력된 C7 내지 C0는 8 비트의 디지털 제어 오실레이터 코드를 구성할 수 있다. 한편, 아날로그-디지털 변환기(135)는 출력된 C7 내지 C0를 제1 및 제2 디지털 제어 오실레이터를 제어하기 위한 디지털 제어 오실레이터 코드로 변환하는 코드 변환기를 더 포함할 수도 있다.
락 검출기(160)는 복원된 클럭이 수신 클럭에 일치하면 라킹 검출 신호를 출력한다. 복원된 클럭이 수신 클럭에 일치하는지를 판단하는 방법은 다양하게 구현될 수 있다. 도 2b와 같이, 락 검출기(160)가 선형 위상 검출기(115)의 출력단에 연결되는 경우에, 제1 디지털 제어 오실레이터(140)가 라킹되어 복원된 클럭이 수신 클럭에 실질적으로 일치하면, 업 신호 펄스 UP 및 다운 신호 펄스 DN는 특정한 패턴으로 출력된다. 예를 들어, 업 신호 펄스 UP 및 다운 신호 펄스 DN는 짧은 펄스(short pulse)로 출력되거나 아무런 펄스도 출력되지 않는 경우, 락 검출기(160)는 라킹 검출 신호를 출력할 수 있다. 한편, 락 검출기(160)가 제1 디지털 제어 오실레이터(140)의 출력단에 연결되는 경우에, 제1 디지털 제어 오실레이터(140)의 라킹되면, 락 검출기(160)는 수신 클럭과 제1 디지털 제어 오실레이터(140)에 의해 복원된 클럭을 비교하여 라킹이 발생하면 라킹 검출 신호를 출력할 수도 있다. 예를 들어, 수신 클럭과 복원된 클럭의 라이징 엣지를 비교하여 일치하면, 락 검출기(160)는 라킹이 되었다고 판단할 수 있다. 다른 예로서, 락 검출기(160)는 수신 클럭과 복원된 클럭의 라이징 엣지의 위상이 일치하는 회수를 카운팅하여 라킹 여부를 판단할 수도 있다. 또 다른 예로, 제1 디지털 제어 오실레이터(140)로부터 출력되는 복수의 복원된 클럭들에서 선택된 두 개의 복원된 클럭을 비교하여 복원된 클럭이 수신 클럭에 일치하는지를 판단할 수도 있다. 또 다른 예로, 락 검출기(160)는 아날로그-디지털 변환기(135)의 출력단에 연결되는 경우에, 디지털 제어 오실레이터 코드가 실질적으로 고정되면, 락 검출기(160)는 라킹 검출 신호를 출력할 수도 있다. 이외에도 다양한 방식을 이용하여 라킹 여부를 판단할 수 있음은 물론이다.
도 3은 도 2a 내지 도 2b에 도시된 송신 클럭 생성 장치의 동작을 설명하기 위한 도면이다.
수신기(100)에서는, 양방향 인터페이스를 통해 소스측 데이터 신호가 입력되면(400), 입력된 소스측 데이터 신호의 수신 클럭에 복원된 클럭이 라킹되도록 제1 디지털 제어 오실레이터(140)가 동작한다(410). 수신 클럭과 복원된 클락 사이에 라킹이 발생하면 락 검출기(160)는 라킹 검출 신호를 출력한다(420). 이후, 송신기(300)가 동작하는 동안에는, 제어회로의 제어에 의해 수신기(100)는 턴 오프된다(430).
송신기(300)에서는, 라킹 검출 신호에 상응하는 n 비트의 디지털 제어 발진기 코드가 송신 클럭 설정기(200)에 의해 제2 디지털 제어 오실레이터(310)에 전달된다(440). 이후, n 비트의 디지털 제어 오실레이터 코드에 의해 제2 디지털 제어 오실레이터(310)는 고정된 주파수를 갖는 송신 클럭을 출력한다(450). 송신기(300)는 송신 클럭을 이용하여 싱크 데이터를 소스로 전송한다(460).
일 실시예로서, 라킹 검출 신호가 출력되면, 송신기(300)가 턴온되어 송신 클럭을 발생할 수 있다. 다른 실시예로서, 라킹 검출 신호가 출력되더라도 제어회로의 제어에 의해서만 송신기(300)가 턴온 될 수도 있다. 또 다른 실시예로서, 라킹 검출 신호가 출력되더라도 수신기(100)가 턴 오프되어야만 송신기(300)가 턴온 될 수도 있다. 따라서 도 2에서는 단계 420과 440이 동일 시점에 수행되는 것으로 도시되어 있으나, 실시예에 따라서는 서로 다른 시점에 수행될 수도 있다. 마찬가지로, 단계 430과 450이 반드시 동일 시점에 수행되어야 하는 것은 아니다.
도 4a 및 도 4b는 2a 내지 도 2b에 도시된 송신 클럭 설정기의 예시적인 구성을 나타낸 도면이다.
도 4a를 참조하면, 송신 클럭 설정기(200)는 2개의 입력을 가진 2:1 멀티플렉서를 이용하여 구현될 수 있다. 멀티플렉서의 제1 입력단은 아날로그-디지털 변환기(160)에 연결되어 디지털 제어 오실레이터 코드를 입력받는다. 멀티플렉서의 제2 입력단은 멀티플렉서의 출력단에 연결되어, 출력되는 디지털 제어 오실레이터 코드를 다시 입력받는다. 이 연결 구조에 의해, 수신기(100)가 턴 오프되어 디지털 제어 오실레이터 코드가 제공되지 않을 때에도 디지털 제어 오실레이터 코드가 제2 디지털 제어 오실레이터(310)에 제공될 수 있다. 싱크의 제어회로가 제공한 제어 신호는 멀티플렉서를 턴온 또는 턴 오프하는 인에이블 신호로 작용하거나, 라킹 검출 신호와 함께 멀티플렉서의 입력단을 선택하는 작용을 할 수 있다.
일실시예로, 멀티플렉서의 입력단을 선택하는 신호는 락 검출기(160)로부터 제공된 라킹 검출 신호일 수 있다. 라킹 검출 신호에 의해 제1 입력단이 선택될 수 있다. 한편, 멀티플렉서는 라킹 검출 신호가 입력되지 않으면 제2 입력단을 기본적으로 선택하도록 구성될 수 있다. 이로 인해, 라킹 검출 신호가 제공되기 전에는 디지털 제어 오실레이터 코드가 제2 디지털 제어 오실레이터(310)에 제공되지 않을 수 있다. 또한, 락 검출기(160)가 수신기(100)에 포함되어 턴 오프되더라도 라킹 검출 신호에 상응하는 디지털 제어 오실레이터 코드가 지속적으로 제2 디지털 제어 오실레이터(310)에 제공될 수 있다.
다른 실시예로, 멀티플렉서의 입력단을 선택하는 신호는 라킹 검출 신호와 제어 신호의 조합일 수 있다. 이를 위해, 라킹 검출 신호와 제어 신호를 입력 받아 논리 연산한 후 멀티플렉서에 입력하는 논리회로(미도시)가 멀티플렉서에 연결될 수 있다. 한편, 라킹 검출 신호는 제어 회로에 제공되며, 제어 회로는 라킹 검출 신호를 수신한 후 송신기(300)를 턴 온 할 수 있다.
도 4b를 참조하면, 송신 클럭 설정기(200)는 디지털 제어 오실레이터 코드를 저장하는 래치로 구성될 수 있다. 래치가 디지털 제어 오실레이터 코드를 저장함으로써, 송신 클럭을 제공하는 동작이 시작되기 전 또는 송신기(300)가 턴 온 되기 전에 수신기(100)가 턴 오프되더라도 라킹 검출 신호에 상응하는 디지털 제어 오실레이터 코드가 제2 디지털 제어 오실레이터(310)에 제공되도록 할 수 있다.
한편, 래치의 출력단에 도 4a의 멀티플렉서의 제1 입력단이 연결된 것으로 도시되어 있으나, 제어 회로가 래치로의 입출력을 제어함으로써 멀티플렉서가 생략되거나, 예를 들어, 스위치와 같은 단순한 회로 요소로 교체될 수도 있다.
도 5a는 복수의 싱크와 연결된 소스를 예시적으로 도시한 도면이고, 도 5b는 제1 소스 클럭과 제2 소스 클럭간 스큐를 예시적으로 도시한 도면이다.
하나의 소스(500)는 복수의 채널을 통해 복수의 싱크(510, 515)와 통신 가능하게 연결될 수 있다. 도 5a에는 두 개의 채널을 통해 제1 싱크 및 제2 싱크(510, 515)에 연결된 소스(500)가 도시되어 있다. 소스(500)는 레퍼런스 클럭을 이용하여 채널마다 소스측 데이터 신호를 제1 싱크 및 제2 싱크(510, 515)로 각각 전송한다. 제1 싱크 및 제2 싱크(510, 515)는 수신한 소스측 데이터 신호에서 클럭과 소스측 데이터를 복원한다. 한편, 제1 싱크 및 제2 싱크(510, 515)는 복원한 클럭을 이용하여 생성한 송신 클럭으로 싱크측 데이터 신호를 소스(500)로 전송한다.
싱크가 복원된 클럭을 이용하여 생성한 송신 클럭으로 싱크측 데이터 신호를 전송하는 경우는 싱크가 레퍼런스 클럭을 이용하여 싱크측 데이터 신호를 전송하는 경우보다 스큐가 커질 수 있다. 여기서 스큐는 제1 싱크측 데이터 신호에서 복원된 제1 채널 복원된 소스 클럭과 제2 싱크측 데이터 신호에서 복원된 제2 채널 복원된 소스 클럭간에 발생한 위상차이다. 예를 들어, 도 5b와 같이 소스(500)가 제1 싱크 및 제2 싱크(510, 515)로 소스측 데이터 신호를 전송할 때 제1 채널 및 제2 채널간 물리적 특성, 예를 들어, 채널의 길이 등의 차이로 인해 제1 싱크 및 제2 싱크(510, 515)에 의해 복원된 클럭들 사이에 스큐가 발생하므로, 복원된 클럭들을 이용하여 생성된 송신 클럭들 사이에도 스큐가 발생한다. 제1 싱크 및 제2 싱크(510, 515)가 송신 클럭들을 이용하여 제1 채널 및 제2 채널을 통해 싱크측 데이터 신호를 전송하면, 싱크측 데이터 신호들은 또 다시 제1 채널 및 제2 채널의 물리적 특성에 영향을 받게 된다. 즉, 최초에 소스측 데이터 신호의 전송에 이용된 레퍼런스 클럭이 채널의 물리적 특성의 영향을 두 번 받게 된다고 볼 수 있다. 그러나 제1 싱크 및 제2 싱크(510, 515)가 레퍼런스 클럭을 사용하여 싱크측 데이터 신호를 전송하면, 제1 채널 및 제2 채널의 물리적 특성에 영향을 한 번만 받으므로, 이 때 발생하는 스큐는 복원된 클럭을 사용하는 경우보다 같거나 작게 된다. 따라서 이러한 조건을 반영하여 제1 소스 클럭과 제2 소스 클럭간의 스큐를 허용 가능한 범위 이내로 조정할 필요가 있다.
도 6은 복수의 싱크에 의해 발생한 스큐를 감소시키는 방법을 예시적으로 설명하기 위한 도면이다. 도 6에서는 1개의 소스가 3개의 싱크와 통신 가능하게 연결된 경우를 예를 들어 설명하지만, 소스와 연결 가능한 싱크의 수는 변경 가능함은 물론이다.
소스는 레퍼런스 클럭을 제1 내지 제3 채널 초기 소스 클럭(600, 601, 602)으로 설정한다. 제1 내지 제3 채널 초기 소스 클럭(600, 601, 602)은 제1 내지 제3 채널 멀티페이즈 클럭을 생성하는데 이용될 수 있다. 최초에 소스측 데이터 신호를 전송하는데 사용되는 제1 내지 제3 채널 초기 소스 클럭(600, 601, 602)은 동일한 위상을 가지며, 따라서 제1 내지 제3 채널 멀티페이즈 클럭도 동일한 위상을 가질 수 있다.
초기 소스 클럭을 이용하여 소스측 데이터 신호를 싱크로 전송한 후, 싱크는 소스측 데이터 신호에서 클럭을 복원한다. 싱크는 복원된 클럭을 이용하여 싱크측 데이터 신호를 소스로 전송한다. 소스는 싱크측 데이터 신호에서 싱크측 데이터 및 클럭을 복원한다. 제1 내지 제3 복원된 소스 클럭(610, 611, 612)은 채널의 특성에 따른 물리적 딜레이 및/또는 시스템 딜레이에 의해 제1 내지 제3 채널 초기 소스 클럭(600, 601, 602)과의 위상차가 발생할 수 있다. 싱크와 소스가 위치한 패키지, PCB(Printed Circuit Board), 싱크와 소스를 연결하는 케이블 등과 같은 전송매체에 의한 물리적 딜레이가 존재한다. 또한, 소스측 데이터 신호는 싱크에 의해 처리되며, 이 때 소요되는 시간이 시스템 딜레이이다. 도 6에 예시된 바와 같이, 제1 채널 초기 소스 클럭(600)과 제1 채널 복원된 소스 클럭(610) 사이에는 가장 작은 딜레이가 발생했으며, 제1 채널 복원된 소스 클럭(610)과 제3 채널 복원된 소스 클럭(612) 사이에서는 가장 큰 딜레이가 발생하였다. 시스템 딜레이는 모든 채널에 발생하며, 그 크기는 실질적으로 동일할 수 있다. 따라서, 이해를 돕기 위해 여기서는 시스템 딜레이는 0이며 오직 물리적 딜레이만 존재하는 것으로 가정하고 설명하기로 한다. 시스템 딜레이에 반해, 물리적 딜레이는 채널마다 다를 수 있으며, 동일한 채널에 의한 영향을 중복해서 적용받는 특징이 있다. 예를 들어, 소스측 데이터 신호가 제1 채널을 통해 싱크로 전달되면서 첫 번째 물리적 딜레이가 발생하며, 이후 싱크측 데이터 신호가 싱크측에서 제1 채널을 통해 다시 소스로 전달되면서 두 번째 물리적 딜레이가 발생하게 된다. 이렇게 발생된 물리적 딜레이 및/또는 시스템 딜레이에 의해 제1 내지 제3 채널 복원된 소스 클럭(610, 611, 612) 사이에 스큐가 발생할 수 있다.
제1 내지 제3 채널 복원된 소스 클럭(610, 611, 612)에 발생한 스큐는 서로 다른 위상을 갖는 복수의 클럭으로 구성된 멀티페이즈 클럭을 이용하여 검출할 수 있다. 도 6에서 멀티페이즈 클럭이 PLL0 내지 PLL7의 8개의 클럭으로 구성되어 있으나, 이는 예시일 뿐이며 싱크측 데이터 신호의 bit rate의 증감에 따라 멀티페이즈 클럭에 포함되는 클럭의 개수도 증가되거나 감소될 수 있다. PLL0 내지 PLL7(620 내지 627)로 구성된 멀티페이즈 클럭과 제1 내지 제3 채널 복원된 소스 클럭(610, 611, 612)을 비교하여 스큐에 의한 위상차를 검출할 수 있다. 도 6에 예시된 바와 같이, 제1 채널 복원된 소스 클럭(610)은 PLL1(621)에 의해 검출되고, 제2 채널 복원된 소스 클럭(611)은 PLL3(623)에 의해 검출되며, 제3 채널 복원된 소스 클럭(612)은 PLL5에 의해 검출된다. 이 때 제1 채널 복원된 소스 클럭(610)을 검출한 PLL1과 제3 채널 복원된 소스 클럭(612)을 검출한 PLL5간 위상차 S1이 발생한다. 한편, 제1 채널 복원된 소스 클럭(610)을 검출한 PLL1과 제2 채널 복원된 소스 클럭(611)을 검출한 PLL3간 위상차 S2가 발생한다.
일 실시예로, 복수의 복원된 소스 클럭간 스큐를 최소화하기 위해서, 이들 중 물리적 딜레이가 가장 큰 복원된 소스 클럭을 기준으로 복수의 초기 소스 클럭의 위상이 지연 쉬프트될 수 있다. 다른 실시예로, 물리적 딜레이가 가장 작은 복원된 소스 클럭을 기준으로 복수의 초기 소스 클럭의 위상이 선행 쉬프트될 수도 있다. 또 다른 실시예로, 복수의 복원된 소스 클럭 중 어느 하나를 기준으로 복수의 초기 소스 클럭의 위상을 지연 및 선행 쉬프트할 수도 있다. 한편, 쉬프트할 위상은 기준이 되는 복원된 소스 클럭과의 위상차에 의해 결정되며, 여기에서는 발생한 위상차의 1/2만큼 위상을 쉬프트하는 예를 설명하지만, 반드시 이에 한정되는 것은 아니며, 다양한 조건, 예를 들어, 소스-클럭간 물리적 딜레이의 특성, 위상 검출에 사용되는 멀티페이즈 클럭의 수, 쉬프트할 위상을 가진 클럭의 유무, 및/또는 소스의 동작 성능 등에 따라 쉬프트할 위상을 다양하게 선택이 가능함은 물론이다. 물리적 딜레이가 가장 큰 복원된 소스 클럭을 기준으로 위상을 쉬프트하는 예에 있어서, 위상차 S1의 1/2인 D1만큼 제1 채널 초기 소스 클럭을 쉬프트하여 제1 채널 보정된 소스 클럭(630)을 생성하며, 위상차 S2의 1/2인 D2만큼 제2 채널 초기 소스 클럭을 쉬프트하여 제2 채널 보정된 소스 클럭(631)을 생성한다. 여기서, 제3 채널 초기 소스 클럭(602)을 기준으로 사용하였으므로, 제3 채널 보정된 소스 클럭(632)은 제3 채널 초기 소스 클럭(602)과 동일하다.
일 실시예로, 제1 내지 제3 채널 보정된 소스 클럭(630, 631, 632)은 위상차를 검출하기 위해 이용된 멀티페이즈 클럭(620 내지 627)으로부터 선택될 수 있다. 제1 채널 복원된 소스 클럭(610)과 제3 채널 복원된 소스 클럭(612)간 위상차 S1의 1/2에 해당하는 위상 D1을 가진 PLL2(622)은 제1 채널 보정된 소스 클럭(630)으로 선택되며, 제2 채널 복원된 소스 클럭(611)과 제3 채널 복원된 소스 클럭(612)간 위상차 S2의 1/2에 해당하는 위상 D2을 가진 PLL1(621)은 제1 채널 보정된 소스 클럭(630)으로 선택될 수 있다. 선택된 PLL2는 제1 채널 멀티페이즈 클럭의 시작 클럭이 되며, 선택된 PLL1은 제2 채널 멀티페이즈 클럭의 시작 클럭이 될 수 있다. 따라서 보정된 제1 내지 제3 채널 멀티페이즈 클럭은 서로 다른 위상을 갖게 된다.
한편, 도 6에서는 위상 D1이나 D2에 일치하는 위상을 가진 멀티페이즈 클럭이 있는 경우를 예를 들어 설명하였지만, 일치하는 위상을 가진 멀티페이즈 클럭이 없는 경우도 발생할 수 있다. 예를 들어, 위상 검출에 PLL0 내지 PLL7로 구성된 멀티페이즈 클럭을 사용할 때, 제1 채널 복원된 소스 클럭이 PLL1로 검출되고, 제2 채널 복원된 소스 클럭이 PLL4로 검출되며, 제3 채널 복원된 소스 클럭이 PLL6으로 검출되며, 제3 채널 복원된 소스 클럭을 기준으로 위상을 쉬프트한다고 가정한다. 여기서, 제1 채널 복원된 소스 클럭과 제3 채널 복원된 소스 클럭간 위상차의 1/2에 해당하는 멀티페이즈 클럭이 없으므로, PLL3 또는 PLL4 중 어느 하나를 선택할 수 있다.
다른 실시예로, 초기 소스 클럭은 변경하지 않고 소스측 데이터 신호의 위상만 변경할 수도 있다. 예를 들어, 멀티페이즈 클럭을 이용하는 시리얼라이저를 통해 소스측 데이터를 전송하는 경우에, 멀티페이즈 클럭의 시작 클럭을 변경하면, 싱크측에서 봤을 때 초기 소스 클럭의 위상이 쉬프트되는 결과와 동일하게 될 수 있다. 이하에서 도 7을 참조하여 상세히 설명한다.
상술한 복수의 싱크에 의해 발생한 스큐를 감소시키는 방법은 소스와 싱크가 통신하는 동안 1회 이상 수행될 수 있다. 또한, 상술한 복수의 싱크에 의해 발생한 스큐를 감소시키는 방법은 실제 데이터를 전송하기 전에 수행될 수도 있다. 일 실시예로, 소스는 싱크측 데이터 신호를 최초로 수신할 때만 복수의 소스 클럭 각각의 위상을 보정할 수 있다. 이후 소스는 보정된 위상을 갖는 소스 클럭으로 소스측 데이터 신호를 전송하며 싱크와의 통신이 종료될 때까지는 싱크측 데이터 신호가 수신되더라도 소스 클럭의 위상을 보정하지 않을 수 있다. 다른 실시예로, 소스는 주기적으로 소스 클럭 각각의 위상을 보정할 수도 있다. 또 다른 실시예로, 소스는 싱크측 데이터 신호의 최초 수신 후 미리 지정된 회수 동안만 복수의 소스 클럭 각각의 위상을 보정할 수 있다. 예를 들어, 두 번째 또는 세 번째로 수신한 싱크측 데이터 신호로 소스 클럭의 위상을 다시 보정함으로써 이전 위상 보정에 의해 달라진 복원된 소스 클럭간 스큐를 감소시킬 수 있다.
도 7은 복수의 싱크와 연결 가능한 소스의 예시적인 구성을 도시한 도면이다.
도 7에 도시된 소스를 기능적으로 구분하면, 제1 송신기, 제2 송신기 및 스큐 제어기로 구성될 수 있다. 제1 송신기는 멀티페이즈 클럭 생성기(700) 및 제1 채널 시리얼라이저(720)를 포함하며, 제2 송신기는 멀티페이즈 클럭 생성기(700) 및 제2 채널 시리얼라이저(725)를 포함할 수 있다. 한편, 스큐 제어기는 위상 선택기(750), 제1 채널 위상 쉬프터(710) 및 제2 채널 위상 쉬프터(715)를 포함할 수 있다.
멀티페이즈 클럭 생성기(700)는 레퍼런스 클럭을 이용하여 서로 다른 위상을 갖는 복수의 클럭으로 구성된 멀티페이즈 클럭을 생성한다. 생성된 멀티페이즈 클럭은 제1 및 제2 채널 위상 쉬프터(710, 715)를 통해 제1 채널 시리얼라이저(720, 725)로 출력된다. 레퍼런스 클럭을 이용하므로, 멀티페이즈 클럭 생성기(700)에서 출력되는 멀티페이즈 클럭의 위상은 동일하게 제1 및 제2 채널 위상 쉬프터(710, 715)로 출력된다. 도 7에는 멀티페이즈 클럭 생성기(700)의 예로 PLL(Phase-locked loop)이 도시되어 있으나, 이는 예시일 뿐이며, 다양한 형태와 구조고 멀티페이즈 클럭 생성기가 구현될 수 있음은 물론이다.
제1 및 제2 채널 위상 쉬프터(710, 715)는 멀티페이즈 클럭 생성기(700)로부터 출력된 멀티페이즈 클럭의 위상을 쉬프트한다. 즉, 제1 및 제2 채널 위상 쉬프터(710, 715)는 위상 쉬프트 코드에 따라 제1 및/또는 제2 채널 시리얼라이저(720, 725)로 출력될 멀티페이즈 클럭의 시작 클럭을 각각 변경함으로써, 멀티페이즈 클럭의 위상을 쉬프트할 수 있다. 제1 및 제2 채널 위상 쉬프터(710, 715)의 구성 및 동작은 이하에서 도 8a 내지 8c를 참조하여 상세히 설명한다.
제1 및 제2 채널 시리얼라이저(720, 725)는 제1 및 제2 채널 소스측 데이터를 직렬화하여 출력한다. 출력된 제1 및 제2 채널 소스측 데이터 신호는 제1 및 제2 채널 양방향 인터페이스(730, 735)를 통해 싱크로 전송된다. 도 7에 도시된 예시적인 구성에서, 제1 및 제2 채널 소스측 데이터는 위상이 동일한 제1 및 제2 채널 초기 소스 클럭을 가지며, 멀티페이즈 클럭에 의해 위상이 쉬프트되더라도 제1 및 제2 채널 초기 소스 클럭은 변경되지 않는다. 그러나, 제1 및 제2 채널 소스측 데이터 신호를 수신하는 싱크에서 봤을 때, 멀티페이즈 클럭의 위상 쉬프트에 의해 제1 및 제2 채널 초기 소스 클럭이 변경되는 결과가 된다. 따라서 싱크가 복원하는 클럭은 제1 및 제2 채널 초기 소스 클럭에서 위상이 쉬프트된 제1 채널 및 제2 채널 보정된 소스 클럭이다.
제1 및 제2 채널 양방향인터페이스(730, 735)는 소스와 싱크간 데이터 전송 방향을 제어한다. 소스측 데이터 신호를 송신하는 경우, 제1 및 제2 채널 양방향인터페이스(730, 735)는 싱크에서 소스로의 싱크측 데이터 신호 수신을 중단하며, 싱크측 데이터 신호를 수신하는 경우, 제1 및 제2 채널 양방향인터페이스(730, 735)는 소스에서 싱크로의 소스측 데이터 신호 송신을 중단한다. 제1 및 제2 채널 양방향인터페이스(730, 735)의 데이터 송신 방향은 소스가 전송하는 소스 엔드 및 싱크가 전송하는 싱크 엔드에 의해 결정된다.
제1 및 제2 채널 CDR(740, 745)은 싱크측 데이터 신호를 수신하고, 싱크측 데이터와 클럭을 복원한다. 제1 채널 CDR(740)는 제1 채널 싱크측 데이터와 제1 채널 복원된 소스 클럭을 출력하며, 제2 채널 CDR(745)은 제2 채널 싱크측 데이터와 제2 채널 복원된 소스 클럭을 출력한다. 출력된 제1 채널 복원된 소스 클럭과 제2 채널 복원된 소스 클럭은 위상 선택기(750)에 입력된다.
위상 선택기(750)는 제1 채널 복원된 소스 클럭과 제2 채널 복원된 소스 클럭의 위상차에 따라 제1 및 제2 채널 위상 쉬프터(710, 715) 중 어느 하나 또는 모두의 위상을 쉬프트하는 위상 쉬프트 코드를 출력한다. 위상 선택기(750)의 구성 및 동작은 이하에서 도 9a 및 9b를 참조하여 상세히 설명한다.
도 8a는 위상 쉬프터의 예시적인 구성을 예시적으로 도시한 도면이고, 도 8b는 도 8a의 위상 쉬프터를 제어하기 위한 제어코드를 생성하는 제어코드 생성기의 예시적인 구성을 도시한 도면이다.
도 8a를 참조하면, 제1 및 제2 채널 위상 쉬프터(710, 715)는 제어코드 생성기(800) 및 제1 내지 제8 먹스(810 내지 817)를 포함한다. 도 8a에 도시된 위상 쉬프터는 PLL0 내지 PLL7 클럭으로 구성되는 멀티페이즈 클럭을 입력받는 것으로 도시되어 있으나, 이는 단지 예시일 뿐이며, 멀티페이즈 클럭을 구성하는 클럭의 수는 변경 가능하다.
제어코드 생성기(800)는 위상 선택기(750)에서 출력된 위상 쉬프트 코드 PS_CODE에 따라 시작 클럭을 변경하는 제1 내지 제8 제어코드 PS_GEN을 생성한다. 도 8b를 참조하면, 위상 쉬프트 코드 PS_CODE에 따라 생성되는 제어코드 PS_GEN0 내지 PS_GEN7로 구성된 세트가 예시되어 있다. 멀티페이즈 클럭을 구성하는 클럭의 수가 8개이므로, 위상 쉬프트 코드 PS_CODE는 3비트로 구성되며, 위상 쉬프트 코드 PS_CODE에 의해 생성되는 제어코드 PS_GEN0 내지 PS_GEN7 역시 3 비트로 구성될 수 있다. 제어코드 PS_GEN0 내지 PS_GEN7은 제1 내지 제8 먹스(810 내지 817)에 각각 인가되며, 제어코드 PS_GEN의 값은 PLL0 내지 PLL7 클럭 중 각 먹스가 출력할 클럭을 나타낸다.
제1 내지 제8 먹스(810 내지 817)는 멀티페이즈 클럭 생성기(700)로부터 출력된 PLL0 내지 PLL7 클럭을 입력받고, 제어코드 PS_GEN에 따라 이중 하나를 출력한다. 제1 먹스(810) 내지 제8 먹스(817)의 출력은 각각 PS0 내지 PS7에 대응한다. 예를 들어, 위상 쉬프트 코드 PS_CODE가 011인 경우에 제어코드 PS_GEN0 내지 PS_GEN7는 011, 100, 101, 110, 111, 000, 001, 010이며, 이에 의해 제1 먹스(810) 내지 제8 먹스(817)는 PLL3, PLL4, PLL5, PLL6, PLL7, PLL0, PLL1, PLL2를 선택하여 출력한다. 따라서 시리얼라이저에 입력되는 멀티페이즈 클럭 PS0 내지 PS7은 멀티페이즈 클럭 생성기(700)에서 출력된 멀티페이즈 클럭 PLL0 내지 PLL7에 비해 PLL3만큼 위상이 쉬프트된다. 한편, 일 실시예로, 도 8b에 도시된 테이블에서 위상 쉬프트 코드 PS_CODE에 대응하는 제어코드 PS_GEN의 값을 조정함으로써 검출된 위상차의, 예를 들어, 1/2만큼 제1 또는 제2 채널 멀티페이즈 클럭의 위상을 늦출 수 있다.
도 9a는 위상 선택기의 예시적인 구성을 도시한 도면이고, 도 9b는 도 9a에 도시된 클럭 위상 검출기의 예시적인 구성을 예시적으로 도시한 도면이다.
도 9a를 참조하면, 위상 선택기(750)는 제1 및 제2 채널 클럭 위상 검출기(900, 910) 및 카운터(920)를 포함할 수 있다. 도 9a에 도시된 위상 선택기(750)는 두 개 채널간 클럭의 위상차를 검출할 수 있는 단순한 형태의 위상 선택기이며, 채널의 수 및/또는 위상의 선후를 판단하기 위해 다양한 구조를 갖는 위상 선택기가 적용될 수 있음은 물론이다.
제1 및 제2 채널 클럭 위상 검출기(900, 910)는 복원된 소스 클럭과 멀티페이즈 클럭을 비교하여 복원된 소스 클럭의 위상을 검출한다. 도 9b를 참조하면, 제1 및 제2 채널 클럭 위상 검출기(900, 910)는 복수의 플립플롭(901a 내지 901h), 복수의 NAND 게이트(902a 내지 902g), 복수의 NOT 게이트(903a 내지 903g), 및 NAND 게이트(904)를 포함한다.
복수의 플립플롭(901a 내지 901h)은 복원된 소스 클럭을 공통으로 입력 받으며, 멀티페이즈 클럭의 PLL0 내지 PLL7이 복수의 플립플롭(901a 내지 901h)에 각각 인가된다. 플립플롭(901a 내지 901h) 중 인접한 쌍의 플릅플롭의 출력은 NAND 게이트(902a 내지 902g)에 입력된다. 예를 들어, 플립플롭(901a, 901b)의 출력은 NAND 게이트(902a)에 입력되고, 플립플롭(901b, 901c)의 출력은 NAND 게이트(902b)에 입력된다. NAND 게이트(902a 내지 902g)의 출력은 복수의 NOT 게이트(903a 내지 903g)를 통해 NAND 게이트(904)에 입력된다. NAND 게이트(904)는 복수의 NOT 게이트(903a 내지 903g)의 출력을 NAND 연산하여 복원된 소스 클럭의 위상에 상응하는 결정값 CH_DET를 출력한다.
카운터(920)는 제1 채널 클럭 위상 검출기(900)의 결정값 CH1_DET 및 제2 채널 클럭 위상 검출기(910)의 결정값 CH2_DET를 이용하여 위상 쉬프트 코드 PS_CODE를 생성한다. 이를 위해, 카운터(920)는 PLL0에 의해 구동하며, 결정값 CH1_DET에 의해 카운팅을 시작하고, 결정값 CH2_DET에 의해 카운팅을 정지하며, 카운팅 값을 위상 쉬프트 코드 PS_CODE로서 출력한다. 예를 들어, 제1 채널 복원된 소스 클럭은 PLL1에 의해 검출되고, 제2 채널 복원된 소스 클럭은 PLL5에 의해 검출된다고 가정하면, 제1 채널 클럭 위상 검출기(900)의 결정값 CH1_DET는 PLL0의 5번째 클럭에서만 “LOW”이며 제2 채널 클럭 위상 검출기(910)의 결정값 CH2_DET는 PLL0의 1번째 클럭에서만 “LOW”이다. 따라서, 카운터(920)는 PLL0의 5번째 클럭에서 카운팅을 시작하고 PLL0의 9번째 클럭에서 정지한 후 위상 쉬프트 코드 PS_CODE=100을 출력할 수 있다. 한편, 일실시예로, 검출된 위상차의, 예를 들어, 1/2만큼 제1 또는 제2 채널 멀티페이즈 클럭의 위상을 늦추기 위해서, 카운터(920)는 위상 쉬프트 코드 PS_CODE를 1/2하여 출력하거나, 또는 카운팅 단위를 PLL0 2 클럭당 1을 카운팅하는 방식 등으로 구현될 수 있다.
도 10은 소스와 싱크간 데이터 전송 과정의 일예를 설명하기 위한 흐름도이다. 도 10에서는, 디스플레이의 타이밍 컨트롤러(Timing Controller)와 데이터 드라이버(Data Driver)가 각각 소스와 싱크로 표현되어 있으나, 이는 단지 예시일 뿐이며, 반드시 이에 한정되는 것은 아니다.
단계 1000 및 1005에서, 전원이 공급되며, 내부 전원으로 변환되어 각각 타이밍 컨트롤러와 데이터 드라이버에 내부 전원이 공급된다.
단계 1010 및 1015에서, 내부 전원이 공급되면 타이밍 컨트롤러와 데이터 드라이버를 시동하는 스타트업 회로가 구동된다. 스타트업 회로에 의해 타이밍 컨트롤러와 데이터 드라이버는 내부적으로 리셋되어 초기화된다.
단계 1020에서, 초기화가 완료된 데이터 드라이버는 타이밍 컨트롤러로부터 데이터 신호를 대기한다.
단계 1025에서, 메인 트레이닝 생성 블록은 데이터 드라이버가 데이터 신호에서 클럭 및 데이터를 복원하기 위해서 필요한 메인 트레이닝 패턴을 생성한다. 메인 트레이닝 패턴은 데이터 드라이버가 클럭을 복원하는데 필요한 트레이닝 패턴이다.
단계 1030에서, 타이밍 컨트롤러는 메인 트레이닝 생성 블록에서 생성된 메인 트레이닝 패턴을 데이터 드라이버로 전송한다. 메인 트레이닝 패턴은 타이밍 컨트롤러와 데이터 드라이버간 연결된 채널을 통해 전송된다. 여기서, 채널은 타이밍 컨트롤러나 데이터 드라이버 어느 한쪽이 데이터 신호를 전송중이면, 상대방은 데이터 신호를 전송할 수 없다. 소스-싱크간 데이터 전송 방향은 양방향인터페이스(330)에 의해 제어될 수 있다. 즉, 양방향인터페이스(330)는 타이밍 컨트롤러가 데이터 신호를 전송하는 동안에는 송신기(300)로부터 출력된 리턴 데이터가 타이밍 컨트롤러로 전송되지 못하게 할 수 있다.
단계 1035에서, 타이밍 컨트롤러로부터 메인 트레이닝 패턴을 수신하면, 메인 트레이닝을 수행하여 데이터 드라이버는 클럭을 복원하고, 송신 준비를 한다. 메인 트레이닝 패턴을 이용하여, 데이터 드라이버는 수신된 데이터 신호의 수신 클럭을 복원한다. 수신 클럭이 복원되면, 송신기(300)의 제2 디지털 제어 오실레이터(310)는 복원된 클럭과 동일한 송신 클럭을 생성할 수 있다. 추가적으로, 메인 트레이닝시 데이터 드라이버는 수신 클럭과 복원된 클럭의 위상을 일치시킬 수도 있다. 수신 클럭과 복원한 클럭은 클럭 주파수가 오차 범위 이내에서 실질적으로 동일하더라도 위상차가 발생할 수 있으므로, 데이터 드라이버는 수신 클럭의 주파수를 갖는 클럭을 복원하면서 동시에 수신 클럭과 복원된 클럭간 위상차를 오차 범위 이내로 감소시킬 수 있다.
단계 1040에서, 메인 트레이닝이 종료되면 데이터 드라이버는 소스로부터의 데이터 신호 전송을 대기한다.
단계 1045에서, 데이터 드라이버에서 수행되는 메인 트레이닝과는 독립적으로 디스플레이에 출력될 데이터가 인코딩된다.
단계 1050에서, 타이밍 컨트롤러가 데이터 신호를 데이터 드라이버로 전송한다. 디스플레이에서, 영상은 복수의 프레임으로 구성되며, 프레임은 디스플레이의 픽셀들을 제어하기 위해 인코딩된 데이터로 구성된다. 타이밍 컨트롤러가 전송하는 데이터 신호는 미니 트레이닝 패턴, 데이터 인에이블(DE), 인코딩된 데이터, 및 소스 엔드를 포함한다. 데이터 신호는 패킷 형태로 전송될 수 있다. 미니 트레이닝 패턴은 이를 수신한 수신측이 복원된 클럭의 위상을 조정하는 미니 트레이닝을 수행하기 위해 필요한 트레이닝 패턴이고, 데이터 인에이블은 인코딩된 데이터를 수신할 픽셀을 식별하는 위한 정보이며, 소스 엔드는 타이밍 컨트롤러로부터의 데이터 신호 전송이 완료되었음을 나타내는 정보이다. 여기서, 디스플레이는 m개의 픽셀들이 배열된 n개의 라인으로 구성된 픽셀 어레이를 포함하며, 소스 엔드는 n번째 라인에 위치한 픽셀들로의 인코딩된 데이터 전송이 완료되었음을 나타낼 수 있다. 소스 엔드는 H-블랭크 구간 또는 V-블랭크 구간의 시작을 지시하며, 하나의 프레임에는 복수의 블랭크 구간이 포함될 수 있다.
단계 1055에서, 데이터 신호를 데이터 드라이버로 전송한 후 타이밍 컨트롤러는 데이터 드라이버로부터의 리턴 데이터 전송을 대기한다.
단계 1060에서, 데이터 신호가 수신되면, 데이터 드라이버는 미니 트레이닝을 수행하고, 데이터를 복원하며, 라킹 상태를 확인한다. 수신된 미니 트레이닝 패턴을 이용하여 데이터 드라이버는 복원된 클럭의 위상을 조정하여 수신 클럭의 위상에 일치시킨다. 메인 트레이닝에서 복원된 클럭의 위상을 수신 클럭에 이미 일치시켰거나 블랭크 구간이 종료된 이후 새로운 라인에 위치한 픽셀들로의 인코딩된 데이터를 수신하는 경우에도 데이터 드라이버는 미니 트레이닝을 수행할 수 있다. 한편, 데이터 드라이버는 수신기(100)의 라킹 상태를 확인한다. 확인 결과 수신기(100)가 라킹되지 않았으면, Low Fix 신호를 타이밍 컨트롤러로 전송한다. 복원된 데이터에 소스 엔드가 포함되었으면, 데이터 드라이버는 Low Fix 신호를 블랭크 구간에 타이밍 컨트롤러로 전송한다.
단계 1065에서, 데이터 드라이버는 리턴 데이터를 인코딩한다. 리턴 데이터는 미니 트레이닝 패턴 및 라킹 데이터를 포함한다. 라킹 데이터는 상기 싱크의 라킹 상태를 나타내는 데이터로서, 예를 들어, 라킹된 상태는 1로, 라킹이 되지 않았거나 라킹이 해제된 상태는 0으로 나타낼 수 있다.
단계 1070에서, 복원된 데이터에 소스 엔드가 포함되어 있으면, 데이터 드라이버는 리턴 데이터를 블랭크 구간동안 타이밍 컨트롤러로 전송한다. 데이터 드라이버가 리턴 데이터 전송 후부터 블랭크 구간이 종료되기 전까지 타이밍 컨트롤러는 데이터를 전송할 수 없다. 이 구간 동안 데이터 드라이버는 아무런 데이터 신호도 전송하지 않거나, 의미없는 데이터를 전송할 수 있다. 블랭크 구간이 종료되면 데이터 드라이버는 싱크 엔드를 타이임 컨트롤러로 전송하여 타이밍 컨트롤러가 다음 라인에 위치한 픽셀로의 데이터 신호를 전송하도록 한다.
단계 1075에서, 리턴 데이터가 수신되면, 타이밍 컨트롤러는 미니 트레이닝을 수행하고, 데이터를 복원하며, 타이밍 컨트롤러의 라킹 상태를 확인한다. 타이밍 컨트롤러는 데이터 드라이버의 수신기(100)의 라킹 상태에 따라 분기를 달리한다. 데이터 드라이버가 리턴 데이터를 전송하기 위해 사용한 송신 클럭은 수신 클럭과 실질적으로 동일하지만, 채널의 특성으로 인해 새로운 위상차가 발생할 수 있다. 따라서, 타이밍 컨트롤러는 미니 트레이닝을 수행하여 새롭게 발생한 위상차를 제거하여 리턴 데이터를 정확하게 복원할 수 있다.
데이터 드라이버로부터 Low Fix 신호가 전송되면, 데이터 드라이버는 라킹되지 않은 상태이다. 따라서 타이밍 컨트롤러는 단계 1025로 되돌아가서 메인 트레이닝 패턴을 다시 생성한다. 이후 단계 1030 내지 1060이 수행된다.
데이터 드라이버로부터 리턴 데이터가 수신되었으나 현재 전송중인 라인에 대한 데이터 신호가 완료되지 않았으면(EOL(END OF LINE), No), 타이밍 컨트롤러는 단계 1050으로 되돌아가서 디스플레이의 현재 전송중인 라인에 위치한 모든 픽셀 또는 전송되지 않은 나머지 픽셀에 대한 인코딩된 데이터를 데이터 드라이버로 전송한다.
데이터 드라이버로부터 리턴 데이터가 수신되었으며 현재 전송중인 라인에 대한 데이터 신호가 완료되었으면(EOL(END OF LINE), Yes), 타이밍 컨트롤러는 단계 1080으로 진행한다.
단계 1080에서, 타이밍 컨트롤러는 프레임의 전송이 완료되었는지 확인하여 데이터 드라이버에 V-블랭크 데이터 신호를 전송한다. 프레임의 전송이 완료되면 (EOF(END OF FRAME), Yes), 타이밍 컨트롤러는, 예를 들어, V-블랭크 데이터 신호를 통해 통신을 종료함을 통지한다. 전송할 프레임이 있으면(EOF, No), 타이밍 컨트롤러는 단계 1050으로 되돌아간다.
단계 1085에서, 데이터 드라이버는 타이밍 컨트롤러로부터 수신한 V-블랭크 데이터 신호를 복원하여, 프레임의 전송이 완료되었는지를 판단한다. 프레임의 전송이 완료되지 않았으면(EOF, No), 데이터 드라이버는 단계 1040으로 되돌아간다. V-블랭크 데이터 신호를 수신하여 프레임의 전송이 완료되었음을 확인하면(EOF, Yes), 타이밍 컨트롤러와의 통신이 종료된다.
도 11은 소스와 싱크간 전송되는 데이터 신호의 구조를 도시한 도면이다. 도 11에서는, 디스플레이의 타이밍 컨트롤러와 데이터 드라이버 사이에서 전송되는 데이터 신호를 표현되어 있으나, 이는 단지 예시일 뿐이며, 반드시 이에 한정되는 것은 아니다.
타이밍 컨트롤러가 전송하는 데이터 신호는 데이터 드라이버의 클럭을 복원하기 위한 메인 트레이닝 패턴(1100)과 복수의 프레임들로 구성된다. 프레임의 수는 디스플레이를 통해 출력될 이미지에 따라 더 많을 수 있으나, 본 명세서에서는 설명의 편의를 위해, 2개의 프레임을 예를 들어 설명하기로 한다. 메인 트레이닝 패턴(1100)은 타이밍 컨트롤러와 데이터 드라이버의 통신이 개시될 때 가장 먼저 데이터 드라이버로 전송된다. 이후 프레임들이 데이터 드라이버로 전송된다. 메인 트레이닝 패턴(1100)이 전송된 후 데이터 드라이버가 복원된 클럭의 위상을 수신 클럭에 일치시키도록 하기 위한 미니 트레이닝 패턴(1101)이 전송된다. 미니 트레이닝 패턴(1101)이 전송된 후, 데이터 인에이블(1102) 및 인코딩된 데이터(1103)는 소스 엔드가 전송되기 전까지 데이터 드라이버로 전송된다.
라인의 마지막 픽셀에 대한 데이터 인에이블(1111) 및 인코딩된 데이터(1112)가 전송되면, 타이밍 컨트롤러는 소스 엔드(1130)를 데이터 드라이버로 전송한다. 소스 엔드(1130)가 수신되면, 데이터 드라이버의 양방향인터페이스(330)은 데이터 드라이버로부터 타이밍 컨트롤러로의 데이터 전송을 허용한다.
소스 엔드(1130)는 블랭크 구간의 시작을 나타내며, 싱크 엔드(1160)는 블랭크 구간의 종료를 나타낸다. 리턴 데이터(1140)는 블랭크 구간에 위치한다. 블랭크 구간은 타이밍 컨트롤러가 데이터 신호를 전송하지 않는 구간으로, 디스플레이를 예를 들면, H-블랭크 구간, V-블랭크 구간 등이 블랭크 구간에 해당한다. 리턴 데이터(1140)는 미니 트레이닝(1141) 및 라킹 데이터(1142)를 포함하며, 선택적으로 데이터 드라이버가 타이밍 컨트롤러로 전송할 옵션 데이터(1143)를 더 포함할 수 있다. 블랭크 구간의 길이는 데이터 전송 방식에 따라 달라질 수 있으나, 동일한 데이터 전송 방식에서는 동일한 길이를 갖는다. 따라서 리턴 데이터의 크기에 따라서 타이밍 컨트롤러와 데이터 드라이버 사이에 아무런 데이터도 전송하지 않는 순수한 블랭크 구간(1150)의 길이가 결정될 수 있다.
블랭크 구간이 종료되면, 데이터 드라이버는 싱크 엔드(1160)를 전송하여 전송할 리턴 데이터가 없음을 타이밍 컨트롤러에 통지한다. 싱크 엔드(1160)가 전송되면, 데이터 드라이버의 양방향인터페이스(330)은 타이밍 컨트롤러로부터의 데이터 신호 수신을 허용한다.
싱크 엔드(1160)가 수신되면, 타이밍 컨트롤러는 미니 트레이닝 패턴(1171)을 전송한 후, 데이터 인에이블(1172)과 인코딩된 데이터(1173)를 데이터 드라이버로 전송한다.
도 12는 미니 트레이닝 패턴을 도시한 도면이다.
미니 트레이닝 패턴은 이를 수신한 수신측이 복원된 클럭의 위상을 조정하는 미니 트레이닝을 수행하기 위해 필요한 트레이닝 패턴이다. 도 9를 참조하면, 3개의 미니 트레이닝 패턴이 예시되어 있다. 수신 클럭을 복원하기 위한 메인 트레이닝 패턴에 비해, 미니 트레이닝 패턴은 복원된 클럭과 수신 클럭의 위상을 일치시키기 위하여 이용되므로 메인 트레이닝 패턴에 비해 단순한 형태를 갖도록 생성될 수 있다. 그러나 미니 트레이닝 패턴은 메인 트레이닝 패턴과 동일한 패턴을 가져도 무방하다. 한편, 전송 속도를 높이기 위해 송신 클럭을 수신 클럭보다 빠르게 하는 것도 가능하므로, 미니 트레이닝 패턴은 소스의 클럭보다 n(n은 자연수)배 빠른 패턴이 되도록 생성될 수도 있다.
복원된 클럭을 이용하여 생성된 송신 클럭을 이용하여 리턴 데이터를 전송하므로, 미니 트레이닝 패턴의 라이징 엣지 또는 폴링 엣지는 송신 클럭의 라이징 엣지 또는 폴링 엣지에 정렬될 수 있다. 미니 트레이닝 패턴을 수신한 소스는 미니 트레이닝 패턴의 라이징 엣지 또는 폴링 엣지를 데이터 신호를 전송하는데 사용한 클럭, 즉 수신 클럭과 비교하여 위상을 일치시킬 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 수신기
110 : 디지털 위상 검출기
115 : 선형 위상 검출기
120 : 시간-디지털 변환기
125 : 차지 펌프/LPF
130 : 디지털 필터
135 : 아날로그-디지털 변환기
140 : 제1 디지털 제어 오실레이터
150 : 디시리얼라이저
160 : 락 검출기
200 : 송신 클럭 설정기
300 : 송신기
310 : 제2 디지털 제어 오실레이터
320 : 시리얼라이저
330: 양방향인터페이스
110 : 디지털 위상 검출기
115 : 선형 위상 검출기
120 : 시간-디지털 변환기
125 : 차지 펌프/LPF
130 : 디지털 필터
135 : 아날로그-디지털 변환기
140 : 제1 디지털 제어 오실레이터
150 : 디시리얼라이저
160 : 락 검출기
200 : 송신 클럭 설정기
300 : 송신기
310 : 제2 디지털 제어 오실레이터
320 : 시리얼라이저
330: 양방향인터페이스
Claims (13)
- 둘 이상의 싱크 각각이 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스에 있어서,
제1 채널 초기 소스 클럭을 제1 위상만큼 쉬프트하여 생성한 제1 채널 멀티페이즈 클럭으로 제1 채널 소스측 데이터 신호를 전송하는 제1 송신기;
제2 채널 초기 소스 클럭을 제2 위상만큼 쉬프트하여 생성한 제2 채널 멀티페이즈 클럭으로 제2 채널 소스측 데이터 신호를 전송하는 제2 송신기; 및
상기 제1 채널 소스측 데이터 신호에서 복원한 클럭으로 전송된 제1 채널 싱크측 데이터 신호에서 복원된 제1 채널 복원된 소스 클럭의 위상과 상기 제2 채널 소스측 데이터 신호에서 복원한 클럭으로 전송된 제2 채널 싱크측 데이터 신호에서 복원된 제2 채널 복원된 소스 클럭의 위상을 비교하여 상기 제1 위상을 조정하는 스큐 제어기를 포함하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스. - 제1항에 있어서, 상기 스큐 제어기는
상기 제1 채널 복원된 소스 클럭의 위상과 상기 제2 채널 복원된 소스 클럭의 위상을 비교하여 제1 채널 위상 쉬프트 코드를 생성하는 위상 선택기; 및
상기 제1 채널 위상 쉬프트 코드에 의해 상기 제1 위상을 조정하는 제1 채널 위상 쉬프터를 포함하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스. - 제2항에 있어서, 상기 위상 선택기는 상기 제1 채널 복원된 소스 클럭과 상기 제2 채널 복원된 소스 클럭의 위상차에 따라 서로 다른 위상을 갖는 복수의 클럭으로 구성된 상기 제1 채널 멀티페이즈 클럭의 시작 클럭을 변경하는 상기 제1 채널 위상 쉬프트 코드를 생성하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스.
- 제3항에 있어서, 상기 위상 선택기는 상기 제1 채널 멀티페이즈 클럭중에서 상기 위상차의 1/2 위상을 갖는 클럭을 상기 시작 클럭으로 변경하는 상기 제1 채널 위상 쉬프트 코드를 생성하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스.
- 제2항에 있어서, 상기 위상 선택기는,
상기 제1 채널 복원된 소스 클럭의 위상을 검출하는 제1 채널 클럭 위상 검출기;
상기 제2 채널 복원된 소스 클럭의 위상을 검출하는 제2 채널 클럭 위상 검출기; 및
검출된 제1 채널 복원된 소스 클럭의 위상과 검출된 제2 채널 복원된 소스 클럭의 위상의 위상차에 의해 상기 제1 채널 위상 쉬프트 코드를 생성하는 카운터를 포함하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스. - 제2항에 있어서, 상기 위상 쉬프터는
제어코드에 따라 입력받은 상기 제1 채널 멀티페이즈 클럭 중 하나를 출력하는 복수의 먹스; 및
상기 제1 채널 위상 쉬프트 코드에 따라 상기 복수의 먹스 각각의 출력을 제어하는 상기 제어코드를 생성하는 제어코드 생성기를 포함하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스. - 제1항에 있어서, 상기 스큐 제어기는 상기 제1 채널 복원된 소스 클럭 및 상기 제2 채널 복원된 소스 클럭 중 딜레이가 큰 클럭을 기준으로 상기 제1 위상을 조정하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스.
- 제1항에 있어서, 상기 스큐 제어기는 상기 제1 채널 복원된 소스 클럭 및 상기 제2 채널 복원된 소스 클럭 중 딜레이가 작은 클럭을 기준으로 상기 제1 위상을 조정하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스.
- 제1항에 있어서, 상기 스큐 제어기는 상기 제1 채널 싱크측 데이터 신호 및 상기 제2 채널 싱크측 데이터 신호를 최초로 수신하면 상기 제1 위상을 조정하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스.
- 제1항에 있어서, 상기 스큐 제어기는 주기적으로 상기 제1 위상을 조정하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스.
- 제1항에 있어서, 상기 스큐 제어기는 상기 제1 채널 싱크측 데이터 신호 및 상기 제2 채널 싱크측 데이터 신호를 최초로 수신한 후 미리 지정된 회수 동안 상기 제1 위상을 조정하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스.
- 제1항에 있어서, 상기 스큐 제어기는
상기 제1 채널 복원된 소스 클럭의 위상과 상기 제2 채널 복원된 소스 클럭의 위상을 비교하여 제1 채널 위상 쉬프트 코드 및 제2 채널 위상 쉬프트 코드를 생성하는 위상 선택기;
상기 제1 채널 위상 쉬프트 코드에 의해 상기 제1 위상을 조정하는 제1 채널 위상 쉬프터; 및
상기 제2 채널 위상 쉬프트 코드에 의해 상기 제2 위상을 조정하는 제2 채널 위상 쉬프터를 포함하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스. - 제1항에 있어서, 상기 제1 송신기는
상기 제1 채널 멀티페이즈 클럭을 생성하는 멀티페이즈 클럭 생성기; 및
상기 제1 채널 멀티페이즈 클럭으로 제1 채널 소스측 데이터를 직렬화하여 상기 제1 채널 소스측 데이터 신호를 출력하는 시리얼라이저를 포함하는 복원된 클럭을 이용하여 송신한 싱크측 데이터 신호를 수신하는 소스.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140038763A KR101470599B1 (ko) | 2014-04-01 | 2014-04-01 | 복원된 클럭을 이용하여 송신한 데이터를 수신하는 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140038763A KR101470599B1 (ko) | 2014-04-01 | 2014-04-01 | 복원된 클럭을 이용하여 송신한 데이터를 수신하는 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101470599B1 true KR101470599B1 (ko) | 2014-12-11 |
Family
ID=52678194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140038763A KR101470599B1 (ko) | 2014-04-01 | 2014-04-01 | 복원된 클럭을 이용하여 송신한 데이터를 수신하는 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101470599B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170116491A (ko) * | 2016-04-11 | 2017-10-19 | 엘지디스플레이 주식회사 | 데이터 인터페이스 장치 및 그 구동방법 |
CN109961731A (zh) * | 2017-12-26 | 2019-07-02 | 三星电子株式会社 | 数据线驱动电路、显示器驱动电路以及驱动显示器的方法 |
CN112637694A (zh) * | 2020-12-16 | 2021-04-09 | 杭州当虹科技股份有限公司 | 一种hls信源一倍速发送控制方法 |
US12052335B2 (en) | 2022-09-19 | 2024-07-30 | Apple Inc. | Serial receiver circuit with follower skew adaptation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6121816A (en) * | 1999-04-23 | 2000-09-19 | Semtech Corporation | Slave clock generation system and method for synchronous telecommunications networks |
KR20020093210A (ko) * | 2001-06-07 | 2002-12-16 | 에스케이 텔레콤주식회사 | 역방향 동기 전송을 위한 이동 통신 단말기의 전송 타이밍제어 방법 |
-
2014
- 2014-04-01 KR KR1020140038763A patent/KR101470599B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6121816A (en) * | 1999-04-23 | 2000-09-19 | Semtech Corporation | Slave clock generation system and method for synchronous telecommunications networks |
KR20020093210A (ko) * | 2001-06-07 | 2002-12-16 | 에스케이 텔레콤주식회사 | 역방향 동기 전송을 위한 이동 통신 단말기의 전송 타이밍제어 방법 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170116491A (ko) * | 2016-04-11 | 2017-10-19 | 엘지디스플레이 주식회사 | 데이터 인터페이스 장치 및 그 구동방법 |
KR102436557B1 (ko) * | 2016-04-11 | 2022-08-25 | 엘지디스플레이 주식회사 | 데이터 인터페이스 장치 및 그 구동방법 |
CN109961731A (zh) * | 2017-12-26 | 2019-07-02 | 三星电子株式会社 | 数据线驱动电路、显示器驱动电路以及驱动显示器的方法 |
CN109961731B (zh) * | 2017-12-26 | 2024-03-15 | 三星电子株式会社 | 数据线驱动电路、显示器驱动电路以及驱动显示器的方法 |
CN112637694A (zh) * | 2020-12-16 | 2021-04-09 | 杭州当虹科技股份有限公司 | 一种hls信源一倍速发送控制方法 |
US12052335B2 (en) | 2022-09-19 | 2024-07-30 | Apple Inc. | Serial receiver circuit with follower skew adaptation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2183674B1 (en) | Transmitter and receiver connected through a serial channel | |
US11374558B2 (en) | Measurement and correction of multiphase clock duty cycle and skew | |
US7684531B2 (en) | Data recovery method and data recovery circuit | |
EP0317159B1 (en) | Clock recovery arrangement | |
US8634503B2 (en) | Fast lock clock-data recovery for phase steps | |
CN113497701B (zh) | Mcm usr serdes中的通道之间的相位检测器命令传播 | |
KR101470599B1 (ko) | 복원된 클럭을 이용하여 송신한 데이터를 수신하는 장치 | |
US9455725B2 (en) | Phase detector and associated phase detecting method | |
US10116433B2 (en) | Circuit arrangement and method for clock and data recovery | |
US7194057B2 (en) | System and method of oversampling high speed clock/data recovery | |
US20070230646A1 (en) | Phase recovery from forward clock | |
US20100239059A1 (en) | Transmission method and transmission apparatus | |
EP1336270B1 (en) | An arrangement for capturing data | |
US10164767B2 (en) | Device for generating transmission clock of sink and transmission method using generated transmission clock | |
KR101539438B1 (ko) | 싱크의 송신 클럭 생성 장치 및 생성된 송신 클럭을 이용한 송신 방법 | |
KR101638154B1 (ko) | 레퍼런스 클럭으로 동작하는 클럭 데이터 복원 회로, 데이터 수신 장치 및 그 방법 | |
KR101654767B1 (ko) | 온 칩 레퍼런스 클럭으로 동작하는 위상 고정 루프, 클럭 데이터 복원 회로, 및 데이터 수신 장치 | |
KR101478191B1 (ko) | 복원된 클럭을 이용하여 송신한 데이터를 수신하는 장치 | |
KR101482233B1 (ko) | 데이터 송수신 장치 | |
KR101427332B1 (ko) | 송신 클럭 생성 장치 및 이를 포함하는 싱크 | |
KR100975083B1 (ko) | 직렬 송수신 장치 및 그 통신 방법 | |
CN108011620B (zh) | 基于fpga的快速时钟恢复电路 | |
KR20160069093A (ko) | 클럭 데이터 리커버리 회로 및 이를 이용하는 시스템 | |
CN105450223A (zh) | 时钟数据回复装置 | |
KR101512451B1 (ko) | 싱크의 송신 클럭 생성 장치 및 생성된 송신 클럭을 이용한 송신 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20181130 Year of fee payment: 5 |