KR102577825B1 - 송신기, 수신기, 데이터 전송 시스템 및 데이터 전송 방법 - Google Patents

송신기, 수신기, 데이터 전송 시스템 및 데이터 전송 방법 Download PDF

Info

Publication number
KR102577825B1
KR102577825B1 KR1020160070723A KR20160070723A KR102577825B1 KR 102577825 B1 KR102577825 B1 KR 102577825B1 KR 1020160070723 A KR1020160070723 A KR 1020160070723A KR 20160070723 A KR20160070723 A KR 20160070723A KR 102577825 B1 KR102577825 B1 KR 102577825B1
Authority
KR
South Korea
Prior art keywords
transmitter
data
state
bus
valid
Prior art date
Application number
KR1020160070723A
Other languages
English (en)
Other versions
KR20160148456A (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 KR20160148456A publication Critical patent/KR20160148456A/ko
Application granted granted Critical
Publication of KR102577825B1 publication Critical patent/KR102577825B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/04TPC
    • H04W52/18TPC being performed according to specific parameters
    • H04W52/22TPC being performed according to specific parameters taking into account previous information or commands
    • H04W52/221TPC being performed according to specific parameters taking into account previous information or commands using past power control commands
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4269Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a handshaking protocol, e.g. Centronics connection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • H04L1/0063Single parity check
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/13Flow control; Congestion control in a LAN segment, e.g. ring or bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4278Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

데이터 전송 시스템, 데이터 전송 방법 및 대응하는 송신기 및 수신기가 개시되어 있다. 송신기와 수신기 간의 통신 프로토콜은 송신기로부터 수신기로 통신하기 위한 유효 송신 상태들의 세트와, 수신기로부터 송신기로 송신하기 위한 유효 확인 상태들의 세트를 이용해서 정의된다. 이들 상태의 각각의 유효 상태에 있어서, 0의 패턴 간의 해밍 거리와, 1의 패턴 간의 해밍 거리는 적어도 하나이며, 상기 송신기는 요청 버스 상의 수신기에 전해진 송신 상태와 매치하는 수신기로부터의 확인 상태의 수신에 응답해서 다수의 송신 상태 사에서 천이하도록 구성된다. 이에 따라, 멀티 전압 및/또는 클럭 도메인 인터페이스 전체에 걸쳐 강인한 통신 프로토콜이 제공된다.

Description

송신기, 수신기, 데이터 전송 시스템 및 데이터 전송 방법{A TRANSMITTER, A RECEIVER, A DATA TRANSFER SYSTEM AND A METHOD OF DATA TRANSFER}
본 개시는 데이터 처리에 관한 것이다. 좀 더 구체적으로, 본 개시는 송신기로부터 수신기로의 데이터 전송에 관한 것이다.
데이터 처리 시스템에서 하나의 구성소자("송신기")가 또 다른 구성소자("수신기")로 데이터를 전송할 필요성이 있을 수도 있다. 송신기와 수신기 사이에서 신뢰할 수 있는 데이터의 전송을 지원하기 위해서, 송신기가 한 다발의 데이터 비트들을 수신기로 전송할 준비를 나타내며, 수신기가 그 한 다발의 데이터 비트들을 수신할 준비를 나타내는, 한 쌍의 요청 및 확인 핸드쉐이크 신호(a pair of request and acknowledge handshake signals)를 이용하는 통신 프로토콜이 이용될 수도 있다. 일단 이 상호 준비가 확립되었으면, 송신기는 데이터를 수신기로 전송할 수 있다. 그렇지만, 그것은 송신기와 수신기 사에서(양방향으로) 신호들이 전달되는 방식에 대한 의미 있는 결과를 가질 수 있는, 현저히 다른 전압 환경에 송신기와 수신기가 있는 경우일 수도 있고, 그러한 상황에서는 기본 2개의 위상 핸드쉐이크 프로토콜(phase handshake protocol)이 더 보수적인 4개의 위상 프로토콜로 확장되는 프로토콜이 채용될 수도 있으며, 여기서 양쪽 상승 에지와 하강 에지 천이는 인터페이스를 통해서 신호를 받는다. 그 대신에, 특히 고속 직렬 통신의 상황에서는, 데이터와 반전된 데이터가 모두 인터페이스를 통해서 병렬로 신호를 받아 수신기에서 단일 종단 값(single ended value)으로 다시 변환되는, 차동 신호 접근법(differential signalling approach)이 채용되어도 되고, 그 종단 값은 스펙 전압 범위(specification voltage ranges) 내에서 양쪽 원래의 데이터와 반전된 데이터가 안정화되었을 때 유효한 것으로 간주된다. 또한, 송신 인터페이스는 입출력 분리 및 비동기 클럭 도메인 간의 교차를 가질 수도 있다. 이렇게 그러한 인터페이스를 통한 상승 및 하강 시간의 타이밍이 설계에 의해 세심하게 관리될 필요가 있다.
하나의 예시 실시예에 있어서는, 데이터 버스, 요청 버스 및 확인 버스; 상기 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내는 현재 송신 상태를, 통신 프로토콜에 따라 상기 요청 버스에 어써트(assert)하는 송신기; 및 상기 통신 프로토콜에 따라 수신된 송신 상태를 상기 요청 버스로부터 판독하고, 상기 수신된 송신 상태가 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 중의 유효 송신 상태일 때, 상기 확인 버스에 확인 상태를 어써트하는 수신기를 구비하는 데이터 전송 시스템이 제공되고, 상기 송신기는 상기 통신 프로토콜에 따라 수신된 확인 상태를 상기 확인 버스로부터 판독하도록 구성되고, 상기 송신기는 상기 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 유효 확인 상태의 수신에 응답해서, 상기 유효 확인 상태가 상기 송신기의 상태에 대응할 때, 상기 데이터 버스를 통한 데이터 전송에 대하여 상기 송신기의 상태를 천이하고, 상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 패턴 간의 해밍 거리(Hamming distance)와, 1의 패턴들 간의 해밍 거리는 적어도 하나이며, 상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는, 적어도 하나이다.
또 다른 예시 실시예에 있어서는, 데이터 버스, 요청 버스 및 확인 버스를 구비하는 데이터 전송 시스템에서의 데이터 전송 방법이 제공되고, 상기 방법은, 상기 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내는 송신기의 현재 송신 상태를, 통신 프로토콜에 따라 상기 요청 버스에 어써트(assert)하는 단계와, 상기 통신 프로토콜에 따라 수신한 송신 상태를 상기 요청 버스로부터 판독하는 단계와, 상기 수신한 송신 상태가 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 중의 유효 송신 상태일 때 상기 확인 버스에 확인 상태를 어써트하는 단계와, 상기 통신 프로토콜에 따라 수신한 확인 상태를 상기 확인 버스로부터 판독하는 단계와, 상기 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 유효 확인 상태의 수신 시에, 상기 유효 확인 상태가 상기 송신기의 상태에 대응할 때, 상기 데이터 버스를 통한 데이터 전송에 대하여 상기 송신기의 상태를 천이하는 단계를 포함하고, 상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는, 적어도 하나이고, 상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는, 적어도 하나이다.
또 다른 예시 실시예에 있어서는, 데이터를 전송하는 수단; 요청을 전송하는 수단; 확인을 전송하는 수단; 상기 데이터를 전송하는 수단을 통한 데이터 전송에 대하여 송신기의 상태를 나타내는 송신기의 현재 송신 상태를, 통신 프로토콜에 따라 상기 요청을 전송하는 수단을 통해서 어써트하는 수단; 상기 통신 프로토콜에 따라 수신한 송신 상태를 상기 요청을 전송하는 수단으로부터 판독하는 수단; 상기 수신한 송신 상태가 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 중의 유효 송신 상태일 때, 상기 확인을 전송하는 수단을 통해서 확인 상태를 어써트하는 수단; 상기 통신 프로토콜에 따라 수신된 확인 상태를 상기 확인을 전송하는 수단으로부터 판독하는 수단; 상기 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 유효 확인 상태의 수신 시에, 상기 유효 확인 상태가 상기 송신기의 상태에 대응할 때, 상기 데이터를 전송하는 수단을 통한 데이터 전송에 대하여 상기 송신기의 상태를 천이하는 수단을 구비하는 데이터 전송 시스템이 제공되고, 상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이고, 상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이다.
또 다른 예시 실시예에 있어서, 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내는 현재 송신 상태를, 통신 프로토콜에 따라 요청 버스에 어써트(assert)하는 상태 송신 회로; 상기 통신 프로토콜에 따라 수신한 확인 상태를 확인 버스로부터 판독하는 상태 수신 회로를 구비하는 송신기가 제공되고, 상기 송신기는 상기 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 유효 확인 상태의 수신에 응답해서, 상기 유효 확인 상태가 상기 송신기의 상태에 대응할 때, 상기 데이터 버스를 통한 데이터 전송에 대하여 상기 송신기의 상태를 천이하고, 상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이고, 상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이다.
또 다른 예시 실시예에 있어서, 현재 송신 상태가 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내고, 통신 프로토콜에 따라 수신한 송신 상태를 요청 버스로부터 판독하는 상태 수신 회로와, 상기 수신한 송신 상태가 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 중의 유효 송신 상태일 때 확인 상태를 확인 버스에 어써트(assert)하는 상태 송신 회로를 구비하는 수신기가 제공되고, 상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이고, 상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이다.
본 기술은 첨부도면에 예시한 것처럼 그것의 실시예를 참조하여 한 예로서만 더 설명될 것이다.
도 1은 일 실시예에 있어서의 데이터 전송 시스템을 개략적으로 나타낸 것이다.
도 2는 도 1에 나타낸 송신기와 수신기의 구성소자들을 좀 더 자세히 개략적으로 나타낸 것이다.
도 3a는 일 실시예에 있어서 송신기가 요청 버스에 어써트(assert)할 수 있는 유효 현재 송신 상태들의 세트를 나타낸 것이다.
도 3b는 일 실시예에 있어서, 도 3a에 나타낸 유효 송신 상태들과, 수신될 수 있는 추가 무효 송신 상태들을 모두 포함하는 요청 버스로부터 해석하도록 수신기가 구성되는 수신된 송신 상태들의 세트를 나타낸 것이다.
도 3c 및 도 3d는 각 실시예에 있어서 수신기가 송신기로부터 유효 송신 상태를 수신할 때 확인 버스에 어써트하도록 구성되는 유효 확인 상태들의 2개의 대체 가능한 세트를 나타낸 것이다.
도 3e는 일 실시예에 있어서 송신기가 유효 확인 상태들의 세트와 무효 확인 상태들의 세트를 모두 포함하는, 확인 버스로부터 판독하도록 구성되는 확인 상태들의 세트를 나타낸 것이다.
도 4는 일 실시예에 있어서 이들 상태에서의 천이에 대한 조건과 송신기에 대한 상태도를 나타낸 것이다.
도 5는 일 실시예에 있어서 수신기에 의해 요청 버스로부터 판독된 수신한 송신 상태들의 해석에 대응하는 상태도를 나타낸 것이다.
도 6은 일 실시예에 있어서 송신기와 수신기 사이에서 교환되는 신호들의 시퀀스의 예를 나타낸 것이다.
도 7a 및 7b는 각 실시예에 있어서 웨이크업 회로의 구성을 개략적으로 나타낸 것이다.
도 8은 일 실시예에 있어서 인터페이스를 통해서 각 방향으로 4개의 비차단 가상 데이터 송신 채널이 지지되는 데이터 전송 시스템을 개략적으로 나타낸 것이다.
도 9는 일 실시예에 있어서 인터페이스 루프 백 테스트 모드가 사용될 때 도 8의 수신기 내에서의 연결을 개략적으로 나타낸 것이다.
적어도 일부 실시예들은 데이터 버스, 요청 버스 및 확인 버스; 상기 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내는 현재 송신 상태를, 통신 프로토콜에 따라 상기 요청 버스에 어써트(assert)하는 송신기; 상기 통신 프로토콜에 따라 수신된 송신 상태를 상기 요청 버스로부터 판독하고, 상기 수신된 송신 상태가 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 중의 유효 송신 상태일 때, 상기 확인 버스에 확인 상태를 어써트하는 수신기를 구비하는 데이터 전송 시스템을 제공하고, 상기 송신기는 상기 통신 프로토콜에 따라 수신된 확인 상태를 상기 확인 버스로부터 판독하도록 구성되고, 상기 송신기는 상기 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 유효 확인 상태의 수신에 응답해서, 상기 유효 확인 상태가 상기 송신기의 상태에 대응할 때, 상기 데이터 버스를 통한 데이터 전송에 대하여 상기 송신기의 상태를 천이하고, 상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이며, 상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는, 적어도 하나이다.
본 기술은 송신기에 대한 다수의 유효 송신 상태를 정의하는 통신 (인터페이스) 프로토콜을 제안하고, 송신기는 유효 송신 상태들 중의 하나를 요청 버스에 어써트함으로써 버스를 통한 데이터 전송에 대하여 그것의 현재 상태를 표시하기 위해서 요청 버스를 이용한다. 인터페이스의 다른 측면에 있어서는, 수신기는 요청 버스를 판독해서 동일한 통신 프로토콜에 따라 송신기의 송신 상태를 판정한다. 수신기가 요청 버스로부터 판독하는 수신한 송신 상태가 통신 프로토콜에 따른 공지된 유효 송신 상태들 중의 하나이면, 수신기는 확인 상태를 확인 버스에 어써트하는 것으로 응답한다. 이것은 단순히 요청 버스로부터 수신기에 의해 판독된 유효 송신 상태의 비트가 동일한 복사본(bit-identical copy)일 수도 있지만, 동일한 의미론적인 의미를 갖는 상이한 비트 어써션 포맷(different bit assertion format)을 취할 수도 있다. 송신기는 확인 버스로부터 확인 상태를 판독하고, 이 확인 상태가 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 하나이며, 추가로 이 유효 확인 상태는 송신기의 상태에 대응하고, 그 다음에 송신기는 데이터 버스에 의한 데이터 송신에 대하여 그것의 상태를 천이하는 것으로 응답한다. 상기 언급한 것처럼, 이것은 송신기가 요청 버스에 어써트한 송신 상태와 확인 상태가 비트가 같기 때문일 수도 있고, 또는 그것은 이 유효 확인 상태, 상이한 어써트된 비트 포맷 수단을 갖도록 정의되지만, 송신기가 요청 버스에 어써트한 송신 상태로 표시된 것과 같은 송신기 상태를 송신가 이해하는 경우일 수도 있다.
송신기가 그것의 상태를 천이하는 특정한 방식, 가능한 상태의 수 및 그들 간의 리갈 경로(legal path)는 다양한 형태를 취할 수도 있지만, 예를 들면 정의된 상태도의 상태들 사이에서의 천이를 허용하는 상태 머신에 의해, 그리고 이들 상태 사이에서의 (어떤 조건에 따른) 정의된 경로를 통해서 제공될 수도 있다. 수신기에 의한 송신 상태들 및 역으로 송신기에 의한 확인 상태들의 신뢰할 수 있는 해석을 지지하기 위해서, 통신 프로토콜은 유효 송신 상태들에 있어서의 0의 패턴들이 적어도 하나의 서로 사이의 해밍 거리를 갖도록 유효 송신 상태들의 세트를 정의한다. 마찬가지로, 유효 송신 상태들에 있어서의 1의 패턴들은 적어도 하나의 서로 사이의 해밍 거리를 갖는다. 같은 방법으로, 유효 확인 상태들의 세트는, 유효 확인 상태들에 있어서의 0의 패턴들이 적어도 하나의 서로 사이의 해밍 거리를 갖고, 유효 확인 상태들에 있어서의 1의 패턴들이 적어도 하나의 서로 사이의 해밍 거리를 갖도록 정의된다. 이 통신 프로토콜의 특징은, 이들 2개의 구성소자들 사이의 경계 전체에 걸쳐 상승 및 하강 시간의 천이 타이밍에 미칠 수 있는 영향으로 인해, 상이한 전압 도메인에서 송신기와 수신기가 동작할 때 일어날 수 있는 문제를 해결한다. 실제로, 그러한 상황은 상승 에지가 하강 에지보다 빨리 전파되거나 그 반대로 전파되는 효과가 있을 수도 있다. 그 결과, 요청 버스/확인 버스에 각각 어써튼된 송신 상태/확인 상태의 비트가 이미 그들의 정확한 최종상태에 도달했던 각각의 신호의 다른 비트들과 관련하여 잘못된 상태에서 일시적으로 검출될 수도 있어, 송신기에 의해 요청 버스에 어써트된 송신 상태 또는 수신기에 의해 확인 버스에 어써트된 확인 상태에 각각 대응하지 않는 수신기에 의해 요청 버스에 판독된 송신 상태 또는 송신기에 의해 확인 버스에 판독된 확인 상태가 발생하게 된다. 적어도 하나의 상호간의 해밍 거리를 각각 갖는 0과 1의 패턴을 모두 제시하는 세트 내에 포함되어 있는 것과 같은 유효 송신 및 확인 상태를 정의함으로써, 그 발신자(originator)의 참된 통신 상태로서 이들 중간 상태 중의 하나의 오인식을 회피한다. 즉, 유효 송신 상태들의 세트 중의 2개의 유효 송신 상태는 각각 적어도 하나의 해밍 거리에 의해 다른 패턴과 다른 0의 패턴을 가져야 한다. 동일한 규칙이 유효 송신 상태들의 세트에 있어서의 1의 패턴에 적용된다. 마찬가지로, 유효 확인 상태들의 세트 중의 2개의 유효 확인 상태는 각각 적어도 하나의 해밍 거리에 의해 0(1)의 다른 패턴과 상이한 0(1)의 패턴을 가져야 한다. 이와 같이 수신기와 송신기의 현재 송신 상태의 신뢰할 수 있는 통신과, 송신기로 돌아가서 수신기에 의한 그 상태의 확인은, 인터페이스를 통한 각 신호의 양쪽 상승 및 하상 에지 천이에 대한 개별 요청 및 확인 핸드쉐이크에 의존하지 않고, 지지된다. 마찬가지로, 차동 시그널링(differential signalling) 및 그 결과로 일어나는 데이터 경로 대역폭의 더블링(doubling)을 이용하는 또 다른 접근법도 회피된다.
유효 송신 상태들의 세트 및 유효 확인 상태들의 세트의 특정 구성은, 다양한 형태를 취할 수도 있지만, 몇몇 실시예에 있어서는, 유효 송신 상태들의 세트 및 유효 확인 상태들의 세트는 각각 일정한 패리티 값을 갖는다. 이와 같이 예를 들면, 그러한 실시예에 있어서는, 유효 송신 상태들의 세트는 모두 서로 같은 패리티 값을 갖고, 이것은 그 후에 (신호의 패리티의 변화를 동반하지 않는) 유효 송신 상태들 간의 천이와 (신호의 패리티 값의 변화를 동반하는) 무효 송신 상태에 대한 변화(아마도 일시적인)를 식별하는 방법을 수신기에 제공한다. 같은 원리가 송신기에 의한 확인 상태 천이의 인식에 적용된다.
유효 송신 상태들의 세트와 유효 확인 상태들의 세트는 (예를 들면, 스탠바이 상태와 다수의 유효 데이터 전송 송신 상태들을 나타내는) 데이터 버스를 통한 "참" 데이터 전송에만 관련이 있을 수도 있지만, 몇몇 실시예에 있어서는, 유효 송신 상태들의 세트와 유효 확인 상태들의 세트는 각각 일정한 패리티 값을 갖는 테스트 모드 상태를 포함한다. 테스트 모드 상태가 또한 유효 송신 상태들의 세트와 유효 송신 상태들의 세트와 같은 패리티 값을 갖는다는 점에서, 그러한 테스트 모드 상태의 제공은 데이터 전송 시스템의 능력을 셀프 테스트(self-test)에, 예를 들면 멀티 비트 데이터 버스의 각각의 테스트 비트 송신 경로에 지지하고, 테스트 모드 상태는 송신기에 의해 어써트될 때 수신기에 의해 신뢰할 수 있게 인식될 수 있으며, 역으로 송신기는 수신기로부터 수신된 이 표시된 테스트 모드 상태의 유효 확인을 신뢰할 수 있게 인식할 수 있다.
데이터 전송 시스템이, 송신기가 나타낸 그러한 테스트 모드 상태를 이용하는 특정 방식은 다양한 형태를 취할 수도 있지만, 몇몇 실시예에 있어서는, 데이터 버스는 송신기-수신기 데이터 버스와 수신기-송신기 데이터 버스를 구비하고, 수신기는 테스트 모드 상태인 수신한 송신 상태에 응답해서 송신기-수신기 데이터 버스에 수신된 데이터를 수신기-송신기 데이터 버스에 송신한다. 이와 같이, 송신기가 테스트 모드 상태를 어써트할 때, 수신기는, 송신기-수신기 데이터 버스에 수신된 데이터가 수신기-송신기 데이터 버스를 통해서 송신기로 복귀되는 루프 백(loop back) 구성에 진입하는 것으로 응답할 수도 있다. 이 데이터를 복귀시키는 것은 간단히 수신된 비트 값들을 다시 반영하는 것을 포함할 수도 있고, 또는 또 다른 포맷(예를 들면 반전된 데이터 비트)으로 송신되고 있는 이 데이터를 포함할 수도 있다. 이와 같이, 송신기가 송신하는 데이터를 수신기가 충실히 수신하고 있다는 것을 체크하기 위해서 송신기는 2개의 데이터 버스의 한 개 이상의 비트를 테스트할 수 있다. 또한, 수신기가 (통신 프로토콜에 따른) 송신기에 의해서, 송신기에 의한 테스트 모드 상태의 유효 어써션에 응답하여 그러한 루프 백 테스트 모드에 진입하는 것으로 알려져 있는 사실 덕분에, 신뢰할 수 있는 통신을 확립하고자 하는 수신기의 복잡하거나 상세한 모델을 가질 필요없이, 송신기가 인터페이스 와이어링(wiring) 및 다양한 비트 오더링 체크를 완전히 행사할 수 있다. 이것은 그들이 송신기를 셋 업하고 있는 특정 구성의 상세한 지식을 갖는 유저에 의해 확립되고 있는 데이터 전송 시스템에 유용하지만, 여기서 수신기는 제3자에 의해 제공되고, 수신기의 내부 구성에 대한 그러한 복잡하거나 상세한 정보는 이용할 수 없다.
상기 언급한 것처럼, 수신기에 의해 송신기로 복귀된 확인 상태는, 수신기가 요청 버스로부터 판독하는 송신 상태와 비트가 동일할 수도 있지만, 동반된 각 송신 상태 및 확인 상태의 의미가 통신 프로토콜에 의해 동일하다고 정의되는 한, 이것은 필요하지 않고 2개는 서로 다를 수도 있다. 따라서, 몇몇 실시예에 있어서는, 수신기에 의해 확인 버스에 어써트된 확인 상태의 비트 패턴은, 요청 버스로부터 수신기에 의해 판독된 수신한 송신 상태와 동일하다. 또한, 다른 실시예에 있어서는, 수신기에 의해 확인 버스에 어써트된 확인 상태의 비트 패턴은, 요청 버스로부터 수신기에 의해 판독된 수신한 송신 상태와는 동일하지 않다.
액티브 데이터 전송과 관련이 있는 통신 프로토콜에 따른 유효 송신 및 확인 상태와, 가능하면 상기 언급한 테스트 모드 상태에 더하여, 추가 스탠바이 상태는, 송신기가 데이터 버스를 통해서 데이터 전송을 능동적으로 수행하고 있지 않을 때 이용하기 위한 유효 송신 상태들의 세트와 유효 확인 상태들의 세트의 각각 내에서 정의될 수도 있다. 그러므로, 몇몇 실시예에 있어서는, 유효 송신 상태들의 세트 및 유효 확인 상태들의 세트는, 각각 송신기가 데이터 버스를 통해서 데이터 전송을 수행하고자 하지 않는 스탠바이 상태를 포함한다.
송신기가 데이터 전송 시스템의 데이터 버스를 통해서 데이터를 전송하고 하지 않는 경우에는, 그것은 (데이터 전송을 다시 시작하도록 웨이크업할 필요가 있을 때까지) 그러한 상황에 있는 송신기가 파워 다운 상태에 진입하는 경우일 수도 있다. 그러한 상황에서 데이터 전송 시스템의 안전성을 지원하기 위해서, 몇몇 실시예에 있어서는, 송신기는 통신 프로토콜에 따른 유효 송신 상태들의 세트에 포함되어 있지 않은 파워 다운 상태에서 요청 버스에 어써트된 현재 송신 상태를 홀드하는 클램핑 회로를 구비하고, 또 송신기는 파워 다운 상태가 요청 버스에 어써트될 때 송신기 저전력 상태에 진입하도록 구성되고, 수신기는 요청 버스로부터 파워 다운 상태를 판독하는 것에 응답해서 수신기 저전력 상태에 진입한다. 클램핑 회로의 활성화는, 통신 프로토콜에 따른 유효 송신 상태가 아니지만, 그럼에도 불구하고 송신기가 그것의 파워 다운 상태로 이동했다는 것을 나타내는 등 통신 프로토콜에 따라 정의되는 것으로 수신기가 인식할 수 있는 구성에서 요청 버스의 상태가 유지되는 것을 보장한다. 이에 대응하여, 이 상태의 대응하는 확인을 요청 버스에 어써트하는 것보다는, 어떤 액티브 데이터 전송도 현재 예상되지 않기 때문에, 수신기는 또 그 자신의 저전력 상태에 진입한다.
클램핑 회로가 요청 버스에서 파워 다운 상태를 유지하는 방식은 다양한 형태를 취할 수도 있지만, 몇몇 실시예에 있어서는 요청 버스는 파워 다운 상태에 대하여 액티브 로우로 클램프된다(clamped active-low).
송신기가 데이터 버스를 통해서 데이터 전송을 수행하고자 하는 것을 재개하는 경우, 클램핑 회로는 파워 다운 상태에서 요청 버스에 어써트된 현재 송신 상태를 더 이상 유지하지 않는다는 점에서 비활성화될 것이고, 파워 다운 상태가 클램프된 액티브 로우인 요청 버스에 의해 어써트되는 실시예에 있어서는, 요청 버스에서의 어떤 비트의 변화에 의해서, 송신기가 다시 한번 데이터 전송을 시작하기를 원한다는 것을 수신기가 인식할 수 있다. 따라서, 몇몇 실시예에 있어서는, 수신기는, 요청 버스에서 어떤 비트의 값의 변화에 응답해서 수신기를 수신기 저전력 상태에서 나오게 하는 웨어크업 회로를 구비한다.
클램핑 회로는 파워 다운 상태와 같을 수도 있거나 같지 않을 수도 있는, 스탠바이 상태에서 현재 송신 상태를 유지하도록 구성될 수도 있지만, 그럼에도 불구하고 몇몇 실시예에 있어서는, 송신기는 스탠바이 상태에서 요청 버스에 어써트된 현재 송신 상태를 유지하는 클램핑 회로를 구비하고, 또 송신기는 클램핑 회로가 스탠바이 상태에서 요청 버스에 어써트된 현재 송신 상태를 유지할 때 송신기 저전력 상태에 진입하도록 구성되고, 수신기는 요청 버스로부터 스탠바이 상태를 판독하는 것에 응답해서 수신기 저전력 상태에 진입한다. 이와 같이, 송신기는 어떤 액티브 데이터 전송도 탐지되지 않고 그것의 저전력 상태에 진입한다는 것을 나타내기 위해서 스탠바이 상태를 이용해도 된다. 이에 대응하여, 수신기는 요청 버스에 어써트되고 있는 스탠바이 상태의 인식에 응답해서 그 자신의 저전력 상태에 진입할 수 있다.
스탠바이 상태는 다양한 형태를 취할 수도 있지만, 몇몇 실시예에 있어서는, 요청 버스에 어써트되고 있는 단일 비트를 구비할 수도 있다. 이것이 사실이면, 몇몇 실시예는 스탠바이 상태가 단일 비트가 어써트되는 멀티 비트 신호이고, 수신기가 어써트되어 있지 않은 단일 비트에 응답해서 수신기를 저전력 상태에서 나오게 하는 웨이크업 회로를 구비한다는 것을 제공한다. 수신기의 웨이크업 회로는 단지 그 대응하는 단일 비트의 상태를 감시할 필요가 있고, 특히 단일 비트가 더 이상 어써트되어 있지 않아, 수신기를 저전력 상태에서 나오게 한다. 스탠바이 상태가 송신기에 대한 유효(비록 활성화하지 않았지만) 송신 상태로서 정의되기 때문에, 송신기가 요청 버스에 어써트해도 되는 어떤 다른 유효 송신 상태는, 액티브 데이터 전송이 요청되는 모든 다른 유효 송신 상태들이 정의되어, 이 단일 비트가 어써트되지 않고 웨이크업 회로가 편의상 단일 구성소자에 의해 제공될 수 있다는 것을 보장함으로써, 적어도 하나인 1의 패턴들(또한 0의 패턴들)에 대한 해밍 거리의 요구사항을 충족시킬 수 있다. 물론, 비트의 반전은, 엄밀하게는 필요하지 않지만, 웨이크업 회로는 "어써트된" 웨이크업 신호가 액티브 로우가 되도록 정의될 수 있다(웨이크업 신호의 수신자(예를 들면, 수신기의 전력 제어부)는, 그에 대응하여 단일 비트 웨이크업 신호의 액티브 로우(즉, 0) 어써션이 수신기를 그것의 저전력 상태에서 나오게 하는 것으로 응답되어야 한다는 것을 인식할 수 있다).
몇몇 실시예에 있어서는, 송신기가 데이터 버스를 통해서 데이터 전송에 대비하여 송신기 저전력 상태에서 나와서 현재 송신 상태를 요청 버스에 어써트할 때, 수신한 확인 상태의 변화가 확인 버스에서 발생할 때까지 송신기가 송신기 저전력 모드에 진입하도록 구성된다. 그것은, 신호들이 송신기로부터 수신기로 전달되고 송신기 저전력 상태에서 나왔다는 것을 나타내는 송신기에 응답해서 수신기가 웨이크업하는 데 걸리는 시간이 충분히 길어, 수신기가 웨이크업해서 수신한 확인 상태의 대응하는 변화를, 송신기가 데이터 전송을 위한 통신 프로토콜의 관련 스테이지로 계속 (예를 들면, 이 변화를 인식하도록 구성된 그 자신의 웨이크업 회로를 가짐으로써) 응답할 수 있는, 확인 버스에 어써트하는 동안 송신기를 일부 다양한 저전력 모드로 복귀시킴으로써 전력 절약의 혜택을 얻을 수도 있는 경우일 수도 있다.
유효 송신 상태들의 세트는 다양한 방식으로 구성될 수도 있지만, 몇몇 실시예에 있어서는, 유효 송신 상태들의 세트는 유효 데이터를 데이터 버스에 능동적으로 어써트할 때 송신가 사용하는 2개의 액티브 데이터 송신 상태를 포함하고, 송신기에 의해 데이터 버스에 어써트된 데이터 값의 어떤 액티브 변화든 2개의 액티브 데이터 송신 상태 사이의 변화에 의해 동반된다. 이와 같이 이들 2개의 액티브 데이터 송신 상태의 제공은, 데이터 버스에서의 데이터 값의 어떤 변화든 송신기로 표시될 수 있고, 수신기에 의해, 2개의 액티브 데이터 송신 상태 사이의 대응하는 변화로 인식될 수 있다는 것을 의미한다. 그 후에 계속되는 데이터 전송은 이들 상태 사이에서 송신기가 토글하는(toggling) 것을 특징으로 한다.
수신기가 그러한 액티브 데이터 송신 상태에 응답해는 방식은 다양한 형태를 취할 수도 있지만, 몇몇 실시예에 있어서는, 수신기는 요청 버스로부터 2개의 액티브 데이터 송신 상태 중의 하나를 판독하는 것에 응답해서 데이터 버스로부터 데이터를 샘플링한다. 따라서, 수신기는 송신기에 의해 데이터 버스에 어써트된 데이터를 변경하는 진행으로 해당 표시 지점에서 데이터를 신뢰할 수 있게 샘플링할 수 있다.
송신기 및 수신기는 서로 다른 클럭 도메인에서 제공될 수도 있고, 즉 그들 사이의 인터페이스는 비동기이므로, 몇몇 실시예에 있어서는 송신기 및 수신기는 서로 다른 클럭 도메인에 있고, 수신기는 수신기의 클럭 도메인에서 요청 버스를 샘플링하여 신호들을 수신기 디코드 회로에 제공해 수신한 송신 상태를 판정하는 수신기 동기화 회로를 구비하고, 송신기는 송신기의 클럭 도메인에서 확인 버스를 샘플링하여 신호들을 송신기 디코드 회로에 제공해 수신한 확인 상태를 판정하는 송신기 동기화 회로를 구비한다. 이와 같이 수신기와 송신기에 각 동기화 회로를 제공함으로써 반대의 통신 파트너로부터 수신된 신호들이 이들 신호를 수신하는 구성소자의 클럭 도메인의 타이밍으로 정렬될 수 있다.
몇몇 실시예에 있어서는, 수신기는 데이터 버스를 통해서 전송되는 데이터의 다수의 데이터 소스에 개별적으로 대응하는 다수의 데이터 수신 버퍼를 구비하고, 다수의 데이터 수신 버퍼는 각각 송신기에 송신하기 위한 준비 신호를 제공하도록 구성되며, 송신기는 대응하는 데이터 수신 버퍼가 데이터를 수신할 준비가 되어 있다는 것을 나타내는 적어도 한 개의 준비 신호에 응답하여 데이터 버스를 통해 데이터 전송을 위한 데이터 소스를 선택하고, 데이터 버스를 통해 데이터 소스를 표시한다. 이와 같이, 송신기에 의해 데이터 버스를 통해서 전송되는 데이터를 제공하는 오직 한 개의 데이터 소스보다는 오히려 송신기가 다수의 데이터 소스에 대하여 데이터 전송을 지원할 수 있다. 송신기측에서 그들의 각 데이터 소스로부터 데이터를 수신하도록 구성되는 수신기 내의 데이터 수신 버퍼들은 예를 들면 수신한 데이터를 보유하기 위한 제한된 용량을 가져도 되므로 항상 추가 데이터를 수신하는 위치에 있어도 된다. 이것이 (이유가 어찌됐든 간에) 사실이면, 송신기에 송신된 준비 신호를 제공함으로써 송신기가 준비되어 있는 것으로 알려져 있는 버스를 통해서 데이터 전송을 위한 데이터 소스를 선택할 수 있게 되고, 그 후에 데이터 버스의 효율적인 풀러 사용(efficient and fuller usage)이 지지된다.
준비 신호들은 다양한 방식으로 송신기에 전달될 수도 있지만, 몇몇 실시예에 있어서 데이터 전송 시스템은 다수의 데이터 수신 버퍼에 대한 준비 신호들을 운반하는 준비 버스를 구비한다. 즉, 전용 통신 채널은 이들 준비 신호를 전달하기 위해서 설치되어 있다.
그렇지만, 이들 준비 신호의 전달은 확인 버스에 포함되어도 되고 몇몇 실시예에 있어서는 확인 버스는 다수의 데이터 수신 버퍼에 대한 준비 신호들을 운반하도록 구성된다. 이것은 확인 버스의 경로 또는 경로들에 송신된 신호들에 대하여 정의된 프로토콜에 의해 영향을 받을 수도 있고, 또는 이들 준비 신호를 운반하는 확인 버스 내에 설치된 한 개 이상의 추가 경로(와이어)일 수도 있다.
적어도 몇몇 실시예는 데이터 버스, 요청 버스 및 확인 버스를 구비하는 데이터 전송 시스템에서의 데이터 전송 방법을 제공하고, 상기 방법은, 상기 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내는 송신기의 현재 송신 상태를, 통신 프로토콜에 따라 상기 요청 버스에 어써트하는 단계와, 상기 통신 프로토콜에 따라 수신한 송신 상태를 상기 요청 버스로부터 판독하는 단계와, 상기 수신한 송신 상태가 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 중의 유효 송신 상태일 때 상기 확인 버스에 확인 상태를 어써트하는 단계와, 상기 통신 프로토콜에 따라 수신한 확인 상태를 상기 확인 버스로부터 판독하는 단계와, 상기 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 유효 확인 상태의 수신 시에, 상기 유효 확인 상태가 상기 송신기의 상태에 대응할 때, 상기 데이터 버스를 통한 데이터 전송에 대하여 상기 송신기의 상태를 천이하는 단계를 포함하고, 상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이고, 상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이다.
적어도 몇몇 실시예는 데이터를 전송하는 수단; 요청을 전송하는 수단; 확인을 전송하는 수단; 상기 데이터를 전송하는 수단을 통한 데이터 전송에 대하여 송신기의 상태를 나타내는 송신기의 현재 송신 상태를, 통신 프로토콜에 따라 요청을 전송하는 수단을 통해서 어써트하는 수단; 상기 통신 프로토콜에 따라 수신된 송신 상태를 상기 요청을 전송하는 수단으로부터 판독하는 수단; 상기 수신한 송신 상태가 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 중의 유효 송신 상태일 때, 상기 확인을 전송하는 수단을 통해서 확인 상태를 어써트하는 수단; 상기 통신 프로토콜에 따라 수신한 확인 상태를 상기 확인을 전송하는 수단으로부터 판독하는 수단; 상기 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 유효 확인 상태의 수신 시에, 상기 유효 확인 상태가 상기 송신기의 상태에 대응할 때, 상기 데이터를 전송하는 수단을 통한 데이터 전송에 대하여 상기 송신기의 상태를 천이하는 수단을 구비하는 데이터 전송 시스템을 제공하고, 상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이고, 상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와 1의 패턴들 간의 해밍 거리는 적어도 하나이다.
적어도 몇몇 실시예는 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내는 현재 송신 상태를, 통신 프로토콜에 따라 요청 버스에 어써트하는 상태 송신 회로; 상기 통신 프로토콜에 따라 수신한 확인 상태를 확인 버스로부터 판독하는 상태 수신 회로를 구비하는 송신기를 제공하고, 상기 송신기는 상기 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 유효 확인 상태의 수신에 응답해서, 상기 유효 확인 상태가 상기 송신기의 상태에 대응할 때, 상기 데이터 버스를 통한 데이터 전송에 대하여 상기 송신기의 상태를 천이하고, 상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이고, 상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이다.
적어도 몇몇 실시예는, 현재 송신 상태가 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내고, 통신 프로토콜에 따라 수신한 송신 상태를 요청 버스로부터 판독하는 상태 수신 회로와, 상기 수신한 송신 상태가 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 중의 유효 송신 상태일 때 확인 상태를 확인 버스에 어써트하는 상태 송신 회로를 구비하는 송신기를 제공하고, 상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이고, 상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이다.
이하, 도면을 참조하여 몇몇 특정 실시예에 대해서 설명한다.
도 1은 송신기(12), 수신기(14) 및 이들 사이의 인터페이스(16)를 구비하는 데이터 전송 시스템(10)을 개략적으로 나타낸 것이다. 송신기(12)는 인터페이스(16)의 일부를 형성하는 데이터 버스(20)를 통한 데이터 전송에 대해 송신기의 현재 상태를 정의하는 상태 머신(18)을 구비한다. 상태 머신(18)은 예시한 실시예에 있어서 요청 버스에 의해 3개의 비트 신호가 송신되도록 3개의 병렬 경로를 구비하는 요청 버스(22)에 연결되어 있다. 송신기(12)는 상태 머신(18)에 의해 특히 상태 머신(18)으로부터 수신된 인에이블 신호 EN에 수신에 의해 현재 유지된 상태에 응답해서, 상태 머신(18)에 의해 적절한 대응하는 상태가 유지될 때 수신기(14)에 전송하기 위한 데이터를 데이터 버스(20)에 대해 어써트(assert)하는 데이터 송신회로(24)를 더 구비한다. 송신기(12)는 인터페이스(16)의 일부를 스스로 형성하는, 확인 버스(26)에 연결되어 있는 동기화 회로(25)를 더 구비한다. 동기화 회로(25)는 각각의 경로에 수신된 신호를 송신기(12)의 클럭 도메인으로 동기화하기 위해서, 확인 버스(26)의 하나의 경로에 각각 연결되어 있는 3개의 독립된 동기화 회로 구성소자 28A, 28B, 및 28C를 구비한다. 동기화 회로(25)에 의해 수신된 대응하는 3비트 확인 상태는, 상태 머신(18)에 전해져, 이에 대한 응답으로 신규 상태로 (이하에 보다 상세히 설명되는 바와 같이) 천이할 수도 있다.
수신기(14)는 요청 상태 디코드 회로(32)로부터 인에이블 신호 EN의 수신에 의해 인에이블될 때, 송신기(12)의 데이터 송신 회로(24)로부터 데이터 버스(20)에 수신된 데이터를 샘플링하는 데이터 수신 회로(30)를 구비한다. 요청 버스(22)는, 송신기(12)로부터 요청 버스(22)에 수신된 3비트 신호로부터 수신기(14)의 클럭 도메인에서 대응하는 동기화된 요청 상태를 생성하는 구성을 갖는, 3개의 개별 동기화 회로 유닛 36A, 36B 및 36C를 구비하는 수신기 동기화 회로(34)에 연결되어 있다. 클럭 도메인 경계 횡단을 관리하기 위해서 요청 입력의 3비트가 독립적으로 동기화되고(그것은 독립된 원 핫(one-hot) 상태 인코딩에 의해 가능하다), 수신기에서 동기화 레지스터 스테이지 36A-36C 후의 디코딩에 의해 논리적으로 명확해진다. 이것은 입력들이 수신용 동기화기의 샘플링 클럭 에지에 가깝게 변화하는 경우 멀티 비트 동기화가 실패한다는 것을 보장한다. 이 동기화된 3비트 상태는, 상태 디코드 회로(32)에 의해 수신되어, 요청 버스(22)에 수신된 송신 상태가 유효 송신 상태들의 세트 중의 하나인지를 판정한다. 이러한 사정으로, 유효 송신 상태가 송신기(12)로부터 데이터 버스(20)를 통한 액티브 데이터 전송에 대응하면, 상태 디코드 회로(32)는 인에이블 신호 EN를 어써트해서 데이터 수신회로(30)가 데이터 버스(20)에 수신된 멀티 비트 데이터 신호를 샘플링하게 한다. 수신기 동기화 회로(34)에 의해 생성된 동기화 신호를, 또한 상태 디코드 회로(32)로부터 수신된 대응하는 인에이블 신호 EN에 의해 활성화되는 수신기 확인 상태 발생회로(38)에 전달해 확인 상태를 확인 버스(26)에 어써트한다. 특히, 상태 디코드 회로(32)는 이 송신기/수신기 쌍에 대해 정의된 통신 프로토콜에 따라 요청 버스(22)로부터 판독된 수신한 송신 상태가 유효 송신 상태들의 세트 중의 하나인 경우에 단지 수신기 확인 상태 발생회로(38)가 이것을 행할 수 있게 구성된다.
도 2는 일 실시예에 있어서 제공되는 몇몇 추가 구성소자가 있는, 도 1에 나타낸 것과 동일한 데이터 전송 시스템(10)을 개략적으로 나타낸 것이다. 도 1의 모든 구성소자들은 도 2에서 반복되며, 여기에서 같은 참조번호 및 그들의 설명은 반복하지 않는다. 도 2에 있어서의 송신기(12)는 제어회로(40), 전력 제어회로(42), 웨이크업(wake up) 회로(44) 및 클램핑(clamping) 회로(46)를 더 나타낸다. 명확하게 하기 위해서 본 발명과 특별한 관련이 있는 것들만이 도 2에 명백하게 도시되어 있지만, 송신기(12)의 전체적인 제어는 제어회로(40)에 의해 유지되고, 제어회로(40)로부터의 제어 신호들은 송신기(12)의 모든 구성소자에 제공될 수 있다. 송신기(12)의 상태 머신(18)은 일반적으로 제어회로(40)에 의한 개입 없이 정의된 상태들 사이에서 천이할 수 있으므로 비교적 제어회로(40)에 관계없이 동작하지만, 제어회로(40)는 상태 머신(18)의 동작에 개입해서, 예를 들면 리셋 신호를 어써트해 상태 머신(18)이 스탠바이 상태와 같은, 비데이터(non-data) 송신 상태로 되돌아가게 할 수 있다. 전력 제어회로(42)는 특히 송신기(12)의 구성소자들의 각각에 제공되는 전압 레벨을 설정함으로써, 송신기(12)의 전력 상태와 어떤 필요한 관련 신호들을 제어하여, 송신기가 저전력 모드로 이동하고 있거나 액티브 전력 모드로 돌아간다는 것을 이들 구성소자에 표시한다. 전력 제어회로(42)는 송신기(12)의 구성소자들로부터 다양한 입력들을 수신한다. 하나의 입력은, 송신기가 상태 머신(18)에 의해 유지된 현재 상태에 관계없이 저전력(예를 들면, "슬립(sleep)") 상태로 이동되어야 한다는 것을 제어회로(42)에 표시할 수 있는 제어회로(40)로부터 비롯된다. 예를 들면, 이것은 제어회로(40)가 리셋 신호를 상태 머신(18)에 어써트하고, 동시에 송신기가 그것의 저전력 상태로 이동되어야 한다는 것을 전력 제어회로(42)에 신호하는 상황에서 수행될 수 있다. 전력 제어회로(42)는 또한 상태 머신(18)으로부터 입력을 수신하고, 그것은 송신기를 저전력 상태로 이동시켰다는 것을 나타내기 위해서 송신기(12)의 정상 동작 중에 (즉, 제어회로가 상태 머신(18)에 의해 유지된 상태들 사이에서의 보통의 천이에 개입하지 않는 경우) 상태 머신(18)에 의해 사용되며, 따라서 전력 제어회로(42)는 송신기(12)를 그 저전력 상태로 진입시키야 하고, 혹은 상태 머신(18)이 그 상태를 상태 머신에 의해 유지된 액티브 상태로 이동시켰다는 것을 전력 제어회로(32)에 표시하면, 그것에 응답해서 전력 제어회로(42)는 송신기(12)의 구성소자들을, "웨이크업"시켜야 하고, 예를 들면 송신기(12)의 구성소자들의 각각에 제공된 전압 레벨을 더 높은 액티브 레벨로 되돌려야 한다.
전력 제어회로(42)가 송신기를 그러한 저전력 상태로 이동시키는 경우, 이것은 인터페이스(16)의 버스 20, 22 및 26의 각각에 연결되는, 클램핑 회로(46)에 신호전달되고, 클램핑 회로(46)는 송신기(12)의 저전력 상태에 대응하는 소정의 상태에서 이들 버스의 각각의 비트들의 각각을 유지한다. 이것은 송신기(12)가 그것의 저전력 상태에 있는 기간 동안 잘 정의된 상태로 인터페이스(16)가 유지되는 것을 보장하고, 수신기는 이 사실을 인식함으로써 송신기(12)의 상태에서 변화가 일어날 때까지 그 자신의 저전력 상태에 진입할 수 있으며, 그 시점에서 전력 제어회로(42)는 더 이상 버스 20, 22 및 26을 이들 소정의 값으로 유지해서는 안 되고, 또 이들 버스에 어써트된 신호들이 데이터 전송 시스템의 다른 구성소자에 의해 정의되도록 해야 한다는 것을 클램핑 회로(46)에 신호할 것이다. 송신기(12)가 그것의 저전력 상태로부터 나오는 것은 그것의 웨이크업 회로(48)를 통해서 수신기(14)에 의해 인식된다. 이 웨이크업 회로(48)는, 클램핑 회로(46)가 비활성화되었다는 것을 나타내는, 요청 버스(22)에 어써트된 신호들의 상태의 변화를 검출하도록 구성되고, 송신기(12)는 데이터 전송을 재개하도록 노력하고 있다. 도 7a 및 7b를 참조하여 이하에 설명하는 것처럼, 웨이크업 회로(48)는, 클램핑 회로(46)가 송신기의 저전력 모드에서 요청 버스(22)를 유지하는 상태의 종류에 따라 다양한 형태를 취할 수 있다. 웨이크업 회로(48)가, 송신기(12)가 그것의 저전력 상태에서 나왔다는 것을 인식한 경우에는, 이 사실을 수신기 동기화 회로(34)에 신호하여, 스스로 그 자신의 저전력 상태에서 나가서, 요청 버스(22)에 수신된 신호들을 수신기(14)의 클럭 도메인으로 동기화하는 것을 재개한다. 수신기(14)의 개개의 구성소자들의 전력 상태에 대한 제어는, 또한 송신기(12)의 전력 제어회로(42)와 같은 방식으로 동작하는 전력 제어회로에 의해 제어될 수도 있고(즉, 그것은 수신기(14)의 구성소자들의 각각에 대한 동작 전압을 제공하여 각 구성소자가 활성 또는 비활성인지 여부를 정의한다), 이것이 사실이면, 그러한 수신기 전력 제어회로의 명시적 표시가 도 2에 도시되어 있지 않지만, 웨이크업 회로(48)는 그것의 웨이크업 신호를 수신기(14)의 전력 제어회로에 보내서, 수신기(14)의 구성소자들을 차례로 웨이크업시킨다. 수신기(14)가 이 방식으로 웨이크업하면, 요청 버스(22)에 수신된 동기화 신호는 상태 디코드 회로(32)와 요청 확인 회로(28)에 (도 1을 참조하여 상기 설명한 것처럼) 전달된다. 송신기(12)는 마찬가지로 확인 버스(26)에 연결되어 있는 웨이크업 회로(44)를 구비하고, 마찬가지로 확인 버스(26)에 어써트된 신호의 적어도 하나의 비트의 변화가 일어나면 송신기(12)를 저전력 상태로부터 나오게 수 있다. 이것은 예를 들면 송신기(12)가 그 자신의 저전력 상태에서 나와서, 대응하는 송신 상태를 요청 버스(22)에 어써트하고, 그 후에 (상태 머신(18) 및 전력 제어회로(42)의 제어 하에서) 그 자신의 저전력 상태로 복귀할 때 발생할 수 있지만, 확인 신호가 수신기(14)로부터 수신되는 것을 기다린다. 확인 버스(26)에 수신기(14)에 의해 어써트된 확인 상태의 수신과 요청 버스(22)에의 신규 송신 상태의 어써트 간의 비단순 지연(non-trivial delay)이 있을 것으로 예상되는 구성에서는, 전력 절약이 달성될 수 있다. 상기 언급한 것처럼, 수신기(14)의 웨이크업 회로 48의 맥락에서, 웨이크업 회로 44는 마찬가지로 수신된 확인 상태를 송신기(12)의 클럭 도메인으로 웨이크업하여 동기화시키기 위해서 송신기 동기화 회로(25)에 직접 그것의 웨이크업 신호를 제공할 수 있지만, (송신기(12)의 경우에 명시적으로 나타낸) 웨이크업 회로는 또한 제어회로(40)와 전력 제어회로(42)에 연결되어서, 확인 버스(26)에 수신된 확인 신호의 대응하는 변화가 수신될 때 이들 구성소자 중의 어느 하나가 송신기(12)를 그 저전력 상태에서 나오게 하는 것을 허용해서, 송신기(12)가 이 신호를 웨이크업하고 해석해야 한다는 것을 나타낸다. 도 7a 및 7b를 참조하여 이하에 설명하는 것처럼, 웨이크업 회로(44)는 확인 버스(26)에 유지된 확인 신호의 특정 특성에 의존해서 다양하게 구성될 수도 있지만, 수신기(14)는 그것의 저전력 상태에 있다. 이것은 도 2에 명시적으로 도시되어 있지 않지만, 수신기(14)는 또한 이 상태에서 수신기(14)의 저전력 상태에 대응하는 확인 버스(26)에 대한 확인 상태를 유지하는 클램핑 회로를 구비할 수도 있다.
도 3a는 요청 버스가 3비트 신호를 운반하는 일 실시예의 통신 프로토콜에 따라 정의된 유효 송신 상태들의 세트를 나타내는 테이블이다. 이와 같이, 유효 송신 상태들의 세트는 스탠바이 상태에 대응하는 3개의 "원 핫(one-hot)" 상태와, 데이터 전송을 포함하지만, 스탠바이 상태는 또한 송신기의 파워 다운 상태를 표시하기 위해서 사용되고, 추가 테스트 모드는 또한 요청 버스의 모든 3비트의 어써션(assertion)에 의해 신호를 받을 수 있다는 점에 유념하자. 또한, 도 3a에 나타낸 유효 송신 상태들의 세트에서의 양쪽 1과 0의 패턴의 해밍 거리는, 개별 상태 쌍 사이에 있어서 적어도 하나인 것에 유념하자. 이하의 설명으로부터 분명해지는 것처럼, 이것은 송신기와 수신기 간의 통신 구성을 지원하고, 여기서 유효 송신 상태들의 세트의 일부가 아닌 중간 송신 상태들은 송신기의 진짜 상태의 어써션으로서 (일시적이기는 하지만) 해석되지 않는다. 또한, 도 3에 나타낸 유효 확인 상태들의 세트는, 3비트 신호의 패리티 값을 참조하여 수신기가 유효 송신 상태와 무효 송신 상태 사이에서 쉽게 구별될 수 있도록 일정한 패리티 값(즉, 이 경우에는 1)을 갖는다는 점에 유념하자.
도 3b는 수신기에 의해 판독될 수 있는 송신 상태들에 대해서, 도 3a의 테이블에 대응하는 테이블을 나타낸다. 도 3b에 나타낸 상태들의 세트는, 하나의 유효 송신 상태로부터 또 다른 유효 송신 상태로의 이동시에 송신기 세틀(transmitter settles)에 의해 어써트된 송신 상태의 천이 전에, 요청 신호의 중간 상태들이 수신기에 의해 판독될 수 있다는 사실을 감안한, 3비트 신호의 모든 가능한 순열을 나타낸다는 점에 유념하자. 예를 들면, 스탠바이/파워 다운에 대한 유효 송신 상태는 001로서 도 3a 및 3b의 테이블에 따라 정의된다는 점에 유념하자. 송신기가 이 상태로부터 데이터 전송(A)으로 이동할 때, 즉 요청 버스에 010을 어써트함으로써, 송신기와 수신기 간의 인터페이스가 송신기와 수신기에 대하여 뚜렷이 다른 전압 도메인들 사이에서 교차할 수도 있다는 사실에 의해, 3비트 신호의 상승 에지와 하강 에지에 대하여 다른 전파 시간이 초래될 수 있다. 이것은 011의 001로부터 010으로 요청 버스에 어써트된 상태의 천이 시의 중간 상태가, 최하위 비트(RXREQ_i[0])가 로우(low)로 천이하기 전에 중간 비트(RXREQ_i[1])가 하이(high)로 천이할 때 발생할 수도 있다는 것을 의미한다. 그럼에도 불구하고, 송신기와 수신기가 사용하는 통신 프로토콜은, 011의 이 중간 상태가 일리걸(illegal) 또는 일시적 상태라고 인식되도록 정의되고, 수신기는 이것을 송신기가 나타낸 유효(의도한) 송신 상태라고 잘못 해석하지 않도록 구성된다. 마찬가지로, 상태 110가 일리걸 혹은 일시적이라고 정의됨으로써, 요청 버스에 어써트된 신호가 데이터 전송(A) 010과 데이터 전송(B) 100 사이에서 이동하면, 중간 비트(RXREQ_i[1])의 천이 전에 0으로부터 1로 최상위 비트(RXREQ_i[2])의 천이가 일어나기 때문에 발생할 수도 있는 110의 중간 상태가 1로부터 0으로 천이한다. 또한 000의 요청 버스에 대한 송신 상태가 데이터 버스를 통해서 유효 데이터 전송에 관하여 일리걸이라고 정의되고, 송신기가 이 상태를 이용해서 요청 버스가 그것의 클램핑 회로에 의해 로우로 클램프되는(clamped-low) 그것의 저전력 상태에 현재 있다는 것을 표시한다.
수신기가 요청 버스에 대한 유효 송신 상태들 중의 하나를 인식할 경우, 이 상황에 응답해서 확인 버스에서 이 인식을 확인하고, 도 3c 및 3d는 확인 상태를 송신기에 표시하기 위해서 수신기가 사용할 수도 있는 유효 확인 상태들의 2세트의 테이블을 나타낸다. 도 3c에 따라 정의된 유효 확인 상태들의 세트를 이용하는 경우, 수신기는 단순히 그 자신의 확인 신호로서 요청 버스로부터 확인 버스로 판독하는 유효 송신 상태를 반영한다는 점에서, 도 3c의 테이블은 (TXREQ을 RXACK로 교체) 도 3a의 테이블과 동일하다는 것에 유념하자. 도 3d는 유효 확인 상태들의 세트가 (도 3a와 다시 비교하여) 유효 송신 상태들의 세트와 동일한 비트일 필요는 없다는 것을 나타내는, 수신기가 사용할 수도 있는 유효 확인 상태들의 대체 세트를 나타낸다. 도 3d의 예에 있어서는, 유효 확인 상태들의 세트가 도 3a에 나타낸 유효 송신 상태들의 세트의 코드 회전(code rotation)이라는 것을 인식할 것이다. 일반적으로, (이 세트의 개개의 확인 상태들에서의 0(1)의 패턴이 적어도 하나의 또 다른 확인 상태의 0(1)의 패턴으로부터의 해밍 거리를 가져야 한다는 규칙을 준수하는 한), 송신기가 그 자신의 어써트된 송신 상태와 의미가 특별히 대응하는 확인 상태들의 의미를 이해하기만 하면, 유효 확인 상태들의 어떤 세트든 정의될 수 있다. 도 3e는 송신기가 확인 버스로부터 해석하도록 구성되는 확인 상태들(일부 유효, 일부 무효)의 세트를 나타낸다. 도 3e의 예에 있어서, 이들은 도 3c에 나타낸 어써트된 수신기 확인 상태들에 대응한다. 도 3e에 정의된 상태가 도 3b에 정의된 것들과 같고(TXACK를 RXREQ로 대체), 여기에서 이들 상태에 대한 개개의 기능성의 반복 설명이 행해지지 않는다는 점에 유념하고, 확인 신호의 1비트가 또 다른 것보다 빨리 천이하는 상황에서 다른 전압 도메인들 간의 확인 버스를 통한 확인 상태의 송신이 발생할 수 있다는 사실을 감안하고 유효 송신 상태들이 일리걸 또는 일시적인 상태들에 의해 배치되는 점에서 도 3b를 참조하여 설명했던 것과 같은 원리가 여기에 적용된다는 것에 유념하자.
도 4는 예를 들면 도 1 및 2에 나타낸 송신기(12)의 상태 머신(18)에 의해 유지될 수 있는 3개의 송신기 상태를 나타내는 3 상태 그래프를 나타낸다. 도 4에 따라 유지된 상태는 리셋 시에(예를 들면 상태 머신(18)이 제어회로(40)에 의해 리셋될 때) 잠잠한 "스탠바이" 상태로 초기화된다. 도 4에 나타낸 3개의 상태는 도 3a의 테이블에 나타낸 제1의 3 상태에 대응한다. 도 4에 있어서, 라벨 "txd"는 데이터 버스(20)를 통한 데이터의 전송에 대응하고, "txd invalid"는 송신기(12)의 데이터 송신 회로(24)가 유효 데이터를 데이터 버스(20)에 현재 어써트하고 있지 않다는 것을 나타내고, 상태 "txd' valid" 및 "txd" valid"는 데이터 송신 회로(24)가 유효 데이터를 데이터 버스(20)에 어써트하고 있는 데이터 전송(A) 및 데이터 전송(B)을 나타낸다. 라벨 ACK는 3비트 확인 값의 단축형이며, 그것은, 이 예에 있어서 도 3c의 테이블에 나타낸 값들의 세트에 대응하고, 그것은 트랜잭션(transaction)을 완료하기 위해서 전파되고 있는 현재의 요청 상태 값과 일치해야 한다.
따라서, 초기의 스탠바이 상태 001로부터, 신규 데이터가 유효하고 전송될 준비가 될 때까지("req") 이 상태가 유지될 것이고 수신기는 확인 버스에 대한 001의 대응하는 어써션으로 응답함으로써 요청 버스에 어써트된 001의 송신 상태에 응답했다. 송신기의 상태는 그 후에 데이터 전송(A) 상태 010으로 천이되고, 이 송신 상태는 송신기에 의해 요청 버스에 어써트된다. 수신기 응답(ACK)이 이 어써트된 송신 상태(010)와 일치하지 않고, 송신기가 이 상태로 유지된다. 수신기가 신호(010)의 매칭 확인에 응답하여, 그 후에 데이터 버스를 샘플링했을 경우, 더 이상 데이터 버스에 송신기에 의해 어써트되고 있는 유효 데이터가 없으면(!req), 송신기 상태가 스탠바이 상태 001로 다시 천이된다. 그렇지만, 전송될 추가 유효 데이터가 있으면(req), 송신기 상태는 데이터 전송(B) 상태 100으로 천이되고, 데이터 송신 회로(24)는 데이터 버스를 통해서 전송될 데이터의 다음 유효 상태를 어써트한다. 데이터 전송(B) 상태 100으로부터, 매칭 확인 신호 ACK = 100은, 송신기 상태가 천이되기 전에 수신기로부터 수신될 필요가 있다. 상기 설명한 데이터 전송(A) 상태 010으로부터의 천이와 마찬가지로, 일단 유효 확인 신호(이 경우에 ACK=100)가 수신되면, 또 더 이상 전송될 유효 데이터가 없으면(!req) 송신기 상태는 스탠바이 상태 001로 다시 천이된다. 그렇지만 추가로 전송될 데이터가 있으면, 유효 확인 신호 ACK = 100의 수신에 의해(그 시간에 의해 수신기가 데이터 버스를 다시 샘플링할 것이다) 송신기 상태가 다시 데이터 전송(A) 상태 010으로 천이된다. 이와 같이, 데이터 버스를 통해서 전송될 유효 데이터가 계속해서 있고, 수신기가 요청 버스에 송신기에 의해 어써트된 송신기의 수신된 상태를 정확히 확인하지만, 송신기의 상태는 이 지속적인 데이터 전송이 발생하기 위해서 데이터 전송 상태 (A)와 (B) 사이에서(즉, 도 4에 표시된 상태 010과 100 사이에서) 순환된다. 전송될 데이터 값의 어떤 변화든 상태 변화(즉, 데이터 전송 상태(A/B) 중의 하나로부터 다른 하나로 천이)에 전파되어야 하고 수신기가 이 상태 변환의 수신을 정확하게 확인했을 때까지 보존되어야 한다는 점에 유념하자.
도 4는 도 3a의 테이블에 주어진 송신 상태들의 세트의 예에 대응하고, 도 5는 도 3b의 테이블에 나타낸 상태들에 대응하는, 수신기에 의한 요청 버스의 디코딩에 대응하는 상태 그래프를 나타낸다. 그렇지만 도 4는 (단지 도시의 명확함을 위해서) 테스트 모드 시그널링(test mode signalling)의 이용을 나타내지 않고, 이 상태는 도 5에 도시되어 있다는 점에 유념하자. 도 5로부터 일리걸/일시적인 상태들은, 상승 에지가 하강 에지보다 더 빨리 전파되고, 혹은 그 반대로 전파되는 경우를 포함하도록 위치되어 있다는 것을 알 수 있다. 예를 들면, 스탠바이 상태 001로부터 제1의 데이터 전송 상태 010으로의 천이 시에, 하강 에지보다 더 빠른 상승 에지의 전파는, 수신기가 그와 같이 인식하고 응답하지 않는, 검출되고 있는 011의 중간 상태에서 발생할 수 있다. 전반적으로, 이들 일리걸 상태들은 (상승 시간 핸드쉐이크 신호 전파(rise time handshake signal propagation)가 하강 시간보다 빠르면) 1개 또는 2개의 입력이 한 번에 높이 검출될 수 있는 상황을 포함하고, 혹은 (하강 시간 전파가 상승 시간보다 빠르면, 혹은 클램프 로우(clamp low)의 분리 방법(isolation strategy)이 모든 3개의 요청 신호에 적용되었으면) 어떤 입력도 유효한 비제로(non-zero) 신호 값들을 갖지 않는다.
수신기에 의한 요청 버스의 디코딩의 이 구성과, 송신기에 다시 송신되는 대응하는 확인 상태는, 유효 송신기 상태가 요청 버스에서 인식되었을 때, 이 3비트 예에 있어서, 송신기와 수신기 간의 핸드쉐이크 프로토콜이 6 와이어(6-wire) 인터페이스에 의해 조정되고, 그 프로토콜이 송신의 양쪽 하이-로우(high-to-low) 및 로우-하이(low-to-high) 쌍이 요청을 위해 송신기로부터 수신기로, 확인을 위해 수신기로부터 송신기로, 각 방향으로 송신되는 것을 보장한다는 것을 제공한다. 이것은 양쪽 상승 및 하강 에지 타이밍이 전송 핸드쉐이크에서 완전히 처리되어, 임의의 하이-로우 및 로우-하이 천이가 있는 데이터의 다발이 수신기에서 안전하게 샘플링될 수 있다는 것을 의미한다.
추가로, 도 5는 또한 테스트 모드 111을 나타내고, 이 인코딩은 이 유효(그렇지만 특별한) 송신기 상태가 규칙적인 데이터 전송 상태(즉, 001, 010 및 100) 사이에서의 천이 시에 불법적으로 발생할 수 없도록 선택되었다. 이하에서는 이 테스트 모드의 사용 예에 대해서 도 9를 참조하여 설명한다.
도 6은 데이터 전송 시스템의 일 실시예에 있어서 송신기와 수신기 사이에서 교환되는 신호들의 세트의 예를 나타낸다. 송신기는 TXREQ = 001로 요청 버스에 표시하는 그것의 스탠바이 상태에서 시작한다. 이것은 (RXREQ = 001로서) 수신기에 의해 정확하게 디코드되고, 수신기는 확인 버스에 확인 신호 RXACK = 001을 어써트한다. 이것은 TXACK = 001로서 송신기에 의해 수신된다. 그 다음에 송신기는 신규 유효 데이터를 데이터 버스에 셋 업하고, 그것의 상태는 제1의 데이터 전송 상태(A)로 천이되고, 송신 상태 TXREQ = 010은 요청 버스에 어써트된다. 그렇지만, 요청 버스 상의 상승 에지가 하강 에지보다 약간 더 빠른 송신 시간을 갖는다는 사실로 인해, 이 상태의 변화는 처음에 RXREQ = 011로서 수신기에 의해 디코드된다. 이것은 일리걸/일시적인 상태로서 정의되기 때문에, 수신기는 확인 버스에 대응하는 상태를 어써트하지 않는다. 도 6에서, 대체 가능한 일리걸 중간 상태 RXREQ = 000은 또한 꺾쇠괄호에 표시되어 있고, 그것은 하강 에지가 상승 에지보다 빨리 송신기로부터 수신기로 전파되는 구성에서 발생할 수 있다는 것에 유념하자(비교용). 그렇지만, 일단 송신기 상태의 요청 버스로의 전달이 수신기단에서 정확하게 성립되면, 그것은 RXREQ = 010으로서 수신기에 의해 디코드된다. 이것은 유효 송신 상태이고, 그러면 수신기는 확인 신호 RXACK = 010을 확인 버스에 어써트한다. 이 예에 있어서, 상승 및 하상 에지 송신 시간 사이에는 큰 차이가 없고, 송신기는 TXACK = 010으로서 수신한 확인 신호를 디코드한다.
어써트했던 송신 상태에 대한 정확한 확인을 수신한 송신기는, 전송될 데이터의 초기 상태에 따라, 다른 데이터 송신 상태 (B)로 천이하고, 송신 상태 TXREQ = 100은 요청 버스에 어써트된다. 도 6에 있어서 이것은 RXREQ = 100으로서 수신기에 의해 정확히 수신되는 것처럼 도시되어 있다(RXREQ = 100 및 110의 일리걸 중간 상태가 이 지점에서 수신기에 의해 일시적으로 보일 수도 있다는 것을 인식해야 하지만). 유효 송신 상태에 의해 수신기가 확인 신호 RXACK = 100을 확인 버스에 어써트하고, 이것은 TXACK = 100으로서 송신기에 의해 정확하게 디코드된다. 송신기는 그 후에 어써트된 데이터를 한 번 더 천이시킬 수 있다. 송신기는 그 다음에 데이터 전송 상태(A)로 다시 천이하고, 그에 대응하여 상태 TXREQ = 010을 요청 버스에 어써트한다. 이것은 RXREQ = 010으로서 수신기에 의해 정확히 수신되고, 그 결과의 확인 신호 RXACK = 010이 확인 버스에 어써트되는 것처럼 도 6에 도시되어 있다. 그렇지만, 도 6은 즉 TXACK = 000으로서, 송신기에 의해 일리걸 상태에서 일시적으로 디코드되고 있는 이 특정의 확인 신호의 예를 제공한다(상승 에지가 하강 에지를 앞지르면 발생하는 TXACK = 110의 대체 가능한 일리걸 중간 상태도 도시되어 있지만 하강 에지 송신이 상승 에지 송신보다 빨리 발생했기 때문에). 에지 천이가 정착했을 때 TXACK가 010으로서 정확하게 디코드되면, 송신기는 다시 한번 그것의 상태를 천이시킬 수 있다. 예시의 목적으로 도 6에 나타낸 예에 있어서는, 이것은 송신기를 그것의 스탠바이 상태로 복귀시키는 것이지만, 많은 천이를 동반하는 유용한 양의 데이터가 송신기로부터 수신기로 전송될 수 있도록 일반적인 이벤트의 시퀀스가 2개의 데이터 전송 상태(A)와 (B) 간의 반복된 천이를 포함할 것이라는 것을 이해할 수 있을 것이다. 그렇지만, 예시의 단순화를 위해서, 송신기의 예가 지금 도 6에 나타낸 것처럼 스탠바이 상태로 되돌아가고, 요청 버스에 어써트된 송신기 상태 TXREQ = 001은 RXREQ = 001로서 수신기에 의해 정확하게 디코드되고, 수신기는 또한 그 후에 그것의 스탠바이 상태에 진입한다.
도 7a 및 7b는 도 2에 나타낸 웨이크업 회로 44 및 48의 2가지의 구성 예를 개략적으로 나타낸 것이다. 상기 언급한 바와 같이, 송신기(12)가 그것의 저전력 상태에서 나와서 데이터 전송을 시작하려고 노력하고 있는 경우를 검출하기 위해서, 수신기(14)는 웨이크업 회로(48)를 이용해서 요청 버스(22)의 상태를 감시할 수 있다. 도 2에 나타낸 구성 예에 있어서, 송신기가 그것의 저전력 상태에 있는 동안 송신기(12)는 각 비트에 대해 로우(low) 값을 갖는 3비트 요청 버스(22)를 홀드하는 클램핑 회로(46)를 구비한다. 따라서, 예시한 웨이크업 회로(50)는 이 "로우로 클램프된(clamped low)" 상태로부터 변화가 일어나는 경우를 감시하기 위해서 수신기(14)의 웨이크업 회로(48)에 사용될 수 있고, 이 감시는 상태 변화 검출 회로(56)에 제공되는 XOR 게이트 52 및 54에 의해 웨이크업 회로(50)에 제공된다. 이와 같이, 요청 버스의 비트들 중의 어느 것인가가 값을 변경하는 경우, 이것은 수신기(14)의 다양한 구성소자들을 트리거(trigger)해서 저전력 모드에서 나가기 위해서 사용되는 (상기 설명한 것처럼) 웨어크업 신호를 차례로 생성하는, 상태 변화 검출 회로(56)에 의해, 특히 요청 동기화 회로(34)에 의해 검출될 것이다.
웨이크업 회로의 간단한 구성은 도 7b에 나타낸 예시 웨이크업 회로(60)에 의해 제공될 수 있고, 그것은, 예를 들면 클램핑 회로(예를 들면, 도 2에 있어서의 송신기(12)의 클램핑 회로(46))가 도 3a의 첫 번째 라인, 즉 001에 나타낸 "스탠바이"/"파워-다운" 상태에 대응하는 상태에서 요청 버스를 홀드하도록 구성되는 경우에 사용될 수 있다. 즉, bit[0]는 클램프 하이이고, 비트[2:1]은 클램프 로우이다. 이 상황에서 송신기가 그것의 파워 다운 상태에서 나오는 것을 감시하는 것은, 비트[0]의 모니터링을 필요로 하고, 즉 이 비트가 활성화되지 않으면, 시그널링(signalling)이 요청되고 있다. 따라서, 이 상황에 대응하는 도 7b에 나타낸 웨이크업 회로(60)는 간단히 이 비트에 대해 검출된 값을 반전해서 웨이크업 신호를 제공하는 NOT 게이트(62)를 구비한다.
도 8은 데이터를 교환하는 2개의 구성소자 102 및 104를 구비하는 데이터 전송 시스템(100)을 개략적으로 나타낸 것이다. 이 데이터의 교환은 전 양방(full-duplex)(즉 양방향)이므로, 그것의 상부 부분에 있어서는 도 8은 구성소자 102로부터 구성소자 104로의 데이터 전송을 나타내고, 그것의 하부 부분에 있어서는 도 8은 구성소자 104로부터 구성소자 102로의 데이터 전송을 나타낸다. 이 이유 때문에, 이들 2개의 구성소자는 "송신기/수신기" 102 및 "수신기/송신기" 104로 이름이 붙여져 있지만, 그들은 기본적으로 그들의 데이터 교환에 관하여 대칭적이라는 것을 알 수 있을 것이다. 각 방향에 있어서는 라벨부 CMD, DMAH, DMAL, 및 EVT으로 식별되는, 4개의 비차단 가상 채널(non-blocking virtual channel)이 있다. 송신기/수긴기(102)는 이들 가상 채널의 각각에 대한 데이터 버스를 통해서 송신되는 각각의 값을 홀드하는 8개의 버퍼 108-122를 구비하고, 이 버퍼들은 각 가상 채널을 통해서 송신하기 위한 2개의 다음 값을 홀드하도록 쌍(접미사 0 및 1)을 이루고 있다. 이에 대응하여, 수신기/송신기(104)는 8개의 수신 버퍼 124-138을 구비한다. 송신기/수신기(102)는 멀티플렉서(144)에 대한 제어에 의해, 데이터 버스(142)를 통해서 데이터를 송신하기 위한 가상 채널들 사이에서 선택하도록 구성되는 제어회로(140)를 구비한다. 일단 이 방식으로 데이터를 송신하기 위해서 가상 채널이 선택되었으면, 요청 버스(146)에 대한 요청 신호의 어써션, 확인 버스(148)로의 확인 신호의 복귀 등이 예를 들면 도 1 및 2에 나타낸 실시예를 참조하여 상기 설명한 것처럼 발생하고, 이 처리의 더 상세한 것은 간결하게 하기 위해서 여기서는 설명하지 않는다. 그렇지만, 제어회로(140)가 데이터 송신을 위한 가상 채널을 선택하는 하나의 메카니즘은 수신기/송신기(104) 내의 대응하는 제어회로(150)를 통해서 송신되고 제어회로가 수신하는 준비 신호들에 근거한다. 이 제어회로(150)는 대응하는 버퍼가 데이터의 수신에 이용 가능한지 여부를 나타내는, 데이터 수신 버퍼 124-138의 각각으로부터 신호들을 수신한다. 예를 들면, 버퍼는 시스템의 추가 구성소자에 의해 값이 판독되기 전에 그 값을 홀드하고 있지만, 그것은 추가로 데이터를 수신하는 데에는 이용할 수 없다. 일단 이 데이터 항목이 추가로 판독 체인에 전해졌으면, 대응하는 데이터 수신 버퍼가 준비되어 있다는 것을 표시할 수 있다. 제어회로(150)가 수신한 준비 신호들은 이 목적을 위해서 제공된 준비 버스(152)를 통해서 제어회로(140)에 전달된다. (준비 버스가 생략될 수 있는) 대체 실시예에 있어서는, 준비 신호들이 한 개 이상의 데이터 수신 버퍼들의 상태를 전달하는 미리 정해진 신호 프로토콜로, 확인 버스(148)에 송신된다. 도 1에서의 수신기(14)의 요청 동기화 회로(34)에 의해 요청 버스(22)로부터의 요청 신호들의 수신을 참조하여 상기 설명한 것과 같은 방식으로, 송신기/수신기(102)는 송신기/수신기(102)의 클럭 도메인으로 이들 준비 신호를 독립적으로 동기화하도록 구성되는 동기화 회로(154)를 구비한다. 제어회로 140 및 150이 데이터 전송을 위한 가상 채널을 선택하는 방식은 다를 수도 있지만, 도 8은 특정 데이터 수신 버퍼가 데이터 수신 준비가 되어 있다는 것을 제어회로 150가 제어회로 140에 표시할 때, 요청 버스(142)를 적절한 데이터 수신 버퍼에 연결하기 위해서 제어회로 150가 디멀티플렉서(156)도 제어할 수 있다는 것을 나타낸다. 도 8은 또한 송신된 데이터의 적어도 일부가 제어회로 150에 전해질 수 있고, 송신된 어떤 주어진 데이터 패킷이든, 이 데이터 패킷을 조정해야 하는 데이터 수신 버퍼를 가리키는 목적지 레지스터 태그를 포함할 수도 있다는 것을 나타낸다. 이와 같이 제어회로 150은, 요청 버스(142)를 적절한 데이터 수신 버퍼에 연결하기 위해서, 이 태그를 판독할 수 있고, 따라서 디멀티플렉서(156)를 제어할 수 있다.
수신기/송신기(104)의 데이터 송신 능력과 송신기/수신기(102)의 데이터 수신 능력(도 8의 하부 부분)은, 반대방향으로 전달하는 각 신호의 각각으로, 직접 상기 설명을 반영하고, 여기서는 다시 설명하지 않는다.
데이터 전송 시스템(100)의 송신기/수신기(102) 및 수신기/송신기(104)의 하나의 특정 사용은 도 9에 도시되어 있고, 즉 송신기/수신기(102)가 그것의 인터페이스 루프백 테스트 모드로 천이하는 구성으로 도시되어 있다. 송신기/수신기(102)가 이것을 행하고, (상기 설명한 통신 프로토콜에 따라) 이것이 수신기/송신기(104)에 의해 인식될 때, 도 9에 도시한 바와 같이 수신기/송신기(104)는 제어회로(150)의 제어 하에 접속회로(160)를 이용해서 수신기/송신기가 구비하는 각각의 수신 서브 구성소자의 각각을 대응하는 송신 구성소자에 연결한다. 이와 같이 구성되면, 이것에 의해 송신기/수신기(102)는, 송신기/수신기와 통신하고 있는 수신기/송신기(104)의 상세한 지식을 가질 필요없이 인터페이스(106)의 배선(wiring)을 완전히 행하여 어떤 원하는 테스트든(비트 오더링 체크(bit ordering checks) 등) 수행할 수 있게 된다. 도 8 및 도 9의 송신기/수신기(102)와 수신기/송신기(104)는 기본적으로 대칭 구성이지만, 이러한 경우일 필요는 없다는 것을 인식할 것이다.
본 출원에 있어서, "..하도록 구성된"이라는 단어는 장치의 구성소자가 정의된 동작을 수행할 수 있는 구성을 갖는다는 것을 뜻하기 위해서 사용된다. 이러한 맥락에서, "구성"은 하드웨어 또는 소프트웨어의 상호 접속의 방식 및 배치를 의미한다. 예를 들면, 장치는 정해진 동작을 제공하는 전용 하드웨어를 갖거나, 또는 프로세서 또는 다른 처리장치가 기능을 수행하도록 프로그램될 수도 있다. "하도록 구성된"은 장치 구성소자가 정의된 동작을 제공하기 위해서 어떤 방법으로든 변경될 필요가 있다는 것을 의미하지 않는다.
예시한 실시예는 첨부도면을 참조하여 여기에 상세히 설명되었지만, 본 발명은 이들 특정한 실시예에 한정되지 않고, 다양한 변경, 추가 및 변형이 첨부된 청구항에 의해 정의된 것처럼 본 발명의 범위 및 정신을 벗어나지 않고 본 기술분야의 당업자에 의해서 이루어질 수 있다는 것을 이해할 수 있을 것이다. 예를 들면, 종속 청구항들의 특징들의 다양한 조합이 본 발명의 범위를 벗어나지 않고 독립 청구항의 특징들에 의해 이루어질 수 있다.

Claims (22)

  1. 데이터 버스, 요청 버스 및 확인 버스와,
    상기 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내는 현재 송신 상태를, 통신 프로토콜에 따라 상기 요청 버스에 어써트(assert)하는 송신기와,
    상기 통신 프로토콜에 따라 수신한 송신 상태를 상기 요청 버스로부터 판독하고, 수신한 송신 상태가 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 중의 유효 송신 상태일 때, 상기 확인 버스에 확인 상태를 어써트하는 수신기를 구비하고,
    상기 송신기는 상기 통신 프로토콜에 따라 수신한 확인 상태를 상기 확인 버스로부터 판독하도록 구성되고, 상기 송신기는 상기 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 유효 확인 상태의 수신에 응답해서, 유효 확인 상태가 상기 송신기의 상태에 대응할 때, 상기 데이터 버스를 통한 데이터 전송에 대하여 상기 송신기의 상태를 천이하고,
    상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이며,
    상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나인 것을 특징으로 하는, 데이터 전송 시스템.
  2. 제 1 항에 있어서,
    상기 유효 송신 상태들의 세트와 상기 유효 확인 상태들의 세트는 각각 일정한 패리티 값을 갖는 것을 특징으로 하는, 데이터 전송 시스템.
  3. 제 1 항에 있어서,
    상기 유효 송신 상태들의 세트와 상기 유효 확인 상태들의 세트는 각각 일정한 패리티 값을 갖는 테스트 모드 상태를 포함하는 것을 특징으로 하는, 데이터 전송 시스템.
  4. 제 3 항에 있어서,
    상기 데이터 버스는 송신기-수신기 데이터 버스와 수신기-송신기 데이터 버스를 구비하고, 상기 수신기는 테스트 모드 상태인 수신한 송신 상태에 응답해서 상기 송신기-수신기 데이터 버스에 수신된 데이터를 상기 수신기-송신기 데이터 버스에 송신하는 것을 특징으로 하는, 데이터 전송 시스템.
  5. 제 1 항에 있어서,
    상기 수신기에 의해 상기 확인 버스에 어써트된 확인 상태의 비트 패턴은 상기 요청 버스로부터 상기 수신기에 의해 판독된 수신한 송신 상태와 동일한 것을 특징으로 하는, 데이터 전송 시스템.
  6. 제 1 항에 있어서,
    상기 수신기에 의해 상기 확인 버스에 어써트된 확인 상태의 비트 패턴은 상기 요청 버스로부터 상기 수신기에 의해 판독된 수신한 송신 상태와 동일하지 않는 것을 특징으로 하는, 데이터 전송 시스템.
  7. 제 1 항에 있어서,
    상기 유효 송신 상태들의 세트와 상기 유효 확인 상태들의 세트는 각각 상기 송신기가 상기 데이터 버스를 통해서 데이터 전송을 수행하고자 하지 않는 스탠바이 상태를 포함하는 것을 특징으로 하는, 데이터 전송 시스템.
  8. 제 1 항에 있어서,
    상기 송신기는 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 내에 포함되어 있지 않은 파워 다운 상태에서 상기 요청 버스에 어써트된 현재 송신 상태를 홀드하는 클램핑 회로를 구비하고, 상기 송신기는 파워 다운 상태가 상기 요청 버스에 어써트될 때 송신기 저전력 상태에 진입하도록 구성되고, 상기 수신기는 상기 요청 버스로부터 파워 다운 상태를 판독하는 것에 응답해서 수신기 저전력 상태에 진입하는 것을 특징으로 하는, 데이터 전송 시스템.
  9. 제 8 항에 있어서,
    상기 요청 버스는 파워 다운 상태에 대하여 액티브 로우로 클램프되는(clamped active-low) 것을 특징으로 하는, 데이터 전송 시스템.
  10. 제 8 항에 있어서,
    상기 수신기는 상기 요청 버스에서의 비트의 값의 변화에 응답하여 상기 수신기를 수신기 저전력 상태에서 나오게 하는 웨이크업(wake-up) 회로를 구비하는 것을 특징으로 하는, 데이터 전송 시스템.
  11. 제 7 항에 있어서,
    상기 송신기는 스탠바이 상태에서 상기 요청 버스에 어써트된 현재 송신 상태를 홀드하는 클램핑 회로를 구비하고, 상기 송신기는 상기 클램핑 회로가 스탠바이 상태에서 상기 요청 버스에 어써트된 현재 송신 상태를 홀드할 때 송신기 저전력 상태에 진입하도록 구성되며, 상기 수신기는 상기 요청 버스로부터 스탠바이 상태를 판독하는 것에 응답해서 수신기 저전력 상태에 진입하는 것을 특징으로 하는, 데이터 전송 시스템.
  12. 제 11 항에 있어서,
    스탠바이 상태는 단일 비트가 어써트되는 멀티 비트 신호이고, 상기 수신기는 어써트되어 있지 않은 단일 비트에 응답해서 상기 수신기를 저전력 상태에서 나오게 하는 웨이크업 회로를 구비하는 것을 특징으로 하는, 데이터 전송 시스템.
  13. 제 8 항에 있어서,
    상기 송신기는 상기 데이터 버스를 통한 데이터 전송에 대비하여 송신기 저전력 상태에서 나와서 현재 송신 상태를 상기 요청 버스에 어써트하고, 상기 송신기는 수신한 확인 상태의 변화가 상기 확인 버스에서 발생할 때까지 송신기 저전력 모드에 진입하도록 구성되는 것을 특징으로 하는, 데이터 전송 시스템.
  14. 제 1 항에 있어서,
    상기 유효 송신 상태들의 세트는 유효 데이터를 상기 데이터 버스에 능동적으로 어써트할 때 상기 송신기가 사용하는 2개의 액티브 데이터 송신 상태를 포함하고, 상기 송신기에 의해 상기 데이터 버스에 어써트된 데이터 값의 액티브 변화는, 2개의 액티브 데이터 송신 상태 간의 변화를 동반하는 것을 특징으로 하는, 데이터 전송 시스템.
  15. 제 14 항에 있어서,
    상기 수신기는 상기 요청 버스로부터 2개의 액티브 데이터 송신 상태 중의 하나를 판독하는 것에 응답해서 상기 데이터 버스로부터 데이터를 샘플링하는 것을 특징으로 하는, 데이터 전송 시스템.
  16. 제 1 항에 있어서,
    상기 송신기와 상기 수신기는 상이한 클럭 도메인에 있고,
    상기 수신기는 상기 수신기의 클럭 도메인에서 상기 요청 버스를 샘플링하여 수신한 송신 상태를 판정하는 수신기 디코드 회로에 신호들을 제공하는 수신기 동기화 회로를 구비하고,
    상기 송신기는 상기 송신기의 클럭 도메인에서 상기 확인 버스를 샘플링하여 수신한 확인 상태를 판정하는 송신기 디코드 회로에 신호들을 제공하는 송신기 동기화 회로를 구비하는 것을 특징으로 하는, 데이터 전송 시스템.
  17. 제 1 항에 있어서,
    상기 수신기는 상기 데이터 버스를 통해서 전송되는 데이터의 다수의 데이터 소스에 개별적으로 대응하는 다수의 데이터 수신 버퍼를 구비하고,
    상기 다수의 데이터 수신 버퍼는 각각 상기 송신기에 송신하기 위한 준비 신호를 제공하도록 구성되며,
    상기 송신기는 대응하는 데이터 수신 버퍼가 데이터를 수신할 준비가 되어 있다는 것을 나타내는 적어도 한 개의 준비 신호에 응답해서 상기 데이터 버스를 통해서 데이터 전송을 위한 데이터 소스를 선택하고, 상기 데이터 버스를 통해서 데이터 소스를 표시하는 것을 특징으로 하는, 데이터 전송 시스템.
  18. 제 17 항에 있어서,
    상기 다수의 데이터 수신 버퍼에 대한 준비 신호들을 운반하는 준비 버스를 구비하는 것을 특징으로 하는, 데이터 전송 시스템.
  19. 제 17 항에 있어서,
    상기 확인 버스는 상기 다수의 데이터 수신 버퍼에 대한 준비 신호들을 운반하도록 구성되는 것을 특징으로 하는, 데이터 전송 시스템.
  20. 데이터 버스, 요청 버스 및 확인 버스를 구비하는 데이터 전송 시스템에서의 데이터 전송 방법으로서, 상기 방법은,
    상기 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내는 송신기의 현재 송신 상태를, 통신 프로토콜에 따라 상기 요청 버스에 어써트(assert)하는 단계와,
    상기 통신 프로토콜에 따라 수신한 송신 상태를 상기 요청 버스로부터 판독하는 단계와,
    수신한 송신 상태가 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 중의 유효 송신 상태일 때 상기 확인 버스에 확인 상태를 어써트하는 단계와,
    상기 통신 프로토콜에 따라 수신한 확인 상태를 상기 확인 버스로부터 판독하는 단계와,
    상기 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 유효 확인 상태의 수신 시에, 유효 확인 상태가 상기 송신기의 상태에 대응할 때, 상기 데이터 버스를 통한 데이터 전송에 대하여 상기 송신기의 상태를 천이하는 단계를 포함하고,
    상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이고,
    상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나인 것을 특징으로 하는, 데이터 전송 방법.
  21. 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내는 현재 송신 상태를, 통신 프로토콜에 따라 요청 버스에 어써트(assert)하는 상태 송신 회로와,
    상기 통신 프로토콜에 따라 수신한 확인 상태를 확인 버스로부터 판독하는 상태 수신 회로를 구비하고,
    상기 송신기는 상기 통신 프로토콜에 따른 유효 확인 상태들의 세트 중의 유효 확인 상태의 수신에 응답하여, 유효 확인 상태가 상기 송신기의 상태에 대응할 때, 상기 데이터 버스를 통한 데이터 전송에 대하여 상기 송신기의 상태를 천이하고,
    유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이고,
    상기 유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나인 것을 특징으로 하는, 송신기.
  22. 현재 송신 상태가 데이터 버스를 통한 데이터 전송에 대하여 송신기의 상태를 나타내고, 통신 프로토콜에 따라 수신한 송신 상태를 요청 버스로부터 판독하는 상태 수신 회로와,
    수신한 송신 상태가 상기 통신 프로토콜에 따른 유효 송신 상태들의 세트 중의 유효 송신 상태일 때 확인 상태를 확인 버스에 어써트(assert)하는 상태 송신 회로를 구비하고,
    상기 유효 송신 상태들의 세트 중의 유효 송신 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나이고,
    유효 확인 상태들의 세트 중의 유효 확인 상태들에 있어서, 0의 패턴들 간의 해밍 거리와, 1의 패턴들 간의 해밍 거리는 적어도 하나인 것을 특징으로 하는, 수신기.
KR1020160070723A 2015-06-16 2016-06-08 송신기, 수신기, 데이터 전송 시스템 및 데이터 전송 방법 KR102577825B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1510545.5 2015-06-16
GB1510545.5A GB2539443B (en) 2015-06-16 2015-06-16 A transmitter, a receiver, a data transfer system and a method of data transfer

Publications (2)

Publication Number Publication Date
KR20160148456A KR20160148456A (ko) 2016-12-26
KR102577825B1 true KR102577825B1 (ko) 2023-09-13

Family

ID=53784811

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160070723A KR102577825B1 (ko) 2015-06-16 2016-06-08 송신기, 수신기, 데이터 전송 시스템 및 데이터 전송 방법

Country Status (4)

Country Link
US (1) US10299219B2 (ko)
KR (1) KR102577825B1 (ko)
CN (1) CN106257436B (ko)
GB (1) GB2539443B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10209755B2 (en) 2017-01-30 2019-02-19 Arm Limited No-operation power state command
WO2019161456A1 (en) * 2018-02-23 2019-08-29 Agsensio Pty Ltd Power conserving local wireless network
US11216061B2 (en) 2019-07-25 2022-01-04 Arm Limited Methods and apparatus for interfacing between power domains
KR20210045009A (ko) * 2019-10-16 2021-04-26 삼성전자주식회사 인터페이싱 장치, 인터페이싱 장치를 포함하는 반도체 장치 및 반도체 장치의 통신 방법
KR102409414B1 (ko) 2021-11-30 2022-06-15 한화시스템 주식회사 레이더 시스템의 디지털 레이더 수신기 및 이를 이용한 멀티채널 수신신호 처리방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4675863A (en) * 1985-03-20 1987-06-23 International Mobile Machines Corp. Subscriber RF telephone system for providing multiple speech and/or data signals simultaneously over either a single or a plurality of RF channels
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
US7290086B2 (en) * 2003-05-28 2007-10-30 International Business Machines Corporation Method, apparatus and program storage device for providing asynchronous status messaging in a data storage system
DE102004004796B4 (de) * 2004-01-30 2007-11-29 Infineon Technologies Ag Vorrichtung zur Datenübertragung zwischen Speichern
GB2418036B (en) 2004-09-08 2007-10-31 Advanced Risc Mach Ltd Communication transaction control between independent domains of an integrated circuit
CN101390065A (zh) * 2006-02-24 2009-03-18 高通股份有限公司 经由总线的地址信道的协作写入
US7694204B2 (en) * 2006-03-09 2010-04-06 Silicon Image, Inc. Error detection in physical interfaces for point-to-point communications between integrated circuits
US20080126609A1 (en) * 2006-09-14 2008-05-29 Integrated Device Technology, Inc. Method for improved efficiency and data alignment in data communications protocol
US7673084B2 (en) * 2007-02-20 2010-03-02 Infineon Technologies Ag Bus system and methods of operation using a combined data and synchronization line to communicate between bus master and slaves
US8799545B2 (en) * 2010-02-26 2014-08-05 Hewlett-Packard Development Company, L.P. Restoring stability to an unstable bus
EP2712123A1 (en) * 2012-09-20 2014-03-26 Robert Bosch Gmbh Standard CAN implementation tolerating CAN FD frames
JP2015049769A (ja) * 2013-09-03 2015-03-16 株式会社ニコン 通信装置、エンコーダ装置、及びシリアル通信方法
US9519440B2 (en) * 2013-09-10 2016-12-13 Qualcomm Incorporated Providing command queuing in embedded memories
CN104461972B (zh) * 2013-09-12 2018-03-13 华为技术有限公司 一种数据信号采样的方法和设备
US9823864B2 (en) * 2014-06-02 2017-11-21 Micron Technology, Inc. Systems and methods for throttling packet transmission in a scalable memory system protocol

Also Published As

Publication number Publication date
GB2539443B (en) 2020-02-12
KR20160148456A (ko) 2016-12-26
US20160374029A1 (en) 2016-12-22
GB201510545D0 (en) 2015-07-29
CN106257436B (zh) 2022-04-26
CN106257436A (zh) 2016-12-28
GB2539443A (en) 2016-12-21
US10299219B2 (en) 2019-05-21

Similar Documents

Publication Publication Date Title
KR102577825B1 (ko) 송신기, 수신기, 데이터 전송 시스템 및 데이터 전송 방법
US11327861B2 (en) Cross-talk generation in a multi-lane link during lane testing
US10552358B2 (en) Interface for bridging out-of-band information from a downstream communication link to an upstream communication link
US7444558B2 (en) Programmable measurement mode for a serial point to point link
US9584227B2 (en) Low-power mode signal bridge for optical media
JP5300732B2 (ja) 高速シリアルバッファを有するメモリシステム
EP3411999A1 (en) Unidirectional clock signaling in a high-speed serial link
KR20090077015A (ko) 듀얼-모드 메모리 상호접속을 포함하는 메모리 제어기
US8463962B2 (en) MAC and PHY interface arrangement
KR102243771B1 (ko) 직렬 측파대 시그널링 링크
US20190238179A1 (en) Valid lane training
US6745337B1 (en) Glitch detection circuit for outputting a signal indicative of a glitch on a strobe signal and initializing an edge detection circuit in response to a control signal
US6880026B2 (en) Method and apparatus for implementing chip-to-chip interconnect bus initialization
US8675798B1 (en) Systems, circuits, and methods for phase inversion
TW202002560A (zh) 獨立配對的3相眼圖取樣電路
KR100665918B1 (ko) 번인 테스트 시스템을 위한 선로 인터페이스 장치
JP5921264B2 (ja) シリアル通信システムおよびその通信初期化の方法、並びにシリアル通信装置およびその通信初期化の方法
US20020069391A1 (en) Dynamic parity inversion for I/O interconnects

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