위에서 언급된 특징들 및 아래의 상세한 설명들은 본 발명의 더 나은 이해를 가능하게 하기 위한 예시적인 실시 예들을 보여준다. 본 발명은 이러한 실시 예들로 한정되지 않고, 다른 관점에서 구현될 수 있다. 아래의 실시 예들은 단지 본 발명을 완전히 개시하기 위한 예시들일 뿐이고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자(이하, 통상의 기술자)들에게 본 발명을 전달하기 위한 설명일 뿐이다. 따라서, 본 발명을 구현하기 위한 여러 방법이 있는 경우, 이 방법들 중 특정한 것 또는 이와 동등한 것 중 어떠한 것으로든 본 발명을 구현하는 것이 가능할 것이다.
아래의 설명들에서 어떤 구성 요소가 특정 요소(들)를 포함한다고 언급되는 경우 또는 어떤 과정이 특정 동작(들)을 포함한다고 언급되는 경우, 다른 요소(들) 또는 다른 동작(들)이 더 포함될 수 있다. 아래의 설명들에서 이용되는 용어들은 특정 실시 예를 보여주기 위해 제공될 뿐이고, 본 발명을 한정하도록 의도되지 않는다. 더 나은 이해를 가능하게 하기 위해 설명되는 예시들은 그것의 상보적인 실시 예도 포함할 수 있다.
아래의 설명들에서 이용되는 용어들은 통상의 기술자들에 의해 널리 이해되는 의미를 가질 수 있다. 통상적으로 이용되는 용어들은 설명들의 맥락에 따라 일관되게 해석되어야 한다. 나아가, 아래의 설명들에서 이용되는 용어들은, 그것의 의미가 명확히 정의되지 않은 한, 지나치게 이상적이거나 형식적인 의미를 갖는 것으로 해석되지 않아야 한다. 이하, 첨부된 도면들을 참조하여 몇몇 실시 예가 설명될 것이다.
도 1은 몇몇 실시 예에 따른 ADC(Analog-to-Digital Converter) 회로(1315)를 채용하는 전자 장치(1300)와 다른 전자 장치(1100) 사이의 예시적인 연결을 포함하는 전자 시스템(1000)의 블록도이다.
전자 장치들(1100, 1300)은 다양한 종류의 전자 장치들일 수 있다. 예로서, 전자 장치들(1100, 1300) 각각은 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 웨어러블(Wearable) 장치, 전기 자동차, 워크스테이션, 서버 시스템 등 중 하나일 수 있다. 본 발명은 이 예들로 한정되지 않고, 전자 장치들(1100, 1300)은 서로 통신할 수 있는 어떠한 종류의 전자 장치들로든 구현될 수 있다.
전자 장치(1300)는 전자 장치(1100)와 통신할 수 있다. 이를 위해, 전자 장치(1300)는 통신 회로(1310)를 포함할 수 있고, 전자 장치(1100)는 통신 회로(1110)를 포함할 수 있다. 통신 회로들(1110, 1310) 각각은 전자 장치들(1100, 1300) 사이의 통신을 가능하게 하기 위해 다양한 하드웨어 회로(예컨대, 안테나, 증폭 회로, 변조/복조 회로, 인코더/디코더 회로, CDR(Clock and Data Recovery) 회로 등)를 포함할 수 있다.
통신 회로들(1110, 1310)은 다양한 통신 규약 중 하나 이상에 따라 동작하고 구성될 수 있다. 예로서, 통신 회로들(1110, 1310)은 TCP/IP(Transfer Control Protocol/Internet Protocol), USB(Universal Serial Bus), Firewire 등과 같은 다양한 유선 통신 규약 중 적어도 하나, 및/또는 LTE(Long Term Evolution), WIMAX(Worldwide Interoperability for Microwave Access), GSM(Global System for Mobile communications), CDMA(Code Division Multiple Access), Bluetooth, Wi-Fi(Wireless Fidelity), RFID(Radio Frequency Identification) 등과 같은 다양한 무선 통신 규약 중 적어도 하나를 지원할 수 있다.
전자 장치(1100)는 전자 장치(1300)와 통신하기 위해 전자 장치(1300)로 아날로그 신호(ASa)를 송신할 수 있다. 통신 회로(1310)는 전자 장치(1100)로부터 아날로그 신호(ASa)를 수신할 수 있다. 전자 장치(1300)는 전자 장치(1100)와 통신하기 위해 전자 장치(1100)로 아날로그 신호(ASb)를 송신할 수 있다. 통신 회로(1110)는 전자 장치(1300)로부터 아날로그 신호(ASb)를 수신할 수 있다. 전자 장치들(1100, 1300) 사이의 통신은 아날로그 신호들(ASa, ASb)을 송신 및 수신함에 따라 수행될 수 있다.
한편, 전자 장치(1300)는 아날로그 신호(ASa)로부터 얻어지는 디지털 데이터(DDa)에 기초하여 동작할 수 있고, 전자 장치(1100)는 아날로그 신호(ASb)로부터 얻어지는 디지털 데이터(DDb)에 기초하여 동작할 수 있다. 따라서, 통신 회로(1310)는 아날로그 신호(ASa)를 디지털 데이터(DDa)로 변환하기 위해 ADC 회로(1315)를 포함할 수 있고, 통신 회로(1110)는 아날로그 신호(ASb)를 디지털 데이터(DDb)로 변환하기 위해 ADC 회로(1115)를 포함할 수 있다.
ADC 회로(1315)에 의해 변환된 디지털 데이터(DDa)는 전자 장치(1300)에 포함되는 다른 구성 요소로 제공될 수 있고, 전자 장치(1300)는 디지털 데이터(DDa)에 기초하여 고유의 기능(들)을 제공할 수 있다. ADC 회로(1115)에 의해 변환된 디지털 데이터(DDb)는 전자 장치(1100)에 포함되는 다른 구성 요소로 제공될 수 있고, 전자 장치(1100)는 디지털 데이터(DDb)에 기초하여 고유의 기능(들)을 제공할 수 있다.
도 2는 도 1의 ADC 회로(1115 또는 1315)의 예시적인 구성을 보여주는 블록도이다. 몇몇 실시 예에서, 도 1의 ADC 회로들(1115, 1315) 중 적어도 하나는 도 2의 ADC 회로(100)를 포함할 수 있다.
ADC 회로(100)는 위에서 설명된 및 아래에서 설명될 동작들을 수행하도록 구성되는 전자 회로로 구현될 수 있다. ADC 회로(100)는 위에서 설명된 및 아래에서 설명될 동작들을 수행하기 위해 다양한 아날로그/디지털 회로를 포함할 수 있다.
ADC 회로(100)는 입력 신호(예컨대, 아날로그 신호(AS))를 수신할 수 있다. ADC 회로(100)는 입력 신호를 출력 데이터(DD[tn, p:1])로 변환할 수 있다. ADC 회로(100)는 입력 신호를 복수의 타이밍 각각에서 샘플링할 수 있고, 출력 데이터(DD[tn, p:1])는 타이밍 tn과 관련하여 샘플링되는 입력 신호로부터 변환될 수 있다. 예로서, 출력 데이터(DD[tn, p:1])는 p개의 비트를 포함할 수 있다.
몇몇 실시 예에서, ADC 회로(100)는 기준 ADC(111) 및 메인 ADC(121)를 포함할 수 있다. 기준 ADC(111) 및 메인 ADC(121) 각각은 입력 신호(예컨대, 아날로그 신호(AS))를 수신할 수 있다. 기준 ADC(111)는 입력 신호를 출력 데이터(DD[tn, p:1])의 제 1 비트열(DD[tn, p:q+1])로 변환할 수 있다. 메인 ADC(121)는 입력 신호를 출력 데이터(DD[tn, p:1])의 제 2 비트열(DD[tn, q:1])로 변환할 수 있다.
예로서, 제 2 비트열(DD[tn, q:1])은 출력 데이터(DD[tn, p:1])에 포함되는 q개의 비트를 포함할 수 있고, 제 1 비트열(DD[tn, p:q+1])은 출력 데이터(DD[tn, p:1])에 포함되는 나머지 (p-q)개의 비트를 포함할 수 있다. 즉, 기준 ADC(111) 및 메인 ADC(121) 각각은 출력 데이터(DD[tn, p:1])의 일부분을 생성할 수 있다. 예로서, 제 1 비트열(DD[tn, p:q+1])은 출력 데이터(DD[tn, p:1])의 상위 비트들을 포함할 수 있고, 제 2 비트열(DD[tn, q:1])은 출력 데이터(DD[tn, p:1])의 하위 비트들을 포함할 수 있다.
출력 데이터(DD[tn, p:1])는 기준 ADC(111) 및 메인 ADC(121)로부터 각각 생성되는 제 1 비트열(DD[tn, p:q+1]) 및 제 2 비트열(DD[tn, q:1])을 조합함으로써 생성될 수 있다. 출력 데이터(DD[tn, p:1])는 ADC 회로(100)를 포함하는 전자 장치에서 디지털 데이터(DD)로서 다루어질 수 있다.
ADC 회로(100)는 ADC들(111, 121)을 이용하여 출력 데이터(DD[tn, p:1])의 상이한 비트들을 별개로 생성할 수 있다. 예로서, ADC 회로(100)는 서브 레인징(Sub-ranging) ADC로서 이해될 수 있다. 예로서, 기준 ADC(111)는 출력 데이터(DD[tn, p:1])의 상위 비트들을 제공하기 위한 코어스(Coarse) ADC로서 이해될 수 있고, 메인 ADC(121)는 출력 데이터(DD[tn, p:1])의 하위 비트들을 제공하기 위한 파인(Fine) ADC로서 이해될 수 있다.
기준 ADC(111) 및 메인 ADC(121)는 아날로그 신호(AS)를 출력 데이터(DD[tn, p:1])로 변환하기 위해 다양한 유형의 ADC들로 구현될 수 있다. 예로서, 기준 ADC(111) 및 메인 ADC(121) 각각은 SAR(Successive Approximation Register) ADC, DSI(Dual Slope Integration) ADC, 플래시(Flash) ADC, DSM(Delta-Sigma Modulation) ADC 등과 같은 다양한 유형의 ADC 중 하나로 구현될 수 있으나, 본 발명은 이 예들로 한정되지 않는다. 기준 ADC(111) 및 메인 ADC(121)는 동일한 유형의 ADC로 구현되거나, 상이한 유형들의 ADC들로 구현될 수 있다.
ADC 회로(100)는 ADC들(111, 121)에 각각 대응하는 스위치들(131, 141)을 포함할 수 있다. 스위치(131)는 입력 신호(예컨대, 아날로그 신호(AS))가 기준 ADC(111)로 제공되거나 제공되지 않도록 기준 ADC(111)로의 연결을 스위칭할 수 있다. 스위치(141)는 입력 신호가 메인 ADC(121)로 제공되거나 제공되지 않도록 메인 ADC(121)로의 연결을 스위칭할 수 있다.
스위치들(131, 141)이 연결되는 경우, 입력 신호가 ADC들(111, 121)로 제공될 수 있다. 반면, 스위치들(131, 141)이 연결 해제(Disconnect)되는 경우, 입력 신호는 ADC들(111, 121)로 제공되지 않을 수 있다.
입력 신호가 기준 ADC(111) 및 메인 ADC(121)로 제공되는 경우, 기준 ADC(111) 및 메인 ADC(121)는 입력 신호를 제 1 비트열(DD[tn, p:q+1]) 및 제 2 비트열(DD[tn, q:1])로 각각 변환할 수 있다. 따라서, ADC 회로(100)가 출력 데이터(DD[tn, p:1])를 출력할 수 있다.
도 2는 스위치들(131, 141) 각각이 스위치 소자인 것을 보여주지만, 본 발명은 도 2에 나타낸 것으로 한정되지 않는다. 스위치들(131, 141) 각각은 트랜지스터, 커패시터, 게이트 회로 등과 같이 연결을 스위칭할 수 있는 어떠한 소자로든 구현될 수 있다.
ADC 회로(100)는 ADC들(111, 121)을 위해 복수의 클록을 채용할 수 있다. 예로서, 기준 클록(CLKref) 및 메인 클록(CLK1)이 기준 ADC(111) 및 메인 ADC(121)를 위해 각각 채용될 수 있다. 스위치들(111, 121)은 기준 클록(CLKref) 및 메인 클록(CLK1)에 각각 응답하여 연결을 스위칭할 수 있다. 기준 클록(CLKref) 및 메인 클록(CLK1) 각각은 별도의 클록 생성기로부터 제공될 수 있고, 또는 별도의 CDR 회로에 의해 입력 신호(예컨대, 아날로그 신호(AS))로부터 복구되는 클록으로부터 제공될 수 있다.
스위치들(111, 121)이 기준 클록(CLKref) 및 메인 클록(CLK1)에 응답하여 동작함에 따라, 기준 ADC(111) 및 메인 ADC(121)가 기준 클록(CLKref) 및 메인 클록(CLK1)에 각각 응답하여 동작할 수 있다. 기준 ADC(111) 및 메인 ADC(121)는 독립적으로 기준 클록(CLKref) 및 메인 클록(CLK1)에 응답하여, 병렬로 입력 신호를 제 1 비트열(DD[tn, p:q+1]) 및 제 2 비트열(DD[tn, q:1])로 각각 변환할 수 있다.
예로서, 기준 ADC(111)는 빠른 변환 성능을 제공하도록 구성될 수 있고, 메인 ADC(121)는 정밀한 변환 능력을 제공하도록 구성될 수 있다. 기준 ADC(111)가 제 1 비트열(DD[tn, p:q+1])을 빠르게 생성하고 메인 ADC(121)가 제 2 비트열(DD[tn, q:1])을 정밀하게 생성함에 따라, ADC 회로(100)의 전반적인 성능 및 신뢰성이 향상될 수 있다. 다만, 이 예는 더 나은 이해를 가능하게 하기 위해 제공되고, 본 발명을 한정하도록 의도되지 않는다.
예로서, 기준 클록(CLKref)의 타이밍 tn에서, 기준 ADC(111)가 입력 신호(예컨대, 아날로그 신호(AS))로부터 샘플(R[tn])을 획득할 수 있다. 나아가, 메인 클록(CLK1)의 타이밍 tn에서, 메인 ADC(121)는 입력 신호로부터 샘플(M[tn])을 획득할 수 있다. 샘플들(R[tn], M[tn]) 각각은 타이밍 tn에서의 입력 신호의 레벨을 가질 수 있다. 예로서, 신호의 레벨은 전압 레벨을 의미할 수 있으나, 본 발명은 이 예로 한정되지 않는다.
기준 ADC(111)는 샘플(R[tn])에 기초하여 제 1 비트열(DD[tn, p:q+1])을 출력할 수 있다. 한편, 제 1 비트열(DD[tn, p:q+1])은 출력 데이터(DD[tn, p:1])의 비트들 중 일부만을 포함할 수 있고, 따라서 샘플(R[tn])을 충분히 표현하지 못할 수 있다. 이로 인해, 아래 [수학식 1]을 참조하면, 샘플(R[tn])과 제 1 비트열(DD[tn, p:q+1]) 사이에 양자화 오차(Quantization Error)가 있을 수 있다.
(단, Q[tn]는 타이밍 tn에서의 기준 ADC(111)의 양자화 오차를 나타냄)
위 [수학식 1]은 샘플(R[tn])과 제 1 비트열(DD[tn, p:q+1]) 사이의 뺄셈 연산을 보여준다. 그러나, 위 [수학식 1]의 뺄셈 연산은 양자화 오차(Q[tn])의 개념을 설명하기 위해 제공되고, 보통의 산술 연산을 의미하지는 않을 수 있다. 아래의 다른 수학식들에서 언급되는 연산들 역시 개념적인 설명들로서 이해되어야 한다.
한편, 메인 ADC(121)에 의해 생성되는 제 2 비트열(DD[tn, q:1])은 제 1 비트열(DD[tn, p:q+1])에 포함되는 비트들 외의 나머지 비트들을 포함할 수 있다. 따라서, 메인 ADC(121)는 기준 ADC(111)에서 처리되지 않은 양자화 오차(Q[tn])를 보상하는 것으로 이해될 수 있다.
이를 위해, 메인 ADC(121)는 샘플(M[tn]) 및 제 1 비트열(DD[tn, p:q+1])에 기초하여 제 2 비트열(DD[tn, q:1])을 생성할 수 있다. 예로서, 메인 ADC(121)는 샘플(M[tn])과 제 1 비트열(DD[tn, p:q+1]) 사이의 차이에 대응하는 값을 제 2 비트열(DD[tn, q:1])로 변환할 수 있다.
이상적인 조건에서, 기준 클록(CLKref) 및 메인 클록(CLK1)은 동일한 타이밍 tn을 제공할 수 있고, 기준 ADC(111) 및 메인 ADC(121)는 동일한 타이밍 tn에서 입력 신호(예컨대, 아날로그 신호(AS))를 샘플링할 수 있다. 따라서, 이상적인 조건에서, 샘플(R[tn])은 샘플(M[tn])과 동일할 수 있다. 결과적으로, 아래 [수학식 2]를 참조하면, 제 2 비트열(DD[tn, q:1])은 샘플(R[tn])과 제 1 비트열(DD[tn, p:q+1]) 사이의 차이에 기반하는 것으로 이해될 수 있고, 위 [수학식 1]의 양자화 오차(Q[tn])를 보상하도록 생성될 수 있다.
(단, QF[tn]는 타이밍 tn에서의 메인 ADC(121)의 양자화 오차를 나타냄)
도 3은 도 2의 ADC 회로(100)의 예시적인 구성을 보여주는 블록도이다. 몇몇 실시 예에서, ADC 회로(100)는 도 3의 ADC 회로(100a)를 포함할 수 있다.
ADC 회로(100a)는 기준 ADC(111a), 메인 ADC(121a), 스위치들(131, 141), 및 제어 로직 회로(150)를 포함할 수 있다. 기준 ADC(111a) 및 메인 ADC(121a)는 각각 도 2의 기준 ADC(111) 및 메인 ADC(121)에 대응할 수 있다. 도 3은 기준 ADC(111a)가 입력 신호(예컨대, 아날로그 신호(AS))를 3비트의 제 1 비트열(DD[10:8])로 변환하고 메인 ADC(121a)가 입력 신호를 7비트의 제 2 비트열(DD[7:1])로 변환함에 따라 ADC 회로(100a)가 10비트의 출력 데이터(DD[10:1])를 출력하는 예를 보여준다.
몇몇 실시 예에서, 기준 ADC(111a) 및 메인 ADC(121a) 각각은 SAR ADC로 구현될 수 있다. 이러한 실시 예들에서, 기준 ADC(111a)는 커패시터들(CR) 및 비교기(PR)를 포함할 수 있고, 메인 ADC(121a)는 커패시터들(CM) 및 비교기(PM)를 포함할 수 있다. 커패시터들(CR, CM) 옆의 숫자들은 각 커패시터들의 커패시턴스 값들의 비율을 의미할 수 있다.
도 3의 구성은 예로서 제공되고, 본 발명을 한정하도록 의도되지 않는다. 특히, 기준 ADC(111a)는 다른 유형의 ADC로 구현될 수 있다. 다만, 아래의 설명들에서, 더 나은 이해를 가능하게 하기 위해, 기준 ADC(111a) 및 메인 ADC(121a) 각각이 SAR ADC로 구현된 예들이 설명될 것이다.
비교기(PR)의 비반전 단자는 기준 클록(CLKref)에 응답하여 스위치(131)를 통해 입력 신호(예컨대, 아날로그 신호(AS))를 수신할 수 있다. 따라서, 비교기(PR)의 비반전 단자의 전압은 입력 신호의 레벨에 대응할 수 있다. 커패시터들(CR)의 일단들이 비교기(PR)의 비반전 단자로 연결될 수 있다. 나아가, 기준 레벨(RVR)이 비교기(PR)의 반전 단자로 제공될 수 있다. 몇몇 실시 예에서, 기준 ADC(111a)는 기준 레벨(RVR)을 채용하는 대신 차동 스킴(Differential Scheme)을 채용할 수 있다.
비교기(PR)는 입력 신호의 레벨을 기준 레벨(RVR)과 비교한 것의 결과를 출력할 수 있다. 비교기(PR)의 출력은 제 1 비트열(DD[10:8])을 제공할 수 있다. 제어 로직 회로(150)는 제 1 비트열(DD[10:8])에 포함되는 각 비트에 기초하여 기준 ADC(111a)를 제어할 수 있다. 제어 로직 회로(150)의 제어에 따라, 커패시터들(CR) 중 몇몇의 타단들이 구동 전압(VDD) 또는 접지 전압(GND)으로 선택적으로 연결될 수 있다. 기준 레벨(RVR), 구동 전압(VDD), 및 접지 전압(GND)은 별개의 전압 생성기 또는 전압 변환기로부터 제공될 수 있다.
커패시터들(CR) 중 몇몇이 큰 커패시턴스 값을 갖는 커패시터의 순서로 구동 전압(VDD) 또는 접지 전압(GND)으로 연결됨에 따라, 입력 신호의 레벨이 기준 레벨(RVR)과 비교될 수 있다. 커패시터들(CR) 중 몇몇이 구동 전압(VDD)으로 연결되는지 또는 접지 전압(GND)으로 연결되는지에 의존하여, 제 1 비트열(DD[10:8])의 비트들이 결정될 수 있다.
예로서, "3"에 대응하는 커패시턴스 값을 갖는 커패시터가 구동 전압(VDD)으로 연결되는지 또는 접지 전압(GND)으로 연결되는지에 의존하여, 비트(DD[10])가 결정될 수 있다. SAR ADC의 이러한 동작들은 통상의 기술자에 의해 잘 이해될 수 있고, 따라서 상세한 설명들은 이하 생략될 것이다.
비교기(PM)의 비반전 단자는 메인 클록(CLK1)에 응답하여 스위치(141)를 통해 입력 신호(예컨대, 아날로그 신호(AS))를 수신할 수 있다. 따라서, 비교기(PM)의 비반전 단자의 전압은 입력 신호의 레벨에 대응할 수 있다. 커패시터들(CM)의 일단들이 비교기(PM)의 비반전 단자로 연결될 수 있다.
나아가, 기준 레벨(RVM)이 비교기(PM)의 반전 단자로 제공될 수 있다. 기준 레벨(RVM)은 별개의 전압 생성기 또는 전압 변환기로부터 제공될 수 있다. 몇몇 실시 예에서, 메인 ADC(121a)는 기준 레벨(RVM)을 채용하는 대신 차동 스킴을 채용할 수 있다.
비교기(PM)는 입력 신호의 레벨을 기준 레벨(RVM)과 비교한 것의 결과를 출력할 수 있다. 비교기(PM)의 출력은 제 2 비트열(DD[7:1])을 제공할 수 있다. 제어 로직 회로(150)는 제 2 비트열(DD[7:1])에 포함되는 각 비트에 기초하여 메인 ADC(121a)를 제어할 수 있다. 제어 로직 회로(150)의 제어에 따라, 커패시터들(CM) 중 몇몇의 타단들이 구동 전압(VDD) 또는 접지 전압(GND)으로 선택적으로 연결될 수 있다.
먼저, 메인 ADC(121a)는 제 1 비트열(DD[10:8])을 직접 생성하는 대신, 제어 로직 회로(150)의 제어에 따라, 기준 ADC(111a)로부터 생성되는 제 1 비트열(DD[10:8])을 참조할 수 있다. 따라서, 커패시터들(CM) 중 상위 비트들과 관련되는 커패시터들의 타단들은 제 1 비트열(DD[10:8])의 비트들에 기초하여 구동 전압(VDD) 또는 접지 전압(GND)으로 연결될 수 있다.
이후, 커패시터들(CM) 중 몇몇이 큰 커패시턴스 값을 갖는 커패시터의 순서로 구동 전압(VDD) 또는 접지 전압(GND)으로 연결됨에 따라, 입력 신호의 레벨이 기준 레벨(RVM)과 비교될 수 있다. 커패시터들(CM) 중 몇몇이 구동 전압(VDD)으로 연결되는지 또는 접지 전압(GND)으로 연결되는지에 의존하여, 제 2 비트열(DD[7:1])의 비트들이 결정될 수 있다.
제어 로직 회로(150)의 제어에 따라, 출력 데이터(DD[10:1])가 제 1 비트열(DD[10:8]) 및 제 2 비트열(DD[7:1])에 기초하여 출력될 수 있다. SAR ADC의 이러한 동작들은 통상의 기술자에 의해 잘 이해될 수 있고, 따라서 상세한 설명들은 이하 생략될 것이다. 다만, 더 나은 이해를 가능하게 하기 위해, 몇몇 예가 도 4 및 도 5를 참조하여 설명될 것이다.
도 4 및 도 5는 도 2의 ADC 회로(100)의 예시적인 동작을 설명하기 위한 그래프들이다.
예로서, 도 4 및 도 5의 예시적인 동작은 축차 근사 스킴(Successive Approximation Shceme)에 기반할 수 있고, 도 3의 ADC 회로(100a)와 관련될 수 있다. 아래에서 설명될 예시적인 축차 근사 스킴은 비 이진 탐색(Non-binary Search)과 관련된다. 그러나, 본 발명은 여기에 한정되지 않고, 아래의 설명들과 유사한 맥락으로 이진 탐색과 관련하여 적용될 수도 있음이 잘 이해될 것이다.
도 4는 도 3의 기준 ADC(111a)에서 제 1 비트열(DD[10:8])을 생성하는 예시적인 과정을 보여준다. 기준 ADC(111a)가 3비트의 분해능(Resolution)으로 동작하는 경우, 샘플(R[tn])은 8단계의 양자화 레벨들 중 하나로 변환될 수 있다.
먼저, 샘플(R[tn])의 레벨은 8단계의 양자화 레벨들의 중간 값인 양자화 레벨 "4"와 비교될 수 있다. 도 4의 예에서, 샘플(R[tn])의 레벨은 양자화 레벨 "4"보다 클 수 있고, 비교기(PR)는 샘플(R[tn])의 레벨이 양자화 레벨 "4"보다 큼을 지시하는 결과를 출력할 수 있다. 제 1 비트열(DD[10:8])의 비트(DD[10])는 비교기(PR)의 출력에 대응하는 논리 값(예컨대, 논리 "1")을 가질 수 있다.
다음으로, 샘플(R[tn])의 레벨은 양자화 레벨 "5.5"와 비교될 수 있다. 도 4의 예에서, 샘플(R[tn])의 레벨은 양자화 레벨 "5.5"보다 클 수 있고, 비교기(PR)는 샘플(R[tn])의 레벨이 양자화 레벨 "5.5"보다 큼을 지시하는 결과를 출력할 수 있다. 제 1 비트열(DD[10:8])의 비트(DD[9])는 비교기(PR)의 출력에 대응하는 논리 값(예컨대, 논리 "1")을 가질 수 있다.
기준 레벨(RVR)은 비교되는 양자화 레벨에 대응하도록 적절히 제어될 수 있다. 제 1 비트열(DD[10:8])의 각 비트는 샘플(R[tn])의 레벨이 기준 레벨(RVR)보다 큰지 또는 작은지에 따라 논리 "1" 또는 논리 "0"의 논리 값을 가질 수 있다.
유사한 방식으로, 제 1 비트열(DD[10:8])의 비트(DD[8])가 생성될 수 있다. 한편, 제 1 비트열(DD[10:8])이 생성되더라도, 양자화 오차(Q[tn])가 발생할 수 있다. 도 3의 메인 ADC(121a)는 양자화 오차(Q[tn])를 보상할 수 있는 제 2 비트열(DD[7:1])을 생성할 수 있다.
도 5는 메인 ADC(121a)에서 제 2 비트열(DD[7:1])을 생성하는 예시적인 과정을 보여준다. 메인 ADC(121a)가 10비트의 분해능으로 동작하는 경우, 샘플(M[tn])은 1024단계의 양자화 레벨들 중 하나로 변환될 수 있다.
먼저, 기준 ADC(111a)로부터 생성되는 제 1 비트열(DD[10:8])이 메인 ADC(121a)로 제공될 수 있다. 이에 따라, 커패시터들(CM) 중 몇몇이 제 1 비트열(DD[10:8])에 기초하여 구동 전압(VDD) 또는 접지 전압(GND)으로 선택적으로 연결될 수 있고, 샘플(M[tn])의 레벨을 기준 레벨(RVM)과 비교하기 위한 초기 상태가 메인 ADC(121a)에서 설정될 수 있다.
이후, 제 1 비트열(DD[10:8])을 생성하기 위한 것과 유사한 방식에 따라 샘플(M[tn])의 레벨이 기준 레벨(RVM)과 비교될 수 있고, 제 2 비트열(DD[7:1])의 비트들(DD[7] 내지 DD[1])이 비교 결과들에 기초하여 결정될 수 있다. 따라서, 입력 신호가 출력 데이터(DD[10:1])로 변환될 수 있다.
한편, 제 2 비트열(DD[7:1])의 최상위 비트(DD[7])는 도 3의 "64"에 대응하는 커패시턴스 값을 갖는 커패시터와 관련하여 생성될 수 있다. 몇몇 실시 예에서, "64"에 대응하는 커패시턴스 값을 갖는 이 커패시터는 양자화 레벨의 중복 구간(Redundancy Interval)을 제공할 수 있고, 제 2 비트열(DD[7:1])의 최상위 비트(DD[7])는 서브 레인징 구조의 SAR ADC에서 중복 비트(Redundancy Bit)로서 이해될 수 있다. 중복 비트는 SAR ADC의 변환의 정확도를 향상시킬 수 있다.
입력 신호의 샘플링된 레벨로 접근함에 따라 아날로그-디지털 변환을 제공하는 축차 근사 스킴의 특성에 기인하여, 메인 ADC(121a)로부터 출력되는 제 2 비트열(DD[7:1])의 최상위 비트(DD[7])는 최상위 비트(DD[7])에 인접하는 하위 비트(DD[6])와 상이할 수 있다. 이상적인 조건에서 샘플(M[tn])이 샘플(R[tn])과 동일하게 획득되는 경우, 제 2 비트열(DD[7:1])의 최상위 비트(DD[7])에 대응하는 비교 결과는 하위 비트(DD[6])에 대응하는 비교 결과와 반대일 수 있다.
이 관점에서, 제 2 비트열(DD[7:1])의 최상위 비트(DD[7])가 그것의 하위 비트(DD[6])와 동일한 경우(즉, 제 2 비트열(DD[7:1])의 최상위 비트(DD[7])에 대응하는 비교 결과가 하위 비트(DD[6])에 대응하는 비교 결과와 동일한 경우), 샘플(M[tn])이 샘플(R[tn])과 상이함이 이해될 수 있다. 이는, 도 6 및 도 7을 참조하여 설명될 것처럼, 샘플들(R[tn], M[tn])이 동일한 타이밍 tn에서 획득되지 않았고 타이밍 오류가 있음을 의미할 수 있다.
도 6은 도 2의 ADC 회로(100)에서 다루어지는 클록들의 예시적인 타이밍들을 보여주는 타이밍도이다. 도 7은 도 6의 타이밍들과 관련하여 도 2의 ADC 회로(100)의 예시적인 동작을 설명하기 위한 그래프이다.
도 6을 참조하면, 메인 ADC(121)는 메인 클록(CLK1)의 타이밍들 t(n-1), tn, 및 t(n+1) 각각에서 입력 신호(예컨대, 아날로그 신호(AS))를 샘플링할 수 있다. 따라서, 메인 ADC(121)는 입력 신호로부터 샘플들(M[t(n-1)], M[tn], M[t(n+1)])을 획득할 수 있다.
한편, 이상적인 조건에서, 기준 ADC(111)는 기준 클록(CLKref)의 타이밍 tn에서 입력 신호를 샘플링할 수 있다. 그러나, 회로 설계 이슈(예컨대, 소자 특성, 클록 선로들의 물리적인 길이들의 차이 등), PVT 변동(Process-Voltage-Temperature Variation) 등과 같은 다양한 요인이 기준 클록(CLKref) 및/또는 메인 클록(CLK1)의 타이밍들에 영향을 줄 수 있다.
예로서, 기준 클록(CLKref)과 메인 클록(CLK1) 사이에서 타이밍 오류(tsk)가 발생할 수 있다. 이 경우, 예로서, 기준 클록(CLKref)은 타이밍 tn으로부터 어긋난 타이밍 (tn-tsk)를 제공할 수 있고, 기준 ADC(111)는 타이밍 tn 대신 타이밍 (tn-tsk)에서 샘플(R[tn-tsk])을 획득할 수 있다.
샘플(R[tn]) 대신 샘플(R[tn-tsk])이 획득됨에 따라, 메인 ADC(121)의 샘플(M[tn])의 레벨과 기준 ADC(111)의 샘플(R[tn-tsk])의 레벨 사이에 레벨 오차(E[tn])가 발생할 수 있다. 레벨 오차(E[tn])는 타이밍 오류(tsk)에 기인하여 타이밍 tn과 관련하여 발생할 수 있다. 레벨 오차(E[tn])의 개념은 아래 [수학식 3]으로부터 이해될 수 있다.
한편, 타이밍 오류(tsk) 및 레벨 오차(E[tn])가 발생하는 경우, 위 [수학식 1]의 양자화 오차(Q[tn])는 아래 [수학식 4]로 변경될 수 있다.
위 [수학식 3] 및 [수학식 4]를 고려하면, 제 2 비트열(DD[tn, q:1])은 아래 [수학식 5]로서 표현될 수 있다.
위 [수학식 5]를 위 [수학식 2]와 비교하면, 레벨 오차(E[tn])가 제 2 비트열(DD[tn, q:1])에 영향을 줌이 이해될 수 있다. 이러한 영향은 도 7로부터 더 잘 이해될 수 있다.
도 7은 도 3 내지 도 5를 참조하여 설명된 예들과 관련된다. 기준 ADC(111a)가 비트들(DD[10] 내지 DD[8])을 생성한 후, 메인 ADC(121a)가 비트(DD[7])를 생성할 수 있다. 이상적인 조건에서, 메인 ADC(121a)는 양자화 오차(Q[tn])만을 보상할 수 있다. 그러나, 타이밍 오류(tsk) 및 레벨 오차(E[tn])가 발생하는 경우, 메인 ADC(121a)는 양자화 오차(Q[tn]) 및 레벨 오차(E[tn]) 모두를 보상하기 위해 동작할 수 있다.
샘플(R[tn-tsk])을 고려하면, 비트(DD[6])는 샘플(R[tn-tsk])의 레벨이 기준 레벨보다 작음을 지시하는 비교 결과에 대응하는 값을 가질 수 있다. 그러나, 샘플(M[tn])을 고려하면, 비트(DD[6])는 샘플(M[tn])의 레벨이 기준 레벨보다 큼을 지시하는 비교 결과에 대응하는 값을 가질 수 있다. 즉, 레벨 오차(E[tn])는 비트(DD[6])가 의도되지 않은 값을 갖게 만들 수 있다.
레벨 오차(E[tn])에 기인하여, 제 2 비트열(DD[tn, q:1])의 비트들이 의도되지 않은 값들을 가질 수 있고, 잘못된 출력 데이터(DD[tn, p:1])가 생성될 수 있다. 이는 ADC 회로(100) 및 이를 포함하는 전자 장치의 불안정한 동작을 야기할 수 있고, ADC 회로(100)가 노이즈에 취약하게 될 수 있다.
나아가, 타이밍 오류(tsk)에 기인하여, 샘플링 타이밍의 여유(Margin)가 불충분하게 되거나 셋업/홀드(Setup/Hold) 시간이 부적절하게 될 수 있다. 몇몇 경우, 타이밍 오류(tsk)는 의도되지 않은 주파수 성분의 노이즈를 야기할 수 있다.
타이밍 오류(tsk) 및 레벨 오차(E[tn])는 ADC 회로(100) 및 이를 포함하는 전자 장치의 안정성 및 신뢰성을 악화시킬 수 있고, 분해능, 오류율(Error Rate), 다이나믹 레인지(Dynamic Range) 등과 같은 요구사항(Requirement)들에 영향을 줄 수 있다. 따라서, 타이밍 오류(tsk) 및 레벨 오차(E[tn])를 해소하는 것은 중요한 이슈로 될 수 있다.
본 개시의 실시 예들은 도 6 및 도 7을 참조하여 설명된 타이밍 오류(tsk) 및 레벨 오차(E[tn])를 해소하기 위한 구성들 및 동작들을 제공할 수 있다. 도 6 및 도 7의 예들과 관련하여, 타이밍 오류(tsk) 및 레벨 오차(E[tn])에 기인하여, 제 2 비트열(DD[7:1])의 최상위 비트(DD[7])가 그것의 하위 비트(DD[6])와 동일함이 이해될 수 있다. 이상적인 조건과 관련되는 도 5를 레벨 오차(E[tn])와 관련되는 도 7과 비교하면, 제 2 비트열(DD[7:1])의 최상위 비트(DD[7]) 및 최상위 비트(DD[7])에 인접하는 하위 비트(DD[6])가 타이밍 오류(tsk) 및 레벨 오차(E[tn])를 해소하기 위해 참조될 수 있음이 이해될 수 있다.
도 8은 도 2의 ADC 회로(100)에서 다루어지는 메인 클록(CLK1)의 타이밍을 조절하는 예시적인 방법을 설명하기 위한 타이밍도이다. 도 9는 도 8의 타이밍도와 관련하여 메인 클록(CLK1)의 타이밍을 조절하는 예시적인 방법을 설명하기 위한 표이다.
도 8을 참조하면, 입력 신호(예컨대, 아날로그 신호(AS))의 레벨은 특정 시간 구간 동안 증가하거나 감소할 수 있다. 이에 따라, 입력 신호의 기울기가 증가하거나 감소할 수 있다. 입력 신호의 기울기는 입력 신호의 레벨이 변경되는 방향(즉, 입력 신호의 레벨의 증가 또는 감소)과 관련될 수 있다.
예로서, 아날로그 신호(AS)의 기울기가 양(Positive)인 동안, 타이밍 tn이 아날로그 신호(AS)의 레벨(L01)을 샘플링하도록 의도될 수 있다. 그러나, 음(Negative)의 타이밍 오류(-tsk)가 발생하는 경우, 아날로그 신호(AS)의 레벨(L02)이 타이밍 (tn-tsk)에서 샘플링될 수 있고 음의 레벨 오차(-E[tn])가 발생할 수 있다. 반면, 양의 타이밍 오류(+tsk)가 발생하는 경우, 아날로그 신호(AS)의 레벨(L03)이 타이밍 (tn+tsk)에서 샘플링될 수 있고 양의 레벨 오차(+E[tn])가 발생할 수 있다.
예로서, 아날로그 신호(AS)의 기울기가 음인 동안, 타이밍 t(n+1)이 아날로그 신호(AS)의 레벨(L01)을 샘플링하도록 의도될 수 있다. 그러나, 음의 타이밍 오류(-tsk)가 발생하는 경우, 아날로그 신호(AS)의 레벨(L03)이 타이밍 (t(n+1)-tsk)에서 샘플링될 수 있고 양의 레벨 오차(+E[t(n+1)])가 발생할 수 있다. 반면, 양의 타이밍 오류(+tsk)가 발생하는 경우, 아날로그 신호(AS)의 레벨(L02)이 타이밍 (t(n+1)+tsk)에서 샘플링될 수 있고 음의 레벨 오차(-E[t(n+1)])가 발생할 수 있다.
위 예들을 참조하면, 아날로그 신호(AS)의 기울기 및 레벨 오차의 부호는 타이밍 오류의 부호와 관련됨이 이해될 수 있다. 도 9를 참조하면, 예로서, 아날로그 신호(AS)의 기울기의 부호가 레벨 오차의 부호와 동일한 경우, 이는 양의 타이밍 오류가 발생하였음을 의미할 수 있다. 반면, 예로서, 아날로그 신호(AS)의 기울기의 부호가 레벨 오차의 부호와 반대인 경우, 이는 음의 타이밍 오류가 발생하였음을 의미할 수 있다.
본 개시의 실시 예들은 타이밍 오류를 해소하기 위해 메인 클록(CLK1)의 타이밍들을 조절할 수 있다. 메인 클록(CLK1)의 타이밍들은 기준 클록(CLKref)의 타이밍들과 동일해지도록 조절될 수 있다. 다시 말해, 메인 클록(CLK1)의 타이밍들이 기준 클록(CLKref)의 타이밍들에 맞추어 정렬(Align)될 수 있다. 따라서, 메인 클록(CLK1)과 기준 클록(CLKref) 사이의 타이밍 오류가 해소될 수 있다.
본 개시의 실시 예들은 메인 클록(CLK1)의 타이밍들을 조절하기 위해, 메인 클록(CLK1)을 전송하는 것과 관련되는 지연 시간을 조절할 수 있다. 예로서, 양의 타이밍 오류는 기준 클록(CLKref)의 타이밍들이 메인 클록(CLK1)의 타이밍들보다 늦음을 의미할 수 있다. 따라서, 이 경우, 메인 클록(CLK1)의 타이밍들이 늦춰지도록 지연 시간이 증가할 수 있다. 반면, 음의 타이밍 오류는 기준 클록(CLKref)의 타이밍들이 메인 클록(CLK1)의 타이밍들보다 이름을 의미할 수 있다. 따라서, 이 경우, 메인 클록(CLK1)의 타이밍들이 앞당겨지도록 지연 시간이 감소할 수 있다.
도 10은 도 1의 ADC 회로(1115 또는 1315)의 예시적인 구성을 보여주는 블록도이다. 몇몇 실시 예에서, 도 1의 ADC 회로들(1115, 1315) 중 적어도 하나는 도 10의 ADC 회로(200)를 포함할 수 있다.
ADC 회로(200)는 아래에서 설명될 동작들을 수행하도록 구성되는 전자 회로로 구현될 수 있다. ADC 회로(200)는 아래에서 설명될 동작들을 수행하기 위해 다양한 아날로그/디지털 회로를 포함할 수 있다.
예로서, ADC 회로(200)는 기준 ADC(211), 메인 ADC(221), 스위치들(231, 241), 타이밍 오류 검출기(271), 기울기 계산기(273), 지연 보정기(275), 및 지연 회로(291)를 포함할 수 있다. 기준 ADC(211), 메인 ADC(221), 및 스위치들(231, 241)은 각각 도 2의 기준 ADC(111), 메인 ADC(121), 및 스위치들(131, 141)에 대응할 수 있다. 간결성을 위해, 기준 ADC(211), 메인 ADC(221), 및 스위치들(231, 241)과 관련하여 중복되는 설명들은 이하 생략될 것이다.
타이밍 오류 검출기(271)는 기준 클록(CLKref)과 메인 클록(CLK1) 사이의 타이밍 오류를 검출할 수 있다. 타이밍 오류 검출기(271)는 검출 결과에 기초하여 검출 값(DT)을 출력할 수 있다. 예로서, 기준 클록(CLKref)과 메인 클록(CLK1) 사이에서 타이밍 오류가 발생한 경우, 검출 값(DT)은 기준 클록(CLKref)의 타이밍이 메인 클록(CLK1)의 타이밍과 상이함을 지시할 수 있다.
타이밍 오류 검출기(271)는 제 2 비트열(DD[tn, q:1])에 포함되는 제 1 비트 및 제 2 비트에 기초하여 검출 값(DT)을 출력할 수 있다. 예로서, 제 1 비트는 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])를 포함할 수 있고, 제 2 비트는 최상위 비트(DD[tn, q])에 인접하고 최상위 비트(DD[tn, q])보다 하위인 하위 비트(DD[tn, q-1])를 포함할 수 있다.
도 5과 도 7을 비교하여 설명된 것처럼, 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q]) 및 그것에 인접하는 하위 비트(DD[tn, q-1])는 타이밍 오류를 검출하고 해소하기 위해 참조될 수 있다. 따라서, 예로서, 타이밍 오류 검출기(271)는 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q]) 및 그것의 하위 비트(DD[tn, q-1])를 조합하여 검출 값(DT)을 생성할 수 있다.
예로서, 제 2 비트열(DD[tn, q:1])의 제 1 비트(예컨대, 최상위 비트(DD[tn, q]))의 값이 제 2 비트열(DD[tn, q:1])의 제 2 비트(예컨대, 하위 비트(DD[tn, q-1]))의 값과 상이한 경우, 타이밍 오류를 지시하는 검출 값(DT)은 출력되지 않을 수 있다(도 5 참조). 반면, 제 2 비트열(DD[tn, q:1])의 제 1 비트(예컨대, 최상위 비트(DD[tn, q]))의 값이 제 2 비트열(DD[tn, q:1])의 제 2 비트(예컨대, 하위 비트(DD[tn, q-1]))의 값과 동일한 경우, 타이밍 오류를 지시하는 검출 값(DT)이 출력될 수 있다(도 7 참조).
기울기 계산기(273)는 기울기 값(SS)을 생성할 수 있다. 기울기 값(SS)은 입력 신호(예컨대, 아날로그 신호(AS))의 기울기의 부호와 관련될 수 있다. 기울기 값(SS)은 입력 신호의 레벨이 변경되는 방향(즉, 입력 신호의 레벨의 증가 또는 감소)을 지시할 수 있다.
도 8 및 도 9를 참조하여 설명된 것처럼, 입력 신호의 기울기의 부호(즉, 입력 신호의 레벨이 변경되는 방향)는 타이밍 오류의 방향(즉, 부호)을 판별하기 위해 레벨 오차의 부호와 함께 참조될 수 있다. 따라서, 기울기 계산기(273)는 입력 신호의 기울기의 부호와 관련되는 기울기 값(SS)을 생성할 수 있다. 기울기 값(SS)은 상이한 타이밍들에서 획득되는 복수의 샘플로부터 계산될 수 있다.
예로서, 출력 데이터(DD[tn, p:1])가 기준 클록(CLKref) 및 메인 클록(CLK1)과 관련되는 타이밍 tn에 대응하여 생성될 수 있다. 예로서, 후행 출력 데이터(DD[t(n+1), p:1])가 타이밍 tn 직후의 타이밍 t(n+1)에 대응하여 생성될 수 있고, 선행 출력 데이터(DD[t(n-1), p:1])가 타이밍 tn 직전의 타이밍 t(n-1)에 대응하여 생성되었을 수 있다.
기울기 값(SS)은 후행 출력 데이터(DD[t(n+1), p:1])와 선행 출력 데이터(DD[t(n-1), p:1]) 사이의 차이에 기초하여 계산될 수 있다. 즉, 입력 신호의 레벨이 변경되는 방향은 후행 타이밍의 후행 출력 데이터와 선행 타이밍의 선행 출력 데이터 사이의 차이에 기초하여 획득될 수 있다. 이는 도 11 내지 도 14를 참조하여 좀 더 설명될 것이다. 기울기 계산기(273)는 선행 출력 데이터(DD[t(n-1), p:1]) 및 후행 출력 데이터(DD[t(n+1), p:1])를 일시적으로 버퍼링하기 위해 메모리 소자를 포함할 수 있다.
지연 보정기(275)는 지연 보정 값(DC)을 출력할 수 있다. 지연 보정 값(DC)은 메인 클록(CLK1)을 전송하는 것과 관련되는 지연 시간을 조절하기 위해 참조될 수 있다. 지연 시간은 지연 보정 값(DC)에 기초하여 조절될 수 있다. 지연 보정기(275)는 제 2 비트열(DD[tn, q:1])의 제 1 비트(예컨대, 최상위 비트(DD[tn, q])) 및 기울기 값(SS)을 조합하여 지연 보정 값(DC)을 생성할 수 있다.
도 8 및 도 9를 참조하여 설명된 것처럼, 레벨 오차의 부호는 타이밍 오류의 방향(즉, 부호)을 판별하기 위해 입력 신호의 기울기의 부호(즉, 입력 신호의 레벨이 변경되는 방향)과 함께 참조될 수 있다. 한편, 도 7의 예를 참조하면, 제 2 비트열(DD[7:1])의 최상위 비트(DD[7])의 값은 레벨 오차(E[tn])가 발생한 방향을 따르도록 결정됨이 이해될 수 있다. 즉, 제 2 비트열(DD[7:1])의 최상위 비트(DD[7])가 레벨 오차(E[tn])의 부호와 관련됨이 이해될 수 있다.
이 관점에서, 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])의 값은 레벨 오차의 부호를 지시할 수 있고, 따라서 타이밍 오류의 방향을 판별하기 위해 참조될 수 있다. 지연 보정기(275)는 지연 보정 값(DC)을 생성하기 위해 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])의 값을 이용할 수 있다. 지연 보정 값(DC)은 판별된 방향의 타이밍 오류를 해소하기 위해 생성될 수 있다.
타이밍 오류 검출기(271), 기울기 계산기(273), 및 지연 보정기(275)는 입력들을 조합하여 출력을 생성하도록 구성되는 다양한 논리 회로를 포함할 수 있다. 타이밍 오류 검출기(271), 기울기 계산기(273), 및 지연 보정기(275)는 위에서 설명된 및 아래에서 설명될 연산들을 수행하기 위해 다양한 아날로그/디지털 소자를 포함할 수 있다.
지연 회로(291)는 소스 클록(sCLK)을 지연 시간만큼 지연시켜 메인 클록(CLK1)을 출력할 수 있다. 소스 클록(sCLK)은 별도의 클록 생성기로부터 제공될 수 있고, 또는 별도의 CDR 회로에 의해 입력 신호(예컨대, 아날로그 신호(AS))로부터 복구되는 클록으로부터 제공될 수 있다. 지연 회로(291)의 지연 시간은 지연 보정 값(DC)에 기초하여 조절될 수 있다.
지연 시간이 지연 보정 값(DC)에 기초하여 증가 또는 감소함에 따라, 메인 클록(CLK1)의 타이밍들이 늦춰지거나 앞당겨질 수 있다. 메인 클록(CLK1)의 타이밍들이 늦춰지거나 앞당겨짐에 따라, 메인 클록(CLK1)의 타이밍들이 기준 클록(CLKref)의 타이밍들과 동일해지도록 조절될 수 있다. 따라서, 기준 클록(CLKref)과 메인 클록(CLK1) 사이의 타이밍 오류가 해소될 수 있다. 지연 시간을 조절하는 예들이 도 11 내지 도 14를 참조하여 설명될 것이다.
위 구성들 및 동작들에 따라, 지연 회로(291)의 지연 시간 및 메인 클록(CLK1)의 타이밍들이 조절될 수 있다. 예로서, 지연 회로(291)의 지연 시간 및 메인 클록(CLK1)의 타이밍들은 제 2 비트열(DD[tn, q:1])의 제 1 비트(예컨대, 최상위 비트(DD[tn, q]))의 값이 제 2 비트열(DD[tn, q:1])의 제 2 비트(예컨대, 하위 비트(DD[tn, q-1]))의 값과 동일한 경우에(즉, 타이밍 오류가 발생한 경우에) 조절될 수 있다. 지연 회로(291)의 지연 시간 및 메인 클록(CLK1)의 타이밍들은 입력 신호의 레벨이 변경되는 방향 및 제 2 비트열(DD[tn, q:1])의 제 1 비트(예컨대, 최상위 비트(DD[tn, q]))의 값에 기초하여 조절될 수 있다.
기울기 계산기(273) 및 지연 보정기(275)는 검출 값(DT)에 응답하여 동작할 수 있다. 예로서, 타이밍 오류를 지시하는 검출 값(DT)이 타이밍 오류 검출기(271)로부터 출력되지 않는 경우, 기울기 계산기(273) 및 지연 보정기(275)는 기울기 값(SS) 및 지연 보정 값(DC)을 출력하지 않을 수 있다. 예로서, 기울기 계산기(273) 및 지연 보정기(275)는 타이밍 오류를 지시하는 검출 값(DT)에 응답하여 기울기 값(SS) 및 지연 보정 값(DC)을 출력할 수 있다.
몇몇 실시 예에서, 타이밍 오류를 지시하는 검출 값(DT)이 출력되지 않음에 따라 기울기 계산기(273) 및 지연 보정기(275)가 동작하지 않는 동안, 기울기 계산기(273) 및 지연 보정기(275)의 회로들은 턴-오프(Turn off) 또는 비활성화될 수 있다. 예로서, 턴-오프 또는 비활성화는 회로의 동작이 전력 공급 없이 중단되거나 의도된 연산이 차단됨을 의미할 수 있다.
몇몇 실시 예에서, 기울기 계산기(273) 및 지연 보정기(275)는 타이밍 오류를 지시하는 검출 값(DT)에 응답하여 턴-온(Turn on) 또는 활성화될 수 있다. 이 실시 예들에서, 타이밍 오류가 발생하지 않는 경우에 소모되는 전력의 양이 감소할 수 있다.
몇몇 실시 예에서, ADC 회로(200)는 어큐뮬레이터(Accumulator, 279)를 포함할 수 있다. 어큐뮬레이터(279)는 지연 보정기(275)로부터 출력되는 지연 보정 값들을 누적시킬 수 있다. 어큐뮬레이터(279)는 누적된 지연 보정 값들에 기초하여 최종 보정 값을 생성할 수 있다. 지연 회로(291)의 지연 시간은 최종 보정 값에 기초하여 조절(예컨대, 증가 또는 감소)될 수 있다.
예로서, 어큐뮬레이터(279)는 기준 시간 동안 지연 보정 값들을 누적시킬 수 있다. 또는, 예로서, 어큐뮬레이터(279)는 기준 개수의 지연 보정 값들이 누적될 때까지 지연 보정 값들을 누적시킬 수 있다.
몇몇 경우, 지연 보정 값들이 지나치게 빈번하게 생성되거나, 지연 보정 값들이 노이즈를 포함할 수 있다. 이 이유에 기인하여, 메인 클록(CLK1)의 매 타이밍마다 지연 시간을 조절하는 것은 비효율적이거나 효과적이지 못할 수 있다. 따라서, 어큐뮬레이터(279)는 의도된 기준에 의존하여 지연 보정 값들을 누적시킬 수 있고 최종 보정 값을 출력할 수 있다. 최종 보정 값은 충분히 수집된 지연 보정 값들에 기초하여 지연 시간을 적절히 조절하기 위해 참조될 수 있다.
예로서, 어큐뮬레이터(279)는 지연 보정 값들을 합산하기 위해 논리 회로를 포함할 수 있다. 예로서, 어큐뮬레이터(279)는 지연 보정 값들을 필터링하기 위해 LPF(Low-pass Filter)를 포함할 수 있다. 어큐뮬레이터(279)의 구성은 지연 보정 값들을 누적시키기 위해 다양하게 변경 또는 수정될 수 있다.
도 11은 도 10의 ADC 회로(200)의 예시적인 동작을 설명하기 위한 타이밍도이다.
도 11의 예는 아날로그 신호(AS)의 기울기가 양인 동안(즉, 아날로그 신호(AS)의 레벨이 증가하는 동안) 양의 타이밍 오류(+tsk) 및 양의 레벨 오차(+E[tn])가 발생한 것을 보여준다. 메인 ADC(221)는 타이밍 tn에서 레벨(L11)의 아날로그 신호(AS)를 샘플링할 수 있고, 기준 ADC(211)는 타이밍 (tn+tsk)에서 레벨(L12)의 아날로그 신호(AS)를 샘플링할 수 있다. 레벨(L11)과 레벨(L12) 사이에 레벨 오차(+E[tn])가 발생할 수 있다.
타이밍 오류 검출기(271)는 타이밍 오류(+tsk)와 관련하여 검출 값(DT)을 출력할 수 있다. 예로서, 검출 값(DT)은 타이밍 오류(+tsk)가 검출된 경우에 제 1 논리 값(예컨대, 논리 "1")을 가질 수 있고, 타이밍 오류(+tsk)가 검출되지 않은 경우에 제 2 논리 값(예컨대, 논리 "0")을 가질 수 있다.
타이밍 오류(+tsk)가 발생함에 따라, 제 2 비트열(DD[tn, q:1])의 제 1 비트(예컨대, 최상위 비트(DD[tn, q]))가 제 2 비트열(DD[tn, q:1])의 제 2 비트(예컨대, 최상위 비트(DD[tn, q])에 인접하는 하위 비트(DD[tn, q-1]))와 동일할 수 있다. 이에 따라, 타이밍 오류 검출기(271)는 제 1 논리 값을 갖는 검출 값(DT)을 출력할 수 있다.
한편, 양의 레벨 오차(+E[tn])가 발생함에 따라, 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])가 제 1 논리 값(예컨대, 논리 "1")을 갖도록 생성될 수 있다. 도 7을 참조하여 설명된 것처럼, 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])는 레벨 오차(+E[tn])의 부호와 관련될 수 있다.
기울기 계산기(273)는 검출 값(DT)에 응답하여 기울기 값(SS)을 생성할 수 있다. 기울기 값(SS)을 계산하기 위해, 기울기 계산기(273)는 선행 타이밍 t(n-1)에서 샘플링되는 아날로그 신호(AS)의 레벨(L13)에 기초하여 생성되는 선행 출력 데이터(DD[t(n-1), p:1])를 획득할 수 있다. 나아가, 기울기 계산기(273)는 후행 타이밍 t(n+1)에서 샘플링되는 아날로그 신호(AS)의 레벨(L14)에 기초하여 생성되는 후행 출력 데이터(DD[t(n+1), p:1])를 획득할 수 있다.
기울기 계산기(273)는 후행 출력 데이터(DD[t(n+1), p:1])와 선행 출력 데이터(DD[t(n-1), p:1]) 사이의 차이를 계산할 수 있다. 아날로그 신호(AS)의 레벨이 증가하는지 또는 감소하는지에 의존하여, 후행 출력 데이터(DD[t(n+1), p:1])와 선행 출력 데이터(DD[t(n-1), p:1]) 사이의 차이가 다르게 계산될 수 있다.
따라서, 기울기 계산기(273)는 계산 결과에 기초하여, 아날로그 신호(AS)의 레벨이 증가하는지 또는 감소하는지를 지시하는 기울기 값(SS)을 출력할 수 있다. 예로서, 아날로그 신호(AS)의 레벨이 증가하는 경우, 기울기 값(SS)은 제 1 논리 값(예컨대, 논리 "1")을 가질 수 있다.
아날로그 신호(AS)의 레벨의 증가 및 양의 레벨 오차(+E[tn])는 양의 타이밍 오류(+tsk)를 의미할 수 있다(도 8 및 도 9 참조). 따라서, 기울기 값(SS)의 제 1 논리 값 및 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])의 제 1 논리 값에 기초하여, 양의 타이밍 오류(+tsk)가 발생하였음이 판별될 수 있다. 양의 타이밍 오류(+tsk)는 메인 클록(CLK1)의 타이밍이 기준 클록(CLKref)의 타이밍보다 이름을 의미할 수 있다.
지연 보정기(275)는 기울기 값(SS)의 제 1 논리 값 및 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])의 제 1 논리 값에 기초하여 지연 보정 값(DC)을 생성할 수 있다. 예로서, 지연 보정 값(DC)은 제 1 논리 값(예컨대, 논리 "1")을 가질 수 있다. 지연 회로(291)의 지연 시간은 지연 보정 값(DC)의 제 1 논리 값에 기초하여 증가할 수 있다.
지연 회로(291)의 지연 시간이 증가함에 따라, 메인 클록(CLK1)의 타이밍들이 늦춰질 수 있다. 따라서, 메인 클록(CLK1)의 타이밍들이 기준 클록(CLKref)의 타이밍들과 동일해지도록 조절될 수 있고, 양의 타이밍 오류(+tsk)가 감소하거나 해소될 수 있다.
도 12는 도 10의 ADC 회로(200)의 예시적인 동작을 설명하기 위한 타이밍도이다.
도 12의 예는 아날로그 신호(AS)의 기울기가 양인 동안(즉, 아날로그 신호(AS)의 레벨이 증가하는 동안) 음의 타이밍 오류(-tsk) 및 음의 레벨 오차(-E[tn])가 발생한 것을 보여준다. 기준 ADC(211)는 타이밍 (tn-tsk)에서 레벨(L21)의 아날로그 신호(AS)를 샘플링할 수 있고, 메인 ADC(221)는 타이밍 tn에서 레벨(L22)의 아날로그 신호(AS)를 샘플링할 수 있다. 레벨(L21)과 레벨(L22) 사이에 레벨 오차(-E[tn])가 발생할 수 있다.
타이밍 오류(-tsk)가 발생함에 따라, 제 2 비트열(DD[tn, q:1])의 제 1 비트(예컨대, 최상위 비트(DD[tn, q]))가 제 2 비트열(DD[tn, q:1])의 제 2 비트(예컨대, 최상위 비트(DD[tn, q])에 인접하는 하위 비트(DD[tn, q-1]))와 동일할 수 있다. 이에 따라, 타이밍 오류 검출기(271)는 제 1 논리 값을 갖는 검출 값(DT)을 출력할 수 있다. 한편, 음의 레벨 오차(-E[tn])가 발생함에 따라, 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])가 제 2 논리 값(예컨대, 논리 "0")을 갖도록 생성될 수 있다.
기울기 값(SS)을 계산하기 위해, 기울기 계산기(273)는 선행 타이밍 t(n-1)에서 샘플링되는 아날로그 신호(AS)의 레벨(L23)에 기초하여 생성되는 선행 출력 데이터(DD[t(n-1), p:1])를 획득할 수 있다. 나아가, 기울기 계산기(273)는 후행 타이밍 t(n+1)에서 샘플링되는 아날로그 신호(AS)의 레벨(L24)에 기초하여 생성되는 후행 출력 데이터(DD[t(n+1), p:1])를 획득할 수 있다.
기울기 계산기(273)는 후행 출력 데이터(DD[t(n+1), p:1])와 선행 출력 데이터(DD[t(n-1), p:1]) 사이의 차이에 기초하여, 아날로그 신호(AS)의 레벨이 증가함을 지시하는 제 1 논리 값(예컨대, 논리 "1")의 기울기 값(SS)을 출력할 수 있다.
아날로그 신호(AS)의 레벨의 증가 및 음의 레벨 오차(-E[tn])는 음의 타이밍 오류(-tsk)를 의미할 수 있다(도 8 및 도 9 참조). 따라서, 기울기 값(SS)의 제 1 논리 값 및 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])의 제 2 논리 값에 기초하여, 음의 타이밍 오류(-tsk)가 발생하였음이 판별될 수 있다. 음의 타이밍 오류(-tsk)는 메인 클록(CLK1)의 타이밍이 기준 클록(CLKref)의 타이밍보다 늦음을 의미할 수 있다.
지연 보정기(275)는 기울기 값(SS)의 제 1 논리 값 및 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])의 제 2 논리 값에 기초하여 지연 보정 값(DC)을 생성할 수 있다. 예로서, 지연 보정 값(DC)은 제 2 논리 값(예컨대, 논리 "0")을 가질 수 있다. 지연 회로(291)의 지연 시간은 지연 보정 값(DC)의 제 2 논리 값에 기초하여 감소할 수 있다.
지연 회로(291)의 지연 시간이 감소함에 따라, 메인 클록(CLK1)의 타이밍들이 앞당겨질 수 있다. 따라서, 메인 클록(CLK1)의 타이밍들이 기준 클록(CLKref)의 타이밍들과 동일해지도록 조절될 수 있고, 음의 타이밍 오류(-tsk)가 감소하거나 해소될 수 있다.
도 13은 도 10의 ADC 회로(200)의 예시적인 동작을 설명하기 위한 타이밍도이다.
도 13의 예는 아날로그 신호(AS)의 기울기가 음인 동안(즉, 아날로그 신호(AS)의 레벨이 감소하는 동안) 음의 타이밍 오류(-tsk) 및 양의 레벨 오차(+E[tn])가 발생한 것을 보여준다. 기준 ADC(211)는 타이밍 (tn-tsk)에서 레벨(L31)의 아날로그 신호(AS)를 샘플링할 수 있고, 메인 ADC(221)는 타이밍 tn에서 레벨(L32)의 아날로그 신호(AS)를 샘플링할 수 있다. 레벨(L31)과 레벨(L32) 사이에 레벨 오차(+E[tn])가 발생할 수 있다.
타이밍 오류(-tsk)가 발생함에 따라, 제 2 비트열(DD[tn, q:1])의 제 1 비트(예컨대, 최상위 비트(DD[tn, q]))가 제 2 비트열(DD[tn, q:1])의 제 2 비트(예컨대, 최상위 비트(DD[tn, q])에 인접하는 하위 비트(DD[tn, q-1]))와 동일할 수 있다. 이에 따라, 타이밍 오류 검출기(271)는 제 1 논리 값을 갖는 검출 값(DT)을 출력할 수 있다. 한편, 양의 레벨 오차(+E[tn])가 발생함에 따라, 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])가 제 1 논리 값(예컨대, 논리 "1")을 갖도록 생성될 수 있다.
기울기 값(SS)을 계산하기 위해, 기울기 계산기(273)는 선행 타이밍 t(n-1)에서 샘플링되는 아날로그 신호(AS)의 레벨(L33)에 기초하여 생성되는 선행 출력 데이터(DD[t(n-1), p:1])를 획득할 수 있다. 나아가, 기울기 계산기(273)는 후행 타이밍 t(n+1)에서 샘플링되는 아날로그 신호(AS)의 레벨(L34)에 기초하여 생성되는 후행 출력 데이터(DD[t(n+1), p:1])를 획득할 수 있다.
기울기 계산기(273)는 후행 출력 데이터(DD[t(n+1), p:1])와 선행 출력 데이터(DD[t(n-1), p:1]) 사이의 차이에 기초하여, 아날로그 신호(AS)의 레벨이 감소함을 지시하는 제 2 논리 값(예컨대, 논리 "0")의 기울기 값(SS)을 출력할 수 있다.
아날로그 신호(AS)의 레벨의 감소 및 양의 레벨 오차(+E[tn])는 음의 타이밍 오류(-tsk)를 의미할 수 있다(도 8 및 도 9 참조). 따라서, 기울기 값(SS)의 제 2 논리 값 및 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])의 제 1 논리 값에 기초하여, 음의 타이밍 오류(-tsk)가 발생하였음이 판별될 수 있다.
지연 보정기(275)는 기울기 값(SS)의 제 2 논리 값 및 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])의 제 1 논리 값에 기초하여 지연 보정 값(DC)을 생성할 수 있다. 예로서, 지연 보정 값(DC)은 제 2 논리 값(예컨대, 논리 "0")을 가질 수 있다. 지연 회로(291)의 지연 시간은 지연 보정 값(DC)의 제 2 논리 값에 기초하여 감소할 수 있다. 지연 회로(291)의 지연 시간이 감소함에 따라, 메인 클록(CLK1)의 타이밍들이 앞당겨질 수 있다.
도 14는 도 10의 ADC 회로(200)의 예시적인 동작을 설명하기 위한 타이밍도이다.
도 14의 예는 아날로그 신호(AS)의 기울기가 음인 동안(즉, 아날로그 신호(AS)의 레벨이 감소하는 동안) 양의 타이밍 오류(+tsk) 및 음의 레벨 오차(-E[tn])가 발생한 것을 보여준다. 메인 ADC(221)는 타이밍 tn에서 레벨(L41)의 아날로그 신호(AS)를 샘플링할 수 있고, 기준 ADC(211)는 타이밍 (tn+tsk)에서 레벨(L42)의 아날로그 신호(AS)를 샘플링할 수 있다. 레벨(L41)과 레벨(L42) 사이에 레벨 오차(-E[tn])가 발생할 수 있다.
타이밍 오류(+tsk)가 발생함에 따라, 제 2 비트열(DD[tn, q:1])의 제 1 비트(예컨대, 최상위 비트(DD[tn, q]))가 제 2 비트열(DD[tn, q:1])의 제 2 비트(예컨대, 최상위 비트(DD[tn, q])에 인접하는 하위 비트(DD[tn, q-1]))와 동일할 수 있다. 이에 따라, 타이밍 오류 검출기(271)는 제 1 논리 값을 갖는 검출 값(DT)을 출력할 수 있다. 한편, 음의 레벨 오차(-E[tn])가 발생함에 따라, 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])가 제 2 논리 값(예컨대, 논리 "0")을 갖도록 생성될 수 있다.
기울기 값(SS)을 계산하기 위해, 기울기 계산기(273)는 선행 타이밍 t(n-1)에서 샘플링되는 아날로그 신호(AS)의 레벨(L43)에 기초하여 생성되는 선행 출력 데이터(DD[t(n-1), p:1])를 획득할 수 있다. 나아가, 기울기 계산기(273)는 후행 타이밍 t(n+1)에서 샘플링되는 아날로그 신호(AS)의 레벨(L44)에 기초하여 생성되는 후행 출력 데이터(DD[t(n+1), p:1])를 획득할 수 있다.
기울기 계산기(273)는 후행 출력 데이터(DD[t(n+1), p:1])와 선행 출력 데이터(DD[t(n-1), p:1]) 사이의 차이에 기초하여, 아날로그 신호(AS)의 레벨이 감소함을 지시하는 제 2 논리 값(예컨대, 논리 "0")의 기울기 값(SS)을 출력할 수 있다.
아날로그 신호(AS)의 레벨의 감소 및 음의 레벨 오차(-E[tn])는 양의 타이밍 오류(+tsk)를 의미할 수 있다(도 8 및 도 9 참조). 따라서, 기울기 값(SS)의 제 2 논리 값 및 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])의 제 2 논리 값에 기초하여, 양의 타이밍 오류(+tsk)가 발생하였음이 판별될 수 있다.
지연 보정기(275)는 기울기 값(SS)의 제 2 논리 값 및 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])의 제 2 논리 값에 기초하여 지연 보정 값(DC)을 생성할 수 있다. 예로서, 지연 보정 값(DC)은 제 1 논리 값(예컨대, 논리 "1")을 가질 수 있다. 지연 회로(291)의 지연 시간은 지연 보정 값(DC)의 제 1 논리 값에 기초하여 증가할 수 있다. 지연 회로(291)의 지연 시간이 증가함에 따라, 메인 클록(CLK1)의 타이밍들이 늦춰질 수 있다.
본 개시의 실시 예들에 따르면, 클록들의 타이밍 오류들이 해소될 수 있고, 따라서 클록들이 정확하게 제어될 수 있다. 결과적으로, ADC 회로(200) 및 이를 포함하는 전자 장치가 안정적이고 신뢰성 있게 동작할 수 있고, 분해능, 오류율(Error Rate), 다이나믹 레인지(Dynamic Range) 등과 같은 요구사항들을 충족시킬 수 있다.
도 15는 도 1의 ADC 회로(1115 또는 1315)의 예시적인 구성을 보여주는 블록도이다. 몇몇 실시 예에서, 도 1의 ADC 회로들(1115, 1315) 중 적어도 하나는 도 15의 ADC 회로(300)를 포함할 수 있다.
ADC 회로(300)는 아래에서 설명될 동작들을 수행하도록 구성되는 전자 회로로 구현될 수 있다. ADC 회로(300)는 아래에서 설명될 동작들을 수행하기 위해 다양한 아날로그/디지털 회로를 포함할 수 있다.
예로서, ADC 회로(300)는 기준 ADC(311), 복수의 메인 ADC(321 내지 32m), 스위치들(331, 341 내지 34m), 타이밍 오류 검출기(371), 기울기 계산기(373), 지연 보정기(375), 및 복수의 지연 회로(391 내지 39m)를 포함할 수 있다. 몇몇 실시 예에서, ADC 회로(300)는 어큐뮬레이터들(379-1 내지 379-m)을 포함할 수 있다.
기준 ADC(311), 스위치(331), 타이밍 오류 검출기(371), 기울기 계산기(373), 및 지연 보정기(375)는 각각 도 10의 기준 ADC(211), 스위치(231), 타이밍 오류 검출기(271), 기울기 계산기(273), 및 지연 보정기(275)에 대응할 수 있다. 메인 ADC들(321 내지 32m) 각각은 도 10의 메인 ADC(221)에 대응할 수 있다. 스위치들(341 내지 34m) 각각은 도 10의 스위치(241)에 대응할 수 있다. 어큐뮬레이터들(379-1 내지 379-m) 각각은 도 10의 어큐뮬레이터(279)에 대응할 수 있다. 지연 회로들(391 내지 39m) 각각은 도 10의 지연 회로(291)에 대응할 수 있다. 간결성을 위해, 중복되는 설명들은 이하 생략될 것이다.
도 15의 예를 도 10의 예와 비교하면, ADC 회로(300)는 단일의 메인 ADC 대신 메인 ADC들(321 내지 32m)를 채용할 수 있다. 스위치들(341 내지 34m)이 복수의 메인 클록(CLK1 내지 CLKm)에 각각 응답하여 동작함에 따라, 메인 ADC들(321 내지 32m)이 메인 클록들(CLK1 내지 CLKm)에 각각 응답하여 동작할 수 있다. 메인 ADC들(321 내지 32m)은 독립적으로 메인 클록들(CLK1 내지 CLKm)에 응답하여, 병렬로 입력 신호(예컨대, 아날로그 신호(AS))를 처리할 수 있다.
메인 클록들(CLK1 내지 CLKm)은 상이한 타이밍들을 제공할 수 있다. 예로서, 메인 클록들(CLK1 내지 CLKm)은 입력 신호가 상이한 타이밍들 각각에서 연속하여 샘플링되도록 시간-인터리빙(Time-interleaved)할 수 있다. 이 관점에서, ADC 회로(300)는 시간-인터리빙 ADC, 또는 TI-ADC로 이해될 수 있다.
ADC 회로(300)에서 높은 처리 성능(예컨대, 아날로그-디지털 변환 성능)이 요구되는 경우, 높은 주파수의 클록을 채용하는 것이 필요할 수 있다. 그러나, 상당히 높은 주파수의 클록 신호를 구현하는 것은 물리적으로 어려울 수 있다.
따라서, 시간-인터리빙하는 메인 클록들(CLK1 내지 CLKm)이 채용될 수 있다. 메인 클록들(CLK1 내지 CLKm) 각각은 낮은 주파수를 가질 수 있고, 상대적으로 쉽게 구현될 수 있다. 메인 클록들(CLK1 내지 CLKm) 각각이 낮은 주파수를 갖더라도, 시간-인터리빙하는 메인 클록들(CLK1 내지 CLKm)은 입력 신호를 샘플링하는 데에 충분한 타이밍들을 제공할 수 있다.
지연 회로들(391 내지 39m)은 상이한 지연 시간들을 제공할 수 있다. 지연 회로들(391 내지 39m)은 소스 클록(sCLK)을 상이한 지연 시간들만큼 지연시켜, 메인 클록들(CLK1 내지 CLKm)을 각각 출력할 수 있다. 따라서, 메인 클록들(CLK1 내지 CLKm)은 상이한 타이밍들을 제공할 수 있다.
ADC 회로(300)는 상이한 타이밍들 tn 내지 t(n+m-1)과 관련하여 복수의 출력 데이터(DD[tn, p:1] 내지 DD[t(n+m-1), p:1])를 출력할 수 있다. 출력 데이터(DD[tn, p:1] 내지 DD[t(n+m-1), p:1])는 타이밍들 tn 내지 t(n+m-1)에서 각각 샘플링되는 입력 신호(예컨대, 아날로그 신호(AS))로부터 변환될 수 있다.
기준 ADC(311)는 입력 신호를 출력 데이터(DD[tn, p:1] 내지 DD[t(n+m-1), p:1])의 제 1 비트열들(DD[tn, p:q+1] 내지 DD[t(n+m-1), p:q+1])로 변환할 수 있다. 기준 ADC(311)는 기준 클록(CLKref)에 응답하여 타이밍들 tn 내지 t(n+m-1)과 관련하여 제 1 비트열들(DD[tn, p:q+1] 내지 DD[t(n+m-1), p:q+1])을 생성할 수 있다. 제 1 비트열들(DD[tn, p:q+1] 내지 DD[t(n+m-1), p:q+1])은 메인 ADC들(321 내지 32m)로 각각 제공될 수 있다.
메인 클록들(CLK1 내지 CLKm)이 시간-인터리빙함에 따라, 메인 ADC들(321 내지 32m)은 각각 타이밍들 tn 내지 t(n+m-1)과 관련하여 동작할 수 있다. 메인 ADC들(321 내지 32m)은 입력 신호를 출력 데이터(DD[tn, p:1] 내지 DD[t(n+m-1), p:1])의 제 2 비트열들(DD[tn, q:1] 내지 DD[t(n+m-1), q:1])로 각각 변환할 수 있다. 메인 ADC들(321 내지 32m)은 메인 클록들(CLK1 내지 CLKm)에 각각 응답하여 타이밍들 tn 내지 t(n+m-1)과 관련하여 제 2 비트열들(DD[tn, q:1] 내지 DD[t(n+m-1), q:1])을 생성할 수 있다.
예로서, 메인 ADC(322)는 타이밍 t(n+1)과 관련하여 기준 ADC(311)로부터 출력 데이터(DD[t(n+1), p:1])의 제 1 비트열(DD[t(n+1), p:q+1])을 수신할 수 있다. 예로서, 메인 ADC(322)는 메인 클록(CLK2)에 응답하여, 타이밍 t(n+1)과 관련하여 입력 신호를 출력 데이터(DD[t(n+1), p:1])의 제 2 비트열(DD[t(n+1), q:1])로 변환할 수 있다. ADC 회로(300)는 타이밍 t(n+1)과 관련하여 제 1 비트열(DD[t(n+1), p:q+1]) 및 제 2 비트열(DD[t(n+1), q:1])에 기초하여 출력 데이터(DD[t(n+1), p:1])를 출력할 수 있다.
한편, 위에서 설명된 것처럼, 다양한 요인이 기준 클록(CLKref) 및/또는 메인 클록들(CLK1 내지 CLKm)의 타이밍들에 영향을 줄 수 있다. 타이밍 오류는 레벨 오차를 야기할 수 있고, 안정성 및 신뢰성을 악화시킬 수 있다. 따라서, 타이밍 오류 및 레벨 오차를 해소하는 것은 중요한 이슈로 될 수 있다.
타이밍 오류 검출기(371)는 기준 클록(CLKref)과 메인 클록들(CLK1 내지 CLKm) 각각 사이의 타이밍 오류를 검출할 수 있다. 타이밍 오류 검출기(371)는 검출 결과에 기초하여 검출 값(DT)을 출력할 수 있다. 예로서, 기준 클록(CLKref)과 메인 클록들(CLK1 내지 CLKm) 중 특정 메인 클록 사이에서 타이밍 오류가 발생하는 경우, 검출 값(DT)은 기준 클록(CLKref)의 타이밍이 그 특정 메인 클록의 타이밍과 상이함을 지시할 수 있다.
타이밍 오류 검출기(371)는 타이밍 오류를 검출하기 위해, 제 2 비트열들(DD[tn, q:1] 내지 DD[t(n+m-1), q:1]) 각각의 제 1 비트(예컨대, 최상위 비트)를 참조할 수 있다. 나아가, 타이밍 오류 검출기(371)는 타이밍 오류를 검출하기 위해, 제 2 비트열들(DD[tn, q:1] 내지 DD[t(n+m-1), q:1]) 각각의 제 2 비트(예컨대, 최상위 비트에 인접하고 최상위 비트보다 하위인 비트)를 참조할 수 있다.
제 2 비트열들(DD[tn, q:1] 내지 DD[t(n+m-1), q:1]) 중 하나의 비트열의 제 1 비트의 값이 제 2 비트열들(DD[tn, q:1] 내지 DD[t(n+m-1), q:1]) 중 그 하나의 비트열의 제 2 비트의 값과 동일한 경우, 타이밍 오류 검출기(371)는 타이밍 오류를 지시하는 검출 값(DT)을 출력할 수 있다.
예로서, 타이밍 t(n+1)과 관련하여, 제 2 비트열(DD[t(n+1), q:1])의 최상위 비트(DD[t(n+1), q])의 값이 그 최상위 비트(DD[t(n+1), q])에 인접하는 하위 비트(DD[t(n+1), q-1])의 값과 동일한 경우, 타이밍 오류 검출기(371)는 기준 클록(CLKref)과 메인 클록(CLK2) 사이의 타이밍 오류를 지시하는 검출 값(DT)을 출력할 수 있다.
기울기 계산기(373)는 기울기 값(SS)을 생성할 수 있다. 기울기 값(SS)은 후행 타이밍의 후행 출력 데이터와 선행 타이밍의 선행 출력 데이터 사이의 차이에 기초하여 획득될 수 있다. 예로서, 타이밍 t(n+1)과 관련하여 타이밍 오류가 검출되는 경우, 기울기 값(SS)은 후행 타이밍 t(n+2)의 후행 출력 데이터(DD[t(n+2), p:1])와 선행 타이밍 tn의 선행 출력 데이터(DD[tn, p:1]) 사이의 차이에 기초하여 계산될 수 있다.
지연 보정기(375)는 지연 보정 값(DC)을 출력할 수 있다. 지연 보정기(375)는 제 2 비트열들(DD[tn, q:1] 내지 DD[t(n+m-1), q:1]) 각각의 제 1 비트(예컨대, 최상위 비트) 및 기울기 값(SS)에 기초하여 지연 보정 값(DC)을 생성할 수 있다. 지연 보정 값(DC)은 지연 회로들(391 내지 39m)의 지연 시간들을 조절하기 위해 참조될 수 있다.
지연 보정 값(DC)은 타이밍 오류와 관련되는 메인 클록을 출력하는 지연 회로의 지연 시간을 조절할 수 있다. 예로서, 타이밍 t(n+1)과 관련하여 타이밍 오류가 검출되는 경우, 지연 보정기(375)는 제 2 비트열(DD[t(n+1), q:1])의 최상위 비트(DD[t(n+1), q]) 및 기울기 값(SS)에 기초하여 지연 보정 값(DC)을 생성할 수 있다. 이후, 메인 클록(CLK2)을 출력하는 지연 회로(392)의 지연 시간이 지연 보정 값(DC)에 기초하여 조절될 수 있다. 따라서, 메인 클록(CLK2)의 타이밍들이 조절될 수 있다.
메인 클록들(CLK1 내지 CLKm)의 상이한 타이밍들이 조절되도록, 지연 회로들(391 내지 39m)의 상이한 지연 시간들이 조절될 수 있다. 여기서, 지연 회로들(391 내지 39m)의 지연 시간들은 기울기 값(SS)(즉, 입력 신호의 레벨이 변경되는 방향) 및 제 2 비트열들(DD[tn, q:1] 내지 DD[t(n+m-1), q:1])의 제 1 비트들에 각각 기초하여 독립적으로 조절될 수 있다. 따라서, 메인 클록들(CLK1 내지 CLKm)의 타이밍들이 독립적으로 조절될 수 있다.
예로서, 지연 회로(391)의 지연 시간은 메인 클록(CLK1)의 타이밍들을 조절하기 위해, 기울기 값(SS) 및 제 2 비트열(DD[tn, q:1])의 최상위 비트(DD[tn, q])에 기초하여 조절될 수 있다. 지연 회로(392)의 지연 시간은 메인 클록(CLK2)의 타이밍들을 조절하기 위해, 기울기 값(SS) 및 제 2 비트열(DD[t(n+1), q:1])의 최상위 비트(DD[t(n+1), q])에 기초하여 조절될 수 있다. 지연 회로(391)의 지연 시간은 지연 회로(392)의 지연 시간을 조절하는 것과 독립적으로 조절될 수 있다.
위 구성들 및 동작들에 따라, 메인 클록들(CLK1 내지 CLKm)의 타이밍들이 기준 클록(CLKref)의 타이밍들에 맞추어 정렬될 수 있다. 따라서, 타이밍 오류가 해소될 수 있고, 시간-인터리빙하는 메인 클록들(CLK1 내지 CLKm) 사이의 스큐 불일치(Skew Mismatch)가 해소될 수 있다.
도 16은 도 15의 ADC 회로(300)에서 다루어지는 예시적인 클록들을 보여주는 타이밍도이다.
메인 클록들(CLK1 내지 CLKm)은 시간-인터리빙할 수 있다. 따라서, 메인 클록들(CLK1 내지 CLKm)은 상이한 타이밍들을 제공할 수 있다. 예로서, 메인 클록(CLK1)은 시각 t1에서 타이밍을 제공할 수 있고, 메인 클록(CLK2)은 시각 t1을 뒤잇는 시각 t2에서 타이밍을 제공할 수 있다. 이러한 방식으로, 메인 클록들(CLK1 내지 CLKm)은 입력 신호를 연속하여 샘플링하기 위한 타이밍들을 제공할 수 있다.
한편, 기준 클록(CLKref)의 타이밍은 기준 클록(CLKref)의 주기마다 다른 메인 클록의 타이밍에 대응할 수 있다. 예로서, 기준 클록(CLKref)의 타이밍은 시각 t1에서 메인 클록(CLK1)의 타이밍에 대응할 수 있고, 시각 t2에서 메인 클록(CLK2)의 타이밍에 대응할 수 있다. 예로서, 기준 클록(CLKref)의 타이밍들은 시각 t1 내지 t8에서 상이한 메인 클록들의 타이밍들에 대응할 수 있다.
이러한 방식으로, 기준 클록(CLKref)의 타이밍들은 메인 클록들(CLK1 내지 CLKm) 각각 모두와 한 번씩 대응할 수 있다. 따라서, 기준 클록(CLKref)의 타이밍과 메인 클록들(CLK1 내지 CLKm) 각각의 타이밍 사이에 타이밍 오류가 있는지 검출될 수 있고, 메인 클록들(CLK1 내지 CLKm) 각각 모두의 타이밍들이 조절될 수 있다. 나아가, 메인 클록들(CLK1 내지 CLKm) 각각 모두의 타이밍들이 기준 클록(CLKref)의 타이밍들에 맞추어 정렬될 수 있다.
도 17 및 도 18은 도 15의 ADC 회로(300)에서 메인 클록들의 타이밍들이 조절되는 예시적인 시뮬레이션의 결과들을 보여주는 그래프들이다. 예로서, 도 17 및 도 18은 두 개의 메인 ADC 및 두 개의 메인 클록이 채용된 조건에서 수행된 시뮬레이션의 결과들을 보여준다.
도 17은 메인 클록들의 타이밍들이 조절되기 전에 얻어지는 출력들의 신호 레벨들을 보여주고, 도 18은 메인 클록들의 타이밍들이 조절된 후에 얻어지는 출력들의 신호 레벨들을 보여준다. 도 17 및 도 18을 참조하면, 주파수(F0)는 ADC 회로(300)를 동작시키기 위해 의도되는 클록 주파수에 대응할 수 있다. 반면, 주파수(F1)는 타이밍 오류에 기인하여 얻어지는 출력들(즉, 노이즈 성분들)과 관련될 수 있다.
도 18을 도 17과 비교하면, 메인 클록들의 타이밍들이 조절됨에 따라, 타이밍 오류에 기인하는 주파수(F1)의 출력들이 제거되었음이 이해될 수 있다. 도 17의 시뮬레이션 조건에서, SFDR(Spurious-Free Dynamic Range)은 47.77dB, SNDR(Signal to Noise-and-Distortion Ratio)은 47.63dB, ENOB(Effective Number of Bits)은 7.62비트로 얻어졌다. 반면, 도 18의 시뮬레이션 조건에서, SFDR은 83.75dB, SNDR은 62.43dB, ENOB는 10.08비트로 얻어졌다.
위 결과들을 참조하면, 메인 클록들의 타이밍들이 조절됨에 따라, 메인 클록들의 타이밍들이 기준 클록의 타이밍들에 맞추어 정렬될 수 있고, 따라서 타이밍 오류 및 스큐 불일치가 해소될 수 있다. 즉, 본 개시의 실시 예들은 복수의 클록을 정확하게 제어하는 데이 유용함이 이해될 수 있다.
도 19는 도 1의 ADC 회로(1115 또는 1315)의 예시적인 구성을 보여주는 블록도이다. 몇몇 실시 예에서, 도 1의 ADC 회로들(1115, 1315) 중 적어도 하나는 도 19의 ADC 회로(400)를 포함할 수 있다.
ADC 회로(400)는 아래에서 설명될 동작들을 수행하도록 구성되는 전자 회로로 구현될 수 있다. ADC 회로(400)는 아래에서 설명될 동작들을 수행하기 위해 다양한 아날로그/디지털 회로를 포함할 수 있다.
예로서, ADC 회로(400)는 복수의 보조 ADC(411 내지 41j), 복수의 메인 ADC(421 내지 42k), 스위치들(431 내지 43j, 441 내지 44k), 스위치들(460, 461 내지 46k), 타이밍 오류 검출기(471), 기울기 계산기(473), 지연 보정기(475), 및 복수의 지연 회로(491 내지 49k)를 포함할 수 있다. 몇몇 실시 예에서, ADC 회로(400)는 어큐뮬레이터들(479-1 내지 479-k)을 포함할 수 있다.
보조 ADC들(411 내지 41j) 각각은 도 15의 기준 ADC(311)에 대응할 수 있고, 스위치들(431 내지 43j) 각각은 도 15의 스위치(331)에 대응할 수 있다. 메인 ADC들(421 내지 42k)은 도 15의 메인 ADC들(321 내지 32m)에 대응할 수 있고, 스위치들(441 내지 44k)은 도 15의 스위치들(341 내지 34m)에 대응할 수 있다. 타이밍 오류 검출기(471), 기울기 계산기(473), 및 지연 보정기(475)는 각각 도 15의 타이밍 오류 검출기(371), 기울기 계산기(373), 및 지연 보정기(375)에 대응할 수 있다. 어큐뮬레이터들(479-1 내지 479-k)은 도 15의 어큐뮬레이터들(379-1 내지 379-m)에 대응할 수 있다. 지연 회로들(491 내지 49k)은 도 15의 지연 회로들(391 내지 39m)에 대응할 수 있다. 간결성을 위해, 중복되는 설명들은 이하 생략될 것이다.
도 19의 예를 도 15의 예와 비교하면, ADC 회로(400)는 단일의 기준 ADC 대신 보조 ADC들(411 내지 41j)을 채용할 수 있다. 스위치들(431 내지 43j)이 복수의 보조 클록(CLKas1 내지 CLKasj)에 각각 응답하여 동작함에 따라, 보조 ADC들(411 내지 41j)이 보조 클록들(CLKas1 내지 CLKasj)에 각각 응답하여 동작할 수 있다. 보조 ADC들(411 내지 41j)은 독립적으로 보조 클록들(CLKas1 내지 CLKasj)에 응답하여, 병렬로 입력 신호(예컨대, 아날로그 신호(AS))를 처리할 수 있다.
메인 클록들(CLK1 내지 CLKk)과 유사하게, 보조 클록들(CLKas1 내지 CLKasj)이 상이한 타이밍들을 제공할 수 있다. 예로서, 보조 클록들(CLKas1 내지 CLKasj)은 입력 신호가 상이한 타이밍들 각각에서 연속하여 샘플링되도록 시간-인터리빙할 수 있다.
ADC 회로(400)에서 매우 높은 처리 성능(예컨대, 아날로그-디지털 변환 성능)이 요구되는 경우, 매우 높은 주파수의 클록을 채용하는 것이 필요할 수 있다. 그러나, 도 16에 나타낸 것과 같은 단일의 기준 클록(CLKref)의 주파수를 증가시키는 것은 물리적으로 어려울 수 있다. 따라서, 시간-인터리빙하는 보조 클록들(CLKas1 내지 CLKasj)이 채용될 수 있다. 보조 클록들(CLKas1 내지 CLKasj) 각각은 낮은 주파수를 가질 수 있고, 상대적으로 쉽게 구현될 수 있다.
ADC 회로(400)는 상이한 타이밍들과 관련하여 복수의 출력 데이터를 출력할 수 있다. 예로서, 특정 타이밍과 관련하여, ADC 회로(400)는 출력 데이터(DD)를 출력할 수 있다. 출력 데이터(DD)는 그 특정 타이밍에서 샘플링되는 입력 신호(예컨대, 아날로그 신호(AS))로부터 변환될 수 있다.
보조 ADC들(411 내지 41j)은 보조 클록들(CLKas1 내지 CLKasj)에 각각 응답하여, 입력 신호를 출력 데이터의 제 1 비트열들로 각각 변환할 수 있다. 보조 클록들(CLKas1 내지 CLKasj)이 시간-인터리빙함에 따라, 보조 ADC들(411 내지 41j)은 상이한 타이밍들과 관련하여 제 1 비트열들을 출력할 수 있다. 예로서, 보조 클록(CLKasj)이 출력 데이터(DD)와 관련되는 특정 타이밍을 제공하는 경우, 보조 ADC(41j)가 출력 데이터(DD)의 제 1 비트열(DDas)을 생성할 수 있다.
보조 ADC들(411 내지 41j)로부터 출력되는 제 1 비트열들은 메인 ADC들(421 내지 42k)로 제공될 수 있다. 보조 ADC들(411 내지 41j) 중 하나의 보조 ADC로부터 출력되는 제 1 비트열은 그 하나의 보조 ADC와 관련되는 타이밍에서 동작하는 메인 ADC로 제공될 수 있다. 예로서, 메인 ADC(421)가 보조 ADC(41j)와 관련되는 타이밍에서 동작하는 경우, 보조 ADC(41j)로부터 출력되는 제 1 비트열(DDas)은 메인 ADC(421)로 제공될 수 있다.
스위치(460)는 보조 ADC들(411 내지 41j)로부터 제공되는 제 1 비트열들을 선택적으로 출력할 수 있다. 예로서, 보조 ADC(41j)가 특정 타이밍에서 동작하는 경우, 스위치(460)는 보조 ADC(41j)로부터 제공되는 제 1 비트열(DDas)을 수신할 수 있고 수신된 제 1 비트열(DDas)을 출력할 수 있다.
스위치들(461 내지 46k)은 스위치(460)와 메인 ADC들(421 내지 42k) 사이의 연결을 스위칭할 수 있다. 따라서, 스위치(460)로부터 출력되는 제 1 비트열이 메인 ADC들(421 내지 42k)로 전달되거나 전달되지 않을 수 있다. 스위치들(461 내지 46k)의 동작들에 따라, 스위치(460)로부터 출력되는 제 1 비트열은 그 제 1 비트열을 출력한 보조 ADC와 관련되는 타이밍에서 동작하는 메인 ADC로 제공될 수 있다.
예로서, 메인 ADC(421)가 보조 ADC(41j)와 관련되는 타이밍에서 동작하는 경우, 스위치(460)는 보조 ADC(41j)로부터 제공되는 제 1 비트열(DDas)을 출력할 수 있다. 나아가, 스위치(461)의 동작에 따라, 제 1 비트열(DDas)은 메인 ADC(421)로 제공될 수 있다. 스위치들(462 내지 46k)의 동작들에 따라, 제 1 비트열(DDas)은 메인 ADC들(422 내지 42k)로 제공되지 않을 수 있다.
예로서, 스위치들(460, 461 내지 46k)의 동작들은 별개의 제어 회로에 의해 제어될 수 있다. 또는, 예로서, 스위치들(460, 461 내지 46k)은 보조 클록들(CLKas1 내지 CLKasj) 및 메인 클록들(CLK1 내지 CLKk)에 기초하여 연결되거나 연결 해제될 수 있다. 스위치들(460, 461 내지 46k)은 연결을 스위칭할 수 있는 어떠한 소자로든 구현될 수 있다.
메인 ADC들(421 내지 42k)은 메인 클록들(CLK1 내지 CLKk)에 각각 응답하여, 입력 신호(예컨대, 아날로그 신호(AS))를 출력 데이터의 제 2 비트열들로 각각 변환할 수 있다. 메인 클록들(CLK1 내지 CLKk)이 시간-인터리빙함에 따라, 메인 클록들(CLK1 내지 CLKk)은 상이한 타이밍들을 제공할 수 있고 메인 ADC들(421 내지 42k)은 상이한 타이밍들과 관련하여 제 2 비트열들(DD1 내지 DDk)을 생성할 수 있다.
예로서, 메인 ADC(421)는 특정 타이밍과 관련하여 출력 데이터(DD)의 제 2 비트열(DD1)을 생성할 수 있다. 예로서, 메인 ADC(422)는 특정 타이밍 직후의 후행 타이밍과 관련하여, 후행 출력 데이터의 제 2 비트열(DD2)을 생성할 수 있다. 이러한 방식으로, 메인 ADC들(421 내지 42k)은 상이한 출력 데이터를 위해 제 2 비트열들(DD1 내지 DDk)을 각각 출력할 수 있다.
몇몇 실시 예에서, 보조 ADC들(411 내지 41j) 중 하나의 보조 ADC가 기준 ADC로서 선택될 수 있다. 예로서, 보조 ADC(41j)가 기준 ADC로서 선택될 수 있다. 이 경우, 보조 클록(CLKasj)은 기준 클록(CLKref)으로서 제공될 수 있다.
위 예에서, 보조 ADC(41j)로부터 출력되는 제 1 비트열(DDas)이 메인 클록들(CLK1 내지 CLKk)의 타이밍들을 조절하기 위해 참조될 수 있고, 메인 클록들(CLK1 내지 CLKk)의 타이밍들이 보조 ADC(41j)의 타이밍들과 동일해지도록 조절될 수 있다. 따라서, 메인 클록들(CLK1 내지 CLKk)의 타이밍들이 보조 ADC(41j)의 타이밍들에 맞추어 정렬될 수 있다.
타이밍 오류 검출기(471)는 보조 클록(CLKasj)과 메인 클록들(CLK1 내지 CLKk) 각각 사이의 타이밍 오류를 검출할 수 있다. 타이밍 오류 검출기(471)는 타이밍 오류를 검출하기 위해, 제 2 비트열들(DD1 내지 DDk) 각각의 제 1 비트(예컨대, 최상위 비트) 및 제 2 비트(예컨대, 최상위 비트에 인접하고 최상위 비트보다 하위인 비트)를 참조할 수 있다.
제 2 비트열들(DD1 내지 DDk) 중 하나의 비트열의 제 1 비트의 값이 그 하나의 비트열의 제 2 비트의 값과 동일한 경우, 타이밍 오류 검출기(471)는 타이밍 오류를 지시하는 검출 값(DT)을 출력할 수 있다. 예로서, 제 2 비트열(DD1)의 제 1 비트의 값이 제 2 비트열(DD1)의 제 2 비트의 값과 동일한 경우, 타이밍 오류 검출기(471)는 보조 클록(CLKasj)과 메인 클록(CLK1) 사이의 타이밍 오류를 지시하는 검출 값(DT)을 출력할 수 있다.
기울기 계산기(473)는 기울기 값(SS)을 생성할 수 있다. 기울기 값(SS)은 후행 타이밍의 후행 출력 데이터와 선행 타이밍의 선행 출력 데이터 사이의 차이에 기초하여 획득될 수 있다.
지연 보정기(475)는 지연 보정 값(DC)을 출력할 수 있다. 지연 보정기(475)는 제 2 비트열들(DD1 내지 DDk) 각각의 제 2 비트(예컨대, 최상위 비트) 및 기울기 값(SS)에 기초하여 지연 보정 값(DC)을 생성할 수 있다. 지연 보정 값(DC)은 지연 회로들(491 내지 49k)의 지연 시간들을 조절하기 위해 참조될 수 있다. 지연 보정 값(DC)은 타이밍 오류와 관련되는 메인 클록을 출력하는 지연 회로의 지연 시간을 조절할 수 있다.
메인 클록들(CLK1 내지 CLKk)의 상이한 타이밍들이 조절되도록, 지연 회로들(491 내지 49k)의 상이한 지연 시간들이 조절될 수 있다. 여기서, 지연 회로들(491 내지 49k)의 지연 시간들은 기울기 값(SS)(즉, 입력 신호의 레벨이 변경되는 방향) 및 제 2 비트열들(DD1 내지 DDk)의 제 2 비트들에 각각 기초하여 독립적으로 조절될 수 있다.
한편, 몇몇 실시 예에서, 보조 클록들(CLKas1 내지 CLKasj) 및 메인 클록들(CLK1 내지 CLKk)의 각 주기마다, 다른 보조 클록의 타이밍이 다른 메인 클록의 타이밍에 대응할 수 있다. 몇몇 실시 예에서, ADC 회로(400)는 보조 ADC들(411 내지 41j)의 개수가 메인 ADC들(421 내지 42k)의 개수와 서로소이도록 구현될 수 있다.
위 실시 예들에서, 보조 클록들(CLKas1 내지 CLKasj) 및 메인 클록들(CLK1 내지 CLKk)의 다른 주기들에서, 보조 클록들(CLKas1 내지 CLKasj)의 타이밍들 각각은 메인 클록들(CLK1 내지 CLKk)의 타이밍들 각각 모두와 한 번씩 대응할 수 있다. 이는 도 20 및 도 21을 참조하여 더 설명될 것이다.
따라서, 기준 클록(CLKref)으로서 제공되는 보조 클록(CLKasj)의 타이밍들이 메인 클록들(CLK1 내지 CLKk)의 타이밍들 각각 모두와 대응할 수 있고, 메인 클록들(CLK1 내지 CLKk)의 타이밍들이 보조 클록(CLKasj)의 타이밍들에 맞추어 정렬될 수 있다. 결과적으로, 타이밍 오류가 해소될 수 있고, 시간-인터리빙하는 메인 클록들(CLK1 내지 CLKk) 사이의 스큐 불일치가 해소될 수 있다.
도 20은 도 19의 ADC 회로(400)에서 다루어지는 예시적인 클록들을 보여주는 타이밍도이다. 도 21은 도 19의 ADC 회로(400)의 예시적인 동작을 설명하기 위한 개념도이다.
예로서, 도 20 및 도 21은 3개의 보조 ADC 및 5개의 메인 ADC가 채용되는 경우와 관련된다. 이 예에서, 보조 ADC들의 개수는 메인 ADC들의 개수와 서로소일 수 있다. 3개의 보조 ADC를 위해 보조 클록들(CLKas1 내지 CLKas3)이 채용될 수 있고, 5개의 메인 ADC를 위해 메인 클록들(CLK1 내지 CLK5)이 채용될 수 있다. 예로서, 보조 클록(CLKas1)이 기준 클록(CLKref)으로서 제공될 수 있고, 보조 클록(CLKas1)을 출력하는 보조 ADC가 기준 ADC로서 선택될 수 있다.
도 20을 참조하면, 보조 클록들(CLKas1 내지 CLKas3) 및 메인 클록들(CLK1 내지 CLK5)의 각 주기마다, 다른 보조 클록의 타이밍이 다른 메인 클록의 타이밍에 대응할 수 있다. 예로서, 시각 t11에서 보조 클록(CLKas1)의 타이밍이 메인 클록(CLK1)의 타이밍에 대응할 수 있고, 시각 t12에서 보조 클록(CLKas2)의 타이밍이 메인 클록(CLK2)의 타이밍에 대응할 수 있다. 이러한 방식으로, 보조 클록들(CLKas1 내지 CLKas3) 각각 모두의 타이밍들이 메인 클록들(CLK1 내지 CLK5) 각각 모두의 타이밍들과 한 번씩 대응할 수 있다.
따라서, 하나의 보조 클록의 타이밍들 각각이 메인 클록들(CLK1 내지 CLK5) 각각 모두와 한 번씩 대응할 수 있다. 예로서, 기준 클록(CLKref)으로서 제공되는 보조 클록(CLKas1)의 타이밍들 각각은 메인 클록들(CLK1 내지 CLK5)의 타이밍들 각각 모두와 한 번씩 대응할 수 있다. 예로서, 시각 t11에서 보조 클록(CLKas1)의 타이밍이 메인 클록(CLK1)의 타이밍에 대응할 수 있다. 나아가, 시각 t13 내지 t16에서, 보조 클록(CLKas1)의 타이밍들이 메인 클록들(CLK2 내지 CLK5)의 타이밍들과 대응할 수 있다.
도 21을 참조하면, 보조 ADC들이 동작하는 타이밍들 각각 모두는 메인 ADC들이 동작하는 타이밍들 각각 모두와 한 번씩 관련될 수 있다. 예로서, 시각 t11에서, 제 1 보조 ADC가 아날로그 신호(AS)를 제 1 비트열(DDas)로 변환할 수 있고, 제 1 메인 ADC가 제 1 비트열(DDas)에 기초하여 아날로그 신호(AS)를 제 2 비트열(DD1)로 변환할 수 있다. 한편, 시각 t12에서, 제 2 보조 ADC가 아날로그 신호(AS)를 제 1 비트열(DDas)로 변환할 수 있고, 제 2 메인 ADC가 제 1 비트열(DDas)에 기초하여 아날로그 신호(AS)를 제 2 비트열(DD2)로 변환할 수 있다.
한편, 기준 ADC로서 선택되는 제 1 보조 ADC가 동작하는 타이밍들 각각은 메인 ADC들이 동작하는 타이밍들 각각 모두와 한 번씩 관련될 수 있다. 예로서, 제 1 보조 ADC가 시각 t13 내지 t16에서 동작하는 동안, 제 2 내지 제 5 메인 ADC들이 각각 동작할 수 있다. 따라서, 메인 클록들(CLK1 내지 CLK5)의 타이밍들이 보조 클록(CLKas1)의 타이밍들에 맞추어 정렬될 수 있다.
도 22 및 도 23은 도 19의 ADC 회로(400)에서 메인 클록들의 타이밍들이 조절되는 예시적인 시뮬레이션의 결과들을 보여주는 그래프들이다. 예로서, 도 22 및 도 23은 다섯 개의 보조 ADC, 다섯 개의 보조 클록, 18개의 메인 ADC, 및 18개의 메인 클록이 채용된 조건에서 수행된 시뮬레이션의 결과들을 보여준다. 이 조건에서, 보조 ADC들의 개수는 메인 ADC들의 개수와 서로소일 수 있다.
도 22는 메인 클록들의 타이밍들이 조절되기 전에 얻어지는 출력들의 신호 레벨들을 보여주고, 도 23은 메인 클록들의 타이밍들이 조절된 후에 얻어지는 출력들의 신호 레벨들을 보여준다. 도 22 및 도 23을 참조하면, 주파수(F0)는 ADC 회로(400)를 동작시키기 위해 의도되는 클록 주파수에 대응할 수 있다. 반면, 주파수들(F1 내지 도 17)은 타이밍 오류에 기인하여 얻어지는 출력들(즉, 노이즈 성분들)과 관련될 수 있다.
도 23을 도 22와 비교하면, 메인 클록들의 타이밍들이 조절됨에 따라, 타이밍 오류에 기인하는 주파수들(F1 내지 F17)의 출력들이 제거되었음이 이해될 수 있다. 도 22의 시뮬레이션 조건에서, SFDR은 49.24dB, SNDR은 39.33dB, ENOB은 6.24비트로 얻어졌다. 반면, 도 23의 시뮬레이션 조건에서, SFDR은 84.73dB, SNDR은 62.24dB, ENOB는 10.04비트로 얻어졌다.
위 결과들을 참조하면, 메인 클록들의 타이밍들이 조절됨에 따라, 메인 클록들의 타이밍들이 기준 클록으로서 선택된 보조 클록의 타이밍들에 맞추어 정렬될 수 있고, 따라서 타이밍 오류 및 스큐 불일치가 해소될 수 있다. 즉, 본 개시의 실시 예들은 복수의 클록을 정확하게 제어하는 데이 유용함이 이해될 수 있다.
도 24는 몇몇 실시 예에 따른 ADC 회로를 채용하는 전자 시스템(2000)의 예시적인 구성을 보여주는 블록도이다.
전자 시스템(2000)은 메인 프로세서(2100), 워킹 메모리(2200), 스토리지 장치(2300), 통신 블록(2400), 유저 인터페이스(2500), 및 버스(2600)를 포함할 수 있다. 예로서, 전자 시스템(2000)은 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 웨어러블 장치, 전기 자동차, 워크스테이션, 서버 등과 같은 전자 장치들 중 하나일 수 있다.
메인 프로세서(2100)는 전자 시스템(2000)의 전반적인 동작들을 제어할 수 있다. 메인 프로세서(2100)는 다양한 종류의 산술 연산들 및/또는 논리 연산들을 처리할 수 있다. 예로서, 메인 프로세서(2100)는 범용 프로세서, 전용 프로세서, 또는 어플리케이션 프로세서(Application Processor)로 구현될 수 있다.
워킹 메모리(2200)는 전자 시스템(2000)의 동작에 이용되는 데이터를 저장할 수 있다. 예로서, 워킹 메모리(2200)는 메인 프로세서(2100)에 의해 처리된 또는 처리될 데이터를 일시적으로 저장할 수 있다. 예로서, 워킹 메모리(2200)는 DRAM(Dynamic RAM), SDRAM(Synchronous RAM) 등과 같은 휘발성 메모리, 및/또는 PRAM(Phase-change RAM), MRAM(Magneto-resistive RAM), ReRAM(Resistive RAM), FRAM(Ferro-electric RAM) 등과 같은 불휘발성 메모리를 포함할 수 있다.
스토리지 장치(2300)의 메모리 장치는 전력 공급에 관계없이 데이터를 저장할 수 있다. 예로서, 스토리지 장치(2300)는 플래시 메모리, PRAM, MRAM, ReRAM, FRAM 등과 같은 불휘발성 메모리를 포함할 수 있다. 예로서, 스토리지 장치(2300)는 HDD(Hard Disk Drive), SSD(Solid State Drive), 카드 스토리지, 임베디드(Embedded) 스토리지 등과 같은 스토리지 매체를 포함할 수 있다.
통신 블록(2400)은 전자 시스템(2000)의 외부 장치/시스템과 통신할 수 있다. 통신 블록(2400)은 MODEM(Modulator/Demodulator) 칩 또는 장치, 네트워크 카드, 통신 스위치, 허브, 라우터 등과 같이 통신 서비스를 제공할 수 있는 구성 요소일 수 있다. 예로서, 통신 블록(2400)은 LTE, WIMAX, GSM, CDMA, Bluetooth, NFC(Near Field Communication), Wi-Fi, RFID 등과 같은 다양한 무선 통신 규약 중 적어도 하나, 및/또는 TCP/IP, USB, Firewire 등과 같은 다양한 유선 통신 규약 중 적어도 하나를 지원할 수 있다.
통신 블록(2400)은 통신 서비스를 제공하기 위해 송신 회로, 수신 회로, ADC 회로(2410), CDR 회로 등과 같은 다양한 전자 회로를 포함할 수 있다. ADC 회로(2410)는 본 개시의 실시 예들에 따라 복수의 클록의 타이밍들을 조절할 수 있다. 이를 위해, ADC 회로(2410)는 도 1 내지 도 16 및 도 19 내지 도 21을 참조하여 설명된 실시 예들 및 이 실시 예들로부터 수정되는 다양한 다른 실시 예에 따라 구현될 수 있다.
유저 인터페이스(2500)는 사용자와 전자 시스템(2000) 사이의 통신을 중재할 수 있다. 예로서, 유저 인터페이스(2500)는 키보드, 마우스, 키패드, 버튼, 터치 패널, 터치 스크린, 터치 패드, 터치 볼, 카메라, 마이크, 자이로스코프 센서, 진동 센서 등과 같은 입력 인터페이스를 포함할 수 있다. 예로서, 유저 인터페이스(2500)는 LCD(Liquid Crystal Display) 장치, LED(Light Emitting Diode) 표시 장치, OLED(Organic LED) 표시 장치, AMOLED(Active Matrix OLED) 표시 장치, 스피커, 모터 등과 같은 출력 인터페이스를 포함할 수 있다.
버스(2600)는 전자 시스템(2000)의 구성 요소들 사이에서 통신 경로를 제공할 수 있다. 전자 시스템(2000)의 구성 요소들은 버스(2600)의 버스 포맷에 기초하여 서로 데이터를 교환할 수 있다. 예로서, 버스 포맷은 USB, SCSI(Small Computer System Interface), PCIe(Peripheral Component Interconnect Express), M-PCIe(Mobile PCIe), ATA(Advanced Technology Attachment), PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI), IDE(Integrated Drive Electronics), EIDE(Enhanced IDE), NVMe(Nonvolatile Memory Express), UFS(Universal Flash Storage) 등과 같은 다양한 인터페이스 규약 중 하나 이상을 포함할 수 있다.
한편, 위 설명들은 통신과 관련하여 채용되는 ADC 회로를 설명하기 위해 제공되었으나, 본 발명은 위 설명들로 한정되지 않는다. 본 개시의 실시 예들에 따른 ADC 회로는 어떠한 유형의 전자 장치/회로에서든 채용될 수 있다. 나아가, 본 개시의 실시 예들은 ADC 회로 외의 다른 유형의 전자 회로에서도 채용될 수 있다. 본 개시의 실시 예들은 복수의 클록에 기초하여 동작하는 어떠한 유형의 전자 회로에서든 채용될 수 있다.
각 블록도에 나타낸 구성은 더 나은 이해를 가능하게 하기 위해 제공된다. 각 블록은 그것의 기능에 따라 더 작은 단위의 블록들로 구현될 수 있다. 또는, 복수의 블록은 그것들의 기능들에 따라 더 큰 단위의 클록으로 구현될 수 있다. 본 발명은 각 블록도에 나타낸 구성에 의해 한정되지 않는다.
이상에서, 본 발명이 몇몇 실시 예에 기초하여 설명되었다. 다만, 본 발명이 속하는 기술 분야의 특성에 기인하여, 본 발명에 의해 의도되는 목적 및 효과는 본 발명의 요지를 포함하면서도 위 실시 예들과 상이한 구현에 의해 달성될 수 있다. 따라서, 위 실시 예들은 한정적인 것이 아니라 설명적인 관점에서 이해되어야 한다. 즉, 본 발명의 요지를 포함하면서 위 실시 예들과 동일한 목적 및 효과를 달성할 수 있는 구현은 본 발명에 의해 청구되는 보호 범위에 포함되는 것으로 해석되어야 한다.
따라서, 본 발명의 본질적인 특성을 벗어나지 않는 범위 내에서 변경 또는 수정되는 구현은 본 발명에 의해 청구되는 보호 범위에 포함될 것이다. 또한, 본 발명의 보호 범위는 위 실시 예들로 한정되지 않고, 아래의 청구범위로부터 읽히는 기술 사상을 커버하는 것으로 이해되어야 한다.