KR20080018688A - 저압차동신호방식 전송장치 및 그 출력 제어방법 - Google Patents

저압차동신호방식 전송장치 및 그 출력 제어방법 Download PDF

Info

Publication number
KR20080018688A
KR20080018688A KR1020060081191A KR20060081191A KR20080018688A KR 20080018688 A KR20080018688 A KR 20080018688A KR 1020060081191 A KR1020060081191 A KR 1020060081191A KR 20060081191 A KR20060081191 A KR 20060081191A KR 20080018688 A KR20080018688 A KR 20080018688A
Authority
KR
South Korea
Prior art keywords
clock
variable
bit
constant
flag
Prior art date
Application number
KR1020060081191A
Other languages
English (en)
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 KR1020060081191A priority Critical patent/KR20080018688A/ko
Publication of KR20080018688A publication Critical patent/KR20080018688A/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
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0337Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/08Modifications for reducing interference; Modifications for reducing effects due to line faults ; Receiver end arrangements for detecting or overcoming line faults
    • H04L25/085Arrangements for reducing interference in line transmission systems, e.g. by differential transmission
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

저압차동신호방식 전송장치(LVDS-Tx: Low Voltage Differential Signaling - Transmission) 및 그 출력제어방법이 개시된다. 본 발명의 LVDS-Tx는 PLL(Phase Locked Loop)에서 출력되는 클럭의 지터(Jitter)에도 불구하고 데이터의 소실 없이 입력되는 병렬 데이터를 직렬 데이터로 변환하여 출력할 수 있다.
저압차동신호방식 전송장치, LVDS, PLL, 직렬변환기, Jitter

Description

저압차동신호방식 전송장치 및 그 출력 제어방법{LVDS-Tx and Method for Controlling Output Thereof}
도 1은 일반적인 저압차동신호방식 전송장치의 블록도,
도 2는 종래의 직렬변환기의 동작 설명에 제공되는 신호 흐름도,
도 3은 준안정에 따라 데이터 버퍼링의 지연이 발생한 경우의 신호 흐름도,
도 4는 본 발명의 일 실시 예에 따른 저압차동신호방식 전송장치(LVDS-Tx)의 블록도,
도 5는 본 발명의 일 실시예에 따른 직렬변환기의 블록도,
도 6은 도 5의 제1플래그의 설정방법의 설명에 제공되는 흐름도,
도 7은 도 5의 데이터 캡쳐부의 동작 설명에 제공되는 흐름도,
도 8은 도 5의 제2플래그의 설정방법의 설명에 제공되는 흐름도,
도 9는 도 5의 주기플래그의 설정방법의 설명에 제공되는 흐름도, 그리고
도 10은 도 5의 변수초기화판단부의 변수 초기화 여부를 판단하는 방법의 설명에 제공되는 흐름도, 그리고
도 11은 도 3의 경우에 대비되는 본 발명의 데이터 버퍼링 과정의 신호 흐름도이다.
본 발명은, PLL(Phase Locked Loop)에서 출력되는 클럭의 지터(Jitter)에도 불구하고 데이터의 소실 없이 입력되는 병렬 데이터를 직렬 데이터로 변환하여 출력할 수 있는, 저압차동신호방식 전송장치(LVDS-Tx) 및 그 출력제어방법에 관한 것이다.
LVDS(Low Voltage Differential Signaling)는 보드(Board) 간의 디지털 신호의 전송에 많이 사용되는 규격으로 많은 데이터를 짧은 시간에 정확하게 전송할 수 있는 장점이 있다. 예를 들어, 컴퓨터와 디지털 디스플레이 장치간의 영상신호를 전송하는 경우에 적용된다.
LVDS 규격의 전송 IC(Integrated Circuit)인 LVDS-Tx는 디지털 신호를 출력함에 있어, 입력 신호 주파수의 7배의 주파수를 이용하여 직렬화(Serialization)를 하여 총 동시 입력 수의 1/7 에 해당하는 출력을 한다. 그러나 입력신호의 속도와 대비하여 7 배의 전송 속도를 이용하여야 하므로 직렬화할 때 사용되는 PLL(Phase Locked Loop)의 출력 수준이 정밀해야만 한다. 그러나 정밀한 PLL의 설계는 주파수가 올라감에 따라 어려움이 증가하는 추세이다. 또한 직렬변환기(Serializer) 설계상 P&R(Place and Route)의 어려움도 함께 증가하고 있다.
이러한 배경에서 PLL의 출력 지터(Jitter)의 부담을 줄이는 방향의 설계가 요망되고 있다.
도 1은 일반적인 저압차동신호방식 전송장치의 블록도이다.
LVDS-Tx(100)는 직렬변환기(101), PLL(Phase Locked Loop)(103) 및 LVDS-Tx 버퍼(Buffer)(105)를 포함한다.
직렬변환기(101)는 병렬 데이터(Parallel Data)를 직렬 데이터로 변환하는 블록이며, PLL(103)은 직렬변환기(101)에서 사용되는 1x_clock_in과 7x_clock을 생성하는 블록이다. 1x_clock_in는 병렬 디지털 신호와 함께 입력되는 기준 클록(이하, '1x_clock'라 함)과 동일한 주기와 듀티(Duty)비를 가지는 클럭이다. 7x_clock는 1x_clock의 7배 빠른 속도의 클록이다.
또 LVDS-Tx 버퍼(105)는 직렬변환기(101)에서 변환된 직렬 데이터를 LVDS 규격에 따른 전압 레벨을 가지는 아날로그 신호로 변환하여 최종 출력한다.
도 2는 종래의 직렬변환기의 동작 설명에 제공되는 신호 흐름도이다. 종래의 직렬변환기(101)는 7x_clock으로 1x_clock_in의 상승 에지(Edge)를 검출하고, 검출된 에지를 기준으로 입력되는 병렬 데이터를 7개의 직렬 데이터로 변환시킨다.
1x_clock_1d는 1x_clock_in을 1개 7x_clock 사이클(Cycle)만큼 지연시켜 래치(Latch)한 것이고, 1x_clock_2d는 2개 7x_clock 사이클만큼 지연시켜 래치한 파형이다. 1x_clock_ris는 1x_clock_1d와 1x_clock_2d를 이용하여 만든 신호로, 입력되는 병렬 데이터를 버퍼링하기 위한 동기신호로서, 입력 클럭의 상승 에지(Edge)를 검출하는데 사용된다. 7x domain data는 1x_clock_ris와 7x_clock을 이용하여 병렬 데이터를 버퍼링한 것이다. 7x domain data는 7x_clock에 따라 1클록씩 쉬프트(Shift)되면서 직렬 데이터로 출력된다.
그러나 이러한 구조의 문제는 7x_clock과 1x_clock_in의 위상(Phase)차가 일정해야 한다는 전제 조건이 필요하다. 즉, 7x_clock이나 1x_clock_in 의 지터(Jitter)가 작아야한다. 그렇지 않다면, 병렬 데이터에서 7x domain data로 버퍼링하는 과정에서, 조종 위반(Setup Violation) 등에 따른 준안정(meta-stable) 상태의 발생으로 데이터 버퍼링상의 지연이 발생할 수 있다. 이에 따라 지연되어 버퍼링된 7x domain data 중 하나의 직렬 데이터가 출력되지 못하는 문제가 발생할 수 있다.
도 3은 준안정에 따라 데이터 버퍼링의 지연이 발생한 경우의 신호 흐름도로서, 1x_clock_1d가 a 지점에서 래치되지 못하고 1클록만큼 지연이 발생함에 따라, 1x_clock_ris의 펄스가 1개 7x_clock 사이클만큼 지연되었다. 결국, 병렬 데이터 C가 7x domain data C-1으로 버퍼링되는 과정에서 b 지점에서 1개 7x_clock 사이클만큼 지연이 발생하였다. 따라서 지연되어 버퍼링된 7x domain data C-1의 직렬 데이터 C7은 출력되지 못한다.
본 발명의 목적은, PLL(Phase Locked Loop)에서 출력되는 클럭의 지터(Jitter)에도 불구하고 데이터의 소실 없이 입력되는 병렬 데이터를 직렬 데이터로 변환하여 출력할 수 있는, 저압차동신호방식 전송장치(LVDS-Tx) 및 그 출력제어 방법을 제공함에 있다.
상기 목적을 달성하기 위해 본 발명에 따른 저압차동신호방식 전송장치(LVDS-Tx)는 PLL(Phase Locked Loop), 직렬변환기 및 LVDS-Tx 버퍼(Buffer)를 포함한다.
PLL은 입력 클럭을 입력받아 7 배속의 클럭인 7x_clock을 출력한다.
직렬변환기는 상기 입력 클럭에 동기되어 입력되는 병렬데이터를 상기 7x_clock의 7개 사이클마다 버퍼링하여 변환한 직렬 데이터를, 상기 입력 클럭과 동일한 주기를 가지는 출력 클럭인 1x_clock_out와 함께 출력한다.
LVDS-Tx 버퍼는 상기 직렬변환기에서 변환된 직렬 데이터 및 1x_clock_out를 LVDS-Tx 사양에 따른 전압 레벨을 가지는 아날로그 신호로 변환하여 최종 출력한다.
여기서, 상기 직렬변환기는, 제1변수제어부, 제2변수제어부, 변수초기화판단부 및 데이터 캡쳐부를 포함한다.
제1변수제어부는 하나의 비트가 '1'로 세트된 7 비트 상수인 제1상수로 초기화된 제1변수를, 상기 7x_clock의 사이클마다 라운드 쉬프트(Rounded Shift)하고, 데이터 캡쳐부는 상기 제1변수의 최상위 비트가 '1'인 경우, 상기 병렬데이터를 버퍼링하여 상기 직렬 데이터로 변환하고, 변환된 상기 직렬 데이터를 상기 1x_clock_out과 함께 직렬로 출력한다.
제2변수제어부는, 하나의 비트(체크비트)와 상기 체크비트 위치의 적어도 ± 1 위치의 비트가 세트된 7비트 상수인 제2상수로 초기화된 제2변수를 상기 7x_clock의 사이클마다 라운드 쉬프트하여 출력하며, 소정의 변수초기화신호를 수신하면 상기 제2상수로 상기 제2변수를 다시 초기화한다.
변수초기화판단부는 상기 입력클럭의 상승 에지가 검출되고, 상기 제2변수제어부에서 출력되는 상기 제2변수의 상기 체크 비트의 위치가 세트되지 않은 경우, 상기 변수초기화신호를 상기 제1변수제어부 및 제2변수제어부로 출력한다. 상기 제1변수제어부는 상기 변수초기화신호를 수신하는 경우, 상기 제1변수를 상기 제1상수로 다시 초기화한다.
본 발명의 다른 실시 예에 따른 직렬변환기는, 제1변수제어부, 제2변수제어부, 변수초기화판단부 및 데이터 캡쳐부를 포함한다.
제1변수제어부는 상기 7x_clock의 사이클마다, 제1변수를 라운드 쉬프트하여 출력하고 하나의 비트가 '1'로 세트된 7 비트 상수인 제1상수와 상기 제1변수가 같을 경우 제1플래그를 세트하며 변수초기화신호를 수신하면 상기 제1상수로 상기 제1변수를 초기화한다.
데이터 캡쳐부는 상기 제1변수의 최상위 비트가 '1'인 경우, 상기 병렬데이터를 버퍼링하여 상기 직렬 데이터로 변환하고, 변환된 상기 직렬 데이터를 상기 1x_clock_out과 함께 직렬로 출력한다.
제2변수제어부는 상기 7x_clock의 사이클마다, 제2변수를 라운드 쉬프트하면 서, 하나의 비트(체크비트)와 상기 체크비트 위치의 적어도 ± 1 위치의 비트가 세트된 7비트 상수인 제2상수와 상기 제2변수가 동일할 경우 제2플래그를 세트하며, 상기 변수초기화신호를 수신하면 상기 제2상수로 상기 제2변수를 초기화한다.
변수초기화판단부는 상기 입력클럭의 상승 에지가 검출된 7x_clock 사이클에서, 상기 출력 클럭인 1x_clock_out이 상기 입력클럭에 동기되지 않은 경우 상기 변수초기화신호를 상기 제2변수제어부로 출력한다.
여기서, 상기 변수초기화판단부는 상기 제2변수의 상기 체크 비트의 위치가 세트되고, 제3플래그가 이전 7x_clock 사이클에서 세트되어 있지 않은 경우, 상기 출력 클럭인 1x_clock_out이 상기 입력클럭에 동기되지 않은 것으로 판단한다. 상기 제3플래그는, 상기 7x_clock의 각 사이클에서 판단하여, 입력클럭의 상승에지가 검출되면 리셋('0')되고 입력클럭의 상승에지가 검출되지 않고 상기 제1플래그와 제2플래그가 세트되어 있으면 세트되고, 입력클럭의 상승에지가 검출되지 않고 상기 제1플래그와 제2플래그 중 적어도 하나가 세트되어 있지 않으면 이전 값을 유지하는 것이 바람직하다.
본 발명의 또 다른 실시 예에 따른 저압차동신호방식 전송장치의 직렬데이터 출력방법은 다음의 단계를 포함할 수 있다. 그 각 단계는, 입력 클럭을 입력받아 7 배속의 클럭인 7x_clock을 출력하는 단계, 상기 입력 클럭에 동기되어 입력되는 병렬데이터를 상기 7x_clock의 7개 사이클마다 버퍼링하여 변환한 직렬 데이터를, 상기 입력 클럭과 동일한 주기를 가지는 출력 클럭인 1x_clock_out와 함께 출력하는 단계 및 상기 직렬 데이터 및 1x_clock_out를 LVDS-Tx(Low Voltage Differential Signaling - Transmission) 사양에 따른 전압 레벨을 가지는 아날로그 신호로 변환하여 최종 출력하는 단계이다.
이하에서는, 도면을 참조하여 본 발명을 상세히 설명한다.
도 4는 본 발명의 일 실시 예에 따른 저압차동신호방식 전송장치(LVDS-Tx)의 블록도이다.
본 발명의 저압차동신호방식 전송장치(Low Voltage Differential Signaling - Transmission, 이하 'LVDS-Tx'라 함)(400)는 소정의 입력 클럭(이하, '1x_clock'라 함)과 함께 1x_clock에 동기된 병렬 데이터(Parallel Data)를 입력받는다. 한 번에 버퍼링되는 병렬 데이터는 7 비트이다.
LVDS-Tx(400)는 입력받은 병렬 데이터를 직렬 데이터를 변환하여 출력한다. 이때, 1x_clock와 동일한 주기를 가지는 클럭이 함께 출력된다. 이하에서는 입력 클럭인 1x_clock과 LVDS-TX의 출력 클럭을 구분하기 위하여, LVDS-TX의 출력 클럭을 1x_clock_out라 한다.
LVDS-Tx(400)는 직렬변환기(401), PLL(Phase Locked Loop)(403) 및 LVDS-Tx 버퍼(Buffer)(405)를 포함한다. LVDS-Tx 버퍼(405)는 도 1의 LVDS-Tx 버퍼(105)와 동일하게 동작하며, 동일하게 설명될 수 있다.
PLL(403)은 1x_clock을 입력받아, 1x_clock보다 7배 빠른 클럭(이하 '7x_clock'이라 함)을 직렬변환기(401)로 출력한다. PLL(403)은 1x_clock에 대응되는 클럭(1x_clock_in)을 출력하지 않는다.
직렬변환기(401)는 입력되는 병렬 데이터를 직렬 데이터로 변환하여 출력한다. 직렬변환기(401)는 준안정(meta-stable) 상태로 인하여 발생할 수 있는 병렬 데이터의 버퍼링 지연과 그 지연에 따른 직렬 데이터의 소실을 피하기 위하여, 입력되는 병렬 데이터를 버퍼링할 시점을 검출하는 별도의 알고리즘에 따라, 7개 7x_clock 사이클(Cycle) 주기로 강제적으로 병렬 데이터를 버퍼링하여 직렬 데이터로 변환한다.
이를 통해 직렬변환기(401)는 7x_clock의 지터(Jitter)가 어느 정도 있더라도, 데이터 버퍼링 시점을 고정 시킬 수 있다. 이것은, 정밀한 PLL(Phase Locked Loop) 설계의 부담을 줄이는 것이 된다.
직렬변환기(401)는 이러한 알고리즘을 위해 소정의 상수를 그 값으로 가지는 두 개의 변수를 사용한다.
LVDS-Tx(400)는 별도의 리셋회로를 가지고 있지 아니하므로, 초기에 전원이 온(On)된 후 두 개의 변수가 어떠한 값을 가질지 알 수 없다. 따라서 본 발명의 직렬변환기(401)는 두 개의 상수를 이용하는데 따른 오동작을 피하기 위해 초기화와 관련된 부분을 포함할 수 있다. 다만, 본 발명의 직렬변환기(401)가 반드시 초기화와 관련된 부분을 포함하지 않더라도, 외부의 초기화 신호 등을 이용하여 초기화 할 수 있다.
도 5는 본 발명의 일 실시예에 따른 직렬변환기의 블록도이다.
도 5의 직렬변환기(500)는 도 4의 직렬변환기(401)에 대응되며 동일하게 설 명될 수 있다. 직렬변환기(500)는 제1변수제어부(501), 데이터 캡쳐부(503), 제2변수제어부(505) 및 변수초기화판단부(507)를 포함하며, 내부에 변수 초기화에 대한 알고리즘을 포함하는 경우이다.
제1변수제어부(501)는 7x_clock의 매 사이클마다 제1변수의 값을 라운드 쉬프트(Rounded Shift)시키면서, 제1변수의 최상위 비트의 값을 데이터 캡쳐부(503)로 전달한다. 라운드 쉬프트란, 각 비트를 1 비트씩 상위 비트로 시프트 시키되, 최상위 비트는 다시 최하위 비트로 보내는 것을 의미한다.
여기서, 제1변수는 병렬 데이터를 버퍼링해야 할 시점인지를 판단하기 위한 변수이다. 제1변수는 제1상수로 초기화 되어 있어야 한다. 제1변수는 1x_clock의 상승 에지가 발생하는 시점에 제1상수로 초기화되어야 한다. 데이터 캡쳐부(503)를 통해 최종 출력되는 1x_clock_out는 입력 클럭 1x_clock와 동기가 맞아야 하기 때문이다. 제1변수가 제1상수로 초기화 되어 있지 않을 경우, 아래에서 설명될 별도의 초기화 알고리즘이 동작하게 된다.
제1상수는 7 비트(Bit)로 구성된 상수로서, '0001000'과 같이 7 비트 중 하나의 비트만이 나머지와 다른 값(여기서는'1')을 가짐으로써 세트된다. 제1상수에서 세트된 비트의 위치는 입력 클럭인 1x_clock의 상승 에지가 있은 후 몇 7x_clock 사이클 만에 병렬 데이터를 버퍼링할 것인가와 관련된다. 이하에서는, 특정 변수의 특정 비트 값이 '1'일 경우, 해당 비트가 '세트'되었다고 한다.
7개 7x_clock 사이클마다 제1변수의 최상위 비트 값이 세트되므로, 데이터 캡쳐부(503)는 제1변수의 최상위 비트가 세트인 경우 병렬 데이터를 버퍼링함으로 써, 준안정 상태 등에 의해 도 3의 a와 같이 지연 등이 발생하는 경우라도 병렬 데이터를 버퍼링하는 시점을 7개의 7x_clock 사이클 주기로 고정할 수 있다.
제1변수제어부(501)는 제1변수의 초기화 여부를 판단하는데 사용될 제1플래그를 설정하여 변수초기화판단부(507)로 전달한다. 도 6은 도 5의 제1플래그의 설정방법의 설명에 제공되는 흐름도로서, 이하는 도 6을 참조하여 설명한다.
제1변수제어부(501)는 7x_clock의 매 사이클마다 제1변수의 값이 제1상수와 동일한지 여부를 판단한다(S601).
예를 들어, 제1변수제어부(501)는 제1변수의 값이 제1상수와 동일한 경우, 제1플래그를 셋(Set) 시키고(S603), 만약 동일하지 않다면 제1플래그를 리셋 시키거나 리셋상태를 유지함으로써(S605), 판단결과를 변수초기화판단부(507)로 전달할 수 있다.
다시 도 5를 기초로 설명한다.
제1변수의 초기화와 관련하여, 제1변수제어부(501)는 변수초기화판단부(507)로부터 변수 초기화 신호를 받는 경우, 제1변수를 제1상수로 초기화 시킨다.
앞서 설명한 바와 같이, LVDS-Tx(400)는 별도의 리셋회로를 가지고 있지 아니하므로, 초기에 전원이 온(On)된 후 어떠한 상태에 있을지 알 수 없다. 따라서 제1변수제어부(501)는 제1상수를 이용하는데 따른 오동작을 피하기 위해, 특정한 경우에 제1변수를 초기화한다.
제1변수제어부(501)는, 변수초기화판단부(507)로부터 초기화 신호가 오지 않을 경우 7x_clock의 매 사이클마다 제1변수를 라운드 쉬프트 시킨다.
데이터 캡쳐부(503)는 제1변수제어부(501)로부터 전달되는 제1변수의 최상위 비트의 값을 기초로, 입력되는 병렬데이터를 버퍼링하여 직렬 데이터로 변환하여 출력한다. 도 7은 도 5의 데이터 캡쳐부의 동작 설명에 제공되는 흐름도로서, 이하 도 7을 기초로 설명한다.
데이터 캡쳐부(503)는 매 7x_clock마다, 제1변수제어부(501)로부터 나오는 제1변수의 최상위 비트가 세트되어 있는지 여부를 판단한다(S701).
데이터 캡쳐부(503)는 제1변수의 최상위 비트가 세트된 경우, 병렬 데이터를 버퍼링하고, 출력 클럭 상수인 '1100011'로 출력 클럭 변수를 초기화 한다. LVDS-Tx의 규정상, 1x_clock_out의 1개 사이클의 비트 값은 7x_clock을 기준으로 1,1,0,0,0,1,1 이어야 하며, 출력 클럭 변수는 출력 클럭 1x_clock_out의 비트 값이 된다. 제1변수가 입력 클럭 1x_clock에 동기되어 있으므로, 출력 클럭인 1x_clock_out도 1x_clock에 동기되는 것이다(S703).
데이터 캡쳐부(503)는 병렬 데이터의 버퍼링과 출력 클럭 변수의 초기화 후, 매 7x_clock마다 7x domain data와 출력 클럭 변수의 최상위 비트부터 차례로 한 비트씩 최종적으로 출력한다. 최종 출력되는 7x domain data의 각 비트 값은 출력되는 직렬 데이터가 되고, 출력 클럭 변수는 1x_clock에 대응되어 출력되는 1x_clock_out이 된다(S705).
이상 도 7의 방법으로 데이터 캡쳐부(503)가 동작한다. 다시 도 5를 기초로 제2변수제어부(505)를 설명한다.
제2변수제어부(505)는 매 7x_clock단위로 제2변수를 라운드 쉬프트 하면서, 제2변수의 값을 변수초기화판단부(507)로 제공한다.
제2변수는 1x_clock의 상승 에지를 검출한 시점에서 LVDS-Tx 출력 클럭인 1x_clock_out이 1x_clock에 동기(Synchronization)되어 있는지를 판단하는데 사용되는 7 비트(Bit) 변수이다.
제2변수는 제2상수로 초기화 되어 있어야 한다. 제2변수의 초기화도 제1변수의 초기화와 마찬가지로 1x_clock의 상승 에지에서 이루어져야 한다. 제2변수가 제2상수로 초기화 되어 있지 않은 것으로 판단된 경우, 별도의 초기화 알고리즘이 동작하게 된다.
제2상수는 '1100001'또는 '0011100'과 같이 7 비트로 구성된 상수로서, 연속된 적어도 하나의 비트가 '1'로 구성된다.
바람직하게는, 제2상수의 연속하는 3 개의 비트가 '1'일 수 있다. 제2상수의 7 비트 중 연속된 3 비트를 세트시킴으로써, 7x_clock을 기초로 1x_clock의 상승 에지가 발생하는 시점을 판단함에 있어서, 7개 7x_clock 사이클(Cycle) 주기(정상상태)와 달리 ± 1개 7x_clock 사이클만큼 이격되어 1x_clock의 상승 에지가 검출되더라도, 1x_clock과 출력 클럭 1x_clock_out이 서로 동기 되었다고 판단되도록 한다. 이하에서는 제2상수의 연속하는 3개 비트 중 가운데 비트의 위치를 '체크비트의 위치'라 한다.
이를 통해, 1x_clock을 7x_clock에 기초하여 플립플롭(Flip Flop)을 통과 시 켰을 경우, 7x_clock의 지터(Jitter) 등에 의한 준안정(Meta stable) 상태에 따른 차이를 보상할 수 있도록 한다. 이하에서는 제2상수를 '1100001'라 하고 설명한다.
앞서 설명한 바와 같이, 제2변수도 초기 동작이후에 어떠한 값을 가질지 알 수 없으므로, 제2상수로 초기화 할 필요가 있다.
제2변수의 초기화와 관련하여, 제2변수제어부(505)는 변수초기화판단부(507)로부터 변수 초기화 신호를 받으면, 제2변수를 제2상수로 초기화 한다.
제2변수제어부(505)는 변수초기화판단부(507)의 변수 초기화 판단에 사용될 제2플래그를 설정하여 변수초기화판단부(507)로 전달한다. 도 8은 도 5의 제2플래그의 설정방법의 설명에 제공되는 흐름도로서, 이하는 도 8을 참조하여 설명한다.
제2변수제어부(505)는, 매 7x_clock마다 제2변수의 값을 라운드 쉬프트하면서, 제2상수와 동일한지 여부를 판단한다(S801).
제2변수제어부(505)는 그 판단 결과를 변수초기화판단부(507)로 전달한다.
예를 들어, 제2변수제어부(505)는 동일하다고 판단한 경우, 제2플래그를 세트시키고(S803), 동일하지 않다면 제2플래그를 리셋 시킨다(S805). 이상 도 8의 방법으로 제2플래그가 설정된다. 다시 도 5를 기초로 변수초기화판단부(507)를 설명한다.
변수초기화판단부(507)는 1x_clock의 상승 에지를 검출한다. 이를 위해, 1x_clock을 1개 7x_clock 지연시킨 클럭과 2개 7x_clock 지연시킨 클럭을 생성한다. 변수초기화판단부(507)는 새로 생성한 지연 클럭들을 기초로 도 2의 1x_clock_ris에 대응되는 클럭을 생성하여, 1x_clock의 상승 에지를 검출한다.
변수초기화판단부(507)는 제1변수와 제2변수의 초기화시킬 것인지를 판단하여 제1변수제어부(501) 및 제2변수제어부(505)로 변수 초기화 신호를 출력한다.
먼저, 변수초기화판단부(507)에서 사용되는 새로운 플래그인 제3플래그를 설명한다. 제3플래그는 제1플래그와 제2플래그의 곱을 말한다. 도 9는 도 5의 주기플래그의 설정방법의 설명에 제공되는 흐름도로서, 이하는 도 9를 참조하여 설명한다.
변수초기화판단부(507)는 현재 7x_clock에서 1x_clock의 상승에지가 검출되는지를 판단하고(S901), 상승에지인 경우 제3플래그를 '0'로 리셋 시킨다(S903).
S901 단계의 판단결과 현재 7x_clock에서 1x_clock의 상승 에지가 검출되지 않으면, 변수초기화판단부(507)는 제1플래그와 제2플래그가 모두 세트되었는지를 판단하여(S905), 모두 세트되었다면 제3플래그를 세트시킨다(S907).
S905 단계의 판단결과, 제1플래그와 제2플래그가 모두 세트되지 않았다면, 변수초기화판단부(507)는 제3플래그를 종전의 값('0' 또는 '1')으로 유지한다(S909).
도 9에 기초한, 제3플래그를 설정한 변수초기화판단부(507)는 매 7x_clock마다 제1변수와 제2변수를 초기화할지 여부를 판단한다.
변수초기화판단부(507)는 현재 7x_clock에서 1x_clock의 상승 에지를 검출한 경우, 1x_clock과 LVDS-Tx 출력 클럭 1x_clock_out이 동기 되어 있는지 여부를 판 단한다. 동기가 된 경우가 아니면, 변수초기화판단부(507)는 변수 초기화 신호를 제1변수제어부(501)와 제2변수제어부(505)로 출력하여 초기화 되도록 한다. 즉, 변수 초기화 신호가 세트됨으로써, 1x_clock의 상승 에지가 발생할 때 제1변수와 제2변수가 초기화 되도록 한다.
도 10은 도 5의 변수초기화판단부의 변수 초기화 여부를 판단하는 방법의 설명에 제공되는 흐름도로서, 도 10을 참조하여 변수초기화판단부(507)의 초기화 여부 판단 방법을 설명한다.
1x_clock_out이 1x_clock에 동기되어 있는지 여부를 판단하기 위해, 먼저, 변수초기화판단부(507)는 현재 7x_clock에서 1x_clock의 상승 에지가 검출되는지 판단한다(S1001).
1x_clock의 상승 에지는, 정상적으로 매 7번째 7x_clock 마다 발생한다. S1001 단계의 판단결과, 1x_clock이 상승 에지가 아니라면, 동기여부의 판단이 불가능하다. 다만, 정상적으로 매 7번째 7x_clock 마다 발생하는 경우 이외에도, 준안정 상태 등에 의해 6 번째나 8 번째 7x_clock에서 상승 에지가 발생할 수도 있음을 고려해야 한다.
S1001 단계의 판단결과, 현재 7x_clock에서 1x_clock이 상승 에지인 경우, 변수초기화판단부(507)는, 제3플래그가 세트되어 있고, 제2변수의 체크 비트 위치가 세트되어 있는가를 판단한다. 제2상수가 1100001인 경우, 체크비트는 최상위 비트이므로, 변수초기화판단부(507)는 제2변수의 최상위 비트가 세트되어 있는지를 판단한다. 제1변수와 제2변수가 1x_clock의 상승 에지에서 초기화 되어 있으므로, 이러한 판단은 1x_clock_out과 1x_clock의 동기 여부를 판단하는 것이 된다(S1003).
S1003 단계의 조건을 만족하지 못하면, 변수초기화판단부(507)는 1x_clock과 LVDS-Tx 출력 클럭 1x_clock_out이 동기되지 않은 것으로 판단하고, 제1변수제어부(501) 및 제2변수제어부(505)로 변수 초기화 신호를 출력한다. 만약 제1변수와 제2변수가 이미 초기화된 이후에 S1003 단계의 조건을 만족하지 못하게 된다는 것은, 입력 클럭 1x_clock의 주파수 또는 위상(Phase)이 바뀌는 등의 경우에 발생할 수 있다(S1005).
S1003 단계의 조건을 만족하면, 변수초기화판단부(507)는 1x_clock과 LVDS-Tx 출력 클럭 1x_clock_out이 동기된 것으로 판단한다.
여기서, 변수초기화판단부(507)가 동기여부를 판단하기 위해 확인하는 제3플래그는 1x_clock이 상승 에지가 되기 전의 값이다. 따라서 제3플래그가 세트되어 있다는 것은, 이전 적어도 7개 7x_clock 이내에 한 번 제1플래그와 제2플래그의 곱의 결과가 '1'이었음을 나타낸다.
제2변수는 제2상수를 라운드 쉬프트한 값을 가지므로, 제2변수는 연속하는 3개의 '1'을 포함한다. 따라서 7x_clock을 기초로 1x_clock의 상승 에지가 발생하는 시점을 판단함에 있어서, 7개 7x_clock 주기와 달리 ± 1개 7x_clock 사이클만큼 이격되어 1x_clock의 상승 에지가 발생하더라도, 1x_clock과 출력 클럭 1x_clock_out가 서로 동기 되었다고 판단될 수 있다.
만약 제2상수가 '0011100'이라면 체크비트는 3번 비트(4번째 비트)이다. 변 수초기화판단부(507)는 S1003단계에서 제2변수의 4번째 비트(3번 비트)가 세트되었는지를 확인하여야 한다. 1x_clock의 상승 에지가 8 번째 7x_clock에서 지연되어 발생하였다면, 제2변수의 값이 '0111000'이 될 것이고, 제2변수의 4번째 비트(3번 비트)는 여전히 세트된 값이므로, 동기된 것으로 판단한다. 따라서 변수초기화판단부(507)는 제1변수제어부(501)를 초기화하지 않으므로, 데이터 캡쳐부(503)는 제1변수의 최상위 비트를 기초로 병렬 데이터를 버퍼링하게 되어, 지연에 의해 데이터 버퍼링이 늦어지는 일이 발생하지 않게 된다.
도 11은 도 3의 경우에 대비되는 본 발명의 데이터 버퍼링 과정의 신호 흐름도이다. 이하 도 11을 참조하여, 도 3과 같이 1x_clock의 상승 에지가 지연되어 발생한 경우에 데이터 버퍼링 과정을 설명한다.
여기서 제1상수는 0x10(0010000)이고, 제2상수는 0x43(1000011)인 예이다. 도 3과 같이, d2에서 발생한 준안정 상태에 의해 d3에서 1x_clock의 상승 에지가 검출되지 않고 결국 1x_clock_ris가 1개 7x_clock 만큼 지연되어 d4에서 검출된다.
변수초기화판단부(507)는 d4지점에서 1x_clock의 상승 에지가 검출되므로, S1003 단계를 수행한다.
d1 시점에서, 제1변수의 값이 제1상수와 일치(제1플래그 세트)하고, 제2변수의 값이 제2상수와 일치(제2플래그 세트)하므로, 제3플래그는 세트되어 있다. d4 지점에서 읽은 제2변수의 최하위 비트(체크 비트)의 값은 세트되어 있다. 따라서 변수초기화판단부(507)는 1x_clock과 1x_clock_out가 동기 되어 있다고 판단한다. 결국 제1변수와 제2변수는 초기화되지 않는다.
데이터 캡쳐부(503)는 제1변수의 최상위 비트 값이 1이 되는 d5시점에서 정상적으로 병렬데이터 C를 버퍼링한다. 7x domain data는 버퍼링된 병렬 데이터이다.
이상의 방법으로 동작하는 직렬변환기(500)를 사용할 경우, 두 개의 클럭 1x_clock과 7x_clock 중 7x_clock만 생성하면 되고, 1x_clock과 7x_clock간의 위상차가 나더라도 상관없이 데이터 버퍼링 시점을 고정시킬 수 있다. 그리고 7x_clock의 지터가 어느 정도 있더라도 상관없이 데이터 버퍼링 시점을 고정 시킬 수 있다. 즉, 정밀한 PLL 설계 부담을 줄이게 되는 것이다.
본 발명의 다른 실시 예에 따른 직렬변환기에서, 제1변수의 초기화가 이루어진 상태이고 입력 클럭 1x_clock의 주파수나 위상이 변하지 않는다면, 제2변수제어부(505) 및 변수초기화판단부(507)는 반드시 필요한 것은 아니다. 데이터 캡쳐부(503)는 제1변수제어부(501)가 제공하는 제1변수의 최상위 비트가 세트된 경우에 기계적으로 병렬 데이터를 버퍼링하면 되기 때문이다. 이 경우, 제1변수제어부(501)는 변수초기화 신호를 이용하여 제1변수를 제1상수로 초기화하는 기능을 포함하지 않는다.
다만, 준안정 등의 이유로, 1x_clock의 상승 에지가 매 7± 1개 7x_clock마다 발생하지 않는 경우를 검출하기 위하여, 제2변수제어부(505)와 변수초기화판단 부(507)가 필요한 것이다. 이 경우, 변수초기화판단부(507)는 S1003 단계에서 제2변수의 체크비트의 위치가 세트되었는가 만을 판단하여 제1변수 및 제2변수를 초기화하면 된다.
앞서 설명한 바와 같이, LVDS-Tx(400)는 별도의 초기화회로를 가지고 있지 아니하므로, 초기에 전원이 온(On)된 후 제1변수 및 제2변수가 어떠한 값을 가지게 될지 알 수 없다. 따라서 제1상수 및 제2상수를 사용함에 따른 오동작을 피하기 위해, 특정한 경우에 제1변수와 제2변수를 초기화해야 한다.
도 5의 직렬변환기(500)는 두 개 변수 초기화를 위한 별도의 알고리즘을 포함하고 있다. 그러나 제1변수와 제2변수의 초기화가 도 5의 알고리즘과 같이 반드시 동시에 이루어질 필요는 없다. 따라서 제1변수의 초기화는 변수초기화판단부(507)의 판단과 별개로 이루어질 수 있다.
그 밖에도 변수 초기화는 다양한 방법으로 이루어질 수 있다. 간단하게는 LVDS-Tx 소자 또는 직렬변환기(500) 자체를 리셋(Reset)회로를 추가로 포함시킴으로써 이루어질 수 있다. 강제적으로 초기화 하는 방법은 사용자의 조작이나 다른 별도 회로의 신호처리에 의해 발생하는 초기화 신호를 이용하는 것이다.
본 발명의 LVDS-Tx(400)는, 하나의 반도체 소자로 형성될 수 있다. 이에 따라 직렬변환기(500)를 포함하는 LVDS-Tx(400)는 VHDL(Very High Speed Integrated Circuit Hardware Description Language) 또는 Verilog HDL 등과 같이 컴퓨터에서 처리될 수 있는 하드웨어 설계용 언어로 구현될 수 있다.
본 발명은 방법, 디바이스 및 시스템으로 구현될 수 있다. 또한 본 발명이 컴퓨터 소프트웨어로 구현될 때는, 본 발명의 구성요소는 필요한 동작의 수행에 필요한 코드 세그먼트(code segment)로 대치될 수 있다. 프로그램이나 코드 세그먼트는 마이크로프로세서에 의해 처리될 수 있는 매체에 저장될 수 있으며, 전송매체나 통신 네트워크를 통하여 반송파(carrier waves)와 결합된 컴퓨터 데이터로서 전송될 수 있다.
마이크로프로세서에 의해 처리될 수 있는 매체는 전자회로, 반도체 메모리 소자, 롬(ROM), 플래시(Flash) 메모리, EEPROM(Electrically Erasable Programmable Read-Only Memory), 플로피 디스크(Floppy Disk), 광학적 디스크, 하드(Hard) 디스크, 광섬유, 무선 네트워크 등과 같이 정보를 전달하고 저장할 수 있는 것을 포함한다. 또한, 컴퓨터 데이터는 전기적 네트워크 채널, 광섬유, 전자기장, 무선 네트워크 등을 통해 전송될 수 있는 데이터를 포함한다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
이상에서 상세히 설명한 바와 같이 본 발명에 따른 LVDS-Tx(Low Voltage Differential Signaling - Transmission) 장치 및 그 출력제어방법은, PLL(Phase Locked Loop)에서 출력되는 클럭의 지터(Jitter)에도 불구하고 데이터의 소실 없이 입력되는 병렬 데이터를 직렬 데이터로 변환하여 출력할 수 있다.
이에 따라 조종 위반(Setup Violation)의 영향을 없애므로 PLL 소자가 고속의 클럭을 출력함에 따른 정밀도에 대한 부담을 줄일 수 있다.
LVDS-Tx에 포함되는 직렬변환기는 카운터(Counter) 등을 사용하지 않고 상수에 의해 제어되므로, 고속 구현이 상대적으로 쉬우며 설계상 P&R(Place and Route)의 부담을 줄일 수 있다.

Claims (10)

  1. 입력 클럭을 입력받아 7 배속의 클럭인 7x_clock을 출력하는 PLL(Phase Locked Loop);
    상기 입력 클럭에 동기되어 입력되는 병렬데이터를 상기 7x_clock의 7개 사이클마다 버퍼링하여 변환한 직렬 데이터를, 상기 입력 클럭과 동일한 주기를 가지는 출력 클럭인 1x_clock_out와 함께 출력하는 직렬변환기; 및
    상기 직렬변환기에서 변환된 직렬 데이터 및 1x_clock_out를 LVDS(Low Voltage Differential Signaling) 규격에 따른 전압 레벨을 가지는 아날로그 신호로 변환하여 최종 출력하는 LVDS-Tx 버퍼(Buffer);를 포함하여 이루어지는 저압차 동신호방식 전송장치.
  2. 제1항에 있어서,
    상기 직렬변환기는,
    하나의 비트가 '1'로 세트된 7 비트 상수인 제1상수로 초기화된 제1변수를, 상기 7x_clock의 사이클마다 라운드 쉬프트(Rounded Shift)하는 제1변수제어부; 및
    상기 제1변수의 최상위 비트가 '1'인 경우, 상기 병렬데이터를 버퍼링하여 상기 직렬 데이터로 변환하고, 변환된 상기 직렬 데이터를 상기 1x_clock_out과 함께 직렬로 출력하는 데이터 캡쳐부;를 포함하는 것을 특징으로 하는 저압차동신호방식 전송장치.
  3. 제2항에 있어서,
    상기 직렬변환기는,
    하나의 비트(체크비트)와 상기 체크비트 위치의 적어도 ± 1 위치의 비트가 세트된 7비트 상수인 제2상수로 초기화된 제2변수를 상기 7x_clock의 사이클마다 라운드 쉬프트하여 출력하며, 소정의 변수초기화신호를 수신하면 상기 제2상수로 상기 제2변수를 다시 초기화하는 제2변수제어부; 및
    상기 입력클럭의 상승 에지가 검출되고, 상기 제2변수제어부에서 출력되는 상기 제2변수의 상기 체크 비트의 위치가 세트되지 않은 경우, 상기 변수초기화신호를 상기 제1변수제어부 및 제2변수제어부로 출력하는 변수초기화판단부;를 더 포함하고,
    상기 제1변수제어부는 상기 변수초기화신호를 수신하는 경우, 상기 제1변수를 상기 제1상수로 다시 초기화하는 것을 특징으로 하는 저압차동신호방식 전송장치.
  4. 제1항에 있어서,
    상기 직렬변환기는,
    상기 7x_clock의 사이클마다, 제1변수를 라운드 쉬프트하여 출력하고 하나의 비트가 '1'로 세트된 7 비트 상수인 제1상수와 상기 제1변수가 같을 경우 제1플래그를 세트하며 변수초기화신호를 수신하면 상기 제1상수로 상기 제1변수를 초기화하는 제1변수제어부;
    상기 제1변수의 최상위 비트가 '1'인 경우, 상기 병렬데이터를 버퍼링하여 상기 직렬 데이터로 변환하고, 변환된 상기 직렬 데이터를 상기 1x_clock_out과 함께 직렬로 출력하는 데이터 캡쳐부;
    상기 7x_clock의 사이클마다, 제2변수를 라운드 쉬프트하면서, 하나의 비트(체크비트)와 상기 체크비트 위치의 적어도 ± 1 위치의 비트가 세트된 7비트 상수인 제2상수와 상기 제2변수가 동일할 경우 제2플래그를 세트하며, 상기 변수초기화 신호를 수신하면 상기 제2상수로 상기 제2변수를 초기화하는 제2변수제어부; 및
    상기 입력클럭의 상승 에지가 검출된 7x_clock 사이클에서, 상기 출력 클럭인 1x_clock_out이 상기 입력클럭에 동기되지 않은 경우 상기 변수초기화신호를 상기 제2변수제어부로 출력하는 변수초기화판단부;포함하는 것을 특징으로 하는 저압차동신호방식 전송장치.
  5. 제4항에 있어서,
    상기 변수초기화판단부는
    상기 제2변수의 상기 체크 비트의 위치가 세트되고, 제3플래그가 이전 7x_clock 사이클에서 세트되어 있지 않은 경우, 상기 출력 클럭인 1x_clock_out이 상기 입력클럭에 동기되지 않은 것으로 판단하되,
    상기 제3플래그는,
    상기 7x_clock의 각 사이클에서 판단하여, 입력클럭의 상승에지가 검출되면 리셋('0')되고 입력클럭의 상승에지가 검출되지 않고 상기 제1플래그와 제2플래그가 세트되어 있으면 세트되고, 입력클럭의 상승에지가 검출되지 않고 상기 제1플래그와 제2플래그 중 적어도 하나가 세트되어 있지 않으면 이전 값을 유지하는 것을 특징으로 하는 저압차동신호방식 전송장치.
  6. 입력 클럭을 입력받아 7 배속의 클럭인 7x_clock을 출력하는 단계;
    상기 입력 클럭에 동기되어 입력되는 병렬데이터를 상기 7x_clock의 7개 사이클마다 버퍼링하여 변환한 직렬 데이터를, 상기 입력 클럭과 동일한 주기를 가지는 출력 클럭인 1x_clock_out와 함께 출력하는 단계; 및
    상기 직렬 데이터 및 1x_clock_out를 LVDS 규격에 따른 전압 레벨을 가지는 아날로그 신호로 변환하여 최종 출력하는 단계;를 포함하여 이루어지는 저압차동신호방식 전송장치의 직렬데이터 출력방법.
  7. 제6항에 있어서,
    상기 1x_clock_out와 함께 출력하는 단계는,
    하나의 비트가 '1'로 세트된 7 비트 상수인 제1상수로 초기화된 제1변수를, 상기 7x_clock의 사이클마다 라운드 쉬프트(Rounded Shift)하는 단계; 및
    상기 제1변수의 최상위 비트가 '1'인 경우, 상기 병렬데이터를 버퍼링하여 상기 직렬 데이터로 변환하고, 변환된 상기 직렬 데이터를 상기 1x_clock_out과 함께 직렬로 출력하는 단계;를 포함하는 것을 특징으로 하는 저압차동신호방식 전송장치의 직렬데이터 출력방법.
  8. 제7항에 있어서,
    상기 1x_clock_out와 함께 출력하는 단계는,
    하나의 비트(체크비트)와 상기 체크비트 위치의 적어도 ± 1 위치의 비트가 세트된 7비트 상수인 제2상수로 초기화된 제2변수를 상기 7x_clock의 사이클마다 라운드 쉬프트하여 출력하는 단계; 및
    상기 입력클럭의 상승 에지가 검출되고, 상기 제2변수제어부에서 출력되는 상기 제2변수의 상기 체크 비트의 위치가 세트되지 않은 경우, 상기 제1변수 및 제2변수를 다시 초기화 하는 단계;를 더 포함하는 것을 특징으로 하는 저압차동신호방식 전송장치의 직렬데이터 출력방법.
  9. 제6항에 있어서,
    상기 1x_clock_out와 함께 출력하는 단계는,
    상기 7x_clock의 사이클마다, 제1변수를 라운드 쉬프트하여 출력하고 하나의 비트가 '1'로 세트된 7 비트 상수인 제1상수와 상기 제1변수가 같을 경우 제1플래그를 세트하는 단계;
    상기 제1변수의 최상위 비트가 '1'인 경우, 상기 병렬데이터를 버퍼링하여 상기 직렬 데이터로 변환하고, 변환된 상기 직렬 데이터를 상기 1x_clock_out과 함께 직렬로 출력하는 단계;
    상기 7x_clock의 사이클마다, 제2변수를 라운드 쉬프트하면서, 하나의 비트(체크비트)와 상기 체크비트 위치의 적어도 ± 1 위치의 비트가 세트된 7비트 상수 인 제2상수와 상기 제2변수가 동일할 경우 제2플래그를 세트하는 단계; 및
    상기 입력클럭의 상승 에지가 검출된 7x_clock 사이클에서, 상기 출력 클럭인 1x_clock_out이 상기 입력클럭에 동기되지 않은 경우 상기 제1변수를 제1상수로 초기화하고 상기 제2변수를 제2상수로 초기화 하는 단계;포함하는 것을 특징으로 하는 저압차동신호방식 전송장치의 직렬데이터 출력방법.
  10. 제9항에 있어서,
    상기 초기화 하는 단계는, 상기 제2변수의 상기 체크 비트의 위치가 세트되고, 제3플래그가 이전 7x_clock 사이클에서 세트되어 있지 않은 경우, 상기 출력 클럭인 1x_clock_out이 상기 입력클럭에 동기되지 않은 것으로 판단하되,
    상기 제3플래그는, 상기 7x_clock의 각 사이클에서 판단하여, 입력클럭의 상승에지가 검출되면 리셋('0')되고 입력클럭의 상승에지가 검출되지 않고 상기 제1플래그와 제2플래그가 세트되어 있으면 세트되고, 입력클럭의 상승에지가 검출되지 않고 상기 제1플래그와 제2플래그 중 적어도 하나가 세트되어 있지 않으면 이전 값을 유지하는 것을 특징으로 하는 저압차동신호방식 전송장치의 직렬데이터 출력방법.
KR1020060081191A 2006-08-25 2006-08-25 저압차동신호방식 전송장치 및 그 출력 제어방법 KR20080018688A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060081191A KR20080018688A (ko) 2006-08-25 2006-08-25 저압차동신호방식 전송장치 및 그 출력 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060081191A KR20080018688A (ko) 2006-08-25 2006-08-25 저압차동신호방식 전송장치 및 그 출력 제어방법

Publications (1)

Publication Number Publication Date
KR20080018688A true KR20080018688A (ko) 2008-02-28

Family

ID=39385677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060081191A KR20080018688A (ko) 2006-08-25 2006-08-25 저압차동신호방식 전송장치 및 그 출력 제어방법

Country Status (1)

Country Link
KR (1) KR20080018688A (ko)

Similar Documents

Publication Publication Date Title
KR100459709B1 (ko) 여유 있는 셋업 앤드 홀드 타임 마진을 가지는 병렬-직렬송신 회로
US7545190B2 (en) Parallel multiplexing duty cycle adjustment circuit with programmable range control
US7138837B2 (en) Digital phase locked loop circuitry and methods
US7446680B2 (en) Serial-to-parallel converter circuit and parallel-to-serial converter circuit
CN107220204B (zh) 一种数据读取电路
US9088276B2 (en) Pre-emphasis control circuit for adjusting the magnitude of a signal over a period according to a fraction of a bit-time
US6985546B2 (en) Transmitting circuit and method thereof, receiving circuit and method thereof, and data communication apparatus
US7194057B2 (en) System and method of oversampling high speed clock/data recovery
US9438272B1 (en) Digital phase locked loop circuitry and methods
JP4448076B2 (ja) データ送受信回路のタイミング調整回路、lsi及びデータ送受信システム
US10868552B2 (en) Frequency divider circuit, demultiplexer circuit, and semiconductor integrated circuit
US20100239059A1 (en) Transmission method and transmission apparatus
JP2013034087A (ja) シリアル通信用インターフェース回路及びパラレルシリアル変換回路
US8222941B2 (en) Phase selector
KR20080018688A (ko) 저압차동신호방식 전송장치 및 그 출력 제어방법
US6970527B2 (en) Transmitting circuit and method thereof, receiving circuit and method thereof, and data communication apparatus
US20070069927A1 (en) Method of transmitting a serial bit-stream and electronic transmitter for transmitting a serial bit-stream
US6788127B2 (en) Circuit for variably delaying data
KR101418519B1 (ko) 분주기 및 분주기의 분주 방법
KR100835626B1 (ko) 데이터 송수신 회로의 타이밍 조정 회로, lsi 및 데이터송수신 시스템
JP5861507B2 (ja) データ通信回路、及び、電子装置
KR20050013434A (ko) 클럭신호 발생 장치 및 그 방법
JP2007200354A (ja) シリアルバス高速化回路
JP2011077791A (ja) データ伝送システム及び方法、データ送信装置及び受信装置
JPH07297708A (ja) デジタルpll回路

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination