KR20080070949A - 직렬 통신 시스템에서 직렬 데이터의 송수신 방법 및 장치와 이를 위한 직렬 통신 시스템 - Google Patents

직렬 통신 시스템에서 직렬 데이터의 송수신 방법 및 장치와 이를 위한 직렬 통신 시스템 Download PDF

Info

Publication number
KR20080070949A
KR20080070949A KR1020070008889A KR20070008889A KR20080070949A KR 20080070949 A KR20080070949 A KR 20080070949A KR 1020070008889 A KR1020070008889 A KR 1020070008889A KR 20070008889 A KR20070008889 A KR 20070008889A KR 20080070949 A KR20080070949 A KR 20080070949A
Authority
KR
South Korea
Prior art keywords
count
serial data
bit
data
serial
Prior art date
Application number
KR1020070008889A
Other languages
English (en)
Other versions
KR100969748B1 (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 삼성전자주식회사
Priority to KR1020070008889A priority Critical patent/KR100969748B1/ko
Priority to CN2008800033173A priority patent/CN101595645B/zh
Priority to JP2009545501A priority patent/JP2010516162A/ja
Priority to EP08712213.1A priority patent/EP2127097B1/en
Priority to PCT/KR2008/000511 priority patent/WO2008093973A1/en
Priority to US12/021,730 priority patent/US7675438B2/en
Publication of KR20080070949A publication Critical patent/KR20080070949A/ko
Application granted granted Critical
Publication of KR100969748B1 publication Critical patent/KR100969748B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/02Transmitters
    • H04B1/04Circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B15/00Suppression or limitation of noise or interference
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Dc Digital Transmission (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 직렬 통신시스템에서 직렬 데이터의 송수신 방법 및 장치에 관한 것으로, 특히 직렬 통신시스템에서 신호의 변화를 최소화하여 효율적인 직렬 데이터의 송수신 방법 및 장치에 관한 것이다.
상기 본 발명에 따라 직렬 통신 시스템에서 코딩된 병렬 데이터를 직렬 데이터로 변환하여 전송하는 방법은 사일런트 코딩된 병렬 데이터에서 첫 번째 발견되는 정보 비트의 위치를 출력하는 과정과, 상기 정보 비트의 위치에 도달될 때까지 카운트를 증가시켜가면서 상기 사일런트 코딩된 병렬 데이터를 비트 단위로 직렬 출력하는 과정을 포함한다.
이상 설명한 바와 같이, 본 발명은 직렬 통신시스템에서 병렬 데이터를 직렬 데이터로 변환하여 전송하는 경우, 종래 코딩 방식을 이용하여 신호변화 수(Bit Transition)을 감소시켜 전송시 소모하는 동적 전력을 최소화 하였다.
또한 본 발명은 압축코딩방식을 사용하여 전송량을 줄임으로써, 전송시 걸리는 시간을 감소할 수 있다. 이에 따라 동일 시간에 더 많은 개수의 데이터를 전송할 수 있으므로, 유효 전송 대역폭을 증가 시킬 수 있다.
Figure P1020070008889
압축된 직렬 데이터, 병렬 데이터, 사일런트 코드.

Description

직렬 통신 시스템에서 직렬 데이터의 송수신 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING/RECEIVING SERIAL DATA IN SERIAL COMMUNICATION SYSTEM}
도 1은 종래 직렬 데이터의 송수신 장치를 나타낸 블록도,
도 2는 사일런트 코딩 방식을 나타낸 도면,
도 3은 본 발명의 실시 예에 따라 압축된 직렬 데이터의 송수신 장치를 나타낸 블록도,
도 4는 도 3의 송신부에 포함된 압축부를 상세히 나타낸 블록도,
도 5는 도 3의 송신부에 포함된 직렬변환부를 상세히 나타낸 블록도,
도 6은 도 3의 수신부에 포함된 압축해제부를 상세히 나타낸 블록도,
도 7은 도 3의 수신부에 포함된 병렬변환부를 상세히 나타낸 블록도,
도 8은 본 발명의 실시 예에 따라 압축된 직렬 데이터의 송신 과정을 나타낸 순서도,
도 9는 본 발명의 실시 예에 따른 송신장치에서 적용되는 압축된 직렬 데이터의 송신과정을 예를 들어 나타낸 도면,
도 10은 본 발명의 실시 예에 따라 압축된 직렬 데이터의 수신 과정을 나타낸 순서도,
도 11은 본 발명의 실시 예에 따른 수신장치에서 적용되는 압축된 직렬 데이터의 수신과정을 예를 들어 나타낸 도면.
본 발명은 직렬 통신시스템에서 직렬 데이터의 송수신 방법 및 장치에 관한 것으로, 특히 직렬 통신시스템에서 신호의 변화를 최소화하여 효율적인 직렬 데이터의 송수신 방법 및 장치에 관한 것이다.
종래 온-칩 또는 오프-칩 병렬 통신시스템에서는 도선의 수를 많이 필요로 하여 도선간 혼신(Crosstalk), 지연차(Skew) 등의 문제가 발생한다. 상기와 같은 문제로 인해 전기제품 간의 유선통신, 또는 컴퓨터간의 인터넷 통신, 그리고 칩 내부 기능 블록간의 통신 등에 오프-칩 직렬 통신시스템(예를 들어, 이더넷, USB(Universal Serial Bus), IEEE1394, PCI-EXPRESS 등)을 사용하고 있다. 또한 최근 도선의 수가 무한정하다고 알려져 병렬 버스 방식만을 사용하던 온-칩 통신시스템에서도 상기 도선간 혼신, 지연차 뿐만 아니라 병렬 전송선 연결의 혼잡도(Wiring Congestion) 문제를 해결하기 위해 온-칩 직렬 통신시스템을 연구하고 있으며, 네트웍-온-칩(Network-on-Chip : NoC)과 같은 다기능, 고성능의 멀티코어 시스템-온-칩(System-on-Chip : SoC)에서 상기 온-칩 직렬 통신시스템 방식을 사용하고 있다.
도 1은 종래 직렬 데이터의 송수신 장치를 나타낸 블록도이다.
종래 직렬 통신시스템은 입력된 N비트의 병렬 데이터(101)를 직렬 데이터(105)로 변환하여 송신하는 송신부(110)와, 상기 송신부(110)로부터 송신된 직렬 데이터(105)를 수신하여 N비트의 병렬 데이터(101)로 변환하는 수신부(150)를 포함한다.
상기 송신부(110)는 FIFO(First In First Out) 형식을 갖는 제1 신호 처리부(111)에 저장된 N비트의 병렬 데이터(101)를 순차적으로 직렬변환부(115)를 통해 직렬 데이터(105)로 변환시킨 후, 직렬 전송선(130)에 상기 직렬 데이터(105)를 싣는다. 이때 직렬 데이터(105)는 최상위비트(Most Significant Bit : 이하 MSB")부터 전송하는 방식이 일반적이다.
그리고 수신부(150)는 순차적으로 입력되는 직렬 데이터(150)를 병렬변환부(151)를 통해 병렬 데이터로 변환한 후, 변환된 병렬 데이터를 제2 신호 처리부(155)에 저장하여 N비트의 병렬 데이터(101)로 출력한다.
한편, 도 1에서 종래 실시 예에 따라 제1 신호 처리부(111) 및 제2 신호 처리부(155)는 생략될 수 있으며, 별도의 코딩(Coding) 방식이 적용될 경우 코딩부(113)와 디코딩부(153)를 추가할 수 있다.
이하, 도 1의 코딩부(113) 및 디코딩부(153)에서 적용가능한 코딩방식에 대하여 설명하기로 한다.
현재 이더넷(IEEE 802.3)과 같이 별도의 클럭 신호를 필요로 하지 않고 데이터에서 클럭을 추출하는 경우, 8B/10B 코드와 같은 직류-균형(DC-Balanced) 코드를 사용한다. 상기 직류-균형 코딩방식은 5번 이상의 연속된 심볼(0 또는 1)이 발생하지 않도록 의도적으로 직렬 전송선(130)에 변화(Transition)를 일으키는 방식이다. 상기와 같이 직류-균형 코딩방식은 의도적으로 직렬 전송선(130)에 변화를 일으키므로 직렬 전송선(130)으로부터 클럭을 추출해 내기 용이하다. 그러나 직류-균형 코딩방식은 직렬 전송선(130)에서 변화의 수를 증가시켜 송수신 전력을 증가시킬 뿐 아니라 8 비트의 유효 데이터를 전송하기 위해 10 비트로 코딩된 데이터를 전송하므로 25%의 성능저하(Overhead)를 초래한다.
또한 별도의 클럭 신호를 사용하는 경우나, 온-칩과 같이 송신부(110)와 수신부(150)사이에 동기(Synchronize)가 되는 경우에는 상기 직류-균형 코딩 방식을 사용할 필요가 없다. 상기와 같이 송신부(110)와 수신부(150) 사이에 동기가 되는 경우, 송수신 전력을 최소하기 위한 방법으로는 아날로그적인 방법과 디지털적인 방법이 있다. 상기 아날로그적인 방법으로는 신호 레벨을 낮추는 로우-스위칭 시스널링(Low-Swing Signaling) 방식이 있고, 디지털적인 방법으로는 직렬 전송선(130)상의 신호 변화(Bit Transition)을 최소로 줄이는 방식(예를 들어, 사일런트 코드(SILENT Code) 방식)이 있다.
종래 디지털적인 방법으로 연구된 사일런트 코딩 방식은 배타적 논리합(Exclusive OR : 이하 : XOR) 코드를 직렬전송방식에 응용한 방식으로 관련문헌 [Kangmin Lee, et al., "SILENT: Serialized Low Energy Transition Coding for On-Chip Interconnection Networks," IEEE ICCAD 2004, pp. 448-451]에 기재되어 있다.
도 2는 사일런트 코딩 방식을 나타낸 도면이다.
이하, 종래 N비트의 병렬 데이터는 8비트임을 가정하여, 도 1을 참고하여 설명하기로 한다.
도 2에서 제1 신호 처리부(111)는 FIFO 형식을 갖는 버퍼로써, 순차적으로 입력되는 병렬 데이터(W0 내지 W3)(101)를 코딩부(113)로 전송한다. 상기 코딩부(113)는 XOR 코드를 직렬전송방식에 응용한 사일런트 코딩 방식으로, 현재 전송되는 데이터의 비트와 이전 전송된 데이터의 비트가 동일한 경우 0, 상이한 경우 1로 코딩하여 코딩된 데이터(W0~W'3)(201)를 생성한다. 그리고 직렬변환부(115)는 상기 생성된 데이터를 직렬화(203)하여 직렬 전송선(130)에 도 2의 (가)와 같이 사일런트 코드된 직렬 데이터(205)를 싣는다.
상기 도 2에서 사일런트 코딩 방식를 적용한 결과, 도 2의 (가)와 같이 사일런트 코드된 직렬 데이터(205)는 신호변화의 수가 6회인데 반하여, (나)와 같이 사일런트 코드가 적용되지 않은 원본 직렬 데이터(207)는 신호변화의 수가 17회임을 알 수 있다. 상기와 같이 사일런트 코드를 적용하였을 경우, 신호변화의 수가 줄어드는 이유는 연속되는 병렬 데이터 사이에서 연관성(Locality)이 존재하기 때문이다.
그러나 직렬 통신시스템에서 사일런트 코딩을 적용하는 경우. 종래 코딩을 적용하지 않은 경우에 비해 전력이 효과적으로 감소하지만, 전송 속도에는 이득이 발생하지 않는다. 즉, 직렬 통신시스템에서 사일런트 코딩을 적용하여 직렬 데이터로 변환하는 방식은 직렬 데이터 송신 시, 전송 속도를 높이거나 대역폭을 높일 수 없다.
또한 직렬 통신시스템에서 직렬전송방식의 경우 적은 양의 전송선을 사용하기 때문에, 많은 양의 전송선을 사용하여 동시에 여러 비트를 전송하는 병렬전송방식에 비하여 전송 대역폭은 매우 낮다. 상기 전송 대역폭이 낮은 문제점을 해결하기 위해 전송속도(Bit Rate)를 수 배 높여서 사용하게 되는데, 이로 인하여 초래되는 고속 설계의 어려움과 고속회로로 인한 면적 및 전력상의 문제가 발생한다.
본 발명은 직렬 통신시스템에서 신호의 변화를 최소화할 수 있는 효율적인 직렬 데이터의 송수신 방법 및 장치를 제공한다.
또한 본 발명은 직렬 통신시스템에서 코딩된 데이터를 압축하여 가용 대역폭을 높일 수 있는 직렬 데이터의 송수신 방법 및 장치를 제공한다.
상기 본 발명에 따라 직렬 통신 시스템에서 코딩된 병렬 데이터를 직렬 데이터로 변환하여 전송하는 방법은 사일런트 코딩된 병렬 데이터에서 첫 번째 발견되는 정보 비트의 위치를 출력하는 과정과, 상기 정보 비트의 위치에 도달될 때까지 카운트를 증가시켜가면서 상기 사일런트 코딩된 병렬 데이터를 비트 단위로 직렬 출력하는 과정을 포함한다.
또한 상기 본 발명에 따라 직렬 통신 시스템에서 직렬 데이터를 코딩된 병렬 데이터로 변환하여 수신하는 방법은 압축된 직렬 데이터의 끝을 의미하는 신호가 입력될 때까지 카운트를 증가시켜가며 상기 압축된 직렬 데이터를 비트단위로 해당 래치에 저장하는 과정과, 상기 압축된 직렬 데이터의 끝을 의미하는 신호가 입력된 경우, 복수의 래치에 저장된 비트를 병렬 출력하는 과정을 포함한다.
또한 상기 본 발명에 따라 직렬 통신 시스템에서 코딩된 병렬 데이터를 직렬 데이터로 변환하여 전송하는 장치는 사일런트 코딩된 병렬 데이터에서 첫 번째 발견되는 정보 비트의 위치에 도달될 때까지 카운트를 증가시켜가면서 직렬 변환부에 상기 카운트를 출력하고, 상기 사일런트 코딩된 병렬 데이터의 끝을 의미하는 신호를 수신 장치에 출력하는 압축부와, 상기 출력된 카운트가 가리키는 위치에 해당하는 상기 사일런트 코딩된 병렬 데이터를 비트 단위로 직렬 출력하는 직렬 변환부를 포함한다.
또한 상기 본 발명에 따라 직렬 통신시스템에서 직렬 데이터를 코딩된 병렬 데이터로 변환하여 수신하는 장치는 압축된 직렬 데이터의 끝을 의미하는 신호가 입력될 때까지 카운트를 증가시켜 출력하는 압축해제부와, 상기 압축된 직렬 데이터 중 상기 카운트된 위치에 해당하는 비트를 해당 래치에 저장하고, 상기 압축된 직렬데이터의 끝을 의미하는 신호가 입력된 경우, 복수의 래치에 저장된 비트를 출력하는 병렬 변환부를 포함한다.
또한 상기 본 발명에 따라 코딩된 병렬 데이터를 직렬 데이터로 변환하여 송수신하는 직렬 통신 시스템은 사일런트 코딩된 병렬 데이터에서 첫 번째 발견되는 정보 비트의 위치에 도달될 때까지 제1 카운트를 증가시켜가면서 상기 사일런트 코딩된 병렬 데이터를 비트 단위로 직렬 출력하여 압축된 직렬 데이터를 전송하는 직렬 데이터 전송 장치와, 상기 압축된 직렬 데이터의 끝을 의미하는 신호가 입력될 때까지 제2 카운트를 증가시켜가며 상기 압축된 직렬 데이터를 비트 단위로 해당 래치에 저장하고, 상기 압축된 직렬 데이터의 끝을 의미하는 신호가 입력되면 복수의 래치에 저장된 비트를 병렬 출력하는 직렬 데이터 수신 장치를 포함한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세히 설명한다. 또한 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 이용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 한다.
먼저 본 발명의 기본 개념을 설명하면, 본 발명은 코딩된 병렬 데이터를 압축된 직렬 데이터로 변환하는 방식으로서, 코딩된 병렬 데이터에서 이전 전송된 병렬 데이터와 차이가 나지 않는 비트(이하, 동일 비트)를 제거한다. 그리고 상기 동일 비트가 제거된 병렬 데이터를 압축하여 직렬 데이터로 변환하는 방식으로 송수신할 데이터의 양을 감소시킴으로써 직렬 데이터의 송수신에 소요되는 시간을 낮추어 실제 전송선의 가용 대역폭을 높일 수 있는 방안을 제공한다.
상기 본 발명에서 이전 전송된 병렬 데이터와 차이가 나지 않는 비트를 제거하고 압축하기 위해, 직렬 통신시스템의 초기설정 시, 코딩방식 및 압축하지 않을 비트를 설정하여야 한다.
이하, 본 발명의 실시 예에 따라 직렬 통신시스템의 초기설정 시, 코딩부(313) 및 디코딩부(353)에서 사일런트 코딩을 적용하여, 사일런트 코딩된 병렬 데이터 중 '0'비트를 압축비트로 '1'비트를 압축하지 않을 비트로 설정하였다고 가정하여 설명하기로 한다. 그리고 상기 압축하지 않을 비트를 정보비트라 정의하여 설명하기로 한다.
도 3은 본 발명의 실시 예에 따라 압축된 직렬 데이터의 송수신 장치를 나타낸 블록도이다.
도 3에서 직렬 통신시스템은 입력된 N비트의 병렬 데이터(301)에 사일런트 코딩방식을 적용한 후, 압축된 직렬 데이터(305)로 변환하는 송신부(310)와, 상기 압축된 직렬 데이터(305)를 수신하여 압축을 해제하고, 사일런트 디코딩방식을 적용하여 초기 입력된 N비트의 병렬 데이터(301)를 디코딩하는 수신부(350)를 포함한다.
그리고 상기 송신부(310)는 제1 신호처리부(311)와, 코딩부(313)와, 직렬변환부(315)와, 압축부(317)를 포함하며, 상기 수신부(350)는 병렬변환부(351)와, 디코딩부(353)와, 제2 신호처리부(355)와, 압축해제부(357)를 포함한다.
상기 송신부(310) 또는 수신부(350)에 포함된 제1 신호처리부(311) 또는 제2 신호처리부(355)와, 코딩부(313) 또는 디코딩부(353)에서 수행되는 동작은 종래와 동일하므로 상세한 설명은 생략하기로 한다.
도 3에서 송신부(310)에 포함된 압축부(317)는 코딩부(313)로부터 코딩된 병렬 데이터를 입력으로 받아서 직렬변환 제어 신호(C1)와, 압축된 직렬 데이터(305) 의 끝을 알려주기 위한 신호(이하 End_Of_Word")(303)를 출력한다. 이때 상기 End_Of_Word(303)는 [HIGH]신호와 [LOW]신호를 포함하며, [HIGH]신호일 경우, 압축된 직렬 데이터(305)의 끝을 의미한다. 상기 압축부(317)는 아래 도 4에서 상세히 설명하기로 한다.
그리고 직렬변환부(315)는 코딩된 병렬 데이터를 상기 직렬변환 제어 신호(C1)를 이용하여 직렬 데이터(305)로 변환한다. 상기 직렬변환부(315)는 다단연결 멀티플렉서(Multistage Multiplexer)를 사용하여 아래 도 5와 같이 구현될 수 있다.
상기 수신부(350)에 포함된 압축해제부(357)는 End_Of_Word(303) 입력을 이용하여 병렬변환 제어 신호(C2)를 출력한다. 상기 압축해제부(357)는 제1 카운터(Counter)(601)를 사용하여 아래 도 6과 같이 구현될 수 있으며, 아래 도 6에서 상세히 설명하기로 한다. 그리고 병렬변환부(351)는 송신되는 압축된 직렬 데이터(305)와, 병렬변환 제어 신호(C2)를 이용하여 코딩된 병렬 데이터로 변환하며, 디멀티플렉서(Demultiplexer)(701) 및 복수의 래치(Latch)(703)을 사용하여 아래 도 7과 같이 구현될 수 있다.
도 4는 도 3의 송신부에 포함된 압축부를 상세히 나타낸 블록도이다.
본 발명의 실시 예에 따라 압축부(317)는 로직으로 구현되며, 인코더(401)와, 제1 카운터(403)와, 비교기(405)를 포함한다.
도 4에서 인코더(401)는 코딩된 병렬 데이터(307)를 입력받아 각 비트를 스캔하여 첫 번째 발견되는 정보비트 '1'에 대한 비트의 위치를 출력한다.
상기 인코더(401)에서 수행되는 각 비트를 스캔하여 첫 번째 정보비트를 발견하는 동작은 MSB부터 수행될 수도 있으며 LSB부터 수행될 수도 있다. 그러나 멀티미디어 컨텐츠나 디지털 신호 처리에서 상위 비트가 급격히 변화하는 경우는 자주발생하지 않으며, 메모리 처리시 주소는 순차적으로 증가하기 때문에 이전 전송된 데이터와 현재 전송된 데이터간의 변화는 주로 하위비트에서 발생한다. 이에 따라 상위비트를 압축하여야 하는 경우가 더 많이 발생하므로 이하 본 발명의 실시 예에서는 MSB비트부터 스캔하는 방식을 설명하기로 한다.
예를들어, 상기 인코더(401)는 8비트의 코딩된 병렬 데이터(307)로 [00000100]이 입력된 경우, MSB부터 스캔하여 첫 번째 발견되는 정보비트 '1'이 2번째 비트(0 번째 비트부터 카운트)에 위치하므로 2번째 비트의 위치로 [010]을 출력한다.
상기 압축부(317)의 제1 카운터(403)는 0부터 1씩 증가하여 증가한 카운트를 비교기(405)와 직렬변환 제어 신호(C1)로 출력한다. 이하, 상기 제1 카운터(403)에서 출력되는 카운터 값을 카운트라 정의하여 설명하기로 한다.
그리고 상기 제1 카운터(403)는 비교기(405)로부터 [HIGH] 신호를 입력받은 경우 증가된 카운트를 리셋한다. 예를들어, 제1 카운터(403)는 [000]부터 [010]까지 1씩 증가하다가 [010]이 되는 경우 비교기(405)로부터 [HIGH]신호를 입력았다고 가정하면, 비교기(405)와 직렬변환 제어 신호(C1)로 [000->001->010->리셋]을 출력한다.
그리고 비교기(405)는 상기 인코더(401)로부터 입력받은 비트의 위치와 상기 제1 카운터(403)로부터 입력되는 카운트가 동일한 경우, 제1 카운터(403)에 [HIGH]신호(1 비트)를 출력하고, End_Of_Word(303)에 [HIGH]신호를 갖는 클럭을 출력한다. 반대로 비교기(405)는 상기 인코더(401)로부터 입력되는 비트의 위치와 상기 제1 카운터(403)로부터 입력되는 카운트가 상이한 경우, End_Of_Word(303)에 [LOW]신호를 출력한다. 예를들어, 비교기(405)는 인코더(401)로부터 입력되는 비트의 위치가 [010]인 경우 제1 카운터(403)로부터 입력되는 카운트가 [010]되면, 제1 카운터(403)에 [HIGH]신호를 출력하고, End_Of_Word(303)에 [HIGH]신호를 갖는 클럭을 출력한다.
도 5는 도 3의 송신부에 포함된 직렬변환부를 상세히 나타낸 블록도이다.
도 5에서 직렬변환부(315)는 코딩된 병렬 데이터(307)의 비트 수에 따라 복수개의 멀티플렉서(Multiplexer)로 구현될 수 있다. 상기 직렬변환부(315)는 코딩부(313)로부터 코딩된 병렬 데이터(307)를 입력받아 상기 제1 카운터(403)에서 출력되는 직렬변환 제어 신호(C1)에 의해 카운트가 가리키는 위치에 해당하는 비트를 출력한다. 예를 들어, 직렬변환부(315)는 입력된 데이터가 [00000100]인 경우, 1씩 증가되는 제1 카운터(403)에서 출력되는 직렬변환 제어 신호(C1)가 [000]이면, 직렬 데이터(305)의 0번째 비트인 [0]을 출력하고, 직렬변환부(315) 제어 신호(C1)가 [001]이면, 직렬 데이터(305)의 1번째 비트인 [0]을 출력하고, 직렬변환부(315) 제어 신호(C1)가 [010]이면, 직렬 데이터(305)의 2번째 비트인 [1]을 출력한다.
도 6은 도 3의 수신부에 포함된 압축해제부를 상세히 나타낸 블록도이다.
도 6에서 압축해제부(357)의 제2 카운터(601)는 수신부(350)에 압축된 직렬 데이터(305)가 입력되면, 0부터 1씩 증가하여 병렬변환 제어 신호(C2)로 출력한다. 그리고 제2 카운터(601)는 End_Of_Word(303)로 [HIGH] 신호가 입력되면 카운트를 더 이상 증가하지 않고 리셋한다. 즉, 상기 제2 카운터(601)는 상기 압축부(317)의 제1 카운터(403)와 동일한 동작을 수행한다. 예를들어, 제2 카운터(601)는 [000]부터 [010]까지 1씩 증가하다가 [010]가 되는 경우 End_Of_Word(303)의 [HIGH]신호가 입력되었다고 가정하면, 병렬변환 제어 신호(C2)로 [000->001->010->리셋]을 출력한다.
도 7은 도 3의 수신부에 포함된 병렬변환부를 상세히 나타낸 블록도이다.
도 7에서 병렬변환부(351)는 디멀티플렉서(701)와, 복수의 래치(703)로 구현된다. 상기 병렬변환부(351)의 디멀티플렉서(701)는 송신부(110)로부터 압축된 직렬 데이터(305)를 입력받아 상기 병렬변환 제어 신호(C2)에 의해 각 비트를 해당 래치로 출력한다. 예를들어, 상기 디멀티플렉서(701)는 압축된 직렬 데이터(305)로 [00000100]를 입력받은 경우, 병렬변환 제어 신호(C2)가 [000]이면 압축된 직렬 데이터(305)의 0번째 비트인 [0]을 래치 0으로 출력하고, 병렬변환 제어 신호(C2)가 [001]이면 압축된 직렬 데이터(305)의 1번째 비트인 [0]을 래치 1로 출력하고, 병렬변환 제어 신호(C2)가 [010]이면 압축된 직렬 데이터(305)의 2번째 비트인 [1]을 래치 2로 출력한다.
상기 복수개의 래치(703)는 상기 디멀티플렉서(701)에서 출력되는 비트의 수와 동일하게 구현되어, 각 비트가 입력되기 전(초기) End_Of_Word(303)에 의해 리셋된다. 그리고 상기 복수의 래치(703)는 디멀티플레서(701)에서 출력되는 각 비트 를 해당 래치에 저장한다. 복수의 래치(703) 중 병렬변환 제어 신호(C2)에 의해 출력되는 비트가 없는 경우 래치는 초기 리셋으로 인해 [0]을 저장한다. 이때, 직렬 통신시스템의 초기 설정 시, 코딩된 병렬 데이터 중 '1'비트를 압축비트로 '0'비트를 압축하지 않을 비트로 설정하였을 경우, 초기 리셋을 [1]로 설정하여햐 한다. 예를들어, 복수개의 래치(703)는 압축된 직렬 데이터(305)의 0번째 비트인 [0]이 래치 0으로 출력되면 래치 0에 [0]을 저장하고, 압축된 직렬 데이터(305)의 1번째 비트인 [0]이 래치 1로 출력되면 래치 1에 [0]을 저장하고, 압축된 직렬 데이터(305)의 2번째 비트인 [1]이 래치 2으로 출력되면 래치 2에 [1]을 저장한다. 그리고 래치 3 내지 래치 7로 출력되는 비트가 없는 경우, 래치 3 내지 래치 7는 초기 리셋으로 인해 [0]을 저장한다.
따라서 디멀티플레서(701)와, 복수개의 래치(703)로 구성된 병렬변환부(351)는 압축된 직렬 데이터(305)를 N비트의 코딩된 병렬 데이터(307)로 변환한다.
도 8은 본 발명의 실시 예에 따라 압축된 직렬 데이터의 송신 과정을 나타낸 순서도이다.
도 8의 801 단계에서 송신부(310)는 병렬 데이터를 입력받은 경우, 803 단계에서 송신부(310)에 포함된 코딩부(313)는 이전 병렬 데이터와 입력된 병렬 데이터의 각 비트에 대하여 사일런트 코딩을 수행한다. 805 단계에서 압축부(317)의 인코딩부(401)는 상기 코딩된 병렬 데이터(307)를 입력받아 각 비트를 스캔하여 첫 번째 발견되는 정보비트 '1'에 대한 비트의 위치를 출력한다.
그리고 807 단계에서 직렬변환부(315)는 카운트에 대응되는 직렬변환부(315) 제어 신호(C1)에 의해 상기 코딩된 병렬 데이터(307) 중 카운트가 가리키는 위치에 해당하는 비트를 출력한다. 상기 807 단계에서 직렬 통신 시스템의 초기인 경우, 직렬 변환부(315)는 카운트의 초기 값 0이 가리키는 위치에 해당하는 비트를 출력한다.
도 8의 809 단계에서 비교기(405)는 입력된 카운트와 상기 출력된 비트의 위치가 동일한지 비교한다. 상기 809 단계에서 비교기(405)는 카운트와 출력된 비트의 위치를 비교하여 동일한 경우 813 단계로 진행하고, 상이한 경우 811 단계로 진행한다. 상기 811 단계에서 제1 카운터(403)는 카운트를 1증가하여 증가된 카운트를 상기 807 단계의 직렬변환부(315)에 전달한다.
반면에 상기 813 단계에서 비교기(405)는 카운트과 출력된 비트의 위치가 동일한 경우, 제1 카운터(403)에 [HIGH]신호를 출력하여 제1 카운터(403)의 카운트가 리셋되도록 한다. 이때, 상기 리셋된 제1 카운터(403)는 코딩된 데이터가 더 이상 전송되는 것은 방지한다. 그리고 815 단계에서 비교기(405)는 End_Of_Word(303)로 [HIGH]신호를 출력하여, 817 단계에서 송신부(310)는 압축된 직렬 데이터(301)의 송신을 완료한다.
도 9는 본 발명의 실시 예에 따른 송신장치에서 적용되는 압축된 직렬 데이터의 송신과정을 예를 들어 나타낸 도면이다.
본 발명의 실시 예에 따라 송신부(310)에 8비트의 병렬 데이터 [01010011]이 입력되어, 코딩부(313)에 의해 사일런트 코딩된 병렬 데이터 [00000100]가 출력되었다고 가정하여, 송신부(310)에서 상기 코딩된 병렬 데이터 [00000100]를 압축된 직렬 데이터 [100]로 변환하여 송신하는 과정을 설명하기로 한다.
도 9에서 압축부(317)의 인코더(401)는 상기 코딩된 병렬 데이터로 [00000100]를 입력받아 0번째 비트부터 7번째 비트를 스캔하여 첫 번째 발견되는 정보비트 '1'에 대한 비트의 위치가 2이므로 [010]을 출력한다. 그리고 제1 카운터(403)는 [000]을 카운트하여 비교기(405)와 직렬 변환 제어 신호(C1)로 출력한다. 이때 직렬변환부(315)는 카운트 [000]에 대응되는 직렬변환 제어 신호(C1)에 의해 상기 코딩된 데이터 중 카운트 [000]가 가리키는 위치에 해당하는 비트 즉, 비트 [0]을 출력한다. 그리고 상기 비교기(405)는 카운트 [000]과 비트의 위치[010]를 비교하여 두 값이 상이하므로 End_Of_Word(303)신호로 [LOW]신호를 출력한다.
또한 상기 카운트[000]와 비트의 위치[010]가 상이하므로 제1 카운터(403)는 [000]에서 1 증가한 [001]을 카운트하여 비교기(405)와 직렬 변환 제어 신호(C1)로 출력한다. 이때 직렬변환부(315)는 카운트 [001]에 대응되는 직렬변환 제어 신호(C1)에 의해 상기 코딩된 데이터 중 카운트 [001]가 가리키는 위치에 해당하는 비트 즉, 비트 [0]을 출력한다. 그리고 상기 비교기(405)는 카운트 [001]과 비트의 위치[010]를 비교하여 두 값이 상이하므로 End_Of_Word(303)신호로 [LOW]신호를 출력한다.
또한 상기 카운트[001]와 비트의 위치[010]가 상이하므로 제1 카운터(403)는 [000]에서 1 증가한 [010]을 카운트하여 비교기(405)와 직렬 변환 제어 신호(C1)로 출력한다. 이때 직렬변환부(315)는 카운트 [010]에 대응되는 직렬변환 제어 신 호(C1)에 의해 상기 코딩된 데이터 중 카운트 [010]가 가리키는 위치에 해당하는 비트 즉, 비트 [1]을 출력한다. 그리고 상기 비교기(405)는 카운트 [010]과 비트의 위치[010]를 비교하여 두 값이 동일하므로 End_Of_Word(303)신호로 [HIGH]신호를 출력한다. 이때, 제1 카운터(403)는 비교기(405)로부터 [HIGH]신호를 입력받았으므로 카운트를 리셋하여 코딩된 병렬 데이터의 상위 5비트[00000]가 전송되는 것을 방지한다. 따라서 송신부(310)는 End_Of_Word(303)로 [HIGH-LOW-LOW]와, 압축된 직렬 데이터(305)로 [100]를 수신부(350)에 송신한다.
도 10은 본 발명의 실시 예에 따라 압축된 직렬 데이터의 수신 과정을 나타낸 순서도이다.
도 10의 1001 단계에서 수신부(350)는 송신부(310)로부터 압축된 직렬 데이터(301)를 입력받은 경우, 1003 단계에서 병렬변환부(351)는 카운트가 가리키는 위치에 해당하는 비트를 해당 래치에 저장한다. 그리고 1003 단계에서 직렬 통신 시스템의 초기인 경우, 병렬변환부(351)는 카운트 초기 값 0이 가리키는 위치에 해당하는 비트를 해당 래치에 저장한다.
도 10의 1005 단계에서 제2 카운터(601)는 End_Of_Word(303)가 [HIGH]신호인지 판단하여, [HIGH]신호인 경우 109 단계로 진행하고, [LOW]신호인 경우 1007 단계로 진행한다. 상기 1007 단계에서 제2 카운터(601)는 다음 비트를 해당 래치에 저장하기 위해 1 증가하여 상기 1003 단계로 진행한다.
반대로 1009 단계에서 병렬변환부(351)는 End_Of_Word(303)가 [HIGH]신호인 경우, 복수의 래치(703)에 저장된 각 비트를 출력한다. 이때 복수의 래치 중 카운 트된 위치에 해당하는 비트가 저장되지 않은 래치는 이전 압축된 직렬 데이터 수신 시 수행된 래치 리셋 동작으로 인해 0이 출력된다. 그리고 1011 단계에서 병렬변환부(351)는 다음 전송되는 직렬 데이터를 저장하기 위해 복수의 래치를 리셋한다. 따라서 1013 단계에서 수신부(350)는 송신부(310)로부터 전송된 압축된 직렬 데이터를 N비트의 코딩된 병렬 데이터(307)로 변환한 후, 상기 코딩된 병렬 데이터(307)를 디코딩하여 병렬 데이터(301)의 수신을 완료한다.
도 11은 본 발명의 실시 예에 따른 수신장치에서 적용되는 압축된 직렬 데이터의 수신과정을 예를 들어 나타낸 도면이다.
본 발명의 실시 예에 따라 수신부(350)는 송신부(310)로부터 도 9에서 송신된 End_Of_Word [HIGH-LOW-LOW]와, 압축된 직렬 데이터 [100]를 입력받았다고 가정하여, 수신부(350)에서 상기 압축된 직렬 데이터 [100]를 병렬 데이터로 변환하는 과정을 설명하기로 한다.
도 11에서 수신부(350)는 송신부(310)로부터 압축된 직렬 데이터 [100]를 입력받은 경우, 수신부(350)에 포함된 압축해제부(357)의 제2 카운터(601)는 [000]을 카운트한다. 그리고 병렬변환부(701)는 카운트된 [000]에 해당하는 비트 [0]을 래치 0에 저장한다. 그리고 제2 카운터(601)는 카운트된 [000]에서 End_Of_Word(303)가 [LOW]신호 이므로, 다음 비트를 해당 래치에 저장하기 위해 카운트를 1 증가한다.
다음으로 병렬변환부(701)는 카운트가 1증가되어 카운트된 [001]에 해당하는 비트 [0]을 래치 1에 저장한다. 그리고 제2 카운터(601)는 카운트된 [001]에서 End_Of_Word(303)가 [LOW]신호 이므로, 카운트를 1 증가한다.
도 11에서 병렬변환부(701)는 카운트가 다시 1증가되어 카운트된 [010]에 해당하는 비트[1]을 래치 1에 저장한다. 그리고 제2 카운터(601)는 카운트된 [010]에서 End_Of_Word(303)가 [HIGH]신호이므로, 복수의 래치에 저장된 각 비트[00000100]를 출력한다. 이때 복수의 래치 중 카운트된 위치에 해당하는 비트가 저장되지 않은 래치 3 내지 래치 7은 이전 직렬 데이터 수신 시 수행된 래치 리셋동작으로 인해 0이 출력된다. 그리고 병렬변환부(351)는 다음 전송되는 직렬 데이터를 저장하기 위해 복수의 래치를 리셋한다.
따라서 수신부(350)는 상기 복수의 래치(703)에서 출력된 비트[00000100]는 코딩된 병렬 데이터(307)이므로 상기 코딩된 병렬 데이터(307)를 디코딩하여 초기 전송된 병렬 데이터 [01010011]의 수신을 완료한다.
상기 설명한 바와 같이 본 발명은 사일런트 코드로 인해 발생하는 0비트를 제거함으로써, 직렬 데이터를 압축할 수 있다.
한편, 상기 본 발명에 따른 직렬 데이터의 압축방식은 종래 런-렝스(Run-Length) 코드 방식과 유사해 보이나 그 차이는 아래와 같다.
상기 런-렝스 코드 방식은 직렬 데이터 스트림상에 연속적으로 같은 값이 반복될 경우 반복되는 개수와 값을 한 번만 적음으로서 전체의 스트림 양을 줄이는 방식이다. 예를 들어 [AAAAAAAAAAAABAAAAAAAAAAAAABBBAAAAAABAAAAAAAAAA]와 같은 스트림의 경우 런-렝스 코드를 통해 [12]AB[13]A[3]B[6]AB[10]A과 같이 개수와 심볼의 혼합으로 표현할 수 있다.(숫자 = 반복횟수) 이러한 런-렝스 코드 방식은 기 본적으로 이진수(Binary Number)가 아닌 문자(Character)의 스트림에 적합하며 또한 그 스트림의 길이가 길고, 연속적으로 반복되는 개수가 많을 경우에 효과가 있다.
도 9 및 도 11에서 예를 들어 설명한 8비트의 데이터 [00000100]를 런-렝스 코드로 표현하면 [5]01[2]0으로 표현된다. 그리나 상기 런-렝스 코드로 표현된 [5]01[2]를 2진수로 표현할 경우, 개수와 심볼이 모두 숫자로 이루어져 있으므로, 상기 개수와 심볼을 구분할 방법이 모호하다. 즉 이진수로 표현하면 [101010100]으로 표현되는데, 상기 이진수로 표현한 데이터는 8비트를 초과하였을 뿐 아니라 이 정보만 가지고 디코딩하는 것은 불가능하다. 그리고 런-렝스 코드에서 개수와 심볼을 구분하기 위한 방법을 사용할 경우(예를 들어 ASCII 문자 코드로 변환), 전체 비트의 수가 8 비트를 훨씬 초과하게 된다. 따라서 본 발명이 적용되는 8Bit, 32Bit, 64Bit과 같은 비교적 적은 숫자의 데이터 단위의 직렬 고속 전송에서는 런-렝스 코드를 사용하는 것이 비효율적이다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상 설명한 바와 같이, 본 발명은 직렬 통신시스템에서 병렬 데이터를 직렬 데이터로 변환하여 전송하는 경우, 종래 코딩 방식을 이용하여 신호변화 수(Bit Transition)을 감소시켜 전송시 소모하는 동적 전력을 최소화 하였다.
또한 본 발명은 압축코딩방식을 사용하여 전송량을 줄임으로써, 전송시 걸리는 시간을 감소할 수 있다. 이에 따라 동일 시간에 더 많은 개수의 데이터를 전송할 수 있으므로, 유효 전송 대역폭을 증가 시킬 수 있다.

Claims (20)

  1. 직렬 통신 시스템에서 코딩된 병렬 데이터를 직렬 데이터로 변환하여 전송하는 방법에 있어서,
    사일런트 코딩된 병렬 데이터에서 첫 번째 발견되는 정보 비트의 위치를 출력하는 과정; 및
    상기 정보 비트의 위치에 도달될 때까지 카운트를 증가시켜가면서 상기 사일런트 코딩된 병렬 데이터를 비트 단위로 직렬 출력하는 과정을 포함하는 직렬 데이터 전송 방법.
  2. 제 1 항에 있어서,
    상기 카운트는
    설정된 초기 카운트부터 상기 사일런트 코딩된 병렬 데이터의 비트의 위치를 카운트하는 직렬 데이터 전송 방법.
  3. 제 1 항에 있어서,
    상기 정보 비트의 위치와 상기 카운트가 동일한 경우, 상기 카운트를 리셋하고 상기 사일런트 코딩된 병렬 데이터의 끝을 의미하는 신호를 출력하는 직렬 데이 터 전송 방법.
  4. 제 1 항에 있어서,
    상기 정보 비트의 위치와 상기 카운트가 상이한 경우, 상기 카운트를 증가하는 과정을 더 포함하는 직렬 데이터 전송 방법.
  5. 제 1 항에 있어서,
    상기 정보 비트의 다음 비트부터는 전송하지 않는 직렬 데이터 전송 방법.
  6. 직렬 통신 시스템에서 직렬 데이터를 코딩된 병렬 데이터로 변환하여 수신하는 방법에 있어서,
    압축된 직렬 데이터의 끝을 의미하는 신호가 입력될 때까지 카운트를 증가시켜가며 상기 압축된 직렬 데이터를 비트단위로 해당 래치에 저장하는 과정; 및
    상기 압축된 직렬 데이터의 끝을 의미하는 신호가 입력된 경우, 복수의 래치에 저장된 비트를 병렬 출력하는 과정을 포함하는 직렬 데이터 수신 방법.
  7. 제 6 항에 있어서,
    상기 카운트는
    설정된 초기 카운트부터 상기 압축된 직렬 데이터의 비트를 카운트하는 직렬 데이터 수신 방법.
  8. 제 6 항에 있어서,
    상기 압축된 직렬 데이터의 끝을 의미하는 신호가 입력된 경우, 상기 카운트를 리셋함을 더 포함하는 직렬 데이터 수신 방법.
  9. 제 6 항에 있어서,
    상기 복수의 래치는
    상기 압축된 직렬 데이터의 각 비트를 저장하기 전 리셋됨을 더 포함하는 직렬 데이터 수신 방법.
  10. 직렬 통신 시스템에서 코딩된 병렬 데이터를 직렬 데이터로 변환하여 전송하는 장치에 있어서,
    사일런트 코딩된 병렬 데이터에서 첫 번째 발견되는 정보 비트의 위치에 도 달될 때까지 카운트를 증가시켜가면서 출력하고, 상기 사일런트 코딩된 병렬 데이터의 끝을 의미하는 신호를 수신 장치에 출력하는 압축부; 및
    상기 출력된 카운트가 가리키는 위치에 해당하는 상기 사일런트 코딩된 병렬 데이터를 비트 단위로 직렬 출력하는 직렬 변환부를 포함하는 직렬 데이터 전송 장치.
  11. 제 10 항에 있어서,
    상기 카운트는 설정된 초기 카운트부터 상기 사일런트 코딩된 병렬 데이터의 비트의 위치를 카운트하는 직렬 데이터 전송 장치.
  12. 제 10 항에 있어서,
    상기 직렬 변환부는
    상기 정보 비트의 다음 비트부터는 전송하지 않는 직렬 데이터 전송 방법.
  13. 제 10 항에 있어서,
    상기 압축부는
    상기 사일런트 코딩된 병렬 데이터에서 상기 MSB로부터 첫 번째 발견되는 정 보 비트의 위치를 출력하는 인코더;
    상기 정보 비트의 위치에 도달될 때까지 상기 카운트를 증가하여 상기 카운트를 출력하는 카운터; 및
    상기 정보 비트의 위치와 상기 카운트가 동일한 경우, 상기 카운트를 리셋하고 상기 사일런트 코딩된 병렬 데이터의 끝을 의미하는 신호를 출력하는 비교기를 포함하는 직렬 데이터 전송 장치.
  14. 제 13 항에 있어서,
    상기 비교기는 상기 정보 비트의 위치와 상기 카운트가 상이한 경우, 상기 카운터에서 상기 카운트를 증가시키도록함을 더 포함하는 송신장치.
  15. 직렬 통신시스템에서 직렬 데이터를 코딩된 병렬 데이터로 변환하여 수신하는 장치에 있어서,
    압축된 직렬 데이터의 끝을 의미하는 신호가 입력될 때까지 카운트를 증가시켜 출력하는 압축해제부; 및
    상기 압축된 직렬 데이터 중 상기 카운트된 위치에 해당하는 비트를 해당 래치에 저장하고, 상기 압축된 직렬데이터의 끝을 의미하는 신호가 입력된 경우, 복수의 래치에 저장된 비트를 출력하는 병렬 변환부를 포함하는 직렬 데이터 수신 장 치.
  16. 제 15 항에 있어서,
    상기 카운트는
    설정된 초기 카운트부터 상기 압축된 직렬 데이터의 비트를 카운트하는 직렬 데이터 수신장치.
  17. 제 15 항에 있어서,
    상기 병렬 변환부는
    상기 복수의 래치에 상기 압축된 직렬 데이터의 각 비트가 저장되기 전 상기 복수의 래치를 리셋하도록 더 구성된 직렬 데이터 수신 장치.
  18. 코딩된 병렬 데이터를 직렬 데이터로 변환하여 송수신하는 직렬 통신 시스템에 있어서,
    사일런트 코딩된 병렬 데이터에서 첫 번째 발견되는 정보 비트의 위치에 도달될 때까지 제1 카운트를 증가시켜가면서 상기 사일런트 코딩된 병렬 데이터를 비트 단위로 직렬 출력하여 압축된 직렬 데이터를 전송하는 직렬 데이터 전송 장치; 및
    상기 압축된 직렬 데이터의 끝을 의미하는 신호가 입력될 때까지 제2 카운트를 증가시켜가며 상기 압축된 직렬 데이터를 비트 단위로 해당 래치에 저장하고, 상기 압축된 직렬 데이터의 끝을 의미하는 신호가 입력되면 복수의 래치에 저장된 비트를 병렬 출력하는 직렬 데이터 수신 장치를 포함하는 직렬 통신 시스템.
  19. 제 18 항에 있어서,
    상기 직렬 데이터 전송 장치에서
    상기 제1 카운트는 설정된 초기 카운트부터 상기 사일런트 코딩된 병렬 데이터의 비트의 위치를 카운트하는 직렬 통신 시스템.
  20. 제 18 항에 있어서,
    상기 직렬 데이터 수신 장치에서
    상기 제2 카운트는 설정된 초기 카운트부터 상기 압축된 직렬 데이터의 비트의 위치를 카운트하는 직렬 통신 시스템.
KR1020070008889A 2007-01-29 2007-01-29 직렬 통신 시스템에서 직렬 데이터의 송수신 방법 및 장치와 이를 위한 직렬 통신 시스템 KR100969748B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020070008889A KR100969748B1 (ko) 2007-01-29 2007-01-29 직렬 통신 시스템에서 직렬 데이터의 송수신 방법 및 장치와 이를 위한 직렬 통신 시스템
CN2008800033173A CN101595645B (zh) 2007-01-29 2008-01-28 串行通信系统中发送/接收串行数据的方法和系统及其串行通信系统
JP2009545501A JP2010516162A (ja) 2007-01-29 2008-01-28 直列通信システムにおける直列データの送受信方法及び装置とこのための直列通信システム
EP08712213.1A EP2127097B1 (en) 2007-01-29 2008-01-28 Method and system for transmitting/receiving serial data in serial communication system and serial communication system for the same
PCT/KR2008/000511 WO2008093973A1 (en) 2007-01-29 2008-01-28 Method and system for transmitting/receiving serial data in serial communication system and serial communication system for the same
US12/021,730 US7675438B2 (en) 2007-01-29 2008-01-29 Method and system for transmitting/receiving serial data in serial communication system and serial communication system for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070008889A KR100969748B1 (ko) 2007-01-29 2007-01-29 직렬 통신 시스템에서 직렬 데이터의 송수신 방법 및 장치와 이를 위한 직렬 통신 시스템

Publications (2)

Publication Number Publication Date
KR20080070949A true KR20080070949A (ko) 2008-08-01
KR100969748B1 KR100969748B1 (ko) 2010-07-13

Family

ID=39667332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070008889A KR100969748B1 (ko) 2007-01-29 2007-01-29 직렬 통신 시스템에서 직렬 데이터의 송수신 방법 및 장치와 이를 위한 직렬 통신 시스템

Country Status (6)

Country Link
US (1) US7675438B2 (ko)
EP (1) EP2127097B1 (ko)
JP (1) JP2010516162A (ko)
KR (1) KR100969748B1 (ko)
CN (1) CN101595645B (ko)
WO (1) WO2008093973A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100946177B1 (ko) * 2008-01-11 2010-03-08 한국과학기술원 데이터 송수신 장치 및 방법
US8166219B2 (en) 2008-12-05 2012-04-24 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding bus signal
KR101497870B1 (ko) * 2014-02-06 2015-03-04 계명대학교 산학협력단 전력데이터 처리유닛 및 처리방법, 이의 모바일 기기

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101664430B1 (ko) 2009-11-13 2016-10-10 삼성전자주식회사 리모트 ui 서비스 제공 방법 및 장치
US9219509B1 (en) * 2012-05-04 2015-12-22 Rambus Inc. System performance improvement using data reordering and/or inversion
US9966970B2 (en) 2015-04-09 2018-05-08 Oracle International Corporation Efficient silent code assignment to a set of logical codes
TWI637614B (zh) * 2017-03-28 2018-10-01 國立中央大學 無線射頻辨識標籤的快速辨識方法
US11561601B2 (en) * 2020-06-05 2023-01-24 Apple Inc. Method for performing system and power management over a serial data communication interface

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1162399B (de) * 1961-10-24 1964-02-06 Ibm Verdichter fuer Daten, deren statistische Verteilung sehr stark schwankt
US3711650A (en) * 1970-10-26 1973-01-16 Logicon Inc Adaptive pulse code modulation system
US3875344A (en) * 1973-03-15 1975-04-01 Westinghouse Electric Corp Digital data compression method and system
JPS6054537A (ja) * 1983-09-05 1985-03-29 Sony Corp ディジタル信号伝送方法
JPH04144325A (ja) * 1990-10-04 1992-05-18 Toshiba Corp フレーム同期装置
KR0140341B1 (ko) * 1994-02-04 1998-07-01 김광호 직병렬 변환 인터페이스회로
JPH07327227A (ja) * 1994-05-31 1995-12-12 Sony Corp 画像伝送装置
KR0164101B1 (ko) * 1994-12-12 1998-12-15 양승택 광 케이블 텔레비젼 전송망에서의 가입자 접속/단말 장치간 통신을 위한 신호 프레임 통신장치
KR100313290B1 (ko) * 1996-04-18 2002-02-28 쥬리 페트로비치 밀토 이진코드압축과복원방법병렬압축과복원프로세서
US5654703A (en) * 1996-06-17 1997-08-05 Hewlett-Packard Company Parallel data compression and decompression
US6195764B1 (en) * 1997-01-30 2001-02-27 Fujitsu Network Communications, Inc. Data encoder/decoder for a high speed serial link
JP3612219B2 (ja) 1998-09-11 2005-01-19 株式会社リコー 画像データ送受信処理方法及びその装置
JP3603732B2 (ja) * 2000-03-16 2004-12-22 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP3646644B2 (ja) * 2000-10-31 2005-05-11 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US6670899B1 (en) * 2001-06-01 2003-12-30 National Semiconductor Corporation Interface circuit for multiplexing multiple serial data streams from unsynchronized clock domains
US6653957B1 (en) * 2002-10-08 2003-11-25 Agilent Technologies, Inc. SERDES cooperates with the boundary scan test technique
JP4034172B2 (ja) * 2002-11-20 2008-01-16 Necエレクトロニクス株式会社 エンコーダ、デコーダおよびデータ転送装置
KR101015497B1 (ko) * 2003-03-22 2011-02-16 삼성전자주식회사 디지털 데이터의 부호화/복호화 방법 및 장치
JP2005229441A (ja) * 2004-02-13 2005-08-25 Sony Corp 画像符号化装置及び方法、並びに画像復号装置及び方法
JP3874357B2 (ja) * 2004-07-05 2007-01-31 シャープ株式会社 データ送信装置、データ受信装置、データ送受信装置およびデータ送受信方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100946177B1 (ko) * 2008-01-11 2010-03-08 한국과학기술원 데이터 송수신 장치 및 방법
US8166219B2 (en) 2008-12-05 2012-04-24 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding bus signal
KR101497870B1 (ko) * 2014-02-06 2015-03-04 계명대학교 산학협력단 전력데이터 처리유닛 및 처리방법, 이의 모바일 기기

Also Published As

Publication number Publication date
CN101595645A (zh) 2009-12-02
EP2127097A4 (en) 2012-04-11
JP2010516162A (ja) 2010-05-13
WO2008093973A1 (en) 2008-08-07
US7675438B2 (en) 2010-03-09
CN101595645B (zh) 2013-06-12
KR100969748B1 (ko) 2010-07-13
US20080180288A1 (en) 2008-07-31
EP2127097A1 (en) 2009-12-02
EP2127097B1 (en) 2014-03-05

Similar Documents

Publication Publication Date Title
KR100969748B1 (ko) 직렬 통신 시스템에서 직렬 데이터의 송수신 방법 및 장치와 이를 위한 직렬 통신 시스템
EP0853852B1 (en) Block coding for digital video transmission
US7973682B2 (en) Configurations for data ports at digital interface for multiple data converters
CN1713626B (zh) 电压电平编码系统和方法
KR100335138B1 (ko) 비디오코더의가변부호화기및이를이용한코딩방법
CN101017574A (zh) 一种适于jpeg码流的哈夫曼解码方法
US6311239B1 (en) Architecture, circuitry and method for transmitting n-bit wide data over m-bit wide media
CN101847997A (zh) 一种9b/10b编解码器及其实现方法
JP3378832B2 (ja) エンコーダ回路
WO1997005737A1 (en) Sliding window with big gap data compression system
US6114979A (en) (N) bit (M) ternary coding circuit
CA2661008A1 (en) Method and apparatus for transferring digital data between circuits
CN111934707A (zh) 数据发射代码和接口
KR100636370B1 (ko) 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법
KR20230050256A (ko) 데이터 부호화 방법 및 부호기와 데이터 복호화 방법
US8166219B2 (en) Method and apparatus for encoding/decoding bus signal
KR100946177B1 (ko) 데이터 송수신 장치 및 방법
KR101127063B1 (ko) 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 포함하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 매체와, 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 이용하는 인코더 및 디코더와, 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 이용한 인코딩 방법 및 디코딩 방법과, 이를 행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체
CN201054155Y (zh) 一种适于jpeg码流的哈夫曼解码装置
JP3863652B2 (ja) 可変長コードの整列化装置
KR100260816B1 (ko) 고속 전송 시스템의 부호화/복호화 장치 및 방법
KR100275267B1 (ko) 고속 가변길이부호 복호화 장치
Pasumarthi et al. EHTC: An Enhanced Huffman Tree Coding Algorithm and its FPGA Implementation
JP2011155330A (ja) 伝送システム
KR101311617B1 (ko) 저전력 대규모 집적 회로 시스템을 위한 어드레스 버스코딩/디코딩 방법 및 장치

Legal Events

Date Code Title Description
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: 20130627

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 8