KR100358672B1 - 전이 제어되는 균형 부호화 스킴 - Google Patents

전이 제어되는 균형 부호화 스킴 Download PDF

Info

Publication number
KR100358672B1
KR100358672B1 KR1020017008451A KR20017008451A KR100358672B1 KR 100358672 B1 KR100358672 B1 KR 100358672B1 KR 1020017008451 A KR1020017008451 A KR 1020017008451A KR 20017008451 A KR20017008451 A KR 20017008451A KR 100358672 B1 KR100358672 B1 KR 100358672B1
Authority
KR
South Korea
Prior art keywords
data
data block
bit
characters
transition
Prior art date
Application number
KR1020017008451A
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 KR100358672B1 publication Critical patent/KR100358672B1/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
    • 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/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/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/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/2368Multiplexing of audio and video streams
    • 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/4341Demultiplexing of audio and video streams
    • 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
    • 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
    • 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

Abstract

본 발명에서는 데이터 바이트의 입력 시퀀스로부터 전이-제어되고 DC-균형된 문자들의 시퀀스를 만드는 방법 및 장치가 설명된다. 각 데이터 바이트내의 비트는 선택적으로 보수화된 데이터 블록을 제공하기 위해 각 데이터 바이트내에서 논리 '1' 신호의 수에 따라 선택적으로 보수화된다. 이어서, 문자로 앞서 부호화되고 선택적으로 보수화된 데이터 블록 중 일부내에 포함되는 다른 종류의 논리값 사이에서 누적 디스패리티가 결정된다. 부가하여, 부호화 중인 선택적으로 보수화된 데이터 블록 중 현재의 것과 연관된 후보 문자에서 현재의 디스패리티가 또한 결정된다. 현재의 디스패리티가 누적 디스패리티의 제1 극성과 반대되는 극성이면, 후보 문자는 선택적으로 보수화된 데이터 블록 중 현재의 것에 지정된다. 다른 방법으로, 현재의 디스패리티가 제1 극성이면, 후보 문자의 보수가 선택적으로 보수화된 데이터 블록 중 현재의 것에 지정된다. 고-전이 동작 모드에서는 이와 같이 선택적으로 보수화된 데이터 블록 각각이 최소수를 넘는 논리적 전이를 포함하도록 최소수보다 적은 수의 논리 '1' 신호를 포함하는 데이터 블록내의 비트가 선택적으로 보수화된다. 저-전이 동작 모드에서는 이와 같이 선택적으로 보수화된 데이터 블록 각각이 최대수보다 적은 논리적 전이를 포함하도록 선정된 수보다 많은 수의 논리 '1' 신호를 갖는 데이터 블록내의 비트가 선택적으로 보수화된다.

Description

전이 제어되는 균형 부호화 스킴{TRANSITION CONTROLLED BALANCED ENCODING SCHEME}
본 출원은 여기서 참조하여 포함되는 1995년 10월 5일에 출원되어 계류 중인 출원 번호 08/539,816의 CIP 출원이다.
본 발명은 디지탈 전송 시스템을 위한 부호화 스킴(encoding scheme)에 관한 것이다. 특히, 본 발명은 전송을 용이하게 하기 위해 불균형된 데이터스트림 (unbalanced datastream)이 DC-균형된 스트림(DC-balanced stream)으로 변환되는 DC-균형된 전이 제어 부호화 시스템에 관한 것이다.
전자 및 컴퓨터 기술이 계속 발전됨에 따라, 멀리 또는 가까이 위치하는 다른 디바이스간의 정보 통신은 점차 중요해진다. 예를 들어, 회로 보드상의 다른 칩, 시스템내의 다른 회로 보드, 및 다른 시스템간에 서로 고속 통신을 제공하는것이 그 어느때보다 더 바람직하다. 또한, 구내 정보 통신망, 다중 입출력 채널, 그래픽 또는 비디오 정보 등을 사용하는 집중 데이터 소모 시스템에서의 데이터 통신에 요구되는 많은 데이터량을 특히 고려하면, 이러한 통신을 초고속으로 제공하는 것이 더욱 더 바람직하다.
특히, 비교적 간단한 전송선을 걸쳐 서로 통신하기 위해서는 데이터가 보통 병렬 데이터 버스를 사용해 내부적으로 전달되는 각 개인용 컴퓨터, 워크스테이션(workstation), 또는 다른 계산 디바이스를 가능하게 하는 것이 바람직하다. 이러한 전송선은 현재 일반적으로 유효한 계산 시스템 내에서의 64-비트 이상의 데이터 경로와 비교해, 전형적으로 단 한 두 개의 도전체(conductors)만을 포함한다. 디지탈 카메라에서 컴퓨터 시스템으로 고속 비디오를 입력하는 경우 뿐만 아니라, 컴퓨터 디스플레이로 비디오 데이터를 전송하는 경우에, 현존하는 상호 연결 인터페이스는 전형적으로 이러한 병렬 데이터 경로를 사용한다. 최근에, 이러한 상호 연결 시스템의 요구되는 대역폭은 디스플레이 해상도가 증가된 결과로 증가된다. 이는 전송선 잡음 뿐만 아니라 전자파 간섭(EMI)을 증가시키고, 그에 의해 안전성 및 신뢰성에 대한 관심을 증가시킨다. 부가하여, 진보된 액정 디스플레이 패널(panel)에 의해 요구되는 많은 수의 신호 및 데이터선은 상호 간섭에 대한 전위를 증가시킨다.
병렬 데이터에서 직렬 형태로의 고속 변환과 직렬 링크를 통한 전송을 제공하도록 시도하는 제품이 상업적으로 다수 이용가능하다. 휴랫팩카드 G-링크 칩(Hewlett-Packard G-link chip) 세트가 이러한 제품 중 하나이다. 그 칩 세트는전송기 세트를 포함하고 21-비트폭의 병렬 데이터를 처리할 수 있다. 그러나, 필요한 속도를 구하기 위해서는 칩 세트가 쌍극 처리를 사용해 제작되고, 수신기 및 전송기가 분리된 칩을 요구한다. 이러한 해결법은 매우 전력 소모적이고 비싸다.
또 다른 상업적인 해결법은 프랑스의 불(Bull)에 의해 제공된다. 불 기술은 병렬 대 직렬 데이터 변환을 위해 주파수 곱셈기를 사용한다. 이러한 디바이스는 전형적으로 실리콘 기판에 잡음을 만들고, 칩상의 다른 곱셈기를 방해한다. 부가하여, 불 기술은 병렬 대 직렬 변환을 위해 배타 논리합 트리(exclusive OR tree)를 사용한다. 배타 논리합 트리의 사용에는 이러한 디바이스의 모든 경로를 통한 지연을 균일하게 하는데 어려움이 있다는 것이 이미 공지되어 있다. 부가적으로, 불 기술은 전 논리 진동(full logic swings)을 갖는 출력 신호를 사용한다. 그 결과로, 성능은 낮아진다.
직렬 링크를 통한 전송의 특성을 개선하기 위해서 다양한 기술이 존재한다. 예를 들면, 클럭 복원을 용이하게 하고 AC 결합을 가능하게 하도록 전송된 직렬 데이터의 주파수 스펙트럼을 변경하는 전송 코드가 사용될 수 있다. 각 전송 코드는 또한 전형적으로 문자 동기화, 프레임 범위 한정, 및 진단 목적을 위해 사용되도록 데이터 알파벳내에는 포함되지 않는 특수 문자를 제공할 것이다. 또한, 전송 매체를 통해 전파되는 동안 일어나는 신호 왜곡을 제한하기 위한 수단으로 전송 대역폭을 줄이는 부호화가 사용될 수 있다. 와이어 링크(wire link)의 경우, 전송선으로부터 드라이버 및 수신기 회로의 DC 절연(isolation)을 허용할 뿐만 아니라, 선상의 신호 왜곡을 줄이기 위해서는 DC 성분이 전혀 없고 저주파수 내용을 거의 갖지않는 코드를 사용하는 것이 바람직하다. 효율적인 부호화 시스템은 또한 복호화하는 동안 클럭 정보의 추출을 허용하는 방식으로 부호화 데이터에서 클럭 정보를 부호화하도록 배치되어야 한다. 복호화하는 동안 복원된 클럭 정보가 수신기 회로에 의해 대신 사용될 수 있으므로, 이는 전용 클럭선을 통한 별도의 클럭 신호를 제공할 필요를 없앤다.
구내 정보 통신망(LAN)내에서는 다양한 길이의 단어를 더 긴 길이의 문자로 변환하기 위한 전송 부호화 스킴이 존재한다. 예를 들면, 3-비트의 단어는 4-비트의 문자(3B/4B), 4-비트의 단어는 5-비트의 문자(4B/5B) 등으로 변환될 수 있다. 전형적으로, 부호화 및 복호화는 각 단어가 대응하는 문자에 맵핑(mapping)되는 "키(key)"를 사용해 이루어진다. 불행하게도, 이 종류의 맵핑 스킴의 복잡성은 일반적으로 랜덤 논리의 사용을 배제하고, 때때로 룩업 테이블(look-up table) 등을 포함하는 실행을 요구한다. 이는 ROM을 사용해 실행된 룩업 테이블이 상당한 칩 면적을 소모하여 회로 동작을 둔화시키게 된다면 불편한 점이 된다.
U.S 특허 No. 4,486,739에서는 특정한 8B/10B 부호화 스킴이 설명된다. 특히, 전송을 위해 8 비트 바이트의 정보를 10개의 이진수 디지트로 번역하도록 동작하는 이진수 DC 균형된 코드 및 그와 연관된 인코더 회로가 설명된다. 8B/10B 코더는 5B/6B + 3B/4B 코더로 분할된다. 표면상으로는 DC 균형된 부호화를 용이하게 하지만, 이 시스템은 비교적 긴 부호화 및 복호화 간격을 요구한다.
비록 직렬 데이터 전송을 용이하게 하도록 배치된 부호화 기술의 개발이 진행되었지만, 초고속 직렬 데이터 전송을 효율적으로 지지할 수 있는 부호화 스킴에대한 필요성이 남아있다. 이러한 부호화 스킴은 또한 AC 결합과 클럭 복원을 용이하게 하기 위해 DC 균형화되어야 한다. 부가하여, 복호화하는 동안 신속한 동기화를 허용함으로서 실시간 데이터 전달을 용이하게 할 수 있는 부호화 스킴을 제공하는 것이 바람직하다. 부가하여, 특정한 블록이 균형-부호화 스킴에 의해 수정되었나 여부를 나타내는 부가 비트를 제공할 필요 없이 DC 균형된 데이터스트림을 제공할 수 있는 부호화 스킴을 제공하는 것이 바람직하다.
한 특징에서, 본 발명은 데이터 바이트의 입력 시퀀스로부터 전이 제어되고 DC 균형된 시퀀스(DC-balanced sequence)를 제공하는 방법 및 장치에 관한 것이다. 각 데이터 바이트내의 비트는 선택적으로 보수화된(complemented) 데이터 블록을 제공하기 위해 각 데이터 바이트내의 논리 '1' 신호의 수에 따라 선택적으로 보수화된다. 이어서, 앞서 문자로 부호화되고 선택적으로 보수화된 데이터 블록 중 일부내에 포함된 다른 종류의 논리값 사이에서 누적 디스패리티(disparity)가 결정된다. 부가하여, 부호화되고 있고 선택적으로 보수화된 데이터 블록들중의 현재의 블록과 연관된 후보 문자내의 현재의 디스패리티가 또한 결정된다. 현재의 디스패리티가 누적 디스패리티의 제1 극성과 반대 극성이면, 그 후보 문자는 선택적으로 보수화된 데이터 블록들중의 현재의 블록으로 지정된다. 다른 방법으로, 현재의 디스패리티가 제1 극성이면, 그 후보 문자의 보수가 선택적으로 보수화된 데이터 블록들중의 현재의 블록으로 지정된다.
고-전이(high-transition) 연산 모드에서, 최소값보다 적은 수의 논리 '1'신호를 포함하는 데이터 블록내의 비트는 이와 같이 선택적으로 보수화된 데이터 블록 각각이 최소값을 넘는 수의 논리 '1' 신호를 포함하게 하도록 선택적으로 보수화된다. 저-전이(low-transition) 연산 모드에서는 이와 같이 선택적으로 보수화된 데이터 블록 각각이 최소값보다 작은 수의 논리적 전이를 포함하도록 선정된 값보다 많은 수의 논리 전이를 갖는 데이터 블록내의 비트가 선택적으로 보수화된다. 이와 같이 선택적으로 보수화된 데이터 블록을 부호화 문자로 고-전이 모드 및 저-전이 모드 부호화하는 동안에는 선택적인 보수화가 실행되었음을 나타내는 선정된 비트가 설정된다.
또 다른 특성으로, 한 실시예에서는 9-비트 데이터 블록들의 입력 시퀀스가 DC 균형된 문자들의 시퀀스를 제공하도록 균형된다. 의사 랜덤(pseudo-random) 이진 시퀀스 중 두 비트는 의사 랜덤 이진 시퀀스에서 또 다른 비트를 반전시키는지의 여부를 결정하고, 그에 의해 의사 랜덤 이진 시퀀스를 순환시키도록 논리적으로 조합된다. 의사 랜덤 이진 시퀀스 중 한 비트는 인입하는 9-비트 데이터 블록에서 모든 비트를 선택적으로 반전시키고, 그에 의해 시간에 걸쳐 DC 균형되려는 출력 스트림에서 9-비트 데이터 블록을 제공하는 기준으로 사용된다.
도 1은 고속 디지탈 전송 시스템내에 실행된 본 발명의 DC 균형 부호화 시스템을 도시하는 블록도.
도 2는 데이터 흐름도의 형태로 본 발명의 DC 균형 인코더의 전체적인 기능적 조직을 도시하는 도면.
도 3은 도 1의 전송 시스템내에 포함된 디코더의 블록도.
도 4는 도 3의 디코더 중에서 다른 방법의 바이트 변환 디코더 모듈의 랜덤 논리 구현을 도시한 도면.
도 5는 도 3의 디코더와 연관되어 동작되는 디코더 동기화 모듈에 의해 실행되는 동기화 처리를 도시하는 흐름도.
도 6은 고-전이(high-transition) 모드 동작 동안에 디코더 동기화 모듈에 의해 실행되는 동기화 처리를 도시하는 흐름도.
도 7a 및 도 7ba 내지 도 7bc는 인코더의 실행예를 도시하는 도면.
도 8a 및 도 8b는 디코더 동기화 모듈의 바람직한 실행예를 도시하는 도면.
도 9a 및 도 9b는 전이 최적기의 다른 실시예에 대한 흐름도.
도 10은 도 9a 및 도 9b의 전이 최적기를 실행하는 논리 회로도.
도 11은 프레임 동기화 스크램블링(scrambling)을 사용해 전이-최적화된 프레임을 DC-균형화하기 위한 균형-부호화 회로도.
도 12는 도 11의 균형-부호화 회로로 부호화된 DC 균형된 프레임을 복호화하기 위한 균형-복호화 회로도.
도 13은 자체-동기화 스크램블링을 사용해 전이-최적화된 프레임을 DC-균형화하기 위한 균형-부호화 회로도.
도 14는 도 13의 균형-부호화 회로로 부호화된 DC 균형된 프레임을 복호화하기 위한 균형-복호화 회로도.
I.시스템 개요
도 1은 고속 디지탈 전송 시스템(10)내에 실행된 본 발명의 전이 제어되고 DC-균형된 부호화 시스템을 도시하는 블록도이다. 도 1의 시스템(10)에서는 8-비트 바이트의 병렬 데이터(14)가 본 발명에 따라 전이 제어되고 DC-균형화되는8B/10B 부호화를 실행되도록 동작하는 DC 균형 인코더(18)에 제공된다. 결과의 10B 부호화 문자(22)는 직렬 데이터 링크(30)(예를 들면, 광섬유 케이블 또는 공간쌍 구리 와이어)에 걸친 전송을 위해 10-비트 문자를 직렬 데이터 스트림으로 변환하도록 배치된 직렬기(serializer)(26)에 제공된다. 여기서 설명되는 바와 같이, 인코더(18)에 의해 실행되는 부호화 알고리즘의 비교적 수월한 수학적 특성은 랜덤 논리로 경제적인 고속 실행을 허용한다.
직렬 데이터 스트림은 역직렬기(deserializer)(34)에 의해 직렬 데이터 링크(30)로부터 수신되어 10-비트의 문자 데이터(38)로 변환된다. 이어서, 10-비트의 문자 데이터(38)는 디코더(44)에 의해 8-비트 데이터 바이트(42)로 복호화된다. 이후 설명될 바와 같이, 인코더(18)와 디코더(44)는 모두 실시간 데이터 처리가 가능한 간단한 디지탈 논리 회로를 사용해 경제적으로 실현될 수 있다.
II.DC-균형화되고 전이 제어되는 부호화 및 복호화 시스템
다음에는 인코더(18)내에서 실행되는 8B/10B 전이 제어되는 부호화 스킴의 상세한 설명이 제공된다. 여기서 개시된 전이 제어 코드는 "대역내(in-band)" 코드 문자의 고-전이 또는 저-전이 중 한 세트 사용을 고려한다. 각각의 고-전이 대역내 코드 문자는 8개 비트 사이에 4회 이상의 논리적 전이가 존재하는 입력 데이터 바이트로부터 유도된다. 유사하게, 각각의 저-전이 대역내 코드 문자는 8개 비트 사이에 4회보다 적은 논리적 전이가 존재하는 입력 데이터 바이트로부터 유도된다. 이 스킴은 258개의 8-비트 ASCII 코드 중 128개가 4회 이상의 논리적 전이를포함하고, 나머지 128개 ASCII 코드가 4회보다 적은 논리적 전이를 포함한다는 이점을 갖는다.
4회보다 적은 논리적 전이를 포함하는 128개 8-비트 코드 각각은 4회 이상의 논리적 전이를 갖는 대응하는 8-비트 코드에 맵핑(mapping)될 수 있다고 밝혀졌다. 여기서 설명되는 바와 같이, 이 맵핑은 맵핑되는 각 8-비트 코드에 선정된 비트를 보수화함으로써 달성될 수 있다. 고-전이 모드 부호화 동안에, 4회보다 적은 논리적 전이를 갖는 이들 입력 바이트내의 비트는 선택적으로 보수화되고, 그에 의해 4회 이상의 논리적 전이를 갖는 바이트에 맵핑된다. 다른 방법으로, 저-전이 모드 부호화 동안에, 4회 이상의 논리적 전이를 갖는 이들 입력 바이트내의 비트가 또한 선택적으로 보수화되고, 그에 의해 4회보다 적은 논리적 전이를 갖는 바이트에 맵핑된다. 둘 모두의 부호화 모드 동안, 대응하는 10-비트 부호화 문자의 생성 이전에 중간의 9-비트 부호화 심볼을 만들기 위해, 선택적으로 보수화된 바이트에는 선정된 값의 비트가 첨부된다. 입력 바이트가 현재 부호화 모드(즉, 고-전이 모드나 저-전이 모드)에 의해 조작된 논리 전이의 수를 포함할 때, 첨부된 비트는 9-비트 중간 심볼 중 선택적으로 보수화된 바이트를 포함하는 것을 식별하기 위해 선정된 값의 보수로 설정된다. 그 결과로, 256개 8-비트 코드의 전체 세트는 저-전이 모드 및 고-전이 모드 동작 동안에 10-비트 문자로 부호화될 수 있게 된다.
그래서, 고-전이 모드 동작 동안에 10-비트 부호화 문자로 변환된 각 8-비트 코드는 4회 이상의 논리적 전이를 포함한다고 생각할 수 있다. 유사하게, 저-전이 모드 동작 동안에 10-비트 부호화 문자로 변환된 각 8-비트 코드는 4회보다 적은논리적 전이를 포함한다. 저-전이 및 고-전이 동작 모드 동안 만들어질 수 있는 이러한 10-비트 부호화 문자 세트는 각각 "대역내" 부호화 문자의 고-전이 세트 및 대역내 부호화 문자의 저-전이 세트로 특성화될 수 있다. 고-전이 세트내의 256개 대역내 문자 및 저-전이 세트의 256개 대역내 문자의 범위를 넘어서, 256개 대역외(out-of-band) 10-비트 문자의 고-전이 세트 및 10-비트 문자의 저-전이 세트가 존재한다. 본 발명의 또 다른 특성에 따라, 대역외 문자의 고-전이 및 저-전이 세트를 사용해 다양한 동기화 및 다른 특수 문자가 정의된다. 고-전이 세트와 연관된 이들 "대역외" 문자 중 하나에 대응하는 각 문자는 4회보다 적은 논리적 전이를 포함하고, 코드 문자의 저-전이 세트와 연관된 대역외 문자 각각은 4회 이상의 논리적 전이를 포함한다. 대역내 문자와 대역외 문자 사이의 전이수 차이는 선택된 대역외 문자가 제어 문자로 동작하고, 전송된 데이터 스트림내에서 대역외 문자와 용이하게 구별되도록 허용한다.
고-전이 세트의 각 대역내 문자내에 비교적 높은 전이수가 주어지면, 문자의 고-전이 세트는 유리하게 타이밍 복원을 용이하게 하는데 사용될 수 있다. 한편, 저-전이 세트의 코드 문자 내에서의 낮은 전이수는 전력 소모 및/또는 전자기 간섭(EMI)을 최소화하는 것이 바람직한 응용에서의 사용에 이 문자 세트가 이상적이 되도록 만든다.
본 발명의 한 특성에 따라, 코드 문자의 고-전이 및 저-전이 세트와 모두 연관된 동기화 문자는 데이터 회복 동안에 신속한 동기화를 용이하게 하도록 선택된다. 코드 문자의 저-전이 세트가 사용되고 있을 때, 특수 그룹의 대역외 문자는동기화 동안에 사용된다. 각 특수 동기화 문자는 이진수 문자값 사이에서 4보다 큰 선정된 논리적 전이수(예를 들면, 7)와, 문자값 사이에서 선정된 "비-전이(non-transitions)" 수(예를 들면, 2)를 포함한다. 이후 논의될 바와 같이, 특수 동기화 문자는 랜덤 논리가 저-전이 세트의 대역내 문자로부터 각 특수 동기화 문자를 구별하는데 사용되도록 선택된다. 다음은 코드 문자의 저-전이 세트와 함께 사용되는 대역외 동기화 문자의 세트예를 구성한다:
1100101010
1101001010
1101010010
1101010100
본 발명의 한 특징에서, 상기 대역외 동기화 문자 중 하나가 프리앰블(preamble) 주기내에서 3회 이상 연속적으로 전송되면, 그 동기화 문자는 연관된 데이터 복원 처리 동안 검출되는 것으로 보장된다. 이에 관하여, "프리앰블" 시퀀스는 부호화 문자의 각 전송에 선행하는 프리앰블 주기 동안 전달된다. 프리앰블 시퀀스의 전송은 시스템 초기화의 일부로서 뿐만 아니라, 다양한 다른 시간대에 부호화 및 복호화 처리 사이에서 동기화가 유지됨을 보장하도록 발생된다.
본 발명의 부호화 스킴은 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)을 부호화함으로서 얻어진다.
그룹 전이수 그룹내의 바이트수 그룹내의 바이트 예
G0G1G2G3G4G5G6G7 01234567 21442707042142 00000000, 1111111100000001, 1111111000000010, 1111110100000101, 1111101000001010, 1111010100010101, 1110101000101010, 1101010101010101, 10101010
고-전이 부호화 모드에서의 인코더(18)의 동작 동안에, 이에 제공된 바이트 그룹(G0)-(G3)내의 각 8-비트 이진수 코드는 번갈아 있는 비트의 반전을 통해 바이트 그룹(G4)-(G7)내의 대응하는 이진수 코드로 변환된다. 반대로, 저-전이 부호화 모드에서의 동작 동안에는 인코더(18)에 제공된 그룹(G4)-(G7)내의 각 8-비트 이진수 코드가 그룹(G0)-(G3)내의 대응하는 이진수 코드로 맵핑된다. 예시적인 실시예에서, 번갈아 있는 비트의 반전은 8-비트 이진수 코드의 짝수 비트를 반전시켜 이루어진다. 주어진 8-비트 코드의 번갈아 있는 비트가 그렇게 반전될 때, 주어진 8-비트 코드로부터 유도된 결과의 10-비트 부호화 문자내의 선정된 비트는 바이트 그룹간에 맵핑이 일어났음을 나타내도록 설정된다.
지금부터 도 2를 참조하여, 전이 제어되고 DC-균형화되는 본 발명의 인코더(18)에 대한 전체적인 기능적 조직이 데이터 흐름도의 형태로 도시된다. 도 2에서, 부호화되는 8-비트 병렬 데이터(14)는 예를 들면, 8개의 D형 플립플롭으로 구성된 입력 래치(input latch)(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)
COUNT선(78)은 래치된 바이트의 비트 사이에서 4회 이상의 논리적 전이가 카운트되면(T > 3), 카운터(74)에 의해 선정된 논리값으로 설정되고, 그렇지 않으면(T ≤3) 선정된 논리값의 보수로 설정된다. 다음에서는 카운터(78)에 의해 4회 이상의 논리적 전이가 카운터되면(T > 3) COUNT = 0이고, 그렇지 않으면(T ≤ 3) COUNT = 1인 것으로 가정된다.
도 2로 나타내진 바와 같이, 전이 제어기(82)는 COUNT선(78)과 모드 선택선(86)에 응답한다. 모드 선택선(86)은 부호화가 코드 문자의 고-전이 세트 또는 저-전이 세트를 사용해 실행될 것인가 여부를 결정한다. 고-전이 부호화가 실행중인 것으로 모드 선택선(86)이 나타내고, 래치(70)내에 저장된 바이트에 4회보다 적은 논리적 전이가 존재하는 것으로 COUNT선(78)이 등록할 때, 전이 제어기(82)는 래치(70)내에 저장된 바이트 중 짝수 비트를 반전시키도록 조건부 교대 비트 반전(CABI, conditional alternate bit inversion) 논리(90)에 지시한다. 4회 이상의 논리 전이를 갖게 되는 결과의 조건부 반전 바이트는 중간 래치(94)내에 저장된다. 반대로, 고-전이 부호화가 실행중이고 입력 래치(70)에 저장된 바이트내에서 4회 이상의 논리 전이가 카운터되면, 전이 제어기(82)는 CABI 논리(90)가 래치(70)에서 중간 래치(94)로 바이트를 단순히 전달하게(비트 반전 없이) 한다. 따라서, 고-전이 부호화 모드동안,
if T < 4,
else if T ≥4,
여기서, E[7:0]은 중간 래치(94)내에 저장된 8개 비트를 포함하고, E[8]은 COUNT 래치(95)내에 저장된 COUNT값을 포함한다.
저-전이 부호화가 선택된 것으로 모드 선택선(86)이 나타내고, 래치(70)내에 저장된 바이트내에 4회 이상의 논리적 전이가 주어지는 것으로 COUNT선(78)이 등록할 때, 전이 제어기(82)는 래치(70)내에 저장된 바이트 중 짝수 비트를 반전시키도록 조건부 교대 비트 반전(CABI) 논리(90)에 지시한다. 그렇지 않은 경우, 저-전이 부호화가 실행중이고, 입력 래치(70)에 저장된 바이트내에서 4회 이상의 논리적전이가 카운트되면, 저장된 바이트는 비트 반전 없이 단순히 중간 래치(94)로 전달된다. 따라서, 저-전이 부호화 모드 동안,
if T > 3,
CABI 논리(90)가 적절한 범위내에서 다수의 논리적 전이를 갖는 바이트를 래치(94)에 제공한 이후에, 인코더(18)에 의해 주어진 10-비트 부호화 문자의 스트림내에서 보수인 논리값 사이에 누적 디스패리티가 구해지는 DC-균형화 처리가 실행된다. 여기서 사용되는 바와 같이, "누적 디스패리티(cumulative disparity)" (Dcum)란 말은 이후 설명될 방식에서 디코더(44)로 이루어질 동기화에 이어서 인코더(18)에 의해 제공되는 0 비트에 관한 1 비트의 초과분(excess)을 나타낸다. "현재의 디스패리티(current disparity)"(Dcur)란 말은 래치(94)내에 현재 저장된 바이트내에서 0 비트에 대한 1 비트의 초과분을 의미하고, 이는 디스패리티 점검기(96)에 의해 결정된다. DC-균형화 모듈(98)은 현재의 디스패리티를 래치(99)내에 저장된 누적 디스패리티와 비교하도록 동작된다. 비교 결과는 래치(94)내에 저장된 바이트가 출력 레지스터(104)로의 전달 과정 동안에 조건부 바이트 반전(CTBI, conditional byte inversion) 논리(100)에 의해 반전되는지의 여부를 결정하는데 사용된다. 이 방법에서, CTBI 논리(100)는 인코더(18)에 의해제공되는 직렬 스트림과 연관된 누적 디스패리티를 최소화하도록 동작된다. 다음에는 인코더에 의해 제공되는 DC-균형된 문자 스트림내의 10-비트 문자 T[9:0] 각각이 중간 래치(94)내에 저장된 바이트 E[7:0]와 COUNT 래치(95)내의 비트 E[8]로부터 유도되는 방법의 논리적 설명이 제공된다.
현재의 디스패리티(Dcur)는 다음과 같이 디스패리티 점검기(96)에 의해 계산된다:
Dcur:= {(E7and E6) + (E5and E4) + (E3and E2) + (E1and E0)}
- {(E7nor E6) + (E5nor E4) + (E3nor E2) + (E1nor E0)}
고-전이 모드에서의 동작 동안에는 -2 ≤ Dcum≤ 2인 반면, 저-전이 모드에서의 동작 동안에는 -4 ≤ DP ≤ 4임을 주목한다. DC-균형화 모듈(98)내에서, Dcur= 0 또는 Dcum= 0인 것으로 결정되면,
if E8= '0'
D'cum= Dcum- Dcur
else if E8이 0과 같지 않으면,
D'cum= Dcum+ Dcur
여기서, D'cum은 디스패리티 업데이터(disparity updater)(108)에 의해 계산되어 래치(99)에 저장되는 업데이트된 누적 디스패리티이다.
다른 방법으로, Dcur의 최상위 비트(MSB)와 Dcum의 MSB가 일치하지 않는 것으로 DC-균형화 모듈이 결정하면,
D'cum= Dcum+ Dcur- E8.
마지막으로, 다른 모든 경우에서, Dcur의 MSB와 Dcum의 MSB가 일치하면,
D'cum= Dcum- Dcur+ E8.
이 방법에서, T[7:0]로서 출력 래치(104)를 채우는 과정 동안에 CBI 논리(100)에 의한 바이트 E[7:0]의 선택적 반전을 통하여, 누적 디스패리티가 줄어들고, DC 균형이 이루어진다. T[8]의 논리값은 입력 래치(70)에서 수신된 바이트 D[7:0] 중 짝수 비트가 바이트 E[0:8]의 발생 동안에 보수로 되었는지의 여부를 나타내는 것으로 관찰된다. 유사하게, T[9]의 논리값은 바이트 E[7:0]가 래치(104)로 전달되는 동안에 반전되었는지의 여부를 나타낸다.
III.복호화
도 1을 참조하여, 역직렬기(34)는 인코더에 의해 제공된 10-비트 문자 T[9:0]의 시퀀스를 수신하고, 비트선(RX9), (RX8), ..., (RX0)(즉, RX[9:0])에 10-비트 병렬 수신 데이터를 발생한다. 이 10-비트 병렬 수신 데이터는 비트선 RX[9:0]을 걸쳐 디코더(44) 및 디코더 동기화 모듈(114)에 제공된다. IV절에서 이후 설명될 바와 같이, 동기화 모듈(114)은 전송 데이터(즉, T[9:0])의 프레임 경계에 대응하는 10-비트 병렬 수신 데이터내에서 경계를 확인하도록 동작한다. 상세하게는, 동기화 모듈(114)은 비트선 RX[9:0] 중에서 역직렬기(34)가 각 전송 바이트 T[9:0]의 제1 비트 T[0]에 대응하는 수신 비트를 제공하고 있는 것을 결정한다. 이 결정이 이루어지면, 동기화 모듈(114)은 프레임 경계 포인터(118)를 디코더(44)에 제공하여, 각 전송 10-비트 문자 T[9:0]의 제1 비트 T[0]에 대응하는 비트선 RX[9:0] 중 하나를 식별한다. 이 동기화 정보를 수신하면, 디코더(44)는 다음의 방법으로 수신 데이터 RX[9:0]를 복호화하도록 배치된다.
도 3은 디코더(44)의 블록도를 제공한다. 역직렬기에 의해 제공된 10-비트 병렬 데이터는 비트선 RX[9:0]을 걸쳐 디코더 스위치(150)에 의해 수신된다. 디코더 스위치(150)는 동기화 모듈(114)에 의해 제공되는 프레임 경계 포인터값(118)에 따라 비트선 RX[9:0]을 걸쳐 수신된 10-비트 데이터를 교환되는 비트선 S[9:0]으로 교환하도록 동작한다. 보다 명확히 말하면, 제1 전송 비트 T[0]에 대응하는 수신 비트 RX[9:0] 중 하나는 비트선 S[0]으로 교환되고, 제2 전송 비트 T[1]에 대응하는 수신 비트 RX[9:0] 중 하나는 비트선 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)(도 2)에 의해 보수화되었는지의 여부에 대해 교대 비트 반전(ABI, Alternate Bit Inversion) 디코더(160)에 알린다. 유사하게, 비트선 S[9](T[9]의 논리값을 따르는)는 부호화 처리의 DC-균형화 부분 동안에 CTBI 논리(100)가 래치(104)내에 저장된 바이트를 보수화하였는지의 여부에 대해 ABI 디코더(160)에 알린다. 이 방법으로, 디코더(160)에는 부호화 처리 동안에 8-비트 래치(154)내에 저장된 바이트 S[7:0]상에 실행되는 논리 연산이 알려지고, 그에 의해 랜덤 논리를 사용하여 간략한 복호화를 용이하게 한다.
지금부터 도 4를 참조하여, ABI 디코더(160)의 랜덤 논리 실행도가 도시된다. ABI 디코더는 8-비트의 복호화 바이트 DE[7:0]를 제공하기 위하여 10-비트 프레임 정렬 데이터 S[9:0]를 복호화하기 위한 9개 배타적 논리합(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]
IV.동기화
상술된 바와 같이, 디코더 동기화 모듈(114)은 전송된 각 10-비트 문자 T[9:0]의 프레임 경계의 디코더(44)에 지시를 제공한다. 디코더 스위치(150)(도 3)와 함께, 디코더 모듈(114)은 역직렬기로부터의 병렬 데이터 RX[9:0]를 프레임 정렬 데이터 S[9:0]로 옮기는 장벽-쉬프터(barrel-shifter)로서 효과적으로 동작한다. 본 발명에 따라, 동기화 모듈(114)에 의한 프레임 경계 검출을 용이하게 하기 위해 다양한 시간대에서(예를 들면, 시스템의 전원을 올릴 때) 인코더(18)에 의해 프리앰블 시퀀스가 주어진다. 예시적인 실시예에서, 이 프리앰블 시퀀스는 대역내 문자와 쉽게 구별될 수 있는 선택된 대역외 문자가 수 회 반복되는 것을 포함한다. 다시, 고-전이 모드 동작 동안에, 각 대역외 문자는 4회보다 적은 논리적 전이를 포함하게 되고, 저-전이 모드 동작 동안에는 각 대역외 문자가 4회 이상의 논리적 전이를 포함하게 될 것이다. 이후 논의될 바와 같이, 각 모드에서의 동작 동안에는 디코더 동기화 모듈(114)내에서 신속한 프레임 경계 식별을 보장하기 위한 수단으로서 프리앰블 주기 동안 인코더(18)에 의해 특별히 선택된 대역외 문자의 수회 반복이 주어진다. 프리앰블 주기가 종결되면, 모듈(114)은 비트선 RX[9:0] 중 10-비트 전송 문자의 제 1 비트 T[0]에 대응하는 것을 "알게" 되고, 프레임 경계 포인터(118)를 통해 디코더에 알리게 될 것이다.
프리앰블 주기 동안 전송을 위해 대역외 문자의 적절한 서브세트를 선택함으로써, 종래 동기화 스킴에서 요구되는 것과 비교해 동기화를 이루는데 요구되는 최악의 시간이 감소될 수 있다. 특히, 저-전이 모드 동작 동안에, 다음의 대역외 문자가 "동기화 문자"로서 사용된다.
1100101010
1101001010
1101010010
1101010100
고-전이 모드 동작 동안에는 다음의 대역외 문자가 동기화 문자로 사용된다:
1000001111
1000011111
1000111111
1001111111
1011111111
각 프리앰블 주기 동안에는 인코더(18)에 의해 같은 동기화 문자가 3회 반복된다. 여기서 설명되는 바와 같이, 인코더(14)에 의해 가장 최근에 주어지는 21비트를 처리함으로써, 동기화 모듈(114)은 선정된 프리앰블 주기 동안 전송된 동기화 문자의 3회 반복 중 적어도 한 번을 검출할 수 있다. 이는 유리하게 비교적 짧은 프리앰블 주기내에서 동기화가 이루어지는 것을 허용한다.
지금부터 도 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-비트 "윈도우(window)"내에 포함되는 서로 인접한 비트 사이에서 실행된다. 상세하게는, 이 21-비트 윈도우는 제3 래치(158)로부터의 10-비트 블록 L3[9:0], 제2 래치(154)로부터의 10-비트 블록 L2[9:0], 및 제1 래치(150)로부터의 비트 L1[9]를 포함한다. 이에 관하여, 비트 L1[9]는 제2 래치(154)로 전달되면 비트 L2[9]로 되는 비트이다. 저-전이 모드 동안의 동작예로서, 다음의 병렬 비트 시퀀스로 구성된 21-비트 윈도우(즉, L3[9:0], L2[9:0], L1[9])를 고려해 본다:
101101001010110100101
서로 인접한 비트의 각 쌍 사이에서 XNOR 연산이 실행되면, 다음의 결과가얻어진다:
00100010000010001000
도 5에 나타내진 바와 같이, XNOR 연산(단계 160)에 대한 이 20-비트의 결과는 5-비트 그룹(즉, 그룹 A, 그룹 B, 그룹 C, 및 그룹 D)으로 나뉜다. 현재의 예에서는 4개의 5-비트 그룹이 다음과 같이 정의된다:
00100010000010001000 {XNOR 연산의 결과}
00100 {그룹 A}
01000 {그룹 B}
00100 {그룹 C}
01000 {그룹 D}
상기 열거된 고-전이 모드 및 저-전이 모드에 대한 동기화 문자는 프리앰블 주기 동안 그룹 A, B, C, 및 D 사이에 특정한 관계가 생기도록 선택된다. 즉, 연속적으로 발생되는 3개의 같은 동기화 문자 - 프리앰블 주기 동안 인코더(18)에 의해 주어지는 - 가 역직렬기(34)에 의해 수신될 때, 이는 10-비트 병렬 데이터로 동기화 모듈(114)에 제공된다.
예시적인 실시예에서는 프리앰블 주기 동안 그룹 A, B, C, 및 D 사이에 다음의 두 관계(조건 I 및 조건 II)가 발생된다:
조건 I. 그룹 A, B, C, 및 D에 집합적으로 주어지는 논리 "1"의 수가 정확히 4이고, 이는 다음의 3가지 경우 중 하나에 대응한다:
논리 1의 수
경우 그룹 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"의 수는 각각 "1" 카운터 모듈(172), (174), (176), 및 (178)에 의해 결정된다. 각 그룹 A, B, C, 및 D내의 "1"의 수는 21-비트 윈도우에서의 서로 인접한 비트 사이에서 XNOR 연산 결과에 의해 결정되므로(단계 160), 각 그룹내의 "1"의 수는 그룹 A, B, C, 및 D와 연관된 21-비트 윈도우의 4개 세그먼트 각각에서 인접한 비트간 논리값의 "비-전이(non-transition)" 수를 나타낸다. 현재의 예에서는 그룹 A, B, C, 및 D 각각이 하나의 "1"을 포함한다는 것을 알 수 있다.
조건 II. 그룹 A를 구성하는 비트의 시퀀스는 그룹 C의 비트 시퀀스와 동일하고, 그룹 B를 구성하는 비트의 시퀀스는 그룹 D의 비트 시퀀스와 동일하다. 즉, 그룹 A = 그룹 C 이고, 그룹 B = 그룹 D이다.
본 발명에 따라, 조건 I 및 조건 II는 같은 동기화 문자가 제1, 제2, 및 제3 10-비트 래치(150), (154), 및 (158)내에 저장되는 경우에만 만족된다. 즉, 조건 I 및 조건 II는 모두 인코더(18)에 의해 같은 동기화 문자가 3회 반복될 때, 프리앰블 주기 동안에만 만족된다. 본 발명의 이 특성은 저-전이 모드 동작에 관하여 이후에 바로 설명된다.
상술된 바와 같이, 래치(150), (154), 및 (158)에 의해 제공된 21-비트 윈도우내의 서로 인접한 비트는 단계(160)(도 5) 동안에 XNOR 처리된다. 인코더(18)에 의해 주어지는 대역내 또는 대역외 문자는 각각 정확하게 10 비트의 길이를 갖기 때문에, 21-비트 윈도우는 첫 번째, 두 번째 및 세 번째 10-비트 문자의 일부 또는 그 모두를 포함하게 된다. 21-비트 윈도우가 이들 첫 번째, 두 번째 및 세 번째 10-비트 문자로부터 비트를 포함할 수 있는 다양한 방법은 아래에 설명된다:
비트의 수
첫 번째 문자 두 번째 문자 세 번째 문자
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-비트 윈도우에 기여하는 첫 번째, 두 번째 및 세 번째 10-비트 문자 중에서 DATA 및 SYNC 문자의 가능한 조합이 설명된다:
조합 첫 번째 문자 두 번째 문자 세 번째 문자
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-비트 윈도우는 첫 번째 SYNC 문자의 2 비트, 두 번째 DATA 문자의 10 비트, 및 세 번째 DATA 문자의 9 비트로 구성될 수 있다(즉, 조합 C).
저-전이 모드 동작 동안, 모든 대역내(예를 들면, DATA) 문자는 대역내 문자 중 10개의 인접한 비트 사이의 논리값에서 최대 3회의 논리적 전이, 또는 동일하게 4회 이상의 "비-전이"를 포함한다. 따라서, 저-전이 모드 동작 동안에, 두 번째 문자가 DATA 문자이면, 이는 4회 이상의 논리적 비-전이를 포함하게 된다. 조건 I은 3개의 동일한 SYNC 문자가 주어질 때 전체 21-비트 윈도우내에서 논리적 비-전이의 수가 정확히 4회인 것으로 나타내므로, 조건 I은 4회 이상의 논리적 비-전이를 포함하므로 두 번째 문자가 DATA 문자일 때는 만족되지 않는다. 그래서, 조건 I이 만족되어야 하면, 21-비트 윈도우는 조합 C, D, 및 E에 의해 지정된 문자 세트로 구성될 수 없다(즉, 두 번째 문자는 DATA 문자이다).
본 발명에 따라, 상기의 동기화 문자는 임의의 프리앰블 주기 동안 전송된첫 번째 및 두 번째 문자가 동일하면 조건 II가 만족되도록 선택된다. 그래서, 조합 B 및 F는 조건 II를 만족시키지 않는다. 조합 A(즉, 3개의 연속적인 SYNC 문자)만이 조건 I 및 II를 모두 만족시킨다.
도 5를 참조하여, 조건 I 및 조건 II가 모두 만족되면(단계 190), 그룹 A 및 B내에서 선택된 서로 인접한 비트는 이후 설명될 바와 같이 21-비트 윈도우내에서 검출된 SYNC 문자의 프레임 경계를 식별하기 위해 AND 처리된다(단계 196). 21-비트 윈도우내에서 각 SYNC 문자는 역직렬기(34)에 의해 래치(150)로 로드되므로, 각 SYNC 문자의 프레임 경계는 이러한 SYNC 문자 각각의 제1 비트가 기억된 역직렬기(34)로부터 비트선 R[9:0] 중 하나로 식별된다. 일단 이러한 식별이 이루어지면, 디코더에는 프레임 경계 포인터(118)를 통해 이 비트선 R[9:0]의 신원이 알려진다.
단계(196)의 AND 연산은 L3[0]와 L2[9] 사이 뿐만 아니라, 제3 래치(158)내의 모든 서로 인접한 비트(즉, L3[9:0]) 사이에서도 실행된다. 단계(190)의 결과에서 조건 I 및 조건 II가 모두 만족되는 것으로 나타날 때, 단계(196)의 AND 연산 결과는 프레임 경계 포인터(118)의 값을 나타내는 하나의 논리 1만을 제공한다. 현재의 예에서는 L3[9:0] := {1011010010}이고 L2[9] := [1]이므로, 단계(196)의 AND 연산 결과는 {0010000000}이다. 즉, 21-비트 윈도우에서 세 번째 위치는 동기화 문자의 제1 비트에 대응한다. 따라서, 현재의 예에서, 프레임 경계 포인터(118)는 역직렬기(34)에 의해 주어지는 각 10-비트 문자의 제1 비트를 운송할 때 10개 비트선 RX[9:0] 중 세 번째 것(RX[7])을 식별하도록 설정된다.
예시적인 실시예에서, 프리앰블 시퀀스(즉, 같은 대역외 SYNC 문자의 3회 반복)는 직렬 링크(30)에 걸친 데이터 전송이 경과되는 동안 뿐만 아니라 시스템 전원이 켜지면 전달된다. 이는 연장된 주기 동안 데이터 전송이 없는 경우에도 인코더(18)와 디코더(44) 사이에 타이밍 동기화가 유지되는 것을 허용한다.
도 6은 고-전이 모드 동작 동안 디코더 동기화 모듈(114)에 의해 실행되는 동기화 처리를 도시한 흐름도이다. 도 6에 의해 나타내지는 바와 같이, 고-전이 모드 동기화 처리는 저-전이 모드 동작 동안에 실행되는 것(도 5)과 상당히 유사하다. 특히, 고-전이 모드 동기화 처리는 다음과 같은 점에서 저-전이 모드 동기화 처리와 다르다:
(i) 단계(160')에서, 래치(150'), (154'), 및 (158')내의 서로 인접한 비트에는 배타적 NOR(XNOR) 연산보다는 배타적 OR(XOR) 연산이 실행된다.
(ii) 단계(196')에서, AND 연산은 각 비트와 그의 바로 우측에 있는 비트의 보수 사이에서 실행된다(예를 들면, L3[9] AND L3[8], L3[8] AND L3[7], L3[7] AND L3[6] 등). 이 방법으로, 논리 "1"을 만드는 AND 게이트는 프레임 경계에 대응하는 "하강 모서리(falling edge)" 시퀀스 또는 "10"를 식별한다.
V.인코더 및 디코더 동기화 모듈의 하드웨어 실행
이 절에서는 저-전이 모드 동작 동안에 사용되기 적합한 디코더 동기화 모듈(114) 및 인코더(18)의 특정한 하드웨어 실행에 대한 설명이 제공된다. 디코더(44)를 랜덤 논리로 실현한 하드웨어의 예에 대한 설명은 상기 절 III에서 제공되었다.
도 7a 및 도 7ba 내지 도 7bc는 인코더(18)의 예시적인 구현을 도시한다. 부호화될 래치(70)로부터의 8-비트 병렬 데이터 D[7:0]는 전이 카운터(74)의 7개 배타적 OR 게이트(240)로 제공되는 것으로 나타난다. 배타적 OR 게이트(240)의 출력은 한 세트의 전가산기(full-adder)(242), (244), (246), 및 (248)에 제공된다. 전가산기(248)의 캐리 출력(C)은 COUNT선(78)에 대응하여, 데이터 D[7:0]내의 비트간에 4회보다 적은 논리적 전이가 존재하는지의 여부를 나타낸다. 대역외 명령이 래치(70)로부터 수신되고 있을 때, NOR 게이트(260)에 제공되는 명령선(TX_CMD)은 COUNT선(78)이 CABI 논리(90)내의 D[7:0] 중 7 비트의 반전을 일으키는 것을 방지하도록 상승된다. 그렇지 않은 경우, 래치로부터의 데이터 D[7:0]가 본 발명에 따라 부호화되고 있을 때, NOR 게이트(260)의 출력(78')은 COUNT선(78)의 논리값을 따른다.
도 7a에 의해 나타내지는 바와 같이, 바람직한 실시예에서는 CABI 논리(90)가 다수의 NOR 게이트(270)로 구성된다. 각 NOR 게이트(270)는 COUNT선(78')에 연결된 하나의 입력과, D[7:0]의 짝수 비트 중 하나에 연결된 또 다른 입력을 포함한다. CABI 논리(90)의 출력은 중간 래치(94)에 제공되어, 디스패리티 점검기(96)의 입력에 연결된다(도 7ba 내지 도 7bc).
도 7ba 내지 도 7bc를 참조하여, 디스패리티 점검기(96)는 조건부로 비트 반전된 바이트 E[7:0]내에서 "11"의 발생을 결정하기 위한 4개의 AND 게이트(290)-(293)를 포함한다. 유사하게, E[7:0]내에서 "00"의 발생을 결정하기 위해서는 4개의 NOR 게이트(296)-(299)가 제공된다. E[7:0]내의 "01" 및 "01" 패턴은 0 및 1의 수가 같다는 점에서 이미 "DC-균형화"된 것이므로, 도 7ba 내지 도 7bc의 회로에 의해 실행되는 DC-균형화 처리 동안에는 이러한 패턴을 검출할 필요가 없다. AND 게이트(290)-(293)에 의해 검출되는 "11"의 발생을 카운트하기 위해서 제1 전가산기(302)와 제1 반가산기(306)가 배치된다. 유사한 방법으로, NOR 게이트(296)-(299)에 의해 검출되는 "00"의 발생을 카운트하기 위해서 제2 전가산기(308)와 제2 반가산기(312)가 제공된다. 제1 쌍의 전가산기(316) 및 (318)는 "11" 및 "00"의 발생을 카운트한 것의 차이를 결정한다.
DC-균형화 모듈(98)은 3개 입력의 NOR 게이트(330), 제1 배타적 OR 게이트(332), 래치(336), 및 제2 배타적 OR 게이트(338)를 포함한다. "11" 및 "00"의 발생이 전가산기(316) 및 (318)에 의해 동일한 것으로 결정될 때, E[8]의 보수는 T[9]의 값을 결정하므로, 바이트 E[7:0]가 CTBI 논리(100)에 의해 반전되는지의 여부를 결정한다. "00" 및 "11"의 발생을 카운트한 것이 동일하지 않을 때, T[9]의 값은 XOR 게이트(332)의 출력을 포함한다. 이에 관하여, XOR 게이트(332)로의 제1 입력(342)은 전가산기(316) 및 (318) 쌍에 의해 주어지는 최상위 비트(MSB)를 포함하므로, 현재의 디스패리티(Dcur)의 MSB와 동일하다(즉, E[7:0]에서 "1" 및 "0"의 차이). XOR 게이트(332)로의 제2 입력(344)은 누적 디스패리티(Dcum)의 MSB에 대응한다. 도 7ba 내지 도 7bc에 의해 나타내지는 바와 같이, 누적 디스패리티를 저장하는 래치(99)는 3개의 레지스터(350)-(352)를 포함한다. 누적 디스패리티는 전가산기(356) 및 (358)의 후방 체인(backward chain), 3개 배타적 OR 게이트(360)-(362)의 세트, 및 대응하는 3개 전가산기(365)-(367)의 세트로 구성되는 디스패리티 업데이터(disparity updater)(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형 플립플롭의 어레이(array)를 사용해 실현될 수 있다. L3[9:0], L2[9:0], 및 L1[9]에 대응하는 21-비트 윈도우내에 포함되는 인접한 비트를 XNOR 처리하기 위해서 다수의 XNOR 게이터(402)가 제공된다. XNOR 게이트(402)의 그룹 A, 그룹 B, 그룹 C, 및 그룹 D 출력은 각각 "1" 카운터(172), (174), (176), 및 (178)에 제공된다. 도 8a에 의해 나타내지는 바와 같이, 조건 I의 존재는 4개의 NAND 게이트(410)-(413)로 구성된 랜덤 논리(190a)에 의해 검출된다.
도 8b를 참조하여, 조건 II의 존재는 참고 번호(190b)로 식별되는 랜덤 논리의 배열에 의해 식별된다. 랜덤 논리(190b)는 10개 XOR 게이트의 세트(422)를 포함하고, 그의 출력은 도시된 바와 같이 NAND 게이트(426) 및 (428)에 제공된다. NAND 게이트(426) 및 (428)의 출력은 NOR 게이트(430)의 입력에 연결되고, 그의 출력은 조건 II가 만족될 때 논리 "1"로 구동된다. 마지막으로, AND 게이트(440) 출력(Sync_Sig)의 논리 상태는 조건 I 및 조건 II가 만족되었나 여부(즉, 동기화가 이루어졌나 여부)를 나타낸다. 그런 경우, L3[9:0] 및 L2[9] 내에서의 인접한 비트는 10개 AND 게이트의 세트(450)에 의해 AND 처리된다(도 5의 단계 196). 출력 PTR[9:0]은 비트선 RX[9:0] 중 전송된 각 10-비트 문자 T[9:0]의 제1 비트 T[0]에 대응하는 것을 디코더(44)에 알리는 프레임 경계 포인터(118)를 포함한다.
VI.대체 실시예
< 1-비트 카운트를 근거로 하는 전이 최적화 >
도 9a 및 도 9b는 전이-최적화 신호 스트림을 생성하기 위한 다른 방법의 부호화 기술을 도시한 흐름도이다.
도 9a의 흐름도를 참조하여, 전이 최소화 단계(501a) 동안에 8-비트 프레임 D[0:7](503a)와 같은 데이터의 입력 프레임은 아래에 기술되는 바와 같이 처리된다. 상세하게는, 단계(510a)에서는 프레임(503a)내에 "1"로 설정된 비트의 수가 카운트된다. 카운트값은 흐름도에서 "S"로 표시된다. 단계(515a)에서, 카운트는 프레임 크기의 반을 나타내는 선정된 임계값에 비교된다. 그래서, 8-비트 프레임에 대해서는 카운트가 4값에 비교된다.
카운트값이 4를 넘으면, 단계(520a)에서는 전이 최소화 프레임 E[0:8](504a)을 형성하기 위해 8-비트 프레임 D[0:7]에 걸쳐 NRZI0부호화 동작을 실행하고 '0' 비트를 부가함으로서 9-비트의 전이 최소화 프레임이 형성된다. NRZI0부호화 동작은 프레임(504a)의 하위 비트 E[0]를 프레임(503a)의 상위 비트 D[0] 값에 설정하는 것의 일부분으로 이루어진다. 부가하여, 프레임(504a)내의 각 비트 E[1] 내지E[7]은 프레임(503a)내의 D[1] 내지 D[7]에서 대응하는 비트와 다음의 상위 비트를 사용해 XNOR 연산을 실행하고, 마지막으로 이진수 '0'을 부가함으로서 얻어진다. 즉, 부호화되지 않은 8-비트 프레임으로부터 NRZI0부호화된 9-비트 프레임을 만드는 것이다:
E[0] <= D[0]
E[1] <= D[0] XNOR D[1]
E[2] <= D[1] XNOR D[2]
...
E[6] <= D[5] XNOR D[6]
E[7] <= D[6] XNOR D[7]
E[8] <= '0'
단계(510a)에서 유도된 카운트값이 4보다 작으면, 단계(521)에서는 전이 최소화 프레임 E[0:8](504a)을 형성하기 위해 8-비트 프레임 D[0:7](503a)에 걸쳐 NRZI1부호화 동작을 실행하고 '1' 비트를 부가함으로써 9-비트의 전이 최소화 프레임이 형성된다. NRZI1부호화 동작은 프레임(504a)의 하위 비트 E[0]를 프레임(503a)의 상위 비트 D[0] 값에 설정하는 것으로 이루어진다. 더욱이, 각 비트 E[1] 내지 E[7]은 프레임(503a)내의 대응하는 비트 D[1] 내지 D[7]과 다음의 상위 비트를 사용해 XOR 연산을 실행하고, 마지막으로 이진수 '1'을 부가함으로써 결정된 값으로 설정된다. 즉, 부호화되지 않은 8-비트 프레임으로부터 NRZI1부호화된 9-비트 프레임을 만드는 것이다:
E[0] <= D[0]
E[1] <= D[0] XOR D[1]
E[2] <= D[1] XOR D[2]
...
E[6] <= D[5] XOR D[6]
E[7] <= D[6] XOR D[7]
E[8] <= '1'
단계(510a)에서 유도된 카운트값이 4이면, 단계(517a)에서, D[0]의 값은 전이 최소화된 프레임(504a)이 NRZI0부호화 또는 NRZI1부호화에 의해 형성되는지의 여부를 선택하도록 사용된다. D[0]가 '1'이면, 전이 최소화된 프레임(504a)은 단계(520a)에서 NRZI0부호화 프레임(503a)에 의해 형성된다. D[0]가 '0'이면, 전이 최소화된 프레임(504a)은 단계(521)에서 NRZI1부호화 프레임(503a)에 의해 형성된다.
도 9b는 전이 최대화된 신호 스트림을 제작하는 부호화 처리의 흐름도이다. 도 9b의 전이 최대화 처리(501b)는 NRZI0부호화와 NRZI1부호화 블록의 위치가 바뀐 것을 제외하면 도 9a의 전이 최소화 처리와 유사하다.
단계(510b)에서는 "1"로 설정된 8-비트 프레임 D[0:7]내의 비트수를 카운트한다. 카운트값은 도 9b의 흐름도에서 "S"로 표시된다. 단계(515b)에서, 카운트는 프레임 크기의 반을 나타내는 선정된 임계값에 비교된다. 그래서, 8-비트 프레임에 대해서는 카운트가 4값에 비교된다.
카운트값이 4를 넘으면, 단계(521b)에서는 8-비트 프레임 D[0:7](503a)에 걸쳐 NRZI1부호화 동작을 실행하고 '1' 비트를 부가함으로서 9-비트 전이 최대화된 프레임이 생성되고, 그에 의해 전이 최대화된 프레임 E[0:8](504b)을 형성하게 된다. NRZI1부호화는 프레임(504b)의 하위 비트 E[0]를 프레임(503b)의 상위 D[0] 비트 값으로 설정하고, 각 비트 E[1] 내지 E[7]을 프레임(501b)내의 대응하는 비트 D[0:7]와 다음 상위 비트를 XOR 처리함으로서 결정된 값으로 설정하는 것으로 구성된다. 이어서, 결과의 비트 세트에 이진수 '1'이 부가된다.
단계(510b)에서 유도된 카운트값이 4보다 작으면, 단계(520b)에서는 전이 최대화 프레임 E[0:8](504b)을 형성하기 위해 8-비트 프레임 D[0:7]에 걸쳐 NRZI0부호화 동작을 실행하고 '0' 비트를 부가함으로서 9-비트의 전이 최대화 프레임이 형성된다. NRZI0부호화는 프레임(504b)의 하위 비트 E[0]를 프레임(503b)의 상위 D[0] 비트 값으로 설정하고, 각 비트 E[1] 내지 E[7]을 프레임(501b)내의 대응하는 비트 D[0:7]와 다음 상위 비트를 XOR 처리함으로서 결정된 값으로 설정하는 것으로 구성된다. 이어서, 결과의 비트 세트에 이진수 '0'이 부가된다.
단계(510b)에서 유도된 카운트값이 4이면, 단계(517b)는 D[0]의 값에 따라 전이 최대화 프레임(504b)이 NRZI0부호화 또는 NRZI1부호화에 의해 형성되었는지의 여부를 선택한다. D[0]이 '1'이면, 전이 최대화 프레임(504b)은 단계(521b)에서 NRZI1부호화 프레임(503b)에 의해 형성된다. D[0]이 '0'이면, 전이 최대화 프레임(504b)은 단계(520b)에서 NRZI0부호화 프레임(503b)에 의해 형성된다.
도 10은 도 9a 및 도 9b의 전이-최적화 동작을 실행하는 논리 회로(530)를 도시한다. 도 10에 도시된 바와 같이, 8-비트 프레임(503)은 카운터(532)에 주어진다. 카운터(532)는 프레임(503)에서 '1' 비트의 수(N1)와 '0' 비트의 수(N0)(도시되지 않은)를 계산하고, 이 카운트값을 모드 선택기(534)에 제공한다. 모드 선택기(534)는 2개의 논리값을 계산한다. 제1 논리값은 전이 최대화(501b) 중 NRZI0부호화 단계(520b)의 선택에서 사용되는 조건(515b), (516b), 및 (517b)를 나타내고, 다음의 논리값으로 표시된다:
[(N1.GE.5) + ((N1.EQ.N0.EQ.4) x (D[0].EQ.0))]
제2 논리값은 전이 최대화(501a) 중 NRZI0부호화 단계(520a)의 선택에서 사용되는 조건(515a), (516a), 및 (517a)를 나타내고, 다음의 논리값으로 표시된다:
[(N0.GE.5) + ((N1.EQ.N0.EQ.4) x (D[0].EQ.1))]
모드 선택 신호(536)("MAX"라고 함)는 선택적으로 전이 최소화된 최적화를 선택하기 위한 '0'으로 설정되거나, 전이 최대화된 최적화를 선택하기 위한 '1'로 설정된다. 모드 선택기(534)는 2개의 계산된 논리값 중 하나를 선택하는데 MAX를 사용하고, 선택된 신호는 NRZI0및 NRZI1부호화간을 선택하는 제어신호(535)("CONT"라고 함)가 된다.
8-비트 프레임(503)은 XNOR 게이트(538-1) 내지 (538-7)의 어레이와, XOR 게이트(539-1) 내지 (539-7)의 어레이에 대한 입력으로 주어진다. XNOR 게이트(538-1) 내지 (538-7)는 프레임(503)에 걸쳐 NRZI0부호화를 실행하고, 선택기(542)로의 입력으로서, '1' 비트(541)와 함께, 결과의 신호를 제공한다. XOR 게이트(539-1) 내지 (539-7)는 프레임(503)에 걸쳐 NRZI1부호화를 실행하고, 선택기(542)로의 입력으로서, '0' 비트(540)와 함께, 결과의 신호를 제공한다. 선택기(542)는 제어 신호(535)에 따라 NRZI0부호화 신호와 NRZI1부호화 신호간을 선택하고, 출력으로서 9-비트 전이-최적화 신호(504) E[0:8]를 제공한다. 이와 같이 형성된 전이-최적화 신호는 상기의 도 3 및 도 4와 연관되어 논의된 것과 같은 일반적인 방법 및 장치를 사용해 복호화될 수 있다.
< 8B/9B 부호화를 위한 프레임 동기화 스크램블러(scrambler)를 사용한 프레임 방식의 DC-균형화 >
도 11은 프레임 동기화 스크램블링을 사용해 9-비트 전이-최적화 프레임을 DC-균형화하기 위한 균형 부호화 회로(550)를 도시한다. 균형 부호화 회로(550)는 9-비트 전이-최적화된 프레임(504)을 입력으로 취하고, 9-비트 DC 균형 부호화된 프레임(505)을 출력으로 제공한다. 비록 도 11은 9-비트 전이-최적화 프레임의 DC-균형화를 도시하는 실시예를 나타내지만, 설명되는 본 발명은 인입하는 프레임의 길이가 9 비트이거나 인입하는 프레임이 전이-최적화될 것을 요구하지 않는다.
균형 부호화 회로(550)는 다수의 1-비트 쉬프트 레지스터(554-1) 내지 (554-7) 및 XOR 게이트(565)를 포함하는 쉬프트 레지스터 생성기(SRG, shift register generator)(552)를 사용한다. 쉬프트 레지스터(554-1) 내지 (554-7)는 SYNC 신호(560)의 제어하에서 임의로 0이 아닌 선정된 값으로 초기화된다. SRG는 쉬프트 레지스터(554-1) 내지 (554-7)의 시퀀스가 스크램블링에 사용되는 의사 랜덤 이진 시퀀스(pseudo-random binary sequence, PRBS)를 구성하는 방식으로 구성된다. 동작시, PRBS의 선정된 2개 비트는 XOR 처리되고, 그 결과의 값은 불균형된 9-비트 프레임을 DC-균형화하는데 사용된다.
PRBS는 일련의 값을 통해 반복적으로 순환되도록 배치된다. 순환 주기는 SRG에서 사용되는 쉬프트 레지스터의 수에 의존한다. 그 주기는 2N-1이고, 여기서 N은 사용되는 쉬프트 레지스터의 수이다. 도 11에 도시된 예시적인 실시예에서는 7개의 쉬프트 레지스터가 사용되므로, 주기는 27-1 = 127이 된다.
SRG에 클럭이 주어질 때, 각 쉬프트 레지스터(상위 쉬프트 레지스터(554-7)를 제외하고)의 내용은 다음의 상위 쉬프트 레지스터로 로드된다. 즉, 하위 쉬프트 레지스터(554-1)의 내용이 다음의 상위 쉬프트 레지스터(554-2)로 로드되고, 쉬프트 레지스터(554-2)의 내용이 쉬프트 레지스터(554-3)로 부가되는 등, 쉬프트 레지스터(554-6)의 내용이 쉬프트 레지스터(554-7)로 부가될 때까지 계속된다. 이러한 쉬프트와 동시에, 2개의 최상위 쉬프트 레지스터(554-6) 및 (554-7)의 내용은 XOR 게이터(556)에 입력으로서 주어진다. 결과의 값은 XOR 게이트(565)에서 하위쉬프트 레지스터(554-1)로 전달된다. 부가하여, 상위 쉬프트 레지스터(554-7)의 내용은 제어 신호(562)로 주어져, 균형 부호화된 프레임(505)을 만들도록 균형 부호화되지 않은 프레임(504)의 선택적인 반전을 제어하는데 사용된다.
균형 부호화되지 않은 프레임(504)은 인버터(564)로 주어지고, 결과의 9-비트 반전 프레임은 선택기(566)에 입력으로서 주어진다. 부가하여, 균형 부호화되지 않은 프레임(504)은 반전되지 않고 선택기(568)에 제2 입력으로서 주어진다. 선택기(568)는 SRG(552)로부터의 제어 신호(562)의 제어하에서 동작된다. 제어 신호(562)가 '1'이면, 반전된 프레임이 선택되어 균형 부호화된 프레임(505)으로 주어지고, 그렇지 않은 경우에는 반전되지 않은 프레임이 선택되어 균형 부호화된 프레임(505)으로 주어진다.
도 12는 프레임 동기화 스크램블링을 사용하여 9-비트 DC 균형 부호화된 프레임을 복호화하기 위한 균형-복호화 회로(570)를 도시한다. 균형-복호화 회로(570)는 9-비트 균형 부호화된 프레임(505)을 입력으로 취하고, 균형 복호화된 9-비트 전송 최적화 프레임(506)('T')을 출력으로 제공한다.
균형-복호화 회로(570)는 쉬프트 레지스터 생성기(572)를 사용한다. SRG(572)는 SRG(552)와 동일한 순서에 있고, 같은 초기 상태로 설정된다. 즉, SRG(572)는 SRG(552)와 같은 수의 쉬프트 레지스터를 갖고, SYNC 신호(580)에 응답해 똑같은 임의의 0이 아닌 선정된 값으로 초기화된다. SRG(572)는 SRG(552)와 동일하게 동작되고, 동작시 동일한 PRBS를 발생시킨다. 따라서, 수신된 각 DC-균형된 프레임(505)에 대해, 제어 신호(582)의 값은 확실하게 균형 부호화되지 않은 프레임을 선택적으로 반전시키는데 사용되는 제어 신호(562)의 값과 동일하다. 따라서, 제어 신호(582)는 그 값이 확실하게 균형 부호화 회로(550)에 제공된 균형 부호화되지 않은 프레임(504)과 똑같은 균형 복호화 프레임(506)을 만들기 위해 균형 부호화된 프레임(505)을 선택적으로 반전시키는데 사용된다.
균형 부호화 프레임(505)은 인버터(584)로 주어지고, 그 결과의 9-비트 반전 프레임은 한 입력으로서 선택기(586)에 제공된다. 부가하여, 균형 부호화 프레임(505)은 반전되지 않고 제2 입력으로서 선택기(586)에 주어진다. 선택기(586)는 SRG(572)로부터의 제어 신호(582)의 제어하에서 동작된다. 제어 신호(582)가 '1'이면, 반전된 프레임이 선택되어 균형 복호화 프레임(506)으로 주어지고, 그렇지 않은 경우에는 반전되지 않은 프레임이 선택되어 균형 복호화 프레임(505)으로 주어진다.
< 8B/9B 부호화를 위한 자체-동기화 스크램블러를 사용한 프레임 방식의 DC-균형화 >
도 13은 자체-동기화 스크램블링(SSS, self-synchronous scrambling)을 사용해 9-비트 전이-최적화된 프레임을 DC-균형화하기 위한 균형 부호화 회로(600)를 도시한다. 균형 부호화 회로(600)는 9-비트의 균형화되지 않은 전이-최적화 프레임(504)을 입력으로 취하고, 9-비트 DC 균형 부호화된 프레임(505)을 출력으로 제공한다. 비록 도 13은 9-비트 전이-최적화 프레임의 DC-균형화를 도시하는 실시예를 나타내지만, 설명되는 본 발명은 인입하는 프레임의 길이가 9 비트이거나 인입하는 프레임이 전이-최적화될 것을 요구하지 않는다.
균형 부호화 회로(600)는 다수의 1-비트 쉬프트 레지스터(604-1) 내지 (604-7) 및 XOR 게이트(605)로 구성된 쉬프트 레지스터 생성기(SRG)(602)를 포함한다. 쉬프트 레지스터(604-1) 내지 (604-7)는 임의의 선정된 값으로 초기화된다. SRG는 쉬프트 레지스터(604-1) 내지 (604-7)의 시퀀스가 스크램블링에 사용되는 의사 랜덤 이진 시퀀스(PRBS)를 구성하는 방식으로 조직된다. 동작시, PRBS의 선정된 비트(예를 들면, 비트 604-7)는 SRG에 입력으로 공급되는 신호와 XOR 처리되고, 그 결과의 값은 균형화되지 않은 9-비트 프레임을 DC-균형화하는데 사용된다.
동작하는 동안 SRG에 클럭이 주어질 때, 각 쉬프트 레지스터(상위 쉬프트 레지스터(604-7)를 제외하고)의 내용은 다음의 상위 쉬프트 레지스터로 부하된다. 즉, 하위 쉬프트 레지스터(604-1)의 내용이 다음의 상위 쉬프트 레지스터(604-2)로 부하되고, 쉬프트 레지스터(604-2)의 내용이 쉬프트 레지스터(604-3)로 부가되는 등, 쉬프트 레지스터(604-6)의 내용이 쉬프트 레지스터(604-7)로 부가될 때까지 계속된다. 이러한 쉬프트와 동시에, 최상위 쉬프트 레지스터(604-7)의 내용과 입력 신호(611)는 XOR 게이터(605)에 입력으로서 주어진다. 결과의 값은 XOR 게이트(605)에서 하위 쉬프트 레지스터(604-1)로 전달된다. 부가하여, XOR 게이트(605)로부터의 값은 출력 신호(612)로 주어지고, 그 신호는 제어 신호(626)를 유도하는데 사용된다. 제어 신호(626)는 균형 부호화된 프레임(505)을 제공하도록 균형 부호화되지 않은 프레임(504)의 선택적인 반전을 제어한다.
균형 부호화되지 않은 프레임(504)은 균형 부호화되지 않은 프레임(504)에서 1-비트의 수를 카운트하고 그 카운트값(N)을 논리 회로(624)에 전달하도록 배치된카운터(622)로 주어진다. N이 5 이상이면, 논리 회로(624)는 신호 Nu를 논리 '1'로 설정하고, 그렇지 않은 경우에는 Nu를 논리 '0'으로 설정한다. 도 13에 의해 나타내지는 바와 같이, 신호(Nu)는 SRG(602)에 입력 신호(611)로 주어지고, 또한 XOR 게이트(620)에 제공된다.
XOR 게이트(620)는 논리 회로(624)로부터 전달된 값과 SRG 출력 신호(612)에 배타적 논리합 연산을 실행하여 제어 신호(626)를 제공한다. 제어 신호(626)는 균형 부호화 프레임(505)을 만들기 위해 균형 부호화되지 않은 프레임(504)의 선택적 반전을 제어하는데 사용된다.
균형 부호화되지 않은 프레임(504)은 부가적으로 인버터(614)에 주어진다. 결과의 9-비트 반전 프레임은 선택기(618)에 한 입력으로 주어진다. 부가하여, 균형 부호화되지 않은 프레임(504)은 반전되지 않고 선택기(618)에 제2 입력으로 주어진다. 선택기(618)는 XOR 게이트(620)로부터의 제어 신호(626)의 제어하에서 동작된다. 제어 신호(626)가 '1'이면, 반전된 프레임이 선택되어 균형 부호화된 프레임(505)으로 주어지고, 그렇지 않은 경우에는 반전되지 않은 프레임이 선택되어 균형 부호화된 프레임(505)으로 주어진다.
도 14는 자체-동기화 스크램블링을 사용해 9-비트 DC 균형 부호화된 프레임을 복호화하기 위한 균형-복호화 회로(630)를 도시한다. 균형-복호화 회로(630)는 9-비트 균형 부호화된 프레임(505)을 입력으로 취하고, 'T'라고 하는 균형 복호화된 9-비트 전송 최적화 프레임(506)을 출력으로 제공한다.
균형-복호화 회로(630)는 쉬프트 레지스터 생성기(632)를 사용한다.SRG(632)는 SRG(602)와 동일한 순서에 있고, 같은 초기 상태로 설정된다. 즉, SRG(632)는 SRG(602)와 같은 수의 쉬프트 레지스터를 갖고, 똑같은 임의의 선정된 값으로 초기화된다. 동작시, PRBS의 선정된 비트(예를 들면, 비트 634-7)는 SRG에 입력으로 공급되는 신호와 XOR 처리되고, 그 결과의 값은 균형화되지 않은 9-비트 프레임을 DC-균형화하는데 사용된다.
동작하는 동안 SRG에 클럭이 주어질 때, 각 쉬프트 레지스터(상위 쉬프트 레지스터(634-7)를 제외하고)의 내용은 다음의 상위 쉬프트 레지스터로 부하된다. 즉, 하위 쉬프트 레지스터(634-1)의 내용이 다음의 상위 쉬프트 레지스터(634-2)로 부하되고, 쉬프트 레지스터(634-2)의 내용이 쉬프트 레지스터(634-3)로 부가되는 등, 쉬프트 레지스터(634-6)의 내용이 쉬프트 레지스터(634-7)로 부가될 때까지 계속된다. 이러한 쉬프트와 동시에, 입력 신호(641)는 하위 쉬프트 레지스터(634-1)에 전달된다. 부가하여, 최상위 쉬프트 레지스터(634-7)의 내용과 입력 신호(641)는 XOR 게이트(635)에 입력으로서 주어진다. 그 결과의 값은 출력 신호(642)로 주어지고, 그 신호는 제어 신호(636)를 유도하는데 사용된다.
따라서, 수신된 각 DC-균형된 프레임(505)에 대해, 제어 신호(636)의 값은 확실하게 균형 부호화되지 않은 프레임(504)을 선택적으로 반전시키는데 사용되었던 제어 신호(626)의 값과 동일하다. 따라서, 제어 신호(636)는 그 값이 확실하게 균형 부호화 회로(600)에 제공된 균형 부호화되지 않은 프레임(504)과 똑같은 균형 복호화 프레임(506)을 만들기 위해 균형 부호화된 프레임(505)을 선택적으로 반전시키는데 사용된다.
균형 부호화 프레임(505)은 인버터(644)로 주어지고, 그 결과의 9-비트 반전 프레임은 한 입력으로서 선택기(646)에 제공된다. 부가하여, 균형 부호화 프레임(505)은 반전되지 않고 제2 입력으로서 선택기(646)에 주어진다. 선택기(646)는 SRG 출력 신호(642) 및 논리 회로(654) 출력과의 XOR 연산을 실행함으로서 유도되는 제어 신호(636)의 제어하에서 동작된다. 제어 신호(636)가 '1'이면, 반전된 프레임이 선택되어 균형 복호화 프레임(506)으로 주어지고, 그렇지 않은 경우에는 반전되지 않은 프레임이 선택되어 균형 복호화 프레임(505)으로 주어진다.
바람직한 실시예의 상기 설명은 종래 기술에 숙련된 자가 본 발명을 이용할 수 있게 제공되었다. 종래 기술에 숙련된 자에게는 이 실시예에 대한 다양한 수정이 용이하게 명백해지고, 여기서 정의된 포괄적인 원리는 발명적인 수완을 사용하지 않고도 다른 실시예에 적용될 수 있다. 그래서, 본 발명은 여기서 도시된 실시예에 제한되는 것으로 의도되지 않고, 여기서 설명된 새로운 특성 및 원리와 일치되는 최대한의 범위로 허용되어야 한다.
본 발명은 데이터 바이트의 입력 시퀀스로부터 전이 제어되고 DC 균형된 시퀀스(DC-balanced sequence)를 제공하는 방법 및 장치를 제공한다. 각 데이터 바이트내의 비트는 선택적으로 보수화된(complemented) 데이터 블록을 제공하기 위해 각 데이터 바이트내의 논리 '1' 신호의 수에 따라 선택적으로 보수화된다. 이어서, 앞서 문자로 부호화되고 선택적으로 보수화된 데이터 블록 중 일부내에 포함된다른 종류의 논리값 사이에서 누적 디스패리티(disparity)가 결정된다. 부가하여, 부호화되고 있고 선택적으로 보수화된 데이터 블록들중의 현재의 블록과 연관된 후보 문자내의 현재의 디스패리티가 또한 결정된다. 현재의 디스패리티가 누적 디스패리티의 제1 극성과 반대 극성이면, 그 후보 문자는 선택적으로 보수화된 데이터 블록들중의 현재의 블록으로 지정된다. 다른 방법으로, 현재의 디스패리티가 제1 극성이면, 그 후보 문자의 보수가 선택적으로 보수화된 데이터 블록들중의 현재의 블록으로 지정된다.
본 발명에서는 9-비트 데이터 블록들의 입력 시퀀스가 DC 균형된 문자들의 시퀀스를 제공하도록 균형된다. 의사 랜덤(pseudo-random) 이진 시퀀스 중 두 비트는 의사 랜덤 이진 시퀀스에서 또 다른 비트를 반전시키는지의 여부를 결정하고, 그에 의해 의사 랜덤 이진 시퀀스를 순환시키도록 논리적으로 조합된다. 의사 랜덤 이진 시퀀스 중 한 비트는 인입하는 9-비트 데이터 블록에서 모든 비트를 선택적으로 반전시키고, 그에 의해 시간에 걸쳐 DC 균형되려는 출력 스트림에서 9-비트 데이터 블록을 제공하는 기준으로 사용된다.

Claims (40)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 데이터 블록들의 입력 시퀀스로부터 DC-균형된 문자들의 시퀀스를 만드는 방법에 있어서,
    데이터 블록들을 수신하는 단계;
    선택적으로 교체되는 데이터 블록들을 만들기 위한 단계로서, 비선호(nonpreferred) 데이터 블록 세트에 속하는 수신 데이터 블록들을, 선호(preferred) 데이터 블록 세트에 속하는 상응하는 데이터 블록들로 교체하고, 상기 선호 세트에 속하는 수신 데이터 블록은 교체하지 않는 단계; 및
    이전에 선택된 후보 문자들 시퀀스의 DC-균형화를 근거로 하여, 현재 선택적으로 교체되는 데이터 블록과 연관되는 복수의 후보 문자들 중의 하나를 선택하는 단계
    를 포함하는 방법.
  18. 제18항에 있어서,
    각 데이터 블록은 복수의 비트들을 포함하고,
    상기 선호 및 상기 비선호 데이터 블록 세트들은 고-전이 세트 및 저-전이 세트를 포함하고, 상기 고-전이 세트는 적어도 미리 선정된 횟수의 논리적 전이를 가진 데이터 블록들을 포함하고, 상기 저-전이 세트는 상기 미리 선정된 횟수의 논리적 전이보다 적은 전이를 가진 데이터 블록을 포함하는 것을 특징으로 하는 방법.
  19. 제19항에 있어서,
    상기 선호 세트는 상기 저-전이 세트를 포함하고, 상기 비선호 세트는 상기 고-전이 세트를 포함하는 것을 특징으로 하는 방법.
  20. 제19항에 있어서,
    상기 선호 세트는 상기 고-전이 세트를 포함하고 상기 비선호 세트는 상기 저-전이 세트를 포함하는 것을 특징으로 하는 방법.
  21. 제19항에 있어서,
    각 데이터블록은 일정한 수의 N 비트들을 포함하고, 상기 미리 선정된 횟수는 N/2인 것을 특징으로 하는 방법.
  22. 제18항에 있어서,
    상기 비선호 세트의 상기 데이터 블록에 대응하는 상기 선호 세트의 상기 데이터 블록은, 상기 비선호 데이터 블록의 하나 걸러서 모든 비트(every other bit)가 반전되는 상기 비선호 데이터 블록과 동등(equivalent)한 것을 특징으로 하는 방법.
  23. 제18항에 있어서,
    상기 후보 문자들 중의 하나를 선택하는 상기 방법은
    상기 이전에 선택된 문자들 내에 포함된 다른 형태의 논리값들의 수로 누적 디스패리티를 결정하는 단계; 및
    상기 누적 디스패리티가 0에 가까와지도록 상기 복수의 후보 문자들로부터 상기 후보 문자를 선택하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  24. 제18항에 있어서,
    상기 현재 선택적으로 교체된 데이터 블록과 연관된 상기 복수의 후보 문자들은 제1 및 제2의 후보 문자들을 포함하고, 상기 제1 후보 문자는 상기 데이터 블록을 포함하고 상기 제2 후보 문자는 상기 데이터 블록의 보수(complement)를 포함하는 것을 특징으로 하는 방법.
  25. 제18항에 있어서,
    각 선택된 후보 문자의 선정된 부분은 상기 선택된 후보 문자와 연관된 상기 수신 데이터 블록이 교체되었는지를 지시하는 것을 특징으로 하는 방법.
  26. 제18항에 있어서,
    각 선택된 후보 문자의 선정된 부분은 상기 복수의 후보 문자들 중의 어느 것이 선택되었는지를 지시하는 것을 특징으로 하는 방법.
  27. 제18항에 있어서,
    상기 방법은 특수 문자들을 나타내는 상기 선호 세트에 있지 않는 특정 데이터 블록들을 지정하는 단계를 더 포함하는 방법.
  28. 데이터 블록들의 입력 시퀀스로부터 DC-균형된 문자들의 시퀀스를 만드는 방법에 있어서, 각 데이터 블록은 일정한 수의 N 비트들을 포함하고, 각 문자는 제1 비트, 제2 비트, 및 DC-균형된 데이터 블록을 포함하는 방법으로서,
    고-전이 데이터 블록 세트 및 저-전이 데이터 블록 세트 중에서 하나를 선호 세트로 식별하는 단계로서, 상기 고-전이 세트는 적어도 N/2 논리적 전이들을 가진 데이터 블록들을 포함하고, 상기 저-전이 세트는 N/2보다 적은 논리적 전이들을 가진 데이터 블록들을 포함하는 단계;
    데이터 블록을 수신하는 단계;
    선택적으로 보수화된 데이터 블록을 만들기 위한 단계로서, 만약 상기 수신된 데이터 블록이 상기 선호 세트내에 있지 않다면 상기 수신된 데이타 블록내의 하나 걸러서 모든 비트(every other bit)들을 보수화하고, 만약 상기 수신된 데이터 블록이 상기 선호 세트내에 있다면 상기 비트들을 보수화하지 않는 단계;
    상기 수신된 데이터 블록의 하나 걸러서 모든 비트가 보수화되었는지를 지시하는 제1 비트를 생성하는 단계;
    이전에 수신된 데이터 블록들에 대하여 생성된 문자들내에 포함된 다른 형태의 논리값들의 수로 누적 디스패리티를 결정하는 단계;
    상기 선택적으로 보수화된 데이터 블록에 대하여 현재의 디스패리티를 결정하는 단계;
    DC-균형된 데이터 블록을 만들기 위해, 만약 상기 현재 디스패리티와 상기 누적 디스패리티가 반대 극성이면 상기 선택적으로 보수화된 데이터 블록을 보수화하고, 만약 상기 현재 디스패리티와 상기 누적 디스패리티가 동일 극성이면 상기 데이터 블록을 보수화하지 않는 단계; 및
    상기 선택적으로 보수화된 데이터 블록이 보수화되었는지를 지시하는 제2 비트를 생성하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  29. 선호 데이터 블록 세트와 일치하는 데이터 블록들의 입력 시퀀스로부터 DC-균형된 문자들의 시퀀스를 만드는 데이터 부호화 장치에 있어서, 각 데이터 블록은 복수의 비트들을 포함하고, 각 문자는 DC-균형된 데이터 블록을 포함하고, 상기 선호 세트는 고-전이 데이터 블록 세트 및 저-전이 데이터 블록 세트로부터 선택되고, 상기 고-전이 세트는 적어도 미리 선정된 횟수의 논리적 전이를 가진 데이터 블록들을 포함하고, 상기 저-전이 세트는 상기 미리 선정된 횟수의 논리적 전이보다 적은 전이를 가진 데이터 블록들을 포함하는 장치에 있어서,
    선택적으로 보수화된 데이터 블록을 만들기 위해, 만약 상기 수신된 데이터 블록이 상기 선호 세트내에 있지 않다면 상기 수신된 데이타 블록내의 하나 걸러서 모든 비트들을 보수화하고, 만약 상기 수신된 데이터 블록이 상기 선호 세트내에 있다면 상기 비트들을 보수화하지 않는 회로로서, 데이터 블록을 수신하기에 적합한 조건부 교대 비트 반전(CABI) 회로; 및
    DC-균형된 데이터 블록을 만들기 위해, 만약 상기 선택적으로 보수화된 데이터 블록내에 포함된 다른 형태의 논리값들의 수인 현재 디스패리티와 이전에 수신된 데이터 블록들에 대하여 생성된 문자들내에 포함된 다른 형태의 논리값들의 수인 누적 디스패리티가 반대 극성이면 상기 선택적으로 보수화된 데이터 블록을 보수화하고, 만약 상기 현재 디스패리티와 상기 누적 디스패리티가 동일 극성이면 상기 데이터 블록을 보수화하지 않는 회로로서, 상기 CABI 회로로부터 상기 선택적으로 보수화된 데이터 블록을 수신하도록 결합된 조건부 바이트 반전(CTBI) 회로
    를 포함하는 것을 특징으로 하는 데이터 부호화 장치.
  30. 제30항에 있어서,
    상기 CABI 회로는 상기 수신된 데이터 블록의 하나 걸러서 모든 비트가 보수화되었는지를 지시하는 비트를 더 생성하는 데이터 부호화 장치.
  31. 제30항에 있어서,
    상기 CTBI 회로는 상기 선택적으로 보수화된 데이터 블록이 보수화되었는지를 지시하는 비트를 더 생성하는 데이터 부호화 장치.
  32. 제30항에 있어서,
    상기 CABI 회로는 상기 수신된 데이터 블록의 하나 걸러서 모든 비트가 보수화되었는지를 지시하는 제1 비트를 더 생성하고,
    상기 CTBI 회로는 상기 선택적으로 보수화된 데이터 블록이 보수화되었는지를 지시하는 제2 비트를 더 생성하고,
    상기 부호화 장치는 상기 CABI 회로로부터 상기 제1 비트를, 상기 CTBI 회로로부터 상기 제2 비트 및 상기 DC-균형된 데이터 블록을 각각 수신하도록 결합된 출력 래치
    를 더 포함하는 장치.
  33. 제30항에 있어서,
    상기 DC-균형된 데이터 블록을 직렬 데이터 스트림으로 변환하기 위한 회로로서, 상기 CTBI 회로로부터 상기 DC-균형된 데이터 블록을 수신하도록 결합된 직렬기(serializer)를 더 포함하는 데이터 부호화 장치.
  34. 데이터 스트림으로부터 데이터 블록 입력 시퀀스를 복원하기 위한 2진 데이터 복호화 장치로서, 상기 데이터 스트림은 DC-균형된 문자 시퀀스를 포함하고, 각 문자는 DC-균형된 데이터 블록을 포함하고, 각 DC-균형된 데이터 블록은 선택적으로 보수화된 데이터 블록 또는 그 보수 중 어느 하나를 포함하고, 각 선택적으로 보수화된 데이터 블록은 데이터 블록 또는 하나 걸러서 모든 비트가 보수화된 데이터 블록 중 어느 하나를 포함하는 장치에 있어서,
    상기 데이터 스트림을 문자들로 분리하기 위한 것으로, 상기 데이터 스트림을 수신하기에 적합한 디코더 스위치(decoder switch); 및
    각 문자를 상기 문자에 대응하는 데이터 블록으로 변환하기 위한 것으로, 상기 디코더 스위치로부터 상기 문자들을 수신하도록 결합된 교대 비트 반전(ABI) 디코더
    를 포함하는 이진 데이터 복호화 장치.
  35. 제35항에 있어서,
    상기 수신된 데이터 스트림에 기초하여, 상기 데이터 스트림내에서 문자의 위치를 지시하는 프레임 경계 포인터를 결정하기 위한 것으로, 상기 데이터 스트림을 수신하고 상기 프레임 경계 포인터를 상기 디코더 스위치로 전송하기에 적합한 동기화 묘듈을 더 포함하는 복호화 장치.
  36. 제36항에 있어서,
    상기 동기화 모듈은
    2개 이상의 문자에 그 길이가 대응하는 상기 데이터 스트림의 부분을 저장하기 위한 것으로, 상기 데이터 스트림을 수신하기에 적합한 복수의 래치들; 및
    상기 프레임 경계 포인터를 만들기 위하여 상기 저장된 데이터 스트림을 결합하기 위한 것으로, 상기 래치들로부터 상기 저장된 데이터 스트림을 수신하도록 결합된 결합 로직
    을 더 포함하는 복호화 장치.
  37. 제35항에 있어서,
    각 문자는 제1 및 제2 비트를 포함하고, 각 제1 비트는 선택적으로 보수화된 각각의 데이터 블록이 상기 데이터 블록 또는 하나 걸러서 모든 비트가 보수화된 상기 데이터 블록을 포함하는지를 지시하고, 각 제2 비트는 각각의 DC-균형된 데이터 블록이 상기 선택적으로 보수화된 데이터 블록 또는 그의 보수를 포함하는지를 지시하고,
    상기 ABI 디코더는 상기 문자에 대응하는 상기 데이터 블록을 만들기 위해 상기 제1 비트, 상기 제2 비트, 및 상기 DC-균형된 데이터 블록을 결합하기 위한 결합 로직
    을 더 포함하는 복호화 장치.
  38. 제35항에 있어서,
    상기 데이터 스트림을 직렬 형태로 수신하기에 적합하고, 상기 데이터 스트림을 상기 디코더 스위치로 병렬로 전송하도록 결합된 직렬기를 더 포함하는 복호화 장치.
  39. 데이터 블록들을 전송하기 위한 고속 디지털 전송 시스템에 있어서,
    상기 수신된 데이터 블록들로부터 DC-균형된 문자들의 시퀀스를 만들기 위한 것으로, 상기 데이터 블록들을 수신하기에 적합한 DC-균형된 인코더로서, 래치, 가산기, 및 결합 로직으로 구성되는 DC-균형된 인코더 - 상기 DC-균형된 인코더는, 특정 수신 데이터 블록내의 전이 횟수가 미리 선정된 전이 세트내에 있지 않는 경우 상기 특정 수신 데이터 블록의 하나 걸러서 모든 비트를 반전시키고, 상기 특정 수신 데이터 블록내의 전이 횟수가 미리 선정된 전이 세트내에 있는 경우 상기 특정 수신 데이터 블록의 하나 걸러서 모든 비트를 반전시키지 아니함 - ;
    상기 문자들의 시퀀스를 직렬 데이터 스트림으로 변환하고, 상기 직렬 데이터 스트림을 통신 채널을 통하여 전송하기 위한 것으로, 상기 DC-균형된 인코더로부터 상기 문자들의 시퀀스를 수신하도록 결합된 직렬기; 및
    상기 수신된 직렬 데이터 스트림으로부터 상기 데이터 블록들을 복원하기 위하여, 상기 통신 채널을 통하여 상기 직렬 데이터 스트림을 수신하기에 적합한 디코더로서, 래치, 카운터, 결합 로직으로 구성되어 있는 디코더
    를 포함하는 전송 시스템.
  40. 데이터 블록들을 전송하기 위한 고속 디지털 전송 시스템에 있어서,
    상기 데이터 블록들을 데이터 문자들로 부호화하고 제어 신호들을 제어 문자들로 부호화 하기 위한 것으로, 상기 데이터 블록들을 수신하기에 적합한 인코더로서, 상기 데이터 문자들의 각각은 제1 범위내의 논리 전이 횟수를 가지고, 상기 제어 문자들의 각각은 제2 범위내의 논리 전이 횟수를 가진 인코더 - 상기 인코더는, 특정 데이터 문자내의 데이터 전이 횟수가 제1 범위내에 있지 않은 경우 상기 특정 수신 데이터 블록의 하나 걸러서 모든 비트를 반전시키고, 특정 제어 문자내의 데이터 전이 횟수가 제2 범위내에 있지 않은 경우 상기 특정 제어 문자의 하나 걸러서 모든 비트를 반전시킴 - ;
    상기 데이터 문자들 및 상기 제어 문자들을 직렬 데이터 스트림으로 변환하고, 상기 직렬 데이터 스트림을 통신 채널을 통하여 전송하기 위한 것으로, 상기 인코더로부터 상기 데이터 문자들 및 상기 제어 문자들을 수신하도록 결합된 직렬기; 및
    상기 수신된 직렬 데이터 스트림으로부터 상기 데이터 블록들 및 제어 신호들을 복원하기 위한 것으로, 상기 통신 채널을 통하여 상기 직렬 데이터 스트림을 수신하기에 적합한 디코더로서, 대응하는 제어 문자의 논리 전이 횟수를 기초로 하여 제어 신호들을 식별하는 디코더
    를 포함하는 전송 시스템.
KR1020017008451A 1996-03-27 1997-03-25 전이 제어되는 균형 부호화 스킴 KR100358672B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/622,810 US5825824A (en) 1995-10-05 1996-03-27 DC-balanced and transition-controlled encoding method and apparatus
US08/622,810 1996-03-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1019980707667A Division KR100337468B1 (ko) 1996-03-27 1997-03-25 전이제어되는균형부호화스킴

Publications (1)

Publication Number Publication Date
KR100358672B1 true KR100358672B1 (ko) 2002-10-31

Family

ID=24495600

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020017008452A KR100337466B1 (ko) 1996-03-27 1997-03-25 전이 제어되는 균형 부호화 스킴
KR1020017008451A KR100358672B1 (ko) 1996-03-27 1997-03-25 전이 제어되는 균형 부호화 스킴
KR1019980707667A KR100337468B1 (ko) 1996-03-27 1997-03-25 전이제어되는균형부호화스킴

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020017008452A KR100337466B1 (ko) 1996-03-27 1997-03-25 전이 제어되는 균형 부호화 스킴

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1019980707667A KR100337468B1 (ko) 1996-03-27 1997-03-25 전이제어되는균형부호화스킴

Country Status (8)

Country Link
US (2) US5825824A (ko)
EP (1) EP0890244B1 (ko)
JP (1) JP3542809B2 (ko)
KR (3) KR100337466B1 (ko)
AU (1) AU2598397A (ko)
CA (1) CA2249979C (ko)
DE (1) DE69729081T2 (ko)
WO (1) WO1997036408A2 (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998023060A1 (fr) * 1996-11-22 1998-05-28 Sony Corporation Procede et dispositif de transmission des donnees
US5999109A (en) * 1997-06-09 1999-12-07 3Com Corporation Frame-based spectral shaping method and apparatus
US6459331B1 (en) * 1997-09-02 2002-10-01 Kabushiki Kaisha Toshiba Noise suppression circuit, ASIC, navigation apparatus communication circuit, and communication apparatus having the same
US6012160A (en) * 1997-10-03 2000-01-04 Ericsson Inc. Method for protecting important data bits using less important data bits
US6343101B1 (en) * 1998-01-16 2002-01-29 Ess Technology, Inc. Frame-based sign inversion method and system for spectral shaping for pulse-coded-modulation modems
US6282181B1 (en) * 1998-04-24 2001-08-28 Ericsson Inc Pseudorandom number sequence generation in radiocommunication systems
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
WO2000025493A1 (en) * 1998-10-27 2000-05-04 Intel Corporation Method and apparatus for reducing emi emissions
US6556628B1 (en) * 1999-04-29 2003-04-29 The University Of North Carolina At Chapel Hill Methods and systems for transmitting and receiving differential signals over a plurality of conductors
US6870930B1 (en) * 1999-05-28 2005-03-22 Silicon Image, Inc. Methods and systems for TMDS encryption
US6188337B1 (en) * 1999-06-01 2001-02-13 Lucent Technologies Inc. Low disparity coding method for digital data
AT412933B (de) * 1999-08-17 2005-08-25 Austria Mikrosysteme Int Verfahren zur einseitig gerichteten und störungssicheren übertragung von digitalen daten über funkwellen sowie einrichtung zur durchführung des verfahrens
KR100322474B1 (ko) * 1999-11-29 2002-02-07 오길록 다중화 방식을 이용한 고속신호 선로 부호화회로
KR100435215B1 (ko) * 1999-12-30 2004-06-09 삼성전자주식회사 버스 인코딩/디코딩 장치 및 그 방법
US7369635B2 (en) * 2000-01-21 2008-05-06 Medtronic Minimed, Inc. Rapid discrimination preambles and methods for using the same
US6564105B2 (en) 2000-01-21 2003-05-13 Medtronic Minimed, Inc. Method and apparatus for communicating between an ambulatory medical device and a control device via telemetry using randomized data
KR100708078B1 (ko) * 2000-05-04 2007-04-16 삼성전자주식회사 디지털 비디오 데이터 전송방법, 수신방법, 전송장치,그리고 수신장치
JP2001339308A (ja) * 2000-05-24 2001-12-07 Thine Electronics Inc 離散的信号の符号化装置および復号化装置
JP2001339719A (ja) * 2000-05-24 2001-12-07 Thine Electronics Inc ディジタル画像伝送用符号化器
US20020191603A1 (en) 2000-11-22 2002-12-19 Yeshik Shin Method and system for dynamic segmentation of communications packets
US7158593B2 (en) * 2001-03-16 2007-01-02 Silicon Image, Inc. Combining a clock signal and a data signal
WO2003009208A1 (en) * 2001-07-20 2003-01-30 Medical Research Group Method and apparatus for communicating between an ambulatory medical device and a control device via telemetry using randomized data
JP4034172B2 (ja) * 2002-11-20 2008-01-16 Necエレクトロニクス株式会社 エンコーダ、デコーダおよびデータ転送装置
JP2006520578A (ja) * 2003-03-03 2006-09-07 松下電器産業株式会社 広帯域通信システムにおいて伝送される信号の離散電力スペクトル密度成分を低減する方法および装置
KR100472896B1 (ko) * 2003-04-07 2005-03-10 주식회사 티엘아이 한조 3개 전송선의 차동신호 전송장치 및 이를 이용한차동신호전송방법
KR100943278B1 (ko) * 2003-06-09 2010-02-23 삼성전자주식회사 액정 표시 장치와 이의 구동 장치 및 방법
US7321628B2 (en) * 2003-09-30 2008-01-22 Infineon Technologies Ag Data transmission system with reduced power consumption
US7263406B2 (en) * 2003-10-02 2007-08-28 Medtronic, Inc. Medical device programmer with selective disablement of display during telemetry
TWI295431B (en) * 2003-12-26 2008-04-01 Mediatek Inc Data transformation apparatus and method for transforming data block
US7386027B2 (en) * 2004-03-31 2008-06-10 Matsushita Electric Industrial Co., Ltd. Methods and apparatus for generating and processing wideband signals having reduced discrete power spectral density components
JP3822632B2 (ja) * 2004-04-16 2006-09-20 ザインエレクトロニクス株式会社 送信回路、受信回路及びクロック抽出回路並びにデータ伝送方法及びデータ伝送システム
US7792152B1 (en) 2004-06-08 2010-09-07 Owlink Technology, Inc. Scheme for transmitting video and audio data of variable formats over a serial link of a fixed data rate
TWI274250B (en) * 2004-12-17 2007-02-21 Univ Nat Chiao Tung Bit error rate tester and pseudo random bit sequences generator thereof
US7292161B2 (en) * 2005-05-31 2007-11-06 International Business Machines Corporation NB/MB coding apparatus and method using both disparity independent and disparity dependent encoded vectors
WO2007059645A1 (en) * 2005-11-22 2007-05-31 Intel Corporation Signal transition feature based coding for serial link
KR100885869B1 (ko) * 2006-04-04 2009-02-27 삼성전자주식회사 프리엠블 코드를 사용하여 노이즈를 감소시키는 단일형병렬데이터 인터페이스 방법, 기록매체 및 반도체 장치
US8201071B2 (en) * 2006-11-15 2012-06-12 Qimonda Ag Information transmission and reception
US7933354B2 (en) * 2006-11-22 2011-04-26 Semtech Corporation Encoding and decoding architecture and method for pipelining encoded data or pipelining with a look-ahead strategy
CN101681250A (zh) * 2006-12-21 2010-03-24 Vns业务有限责任公司 计算机中的交替指令和/或数据位的反转
US7405679B1 (en) 2007-01-30 2008-07-29 International Business Machines Corporation Techniques for 9B10B and 7B8B coding and decoding
US8589770B2 (en) 2007-02-26 2013-11-19 Ati Technologies Ulc Robust control/delineation in serial streams
US7477169B2 (en) * 2007-02-26 2009-01-13 Ati Technologies Ulc Robust control/delineation in serial streams
US9116764B2 (en) * 2007-04-17 2015-08-25 Conversant Intellectual Property Management Inc. Balanced pseudo-random binary sequence generator
KR100898305B1 (ko) * 2007-10-08 2009-05-19 주식회사 티엘아이 3라인 차동 신호법을 위한 클락 임베디드 차동 데이터수신장치
US8159376B2 (en) * 2007-12-07 2012-04-17 Rambus Inc. Encoding and decoding techniques for bandwidth-efficient communication
KR20100064442A (ko) * 2008-12-05 2010-06-15 한국전자통신연구원 버스 신호의 인코딩, 디코딩 방법 및 장치
KR101079603B1 (ko) 2009-08-11 2011-11-03 주식회사 티엘아이 3레벨 전압을 이용하는 차동 데이터 송수신 장치 및 차동 데이터 송수신 방법
US8995562B2 (en) * 2010-02-15 2015-03-31 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus providing protection and DC balance in a communication system
US9544092B2 (en) * 2013-03-13 2017-01-10 Altera Corporation Apparatus for improved communication and associated methods
US10078612B2 (en) * 2014-07-28 2018-09-18 Intel Corporation Mode selective balanced encoded interconnect

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 (32)

* 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
US4544962A (en) * 1981-07-06 1985-10-01 Matsushita Electric Industrial Co., Ltd. Method and apparatus for processing binary data
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 ソニー株式会社 チヤンネル符号化方法
US4717914A (en) * 1985-12-18 1988-01-05 Advanced Micro Devices, Inc. Methods for receiving and converting high speed serial data pattern input signals to parallel data pattern outputs
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
US4975916A (en) * 1988-07-26 1990-12-04 International Business Machines Corporation Character snychronization
US5022051A (en) * 1988-11-02 1991-06-04 Hewlett-Packard Company DC-free line code for arbitrary data transmission
US5438621A (en) * 1988-11-02 1995-08-01 Hewlett-Packard Company DC-free line code and bit and frame synchronization 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
US5625644A (en) * 1991-12-20 1997-04-29 Myers; David J. DC balanced 4B/8B binary block code for digital data communications
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
JP2780612B2 (ja) * 1993-10-13 1998-07-30 富士通株式会社 磁気記録再生装置

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

Also Published As

Publication number Publication date
EP0890244B1 (en) 2004-05-12
DE69729081T2 (de) 2005-04-21
KR100337468B1 (ko) 2002-07-18
US6026124A (en) 2000-02-15
WO1997036408A2 (en) 1997-10-02
CA2249979A1 (en) 1997-10-02
US5825824A (en) 1998-10-20
KR100337466B1 (ko) 2002-05-30
KR20000005042A (ko) 2000-01-25
JP2000507755A (ja) 2000-06-20
CA2249979C (en) 2003-03-11
EP0890244A1 (en) 1999-01-13
WO1997036408A3 (en) 1998-02-12
AU2598397A (en) 1997-10-17
DE69729081D1 (de) 2004-06-17
JP3542809B2 (ja) 2004-07-14

Similar Documents

Publication Publication Date Title
KR100358672B1 (ko) 전이 제어되는 균형 부호화 스킴
KR100318031B1 (ko) 변환 제어 디지탈 신호 전송 시스템
US5974464A (en) System for high speed serial video signal transmission using DC-balanced coding
EP0610204B1 (en) Line code using block inversion for high speed links
US8065584B2 (en) Transmitting data words
EP0977411B1 (en) Block code with limited disparity
US20160205416A1 (en) Radio frequency interference reduction in multimedia interfaces
EP0039150A3 (en) Methods of and apparatuses for processing binary data
US5629983A (en) Parallel transmission through plurality of optical fibers
US6903780B2 (en) Method of expanding high-speed serial video data providing compatibility with a class of DVI receivers
KR101038112B1 (ko) 디스플레이 포트의 디지털 엔코더 및 디지털 디코더
US6912008B2 (en) Method of adding data to a data communication link while retaining backward compatibility
CA2411385C (en) Transition controlled balanced encoding scheme
KR20000027882A (ko) 디지탈 데이터의 고속 송수신 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
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: 20120926

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140925

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee