KR0141918B1 - 고속 직렬 데이타 링크 - Google Patents

고속 직렬 데이타 링크

Info

Publication number
KR0141918B1
KR0141918B1 KR1019890014549A KR890014549A KR0141918B1 KR 0141918 B1 KR0141918 B1 KR 0141918B1 KR 1019890014549 A KR1019890014549 A KR 1019890014549A KR 890014549 A KR890014549 A KR 890014549A KR 0141918 B1 KR0141918 B1 KR 0141918B1
Authority
KR
South Korea
Prior art keywords
data
zeros
ones
word
data word
Prior art date
Application number
KR1019890014549A
Other languages
English (en)
Other versions
KR900007203A (ko
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 엔. 라이스 머레트
Publication of KR900007203A publication Critical patent/KR900007203A/ko
Application granted granted Critical
Publication of KR0141918B1 publication Critical patent/KR0141918B1/ko

Links

Images

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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • 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

Abstract

내용 없음

Description

고속 직렬 데이타 링크
제1도는 본 발명을 사용하는 통신 시스템의 블럭도.
제2도는 본 발명에 따라 송신하기 위해 데이타를 엔코드시키는 엔코더의 블럭도.
제3도는 본 발명에 따라 수신된 데이타를 디코드시키는 디코더의 블럭도.
제4도는 본 발명에 유용한 엔코딩 체계를 도시한 플로우 챠트.
제5도는 본 발명에 사용하기에 적합한 디코딩 체계를 도시한 플로우 챠트.
제6도는 직렬 통신 시스템의 선택적인 실시예의 블럭도.
*도면의 주요부분에 대한 부호의 설명
10:엔코더 디바이스12:광섬유 전송기
14:광섬유 케이블16:광섬유 수신기
18:클럭 회복 회로20:디코더 회로
22:클럭 발생 회로24:래치
26:22비트 전이 레지스터27:0/1 토글
28:출력 버퍼30:0카운터
32:1카운터34:5비트 카운터
36:리셋트 토글38:싱크 검출 및 0/1 삭제 회로
40:5비트 카운터42:AND게이트
44:디코드 회로46:출력 준비 및 레지스터 타이머 회로
48:D플립 플롭50:패리티 토글 회로
52:17비트 전이 레지스터54:17비트 래치 레지스터
본 발명은 일반적으로 통신 시스템(communication system)에 관한 것으로, 보다 상세히 말하면 매우 빠른 속도로 직렬 데이타(serial data)를 전송시키기 위한 방법 및 디바이스에 관한 것이다.
여러 부분의 컴퓨터 시스템, 또는 시스템들 사이에 디지탈 신호를 고속으로 전송하는 것은 공통적인 요구사항이다. 대역폭을 증가시키기 위해, 병렬 데이타 전송은 어느 곳에서든지 사용이 가능하다. 그러나, 가격, 무게, 간섭(잡음) 및 전기적 부하 상태들 때문에, 병렬 전송은 다수의 시스템에 대해 적당하지 않다. 이러한 통신 문제점을 간단히 하기 위해, 데이타는 직렬로 전송될 수 있다. 이것은 실제 통신 링크(link)의 경우에 보다 적은 하드웨어를 요구한다. 그러나, 병렬 데이타는 전송을 위해 직렬 형태로 변환되어야 한다. 직렬 데이타의 전송을 위한 비트 율(bit rate)은 병렬 형태로 데이타를 전송하는데 요구된 것보다 매우 높아야 된다.
이 높은 비트 율 요구조건은 종래에 고속 통신 시스템에서 직렬 데이타 링크의 유용성을 제한하였다. 그러나, 빠른 비트 율은 현재 기술에 유용하게 되고, 전송매체로써 광섬유(fiber optic)의 사용은 미래에 매우 높은 비트 율의 전망을 갖게 한다. 현재 광섬유 전송 및 수신 하드웨어는 매우 복잡하고, 각각의 기능을 위해 다수의 집적 회로들을 필요로 한다. 이러한 수행은 저가의 시스템, 또는 항공기 또는 인공위성 탑재시와 같이 무게 및 공간의 제약을 받는 소정의 시스템내에서 실용적이지 못하다.
광섬유 통신을 사용하는 직렬 데이타 링크가 높은 비트 율이 데이타 통신을 사용하고, 적은 수의 비교적 값싼 집적 회로들로 실행가능하도록 하는 것이 바람직하다.
그러므로, 본 발명에 따라, 고속 직렬 데이타를 통신하기 위한 방법은 0 및 1의 삽입 두가지에 의한 데이타 엔코딩 기능과 0 및 1의 삭제를 사용하여 수신된 직렬 데이타를 디코딩하는 기능을 포함한다. 엔코딩 및 디코딩 기능들은 각각의 기능을 위해 단일 집적 회로에서 용이하게 수행될 수 있고, 매우 높은 비트 율에서 데이타를 전송하는데 유용하다. 이하, 본 발명을 첨부한 도면을 참조하여 상세히 설명하겠다.
제1도는 2개의 병렬 디바이스(parallell devices)들 사이에 데이타를 전송하는데 적합한 직렬 통신 링크(serial communication link)를 도시한 것이다. 다음의 설명은 병렬 디바이스들의 데이타 워드 폭(data word width)이 16비트라고 가정하나, 다음의 설명에 관련하여 본 기술에 숙련된 기술자들에게 명백하게 되는 것과 같이 다른 워드 폭들도 사용될 수 있다.
16비트 데이타 워드는 라인 D0-D15를 통해 엔코더 디바이스(10)에 제공된다. 또한 클럭 신호(CLOCK signal)도 엔코더 디바이스(10)에 제공된다. 엔코더 디바이스(10)은 데이타를 병렬 형태에서 직렬 형태로 변환시키고, 이 데이타를 광섬유 전송기(12)에 제공한다. 상기 데이타는 광섬유 케이블(14)를 따라 광섬유 수신기(16)에 전송되고, 광섬유 수신기(16)은 클럭 회복회로(18)에 디지탈 데이타를 제공한다. 클럭 회복 회로(18)은 자체 데이타로부터 클럭을 추출하고, 디코더회로(20)에 클럭 및 데이타 신호 두가지를 제공한다. 디코더 회로(20)은 직렬 데이타를 병렬 데이타로 변환시켜 데이타 라인 D0-D15를 통해 데이타를 출력시킨다.
엔코더 회로(10)이 변환용 병렬 데이타 워드를 수용하도록 준비되었을때, 엔코더 회로(10)은 입력 준비(INPUT READY) 라인을 통해 이의 상태의 신호를 보낸다. 병렬 시스템(도시 안됨)이 준비되었을때, 즉, 입력 데이타 라인 D0-D15상의 데이타가 유효할때, 데이타 준비 라인의 신호가 보내진다. 이때, 엔코더 회로(10)은 병렬 대 직렬 변환 및 전송을 개시한다.
유사한 방법으로, 디코더 회로(20)이 완전히 데이타 워드를 수신했을때 디코더 회로(20)은 출력 준비(OUTPUT READY) 라인상에 신호를 보낸다. 또한, 잡음에 대한 통신 민감성을 감소시키기 위해, 전송시 패리티 오차(parity error)가 검출될때 패리티 신호는 디코드 회로로부터 출력된다.
상술한 시스템에 사용된 광섬유 링크는 비교적 엄격한 대역폭의 제약을 갖는다. 이 대역폭의 제약들은 전송되는 데이타에 소정의 요구조건을 부여하고, 이러한 요구조건들은 후술한 바와 같이 전송이전에 데이타를 엔코딩함으로써 충족된다. 또한, 시스템은 비동기적으로 양호하게 작동되고, 싱크 펄스(sync pulse)가 각각의 데이타 워드의 전송이전에 직렬 링크를 따라 전송되는 것을 요구한다.
종래의 기술에서 공지된 바와 같이, 광섬유 데이타 링크들에 관련된 증폭기들은 대역 통과 필터로써 도시될 수 있고, 대역 통과 필터는 고속 제한 뿐만 아니라 저속 제한도 갖고 있다. 전형적인 증폭기들은 데이타 전송(0-1, 또는 1-0)사이의 최대 시간이 양호하게 정해진 범위내에서 하강하도록 작동되어야 한다. 이것은 다음 식으로 표현될 수 있는데,
TminTTmax
여기서, Tmin은 데이타 전송들 사이의 최소 시간 길이이고, Tmax는 전송들 사이의 최대 시간이다.
대부분의 광섬유 시스템들은 Tmax/Tmin 비율이 6:1인 충분히 큰 대역폭을 조작하는데 유용하다. Tmin은 0 및 1을 교호하는 열(string)이 전송될때 발생한다. Tmax는 연속 0 또는 1의 긴 열이 전송될때 고려된다. 바람직한 6:1 비율의 경우에, 5개 이하의 연속 0비트가 전송되고, 5개 이하의 연속 1비트가 전송되도록, 전송된 데이타는 엔코드되어야 한다. 또한 특정 싱크 신호가 통신되는 것이 필요한데 이것은 소정의 가능한 데이타 순차의 전송과 동일하게 될 수 없다. 후술한 데이타 엔코딩 체계는 이 제한들을 충족시킨다.
양호한 데이타 엔코딩 체계는 긴 데이타 열들을 분리하도록 1 및 0의 삽입을 사용한다. 그러므로, 5개의 연속 0가 전송될때마다, Tmax 제한이 충족되도록 엔코더는 데이타 비트로써 사용되지 않는 1을 삽입한다. 이와 마찬가지로, 5개 이하의 연속 1이 허용된다.
양호한 싱크 신호는 11110으로 구성된다. 이것은 다른 길이들이 이 기술에 사용될 수 있음에도 불구하고, 16비트 워드 폭에 대한 싱크 신호의 경우에 매우 효율적인 길이이다. 32비트의 같은 긴 워드 폭들은 동일한 싱크 신호, 또는 준비된 특정한 상황에 의해 요구될 수 있는 다른 신호들을 사용할 수 있다.
신호 11110은 싱크 신호로써 디코더 회로(20)에 의해 항상 판독된다. 그러므로 전송된 데이타가 결코 3개 이상의 연속 1을 포함하지 않는 것이 필요하다. 이것은 3개의 연속 데이타 1이 전송되었을때, 다음 데이타 비트의 값에 관계없이 0을 삽입하는, 디코더 회로(10)의 일부분으로써 포함된 간단한 카운터에 의해 달성된다. 디코더 회로(20)이 0이 수반된 3개의 연속 1을 수신할때, 끝자리 0이 항상 엔코딩만 하기 위한 것이고 끝자리 0을 디스카드(discards)하는 것은 공지되어 있다. 4번째 1이 수반된 3개의 연속 1은 항상 싱크 신호가 존재할때 신호를 보낸다.
유사한 방법으로, 엔코더 회로(10)은 데이타 비트인, 전송된 연속 0, 싱크 신호의 끝자리 0, 또는 3개의 연속 1 이후에 삽입된 0의 갯수를 카운트한다. 소정 형태의 5개의 연속 0이 전송된 후에, 1은 항상 데이타 스트림(data stream)내로 삽입된다. 상술한 바와 같이, 이 1은 단지 엔코딩하기 위한 것이고, 결코 데이타 비트가 아니다. 5개의 연속 0를 수신한 후에, 디코더 회로(20)은 항상 다음에 수신되는 1을 디스카드한다.
여분의 1 및 0의 삽입이 전송된 데이타 워드의 길이를 증가시킨다는 것을 알 수 있다. 이 오버헤드(overhead)는 정확한 데이타 전송을 보장하기 위해 지불되어야 하는 가격이다.
또한, 싱크 신호를 적절하게 인식하기 위해, 각각의 전송된 데이타 워드는 양호하게 1로 종료되어서는 안된다. 그러므로, 1이 한 워드에 대해 전송된 마지막 비트인 경우에, 여분의 0는 전송에 부가된다. 이것은 수신 종료시 디코더 회로(20)이 다음 싱크 신호를 선택하게 된다.
표 1은 상술한 체계에 따른 다수의 16비트 워드들의 엔코딩을 도시한 것이다. 0이 수반된 4개의 1로 구성되는 싱크 회로에 의해, 제1 3개의 워드들은 오버헤드의 항목내에서 가장 나쁜 경우를 도시한 것이다. 즉, 다수의 비-데이타 비트들은 전송될 수 있는 소정의 다른 16비트 워드들보다 이 3개의 워드들내에 삽입된다. 1개의 16비트 워드에 대해 27비트가 전송되어야 하기 때문에, 상술한 체계의 경우에 가장 나쁜 경우의 오버헤드는 40퍼센트이고, 싱크 신호 및 패리티 비트를 포함한다. 물론, 임의로 전송된 16비트들의 경우에 평균 오버헤드는 이 경우보다 약간 낮게 된다.
Figure kpo00001
제2도를 참조하면, 엔코더(10)에 대한 블럭도가 도시되어 있다. 사용되는 클럭 신호 CK는 클럭 발생회로(22)내에서 신호 입력 클럭(INTCLK)으로써 내부적으로 발생되거나, 클럭 신호로써 외부적으로 제공될 수 있다. 엔코더(10)을 포함하는 집적 회로의 입력 핀에 양호하게 도달되는 선택 신호(SELECT signal)는 외부 클럭이 사용되는가 또는 내부 클럭이 사용되는가 여부를 결정하기 위해 사용된다. 내부 클럭(22)는 적절한 주파수를 갖는 간단한 링 오실레이터(ring oscillator)일 수 있다. 링 오실레이터가 전형적으로 극도로 양호하게 제어되지 않음에도 불구하고, 이것은 통신이 비동기이고 수신기가 전송 데이타로부터 클럭 신호를 추출하기 때문에 문제를 제공하지 않는다. 클럭 신호 CK는 엔코더 칩(10)상의 나머지 회로를 클럭하는데 사용되고, 제6도에 관련하여 후술한 바와 같은 것을 요구하는 시스템의 경우에 출력 신호 출력클럭(CKOUT)으로써 제공된다.
입력 데이타 D-D는 래치(24)에 지지된다. 입력 준비(INPUT READY) 및 데이타 준비(DATA READY) 신호 두가지 모두가 하이(high)일 때, 래치(24)는 클릭되고, 22비트 전이 레지스터(26)에 데이타를 로드(load)시킨다. 또한, 이때 전이레지스터(26)에 로드된 것은 싱크 신호(11110) 및 데이타 워드로 부터 계산된 패리티 비트이다. 양호한 실시예에서 사용된 패리티 체계뿐만 아니라 단일 비트를 갖는 소정의 패리티 체계도 사용될 수 있다.
또한 후술한 이유로 레지스터(26)으로 전이되는 교호하는 0 및 1의 연속 열을 발생시키고 전형적으로 플립 플롭인 0/1 토글(toggle, 27)은 전이 레지스터(26)에 접속된다.
데이타가 전이 레지스터(26)에 전이되었을때, 데이타는 출력 버퍼(28)에 직렬로 전이 아웃(shift out)되고, 비트 스트립을 광섬유 전송기(12)에 통신시킨다.
0카운터(30) 및 1카운터(32)는 전이 레지스터(26)이 출력단에 접속되어 연속 0 또는 1이 얼마나 많이 전송되었는가를 각각 카운트한다. 제1 4개의 전송된 데이타는 공지된 싱크 신호이기 때문에 1카운터(32)에 의해 무시된다. 0이 계수될때마다, 1카운터(32)는 리셋트되고, 전송된 1이 계수될때마다, 0카운터(30)은 리셋트된다. 싱크 펄스의 0으로 시작하면, 0 및 1카운터(30 및 32)는 각각 전송된 0 및 1의 갯수만큼 트랙을 유지한다. 5개의 연속 0가 0카운터(30)에 의해 검출될때마다, 0카운터(30)은 1회의 클럭 주기 동안 데이타 전송을 중지시키고 출력 데이타 열내에 1을 배치시키도록 전이 레지스터(26)에 신호를 보낸다. 1카운터(32)가 3개의 연속 1을 검출할때마다, 1카운터(32)는 1회의 클럭 주기 동안 데이타 전송을 중지시키고 출력 데이타 열내에 0을 배치시키도록 전이 레지스터(26)에 신호를 보낸다. 이 비-데이타 0 또는 1의 삽입후에, 전이 레지스터(26)은 클럭 주기당 1비트의 비율로 출력 버퍼(28)로 출력하는 데이타 전이를 계속한다.
22개의 비트들은 전이 레지스터(26)에 의해 제공되나, 0카운터 또는 1카운터로부터의 신호의 결과 삽입된 소정의 0 또는 1을 포함하지 않는다. 이 비트들은 5개의 싱크 비트, 16개의 데이타 비트 및 1개의 패리티 비트를 포함한다. 다음 데이타 워드가 전이 레지스터(26)으로 로드될 수 있는 때를 결정하기 위해 5비트 카운터(34)는 이 22개의 비트의 전송을 카운트하는데 사용된다. 전이 레지스터(26)이 싱크 신호의 전이를 시작할때, 엔에이블(ENABLE) 신호는 5비트 카운터(34)에 제공된다. 이 엔에이블 신호가 발생되는한, 5비트 카운터(34)는 최대 22개를 카운트한다. 비-데이타 0 또는 1이 전송될때마다, 카운터(34)가 상기 클럭 주기중에 증가하지 않도록 엔에이블 신호는 로우(low)가 된다. 이 방법에서, 카운터(34)는 출력 버퍼(28)에 제공되는 삽입된 비-데이타 0 및 1을 카운트하지 않는다.
22개의 싱크 비트, 데이타 비트 및 패리티 비트들이 제공된 후에, 입력 준비 신호가 발생되고, 엔코드 회로(10)은 다른 워드를 수용할 준비를 한다.
데이타가 전이 레지스터(26)의 외부로 전이될때, 0 및 1의 교호열은 0/1 토글(27)로부터 전이된다. 그러므로, 전이 레지스터(26)이 현재의 데이타 워드를 전이 아웃하였을때, 전이 레지스터(26)은 교호하는 0 및 1로 채워진다. 다음 병렬 데이타 워드가 데이타 준비 신호에 의해 결정되었을때 전송될 준비가 되지 않는 경우에, 전이 레지스터(26)은 출력 버퍼(28)에 0 및 1의 전송을 계속한다. 이것은 통신 라인 작동을 유지시키고, Tmax를 초과하는 시간 동안 전송된 전이(0-1 또는 1-0)가 없을때 수신기에서 발생할 수 있는 문제점들을 방지한다. 새로운 병렬 데이타 워드가 유효하게 될때, 데이타 준비 신호가 발생되며, 이 값은 래치(24)로부터 전이 레지스터(26)으로 로드되고, 새로운 데이타 워드가 전이 아웃된다. 이 방법에서, 비트는 소정의 실제 데이타가 전송되었는지의 여부에 관계없이 매 클럭 주기마다 통신 채널을 따라 전송된다.
집적 회로에 인입하는 리셋트 신호 또는 파워 업(power up)에 의해 초기화될 수 있는 리셋트 토글(36)은 출력 버퍼(28)을 초기화시키고, 전이 레지스터(26)을 초기화시키며, 5비트 카운터(34)가 리셋트되도록 한다. 엔코더(10)은 전송을 위해 데이타를 수신할 준비를 한다.
제3도는 양호한 디코드 회로(20)의 블럭도이다. 이 회로에서, 출력 신호는 이미 클럭 회복 회로(18)에 의해 회복되고 CK 신호로써 모든 내부 회로에 제공된다. 인입 데이타 스트림은 싱크 검출 및 0/1 삭제 회로(38)에 인가된다. 싱크 신호가 이 회로(38)에 의해 검출될때, 회로(38)은 5비트 카운터(40)을 클리어(clear)하는데 사용되는 싱크 신호를 발생시킨다. 5비트 카운터(40)은 엔코드 회로(10)에 배치된 카운터(34)와 같이 동일한 방법으로 22개를 카운터하는 기능을 한다. 싱크 검출 회로(38)은 카운터(40)이 엔코더(10)에 의해 삽입된 비-데이타 0 및 1을 카운팅하는 것을 방지하도록 삭제(DELETE) 신호 및 AND 게이트(42)를 통해 카운터(40)의 엔에이블(ENABLE) 입력단에 접속한다.
카운터(40)의 출력단에 결합된 디코드 회로(44)는 카운터가 22에 도달한 후에 로우(low)로 되는 종료(END) 신호를 제공하고, 카운터(40)이 카운팅하는 것을 방지한다. 21비트가 카운트된 후에, 패리티 신호는 후술한 패리티 카운팅을 위해 제공된다. 22비트가 카운트된 후에, 출력 준비 개시 신호(ORST)는 출력 준비 및 레지스터 타이머 회로(46)에 통신된다. 이 회로(46)은 칩외부로 통신되는 출력 준비 신호를 제공하고, 나머지 컴퓨터(도시안됨)에 유용한 데이타 워드를 표시하는데 사용된다.
인입 데이타는 또한 1회의 클럭 주기 동안 인입 데이타를 지연시키는 D플립 플롭(48)에 공급되고, 패리티 토글 회로(5)에 데이타를 전송시킨다.
이 패리티 토글 회로(50)은 일반적으로 데이타 스트림에 인가되는 것과 같은 패리티 비트를 포함하는 플립 플롭(도시 안됨)을 내부적으로 포함한다. 비-데이타 0 또는 1이 삭제 회로(38)에 의해 검출될때 패리티는 엔에이블 신호에 의해 제어되기 때문에 계산되지 않는다. 데이타는 패리티 토글 회로(50)을 통해 17비트 전이 레지스터(52)에 전달된다. 21데이타 비트가 카운터(40)에 의해 카운트된 후에, 패리티 신호가 발생되어, 패리티 토글(50)의 현재 값이 레지스터(52)의 최종 비트로 전이될 수 있도록 한다. 전이 레지스터(52)는 이제 16데이타 비트 및 1패리티 비트를 포함한다. 클럭 주기중이 패리티 비트가 전이 레지스터(52)로 전이된 후에, 출력 준비 회로(46)으로부터의 래치(LATCH) 신호는 전이 레지스터(52)의 내용이 17비트 래치 레지스터(54)로 래치되도록 한다. 데이타 비트 및 패리티 비트는 나머지 회로를 위해 병렬 형태로 되는 것이 유용하다.
제1도의 다이아그램의 나머지 블럭들은 상당히 표준형이다. 광섬유 전송 및 수신 회로(12 및 16)은 종래 기술에서 공지되어 있고, 소정의 적절한 이러한 회로들은 본 발명에 사용될 수 있다. 클럭 회복 회로(18)은 또한 종래 기술에서 공지되어 있고, 다수의 소오스들로부터 수행되는 단일 칩으로써 유용하다.
상술한 바와 같이, 엔코드 회로(10)의 0카운트(30) 및 1카운터(36)으로 조합한 전이 레지스터 회로(26)은 상술한 데이타 엔코딩 체계를 수행한다. 제4도는 이 회로가 동작하는 논리 흐름을 도시한 플로우 챠트이다.
제4도를 참조하면, 새로운 데이타 워드가 전이 레지스터에 로드될때, 싱크 신호가 제공된다(스텝 60). 싱크 신호가 제공된 후에, 다음 비트가 제공된다(스텝 62). 상기 비트가 0인 경우에(스텝 64), 플로우 챠트의 좌측 가지가 취해지고, 1카운터가 리셋트된다(스텝 66). 이와 동시에, 0카운터는 증가된다(스텝 68). 제공된 0가 너무 많고(스텝 70), 상술한 수행이 5인 경우에, 1이 제공되고(스텝 72), 제어 흐름이 포인트(2)에 복귀된다. 0의 갯수 이하가 제공된 경우, 제어 흐름은 포인트(1)로 이동한다. 이것이 제공되는 최종 비트인 경우에(스텝 82), 시스템은 다른 데이타 워드가 로드될때까지 1 및 0를 토글시킨다(스텝 84). 최종 비트가 아닌 경우에, 제어의 흐름은 다음 비트(스텝 62)에 제공되도록 복귀된다. 전송된 비트가 1인 경우에(스텝 64), 플로우 챠트의 우측 가지가 취해지고, 0카운터가 리셋트되며(스텝 74), 1카운터는 증가된다(스텝 76). 전송된 1이 너무 많고, 상술한 바와 같이 3개인 경우를 알 수 있도록 검사가 행해진다(스텝 78). 3개 이하의 1이 제공된 경우에, 제어의 흐름은 포인트(1)에 복귀된다. 3개의 1이 제공되었을 경우에, 비-데이타 0이 전송되고(스텝 80), 제어의 흐름은 포인트(3)에 복귀된다.
이 플로우 챠트는 전체 데이타 엔코딩 기술을 설명한 것이다. 제2도에서 설명한 바와 같이, 하드웨어가 데이타를 엔코드하도록 사용되었음에도 불구하고, 소프트웨어 또는 혼합된 소프트웨어/하드웨어 수행이 본 발명에 따라 수행될 수 있다. 하드웨어는 요구된 매우 높은 비트 율을 달성하도록 양호하게 되고, 논리는 수행하는데 어려움이 없다.
제5도는 디코드 회로에 의해 사용된 유사한 논리 흐름을 도시한 것이다. 디코딩은 싱크 신호가 수신될때 개시된다(스텝 90). 싱크 신호를 수신한 후에, 다음 비트가 얻어지고(스텝 92), 이것이 0 또는 1인지 여부를 알 수 있도록 검사된다(스텝 93). 다음 비트가 0인 경우에, 플로우 챠트의 좌측 가지가 취해진다. 싱크 검출 및 0/1 삭제 회로에 내부적으로, 1카운터가 리셋트되고(스텝 94), 0카운터는 증가되며(스텝 96), 수신된 0이 너무 많은 경우를 알 수 있도록 검사된다(스텝 98). 상술한 바와 같이, 5개의 0이 수신된 경우에 이 검사의 예가지가 취해진다. 이 경우에, 다음 비트가 억제되고(스텝 100), 제3도에 도시한 삭제 신호에 의해 신호가 보내진다. 제어 흐름은 플로우 챠트의 포인트(2)에 제공된다. 비트 검사(스텝 93)의 결과가 1인 경우에, 0카운터는 리셋트되고(스텝 102), 1카운터는 증가되며(스텝 104), 수신된 1의 갯수에 대해 검사가 행해진다(스텝 106). 3개의 1이 수신된 경우에, 다음 비트는 억제되고(스텝 108), 제어 흐름은 플로우 챠트의 포인트(3)에 제공된다.
0 또는 1을 수신한 경우에, 연속 0 또는 1의 갯수가 임계 제한(critical limit) 이하인 경우에(스텝 98 및 106), 제어 흐름은 플로우 챠트의 포인트(1)에 제공된다. 이 갯수의 최종 비트가 수신된 경우에(스텝 110), 출력 준비 신호가 발생되고(스텝 112), 디코드 회로는 다음의 싱크 신호를 위해 대기한다. 모든 비트가 아직 수신되지 않은 경우에, 다음의 1개의 비트가 얻어지고(스텝 32), 상술한 바와 같이 검사된다.
제6도를 참조하면, 직렬 통신 시스템의 다른 실시예가 도시되어 있다. 이 시스템은 엔코더(120) 및 디코더(122)의 전기적 직접 결합을 포함한다. 클럭 회복 신호가 요구되지 않도록, 클럭 신호는 데이타 신호로부터 분리 라인상에 공급된다. 엔코드 및 디코드 회로(120 및 122)는 제1도의 엔코더(10) 및 디코더(20)과 동일하다.
또한, 광섬유 통신 시스템을 사용할때 클럭 신호와 데이타 신호를 분리하여 제공하는 것도 가능하다. 이것은 2개의 광섬유 전송/수신 쌍, 또는 수신 종료시 분리될 수 있는 광섬유를 따라 전송된 광선의 2개의 상이한 주파수들을 필요로 할 수 있다.
상술한 회로에 의해, 500MHz 비트 율이 직렬 데이타용으로 사용된 경우 20MHz 병렬 시스템은 직렬 링크를 따라 데이타를 충분히 통신시킬 수 있다. 이것은 상당히 빠르나, 상술한 바와 같이 엔코드 회로(10)상의 링 오실레이터의 사용에 의해 용이하게 달성될 수 없다. 통신이 비동기이기 때문에, 정밀하게 제어가능한 고속 클럭은 요구되지 않는다. 또한, 상술한 시스템의 동작에 의해, 나머지 컴퓨터 시스템에 사용된 고속 직렬 클럭과 저속 병렬 데이타 클럭 사이에 분리가 유지된다. 고속 클럭의 칩 발생에 의해, 병렬 시스템은 엔코드 회로에 의해 발생된 입력 준비 신호를 간단히 감시할 수 있고, 고속 클럭의 동기화에 관계가 필요없다.
단일 칩내에 집적되는 각각의 엔코드 및 디코드 회로 유니트를 갖는 상술한 회로는 갈륨 비소(gallium arsenide) 집적 회로 상에서 양호하게 수행될 수 있다. 이것은 간단한 고속 직렬 링크가 매우 낮은 가격 및 매우 적은 부품수로 실현되게 한다.
비-데이타 1 또는 0의 삽입 이전에 허용되는 연속 0 및 1의 갯수는 광섬유 전송 및 수신 디바이스의 특성에 좌우된다. 본 분야에 숙련된 기술자들에게 명확한 바와 같이, 0 삽입/삭제 및 1삽입/삭제 두가지 모두를 사용하는 것은 상술한 엔코딩 체계가 요구된 특성으로 수행되게 한다.
본 발명은 상술한 시스템에 의해 도시되어 있고, 본 분야에 숙련된 기술자들에게는 여러가지 변형물의 제조가 가능하다. 이러한 변형물은 첨부한 특허청구의 범위에 의해 정해진 본 발명의 범위내에 있다.

Claims (14)

  1. 각각의 데이타 워드가 다수의 1 및 0으로 구성된 다수의 데이타 워드들을 갖고 있는 데이타를 전송하기 위한 방법에 있어서, (a) 다수의 상기 데이타 워드들을 이의 병렬 표현으로 제공하는 스텝, (b) 전송된 데이타 워드의 개시를 표시하기 위해 각각의 데이타 워드에 특정 신호를 사전 준비하는 스텝, (c) 각각의 사전 준비된 데이타 워드를 직렬 표현으로 변환하는 스텝, (d) 제1 및 제2의 미리 선택된 갯수 보다 각각 긴 1 및 0의 열을 최소한 2개의 짧은 열로 변환시키도록 상기 데이타 워드에 여분의 0 및 1을 삽입함으로써 제1의 미리 선택된 갯수 이하의 연속 1 및 제2의 미리 선택된 갯수 이하의 연속 0을 갖고 있는 이의 직렬 표현으로 사전 준비된 데이타의 직렬 표현을 각각 변환시키는 스텝, (e) 수신기에 스텝(d)의 직렬 표현을 전송하는 스텝, (f) 전송된 직렬 표현을 수신하는 스텝, (g) 수신된 직렬 표현으로부터 스텝(b)에 사전 준비된 특정 신호를 제거하는 스텝, (h) 스텝(d)내의 상기 직렬 표현에 삽입된 여분의 0 및 1을 삭제하는 스텝, 및 (i) 스텝(h)의 상기 직렬 표현을 데이타 워드로 변환시키는 스텝을 포함하는 것을 특징으로 하는 방법.
  2. 비동기 직렬 데이타 링크를 사용하여 데이타를 전송하기 위한 시스템에 있어서, (a) 병렬 포맷으로 표현된 데이타 워드를 특정한 워드 순차의 개시를 갖고 있는 각각의 데이타 워드를 표현하는 직렬 비트 스트림으로 변환시키고, 미리 선택된 갯수 이하의 연속 0 및 1이 이러한 미리 선택된 갯수 이상을 포함하는 데이타 워드의 순차에 여분의 1 및 0을 삽입하기 위한 수단을 포함하는 각각의 상기 데이타 워드에 제공되도록 하기 위한 수단을 포함하는 엔코더, (b) 특정한 워드 순차의 개시를 검출하고 제거하며, 상기 엔코더에 의해 삽입된 임의의 여분의 0 및 1을 제거하고, 상기 직렬 비트 열을 데이타 워드로 변환시키기 위한 디코더, 및 (c) 상기 엔코더로부터 상기 디코더에 직렬 비트 스트림을 통신시키기 위해 상기 엔코더 및 상기 디코더에 결합된 전송 수단을 포함하는 것을 특징으로 하는 시스템.
  3. 제2항에 있어서, 상기 전송 수단이 상기 엔코더에 결합된 광학 전송기, 상기 디코더에 결합된 광학 수신기, 및 상기 광학 전송기 및 상기 광학 수신기에 결합된 광섬유 링크를 포함하고, 상기 광학 시스템은 정해진 대역폭을 갖고 있으며, 상기 미리 선택된 갯수가 상기 정해진 대역폭에 의해 결정되는 것을 특징으로 하는 시스템.
  4. 제3항에 있어서, 상기 광섬유 링크에 의해 전송된 데이타로부터 클럭 신호를 회복하기 위해 상기 광학 수신기에 결합된 수단을 더 포함하는 것을 특징으로 하는 시스템.
  5. 각각의 데이타 워드가 다수의 1 및 0으로 구성된 다수의 데이타 워드를 갖고 있는 데이타를 전송시키기 위한 방법에 있어서, (a) 상기 다수의 데이타 워드를 이의 직렬 표현으로 제공하는 스텝, (b) 전송된 데이타 워드의 개시를 표시하기 위해 각각의 워드에 특정한 신호를 사전 준비하는 스텝, (c) 송신기 및 수신기를 포함하고 정해진 폭을 갖고 있는 광학 데이타 링크를 제공하는 스텝, (d) 사전 준비된 각각의 데이타 워드를 직렬 표현으로 변환하는 스텝, (e) 광학 데이타 링크에 대한 데이타 전이 사이에 허가 가능한 최대 시간 이하의 데이타 전이 시간을 제공하는 제1 및 제2의 미리 선택된 갯수보다 각각 긴 1 및 0의 열을 최소한 2개의 짧은 열로 변환시키도록 상기 워드에 여분의 0 및 1을 삽입함으로써 제1의 미리 선택된 갯수 이하의 연속 1 및 제2의 미리 선택된 갯수 이하의 연속 0을 갖고 있는 이의 직렬 표현으로 사전 준비된 데이타 워드의 직렬 표현을 각각 변환시키는 스텝, (f) 수신기에 스텝(e)의 직렬 표현을 전송하는 스텝, (g) 전송된 직렬 표현을 수신하는 스텝, (h) 수신된 직렬 표현으로부터 스텝(b)에 사전 준비된 특정 신호를 제거하는 스텝, (i) 스텝(e)내의 상기 직렬 표현에 삽입된 여분의 0 및 1을 삭제하는 스텝, 및 (j) 스텝(i)의 상기 직렬 표현을 데이타 워드로 변환시키는 스텝을 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 스텝(h)가 상기 데이타 워드를 이의 병렬 표현으로 변환시키는 스텝을 더 포함하는 것을 특징으로 하는 방법.
  7. 각각의 데이타 워드가 다수의 1 및 0으로 구성된 다수의 데이타 워드를 포함하는 데이타 전송 방법에 있어서, (a) 전송된 데이타 워드의 개시를 나타내기 위한 각각의 데이타 워드에 특정 신호를 사전 준비하여 사전 준비된 데이타 워드를 형성하는 스텝, (b) 제1 및 제2의 미리 선택된 갯수 보다 각각 긴 1 및 0의 열을 최소한 2개의 짧은 열로 변환시키도록 상기 사전 준비된 데이타 워드에 1 및 0을 삽입함으로써 제1의 미리 선택된 갯수 이하의 연속 1 및 제2의 미리 선택된 갯수 이하의 연속 0을 갖고 있는 엔코드된 데이타 워드로 사전 준비된 데이타 워드를 각각 변환시키는 스텝, 및 (c) 상기 엔코드된 데이타 워드의 1비트를 한번에 직렬 전송하는 스텝을 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 스텝(c)가 Tmax의 데이타 전이 사이에서 최대 시간을 갖는 매개체를 통해 상기 엔코드된 데이타 워드를 전송하는 스텝을 포함하며, 상기 스텝(b)가 상기 엔코드된 데이타 워드의 허용된 연속 1의 최대 갯수 및 허용된 연속 0의 최대 갯수가 Tmax 이하의 시간 내에 전송되는 상기 제1의 미리 선택된 갯수의 1 및 제2의 미리 선택된 갯수의 0을 미리 선택하는 스텝을 포함하는 것을 특징으로 하는 방법.
  9. 제7항에 있어서, 상기 데이타 워드의 각각이 병렬 표현으로 제공되고 상기 방법이, 각각의 데이타 워드를 병렬 표현에서 직렬 표현으로 변환하는 스텝을 더 포함하는 것을 특징으로 하는 방법.
  10. 제7항에 있어서, 상기 스텝(c)가 상기 엔코드된 데이타 워드를 광섬유 케이블을 통해 직렬 전송하는 스텝을 포함하는 것을 특징으로 하는 방법.
  11. 다수의 1 및 0을 각각 포함하는 데이타 워드의 수신 방법에 있어서, 상기 방법이, (a) 직렬로 전송된 데이타를 수신하는 스텝, (b) 특정 신호에 대해 직렬로 전송되어 수신된 데이타를 탐색하는 스텝, (c) 직렬로 전송되어 수신된 데이타로부터 상기 특정 신호를 제거하는 스텝, (d) 상기 특정 신호의 수신 사이에서 수신된 데이타를 수신된 데이타 워드로 변환하는 스텝, (e) 수신된 데이타 워드의 연속 1의 갯수를 카운트하고 제1의 미리 선택된 갯수의 연속 1의 수신 후에 다음 비트를 제거하는 스텝, 및 (f) 수신된 데이타 워드의 연속 0의 갯수를 카운트하고 제2의 미리 선택된 갯수의 연속 0의 수신 후에 다음 비트를 제거하는 스텝을 포함하는 것을 특징으로 하는 방법.
  12. 상기 제1의 미리 선택된 갯수의 연속 1의 수신 후에 다음 비트가 제거되고 상기 제2미리 선택된 갯수의 연속 0의 수신 후에 다음 비트가 제거되는 데이타 워드를 병렬 표현으로 변환하는 스텝을 더 포함하는 것을 특징으로 하는 방법.
  13. 제11항에 있어서, 직렬로 전송되어 수신된 데이타로부터 클럭 신호를 회복하는 스텝을 더 포함하는 것을 특징으로 하는 방법.
  14. 제11항에 있어서, 상기 스텝(a)가 직렬로 전송된 데이타를 광섬유 케이블을 통해 수신하는 스텝을 포함하는 것을 특징으로 하는 방법.
KR1019890014549A 1988-10-12 1989-10-11 고속 직렬 데이타 링크 KR0141918B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US256,954 1981-04-23
US25695488A 1988-10-12 1988-10-12

Publications (2)

Publication Number Publication Date
KR900007203A KR900007203A (ko) 1990-05-09
KR0141918B1 true KR0141918B1 (ko) 1998-07-01

Family

ID=22974285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890014549A KR0141918B1 (ko) 1988-10-12 1989-10-11 고속 직렬 데이타 링크

Country Status (4)

Country Link
EP (1) EP0364170B1 (ko)
JP (1) JP2851076B2 (ko)
KR (1) KR0141918B1 (ko)
DE (1) DE68927217T2 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4020719A1 (de) * 1990-06-29 1992-01-02 Broadcast Television Syst Verfahren zur uebertragung eines digitalen datensignals

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51136223A (en) * 1975-05-21 1976-11-25 Hitachi Ltd Bit insertion circuit
JPS60152155A (ja) * 1984-01-20 1985-08-10 Hitachi Ltd 符号化方式
JPS61292434A (ja) * 1985-05-17 1986-12-23 Fujitsu Ltd バツフアメモリ

Also Published As

Publication number Publication date
JPH02211744A (ja) 1990-08-23
DE68927217D1 (de) 1996-10-24
JP2851076B2 (ja) 1999-01-27
EP0364170A2 (en) 1990-04-18
KR900007203A (ko) 1990-05-09
EP0364170A3 (en) 1991-12-11
DE68927217T2 (de) 1997-01-30
EP0364170B1 (en) 1996-09-18

Similar Documents

Publication Publication Date Title
US4979185A (en) High speed serial data link
EP0097763B1 (en) A method and apparatus for producing a dc balanced (0,4) run length limited rate 8b/10b code from an input data stream
EP0610204B1 (en) Line code using block inversion for high speed links
US4592072A (en) Decoder for self-clocking serial data communications
EP0228214B1 (en) Apparatus and associated method for converting serial data pattern signals transmitted or suitable for transmission over a high speed synchronous serial transmission media, to parallel pattern output signals
US4450572A (en) Interface for serial data communications link
WO1988006384A1 (en) An encoder/decoder system and methodology utilizing conservative coding with block delimiters, for serial communication
US4972161A (en) Clock recovery for serial data communications system
US5079770A (en) Apparatus and associated methods for converting serial data pattern signals transmitted or suitable for transmission over a high speed synchronous serial transmission media, to parallel pattern output signals
US4717914A (en) Methods for receiving and converting high speed serial data pattern input signals to parallel data pattern outputs
US6642864B1 (en) Method and apparatus for encoding/decoding N-bit data into 2N-bit codewords
US5412783A (en) Method for efficient serialized transmission of handshake signal on a digital bus
JP2654452B2 (ja) 非同期で異種の可変幅の並列データパターン入力信号を直列データパターン信号に変換するための装置
EP0463380A1 (en) Digital data regeneration and deserialization circuits
US5365547A (en) 1X asynchronous data sampling clock for plus minus topology applications
US4958344A (en) System for transmitting and receiving asynchronous nonhomogeneous variable width parallel data over a synchronous high speed serial transmission media
EP0228213B1 (en) System for transmitting and receiving asynchronous nonhomogeneous variable width parallel data over a synchronous high speed serial transmission media
KR0141918B1 (ko) 고속 직렬 데이타 링크
JP2578668B2 (ja) ネットワークからの直列に受信される信号をデコードするための装置
US5309475A (en) Data interchange network
GB1597835A (en) Error detection arrangements for line transmission systems
JPS6048939B2 (ja) デ−タ伝送方式

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070112

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee