KR20170137735A - 펄스 기반 멀티-와이어 링크를 위한 클록 및 데이터 복원 - Google Patents

펄스 기반 멀티-와이어 링크를 위한 클록 및 데이터 복원 Download PDF

Info

Publication number
KR20170137735A
KR20170137735A KR1020177028260A KR20177028260A KR20170137735A KR 20170137735 A KR20170137735 A KR 20170137735A KR 1020177028260 A KR1020177028260 A KR 1020177028260A KR 20177028260 A KR20177028260 A KR 20177028260A KR 20170137735 A KR20170137735 A KR 20170137735A
Authority
KR
South Korea
Prior art keywords
pulse
connectors
received
signal
pulses
Prior art date
Application number
KR1020177028260A
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 KR20170137735A publication Critical patent/KR20170137735A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0045Correction by a latch cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/133Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/153Arrangements in which a pulse is delivered at the instant when a predetermined characteristic of an input signal is present or at a fixed time interval after this instant
    • H03K5/1534Transition or edge detectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0033Correction by delay
    • H04L7/0037Delay of clock signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0079Receiver details
    • H04L7/0087Preprocessing of received signal for synchronisation, e.g. by code conversion, pulse generation or edge detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Theoretical Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dc Digital Transmission (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

방법 및 장치가 제공된다. 그 장치는 클록 복원 회로를 포함할 수도 있으며, 클록 복원 회로는, 복수의 입력 신호들 중 하나 이상의 입력 신호들에서 제 1 펄스가 수신될 때 제 1 상태를 가정하도록 구성되는 복수의 입력 래치들, 제 1 펄스에 응답하여 제 2 펄스를 제공하도록 구성되는 조합 로직, 제 2 펄스에 대해 지연된 제 3 펄스를 수신 클록 상에서 생성하도록 구성되는 지연 회로, 제 3 펄스에 의해 트리거될 때 제 1 상태를 캡처하도록 구성되는 복수의 출력 플립-플롭들을 갖는다. 제 1 상태는 복수의 입력 신호들 중 어느 것이 입력 펄스들을 받았는지를 식별할 수도 있다.

Description

펄스 기반 멀티-와이어 링크를 위한 클록 및 데이터 복원{CLOCK AND DATA RECOVERY FOR PULSE BASED MULTI-WIRE LINK}
관련 출원들에 대한 상호참조
본 출원은 2015년 4월 13일자로 미국 특허청에 출원된 미국 임시 출원 제62/146,801호와 2016년 3월 29일자로 미국 특허청에 출원된 미국 정식 출원 제15/084,171호를 우선권 주장하며, 그것들의 전체 내용은 참조에 의해 그리고 모든 적용 가능한 목적들을 위해 본 명세서에 포함된다.
기술분야
본 개시물은 대체로 통신 시스템들에 관한 것이고, 더 상세하게는, 펄스-기반 시그널링을 채용하는 멀티-와이어 인터페이스로부터의 클록 및 데이터 복원에 관한 것이다.
모바일 디바이스들, 이를테면 셀룰러 전화기들의 제조자들은, 상이한 제조자들로부터의 컴포넌트들을 포함하는 다양한 소스들로부터 모바일 디바이스들의 컴포넌트들을 획득할 수도 있다. 예를 들어, 셀룰러 폰에서의 애플리케이션 프로세서가 제 1 제조자로부터 획득될 수도 있는 한편, 셀룰러 폰에 대한 디스플레이는 제 2 제조자로부터 획득될 수도 있다. 애플리케이션 프로세서와 디스플레이 또는 다른 디바이스는 표준 기반 또는 사유의 물리적 인터페이스를 사용하여 상호접속될 수도 있다. 예를 들어, 디스플레이가 모바일 업계 프로세서 인터페이스 (Mobile Industry Processor Interface, MIPI) 동맹에 의해 특정된 디스플레이 시스템 인터페이스 (Display System Interface, DSI) 표준에 부합하는 인터페이스를 가질 수도 있다.
모바일 디바이스들의 능력들 및 기능이 계속 성장함에 따라, 점점 더 도전적인 시그널링 환경들에서 유연하고 신뢰성 있는 통신들을 제공하는 새로운 기법들에 대한 계속되는 수요가 존재가 한다.
본 개시물의 일 양태에서, 멀티-와이어 인터페이스를 통해 송신되는 펄스-기반 시그널링과 펄스-기반 시그널링을 채용하는 인터페이스들을 위한 클록 및 데이터 복원에 관련되는 방법, 컴퓨터 프로그램 제품, 및 장치가 제공된다.
다양한 양태들에서, 장치가 클록 복원 회로를 포함한다. 클록 복원 회로는 복수의 입력 신호들 중 하나 이상의 입력 신호들에서 제 1 펄스가 수신될 때 제 1 상태를 가정하도록 구성되는 복수의 입력 래치들, 제 1 펄스에 응답하여 제 2 펄스를 제공하도록 구성되는 조합 로직, 제 2 펄스에 대해 지연된 제 3 펄스를 수신 클록 상에서 생성하도록 구성되는 지연 회로, 제 3 펄스에 의해 트리거될 때 제 1 상태를 캡처하도록 구성되는 복수의 출력 플립-플롭들을 포함할 수도 있다. 제 1 상태는 복수의 입력 신호들 중 어느 것이 입력 펄스들을 갖는지를 식별할 수도 있다.
하나의 양태에서, 클록 복원 회로는 제 2 펄스의 지속기간을 고정하도록 구성되는 원-샷 회로를 포함한다.
다른 양태에서, 제 1 상태는 다-자릿수 숫자 중 한 자릿수로서 출력된다. 복수의 입력 신호들은 N 개 와이어들을 포함하는 멀티-와이어 인터페이스로부터 수신될 수도 있고, 다-자릿수 숫자는 밑이 (2 N -1) 인 숫자로서 표현된다. 하나의 예에서, 복수의 입력 신호들은 2-와이어 인터페이스로부터 수신되고 다-자릿수 숫자는 삼진수 숫자로서 표현된다. 다른 예에서, 복수의 입력 신호들은 3-와이어 인터페이스로부터 수신되고 다-자릿수 숫자는 칠진수 숫자로서 표현된다.
다른 양태에서, 제 1 상태는 복수의 입력 신호들의 제 1 부분으로부터 수신된 제로복귀 펄스-인코딩된 신호들에서 인코딩된 제 1 정보를 나타낸다. 장치는 복수의 입력 신호들의 제 2 부분으로부터 수신된 하나 이상의 비-제로복귀 신호들로부터의 제 2 정보를 디코딩하도록 구성되는 수신기 회로를 포함할 수도 있다.
일부 예들에서, 복수의 입력 신호들은 용량적으로-커플링된 멀티-와이어 인터페이스로부터 또는 유도적으로-커플링된 멀티-와이어 인터페이스로부터 수신된다. 다른 예들에서, 복수의 입력 신호들은 광학적 인터페이스로부터 수신된다.
클록 복원 회로는 수신 클록 상에 제공된 연속적인 펄스들 사이에서 발생하는 하나 이상의 와이어들 상의 천이들의 수를 카운트하도록 구성되는 카운터를 포함할 수도 있다.
다양한 양태들에서, 클록 신호를 복원하는 방법이, 복수의 송신 구간들 중 각각의 송신 구간에서 멀티-와이어 인터페이스의 하나 이상의 와이어들 상에서 펄스를 검출하는 것에 응답하여 수신 클록에서 에지를 생성하는 단계, 수신 클록에서의 에지가 복수의 송신 구간들 중 각각의 송신 구간에서 생성된 후 다-자릿수 숫자 중 한 자릿수를 제공하는 단계, 다-자릿수 숫자를 획득하기 위해 복수의 송신 구간들에서 생성된 자릿수들을 조합하는 단계, 및 수신된 데이터를 획득하기 위해 다-자릿수 숫자를 트랜스코딩하는 단계를 포함한다. 자릿수의 각각의 비트는 대응하는 송신 구간 동안 멀티-와이어 인터페이스의 하나의 와이어 상에서 펄스가 송신되었는지의 여부를 식별할 수도 있다. 복수의 송신 구간들 중 각각의 송신 구간 동안 멀티-와이어 인터페이스의 적어도 하나의 와이어 상에 펄스가 존재한다.
하나의 양태에서, 데이터 워드가 다-자릿수 숫자에서 인코딩된다.
다른 양태에서, 멀티-와이어 인터페이스는 N 개 와이어들을 포함하고 다-자릿수 숫자는 밑이 (2 N -1) 인 숫자로서 표현된다. 하나의 예에서, 멀티-와이어 인터페이스는 2-와이어 인터페이스이고 다-자릿수 숫자는 삼진수 숫자로서 표현된다. 다른 예에서, 멀티-와이어 인터페이스는 다-자릿수 숫자가 칠진수 숫자로서 표현되는 3-와이어 인터페이스이다.
하나의 양태에서, 그 방법은 멀티-와이어 인터페이스로부터 수신된 제로복귀 펄스-인코딩된 신호들로부터 제 1 정보를 디코딩하는 단계와, 멀티-와이어 인터페이스로부터 수신된 하나 이상의 비-제로복귀 신호들로부터 제 2 정보를 디코딩하는 단계를 포함한다.
일부 예들에서, 용량적으로-커플링된 신호들 또는 유도적으로-커플링된 신호들이 멀티-와이어 인터페이스로부터 수신된다. 다른 예들에서, 광학적으로-커플링된 신호들이 멀티-와이어 인터페이스로부터 수신된다.
하나의 양태에서, 수신 클록에서의 에지를 생성하는 단계는 하나 이상의 와이어들 상에서 수신된 펄스들을 조합 신호로 조합하는 단계와, 수신 클록을 제공하기 위해 조합 신호를 지연시키는 단계를 포함한다. 수신 클록에서의 에지를 생성하는 단계는 하나 이상의 와이어들 상에서 수신된 펄스들을 조합 신호로 조합하는 단계, 조합 신호에서의 에지에 응답하여 고정-지속기간 펄스를 생성하도록 구성되는 원-샷 로직에 조합 신호를 제공하는 단계, 및 수신 클록에서의 펄스를 제공하기 위해 고정-지속기간 펄스를 지연시키는 단계를 포함할 수도 있다.
다양한 양태들에서, 방법이, 데이터 워드를 다-자릿수 숫자로 트랜스코딩하는 단계와, 송신 구간들의 시퀀스의 각각의 송신 구간에 대해 복수의 커넥터들을 통해 펄스들의 조합을 송신하는 단계를 포함하며, 다-자릿수 숫자 중 각각의 자릿수는 송신 구간들의 시퀀스에서의 대응하는 송신 구간에 대한 펄스들의 조합을 정의한다. 데이터 워드가 트랜스코딩될 때 클록 정보가 다-자릿수 숫자에 임베딩된다. 송신 구간들의 시퀀스에서의 각각의 송신 구간 동안 복수의 커넥터들 중 적어도 하나의 커넥터 상에서 펄스가 송신되는 것을 보장함으로써 클록 정보는 다-자릿수 숫자에 임베딩될 수도 있다.
일부 양태들에서, 복수의 커넥터들은 N 개 커넥터들을 포함하고 다-자릿수 숫자는 밑이 (2 N -1) 인 숫자로서 표현된다. 하나의 예에서, 복수의 커넥터들은 두 개의 커넥터들을 포함하고 다-자릿수 숫자는 삼진수 숫자로서 표현된다. 다른 예에서, 복수의 커넥터들은 세 개의 커넥터들을 포함하고 다-자릿수 숫자는 칠진수 숫자로서 표현된다.
하나의 양태에서, 그 방법은 하나 이상의 비-제로복귀 신호들에서 정보를 인코딩하는 단계와, 멀티-와이어 통신 링크의 하나 이상의 다른 커넥터들을 통해 하나 이상의 비-제로복귀 신호들을 송신하는 단계를 포함한다.
일부 양태들에서, 펄스들의 조합들은 용량성, 유도성, 또는 광학적 커플링을 통해 복수의 커넥터들에 제공된다.
다양한 양태들에서, 통신 인터페이스가 데이터 워드로부터 다-자릿수 숫자를 생성하도록 구성되는 트랜스코더와, 송신 구간들의 시퀀스에서의 하나의 송신 구간 동안 복수의 커넥터들을 통한 송신을 위해 펄스들의 조합을 제공하도록 구성되는 회로를 포함한다. 다-자릿수 숫자는 송신 구간들의 시퀀스에서의 각각의 송신 구간 동안 복수의 커넥터들 중 적어도 하나의 커넥터 상에서 펄스가 송신되는 것을 보장함으로써 임베딩된 클록 정보를 포함할 수도 있다. 펄스들의 각각의 조합은 다-자릿수 숫자의 한 자릿수에 의해 정의될 수도 있다.
일부 양태들에서, 복수의 커넥터들은 N 개 커넥터들을 포함하고 다-자릿수 숫자는 밑이 (2 N -1) 인 숫자로서 표현된다. 하나의 예에서, 복수의 커넥터들은 두 개의 커넥터들을 포함하고 다-자릿수 숫자는 삼진수 숫자로서 표현된다. 다른 예에서, 복수의 커넥터들은 세 개의 커넥터들을 포함하고 다-자릿수 숫자는 칠진수 숫자로서 표현된다.
하나의 양태에서, 통신 인터페이스는, 하나 이상의 비-제로복귀 신호들에서 정보를 인코딩하고 통신 인터페이스의 하나 이상의 다른 커넥터들을 통해 하나 이상의 비-제로복귀 신호들을 송신하도록 구성되는 송신기 회로를 포함한다.
통신 인터페이스는 복수의 커넥터들에 송신기를 용량적으로 커플링하거나, 유도적으로 커플링하거나, 또는 광학적으로 커플링하도록 구성되는 송신기를 포함할 수도 있다.
개시물의 다양한 양태들에서, 프로세서 판독가능 저장 매체가, 하나 이상의 프로세서들에 의해 실행되는 경우, 하나 이상의 프로세서들로 하여금 본 명세서에서 개시되는 특정한 방법들을 수행하게 하는 코드를 저장 또는 유지한다. 저장 매체는 비-일시적 저장 매체 또는 일시적 저장 매체를 포함할 수도 있다.
도 1은 집적 회로 (IC) 디바이스들 사이에서 데이터 링크를 채용하는 장치를 묘사한다.
도 2는 IC 디바이스들 사이에서 데이터 링크를 채용하는 장치에 대한 시스템 아키텍처를 예시한다.
도 3은 기본 N! 멀티-와이어 인터페이스의 일 예를 도시한다.
도 4는 N! 멀티-와이어 인터페이스에서의 데이터 인코딩, 송신 및 디코딩을 예시한다.
도 5는 IC 디바이스들 사이의 통신을 위해 사용되는 CCIe 데이터 링크를 채용하는 장치에 대한 시스템 아키텍처를 예시한다.
도 6은 CCIe 데이터 링크에서의 데이터 인코딩, 송신 및 디코딩을 예시한다.
도 7은 CCIe 데이터 링크에서의 클록 생성을 예시한다.
도 8은 천이 인코딩식 통신 인터페이스에서 사용될 수도 있는 클록 및 데이터 복원 회로를 예시한다.
도 9는 본 명세서에서 개시되는 하나 이상의 양태들에 따라 도 8의 클록 및 데이터 복원 회로에 연관된 특정 신호들의 타이밍을 예시한다.
도 10은 용량적으로 커플링된 신호의 특정한 양태들을 예시한다.
도 11은 데이터가 2-와이어 직렬 링크를 통한 통신되는 데이터인 펄스-인코딩식 인터페이스의 특정한 양태들을 예시한다.
도 12는 펄스-기반 인터페이스에서 사용될 수도 있는 클록 복원 회로의 제 1 예를 도시한다.
도 13은 도 12의 클록 복원 회로의 동작을 통해 생성된 특정 신호들을 예시하는 타이밍 도이다.
도 14는 펄스-기반 인터페이스에서 사용될 수도 있는 클록 복원 회로의 제 2 예를 도시한다.
도 15는 도 12의 클록 복원 회로의 동작을 통해 생성된 특정 신호들을 예시하는 타이밍 도이다.
도 16은 본 명세서에서 개시되는 특정 양태들에 따라 펄스-코딩식 통신 인터페이스들의 특정한 구성들을 예시한다.
도 17은 본 명세서에서 개시되는 특정 양태들에 따라 통신 인터페이스 상에서 송신될 수도 있는 신호들의 상이한 유형들을 예시하는 제 1 도면이다.
도 18은 본 명세서에서 개시되는 특정 양태들에 따라 통신 인터페이스 상에서 송신될 수도 있는 신호들의 상이한 유형들을 예시하는 제 2 도면이다.
도 19는 본 명세서에서 개시되는 특정 양태들에 따라 통신 인터페이스 상에서 송신되는 신호들의 상이한 유형들을 사용한 인코딩을 예시한다.
도 20은 본 명세서에서 개시되는 특정 양태들에 따라 적응될 수도 있는 프로세싱 회로를 채용하는 장치의 일 예를 도시하는 블록도이다.
도 21은 본 명세서에서 개시되는 특정 양태들에 따라 멀티-와이어 통신 인터페이스 상에서 송신되는 신호들로부터 클록 신호를 복원하는 방법의 흐름도이다.
도 22는 본 명세서에서 개시되는 특정 양태들에 따라 적응되는 프로세싱 회로를 채용하는 수신 장치에 대한 하드웨어 구현예의 일 예를 도시하는 도면이다.
도 23은 본 명세서에서 개시되는 특정 양태들에 따라 멀티-와이어 통신 인터페이스 상에서 신호들을 송신하는 방법의 흐름도이다.
도 24는 본 명세서에서 개시되는 특정 양태들에 따라 적응되는 프로세싱 회로를 채용하는 송신 장치에 대한 하드웨어 구현예의 일 예를 도시하는 도면이다.
첨부된 도면들에 관련하여 아래에서 언급되는 상세한 설명은 다양한 구성들의 설명으로서 의도되고 본원에서 설명되는 개념들이 실용화될 수도 있는 구성들만을 나타내도록 의도되지는 않았다. 상세한 설명은 다양한 개념들의 철저한 이해를 제공할 목적으로 특정 세부사항들을 포함한다. 그러나, 이들 개념들은 이들 특정 세부사항들 없이 실시될 수도 있다는 것은 본 기술분야의 통상의 기술자들에게 명백할 것이다. 일부 경우들에서, 널리 공지된 구조들 및 컴포넌트들은 이러한 개념들을 모호하게 하는 것을 피하기 위하여 블록도로 도시된다.
통신 시스템들의 여러 양태들이 다양한 장치 및 방법들을 참조하여 이제 제시될 것이다. 이들 장치 및 방법들은 다양한 블록들, 모듈들, 컴포넌트들, 회로들, 단계들, 프로세스들, 알고리즘들 등 (총칭하여 "엘리먼트들"이라 함) 에 의해 다음의 상세한 설명에서 설명되고 첨부 도면들에서 예시된다. 이들 엘리먼트들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 그것들의 임의의 조합을 사용하여 구현될 수도 있다. 이러한 엘리먼트들이 하드웨어 또는 소프트웨어 중 어느 것으로 구현되는지는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약들에 달려있다.
개요
본 명세서에서 개시되는 특정 양태들은 디바이스들 사이에, 그리고/또는 다양한 디바이스들의 컴포넌트들 또는 서브컴포넌트들 사이에 제공되는 통신 링크들에 관련된다. 장치에서, 다수의 IC 디바이스들, 또는 IC 디바이스 내의 회로들이, 와이어들, 커넥터들, 트레이스들, 광 매체들 등을 포함하는 버스를 사용하여 통신할 수도 있다. 일부 경우들에서는, IC 디바이스들, 또는 IC 디바이스 내의 회로들을 디커플링하는 것 및/또는 용량성, 유도성, 또는 광학적 접속들을 버스의 커넥터들에게 제공하는 것이 바람직할 수도 있다. 일부 예들에서, 펄스-기반 시그널링을 사용하여 통신하는 통신 인터페이스가 정의될 수도 있다. 그 통신 인터페이스는 사유의 것이거나, 또는 산업 표준들에 기초할 수도 있다. 버스의 하나 이상의 와이어들 상에서 송신된 펄스들에서의 인코딩된 정보를 캡처 및 디코딩하는데 사용될 수 있는 수신 클록 신호를 수신기가 신뢰성 있게 생성하는 것을 가능하게 하는 클록 및 데이터 복원 회로들, 시스템 및 방법들이 개시된다.
통신 링크들의 예들
본 명세서에서 개시되는 특정 양태들은 통신 인터페이스의 동작에, 그리고 멀티-와이어 링크로부터의 클록 및 데이터 복원에 관련한다. 통신 인터페이스는 표준-정의된 링크에 기초할 수도 있거나 또는 사유의 프로토콜들에 따라 동작할 수도 있다. 통신 인터페이스는 펄스-기반 시그널링을 사용하여 통신하도록 적응될 수도 있다.
일부 경우들에서, 통신 인터페이스는 저-전압 차분 시그널링 (low-voltage differential signaling, LVDS) 을 포함하는 차분 시그널링을 채용하거나 또는 그러한 차분 시그널링에 기초하는 다중-신호 데이터 전송 시스템을 제공할 수도 있다. 데이터는 멀티-와이어 링크 상의 시그널링을 정의 또는 제어하는 심볼들로 인코딩될 수도 있다. 그 데이터는 상이한 인코딩 유형들 사이의 디지털-대-디지털 데이터 변환을 수행하기 위해 하나 이상의 트랜스코더들을 사용하여 인코딩될 수도 있다. 트랜스코더가 심볼 천이가 모든 심볼 송신 기간의 끝에서 발생하는 것을 보장함으로써 인코딩된 심볼들의 시퀀스에 클록 정보를 임베딩하도록 적응될 수도 있다. 데이터에 클록 정보를 임베딩하는 것은 통신 인터페이스 회로 및 입출력 (I/O) 을 구현하기 위해 IC 디바이스 상에서 사용되는 디바이스 핀 카운트 및/또는 반도체 점유면적에서의 대응하는 감소로 멀티-와이어 통신 링크에 연관된 상호접속들의 수를 감소시킬 수 있다. 데이터에 클록 정보를 임베딩하는 것은 데이터 레인이 차분 송신 경로에 대응할 수도 있는 별도의 데이터 레인들에서 클록 정보를 전송할 필요를 없앨 수도 있다. 트랜스코딩에 의해 클록 정보를 임베딩하는 것은 데이터 신호들로부터 클록 정보를 복원하기 위한 위상 동기 루프 (PLL) 의 필요성을 제거할 뿐만 아니라 클록 및 데이터 신호들 사이의 스큐를 최소화하는 효과적인 방도이다.
하나의 예에서, 통신 인터페이스는 MIPI 동맹 표준들, 또는 그 파생물에 의해 정의된 카메라 제어 인터페이스 (camera control interface, CCI) 프로토콜에 따라 동작할 수도 있다. CCI 프로토콜은 마스터와 하나 이상의 슬레이브들을 접속시키는 버스로서 구성되는 2-와이어, 양방향, 반이중 (half duplex), 직렬 인터페이스를 사용한다. 기존의 CCI는 I2C (Inter-Integrated Circuit) 버스의 변종에서 사용되는 프로토콜과 호환 가능하고, 단일 마스터와는, 버스 상에서 다수의 슬레이브들을 핸들링할 수 있다. CCI 버스는 직렬 클록 (Serial Clock, SCL) 과 직렬 데이터 (Serial Data, SDA) 라인들을 포함한다. CCI 디바이스들과 I2C 디바이스들은 둘 이상의 CCI 디바이스들이 CCI 프로토콜들을 사용하여 통신할 수도 있는 한편, I2C 버스를 수반하는 임의의 통신이 I2C 프로토콜들을 사용하도록 동일한 버스 상에서 전개될 수 있다. CCI의 후자의 버전들이 더 빠른 시그널링 레이트들을 지원하기 위해 수정된 프로토콜들을 사용하여 더 높은 스루풋들을 제공한다. CCI 확장 (CCIe) 버스가 CCIe 버스 동작들과 호환 가능한 디바이스들에 대해 더 높은 데이터 레이트들을 제공하기 위해 사용될 수도 있다. 이러한 디바이스들은 CCIe 디바이스들이라고 지칭될 수도 있고, CCIe 디바이스들은 SCL 라인 및 기존의 CCI 버스의 SDA 라인 둘 다 상에서 송신되는 심볼들로서 데이터를 인코딩함으로써 서로 통신할 때 더 높은 데이터 레이트들을 달성할 수 있다. CCIe 디바이스들 및 I2C 디바이스들은 동일한 CCIe 버스 상에서 공존할 수도 있어서, 제 1 시간 구간에서, 데이터는 CCIe 인코딩을 사용하여 송신될 수도 있고 다른 데이터는 I2C 시그널링 변환들에 따라 상이한 시간 구간에서 송신될 수도 있다.
통신 링크들을 채용하는 디바이스들의 예들
도 1은 IC 디바이스들 사이에서 통신 링크를 채용할 수도 있는 장치 (100) 를 묘사한다. 하나의 예에서, 장치 (100) 는 라디오 액세스 네트워크 (RAN), 코어 액세스 네트워크, 인터넷 및/또는 다른 네트워크와 라디오 주파수 (RF) 통신 트랜시버 (106) 를 통해 통신하는 통신 디바이스를 포함할 수도 있다. 통신 트랜시버 (106) 는 프로세싱 회로 (102) 에 동작적으로 커플링될 수도 있다. 프로세싱 회로 (102) 는 시스템-온-칩 (SoC) IC, 하나 이상의 주문형 집적회로 (ASIC) (108), 및/또는 다른 IC 디바이스들을 사용하여 구현될 수도 있다. ASIC (108) 은 로직 회로들, 메모리 (112) 및 하나 이상의 프로세싱 디바이스들, 이를테면 애플리케이션 프로세서 (110) 를 포함할 수도 있다. 프로세싱 회로 (102) 는 프로세서 판독가능 스토리지 (114) 를 포함하고 그리고/또는 그러한 스토리지에 커플링될 수도 있다. 프로세서 판독가능 스토리지 (114) 는 비-일시적 저장 매체를 포함할 수도 있고 애플리케이션 프로세서 (110) 또는 프로세싱 회로 (102) 에서의 다른 제어기 또는 프로세서에 의한 실행을 위한 데이터 및 명령들을 저장 및 유지하는데 사용될 수도 있다. 프로세싱 회로 (102) 는 프로세서 판독가능 스토리지 (114), 및/또는 메모리 (112) 에서 제공되거나 또는 상주하는 소프트웨어 모듈들의 실행을 지원하고 가능하게 하는 애플리케이션 프로그래밍 인터페이스 (API) 계층을 제공할 수도 있는 운영 체제, 또는 다른 제어 프로그램 중 하나 이상에 의해 제어될 수도 있다. 프로세서 판독가능 스토리지 (114) 및/또는 메모리 (112) 는 판독-전용 메모리 (ROM) 또는 랜덤-액세스 메모리 (RAM), 전기적으로 소거가능 프로그램가능 판독전용 메모리 (EEPROM), 플래시 카드들, 또는 프로세싱 시스템들 및 컴퓨팅 플랫폼들에서 사용될 수 있는 임의의 메모리 디바이스를 포함할 수도 있다. 일부 예들에서, 프로세서 판독가능 스토리지 (114) 및/또는 메모리 (112) 는 프로세싱 회로 (102) 의 특정 동작 모드들 또는 기능들을 구성하는 파라미터들을 유지하기 위해 사용되는 레지스터들을 포함한다. 프로세싱 회로 (102) 는 로컬 데이터베이스에 액세스할 수도 있는데, 로컬 데이터베이스는 장치 (100) 를 구성 및 동작하기 위해 사용되는 동작 파라미터들 및 다른 정보를 유지하기 위해 프로세서 판독가능 스토리지 (114) 및/또는 메모리 (112) 를 사용하여 구현될 수도 있다. 로컬 데이터베이스는 데이터베이스 모듈을 사용하여 구현될 수도 있다. 프로세싱 회로는, 다른 컴포넌트들도 있지만 무엇보다도, 안테나 (122), 디스플레이 (124), 오퍼레이터 컨트롤들, 이를테면 버튼 (128) 및 키패드 (126) 와 같은 외부 디바이스들에 동작적으로 커플링될 수도 있다.
도 2는 다양한 서브컴포넌트들을 접속시키는 통신 링크 (220) 를 채용하는 모바일 통신 디바이스와 같은 장치 (200) 를 위한 아키텍처의 일 예를 도시한다. 도시된 예에서, 장치 (200) 는 서로에게 가까이 근접하여 위치될 수도 있는 복수의 디바이스들을 포함하거나, 또는 장치 (200) 의 상이한 부분들에 물리적으로 위치될 수도 있다. 통신 링크 (220) 는, 예를 들어, 두 개의 IC 디바이스들 (202 및 230) 이 통신 링크 (220) 를 통해 데이터 및 제어 정보를 교환할 수도 있는 다양한 IC 디바이스들을 접속시키기 위해 사용될 수도 있다. 하나의 예에서, 통신 링크 (220) 는 IC 디바이스들 (202 및 230) 을 운반하는 칩 캐리어, 기판 또는 회로 보드 상에 제공될 수도 있다. 다른 예에서, 통신 링크 (220) 의 부분이 케이블 또는 광학적 접속을 포함할 수도 있다. 일부 경우들에서, 케이블 또는 광학적 접속은 모바일 컴퓨팅 디바이스의 키패드 구역에 위치된 제 1 IC 디바이스 (202 또는 230) 와 모바일 컴퓨팅 디바이스의 디스플레이 구역에 위치된 제 2 IC 디바이스 (230 또는 202) 를 상호접속시킬 수도 있다.
통신 링크 (220) 는 다수의 채널들 (222, 224 및 226) 을 제공할 수도 있다. 하나 이상의 채널들 (226) 은 양방향성일 수도 있고, 반이중 및/또는 전이중 (full-duplex) 모드들에서 동작할 수도 있다. 하나 이상의 채널들 (222 및 224) 은 단방향성일 수도 있다. 통신 링크 (220) 는 하나의 방향에서 더 높은 대역폭을 제공하는 비대칭일 수도 있다. 위에서 설명된 하나의 예에서, 제 1 통신 채널 (222) 이 순방향 링크라고 지칭될 수도 있는 한편 제 2 통신 채널 (224) 이 역방향 링크라고 지칭될 수도 있다. 심지어 IC 디바이스들 (202 및 230) 둘 다가 통신 링크 (220) 상에서 송신 및 수신하도록 구성되더라도, 제 1 IC 디바이스 (202) 는 호스트 시스템 또는 송신기로서 지정될 수도 있는 한편, 제 2 IC 디바이스 (230) 는 클라이언트 시스템 또는 수신기로서 지정될 수도 있다. 하나의 예에서, 제 1 통신 채널 (222) 은 제 1 IC 디바이스 (202) 로부터의 데이터를 제 2 IC 디바이스 (230) 로 통신할 때 더 높은 데이터 레이트에서 동작할 수도 있는 한편, 제 2 통신 채널 (224) 은 제 2 IC 디바이스 (230) 로부터의 데이터를 제 1 IC 디바이스 (202) 로 통신할 때 더 낮은 데이터 레이트에서 동작할 수도 있다.
IC 디바이스들 (202 및 230) 은 각각이 제어기, 순서화기 (sequencer), 또는 다른 컴퓨팅 디바이스 또는 프로세서 (206, 236) 를 가질 수도 있다. 하나의 예에서, 제 1 IC 디바이스 (202) 는 트랜시버 (204) 및 안테나 (214) 를 통한 통신을 포함하는, 장치 (200) 의 핵심 기능들을 수행할 수도 있는 한편, 제 2 IC 디바이스 (230) 는 디스플레이 제어기 (232) 를 관리 또는 동작시키는 사용자 인터페이스를 지원할 수도 있다. 이 예에서, 제 2 IC 디바이스 (230) 는 카메라 제어기 (234) 를 사용하여 카메라 또는 비디오 입력 디바이스의 동작들을 제어하도록 적응될 수도 있다. IC 디바이스들 (202 및 230) 중 하나 이상의 IC 디바이스들에 의해 지원되는 다른 특징부들은 키보드, 음성-인식 컴포넌트, 및 다른 입력 또는 출력 디바이스들에 관련할 수도 있다. 디스플레이 제어기 (232) 는 액정 디스플레이 (LCD) 패널, 터치-스크린 디스플레이, 표시자들 등과 같은 디스플레이들을 지원하는 회로들 및 소프트웨어 드라이버들을 포함할 수도 있다. 저장 매체들 (208 및 238) 은 각각의 프로세서들 (206 및 236), 및/또는 IC 디바이스들 (202 및 230) 의 다른 컴포넌트들에 의해 사용되는 명령들 및 데이터를 유지하도록 적응되는 일시적 및/또는 비-일시적 저장 디바이스들을 포함할 수도 있다. 각각의 프로세서 (206, 236) 와 그것의 대응하는 저장 매체들 (208 및 238) 및 다른 모듈들 및 회로들 사이의 통신은 각각 하나 이상의 버스 (212 및 242) 에 의해 용이하게 될 수도 있다.
제 2 통신 채널 (224) 은 제 1 통신 채널 (222) 이 순방향 링크로서 구성될 때의 제 1 통신 채널 (222) 과 동일한 방식으로 생성될 수도 있는 역방향 링크로서 구성될 수도 있다. 제 1 통신 채널 (222) 및 제 2 통신 채널 (224) 은 비교 가능한 속력들로 또는 상이한 속력들로 송신될 수 있으며, 속력은 데이터 전송 레이트 및/또는 클로킹 레이트들로서 표현될 수도 있다. 순방향 링크 상의 데이터 레이트들은 역방향 링크 상의 데이터 레이트들과 실질적으로 동일할 수도 있거나 또는 반대 방향들에서의 데이터 레이트들은 애플리케이션에 의존하여 크기자릿수만큼 상이할 수도 있다. 일부 애플리케이션들에서, 단일 통신 채널 (226) 이 제 1 IC 디바이스 (202) 와 제 2 IC 디바이스 (230) 사이의 통신들을 지원하는 양방향 링크로서 구성될 수도 있다. 제 1 통신 채널 (222) 및/또는 제 2 통신 채널 (224) 은 양방향 모드로 동작하도록 구성 가능할 수도 있으며, 예를 들어, 순방향 및 역방향 통신 채널들 (222 및 224) 은 동일한 물리적 접속들을 공유하고 반이중 방식으로 동작할 수도 있다. 하나의 예에서, 통신 링크 (220) 는 산업 또는 다른 표준에 따라 제 1 IC 디바이스 (202) 와 제 2 IC 디바이스 (230) 사이에서 제어, 커맨드 및 다른 정보를 통신하도록 동작될 수도 있다.
하나의 예에서, 순방향 및 역방향 통신 채널들 (222 및 224) 은 프레임 버퍼 없이 제 2 LCD 드라이버 IC당 와이드 비디오 그래픽 어레이 (wide video graphics array, WVGA) 80 개 프레임들을 지원하도록 구성 또는 적용되어, 디스플레이 리프레시에 대해 810 Mbps에서 화소 데이터를 전달할 수도 있다. 다른 예에서, 순방향 및 역방향 통신 채널들 (222 및 224) 은 다이내믹 랜덤 액세스 메모리 (DRAM), 이를테면 더블 데이터 레이트 동기식 다이내믹 랜덤 액세스 메모리 (SDRAM) 와의 사이의 통신들을 가능하게 하도록 구성 또는 적응될 수도 있다. 인코딩 디바이스들 (210 및/또는 240) 은 클록 천이 당 다수의 비트들을 인코딩하도록 구성될 수도 있고, 와이어들의 다수의 세트들이 SDRAM으로부터의 데이터, 제어 신호들, 어드레스 신호들, 및 다른 신호들을 송신 및 수신하는데 사용될 수 있다.
순방향 및 역방향 통신 채널들 (222 및 224) 은 애플리케이션 특정 산업 표준들을 준수하거나 또는 그런 표준들과 호환될 수도 있다. 하나의 예에서, 특정한 MIPI 동맹 표준들은 모바일 디바이스에서의 애플리케이션 프로세서 IC 디바이스 (202) 와, 카메라 또는 디스플레이를 지원하는 IC 디바이스 (230) 사이의 물리 계층 인터페이스들을 정의한다. MIPI 동맹 표준들은 모바일 디바이스들을 위한 MIPI 동맹에 의해 정의되는 표준들 또는 규격들을 준수하는 제품들의 동작 특성들을 통제하는 규격들을 정의할 수도 있다. 일부 경우들에서, MIPI 동맹 표준들 또는 규격들은 상보성 금속-산화물-반도체 (CMOS) 병렬 버스들을 채용하는 인터페이스들에서 구현될 수도 있다.
도 2의 통신 링크 (220) 는 복수의 신호 와이어들 (N 개의 와이어들로서 표시됨) 을 포함하는 유선 버스로서 구현될 수도 있다. N 개 와이어들은 심볼들에서 인코딩된 데이터를 운반하도록 구성될 수도 있는데, 클록 정보는 복수의 와이어들을 통해 송신되는 심볼들의 시퀀스에 임베디드된다. 연속적인 심볼들 사이의 천이들을 보장함으로써 타이밍 정보를 임베디드했던 인코딩 스킴들은 천이 인코딩 스킴들이라고 지칭될 수도 있다. 천이 인코딩 스킴들은, 예를 들어, N-팩토리얼 (N!) 인터페이스들, 및 CCIe 인터페이스들에서 사용될 수도 있다.
N ! 인터페이스들
도 3은 두 개의 디바이스들 (302 및 320) 사이에 제공되는 N-와이어 통신 링크 (314) 를 포함하는 N! 인터페이스 (300) 의 일 예를 도시하는 도면이다. 송신기 (302) 에서, 트랜스코더 (306) 가 통신 링크 (314) 의 N 개 와이어들의 세트를 통해 송신될 심볼들에서 데이터 비트들 (304) 및 클록 정보를 인코딩하는데 사용될 수도 있다. 송신기 (302) 에서, 클록 정보는 송신 클록 (312) 으로부터 도출될 수도 있고, 시그널링 상태 천이가 연속적인 심볼들 사이의 N C2 개 신호들 중 적어도 하나의 신호 상에서 발생하는 것을 보장함으로써 통신 링크 (314) 의 N 개 와이어들을 통해 N C2 개 차분 신호들에서 송신되는 심볼들의 시퀀스에서 인코딩될 수도 있다. N! 인코딩이 통신 링크 (314) 의 N 개 와이어들을 구동하는데 사용될 때, 심볼의 각각의 비트가 차분 라인 드라이버들 (310) 의 세트 중 하나의 차분 라인 드라이버에 의해 차분 신호로서 송신되며, 여기서 차분 라인 드라이버들 (310) 은 통신 링크 (314) 의 N 개 와이어들의 상이한 쌍들에 커플링된다. 통신 링크 (314) 의 N 개 와이어들 중 각각의 와이어는 통신 링크 (314) 의 N 개 와이어들에서의 나머지 N-1 개 와이어들 중 각각의 와이어와 쌍이 될 수도 있고, 와이어 쌍들의 이용가능 조합들의 수 ( N C2) 는 통신 링크 (314) 의 N 개 와이어들을 통해 송신될 수 있는 신호들의 수를 결정한다. 심볼에서 인코딩될 수 있는 데이터 비트들 (304) 의 수는 각각의 심볼 송신 구간에 대해 이용 가능한 가용 시그널링 상태들의 수에 기초하여 계산될 수도 있다.
종단 임피던스 (통상 저항성임) 가 통신 링크 (314) 의 N 개 와이어들 중 각각의 외이어를 종단 네트워크 (316) 에서의 공통 중앙 포인트 (318) 에 커플링시킨다. 통신 링크 (314) 의 N 개 와이어들의 시그널링 상태는 각각의 와이어에 커플링된 차분 라인 드라이버들 (310) 에 기인하는 종단 네트워크 (316) 에서의 전류들의 조합을 반영한다는 것이 이해될 것이다. 중앙 포인트 (318) 는 널 포인트 (널 포인트) 라서, 종단 네트워크 (316) 에서의 전류들이 중앙 지점 (318) 에서 서로 상쇄한다는 것이 추가로 이해될 것이다. 하나의 예에서, 4! 인터페이스에서의 4 개 와이어들의 각각은 종단 네트워크 (336) 의 단자 (340a, 340b, 340c, 340d) 에 접속된다. 각각의 단자 (340a, 340b, 340c, 340d) 는 종단 네트워크 (336) 의 중앙 지점 (338) 에 종단 저항기에 의해 커플링된다.
N! 인코딩 스킴이 별도의 클록 채널 및/또는 비 제로 복귀 디코딩을 사용할 필요가 없는데, 그 링크에서의 N C2 개 신호들 중 적어도 하나의 신호가 연속적인 심볼들 사이에서 천이하기 때문이다. 효과적으로, 트랜스코더 (306) 는 N 개 와이어들의 시그널링 상태들이 연속하여 송신되는 심볼들 사이에서 변하는 심볼들의 시퀀스를 생성함으로써 통신 링크 (314) 의 N 개 와이어들 상에서 송신되는 연속적인 심볼들의 각각의 쌍 사이에서 천이가 발생하는 것을 보장한다. 도 3에 묘사된 예에서, 네 개의 와이어들이 제공되고 (N=4), 4 개의 와이어들은 4C2 = 6 개의 차분 신호들을 운반할 수 있다. 트랜스코더 (306) 는 N 개 와이어들 상의 송신을 위한 원시 심볼들을 생성하는 매핑 스킴을 채용할 수도 있다. 트랜스코더 (306) 는 데이터 비트들 (304) 을 천이숫자들의 세트에 매핑할 수도 있다. 천이숫자들은 선택된 원시 심볼들이 선행하는 원시 심볼과는 상이하도록 직접적으로 선행하는 심볼의 값에 기초하여 송신을 위한 원시 심볼들을 선택하는데 사용될 수도 있다. 원시 심볼들은 통신 링크 (314) 의 N-와이어들을 통한 송신을 위한 심볼들의 시퀀스를 획득하기 위해 직렬화기들 (308) 에 의해 직렬화될 수도 있다. 하나의 예에서, 천이숫자가 연속적인 원시 심볼들 중 첫 번째 원시 심볼을 참조하여 연속적인 원시 심볼들 중 두 번째 원시 심볼에 대응하는 데이터 값을 룩업 (lookup) 하는데 사용될 수도 있다. 수신기 (320) 에서, 트랜스코더 (328) 가, 예를 들어 룩업 테이블을 사용하여, 한 쌍의 연속적인 원시 심볼들 사이의 차이를 특징화하는 천이숫자를 결정하는데 매핑을 채용할 수도 있다. 트랜스코더들 (306, 328) 은 원시 심볼들의 모든 연속적인 쌍이 두 개의 상이한 심볼들을 포함한다는 것을 기초로 하여 동작한다.
송신기 (302) 에서의 트랜스코더 (306) 는 모든 심볼 천이에서 N!-1 개의 이용가능 시그널링 상태들 사이에서 선택할 수도 있다. 하나의 예에서, 4! 시스템이 각각의 심볼 천이에서 송신될 다음 심볼에 대해 4!-1=23 개 시그널링 상태들을 제공한다. 비트 레이트는 송신 클록 사이클 당 log2 (available_states) 로서 계산될 수도 있다.
본 명세서에서 개시되는 특정한 양태들에 따르면, 더블 데이터 레이트 (double data rate, DDR) 시그널링이 송신 클록 (312) 의 각각의 기간에 두 개의 심볼들을 송신함으로써 인터페이스 대역폭을 증가시키도록 채용될 수도 있다. 심볼 천이들은 DDR 클로킹을 사용하는 시스템에서 송신 클록의 상승 에지 및 하강 에지 둘 다에서 발생한다. 송신 클록 사이클에서의 총 가용 상태 수는 (4!-1) 2 = (23) 2 = 529이고 심볼당 송신될 수 있는 데이터 비트들 (304) 의 수는 log2 (529) = 9.047 개 비트들로서 계산될 수도 있다.
수신 디바이스 (320) 가, 라인 수신기들 (322) 의 세트에서의 각각의 수신기가 통신 링크 (314) 의 N 개 와이어들의 하나의 쌍 상에서의 시그널링 상태들에서의 차이들을 결정하는 라인 수신기들 (322) 의 세트를 사용하여 심볼들의 시퀀스를 수신한다. 따라서, N C2 개 수신기들 (322) 이 사용되며, 여기서 N은 와이어들의 수를 나타낸다. N C2 개 수신기들 (322) 은 출력들로서 대응하는 수의 원시 심볼들을 생성한다. 4-와이어 예에서, 4 개의 와이어들 상에서 수신된 신호들은 클록 및 데이터 복원 (CDR) 회로 (324) 및 역직렬화기들 (326) 에 제공되는 원시 심볼 신호 (332) 를 생성하기 위해 6 개 수신기들 ( 4 C2 = 6) 에 의해 프로세싱된다. 원시 심볼 신호 (332) 는 통신 링크 (314) 의 N 개 와이어들의 시그널링 상태를 나타내고, CDR 회로 (324) 는 원시 심볼 신호 (332) 를 프로세싱하여 역직렬화기 (326) 에 의해 사용될 수 있는 수신 클록 신호 (334) 를 생성할 수도 있다.
수신 클록 신호 (334) 는 트랜스코더 (328) 에 의해 제공되는 출력 데이터 (330) 를 프로세싱하기 위해 외부 회로에 의해 사용될 수 있는 DDR 클록 신호일 수도 있다. 트랜스코더 (328) 는 각각의 심볼과 그것의 가장 가까운 선행자를 비교함으로써 역직렬화기 (326) 로부터의 수신된 심볼들의 블록을 디코딩한다. 트랜스코더 (328) 는 송신기 (302) 에 제공되는 데이터 (304) 에 대응하는 출력 데이터 (330) 를 생성한다.
도 4는 송신기 (402) 에서의 인코딩, 기본 N! 멀티-와이어 통신 링크 (414) 를 통한 송신, 및 수신기 (416) 에서의 디코딩의 특정한 양태들을 예시하는 데이터 흐름도이다. 그 예에서, 송신기 (402) 에 제공되는 이진수 워드 (404) 가 십육진수 값 0xD1AC로서 표현될 수도 있다. 이진수-대-오진수 인코더 (406) 가 이진수 워드 (404) 를 오진수 천이 숫자 (408) 로 변환하도록 구성될 수도 있다. 그 예에서, 천이숫자 (408) 는 오진수 값 3204201을 갖는다. 천이숫자 (408) 는, 심볼들 (412) 의 시퀀스에서의 각각의 심볼이 통신 링크 (414) 의 와이어들의 시그널링 상태를 나타내는, 심볼들 (412) 의 시퀀스를 생성하는 라인 인코더 (410) 에 제공된다. 천이숫자 (408) 의 각각의 자릿수는 연속적인 심볼 송신 구간들에서 와이어들의 시그널링 상태에서의 차이로서 인코딩된다. 하나의 예에서, 가능한 시그널링 상태들에 대응하는, 가능한 심볼들의 각각은, 단일-자릿수 오진수 숫자에 의해 인덱싱될 수도 있다. 현재 송신되는 심볼이 인덱스 값 S Current 에 의해 표현될 수도 있고, 다음 심볼의 인덱스 값 S Next S Next = S Current + T (mod 5) 로서 계산될 수도 있으며, 여기서 T는 그 천이숫자의 대응하는 자릿수의 값을 나타낸다.
수신기 (416) 에서, 심볼들 (418) 의 시퀀스가 라인 디코더 (420) 에 의해 오진수 천이숫자 (422) 로 변환될 수도 있다. 천이숫자 (422) 는 그 다음에 오진수-대-이진수 디코더 (424) 에 제공될 수도 있으며, 그 오진수-대-이진수 디코더는 출력 이진수 데이터 워드 (426) 를 생성한다. 라인 디코더 (420) 는 두 개의 연속적인 심볼들 사이의 시그널링 상태들에서의 차이를 관찰하고, 송신기 (402) 에 의해 사용된 동일한 인덱싱 스킴을 사용하여 오진수 천이숫자 (422) 의 한 자릿수를 생성할 수도 있다.
2- 와이어 천이- 인코딩식 직렬 인터페이스의 예
도 5는 다수의 디바이스들 (502, 520, 522a~522n) 이 통신 링크에 의해 상호접속되는 장치 (500) 의 특정한 양태들을 예시하는 도면이다. 장치 (500) 는 모바일 통신 디바이스, 모바일 전화기, 모바일 컴퓨팅 시스템, 셀룰러 전화기, 착용가능 컴퓨팅 디바이스 (예컨대, 스마트 워치, 헬스 또는 피트니스 추적기, 안경류 등), 노트북 컴퓨터, 태블릿 컴퓨팅 디바이스, 미디어 플레이어, 게이밍 디바이스, 어플라이언스, 센서, 보안 디바이스, 자동 판매기, 스마트 계량기, 드론, 멀티콥터 등에서 실시될 수도 있다. 장치 (500) 의 다수의 디바이스들 (502, 520 및 522a~222n) 은 천이 인코딩을 사용하여 CCI 버스와 같은 직렬 버스 (530) 를 통해 통신하도록 적응될 수도 있다. 직렬 버스 (530) 를 통해 송신될 데이터는 직렬 버스 (530) 상에서 연속하는 송신 구간들에서 송신될 심볼들을 선택하는데 사용되는 삼진수 숫자들로 인코딩될 수도 있다. 하나의 예에서, 다수의 디바이스들 (502, 520 및 522a~222n) 은 CCIe 프로토콜을 사용하여 통신할 수도 있다. 다른 예에서, 다수의 디바이스들 (502, 520 및 522a~222n) 은 I3C 프로토콜을 사용하여 통신할 수도 있다. 천이 인코딩의 사용은 천이 인코딩을 포함하는 향상된 특징들을 사용하도록 구성되는 디바이스들을 위한 기존의 CCI 또는 I2C 프로토콜들을 지원하는 직렬 버스 (530) 의 능력들을 확장할 수 있다. 예를 들어, 직렬 버스 (530) 상의 천이 인코딩식 송신들은 기존의 CCI 버스 상에서 성취된 비트 레이트보다 더 높은 비트 레이트를 제공할 수도 있다. 본 명세서에서 개시되는 특정 양태들에 따르면, CCIe 프로토콜들은 16.7 Mbps 이상의 비트 레이트들을 지원하도록 구성 또는 적응될 수도 있고, CCIe 프로토콜들의 일부 버전들에서 초 당 적어도 23 메가비트의 데이터 레이트들을 지원할 수도 있다.
도 5에 예시된 예에서, 이미징 디바이스 (502) 가 직력 버스 (530) 상의 슬레이브 디바이스로서 동작하도록 구성된다. 이미징 디바이스 (502) 는, 예를 들어 이미지 센서를 관리하는 센서 제어 기능부 (504) 를 제공하도록 적응될 수도 있다. 덧붙여서, 이미징 디바이스 (502) 는 구성 레지스터들 (506) 또는 다른 스토리지, 제어 로직 (512), 트랜시버 (510) 및 라인 드라이버들/수신기들 (514a 및 514b) 을 포함할 수도 있다. 제어 로직 (512) 은 상태 머신, 순서화기, 신호 프로세서 또는 범용 프로세서와 같은 프로세싱 회로를 포함할 수도 있다. 트랜시버 (510) 는 수신기 (510a), 송신기 (510c) 그리고 타이밍, 로직 및 저장 회로들 및/또는 디바이스들을 구비하는 공통 회로들 (510b) 을 포함할 수도 있다. 하나의 예에서, 송신기 (510c) 는 클록 생성 회로 (508) 에 의해 제공된 타이밍에 기초하여 데이터를 인코딩 및 송신한다.
도 6은 송신기 (602) 에서의 송신 인코딩, 멀티-와이어 통신 링크 (614) 를 통한 송신, 및 수신기 (616) 에서의 디코딩의 특정한 양태들을 예시하는 데이터 흐름도이다. 그 예에서, 송신기 (602) 에 제공되는 이진수 워드 (604) 가 십육진수 값 0x0801AC로서 표현될 수도 있다. 이진수-대-삼진수 인코더 (606) 가 이진수 워드 (604) 를 삼진수 천이 숫자 (608) 로 변환하도록 구성될 수도 있다. 그 예에서, 천이숫자 (608) 는 오진수 값 2221_2220_2221을 갖는다. 천이숫자 (608) 는, 심볼들 (612) 의 시퀀스에서의 각각의 심볼이 통신 링크 (614) 의 와이어들의 시그널링 상태를 나타내는, 심볼들 (612) 의 시퀀스를 생성하는 라인 인코더 (610) 에 제공된다. 천이숫자 (608) 의 각각의 자릿수는 연속적인 심볼 송신 구간들에서 와이어들의 시그널링 상태에서의 차이로서 인코딩된다. 하나의 예에서, 가능한 시그널링 상태들에 대응하는, 가능한 심볼들의 각각은, 단일-자릿수 삼진수 숫자에 의해 인덱싱될 수도 있다. 현재 송신되는 심볼이 인덱스 값 S Current 에 의해 표현될 수도 있고, 다음 심볼의 인덱스 값 S Next S Next = S Current + T (mod 3) 으로서 계산될 수도 있으며, 여기서 T는 그 천이숫자의 대응하는 자릿수의 값을 나타낸다.
수신기 (616) 에서, 심볼들 (618) 의 시퀀스가 라인 디코더 (620) 에 의해 삼진수 천이숫자 (622) 로 변환될 수도 있다. 천이숫자 (622) 는 그 다음에 삼진수-대-이진수 디코더 (624) 에 제공될 수도 있으며, 그 삼진수-대-이진수 디코더는 출력 이진수 데이터 워드 (626) 를 생성한다. 라인 디코더 (620) 는 두 개의 연속적인 심볼들 사이의 시그널링 상태들에서의 차이를 관찰하고, 송신기 (602) 에 의해 사용된 동일한 인덱싱 스킴을 사용하여 삼진수 천이숫자 (622) 의 한 자릿수를 생성할 수도 있다. 기수법 (numeral system) 들 사이의 변환은 예를 들어 이진수 및 삼진수 숫자들 사이의 변환을 포함하는 트랜스코딩이라고 지칭될 수도 있다.
상태-기반 클록 및 데이터 복원
도 7은 천이-인코딩식 인터페이스에서의 클록 생성의 일 예를 도시한다. 도 7 내지 도 9에 예시된 예들은 예시만을 목적으로 도 5의 천이-인코딩식 직렬 버스 (530) 의 예에 관련된다. 본 명세서에서 설명되는 원리들은 본 명세서에서 설명되는 N! 인터페이스들을 포함하는 다른 천이-인코딩식 인터페이스들에 적용될 수 있다. 수신기 (702) 는 직렬 버스 (530) 와 같은 직렬 링크에서 와이어들 (516, 518) 의 시그널링 상태 (704) 를 검출 또는 캡처할 수도 있다. 시그널링 상태 (704) 는 시그널링 상태 (704) 에서의 천이들을 검출하도록 구성되는 천이 검출 회로 (706) 에 의해 모니터링된다. 천이 검출 회로 (706) 는 각각의 심볼 송신 구간 동안 와이어들 (516, 518) 의 시그널링 상태를 캡처하는데 사용될 수도 있는 수신 클록 신호 (710) 를 획득하기 위해 클록 생성 회로 (708) 에 의해 프로세싱될 수 있는 천이 신호들을 생성할 수도 있다.
타이밍 도 (720) 에 의해 예시된 바와 같이, 라인 인코더 (예를 들어, 도 6의 라인 인코더 (610)) 에 의해 생성된 심볼 번호들 (722) 은 직렬 버스 (530) 의 SDA 와이어 (518) 및 SCL 와이어의 시그널링 상태들에 대응한다. 천이 검출 회로 (706) 는 와이어들 (516, 518) 의 시그널링 상태에서의 검출된 천이들에 대응하는 하나 이상의 표시들 (724) 을 생성할 수도 있다. 이들 표시들은 클록 신호 (710) 상의 펄스들 (726a~726d) 을 생성하기 위해 프로세싱되는 신호들을 포함할 수도 있다.
도 8은 N-와이어 시스템에서 임베디드된 클록 정보를 복원하기 위해 채용될 수도 있는 클록 및 데이터 복원 (CDR) 회로 (800) 의 일 예를 도시한다. 도 9는 CDR 회로 (800) 의 동작을 통해 생성되는 특정 신호들을 예시하는 타이밍 도 (900) 이다. CDR 회로 (800) 및 그것의 타이밍도 (900) 는 일반화된 예에 의해 제공되지만, CDR 회로 (800) 및/또는 다른 CDR 회로들의 다른 변종들이 일부 경우들에서 사용될 수도 있다. N-와이어들 (808) 로부터 수신된 신호들은 다수의 수신기들 (802) 에 의해 초기에 프로세싱되는데, 그 수신기들은 대응하는 수의 원시 신호들을 출력들로서 생성한다. 하나의 예에서, N=4 개 와이어들 (808) 이 수신된 심볼을 나타내는 6 개 원시 신호들을 포함하는 제 1 상태 천이 신호 (SI 신호) (820) 를 생성하는 4C2 = 6 개 수신기들 (802) 에 의해 프로세싱된다. 다른 예에서, 2-와이어, 천이-인코딩식 인터페이스의 N = 2 개 와이어들 (808) 을 통해 송신되는 심볼들은 두 개의 수신기들 (802) 에 의해 수신될 수도 있다. 각각의 상이한 수신기로부터의 각각의 원시 신호 출력에 대해, 심볼들 S0 (902) 및 S1 (904) 사이에는 대응하는 신호의 상태가 미정의되거나, 불확정이거나, 또는 그렇지 않으면 불안정한 시구간이 있을 수도 있고 과도현상 (transient) 들 또는 글리치 (glitch) 들 (908) 을 초래할 수도 있다. 레벨 래치들 (810), 비교기 (804), 세트-리세트 래치 (806), 지연 엘리먼트 (812) 및 (버스형 (bused)) 레벨 래치들 (810) 이 SI 신호 (820) 의 지연된 인스턴스를 나타내는 레벨 래치된 신호 (S 신호) (822) 를 출력하도록 구성될 수도 있으며, 여기서 업데이트된 S 신호 (822) 를 제공하는 레벨 래치들 (810) 에 의해 SI 신호 (820) 가 캡처되기 전의 지연은 지연 엘리먼트 (812) 를 구성함으로써 선택될 수도 있다.
비교기 (804) 는 SI 신호 (820) 와 S 신호 (822) 를 비교하고 이진수 비교 신호 (NE 신호) (814) 를 출력한다. 세트-리세트 래치 (806) 는 비교기 (804) 로부터 NE 신호 (814) 를 수신하고 신호 (NEFLT 신호) (816) 를 출력할 수도 있는데, NEFLT 신호는 NE 신호 (814) 의 필터링된 버전이다. 세트-리세트 래치 (806) 의 동작은 NE 신호 (814) 에서의 임의의 과도적 불안정성을 제거하도록 구성될 수 있는데, 과도적 불안정성은 NE 신호 (814) 에서의 스파이크들 (910) 로서 나타내어진다. 세트-리세트 래치 (806) 의 "리세트" 입력은, NE 신호 (814) 의 상태에 상관 없이, RXCLK 신호 (818) 가 하이일 때 NEFLT 신호 (816) 가 리셋되도록 우선시될 수도 있다.
일부 경우들에서, RXCLK 신호 (818) 는 CDR 회로 (800) 의 데이터 출력 (828) 을 샘플링하기 위해 외부 회로에 의해 사용될 수도 있다. 하나의 예에서, RXCLK 신호 (818), 또는 RXCLK 신호 (818) 의 미분 신호가 디코더 또는 역직렬화기 회로들에 제공될 수도 있다. 일부 경우들에서, 다른 신호들 (816) 이 외부 회로를 위한 클록 신호를 생성하는데 사용될 수도 있다. 레벨 래치들 (810) 은 SI 신호 (820) 를 수신하고 S 신호 (822) 를 출력하는데, 레벨 래치들 (810) 은 RXCLK 신호 (818) 에 의해 트리거되거나 또는 그렇지 않으면 제어된다. 하나의 예에서, S 신호 (822) 는 CDR 회로 (800) 의 심볼 출력으로서 역할을 할 수도 있다. 다른 예들에서, CDR 회로 (800) 의 심볼 출력으로서의 사용을 위해 S 신호 (822) 를 지연, 래치 및/또는 그렇지 않으면 컨디셔닝하는 추가적인 회로가 CDR 회로 (800) 에 포함될 수도 있다.
동작 시, 비교기 (804) 는 SI 신호 (820) 와 레벨 래치들 (810) 로부터 출력되는 S 신호 (822) 를 비교한다. 비교기 (804) 는 NE 신호 (814) 를, SI 신호 (820) 와 S 신호 (822) 가 동일할 때 제 1 상태 (예컨대 로직 로우) 로 구동하고, SI 신호 (820) 와 S 신호 (822) 가 동일하지 않을 때 제 2 상태 (예컨대 로직 하이) 로 구동한다. NE 신호 (814) 는 SI 신호 (820) 와 S 신호 (822) 가 상이한 심볼들을 나타낼 때 제 2 상태에 있다. 따라서, 제 2 상태는 천이가 발생하고 있다는 것을 나타낸다.
타이밍 도 (900) 로부터 이해될 수 있는 바와 같이, S 신호 (822) 는 본질적으로, SI 신호 (820) 와 S 신호 (822) 사이의 지연 (914) 때문에 과도현상들 또는 글리치들 (908) 이 제거되어 있는 SI 신호 (820) 의 지연 및 필터링된 버전이다. SI 신호 (820) 에서의 다수의 과도현상들 또는 글리치들 (908) 은 NE 신호 (814) 에서의 스파이크들 (910) 로서 반영될 수도 있지만, 이들 스파이크들 (910) 은 세트-리세트 회로의 동작을 통해 NEFLT 신호 (816) 로부터 마스킹된다. 더구나, RXCLK 신호 (818) 는 레벨-래치들 (810) 및 세트-리세트 래치 (806) 로의 피드백 경로에서 제공되는 지연 엘리먼트 (812) 의 사용에 기초한 심볼 천이들에서의 라인 스큐 및 글리치들에 저항함으로써, RXCLK 신호 (818) 는 세트-리세트 래치 (806) 의 리셋 기능을 제어한다.
제 1 심볼 값 S0 (902) 와 다음 심볼 값 S1 (904) 사이의 천이의 개시 (916) 시, SI 신호 (820) 는 상태를 변경하기 시작한다. 과도현상들 또는 글리치들 (908) 을 포함하는 과도현상들 또는 글리치들이 S0 (902) 와 S1 (904) 사이의 천이 동안 발생할 수도 있다는 가능성으로 인해 SI 신호 (820) 의 상태는 S1 (904) 와는 상이할 수도 있다. 이들 과도현상들 또는 글리치들 (908) 은, 예를 들어, 와이어 간 스큐, 오버/언더 슈트, 크로스토크 등에 의해 유발될 수도 있다.
NE 신호 (814) 는 비교기 (804) 가 SI 신호 (820) 와 S 신호 (822) 사이의 값들에서의 차이를 검출하자마자 하이가 되고, NE 신호 (814) 의 천이 하이는 세트-리세트 래치 (806) 출력을 비동기적으로 설정하여, NEFLT 신호 (816) 를 하이로 구동시킨다. NEFLT 신호 (816) 는 세트-리세트 래치 (806) 가 IRXCLK 신호 (818) 의 하이 상태에 의해 리셋되기까지 자신의 하이 상태에서 유지된다. RXCLK 신호 (818) 는 NEFLT 신호 (816) 의 지연된 버전이다.
SI 신호 (820) 상의 과도현상들 또는 글리치들 (908) 은 무효한 데이터를 나타낼 수도 있다. 과도현상들 또는 글리치들 (908) 은 이전의 심볼 값 S0 (902) 의 짧은 기간을 포함할 수도 있고, NE 신호 (814) 가 짧은 시구간들 동안 로우로 복귀하게 할 수도 있다. SI 신호 (820) 의 천이들은 NE 신호 (814) 상에서 스파이크들 (910) 을 생성할 수도 있다. 스파이크들 (910) 은 효과적으로 필터링 제거되고 NEFLT 신호 (816) 에서 나타나지 않는다.
NEFLT 신호 (816) 의 하이 상태는 지연 엘리먼트 (812) 에 의해 유발된 지연 기간 (840) 후 RXCLK 신호 (818) 를 하이로 천이하게 한다. RXCLK 신호 (818) 의 하이 상태는 세트-리세트 래치 (806) 출력을 리셋시켜, NEFLT 신호 (816) 가 로우 상태로 천이하게 한다. IRXCLK 신호 (818) 의 하이 상태는 레벨 래치들 (810) 을 또한 인에이블시키고, SI 신호 (820) 값은 S 신호 (822) 상에서 출력될 수도 있다.
비교기 (804) 는 S 신호 (822) (심볼 S1 (902) 의 경우) 가 SI 신호 (820) 상에 존재하는 심볼 S1 (902) 값과 매칭됨을 검출하고 자신의 출력 (NE 신호 (814)) 을 로우로 스위칭시킨다. NEFLT 신호 (816) 의 로우 상태는 지연 엘리먼트 (812) 에 의해 유발된 지연 기간 (842) 후에 IRXCLK 신호 (818) 가 로우로 가게 한다. 이 사이클은 SI 신호 (820) 에서의 각각의 천이에 대해 반복된다. IRXCLK 신호 (818) 의 하강 에지 후의 시간에, 새로운 심볼 S2 (906) 가 수신될 수도 있고 SI 신호 (820) 가 다음 심볼 S2 (906) 에 따라 자신의 값을 스위칭하게 할 수도 있다.
도 8에 예시된 CDR 회로 (800) 는 이러한 회로들의 다양한 예들 중 하나를 나타내고, CDR 회로 (800) 는 다양한 통신 인터페이스들에서의 사용을 위해 적응 또는 구성될 수도 있다. 일부 경우들에서, 수신된 심볼 (904) 이 안정적이고 신뢰성 있게 캡처될 수 있는 시구간 (920) 에 대해 샘플링 에지를 지연 또는 전진시키도록 적응 또는 구성되는 다른 유형들의 CDR 회로의 사용으로부터 이점들이 도출될 수도 있다. 예를 들어, 수신기들 (802) 의 유형 및/또는 구성은 인터페이스에서 채용되는 신호 인코딩 기법들에 기초하여 결정될 수도 있다. 제 1 예에서, 두 개의 단일-종단 수신기 구성 (802a) 이 2-와이어 CCIe 직렬 버스로부터 신호들을 수신하기 위해 채용될 수도 있다. 제 2 예에서, 멀티-와이어 인터페이스가 N 개 차분 수신기들 (802b) 에 의해 수신되는 N 개의 LVDS 신호들을 운반할 수도 있다. 제 3 예에서, 세 개의 수신기 구성 (802c) 이 저항 네트워크 (830a) 에 의해 종단되는 3-와이어 N! (3!) 인터페이스로부터 수신되는 신호들의 쌍들을 비교하기 위해 채용될 수도 있다. 제 4 예에서, 여섯 개의 수신기 구성 (802d) 이 저항 네트워크 (830b) 에 의해 종단되는 4-와이어 N! (4!) 인코딩식 인터페이스 상에서 수신되는 두 개의 신호들의 상이한 조합들로부터 수신된 신호들을 비교하기 위해 채용될 수도 있다.
펄스-기반 통신 인터페이스들
본 명세서에서 개시되는 특정 양태들은 시그널링 상태 또는 시그널링 상태들 사이의 천이들에서가 아니라 펄스들에서 데이터를 인코딩하는 인터페이스들에 관련된다. 펄스-기반 시그널링은 신호들이 용량적으로, 유도적으로 또는 광학적으로 커플링될 때, 또는 신호 채널이 이벤트들에서의 정보를 인코딩하지만 시그널링 상태를 사용하여 인코딩을 지원하지 않을 때 사용될 수도 있다. 이런 경우들에서, 신호 변환 및/또는 브리징은 상태 정보를 운반하지 않는 신호 채널들과의 천이-인코딩식 상태-기반 인터페이스들을 인터페이싱하도록 수행될 수도 있다.
도 10은 펄스-기반 통신의 특정한 양태들을 예시하는 단순화된 도면 (1000) 이다. 펄스 (1020) 가 입력 신호 (1002) 로서 라인 드라이버 (1004) 에 제공될 수도 있다. 라인 드라이버 (1004) 는 송신 라인 (1006) 상에 대응하는 펄스 (1022) 를 생성하며, 그 송신 라인에서 송신 라인 (1006) 에 연관된 저역-통과 필터링 효과들은 고차 주파수들을 제거할 수도 있다. 반사들 및 다른 영향들은 신호 천이들 상에 오버슈트들 및/또는 언더슈트들을 도입함으로써 송신된 펄스 (1022) 를 왜곡시킬 수도 있다. 커패시터 (1008) 가 송신된 펄스 (1022) 로부터 DC 성분을 제거하여, 저항기들 (1010, 1012) 에 의해 선택된 DC 레벨을 중심으로 하는 펄스 (1024) 를 생성한다. 이 전압-균형 펄스 (1024) 가 라인 수신기 (1016) 의 입력 (1014) 에 제공될 수도 있으며, 그 라인 수신기는 수신된 펄스 (1026) 를 수신된 신호 (1018) 로서 생성한다.
시그널링 상태-기반 인코딩을 사용하는 멀티-와이어 인터페이스들은 송신 구간 동안의 펄스의 존재 또는 부재 시에 정보를 인코딩하도록 적응되거나 또는 그렇지 않으면 수정될 수도 있다. 멀티-와이어 인터페이스의 각각의 와이어는 각각의 송신 구간 동안 펄스를 운반할 수도 있고, 적어도 하나의 와이어가 임의의 송신 구간 동안 펄스를 운반한다. 클록 신호가 각각의 송신 구간에서의 제 1-검출된 펄스에 대응하는 에지를 클록 신호 상에 제공함으로써 생성될 수도 있다.
도 11은 데이터가 2-와이어 직렬 링크를 통한 통신되는 데이터인 펄스-인코딩식 인터페이스 (1100) 의 특정한 양태들을 예시하는 도면이다. 송신기에서, 이진수 데이터가 심볼들로 인코딩되며, 각각의 심볼은 송신 구간들의 시퀀스 (1128) 중 하나의 송신 구간에서의 펄스들로서 통신 인터페이스를 통해 송신되고 있다. 수신기가 각각의 송신 구간에 대해 송신된 펄스 패턴 (1102) 을 검출한다. 각각의 송신 구간에 대한 펄스 패턴 (1102) 은 삼진수 숫자의 한 자릿수로서 표현될 수도 있다. 각각의 송신 구간에 대한 펄스 패턴 (1102) 은 CDR (1104) 에 제공되며, 그 CDR은 수신 클록 신호 (1114) 를 추출하고 라인 디코더 (1106) 를 인에이블시켜 송신 구간들의 시퀀스 (1128) 동안 수신한 펄스 패턴들을 나타내는 삼진수 숫자 (1108) 를 생성하게 한다. 삼진수-대-이진수 트랜스코더 (1110) 가 그러면 이진수 워드 (1112) 를 출력으로서 제공할 수도 있다.
타이밍 도 (1120) 는 2 와이어 직렬 버스를 위한 송신 구간들의 시퀀스 (1128) 에서의 데이터 워드 (1112) 의 수신을 예시한다. 펄스들은 SDA 와이어 (1122) 또는 SCL 와이어 (1124) 상에서 송신될 수도 있다. 클록 펄스들 (1126a~1126d) 의 시퀀스가 SDA 와이어 (1122) 또는 SCL 와이어 (1124) 의 어느 하나 또는 양쪽 모두 상의 펄스의 발생에 기초하여 수신 클록 신호 (1114) 에 대해 생성된다.
타이밍 도 (1120) 에서, SDA 와이어 (1122) 및 SCL 와이어 (1124) 상의 펄스들은 50% 듀티 사이클을 가지고 있는 것으로 묘사된다. 일부 경우들에서, 펄스들은 그 펄스들이 로우 상태보다 지속기간이 더 긴 하이 상태, 또는 로우 상태보다 지속기간이 더 짧은 하이 상태를 갖는 것으로서 정의되도록 50% 이하인 듀티 사이클을 가질 수도 있다. 펄스들의 타이밍은 송신기에서의 송신 클록의 에지와 같은 시간적 기준점 (1130, 1132) 에 대하여 또한 가변할 수도 있다. 하나의 예 (1134) 에서, SDA 와이어 (1122) 및/또는 SCL 와이어 (1124) 는 제 1-발생 기준점 (1130) 에서 로우 시그널링 상태로 유지되어, 제 2-발생 기준점 (1132) 에서 또는 제 2-발생 기준점 근처에서 와이어 (1122 또는 1124) 가 로우로 천이하도록 펄스가 송신될 때 하이로 천이될 수도 있다. 다른 예 (1136) 에서, SDA 와이어 (1122) 및/또는 SCL 와이어 (1124) 는 펄스가 송신될 때 제 1-발생 기준점 (1130) 에서 하이 시그널링 상태로 천이할 수도 있고, 그 와이어는 제 1-발생 기준점 (1130) 및 제 2-발생 기준점 (1132) 사이의 중간점에 가까운 어떤 점에서 로우로 천이한다. 다른 예 (1138) 에서, SDA 와이어 (1122) 및/또는 SCL 와이어 (1124) 상의 펄스가 제 1-발생 기준점 (1130) 및 제 2-발생 기준점 (1132) 사이의 중간점에 가까운 시간 근처를 중심으로 할 수도 있거나, 또는 각각의 기준점 (1130, 1132) 전 후의 일부 지속 시간에 대해 와이어가 로우 상태에 있도록 하는 어떤 다른 시간점을 중심으로 할 수도 있다. 이들 예들 (1134, 1136, 1138) 의 각각에 대한 시그널링 상태들의 극성은 설계 고려사항들에 의해 나타낸 대로 또는 원하는 대로 반전될 수도 있다.
펄스-기반 클록 및 데이터 복원
도 12는 펄스-기반 인터페이스에서 사용될 수도 있는 CDR 회로 (1200) 의 제 1 예를 도시한다. 도 13은 CDR 회로 (1200) 의 동작을 통해 생성되는 특정 신호들을 예시하는 타이밍 도이다. 도 12에서 묘사된 예는 CDR 회로 (1200) 의 설명을 단순화하기 위하여 2-와이어 통신 링크에 관련된다. 동작의 원리들은 N ≥ 2인 N-와이어 링크들을 포함하는 다른 통신 링크들과, N 개 와이어 쌍들을 통해 N 개 LVDS 신호들을 송신하는 통신 링크들에 동일하게 적용된다. 신호들 (1202 및 1204) 은 비교기, 수신기, 컨디셔닝 회로 등을 사용하여 통신 링크로부터 수신된다. 각각의 신호 (1202, 1204) 는 대응하는 세트-리세트 래치 (1206, 1208) 의 세트 (S) 입력에 제공된다. 따라서 제 1 신호 (1202) 에서 수신된 펄스 (1306) 가 제 1 세트-리세트 래치 (1206) 를 셋팅하고, 제 2 신호 (1204) 에서 수신된 펄스 (1304, 1308) 가 제 2 세트-리세트 래치 (1208) 를 셋팅한다. 출력 SF[0] (1210) 및 SF[1] (1212) 은 출력 신호 (SFOR 신호) (1216) 를 생성하는 OR 게이트 (1214) 에 제공된다. 펄스 (1304, 1306, 및/또는 1308) 가 각각의 송신 기간 (1302) 동안 신호들 (1202, 1204) 중 적어도 하나의 신호에서 송신되는 것을 인코딩 스킴이 보장하므로, SFOR 신호 (1216) 는 각각의 송신 기간 (1302) 에 대해 펄스 (1310, 1312) 를 포함한다.
SFOR 신호 (1216) 는 SFOR 신호 (1216) 에서의 펄스들 (1310, 1312) 을 지연시켜 지연된 펄스들 (1314, 1316) 을 갖는 RXCLK 신호 (1220) 를 획득하는 지연 엘리먼트 (1218) 에 제공된다. 지연 엘리먼트 (1218) 는 입력 신호들 (1202, 1204) 이 안정화될 때의 최근의 가능한 시간 후에 RXCLK 신호 (1220) 상의 펄스들 (1314, 1316) 의 트레일링 에지들 중 각각의 트레일링 에지가 발생하는 것을 보장하기에 충분한 지속기간을 갖는 지연 (1318) 을 생성하도록 구성될 수도 있다. 예를 들어, 신호들 (1202, 1204) 에서 수신된 펄스들 (1306, 1308) 은 지연 (1322) 이 펄스들 (1306, 1308) 사이에서 발생하도록 상이한 전파 시간들을 요할 수도 있다. 지연 엘리먼트 (1218) 에 연관된 지연 (1318) 은 후자의 예에서 RXCLK 신호 (1220) 상의 다수의 펄스들 또는 글리치들의 발생을 방지하도록 운용될 수도 있다. RXCLK 신호 (1220) 는 세트-리세트 래치들 (1206, 1208) 을 리셋시키며, 이를 위해 리셋 (R) 입력들은 세트 (S) 입력들보다 우선시된다.
RXCLK 신호 (1220) 는 한 쌍의 출력 플립-플롭들 (1226, 1228) 을 클로킹하고, 그 출력 플립-플롭들의 각각은 대응하는 인버터 (1222, 1224) 를 통해 세트-리세트 래치들 (1206, 1208) 중 하나의 세트-리세트 래치의 출력에 커플링된다. 출력 플립-플롭들 (1226, 1228) 이 클로킹되는 시간에, 세트-리세트 래치 (1206 또는 1208) 의 출력은 대응하는 입력 신호들 (1202, 1204) 에서 펄스가 수신되었을 때 세트 상태에 있고, 세트-리세트 래치 (1206 또는 1208) 의 출력은 대응하는 입력 신호들 (1202, 1204) 에서 펄스가 수신되지 않았을 때 클리어된 상태에 있다. 세트-리세트 래치들 (1206, 1208) 의 반전된 출력들은 원하는 비트 배향으로 설정하기 위해 그리고/또는 RXCLK 신호 (1220) 에 의한 세트-리세트 래치들 (1206, 1208) 의 리세트에 의해 유발된 천이들을 지연시키기 위해 출력 플립-플롭들 (1226, 1228) 에 제공될 수도 있다. 그 예에서, 세트-리세트 래치들 (1206, 1208) 및 출력 플립-플롭들 (1226, 1228) 사이에 제공된 인버터들 (1222 및 1224) 은 "펄스 대 삼진수" 디코더의 단순한 형태로서 동작할 수도 있다.
출력 플립-플롭들 (1226, 1228) 의 출력들 (1230, 1232) 은 디코더에 제공될 수도 있다. 출력 플립-플롭들 (1226, 1228) 의 출력들 (1230, 1232) 은 삼진수 숫자들 (1320) 로서 프로세싱될 수도 있다.
도 14는 펄스-기반 인터페이스에서 사용될 수도 있는 CDR 회로 (1400) 의 제 2 예를 도시한다. 도 15는 도 14의 CDR 회로 (1400) 의 동작을 통해 생성되는 특정 신호들을 예시하는 타이밍 도 (1500) 이다. 도 14에 묘사된 예는 도 12에 묘사된 CDR 회로 (1200) 의 특정한 양태들을 향상시키고, CDR 회로 (1400) 의 설명을 단순화하기 위하여 2-와이어 통신 링크에 또한 관련된다. 동작의 원리들은 N ≥ 2인 N-와이어 링크들을 포함하는 다른 통신 링크들과, N 개 와이어 쌍들을 통해 N 개 LVDS 신호들을 송신하는 통신 링크들에 동일하게 적용된다. 신호들 (1402 및 1404) 은 비교기, 수신기, 컨디셔닝 회로 등을 사용하여 통신 링크로부터 수신된다. 각각의 신호 (1402, 1404) 는 대응하는 세트-리세트 래치 (1406, 1408) 의 세트 (S) 입력에 제공된다. 따라서 제 1 신호 (1402) 에서 수신된 펄스 (1506) 가 제 1 세트-리세트 래치 (1406) 를 셋팅하고, 제 2 신호 (1404) 에서 수신된 펄스 (1504, 1508) 가 제 2 세트-리세트 래치 (1408) 를 셋팅한다. 출력 SF[0] (1410) 및 SF[1] (1412) 은 출력 신호 (SFOR 신호) (1416) 를 생성하는 OR 게이트 (1414) 에 제공된다. 펄스 (1504, 1506, 및/또는 1508) 가 각각의 송신 기간 (1502) 동안 신호들 (1402, 1404) 중 적어도 하나의 신호에서 송신되는 것을 인코딩 스킴이 보장하므로, SFOR 신호 (1416) 는 각각의 송신 기간 (1502) 에 대해 펄스를 포함한다.
SFOR 신호 (1416) 는 자신의 출력 신호 (1SHOT) (1420) 에서 고정 지속기간 펄스들 (1510 및 1512) 을 생성하는 원-샷 회로 (1418) 로 제공된다. 펄스들 (1510 및 1512) 은 SFOR 신호 (1416) 에서 생성된 펄스들에 대응한다. 1SHOT 신호 (1420) 는 1SHOT 신호 (1420) 에서의 펄스들 (1510, 1512) 을 지연시켜 지연된 펄스들 (1514, 1516) 을 갖는 RXCLK 신호 (1424) 를 획득하는 지연 엘리먼트 (1422) 에 제공된다. 원-샷 회로 (1418) 에 의해 생성된 펄스들 (1510 및 1512) 의 지속기간은 상이한 입력 신호들 (1402, 1404) 에서의 펄스들 (1506, 1508) 사이의 최대 예상 지연 (1522) 을 초과하는 지속기간을 갖는 단일, 고정-길이 펄스를 생성하도록 구성될 수도 있다. 지연 엘리먼트 (1422) 는 입력 신호들 (1402, 1404) 이 안정되는 최근의 가능한 시간 후에 RXCLK 신호 (1424) 상의 펄스들 (1514, 1516) 의 트레일링 에지들 중 각각의 트레일링 에지가 발생하는 것을 보장하기에 충분한 지속기간을 갖는 지연 (1518) 을 생성하도록 구성될 수도 있다. 예를 들어, 신호들 (1402, 1404) 에서 수신된 펄스들 (1506, 1508) 은 지연 (1522) 이 펄스들 (1506, 1508) 사이에서 발생하도록 상이한 전파 시간들을 요할 수도 있다. 1SHOT 신호 (1420) 및/또는 지연 엘리먼트 (1422) 에 연관된 지연 (1518) 은 후자의 예에서 RXCLK 신호 (1424) 상의 다수의 펄스들 또는 글리치들의 발생을 방지하도록 운용될 수도 있다. RXCLK 신호 (1424) 는 세트-리세트 래치들 (1406, 1408) 을 리셋시키며, 이를 위해 리셋 (R) 입력들은 세트 (S) 입력들보다 우선시된다.
RXCLK 신호 (1424) 는 한 쌍의 출력 플립-플롭들 (1430, 1432) 을 클로킹하고, 그 출력 플립-플롭들의 각각은 세트-리세트 래치들 (1406, 1408) 중 하나의 세트-리세트 래치의 출력에 커플링된다. 출력 플립-플롭들 (1430, 1432) 이 클로킹되는 시간에, 세트-리세트 래치 (1406 또는 1408) 의 출력은 대응하는 입력 신호들 (1402, 1404) 에서 펄스가 수신되었을 때 세트 상태에 있고, 세트-리세트 래치 (1406 또는 1408) 의 출력은 대응하는 입력 신호들 (1402, 1404) 에서 펄스가 수신되지 않았을 때 클리어된 상태에 있다. 세트-리세트 래치들 (1406, 1408) 의 반전된 출력들은 원하는 비트 배향으로 설정하기 위해 그리고/또는 RXCLK 신호 (1424) 에 의한 세트-리세트 래치들 (1406, 1408) 의 리세트에 의해 유발된 천이들을 지연시키기 위해 출력 플립-플롭들 (1430, 1432) 에 제공될 수도 있다. 그 예에서, 세트-리세트 래치들 (1206, 1208) 및 출력 플립-플롭들 (1430, 1432) 사이에 제공된 인버터들 (1426 및 1428) 은 "펄스 대 삼진수" 디코더의 단순한 형태로서 동작할 수도 있다.
출력 플립-플롭들 (1430, 1432) 의 출력들 (1434, 1436) 은 디코더에 제공될 수도 있다. 출력 플립-플롭들 (1430, 1432) 의 출력들 (1434, 1436) 은 삼진수 숫자들 (1520) 로서 프로세싱될 수도 있다.
특정한 회로들 시스템들 및 방법들의 추가 설명들
본 명세서에서 개시되는 특정 양태들은 펄스-인코딩된 신호들을 운반하는 하나 이상의 커넥터들을 포함하는 멀티-커넥터 인터페이스들에 적용될 수도 있다. 도 16은 펄스-코딩식 시그널링의 사용의 특정 일반화된 예들을 도시한다. 제 1 예 (1600) 에서, 멀티-커넥터 인터페이스 상에서 운반되는 신호들 (1604, 1606, 1608) 중 각각의 신호가 펄스 인코딩된다. 다시 말하면, 인코딩은 송신 구간들 (1602) 의 시퀀스 중 각각의 송신 구간에서 적어도 하나의 신호 (1604, 1606, 및/또는 1608) 에서의 제로복귀 펄스를 제공한다. 데이터는 멀티-커넥터 직렬 통신 링크 상에서 송신되는 신호 (1604, 1606, 1608) 에서의 및/또는 그 신호들 (1604, 1606, 1608) 에서 제공되는 제로복귀 펄스들의 패턴들에서의 제로복귀 펄스의 존재 또는 부재로 인코딩될 수도 있다. 제 1 예 (1600) 에서, 세 개의 신호들이 예시되지만, 멀티-커넥터 인터페이스는 임의의 수의 커넥터들을 포함할 수도 있다.
제 2 예 (1610) 에서, 멀티-커넥터 인터페이스 상에서 운반되는 하나 이상의 신호들 (여기서, 두 개의 신호들 (1614, 1616)) 이 펄스 인코딩되는 한편, 송신 구간들의 시퀀스 (1612) 중 각각의 송신 구간 동안 하나 이상의 다른 신호들 (1618) 의 시그널링 상태에서 정보가 인코딩된다. 일부 경우들에서, 정보는 펄스 인코딩되지 않는 하나 이상의 신호들 (1618) 의 시그널링 상태에서의 천이들로 인코딩될 수도 있다.
일부 경우들에서, 멀티-커넥터 인터페이스가 제 1 예 (1600) 에서의 신호들 (1604, 1606, 및/또는 1608) 상에서 송신되는 펄스들의 조합들로 데이터를 변환하기 위해, 또는 제 2 예 (1610) 에서 신호들 (1614, 1616 및/또는 1618) 상에서 송신되는 펄스들의 조합들로 데이터를 변환하기 위해 트랜스코딩을 채용할 수도 있다.
도 17은 본 명세서에서 개시되는 특정 양태들에 따라 멀티-와이어 통신 인터페이스 상에서 송신될 수도 있는 상이한 유형들의 신호들 (1702, 1704, 1706, 1708) 의 예들의 제 1 세트를 도시하는 타이밍 도 (1700) 이다. 멀티-와이어 통신 인터페이스는 모든 와이어들 또는 커넥터들 상에서 그 신호 유형들 (1702, 1704, 1706, 1708) 중 하나의 신호 유형을 운반하도록, 또는 상이한 커넥터 또는 와이어들 상에서 그 신호 유형들 (1702, 1704, 1706, 1708) 의 어떤 조합을 운반하도록 적응될 수도 있다. 일부 경우들에서, 멀티-와이어 통신 인터페이스는 상이한 신호 조합들 또는 유형들 (1702, 1704, 1706, 1708) 이 상이한 시간들에서의 시그널링을 위해 사용될 수도 있도록 구성 가능할 수도 있다.
제 1 신호 유형 (1702) 이 (예를 들어) 도 16의 예 (1600) 에 예시된 바와 같이, 시그널링하는 제로복귀 (RZ) 또는 펄스-인코딩 모드를 나타낼 수도 있다. 펄스 (1712) 가 시작 점 (1710) 과, 송신 클록 에지들 등에 대응할 수도 있는 종료 점 (1720) 에 의해 묘사되는 간격 내에서 제공될 수도 있다. 도 11의 예들 (1134, 1136 및 1138) 에 의해 예시된 바와 같이, 펄스 (1712) 는 시작 점 (1710) 및 종료 점 (1720) 내에 위치될 수도 있거나, 또는 시작 점 (1710) 또는 종료 점 (1720) 과 일치하는 에지를 가질 수도 있다. 정보는 시작 점 (1710) 및 종료 점 (1720) 사이의 펄스 (1712) 의 존재 또는 부재로 인코딩될 수도 있다. 이 예에서, 시작 점 (1710) 과 종료 점 (1720) 사이의 기간은 단일 심볼 구간에 대응할 수도 있다.
제 2 신호 유형 (1704) 이 다수의 펄스들 (1714, 1716, 1718) 이 시작 점 (1710) 과, 송신 클록 에지들에 대응할 수도 있는 종료 점 (1720) 에 의해 표시되는 간격 내에서 제공될 수도 있는 시그널링의 제로복귀 또는 펄스-인코딩 모드를 나타낼 수도 있다. 하나 이상의 펄스들 (1714, 1716, 1718) 의 에지들이 시작 점 (1710) 및 종료 점 (1720) 내에 위치될 수도 있거나, 또는 시작 점 (1710) 및/또는 종료 점 (1720) 과 일치할 수도 있다. 정보는 펄스들 (1714, 1716, 1718) 의 존재 또는 부재로, 그리고/또는 시작 점 (1710) 과 종료 점 (1720) 사이에 송신되는 펄스들 (1714, 1716, 1718) 의 조합, 및/또는 멀티-와이어 통신 인터페이스의 상이한 와이어들 상에서 송신되는 펄스들의 조합으로 인코딩될 수도 있다. 시작 점 (1710) 및 종료 점 (1720) 내에 위치된 펄스들 (1714, 1716) 의 수는 애플리케이션 요구 또는 설계자 선호에 기초하여 선택될 수도 있다. 이 예에서, 시작 점 (1710) 과 종료 점 (1720) 사이의 기간은 세 개의 심볼 구간들에 대응할 수도 있다.
제 3 신호 유형 (1706) 이, 시작 점 (1710) 과 종료 점 (1720) 사이의 와이어의 시그널링 상태, 및/또는 멀티-와이어 통신 인터페이스의 상이한 와이어들 상에서 제공되는 상태들의 조합으로 정보가 인코딩될 수도 있는 시그널링의 비-제로복귀 모드를 나타낼 수도 있다. 이 예에서, 시작 점 (1710) 과 종료 점 (1720) 사이의 기간은 단일 심볼 구간에 대응할 수도 있다. 일부 경우들에서, 정보는 시작 점 (1710) 및/또는 종료 점 (1720) 에서의 시그널링 상태의 천이들로 인코딩될 수도 있다.
제 4 신호 유형 (1708) 이 정보의 다수의 비트들이 시작 점 (1710) 과 종료 점 (1720) 사이에서 인코딩될 수도 있는 시그널링의 비-제로복귀 모드를 나타낼 수도 있다. 여기서, 두 개, 세 개 또는 그 이상의 비트들이 멀티-와이어 통신 인터페이스의 하나 이상의 와이어들 상에 제공된 와이어의 시그널링 상태 및/또는 상태들의 조합으로 송신될 수도 있다. 이 예에서, 시작 점 (1710) 과 종료 점 (1720) 사이의 기간은 세 개의 심볼 구간들에 대응할 수도 있다. 일부 경우들에서는, 정보는 시작 점 (1710) 과 종료 점 (1720) 사이의 특정 지점들에서 발생하는 시그널링 상태의 천이들에서 인코딩될 수도 있다.
도 17에 도시된 신호 유형들 (1702, 1704, 1706, 1708) 중 특정한 것이 하나의 심볼 사이클 내에서 하나, 두 개, 또는 그 이상의 토글들을 생성할 수 있다. CDR 회로 (1400) 의 지연 엘리먼트 (도 14 참조) 가 다수의 토글들을 필터링하도록 구성될 수도 있어서 각각의 심볼에 대해 RXCLK 신호 (1424) 상에서 단일 펄스가 생성된다. 홀수의 토글들이 신호 상의 동일한 사이클에서 제공될 때, 플립-플롭들 (1432, 1430) 은 이전 사이클로부터 반대 값들을 캡처할 수도 있다. 짝수의 토글들이 신호 상의 동일한 사이클에서 발생할 때, 동일한 값은 이전 사이클로부터 캡처될 수도 있다. 홀수 또는 짝수는 여분의 대역 내 정보를 운반할 수도 있다. 홀수 및 짝수 양쪽 모두의 숫자들의 토글들이 신호 상의 동일한 사이클에서 발생할 때, 단일 심볼 내의 상승 에지 또는 하강 에지 중 어느 하나, 및/또는 토글들의 수를 카운트하는 카운터가 제공될 수도 있다. 카운터들은 추가적인 대역 내 정보를 제공할 수도 있다.
도 18은 본 명세서에서 개시되는 특정 양태들에 따라 멀티-와이어 통신 인터페이스 상에서 송신될 수도 있는 상이한 신호 유형들 (1810, 1812, 1814, 1816, 1818) 의 예들의 제 2 세트를 예시하는 도면 (1800) 이다. 이 도면 (1800) 에서, 심볼들 (1802) 의 시퀀스가 신호 유형들 (1810, 1812, 1814, 1816, 1818) 중 하나의 신호 유형을 사용하여 하나의 복수의 와이어들 중 하나에서 송신될 수도 있다. 심볼들 (1802) 의 시퀀스 (예컨대, 심볼들 (1804 및 1806)) 의 각각의 심볼은 지속기간 tSYM (1808) 을 갖는 심볼 구간을 차지한다.
제 1 신호 유형 (1810) 은 와이어 상의 정보가 펄스의 존재 또는 부재로 인코딩되는 단일 펄스, 제로복귀 (RZ) 인코딩을 사용할 수도 있다. 제 2 신호 유형 (1812) 은 심볼 구간 동안 송신되는 RZ 펄스들의 수에서 데이터를 인코딩할 수도 있으며, 그 수의 펄스들은 제로 펄스들을 포함할 수도 있다. 제 3 신호 유형 (1814) 은, 예를 들어, 심볼 구간의 개시시간의 또는 그 심볼 구간 동안의 시그널링 상태에서의 천이가 하나의 이진수 값을 나타내고 심볼 구간의 개시시간의 또는 그 심볼 구간 동안의 시그널링 상태에서의 천이의 부재는 다른 이진수 값을 나타내는 단일 비-제로복귀 (NRZ) 토글에서 데이터를 인코딩할 수도 있다. 제 4 신호 유형 (1816) 은 심볼 구간 내에서 발생하는 NRZ 토글들의 수에서 데이터를 인코딩할 수도 있으며, 그 수의 천이들은 제로 천이들을 포함할 수도 있다. 제 5 신호 유형 (1818) 은 펄스들의 존재, 부재 또는 수와 토글의 존재 또는 부재를 사용하여 데이터를 인코딩할 수도 있다. 예를 들어, 제 5 신호 유형 (1818) 은 짧은 펄스들을 필터링 제거하는 입력 필터와 일부 디바이스들을 커플링시키는 버스 시스템에서 사용될 수도 있다. 하나의 예에서, I2C 슬레이브 디바이스가 심볼 구간 내에서 짧은 펄스들을 못 볼 수도 있지만, 심볼 구간의 끝에서 상태 천이를 인식할 수 있다. 따라서, 심볼 구간의 끝에서 발생하는 토글 (또는 토글 없음) 이 스파이크 필터를 갖는 I2C 슬레이브 디바이스가 관측 가능한 상태 천이 정보를 추가한다. 예를 들어, 다수의 펄스들이 제 1 그룹의 디바이스들 사이에서 정보를 전달할 수도 있고, 심볼 구간의 끝에서 토글을 사용하여 제공되는 상태 천이는 제 2 그룹의 디바이스들 사이에서 정보를 전달할 수도 있다.
도 19는 통신 인터페이스 상에서 송신되는 상이한 유형들의 신호들에 적합한 인코딩 스킴들의 특정한 양태들을 예시하는 도면 (1900) 이다. 심볼들 (1902) 의 시퀀스가 직렬 링크를 통해 송신될 워드에 대응하는 심볼들의 세트 (워드 유닛 (1904)) 을 포함할 수도 있다. 특정한 워드 유닛들 (1904) 이 수 (w) 의 서브 유닛들 (1906) 을 포함할 수도 있으며, 각각의 서브 유닛은 수 (s) 의 심볼들을 포함할 수도 있다. 데이터는 다음과 같이 심볼 당 수 (r) 의 이용가능 상태들로부터 디코딩될 수도 있다:
Figure pct00001
도 20은 본 명세서에서 개시되는 하나 이상의 기능들을 수행하도록 구성될 수도 있는 프로세싱 회로 (2002) 를 채용하는 장치 (2000) 를 위한 하드웨어 구현예의 단순화된 예를 도시하는 개념도이다. 개시물의 다양한 양태들에 따라, 본 명세서에서 개시되는 바와 같은 엘리먼트, 또는 엘리먼트의 임의의 부분, 또는 엘리먼트들의 임의의 조합이 프로세싱 회로 (2002) 를 사용하여 구현될 수도 있다. 프로세싱 회로 (2002) 는 하드웨어 및 소프트웨어 모듈들의 어떤 조합에 의해 제어되는 하나 이상의 프로세서들 (2004) 을 포함할 수도 있다. 프로세서들 (2004) 의 예들은 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들 (DSP들), 필드 프로그램가능 게이트 어레이들 (FPGA들), 프로그램가능 로직 디바이스들 (PLD들), 상태 머신들, 순서화기들, 게이트식 로직, 개별 하드웨어 회로들, 및 본 개시물 전체를 통해 설명되는 다양한 기능을 수행하도록 구성된 다른 적합한 하드웨어를 포함한다. 하나 이상의 프로세서들 (2004) 은 특정 기능들을 수행하는, 그리고 소프트웨어 모듈들 (2016) 중 하나의 소프트웨어 모듈에 의해 구성, 증강 또는 제어될 수도 있는 전문화된 프로세서들을 포함할 수도 있다. 하나 이상의 프로세서들 (2004) 은 초기화 동안 로딩된 소프트웨어 모듈들 (2016) 의 조합을 통해 구성될 수도 있고, 동작 동안 하나 이상의 소프트웨어 모듈들 (2016) 을 로딩 또는 언로딩함으로써 추가로 구성될 수도 있다.
도시된 예에서, 프로세싱 회로 (2002) 는 버스 (2010) 에 의해 일반적으로 표현되는 버스 아키텍처로 구현될 수도 있다. 버스 (2010) 는 프로세싱 회로 (2002) 의 특정 애플리케이션 및 전체 설계 제약조건들에 의존하여 임의의 수의 상호접속 버스들 및 브리지들을 포함할 수도 있다. 버스 (2010) 는 하나 이상의 프로세서들 (2004), 및 스토리지 (2006) 를 포함하는 다양한 회로들을 함께 링크시킨다. 스토리지 (2006) 는 메모리 디바이스들과 대용량 저장 디바이스들을 포함할 수도 있고, 컴퓨터-판독가능 매체 및/또는 프로세서 판독가능 매체로서 본 명세서에서 지칭될 수도 있다. 버스 (2010) 는 타이밍 소스들, 타이머들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들을 또한 링크시킬 수도 있다. 버스 인터페이스 (2008) 가 버스 (2010) 와 하나 이상의 트랜시버들 (2012) 사이에 인터페이스를 제공할 수도 있다. 트랜시버 (2012) 가 프로세싱 회로에 의해 지원되는 각각의 네트워킹 기술을 위해 제공될 수도 있다. 일부 경우들에서, 다수의 네트워킹 기술들이 트랜시버 (2012) 에서 발견된 회로 또는 프로세싱 모듈들의 일부 또는 전부를 공유할 수도 있다. 각각의 트랜시버 (2012) 는 송신 매체를 통해 다양한 다른 장치와 통신하는 수단을 제공한다. 장치의 성질에 의존하여, 사용자 인터페이스 (2018) (예컨대, 키패드, 디스플레이, 스피커, 마이크로폰, 조이스틱) 가 또한 제공될 수도 있고, 버스 (2010) 에 직접적으로 또는 버스 인터페이스 (2008) 를 통해 통신적으로 커플링될 수도 있다.
프로세서 (2004) 는 버스 (2010) 를 관리하는 것과 스토리지 (2006) 를 포함할 수도 있는 컴퓨터 판독가능 매체에 저장된 소프트웨어의 실행을 포함할 수도 있는 일반 프로세싱을 담당할 수도 있다. 이런 점에서, 프로세서 (2004) 를 포함하는 프로세싱 회로 (2002) 는, 본 명세서에서 개시되는 방법들, 기능들 및 기법들 중 임의의 것을 구현하는데 사용될 수도 있다. 스토리지 (2006) 는 소프트웨어를 실행할 때 프로세서 (2004) 에 의해 조작되는 데이터를 저장하기 위해 사용될 수도 있고, 그 소프트웨어는 본 명세서에서 개시된 방법들 중 임의의 방법을 구현하도록 구성될 수도 있다.
프로세싱 회로 (2002) 에서의 하나 이상의 프로세서들 (2004) 이 소프트웨어를 실행할 수도 있다. 소프트웨어는, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 설명 언어, 또는 다른 것을 말하든 아니든, 명령들, 명령 세트들, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 애플리케이션들, 소프트웨어 애플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 객체들, 실행가능물들 (executables), 실행 스레드들 (threads of execution), 프로시저들, 함수들, 알고리즘들 등을 의미하는 것으로 폭넓게 해석해야 한다. 소프트웨어는 스토리지 (2006) 에 또는 외부 컴퓨터 판독가능 매체에 컴퓨터-판독가능 형태로 상주할 수도 있다. 외부 컴퓨터 판독가능 매체 및/또는 스토리지 (2006) 는 비일시적 컴퓨터 판독가능 매체를 포함할 수도 있다. 비일시적 컴퓨터 판독가능 매체는, 예로서, 자기 저장 디바이스 (예컨대, 하드 디스크, 플로피 디스크, 자기 스트립), 광 디스크 (예컨대, 콤팩트 디스크 (CD) 또는 디지털 다용도 디스크 (DVD)), 스마트 카드, 플래시 메모리 디바이스 (예컨대, "플래시 드라이브," 카드, 스틱, 또는 키 드라이브), RAM, ROM, 프로그램가능 판독전용 메모리 (PROM), 소거가능 프로그램가능 판독전용 메모리 (EPROM), EEPROM, 레지스터, 착탈식 디스크, 및 컴퓨터에 의해 액세스 및 판독될 수도 있는 소프트웨어 및/또는 명령들을 저장하기 위한 임의의 다른 적합한 매체를 포함한다. 컴퓨터 판독가능 매체 및/또는 스토리지 (2006) 는, 예로서, 컴퓨터에 의해 액세스 및 판독될 수도 있는 소프트웨어 및/또는 명령들을 송신하는 반송파, 송신 라인, 및 임의의 다른 적합한 매체를 또한 포함할 수도 있다. 컴퓨터 판독가능 매체 및/또는 스토리지 (2006) 는 프로세싱 회로 (2002) 에, 프로세서 (2004) 에, 프로세싱 회로 (2002) 외부에 상주할 수도 있거나, 또는 프로세싱 회로 (2002) 를 포함하는 다수의 엔티티들에 걸쳐 분산될 수도 있다. 컴퓨터 판독가능 매체 및/또는 스토리지 (2006) 는 컴퓨터 프로그램 제품으로 실시될 수도 있다. 예로서, 컴퓨터 프로그램 제품이 패키징 자료들의 컴퓨터 판독가능 매체를 포함할 수도 있다. 본 기술분야의 통상의 기술자들은 특정 애플리케이션과 전체 시스템 상에 부과되는 전체 설계 제약조건들에 의존하여 본 개시물 전체에 걸쳐 제시되는 설명된 기능을 구현하는 최상의 방법을 인식할 것이다.
스토리지 (2006) 는 소프트웨어 모듈들 (2016) 이라고 지칭될 수도 있는, 로딩가능 코드 세그먼트들, 모듈들, 애플리케이션들, 프로그램들 등으로 유지 및/또는 편성되는 소프트웨어를 유지할 수도 있다. 소프트웨어 모듈들 (2016) 의 각각은 프로세싱 회로 (2002) 상에 설치 또는 로딩되고 하나 이상의 프로세서들 (2004) 에 의해 실행될 때, 하나 이상의 프로세서들 (2004) 의 동작을 제어하는 런-타임 이미지 (2014) 에 기여하는 명령들 및 데이터를 포함할 수도 있다. 실행될 때, 특정한 명령들이 본 명세서에서 설명되는 특정한 방법들, 알고리즘들 및 프로세스들에 따른 기능들을 프로세싱 회로 (2002) 로 하여금 수행하게 할 수도 있다.
소프트웨어 모듈들 (2016) 의 일부는 프로세싱 회로 (2002) 의 초기화 동안 로딩될 수도 있고, 이들 소프트웨어 모듈들 (2016) 은 본 명세서에서 개시된 다양한 기능들의 수행을 가능하게 하도록 프로세싱 회로 (2002) 를 구성할 수도 있다. 예를 들어, 일부 소프트웨어 모듈들 (2016) 은 프로세서 (2004) 의 내부 디바이스들 및/또는 로직 회로들 (2022) 을 구성할 수도 있고, 트랜시버 (2012), 버스 인터페이스 (2008), 사용자 인터페이스 (2018), 타이머들, 수학적 코프로세서들 등과 같은 외부 디바이스들에의 액세스를 관리할 수도 있다. 소프트웨어 모듈들 (2016) 은 인터럽트 핸들러들 및 디바이스 드라이버들과 상호작용하는, 그리고 프로세싱 회로 (2002) 에 의해 제공된 다양한 리소스들에의 액세스를 제어하는 제어 프로그램 및/또는 운영 체제를 포함할 수도 있다. 리소스들은 메모리, 프로세싱 시간, 트랜시버 (2012) 에의 액세스, 사용자 인터페이스 (2018) 등을 포함할 수도 있다.
프로세싱 회로 (2002) 의 하나 이상의 프로세서들 (2004) 은 다기능적일 수도 있어서, 소프트웨어 모듈들 (2016) 중 일부는 상이한 기능들 또는 동일한 기능의 상이한 인스턴스들을 수행하도록 로딩 및 구성된다. 하나 이상의 프로세서들 (2004) 은 예를 들어, 사용자 인터페이스 (2018), 트랜시버 (2012), 및 디바이스 드라이버들로부터의 입력들에 응답하여 개시되는 백그라운드 태스크들을 관리하도록 추가적으로 적응될 수도 있다. 다수의 기능들의 수행을 지원하기 위해, 하나 이상의 프로세서들 (2004) 은 멀티태스킹 환경을 제공하도록 구성될 수도 있어서, 복수의 기능들 중 각각의 기능은 필요한 대로 또는 원하는 대로 하나 이상의 프로세서들 (2004) 에 의해 서비스되는 태스크들의 세트로서 구현된다. 하나의 예에서, 멀티태스킹 환경은 상이한 태스크들 사이에서 프로세서 (2004) 의 제어를 전달하는 시분할 프로그램 (2020) 을 사용하여 구현될 수도 있어서, 각각의 태스크는 임의의 미처리 동작들의 완료 시 그리고/또는 인터럽트와 같은 입력에 응답하여 시분할 프로그램 (2020) 에 하나 이상의 프로세서들 (2004) 의 제어를 반환한다. 태스크가 하나 이상의 프로세서들 (2004) 의 제어를 할 때, 프로세싱 회로는 제어 태스크에 연관된 기능에 의해 처리되는 목적들을 위해 효과적으로 전문화된다. 시분할 프로그램 (2020) 은 운영 체제, 라운드-로빈 기반으로 제어를 전달하는 메인 루프, 기능들의 우선순위화에 따라 하나 이상의 프로세서들 (2004) 의 제어를 할당하는 기능, 및/또는 하나 이상의 프로세서들 (2004) 의 제어를 핸들링 기능에 제공함으로써 외부 이벤트들에 응답하는 인터럽트 구동형 메인 루프를 포함할 수도 있다.
도 21은 멀티-와이어 통신 인터페이스 상에서 송신되는 신호들로부터 클록 신호를 복원하는 방법의 흐름도 (2100) 이다. 데이터는 멀티-와이어 인터페이스의 하나 이상의 와이어들을 통해 송신되는 펄스들의 조합들 또는 패턴들로 인코딩될 수도 있다.
블록 2102에서, 수신 디바이스에서 멀티-와이어 인터페이스의 하나 이상의 와이어들 상에서 펄스들이 검출된다.
블록 2104에서, 멀티-와이어 인터페이스의 하나 이상의 와이어들 상에서 펄스를 검출하는 것에 응답하여 복수의 송신 구간들 중 각각의 송신 구간에 수신 클록에서 에지가 생성된다. 복수의 송신 구간들 중 각각의 송신 구간 동안 멀티-와이어 인터페이스의 적어도 하나의 와이어 상에서 펄스가 송신된다. 멀티-와이어 인터페이스는 용량적으로-커플링된 인터페이스일 수도 있다. 멀티-와이어 인터페이스는 유도적으로-커플링된 인터페이스일 수도 있다. 멀티-와이어 인터페이스는 광학적으로-커플링된 인터페이스일 수도 있다. 하나 이상의 와이어들 상에서 수신된 펄스들은 수신 클록을 제공하기 위해 조합 신호로 조합되고 지연될 수도 있다.
블록 2106에서, 수신 클록에서의 에지가 복수의 송신 구간들 중 각각의 송신 구간에서 생성된 후 다-자릿수 숫자 중 한 자릿수가 제공된다. 자릿수의 각각의 비트는 대응하는 송신 구간 동안 멀티-와이어 인터페이스의 하나의 와이어 상에서 펄스가 송신되었는지의 여부를 식별할 수도 있다.
블록 2108에서, 복수의 송신 구간들에서 생성된 자릿수들은 다-자릿수 숫자를 획득하기 위해 조합될 수도 있다. 멀티-와이어 인터페이스는 N 개 와이어들을 가질 수도 있고 다-자릿수 숫자는 밑이 (2 N -1) 인 숫자로서 표현될 수도 있다. 하나의 예에서, 멀티-와이어 인터페이스는 2-와이어 인터페이스이고 다-자릿수 숫자는 삼진수 숫자로서 표현된다. 다른 예에서, 멀티-와이어 인터페이스는 3-와이어 인터페이스이고 다-자릿수 숫자는 칠진수 숫자로서 표현된다.
블록 2110에서, 다-자릿수 숫자는 수신된 데이터를 획득하기 위해 트랜스코딩될 수도 있다. 데이터 워드가 다-자릿수 숫자에서 인코딩될 수도 있다.
일부 경우들에서, 하나 이상의 와이어들 상에서 수신된 펄스들을 조합 신호로 조합하며, 그 조합 신호에서의 에지에 응답하여 고정-지속기간 펄스를 생성하도록 구성되는 원-샷 로직에 조합 신호를 제공하고, 수신 클록에서의 펄스를 제공하기 위해 고정-지속기간 펄스를 지연시킴으로써 수신 클록에서 에지가 생성될 수도 있다.
일부 예들에서, 제 1 정보는 멀티-와이어 인터페이스의 제 1 복수의 와이어들로부터 수신된 제로복귀, 펄스-인코딩된 신호들로부터 디코딩될 수도 있다. 예를 들어, 제 1 정보는 송신 구간 동안 제 1 복수의 와이어들 중 각각의 와이어 상의 펄스의 존재 또는 부재로 인코딩될 수도 있다. 제 2 정보가 멀티-와이어 인터페이스의 제 2 복수의 와이어들로부터 수신된 비-제로복귀 신호들로부터 디코딩될 수도 있다. 정보는 제 2 복수의 와이어들 상에서 시그널링 상태들로 송신될 수도 있다. 하나의 예에서, 각각의 와이어는 둘 이상의 전압 또는 전류 상태들을 갖는 신호를 운반할 수도 있고, 제 2 정보는 송신 구간 동안 제 2 복수의 와이어들의 시그널링 상태들의 조합으로, 또는 연속하는 송신 구간들 사이의 제 2 복수의 와이어들의 시그널링 상태들에서의 천이들로 인코딩될 수도 있다.
도 22는 프로세싱 회로 (2202) 를 채용하는 장치 (2200) 에 대한 하드웨어 구현의 단순화된 예를 도시하는 도면이다. 프로세싱 회로는 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서, 순서화기 및 상태 머신 중 하나 이상을 포함할 수도 있는 프로세서 (2216) 를 통상 가진다. 프로세싱 회로 (2202) 는 버스 (2220) 에 의해 일반적으로 표현되는 버스 아키텍처로 구현될 수도 있다. 버스 (2220) 는 프로세싱 회로 (2202) 의 특정 애플리케이션 및 전체 설계 제약조건들에 의존하여 임의의 수의 상호접속 버스들 및 브리지들을 포함할 수도 있다. 버스 (2220) 는 프로세서 (2216), 모듈들 또는 회로들 (2204, 2206, 2208, 및 2210), 커넥터들 또는 와이어들 (2214) 을 통해 통신하도록 구성 가능한 라인 인터페이스 회로들 (2212) 및 컴퓨터 판독가능 저장 매체 (2218) 에 의해 표현되는 하나 이상의 프로세서들 및/또는 하드웨어 모듈들을 포함하는 다양한 회로들을 함께 링크시킨다. 버스 (2220) 는 본 기술분야에서 널리 공지된 타이밍 소스들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들을 또한 링크시킬 수도 있고, 그러므로, 더이상 설명되지 않을 것이다.
프로세서 (2216) 는 컴퓨터 판독가능 저장 매체 (2218) 상에 저장된 소프트웨어의 실행을 포함하는 일반 프로세싱을 담당한다. 소프트웨어는, 프로세서 (2216) 에 의해 실행될 때, 프로세싱 회로 (2202) 가 임의의 특정 장치에 대해 위에서 설명된 다양한 기능들을 수행하게 한다. 컴퓨터 판독가능 저장 매체 (2218) 는 커넥터들 또는 와이어들 (2214) 을 통해 송신된 심볼들로부터 디코딩된 데이터를 포함하여, 소프트웨어를 실행할 때, 프로세서 (2216) 에 의해 조작되는 데이터를 저장하기 위해 또한 사용될 수도 있다. 프로세싱 회로 (2202) 는 모듈들 (2204, 2206, 2208, 및 2210) 중 적어도 하나의 모듈을 더 포함한다. 모듈들 (2204, 2206, 2208, 및 2210) 은, 컴퓨터 판독가능 저장 매체 (2218) 에 상주하는/저장된, 프로세서 (2216) 에서 실행중인 소프트웨어 모듈들, 프로세서 (2216) 에 커플링된 하나 이상의 하드웨어 모듈들, 또는 그것들의 일부 조합일 수도 있다. 모듈들 (2204, 2206, 2208, 및/또는 2210) 은 마이크로제어기 명령들, 상태 머신 구성 파라미터들, 또는 그것들의 일부 조합을 포함할 수도 있다.
하나의 구성에서, 장치 (2200) 는, 멀티-와이어 인터페이스의 커넥터들 또는 와이어들 (2214) 로부터 수신된 하나 이상의 신호들에서 발생하는 펄스들을 검출하기 위한 모듈들 및/또는 회로들 (2204), 멀티-와이어 인터페이스의 커넥터들 또는 와이어들 (2214) 로부터 수신된 하나 이상의 신호들에서의 펄스들의 검출에 응답하여 수신 클록 신호 상의 펄스들을 제공하기 위한 모듈들 및/또는 회로들 (2206), 멀티-와이어 인터페이스의 각각의 와이어 (2214) 에서의 펄스의 존재 또는 부재를 나타내는 값을 캡처하기 위한 모듈들 및/또는 회로들 (2208), 및 하나 이상의 지연 회로들을 포함한다.
하나의 예에서, 그 장치 (2200) 는 복수의 입력 신호들 중 하나 이상의 입력 신호들에서 제 1 펄스가 수신될 때 제 1 상태를 가정하도록 구성되는 복수의 입력 래치들, 제 1 펄스에 응답하여 제 2 펄스를 제공하도록 구성되는 조합 로직, 제 2 펄스에 대해 지연된 제 3 펄스를 수신 클록 상에서 생성하도록 구성되는 지연 회로, 제 3 펄스에 의해 트리거될 때 제 1 상태를 캡처하도록 구성되는 복수의 출력 플립-플롭들을 갖는 클록 복원 회로를 포함하며, 제 1 상태는 복수의 입력 신호들 중 어느 것이 입력 펄스들을 수용하였는지를 식별한다. 일부 경우들에서, 원-샷 회로가 제 2 펄스의 지속기간을 고정시키도록 구성된다.
제 1 상태는 다-자릿수 숫자 중 한 자릿수로서 출력될 수도 있다. 복수의 입력 신호들은 N 개 와이어들을 포함하는 멀티-와이어 인터페이스로부터 수신될 수도 있다. 하나의 예에서, 다-자릿수 숫자는 밑 (2 N -M) 으로서 표현될 수도 있으며, 여기서 M은 프로세싱 효율을 이유로 그리고/또는 임베디드 클록 정보의 존재 또는 부재 및/또는 다-자릿수 숫자에서의 다른 정보에 기초하여 선택될 수도 있다. 하나의 예에서, 복수의 입력 신호들은 2-와이어 인터페이스로부터 수신되고, 다-자릿수 숫자는 삼진수 숫자로서 표현될 수도 있다. 다른 예에서, 복수의 입력 신호들은 3-와이어 인터페이스로부터 수신되고 다-자릿수 숫자는 칠진수 숫자로서 표현된다.
복수의 입력 신호들은 용량적으로-커플링된 또는 유도적으로-커플링된 멀티-와이어 인터페이스들로부터 수신될 수도 있다. 일부 경우들에서, 복수의 입력 신호들은 광학적 인터페이스로부터 수신된다.
도 23은 멀티-와이어 통신 인터페이스 상에서 통신하는 방법의 흐름도 (2300) 이다. 데이터는 N-와이어 인터페이스의 N 개 와이어들을 통해 송신되는 펄스들의 조합들 또는 패턴들로 인코딩될 수도 있다.
블록 2302에서, 데이터 워드가 다-자릿수 숫자로 트랜스코딩될 수도 있다. 클록 정보가 다-자릿수 숫자에 임베딩될 수도 있다.
블록 2304에서, 펄스들의 조합이 송신 구간들의 시퀀스에서의 각각의 송신 구간에 대해 멀티-와이어 통신 링크의 제 1 복수의 커넥터들을 통해 송신될 수도 있다. 다-자릿수 숫자의 각각의 자릿수는 송신 구간들의 시퀀스에서의 대응하는 송신 구간에 대해 펄스들의 조합을 정의할 수도 있다. 송신 구간들의 시퀀스에서의 각각의 송신 구간 동안 복수의 커넥터들 중 적어도 하나의 커넥터 상에서 펄스가 송신될 수도 있다.
일부 경우들에서, 펄스들의 조합들이 용량성, 유도성, 또는 광학적 커플링을 통해 제 1 복수의 커넥터들에 제공된다.
제 1 복수의 커넥터들은 N 개 커넥터들을 포함하고 다-자릿수 숫자는 밑 (2 N -M) 으로서 표현되며, 여기서 M은 프로세싱 효율을 이유로 그리고/또는 다-자릿수 숫자에서의 임베디드 클록 정보 및/또는 다른 정보의 존재 또는 부재에 기초하여 선택될 수도 있다. 하나의 예에서, 제 1 복수의 커넥터들은 두 개의 커넥터들을 포함할 수도 있고 다-자릿수 숫자는 삼진수 숫자로서 표현된다. 다른 예에서, 제 1 복수의 커넥터들은 세 개의 커넥터들을 포함하고 다-자릿수 숫자는 칠진수 숫자로서 표현된다.
일부 예들에서, 제 1 정보는 멀티-와이어 인터페이스의 제 1 복수의 커넥터들 상에서 송신되는 비-제로복귀, 펄스-인코딩된 신호들로 인코딩될 수도 있다. 예를 들어, 제 1 정보는 송신 구간 동안 제 1 복수의 커넥터들 중 각각의 커넥터 상의 펄스의 존재 또는 부재로 인코딩될 수도 있다. 제 2 정보는 하나 이상의 비-제로복귀 신호들로 인코딩될 수도 있다. 하나 이상의 비-제로복귀 신호들은 멀티-와이어 인터페이스의 제 2 복수의 커넥터들을 통해 송신될 수도 있다. 정보는 제 2 복수의 커넥터들의 시그널링 상태들에서 송신될 수도 있다. 하나의 예에서, 하나 이상의 와이어들이 둘 이상의 전압 또는 전류 상태들을 갖는 신호를 운반할 수도 있고, 제 2 정보는 송신 구간 동안 제 2 복수의 커넥터들의 시그널링 상태들의 조합으로, 또는 연속하는 송신 구간들 사이의 제 2 복수의 커넥터들의 시그널링 상태들에서의 천이들로 인코딩될 수도 있다.
도 24는 프로세싱 회로 (2402) 를 채용하는 장치 (2400) 에 대한 하드웨어 구현의 단순화된 예를 도시하는 도면이다. 프로세싱 회로는 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서, 순서화기 및 상태 머신 중 하나 이상을 포함할 수도 있는 프로세서 (2416) 를 통상 가진다. 프로세싱 회로 (2402) 는 버스 (2420) 에 의해 일반적으로 표현되는 버스 아키텍처로 구현될 수도 있다. 버스 (2420) 는 프로세싱 회로 (2402) 의 특정 애플리케이션 및 전체 설계 제약조건들에 의존하여 임의의 수의 상호접속 버스들 및 브리지들을 포함할 수도 있다. 버스 (2420) 는 프로세서 (2416), 모듈들 또는 회로들 (2404, 2406, 2408, 및 2410), 커넥터들 또는 와이어들 (2414) 을 통해 통신하도록 구성 가능한 라인 인터페이스 회로들 (2412) 및 컴퓨터 판독가능 저장 매체 (2418) 에 의해 표현되는 하나 이상의 프로세서들 및/또는 하드웨어 모듈들을 포함하는 다양한 회로들을 함께 링크시킨다. 버스 (2420) 는 본 기술분야에서 널리 공지된 타이밍 소스들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들을 또한 링크시킬 수도 있고, 그러므로, 더이상 설명되지 않을 것이다.
프로세서 (2416) 는 컴퓨터 판독가능 저장 매체 (2418) 상에 저장된 소프트웨어의 실행을 포함하는 일반 프로세싱을 담당한다. 소프트웨어는, 프로세서 (2416) 에 의해 실행될 때, 프로세싱 회로 (2402) 가 임의의 특정 장치에 대해 위에서 설명된 다양한 기능들을 수행하게 한다. 컴퓨터 판독가능 저장 매체 (2418) 는 커넥터들 또는 와이어들 (2414) 을 통해 송신된 심볼들로부터 디코딩된 데이터를 포함하여, 소프트웨어를 실행할 때, 프로세서 (2416) 에 의해 조작되는 데이터를 저장하기 위해 또한 사용될 수도 있다. 프로세싱 회로 (2402) 는 모듈들 (2404, 2406, 및 2408) 중 적어도 하나의 모듈을 더 포함한다. 모듈들 (2404, 2406, 2408, 및 2410) 은, 컴퓨터 판독가능 저장 매체 (2418) 에 상주하는/저장된, 프로세서 (2416) 에서 실행중인 소프트웨어 모듈들, 프로세서 (2416) 에 커플링된 하나 이상의 하드웨어 모듈들, 또는 그것들의 일부 조합일 수도 있다. 모듈들 (2404, 2406, 및/또는 2408) 은 마이크로제어기 명령들, 상태 머신 구성 파라미터들, 또는 그것들의 일부 조합을 포함할 수도 있다.
하나의 구성에서, 장치 (2400) 는, 데이터 워드를 다-자릿수 숫자로 트랜스코딩하는 모듈들 및/또는 회로들 (2404), 멀티-와이어 통신 링크의 커넥터들 또는 와이어들 (2414) 상의 하나 이상의 신호들에서의 다-자릿수 숫자로부터 도출된 펄스들의 패턴을 송신하는 모듈들 및/또는 회로들 (2406), 및 장치를 멀티-와이어 통신 링크의 커넥터들 또는 와이어들 (2414) 에 커플링시키는 모듈들 및/또는 회로들 (2408) 을 포함한다.
하나의 예에서, 장치 (2400) 는 데이터 워드들을 클록 정보가 임베딩된 다-자릿수 숫자들로 트랜스코딩하는 트랜스코더와, 송신 구간들의 시퀀스에서의 하나의 송신 구간 동안 복수의 커넥터들을 통한 송신을 위해 펄스들의 조합을 제공하도록 구성되는 회로를 포함한다. 각각의 송신 구간에서의 펄스들의 조합은 다-자릿수 숫자의 한 자릿수에 의해 정의될 수도 있다. 송신 구간들의 시퀀스에서의 각각의 송신 구간 동안 복수의 커넥터들 중 적어도 하나의 커넥터 상에서 펄스가 송신된다.
복수의 커넥터들이 N 개 커넥터들을 포함하는 경우, 다-자릿수 숫자는 밑이 (2 N -1) 인 숫자로서 표현될 수도 있다. 하나의 예에서, 복수의 커넥터들은 두 개의 커넥터들을 포함하고 다-자릿수 숫자는 삼진수 숫자로서 표현된다. 다른 예에서, 복수의 커넥터들은 세 개의 커넥터들을 포함하고 다-자릿수 숫자는 칠진수 숫자로서 표현된다.
장치를 멀티-와이어 통신 링크의 커넥터들 또는 와이어들 (2414) 에 커플링시키는 모듈들 및/또는 회로들 (2408) 은, 복수의 커넥터들에 송신기를 용량적으로 커플링하도록 구성되는 송신기를 포함할 수도 있다. 장치를 멀티-와이어 통신 링크의 커넥터들 또는 와이어들 (2414) 에 커플링시키는 모듈들 및/또는 회로들 (2408) 은, 복수의 커넥터들에 송신기를 유도적으로 커플링하도록 구성되는 송신기를 포함할 수도 있다. 장치를 멀티-와이어 통신 링크의 커넥터들 또는 와이어들 (2414) 에 커플링시키는 모듈들 및/또는 회로들 (2408) 은, 복수의 커넥터들에 송신기를 광학적으로 커플링하도록 구성되는 송신기를 포함할 수도 있다.
개시된 프로세스들에서의 단계들의 특정한 순서 또는 계층구조는 예시적인 접근법들 중의 일 예시임이 이해된다. 설계 선호도들에 기초하여, 프로세스들에서의 단계들의 특정 순서 또는 계층구조는 재정렬될 수도 있다는 것이 이해된다. 게다가, 일부 단계들은 조합되거나 또는 생략될 수도 있다. 첨부된 방법 청구항들은 샘플 순서에서 여러 단계들의 엘리먼트들을 제시하지만, 제시된 특정 순서 또는 계층구조로 제한되는 것을 의미하지는 않는다.
이전의 설명은 본 기술분야의 통상의 기술자가 본 명세서에서 설명되는 다양한 양태들을 실시하는 것을 가능하게 하기 위해 제공된다. 이들 양태들에 대한 다양한 변형예들은 본 기술분야의 통상의 기술자들에게 쉽사리 명확하게 될 것이고, 본원에서 정의된 일반 원리들은 다른 양태들에 적용될 수도 있다. 청구항들은 본원에서 보인 양태들로 제한되도록 의도되지는 않고, 청구항들의 언어와 일치하는 전체 범위에 주어질 것인데, 엘리먼트에 대한 단수형의 참조는 구체적으로 그렇게 언급되지 않는 한 "하나와 하나만"을 의미하도록 의도되지는 않았고 그보다는 "하나 이상의" 의미이다. 특별히 다르게 언급되지 않는 한, "일부"라는 용어는 하나 이상을 말한다. 본 기술분야의 통상의 기술자들에게 알려져 있거나 나중에 알려지게 될 본 개시물 전체에 걸쳐 설명된 다양한 양태들의 엘리먼트들에 대한 모든 구조상 및 기능상 동등물들은 본원에서 참조로 명확히 통합되고 청구범위에 의해 포함되도록 의도된다. 더욱이, 본원에 개시되지 않은 것은 이러한 개시물이 청구항들에서 명시적으로 설명되었는지에 무관하게 공중에게는 헌정되는 것으로 의도되고 있다. 청구항 엘리먼트는 그 엘리먼트가 "하는 수단"이란 어구를 사용하여 명시적으로 언급되지 않는 한 수단 더하기 기능으로서 간주되어서는 안 된다.

Claims (30)

  1. 멀티-와이어 인터페이스에 커플링된 수신 디바이스에서 데이터를 디코딩하는 방법으로서,
    상기 수신 디바이스에서, 상기 멀티-와이어 인터페이스의 하나 이상의 와이어들 상의 펄스들을 검출하는 단계;
    복수의 송신 구간들 중 각각의 송신 구간에서:
    상기 멀티-와이어 인터페이스의 하나 이상의 와이어들 상의 펄스를 검출하는 것에 응답하여 수신 클록에서의 에지를 생성하는 단계; 및
    상기 복수의 송신 구간들 중 각각의 송신 구간에서 상기 수신 클록에서의 상기 에지가 생성된 후 다-자릿수 숫자 중 한 자릿수를 제공하는 단계로서, 상기 자릿수의 각각의 비트는 대응하는 송신 구간 동안 상기 멀티-와이어 인터페이스의 하나의 와이어 상에서 펄스가 송신되었는지의 여부를 식별하는, 상기 한 자릿수를 제공하는 단계;
    상기 다-자릿수 숫자를 획득하기 위해 상기 복수의 송신 구간들에서 생성된 자릿수들을 조합하는 단계; 및
    수신된 데이터를 획득하기 위해 상기 다-자릿수 숫자를 트랜스코딩하는 단계를 포함하며,
    상기 복수의 송신 구간들 중 각각의 송신 구간 동안 상기 멀티-와이어 인터페이스의 적어도 하나의 와이어 상에서 펄스가 송신되는, 멀티-와이어 인터페이스에 커플링된 수신 디바이스에서 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    데이터 워드가 상기 다-자릿수 숫자에서 인코딩되는, 멀티-와이어 인터페이스에 커플링된 수신 디바이스에서 데이터를 디코딩하는 방법.
  3. 제 1 항에 있어서,
    상기 멀티-와이어 인터페이스는 N 개 와이어들을 포함하고 상기 다-자릿수 숫자는 밑이 (2 N -1) 인 숫자로서 표현되는, 멀티-와이어 인터페이스에 커플링된 수신 디바이스에서 데이터를 디코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 멀티-와이어 인터페이스는 2-와이어 인터페이스이고 상기 다-자릿수 숫자는 삼진수 숫자로서 표현되거나, 또는 상기 멀티-와이어 인터페이스는 3-와이어 인터페이스이고 상기 다-자릿수 숫자는 칠진수 숫자로서 표현되는, 멀티-와이어 인터페이스에 커플링된 수신 디바이스에서 데이터를 디코딩하는 방법.
  5. 제 1 항에 있어서,
    상기 멀티-와이어 인터페이스로부터 수신된 제로복귀 펄스-인코딩된 신호들로부터 제 1 정보를 디코딩하는 단계; 및
    상기 멀티-와이어 인터페이스로부터 수신된 하나 이상의 비-제로복귀 신호들로부터 제 2 정보를 디코딩하는 단계를 더 포함하는, 멀티-와이어 인터페이스에 커플링된 수신 디바이스에서 데이터를 디코딩하는 방법.
  6. 제 1 항에 있어서,
    용량적으로-커플링된 신호들은 상기 멀티-와이어 인터페이스로부터 수신되는, 멀티-와이어 인터페이스에 커플링된 수신 디바이스에서 데이터를 디코딩하는 방법.
  7. 제 1 항에 있어서,
    유도적으로-커플링된 신호들은 상기 멀티-와이어 인터페이스로부터 수신되는, 멀티-와이어 인터페이스에 커플링된 수신 디바이스에서 데이터를 디코딩하는 방법.
  8. 제 1 항에 있어서,
    광학적으로-커플링된 신호들은 상기 멀티-와이어 인터페이스로부터 수신되는, 멀티-와이어 인터페이스에 커플링된 수신 디바이스에서 데이터를 디코딩하는 방법.
  9. 제 1 항에 있어서,
    상기 수신 클록에서의 에지를 생성하는 단계는,
    상기 하나 이상의 와이어들 상에서 수신된 펄스들을 조합 신호로 조합하는 단계; 및
    상기 수신 클록을 제공하기 위해 상기 조합 신호를 지연시키는 단계를 포함하는, 멀티-와이어 인터페이스에 커플링된 수신 디바이스에서 데이터를 디코딩하는 방법.
  10. 제 1 항에 있어서,
    상기 수신 클록에서의 에지를 생성하는 단계는,
    상기 하나 이상의 와이어들 상에서 수신된 펄스들을 조합 신호로 조합하는 단계;
    상기 조합 신호에서의 에지에 응답하여 고정-지속기간 펄스를 생성하도록 구성되는 원-샷 로직에 상기 조합 신호를 제공하는 단계; 및
    상기 수신 클록에서의 펄스를 제공하기 위해 상기 고정-지속기간 펄스를 지연시키는 단계를 포함하는, 멀티-와이어 인터페이스에 커플링된 수신 디바이스에서 데이터를 디코딩하는 방법.
  11. 복수의 입력 신호들 중 하나 이상의 입력 신호들에서 제 1 펄스가 수신될 때 제 1 상태를 가정하도록 구성되는 복수의 입력 래치들;
    상기 제 1 펄스에 응답하여 제 2 펄스를 제공하도록 구성되는 조합 로직;
    상기 제 2 펄스에 대해 지연된 제 3 펄스를 수신 클록 상에서 생성하도록 구성되는 지연 회로; 및
    상기 제 3 펄스에 의해 트리거될 때 상기 제 1 상태를 캡처하도록 구성되는 복수의 출력 플립-플롭들을 포함하며,
    상기 제 1 상태는 상기 복수의 입력 신호들 중 어느 것이 수신된 입력 펄스들을 갖는지를 식별하는, 클록 복원 회로.
  12. 제 11 항에 있어서,
    상기 제 2 펄스의 지속기간을 고정시키도록 구성되는 원-샷 회로를 더 포함하는, 클록 복원 회로.
  13. 제 11 항에 있어서,
    상기 제 1 상태는 다-자릿수 숫자 중 한 자릿수로서 출력되는, 클록 복원 회로.
  14. 제 13 항에 있어서,
    상기 복수의 입력 신호들은 N 개 와이어들을 포함하는 멀티-와이어 인터페이스로부터 수신되고, 상기 다-자릿수 숫자는 밑이 (2 N -1) 인 숫자로서 표현되는, 클록 복원 회로.
  15. 제 13 항에 있어서,
    상기 복수의 입력 신호들은 2-와이어 인터페이스로부터 수신되고, 상기 다-자릿수 숫자는 삼진수 숫자로서 표현되는, 클록 복원 회로.
  16. 제 13 항에 있어서,
    상기 복수의 입력 신호들은 2-와이어 인터페이스로부터 수신되고, 상기 다-자릿수 숫자는 칠진수 숫자로서 표현되는, 클록 복원 회로.
  17. 제 11 항에 있어서,
    상기 복수의 입력 신호들은 용량적으로-커플링된 멀티-와이어 인터페이스로부터 수신되는, 클록 복원 회로.
  18. 제 11 항에 있어서,
    상기 복수의 입력 신호들은 유도적으로-커플링된 멀티-와이어 인터페이스로부터 수신되는, 클록 복원 회로.
  19. 제 11 항에 있어서,
    상기 복수의 입력 신호들은 광학적 인터페이스로부터 수신되는, 클록 복원 회로.
  20. 제 11 항에 있어서,
    상기 수신 클록 상에 제공된 연속적인 펄스들 사이에서 발생하는 하나 이상의 와이어들 상의 천이들의 수를 카운트하도록 구성되는 카운터를 더 포함하는, 클록 복원 회로.
  21. 데이터 워드를 다-자릿수 숫자로 트랜스코딩하는 단계로서, 상기 데이터 워드를 다-자릿수 숫자로 트랜스코딩하는 것은 다-자릿수 숫자에 클록 정보를 임베딩하는 것을 포함하는, 상기 트랜스코딩하는 단계; 및
    송신 구간들의 시퀀스에서의 각각의 송신 구간에서 멀티-와이어 통신 링크의 복수의 커넥터들을 통해 펄스들의 조합을 송신하는 단계로서, 상기 다-자릿수 숫자 중 각각의 자릿수는 상기 송신 구간들의 시퀀스에서의 대응하는 송신 구간에 대한 상기 펄스들의 조합을 정의하는, 상기 송신하는 단계를 포함하며,
    상기 송신 구간들의 시퀀스에서의 각각의 송신 구간 동안 상기 복수의 커넥터들 중 적어도 하나의 커넥터 상에서 펄스가 송신되는, 방법.
  22. 제 21 항에 있어서,
    상기 복수의 커넥터들은 N 개 커넥터들을 포함하고 상기 다-자릿수 숫자는 밑이 (2 N -1) 인 숫자로서 표현되는, 방법.
  23. 제 21 항에 있어서,
    상기 복수의 커넥터들은 두 개의 커넥터들을 포함하고 상기 다-자릿수 숫자는 삼진수 숫자로서 표현되거나, 또는 상기 복수의 커넥터들은 세 개의 커넥터들을 포함하고 상기 다-자릿수 숫자는 칠진수 숫자로서 표현되는, 방법.
  24. 제 21 항에 있어서,
    하나 이상의 비-제로복귀 신호들에서 정보를 인코딩하는 단계; 및
    상기 멀티-와이어 통신 링크의 하나 이상의 다른 커넥터들을 통해 상기 하나 이상의 비-제로복귀 신호들을 송신하는 단계를 더 포함하는, 방법.
  25. 제 21 항에 있어서,
    상기 펄스들의 조합들은 용량성, 유도성, 또는 광학적 커플링을 통해 상기 복수의 커넥터들에 제공되는, 방법.
  26. 데이터 워드로부터 다-자릿수 숫자를 생성하도록 구성되는 트랜스코더로서, 상기 다-자릿수 숫자는 임베딩된 클록 정보를 포함하는, 상기 트랜스코더; 및
    송신 구간들의 시퀀스에서의 하나의 송신 구간 동안 복수의 커넥터들을 통한 송신을 위해 펄스들의 조합을 제공하도록 구성되는 회로로서, 상기 펄스들의 조합은 상기 다-자릿수 숫자의 한 자릿수에 의해 정의되는, 상기 회로를 포함하며,
    상기 송신 구간들의 시퀀스에서의 각각의 송신 구간 동안 상기 복수의 커넥터들 중 적어도 하나의 커넥터 상에서 펄스가 송신되는, 통신 인터페이스.
  27. 제 26 항에 있어서,
    상기 복수의 커넥터들은 N 개 커넥터들을 포함하고 상기 다-자릿수 숫자는 밑이 (2 N -1) 인 숫자로서 표현되는, 통신 인터페이스.
  28. 제 26 항에 있어서,
    상기 복수의 커넥터들은 두 개의 커넥터들을 포함하고 상기 다-자릿수 숫자는 삼진수 숫자로서 표현되거나, 또는 상기 복수의 커넥터들은 세 개의 커넥터들을 포함하고 상기 다-자릿수 숫자는 칠진수 숫자로서 표현되는, 통신 인터페이스.
  29. 제 26 항에 있어서,
    하나 이상의 비-제로복귀 신호들에서 정보를 인코딩하고; 그리고
    상기 통신 인터페이스의 하나 이상의 다른 커넥터들을 통해 상기 하나 이상의 비-제로복귀 신호들을 송신하도록 구성되는 송신기 회로를 더 포함하는, 통신 인터페이스.
  30. 제 26 항에 있어서,
    상기 복수의 커넥터들에 송신기를 용량적으로 커플링하거나, 유도적으로 커플링하거나, 또는 광학적으로 커플링하도록 구성되는 송신기를 더 포함하는, 통신 인터페이스.
KR1020177028260A 2015-04-13 2016-03-30 펄스 기반 멀티-와이어 링크를 위한 클록 및 데이터 복원 KR20170137735A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562146801P 2015-04-13 2015-04-13
US62/146,801 2015-04-13
US15/084,171 US9621332B2 (en) 2015-04-13 2016-03-29 Clock and data recovery for pulse based multi-wire link
US15/084,171 2016-03-29
PCT/US2016/025094 WO2016167973A1 (en) 2015-04-13 2016-03-30 Clock and data recovery for pulse based multi-wire link

Publications (1)

Publication Number Publication Date
KR20170137735A true KR20170137735A (ko) 2017-12-13

Family

ID=57111958

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177028260A KR20170137735A (ko) 2015-04-13 2016-03-30 펄스 기반 멀티-와이어 링크를 위한 클록 및 데이터 복원

Country Status (6)

Country Link
US (3) US9621332B2 (ko)
EP (1) EP3284229B1 (ko)
JP (1) JP6808641B2 (ko)
KR (1) KR20170137735A (ko)
CN (2) CN107534548B (ko)
WO (1) WO2016167973A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9621332B2 (en) 2015-04-13 2017-04-11 Qualcomm Incorporated Clock and data recovery for pulse based multi-wire link
KR20170005330A (ko) * 2015-07-03 2017-01-12 에스케이하이닉스 주식회사 클럭 생성 회로 및 방법, 이를 이용한 반도체 장치 및 전자 시스템
TW201830940A (zh) * 2017-02-08 2018-08-16 陳淑玲 三線式傳輸的穿戴裝置
US10219073B1 (en) * 2017-11-20 2019-02-26 Ford Global Technologies, Llc Vehicle audio system
US10790997B2 (en) 2019-01-23 2020-09-29 Cisco Technology, Inc. Transmission of pulse power and data in a communications network
US11061456B2 (en) * 2019-01-23 2021-07-13 Cisco Technology, Inc. Transmission of pulse power and data over a wire pair
US11251706B2 (en) 2019-05-15 2022-02-15 Texas Instruments Incorporated Multiphase switched mode power supply clocking circuits and related methods
KR20210088808A (ko) 2020-01-06 2021-07-15 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3401235A (en) * 1964-12-29 1968-09-10 Bell Telephone Labor Inc Time division communication system
US4661310A (en) * 1983-10-27 1987-04-28 Westinghouse Electric Corp Pulsed multichannel protection system with saturable core magnetic logic units
US6577232B1 (en) * 1998-11-02 2003-06-10 Pittway Corporation Monopolar, synchronized communication system
CA2725844C (en) * 2000-12-15 2015-03-31 Qualcomm Incorporated Generating and implementing a communication protocol and interface for high data rate signal transfer
US6835772B2 (en) 2001-01-29 2004-12-28 Ohashi Chemical Industries Ltd. Low-temperature curing, favorable feel coating composition
WO2003023587A2 (en) * 2001-09-06 2003-03-20 Qualcomm, Incorporated Generating and implementing a communication protocol and interface for high data rate signal transfer
US7126378B2 (en) * 2003-12-17 2006-10-24 Rambus, Inc. High speed signaling system with adaptive transmit pre-emphasis
US8068485B2 (en) * 2003-05-01 2011-11-29 Genesis Microchip Inc. Multimedia interface
DE602004028144D1 (de) * 2003-10-22 2010-08-26 Nxp Bv Verfahren und einrichtung zum senden von daten über mehrere übertragungsleitungen
US7308058B2 (en) 2003-10-27 2007-12-11 Rambus Inc. Transparent multi-mode PAM interface
SG126752A1 (en) * 2004-03-05 2006-11-29 Infineon Technologies Ag Protocols for transmission of data, in particular over telephone lines
US8811456B2 (en) * 2006-04-19 2014-08-19 Qualcomm Incorporated Apparatus and method of low latency multi-hop communication
EP2057752A2 (en) * 2006-04-26 2009-05-13 Qualcomm Incorporated Sub-packet pulse-based communication
EP1976140A1 (en) * 2007-03-26 2008-10-01 Nokia Siemens Networks Gmbh & Co. Kg Method and device for reducing transmission power of packet oriented data and communication system comprising such device
WO2008151251A1 (en) 2007-06-05 2008-12-11 Rambus, Inc. Techniques for multi-wire encoding with an embedded clock
US7890788B2 (en) 2007-07-09 2011-02-15 John Yin Clock data recovery and synchronization in interconnected devices
US8291207B2 (en) * 2009-05-18 2012-10-16 Stmicroelectronics, Inc. Frequency and symbol locking using signal generated clock frequency and symbol identification
US9401828B2 (en) * 2010-05-20 2016-07-26 Kandou Labs, S.A. Methods and systems for low-power and pin-efficient communications with superposition signaling codes
WO2013088173A1 (en) * 2011-12-14 2013-06-20 Wolfson Microelectronics Plc Data transfer
US8653868B2 (en) * 2012-06-28 2014-02-18 Intel Corporation Low power data recovery
US9337997B2 (en) 2013-03-07 2016-05-10 Qualcomm Incorporated Transcoding method for multi-wire signaling that embeds clock information in transition of signal state
US9374216B2 (en) 2013-03-20 2016-06-21 Qualcomm Incorporated Multi-wire open-drain link with data symbol transition based clocking
US9178690B2 (en) 2013-10-03 2015-11-03 Qualcomm Incorporated N factorial dual data rate clock and data recovery
US9118457B2 (en) 2013-03-15 2015-08-25 Qualcomm Incorporated Multi-wire single-ended push-pull link with data symbol transition based clocking
US9054941B2 (en) 2013-07-18 2015-06-09 Rf Micro Devices, Inc. Clock and data recovery using dual manchester encoded data streams
US9130735B2 (en) 2013-07-22 2015-09-08 Qualcomm Incorporated Multi-phase clock generation method
US9137008B2 (en) 2013-07-23 2015-09-15 Qualcomm Incorporated Three phase clock recovery delay calibration
US9276731B2 (en) * 2013-08-08 2016-03-01 Qualcomm Incorporated N-phase signal transition alignment
CN105993151B (zh) * 2014-02-02 2019-06-21 康杜实验室公司 低isi比低功率芯片间通信方法和装置
US20150220472A1 (en) 2014-02-05 2015-08-06 Qualcomm Incorporated Increasing throughput on multi-wire and multi-lane interfaces
KR101615813B1 (ko) * 2014-05-30 2016-05-13 엘지디스플레이 주식회사 시분할 구동방식의 터치 센싱 장치
US9112550B1 (en) * 2014-06-25 2015-08-18 Kandou Labs, SA Multilevel driver for high speed chip-to-chip communications
US9621332B2 (en) 2015-04-13 2017-04-11 Qualcomm Incorporated Clock and data recovery for pulse based multi-wire link
US10313068B1 (en) * 2018-04-24 2019-06-04 Qualcomm Incorporated Signal monitoring and measurement for a multi-wire, multi-phase interface

Also Published As

Publication number Publication date
CN111371542A (zh) 2020-07-03
JP6808641B2 (ja) 2021-01-06
US20170201370A1 (en) 2017-07-13
CN107534548B (zh) 2020-07-31
WO2016167973A1 (en) 2016-10-20
US20160301519A1 (en) 2016-10-13
US10484164B2 (en) 2019-11-19
CN111371542B (zh) 2022-11-18
US20190149314A1 (en) 2019-05-16
US9621332B2 (en) 2017-04-11
CN107534548A (zh) 2018-01-02
JP2018516490A (ja) 2018-06-21
EP3284229B1 (en) 2021-06-30
US10218492B2 (en) 2019-02-26
EP3284229A1 (en) 2018-02-21

Similar Documents

Publication Publication Date Title
US10484164B2 (en) Clock and data recovery for pulse based multi-wire link
KR101874765B1 (ko) 데이터 심볼 트랜지션 기반 클록킹에 의한 멀티-와이어 싱글 엔드 푸시-풀 링크
EP3053315B1 (en) Method to enhance mipi d-phy link rate with minimal phy changes and no protocol changes
US20150220472A1 (en) Increasing throughput on multi-wire and multi-lane interfaces
KR101661089B1 (ko) N 계승 듀얼 데이터 레이트 클록 및 데이터 복구
JP6517243B2 (ja) リンクレイヤ/物理レイヤ(phy)シリアルインターフェース
WO2018017232A1 (en) Signaling camera configuration changes using metadata defined for a camera command set
KR20180048950A (ko) 다상 클록 데이터 복원 회로 캘리브레이션
KR20180074682A (ko) N-위상 고속 버스 턴어라운드
WO2015127282A1 (en) Coexistence of legacy and next generation devices over a shared multi-mode bus
KR101688377B1 (ko) 다중 와이어 데이터 신호들에 대한 클록 복원 회로
US20160124896A1 (en) Simultaneous edge toggling immunity circuit for multi-mode bus
US9490964B2 (en) Symbol transition clocking clock and data recovery to suppress excess clock caused by symbol glitch during stable symbol period
KR102520096B1 (ko) 인코딩된 멀티-레인 n-팩토리얼 및 다른 멀티-와이어 통신 시스템들
KR20160100363A (ko) 오직 수신기 클록에 의한 CCIe 수신기 로직 레지스터 기입