KR20220083842A - 차세대 c-phy 인터페이스들을 위한 개방-루프, 초고속, 하프-레이트 클록 및 데이터 복구 - Google Patents

차세대 c-phy 인터페이스들을 위한 개방-루프, 초고속, 하프-레이트 클록 및 데이터 복구 Download PDF

Info

Publication number
KR20220083842A
KR20220083842A KR1020227018549A KR20227018549A KR20220083842A KR 20220083842 A KR20220083842 A KR 20220083842A KR 1020227018549 A KR1020227018549 A KR 1020227018549A KR 20227018549 A KR20227018549 A KR 20227018549A KR 20220083842 A KR20220083842 A KR 20220083842A
Authority
KR
South Korea
Prior art keywords
signal
pulse
transition
symbol
difference
Prior art date
Application number
KR1020227018549A
Other languages
English (en)
Other versions
KR102420905B1 (ko
Inventor
잉 두안
아바이 디시트
시-웨이 처우
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20220083842A publication Critical patent/KR20220083842A/ko
Application granted granted Critical
Publication of KR102420905B1 publication Critical patent/KR102420905B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4278Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
    • 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

Landscapes

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

Abstract

멀티-와이어, 멀티-위상 인터페이스를 통한 통신을 위한 방법들, 장치 및 시스템들이 개시된다. 클록 복구 장치는 복수의 펄스 생성 회로, 로직 회로 및 지연 플립플롭을 갖는다. 각각의 펄스 생성 회로는 3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 3개의 차이 신호 중 하나에서의 트랜지션들에 응답하여 트랜지션 펄스들을 생성한다. 차이 신호에서의 트랜지션들은 순차적으로-송신된 심볼들 사이의 경계들에서 발생할 수 있다. 제 1 로직 회로는 하나 이상의 트랜지션 펄스를 조합함으로써 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공할 수도 있다. 지연 플립플롭은 클록 복구 장치에 의해 출력되는 클록 신호의 시그널링 상태를 변경함으로써 조합 신호에서의 각 펄스에 응답하도록 구성된다. 심볼들은 C-PHY 프로토콜에 따라 3-와이어 버스를 통해 순차적으로 송신될 수도 있다.

Description

차세대 C-PHY 인터페이스들을 위한 개방-루프, 초고속, 하프-레이트 클록 및 데이터 복구
우선권 주장
본 특허출원은 "OPEN-LOOP, SUPER FAST, HALF-RATE CLOCK AND DATA RECOVERY FOR NEXT GENERATION C-PHY INTERFACES" 라는 명칭으로 2019년 12월 11일 출원되고, 본 명세서의 양수인에게 양도되며 이로써 본 명세서에 참조로 명백히 통합되는, 출원 제 16/711,230 호에 대한 우선권을 주장한다.
기술분야
본 개시는 일반적으로 고속 데이터 통신 인터페이스들에 관한 것으로, 특히 멀티-와이어, 멀티-위상 데이터 통신 링크에 커플링된 수신기에서 클록 생성에 관한 것이다.
셀룰러 폰들과 같은 모바일 디바이스들의 제조자들은 상이한 제조자들을 포함한, 다양한 소스들로부터 모바일 디바이스들의 컴포넌트들을 획득할 수도 있다. 예를 들어, 셀룰러 폰에서의 애플리케이션 프로세서는 제 1 제조자로부터 획득될 수도 있는 한편, 이미징 디바이스 또는 카메라는 제 2 제조자로부터 획득될 수도 있고, 디스플레이는 제 3 제조자로부터 획득될 수도 있다. 애플리케이션 프로세서, 이미징 디바이스, 디스플레이 제어기, 또는 다른 타입들의 디바이스는 표준-기반 또는 독점적 물리 인터페이스를 사용하여 상호접속될 수도 있다. 일 예에서, 이미징 디바이스는 모바일 산업 프로세서 인터페이스 (Mobile Industry Processor Interface)(MIPI) 얼라이언스에 의해 정의된 카메라 시리얼 인터페이스 (Camera Serial Interface)(CSI) 를 사용하여 접속될 수도 있다. 다른 예에서, 디스플레이는 모바일 산업 인터페이스 (MIPI) 얼라이언스에 의해 특정된 디스플레이 시리얼 인터페이스 (Display System Interface)(DSI) 표준에 부합하는 인터페이스를 포함할 수도 있다.
C-PHY 인터페이스는 디바이스들 사이에서 정보를 송신하기 위해 전도체들의 트리오를 사용하는 MIPI 얼라이언스에 의해 정의된 멀티위상 3-와이어 인터페이스이다. 트리오의 각 와이어는 심볼의 송신 동안 3개의 시그널링 상태 중 하나에 있을 수도 있다. 클록 정보는 송신된 심볼들의 시퀀스에서 인코딩되고, 수신기는 연속적인 심볼들 사이의 트랜지션들로부터 클록 신호를 생성한다. 클록 정보를 복구하기 위한 클록 및 데이터 복구 (clock and data recovery)(CDR) 회로의 능력은 통신 링크의 상이한 와이어들 상에서 송신된 신호들의 트랜지션들에 관련된 최대 시간 변동에 의해 제한될 수도 있다. C-PHY 수신기의 CDR 회로는 수신 클록 신호에서 펄스들을 생성하는 회로들을 제어하기 위해 피드백 루프를 채용할 수 있다. 피드백 루프는 펄스 생성 회로들이 트리오의 전도체들이 샘플링 에지를 제공하기 전에 안정한 시그널링 상태를 상정하기 전에 발생할 수 있는 트랜지션들에 의해 트리거된 부가 펄스들을 생성하지 않음을 보장하는데 사용될 수도 있다. 최대 심볼 송신 레이트는 피드백 루프에 의해 제한될 수도 있고, 훨씬 더 높은 시그널링 주파수들에서 신뢰성있게 기능할 수 있는 최적화된 클록 생성 회로들에 대한 계속 진행 중인 요구가 있다.
본 명세서에 개시된 실시형태들은 멀티-와이어 및/또는 멀티위상 통신 링크 상에서 개선된 통신을 가능하게 하는 시스템들, 방법들 및 장치를 제공한다. 통신 링크는 다중 집적 회로 (IC) 디바이스들을 갖는 모바일 단말기와 같은 장치에 배치될 수도 있다.
본 개시의 다양한 양태들에서, 클록 복구 장치는 복수의 펄스 생성 회로, 제 1 로직 회로, 제 2 로직 회로 및 지연 플립플롭을 갖는다. 각각의 펄스 생성 회로는 3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 3개의 차이 신호 중 하나에서의 트랜지션에 응답하여 트랜지션 펄스를 생성하도록 구성될 수도 있다. 하나 이상의 차이 신호에서의 트랜지션들은 3-와이어 버스를 통해 순차적으로 송신되는 심볼들 사이의 경계들에서 발생할 수 있다. 제 1 로직 회로는 복수의 펄스 생성 회로로부터 수신된 하나 이상의 트랜지션 펄스를 조합함으로써 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공하도록 구성될 수도 있다. 지연 플립플롭은 클록 복구 장치에 의해 출력되는 클록 신호의 시그널링 상태를 변경함으로써 조합 신호에서의 각 펄스에 응답하도록 구성될 수도 있다. 심볼들은 C-PHY 프로토콜에 따라 3-와이어 버스를 통해 순차적으로 송신될 수도 있다.
소정의 양태들에서, 각각의 펄스 생성 회로는 3개의 차이 신호 중 하나를 지연시켜 지연된 차이 신호를 제공하도록 구성된 지연 회로, 및 3개의 차이 신호 중 하나 및 지연된 차이 신호에 대해 배타적 논리합 (OR) 기능을 수행하여 트랜지션 펄스를 제공하도록 구성된 제 2 로직 회로를 포함한다. 지연 회로는 3개의 차이 신호 중 2개 사이의 스큐 지속기간을 초과하는 지연을 제공하도록 구성될 수도 있다. 지연 회로는 제조 프로세스, 회로 공급 전압, 및 다이 온도 조건들에서의 변동들을 수용하는 지연을 제공하도록 구성가능할 수도 있다. 트랜지션 펄스는 구성가능한 지속기간을 가질 수도 있다. 지연 플립플롭은 입력으로서 클록 신호의 역을 수신할 수도 있다. 클록 신호에서의 상승 에지는 3-와이어 버스로부터 제 1 심볼을 캡처하는데 사용될 수도 있고, 클록 신호의 역에서의 상승 에지는 3-와이어 버스로부터 제 2 심볼을 캡처하는데 사용된다. 클록 신호에서의 하강 에지는 3-와이어 버스로부터 제 1 심볼을 캡처하는데 사용될 수도 있고, 클록 신호의 역에서의 하강 에지는 3-와이어 버스로부터 제 2 심볼을 캡처하는데 사용된다. 클록 신호에서의 상승 에지는 3-와이어 버스로부터 제 1 심볼을 캡처하는데 사용될 수도 있고, 클록 신호에서의 하강 에지는 3-와이어 버스로부터 제 2 심볼을 캡처하는데 사용된다.
본 개시의 다양한 양태들에서, 클록 복구 방법은 3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 3개의 차이 신호 중 하나에서의 트랜지션에 응답하여 트랜지션 펄스를 생성하는 단계, 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 생성된 하나 이상의 트랜지션 펄스를 조합함으로써 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공하는 단계, 및 조합 신호에서의 각 펄스에 응답하여 클록 신호의 시그널링 상태가 변경되도록 조합 신호로 지연 플립플롭을 클록하는 단계를 포함한다. 하나 이상의 차이 신호에서의 트랜지션들은 3-와이어 버스를 통해 순차적으로 송신되는 심볼들 사이의 경계들에서 발생할 수 있다.
본 개시의 다양한 양태들에서, 프로세서 판독가능 저장 매체는 하나 이상의 명령을 가지며, 하나 이상의 명령은 수신기에서의 프로세싱 회로의 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금, 3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 3개의 차이 신호 중 하나에서의 트랜지션에 응답하여 트랜지션 펄스를 생성하게 하고, 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 생성된 하나 이상의 트랜지션 펄스를 조합함으로써 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공하게 하며, 그리고 조합 신호에서의 각 펄스에 응답하여 클록 신호의 시그널링 상태가 변경되도록 조합 신호로 지연 플립플롭을 클록하게 한다. 하나 이상의 차이 신호에서의 트랜지션들은 3-와이어 버스를 통해 순차적으로 송신되는 심볼들 사이의 경계들에서 발생할 수 있다.
본 개시의 다양한 양태들에서, 클록 복구 장치는 3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 3개의 차이 신호 중 하나에서의 트랜지션에 응답하여 트랜지션 펄스를 생성하는 수단, 트랜지션 펄스를 생성하는 수단으로부터 수신된 하나 이상의 트랜지션 펄스를 조합함으로써 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공하는 수단, 및 클록 복구 장치에 의해 출력되는 클록 신호를 제공하는 수단을 포함한다. 클록 신호를 제공하는 수단은 클록 신호의 시그널링 상태를 변경함으로써 조합 신호에서의 각 펄스에 응답하도록 구성된 지연 플립플롭을 포함할 수도 있다. 하나 이상의 차이 신호에서의 트랜지션들은 3-와이어 버스를 통해 순차적으로 송신되는 심볼들 사이의 경계들에서 발생할 수 있다.
도 1 은 C-PHY 프로토콜을 포함할 수도 있는, 복수의 이용가능한 표준 또는 프로토콜 중 하나에 따라 선택적으로 동작되는 IC 디바이스들 사이에 데이터 링크를 채용하는 장치를 도시한다.
도 2 는 복수의 이용가능한 표준 중 하나에 따라 선택적으로 동작하는 IC 디바이스들 사이에 데이터 링크를 채용하는 장치에 대한 시스템 아키텍처를 도시한다.
도 3 은 C-PHY 3상 송신기를 도시한다.
도 4 는 C-PHY 3상 인코딩된 인터페이스에서 시그널링을 도시한다.
도 5 는 C-PHY 3상 수신기를 도시한다.
도 6 은 C-PHY 3상 인코딩된 인터페이스에서 잠재적 상태 트랜지션들을 도시하는 상태 다이어그램이다.
도 7 은 C-PHY 디코더에서 트랜지션 검출에 대한 신호 상승 시간들의 효과들의 예이다.
도 8 은 C-PHY 디코더에서 트랜지션 검출을 도시한다.
도 9 는 C-PHY 인터페이스 상에서 송신된 연속적인 심볼들의 쌍들 사이에서 발생하는 신호 트랜지션들의 일 예를 도시한다.
도 10 은 아이-패턴에서 아이 영역들 및 트랜지션 영역들을 도시한다.
도 11 은 C-PHY 3상 인터페이스에 대해 생성된 아이-패턴의 예를 도시한다.
도 12 는 C-PHY 3상 인터페이스에 대한 CDR 회로의 예를 도시한다.
도 13 은 도 12 의 CDR 회로와 연관된 타이밍을 도시한다.
도 14 는 C-PHY 3상 신호 상에서 송신된 신호들 사이의 스큐보다 더 짧은 루프 시간을 갖는 CDR 회로와 연관된 타이밍을 도시한다.
도 15 는 C-PHY 3상 신호의 심볼 간격보다 더 긴 루프 시간을 갖는 CDR 회로와 연관된 타이밍을 도시한다.
도 16 은 본 개시의 소정의 양태들에 따라 제공된 CDR 회로를 도시한다.
도 17 은 도 16 에 도시된 CDR 회로와 연관된 타이밍을 도시한다.
도 18 은 본 명세서에 개시된 소정의 양태들에 따라 사용될 수도 있는 상승 에지 지연 회로의 예를 도시한다.
도 19 는 도 18 에 도시된 상승 에지 지연 회로와 연관된 타이밍을 도시한다.
도 20 은 본 명세서에서 개시된 소정의 양태들에 따라 적응될 수도 있는 프로세싱 회로를 채용하는 장치의 예를 예시하는 블록 다이어그램이다.
도 21 은 본 명세서에 개시된 소정의 양태들에 따른 교정의 제 1 방법에 대한 플로우차트이다.
도 22 는 본 명세서에 개시된 소정의 양태들에 따라 적응된 프로세싱 회로를 채용하여 프로세싱을 채용하는 장치에 대한 하드웨어 구현의 제 1 예를 도시하는 다이어그램이다.
첨부된 도면들과 관련하여 하기에 기술되는 상세한 설명은 다양한 구성들의 설명으로서 의도된 것이며 본 명세서에 설명된 개념들이 실시될 수도 있는 구성들만을 나타내도록 의도된 것은 아니다. 상세한 설명은 다양한 개념들의 철저한 이해를 제공하기 위해 특정 상세들을 포함한다. 그러나, 이 개념들은 이 특정 상세들 없이 실시될 수도 있음이 당업자들에게 명백할 것이다. 일부 경우들에서, 잘 알려진 구조들 및 컴포넌트들은 그러한 개념들을 불명료하게 하는 것을 회피하기 위해 블록 다이어그램 형태로 나타낸다.
본 출원에서 사용된 바와 같이, 용어들 "컴포넌트", "모듈", "시스템" 등은 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어와 같은, 그러나 이에 제한되지 않는 컴퓨터 관련 엔티티를 포함하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행되는 프로세스, 프로세서, 오브젝트, 실행가능물, 실행의 스레드, 프로그램 및/또는 컴퓨터일 수도 있지만, 이에 제한되지 않는다. 예시로서, 컴퓨팅 디바이스 상에서 실행되는 애플리케이션 및 컴퓨팅 디바이스 양자 모두는 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행 스레드 내에 상주할 수 있고 컴포넌트는 하나의 컴퓨터 상에 국부화되고 및/또는 2 이상의 컴퓨터들 사이에서 분산될 수도 있다. 또한, 이들 컴포넌트들은 다양한 데이터 구조들이 저장된 다양한 컴퓨터 판독가능 매체들로부터 실행될 수도 있다. 컴포넌트들은 예컨대 분산 시스템, 로컬 시스템의 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터와 같은, 하나 이상의 데이터 패킷을 갖는 신호에 따라 로컬 및/또는 원격 프로세스들을 통해 및/또는 신호에 의해 다른 시스템들과 인터넷과 같은 네트워크에 걸쳐 통신할 수도 있다.
더욱이, 용어 "또는" 은 배타적인 "또는" 보다는 포괄적인 "또는" 을 의미하도록 의도된다. 즉, 달리 명시되거나, 또는 문맥으로부터 분명하지 않으면, 구절 "X 는 A 또는 B 를 채용한다" 는 자연 포괄적 치환들 중 임의의 것을 의미하도록 의도된다. 즉, 구절 "X 는 A 또는 B 를 채용한다" 는 다음의 경우들 중 임의의 것에 의해 만족된다: X 는 A 를 채용한다; X 는 B 를 채용한다; 또는 X 는 A 및 B 양자 모두를 채용한다. 또한, 본 출원 및 첨부된 청구항들에서 사용된 바와 같은 관사들 ("a" 및 "an") 은, 달리 명시되거나 문맥으로부터 단수 형태로 지향되는 것이 분명하지 않으면 일반적으로 "하나 이상" 을 의미하도록 해석되어야 한다.
개관
본 발명의 소정의 양태들은 전화, 모바일 컴퓨팅 디바이스, 어플라이언스, 자동 전자공학, 항공전자 시스템 등과 같은 모바일 장치의 서브 컴포넌트들인 전자 디바이스들을 연결하기 위해 전개될 수 있는 MIPI 얼라이언스에 의해 특정된 C-PHY 인터페이스에 적용가능할 수도 있다. 모바일 장치의 예들은 모바일 컴퓨팅 디바이스, 셀룰러 폰, 스마트폰, 세션 개시 프로토콜 (SIP) 폰, 랩톱, 노트북, 넷북, 스마트북, 개인용 디지털 보조기 (PDA), 위성 라디오, 글로벌 포지셔닝 시스템 (GPS) 디바이스, 스마트 홈 디바이스, 인텔리전트 라이팅, 멀티미디어 디바이스, 비디오 디바이스, 디지털 오디오 플레이어 (예를 들어, MP3 플레이어), 카메라, 게임 콘솔, 엔터테인먼트 디바이스, 차량 컴포넌트, 항공전자 시스템, 웨어러블 컴퓨팅 디바이스 (예를 들어, 스마트 워치, 헬스 또는 피트니스 트랙커, 아이웨어 등), 어플라이언스, 센서, 보안 디바이스, 벤딩 머신, 스마트 미터, 드론, 멀티코퍼, 또는 임의의 다른 유사하게 기능하는 디바이스를 포함한다.
C-PHY 인터페이스는 대역폭-제한된 채널들을 통해 높은 스루풋을 제공할 수 있는 고속 시리얼 인터페이스이다. C-PHY 인터페이스는 디스플레이들 및 카메라들을 포함하는 주변기기들에 애플리케이션 프로세서들을 연결하도록 배치될 수도 있다. C-PHY 인터페이스는 트리오 또는 와이어들의 트리오로서 지칭될 수도 있는 3개의 와이어의 세트를 통해 송신되는 심볼들로 데이터를 인코딩한다. 각각의 심볼 송신 간격에 대해, 3상 신호는 트리오의 와이어들 상의 상이한 위상들에서 송신되며, 여기서 각각의 와이어 상의 3상 신호의 위상은 심볼 송신 간격에서 송신된 심볼에 의해 정의된다. 각각의 트리오는 통신 링크 상에 레인을 제공한다. 심볼 송신 간격은 단일 심볼이 트리오의 시그널링 상태를 제어하는 시간 간격으로서 정의될 수도 있다. 각각의 심볼 송신 간격에서, 트리오의 하나의 와이어는 구동되지 않는 한편, 나머지 2개의 와이어는 차동 구동되어 2개의 차동 구동된 와이어 중 하나는 제 1 전압 레벨을 상정하고 다른 차동 구동된 와이어는 제 1 전압 레벨과 상이한 제 2 전압 레벨을 상정한다. 비구동 와이어는 제 1 전압 레벨과 제 2 전압 레벨 사이의 중간 레벨 전압에 또는 그 근방에 있는 제 3 전압 레벨을 상정하도록 플로팅, 구동 및/또는 종료될 수도 있다. 일 예에서, 구동 전압 레벨은 +V 및 -V 일 수도 있고 비구동 전압은 0 V 이다. 다른 예에서, 구동 전압 레벨은 +V 및 0 V 일 수도 있고 비구동 전압은 + ½V 이다. 연속적으로 송신된 심볼들의 쌍 각각에 서로 다른 심볼들이 송신되며, 와이어들의 상이한 쌍들은 상이한 심볼 간격들로 차동 구동될 수도 있다.
본 명세서에 개시된 소정의 양태들은 차세대 C-PHY 클록 레이트들에서 심볼 캡처 및 디코딩을 가능하게 하기 위해 개방-루프 하프-레이트 클록 복구 회로를 사용하여 C-PHY 수신기 회로에 클록 복구 회로를 제공한다. 일 예에서, 클록 복구 방법은 3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 3개의 차이 신호 중 하나에서의 트랜지션에 응답하여 트랜지션 펄스를 생성하는 단계, 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 생성된 하나 이상의 트랜지션 펄스를 조합함으로써 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공하는 단계, 및 조합 신호에서의 각 펄스에 응답하여 클록 신호의 시그널링 상태가 변경되도록 조합 신호로 지연 플립플롭을 클록하는 단계를 포함한다. 하나 이상의 차이 신호에서의 트랜지션들은 상기 3-와이어 버스를 통해 순차적으로 송신되는 심볼들 사이의 경계들에서 발생할 수 있다.
C-PHY 인터페이스를 채용하는 장치의 예
도 1 은 본 명세서에 개시된 소정의 양태들에 따라 적응될 수도 있는 장치 (100) 의 예를 도시한다. 장치 (100) 는 하나 이상의 통신 링크를 구현하기 위해 C-PHY 3상 프로토콜을 채용할 수도 있다. 장치 (100) 는 하나 이상의 ASIC 에서 또는 Soc 에서 구현될 수도 있는 다중 회로들 또는 디바이스들 (104, 106 및/또는 108) 을 갖는 SoC 프로세싱 회로 (102) 를 포함할 수도 있다. 일 예에서, 장치 (100) 는 통신 디바이스일 수도 있고 프로세싱 회로 (102) 는 ASCI (104) 에 제공된 프로세서 (112), 하나 이상의 주변 디바이스 (106), 및 장치가 안테나 (124) 를 통해 무선 액세스 네트워크, 코어 액세스 네트워크, 인터넷 및/또는 다른 네트워크와 통신하는 것을 가능하게 하는 트랜시버 (108) 를 포함할 수도 있다.
ASIC (104) 은 하나 이상의 프로세서 (112), 하나 이상의 모뎀 (110), 온-보드 메모리 (114), 버스 인터페이스 회로 (116) 및/또는 다른 로직 회로들 또는 기능들을 가질 수도 있다. 프로세싱 회로 (102) 는 하나 이상의 프로세서 (112) 가 프로세싱 회로 (102) 상에 제공된 프로세서 판독가능 스토리지 (122) 또는 온-보드 메모리 (114) 에 상주하는 소프트웨어 모듈을 실행하는 것을 가능하게 하는 애플리케이션 프로그램 인터페이스 (application programming interface)(API) 를 제공할 수도 있는 오퍼레이팅 시스템에 의해 제어될 수도 있다. 소프트웨어 모듈들은 온-보드 메모리 (114) 또는 다른 프로세서 판독가능 스토리지 (122) 에 저장된 명령들 및 데이터를 포함할 수도 있다. ASIC (104) 은 그의 온-보드 메모리 (114), 프로세서 판독가능 스토리지 (122), 및/또는 프로세싱 회로 (102) 외부의 스토리지에 액세스할 수도 있다. 온-보드 메모리 (114), 프로세서 판독가능 스토리지 (122) 는 판독 전용 메모리 (ROM), 랜덤 액세스 메모리 (RAM), 전기적 소거가능 프로그램가능 ROM (EEPROM), 플래시 카드들, 또는 프로세싱 시스템들 및 컴퓨팅 플랫폼들에서 사용될 수 있는 임의의 메모리 디바이스를 포함할 수도 있다. 프로세싱 회로 (102) 는 장치 (100) 및/또는 프로세싱 회로 (102) 를 구성 및 동작시키는데 사용된 동작 파라미터들 및 다른 정보를 유지할 수 있는 로컬 데이터베이스 또는 다른 파라미터 스토리지를 포함하거나, 구현하거나, 또는 이에 액세스할 수도 있다. 로컬 데이터베이스는 레지스터들, 데이터베이스 모듈, 플래시 메모리, 자기 매체들, EEPROM, 소프트 또는 하드 디스크 등을 사용하여 구현될 수도 있다. 프로세싱 회로 (102) 는 또한 다른 컴포넌트들 중에서 안테나 (124), 디스플레이 (126), 오퍼레이터 컨트롤들, 예컨대 스위치들 또는 버튼들 (128, 130) 및/또는 통합되거나 외부의 키패드 (132) 와 같은 외부 디바이스들에 동작가능하게 커플링될 수도 있다. 사용자 인터페이스 모듈은 전용 통신 링크를 통해 또는 하나 이상의 시리얼 데이터 상호 접속들을 통해 디스플레이 (126), 외부 키패드 (132) 으로 동작하도록 구성될 수도 있다.
프로세싱 회로 (102) 는 소정의 디바이스들 (104, 106, 및/또는 108) 이 통신하는 것을 가능하게 하는 하나 이상의 버스 (118a, 118b, 120) 를 제공할 수도 있다. 일 예에서, ASIC (104) 은 회로들, 카운터들, 타이머들, 제어 로직 및 다른 구성가능한 회로들 또는 모듈들의 조합을 포함하는 버스 인터페이스 회로 (116) 를 포함할 수도 있다. 일 예에서, 버스 인터페이스 회로 (116) 는 통신 사양들 또는 프로토콜들에 따라 동작하도록 구성될 수도 있다. 프로세싱 회로 (102) 는 장치 (100) 의 동작을 구성 및 관리하는 전력 관리 기능을 포함하거나 또는 제어할 수도 있다.
도 2 는 통신 링크 (220) 를 통해 데이터 및 제어 정보를 교환할 수 있는 복수의 IC 디바이스 (202 및 230) 를 포함하는 장치 (200) 의 소정 양태들을 도시한다. 통신 링크 (220) 는 서로 매우 근접하게 위치되거나, 또는 장치 (200) 의 상이한 부분들에 물리적으로 위치되는 IC 디바이스들 (202 및 230) 의 쌍을 연결하는데 사용될 수도 있다. 일 예에서, 통신 링크 (220) 는 IC 디바이스들 (202 및 230) 을 반송하는 칩 캐리어, 기판 또는 회로 보드 상에 제공될 수도 있다. 다른 예에서, 제 1 IC 디바이스 (202) 는 플립-폰의 키패드 섹션에 위치될 수도 있는 한편, 제 2 IC 디바이스 (230) 는 플립-폰의 디스플레이 섹션에 위치될 수도 있다. 다른 예에서, 통신 링크 (220) 의 일부는 케이블 또는 광학 커넥션을 포함할 수도 있다.
통신 링크 (220) 는 다중 채널들 (222, 224 및 226) 을 포함할 수도 있다. 하나 이상의 채널 (226) 은 양방향성일 수도 있고, 하프-듀플렉스 및/또는 풀-듀플렉스 모드들에서 동작할 수도 있다. 하나 이상의 채널 (222 및 224) 은 단방향성일 수도 있다. 통신 링크 (220) 는 비대칭일 수도 있어서, 일 방향에서 더 높은 대역폭을 제공할 수도 있다. 본 명세서에 설명된 일 예에서, 제 1 채널 (222) 은 순방향 채널 (222) 로 지칭될 수도 있는 한편, 제 2 채널 (224) 은 역방향 채널 (224) 로 지칭될 수도 있다. IC 디바이스들 (202 및 230) 양자 모두가 채널 (222) 상에서 송신 및 수신하도록 구성되더라도, 제 1 IC 디바이스 (202) 는 호스트 시스템 또는 송신기로서 지정될 수도 있는 한편, 제 2 IC 디바이스 (230) 는 클라이언트 시스템 또는 수신기로서 지정될 수도 있다. 일 예에서, 순방향 채널 (222) 은 제 1 IC 디바이스 (202) 로부터 제 2 IC 디바이스 (230) 로 데이터를 통신할 때 더 높은 데이터 레이트에서 동작할 수도 있는 한편, 역방향 채널 (224) 은 제 2 IC 디바이스 (230) 로부터 제 1 IC 디바이스 (202) 로 데이터를 통신할 때 더 낮은 데이터 레이트에서 동작할 수도 있다.
IC 디바이스들 (202 및 230) 은 각각 프로세서 (206, 236), 제어기 또는 다른 프로세싱 및/또는 컴퓨팅 회로 또는 디바이스를 포함할 수도 있다. 일 예에서, 제 1 IC 디바이스 (202) 는 무선 트랜시버 (204) 와 안테나 (214) 를 통한 무선 통신들을 확립하고 유지하는 것을 포함하는 장치 (200) 의 핵심 기능들을 수행할 수도 있는 한편, 제 2 IC 디바이스 (230) 는 디스플레이 제어기 (232) 를 관리하거나 동작하는 사용자 인터페이스를 지원할 수도 있으며, 카메라 제어기 (234) 를 사용하여 카메라 또는 비디오 입력 디바이스의 동작들을 제어할 수도 있다. IC 디바이스들 (202 및 230) 중 하나 이상에 의해 지원된 다른 피처들은 키보드, 음성 인식 컴포넌트, 및 다른 입력 또는 출력 디바이스들을 포함할 수도 있다. 디스플레이 제어기 (232) 는, 액정 디스플레이 (LCD) 패널, 터치-스크린 디스플레이, 표시기들 등과 같은 디스플레이들을 지원하는 회로들 및 소프트웨어 드라이버들을 포함할 수도 있다. 저장 매체들 (208 및 238) 은 개개의 프로세서들 (206 및 236), 및/또는 IC 디바이스들 (202 및 230) 의 다른 컴포넌트들에 의해 이용된 명령들 및 데이터를 유지하도록 적응된 일시적 및/또는 비일시적 저장 디바이스들을 포함할 수도 있다. 각각의 프로세서 (206, 236) 와 그의 대응 저장 매체들 (208 및 238) 및 다른 모듈들 및 회로들 사이의 통신은 하나 이상의 내부 버스 (212 및 242) 및/또는 통신 링크 (220) 의 채널 (222, 224 및/또는 226) 에 의해 용이해질 수도 있다.
역방향 채널 (224) 은 순방향 채널 (222) 과 동일한 방식으로 동작될 수도 있으며, 순방향 채널 (222) 과 역방향 채널 (224) 은 비교할만한 속도들 또는 상이한 속도들로 송신할 수도 있으며, 여기서 속도는 데이터 전송 레이트, 심볼 송신 레이트 및/또는 클록킹 레이트들로 표현될 수도 있다. 순방향 및 역방향 데이터 레이트들은 애플리케이션에 의존하여, 크기 순서들에 의해 실질적으로 동일하거나 상이할 수도 있다. 일부 애플리케이션들에서, 단일 양방향 채널 (226) 은 제 1 IC 디바이스 (202) 와 제 2 IC 디바이스 (230) 사이의 통신들을 지원할 수도 있다. 순방향 채널 (222) 및/또는 역방향 채널 (224) 은 예를 들어, 순방향 및 역방향 채널들 (222 및 224) 이 동일한 물리 접속들을 공유하고 하프-듀플렉스 방식으로 동작할 때, 양방향 모드로 동작하도록 구성가능할 수도 있다. 일 예에서, 통신 링크 (220) 는 산업 또는 다른 표준에 따라 제 1 IC 디바이스 (202) 와 제 2 IC 디바이스 (230) 사이에서 제어, 커맨드 및 다른 정보를 통신하도록 동작될 수도 있다.
도 2 의 통신 링크 (220) 는 C-PHY 를 위한 MIPI 얼라이언스 사양들에 따라 구현될 수도 있고 (M개의 와이어로 표기된) 복수의 신호 와이어를 포함하는 와이어링된 버스를 제공할 수도 있다. M개의 와이어는 모바일 디스플레이 디지털 인터페이스 (MDDI) 와 같은, 고속 디지털 인터페이스에서 N상 인코딩된 데이터를 반송하도록 구성될 수도 있다. M개의 와이어는 채널들 (222, 224 및 226) 중 하나 이상에서 N상 극성 인코딩을 용이하게 실시할 수도 있다. 물리 계층 드라이버들 (210 및 240) 은 통신 링크 (220) 를 통한 송신을 위하여 N상 (N-phase) 극성 인코딩된 데이터를 생성하도록 구성 또는 적응될 수도 있다. N상 극성 인코딩의 이용은 고속 데이터 전송을 제공하고, 다른 인터페이스들의 전력의 절반 이하를 소비할 수도 있는데, 이는 더 적은 드라이버들이 N상 극성 인코딩된 데이터 링크들에서 활성이기 때문이다.
물리 계층 드라이버들 (210 및 240) 은 통상적으로 N상 극성 인코딩을 위해 구성될 때 통신 링크 (220) 상의 트랜지션 당 다중 비트들을 인코딩할 수 있다. 일 예에서, 3상 인코딩 및 극성 인코딩의 조합은 프레임 버퍼 없이 제 2 LCD 드라이버 IC 당 WVGA (wide video graphics array) 80개 프레임을 지원하는데 사용될 수도 있어서, 디스플레이 리프레시를 위해 810 Mbps 에서 픽셀 데이터를 전달한다.
도 3 은 도 2 에 도시된 통신 링크 (220) 의 소정의 양태들을 구현하는데 사용될 수도 있는 3-와이어, 3상 극성 인코더를 도시하는 다이어그램 (300) 이다. 3-와이어, 3상 인코딩의 예는 본 발명의 소정의 양태들의 설명들을 단순화할 목적으로만 선택된다. 3-와이어, 3상 인코더들에 대해 개시된 원리들 및 기법들은 M-와이어, N상 극성 인코더들의 다른 구성들에 적용될 수 있다.
3-와이어, 3상 극성 인코딩 방식에서 3개의 와이어 각각에 대해 정의된 시그널링 상태들은 비구동 상태, 양으로 구동된 상태 및 음으로 구동된 상태를 포함할 수도 있다. 양으로 구동된 상태 및 음으로 구동된 상태는 신호 와이어들 (318a, 318b 및/또는 318c) 중 2개의 신호 와이어 사이의 전압 차동을 제공함으로써, 및/또는 직렬 연결된 신호 와이어들 (318a, 318b 및/또는 318c) 중 2개의 신호 와이어를 통해 전류를 구동하여 전류가 2개의 신호 와이어 (318a, 318b 및/또는 318c) 에서 상이한 방향들로 흐르도록 함으로써 획득될 수도 있다. 비구동 상태는 신호 와이어 (318a, 318b 또는 318c) 의 드라이버의 출력을 하이-임피던스 모드로 배치함으로써 실현될 수도 있다. 대안으로 또는 부가적으로, 비구동 상태는 "비구동" 신호 와이어 (318a, 318b 또는 318c) 로 하여금 구동된 신호 와이어들 (318a, 318b 및/또는 318c) 상에 제공된 포지티브 및 네거티브 전압 레벨들 사이의 실질적으로 중간에 놓인 전압 레벨을 수동적으로 또는 능동적으로 획득하게 함으로써 신호 와이어 (318a, 318b 또는 318c) 에 대해 획득될 수도 있다. 통상적으로, 비구동 신호 와이어 (318a, 318b 또는 318c) 를 통과하는 상당한 전류 흐름은 없다. 3-와이어, 3상 극성 인코딩 방식에 대해 정의된 신호 상태들은 3개의 전압 또는 전류 상태 (+1, -1 및 0) 를 이용하여 표기될 수도 있다.
3-와이어, 3상 극성 인코더는 라인 드라이버들 (308) 을 채용하여 신호 와이어들 (318a, 318b 및 318c) 의 시그널링 상태를 제어할 수도 있다. 라인 드라이버들 (308) 은 유닛-레벨 전류 모드 또는 전압 모드 드라이버들로서 구현될 수도 있다. 일부 구현들에서, 각각의 라인 드라이버 (308) 는 대응하는 신호 와이어들 (318a, 318b 및 318c) 의 출력 상태를 결정하는 신호들 (316a, 316b 및 316c) 의 세트들을 수신할 수도 있다. 일 예에서, 신호들 (316a, 316b 및 316c) 의 세트들의 각각은 하이 (high) 일 때, 각각 더 높은 레벨 또는 더 낮은 레벨 전압을 향해 신호 와이어들 (318a, 318b 및 318c) 을 구동하는 풀업 회로 및 풀다운 회로를 활성화하는 풀업 신호 (PU 신호) 및 풀다운 신호 (PD 신호) 를 포함하여, 2 이상의 신호들을 포함할 수도 있다. 이 예에서, PU 신호 및 PD 신호 양자 모두가 로우일 때, 신호 와이어들 (318a, 318b 및 318c) 은 중간 레벨 전압으로 종료될 수도 있다.
M-와이어, N상 극성 인코딩 방식에서의 각각의 송신된 심볼 간격에 대해, 적어도 하나의 신호 와이어 (318a, 318b 또는 318c) 는 중간 레벨/비구동 (0) 전압 또는 전류 상태에 있는 한편, 양으로 구동된 (+1 전압 또는 전류 상태) 신호 와이어들 (318a, 318b 또는 318c) 의 수는 음으로 구동된 (-1 전압 또는 전류 상태) 신호 와이어들 (318a, 318b 또는 318c) 의 수와 동일하여, 수신기로 흐르는 전류의 합이 항상 0 이도록 한다. 각각의 심볼에 대해, 적어도 하나의 신호 와이어 (318a, 318b 또는 318c) 의 시그널링 상태는 선행 송신 간격에서 송신된 와이어 상태로부터 변경된다.
동작에서, 맵퍼 (302) 는 16-비트 데이터 (310) 를 수신하여 7개 심볼 (312) 에 맵핑할 수도 있다. 3-와이어 예에서, 7개 심볼 각각은 하나의 심볼 간격에 대해 신호 와이어들 (318a, 318b, 및 318c) 의 상태들을 정의한다. 7개 심볼 (312) 은 각각의 신호 와이어 (318a, 318b 및 318c) 에 대한 심볼들 (314) 의 타이밍된 시퀀스를 제공하는 병렬 대 직렬 변환기들 (304) 을 사용하여 직렬화될 수도 있다. 심볼들 (314) 의 시퀀스는 통상적으로 송신 클록을 사용하여 타이밍된다. 3-와이어, 3상 인코더 (306) 는 맵퍼에 의해 생성된 7개 심볼 (314) 의 시퀀스를 한 번에 하나의 심볼을 수신하고, 각각의 심볼 간격 동안 각각의 신호 와이어 (318a, 318b 및 318c) 의 상태를 계산한다. 3-와이어, 3상 인코더 (306) 는 현재 입력 심볼 (314) 및 신호 와이어들 (318a, 318b 및 318c) 의 이전 상태들에 기초하여 신호 와이어들 (318a, 318b 및 318c) 의 상태들을 선택한다.
M-와이어, N상 인코딩의 이용은, 심볼당 비트들이 정수가 아닌 경우, 다수의 비트가 복수의 심볼로 인코딩되는 것을 허용한다. 3-와이어 통신 링크의 예에서, 동시에 구동될 수도 있는 2개의 와이어의 3개의 이용가능한 조합, 및 구동되는 와이어들의 쌍에 대한 극성의 2개의 가능한 조합이 있어서, 6개의 가능한 상태를 발생한다. 각각의 트랜지션이 현재 상태로부터 발생하기 때문에, 6개의 상태 중 5개가 매 트랜지션에서 이용가능하다. 적어도 하나의 와이어의 상태는 각각의 트랜지션에서 변화하도록 요구된다. 5개의 상태로,
Figure pct00001
비트가 심볼 마다 인코딩될 수도 있다. 따라서, 심볼 당 2.32 비트를 반송하는 7개의 심볼이 16.24 비트를 인코딩할 수 있기 때문에, 맵퍼는 16-비트 워드를 수락하고 이를 7개의 심볼로 컨버팅할 수도 있다. 즉, 5개의 상태를 인코딩하는 7개의 심볼의 조합은 57 (78,125) 개의 치환을 갖는다. 이에 따라, 7개의 심볼은 16 비트의 216 (65,536) 개의 치환을 인코딩하는데 사용될 수도 있다.
도 4 는 순환 상태 다이어그램 (450) 에 기초하는, 3상 변조 데이터-인코딩 방식을 사용하여 인코딩된 신호들에 대한 타이밍 차트 (400) 의 예를 포함한다. 정보는 예를 들어, 와이어 또는 커넥터가 순환 상태 다이어그램 (450) 에 의해 정의된 3 개의 위상 상태 (S1, S2 및 S3) 중 하나에 있는 시그널링 상태들의 시퀀스로 인코딩될 수도 있다. 각각의 상태는 120° 위상 시프트에 의해 다른 상태들로부터 분리될 수더 있다. 일 예에서, 데이터는 와이어 또는 커넥터에서 위상 상태들의 회전 방향으로 인코딩될 수도 있다. 신호에서의 위상 상태들은 시계 방향 (452 및 452') 또는 반시계 방향 (454 및 454') 으로 회전할 수도 있다. 예를 들어, 시계 방향 (452 및 452') 에서, 위상 상태들은 S1 로부터 S2 로의, S2 로부터 S3 으로의 및 S3 으로부터 S1 로의 트랜지션들 중 하나 이상을 포함하는 시퀀스로 진행할 수도 있다. 반시계 방향 (454 및 454') 에서, 위상 상태들은 S1 으로부터 S3 로, S3 로부터 S2 로 그리고 S2 로부터 S1 으로의 트랜지션들 중 하나 이상을 포함하는 시퀀스로 진행할 수도 있다. 3개의 신호 와이어 (318a, 318b 및 318c) 는 동일한 신호의 상이한 버전들을 반송하며, 여기서 버전들은 서로에 대해 120° 만큼 위상 시프트될 수도 있다. 각각의 시그널링 상태는 와이어 또는 커넥터 상의 상이한 전압 레벨 및/또는 와이어 또는 커넥터를 통한 전류 흐름의 방향으로 표현될 수도 있다. 3-와이어 시스템에서의 시그널링 상태들의 각각의 시퀀스 동안, 각각의 신호 와이어 (318a, 318b 및 318c) 는 다른 와이어들과는 상이한 시그널링 상태들에 있다. 3개 보다 많은 신호 와이어들 (318a, 318b 및 318c) 이 3상 인코딩 시스템에 이용될 때, 각각의 상태가 매 시그널링 간격에서 적어도 하나의 신호 와이어 (318a, 318b 및/또는 318c) 상에 존재하지만, 2개 이상의 신호 와이어 (318a, 318b 및/또는 318c) 가 각각의 시그널링 간격에서 동일한 시그널링 상태에 있을 수 있다.
정보는 각각의 위상 트랜지션 (410) 에서 회전 방향으로 인코딩될 수도 있고, 3상 신호는 각각의 시그널링 상태에 대하여 방향을 변화시킬 수도 있다. 회전 방향은 어느 신호 와이어들 (318a, 318b 및/또는 318c) 이 위상 트랜지션 전과 후에 '0' 상태에 있는지를 고려함으로써 결정될 수도 있는데, 이는 비구동 신호 와이어 (318a, 318b 및/또는 318c) 가 회전 방향과 관계없이, 회전하는 3상 신호에서의 매 시그널링 상태에서 변화하기 때문이다.
인코딩 방식은 또한 능동적으로 구동되는 2개의 신호 와이어 (318a, 318b 및/또는 318c) 의 극성 (408) 에서의 정보를 인코딩할 수도 있다. 3-와이어 구현에서의 어느 때라도, 신호 와이어들 (318a, 318b, 318c) 중 정확히 2개는 반대 방향들에서의 전류들로 및/또는 전압 차동으로 구동된다. 일 구현에서, 데이터는 2 비트 값들 (412) 을 사용하여 인코딩될 수도 있으며, 여기서 일 비트는 위상 트랜지션들 (410) 의 방향에서 인코딩되고 제 2 비트는 전류 상태에 대한 극성 (408) 에서 인코딩된다.
타이밍 차트 (400) 는 위상 회전 방향 및 극성 양자 모두를 사용하는 데이터 인코딩을 도시한다. 곡선들 (402, 404 및 406) 은 다중 위상 상태들에 대해 각각 3개 신호 와이어 (318a, 318b 및 318c) 상에서 반송된 신호들과 관련된다. 초기에, 위상 트랜지션들 (410) 은 시계 방향이고, 위상 트랜지션들 (410) 의 회전이 시간 (414) 에서, 바이너리 '0' 의 최상위 비트에 의해 표현된 바와 같이, 반시계 방향으로 스위칭할 때까지, 최상위 비트가 바이너리 '1' 로 설정된다. 최하위 비트는 각각의 상태에서의 신호의 극성 (408) 을 반영한다.
본 명세서에 개시된 소정의 양태들에 따라, 데이터의 일 비트는 3-와이어, 3상 인코딩 시스템에서 회전, 또는 위상 변경에서 인코딩될 수도 있고, 부가 비트가 2개의 구동 와이어의 극성에서 인코딩될 수도 있다. 부가 정보는 현재 상태로부터 가능한 상태들 중 임의의 것으로의 트랜지션을 허용함으로써 3-와이어, 3상 인코딩 시스템의 각각의 트랜지션에서 인코딩될 수도 있다. 3개의 회전 위상 및 각각의 위상에 대한 2개의 극성이 주어지면, 6개의 상태가 3-와이어, 3상 인코딩 시스템에서 이용가능하다. 따라서, 임의의 전류 상태로부터 5개의 상태가 이용가능하고, 심볼 (트랜지션) 당 인코딩된
Figure pct00002
비트들이 있을 수도 있으며, 이는 맵퍼 (302) 가 16-비트 워드를 수용하고 이를 7개의 심볼로 인코딩하는 것을 허용한다.
도 5 는 3-와이어, 3상 디코더 (500) 의 소정 양태들을 도시하는 다이어그램이다. 차동 수신기들 (502a, 502b, 502c) 및 와이어 상태 디코더 (504) 는 서로에 대해 3개의 송신 라인 (예를 들어, 도 3 에 도시된 신호 와이어들 (318a, 318b 및 318c)) 의 상태의 디지털 표현 (522) 을 제공하고, 이전 심볼 기간에 송신된 상태와 비교하여 3개의 송신 라인의 상태에서 변화들을 검출하도록 구성된다. 7개의 연속적인 상태는 디맵퍼 (508) 에 의해 프로세싱될 7개의 심볼 (516) 의 세트를 획득하기 위해 직렬-대-병렬 컨버터들 (506) 에 의해 어셈블리된다. 디맵퍼 (508) 는 출력 데이터 (520) 를 제공하기 위해 선입선출 (FIFO) 레지스터 (510) 에서 버퍼링될 수도 있는 16 비트의 데이터 (518) 를 생성한다.
와이어 상태 디코더 (504) 는 신호 와이어들 (318a, 318b 및 318c) 상에서 수신된 위상 인코딩된 신호들로부터 심볼들 (514) 의 시퀀스를 추출한다. 심볼들 (514) 은 본 명세서에 개시된 바와 같이 위상 회전 및 극성의 조합으로서 인코딩된다. 와이어 상태 디코더는 신호 와이어들 (318a, 318b 및 318c) 로부터 와이어 상태들을 신뢰성있게 캡처하는데 이용될 수 있는 클록 (526) 을 추출하는 CDR 회로 (524) 를 포함할 수도 있다. 트랜지션은 각각의 심볼 경계에서 신호 와이어들 (318a, 318b 및 318c) 중 적어도 하나에서 발생하며, CDR 회로 (524) 는 일 트랜지션 또는 다수의 트랜지션들의 발생에 기초하여 클록 (526) 을 생성하도록 구성될 수도 있다. 클록의 에지는 모든 신호 와이어들 (318a, 318b 및 318c) 이 안정화되는 시간을 허용하고 이에 의해 현재 와이어 상태가 디코딩 목적들을 위하여 캡처되는 것을 보장하도록 지연될 수도 있다.
도 6 은 각각의 상태로부터 도시된 가능한 트랜지션들로, 3개의 와이어의 가능한 시그널링 상태들 (602, 604, 606, 612, 614, 616) 을 도시하는 상태 다이어그램 (600) 이다. 3-와이어, 3상 통신 링크의 예에서, 6개의 상태 및 30개의 상태 트랜지션이 이용가능하다. 상태 다이어그램 (600) 에서의 가능한 시그널링 상태들 (602, 604, 606, 612, 614 및 616) 은 도 4 의 순환 상태 다이어그램 (450) 에 나타된 상태들을 포함하며 이 상태들로 확장된다. 상태 엘리먼트 (628) 의 예시에 나타낸 바와 같이, 상태 다이어그램 (600) 에서 각각의 시그널링 상태 (602, 604, 606, 612, 614 및 616) 는 A, B 및 C 로 각각 라벨링되는 신호 와이어들 (318a, 318b, 318c) 의 전압 시그널링 상태를 정의한다. 예를 들어, 시그널링 상태 (602)(+x) 에서, 와이어 A= +1, 와이어 B = -1 및 와이어 C= 0 이므로, 차동 수신기 (502a) 의 출력 (A-B) = +2, 차동 수신기 (502b) 의 출력 (B-C) = -1, 및 차동 수신기 (502c) 의 출력 (C-A) = -1 을 산출한다. 수신기에서의 위상 변화 검출 회로들로 취해진 트랜지션 판정들은 차동 수신기들 (502a, 502b, 502c) 에 의해 생성된 5개의 가능한 레벨에 기초하며, 이들은 -2, -1, 0, +1 및 +2 전압 상태들을 포함한다.
상태 다이어그램 (600) 에서의 트랜지션들은 세트: {000, 001, 010, 011, 100} 에서의 3 비트 바이너리 값 중 하나를 갖는 플립 (Flip), 회전 (Rotate), 극성 (Polarity) 심볼 (예를 들어, FRP 심볼 (626)) 로 나타낼 수 있다. FRP 심볼 (626) 의 회전 비트 (622) 는 다음 상태로의 트랜지션과 연관된 위상 회전의 방향을 표시한다. FRP 심볼 (626) 의 극성 (Polarity) 비트 (624) 는 다음 상태로의 트랜지션이 극성의 변화를 수반할 때 바이너리 1 로 설정된다. FRP 심볼 (626) 의 플립 (Flip) 비트 (620) 가 바이너리 1 로 설정될 때, 회전 (Rotate) 및 극성 (Polarity) 값들은 무시되고 및/또는 제로가 될 수도 있다. 플립은 극성의 변화만을 수반하는 상태 트랜지션을 나타낸다. 따라서, 3상 신호의 위상은 플립이 발생할 때 회전 중에 있는 것으로 고려되지 않고 극성 비트는 플립이 발생할 때 중복 (redundant) 된다. FRP 심볼 (626) 은 각각의 트랜지션에 대한 와이어 상태 변화들에 대응한다. 상태 다이어그램 (600) 은 양의 극성 시그널링 상태들 (602, 604, 606) 을 포함하는 내부 원 (608) 및 음의 극성 상태들 (612, 614, 616) 을 포괄하는 외부 원 (618) 으로 분리될 수도 있다.
3상 인터페이스들에서의 지터
3상 송신기는 하이, 로우, 및 중간 레벨 전압들을 송신 채널 상으로 제공하는 드라이버들을 포함한다. 이는 연속적인 심볼 간격들 사이에서 일부 가변적인 트랜지션들을 초래한다. 로우-대-하이 및 하이-대-로우 전압 트랜지션들은 풀-스윙 트랜지션들로 지칭될 수도 있는 한편, 로우-대-중간 및 하이-대-중간 전압 트랜지션들은 하프-스윙 트랜지션들로 지칭될 수도 있다. 상이한 타입들의 트랜지션들은 상이한 상승 또는 하강 시간들을 가질 수도 있고, 수신기에서 상이한 제로 크로싱을 초래할 수도 있다. 이러한 차이들은 "인코딩 지터" 를 초래할 수 있으며, 이는 링크 신호 무결성 성능에 영향을 미칠 수도 있다.
도 7 은 C-PHY 3상 송신기의 출력에서 트랜지션 변동성의 소정의 양태들을 도시하는 타이밍 다이어그램 (700) 이다. 신호 트랜지션 시간들에서의 변동성은 3상 시그널링에 사용된 상이한 전압 및/또는 전류 레벨들의 존재에 기인할 수도 있다. 타이밍 다이어그램 (700) 은 단일 신호 와이어 (318a, 318b 또는 318c) 로부터 수신된 신호에서의 트랜지션 시간들을 도시한다. 제 1 심볼 Symn (702) 은 제 2 심볼 Symn +1 (724) 이 제 2 심볼 간격에서 송신될 때의 시간 (722) 에 종료하는 제 1 심볼 간격에서 송신된다. 제 2 심볼 간격은 제 4 심볼 Symn +3 (708) 이 제 4 심볼 간격에서 송신될 때 종료하는, 제 3 심볼 간격에서 제 3 심볼 Symn +2 (706) 이 송신될 때의 시간 (726) 에서 종료할 수도 있다. 제 1 심볼 (702) 에 의해 결정된 상태로부터 제 2 심볼 (704) 에 대응하는 상태로의 트랜지션은 신호 와이어 (318a, 318b 또는 318c) 에서의 전압이 임계 전압 (718 및/또는 720) 에 도달하는데 걸리는 시간에 기여가능한 지연 (712) 후에 검출가능할 수도 있다. 임계 전압들은 신호 와이어 (318a, 318b 또는 318c) 의 상태를 결정하는데 이용될 수도 있다. 제 2 심볼 (704) 에 의해 결정된 상태로부터 제 3 심볼 (706) 에 대한 상태로의 트랜지션은 신호 와이어 (318a, 318b 또는 318c) 에서의 전압이 임계 전압들 (718 및/또는 720) 중 하나에 도달하는데 걸리는 시간에 기여가능한 지연 (714) 후에 검출가능할 수도 있다. 제 3 심볼 (706) 에 의해 결정된 상태로부터 제 4 심볼 (708) 에 대한 상태로의 트랜지션은 신호 와이어 (318a, 318b 또는 318c) 에서의 전압이 임계 전압 (718 및/또는 720) 에 도달하는데 걸리는 시간에 기여가능한 지연 (716) 후에 검출가능할 수도 있다. 지연들 (712, 714 및 716) 은 상이한 지속기간들을 가질 수도 있으며, 이는 3개의 상태 및/또는 상이한 트랜지션 크기와 연관된 상이한 전압 또는 전류 레벨들 사이의 트랜지션들에 불균등한 영향들을 생성할 수도 있는, 디바이스 제조 프로세스들 및 동작 조건들에서의 변동들에 부분적으로 기여가능할 수도 있다. 이러한 차이들은 C-PHY 3상 수신기에서의 지터 및 다른 쟁점들에 기여할 수도 있다.
도 8 은 C-PHY 인터페이스 (800) 에서 수신기에 제공될 수도 있는 CDR 회로들의 소정의 양태들을 도시한다. 차동 수신기들 (802a, 802b, 및 802c) 은 트리오에서 신호 와이어들 (318a, 318b, 및 318c) 의 각각 상이한 쌍의 신호 상태를 비교함으로써 차이 신호들 (810a, 810b, 810c) 의 세트를 생성하도록 구성된다. 도시된 예에서, 제 1 차동 수신기 (802a) 는 A 및 B 신호 와이어들 (318a 및 318b) 의 시그널링 상태의 차이를 나타내는 AB 차이 신호 (810a) 를 제공하고, 제 2 차동 수신기 (802b) 는 B 및 C 신호 와이어들 (318b 및 318c) 의 시그널링 상태의 차이를 나타내는 BC 차이 신호 (810b) 를 제공하며, 제 3 차동 수신기 (802c) 는 C 및 A 신호 와이어들 (318c 및 318a) 의 시그널링 상태의 차이를 나타내는 CA 차이 신호 (810c) 를 제공한다. 따라서, 차동 수신기들 (802a, 802b 및 802c) 중 적어도 하나의 출력이 각각의 심볼 간격의 종료 시 변화하기 때문에, 트랜지션 검출 회로 (804) 는 위상 변화의 발생을 검출하도록 구성될 수 있다.
일부 연속적으로 송신된 심볼들의 쌍들 사이의 트랜지션들은 단일 차동 수신기 (802a, 802b 또는 802c) 에 의해 검출가능할 수도 있는 한편, 다른 트랜지션들은 차동 수신기들 (802a, 802b 및 802c) 중 2 이상에 의해 검출될 수도 있다. 일 예에서, 2개의 와이어의 상태들 또는 상대적 상태들은 트랜지션 후 변경되지 않을 수도 있고, 대응하는 차동 수신기 (802a, 802b 또는 802c) 의 출력은 또한 위상 트랜지션 후 변경되지 않을 수도 있다. 따라서, 클록 생성 회로 (806) 는 위상 트랜지션이 언제 발생했는지를 결정하기 위해 모든 차동 수신기들 (802a, 802b 및 802c) 의 출력들을 모니터링하도록 트랜지션 검출 회로 (804) 및/또는 다른 로직을 포함할 수도 있다. 클록 생성 회로는 검출된 위상 트랜지션들에 기초하여 수신 클록 (808) 을 생성할 수도 있다.
트리오에서의 3개 와이어의 시그널링 상태들의 변화들은 상이한 시간들에 검출될 수도 있으며, 이는 상이한 시간들에서 안정한 상태들을 상정하는 차이 신호들 (810a, 810b, 810c) 을 초래할 수 있다. 차이 신호들 (810a, 810b, 810c) 의 상태는 각각의 신호 와이어 (318a, 318b 및/또는 318c) 의 시그널링 상태가 심볼 송신 간격에 대해 정의된 상태로 트랜지션한 후 안정성에 도달하기 전에 스위치할 수도 있다. 이러한 변동성의 결과는 도 8 의 타이밍 다이어그램 (820) 에 도시된다.
시그널링 상태 변화 검출의 타이밍은 발생한 시그널링 상태 변화의 타입에 따라 달라질 수도 있다. 마커들 (822, 824 및 826) 은 트랜지션 검출 회로 (804) 에 제공된 차이 신호들 (810a, 810b, 810c) 에서의 트랜지션들의 발생들을 나타낸다. 마커들 (822, 824 및 826) 에는 단지 설명의 명료화를 위해 타이밍 다이어그램 (820) 에서 상이한 높이들이 배정되며, 마커들 (822, 824 및 826) 의 상대 높이들은 클록 생성 또는 데이터 디코딩을 위해 사용된 전압 또는 전류 레벨들, 극성 또는 가중치들에 대한 특정 관계들을 나타내는 것으로 의도되지 않는다. 타이밍 다이어그램 (820) 은 3개의 신호 와이어 (318a, 318b 및 318c) 상에서 위상 및 극성으로 송신된 심볼들과 연관된 트랜지션들의 타이밍의 효과를 도시한다. 타이밍 다이어그램 (820) 에서, 일부 심볼들 사이의 트랜지션들은 가변 캡처 윈도우들 (830a, 830b, 830c, 830d, 830e, 830f 및/또는 830g)(총괄적으로 심볼 캡처 윈도우들 (830)) 을 초래할 수도 있고, 이 윈도우 동안 심볼들이 신뢰성있게 캡처될 수도 있다. 검출된 다수의 상태 변화들 및 이들의 상대적 타이밍은 클록 신호 (808) 상에 지터를 초래할 수 있다.
C-PHY 통신 링크의 스루풋은 신호 트랜지션 시간들에서의 변동성 및 지속기간에 의해 영향을 받을 수도 있다. 예를 들어, 검출 회로들에서의 변동성은 제조 프로세스 허용오차들, 전압 및 전류 소스들의 변동들 및 안정성, 및 동작 온도 뿐만 아니라 신호 와이어들 (318a, 318b 및 318c) 의 전기적 특성들에 의해 야기될 수도 있다. 검출 회로들에서의 변동성은 채널 대역폭을 제한할 수도 있다.
도 9 는 소정의 연속적인 심볼들 사이에서 제 1 시그널링 상태로부터 제 2 시그널링 상태로의 트랜지션들의 소정 예들을 나타내는 타이밍 다이어그램들 (900 및 920) 을 포함한다. 타이밍 다이어그램들 (900 및 920) 에 도시된 시그널링 상태 트랜지션들은 예시적인 목적을 위해 선택되며, 다른 트랜지션들 및 트랜지션들의 조합들이 MIPI 얼라이언스 C-PHY 인터페이스에서 발생할 수 있다. 타이밍 다이어그램들 (900 및 920) 은 3-와이어, 3상 통신 링크의 예와 관련되며, 여기서 다중 수신기 출력 트랜지션들은 와이어들의 트리오 상의 신호 레벨들 사이의 상승 및 하강 시간에서의 차이로 인해 각각의 심볼 간격 경계에서 발생할 수도 있다. 또한 도 8 을 참조하면, 제 1 타이밍 다이어그램들 (900) 은 트랜지션 전후의 신호 와이어들 (318a, 318b 및 318c) 의 트리오 (A, B, 및 C) 의 시그널링 상태들을 도시하며, 제 2 타이밍 다이어그램들 (920) 은 신호 와이어들 (318a, 318b 및 318c) 사이의 차이들을 나타내는 차이 신호들 (810a, 810b, 810c) 을 제공하는 차동 수신기들 (802a, 802b 및 802c) 의 출력들을 도시한다. 많은 경우들에서, 차동 수신기들 (802a, 802b 및 802c) 의 세트는 2개의 신호 와이어 (318a, 318b 및 318c) 에 대한 상이한 조합들을 비교함으로써 트랜지션들을 캡처하도록 구성될 수도 있다. 일 예에서, 이들 차동 수신기들 (802a, 802b 및 802c) 은 이들 개개의 입력 전압들의 차이를 (예를 들어, 감산에 의해) 결정함으로써 출력들을 생성하도록 구성될 수도 있다.
타이밍 다이어그램들 (900 및 920) 에 나타낸 예들 각각에서, -z 상태 (616)(도 8 참조) 를 나타내는 초기 심볼은 상이한 심볼로 트랜지션한다. 타이밍 다이어그램들 (902, 904 및 906) 에 나타낸 바와 같이, 신호 A 는 초기에 +1 상태에 있고, 신호 B 는 0 상태에 있고, 신호 C 는 -1 상태에 있다. 따라서, 차동 수신기 출력들에 대하여 타이밍 다이어그램들 (922, 932, 938) 에 나타낸 바와 같이, 차동 수신기들 (802a, 802b) 은 초기에 +1 차이 (924) 를 측정하고 차동 수신기 (802c) 는 -2 차이 (926) 를 측정한다.
타이밍 다이어그램들 (902, 922) 에 대응하는 제 1 예에서, 트랜지션은 -z 상태 (616) 를 나타내는 심볼에서 -x 시그널링 상태 (612)(도 6 참조) 를 나타내는 심볼로 발생하고, 여기서 신호 A 는 -1 상태로 트랜지션하고, 신호 B 는 +1 상태로 트랜지션하며 신호 C 는 0 상태로 트랜지션하고, 차동 수신기 (802a) 는 +1 차이 (924) 에서 -2 차이 (930) 로 트랜지션하고 차동 수신기 (802b) 는 +1 차이 (924, 928) 에서 유지되며, 차동 수신기 (802c) 는 -2 차이 (926) 에서 +1 차이 (928) 로 트랜지션한다.
타이밍 다이어그램들 (904, 932) 에 대응하는 제 2 예에서, 트랜지션은 -z 시그널링 상태 (616) 를 나타내는 심볼에서 +z 시그널링 상태 (606) 를 나타내는 심볼로 발생하고, 여기서 신호 A 는 -1 상태로 트랜지션하고 신호 B 는 0 상태로 유지되며 신호 C 는 +1 상태로 트랜지션하고, 2개의 차동 수신기 (802a 및 802b) 는 +1 차이 (924) 에서 -1 차이 (936) 로 트랜지션하고 차동 수신기 (802c) 는 -2 차이 (926) 에서 +2 차이 (934) 로 트랜지션한다.
타이밍 다이어그램들 (906, 938) 에 대응하는 제 3 예에서, 트랜지션은 -z 시그널링 상태 (616) 를 나타내는 심볼에서 +x 시그널링 상태 (602) 를 나타내는 심볼로 발생하고, 여기서 신호 A 는 +1 상태로 유지되고, 신호 B 는 -1 상태로 트랜지션하며 신호 C 는 0 상태로 트랜지션하고, 차동 수신기 (802a) 는 +1 차이 (924) 에서 +2 차이 (940) 로 트랜지션하고 차동 수신기 (802b) 는 +1 차이 (924) 에서 -1 차이 (942) 로 트랜지션하며, 차동 수신기 (802c) 는 -2 차이 (926) 에서 -1 차이 (942) 로 트랜지션한다.
이들 예들은 0, 1, 2, 3, 4 및 5 레벨들의 범위에 이르는 차이 값들로의 트랜지션을 예시한다. 통상의 차동 또는 단종단 시리얼 송신기들에 사용된 프리-앰퍼시스 기법들은 2개의 레벨 트랜지션들에 대해 개발되었고, MIPI 얼라이언스 C-PHY 3상 신호 상에서 이용되는 경우 소정의 역효과를 도입할 수도 있다. 특히, 트랜지션들 동안 신호를 과구동시키는 프리-엠퍼시스 회로는 1 또는 2 레벨에 걸쳐 있는 트랜지션 동안 오버슈트를 야기할 수도 있고 에지 감지 회로들에서 잘못된 트리거들이 발생하게 할 수도 있다.
도 10 은 단일의 심볼 간격 (1002) 을 포함한 다중 심볼 간격들의 오버레이로서 생성된 바이너리 아이 패턴 (1000) 을 도시한다. 신호 트랜지션 영역 (1004) 은 가변 신호 상승 시간들이 신뢰성있는 디코딩을 방지하는, 2개의 심볼 사이의 경계에서 불확실성의 시간 주기를 나타낸다. 상태 정보는, 심볼이 안정되고 신뢰성있게 수신 및 디코딩될 수 있는 시간 주기를 나타내는 "아이 오프닝" 내의 아이 마스크 (1006) 에 의해 정의된 영역에서 신뢰성있게 결정될 수도 있다. 아이 마스크 (1006) 는 제로 크로싱이 발생하지 않는 영역을 마스크 오프하고, 아이 마스크는 제 1 신호 제로 크로싱에 후속하는 심볼 간격 경계에서의 후속의 제로 크로싱들의 효과로 인한 다중 클록을 방지하기 위해 디코더에 의해 이용된다.
신호의 주기적 샘플링 및 디스플레이의 개념은 수신된 데이터에 나타나는 빈번한 트랜지션들을 이용하여 수신된 데이터 타이밍 신호를 재생성하는 클록 데이터 복구 회로를 이용하는 시스템들의 설계, 적응 및 구성 동안 유용하다. 직렬화기/역직렬화기 (SERDES) 기술에 기초한 통신 시스템은 바이너리 아이 패턴 (1000) 이 바이너리 아이 패턴 (1000) 의 아이 오프닝에 기초하여 데이터를 신뢰성있게 복구하는 능력을 판정하기 위한 기초로서 활용될 수 있는 시스템의 예이다.
3-와이어 3상 인코더와 같은 M-와이어 N상 인코딩 시스템은 매 심볼 경계에서 적어도 하나의 트랜지션를 갖는 신호를 인코딩할 수도 있으며, 수신기는 이들 보장된 트랜지션들을 이용하여 클록을 복구할 수도 있다. 수신기는 심볼 경계에서 제 1 신호 트랜지션 직전에 신뢰성있는 데이터를 요구할 수도 있고, 동일한 심볼 경계에 상관되는 다중 트랜지션들의 임의의 발생들을 신뢰성있게 또한 마스킹할 수 있어야 한다. M-와이어 (예를 들어, 와이어들의 트리오) 상에서 반송된 신호들 사이의 상승 및 하강 시간에서의 미소한 차이들로 인해 그리고 수신된 신호 쌍들의 조합들 (예를 들어, 도 6 의 차동 수신기들 (802a, 802b 및 802c) 의 A-B, B-C, 및 C-A 출력들) 사이 의신호 전파 시간들에서의 미소한 차이로 인해 다중 수신기 트랜지션들이 발생할 수도 있다.
도 11 은 C-PHY 3상 신호에 대해 생성된 멀티-레벨 아이-패턴 (1100) 의 예를 도시한다. 멀티-레벨 아이-패턴 (1100) 은 다중 심볼 간격들 (1102) 의 오버레이로부터 생성될 수도 있다. 멀티-레벨 아이-패턴 (1100) 은 고정된 및/또는 심볼 독립적인 트리거 (1110) 를 사용하여 생성될 수도 있다. 멀티-레벨 아이-패턴 (1100) 은 N상 수신기 회로 (도 8 참조) 에서의 차동 수신기들 (802a, 802b, 802c) 에 의해 측정된 다중 전압 레벨들에 기인할 수도 있는 증가된 수의 전압 레벨들 (1120, 1122, 1124, 1126, 1128) 을 포함한다. 예에서, 멀티-레벨 아이-패턴 (1100) 은 차동 수신기들 (802a, 802b, 및 802c) 에 제공된 3-와이어, 3상 인코딩된 신호들에서의 가능한 트랜지션들에 대응할 수도 있다. 3개의 전압 레벨은 차동 수신기들 (802a, 802b, 및 802c) 로 하여금 양의 극성 및 음의 극성 양자 모두에 대해 강 전압 레벨들 (1126, 1128) 및 약 전압 레벨들 (1122, 1124) 을 생성하게 할 수도 있다. 통상적으로, 단 하나의 신호 와이어 (318a, 318b 및 318c) 만이 임의의 심볼에서 비구동되며 차동 수신기들 (802a, 802b, 및 802c) 은 0 상태 (여기서, 0 볼트) 출력을 생성하지 않는다. 강 및 약 레벨들과 연관된 전압들은 0 볼트 레벨에 대하여 균일하게 이격될 필요가 없다. 예를 들어, 약 전압 레벨들 (1122, 1124) 은 비구동 신호 와이어 (318a, 318b 및 318c) 에 의해 도달된 전압 레벨을 포함할 수도 있는 전압들의 비교를 나타낸다. 멀티-레벨 아이-패턴 (1100) 은 데이터가 수신 디바이스에서 캡처될 때 신호들의 모든 3개의 쌍이 동시에 고려되기 대문에, 차동 수신기들 (802a, 802b, 및 802c) 에 의해 생성된 파형들을 오버랩할 수도 있다. 차동 수신기들 (802a, 802b, 및 802c) 에 의해 생성된 파형들은 신호들의 3개의 쌍 (A-B, B-C, 및 C-A) 의 비교들을 나타내는 차이 신호들 (810a, 810b, 810c) 을 나타낸다.
C-PHY 3상 디코더에 사용된 드라이버들, 수신기들 및 다른 디바이스들은 3개의 와이어로부터 수신된 신호들 사이의 상대적 지연들을 도입할 수 있는 상이한 스위칭 특성들을 나타낼 수도 있다. 다중 수신기 출력 트랜지션들은 신호 와이어들 (318a, 318b, 318c) 의 트리오의 3개의 신호 사이의 상승 및 하강 시간에서의 미소한 차이들로 인해 그리고 신호 와이어들 (318a, 318b, 318c) 로부터 수신된 신호들의 쌍들의 조합들 사이의 신호 전파 시간들에서의 미소한 차이들로 인해 각각의 심볼 간격 경계 (1108 및/또는 1114) 에서 관찰될 수도 있다. 멀티-레벨 아이-패턴 (1100) 은 각각의 심볼 간격 경계 (1108 및 1114) 근방에서 트랜지션들의 상대적 지연으로서 상승 및 하강 시간들에서 변동들을 캡처할 수도 있다. 상승 및 하강 시간들에서의 변동들은 3상 드라이버들의 상이한 특성들에 기인할 수도 있다. 상승 및 하강 시간들에서의 차이들은 또한 임의의 주어진 심볼에 대해 심볼 간격 (1102) 의 지속기간의 효과적인 단축 또는 연장을 초래할 수도 있다.
신호 트랜지션 영역 (1104) 은 시간 또는 불확실성의 주기를 나타내며, 여기서 가변 신호 상승 시간들은 신뢰성있는 디코딩을 방지한다. 상태 정보는, 심볼이 안정되고 신뢰성있게 수신 및 디코딩될 수 있는 시간 주기를 나타내는 "아이 오프닝" (1106) 에서 신뢰성있게 결정될 수도 있다. 일 예에서, 아이 오프닝 (1106) 은 신호 트랜지션 영역 (1104) 의 종단 (1112) 에서 시작하여 심볼 간격 (1102) 의 심볼 간격 경계 (1114) 에서 종료하도록 결정될 수도 있다. 도 11 에 도시된 예에서, 아이 오프닝 (1106) 은 신호 트랜지션 영역 (1104) 의 종단 (1112) 에서 시작하여 신호 와이어들 (318a, 318b, 318c) 의 시그널링 상태 및/또는 3개의 차동 수신기 (802a, 802b 및 802c) 의 출력들이 다음 심볼을 반영하도록 변화하기 시작할 때의 시간 (1116) 에서 종료하도록 결정될 수도 있다.
N상 인코딩을 위해 구성된 통신 링크 (220) 의 최대 속도는 수신된 시간에 대응하는 아이 오프닝 (1106) 과 비교하여 신호 트랜지션 영역 (1104) 의 지속기간으로 제한될 수도 있다. 심볼 간격 (1102) 에 대한 최소 주기는, 예를 들어, 도 5 에 도시된 디코더 (500) 에서의 CDR 회로 (524) 와 연관된 엄격해진 설계 마진들에 의해 제약될 수도 있다. 상이한 시그널링 상태 트랜지션들은 2 이상의 신호 와이어 (318a, 318b 및/또는 318c) 에 대응하는 신호 트랜지션 시간들에서의 상이한 변동들과 연관될 수도 있으며, 이에 의해 수신 디바이스에서의 차동 수신기들 (802a, 802b 및 802c) 의 출력들로 하여금 심볼 간격 경계 (1108) 에 대해 상이한 시간들 및/또는 레이트들로 변화하게 하며, 여기서 차동 수신기들 (802a, 802b 및 802c) 의 입력들이 변화하기 시작한다. 신호 트랜지션 시간들 사이의 차이들은 2 이상의 차이 신호 (810a, 810b, 810c) 에서의 시그널링 트랜지션들 사이의 타이밍 스큐들을 초래할 수도 있다. CDR 회로들은 차이 신호들 (810a, 810b, 810c) 사이의 타이밍 스큐들을 수용하도록 지연 회로들 및 다른 회로들을 포함할 수도 있다.
도 12 는 3-와이어, 3상 인터페이스에 대한 CDR 회로 (1200) 의 예를 제공한다. 도시된 CDR 회로 (1200) 는 많은 상이한 타입들의 클록 복구 회로들에 공통인 소정의 피처들 및 기능 엘리먼트들을 포함한다. CDR 회로 (1200) 는 차이 신호들 (1202, 1204, 1206) 을 수신하며, 이들은 예를 들어, 도 8 의 차동 수신기들 (802a, 802b 및 802c) 에 의해 생성된 차이 신호들 (810a, 810b, 810c) 로부터 도출될 수도 있다. CDR 회로 (1200) 에서, 각각의 차이 신호 (1202, 1204, 1206) 는 출력 신호들 (1230a-1230f) 을 생성하기 위해 D 플립플롭들 (1210a, 1210b, 1210c) 의 쌍을 클록한다. 출력 신호들 (1230a-1230f) 은 트랜지션이 대응하는 차이 신호 (1202, 1204, 1206) 상에서 검출될 때 펄스를 반송한다. D 플립플롭 상의 클록 입력에 제공된 상승 에지는 D 플립플롭을 통해 로직 1 을 클록한다. 인버터들 (1208a, 1208b, 1208c) 은 D 플립플롭들 (1210a, 1210b, 1210c) 의 각각의 대응하는 쌍에서 D 플립-플롭들 중 하나에 차이 신호들 (1202, 1204, 1206) 의 반전된 버전들을 제공하는데 이용될 수도 있다. 따라서, D 플립플롭들 (1210a, 1210b, 1210c) 의 각각의 쌍은 대응하는 차이 신호 (1202, 1204, 1206) 에서 검출된 상승 에지 및 하강 에지들에 응답하여 펄스들을 생성한다.
예를 들어, AB 차이 신호 (1202) 가 D 플립플롭 (1210a) 의 제 1 쌍의 제 1 D 플립플롭 (1232) 에 제공되고, 인버터 (1208a) 는 D 플립플롭들 (1210a) 의 제 1 쌍의 제 2 D 플립플롭 (1234) 에 AB 차이 신호 (1202) 의 반전된 버전을 제공한다. D 플립플롭들은 초기에 리셋 상태에 있다. AB 차이 신호 (1202) 에 대한 상승 에지는 제 1 D 플립플롭 (1232) 을 통해 로직 1 을 클록하여 제 1 플립플롭 (r_AB)(1230a) 의 출력이 로직 1 상태로 트랜지션하게 한다. AB 차이 신호 (1202) 에 대한 상승 에지는 제 2 D 플립플롭 (1234) 을 통해 로직 1 을 클록하여 제 2 플립플롭 (f_AB)(1230b) 의 출력이 로직 1 상태로 트랜지션하게 한다.
출력 신호들 (1230a-1230f) 은 수신기 클록 (RxCLK) 신호 (1222) 로서 작용할 수도 있는 출력 신호를 생성하는 로직, 예컨대 OR 게이트 (1212) 에 제공된다. RxCLK 신호 (1222) 는 임의의 차이 신호들 (1202, 1204, 1206) 의 시그널링 상태에서 트랜지션이 발생할 때 로직 1 상태로 트랜지션한다. RxCLK 신호 (1222) 는 프로그램가능 지연 회로 (1214) 에 제공되고, 이 회로는 D 플립플롭들 (1210a, 1210b, 1210c) 의 쌍들에서의 D 플립플롭들을 리셋하는 리셋 신호 (rb 신호 (1228)) 를 구동한다. 도시된 예에서, 인버터 (1216) 는 D 플립플롭들이 로우 신호에 의해 리셋될 때 포함될 수도 있다. D 플립플롭들이 리셋될 때, OR 게이트 (1212) 의 출력은 로직 0 상태로 복귀되고, RxCLK 신호 (1222) 상의 펄스가 종료된다. 이 로직 0 상태가 프로그래밍가능 지연 회로 (1214) 및 인버터 (1216) 를 통해 전파할 때. D 플립플롭들에 대한 리셋 조건이 해제된다. D 플립플롭들이 리셋 조건에 있는 동안, 차이 신호들 (1202, 1204, 1206) 에 대한 트랜지션들은 무시된다.
프로그램가능 지연 회로 (1214) 는 통상적으로 차이 신호들 (1202, 1204, 1206) 에 대한 제 1 및 마지막 트랜지션들의 발생 사이의 타이밍 스큐 차이를 초과하는 지속기간을 갖는 지연을 생성하도록 구성된다. 프로그램가능 지연 회로 (1214) 는 RxCLK 신호 (1222) 에 대한 펄스들의 지속기간 (즉, 펄스 폭) 을 구성한다. 프로그램가능 지연 회로 (1214) 는 세트 (Set) 신호 (1226) 가 프로세서 또는 다른 제어 및/또는 구성 로직에 의해 표명될 때 구성될 수도 있다.
RxCLK 신호 (1222) 는 또한 차이 신호들 (1202, 1204, 1206) 의 시그널링 상태를 캡처하는 3개의 플립플롭 (1220) 의 세트에 제공되어, RxCLK 신호 (1222) 상에서 발생하는 각각의 펄스에 대한 안정적인 출력 심볼 (1224) 을 제공할 수도 있다. 지연 또는 정렬 로직 (1218) 은 차이 신호들 (1202, 1204, 1206) 의 세트의 타이밍을 조정할 수도 있다. 예를 들어, 지연 또는 정렬 로직 (1218) 은 RxCLK 신호 (1222) 상의 펄스들에 대하여 차이 신호들 (1202, 1204, 1206) 의 타이밍을 조정하여 차이 신호들 (1202, 1204, 1206) 이 안정적일 때 플립플롭들 (1220) 이 차이 신호들 (1202, 1204, 1206) 의 시그널링 상태를 캡처하는 것을 보장하는데 사용될 수도 있다. 지연 또는 정렬 로직 (1218) 은 프로그램가능 지연 회로 (1214) 를 위해 구성된 지연에 기초하여 차이 신호들 (1202, 1204, 1206) 에서의 에지들을 지연시킬 수도 있다.
프로그램가능 지연 회로 (1214) 는 차이 신호들 (1202, 1204, 1206) 에서의 트랜지션 시간들에서 가능한 큰 변동들을 수용하도록 CDR 회로 (1200) 에서 구성될 수도 있다. 일 예에서, 프로그램가능 지연 회로 (1214) 는 통상적으로 차이 신호들 (1202, 1204, 1206) 상의 제 1 및 마지막 트랜지션들의 발생 사이의 타이밍 스큐 지속기간을 초과하는 최소 지연 주기를 제공하도록 구성된다. 프로그램가능 지연 회로 (1214) 에 의해 제공된 지연 시간은 CDR 회로 (1200) 의 지연 루프에서의 로직 게이트들의 수를 설명하기 위해 산출되며 로직 게이트들 및/또는 프로그램가능 지연 회로 (1214) 에 영향을 미칠 수 있는 예상되거나 관찰된 PVT 변동들을 설명하는 최소 지연 시간으로 제약된다. CDR 회로 (1200) 의 신뢰성있는 동작을 위하여, 프로그램가능 지연 회로 (1214) 에 의해 제공된 최대 지연 시간은 심볼 간격보다 더 크지 않을 수도 있다. 고속 데이터 레이트들로, CDR 회로 (1200) 의 지연 루프에 의해 제공된 지연 시간 및 타이밍 스큐는 심볼 간격 (1102) 의 비율로 증가한다. 아이 오프닝 (1106) 은 심볼 간격 (1102) 에 비해 작아질 수 있고 아이 오프닝 (1106) 은 더 높은 주파수에서 닫힐 수 있다. 프로그램가능 지연 회로 (1214) 에 의해 제공된 지연 시간이 신뢰성있는 심볼들의 캡처를 지원할 수 있는 임계 사이즈 미만으로 아이 오프닝 (1106) 에 의해 점유된 심볼 간격 (1102) 의 퍼센티지를 감소시킬 때 최대 심볼 송신 레이트는 제한될 수도 있다.
도 13 은 CDR 회로 (1200) 의 동작의 소정의 양태들을 도시하는 타이밍 다이어그램 (1300) 이다. 이 다이어그램은 프로그램가능 지연 회로 (1214) 가 구성된 후의 동작들과 관련되며, 세트 (Set) 신호 (1226) 는 비활성이다. CDR 회로 (1200) 는 에지 검출기로서 동작한다. C-PHY 3상 인코딩은 유닛 간격 (UI)(1302) 당 단일 시그널링 상태 트랜지션을 제공한다. 트리오의 각각의 와이어 상태의 차이들, 및/또는 트리오의 송신 특성들은 상이한 시간들에서 2 이상의 와이어 상에서 트랜지션이 나타나게 할 수도 있다. 차이 신호들 (1202, 1204, 1206) 에서의 트랜지션들의 발생의 시간에서의 최대 차이는 스큐 시간 (tskew) (1304) 으로서 지칭될 수도 있다. CDR 회로 (1200) 와 연관된 다른 지연들은 D 플립플롭들 (1210a, 1210b, 1210c) 의 쌍들을 통한 전파 지연 (tck2q)(1314), OR 게이트 (1212) 를 통과한 상승 에지와 연관된 전파 지연 (tOR _ 0)(1306), OR 게이트 (1212) 를 통과한 하강 에지와 연관된 전파 지연 (tOR _ 1)(1308), 프로그램가능 지연 회로 (1214) 와 드라이버 및/또는 인버터 (1216) 에 의해 도입된 지연을 결합하는 전파 지연 (tpgm)(1310) 및 D 플립플롭들 (1210a, 1210b, 1210c) 의 쌍들에 의해 rb 신호 (1228) 의 수신 시간과 플립플롭 출력들이 클리어되는 시간 사이의 지연에 대응하는 리셋 지연 (trst)(1312) 을 포함한다.
루프 지연 (tloop)(1320) 은 다음과 같이 정의될 수도 있다:
Figure pct00003
tloop (1320) 와 UI (1302) 사이의 관계는 CDR 회로 (1200) 의 동작의 신뢰성을 결정할 수도 있다. 이 관계는 UI (1302) 에 직접 영향을 미치는 송신을 위해 사용된 클록 주파수 및 프로그램가능 지연 회로 (1214) 의 동작의 변동성에 의해 영향을 받는다.
일부 디바이스들에서, 프로그램가능 지연 회로 (1214) 의 동작은 제조 프로세스, 회로 공급 전압 및 다이 온도 (PVT) 조건들에서의 변동들을 포함하는, 동작 조건들에서의 변동들에 의해 영향을 받을 수 있다. 구성된 값에 대해 프로그램가능 지연 회로 (1214) 에 의해 제공된 지연 시간은 디바이스마다 및/또는 디바이스 내의 회로마다 상당히 달라질 수도 있다. 종래의 시스템들에서, CDR 회로 (1200) 의 공칭 동작 조건은 일반적으로 클록 에지가 최악의 경우의 PVT 효과들 하에서도, 신호 트랜지션 영역 (1104) 의 종단 (1112) 후 그리고 다음 심볼로의 트랜지션 영역의 시작 전에 발생하는 것을 보장하기 위해, 모든 PVT 조건들 하에서 아이 오프닝 (1106) 의 중간 어딘가에 클록 에지를 생성하도록 설계에 의해 설정된다. 송신 주파수가 증가하고 차이 신호들 (1202, 1204, 1206) 의 타이밍 스큐가 UI (1302) 에 비해 클 때, 아이 오프닝 (1106) 내의 클록 에지를 보장하는 CDR 회로 (1200) 를 설계하는데 어려움이 발생할 수 있다. 예를 들어, 통상의 지연 회로는 모든 PVT 조건들에 대해 2 의 팩터로 변화하는 지연 값을 생성할 수도 있다.
도 14 는 불충분한 지연을 제공하는 프로그램가능 지연 회로 (1214) 의 효과를 도시하는 타이밍 다이어그램 (1400) 이다. 이 예에서, tloop (1406) 는 관찰된 tskew (1404) 에 비해 너무 짧고, 다중 클록 펄스들 (1408, 1410) 은 하나의 UI (1402) 에서 생성된다. 즉, 루프 지연 tloop (1406) 은 tskew (1404) 에 대해 충분히 크지 않고, 차이 신호들 (1202, 1204, 1206) 에 대해 나중에 발생하는 트랜지션들은 마스킹되지 않는다. 도시된 예에서, 차이 신호들 (1206) 중 하나에서의 제 2 트랜지션 (1414) 은 차이 신호들 (1202) 의 다른 것에서 제 1 발생 트랜지션 (1412) 에 응답하여 펄스 (1408) 가 생성된 후에 검출될 수도 있다. 이 예에서, 복구된 클록 주파수는 3상 인터페이스 상에서 심볼들을 송신하는데 사용된 클록 주파수의 2배일 수도 있다.
도 15 는 너무 긴 지연을 제공하는 프로그램가능 지연 회로 (1214) 의 효과를 도시하는 타이밍 다이어그램 (1500) 이다. 이 예에서는, 지속기간 tskew (1504) 의 관찰된 스큐가 있으며 tloop (1506) 은 UI (1502) 보다 크다. CDR 회로 (1200) 는 제 1 UI (1502) 에서 제 1 발생 트랜지션 (1514) 에 응답하여 클록 펄스 (1508) 를 생성할 수도 있지만, 제 2 UI (1512) 에서 트랜지션들 (1516, 1518) 이 발생할 때 rb 신호 (1228) 가 활성일 수도 있다. 도시된 예에서, 제 2 UI (1512) 에서의 트랜지션들 (1516, 1518) 은 마스킹되고, 제 2 UI (1512) 에 대응하는 예상된 펄스 (1510) 는 억제된다. 이 예에서, 복구된 클록 주파수는 3상 인터페이스 상에서 심볼들을 송신하는데 사용된 클록 주파수의 절반일 수도 있다.
도 14 및 도 15 의 예들에 의해 도시된 바와 같이, CDR 회로 (1200) 는 다음의 제약을 받을 수도 있다:
Figure pct00004
경험적 증거는 tloop (1320, 1406, 1506) 가 PVT 에 매우 민감하다는 것을 제안한다. CDR 회로 (1200) 에 대한 tloop (1320) 는 다음과 같이 다시 언급될 수도 있다:
Figure pct00005
루프 시간은 PVT 변동들에 민감한 많은 수의 지연으로 인해 더 높은 심볼 레이트에서 신뢰성에 민감하며, 6-입력 OR 게이트 (1212) 와 연관된 더블 tpgm 지연 및 큰 지연은 CDR 회로 (1200) 에 의해 복구가능한 클록 신호의 최대 주파수를 제한할 수 있다. PVT 의 잠재적 변동들의 범위를 수용하기 위해 프로그램가능 지연 회로 (1214) 에 의해 제공된 지연을 증가시키는 것은 CDR 회로 (1200) 에 의해 복구가능한 클록 신호의 최대 주파수를 추가로 제한하는 역할을 한다.
C-PHY 1.2 사양들 및 C-PHY 2.0 사양들을 포함한 C-PHY 에 대한 최신 구현들 및 제안된 사양들은 수신기에서 클록 신호를 복구하는 종래 CDR 회로의 능력들을 초과할 수 있는 심볼 송신 클록 신호들의 주파수들를 정의한다. 심볼 송신 클록 신호는 심볼 송신의 레이트를 제어하는데 사용되고 UI (1302) 의 지속기간을 결정한다. UI (1302) 의 지속기간은 심볼 송신 클록 신호의 주파수가 증가될 때 감소된다. CDR 회로 (1200) 에서 루프 지연에 의해 도입된 제약은 CDR 회로 (1200) 에 의해 지원될 수 있는 UI (1302) 의 최소 지속기간을 제한하며, 이는 CDR 회로 (1200) 에 의해 지원될 수 있는 심볼 송신 클록 신호의 최대 주파수를 제한한다. 어드밴스드 디바이스 기술을 사용하더라도, CDR 회로 (1200) 의 루프 지연은 특정 PVT 조건들 하에서 300 피코초를 초과할 수 있으며, 이는 종래 C-PHY 애플리케이션들을 초당 2.5 기가심볼의 최대 심볼 송신 레이트로 제한할 수 있다. 일부 구현들에서, CDR 회로 (1200) 에서 루프 지연에 의해 도입된 UI (1302) 의 지속기간에 대한 제약은 종래 CDR 회로 (1200) 를 이후 세대의 C-PHY 사양들에 부합하여야 하는 C-PHY 인터페이스들에서 사용하기에 비효과적으로 만들 수 있다.
심볼 송신 클록의 주파수를 증가시키는 능력은 C-PHY 송신기들 및 수신기들에서 회로들의 역량들에 의해 제한될 수도 있다. 많은 구현들에서, 로직 게이트들에 대해 정의된 스위칭 시간들은 심볼 송신 클록의 최대 주파수를 제한할 수도 있고, 및/또는 더 높은 클록 주파수들에서 심볼들을 송신 또는 수신하는데 사용된 회로들에서 게이트들의 레벨들의 수를 제한할 수도 있다. 일 예에서, 수신기 회로의 로직 회로들을 통한 전파 시간은 수신기에 의해 지원될 수 있는 최소 UI 및/또는 심볼이 신뢰성있게 샘플링될 수 있는 시간 윈도우를 제약할 수 있다. 다른 예에서, 고속 심볼 송신 클록 신호의 생성 및 분배는 달성하기 어려울 수도 있고 및/또는 집적 회로 설계를 복잡하게 할 수도 있다.
본 개시의 소정 양태들에 따라, 증가된 및/또는 최대화된 심볼 송신 레이트들은 하프-레이트 심볼 송신 클록들을 사용하여 달성될 수도 있다. 종래 C-PHY 데이터 경로는 전체-레이트 심볼 송신 클록을 사용하여 동작함으로써, 데이터가 송신기의 심볼 클록 신호 또는 수신기의 심볼 클록 신호의 단일 타입의 에지 상에서 각각 송신 및 샘플링된다. 심볼 클록 신호의 타이밍에 사용된 에지의 타입은 구현에서 채용된 회로 설계에 기초하여, 상승 에지 또는 하강 에지일 수도 있다. 데이터 스루풋은 C-PHY 인터페이스의 심볼 레이트에 의해 결정되며, 여기서 심볼 레이트는 C-PHY 버스를 통해 초 당 송신된 심볼들의 수로서 표현될 수도 있다. 종래의 C-PHY 사양들에 따르면:
심볼 레이트 = 심볼 클록 주파수.
데이터 스루풋은 C-PHY 버스를 통해 송신된 초 당 비트들의 수로서 측정될 수도 있다. 일 예에서, 대략 2.32 비트가 연속적으로 송신된 심볼들 사이의 트랜지션들에서 인코딩될 수 있어서,
데이터 스루풋 = 2.32*(심볼 클록 주파수).
본 개시의 소정의 양태들에 따라 구현된 C-PHY 인터페이스는 C-PHY 데이터 경로에서 타이밍을 제어하기 위해 하프-레이트 심볼 클록 신호를 사용하여 C-PHY 인터페이스의 데이터 스루풋을 증가시킬 수 있다. 일 예에서, 송신기는 심볼 송신 클록 신호의 상승 에지들 및 하강 에지들 상에서 심볼들을 송신할 수 있다. 다른 예에서, 수신기는 심볼 송신 클록 신호의 주파수의 절반인 하프-레이트 심볼 클록 신호를 생성할 수 있고, 생성된 클록 신호의 상승 에지들 및 하강 에지들을 사용하여 C-PHY 인터페이스를 통해 송신된 심볼들을 캡처할 수 있다. 본 개시의 소정의 양태들에 따른 하프-레이트 심볼 클록 신호의 사용은 다음을 제공한다:
심볼 레이트 = 2*(심볼 클록 주파수).
데이터 스루풋은 C-PHY 버스를 통해 송신된 초 당 비트들의 수로서 측정된다. 2.32 비트가 연속적으로 송신된 심볼들 사이의 트랜지션들에서 인코딩될 때:
데이터 스루풋 = 4.64*(심볼 클록 주파수).
일 예에서, 종래의 C-PHY 인터페이스에서 10 GHz 풀-레이트 심볼 클록 신호를 사용하여 획득된 데이터 스루풋은 본 개시의 소정의 양태들에 따라 구현된 C-PHY 인터페이스에서 5 GHz 하프-레이트 심볼 클록 신호를 사용하여 획득될 수 있다.
도 16 은 C-PHY 인터페이스를 통해 송신된 시그널링으로부터 하프-레이트 심볼 클록 신호 (1650) 를 제공하도록 구성되는 클록 복구 회로 (1640) 를 도시한다. 다중 지연 회로들 (1616, 1618, 1620, 1644) 은 차이 신호들 (1602, 1604, 1606) 에서 트랜지션 시간들의 변동들을 마스킹하는데 사용된다. 지연 회로들 (1616, 1618, 1620) 은 차이 신호들 (1602, 1604, 1606) 에서 검출된 트랜지션들을 나타내는 트랜지션 펄스들을 생성하고, 병합하는 펄스 병합 회로 (1600) 에 제공된다. 도 17 은 펄스 병합 회로(1600) 및 클록 복구 회로 (1640) 와 연관된 타이밍을 도시하는 타이밍 다이어그램 (1700) 이다.
펄스 병합 회로 (1600) 는 와이어들 A, B 및 C 의 트리오의 와이어들의 쌍들의 시그널링 상태에서 차이들을 나타내는 차이 신호들 (1602, 1604, 1606) 를 수신한다. 차이 신호들 (1602, 1604, 1606) 은 도 8 에 도시된 차이 신호들 (810a, 810b, 810c) 을 생성하는 차동 수신기들 (802a, 802b 및 802c) 과 같은 차동 수신기들 또는 비교기들로부터 수신될 수도 있다. 펄스 병합 회로 (1600) 는 3개의 배타적-OR 게이트 (1608, 1610, 1612) 및 대응하는 지연 회로들 (1616, 1618, 1620) 을 사용하여 차이 신호들 (1602, 1604, 1606) 에서 발생하는 트랜지션들에 응답하여 트랜지션 펄스들 (1704, 1706, 1708) 을 생성한다. 도시된 타이밍 다이어그램 (1700) 의 예에서, AB 차이 신호 (1602), BC 차이 신호 (1604) 및 CA 차이 신호 (1606) 에서의 트랜지션은 도시된 심볼 경계들 (1710a, 1710b, 1710c, 1710d) 각각에서 발생한다. 차이 신호들 (1602, 1604, 1606) 에서의 트랜지션은 처음 발생 트랜지션와 마지막 발생 트랜지션 사이에서 스큐 (1702) 가 관찰될 수 있도록, 상이한 시간에 발생할 수 있다. 도시된 예에서, 처음 발생 트랜지션은 AB 차이 신호 (1602) 상의 제 1 도시된 심볼 경계 (1710a) 에서 관찰되고 제 1 도시된 심볼 경계 (1710a) 에서의 마지막 발생 트랜지션은 CA 차이 신호 (1606) 상에서 관찰된다. 트랜지션들 사이의 관계는 각각의 심볼 경계 (1710a, 1710b, 1710c, 1710d) 에서 상이할 수 있다. 동작 시, 트랜지션은 하나 이상의 심볼 경계 (1710a, 1710b, 1710c, 1710d) 에서 차이 신호들 (1602, 1604, 1606) 중 하나에 대해 트랜지션이 발생하지 않을 수도 있다.
제 1 배타적-OR 게이트 (1608) 는 AB 차이 신호 (1602) 및 AB-지연 회로 (1616) 에 의해 제공된 AB 차이 신호 (1602) 의 지연된 버전을 수신하고, AB 지연 회로 (1616) 에 의해 도입된 지연의 지속기간에 의해 제어된 지속기간을 갖는 펄스 (1704) 를 포함하는 AB_p 신호 (1622) 를 제공한다. 제 2 배타적-OR 게이트 (1610) 는 BC 차이 신호 (1604) 및 BC-지연 회로 (1618) 에 의해 제공된 BC 차이 신호 (1604) 의 지연된 버전을 수신하고, BC-지연 회로 (1618) 에 의해 도입된 지연의 지속기간에 의해 제어된 지속기간을 갖는 펄스 (1706) 를 포함하는 BC_p 신호 (1624) 를 제공한다. 제 3 배타적-OR 게이트 (1612) 는 CA 차이 신호 (1606) 및 CA-지연 회로 (1620) 에 의해 제공된 CA 차이 신호 (1606) 의 지연된 버전을 수신하고, CA-지연 회로 (1620) 에 의해 도입된 지연의 지속기간에 의해 제어된 지속기간을 갖는 펄스 (1708) 를 포함하는 CA_p 신호 (1626) 를 제공한다. AB_p 신호 (1622), BC_p 신호 (1624) 및 CA_p 신호 (1626) 는 AB_p 신호 (1622), BC_p 신호 (1624) 및 CA_p 신호 (1626) 에서 펄스들 (1704, 1706, 1708) 에 대응하는 조합 펄스들 (1714) 을 포함하는 eg_pulse 신호 (1630) 를 제공하는 OR-게이트 (1614) 에 제공된다. 일부 경우들에서, 펄스들 (1704, 1706, 1708) 중 2 이상이 시간적으로 오버랩할 수도 있고 조합된 펄스들 (1714) 에서 병합될 수도 있다.
eg_pulse 신호 (1630) 는 클록 복구 회로 (1640) 에서 지연 플립플롭 (DFF (1642)) 을 클록한다. eg_pulse 신호 (1630) 에서 각각의 상승 에지는 DFF (1642) 의 D 입력에서 출력 (Q) 까지 반전된, 지연된 하프-레이트 심볼 클록 신호 (1648) 를 클록한다. DFF (1642) 의 출력은 하프-레이트 심볼 클록 신호 (1650)(rclk) 를 제공한다. 지연 회로들 (1616, 1618, 및 1620) 은 예상되거나 관찰된 PVT 조건들 하에서 DFF (1642) 를 클록하기에 충분한 지속기간을 갖는 펄스들 (1704, 1706, 1708) 을 제공하도록 구성될 수도 있다. 예를 들어, 펄스들 (1704, 1706, 1708) 의 지속기간은 클록 펄스에 대한 최소 지속기간에 기초하여 구성될 수도 있다.
클록 복구 회로 (1640) 는 각각의 심볼 경계 (1710a, 1710b, 1710c, 1710d) 에서 상태를 변경하는 하프-레이트 심볼 클록 신호 (1650) 를 제공하도록 구성된다. 예를 들어, 반전된, 지연된 하프-레이트 심볼 클록 신호 (1648) 는 제 1 심볼 경계 (1710a) 에서 로직 1 상태에 있는 한편, 하프-레이트 심볼 클록 신호 (1650) 는 로직 0 에 있다. 제 1 차이 펄스 (1704) 에 대응하는 조합된 펄스들 (1714) 에서의 제 1 상승 에지는 DFF (1642) 의 Q 출력을 통해 로직 1 레벨을 클록하여, 하프-레이트 심볼 클록 신호 (1650) 가 로직 1 상태로 트랜지션하게 한다. 지연 회로 (1644) 및 인버터 (1646) 의 조합은 하프-레이트 심볼 클록 신호 (1650) 에서 트랜지션을 지연시키고 반전된, 지연된 하프-레이트 심볼 클록 신호 (1648) 가 상승 지연 (1720) 후에 로직 0 상태로 트랜지션하게 한다. 상승 지연 (1720) 의 지속기간은 제 1 심볼 경계 (1710a) 에 대응하는 차이 펄스들 (1706, 1708) 이 하프-레이트 심볼 클록 신호 (1650) 의 상태에 영향을 미치지 않도록 eg_pulse 신호 (1630) 의 부가 에지들을 마스킹하도록 구성된다.
제 2 심볼 경계 (1710b) 에 대응하는 조합된 펄스들 (1714) 에서의 제 1 상승 에지는 DFF (1642) 의 Q 출력을 통해 반전된, 지연된 하프-레이트 심볼 클록 신호 (1648) 의 로직 0 레벨을 클록하여, 하프-레이트 심볼 클록 신호 (1650) 가 로직 0 상태로 트랜지션하게 한다. 하강 지연 (1722) 의 지속기간은 제 2 심볼 경계 (1710b) 에 대응하는 차이 펄스들이 하프-레이트 심볼 클록 신호 (1650) 의 상태에 영향을 미치지 않도록 eg_pulse 신호 (1630) 에서 부가 에지들을 마스킹하도록 구성된다. 지연 회로 (1644) 는 상승 지연 (1720) 및 하강 지연 (1722) 의 매칭 지속기간을 제공하도록 구성된다. 지연 회로 (1644) 의 구성은 상승 지연(1720) 및 하강 지연 (1722) 의 지속기간들을 매칭시키고 심볼 경계들 (1710a, 1710b, 1710c, 1710d) 에서 부가 펄스들을 마스킹할 필요성으로 제약된다.
클록 복구 회로 (1640) 의 최대 동작 주파수 및 대응하는 최소 UI 는 클록 복구 회로 (1640) 및 펄스 병합 회로 (1600) 와 연관된 타이밍 제약들에 의해 결정될 수도 있다. 타이밍 제약은 다음과 같이 언급될 수 있다:
Figure pct00006
많은 구현들에서, 매칭하는 rise_dly 및 fall_dly 지속기간 제약은 듀플리케이트 지연 셀들을 필요로 하고 2개의 지연 셀의 고유 지연은 상당히 클 수 있다. 일부 경우들에서, 지연 회로 (1644) 에서의 지연 셀들은 전체 지연이 크고 더 새로운 C-PHY 구현들에 적합하지 않게 하는 지연 지속기간과 연관된다.
도 18 은 C-PHY 인터페이스를 통해 송신된 시그널링으로부터 하프-레이트 심볼 클록 신호 (1850) 를 제공하도록 구성되는 CDR 회로 (1840) 를 도시한다. 지연 회로들 (1816, 1818, 1820) 은 차이 신호들 (1802, 1804, 1806) 에서 검출된 트랜지션들을 나타내는 트랜지션 펄스들을 생성하고, 병합하는 펄스 병합 회로 (1800) 에 제공된다. 도 19 는 펄스 병합 회로 (1800) 및 CDR 회로 (1840) 와 연관된 타이밍을 도시하는 타이밍 다이어그램 (1900) 이다.
펄스 병합 회로 (1800) 는 와이어들 A, B 및 C 의 트리오의 와이어들의 쌍들의 시그널링 상태에서 차이들을 나타내는 차이 신호들 (1802, 1804, 1806) 를 수신한다. 차이 신호들 (1802, 1804, 1806) 은 도 8 에 도시된 차이 신호들 (810a, 810b, 810c) 을 생성하는 차동 수신기들 (802a, 802b 및 802c) 과 같은 차동 수신기들 또는 비교기들로부터 수신될 수도 있다. 펄스 병합 회로 (1800) 는 3개의 배타적-OR 게이트들 (1808, 1810, 1812) 및 대응하는 지연 회로들 (1816, 1818 및 1820) 을 사용하여 차이 신호들 (1802, 1804, 1806) 에서 발생하는 트랜지션들에 응답하여 트랜지션 펄스들 (1904, 1906, 1908) 을 생성한다. 도시된 타이밍 다이어그램 (1900) 의 예에서, AB 차이 신호 (1802), BC 차이 신호 (1804) 및 CA 차이 신호 (1806) 에서의 트랜지션은 도시된 심볼 경계들 (1910a, 1910b, 1910c, 1910d) 각각에서 발생한다.
차이 신호들 (1802, 1804, 1806) 에서의 트랜지션들은, 처음 발생 트랜지션과 마지막 발생 트랜지션 사이에서 타이밍 스큐 (1902) 가 관찰될 수 있도록 상이한 시간들에 발생할 수 있다. 도시된 예에서, 처음 발생 트랜지션은 AB 차이 신호 (1802) 상의 제 1 도시된 심볼 경계 (1910a) 에서 관찰되고 제 1 도시된 심볼 경계 (1910a) 에서의 마지막 발생 트랜지션은 CA 차이 신호 (1806) 상에서 관찰된다. 트랜지션들 사이의 관계는 각각의 심볼 경계 (1910a, 1910b, 1910c, 1910d) 에서 상이할 수 있다. 동작 시, 트랜지션은 하나 이상의 심볼 경계 (1910a, 1910b, 1910c, 1910d) 에서 차이 신호들 (1802, 1804, 1806) 중 하나에 대해 트랜지션이 발생하지 않을 수도 있다.
제 1 배타적-OR 게이트 (1808) 는 AB 차이 신호 (1802) 및 AB-지연 회로 (1816) 에 의해 제공된 AB 차이 신호 (1802) 의 지연된 버전을 수신하고, AB 지연 회로 (1816) 에 의해 도입된 지연의 지속기간에 의해 제어된 지속기간을 갖는 펄스 (1904) 를 포함하는 AB_p 신호 (1822) 를 제공한다. 제 2 배타적-OR 게이트 (1810) 는 BC 차이 신호 (1804) 및 BC-지연 회로 (1818) 에 의해 제공된 BC 차이 신호 (1804) 의 지연된 버전을 수신하고, BC-지연 회로 (1818) 에 의해 도입된 지연의 지속기간에 의해 제어된 지속기간을 갖는 펄스 (1906) 를 포함하는 BC_p 신호 (1824) 를 제공한다. 제 3 배타적-OR 게이트 (1812) 는 CA 차이 신호 (1806) 및 CA-지연 회로 (1820) 에 의해 제공된 CA 차이 신호 (1806) 의 지연된 버전을 수신하고, CA-지연 회로 (1820) 에 의해 도입된 지연의 지속기간에 의해 제어된 지속기간을 갖는 펄스 (1908) 를 포함하는 CA_p 신호 (1826) 를 제공한다. AB_p 신호 (1822), BC_p 신호 (1824) 및 CA_p 신호 (1826) 는 eg_pulse 신호 (1830) 를 제공하는 OR-게이트 (1814) 에 제공된다.
지연 회로들 (1816, 1818, 1820) 의 각각은 대응하는 차이 신호 (1802, 1804, 1806) 에 대해 측정된 타이밍 스큐 (1902) 의 지속기간을 초과하는 지연을 제공하도록 구성 및/또는 교정될 수도 있다. 예를 들어, AB-지연 회로 (1816) 에 의해 제공된 지연의 지속기간은 AB 차이 신호 (1802) 에서의 트랜지션들과 BC 차이 신호 (1804) 및/또는 CA 차이 신호 (1806) 에서의 트랜지션들 사이의 타이밍 스큐 (1902) 의 지속기간을 초과하도록 구성 또는 조정될 수도 있다. 결과적인 펄스들 (1904, 1906 및/또는 1908) 은 OR-게이트 (1814) 가 각각의 심볼 경계 (1910a, 1910b, 1910c, 1910d) 에 대해 eg_pulse 신호 (1830) 에 조합된 펄스 (1914) 를 제공하도록 오버랩된다. 지연 회로들 (1816, 1818, 1820) 은 PVT 조건들에서의 변동들과 연관된 다른 변동들 및 타이밍을 수용하도록 재구성 및/또는 재교정될 수도 있다.
eg_pulse 신호 (1830) 는 CDR 회로 (1840) 에서 지연 플립플롭 (DFF (1842)) 을 클록한다. eg_pulse 신호 (1830) 에서 각각의 상승 에지는 DFF (1842) 의 D 입력에서 출력 (Q) 까지 하프-레이트 심볼 클록 신호 (rclk)(1850) 의 반전된 버전 (rclk_inv 신호 (1846)) 를 클록한다. DFF (1842) 의 출력은 하프-레이트 심볼 클록 신호 (1850) 를 제공한다. 지연 회로들 (1816, 1818, 및 1820) 은 예상되거나 측정된 PVT 조건들에 대해 스큐 (1702) 의 지속기간을 초과하기에 충분한 최소 지속기간을 갖는 펄스들 (1904, 1906, 1908) 을 제공하도록 구성될 수도 있다.
CDR 회로 (1840) 는 각각의 심볼 경계 (1910a, 1910b, 1910c, 1910d) 에서 상태를 변경하는 하프-레이트 심볼 클록 신호 (1850) 를 제공하도록 구성된다. 예를 들어, rclk_inv 신호 (1846) 는 제 1 심볼 경계 (1910a) 에서 로직 1 상태에 있는 한편, 하프-레이트 심볼 클록 신호 (1850) 는 로직 0 에 있다. eg_pulse 신호 (1830) 에서의 조합된 펄스 (1914) 의 상승 에지는 DFF (1842) 의 Q 출력을 통해 로직 1 레벨을 클록하여, 하프-레이트 심볼 클록 신호 (1850) 가 로직 1 상태로 트랜지션하게 한다. 인버터 (1844) 는 최소 지연으로 하프-레이트 심볼 클록 신호 (1850) 로부터 rclk_inv 신호 (1846) 를 생성한다.
차이 신호들 (1802, 1804, 1806) 사이의 스큐를 수용하는데 사용된 지연 마스크는 펄스 병합 회로 (1800) 에 제공되고, CDR 회로 (1840) 외부에 있다. 따라서, CDR 회로 (1840) 는 클록 신호에 제공된 신호의 에지에 응답하여 매우 빠르게 스위칭할 수 있는 사실상 개방 루프 회로이다. CDR 회로 (1840) 의 최대 동작 주파수 및 대응하는 최소 UI 는 타이밍 제약들에 의해 결정될 수도 있다:
dly > skew, 그리고
dly + skew < 1UI
여기서 dly 는 지연 회로들 (1816, 1818 및 1820) 에 의해 제공된 최대 지연의 지속기간을 나타낸다.
CDR 회로 (1840) 는 C-PHY 프로토콜들에 따라 3 와이어 버스를 통해 송신된 신호들에서 인코딩된 데이터를 디코딩하는데 사용된 하나 이상의 회로를 포함하거나 이에 커플링될 수도 있다. 예를 들어, 하프-레이트 심볼 클록 신호 (1850) 는 각각의 심볼 경계 (1910a, 1910b, 1910c, 1910d) 에서 3개의 차이 신호 (1802, 1804, 1806) 를 나타내는 심볼들의 캡처를 제어하는데 사용될 수도 있다. 일 예에서, 3개의 차이 신호 (1802, 1804, 1806) 의 상태를 정의하는 원시 심볼들이 캡처될 수도 있다. 다른 예에서, FRP 심볼들은 3개의 차이 신호 (1802, 1804, 1806) 의 상태에 기초하여 생성되고 캡처될 수도 있다.
도시된 예에서, CDR 회로 (1840) 는 하프 레이트 심볼 클록 신호 (1850) 의 에지 또는 하프 레이트 클록 신호 (1850) 의 도함수에서 캡처를 가능하게 하기 위해 차이 신호들 (1802, 1804, 1806) 을 지연시키거나 그렇지 않으면 정렬하는데 사용될 수도 있다. 정렬된 차이 신호들은 하프 레이트 심볼 클록 신호 (1850) 의 상승 에지 및 하강 에지 양자 모두에서 심볼 스트림 (1854) 으로부터 원시 심볼들을 캡처하도록 구성되는 레지스터들의 세트 (1856) 에 대한 3-비트 원시 심볼의 심볼 스트림 (1854) 을 생성하는데 사용될 수도 있다. 일 예에서, 레지스터들의 세트 (1856) 는 하프 레이트 심볼 클록 신호 (1850) 의 상승 에지들로부터 도출된 타이밍에 기초하여 심볼 스트림 (1854) 으로부터 심볼들을 캡처하는 제 1 레지스터들 및 rclk_inv 신호 (1846) 의 상승 에지들로부터 도출된 타이밍에 기초하여 심볼 스트림 (1854) 으로부터 심볼들을 캡처하는 제 2 레지스터들을 포함할 수도 있다. 레지스터들의 세트 (1856) 는 하나 이상의 3-비트 시프트 레지스터를 포함할 수도 있고 및/또는 선입, 선출 (first-in, first-out)(FIFO) 버퍼로서 구성될 수도 있으며, 이는 , 레지스터들의 세트 (1856) 에서 상이한 레지스터들로부터 어셈블링된 심볼들 (1860) 의 시퀀스를 제공한다.
프로세싱 회로들 및 방법들의 예들
도 20 은 본 명세서에 개시된 하나 이상의 기능들을 수행하도록 구성될 수도 있는 프로세싱 회로 (2002) 를 채용하는 장치 (2000) 에 대한 하드웨어 구현의 예를 도시한다. 본 개시의 다양한 양태들에 따라, 본 명세서에 개시된 바와 같은 엘리먼트, 엘리먼트의 임의의 부분, 또는 엘리먼트들의 임의의 조합은 프로세싱 회로 (2002) 를 사용하여 구현될 수도 있다. 프로세싱 회로 (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) 는 송신 매체를 통해 다양한 다른 장치와 통신하기 위한 수단을 제공한다. 장치 (2000) 의 성질에 따라, 사용자 인터페이스 (2018) (예를 들어, 키패드, 디스플레이, 스피커, 마이크로폰, 조이스틱) 가 또한 제공될 수도 있고, 버스 (2010) 에 직접 또는 버스 인터페이스 (2008) 를 통해 통신가능하게 커플링될 수도 있다.
프로세서 (2004) 는 프로세서 판독가능 저장 매체 (2006) 를 포함할 수도 있는 컴퓨터 판독가능 매체에 저장된 소프트웨어의 실행을 포함할 수도 있는 일반 프로세싱 및 버스 (2010) 의 관리를 담당할 수도 있다. 이러한 관점에서, 프로세서 (2004) 를 포함하는, 프로세싱 회로 (2002) 는 본 명세서에 개시된 방법들, 기능들, 및 기법들 중 임의의 것을 구현하는데 사용될 수도 있다. 프로세서 판독가능 저장 매체 (2006) 는 소프트웨어를 실행할 때 프로세서 (2004) 에 의해 조작되는 데이터를 저장하는데 사용될 수도 있고, 소프트웨어는 본 명세서에 개시된 방법들 중 어느 하나를 구현하도록 구성될 수도 있다.
프로세싱 회로 (2002) 에서 하나 이상의 프로세서 (2004) 는 소프트웨어를 실행할 수도 있다. 소프트웨어는 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어, 또는 다른 것으로 지칭되든지 간에, 명령들, 명령 세트들, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 애플리케이션들, 소프트웨어 애플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 오브젝트들, 실행가능물들, 실행 스레드들, 프로시저들, 함수들, 알고리즘들 등을 의미하도록 폭넓게 해석되어야 한다. 소프트웨어는 프로세서 판독가능 저장 매체 (2006) 에서 또는 다른 외부 프로세서 판독가능 매체에서 컴퓨터 판독가능 형태로 상주할 수도 있다. 프로세서 판독가능 저장 매체 (2006) 는 비일시적 컴퓨터 판독가능 매체를 포함할 수도 있다. 비일시적 프로세서 판독가능 매체는 예로서, 자기 저장 디바이스 (예를 들어, 하드 디스크, 플로피 디스크, 자기 스트립), 광학 디스크 (예를 들어, 컴팩트 디스크 (CD) 또는 디지털 다기능 디스크 (DVD)), 스마트 카드, 플래시 메모리 디바이스 (예를 들어, "플래시 드라이브", 카드, 스틱, 또는 키 드라이브), 랜덤 액세스 메모리 (RAM), ROM, PROM, 소거가능한 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) 을 사용하여 구현될 수도 있고, 이에 의해 각각의 태스크는 임의의 중요한 동작들의 완료 시 및/또는 인터럽트와 같은 입력에 응답하여, 하나 이상의 프로세서 (2004) 의 제어를 시간공유 프로그램 (2020) 으로 리턴한다. 태스크가 하나 이상의 프로세서 (2004) 의 제어를 가질 경우, 프로세싱 회로는 제어 태스크와 연관된 기능에 의해 어드레싱되는 목적들을 위해 효과적으로 특수화된다. 시간공유 프로그램 (2020) 은 오퍼레이팅 시스템, 라운드-로빈 기반으로 제어를 전송하는 메인 루프, 기능들의 우선순위화에 따라 하나 이상의 프로세서 (2004) 의 제어를 할당하는 기능, 및/또는 하나 이상의 프로세서 (2004) 의 제어를 핸들링 기능에 제공함으로써 외부 이벤트들에 응답하는 인터럽트 구동 메인 루프를 포함할 수도 있다.
도 21 은 3-와이어 C-PHY 인터페이스에 커플링된 수신 디바이스에서 구현될 수도 있는 클록 복구 방법의 플로우챠트 (2100) 이다. 블록 (2102) 에서, 수신 디바이스는 하나 이상의 트랜지션 펄스를 포함하는 조합 신호를 생성할 수도 있다. 각각의 트랜지션 펄스는 3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 차이 신호의 트랜지션에 응답하여 생성된다. 블록 (2104) 에서, 수신 디바이스는 클록 신호를 그의 출력으로서 제공하도록 구성되는 지연 플립플롭에 조합 신호를 제공할 수도 있다. 조합 신호에서의 펄스들은 클록 신호로 하여금 제 1 상태로 구동되게 한다. 블록 (2106) 에서, 수신 디바이스는 지연 플립플롭에 리셋 신호를 제공할 수도 있다. 리셋 신호는 부가된 지연 없이 제 1 상태로부터의 트랜지션들을 전달하면서 제 1 상태로의 트랜지션들을 지연시킴으로써 클록 신호로부터 도출된다. 클록 신호는 제 1 상태로의 신호 트랜지션들을 리셋할 때 제 1 상태로부터 구동된다.
수신 디바이스는 제 1 차이 신호 및 제 1 차이 신호의 지연된 버전에 대해 배타적 OR-게이트 기능을 수행함으로써 제 1 차이 신호에 대한 트랜지션 펄스를 생성할 수도 있다. 수신 디바이스는 지연 플립플롭에 대해 정의된 최소 클록 펄스 지속기간에 기초한 지속기간을 갖는 대응하는 트랜지션 펄스를 제공하도록 적어도 하나의 펄스 생성 회로를 구성할 수도 있다. 수신 디바이스는 3-와이어 버스의 동작 조건들에 기초하여 적어도 하나의 펄스 생성 회로를 교정할 수도 있다. 수신 디바이스는 제 1 상태로의 트랜지션들에 적용된 지연의 원하는 지속기간을 제공하도록 비대칭 지연을 구성할 수도 있다. 일 예에서, 비대칭 지연 회로는 로우 로직 상태에서 하이 로직 상태로의 트랜지션들을 지연하도록 구성된 상승-에지 지연 회로로서 구현된다. 상승-에지 지연 회로는 추가로 부가된 지연 없이 하이 로직 상태에서 로우 로직 상태로의 트랜지션들을 전달하도록 구성될 수도 있다.
다양한 구현들에서, 클록 신호는 클록 신호에서 제공된 타이밍 정보에 기초하여 3-와이어 버스의 시그널링 상태의 트랜지션들로부터 심볼들을 디코딩하도록 구성된 와이어 상태 디코더에 제공될 수도 있다.
도 22 는 프로세싱 회로 (2202) 를 채용하는 장치 (2200) 에 대한 하드웨어 구현의 예를 도시하는 다이어그램이다. 프로세싱 회로 (2202) 는 통상적으로 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서, 시퀀서, 및 상태 머신 중 하나 이상을 포함할 수도 있는 적어도 하나의 프로세서 (2216) 를 갖는다. 프로세싱 회로 (2202) 는 버스 (2220) 에 의해 일반적으로 나타낸, 버스 아키텍처로 구현될 수도 있다. 버스 (2220) 는 프로세싱 회로 (2202) 의 특정 애플리케이션 및 전체 설계 제약들에 의존하여 임의의 수의 상호접속 버스들 및 브리지들을 포함할 수도 있다. 버스 (2220) 는 프로세서 (2216), 모듈들 또는 회로들 (2204, 2206, 및 2208) 로 나타낸 하나 이상의 프로세서 및/또는 하드웨어 모듈, 커넥터 또는 와이어 (2214) 의 상이한 쌍들과 프로세서 판독가능 저장 매체 (2218) 사이의 시그널링 상태의 차이들을 나타내는 차이 신호들 (2222) 을 생성하는 차이 수신기 회로들 (2212) 을 포함하는 다양한 회로들을 함께 링크한다. 버스 (2220) 는 또한 다양한 다른 회로들, 에컨대 타이밍 소스들, 주변기기들, 전압 레귤레이터들, 및 전력 관리 회로들을 링크할 수도 있으며, 이는 종래에 잘 알려져 있으므로, 더 이상 설명되지 않을 것이다.
프로세서 (2216) 는 프로세서 판독가능 저장 매체 (2218) 상에 저장된 소프트웨어의 실행을 포함하는, 일반 프로세싱을 담당한다. 소프트웨어는 프로세서 (2216) 에 의해 실행될 때, 프로세싱 회로 (2202) 로 하여금 임의의 특정한 장치에 대해 위에 설명된 다양한 기능들을 수행하게 한다. 프로세서 판독가능 저장 매체 (2218) 는 또한 C-PHY 버스로서 구성될 수도 있는 커넥터들 또는 와이어들 (2214) 상에서 송신된 심볼들로부터 디코딩된 데이터를 포함하는, 소프트웨어를 실행할 때 프로세서 (2216) 에 의해 조작되는 데이터를 저장하는데 사용될 수도 있다. 프로세싱 회로 (2202) 는 모듈들 (2204, 2206 및 2208) 중 적어도 하나를 더 포함한다. 모듈들 (2204, 2206 및 2208) 은 프로세서 판독가능 저장 매체 (2218) 상에 상주/저장되는, 프로세서 (2216) 에서 실행되는 소프트웨어 모듈들, 프로세서 (2216) 에 커플링된 하나 이상의 하드웨어 모듈들, 또는 이들의 일부 조합일 수도 있다. 모듈들 (2204, 2206, 및/또는 2208) 은 마이크로제어기 명령들, 상태 머신 구성 파라미터들, 또는 이들의 일부 조합을 포함할 수도 있다.
일 구성에서, 장치 (2200) 는 C-PHY 인터페이스 프로토콜에 따른 데이터 통신을 위해 구성될 수도 있다. 장치 (2200) 는 차이 신호들 (2222) 의 시그널링 상태의 트랜지션들에 응답하여 트랜지션 펄스들을 생성하도록 구성된 모듈들 및/또는 회로들 (2208), 3-와이어 버스의 시그널링 상태에서의 트랜지션들로부터 심볼들을 디코딩하는데 사용가능한 클록 신호를 생성하도록 구성되는 모듈들 및/또는 회로들 (2206), 및 트랜지션 펄스들 및/또는 수신 클록을 생성하는데 사용된 지연 지속기간들을 구성하기 위한 구성 모듈들 및/또는 회로들 (2204) 을 포함할 수도 있다.
일 예에서, 장치 (2200) 는 복수의 펄스 생성 회로, 제 1 로직 회로 및 지연 플립플롭을 갖는다. 펄스 생성 회로들 각각은 3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 차이 신호 (2222) 에서의 트랜지션에 응답하여 트랜지션 펄스를 생성하도록 구성된다. 제 1 로직 회로는 복수의 펄스 생성 회로로부터 수신된 하나 이상의 트랜지션 펄스를 조합함으로써 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공하도록 구성된다. 지연 플립플롭은 클록 복구 장치에 의해 출력되는 클록 신호의 시그널링 상태를 변경함으로써 조합 신호에서의 각 펄스에 응답한다. 심볼들은 C-PHY 프로토콜에 따라 3-와이어 버스를 통해 순차적으로 송신될 수도 있다.
각각의 펄스 생성 회로는 3개의 차이 신호 중 하나를 지연시켜 지연된 차이 신호를 제공하도록 구성된 지연 회로, 및 3개의 차이 신호 중 하나 및 지연된 차이 신호에 대해 배타적 논리합 (OR) 기능을 수행하여 트랜지션 펄스를 제공하도록 구성된 제 2 로직 회로를 가질 수도 있다. 지연 회로는 3개의 차이 신호 중 2개 사이의 스큐 지속기간을 초과하는 지연을 제공하도록 구성될 수도 있다. 지연 회로는 PVT 조건들에서의 변동들을 수용하는 지연을 제공하도록 구성가능할 수도 있다. 트랜지션 펄스는 구성가능한 지속기간을 가질 수도 있다. 지연 플립플롭은 입력으로서 클록 신호의 역을 수신할 수도 있다. 일 예에서, 클록 신호에서의 상승 에지는 3-와이어 버스로부터 제 1 심볼을 캡처하는데 사용될 수 있고, 클록 신호의 역에서의 상승 에지는 3-와이어 버스로부터 제 2 심볼을 캡처하는데 사용될 수 있다. 다른 예에서, 클록 신호에서의 하강 에지는 3-와이어 버스로부터 제 1 심볼을 캡처하는데 사용될 수 있고, 클록 신호의 역에서의 하강 에지는 3-와이어 버스로부터 제 2 심볼을 캡처하는데 사용될 수 있다. 다른 예에서, 클록 신호에서의 상승 에지는 3-와이어 버스로부터 제 1 심볼을 캡처하는데 사용될 수 있고, 클록 신호에서의 하강 에지는 3-와이어 버스로부터 제 2 심볼을 캡처하는데 사용될 수 있다.
프로세서 판독가능 저장 매체 (2218) 는 비일시적 저장 매체일 수도 있고, 명령들 및/또는 코드를 저장할 수도 있으며, 명령들 및/또는 코드는, 프로세서 (2216) 에 의해 실행될 때, 프로세싱 회로 (2202) 로 하여금, 3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 3개의 차이 신호 중 하나에서의 트랜지션에 응답하여 트랜지션 펄스를 생성하게 하고, 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 생성된 하나 이상의 트랜지션 펄스를 조합함으로써 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공하게 하며, 그리고 조합 신호에서의 각 펄스에 응답하여 클록 신호의 시그널링 상태가 변경되도록 조합 신호로 지연 플립플롭을 클록하게 한다. 하나 이상의 차이 신호에서의 트랜지션들은 상기 3-와이어 버스를 통해 순차적으로 송신되는 심볼들 사이의 경계들에서 발생할 수 있다.
소정의 구현들에서, 명령들은 프로세싱 회로 (2202) 로 하여금 3개의 차이 신호 중 하나를 지연시켜 지연된 차이 신호를 제공하게 하고, 지연된 차이 신호 및 3개의 차이 신호 중 하나에 대해 배타적 논리합 (OR) 기능을 수행하여 트랜지션 펄스를 획득하게 할 수도 있다. 명령들은 프로세싱 회로 (2202) 로 하여금 3개의 차이 신호 중 2개 사이의 스큐 지속기간을 초과하는 지속기간만큼 3개의 차이 신호 중 하나를 지연시키게 할 수도 있다. 명령들은 프로세싱 회로 (2202) 로 하여금 PVT 조건들에서의 변동들을 수용하는 지속기간만큼 3개의 차이 신호 중 하나를 지연시키게 할 수도 있다. 트랜지션 펄스는 구성가능한 지속기간을 가질 수 있다. 명령들은 프로세싱 회로 (2202) 로 하여금 클록 신호의 역을 지연 플립플롭에 대한 입력으로서 제공하게 하고, 클록 신호에서의 상승 에지를 사용하여 3-와이어 버스로부터 제 1 심볼을 캡처하게 하며, 그리고 클록 신호에서의 하강 에지를 사용하여 제 2 심볼을 캡처하게 할 수도 있다.
개시된 프로세스들에서의 단계들의 특정 순서 또는 계위는 예시적인 접근법들의 예시임이 이해된다. 설계 선호도들에 기초하여, 프로세스들에서의 단계들의 특정 순서 또는 계위는 재배열될 수도 있음이 이해된다. 또한, 일부 단계들은 조합 또는 생략될 수도 있다. 첨부의 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제시하며, 제시된 특정 순서 또는 계위로 제한되도록 의도되지 않는다.
이전의 설명은 당업자가 본 명세서에서 설명된 다양한 양태들을 실시하는 것을 가능하게 하기 위해 제공된다. 이들 양태들에 대한 다양한 수정들은 당업자에게 쉽게 자명할 것이며, 본 명세서에 정의된 일반적인 원리들은 다른 양태들에 적용될 수도 있다. 따라서, 청구항들은 본 명세서에 나타낸 양태들에 제한되도록 의도되는 것이 아니라, 청구항 언어에 부합하는 전체 범위가 부여되어야 하며, 단수형 엘리먼트에 대한 언급은, 특별히 그렇게 언급되지 않았으면, "하나 및 오직 하나만" 을 의미하도록 의도되는 것이 아니라 오히려 "하나 이상" 을 의미하도록 의도된다. 특별히 달리 언급되지 않으면, 용어 "일부" 는 하나 이상을 지칭한다. 당업자들에게 알려져 있거나 또는 나중에 알려지게 될 본 개시 전체에 걸쳐 설명된 다양한 양태들의 엘리먼트들에 대한 모든 구조적 및 기능적 등가물들은 본 명세서에 참조로 명백히 통합되고 청구항들에 의해 포괄되도록 의도된다. 또한, 본 명세서에 개시된 어느 것도 이러한 개시가 청구항들에서 명시적으로 인용되는지 여부에 관계없이 공중에 전용되도록 의도되지 않는다. 어떠한 청구항 엘리먼트도 그 엘리먼트가 구절 "위한 수단" 을 이용하여 명백하게 인용되지 않는 한 수단 플러스 기능으로서 해석되지 않아야 한다.

Claims (30)

  1. 클록 복구 장치로서,
    복수의 펄스 생성 회로로서, 각각의 펄스 생성 회로는 3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 3개의 차이 신호 중 하나에서의 트랜지션에 응답하여 트랜지션 펄스를 생성하도록 구성되고, 하나 이상의 차이 신호에서의 트랜지션들은 상기 3-와이어 버스를 통해 순차적으로 송신되는 심볼들 사이의 경계들에서 발생하는, 상기 복수의 펄스 생성 회로;
    상기 복수의 펄스 생성 회로로부터 수신된 하나 이상의 트랜지션 펄스를 조합함으로써 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공하도록 구성된 제 1 로직 회로; 및
    상기 클록 복구 장치에 의해 출력되는 클록 신호의 시그널링 상태를 변경함으로써 상기 조합 신호에서의 각 펄스에 응답하도록 구성된 지연 플립플롭을 포함하는, 클록 복구 장치.
  2. 제 1 항에 있어서,
    각각의 펄스 생성 회로는:
    3개의 차이 신호 중 하나를 지연시켜 지연된 차이 신호를 제공하도록 구성된 지연 회로; 및
    상기 3개의 차이 신호 중 상기 하나 및 지연된 상기 차이 신호에 대해 배타적 논리합 (OR) 기능을 수행하여 상기 트랜지션 펄스를 제공하도록 구성된 제 2 로직 회로를 포함하는, 클록 복구 장치.
  3. 제 2 항에 있어서,
    상기 지연 회로는 상기 3개의 차이 신호 중 2개 사이의 스큐 지속기간을 초과하는 지연을 제공하도록 구성되는, 클록 복구 장치.
  4. 제 2 항에 있어서,
    상기 지연 회로는 제조 프로세스, 회로 공급 전압, 및 다이 온도 (PVT) 조건들에서의 변동들을 수용하는 지연을 제공하도록 구성가능한, 클록 복구 장치.
  5. 제 4 항에 있어서,
    상기 트랜지션 펄스는 구성가능한 지속기간을 갖는, 클록 복구 장치.
  6. 제 1 항에 있어서,
    상기 지연 플립플롭은 입력으로서 상기 클록 신호의 역을 수신하는, 클록 복구 장치.
  7. 제 6 항에 있어서,
    상기 클록 신호에서의 상승 에지는 상기 3-와이어 버스로부터 제 1 심볼을 캡처하는데 사용되고, 상기 클록 신호의 역에서의 상승 에지는 상기 3-와이어 버스로부터 제 2 심볼을 캡처하는데 사용되는, 클록 복구 장치.
  8. 제 6 항에 있어서,
    상기 클록 신호에서의 하강 에지는 상기 3-와이어 버스로부터 제 1 심볼을 캡처하는데 사용되고, 상기 클록 신호의 역에서의 하강 에지는 상기 3-와이어 버스로부터 제 2 심볼을 캡처하는데 사용되는, 클록 복구 장치.
  9. 제 6 항에 있어서,
    상기 클록 신호에서의 상승 에지는 상기 3-와이어 버스로부터 제 1 심볼을 캡처하는데 사용되고, 상기 클록 신호에서의 하강 에지는 상기 3-와이어 버스로부터 제 2 심볼을 캡처하는데 사용되는, 클록 복구 장치.
  10. 제 1 항에 있어서,
    상기 심볼들은 C-PHY 프로토콜에 따라 상기 3-와이어 버스를 통해 순차적으로 송신되는, 클록 복구 장치.
  11. 클록 복구 방법으로서,
    3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 3개의 차이 신호 중 하나에서의 트랜지션에 응답하여 트랜지션 펄스를 생성하는 단계로서, 하나 이상의 차이 신호에서의 트랜지션들은 상기 3-와이어 버스를 통해 순차적으로 송신되는 심볼들 사이의 경계들에서 발생하는, 상기 트랜지션 펄스를 생성하는 단계;
    순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 생성된 하나 이상의 트랜지션 펄스를 조합함으로써 상기 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공하는 단계; 및
    상기 조합 신호에서의 각 펄스에 응답하여 클록 신호의 시그널링 상태가 변경되도록 상기 조합 신호로 지연 플립플롭을 클록하는 단계를 포함하는, 클록 복구 방법.
  12. 제 11 항에 있어서,
    상기 조합 신호에서의 상기 단일 펄스를 제공하는 단계는:
    3개의 차이 신호 중 하나를 지연시켜 지연된 차이 신호를 제공하는 단계; 및
    3개의 차이 신호 중 상기 하나와 상기 지연된 차이 신호에 대해 배타적 논리합 (OR) 기능을 수행하여 트랜지션 펄스를 획득하는 단계를 포함하는, 클록 복구 방법.
  13. 제 12 항에 있어서,
    상기 3개의 차이 신호 중 2개 사이의 스큐 지속기간을 초과하는 지속기간만큼 3개의 차이 신호 중 상기 하나를 지연시키는 단계를 더 포함하는, 클록 복구 방법.
  14. 제 12 항에 있어서,
    제조 프로세스, 회로 공급 전압, 및 다이 온도 (PVT) 조건들에서의 변동들을 수용하는 지속기간만큼 3개의 차이 신호 중 상기 하나를 지연시키는 단계를 더 포함하는, 클록 복구 방법.
  15. 제 11 항에 있어서,
    상기 트랜지션 펄스는 구성가능한 지속기간을 갖는, 클록 복구 방법.
  16. 제 11 항에 있어서,
    상기 클록 신호의 역을 입력으로서 상기 지연 플립플롭에 제공하는 단계를 더 포함하는, 클록 복구 방법.
  17. 제 16 항에 있어서,
    상기 3-와이어 버스로부터 제 1 심볼을 캡처하기 위해 상기 클록 신호에서의 상승 에지를 사용하는 단계; 및
    상기 3-와이어 버스로부터 제 2 심볼을 캡처하기 위해 상기 클록 신호에서의 하강 에지를 사용하는 단계를 더 포함하는, 클록 복구 방법.
  18. 제 11 항에 있어서,
    상기 심볼들은 C-PHY 프로토콜에 따라 상기 3-와이어 버스를 통해 순차적으로 송신되는, 클록 복구 방법.
  19. 하나 이상의 명령을 갖는 프로세서 판독가능 저장 매체로서,
    상기 하나 이상의 명령은 수신기에서의 프로세싱 회로의 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금:
    3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 3개의 차이 신호 중 하나에서의 트랜지션에 응답하여 트랜지션 펄스를 생성하게 하는 것으로서, 하나 이상의 차이 신호에서의 트랜지션들은 상기 3-와이어 버스를 통해 순차적으로 송신되는 심볼들 사이의 경계들에서 발생하는, 상기 트랜지션 펄스를 생성하게 하고;
    순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 생성된 하나 이상의 트랜지션 펄스를 조합함으로써 상기 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공하게 하며; 그리고
    상기 조합 신호에서의 각 펄스에 응답하여 클록 신호의 시그널링 상태가 변경되도록 상기 조합 신호로 지연 플립플롭을 클록하게 하는, 프로세서 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    상기 적어도 하나의 프로세서로 하여금,
    3개의 차이 신호 중 하나를 지연시켜 지연된 차이 신호를 제공하게 하고; 그리고
    3개의 차이 신호 중 상기 하나와 상기 지연된 차이 신호에 대해 배타적 논리합 (OR) 기능을 수행하여 트랜지션 펄스를 획득하게 하는 명령들을 더 포함하는, 프로세서 판독가능 저장 매체.
  21. 제 20 항에 있어서,
    상기 적어도 하나의 프로세서로 하여금,
    상기 3개의 차이 신호 중 2개 사이의 스큐 지속기간을 초과하는 지속기간만큼 3개의 차이 신호 중 상기 하나를 지연시키게 하는 명령들을 더 포함하는, 프로세서 판독가능 저장 매체.
  22. 제 20 항에 있어서,
    상기 적어도 하나의 프로세서로 하여금,
    제조 프로세스, 회로 공급 전압, 및 다이 온도 (PVT) 조건들에서의 변동들을 수용하는 지속기간만큼 3개의 차이 신호 중 상기 하나를 지연시키게 하는 명령들을 더 포함하는, 프로세서 판독가능 저장 매체.
  23. 제 19 항에 있어서,
    상기 트랜지션 펄스는 구성가능한 지속기간을 갖는, 프로세서 판독가능 저장 매체.
  24. 제 19 항에 있어서,
    상기 적어도 하나의 프로세서로 하여금,
    상기 클록 신호의 역을 입력으로서 상기 지연 플립플롭에 제공하게 하고;
    상기 3-와이어 버스로부터 제 1 심볼을 캡처하기 위해 상기 클록 신호에서의 상승 에지를 사용하게 하며; 그리고
    상기 3-와이어 버스로부터 제 2 심볼을 캡처하기 위해 상기 클록 신호에서의 하강 에지를 사용하게 하는 명령들을 더 포함하는, 프로세서 판독가능 저장 매체.
  25. 클록 복구 장치로서,
    3-와이어 버스에서 와이어들의 쌍의 시그널링 상태의 차이를 나타내는 3개의 차이 신호 중 하나에서의 트랜지션에 응답하여 트랜지션 펄스를 생성하는 수단으로서, 하나 이상의 차이 신호에서의 트랜지션들은 상기 3-와이어 버스를 통해 순차적으로 송신되는 심볼들 사이의 경계들에서 발생하는, 상기 트랜지션 펄스를 생성하는 수단;
    상기 트랜지션 펄스를 생성하는 수단으로부터 수신된 하나 이상의 트랜지션 펄스를 조합함으로써 순차적으로-송신된 심볼들의 쌍들 사이의 각 경계에서 조합 신호에서의 단일 펄스를 제공하는 수단; 및
    상기 클록 복구 장치에 의해 출력되는 클록 신호를 제공하는 수단으로서, 상기 클록 신호의 시그널링 상태를 변경함으로써 상기 조합 신호에서의 각 펄스에 응답하도록 구성된 지연 플립플롭을 포함하는, 상기 클록 신호를 제공하는 수단을 포함하는, 클록 복구 장치.
  26. 제 25 항에 있어서,
    상기 조합 신호에서의 단일 펄스를 제공하는 수단은,
    3개의 차이 신호 중 하나를 지연시켜 지연된 차이 신호를 제공하고; 그리고
    3개의 차이 신호 중 상기 하나와 상기 지연된 차이 신호에 대해 배타적 논리합 (OR) 기능을 수행하여 트랜지션 펄스를 획득하도록 구성되는, 클록 복구 장치.
  27. 제 26 항에 있어서,
    상기 조합 신호에서의 단일 펄스를 제공하는 수단은,
    상기 3개의 차이 신호 중 2개 사이의 스큐 지속기간을 초과하는 지속기간만큼 3개의 차이 신호 중 상기 하나를 지연시키도록 구성된 지연 회로를 포함하는, 클록 복구 장치.
  28. 제 26 항에 있어서,
    상기 조합 신호에서의 단일 신호를 제공하는 수단은 제조 프로세스, 회로 공급 전압, 및 다이 온도 (PVT) 조건들에서의 변동들을 수용하도록 구성되는, 클록 복구 장치.
  29. 제 25 항에 있어서,
    상기 트랜지션 펄스는 구성가능한 지속기간을 갖는, 클록 복구 장치.
  30. 제 25 항에 있어서,
    상기 3-와이어 버스로부터 심볼들을 캡처하는 수단을 더 포함하고, 상기 심볼들을 캡처하는 수단은 제 1 심볼을 캡처하기 위해 상기 클록 신호에서의 상승 에지를 사용하고, 제 2 심볼을 캡처하기 위해 상기 클록 신호에서의 하강 에지를 사용하도록 구성되는, 클록 복구 장치.
KR1020227018549A 2019-12-11 2020-10-28 차세대 c-phy 인터페이스들을 위한 개방-루프, 초고속, 하프-레이트 클록 및 데이터 복구 KR102420905B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/711,230 2019-12-11
US16/711,230 US11038666B1 (en) 2019-12-11 2019-12-11 Open-loop, super fast, half-rate clock and data recovery for next generation C-PHY interfaces
PCT/US2020/057687 WO2021118700A1 (en) 2019-12-11 2020-10-28 Open-loop, super fast, half-rate clock and data recovery for next generation c-phy interfaces

Publications (2)

Publication Number Publication Date
KR20220083842A true KR20220083842A (ko) 2022-06-20
KR102420905B1 KR102420905B1 (ko) 2022-07-13

Family

ID=73402193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227018549A KR102420905B1 (ko) 2019-12-11 2020-10-28 차세대 c-phy 인터페이스들을 위한 개방-루프, 초고속, 하프-레이트 클록 및 데이터 복구

Country Status (8)

Country Link
US (1) US11038666B1 (ko)
EP (1) EP4073661A1 (ko)
JP (1) JP7358646B2 (ko)
KR (1) KR102420905B1 (ko)
CN (1) CN114787788A (ko)
BR (1) BR112022010485A2 (ko)
TW (1) TWI762012B (ko)
WO (1) WO2021118700A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116684722B (zh) * 2023-07-27 2023-10-20 武汉精立电子技术有限公司 Mipi c-phy信号接收装置、方法及摄像头模组测试系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140281085A1 (en) * 2013-03-15 2014-09-18 Gregory L. Ebert Method, apparatus, system for hybrid lane stalling or no-lock bus architectures
KR20180048952A (ko) * 2015-09-01 2018-05-10 퀄컴 인코포레이티드 3-페이즈 인터페이스에 대한 멀티페이즈 클록 데이터 복구
WO2018119153A2 (en) * 2016-12-21 2018-06-28 Intel Corporation Wireless communication technology, apparatuses, and methods
KR20190068546A (ko) * 2016-10-24 2019-06-18 퀄컴 인코포레이티드 론치 심볼들에 다중 클록 위상들을 사용하여 c-phy 인터페이스에서의 송신기 인코딩 지터의 감소
US20190326912A1 (en) * 2018-04-23 2019-10-24 Synaptics Incorporated Device and method for detecting signal state transition

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8737162B2 (en) * 2009-01-12 2014-05-27 Rambus Inc. Clock-forwarding low-power signaling system
JP2017519427A (ja) * 2014-05-21 2017-07-13 クアルコム,インコーポレイテッド 奇数比並列データバスのためのシリアライザおよびデシリアライザ
US9548876B2 (en) * 2015-05-06 2017-01-17 Mediatek Inc. Multiple transmitter system and method for controlling impedances of multiple transmitter system
KR20170008077A (ko) * 2015-07-13 2017-01-23 에스케이하이닉스 주식회사 고속 통신을 위한 인터페이스 회로 및 이를 포함하는 시스템
US9485080B1 (en) * 2015-09-01 2016-11-01 Qualcomm Incorporated Multiphase clock data recovery circuit calibration
US9762228B2 (en) * 2015-09-15 2017-09-12 Qualcomm Incorporated High-speed programmable clock divider
WO2017094310A1 (ja) * 2015-11-30 2017-06-08 ソニー株式会社 位相検出器、位相同期回路、および、位相同期回路の制御方法
WO2017119183A1 (ja) * 2016-01-08 2017-07-13 ソニー株式会社 同期回路および同期回路の制御方法
US10419246B2 (en) * 2016-08-31 2019-09-17 Qualcomm Incorporated C-PHY training pattern for adaptive equalization, adaptive edge tracking and delay calibration
US9735950B1 (en) * 2016-10-18 2017-08-15 Omnivision Technologies, Inc. Burst mode clock data recovery circuit for MIPI C-PHY receivers
US10033519B2 (en) * 2016-11-10 2018-07-24 Qualcomm Incorporated C-PHY half-rate clock and data recovery adaptive edge tracking
KR20180061560A (ko) * 2016-11-29 2018-06-08 삼성전자주식회사 통신 환경에 의존하여 지연을 조절하는 전자 회로
KR102629185B1 (ko) * 2016-12-07 2024-01-24 에스케이하이닉스 주식회사 데이터 통신을 위한 수신기
US10298381B1 (en) * 2018-04-30 2019-05-21 Qualcomm Incorporated Multiphase clock data recovery with adaptive tracking for a multi-wire, multi-phase interface
US10333690B1 (en) * 2018-05-04 2019-06-25 Qualcomm Incorporated Calibration pattern and duty-cycle distortion correction for clock data recovery in a multi-wire, multi-phase interface
US10263766B1 (en) 2018-06-11 2019-04-16 Qualcomm Incorporated Independent pair 3-phase eye sampling circuit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140281085A1 (en) * 2013-03-15 2014-09-18 Gregory L. Ebert Method, apparatus, system for hybrid lane stalling or no-lock bus architectures
KR20180048952A (ko) * 2015-09-01 2018-05-10 퀄컴 인코포레이티드 3-페이즈 인터페이스에 대한 멀티페이즈 클록 데이터 복구
KR20190068546A (ko) * 2016-10-24 2019-06-18 퀄컴 인코포레이티드 론치 심볼들에 다중 클록 위상들을 사용하여 c-phy 인터페이스에서의 송신기 인코딩 지터의 감소
WO2018119153A2 (en) * 2016-12-21 2018-06-28 Intel Corporation Wireless communication technology, apparatuses, and methods
US20190326912A1 (en) * 2018-04-23 2019-10-24 Synaptics Incorporated Device and method for detecting signal state transition

Also Published As

Publication number Publication date
US11038666B1 (en) 2021-06-15
JP7358646B2 (ja) 2023-10-10
EP4073661A1 (en) 2022-10-19
CN114787788A (zh) 2022-07-22
BR112022010485A2 (pt) 2022-09-06
JP2022552022A (ja) 2022-12-14
TWI762012B (zh) 2022-04-21
TW202133559A (zh) 2021-09-01
KR102420905B1 (ko) 2022-07-13
US20210184829A1 (en) 2021-06-17
WO2021118700A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
JP7258199B2 (ja) 多相クロックデータ復元回路較正
KR102522742B1 (ko) 3-페이즈 인터페이스에 대한 멀티페이즈 클록 데이터 복구
CN109644020B (zh) 用于自适应均衡、自适应边沿跟踪以及延迟校准的c-phy训练码型
US20170026083A1 (en) Time based equalization for a c-phy 3-phase transmitter
WO2018089673A1 (en) C-phy half-rate clock and data recovery adaptive edge tracking
WO2019212629A1 (en) Multiphase clock data recovery with adaptive tracking for a multi-wire, multi-phase interface
US11411711B2 (en) Small loop delay clock and data recovery block for high-speed next generation C-PHY
KR102420905B1 (ko) 차세대 c-phy 인터페이스들을 위한 개방-루프, 초고속, 하프-레이트 클록 및 데이터 복구
TWI822732B (zh) 獨立配對的3相眼圖取樣電路
US11327914B1 (en) C-PHY data-triggered edge generation with intrinsic half-rate operation

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant