KR20170067745A - 빌트-인 흐름 제어를 갖는 클록-프리 듀얼-데이터-레이트 링크 - Google Patents

빌트-인 흐름 제어를 갖는 클록-프리 듀얼-데이터-레이트 링크 Download PDF

Info

Publication number
KR20170067745A
KR20170067745A KR1020177008953A KR20177008953A KR20170067745A KR 20170067745 A KR20170067745 A KR 20170067745A KR 1020177008953 A KR1020177008953 A KR 1020177008953A KR 20177008953 A KR20177008953 A KR 20177008953A KR 20170067745 A KR20170067745 A KR 20170067745A
Authority
KR
South Korea
Prior art keywords
fetch clock
bus
transmitter
pin
receiver
Prior art date
Application number
KR1020177008953A
Other languages
English (en)
Inventor
랄란 지 미쉬라
리차드 도미닉 위트펠트
제임스 라이오넬 페니언
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20170067745A publication Critical patent/KR20170067745A/ko

Links

Images

Classifications

    • 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
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • 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/3243Power saving in microcontroller unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Dc Digital Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)

Abstract

수신기의 수신 핀에 커플링된 송신 핀을 구동하는 송신기를 포함하는 듀얼 데이터 레이트 인터페이스가 제공된다. 수신기는 그것의 수신 핀을 페치 클록의 사이클들로 구동한다. 송신기는 수신기로 송신 핀을 통해 비트를 송신함으로써 페치 클록의 각 에지에 응답한다.

Description

빌트-인 흐름 제어를 갖는 클록-프리 듀얼-데이터-레이트 링크{CLOCK-FREE DUAL-DATA-RATE LINK WITH BUILT-IN FLOW CONTROL}
본 출원은 2014 년 10 월 3 일자로 출원된 US 가출원 번호 제 62/059,798 호의 이익을 주장하는, 2015 년 9 월 24 일자로 출원된 US 정규 특허 출원 번호 제 14/864,586 호의 이익을 주장하며, 이들 양자 모두는 그 전체가 참조로써 여기에 포함된다.
본 출원은 데이터 통신에 관한 것으로서, 특히 빌트-인 흐름 제어를 갖는 듀얼-데이터-레이트 통신에 관한 것이다.
종래의 마이크로프로세서들은 통상 다른 엔티티들과 통신하기 위해 UART (Universal Asynchronous Receiver/Transmitter) 인터페이스를 포함한다. UART 인터페이스는 송신 핀 (TX), 수신 핀 (RX), RTS (Request to Send) 핀, 및 CTS (Clear to Send) 핀을 요구한다. UART 인터페이스는 비트 레이트의 16 배인 오버샘플링 클록을 사용한다. 따라서 각각의 수신된 비트는 16 개의 샘플들에 의해 표현된다. UART 송신은 매우 간단하다: 이진수 1 을 전송하기 위해, 송신 UART 인터페이스는 그것의 TX 핀을 그것의 오버샘플링 클록의 16 개의 사이클들에 의해 결정된 바와 같은 비트 주기의 지속기간 동안 전력 공급 전압 VDD 으로 구동한다. 수신 UART 인터페이스는 그 자신의 오버샘플링 클록을 사용하여 그것의 비트 주기를 카운트한다. 이진수 0 의 송신은 단지 그 보수이다: 송신 UART 인터페이스는 적절한 횟수를 사이클링하는 그것의 오버샘플링 클록에 의해 결정되는 바와 같은 비트 주기의 지속기간 동안 그것의 송신 핀을 그라운딩한다. UART 인터페이스는 흐름 제어를 위해 RTS (Request to Send) 핀, 및 CTS (Clear to Send) 핀을 사용한다. 특히, 수신 UART 인터페이스는 그것의 CTS 핀 상에서 송신 UART 인터페이스에서 수신되는 전력 공급 전압 VDD 로 그것의 RTS 핀을 어써팅함으로써 데이터를 수신할 준비가 되어 있다고 나타낸다. 따라서 송신 UART 인터페이스는 그것이 그것의 CTS 핀상의 전압이 어써팅되는 것을 볼때만 송신한다. 결과의 데이터 송신은 8 비트들의 프레임들에서이다.
UART 인터페이스들이 간단하고 상대적으로 강건하지만, 그것의 오버샘플링 클록은 UART 인터페이스가 데이터를 송신하고 있는지 또는 수신하고 있는지 여부에 관계없이 그것이 오실레이팅해야 하기 때문에 실질적인 전력을 소비한다. 또, UART 의 프레임 사이즈는 8 비트들로 고정된다. 프레임 사이즈가 증가되면, (송신기의 클록을 수신기의 클록과 충분히 정렬되게 유지하는 것에 대한) 오버샘플링 클록에 대한 타이밍 요건들이 점점더 엄중하게 된다. 이에 따라, 오버샘플링 클록의 사용 없이 유연한 프레임 길이들을 수용하는 저전력 동기식 데이터 인터페이스에 대한 본 기술에서의 필요가 존재한다.
오버샘플링 클록에 대한 필요를 제거하는 듀얼-데이터-레이트 인터페이스가 제공된다. 그 인터페이스에 의해 송신될 때, 프레임은 송신기가 그것의 송신 핀을 그라운드까지 낮게 풀링하고 그것을 릴리스하는 초기 플래그 심볼로 시작하며, 그 때문에 송신 핀은 전력 공급 전압 VDD 로 다시 약하게 풀링된다. 송신 핀은 수신기상의 수신 핀에 회로 보드 트레이스와 같은 송신 라인 (버스) 을 통해 커플링된다. 응답으로, 수신기는 그것의 수신 핀을 그라운드로 로우로 방전하여 그것이 프레임의 제 1 비트를 수신할 준비가 되어 있다는 것을 나타낸다. 송신기는 그 후 그 비트를 송신하고 버스를 그것의 이전의 로우 상태로 릴리스한다. 각각의 후속 비트의 경우, 수신기는 그 버스를 선행 비트의 송신을 트리거하기 위해 수신기에 의해 사용된 바와 같은 보수 이진 상태로 천이시킨다. 수신기는 따라서 수신기가 버스를 방전함으로써 프레임에서 이전의 비트의 송신을 트리거한 경우 현재의 비트의 송신을 트리거하기 위해 전력 공급 전압 VDD 로 하이로 버스를 구동한다. 역으로, 수신기가 버스를 전력 공급 전압 VDD 로 구동함으로써 프레임에서 이전의 비트의 송신을 트리거했다면, 수신기는 버스를 그라운드로 방전함으로써 프레임에서의 현재의 비트의 송신을 트리거한다. 따라서, 수신기에 의한 각각의 버스 천이는 (수신기가 버스를 전력 공급 전압으로 하이로 천이하는 경우) 수신기 페치 클록의 상승 에지 또는 (수신기가 버스를 그라운드로 로우로 천이하는 경우) 수신기 페치 클록의 하강 에지를 포함하는 것으로 생각될 수도 있다. 송신기는 단지 수신기 페치 클록 에지 천이에 응답하여 프레임의 현재의 비트를 송신한다. 이러한 양식으로, 흐름 제어는 송신기의 송신 핀과 수신기상의 대응하는 수신 핀 사이의 단일 와이어 버스에 "빌트-인" 된다.
도 1 은 여기에 개시된 바와 같은 듀얼-데이터-레이트 인터페이스를 각각 갖는 한 쌍의 집적회로를 포함하는 시스템의 블록도이다.
도 2a 는 도 1 의 시스템에서의 각각의 송신기에 대한 디폴트 버스 상태에 대한 타이밍도이다.
도 2b 는 프레임 송신 동안 도 2a 의 버스에 대한 타이밍도이다.
도 2c 는 수신기가 송신을 위해 준비되지 않은 주기를 포함하는 도 2a 의 버스에 대한 타이밍도이다.
도 3 은 도 2b 의 버스에 대한 더 상세한 타이밍도 및 수신기에서의 페치 클록의 대응하는 지연된 버전이다.
도 4 는 본 개시의 양태들에 따른 듀얼-데이터-레이트 인터페이스에서의 송신기 및 수신기에 대한 더 상세한 블록도이다.
도 5 는 본 개시의 양태에 따른 듀얼-데이터-레이트 인터페이스를 갖는 집적회로들을 포함하는 시스템의 다이어그램이다.
도 6 은 본 개시의 양태에 따른 듀얼-데이터-레이트 인터페이스에서의 수신기에 대한 동작의 방법에 대한 플로우챠트이다.
본 개시의 양태들 및 그들의 이점들은 다음의 상세한 설명을 참조함으로써 가장 잘 이해된다. 유사한 참조 번호들이 도면들 중 하나 이상에 도시된 유사한 엘리먼트들을 식별하기 위해 사용된다는 것이 인정되어야 한다.
오버샘플링 클록을 요구하지 않는 집적회로 비동기식 듀얼-데이터-레이트 데이터 인터페이스가 제공된다. 그 인터페이스는 제 1 핀을 통해 데이터를 전송하는 송신기 및 또한 제 2 핀을 통해 데이터를 수신하는 수신기를 포함한다. 빌트-인 흐름 제어로 인해, 인터페이스는 종래의 UART 인터페이스들에 의해 사용되는 RTS 및 CTS 핀들과 같은 어떠한 추가적인 핀들도 필요로하지 않는다. 이들 인터페이스들은 단일의 집적회로 내에 또는 별개의 집적회로들 내에 존재할 수도 있다. 이제 도면을 참조하면, 예시의 시스템 (100) 이 도 1 에 도시되어 있다. 집적회로 (디바이스-A) 는 듀얼-데이터-레이트 인터페이스 (105) 를 포함한다. 유사하게, 다른 집적회로 (디바이스-B) 는 대응하는 듀얼-데이터-레이트 인터페이스 (105) 를 포함한다. 각각의 인터페이스 (105) 는 송신 핀 (125) 을 통해 송신하는 송신기 (110) 및 수신 핀 (130) 을 통해 수신하는 수신기 (115) 를 포함한다. 2-와이어 풀-듀플렉스 링크 (135) 는 인터페이스들 각각의 송신 핀 (125) 을 인터페이스들의 나머지 것의 수신 핀 (130) 에 커플링한다. 여기서 사용되는 바와 같이, "핀" 은 집적회로가 회로보드상의 리드들 또는 다른 적합한 송신 라인들에 커플링하기 위해 사용하는 패드 또는 실제의 핀과 같은 구조를 커버하는 일반적인 용어이다. 링크 (135) 에서, 와이어 또는 트레이스 (140) 는 디바이스 A 에 대한 송신 핀 (125) 과 디바이스 B 에 대한 수신 핀 (130) 사이를 커플링한다. 유사하게, 링크 (135) 는 디바이스 B 에 대한 송신 핀 (125) 과 디바이스 B 에 대한 수신 핀 (130) 사이를 커플링하는 다른 와이어 또는 트레이스 (140) 를 포함한다.
단지 2-와이어 링크 (135) 만을 사용하여 임베딩된 흐름 제어를 제공하기 위해, 각 송신기 (110) 는 단지 대응하는 수신기로부터의 페치 클록에 응답하여 송신한다. 2-와이어 링크 (135) 에서의 각 와이어의 준비완료 (ready) 상태 또는 아이들 버스 상태는 도 2a 에서 도시된 바와 같이 (전력 공급 전압 VDD 를 갖는) 로직 하이이다. 이러한 아이들 상태는 도 1 의 수신기 (115) 가 데이터의 프레임을 수신할 준비가 되어 있다는 것을 시그널링한다. 프레임 송신을 시작하기 위해, 도 1 의 송신기 (110) 는 그것의 송신 핀 (125) 에 커플링된 버스 (140) 를 도 2b 에 도시된 바와 같이 그라운드로 로우로 방전하고, 그 후 버스 (140) 를 초기 플래그 주기 (200) 에 걸쳐 그것의 디폴트 하이 상태로 리턴한다. 초기 플래그 주기 (200) 의 지속기간은 수신기 (115) 및 송신기 (110) 에 의해 미리 동의될 수도 있다. 예를 들어, 각각의 수신기 (115) 및 송신기 (110) 는 초기 플래그 주기 (200) 의 지속기간과 같은 여러 파라미터들을 저장하는 구성 메모리 (도시하지 않음) 를 포함할 수도 있다. 송신기 (110) 는 그 후 도 2b 에 또한 도시된 페치 클록 (205) 의 에지들로 버스 (140) 를 구동하는 수신기 (115) 에 따라 후속하는 프레임의 비트들을 송신하도록 진행할 수도 있다. 초기 플래그 주기 (200) 의 지속기간과 같이, 프레임 사이즈는 대응하는 구성 메모리 (도시하지 않음) 의 구성을 통하여와 같이 각각의 송신기 (110) 및 대응하는 수신기 (115) 에 의해 미리 동의된다. 도 2b 의 페치 클록 (205) 의 경우, 프레임 사이즈는 패리티 비트 (PB) 및 정지 비트 (SB) 가 후속되는 8 비트들 (데이터 비트들 D0 내지 D7) 이다. 버스 (140) 의 디폴트 상태가 로직 하이이므로, 수신기 (115) 는 버스 (140) 를 로우로 풀링함으로써 페치 클록 (205) 의 제 1 하강 에지 (210) 를 송신한다. 페치 클록 (205) 의 이러한 제 1 하강 에지 (210) 에 응답하여, 송신기 (110) 는 그것의 데이터 값에 따라 로직 하이 또는 로직 로우일 수도 있는 초기 비트 D0 를 전송한다. (나머지 비트들과 같이) 초기 비트 D0 는 따라서 그것이 그것의 이진 값에 따라 로직 로우 또는 로직 하이일 수도 있기 때문에 크로스 해치드 (cross-hatched) 칼럼으로서 도시된다. 초기 비트 D0 의 종결 시에, 송신기 (110) 는 버스 (140) 를, 이 예에서는 로직 로우인 (그라운드로 방전되는) 선행 클록 에지 (210) 에 의해 확립된 이진 상태로 리턴한다.
각각의 후속 페치 클록 에지는 선행 페치 클록 에지의 이진 보수이다. 예를 들어, 초기 페치 클록 에지 (210) 가 하강 에지이기 때문에, 후속 페치 클록 에지 (215) 는 상승 에지이다. 응답으로, 송신기 (110) 는 데이터 비트 D1 를 송신하고, 버스 (140) 를 상승 클록 에지 (215) 에 의해 확립된 로직 하이 (전력 공급 전압 VDD) 상태로 리턴한다. 이러한 방식으로, 수신기 (115) 는 선행 에지가 하강 에지였다면 페치 클록 (205) 동안 상승 에지를 송신함으로써 그것이 프레임에서의 각각의 후속 비트에 대해 준비되어 있다는 것을 시그널링한다. 역으로, 수신기 (115) 는 선행 에지가 상승 에지였다면 페치 클록 (205) 동안 하강 에지를 송신함으로써 그것이 프레임에서의 각각의 후속 비트에 대해 준비되어 있다는 것을 시그널링한다. 각각의 데이터 비트 송신의 경우, 송신기 (110) 는 버스 (140) 를 이전의 페치 클록 에지에 의해 결정된 바와 같은 그것의 원래의 상태로 리턴함으로써 송신을 종료한다. 초기 비트 D0 가 하강 에지 (210) 에 응답하기 때문에, 송신기 (110) 는 초기 비트 D0 가 송신된 후 버스 (140) 를 그라운드로 다시 리셋한다. 유사하게, 송신기 (110) 는 비트 D1 이 페치 클록 (205) 의 상승 에지 (215) 에 응답하기 때문에 비트 D1 이 송신된 후 전력 공급 전압 VDD 으로 버스 (140) 를 리셋한다.
각각의 비트 송신 후, 수신기 (115) 는 버스 (140) 를 통해 적절한 페치 클록 에지를 송신함으로써 그것이 후속 비트를 수신할 준비가 되어 있다는 것을 나타낸다. 이러한 방식으로, 수신기 (115) 는 그것이 다음 비트를 위해 준비되어 있다는 것을 나타내기 위해 버스 (140) 의 상태를 계속 변경한다. 송신기 (110) 는 그 후 대응하는 비트를 송신하고, 현재의 비트 송신을 개시하기 위해 수신기 (115) 에 의해 설정되었던 상태로 버스 (140) 를 리턴한다. 수신기 (115) 가 버스 (140) 를 하이 또는 로우로 사이클링할 횟수는 프레임 내의 비트들의 수에 의존한다 - 프레임 사이즈는 송신기 (110) 및 수신기 (115) 양자 모두에게 미리 알려져 있다. 도 2b 에서, 프레임 사이즈는 8 비트들이어서 수신기 (115) 는 버스를 로우 및 하이로 4 회 사이클링한다 (버스의 8 회의 이진 천이들). 각각의 비트는 수신기 (115) 가 버스 (140) 를 상보적인 이진 상태로 천이할 때만 송신된다.
송신기 (110) 는 단지 수신기 (115) 가 이전 비트의 송신을 트리거하기 위해 사용된 그것의 이진 상태로부터 보수 이진 상태로 버스 (140) 를 천이한 경우 비트를 전송할 수 있기 때문에 흐름 제어는 버스 (140) 에 고유하다는 것이 인정될 것이다. 버스 (140) 가 페치 클록 (205) 의 이전 하강 에지에 의해 로우로 사이클링된 경우, 수신기 (115) 는 페치 클록 (205) 동안 상승 에지를 형성하기 위해 버스 (140) 를 하이로 사이클링함으로써 그것이 다음 비트를 수신할 준비가 되어 있다는 것을 시그널링한다. 역으로, 버스 (140) 가 페치 클록 (205) 의 선행 상승 에지에 의해 하이로 사이클링된 경우, 수신기 (115) 는 페치 클록 (205) 에 대해 하강 에지를 형성하기 위해 버스 (140) 를 로우로 사이클링함으로써 그것이 후속 비트를 수신할 준비가 되어 있다는 것을 시그널링한다. 송신이 "보드-레이트 (baud-rate) 독립적" 이라는 것을 주의하라. 예를 들어, 수신기 (115) 가 비지 (busy) 이고 프레임에서의 후속 비트를 프로세싱할 수 없다면, 그것은 단순히 그것이 버스 (140) 를 그것의 상보적 상태로 토글링하기 전에 준비될 때까지 지연될 수도 있다. 그러한 지연은 송신기 (110) 가 단지 수신기 (115) 에 의한 그의 상보적인 상태로의 버스 (140) 의 토글링에 응답하여 프레임에서의 각각의 후속 비트를 송신하기 때문에 송신기 (110) 에 대해 아무 문제가 없다. 수신기 (115) 에게 충분한 프로세싱 시간을 허용하기 위해 비트들 사이에 발생할 수도 있는 그 가변적인 지연에 더하여, 수신기 (115) 는 또한 도 2c 에 도시된 바와 같이 버스 (140) 를 그라운드로 로우로 풀링함으로써 송신기 (110) 가 초기 플래그 (200) 를 송신하는 것조차 방지할 수 있다. 수신기 (115) 가 이러한 방식으로 버스 (140) 를 방전된 채로 유지하는 한, 그것은 그것이 프레임에 대해 준비가 되어 있지 않다고 송신기 (110) 에게 시그널링한다. 송신기 (110) 는 따라서 수신기 (115) 가 버스 (140) 를 그라운드된 채로 유지하는 동안 초기 플래그 (200) 를 사용하여 프레임 송신을 시작할 수 없다. 수신기 (115) 가 프레임에 대해 준비되어 있는 경우, 그것은 버스 (140) 를 그것의 디폴트 (아이들) 하이 상태로 리턴한다.
페치 클록에 대한 상승 및 하강 에지들 (305, 315, 및 325) 의 세트에 대한 수신기 (115) 에서의 데이터의 수신은 도 3 을 참조하여 더 잘 이해될 수도 있다. 송신기 (110) 로부터의 수신된 비트들을 샘플링하기 위해, 수신기 (115) 는 버스 (140) 에 대한 이진 상태의 지연된 버전인 샘플링 클록 (300) 을 생성할 수도 있다. 수신기 (115) 는 시간 지연 (T6) 만큼 버스 (140) 의 대응하는 상승 및 하강 에지들에 대해 샘플링 클록 (300) 을 지연시킬 수도 있다. 페치 클록에 대한 각각의 상승 또는 하강 에지는 시간 (T1) 이 완료할 것을 요구하며 (버스 (140) 에 대해 전력 공급 전압 VDD 으로부터 그라운드로 방전을 위해 또는 그라운드로부터 전력 공급 전압 VDD 으로의 충전을 위해 요구된 시간 (T1)), 버스 (140) 에 대한 전압이 각각의 페치 클록 천이 (305) 후에 정착하는 것을 허용하는 정착 시간 (T2) 이 후속한다. 송신기 구동 윈도우는 각각의 페치 클록 천이 (시간 T1) 및 정착 시간 (T2) 조합에 후속한다. 각각의 송신기 구동 윈도우에서, 송신기 (110) 는 (이진수 1 을 송신하기 위해) 버스 (140) 를 하이로 충전함으로써 또는 (이진수 0 을 송신하기 위해) 버스 (140) 를 로우로 방전함으로써 대응하는 데이터 비트를 송신한다. 각각의 송신기 구동 윈도우의 완료 시에, 송신기 (110) 는 이전의 페치 클록 천이 (305) 로부터 야기되는 것에 있어서 그것이 존재했던 임의의 이진 상태로 버스 (140) 를 리턴한다.
도 3 에서, 초기 페치 클록 천이 (305) 는 버스 (140) 를 로우로 풀링했다 (페치 클록에 대해 하강 에지). 송신기 (110) 는 그 후 초기 구동 윈도우 (310) 에서 대응하는 데이트 비트를 송신한다. 따라서, 초기 구동 윈도우 (310) 가 이진수 0 을 송신하기 위해 사용되는 경우, 송신기 (110) 는 단순히 초기 페치 클록 천이 (305) 에 후속하여 버스 (140) 를 방전된 채로 둘 수도 있다. 도 3 에서는, 송신기 (110) 는 이진수 1 을 송신하기 위해 초기 구동 윈도우 (310) 를 사용하여서, 버스 (140) 는 초기 구동 윈도우 (310) 동안 전력 공급 전압 VDD 으로 하이로 천이되었다. (초기 페치 클록 천이 (305) 와 유사한) 초기 구동 윈도우 (310) 에서의 이러한 버스 천이는 상승 시간 (T1) 을 요구한다. 수신기 (115) 는 그 후 초기 페치 클록 천이 (305) 가 또한 하강 에지이었기 때문에 샘플링 클록 (300) 에 대한 하강 에지에 응답하여 초기 구동 윈도우에서의 버스 (140) 에 대한 이진 상태를 샘플링한다. 초기 구동 윈도우 (310) 에 후속하여, 송신기 (110) 는 페치 클록의 초기 페치 클록 천이 (305) 에 의해 확립된 바와 같은 그것의 그라운드 상태로 버스 (140) 를 리턴한다. 이러한 천이는 다른 정착 시간 (T2) 가 후속되는 하강 시간 (T1) 이 걸린다. 가변 사이클 스트레치 시간 (T5) 가 그 후 만료할 수도 있다. 사이클 스트레치 시간 (T5) 의 지속기간은 수신기 (115) 가 다른 비트를 수신할 준비가 된 때에 의존한다.
수신기 (115) 가 다른 비트를 수신할 준비가 되어 있는 경우, 그것은 페치 클록에 대해 제 1 상승 에지 (315) 를 트리거한다. 상승 에지 (315) 는 상승 시간 (T1) 이 완료하기를 요구하며, 다른 정착 시간 (T2) 이 후속되며, 그 결과 송신기 (110) 는 제 2 구동 윈도우 (320) 에서 송신할 수도 있다. 이러한 예에서, 송신기 (110) 가 제 2 구동 윈도우 (320) 동안 버스 (140) 를 그라운드로 방전하도록 제 2 구동 윈도우 (320) 에서 이진수 0 을 송신한다. 수신기 (115) 는 그 후 샘플링 클록 (300) 에 대한 상승 에지에 따라 버스 (140) 에 대한 이러한 이진수 0 상태를 샘플링한다. 각각의 샘플링 윈도우 (310 및 320) 에서, 수신기 (115) 에 대한 샘플링 시간 지연 (T6) 은 충분한 셋업 시간 (T3) 및 충분한 홀드 시간 (T4) 이 존재하도록 타이밍되어야 한다.
버스 (140) 에 대한 사이클 시간 (예를 들어, 제 1 페치 클록 천이 (305) 로부터 제 2 페치 클록 천이 (315) 까지의 시간) 은 2 * (T1 + T2 + T1 + T3 + T4 + T1 + T2 +T5) = 6T1 + 4T2 + 2 * (T3 + T4 + T5) 와 동일하다. 하나의 비트는 각각의 페치 클록 천이에 응답하여 송신되기 때문에, 데이터 레이트는 따라서 1/(3T1 + 2T2 + T3 + T4 + T5) 이다. 결과적인 데이터 송신 속도는 변수들 T1 내지 T5 에 의존한다. 버스 상승 및 하강 시간 (T1) 에 대한 매우 보수적인 추정은 1 ns 이다. 유사하게, 버스 정착 시간 (T2) 에 대한 매우 보수적인 추정은 1 ns 이다. 버스 셋업 시간 (T3) 및 버스 셋업 시간 (T4) 이 양자 모두 2 ns 이고 사이클 스트레치 시간 (T5) 이 5 ns 라고 가정하면, 데이터 송신 레이트는 71.4 Mbps 가 된다. 그러한 데이터 레이트는 버스 정착 및 상승 시간들에 대한 꽤 보수적인 추정들을 수반했다는 것을 주의하라. 이에 따라, 상당히 더 빠른 데이터 레이트들이 실제로 실현될 수도 있다. 게다가, 그러한 정착 시간들은 2-와이어 버스 (135) 가 집적회로 패키지에서의 상호연결들 (interconnects) (또는 단일의 집적회로 내의 전체 도체들) 을 포함한 경우 수십 피코초 이하에서 측정될 수도 있다.
예시의 송신기 (110) 및 수신기 (115) 가 도 4 에 도시된다. 송신기 (110) 에 대해, 시스템 버스 (435) 는 수신기 버퍼 (440) 에 초기에 저장될 수도 있는, 송신될 데이터 프레임을 공급한다. 수신기 버퍼 (440) 로부터, 데이터 프레임은 타이밍 및 제어 회로 (460) 의 제어하에서 병렬-대-직렬 시프트 레지스터 (455) 로 직렬로 시프트된다. 타이밍 및 제어 회로 (460) 는 입력 버퍼 (410) 상에 수신된 바와 같은, 수신기 (110) 로부터의 페치 클록 천이들 (305) (도 3) 에 의해 결정된 바와 같은 버스 (140) 의 상태를 모니터한다. 각각의 페치 클록 천이 후에, 송신기 (110) 내의 래치 (405) 와 같은 키퍼 (keeper) 회로는 버스 (140) 의 상태 (하이 또는 로우) 를 저장한다. 각각의 페치 클록 천이에 응답하여, 타이밍 및 제어 회로 (460) 는 프레임 내의 각각의 연속적인 비트를 시프트 레지스터 (455) 로부터 멀티플렉서 (450) 를 통해, 연속적인 비트들을 버스 (140) 상으로 수신기 (115) 로 구동하는 출력 버퍼 (445) 로 시프트한다. 구동 윈도우 (310) (도 3) 의 완료 시에, 타이밍 및 제어 회로 (460) 는 버스 (140) 를 래치 (405) 에 저장된 바와 같은 이전 페치 클록 천이에 의해 결정된 상태로 리턴한다. 멀티플렉서 (450) 는 출력 버퍼 (445) 가 버스 (140) 를 이러한 이전의 이진 상태로 구동할 수 있도록 타이밍 및 제어 회로 (460) 에 의해 제어된 바와 같은 이러한 보유된 이진 상태에 대해 선택한다. 일단 버스 (140) 가 그것의 이전 이진 상태로 리턴되면, 출력 버퍼 (445) 는 그것이 임의의 후속 페치 클록 천이와 경합하지 않도록 버스 (140) 가 플로팅하는 것을 허용한다. 송신기 (110) 내의 래치 (405) 는 일단 출력 버퍼 (445) 가 버스 (140) 를 플로팅하면 버스 상태를 약하게 보유하도록 구성될 수도 있다. 시스템 버스 (435) 에 커플링된 제어 레지스터들 (490) 은 타이밍 및 제어 회로 (460) 에 대한 구성 파라미터들을 저장하도록 구성될 수도 있다. 송신 핀 (125) (T1) 은 송신기 (110) 가 페치 클록 천이들을 수신할 수 있도록 양방향성이다. 그것과 관련하여, 송신기 (110) 는 페치 클록 천이들을 타이밍 및 제어 회로 (460) 로 구동하는 입력 버퍼 (495) 를 포함한다.
수신기 (115) 에 대한 수신 핀 (130) 은 또한 수신기 (115) 가 페치 클록 천이들을 버스 (140) 를 통해 송신기 (110) 로 구동할 수 있도록 양방향성이다. 수신기 (115) 내의 래치 (405) 는 타이밍 및 제어 회로 (420) 가 페치 클록 에지를 송신기 (110) 로 구동하기 위해 출력 버퍼 (425) 를 통해 그것을 구동함으로써 버스 (140) 에 대한 이진 전압 상태를 역전시킬 수 있도록 버스 (140) 에 대한 이진 전압 상태를 보유한다. 도 3 에 대해 논의된 바와 같은 적절한 양의 시간을 대기한 후, 타이밍 및 제어 회로 (420) 는 입력 버퍼 (410) 를 통해 수신된 바와 같은 버스 (140) 에 대한 이진 전압 상태를 병렬-대-직렬 시프트 레지스터 (415) 내로 시프트한다. 완전한 프레임 (또는 프레임들) 이 시프트 레지스터 (415) 내로 비트 바이 비트로 시프트된 후, 결과의 완전한 프레임은 수신 (RX) 버퍼 (440) 로 병렬로 시프트될 수도 있다. 수신 버퍼 (440) 는 그 후 시스템 버스 (435) 로 수신된 프레임을 제공하여, 그것이 수신기 (115) 를 포함하는 집적회로 (도시되지 않음) 내의 프로세서 (도시되지 않음) 또는 다른 수신 엔진에 의해 수신될 수 있도록 한다. 프로세서는 제어 레지스터들 (430) 의 대응하는 세트를 통해 타이밍 및 제어 회로 (420) 를 구성할 수도 있다. 다시 도 2b 를 참조하면, 프레임은 프레임을 구성하는 동의된 수의 데이터 비트들에 후속하는 패리티 비트 (PB) 를 포함할 수도 있다. 프레임은 디폴트 버스 상태로부터 구별 불가능한 정지 비트 (SB) 로 종결된다. 즉, 일단 송신기 (110) 가 패리티 비트 (PB) 를 송신하면, 그것은 버스 (140) 를 다시 그의 디폴트 하이 전압 상태로 구동한다.
필요에 따라 프레임 사이즈를 변화시키는 능력을 제공하기 위해, 각 프레임은 예를 들어 2 개의 기능 비트들 (fn_bit_0) 및 (fn_bit_1) 을 포함할 수도 있는 헤더 (도시하지 않음) 를 포함할 수도 있다. 송신기가 프레임 사이즈를 변경하기를 원하는 경우, 그것은 헤더를 통해 시그널링함으로써 그렇게 한다. 예를 들어, 헤더에 대한 2-기능-비트 실시형태에서, 송신기는 후속하는 프레임이 프레임 사이즈에 대해 인코딩한다는 것을 나타내기 위해 fn_bit_0 을 어써드하고 fn_bit_1 을 디어써트할 수도 있다. 역으로, 프레임 사이즈가 변경되지 않은 채로 유지되어야 하는 경우, 송신기는 fn_bit_0 을 디어써트하고 fn_bit_1 을 어써트할 수도 있다.
여기에 논의된 메시징은 통신되고 있는 데이터 타입에 대해 독립적이다. 하나의 실시형태에서, 그러나, 데이터는 가상의 GPIO 상태들일 수도 있다. 즉, 그것의 대응하는 GPIO 핀을 통해 GPIO 신호를 송신하기보다는 오히려, 그 신호는 송신 핀 (125) 및 수신 핀 (130) 을 통해 여기에서 논의된 프레임들에서 송신되는 "가상의 GPIO 신호" 가 된다. 예를 들어, 2015년 9월 10일자로 출원된, 공동-양도된 미국 특허 출원 번호 제 14/850,809 호에서 개시된 바와 같은 프레임 길이를 변경하는 가상의 GPIO 프로토콜은 여기에 논의된 듀얼-데이터-레이트 프로토콜을 사용하도록 쉽게 적응될 수도 있다. 미국 특허 출원 번호 제 14/850,809 호는 따라서 그것의 전체가 참조로써 여기에 포함된다.
타이밍 및 제어 회로들 (420, 460) 은 각각 소프트웨어, 펌웨어, 또는 하드웨어를 사용하여 구현될 수도 있다. 예를 들어, 하드웨어 구현에서, 타이밍 및 제어 회로들 (420, 460) 은 각각 유한 상태 머신을 포함할 수도 있다. 대안적인 구현들에서, 타이밍 및 제어 회로 (460) 는 송신 핀 (125) 을 통해 일련의 페치 클록 천이들 중 연속적인 것들을 수신하는 것에 응답하여 데이터 프레임의 연속적인 비트들을 시프트 아웃하고, 래치 (405) 로부터 취출된 선행 페치 클록 천이에 대한 이진 상태에 응답하여 각각의 연속적인 비트 송신 후에 송신 핀 (125) 에 대한 이진 전압 상태를 복원하는 수단을 포함하는 것으로 생각될 수도 있다.
예시의 시스템 (500) 이 도 5 에 도시되어 있으며, 여기서 SOC (505) 는 복수의 주변 디바이스들 (510) 과 여기에 기시된 바와 같이 듀얼-데이터-레이트 인터페이스 (도시하지 않음) 를 통해 통신하도록 구성된다. 따라서, 각각의 주변 디바이스 (510) 는 또한 여기에 개시된 바와 같은 듀얼-데이터-레이트 인터페이스 (도시하지 않음) 를 포함한다. SOC (505) 와 각각의 주변 디바이스 (510) 사이의 대응하는 2-와이어 링크 (135) (도 1) 는 또한 도시의 명확성을 위해 도시되지 않는다. 시스템 (500) 은 셀룰러 전화, 스마트 폰, 개인용 휴대정보단말, 태블릿 컴퓨터, 랩톱 컴퓨터, 디지털 카메라, 핸드헬드 게이밍 디바이스, 또는 다른 적합한 디바이스를 포함할 수도 있다. 그의 듀얼-데이터-레이트 인터페이스를 사용하는 것에 더하여, SOC (505) 는 DRAM (520) 과 같은 메모리에 및 디스플레이 제어기 (525) 에 또한 커플링하는 시스템 버스 (515) 를 통해 센서들과 같은 주변 디바이스들 (510) 과 통신한다. 디스플레이 제어기 (525) 는 차례로 디스플레이 (535) 를 구동하는 비디오 프로세서 (530) 에 커플링한다.
수신기 (115) 에 대한 동작의 방법이 도 6 의 플로우챠트를 참조하여 이제 기술될 것이다. 방법은 페치 클록의 이전의 에지에 대한 이전의 이진 전압 상태의 보수인 현재의 이진 전압 상태로 수신기를 송신기에 커플링하는 버스를 구동함으로써 송신기로 페치 클록의 현재의 에지를 구동하는 액트 (act) (600) 를 포함한다. 액트 (600) 의 예는 도 2b 에 도시된 페치 클록의 상승 에지 (215) 에 대해 상술되었다. 이전의 페치 클록 천이가 하강 에지 (210) 이었기 때문에, 수신기 (115) 는 프레임의 현재의 비트 (이 예에서, D1) 를 송신하기 위해 송신기 (110) 를 트리거하기 위해 상승 에지 (215) 를 생성한다.
방법은 또한 페치 클록의 현재의 에지를 구동한 후 및 페치 클록의 후속 에지를 구동하기 전에 버스를 통해 송신기로부터 현재의 데이터 비트를 수신하는 액트 (605) 를 포함한다. 상술된 제 2 구동 윈도우 (320) 동안 수신기 (115) 에서의 송신기 (110) 로부터의 송신된 제로의 샘플링은 액트 (605) 의 예이다. 또, 방법은 현재의 이진 전압 상태의 보수인 후속 이진 전압 상태로 버스를 구동함으로써 송신기로 페치 클록의 후속 에지를 구동하는 액트 (610) 를 포함한다. 도 2b 의 비트 D1 에 후속하는 페치 클록에 대한 하강 에지의 송신은 액트 (610) 의 예이다.
마지막으로, 방법은 페치 클록의 후속 에지를 구동한 후 버스를 통해 송신기로부터 후속 데이터 비트를 수신하는 액트 (615) 를 포함한다. 도 2b 에 도시된 바와 같은 비트 D1 의 송신 후의 페치 클록에 대한 하강 에지에 후속하는 수신기 (115) 에서의 비트 D2 의 수신은 액트 (620) 의 예이다.
본 기술분야에서의 당업자들은 이제 인정할 바와 같이, 그리고 특정의 애플리케이션에 따라, 다수의 변경들, 치환들 및 변동들이 본 개시의 사상 및 범위로부터 일탈하지 않고 본 개시의 재료들, 장치들, 구성들 및 디바이스들의 사용의 방법들에서 및 그들에 대해 행해질 수 있다. 이러한 점에 비추어, 본 개시의 범위는 여기에 도시 및 기술된 특정의 실시형태들의 범위에 제한되지 않아야 하며, 이는 그들은 단지 일부 예들일 뿐이며, 오히려, 이하에 첨부된 청구범위 및 그들의 기능적 등가물들의 범위에 완전히 상응해야 하기 때문이다.

Claims (22)

  1. 집적회로에 대한 듀얼 데이터 레이트 인터페이스로서,
    송신 핀;
    상기 송신 핀에서 수신된 제 1 페치 클록 천이들을 저장하도록 구성된 제 1 메모리로서, 상기 제 1 페치 클록 천이들은 복수의 제 1 데이터 비트들에 대응하고, 상기 제 1 메모리는 또한 각각의 제 1 페치 클록 천이를 이진 상태로서 저장하도록 구성되는, 상기 제 1 메모리; 및
    대응하는 제 1 페치 클록 천이의 상기 송신 핀에서의 수신에 응답하여 상기 송신 핀을 통해 각각의 제 1 데이터 비트를 구동하도록 구성된 제 1 타이밍 및 제어 회로로서, 상기 제 1 타이밍 및 제어 회로는 또한 상기 대응하는 제 1 페치 클록 천이에 대한 상기 메모리에 저장된 상기 이진 상태에 응답하여 상기 송신 핀에 대한 전압을 복원하도록 구성되는, 상기 제 1 타이밍 및 제어 회로를 포함하는, 집적회로에 대한 듀얼 데이터 레이트 인터페이스.
  2. 제 1 항에 있어서,
    상기 송신 핀에 커플링된 제 1 입력 버퍼를 더 포함하고,
    상기 제 1 입력 버퍼는 상기 송신 핀에서 수신된 각각의 제 1 페치 클록 천이를 상기 제 1 타이밍 및 제어 회로로 구동하도록 구성되는, 집적회로에 대한 듀얼 데이터 레이트 인터페이스.
  3. 제 1 항에 있어서,
    상기 복수의 제 1 데이터 비트들을 저장하도록 구성된 제 1 시프트 레지스터를 더 포함하고,
    상기 제 1 타이밍 및 제어 회로는 또한 상기 대응하는 제 1 페치 클록 천이의 상기 송신 핀에서의 상기 수신에 응답하여 상기 제 1 시프트 레지스터로부터 각각의 제 1 데이터 비트를 시프트 아웃하도록 구성되는, 집적회로에 대한 듀얼 데이터 레이트 인터페이스.
  4. 제 1 항에 있어서,
    상기 제 1 메모리는 래치를 포함하는, 집적회로에 대한 듀얼 데이터 레이트 인터페이스.
  5. 제 1 항에 있어서,
    상기 제 1 메모리에 저장된 상기 이진 상태와 각각의 제 1 데이터 비트 사이를 선택하도록 구성된 멀티플렉서를 더 포함하는, 집적회로에 대한 듀얼 데이터 레이트 인터페이스.
  6. 제 5 항에 있어서,
    상기 멀티플렉서로부터의 출력 신호로 상기 송신 핀을 구동하도록 구성된 제 1 출력 버퍼를 더 포함하는, 집적회로에 대한 듀얼 데이터 레이트 인터페이스.
  7. 제 1 항에 있어서,
    수신 핀;
    상기 송신 핀을 통해 송신된 제 2 페치 클록 천이들을 저장하도록 구성된 제 2 메모리로서, 상기 제 2 메모리는 또한 각각의 제 2 페치 클록 천이를 이진 상태로서 저장하도록 구성되는, 상기 제 2 메모리; 및
    제 2 타이밍 및 제어 모듈로서, 상기 제 2 타이밍 및 제어 모듈은 상기 제 2 페치 클록 천이들을 시리즈로 송신하도록 구성되고, 상기 제 2 타이밍 및 제어 모듈은 또한 상기 듀얼 데이터 레이트 인터페이스가 상기 수신 핀을 통해 데이터 프레임에서의 제 2 데이터 비트를 수신할 준비가 되어 있다는 결정에 응답하여 상기 수신 핀을 통해 상기 시리즈에서의 각각의 제 2 페치 클록 천이를 송신하도록 구성되고; 및 상기 제 2 타이밍 및 제어 모듈은 또한 상기 시리즈에서의 상기 제 2 페치 클록 천이들 중 선행 제 2 페치 클록 천이에 대한 상기 제 2 메모리에 저장된 상기 이진 상태의 보수인 이진 값으로 상기 시리즈에서의 각각의 제 2 페치 클록 천이를 구동하도록 구성되는, 상기 제 2 타이밍 및 제어 모듈을 더 포함하는, 집적회로에 대한 듀얼 데이터 레이트 인터페이스.
  8. 제 7 항에 있어서,
    상기 제 2 타이밍 및 제어 모듈은 또한 상기 수신 핀을 통해 수신된 각각의 제 2 데이터 비트를 샘플링하고 샘플링된 상기 제 2 데이터 비트를 제 2 시트프 레지스터로 로딩하도록 구성되는, 집적회로에 대한 듀얼 데이터 레이트 인터페이스.
  9. 제 7 항에 있어서,
    상기 제 2 메모리는 래치를 포함하는, 집적회로에 대한 듀얼 데이터 레이트 인터페이스.
  10. 제 7 항에 있어서,
    상기 듀얼 데이터 레이트 인터페이스는 시스템-온-칩 (SoC) 에 포함되는, 집적회로에 대한 듀얼 데이터 레이트 인터페이스.
  11. 제 10 항에 있어서,
    상기 SoC 는 셀룰러 전화, 스마트 폰, 개인용 휴대정보단말, 태블릿 컴퓨터, 랩톱 컴퓨터, 디지털 카메라, 및 핸드헬드 게이밍 디바이스로 이루어지는 그룹으로부터 선택된 시스템에 포함되는, 집적회로에 대한 듀얼 데이터 레이트 인터페이스.
  12. 통신의 방법으로서,
    페치 클록의 이전의 에지에 대해 사용된 버스에 대한 이전의 이진 전압 상태의 보수인 현재의 이진 전압 상태로 수신기를 송신기에 커플링하는 버스를 구동함으로써 상기 송신기로 상기 페치 클록의 현재의 에지를 구동하는 단계;
    상기 수신기에서, 상기 페치 클록의 상기 현재의 에지를 구동한 후 및 상기 페치 클록의 후속 에지를 구동하기 전에 상기 버스를 통해 상기 송신기로부터 현재의 데이터 비트를 수신하는 단계;
    상기 현재의 이진 전압 상태의 보수인 후속 이진 전압 상태로 상기 버스를 구동함으로써 상기 송신기로 상기 페치 클록의 상기 후속 에지를 구동하는 단계; 및
    상기 수신기에서, 상기 페치 클록의 상기 후속 에지를 구동한 후 상기 버스를 통해 상기 송신기로부터 후속 데이터 비트를 수신하는 단계를 포함하는, 통신의 방법.
  13. 제 12 항에 있어서,
    상기 수신기를 송신기에 커플링하는 버스를 구동함으로써 상기 송신기로 상기 페치 클록의 현재의 에지를 구동하는 단계는 상기 송신기 상의 송신 핀에 상기 수신기 상의 수신 핀을 커플링하는 1-와이어 버스를 구동하는 단계를 포함하는, 통신의 방법.
  14. 제 12 항에 있어서,
    상기 수신기를 송신기에 커플링하는 버스를 구동함으로써 상기 송신기로 상기 페치 클록의 현재의 에지를 구동하는 단계는 단일의 집적회로 내의 버스를 구동하는 단계를 포함하는, 통신의 방법.
  15. 제 12 항에 있어서,
    상기 수신기를 송신기에 커플링하는 버스를 구동함으로써 상기 송신기로 상기 페치 클록의 현재의 에지를 구동하는 단계는 제 1 집적회로를 제 2 집적회로에 커플링하는 버스를 구동하는 단계를 포함하는, 통신의 방법.
  16. 통신의 방법으로서,
    송신기상의 송신 핀을 수신기상의 수신 핀에 커플링하는 버스에 대한 버스 전압의 이진 천이들의 시리즈에 대해, 상기 시리즈에서의 상기 버스 전압의 각각의 이진 천이를 검출하는 것에 응답하여 상기 수신 핀으로 상기 송신 핀을 통해 비트들의 시리즈에서의 연속적인 비트를 송신하는 단계; 및
    각각의 비트 송신 후, 상기 버스 전압의 상기 이진 천이들의 선행하는 이진 천이에 대한 이진 상태로 상기 버스 전압을 복원하는 단계를 포함하는, 통신의 방법.
  17. 제 16 항에 있어서,
    상기 비트들의 시리즈는 프레임을 포함하는, 통신의 방법.
  18. 제 17 항에 있어서,
    상기 프레임을 송신하기 전에 상기 버스 전압을 방전하는 단계를 더 포함하는, 통신의 방법.
  19. 집적회로로서,
    송신 핀;
    상기 송신 핀에서 수신된 페치 클록 천이들을 저장하도록 구성된 메모리로서, 상기 페치 클록 천이들은 복수의 데이터 비트들에 대응하고, 상기 메모리는 또한 각각의 페치 클록 천이를 이진 상태로서 저장하도록 구성되는, 상기 메모리; 및
    상기 송신 핀을 통해 상기 페치 클록 천이들의 연속적인 페치 클록 천이들을 수신하는 것에 응답하여 데이터 프레임의 연속적인 비트들을 시프트 아웃하고, 상기 메모리로부터 취출된 선행 페치 클록 천이에 대한 상기 이진 상태에 응답하여 각각의 연속적인 비트 송신 후에 상기 송신 핀에 대한 이진 전압 상태를 복원하는 수단을 포함하는, 집적회로.
  20. 제 19 항에 있어서,
    상기 메모리는 래치를 포함하는, 집적회로.
  21. 제 19 항에 있어서,
    상기 복수의 데이터 비트들을 저장하도록 구성된 시프트 레지스터를 더 포함하고,
    상기 수단은 또한 대응하는 페치 클록 천이의 상기 송신 핀에서의 상기 수신에 응답하여 상기 시프트 레지스터로부터 각각의 제 1 데이터 비트를 시프트 아웃하도록 구성되는, 집적회로.
  22. 제 21 항에 있어서,
    상기 집적회로는 셀룰러 전화, 스마트 폰, 개인용 휴대정보단말, 태블릿 컴퓨터, 랩톱 컴퓨터, 디지털 카메라, 및 핸드헬드 게이밍 디바이스로 이루어지는 그룹으로부터 선택된 시스템에 포함되는, 집적회로.
KR1020177008953A 2014-10-03 2015-09-25 빌트-인 흐름 제어를 갖는 클록-프리 듀얼-데이터-레이트 링크 KR20170067745A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462059798P 2014-10-03 2014-10-03
US62/059,798 2014-10-03
US14/864,586 US9933834B2 (en) 2014-10-03 2015-09-24 Clock-free dual-data-rate link with built-in flow control
US14/864,586 2015-09-24
PCT/US2015/052351 WO2016053796A1 (en) 2014-10-03 2015-09-25 Clock-free dual-data-rate link with built-in flow control

Publications (1)

Publication Number Publication Date
KR20170067745A true KR20170067745A (ko) 2017-06-16

Family

ID=55631299

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177008953A KR20170067745A (ko) 2014-10-03 2015-09-25 빌트-인 흐름 제어를 갖는 클록-프리 듀얼-데이터-레이트 링크

Country Status (8)

Country Link
US (1) US9933834B2 (ko)
EP (1) EP3201786A1 (ko)
JP (1) JP2017531942A (ko)
KR (1) KR20170067745A (ko)
CN (1) CN106796568A (ko)
AU (1) AU2015324190A1 (ko)
BR (1) BR112017006546A2 (ko)
WO (1) WO2016053796A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2555601A (en) * 2016-11-02 2018-05-09 Roli Ltd Data flow control
CN109714236B (zh) * 2019-02-26 2021-12-14 北京强联通讯技术有限公司 总线供电及通讯方法、装置及存储介质
CN111934707B (zh) * 2019-04-25 2024-07-09 恩智浦有限公司 数据发射代码和接口

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210846B1 (en) 1989-05-15 1999-06-29 Dallas Semiconductor One-wire bus architecture
JP2003110587A (ja) 2001-09-30 2003-04-11 Yoshiki Mori 電源供給とデータ伝送を共有する2線バス式伝送方法とその装置
TWI236264B (en) * 2002-09-05 2005-07-11 Winbond Electronics Corp Single wire serial communication protocol method and circuit
US7260660B1 (en) 2004-05-21 2007-08-21 Zilog, Inc. Flow control by supplying a remote start bit onto a single-wire bus
US7127538B1 (en) * 2004-05-21 2006-10-24 Zilog, Inc. Single-pin serial communication link with start-bit flow control
US7769932B2 (en) 2005-09-09 2010-08-03 Honeywell International, Inc. Bitwise arbitration on a serial bus using arbitrarily selected nodes for bit synchronization
FR2963519B1 (fr) * 2010-07-27 2012-08-03 St Microelectronics Rousset Protocole de communication sur bus unifilaire
FR2967816A1 (fr) 2010-11-19 2012-05-25 Commissariat Energie Atomique Procede et dispositif de communication asynchrone de donnees sur un conducteur unique
US9063751B2 (en) 2012-02-22 2015-06-23 Atmel Corporation Single wire bootloader for target device with self-programming capability
US9152257B2 (en) 2012-12-28 2015-10-06 Intel Corporation Low swing voltage mode driver
US9374004B2 (en) 2013-06-28 2016-06-21 Intel Corporation I/O driver transmit swing control

Also Published As

Publication number Publication date
CN106796568A (zh) 2017-05-31
US9933834B2 (en) 2018-04-03
JP2017531942A (ja) 2017-10-26
EP3201786A1 (en) 2017-08-09
US20160098073A1 (en) 2016-04-07
WO2016053796A1 (en) 2016-04-07
AU2015324190A1 (en) 2017-03-16
BR112017006546A2 (pt) 2017-12-19

Similar Documents

Publication Publication Date Title
US9673968B2 (en) Multi-wire open-drain link with data symbol transition based clocking
US9444612B2 (en) Multi-wire single-ended push-pull link with data symbol transition based clocking
US20150220472A1 (en) Increasing throughput on multi-wire and multi-lane interfaces
KR101823315B1 (ko) 가변 프레임 길이를 갖는 2-와이어 인터페이스 시스템에 대한 임피던스-기반 플로우 제어
US10484164B2 (en) Clock and data recovery for pulse based multi-wire link
KR20160066037A (ko) 최소의 phy 변경들로 그리고 프로토콜 변경들 없이 mipi d-phy 링크 레이트를 향상시키기 위한 방법
TWI395425B (zh) 用以實現虛擬大小為m之彈性緩衝器之方法、虛擬大小為m之彈性緩衝器電路及積體電路
WO2015127282A1 (en) Coexistence of legacy and next generation devices over a shared multi-mode bus
KR20170067745A (ko) 빌트-인 흐름 제어를 갖는 클록-프리 듀얼-데이터-레이트 링크
CN116318601A (zh) 用于高速信令互连的帧对齐恢复
US9684487B2 (en) Line-multiplexed UART
CN220820664U (zh) 一种i2c从设备检测电路
WO2023159415A1 (en) Adaptive low-power signaling to enable link signal error recovery without increased link clock rates
KR20080006146A (ko) 유니버셜 직렬 버스 기기에서 데이터 신호의 수신종료를검출하는 방법 및 장치