KR100337467B1 - 변환 제어 디지탈 인코딩 장치 및 신호 전송 시스템 - Google Patents

변환 제어 디지탈 인코딩 장치 및 신호 전송 시스템 Download PDF

Info

Publication number
KR100337467B1
KR100337467B1 KR1020017001011A KR20017001011A KR100337467B1 KR 100337467 B1 KR100337467 B1 KR 100337467B1 KR 1020017001011 A KR1020017001011 A KR 1020017001011A KR 20017001011 A KR20017001011 A KR 20017001011A KR 100337467 B1 KR100337467 B1 KR 100337467B1
Authority
KR
South Korea
Prior art keywords
data blocks
bit
selectively
characters
sequence
Prior art date
Application number
KR1020017001011A
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 실리콘 이미지, 인크.
Application granted granted Critical
Publication of KR100337467B1 publication Critical patent/KR100337467B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • 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/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03828Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
    • H04L25/03866Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4915Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using pattern inversion or substitution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/083Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical and the horizontal blanking interval, e.g. MAC data signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L2007/045Fill bit or bits, idle words
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23602Multiplexing isochronously with the video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4342Demultiplexing isochronously with video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI

Abstract

데이타 바이트의 입력 시퀀스로부터 변환 제어된 DC 밸런스 시퀀스를 생성하는 방법 및 장치가 기재되어 있다. 각 데이타 바이트의 비트는 각 바이트의 로직 변환의 수에 따라서 선택적으로 상보되어 선택적으로 상보된 데이타 블럭을 생성한다. 다음에 미리 문자로 인코드된 상기 선택적으로 상보된 데이타 블럭 각각 내에 포함된 다른 형태의 로직 값들 사이의 누적 디스패리티 (disparity)가 결정된다. 부가하여, 선택적으로 상보된 데이타 블럭중 인코드되고 있는 현재 블럭에 관련된 후보 문자의 현재 디스패리티가 또한 결정된다. 후보 문자는 현재 디스패리티가 누적 디스패리티의 제1 극성과 반대의 극성으로 되어 있는 경우 선택적으로 상보된 데이타 블럭중 현재의 것에 할당된다. 다르게는, 후보 문자의 보수는 현재의 디스패리티가 제1 극성으로 되어 있는 경우 선택적으로 상보된 데이타 블럭중 현재의 블럭에 할당된다. 고속 동작 모드에서는, 최소 개수 이하의 로직 변환을 포함하는 데이타 블럭 내의 비트가 선택적으로 상보되어 이러한 선택적으로 상보된 데이타 블럭 각각은 최소 개수를 초과하는 로직 변환을 포함한다. 저속 동작 모드에서는, 소정 개수 이상의 로직 변환을 갖는 데이타 블럭 내의 비트가 선택적으로 상보되어 이러한 선택적으로 상보된 데이타 블럭 각각은 최대 개수 이하의 로직 변환을 포함한다.

Description

변환 제어 디지탈 인코딩 장치 및 신호 전송 시스템{TRANSITION-CONTROLLED DIGITAL ENCODING AND SIGNAL TRANSMISSION SYSTEM}
본 발명은 디지탈 전송 시스템의 코딩 스킴에 관한 것으로, 특히 고속 바이트 동기화로 신속한 디코딩의 초기화를 가능하게 하는 DC-밸런스된 변환 제어 코딩 시스템에 관한 것이다.
전자 및 컴퓨터 기술이 발전됨에 따라, 근접하여 위치되거나 멀리 떨어져 위치되어 있는 여러 장치 간의 정보 통신이 점점 중요해지고 있다. 예를 들어, 회로 보드 상의 여러 칩 간, 시스템의 여러 회로 보드 간, 및 여러 시스템들 서로 간에 고속 통신을 제공하는 것이 어느 때 보다도 더욱 더 요망되고 있다. 특히 이러한 고속 통신은 그래픽 정보 또는 비디오 정보, 복수의 입출력 채널, 근거리 통신망 등을 이용하는 데이타 소모성 시스템에서의 데이타 통신에 대량의 데이타가 필요하게 되는 점에 비추어 볼 때에 점점 더 요망되고 있다.
특히 병렬 데이타 버스를 이용하여 통상 내부에서 데이타가 전달되게 되는개별적인 퍼스널 컴퓨터, 워크스테이션, 또는 그 외 연산 장치가 비교적 단순한 전송 라인을 통해 서로 통신될 수 있게 하는 것이 좋다. 이러한 전송 라인은, 현재 통상 상용되고 있는 연산 시스템 내에 64비트 이상의 넓은 데이타 경로를 포함하는 것과 대조적으로, 하나 또는 두 개의 도체만을 포함한다. 디지탈 카메라로부터 컴퓨터 시스템으로의 고속 비디오 입력의 경우에서나, 컴퓨터 디스플레이에의 비디오 데이타 전송의 경우에는, 현존하는 상호 간섭 인터페이스가 통상 이러한 병렬 데이타 경로를 이용하고 있다. 이러한 상호 간섭 시스템의 필수 대역폭은 디스플레이 해상도의 증가 결과로서 최근에 증가하는 추세이다. 이것은 전송 라인 노이즈 뿐만 아니라 전자기 간섭 (EM)을 증가시키게 되고, 이로 인하여 안전도나 신뢰도에 대한 관심을 증가시키게 된다. 부가하여, 개발된 액정 디스플레이 패널에 필요한 신호와 데이타 라인수가 증가할수록 상호 간섭의 위험은 더욱 커진다.
병렬 데이타의 직렬 형태로의 고속 전환 및 직렬 링크를 통한 전송을 제공하는 다수의 제품들이 상용되고 있다. 휴렛팩커드사의 G 링크 칩 세트가 이러한 제품 중 하나이다. 이 칩 세트는 전송기 세트를 포함하며 21비트 폭의 병렬 데이타를 취급할 수 있다. 그러나, 필요한 속도를 성취하기 위해서, 이 칩 세트는 바이폴라 처리를 사용하여 제조되며, 수신기와 전송기는 별개의 칩을 필요로 한다. 이러한 해결책은 고전력이 소모되며 값비싸다는 단점이 있다.
다른 해결책으로는 프랑스의 불 (Bull)에 의해 제공되고 있다. 불 기술은 병렬에서 직렬 데이타로의 전환을 위해 주파수 체배기를 이용한다. 이 소자는 통상 실리콘 기판에 노이즈를 유입하여 칩상의 다른 체배기와 간섭하게 된다. 또한,불 기술은 병렬에서 직렬로의 전환을 위해 배타적 OR를 사용한다. 이 배타적 OR의 이용은 공지되어 있으며, 또한 이 소자의 모든 경로를 통해 지연을 이퀄라이즈하는 데에는 어려움이 있다. 부가하여, 불 기술은 전 로직 스윙을 갖는 출력 신호를 사용한다. 이 결과는 성능의 저속을 야기하게 된다.
직렬 링크를 통한 전송 특성을 개선하기 위한 여러 기술이 있다. 예를 들어, 전송 코드는 전송된 직렬 데이타의 주파수 스펙트럼을 변경하는 데에 이용되어 클럭 복원를 용이하게 하며 AC 커플링을 가능하게 한다. 각 전송 코드는 통상 데이타 알파벳 내에 포함되지 않는 특수 문자를 사용하여 연산 동기화, 프레임 디리미팅(delimiting)에 사용되며 진단의 목적을 위해서도 가능하게 사용된다. 전송 매체를 통한 전파 동안에 발생하는 신호 왜곡을 제한하기 위한 수단으로서 전송 대역폭을 감소시키는 코딩을 이용할 수 있다. 와이어 링크의 경우, 구동기 및 수신기 회로를 전송 라인으로부터 DC 분리하기 위해서는 DC가 없고 저 주파수 내용이 거의 없는 코드를 이용하는 것이 바람직하다. 또한 디코딩 중에 클럭 정보의 추출을 가능하게 하도록 하여 인코드된 데이타로 클럭 정보를 인코드하기 위해서 효율적인 코딩 시스템이 배치되어야 한다. 이것은 디코딩 중에 복원된 클럭 정보가 대신 수신기 회로에 의해 사용될 수 있기 때문에, 전용 클럭 라인을 통해 별개의 클럭 신호를 제공할 필요를 없애 준다.
단거리 통신망(LAN) 내에서는, 여러 길이의 문자를 더 긴 길이의 문자로 변환하기 위한 전송 코딩 스킴이 존재한다. 예를 들면, 3 비트의 워드가 4비트의 문자로 변환(3B/4B)될 수 있으며, 4비트의 워드는 5비트의 문자로 변환(4B/5B)될 수있는 등이다. 통상, 코딩 및 디코딩은 각 문자가 대응하는 문자로 매핑(mapping)되는 '키'를 이용하여 성취된다. 그러나, 이런 형태의 매핑 스킴의 복잡성으로 인해 일반적으로 랜덤 로직의 이용을 배재하게 되며, 룩업 테이블 등을 포함하는 실행을 필요로 하는 경우가 있다. 이것은 ROM을 사용하여 실현되는 룩업 테이블이 유효 칩 영역을 소모하며 회로 동작이 저속화되는 경향이 있어 단점이 많다.
특정 8B/10B 코딩 스킴이 미국 특허 번호 4,486,739에 기재되어 있다. 특히, 이진 DC 밸런스 코드와 이와 관련되는 인코더 회로는 전송을 위해 8비트의 바이트 정보를 10개의 이진 디지트로 전환하도록 동작하는 것으로 기재되어 있다. 8B/10B 코더는 5B/6B와 3B/4B 코더로 구획된다. 이 시스템은 표면상 DC 밸런스 인코딩을 용이하게는 하지만, 비교적 길이가 긴 인코딩 및 디코딩 간격을 필요로 하는 경향이 있다.
직렬 데이타 전송을 촉진하도록 하는 코딩 기술 개발이 진행되고는 있지만, 매우 고속인 직렬 데이타 전송을 효과적으로 지원할 수 있는 코딩 스킴의 필요성은 여전히 남아 있다. 이러한 코딩 스킴은 AC 커플링 및 클럭 복원을 촉진하기 위해서도 또한 DC 밸런스되어야 한다. 부가하여, 디코딩 중에 신속한 동기화를 가능하게 하여 실시간 데이타 전달을 용이하게 할 수 있는 코딩 스킴을 제공하는 것이 바람직하다.
<발명의 요약>
일 형태에 있어서, 본 발명은 데이타 바이트의 입력 시퀀스로부터 변환 제어된 DC 밸런스 문자 시퀀스를 생성하기 위한 방법 및 장치에 관련된 것이다. 각 데이타 바이트의 비트는 각 데이타 바이트의 로직 변환의 수에 따라서 선택적으로 상보되어 선택적으로 상보된 데이타 블럭을 생성한다. 다음에 미리 문자로 인코드된 상기 선택적으로 상보된 데이타 블럭 각각 내에 포함된 다른 형태의 로직 값들 사이의 누적 디스패리티 (disparity)가 결정된다. 부가하여, 선택적으로 상보된 데이타 블럭중 인코드되고 있는 현재 블럭에 연관된 후보 문자의 현재 디스패리티가 또한 결정된다. 후보 문자는 현재 디스패리티가 누적 디스패리티의 제1 극성과 반대의 극성으로 되어 있는 경우 선택적으로 상보된 데이타 블럭중 현재의 것에 할당된다. 다르게는, 후보 문자의 보수는 현재의 디스패리티가 제1 극성으로 되어 있는 경우 선택적으로 상보된 데이타 블럭중 현재의 블럭에 할당된다.
고속 변환 동작 모드에서, 최소 개수 이하의 로직 변환을 포함하는 데이타 블럭 내의 비트가 선택적으로 상보되어 이들 선택적으로 상보된 데이타 블럭 각각이 최소 개수를 초과하는 로직 변환을 포함하도록 한다. 저속 변환 동작 모드에서는, 미리 정해진 개수 이상의 로직 변환을 갖는 데이타 블럭 내의 비트가 선택적으로 상보되어 이들 선택적으로 상보된 데이타 블럭 각각이 최대 개수 이하의 로직 변환을 포함하도록 한다. 이들 각 선택적으로 상보된 데이타 블럭을 인코드된 문자로 인코딩하는 고속 변환 모드와 저속 변환 모드 중에, 소정의 비트가 설정되어 선택적인 상보가 실행되었음을 나타내도록 한다.
다른 형태에서, 본 발명은 고속 디지탈 신호 전송 시스템을 포함한다. 이 시스템은 디지탈 입력 데이타를 데이타 문자로 인코딩하고 제어 데이타를 제어 문자로 인코딩하는 인코더를 포함한다. 각 데이타 문자는 제1 범위 내에서의 제1 복수의 로직 변환을 포함하고, 제어 문자 각각은 제1 범위와는 다른 제2 범위 내에서의 제2 복수의 로직 변환을 갖는다. 데이타 및 제어 문자는 직렬 데이타 스트림으로 변환되어 통신 링크를 통해 전송된다.
고속 디지탈 신호 전송 시스템은 또한 직렬 데이타 스트림을 통신 링크로부터 수신하며 이들로부터 수신된 데이타와 제어 문자를 회수하기 위한 디시리얼라이저를 더 포함한다. 이 수신된 제어 문자는 내부에서 검출된 로직 변환의 수에 기초하여 수신된 데이타 문자와 구별된다. 디시리얼라이저에 결합된 디코더는 수신된 데이타와 수신된 제어 문자를 디코드하도록 작용한다.
도 1은 고속 디지탈 전송 시스템 내에서 실행되는 본 발명의 DC-밸런스 인코딩 시스템을 설명하는 블럭도이다.
도 2는 데이타 플로우 챠트의 형태로 본 발명의 DC-밸런스 인코더의 전체 기능 구성도이다.
도 3은 도 1의 전송 시스템 내에 포함되는 디코더의 블럭 개략도이다.
도 4는 도 3의 디코더의 교호 바이트 반전 디코더 모듈의 랜덤 로직 실행도를 나타내는 도면이다.
도 5는 도 3의 디코더에 따라 동작하는 디코더 동기화 모듈에 의해 실행되는 동기화 처리를 설명하는 플로우 챠트도이다.
도 6은 고속 변환 모드 동작 동안 디코더 동기화 모듈에 의해 실행되는 동기화 처리를 설명하는 플로우 챠트도이다.
도 7a, 도 7b 및 도 7c는 인코더의 실행예의 개략 대표도이다.
도 8a 및 도 8b는 디코더 동기화 모듈의 바람직한 실행의 개략 대표도이다.
<도면의 주요 부분에 대한 부호의 설명>
10: 디지탈 전송 시스템
18: DC-밸런스 인코더
26: 시리얼라이저
30: 직렬 데이타 링크
34: 디시리얼라이저
44: 디코더
114: 디코더 동기 모듈
Ⅰ.시스템 개요
도 1은 고속 디지탈 전송 시스템(10) 내에서 실행되는 본 발명의 변환 제어된 DC 밸런스 인코딩 시스템을 설명하는 블럭도이다. 도 1의 시스템(10)에서는, 병렬 데이타(14)의 8비트 바이트가 본 발명에 따라서 변환 제어된 DC 밸런스 8B/10B 코딩을 실행하도록 동작하는 DC-밸런스 인코더(18)에 제공된다. 최종 10B 인코드된 문자(22)는 10 비트 문자를 직렬 데이타 스트림으로 변환하도록 배치된 시리얼라이저(26)에 제공되어 직렬 데이타 링크(30) (예를 들어, 광 섬유 케이블, 또는 꼬임 구리 쌍선)을 통해 전송되게 한다. 여기에서 설명하고 있는 바와 같이, 인코더(18)에 의해 실행되는 인코딩 알고리즘에 있어서 비교적 직송식인 수학적 특징은 랜덤 로직의 경제적인 고속 실행을 가능하게 한다.
직렬 데이타 스트림은 디시리얼라이저(34)에 의해 직렬 데이타 링크(30)으로부터 수신되어 10비트 문자 데이타(38)로 변환된다. 10비트 문자 데이타(38)는 다음에 디코더(44)에 의해 8비트 데이타 바이트(42)로 디코드된다. 이후에 설명하는 바와 같이, 인코더(18)와 디코더(44) 둘다는 실시간 데이타 처리가 가능한 단순한 디지탈 로직 회로를 사용하여 경계적으로 실현될 수 있다.
Ⅱ.DC 밸런스 변환 제어된 인코딩 및 디코딩 시스템
인코더(18) 내에서 실행되는 8B/10B 변환 제어 코딩 스킴을 이하 상세히 설명한다. 여기에 기재되어 있는 변환 제어 코드는 '대역내' 코드 문자의 고속 변환 또는 저속 변환 세트중 하나의 이용을 의도하는 것이다. 각 고속 변환 대역내 코드 문자는 네개 이상의 로직 변환이 8비트 사이에 존재하고 있는 입력 데이타 바이트로부터 유도되게 된다. 유사하게, 각 저속 변환 대역내 코드 문자는 네 개 이하의 로직 변환이 8비트 간에 존재하고 있는 입력 데이타 바이트로부터 유도되게 된다. 이 스킴은 258개의 8비트 SACII 코드중 128개가 네 개 이상의 로직 변환을 포함하고, 나머지 128개의 ASCII 코드가 네 개 이하의 로직 변환을 포함한다는 사실을 이용한다.
네개 이하의 로직 변환을 포함하는 128개의 8비트 코드 각각은 네 개 이상의 로직 변환을 갖는 대응하는 8비트 코드로 매핑되거나 그 반대로 매핑될 수 있다는 것을 알 수 있다. 여기에서 설명한 바와 같이, 이 매핑은 매핑되는 각 8비트 코드중 미리 정해진 비트를 상보하여 성취될 수 있다. 고속 변환 모드 인코딩 동안, 네개 이하의 로직 변환을 갖는 입력 바이트 내의 비트들은 선택적으로 상보됨으로써 네 개 이상의 로직 변환을 갖는 바이트로 매핑된다. 다르게는, 저속 변환 모드 인코딩 중에는, 네개 이상의 로직 변환을 갖는 입력 바이트 내의 비트들이 또한 선택적으로 상보됨으로써 네 개 이하의 로직 변환을 갖는 바이트로 매핑된다. 이 두 인코딩 모드 중에는, 미리 정해진 값의 비트가 선택적으로 상보된 바이트에 첨부되어 대응하는 10비트의 인코드된 문자의 형성 이전에 중간 9비트 인코드된 기호를 생성하게 된다. 입력 바이트가 현재의 인코딩 모드 (즉, 고속 변환 모드 또는 저속 변환 모드)에 의해 위임된 로직 변환 개수를 포함할 때, 이 첨부된 비트는 미리 정해진 값의 보수로 설정되어 9비트의 중간 기호중 어느 것이 선택적으로 상보된 바이트를 포함하는지를 식별하게 된다. 이로 인해 전체 256개인 비트 코드 세트가 저속 변환 모드와 고속 변환 모드 동작 중에 10비트의 문자로 인코딩하는 데에 이용될 수 있게 된다.
따라서, 고속 변환 모드 동작 중에 10비트 인코드된 문자로 변환된 각 8비트 코드는 네 개 이상의 로직 변환을 포함하는 것이 이해될 것이다. 유사하게, 저속 변환 모드 동작 중에 10비트 인코드된 문자로 변환된 8비트 코드 각각은 네 개 이하의 로직 변환을 포함한다. 고속 변환 및 저속 변환 모드의 동작 중에 생성될 수 있는 10비트 인코드된 문자 세트들은 각각 '대역내' 인코드된 문자의 고속 변환 세트와, 대역내 인코드된 문자의 저속 변환 세트로 특성화될 수 있다. 고속 변환 세트 내의 256개의 대역내 문자와 저속 변환 세트의 256개의 대역내 문자 이외에, 256개의 대역외 고속 변환 10비트 문자 세트와 저속 변환 10비트 문자 세트가 있다. 본 발명의 다른 형태에 따르면, 각종 동기화 및 그 외 특수 문자는 고속 변환및 저속 변환 대역외 문자 세트를 사용하여 정의된다. 고속 변환 세트와 관련되는 이들 '대역외' 문자중 하나에 대응하는 각 문자는 네 개 이하의 로직 변환을 포함하고, 저속 변환의 코드 문자 세트와 관련되는 대역외 문자 각각은 네 개 이상의 로직 변환을 포함한다. 대역내와 대역외 문자 간의 변환 개수의 차이로 선택된 대역외 문자가 제어 문자로서 작용할 수 있게 하며, 전송된 데이타 스트림 내의 대역내 문자와 용이하게 구별될 수 있게 한다.
고속 변환 세트의 대역내 문자 각각 내에 비교적 다수의 변환이 있는 경우, 고속 변환 세트의 문자가 타이밍 복원을 용이하게 하는 데에 이용될 수 있다. 한편, 저속 변환의 코드 문자 세트 내의 적은 수의 변환은 이 세트의 문자가 전력 소모 및/또는 전자기 간섭(EMI)을 최소화하는 것이 요망될 때에 사용하면 이상적이다.
본 발명의 일 형태에 따르면, 저속 변환 및 고속 변환 세트의 코드 문자와 관련되는 동기 문자가 데이타 복원 동안 고속 동기화를 용이하게 하도록 선택된다. 저속 변환 세트의 코드 문자가 이용되고 있을 때, 특수 그룹의 대역외 문자가 동기화 동안에 사용된다. 각 특수 동기화 문자는 이진 문자 값 사이에서 네개 이상의 미리 정해진 개수 (예를 들어, 7)의 로직 변환과, 문자 값 사이에서 미리 정해진 개수 (예를 들어, 2)의 로직 변환을 포함한다. 이하에서 설명하는 바와 같이, 특수 동기화 문자는 랜덤 로직이 각 특수 동기화 문자를 저속 변환 세트의 대역내 문자와 구별하는 데에 사용될 수 있도록 선택된다. 이하는 저속 변환의 코드 문자 세트로 사용되는 대역외 동기화 문자 세트를 예시하여 구성한 것이다.
1100101010
1101001010
1101010010
1101010100
본 발명의 일 특징은 상기 대역외 동기화 문자가 어느 프리앰블 주기 내에서도 세 번 이상의 연속 시간 전송되는 경우, 동기화 문자는 관련된 데이타 복원 처리 동안 검출되는 것이 확실시 된다는 것이다. 이와 관련하여 '프리앰블' 시퀀스가 인코드된 문자의 각 전송 이전의 프리앰블 주기 동안 보내진다. 프리앰블 시퀀스의 전송은 시스템 초기화의 일부로서만이 아니라, 그 외 시간에도 발생하여 인코딩과 디코딩 처리 사이에 동기화가 유지되는 것을 확실하게 한다.
본 발명의 코딩 스킴은 256개의 다른 8비트 이진 코드 값의 특성에 근거하여 정의된 것이다. 표 1에 따르면, 256개의 다른 8비트 이진 코드가 8개 그룹의 G0-G7로 나누어지고, 각 그룹 G0-G7 내의 이진 코드는 동일한 개수의 변환을 포함한다. 그룹 G0 내의 각 이진 코드는 그룹 G0 코드 내의 교호 비트를 반전시켜 그룹 G7 내의 대응 이진 코드로 변환될 수 있음이 관찰된다. 동일하게, 각 그룹 G1, G2 및 G3 내의 이진 코드는 각각 교호 비트의 반전에 의해서, 그룹 G6, G5, 및 G4 내의 이진 코드중 하나로 변환될 수 있다. 여기에서 설명하고 있는 바와 같이, 고속 변환의 10비트 문자 세트는 그룹 G0-G3에서 8비트의 이진 코드를 인코딩하여 성취되고, 저속 변환 세트는 그룹 G4-G7을 인코딩하여 성취된다.
그룹 변환 회수 그룹내의 바이트 수 그룹내의 바이트예
G0 0 2 00000000, 11111111
G1 1 14 00000001, 11111110
G2 2 42 00000010, 11111101
G3 3 70 00000101, 11111101
G4 4 70 00001010, 11110101
G5 5 42 00010101, 11101010
G6 6 14 00101010, 11010101
G7 7 2 01010101, 10101010
고속 변환 인코딩 모드에서의 인코더(18)의 동작 중에, 인코더에 제공된 바이트 그룹 G0-G3 내의 각 8비트의 이진 코드는 교호 비트의 반환에 의해 바이트 그룹 G4-G7 내의 대응 이진 코드로 전환된다. 반대로, 저속 변환 인코딩 모드시의 동작 중에, 인코더에 제공된 그룹 G4-G7내의 각 8비트의 이진 코드는 그룹 G0-G3 내의 대응 이진 코드로 매핑된다. 예시되는 실시예에서, 교호 비트의 반전은 8비트의 이진 코드의 짝수 비트의 반전으로 실행된다. 임의의 8비트 코드의 교호 비트가 이렇게 반전되면, 임의의 8비트 코드로부터 유도된 최종 10비트의 인코드된 문자 내의 미리 정해진 비트는 바이트 그룹들 간에 매핑이 발생한 것을 나타내도록 설정된다.
도 2를 참조하면, 본 발명의 변환 제어된 DC 밸런스 인코더(18)의 전 기능적 구성을 데이타 플로우 챠트의 형태로 나타낸다. 도 2에서, 인코드되는 8비트 병렬 데이타는 예를 들어, 8비트의 D형 플립 플롭으로 이루어지는 입력 래치(70) 내에서 래치된다. 변환 카운터(74)는 래치(70) 내의 병렬 데이타(14)의 각 바이트의 인접 비트 간의 로직 값의 변환 개수(T)를 카운트하도록 동작한다. D7, D6, ... D0 (즉, D[7:0])은 입력 래치(70) 내에서 래치되는 8비트의 데이타를 포함하는 경우, 변환 카운터(74)는 다음과 같이 T를 결정한다:
T:=(D7xor D6)+(D6xor D5)+(D5xor D4)+(D4xor D3)
+(D3xor D2)+(D2xor D1)+(D1xor D0)
카운트 라인(78)은 네 개 이상의 로직 변환이 래치된 바이트의 비트 사이에서 카운트되는 경우 (T>3) 카운터(74)에 의해 미리 정해진 로직 값으로 설정되고, 그렇지 않은 경우 (T≤3) 미리 정해진 로직 값의 보수로 설정된다. 네개 이상의 로직 변환이 카운터(78)에 의해 카운트되면 (T>3) COUNT=0이고, 그렇지 않으면 (T≤3) COUNT=1인 것으로 가정된다.
도 2에서 나타낸 바와 같이, 변환 제어기(82)는 카운트 라인(78)과 모드 선택 라인(86)에 응답한다. 모드 선택 라인(86)은 인코딩이 코드 문자의 고속 변환 세트 또는 저속 변환 세트를 사용하여 실행되는지의 여부를 판정한다. 모드 선택 라인(86)에 의해 고속 변환 인코딩이 실행 중임을 나타내고, 카운트 라인(78)에 의해 네 개 이하의 로직 변환이 래치(70) 내에 저장된 바이트 내에 존재한다고 등록하게 되면, 변환 제어기(82)는 조건부 교호 비트 반전 (CABI) 로직(90)에 지령하여 래치(70) 내에 저장된 바이트중 짝수 비트를 반전시키도록 한다. 네 개 이상의 로직 변환을 갖게 되는 최종 조건부 반전 바이트는 중간 래치(94) 내에 저장된다. 역으로, 고속 변환 인코딩이 실행중이고 네 개 이상의 로직 변환이 입력 래치(70)에 저장된 바이트 내에서 카운트되는 경우, 변환 제어기(82)는 CABI 로직(90)이 바이트를 래치(70)로부터 (비트 반전 없이) 중간 래치(90)로 전달할 수 있게 한다. 따라서, 고속 변환 인코딩 모드중에는,
T<4이면,
E[8:0]='1'
T≥4이면,
E[8:0]='0'D7D6D5D4D3D2D1D0
여기에서 E[7:0]은 중간 래치(94) 내에 저장된 8비트를 포함하고, E[8]은 카운트 래치(95) 내에 저장된 카운트의 값을 포함한다.
모드 선택 라인(86)에 의해 저속 변환 인코딩이 선택된 것을 나타내고, 카운트 라인(78)에 의해 네 개 이상의 로직 변환이 래치(70) 내에 저장된 바이트 내에 존재한다고 등록하면, 변환 제어기(82)는 조건부 교호 비트 반전 (CABI) 로직(90)에 지령하여 래치(70) 내에 저장된 바이트중 짝수 비트를 반전시키도록 한다. 그렇지 않으면, 실행되고 있는 저속 변환 인코딩과 네 개 이상의 로직 변환이 입력 래치(70) 내에 저장된 바이트 내에서 카운트되는 경우, 저장된 바이트가 중간 래치(70) 로의 비트 반전 없이 간단히 전달된다. 따라서, 저속 변환 인코딩 모드 중에는,
T>3이면, E[8:0]='1'
그 외에는, E[8:0]='0'D7D6D5D4D3D2D1D0
CABI 로직(90)이 적당한 범위 내의 로직 변환의 수를 갖는 바이트를 래치(94)에 제공한 후에, 10비트의 인코드된 문자 스트림 내의 보수 로직 값 사이의 누적 디스패리티가 인코더(18)에 의해 생성되게 되는 DC 밸런스 처리가 실행된다. 여기에서사용된 바와 같이, 용어 '누적 디스패리티'(Dcum)는 후술하는 방법으로 디코더(44)로 성취되고 있는 동기화에 뒤이어 인코더(18)에 의해 생성된 제로 비트에 대한 일 비트의 초과를 나타낸다. 용어 '현재 디스패리티'(Dcur)는 래치(94) 내에 현재 저장된 바이트 내에서 제로 비트에 대한 일 비트의 초과를 말하며, 디스패리티 검사기(96)에 의해 결정된다. DC 밸런스 모듈(98)은 래치(99) 내에 저장된 누적 디스패리티를 현재의 디스패리티와 비교하는 작용을 한다. 이 비교 결과는 다음에 출력 레지스터(104)로의 전달 경로 중에 조건부 바이트 반전 (CTBI) 로직(100)에 의해 반전되는지의 여부를 판정하는 데에 사용된다. 이와 같이 하여 CTBI 로직(100)은 인코더(18)에 의해 생성된 직렬 스트림과 관련되는 누적 디스패리티를 최소화하는 작용을 한다. 이하에서는 인코더에 의해 생성된 DC 밸런스 문자 스트림의 10비트 문자 T[9:0] 각각이 중간 래치(94) 내에 저장된 바이트 E[7:0]와 카운트 래치(95) 내의 비트 E[8]로부터 유도된다.
현재의 디스패리티(Dcur)는 다음과 같이 디스패리티 검사기(96)에 의해 연산된다:
Dcur:={(E7and E6)+(E6and E4)+(E3and E2)+(E1and E0)}
-{(E7nor E6)+(E5nor E4)+(E3nor E2)+(E1nor E0)}
고속 변환 모드의 동작 중에, -2≤Dcum≤2d인 한편, 저속 변환 모드에서의 동작 중에는 -4≤DP≤4인 것에 주의해야 한다. DC 밸런스 모듈(98) 내에서, Dcur=0 또는Dcum=0라고 결정되면,
E8='0'이면,
T[9:0]='1'이고,
D'cum=Dcum-Dcur
그 외, E8이 제로가 아니면,
T[9:0]='0' E SUB { 8 } E SUB { 7 } E SUB { 6 } E SUB { 5 } E SUB { 4 } E SUB { 3 } E SUB { 2 } E SUB { 1 } E SUB { 0 } 이고,
D'cum=Dcum+Dcur
여기에서, D'cum은 디스패리티 갱신기(108)에 의해 연산된 갱신된 누적 디스패리티로서 래치(99) 내에 저장된다. 다른 방법으로, DC 밸런스 모듈이 Dcur의 최대 유효 비트 (MSB)와 Dcum의 MSB는 동일하지 않다고 결정하면,
T[9:0]='0' E SUB { 8 } E SUB { 7 } E SUB { 6 } E SUB { 5 } E SUB { 4 } E SUB { 3 } E SUB { 2 } E SUB { 1 } E SUB { 0 } 이고,
D'cum=Dcum+Dcur-E8
마지막으로, 그 외 다른 경우 Dcur의 MSB와 Dcum의 MSB가 동일하면,
T[9:0]='1'이고,
D'cum=Dcum-Dcur+E8
이 경우 출력 래치(104)를 T[7:0]로서 채우는 도중에 CBI 로직(100)에 의해 바이트 E[7:0]를 선택적으로 반전하여, 누적 디스패리티가 감소되고, DC 밸런스가 성취된다. T[8]의 로직 값이 입력 래치(70)에서 수신된 바이트 D[7:0]중 짝수 비트가 바이트 E[8:0]의 발생 동안 상보되었는지의 여부를 나타낸다. 유사하게, T[9]의 로직 값은 바이트 E[7:0]가 래치(104)에의 전달 동안 반전되었는지의 여부를 나타낸다.
Ⅲ.디코딩
도 1을 참조하면, 디시리얼라이저(34)는 인코더에 의해 생성된 10비트 문자 T[9:0]의 시퀀스를 수신하여 비트 라인 RX9, RX8, ..., RX0(즉, RX[9:0])에 대해 10비트 병렬 수신 데이타를 발생한다. 이 10비트 병렬 수신 데이타는 비트 라인 RX[9:0]을 통해 디코더(44)에, 그리고 디코더 동기 모듈(114)에 제공된다. 섹션 Ⅳ에서 후술되는 바와 같이, 동기 모듈(114)은 전송 데이타의 프레임 경계에 대응하는 10비트 병렬 수신 데이타 (즉, T[9:0])내의 경계를 확정하도록 동작한다. 특히, 동기화 모듈(114)은 비트 라인 RX[9:0] 중에서 어느 것에 대해 디시리얼라이저(34)가 각 전송된 바이트 T[9:0]의 제1 비트 T[0]에 대응하는 수신 비트를 제공하고 있는지를 결정한다. 이 결정중에, 동기화 모듈(114)은 디코더(44)에 프레임 경계 포인터(118)를 제공하여 각 전송된 10비트 문자 T[9:0]의 비트 라인 RX[9:0]중 제1 비트 T[0]에 대응하는 것을 식별한다. 이 동기화 정보의 수신시, 디코더(44)는 다음과 같이 수신된 데이타 RX[9:0]를 디코드하도록 배치한다.
도 3은 디코더(44)의 블럭 개략도이다. 디시리얼라이저에 의해 생성된 10비트 병렬 데이타는 디코더 스위치(150)에 의해 비트 라인 RX[9:0]를 통해 수신되는 것으로 보인다. 디코더 스위치(150)는 RX[9:0]를 통해 수신된 10비트 데이타를 동기화 모듈(114)에 의해 제공된 프레임 경계 포인터 값(118)에 따라 스위치된 비트 라인 S[9:0]으로 스위치하도록 작용한다. 특히, 수신된 비트 RX[9:0]중 제1 전송 비트 T[0]에 대응하는 것이 비트 라인 S[0]으로 스위치되고, 수신된 비트 RX[9:0] 중 제2 전송 비트 T[1]에 대응하는 것은 비트 라인 S[1]으로 스위치되는 방식으로 스위치된다. 전송된 데이타 바이트 T[7:0]에 대응하는 비트 라인 S[7:0]에 대해 가해진 스위치된 데이타가 8비트 래치(154) 내에 저장된다. 유사하게, 전송된 비트 T[8]에 대응하는 스위치된 데이타 비트 S[8]는 1비트 래치(158)에 제공된다. 비트 라인 S[8]의 로직 값은 T[8]의 로직 값을 트랙하기 때문에, 비트 라인 S[8]은 입력 데이타 D[7:0]중 짝수 비트가 인코딩 공정 동안 CABI 로직(90)에 의해 상보되었는지의 여부를 교호 비트 반전 (ABI) 디코더(160)에 알린다. 유사하게, 비트 라인 S[9] (T[9]의 로직 값을 트랙하는)은 CTBI 로직(100)이 인코딩 처리중 DC 밸런스 처리 부분 중에 래치(104)에 저장된 바이트를 상보하였는지에 대하여 ABI 디코더(104)에 알린다. 이와 같이 디코더(160)는 인코딩 공정 중에 8비트 래치(154) 내에 저장된 바이트 S[7:0]에 대해 실행된 로직 연산을 통지받고, 이로 인해 랜덤로직를 이용한 직송식 디코딩이 용이하게 된다.
도 4를 참조하면, ABI 디코더(160)의 랜덤 로직 실행을 나타내고 있다. ABI 디코더는 8비트 디코드된 바이트 DE[7:0]를 생성하기 위해서 10비트 프레임 정렬 데이타 S[9:0]를 디코딩하기 위한 9개의 배타적 or(XOR) 게이트 세트 N1-N9를 포함한다. 도 4의 실행 중에, XOR 게이트 N1-N9는 다음과 같이 디코드된 바이트 DE[7:0]를 생성한다.
DE[7]:=S[7] xor S[9]
DE[6]:=S[6] xor β
DE[5]:=S[5] xor S[9]
DE[4]:=S[4] xor β
DE[3]:=S[3] xor S[9]
DE[2]:=S[2] xor β
DE[1]:=S[1] xor S[9]
DE[0]:=S[0] xor β
여기에서, β=S[9] xor S[8]
Ⅳ.동기화
상술한 바와 같이, 디코더 동기화 모듈(114)은 각 전송된 10비트 문자 T[9:0]의 프레임 경계의 표시를 디코더(44)에게 제공한다. 디코더 스위치(150) (도 3)와 함께 디코더 모듈(114)는 병렬 데이타 RX[9:0]를 디시리얼라이저로부터 프레임 정렬 데이타 S[9:0]로 섞어 놓도록 하는 배럴 시프터 (barrel shifter)로서작용한다. 본 발명에 따르면, 프리앰블 시퀀스는 다양한 시간 (예를 들어, 시스템 파워업)에 인코더(18)에 의해 생성되어 동기화 모듈(114)에 의해 프레임 경계 검출을 용이하게 한다. 이 예시된 실시예에서는 이 프리앰블 시퀀스가 대역내 문자와 용이하게 구별 가능한 선택된 대역외 문자의 수회 반복을 포함한다. 다시, 고속 변환 모드 동작 중에 각 대역외 문자는 네 개 이하의 로직 변환을 포함하고, 저속 변환 모드 동작 중에 각 대역외 문자는 네 개 이상의 로직 변환을 포함한다. 이하에서 설명하는 바와 같이, 각 모드의 동작 중에 특별히 선택된 대역외 문자의 수회 반복이 디코더 동기화 모듈(114) 내에서 신속한 프레임 경계 식별을 확실하기 위한 수단으로서 프리앰블링 주기 동안에 인코더(18)에 의해 생성된다. 프리앰블링 주기의 종료시에, 모듈(114)은 비트 라인 RX[9:0]중 어느 라인이 10비트 전송 문자의 제1 비트 T[0]에 대응하는지를 알아, 이것을 프레임 경계 포인터(118)를 통해 디코더에 알리게 된다.
프리앰블링 주기 동안에 전송을 위한 적당한 서브세트의 대역외 문자를 선택함으로써, 동기화의 성취에 필요한 최악의 경우의 시간이 종래의 동기화 스킴에 필요한 시간보다 상대적으로 감소될 수 있다. 특히, 저속 변환 모드 동작 중에 다음의 대역외 문자가 '동기화 문자'로 사용된다.
1100101010
1101001010
1101010010
1101010100
고속 변환 모드 동안에, 다음의 대역외 문자가 동기화 문자로 사용된다.
1000001111
1000011111
1000111111
1001111111
1011111111
각 프리앰블링 주기 동안에, 동일한 동기화 문자의 세번 반복이 인코더(18)에 의해 생성된다. 여기에서 설명하는 바와 같이, 인코더(14)에 의해 가장 최근에 생성된 12비트를 처리함으로써, 동기화 모듈(114)은 임의의 프리앰블 주기 동안 전송되는 동기화 문자의 세번 반복중 적어도 한번의 반복을 검출할 수 있다. 이것은 동기화가 비교적 짧은 프리앰블 주기 내에 성취될 수 있게 한다.
도 5의 플로우 챠트는 저속 변환 모드 동작 동안 디코더 동기화 모듈(114)에 의해 실행되는 동기화 처리를 설명한다. 모듈(114)의 각 클럭 사이클 동안, 10 비트의 블럭은 디시리얼라이저(34)로부터 제1의 10비트의 래치(150)로 로드된다. 또한 각 클럭 사이클 동안에, 10비트의 블럭은 제1의 10비트 래치(150)로부터 제2의 10비트 래치(154)로 전달된다. 유사하게, 제2의 10비트 래치(154) 내에 현재 저장된 10비트 블럭은 각 클럭 사이클 동안에 제3의 10비트 래치(158)로 전달된다.
도 5에서 나타낸 바와 같이, 선택적 NOR(XNOR) 연산(단계 162)은 래치(150, 154, 158)에 의해 고정된 데이타의 21비트 '윈도우' 내에 포함된 인접 비트 사이에서 실행된다. 특히, 이 21 비트 윈도우는 제3 래치(158)로부터의 10비트 블럭L3[9:0], 제2 래치(154)로부터의 10비트 블럭 L2[9:0], 및 제1 래치(150)로부터의 비트 LI[9]을 포함한다. 이와 관련하여 비트 L1[9]는 제2 래치(154)에 전달될 때 비트 L2[9]가 되는 비트이다. 저속 변환 모드 동안의 동작예로서는, 다음의 병렬 비트 시퀀스로 이루어지는 21비트 윈도우 (즉, L3[9:0], L2[9:0], L1[9])를 생각할 수 있다.
101101001010110100101
XNOR 연산이 각 인접 비트 쌍 사이에서 실행되면, 다음의 결과가 성취된다:
00100010000010001000
도 5에서 나타낸 바와 같이, 이 20비트 XNOR 연산 결과(단계 160)는 네 개의 5개 그룹 (즉, 그룹 A, 그룹 B, 그룹 C 및 그룹 D)으로 분할된다. 이 예에서, 이들 네 개의 5비트 그룹은 다음과 같이 정의된다.
00100010000010001000 {XNOR 연산 결과}
00100 {그룹A}
01000 {그룹B}
00100 {그룹C}
01000 {그룹D}
상기와 같이 열거된 고속 변환 모드와 저속 변환 모드의 동기화 문자가 선택되어 프리앰블 주기 동안에 그룹 A, B, C 및 D 사이에 특별한 관계가 성립되게 된다. 즉, 동일한 동기화 문자의 세 번 연속적인 발생-프리앰블 동안 인코더(18)에 의해 생성됨- 이 디시리얼라이저(34)에 의해 수신되어 10비트 병렬 데이타로서 동기화 모듈(114)에 제공한다.
예시되는 실행중에는, 다음의 두 관계(조건 Ⅰ과 조건 Ⅱ)가 프리앰블 주기 동안에 그룹 A, B, C, 및 D 사이에서 성립된다.
조건 I. 그룹 A, B, C 및 D에 집합적으로 존재하는 로직 '1's'의 개수는 정확히 네 개이고, 다음의 세 경우중 하나에 대응한다.
로직 1's의 개수
경우 그룹 A 그룹 B 그룹 C 그룹 D
#1 1 1 1 1
#2 2 0 2 0
#3 0 2 0 2
도 5에서 나타낸 바와 같이, 각 그룹 A, B, C 및 D 각각의 '1's'의 개수는 '1' 카운터 모듈(172, 174, 176 및 178)에 의해 각각 결정된다. 각 그룹 A, B, C 및 D 내의 '1's'의 개수가 21비트 윈도우의 인접 비트 간의 XNOR 연산 결과에 의해 결정되기 때문에(단계 160), 각 그룹 내의 '1's'의 개수는 그룹 A, B, C 및 D와 관련되는 21비트 윈도우의 네개의 세그먼트 각각의 인접 비트 사이의 로직 값의 '비변환'의 개수를 나타낸다. 이 예에서는 각 그룹 A, B, C 및 D가 하나의 '1'을 포함한다. 따라서, 이 예는 경우 #1에 대응하는 것이다.
조건 Ⅱ. 그룹 A를 포함하는 비트의 시퀀스는 그룹 C의 비트 시퀀스와 동일하고, 그룹 B를 포함하는 비트의 시퀀스는 그룹 D의 비트 시퀀스와 동일하다. 즉, 그룹 A=그룹 C이고, 그룹 B=그룹 D이다.
본 발명에 따르면, 조건 Ⅰ AND 조건 Ⅱ는 동일한 동기화 문자가 제1, 제2, 및 제3 10비트 래치(150, 154, 158) 내에 저장되어 있는 경우와 이 경우에만 만족된다. 즉, 동일한 동기화 문자의 세번 반복이 인코더(18)에 의해 생성될 때에 두 조건 Ⅰ과 조건 Ⅱ은 프리앰블 주기 동안에만 만족된다. 본 발명의 이 형태는 저속 변환 모드 동작과 관련하여 바로 아래에서 설명한다.
상술한 바와 같이, 래치(150, 154 및 158)에 의해 제공된 21비트 윈도우 내의 인접 비트는 단계 160 동안 XNOR된다(도 5). 인코더(18)에 의해 생성된 각 대역내 또는 대역외 문자는 정확히 길이가 10비트이기 때문에, 21비트의 윈도우는 제1, 제2 및 제3의 10비트 문자의 전부 또는 일부를 포함하게 된다. 21비트의 윈도우가 이들 제1, 제2, 제3의 10비트 문자로부터의 비트를 포함할 수 있는 여러 방법을 후술한다:
비트의 #
제1의 문자 제2의 문자 제3의 문자
1 10 10
2 10 9
3 10 8
4 10 7
5 10 6
6 10 5
7 10 4
8 10 3
9 10 2
10 10 1
각 문자는 대역내 (예를 들어, DATA)의 문자 또는 대역외 명령 또는 동기화 (즉, SYNC) 문자이기 때문에, 21비트 윈도우의 제1, 제2 및 제3의 10비트 문자 중에서 DATA 및 SYNC 문자의 조합 가능성은 이하와 같다.
로직 1's의 개수
조합 제1 문자 제2 문자 제3 문자
A SYNC SYNC SYNC
B SYNC SYNC DATA
C SYNC DATA DATA
D DATA DATA DATA
E DATA DATA SYNC
F DATA SYNC SYNC
예를 들어, 21비트 윈도우는 2비트의 제1 SYNC 문자, 10비트의 제2 DATA 문자, 및 9비트의 제3 DATA 문자(즉, 조합 C)로 이루어질 수 있다.
저속 변환 모드 동작 중에, 모든 대역내(예를 들어, DATA) 문자는 최대 세 개의 로직 변환을 포함할 수 있거나, 동일하게 대역 내 문자의 10개의 인접 비트 사이의 로직 값의 네 개 이상의 '비변환'을 포함한다. 따라서, 제2 문자가 DATA 문자인 경우의 저속 변환 모드 동작 중에는, 네 개 이상의 로직 비변환을 포함하게된다. 조건 Ⅰ은 세개의 동일한 SYNC 문자가 내부에 존재할 때에 전체 21 비트 윈도우 내의 로직 비변환 개수가 정확히 네 개가 되는 것을 나타내기 때문에, 네 개 이상의 로직 비변환을 포함하므로 제2 문자가 DATA 문자일 때 조건 Ⅰ은 만족하지 않게 된다. 따라서, 조건 Ⅰ가 만족하게 되면 21비트의 윈도우는 조합 C, D 및 E에 의해 할당된 문자 세트로 이루어질 수 없다(즉, 제2 문자는 DATA 문자이다).
본 발명에 따르면, 프리앰블 주기 동안 전송된 제1 및 제3 문자가 동일하면 상기 리스트의 동기화 문자는 조건 Ⅱ가 만족되도록 선택된다. 따라서, 조합 B와 F는 조건 Ⅱ를 만족하지 않는다. 조합 A (즉, 세 번 연속되는 SYNC 문자) 만이 두 조건 Ⅰ와 Ⅱ를 만족한다.
도 5를 참조하면, 두 조건 Ⅰ과 조건 Ⅱ 가 만족되면(단계 190) 그룹 A 와 B 내의 선택된 인접 비트는 상술한 바와 같이 AND되어 21비트의 윈도우 내에서 검출된 SYNC 문자의 프레임 경계를 식별할 수 있게 한다. 21비트의 윈도우 내의 각 SYNC 문자가 디시리얼라이저(34)에 의해 래치(150) 내에 로드되기 때문에, 각 SYNC 문자의 프레임 경계는 이러한 각 SYNC 문자의 제1 비트가 부여되게 되는 디시리얼라이저(34)로부터의 비트 라인 R[9:0] 각각에 대해서 식별될 수 있다. 이러한 식별이 일단 성취되면 디코더에는 프레임 경계 포인터(118)를 경유하여 이 비트 라인 R[9:0]의 아이덴터티가 통지된다.
단계 196의 AND 연산은 제3 래치(158)의 모든 인접 비트들 (즉, L3[9:0]) 사이와, L3[0]와 L2[9] 사이에서 실행된다. 단계 190의 결과는 두 조건 Ⅰ과 조건 Ⅱ이 만족된 것을 나타낼 때, 단계 196의 AND 연산의 결과는 프레임 경계포인터(118)의 값을 나타내는 하나의 로직 값만을 생성하게 된다. 이 예에서, L3[9:0]:={1011010010} 및 L2[9]:=[1]이고, 따라서 단계 196의 AND 결과는 {0010000000}이다. 즉, 21비트 윈도우의 제3 위치는 동기화 문자의 제1 비트에 대응한다. 따라서, 이 예에서 프레임 경계 포인터(118)는 10 비트 라인 RX[9:0]의 제3 비트(RX[7])를 디시리얼라이저(34)에 의해 생성된 각 10비트의 문자의 제1 비트를 갖는 것으로 식별하도록 설정된다.
이 예에서 프리앰블 시퀀스(즉, 동일한 대역외 SYNC 문자의 세번 반복)가 시스템 파워업 때와 직렬 링크(30)를 통한 데이타 전송 경과 동안에 보내진다. 이것은 타이밍 동기화가 연장된 주기 동안 데이타 전송 부재시에도 인코더(18)와 디코더(44) 사이에서 유지될 수 있도록 한다.
도 6은 고속 변환 모드 동작 동안 디코더 동기화 모듈(114)에 의해 실행되는 동기화 처리를 설명하는 플로우챠트이다. 도 6에서 나타낸 바와 같이, 고속 변환 모드 동기화 처리는 저속 변환 모드 연산 동안 실행된 것과 거의 유사하다(도 5). 특히, 고속 변환 모드 동기화 처리는 다음의 점에서 저속 변환 모드 동기화 처리와 다르다:
(ⅰ) 단계 160'에서, 배타적 NOR(XNOR) 연산 보다는 배타적 OR(XOR)이 래치(150, 154, 158) 내의 인접 비트에서 실행된다.
(ⅱ) 단계 196'에서, AND 연산은 각 비트와 이 비트의 바로 우측 비트의 보수 사이에서 실행된다(즉, L3[9]와, L3[8]와, L3[7]와등). 이와 같이 로직 '1'을 생성하는 AND 게이트는 '10' 또는 프레임 경계에 대응하는 '하강 에지' 시퀀스를 식별한다.
Ⅴ.인코더와 디코더 동기화 모듈의 하드웨어 실행
이 섹션에서는 인코더(18)의 특정 하드웨어 실행과 저속 변환 모드 동작 동안 사용하는 데에 적합한 디코더 동기화 모듈(114)의 실행에 대해 설명한다. 디코더(44)의 하드웨어를 랜덤 로직으로 실현한 예시적 설명은 섹션 Ⅲ에서 설명했다.
도 7a, 7b 및 7c는 인코더(18)의 예시적 실행을 나타낸다. 인코드되는 래치(7)로부터의 8비트 병렬 데이타 D[7:0]는 변환 카운터(74)의 7개의 배타적 OR 게이트(240)에 제공된다. 배타적 OR 게이트(240)의 출력은 전가산기(242, 244, 246 및 248)의 세트에 제공된다. 전가산기(248)의 캐리 출력 (C)는 COUNT 라인(78)에 대응하며, 네 개 이하의 로직 변환이 데이타 D[7:0]의 비트들 사이에 존재하는지의 여부를 나타낸다. 대역외 명령이 래치(70)로부터 수신되고 있을 때, NOR 게이트(260)에 제공된 명령 라인(TX_CMD)은 COUNT 라인(78)이 CABI 로직(90) 내의 D[7:0]중 짝수 비트의 반전을 야기하지 않도록 하기 위해 세워진다. 그렇지 않으면, 래치로부터의 데이타 D[7:0]가 본 발명에 따라 인코드되고 있을 때, NOR 게이트(260)의 출력(78')은 COUNT 라인(78)의 로직 값을 트랙한다.
도 7a에서 나타낸 바와 같이, 이 실시예에서 CABI 로직(90)은 복수의 NOR 게이트(270)로 이루어진다. 각 NOR 게이트(270)은 COUNT 라인(78')에 결합된 하나의 입력과, D[7:0]의 짝수 비트중 하나에 접속된 다른 입력을 포함한다. CABI 로직(90)의 출력은 디스패리티 검사기(96)에 결합된 중간 래치(94)에 제공된다(도 7b).
도 7b에서, 디스패리티 검사기(96)는 조건부 비트 반전 바이트 E[7:0] 내에서 '11'의 발생을 판정하기 위한 네 개의 AND 게이트(290-293)를 포함한다. 유사하게, 네 개의 NOR 게이트(296-299)는 E[7:0] 내에서 '0'의 발생을 검출하기 위해 제공된다. E[7:0] 내의 '1'과 '1' 의 패턴은 동일한 개수의 1과 제로를 포함한다는 점에서 이미 'DC 밸런스'되어 있기 때문에, 도 7b의 회로로 실행되는 DC 밸런스 처리 동안 이런 패턴을 검출할 필요는 없다. 제1 전가산기(302)와 제1 반가산기(306)는 AND 게이트(290-293)에 의해 검출된 '11'의 발생수를 카운트하도록 배치된다. 유사한 방식으로 제2 전가산기(308)과 제2 반가산기(312)는 NOR 게이트(296-299)에 의해 검출된 '0' 의 발생수를 카운트하기 위해 제공되다. 제1 쌍의 전가산기(316 및 318)는 카운트된 '11'과 '0'의 발생수의 차이를 결정한다.
DC 밸런스 모듈(98)은 세입력 NOR 게이트(330), 제1 배타적 OR 게이트(332), 래치(336) 및 제2 배타적 OR 게이트(338)를 포함한다. '11'과 '0'의 발생수가 전가산기(316 및 318)에 의해 동일한 것으로 결정되면, E[8]의 보수는 T[9]의 값을 결정하고, 이로써 바이트 E[7:0]가 CTBI 로직(100)에 의해 반전되었는지의 여부를 결정한다. 카운트된 '0'과 '11'의 발생수가 동일하지 않으면, T[9]의 값은 XOR 게이트(332)의 출력을 포함한다. 이와 관련하여 XOR 게이트(332)에의 제1 입력(342)은 현재의 디스패리티 Dcur (즉, E[7:0]의 '1's'과 '0's'의 차이)의 MSB와 동일한, 한 쌍의 전가산기(316 및 318)에 의해 생성된 최대 유효 비트(MSB)를 포함한다. XOR 게이트(332)에의 제2 입력(344)은 누적 디스패리티 Dcum의 MSB에 대응한다. 도7c에서 나타낸 바와 같이, 누적 디스패리티를 저정하기 위한 래치(99)는 세 개의 레지스터(350-352)로 이루어진다. 누적 디스패리티는 전가산기(356 및 358)의 역방향 체인, 세 개의 배타적 OR 게이트(360-362) 세트, 및 대응하는 세개의 전가산기 세트(365-367)로 이루어지는 디스패리티 갱신기(108)에 의해 갱신된다. 마지막으로, CTBI 로직(100)은 8개의 배타적 OR 게이트(374) 세트를 포함한다.
도 8a 및 도 8b는 바람직한 디코더 동기화 모듈(114)의 실행의 개략도이다. 도 8a에서, L3[9:0], L2[9:0] 및 L1[9:0]을 각각 저장하기 위한 10비트 래치(150, 154 및 158)가 10개의 D형 플립 플롭의 어레이를 사용하여 실행될 수 있다. 복수의 XNOR 게이트(402)는 L3[9:0], L2[9:0] 및 L2[9]에 대응하는 21비트 윈도우 내에 포함되는 인접 비트들을 XNOR하기 위해 제공된다. XNOR 게이트(402)의 그룹 A, 그룹 B, 그룹 C 및 그룹 D출력은 각각 '1' 카운터(172, 174, 176 및 178)에 제공된다. 도 8a에서 나타낸 바와 같이, 조건 Ⅰ의 존재는 네 개의 NAND 게이트(410-413)으로 이루어지는 랜덤 로직(190a)으로 검출된다.
도 8b를 참조하면, 조건 Ⅱ의 존재는 참조 번호 190b로 식별되는 랜덤 로직의 구성으로 식별된다. 랜덤 로직(190b)은 10개의 XOR 게이트(422) 세트를 포함하고, 이들의 출력은 NAND 게이트(426 및 428)에 도시한 바와 같이 제공된다. NAND 게이트(426 및 428)의 출력은 NOR 게이트(430)의 입력에 결합되고, 이 게이트의 출력은 조건 Ⅱ가 만족될 때 로직 '1'로 구동된다. 마지막으로, AND 게이트(440)의 출력(Sync_Sig)의 로직 상태는 조건 Ⅰ과 조건 Ⅱ가 만족되었는지의 여부 (즉, 동기화가 성취되었는지의 여부)를 나타낸다. 그렇다면, L3[9:0]과 L2[9] 내의 인접비트가 10개의 AND 게이트(450) 세트에 의해 AND된다 (도 5의 단계 196). 출력 PTR[9:0]은 프레임 경계 포인터(118)를 포함하고, 이 포인터는 디코더(44)에게 비트 라인 RX[9:0] 중 어느 것이 각 전송된 10비트 문자 T[9:0]의 제1 비트 T[0]에 대응하는지를 알린다.
본 발명에 따르면, AC 커플링 및 클럭 복원이 용이하고 또한 DC 밸런스된 코딩 스킴을 제공하여 직렬 데이타 전송을 효과적으로 지원할 수 있다.
상술한 바람직한 실시예의 설명은 당업자들이 본 발명을 이용하는 데에 용이하도록 하기 위한 것이다. 이들 실시예에 대한 각종 변형이 이들 당업자들에게는 명백할 것이며, 본 명세서에서 정의된 일반 원리는 본 발명을 이용하지 않고 다른 실시예에도 적용될 수 있다. 따라서, 본 발명은 본 명세서에서 나타낸 실시예에 제한되는 것이 아니고 설명된 원리 및 특성과 일치하는 폭넓은 범위를 허용하는 것이다.

Claims (17)

  1. 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하는 방법에 있어서,
    상기 8비트 데이타 블럭들 각각의 로직 변환 개수에 따라서 상기 8비트 데이타 블럭들의 비트들을 선택적으로 상보하여 선택적으로 상보된 데이타 블럭을 생성하는 단계;
    이전에 상기 문자들 각각으로 인코드된 상기 선택적으로 상보된 데이타 블럭들 각각 내에 포함된 다른 형의 로직 값들의 개수의 누적 디스패리티 (disparity)를 판정하는 단계;
    상기 선택적으로 상보된 데이타 블럭들중 인코드되고 있는 현재의 블럭과 관련되는 후보 문자의 현재 디스패리티를 판정하는 단계; 및
    상기 현재 디스패리티가 상기 누적 디스패리티의 제1 극성과 반대의 극성으로 되어 있는 경우 상기 선택적으로 상보된 데이타 블럭들중 상기 현재의 블럭에 상기 후보 문자를 할당하고, 상기 현재의 디스패리티가 상기 제1 극성으로 되어 있는 경우 상기 선택적으로 상보된 데이타 블럭들중 상기 현재의 블럭에 상기 후보 문자의 보수를 할당하는 단계
    를 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하는 방법.
  2. 제1항에 있어서, 상기 선택적으로 상보하는 단계는 소정 개수 이하의 상기 로직 변환을 갖는 상기 8비트 데이타 블럭들의 상기 비트들중 소정의 비트들을 선택적으로 상보하는 단계를 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하는 방법.
  3. 제1항에 있어서, 상기 선택적으로 상보하는 단계는 소정 개수 이상의 상기 로직 변환을 갖는 상기 8비트 데이타 블럭들의 상기 비트들중 소정의 비트들을 선택적으로 상보하는 단계를 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하는 방법.
  4. 제1항에 있어서, 상기 후보 문자의 소정의 비트를, 이와 관련되는 현재의 8비트 데이타 블럭이 소정 개수 이하의 변환을 가질 때, 제1 로직값으로 설정하고, 그렇지 않을 때에는 상기 소정의 비트를 상기 제1 로직값의 보수로 설정하는 단계를 더 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하는 방법.
  5. 제1항에 있어서, 상기 후보 문자의 소정의 비트를, 이와 관련되는 현재의 8비트 데이타 블럭이 소정 개수 이상의 변환을 가질 때, 제1 로직값으로 설정하고, 그렇지 않을 때에는 상기 소정의 비트를 상기 제1 로직값의 보수로 설정하는 단계를 더 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하는 방법.
  6. 제1항에 있어서, 상기 선택적으로 상보된 데이타 블럭들 각각에 지정된 각 문자의 소정 비트의 로직값은, 후보 문자 또는 그 보수가 상기 선택적으로 상보된 데이타 블럭에 할당되었는지의 여부를 나타내는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하는 방법.
  7. 제1항에 있어서, 상기 후보 문자의 현재 디스패리티를 결정하는 단계는 상기 후보 문자의 비트들에 대한 로직 분석을 실행하는 단계를 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하는 방법.
  8. 제1항에 있어서, 소정 수 이하의 로직 변환을 갖는 상기 8비트 데이타 블럭들중 특정의 블럭들을 특수 문자들을 나타내도록 할당하는 단계를 더 포함하고, 상기 특수 문자들은 상기 각 특수 문자에 대응하지 않는 8비트 데이타 블럭들과는 다르게 인코드되는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하는 방법.
  9. 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하기 위한 이진 데이타 인코딩 장치에 있어서,
    상기 8비트 데이타 블럭들 각각의 로직 변환 수에 따라서 상기 8비트 데이타 블럭들의 비트들을 선택적으로 상보하기 위한 수단;
    이전에 상기 문자들 각각으로 인코드된 상기 선택적으로 상보된 데이타 블럭들 각각 내에 포함되는 다른 형의 로직 값들의 개수의 누적 디스패리티를 판정하기 위한 수단;
    상기 선택적으로 상보된 데이타 블럭들중 인코드되고 있는 현재의 블럭과 관련되는 후보 문자의 현재 디스패리티를 판정하기 위한 수단; 및
    상기 현재 디스패리티가 상기 누적 디스패리티의 제1 극성과 반대의 극성으로 되어 있는 경우 상기 선택적으로 상보된 데이타 블럭들중 현재의 블럭에 상기 후보 문자를 할당하고, 상기 현재 디스패리티가 상기 제1 극성으로 되어 있는 경우 상기 선택적으로 상보된 데이타 블럭들중 상기 현재의 블럭에 상기 후보 문자의 보수를 할당하기 위한 수단
    을 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하기 위한 이진 데이타 인코딩 장치.
  10. 제9항에 있어서, 상기 선택적으로 상보하기 위한 수단은 소정 개수 이하의 상기 로직 변환을 갖는 상기 8비트 데이타 블럭들의 상기 비트들중 소정의 비트들을 선택적으로 상보하기 위한 수단을 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하기 위한 이진 데이타 인코딩 장치.
  11. 제9항에 있어서, 상기 선택적으로 상보하기 위한 수단은 소정 개수 이상의 상기 로직 변환을 갖는 상기 8비트 데이타 블럭들의 상기 비트들중 소정의 비트들을 선택적으로 상보하기 위한 수단을 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하기 위한 이진 데이타 인코딩 장치.
  12. 제9항에 있어서, 상기 현재 8비트의 데이타 블럭이 소정 개수 이하의 변환을 가질 때 상기 후보 문자의 소정 비트를 제1 로직 값으로 설정하기 위한 수단과, 그렇지 않을 때 상기 소정의 비트를 상기 제1 로직 값의 보수로 설정하기 위한 수단을 더 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하기 위한 이진 데이타 인코딩 장치.
  13. 제9항에 있어서, 상기 현재 8비트의 데이타 블럭이 소정 개수 이상의 변환을 가질 때 상기 후보 문자의 소정 비트를 제1 로직 값으로 설정하기 위한 수단과, 그렇지 않을 때 상기 소정의 비트를 상기 제1 로직 값의 보수로 설정하기 위한 수단을 더 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하기 위한 이진 데이타 인코딩 장치.
  14. 제9항에 있어서, 상기 선택적으로 상보된 데이타 블럭들 각각에 할당된 각 문자의 소정 비트의 로직 값은, 후보 문자 또는 그 보수가 상기 선택적으로 상보된 데이타 블럭에 할당되었는지의 여부를 나타내는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하기 위한 이진 데이타 인코딩 장치.
  15. 제9항에 있어서, 상기 후보 문자의 현재 디스패리티를 판정하기 위한 수단은 상기 후보 문자의 비트들에 대한 로직 분석을 실행하기 위한 수단을 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하기 위한 이진 데이타 인코딩 장치.
  16. 제9항에 있어서, 소정 개수 이하의 로직 변환을 갖는 상기 8비트 데이타 블럭들중 특정 블럭들을 특수 문자들을 나타내도록 할당하며, 상기 특수 문자들을 상기 각 특수 문자에 대응하지 않는 상기 8비트 데이타 블럭들과는 다르게 인코딩하기 위한 수단을 더 포함하는 것을 특징으로 하는 8비트 데이타 블럭들의 입력 시퀀스로부터 DC 밸런스된 문자들의 시퀀스를 생성하기 위한 이진 데이타 인코딩 장치.
  17. 디지탈 데이타의 고속 전송 방법에 있어서:
    8비트 데이타 블럭들의 입력 시퀀스를 DC 밸런스된 문자들의 시퀀스로 인코딩하는 단계 - 이 단계는 (ⅰ) 8비트 데이타 블럭들의 입력 시퀀스의 비트들을 상기 8비트 데이타 블럭들 각각의 로직 변환 수에 따라서 선택적으로 상보하여 선택적으로 상보된 데이타 블럭들을 생성하고, (ⅱ) 상기 문자 각각으로 미리 인코드된 상기 선택적으로 상보된 데이타 블럭 각각과 관련된 로직 값의 누적 디스패리티를 판정하고, (ⅲ) 상기 선택적으로 상보된 데이타 블럭중 인코드되고 있는 현재의 블럭과 관련되는 후보 문자의 현재 디스패리티를 판정하고, (ⅳ) 상기 현재 디스패리티가 상기 누적 디스패리티의 제1 극성과 반대인 극성으로 되어 있는 경우 상기 선택적으로 상보된 데이타 블럭중 상기 현재의 블럭에 상기 후보 문자를 할당하고, 상기 현재의 디스패리티가 상기 제1 극성으로 되어 있는 경우 상기 선택적으로 상보된 데이타 블럭중 상기 현재의 블럭에 상기 후보 문자의 보수를 할당함으로써 실행됨 -;
    각 문자를 직렬 데이타 스트링으로 변환하는 단계; 및
    상기 직렬 데이타 스트링 각각을 직렬 통신 링크를 통해 전송하는 단계
    를 포함하는 것을 특징으로 하는 디지탈 데이타의 고속 전송 방법.
KR1020017001011A 1995-10-05 1996-09-30 변환 제어 디지탈 인코딩 장치 및 신호 전송 시스템 KR100337467B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/539,816 1995-10-05
US08/539,816 US5999571A (en) 1995-10-05 1995-10-05 Transition-controlled digital encoding and signal transmission system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1019980702532A Division KR100319129B1 (ko) 1995-10-05 1996-09-30 동기화문자의경계검출시스템및방법

Publications (1)

Publication Number Publication Date
KR100337467B1 true KR100337467B1 (ko) 2002-05-30

Family

ID=24152770

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020017001012A KR100318031B1 (ko) 1995-10-05 1996-09-30 변환 제어 디지탈 신호 전송 시스템
KR1019980702532A KR100319129B1 (ko) 1995-10-05 1996-09-30 동기화문자의경계검출시스템및방법
KR1020017001011A KR100337467B1 (ko) 1995-10-05 1996-09-30 변환 제어 디지탈 인코딩 장치 및 신호 전송 시스템

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020017001012A KR100318031B1 (ko) 1995-10-05 1996-09-30 변환 제어 디지탈 신호 전송 시스템
KR1019980702532A KR100319129B1 (ko) 1995-10-05 1996-09-30 동기화문자의경계검출시스템및방법

Country Status (8)

Country Link
US (1) US5999571A (ko)
EP (1) EP0883950B1 (ko)
JP (1) JP3204672B2 (ko)
KR (3) KR100318031B1 (ko)
AU (1) AU7202496A (ko)
CA (1) CA2233906C (ko)
DE (1) DE69619560T2 (ko)
WO (1) WO1997013347A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101565561B1 (ko) * 2007-02-26 2015-11-03 에이티아이 테크놀로지스 유엘씨 직렬 스트림 내에서의 견고한 제어 및 식별

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738417B1 (en) 1998-09-10 2004-05-18 Silicon Image, Inc. Method and apparatus for bidirectional data transfer between a digital display and a computer
KR100296787B1 (ko) 1998-11-06 2001-10-26 구본준, 론 위라하디락사 액정표시장치용러쉬커런트방지회로
KR100313243B1 (ko) 1998-12-31 2002-06-20 구본준, 론 위라하디락사 데이터 전송 장치 및 그 방법
US6870930B1 (en) 1999-05-28 2005-03-22 Silicon Image, Inc. Methods and systems for TMDS encryption
KR100669095B1 (ko) 1999-12-28 2007-01-16 엘지.필립스 엘시디 주식회사 데이터 송/수신 방법 및 장치와 이를 이용한 액정표시장치와 그 구동방법
KR100708078B1 (ko) * 2000-05-04 2007-04-16 삼성전자주식회사 디지털 비디오 데이터 전송방법, 수신방법, 전송장치,그리고 수신장치
JP3712631B2 (ja) 2000-06-19 2005-11-02 シャープ株式会社 伝送方法および伝送システム並びに通信装置
US7113507B2 (en) * 2000-11-22 2006-09-26 Silicon Image Method and system for communicating control information via out-of-band symbols
CN1305220C (zh) * 2001-07-09 2007-03-14 希捷科技有限公司 用于抑制数字数据内低频含量的方法和装置
DE10145722A1 (de) 2001-09-17 2003-04-24 Infineon Technologies Ag Konzept zur sicheren Datenkommunikation zwischen elektronischen Bausteinen
US7142612B2 (en) * 2001-11-16 2006-11-28 Rambus, Inc. Method and apparatus for multi-level signaling
EP1486056B1 (en) 2001-12-24 2018-08-29 Lattice Semiconductor Corporation System for video and auxiliary data transmission over a serial link
US20030152154A1 (en) * 2002-02-14 2003-08-14 Johnson Ryan C. Coding and decoding system and method for high-speed data transmission
US7190738B2 (en) * 2002-03-07 2007-03-13 Stmicroelectronics, Inc. Data assisted serial link decoder using oversampling
AU2003210605A1 (en) * 2002-06-25 2004-01-06 Lockheed Martin Corporation Method to increase the hamming distance between frame delimiter symbol and data symbols of a mbnb line code
JP4034172B2 (ja) * 2002-11-20 2008-01-16 Necエレクトロニクス株式会社 エンコーダ、デコーダおよびデータ転送装置
US7366268B2 (en) * 2002-12-02 2008-04-29 Matsushita Electric Industrial Co., Ltd. Selective data inversion in ultra-wide band communications to eliminate line frequencies
US7113550B2 (en) * 2002-12-10 2006-09-26 Rambus Inc. Technique for improving the quality of digital signals in a multi-level signaling system
US7965837B2 (en) * 2003-04-30 2011-06-21 Sony Corporation Method and system for wireless digital video presentation
US7562379B2 (en) * 2003-12-22 2009-07-14 Sony Corporation Method and system for wireless digital multimedia presentation
US7302631B2 (en) * 2004-07-16 2007-11-27 Rambus Inc. Low overhead coding techniques
US20060126751A1 (en) * 2004-12-10 2006-06-15 Anthony Bessios Technique for disparity bounding coding in a multi-level signaling system
US7656321B2 (en) * 2005-06-02 2010-02-02 Rambus Inc. Signaling system
US7627044B2 (en) * 2005-10-31 2009-12-01 Silicon Image, Inc. Clock-edge modulated serial link with DC-balance control
EP1962448A1 (de) * 2007-02-23 2008-08-27 INOVA Semiconductors GmbH Verfahren und Vorrichtung zum Übertragen eines seriellen Datenrahmens
JP5485736B2 (ja) * 2009-02-10 2014-05-07 パナソニック株式会社 送信装置
US9665527B2 (en) 2014-12-09 2017-05-30 Intel Corporation Dynamic bus inversion with programmable termination level to maintain programmable target ratio of ones and zeros in signal lines
EP4024797A4 (en) * 2019-08-30 2022-10-19 Sony Semiconductor Solutions Corporation CODING DEVICE, CODING METHOD, DECODING DEVICE, DECODING METHOD AND PROGRAM
US20230308210A1 (en) * 2019-08-30 2023-09-28 Sony Semiconductor Solutions Corporation Encoding device, encoding method, decoding device, decoding method, and program
EP4175183A4 (en) * 2020-06-30 2023-11-29 Sony Semiconductor Solutions Corporation CODING APPARATUS, CODING METHOD, DECODING APPARATUS, DECODING METHOD AND PROGRAM

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992022160A1 (en) * 1991-06-06 1992-12-10 Northern Telecom Limited Line code using block inversion for high speed links

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4216426A (en) * 1979-03-02 1980-08-05 Burroughs Corporation Self-clocked data transmission system having automatic signal reversing means
US4463342A (en) * 1979-06-14 1984-07-31 International Business Machines Corporation Method and means for carry-over control in the high order to low order pairwise combining of digits of a decodable set of relatively shifted finite number strings
JPS57170652A (en) * 1981-04-15 1982-10-20 Nec Corp Transmitting system for burst signal
US4408189A (en) * 1981-05-18 1983-10-04 Northern Telecom Limited Method and apparatus for code conversion of binary to multilevel signals
US4486739A (en) * 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
US4528550A (en) * 1983-10-31 1985-07-09 Northern Telecom Limited Method and apparatus for code conversion of binary of multilevel signals
US4584695A (en) * 1983-11-09 1986-04-22 National Semiconductor Corporation Digital PLL decoder
FR2570905B1 (fr) * 1984-05-23 1987-01-09 Cit Alcatel Procede de transmission synchrone de donnees et dispositif pour sa mise en oeuvre
US4709170A (en) * 1984-08-20 1987-11-24 National Semiconductor Corp. Subnanosecond programmable phase shifter for a high frequency digital PLL
JPH0721942B2 (ja) * 1984-10-11 1995-03-08 ソニー株式会社 チヤンネル符号化方法
US4864303A (en) * 1987-02-13 1989-09-05 Board Of Trustees Of The University Of Illinois Encoder/decoder system and methodology utilizing conservative coding with block delimiters, for serial communication
US4744081A (en) * 1987-05-18 1988-05-10 Northern Telecom Limited Frame find circuit and method
US4975916A (en) * 1988-07-26 1990-12-04 International Business Machines Corporation Character snychronization
US5438621A (en) * 1988-11-02 1995-08-01 Hewlett-Packard Company DC-free line code and bit and frame synchronization for arbitrary data transmission
US5022051A (en) * 1988-11-02 1991-06-04 Hewlett-Packard Company DC-free line code for arbitrary data transmission
US4926447A (en) * 1988-11-18 1990-05-15 Hewlett-Packard Company Phase locked loop for clock extraction in gigabit rate data communication links
FR2658015B1 (fr) * 1990-02-06 1994-07-29 Bull Sa Circuit verrouille en phase et multiplieur de frequence en resultant.
FR2664770A1 (fr) * 1990-07-11 1992-01-17 Bull Sa Procede et systeme de transmission numerique de donnees en serie.
US5132633A (en) * 1991-05-21 1992-07-21 National Semiconductor Corporation PLL using a multi-phase frequency correction circuit in place of a VCO
EP0523885A1 (en) * 1991-07-15 1993-01-20 National Semiconductor Corporation Phase detector for very high frequency clock and data recovery circuits
US5239561A (en) * 1991-07-15 1993-08-24 National Semiconductor Corporation Phase error processor
US5295079A (en) * 1991-07-18 1994-03-15 National Semiconductor Corporation Digital testing techniques for very high frequency phase-locked loops
US5410600A (en) * 1991-11-18 1995-04-25 Broadband Communications Products, Inc. Pre-scramble encoding method and apparatus for digital communication
US5387911A (en) * 1992-02-21 1995-02-07 Gleichert; Marc C. Method and apparatus for transmitting and receiving both 8B/10B code and 10B/12B code in a switchable 8B/10B transmitter and receiver
US5420545A (en) * 1993-03-10 1995-05-30 National Semiconductor Corporation Phase lock loop with selectable frequency switching time
US5359301A (en) * 1993-03-26 1994-10-25 National Semiconductor Corporation Process-, temperature-, and voltage-compensation for ECL delay cells
US5339050A (en) * 1993-04-27 1994-08-16 National Semiconductor Corp. Frequency synthesizing phase lock loop with unvarying loop parameters
US5329251A (en) * 1993-04-28 1994-07-12 National Semiconductor Corporation Multiple biasing phase-lock-loops controlling center frequency of phase-lock-loop clock recovery circuit
US5304952A (en) * 1993-05-10 1994-04-19 National Semiconductor Corporation Lock sensor circuit and method for phase lock loop circuits

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992022160A1 (en) * 1991-06-06 1992-12-10 Northern Telecom Limited Line code using block inversion for high speed links

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101565561B1 (ko) * 2007-02-26 2015-11-03 에이티아이 테크놀로지스 유엘씨 직렬 스트림 내에서의 견고한 제어 및 식별

Also Published As

Publication number Publication date
EP0883950A2 (en) 1998-12-16
DE69619560D1 (de) 2002-04-04
EP0883950B1 (en) 2002-02-27
KR100318031B1 (ko) 2001-12-22
CA2233906C (en) 2005-09-20
AU7202496A (en) 1997-04-28
US5999571A (en) 1999-12-07
JPH11500887A (ja) 1999-01-19
KR19990064053A (ko) 1999-07-26
WO1997013347A3 (en) 1997-07-31
KR100319129B1 (ko) 2002-02-19
WO1997013347A2 (en) 1997-04-10
DE69619560T2 (de) 2002-10-24
JP3204672B2 (ja) 2001-09-04
CA2233906A1 (en) 1997-04-10

Similar Documents

Publication Publication Date Title
KR100337467B1 (ko) 변환 제어 디지탈 인코딩 장치 및 신호 전송 시스템
KR100291291B1 (ko) 디지탈비디오전송용블럭코딩
US5825824A (en) DC-balanced and transition-controlled encoding method and apparatus
US7339502B2 (en) Method and device for transmitting data over a plurality of transmission lines
US6151334A (en) System and method for sending multiple data signals over a serial link
US5781129A (en) Adaptive encoder circuit for multiple data channels and method of encoding
US5777567A (en) System and method for serial to parallel data conversion using delay line
EP0610204B1 (en) Line code using block inversion for high speed links
US6912008B2 (en) Method of adding data to a data communication link while retaining backward compatibility
CA2411385C (en) Transition controlled balanced encoding scheme
KR20110004801A (ko) 디스플레이 포트의 디지털 엔코더 및 디지털 디코더
KR20000027882A (ko) 디지탈 데이터의 고속 송수신 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
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: 20130424

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140424

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee