KR20150006360A - 차분 디코더 - Google Patents

차분 디코더 Download PDF

Info

Publication number
KR20150006360A
KR20150006360A KR1020140082434A KR20140082434A KR20150006360A KR 20150006360 A KR20150006360 A KR 20150006360A KR 1020140082434 A KR1020140082434 A KR 1020140082434A KR 20140082434 A KR20140082434 A KR 20140082434A KR 20150006360 A KR20150006360 A KR 20150006360A
Authority
KR
South Korea
Prior art keywords
signal
data
clock
clocked
output
Prior art date
Application number
KR1020140082434A
Other languages
English (en)
Other versions
KR101616488B1 (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 KR20150006360A publication Critical patent/KR20150006360A/ko
Application granted granted Critical
Publication of KR101616488B1 publication Critical patent/KR101616488B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/06Code representation, e.g. transition, for a given bit cell depending only on the information in that bit cell
    • H03M5/12Biphase level code, e.g. split phase code, Manchester code; Biphase space or mark code, e.g. double frequency code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Dc Digital Transmission (AREA)

Abstract

실시예에서, 선-클럭(clock-first), 제로에서 변화(change-on-zero)의 차분 맨체스터 엔코딩된 데이터 스트림을 디코딩하게 구성되는 신호 프로세서가 개시된다. 데이터 스트림을 로컬 클럭을 갖지 않으며, 스트림을 클럭된 데이터 신호와 선택적인 오류 신호로 디코딩하기 위해 조합 및 순차 로직 둘 다가 사용된다. 디코딩은 입력 데이터 스트림을 중간 데이터 신호, 중간 클럭 신호, 및 조절(conditioning) 신호로 분리하는 파서(parser)를 포함한다. 데이터 오류 발생기는 3개의 신호들을 수신하고 클럭된 데이터 신호와 클럭된 오류 신호를 출력한다.

Description

차분 디코더{DIFFERENTIAL DECODER}
관련출원들에 대한 상호참조
이 출원은 전체를 참조로 포함시키는 2013년 7월 8일에 출원된 "Differential Decoder" 명칭의 미국가출원 61/843,902에 대한 우선권을 주장한다.
개시내용의 분야
이 출원은 디지털 신호 처리 분야에 관한 것으로, 특히 차분(differential) 맨체스터 디코더에 관한 것이다.
IEEE 802.5 표준(본래는 토큰 링 네크워크들용으로 의도된)에 기술된 차분 맨체스터 엔코딩은 데이터 및 클럭 신호들이 단일 비동기 데이터 스트림에 조합되는 디지털 통신의 한 형태이다. 차분 맨체스터 스트림에는 각 데이터 비트에 대한 하나 혹은 2개의 천이들이 있다. 예시적 차분 맨체스터 스트림에서, 제 1 천이는 클럭 신호를 수반하며, 선택적인 제 2 천이는 데이텀(datum)을 수반한다. 선택적인 제 2 천이는 설계 파라미터들에 따라 "1" 혹은 "0"을 의미할 수 있고, 반면 제 2 천이의 부재는 반대되는 값을 엔코딩한다. 이것은 "데이터-앞-클럭(clock-before-data)" 구성으로서 알려져 있다. 대안적인 "데이터-앞-클럭" 구성들 또한 존재하여 있다. 이러한 구성들에서 한 공통되는 목적은 노이즈를 최소화하고 예를 들면 크기는 동일하고 극성은 서로 반대되는 "하이" 및 "로우" 값을 사용함으로써 평균 송신 파워를 감소시키는 것이다.
개요
일실시예에서, 복합 클럭-데이터 신호(min)를 중간 데이터 신호(a), 조절(conditioning) 신호(b), 및 중간 클럭 신호(po)로 파싱하게 구성된 파싱 회로; 및 a, b 및 po를 수신하여 이로부터 클럭 신호(sclk)를 발생하게 구성된 로직 부-네트워크; 및 sclk에 의해 클럭되고 a로부터 데이터 신호(data)를 발생하게 구성된 데이터 부-네트워크를 포함하는 데이터 회로를 포함하고, 로컬 클럭을 사용하지 않고 min을 데이터 신호(data)로 디코딩하기 위한 디코더 회로가 개시된다.
또 다른 실시예에서, 복합 클럭-데이터 신호(min)를 로컬 클럭을 사용하지 않고 데이터 신호(data)로 디코딩하기 위한 방법에 있어서, 클럭 신호를 중간 데이터 신호(a), 조절 신호(b), 및 중간 클럭 신호(po)로 파싱하는 단계; a, b, 및 po로부터 클럭 신호(sclk)를 발생하는 단계; sclk에 의해 클럭되는 data를 a로부터 발생하는 단계를 포함하는, 디코딩 방법이 개시된다.
또 다른 실시예에서, 데이터-앞-클럭, 제로에서 변화의 차분 맨체스트 엔코딩된 신호(min)를 디코딩하게 구성된 신호 프로세서에 있어서, min을 수신하기 위한 네트워크 인터페이스; min으로부터 제 1 추론된 신호, 제 2 추론된 신호, 및 제 3 추론된 신호를 추론하게 구성된 파서(parser); 및 제 1 추론된 신호로부터 추론된 데이터 신호를 추론하여 출력하게 구성된 데이터 엔코더로서, 출력 신호는 제 1, 제 2, 및 제 3 추론된 신호들로부터 추론된 클럭 신호에 의해 클럭되는 것인, 데이터 엔코더를 포함하는, 신호 프로세서가 개시된다.
본 발명은 동반된 도면들과 함께 읽었을 때 다음 상세한 설명으로부터 더 잘 이해된다. 산업에서의 표준 관행에 따라, 여러 특징들은 축척에 맞게 도시되지 않으며 단지 예시 목적을 위해 사용됨을 강조한다. 사실, 여러 특징들의 치수들은 논의 명확성을 위해 임의로 증가되거나 감소될 수 있다.
도 1은 본 발명의 실시예에 따른 파싱 회로의 블록도이다.
도 2는 본 발명의 실시예에 따른 펄스 발생기의 예이다.
도 3은 본 발명의 실시예에 따른 타이밍도이다.
도 4는 본 발명의 실시예에 따른 타이밍도이다.
도 5는 본 발명의 실시예에 따른 타이밍도이다.
도 6은 본 발명의 실시예에 따른 타이밍도이다.
도 7은 본 발명의 실시예에 따른 신호 프로세서의 블록도이다.
도 8은 본 발명의 하나 이상의 실시예에 따른 2-와이어 통신 프로토콜 엔진을 포함하는 시스템(10)을 도시한 간이화한 블록도이다.
도 9는 본 발명의 하나 이상의 실시예에 따른 예시적 노드를 도시한 간이화한 블록도이다.
다음 개시되는 바는 본 발명의 서로 다른 특징들을 구현하기 위한 많은 서로 다른 실시예들, 혹은 예들을 제공한다. 본 발명을 간단히 하기 위해 성분들 및 배열들의 특정한 예들이 이하 기술된다. 물론, 이들은 단지 예들이며 제한하려는 것이 아니다. 또한, 본 발명은 여러 예들에서 참조부호들 및/또는 문자들을 반복할 수 있다. 이 반복은 단순화 및 명확성을 위한 것이며 자체가 논의되는 여러 실시예들 및/또는 구성들 간에 관계를 좌우하지 않는다. 서로 다른 실시예는 서로 다른 잇점들을 가질 수 있고, 어떠한 특별한 잇점도 반드시 임의의 실시예로부터 요구되는 것은 아니다.
실시예에서, 예를 들면 오디오 신호들에 동작할 수 있는 신호 프로세서에서 사용하기 위해 디코더 회로가 개시된다. 이 예에서, 입력 신호는 데이터-앞-클럭(clcok-before-data), 제로에서 변화(change-on-zero)의 구성에서, 차분 맨체스터 엔코딩이다. 즉, 실시예에서, 각 데이터는 클럭 펄스를 나타내는 천이로 시작하고, 그후에 "0"의 데이텀을 나타내는 선택적인 천이를 포함할 수 있다. 디코더 회로는 로컬 클럭을 요구함이 없이 차분 맨체스터 엔코딩된 입력으로부터 디코딩된 데이터 스트림을 제공하게 구성된다. 이 능력은 예를 들면 엔코딩된 데이터 스트림으로부터 취해진 동기화 신호가 로컬 노드 클럭을 발생하기 위해 위상 고정 루프에 클럭하기 위해 사용되는 응용에서 유용할 수 있다.
실시예에서, 신호 프로세서는 2개의 주요 회로로서 파서(parser), 그리고 데이터 및 오류 발생기를 포함한다. 예시적 파서는 이의 입력으로서 차분 맨체스터 엔코딩된 신호를 수신하고, 입력 신호를, 용이한 참조를 위해서 중간 데이터 신호(a), 중간 클럭 신호(po), 및 조절 신호(b)로서 언급되는 3개의 출력 신호들로 파싱한다. 다른 실시예들에서, 이들 신호들은 더 일반적으로 제 1, 제 2, 및 제 3 추론된 신호라 언급될 수 있다. 예시적인 데이터 및 오류 발생기는 a, b, 및 po를 수신하고, 모든 3개의 조합 로직 함수로부터 클럭 신호(sclk)를 추론한다. 이것은 순차적인 데이터 출력(data) 및 순차적인 오류신호(error)을 클럭하기 위해 사용된다.
파서의 일예에서, 차분 맨체스터 입력은 용이한 참조를 위해 본원에서 트리거라고 하는 복수의 순차적인 로직 장치들을 구동하기에 충분히 길 수 있는 짧은 클럭킹 펄스들(pi)를 생성하기 사용되는 펄스 발생기를 구동한다. 신호(pi)는, 클럭 에지가 예상되는 주기의 시작부분에서 일어났음을 나타내는 것인, 각 클럭 에지에서 "1"을 출력하게 구성된 제 1 트리거에 클럭한다. 이 신호를 실시예에서는 cke라고 한다. po라고 하는 pi의 지연된 버전은 데이터 에지가 있을 땐 "1"을 출력하고 없을 땐 "0"을 출력하는, 데이터 에지의 유무를 찾는 제 2 트리거에 클럭하기 위해 사용된다. 제 3 트리거는 조합 입력들을 수신하고 sclk의 회복에서 그리고 오류 검출을 위해 사용되는 조절 신호(b)를 출력한다. 구체적으로, b를 위한 로직은 클럭 에지가 주기의 시작부분에서 일어나지 않았을 때만 po의 펄스에서 a 및 b 둘 다가 하이가 되도록 설계된다.
데이터 및 오류 발생기는 입력들로서 a, b 및 po를 수신한다. 위에 기술된 바와 같이, 조합 로직은 sclk를 회복하기 위해 사용되고, sclk는 2개의 트리거들에 클럭하기 위해 사용된다. 제 1 트리거는 이의 입력으로서 ~a를 수신하고, 따라서 a의 역이 sclk의 각 펄스에 클럭된다. 이 신호는 data하고 하며, 순차적인 데이터 신호로서 사용될 수 있다. 제 2 트리거는 이의 입력으로서 조합 로직 함수를 수신하고, a 및 b 둘 다가 클럭 펄스에서 하이이라면 -예상되는 클럭 에지가 일어나지 않았음을 나타낸다- 오류신호를 출력한다.
예시 목적을 위해 간략히 도면들로 돌아가면, 도 7은 본 발명에 따른 예시적인 신호 프로세서의 블록도이다. 신호 프로세서(700)는 파서(710), 그리고 데이터 및 오류 발생기(750)를 포함한다. 데이터 및 오류 발생기(750)는 데이터 발생기(720), 클럭 발생기(730), 및 오류 발생기(740)를 포함한다. 본원에 개시된 여러 요소들에 대해 제공되는 표기들은 단지 용이한 참조를 위한 것이며 표기들이 개시된 요소들의 기능을 제한하게 하려는 것이 아님이 이해되어야 할 것이다. 더 일반적인 의미로, 파서(710) 및 데이터 및 오류 발생기(750)는 신호 프로세서(700)의 부-네트워크들이다. 데이터 발생기(720), 클럭 발생기(730), 및 오류 발생기(740)는 데이터 및 오류 발생기(750)의 부-네트워크들이다. 또한, 도시된 분할들은 여러 요소들 간에 기능적 관계를 개시하고자 한 단지 논리적 블록들이라는 것과, 일부 실시예들에선 하나 이상의 기능들이 공통의 하드웨어 요소에 의해 제공될 수도 있고, 혹은 어떤 하드웨어 요소들이 서로 다른 논리적 블록들 간에 공유될 수 있다는 것에 유의해야 할 것이다. 이외 다른 실시예들에서, 어떤 요소들은 적합한 소프트웨어 명령들로 프로그램된 프로그램가능 프로세서에 의해 수행될 수도 있다.
예에서, 파서(710)는 네트워크 인터페이스(760)로 신호(min)를 수신하게 구성된다. 신호(min)는 이 내에 클럭 부분과 데이터 부분을 넣은 복합 클럭-및-데이터 신호이며, 차분 맨체스터 엔코딩된 신호일 수 있으며, 특히 차분 맨체스터 엔코딩의 데이터-앞-클럭, 제로에서 변화의 종류일 수도 있다. 네트워크 인터페이스(760)는 통신가능하게 파서(710)에 결합되고, min을 파서(710)에 제공한다. 파서(710)는 용이한 참조를 위해 a, b 및 po라 지칭되는 제 1, 제 2, 및 제 3 추론된 신호를 min으로부터 추출하게 구성된 파싱 네트워크일 수 있다. 이 예에서, a는 중간 데이터 신호라고 하고, b는 조절 신호라고 하고, po는 중간 클럭 신호라고 한다. 신호(a)는 클럭된 2진 data 신호를 재구성하는데 필요한 정보를 갖고 있을 수 있고, b는 오류 조절에서 유용한 정보를 내포할 수 있고, data를 클럭하기 위해 사용되는 클럭 신호(sclk)를 재구성하기 위해 a, b, 및 po가 함께 사용될 수 있다.
데이터 및 오류 발생기(750)는 입력들로서, a, b 및 po를 수신한다. 예에서, 데이터 발생기(720)는 a를 수신하고, 클럭 발생기(730)는 a, b, 및 po를 수신하고, 오류 발생기(740)는 a 및 b를 수신한다. 클럭 발생기는 sckl를 발생하는데, 이것은 데이터 발생기(720) 및 오류 발생기(740)에 클럭하기 위해 사용된다. 이에 따라, 출력신호들(데이터, 오류신호)은 클럭된 2진 신호들이다.
도 1은 본 발명의 하나 이상의 예들에 따른 차분 디코더(100)의 블록도로서, 특히 실시예에서 파서(710)의 기능을 개시한다. 파서(710)는 입력 신호들(min, rstb)을 수신한다. 신호(rstb)는 조절 신호(b)를 리셋하게 설계될 수 있고, 또한 이 예에선 D("데이터") 플립플롭들인 트리거들(130, 132, 134)에 대한 리셋 신호로서 사용된다. 펄스 발생기(110) 및 지연 요소(120) 또한 차분 디코더(100) 내에 포함된다.
실시예에서, 펄스 발생기는 min을 수신하며, 도 4의 타이밍도 -여기에서 신호들은 0 ~ 7로 숫자가 매겨진 8개의 주기들로 분할되고 각 주기는 tper의 길이를 갖는다- 에서 더 쉽게 볼 수 있는 바와 같이, min의 각 천이 에지에서 출력 펄스(pi)를 제공하게 구성된다. 주기 0의 시작에서, min의 상승 에지는 펄스(pi)를 생성하는데, 이것은 주기 1에 대한 클럭 펄스를 나타낸다. 도 4에서 볼 수 있는 바와 같이, 주기 0, 주기 2, 주기 5 및 주기 6은 주기의 시작에서 단지 한 펄스만을 갖는다. 본 예는 차분 맨체스터 엔코딩 수법의 제로에서 변화(change-on-zero)의 실시예이기 때문에, 각 주기 내 제 2 펄스는 선택적인 것이며, 엔코딩된 데이텀이 "0"일 때만 일어날 것이다. 이에 따라, 주기 0, 주기 2, 주기 5 및 주기 6은 이들이 "1"을 엔코딩하기 때문에 단지 한 펄스만을 갖는다. 주기 1, 주기 3, 주기 4 및 주기 7은 각 주기에서 선택적인 제 2 펄스를 가지며, 이들 주기들 각각에 대한 데이텀이 "0"임을 나타낸다. 실시예에서, 펄스 발생기(110)는 트리거들(130, 132, 133)에 클럭하기에 충분히 길도록, 그러나 그렇지 않다면 실현 가능한 만큼 짧게 되게 선택된 시간 동안 비교적 좁은 pi를 출력하게 구성된다.
지연 요소(120)는 pi를 수신하고 주기 tper에 관계되게 선택되는 시간 td 동안 신호를 지연시킨다. td 후에, 지연 요소(120)는 파서(710)의 출력인 지연된 펄스(po)를 출력한다. 예에서, td는 다음 데이터 에지 후가 되도록, 그러나 다음 클럭 에지 전이 되도록 선택된다. td의 값은 예를 들면 tper의 대략 70%가 되도록 선택될 수 있고 po의 펄스폭은 실질적으로 pi의 펄스폭일 수 있다.
트리거(130)는 실시예에서 D 플립플롭이며, pi에 의해 클럭된다. 트리거(130)의 데이터 입력은 로직 "1" 레벨로 서플라이(supply) 전압에 결부될 수 있고, 따라서 출력 신호(cke)는 리셋 신호가 트리거(130)의 RB 단자에서 수신될 때까지 "1"에 머물러 있을 것이다. cke의 목적은 클럭 에지가 min 내에서 일어났고 데이터 에지 -만약 있다면- 뒤에 온다는 것을 나타내기 위한 것이다. 신호(cke)는 조합 로직 값 poclock = (po & ~b)(po와 조절 신호(b)의 역과의 로직 AND)인, poclock이라고 하는 po의 수정된 버전에 의해 리셋된다. 이어, 트리거(130)의 RB 입력은 (~poclock & rstb)(poclock의 역과 리셋 신호(rstb)와의 로직 AND)의 조합 로직 값이다. 신호(cke)의 형상은 도 4에서 볼 수 있는데, 이것은 각 주기의 시작에서 일어나는 천이에 의해 셋(set) 되고 b 또한 로우일 때는 언제나 po의 상승 에지에 의해 클리어(clear) 됨이 보여졌다.
트리거(132) 또한 실시예에서 D 플립플롭이며, 이의 데이터 입력으로서 cke를 수신한다. 이것은 pi에 의해 클럭되며, 이의 입력으로서 중간 데이터 신호(a)를 출력한다. 트리거(132)의 RB 노드는 직접 rstb에 결부된다. 설계에 의해, a는 "1"을 엔코딩하는 min의 임의의 주기 동안 로우이다. "0"을 엔코딩하는 임의의 주기 동안, a는 도 4의 주기 1, 주기 3, 주기 4, 및 주기 7에 보인 바와 같이, 천이 후에 일어나는 주기의 부분 동안 하이이다. 이에 따라, 중간 데이터 신호(a)는 최종 출력 신호(data)의 비-클럭된 버전을 엔코딩하는데, 그러나 데이터를 회복하기 위해선 유용한 클럭 신호가 필요하다.
트리거(134) 또한 실시예에서 D 플립플롭이며, 이의 데이터 입력으로서 (a & ~b)(b는 피드백 구성에서 수신된다)의 조합 로직 값을 수신한다. 이의 RB 단자는 rstb에 직접 결부되며, po에 의해 클럭된다. 이의 출력 값은 조절 신호(b)이며, 이것은 data를 위한 클럭 신호를 회복하고 data 내 오류들에 대해 체크하기 위해 사용된다. b가 로직 1인 동안 일어나는 po 에지들은 데이터 에지들(즉, (~b & po) = sclk이다. a 및 b 모두가 poclock에 의해 1로서 샘플링된다면, 맨체스터 클럭 에지는 놓쳐진 것이며 맨체스터 디코딩 오류가 일어나 있다.
일실시예에서, 도 1에 개시된 파서(710)의 최종 출력들은 중간 데이터 신호(a), 조절 신호(b) 및 중간 클럭 신호(po)이다.
도 2는 펄스 발생기(110)의 실시예의 블록도이다. 펄스 발생기(110)는 실시예에서 min을 수신하게 구성될 수 있는 데이터 입력 신호(din)를 입력들로서 수신한다. 입력 신호(din)는 트리거를 확고하게 클럭하기에 충분히 길게 되게 구성되는 tI의 지연을 제공하는 별개의 지연 요소(220)에 공급한다. 배타 또는 (XOR) 게이트(230)는 din 및 dτI를 입력들로서 수신하며, din이 tτI에 일치할 때만 출력 펄스를 제공한다. 이 펄스는 예에서 D 플립플롭인 트리거(210)에 클럭하기 위해 사용된다(즉, clk=din^dτI). 이것은 지연 구간 동안 "1"과 같다. τI은 트리거(210)가 기능하기에 충분히 넓은 펄스를 생성하게 구성된다. 트리거(210)의 입력은 서플라이(supply) 혹은 로직 "1" 전압에 직접 결부된다. 트리거(210)의 출력은 이 실시예에서 신호(pi)일 수 있는 dout이다. 신호(dout)는 또한 dout의 요망되는 펄스 폭이 되게 선택되는, τR의 지연을 가진 지연 요소(240)를 통해 피드백된다. 시간(τR) 후에, dout은 반전되고 트리거(210)의 RB 단자에 피드백되고, 이에 따라 dout의 각 상승 에지 후에 dout를 한 펄스 폭 리셋한다. 신호(rstb)도 dout을 리셋하는 데 사용할 수 있다.
도 3은 데이터 및 오류 발생기(750)의 블록도이다. 도 7에 관련하여 기술된 바와 같이, 데이터 및 오류 발생기(750)는 데이터 발생기(720), 클럭 발생기(730), 및 오류 발생기(740)를 포함한다. 발생기(730)는 이 실시예에서 조합 로직만을 포함한다. 오류들이 없을 땐, sclk = (po & ~b)이다. 오류가 일어났을 때, sclk의 가외의 펄스가 일어나고, 맨체스터 데이터 에지 및 맨체스터 클럭 에지가 스위칭하는데, 즉, sclk = po &(a & b)이다. 그러므로, 완전한 로직은 sclk = po&((a&b)|~b)이다. 신호(sclk)는 도 4에서 볼 수 있는 바와 같이, 데이터 발생기(720) 및 오류 발생기(740) 둘 다에 클럭하기 위해 사용된다.
데이터 발생기(720)는 실시예에서 D 플립플롭인 트리거(310)를 포함한다. 트리거(310)의 RB 핀은 rstb에 결부된다. 트리거(310)에의 데이터 입력은 중간 데이터 신호(a)의 역이다. 역은 실시예가 제로에서 변화(change-on-zero)의 차분 맨체스터 엔코딩을 사용하기 때문에 사용된다. 이에 따라, a는 데이터 천이가 일어날 때는 언제나 하이로 가서 "0"을 나타내고, 천이가 일어나지 않을 땐 로우에 머물러 있어 "1"을 나타낸다. 트리거(310)는 sclk에 의해 클럭되며, 이의 출력 값은 클럭된 데이터 신호(data)이다. 신호(data) 또한 도 4에서 볼 수 있는데, 이것은 data가 주기 0에서 sclk에서 하이로 천이하고, 주기 1에서 sclk에서 로우로 천이하고, 주기 2에서 다시 하이로 천이하고, 주기 3에서 로우로 천이하고, 주기 4에서 로우에 머물러 있고, 주기 5에서 하이로 천이하고, 주기 6에서 하이에 머물러 있고, 주기 7에서 로우로 천이하며, 모두는 각 주기 동안 데이터와 일관된다. 이 예에서, data는 완전히 sclk에 의해 클럭되는데, 그러나 다른 예들에서는 외부 클럭이 사용될 수 있고, 이것은 클럭 영역 크로싱 기술들의 사용을 요구할 수 있다.
오류 발생기(740)는 이 실시예에서 D 플립플롭인 트리거(320)를 포함한다. 트리거(310)처럼, 트리거(320)는 sclk에 의해 클럭되며, RB 핀은 rstb에 결부된다. 트리거(320)에 대한 데이터 입력은 (a&b)의 조합 로직에 의해 제공된다. 즉, 오류신호는 a 및 b 둘 가 트루(true)일 때 sclk의 임의의 클럭 사이클에서 하이로 간다. 이것은 예를 들면 도 5에서 볼 수 있는 바와 같이, 예상되는 클럭 에지가 일어나지 않을 때 일어날 수 있다. 펄스(510)는 일어나지 않는 주기 4의 시작에서 예상되는 클럭 에지이다. 주기 4의 시작에선 천이가 없기 때문에, a 및 b 둘 다는 주기 4 동안 sclk 펄스가 일어날 때 하이이다. 이에 따라, 오류 펄스(520)가 발생된다. 주기 4 동안 클럭 에지는 일어나지 않았기 때문에, 주기 4 내에서 천이는 클럭 에지로서 취해진다. 주기 5의 시작에서 천이는 데이터 에지로서 취해지므로 data는 이 주기 동안 "0"으로 부정확하게 엔코딩된다. 이에 따라, 클럭 에지는 주기 5 동안 오류로 예상된다. 이것이 일어나지 않았을 때, 오류 펄스(530)가 발생된다. 그러나, 신호는 data가 하이로 올바르게 천이할 때, 주기 6 동안 재동기화된다. 이 시점에서, 오류신호는 클리어된다.
도 6은 본 발명의 하나 이상의 실시예들에 따른 데이터의 엔코딩을 도시한 타이밍도이다. 이 예시적 타이밍도에서, 일련의 데이터 스트림(610)은 통상적으로 일련의 규칙적인 클럭 에지들에 의해 엔코딩된다. 일련의 데이터 스트림(620)은 본 발명의 맨체스터 스트림 내 엔코딩되는 동일 데이터를 예시한다.
도 8 및 도 9는 2-와이어 통신 프로토콜 엔진과 함께 차분 디코더의 실시예를 개시한다. 도 8은 본 발명의 하나 이상의 실시예에 따른 2-와이어 통신 프로토콜 엔진을 포함하는 시스템(810)을 도시한 간이화한 블록도이다. 시스템(810)은 복수의 노드들(812-1 ~ 812-N)을 포함한다. 812-1은 마스터 노드를 나타내며, 이것은 2-와이어 통신 프로토콜 엔진(예를 들면, A2B 프로토콜)을 사용하여 트위스트 와이어 쌍 버스(814)로 3개의 슬레이브 노드들(812-2 ~ 812-N)과 통신한다. 각 슬레이브 노드(812-2 ~ 812-N)는 하나 이상의 센서들 혹은 이외 다른 주변 장치들(816)로부터/에 데이터를 판독 및/또는 기입할 수 있다. 주변 장치들의 예들은 마이크로폰들(마이크들), 마이크 어레이들, 디지털-아날로그 변환기들(DAC), 등을 포함한다. 호스트 제어기(818)는 복수-채널 I2S 및 집적회로간(I2C) 통신 프로토콜들로 마스터 노드(812-1)와 통신하고 이를 제어할 수 있다. A2B 프로토콜 엔진의 실시예들은 각 노드를 다음 노드에 연결하기 위해 제어 정보 및 오디오 데이터가 트위스트 와이어 쌍 버스(814)를 사용하여 두 방향들로 송신되게 할 수 있다. 또한, 슬레이브 노드들(812-2 ~ 812-N)는 트위스트 와이어 쌍(814)에 의해 파워를 공급받을 수 있다.
본원에서 사용되는 바와 같이, "노드"라는 용어는 전기 회로에서 적합한 통신 채널들로 데이터(예를 들면, 전기 신호들)를 보내고 수신할 수 있는 집적회로, 장치, 또는 이외 다른 이러한 객체를 지칭한다. "마스터 노드"는 클럭 신호(예를 들면, I2S 입력으로부터 도출될 수 있는), 다운스트림 데이터, 네트워크 제어 및 파워의 발원지를 포함하는데, 마스터 노드는 호스트 제어기(818)(예를 들면, 마이크로프로세서)에 의해 프로그램되고, 호스트 제어기(818)에/로부터 페이로드를 수신하고/보낸다. "슬레이브 노드"는 다운스트림 데이터 프레임들(예를 들면, 콘텐트의 아마도 복수의 동기성 데이터 슬롯들을 가진 특정 노드의 단일의 한 블록의 페이로드)에 대한 가능한 목적지 및 업스트림 데이터 프레임들의 발신지를 나타낼 수 있는 어드레스가능한 네트워크 연결점을 포함한다. 동기성 데이터는 고정된 시간 간격(예를 들면, 48 kHz) 및 고정된 위상이 2개의 대응하는 천이들에 간격을 두는 연속적으로 스트림되는 데이터(예를 들면, 오디오 신호)를 지칭한다.
여러 실시예들에서, 각 노드(812 ~ 812-N)는 예를 들면, 집적회로의 부분에 구현되는 A2B 프로토콜 엔진을 포함할 수 있다. 여러 실시예들에서, A2B 프로토콜 엔진은 선형의 양방향의 복수-노드 버스 시스템에서 제어 및 데이터 송신들을 관리한다. 여러 실시예들에 따라, A2B 프로토콜 엔진을 포함하는 집적회로는 예를 들면, 전자기 방출을 최소화함으로써 노이즈성 환경에서 잘 작동할 수 있다. 각 프로토콜 엔진은 시스템(810)에 걸쳐 프로그램된 데이터의 동기화된 업데이트들을 할 수 있게 하는 상태머신, 분산된 인터럽트 시스템, 2-와이어 통신 프로토콜에서 사용되는 데이터 부호화에 기초한 동기화 패턴, 및 트위스트 와이어 쌍 버스(814)를 횡단하는 데이터의 부분에 적용되는 데이터 스크램블링을 포함할 수 있다. 또 다른 특징은 트위스트 와이어 쌍 버스(814)를 거쳐 송신되기 전에 데이터를 압축하기 위한 단순화한 부동점 압축을 포함한다.
일반적인 의미로, A2B 프로토콜은 복수-채널 I2S 동기성, 펄스 코드 변조(PCM) 데이터를 노드들(812-1 ~ 812-N) 간에 연결할 수 있다. 또한, A2B 프로토콜은 I2S의 동기성, 시분할 멀티플렉스되는(TDM) 특성을 복수의 노드들(812-1 ~ 812-N)을 연결하는 시스템(10)에 확장할 수 있는데, 여기에서 각 노드(812-1 ~ 812-N)는 데이터를 소비하거나, 데이터를 제공하거나, 혹은 둘 다를 할 수 있다.
여러 실시예들에 따라, 마스터 노드(12-1)는 통합 I2C 포트를 통해 구성(예를 들면, 프로그램되거나, 설계되거나, 등)될 수 있다. 마스터 노드(812-1)는 다운스트림 A2B 트랜잭션들(예를 들면, 데이터 신호들, 파워 신호들, 등)을 발생하고 업스트림 A2B 트랜잭션들을 수신할 수 있다. 트위스트 와이어 쌍(814)을 통해 수신된 데이터는 A2B 프레임 버퍼에 기입되고 마스터 노드(812-1)로부터 2개의 I2S 송신기들을 통해 송신될 수 있다. A2B를 통해 송신될 데이터는 2개의 I2S 수신기들에 의해 채워질 수 있는 A2B 프레임 버퍼로부터 판독될 수 있다. 일부 실시예들에서, 마스터 노드(812-1)는, (다른 특징들 중에서도) 발견(예를 들면, 슬레이브 노드들(812-2 ~ 812-N)의), 브로드캐스트 기입들(예를 들면, 전체 시스템 정보, 구성 변경들, 등의), 동기화 제어 프레임들의 CRC 발생, 동기화 응답 프레임들에 대한 순환 용장성 체크(CRC) 오류 검출 및 취급, 인터럽트 프레임들에 대한 CRC 오류 검출 및 취급, 다운스트림 데이터에 대한 패리티 발생, 및 업스트림 데이터에 대한 패리티 체크들 및 오류 취급을 포함하는 A2B 프로토콜을 관리하는 상태머신들을 포함한다.
각 슬레이브 노드(812-1 ~ 812-N)는 업스트림 A2B 포트를 통해 구성될 수 있다. 각 슬레이브 노드(812-2 ~ 812-N)는 다운스트림 A2B 트랜잭션들을 수신할 수 있고 선택적으로 트랜잭션들을 더 하류로 재송신할 수도 있다. 각 슬레이브 노드(812-2 ~ 812-N)는 업스트림 A2B 트랜잭션들을 수신 또는 발생할 수 있고, 선택적으로, 데이터 업스트림을 재송신할 수도 있고, 선택적으로 데이터를 업스트림 트랜잭션에 추가할 수도 있다. A2B를 통해 수신된 데이터는 A2B 프레임 버퍼에 기입되고, 2개의 I2S 송신기들을 통해 송신될 수 있다. A2B를 통해 송신될 데이터는 2개의 I2S 수신기들에 의해 및/또는 PDM 인터페이스에 의해 채워질 수 있는 A2B 프레임 버퍼로부터 판독될 수 있다. 각 슬레이브 노드(812-2 ~ 812-N)는 마스터 노드(812-1) 상에 상태머신과 유사하게, A2B 프로토콜을 관리하는 대응하는 상태머신들을 포함할 수 있다. 각 슬레이브 노드(812-2 ~ 812-N)의 I2C 인터페이스는 부착된 노드들을 제어하기 위해 마스터로서 사용될 수도 있다. 지령들은 트위스트 와이어 쌍 버스(814)로 호스트 제어기(818)로부터 보내지고 I2C 인터페이스를 통해 슬레이브 노드에 전달될 수 있다. A2B 프로토콜은 마스터 노드(812-1)가 호스트 제어기(818)에 의해 제어되는 단일-마스터, 복수-슬레이브 시스템을 포함할 수 있다. 호스트 제어기(818)는 자신의 I2S TDM 인터페이스 상에 주기적 동기화 신호를 고정된 주파수(예를 들면, 48kHz)로 -이에 모든 A2B 노드들(812-1 ~ 812-N)이 동기화할 수 있다- 발생할 수 있다.
동작 동안에, 시스템(810)이 여러 노드들(812-2 ~ 812-N) 간에 데이터를 통신하고 있을 때, 각 노드는 트위스트 와이어 쌍 버스(14) 상에 데이터를 취급하게 구성될 수 있다. A2B 트위스트 와이어 쌍 버스(814)를 따른 통신들은 주기적 슈퍼프레임들로 일어난다. 각 슈퍼프레임은 다운스트림 송신(다운스트림 부분들이라고도 한다) 주기, 업스트림 송신(업스트림 부분들이라고도 한다) 주기, 및 무-송신(이 경우 버스는 구동되지 않는다) 주기로 분할된다. 예를 들면, 마스터 노드(812-1)는 슬레이브 노드들(812-2 ~ 812-N)에 송신하기 위한 다수의 다운스트림 부분들, 및 슬레이브 노드들(812-2 ~ 812-N)로부터 수신하기 위한 다수의 업스트림 부분들을 갖게 프로그램될 수 있다. 슬레이브 노드들(812-2 ~ 812-N)은 A2B 트위스트 와이어 쌍 버스(814)로 하향 재송신하기 위한 다수의 다운스트림 부분들, 소비하기 위한 다수의 다운스트림 부분들, A2B 트위스트 와이어 쌍 버스(814)로 상향 재송신하기 위한 다수의 업스트림 부분들, 및 대응하는 주변 장치들(16)로부터 수신된 데이터를 송신하기 위한 다수의 업스트림 부분들을 갖게 프로그램될 수 있다.
간략성을 위해서, 여기에서는 4개의 노드들(812-1 ~ 812-N)만이 도시되었을지라도, 시스템(10)의 실시예들의 넓은 범위 내에서 유사한 방식으로 임의의 수의 노드들이 상호연결될 수 있음에 유의한다. 또한, 각 슬레이브 노드(812-2 ~ 812-N)는 실시예들의 넓은 범위 내에서 임의의 수의 주변 장치들과 통신할 수 있다.
도 9는 본 발명의 하나 이상의 실시예들에 따른 예시적 노드(812)를 도시한 간이화한 블록도이다. 노드(812)는 2개의 저 전압 차분 시그널링(LVDS) 트랜시버들(XCVRs), 즉 LVDS XCVR(926) 및 LVDS XCVR(928)를 포함할 수 있다. 각 LVDS 트랜시버(926, 928)는 양(positive) 패드(P) 및 음(negative) 패드(N)를 갖는다. 한 노드 상에 한 트랜시버의 양 패드(예를 들면, AP)는 다른 노드 상에 다른 트랜시버 상에 다른 양 패드(예를 들면, BP)에 연결한다. 마찬가지로, 한 노드 상에 한 트랜시버의 음 패드(예를 들면, AN)는 다른 노드 상에 다른 트랜시버 상에 다른 음 패드(예를 들면, BN)에 연결한다. A2B 디지털 로직 모듈(930)은 (다른 성분들 중에서도) 위상 고정 루프(PLL)(932), 로우 드롭아웃 레귤레이터(LDO)(934) 및 라인 파워 스위치(936)와 통신할 수 있다(예를 들면, 전자 신호들을 통해). 여러 디지털 패드들(예를 들면, 핀들)(938)은 노드(812) 내외로 신호들을 전달할 수 있다.
아날로그 디바이시스, 인크.로부터 입수할 수 있는 AD2410과 같은 실시예에서, 차분 디코더(100)의 오류 검출 거동은 의도적 디코딩 오류들을 갖고 발생되는 동기화 패턴을 검출하기 위해 사용된다. 예를 들면, 프레임 마커 신호는 의도적 오류들을 가진 맨체스터 비트 스트림이다. 프레임 싱크는 대응하는 오류들에 특정 데이터 스트림의 일치로서 검출될 수 있다. 이것은 외부 노이즈에 의해 변질되어진 신호에서조차도, 패턴이 랜덤하게 발생할 가능성이 극히 없기 때문에, 프레임의 나머지 동안 허위 프레임 싱크를 검출할 가능성을 감소시킨다. 이것은 송신 주파수 클럭 혹은 고속 오버샘플링 클럭을 사용함이 없이 예시적 AD2410이 패턴을 인식할 수 있게 한다.
이 명세서 전체에 걸쳐 사용되는 바와 같이, 이하 열거되는 용어들은 적어도 이들의 가장 넓은 가능한 이해로 해석되어 제공되는 정의들을 포함하게 의도된다.
ㆍ오디오 신호 - 역하적 파를 구성할 수 있는 정보를 내포하는 신호.
ㆍ회로 - 임의의 매체를 통해 서로 통신이 되게 결합되고 유용한 구성으로 배치되는, 능동이든 수동이든, 개별적인 또는 일체화된, 전기 또는 전자 요소들의 임의의 수집, 배열, 혹은 집단.
ㆍ조합 로직 - 클럭되지 않는 임의의 로직 네트워크 또는 부-네트워크.
ㆍ복합 신호 - 2 이상의 신호들로부터 형성되거나 아니면 구성된 신호.
ㆍ디코딩 - 엔코딩된 신호의 엔코딩을 역으로 하는 것.
ㆍ엔코딩 - 명사로서, 엔코딩이 되어진 신호. 또한, 엔코딩하는의 현재형의 동사.
ㆍ추론 - 추론된 신호를 입력 신호로서 생성하는 것.
ㆍ추론된 신호 - 입력 신호의 결과에 의해 구성되거나, 도출되거나, 시사되거나, 구동되거나, 혹은 이외 다른 것이 되는 신호.
ㆍ로직 네트워크 또는 부-네트워크 - 부울린 기능을 수행하는 임의의 하드웨어, 소프트웨어, 펌웨어, 혹은 이들의 조합을 포함하여, 클럭되든 클럭되지 않든 부울린 요소들, 로직, 또는 기능들을 제공하는 네트워크 또는 부-네트워크.
ㆍ네트워크 인터페이스 - 한 회로가 다른 회로와 통신할 수 있게 구성된 임의의 하드웨어, 소프트웨어, 펌웨어, 혹은 이들의 조합.
ㆍ순차적 로직 네트워크 또는 부-네트워크 - 클럭되든 클럭되지 않든 트리거를 포함하는 임의의 로직 네트워크 또는 부-네트워크.
ㆍ신호 - 한 회로 혹은 부-네트워크로부터 임의의 다른 회로 또는 부-네트워크로 임의의 종류의 정보를 전달하는 임의의 매체.
ㆍ신호 프로세서 - 신호를 수신하고 또 다른 회로부터 수신된 신호를 처리, 조절, 전환, 디코딩, 검출, 혹은 아니면 다루게 구성된 임의의 회로.
ㆍ부-네트워크 - 종속하여 있는 전체 회로까지를 포함하여, 다른 회로에 종속된 회로. 부-네트워크로서 회로의 지칭은 다른 회로에 종속되는 회로를 기술할 때만 논의의 명확성을 위한 것이며, 부-네트워크가 회로 자신이 아니라는 것을, 혹은 회로 자신일 수 없다는 것을 의미하려는 것이 아니다. 부-네트워크들은 서로 배타적일 필요가 없고, 일부 실시예들에서는 서로 다른 회로들 내에 혹은 이들 간에 공유되는 요소들을 가질 수도 있다.
ㆍ트리거 - 임의의 종류의 플립플롭, 래치, 쌍안정 멀티바이브레이터로서 동작하게 구성되거나, 아니면 순차적인 로직 동작들을 제공하게 구성된, 클럭되는 혹은 클럭되지 않는, 임의의 회로.
도면들을 참조하여 위에 논의된 활동들은 적어도 부분적으로 소프트웨어로 구현되는 것들을 포함하여, PLL 로직을 수반하는 임의의 개별적 혹은 집적회로들에 적용될 수 있음에 유의한다. 어떤 실시예들은 비제한적 예로서, 복수-DSP 신호 처리, 부동점 처리, 신호/제어 처리, 고정된-기능 처리, 마이크로제어기 응용들, 등에 관한 것들일 수 있다. 어떤 맥락들에서, 본원에서 논의되는 특징들은 의료 시스템들, 과학기구, 무선 및 유선 통신들, 레이더, 산업 프로세스 제어, 오디오 및 비디오 장비, 전류 감지, 계기(고도로 정밀할 수 있는), 및 그외 다른 디지털-처리-기반의 시스템들에 적용할 수 있다. 또한, 위에 논의된 어떤 실시예들은 의료 영상기, 환자 모니터링, 의료 계측, 및 가정 헬스 캐어를 위한 디지털 신호 처리 기술들에 제공될 수 있다. 이것은 폐 모니터들, 가속도계들, 심박수 모니터들, 심박 조율기들, 등을 포함할 수도 있을 것이다. 이외 다른 응용들은 안전 시스템들(예를 들면, 안정성 제어 시스템들, 운전자 보조 시스템들, 제동 시스템들, 인포테인먼트 및 임의의 종류의 인테리어 응용들)을 위한 자동차 기술들을 수반할 수 있다. 또한, 파워 트레인 시스템들(예를 들면, 하이브리드 및 전기 차량들에서)은 배터리 모니터링, 제어 시스템들, 보고 제어들, 유지보수 활동들, 등에서 고정밀 데이터 변환 제품들에 본원에 기술된 기능들을 적용할 수 있다. 다른 예시적 시나리오들에서, 본 발명의 교시된 바들은 생산성, 에너지 효율, 및 신뢰성을 구동하는데 도움을 주는 프로세스 제어 시스템들을 포함하는 산업 시장들에서 적용할 수 있다. 소비자 응용들에서, 개시된 PLL은 이미지 처리, 자동 초점, 및 이미지 안정화(예를 들면, 디지털 스틸 카메라들, 캠코더들, 등을 위한)에서 사용될 수 있다. 이외 다른 소비자 응용들은 홈 시어터 시스템들, DVD 레코더들, 및 고상세 텔레비젼들을 위한 오디오 및 비디오 프로세서들을 포함할 수 있다. 이외 다른 소비자 응용들은 진보된 터치 스크린 제어기들(예를 들면, 임의의 유형의 휴대 미디어 장치를 위한)을 수반할 수 있다. 따라서, 이러한 기술들은 쉽게 스마트폰들, 타블렛들, 시큐리티 시스템들, PC들, 게이밍 기술들, 가상현실, 모의훈련, 등의 부분이 될 수도 있을 것이다.
위에 실시예들의 논의들에서, 임의의 클럭들, 증폭기들, 스위치들, 디지털 코어, 트랜지스터들, 및/또는 그외 다른 성분들은 특정 회로 요구들을 수용하기 위해 쉽게 교체, 대체, 혹은 아니면 수정될 수 있다. 또한, 보완적 전자 장치들, 하드웨어, 소프트웨어, 등의 사용은 본 발명의 교시된 바들을 구현하기 위한 똑같이 실현가능한 선택지를 제공함에 유의한다.
일실시예에서, 도면들의 임의의 수의 전기 회로들은 연관된 전자 장치의 보드 상에 구현될 수 있다. 보드는, 전자 장치의 내부 전자 시스템의 각종 성분들을 유지할 수 있고 더우기 다른 주변장치들을 위한 커넥터들을 제공할 수 있는 일반적으로 회로 보드일 수 있다. 구체적으로, 보드는 시스템의 다른 성분들이 전기적으로 통신할 수 있게 하는 전기적 연결들을 제공할 수 있다. 임의의 적합한 프로세서들(디지털 신호 프로세서들, 마이크로프로세서들, 지원 칩세트들, 등을 포함하여), 메모리 요소들, 등은 특정한 구성 필요성들, 처리 요구들, 컴퓨터 설계들, 등에 기초하여 보드에 적합하게 결합될 수 있다. 이를테면 외부 저장장치, 추가적인 센서들, 오디오/비디오 디스플레이를 위한 제어기들, 및 다른 주변 장치들과 같은 다른 성분들은 플러그-인 카드들로서 혹은 케이블들을 통해 보드에 부착되거나, 혹은 보드 자체에 통합될 수 있다.
또 다른 실시예에서, 도면들의 전기 회로들은 독립형 모듈들(예를 들면, 연관된 성분들 및 특정 응용 또는 기능을 수행하게 구성된 회로를 가진 장치)로서 구현되거나, 혹은 전자 장치들의 응용특정의 하드웨어에 플러그-인 모듈들로서 구현될 수도 있다. 본 발명의 특정 실시예들은 부분적으로, 혹은 전체적으로 칩상 시스템(SOC) 패키지 내에 쉽게 포함될 수 있음에 유의한다. SOC는 컴퓨터 또는 이외 다른 전자 시스템의 성분들을 단일 칩 상에 집적하는 IC를 나타낸다. 이것은 디지털, 아날로그, 믹싱된-신호, 및 종종 라디오 주파수 기능들을 내포할 수 있는데, 이들 모두는 단일 칩 기판 상에 제공될 수 있다. 다른 실시예들은 복수-칩-모듈(MCM)을 포함할 수 있는데, 복수의 개별적 IC들은 단일 전자 패키지 내에 위치되고 전자 패키지를 통해 서로 밀접하게 상호작용하게 구성된다. 여러 다른 실시예들에서, PLL 기능들은 응용특정의 집적회로들(ASICs), 필드 프로그램가능 게이트 어레이들(FPGAs), 및 이외 다른 반도체 칩들에서 하나 이상의 실리콘 코어들에 구현될 수 있다.
또한, 본원에 개괄된 모든 명세들, 치수들, 및 관계들(예를 들면, 성분들의 수, 로직 동작들, 등)은 예 및 교시만의 목적들을 위해서만 제공되어졌음에 유의해야 한다. 이러한 정보는 본 발명의 정신 내에서, 혹은 첨부된 청구항들의 범위 내에서 상당히 달라질 수도 있다. 명세들은 비제한적 예에만 적용하며 따라서 이들은 그 자체로 해석되어야 한다. 전술한 설명에서, 실시예들은 특정 프로세서 및/또는 특정한 성분 배열들을 참조하여 기술되었다. 다양한 수정들 및 변경들은 첨부된 청구항들의 범위 내에서 이러한 실시예들에 행해질 수 있다. 따라서, 설명 및 도면들은 제약적인 의미가 아니라 예시적인 것으로 간주되어야 한다.
도면들을 참조하여 위에 논의된 활동들은 신호 처리를 수반하는 임의의 집적회로들, 특히 전용 소프트웨어 프로그램들 혹은 알고리즘들 -이들 중 일부는 디지털화된 실시간 데이터를 처리하는 것에 연관될 수 있다- 을 실행할 수 있는 것들에 적용할 수 있음에 유의한다. 어떤 실시예들은 복수-DSP 신호 처리, 부동점 처리, 신호/제어 처리, 고정된-기능 처리, 마이크로제어기 응용들, 등에 관한 것들일 수 있다.
본원에서 제공되는 많은 예들로, 2, 3, 4, 혹은 그 이상의 전기 성분들에 관하여 상호작용이 기술될 수 있음에 유의한다. 그러나, 이것은 단지 명확성 및 예시 목적들을 위해 행해졌다. 시스템은 임의의 적합한 방식으로 합체될 수 있음을 알아야 할 것이다. 유사한 설계 대안들을 따라, 도면들의 예시된 성분들, 모듈들, 및 요소들의 어느 것이든 다양한 가능한 구성들로 조합될 수 있고 이들 모두는 명백히 이 명세서의 넓은 범위 내에 있다. 어떤 경우들에 있어서, 제한된 수의 전기 요소들을 단지 언급함으로써 주어진 한 세트의 흐름들의 기능들 중 하나 이상을 기술하는 것이 더 쉬울 수 있다. 도면들 및 이의 교시된 바들의 전기 회로들은 쉽게 확장할 수 있고 복잡한/정교한 배열들 및 구성들 뿐만 아니라 많은 수의 성분들을 수용할 수 있음을 알 것이다. 따라서, 제공된 예들은 범위를 제한하거나, 무수한 다른 아키텍처들에 잠재적으로 적용되는 전기 회로들의 넓은 교시된 바들을 억제하지 않을 것이다.
이 명세서에서, "일실시예", "실시의 예", "실시예", "또 다른 실시예", "일부 실시예들", "여러 실시예들", "다른 실시예들", "대안적 실시예", 등에 포함된 여러 특징들(예를 들면, 요소들, 구조들, 모듈들, 성분들, 단계들, 동작들, 특성들, 등)에 대한 언급들은 임의의 이러한 특징들이 본 발명의 하나 이상의 실시예들에 포함되지만 동일 실시예들에서 조합될 수도 있고 혹은 반드시 조합되는 것은 아닐 수도 있음을 의미하게 한 것임에 유의한다.
이외 많은 다른 변화들, 대치들, 변형들, 변경들, 및 수정들이 당업자에게 확인될 수 있고, 본 발명은 첨부된 청구항들의 범위 내에 속하는 것으로서 모든 이러한 변화들, 대치들, 변형들, 변경들, 및 수정들을 포함하게 의도된다. 미국특허청(USPTO) 및 아울러 이 출원에서 나온 임의의 특허를 읽는 어느 누구에게든 본원에 첨부된 청구항들을 해석하는데 도움을 주기 위해서, 출원인은 출원인이 (a) 첨부된 청구항들 중 어느 것이든 "하기 위한 수단" 혹은 "하기 위한 단계"라는 단어들이 명시적으로 특정 청구항들에 사용되지 않는한 출원일에 존재하는 것으로서 35 U.S.C. 112조의 (6)항을 적용하려는 것이 아니며, (b) 명세서 내 임의의 진술에 의해, 이 발명을 첨부된 청구항들에 반영된 개시된 바를 어떠한 식으로든 제한하려는 것이 아님에 유의하고자 한다.

Claims (21)

  1. 복합 클럭-데이터 신호(min)을 로컬 클럭을 사용하지 않고 데이터 신호(data)로 디코딩하기 위한 디코더 회로에 있어서,
    min을 중간 데이터 신호(a), 조절(conditioning) 신호(b), 및 증간 클럭 신호(po)로 파싱하게 구성된 파싱 회로; 및
    a, b, 및 po를 수신하고 이로부터 클럭 신호(sclk)를 발생하게 구성된 로직 부-네트워크, 및 sclk에 의해 클럭되고 a로부터 data를 발생하게 구성된 데이터 부-네트워크를 포함하는 데이터 회로를 포함하는, 디코더 회로.
  2. 청구항 1에 있어서, 상기 min은 차분 맨체스터 엔코딩인, 디코더 회로.
  3. 청구항 1에 있어서, 상기 파싱 회로는,
    min을 수신하고 min의 천이 에지들에서 펄스(pi)를 출력하게 구성된 펄스 발생기;
    지연 신호(td)를 가지며 pi를 수신하고 po를 출력하게 구성된 지연 회로;
    pi를 수신하였을 때 클럭 펄스 신호(cke)를 셋(set) 하고 po를 수신하였을 때 cke를 리셋하게 구성된 트리거를 포함하는, 디코더 회로.
  4. 청구항 3에 있어서, 상기 복합 클럭-데이터 신호(min)은 선-클럭(clock-first), 제로에서 변화(change-on-zero)의 차분 맨체스트 엔코딩이며, 클럭 천이는 선택적인 데이터 천이에 앞서는 것으로 천이는 제로를 나타내고 천이 없음은 1을 나타내며;
    상기 지연 회로는 min의 상기 클럭 천이 후에 그러나 상기 선택적 데이터 천이 전에 po를 출력하게 구성되는, 디코더 회로.
  5. 청구항 4에 있어서, 상기 min은 주기(tper)를 가지며, td는 tper의 대략 70%인, 디코더 회로.
  6. 청구항 1에 있어서, 상기 데이터 회로는 a, b, 및 sclk를 수신하고 이로부터 오류신호를 발생하게 구성된 오류 부-네트워크를 추가로 포함하는, 디코더 회로.
  7. 청구항 6에 있어서, 상기 오류 부-네트워크는 sclk에 의해 클럭되고 (a&b)의 데이터 입력을 갖는 D 플립플롭을 포함하는, 디코더 회로.
  8. 청구항 1에 있어서, 상기 파싱 회로는 po에 의해 클럭되고 (a&~b)의 값을 데이터 입력으로서 수신하고 b를 출력하게 구성된 트리거를 포함하는, 디코더 회로.
  9. 복합 클럭-데이터 신호(min)을 로컬 클럭을 사용하지 않고 데이터 신호(data)로 디코딩하기 위한 방법에 있어서,
    상기 클럭 신호를 중간 데이터 신호(a), 조절 신호(b), 및 중간 클럭 신호(po)로 파싱하는 단계;
    a, b, 및 po로부터 클럭 신호(sclk)를 발생하는 단계;
    sclk에 의해 클럭되는 data를 a로부터 발생하는 단계를 포함하는, 디코딩 방법.
  10. 청구항 9에 있어서, 상기 min은 차분 맨체스터 엔코딩인, 디코더 방법.
  11. 청구항 9에 있어서, 상기 min을 파싱하는 단계는
    min의 천이 에지들에서 펄스(pi)를 발생하는 단계;
    pi를 지연신호(td)만큼 지연시킴으로써 po를 발생하는 단계;
    pi를 수신하였을 때 클럭 펄스 신호(cke)를 발생하고 po를 수신하였을 때 cke를 리셋하는 단계를 포함하는, 디코딩 방법.
  12. 청구항 11에 있어서, 상기 min은 선-클럭(clock-first), 제로에서 변화(change-on-zero)의 차분 맨체스트 엔코딩이며, 클럭 천이는 선택적인 데이터 천이에 앞서는 것으로 천이는 제로를 나타내고 천이 없음은 1을 나타내며;
    po를 발생하는 단계는 min의 상기 클럭 천이 후에 그러나 min의 상기 선택적 데이터 천이 전에 po를 출력하는 단계를 포함하는, 디코딩 방법.
  13. 청구항 12에 있어서, 상기 min은 주기(tper)를 가지며, td는 tper의 대략 70%인, 디코딩 방법.
  14. 청구항 9에 있어서, 상기 a, b, 및 sclk로부터 오류신호를 발생하는 단계를 추가로 포함하는, 디코딩 방법.
  15. 청구항 14에 있어서, 상기 오류신호를 발생하는 단계는 sclk에 의해 클럭되는 (a&b)의 값을 출력하는 단계를 포함하는, 디코딩 방법.
  16. 청구항 9에 있어서, b를 발생하는 단계는 po에 의해 클럭되는, (a&&~b)의 값을 출력하는 단계를 포함하고, ~b는 피드백 구성으로 수신되는, 디코딩 방법.
  17. 데이터-앞-클럭(clock-before-data), 제로에서 변화(chage-on-zero)의 차분 맨체스트 엔코딩된 신호(min)을 디코딩하게 구성된 신호 프로세서에 있어서,
    min을 수신하기 위한 네트워크 인터페이스;
    min으로부터 제 1 추론된 신호, 제 2 추론된 신호, 및 제 3 추론된 신호를 추론하게 구성된 파서; 및
    상기 제 1 추론된 신호로부터 추론된 데이터 신호를 추론하여 출력하게 구성된 데이터 엔코더로서, 상기 출력 신호는 상기 제 1, 제 2, 및 제 3 추론된 신호들로부터 추론된 클럭 신호에 의해 클럭되는 것인, 상기 데이터 엔코더를 포함하는, 신호 프로세서.
  18. 청구항 17에 있어서, 상기 min은 오디오 신호인, 신호 프로세서.
  19. 청구항 17에 있어서, 상기 파서는,
    min을 수신하고 신호를 출력하게 구성된 펄스 발생기;
    상기 펄스 발생기의 상기 출력을 수신하고 상기 제 3 추론된 신호를 출력하게 구성된 지연 요소;
    상기 펄스 발생기의 상기 출력에 의해 클럭되고 min의 각 주기에서 셋(set) 되고 복합 신호에 의해 리셋되는 출력 신호를 제공하게 구성된 제 1 트리거;
    입력으로서 상기 제 1 트리거의 상기 출력을 수신하고 출력으로서 상기 제 1 추론된 신호를 제공하게 구성되고, 상기 펄스 발생기의 상기 출력에 의해 클럭되는 제 2 트리거; 및
    상기 제 3 추론된 신호를 출력하고, 입력으로서 상기 제 1 추론된 신호의 로직 AND 및 피드백된 제 2 추론된 신호의 역을 수신하게 구성된 제 3 트리거로서, 이의 출력은 상기 제 3 추론된 신호에 의해 클럭되는 것인, 상기 제 3 트리거를 포함하고; 상기 데이터 엔코더는,
    입력으로서 상기 제 1 추론된 신호의 로직 역을 수신하고 상기 데이터 신호를 출력하게 구성되고, 상기 클럭 신호에 의해 클럭되는, 제 4 트리거를 포함하고;
    상기 클럭 신호는 상기 제 3 추론된 신호와 제 2 복합 신호와의 로직 AND이며, 상기 제 2 복합 신호는 상기 제 2 추론된 신호의 역과 제 3 복합 신호와의 로직 OR이며, 상기 제 3 복합 신호는 상기 제 1 추론된 신호와 상기 제 2 추론된 신호와의 로직 AND인, 신호 프로세서.
  20. 청구항 19에 있어서, 입력으로서 상기 제 3 복합 신호를 수신하고 상기 클럭 신호에 의해 클럭되는 오류 신호를 출력하는 제 5 트리거를 포함하는 오류 발생기를 추가로 포함하는, 신호 프로세서.
  21. 청구항 17에 있어서, 상기 제 1 및 제 2 추론된 신호들로부터 오류 신호를 추론하게 구성된 오류 검출기를 추가로 포함하고, 상기 오류 신호는 상기 클럭 신호에 의해 클럭되는, 신호 프로세서.
KR1020140082434A 2013-07-08 2014-07-02 차분 디코더 KR101616488B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361843902P 2013-07-08 2013-07-08
US61/843,902 2013-07-08
US14/191,556 2014-02-27
US14/191,556 US9059724B2 (en) 2013-07-08 2014-02-27 Differential decoder

Publications (2)

Publication Number Publication Date
KR20150006360A true KR20150006360A (ko) 2015-01-16
KR101616488B1 KR101616488B1 (ko) 2016-05-11

Family

ID=52132414

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140082434A KR101616488B1 (ko) 2013-07-08 2014-07-02 차분 디코더

Country Status (3)

Country Link
US (1) US9059724B2 (ko)
KR (1) KR101616488B1 (ko)
CN (1) CN104283664B (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10649948B2 (en) * 2011-10-05 2020-05-12 Analog Devices, Inc. Two-wire communication systems and applications
EP4180981A1 (en) 2011-10-05 2023-05-17 Analog Devices, Inc. Two-wire communication system for high-speed data and power distribution
US9946680B2 (en) 2012-10-05 2018-04-17 Analog Devices, Inc. Peripheral device diagnostics and control over a two-wire communication bus
US9772665B2 (en) 2012-10-05 2017-09-26 Analog Devices, Inc. Power switching in a two-wire conductor system
CN104717036B (zh) * 2015-03-01 2018-06-19 深圳中科讯联科技有限公司 一种差分曼彻斯特解码电路及解码系统
GB2537856A (en) * 2015-04-28 2016-11-02 Nordic Semiconductor Asa Communication between intergrated circuits
CN105099596B (zh) * 2015-08-26 2017-06-16 武汉中元华电科技股份有限公司 一种系统内高精度时间同步方法及装置
CN105591731B (zh) * 2015-12-31 2019-01-15 固安信通信号技术股份有限公司 一种有源应答器的dbpl解码方法
US10872049B2 (en) 2016-01-29 2020-12-22 Analog Devices, Inc. GPIO-to-GPIO communication on a multi-node daisy-chained network
US10397021B2 (en) 2016-01-29 2019-08-27 Analog Devices, Inc. Synchronous slave-to-slave communications
US10250376B2 (en) 2016-01-29 2019-04-02 Analog Devices, Inc. Clock sustain in the absence of a reference clock in a communication system
US9851938B2 (en) * 2016-04-26 2017-12-26 Analog Devices, Inc. Microphone arrays and communication systems for directional reception
US10374583B1 (en) 2018-04-02 2019-08-06 Analog Devices, Inc. Dynamic hysteresis circuit
US10855527B2 (en) 2018-04-03 2020-12-01 Infineon Technologies Ag Bidirectional communication using edge timing in a signal
US10931476B2 (en) 2018-10-29 2021-02-23 Analog Devices Global Unlimited Company Content protection over synchronous data networks
US10649945B1 (en) 2018-12-10 2020-05-12 Analog Devices International Unlimited Company Non-native digital interface support over a two-wire communication bus
US10856199B2 (en) 2019-01-04 2020-12-01 Analog Devices, Inc. Communication systems with auxiliary master and auxiliary call support functionality
US11061456B2 (en) * 2019-01-23 2021-07-13 Cisco Technology, Inc. Transmission of pulse power and data over a wire pair
US10790997B2 (en) 2019-01-23 2020-09-29 Cisco Technology, Inc. Transmission of pulse power and data in a communications network
US10884972B2 (en) 2019-05-08 2021-01-05 Analog Devices, Inc. Communication systems with serial peripheral interface functionality
US11411607B2 (en) 2020-01-07 2022-08-09 Analog Devices, Inc. Audio and lighting control via a communication bus
US10958412B1 (en) * 2020-01-22 2021-03-23 Infineon Technologies Ag Communication using edge timing in a signal
US11888498B2 (en) 2022-01-18 2024-01-30 Analog Devices International Unlimited Company Elimination of probability of bit errors in successive approximation register (SAR) analog-to-digital converter (ADC) logic
CN117614773A (zh) * 2024-01-15 2024-02-27 西安思坦仪器股份有限公司 一种基于油水井的单芯电缆的通信系统及施工管柱

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4317211A (en) * 1980-06-02 1982-02-23 The United States Of America As Represented By The Secretary Of The Navy Manchester code decoding apparatus
US4513329A (en) * 1983-09-01 1985-04-23 The United States Of America As Represented By The Secretary Of The Navy Manchester decoder clock multiplier
US4542420A (en) 1984-01-24 1985-09-17 Honeywell Inc. Manchester decoder
JPS61154321A (ja) 1984-12-27 1986-07-14 Hitachi Ltd 復号化回路
US5056114A (en) 1989-08-03 1991-10-08 Northern Telecom Limited Method and apparatus for decoding Manchester encoded data
US5168511A (en) * 1990-10-22 1992-12-01 Berkeley Varitronics Systems, Inc. Manchester data recorder with synchronously adjustable clock
DE69226766T2 (de) * 1992-06-22 1999-04-15 Ibm Knotenpunkt und Schnittstelle für isochronen Token-Ring
US5805632A (en) * 1992-11-19 1998-09-08 Cirrus Logic, Inc. Bit rate doubler for serial data transmission or storage
US5696800A (en) * 1995-03-22 1997-12-09 Intel Corporation Dual tracking differential manchester decoder and clock recovery circuit
SG52859A1 (en) * 1995-11-13 1998-09-28 Texas Instruments Inc Method and apparatus for decoding noisy intermittent data such as manchester encoded data or the like
JP3039466B2 (ja) * 1997-08-12 2000-05-08 日本電気株式会社 クロックリカバリ回路
US6285722B1 (en) * 1997-12-05 2001-09-04 Telcordia Technologies, Inc. Method and apparatus for variable bit rate clock recovery
JP3347667B2 (ja) * 1998-05-20 2002-11-20 沖電気工業株式会社 マンチェスタ符号化データ復号化装置
US6987824B1 (en) * 2000-09-21 2006-01-17 International Business Machines Corporation Method and system for clock/data recovery for self-clocked high speed interconnects
US6628212B1 (en) * 2000-11-21 2003-09-30 Nortel Networks Limited State-driven over-sampling manchester decoder
US7940877B1 (en) * 2003-11-26 2011-05-10 Altera Corporation Signal edge detection circuitry and methods
US7487331B2 (en) 2005-09-15 2009-02-03 Microchip Technology Incorprated Programming a digital processor with a single connection
JP4791185B2 (ja) 2006-01-04 2011-10-12 富士通セミコンダクター株式会社 補正回路
CN200997072Y (zh) * 2007-01-15 2007-12-26 大连光洋科技工程有限公司 专用于全数字环形总线数控系统的总线控制器
DE102010040772A1 (de) * 2010-09-14 2012-03-15 Endress + Hauser Flowtec Ag Dekodiereinheit und Kodiereinheit für den differentiellen Manchester-Code
CN201839287U (zh) * 2010-10-18 2011-05-18 天津光电通信技术有限公司 一种异步串行数据的远距离传输电路
US8384568B2 (en) * 2011-07-27 2013-02-26 Xilinx, Inc. Decoder circuit for down-sampling a differential manchester encoding
CN103051524A (zh) * 2011-10-11 2013-04-17 中国北车股份有限公司大连电力牵引研发中心 信号处理方法及网关

Also Published As

Publication number Publication date
US9059724B2 (en) 2015-06-16
CN104283664A (zh) 2015-01-14
KR101616488B1 (ko) 2016-05-11
CN104283664B (zh) 2017-12-08
US20150009050A1 (en) 2015-01-08

Similar Documents

Publication Publication Date Title
KR101616488B1 (ko) 차분 디코더
EP2824845B1 (en) Two-wire communication protocol engine
KR101178252B1 (ko) 다수의 데이터 싱크들을 위한 신호들의 동기화
KR102535076B1 (ko) 원격 버스 활성화를 위한 시스템들 및 기술들
US9946680B2 (en) Peripheral device diagnostics and control over a two-wire communication bus
KR101790484B1 (ko) 양방향 동기화/제어 워드 라인을 갖는 직렬 시간 분할 멀티플렉싱된 버스
KR101720382B1 (ko) 디지털 위상 검출기
US10102175B2 (en) Methods and apparatus for multi-drop digital bus
US10931476B2 (en) Content protection over synchronous data networks
US10852799B2 (en) Adaptive use of multiple power supplies in communication systems
CN110347627B (zh) 动态迟滞电路
CN109257260B (zh) 通信系统中多个电源的适应性应用
DE102014108915B4 (de) Differenzdecoder
US8761324B1 (en) Method and apparatus for phase signaling
JP2023549799A (ja) マイクロフォンアレイ較正のためのシステム及び技法
JP6243210B2 (ja) シリアルデータ送信装置、シリアルデータ受信装置、シリアルデータ送信方法、及び、シリアルデータ送信プログラム
JP2008109324A (ja) 通信システム
JPS6394746A (ja) 補助信号受信回路

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant