디지털 위상-동기 루프{DIGITAL PHASE-LOCKED LOOP}
본 출원은 2003년 4월 9일자 출원된 발명의 명칭이 "컴팩트, 저-전력 저-지터 디지털 PLL(Compact, Low-Power Low-Jitter Digital PLL)"인 미국 가출원 제 60/461,889호의 우선권을 주장한다.
배경기술
기술 분야
본 발명은 일반적으로 전자 회로에 관한 것이며, 보다 구체적으로는 디지털 위상-동기 루프 (PLL) 에 관한 것이다.
배경기술
위상-동기 루프는 다수의 전자 회로의 필수적인 부분이며, 특히 통신 회로에서 중요하다. 예를 들어, 디지털 시스템은 동기 회로 (예를 들어, 플립-플롭) 를 트리거하기 위하여 클럭 신호들을 이용한다. 송신기 및 수신기 시스템은 각각 주파수 상향 변환 및 하향 변환을 위하여 국부 발진기 (LO) 신호들을 이용한다. 무선 통신 시스템 내의 무선 디바이스 (예를 들어, 셀룰러 폰) 는 통상적으로 디지털 회로를 위하여 클럭 신호들을 이용하고 송·수신기 회로를 위하여 LO 신호들을 이용한다. 클럭 및 LO 신호들은 종종 위상-동기 루프에 의해 생성된다.
도 1 은 위상 주파수 검출기 (PFD; 110), 루프 필터 (120), 전압 제어 발진기 (VCO; 140), 및 디바이더 (divider; 150) 로 구성된 고전적인 PLL (100) 을 도시한다. VCO (140) 는 루프 필터 (120) 로부터의 제어 신호에 의해 결정된 주파수를 갖는 발진기 신호를 생성한다. 디바이더 (150) 는 팩터 N (N≥1) 으로 발진기 신호를 주파수 분할하여, 피드백 신호를 제공한다. 위상 주파수 검출기 (110) 는 기준 신호 및 피드백 신호를 수신하고, 2개의 신호의 위상을 비교하여, 두 개의 신호 사이에서 검출된 위상 차이 또는 에러에 비례하는 검출기 신호를 제공한다. 루프 필터 (120) 는 검출기 신호를 필터링하여 VCO (140) 에 대한 제어 신호를 제공한다. 루프 필터 (120) 는 제어 신호를 조정하여 피드백 신호의 위상이 기준 신호의 위상에 고정되도록 (locked) 한다.
아날로그 PLL 의 경우, 루프 필터는 아날로그 회로 구성요소 (예를 들어, 커패시터 및 저항) 로 구현된다. 아날로그 PLL 설계는 (PLL의 총 면적의 50%를 점유할 수 있는) 루프 필터를 위한 큰 다이 면적, 시스템-온-어-칩 (SOC) 설계를 위한 기판을 통한 심각한 노이즈 커플링, 및 게이트 리키지로 인한 발진기 신호에서의 큰 스퍼 (spur) 등의 여러가지 단점이 있는 경향이 있다. 게이트 리키지는 옥사이드 두께의 감소와 함께 지수적으로 증가하며, 따라서 집적 회로 (LC) 테크놀로지 스케일이 작아질수록 더욱 문제가 된다.
디지털 PLL은 아날로그 PLL에 대한 상술한 단점을 회피한다. 그러나, 디지털 PLL 설계를 위한 주요 목표는 높은 주파수 분해능을 유지하면서 넓은 폐루프 대역폭을 얻는 것이다. 넓은 루프 대역폭은 기준 신호의 보다 나은 트랙킹을 위해 필요하며, 이것은 VCO에 의해 생성되는 위상 노이즈의 양을 감소시키고 낮은 지터를 발생시킨다. 지터는 기준 신호의 평균 또는 예상되는 사이클로부터의 편차이다. 높은 주파수 분해능은 지터를 감소시키기 위해서 필요하다. 주파수 분해능에 있어서의 제한은 발진기 신호와 같은 고주파수 신호를 갖는 위상 에러의 커스한 (coarse) 양자화로부터 야기된다. 종래의 일 방법에서, 개선된 주파수 분해능은 루프 필터를 업데이트하기 전에 보다 많은 위상 측정을 수행함으로써 달성된다. 그러나, 이 방법은 달성가능한 폐루프 대역폭을 상당히 제한하며 (이는 지터에 영향을 주고) 안정성을 저하시키는 큰 루프 지연을 추가로 도입한다.
따라서, 본 기술분야에서 개선된 성능의 디지털 PLL 에 대한 요구가 있다.
개요
고전적인 아날로그 PLL 및 다른 종래의 디지털 PLL에 비하여 개선된 성능을 갖는 컴팩트, 저-전력, 저-지터 디지털 PLL이 본 명세서에서 제공된다. 혁신적인 디지털 PLL 은 높은 주파수 정확성 및 넓은 루프 대역폭을 달성하기 위하여 다수의 기술을 구현한다.
일 특정 실시형태에서, 혁신적인 디지털 PLL은 적응성 PFD, 적응성 루프 필터 (LF), 전류 디지털-아날로그 변환기 (iDAC), 전류 제어 발진기 (ICO) 및 디바이더를 포함한다. 적응성 PFD는 기준 신호와 피드백 신호를 수신하여, 그 신호들간의 위상 에러를 결정하기 위하여 이들 두 신호들의 위상을 비교하고, 각각의 위상 비교 기간 (아래에서 정의됨) 동안의 PFD 값을 제공한다. PFD 값의 크기는, 디지털 PLL이 고정되지 않은 경우의 고속 주파수 획득 및 디지털 PLL이 고정된 경우의 감소된 지터 모두를 달성하기 위하여 조정가능한 검출기 이득에 의존한다.
적응성 루프 필터는 PFD 값이 적응성 PFD로부터 수신될 때마다 업데이트된다. 적응성 루프 필터는 지연을 최소화하기 위하여 비동기 타이밍 메카니즘 및 캐리 룩-어헤드 가산기 (carry look-ahead adder; CLA) 를 이용하며, 이는 넓은 루프 대역폭을 허용하며 루프 안정성을 개선한다. 또한, 적응성 루프 필터는 PFD로부터의 위상 에러를 분석하고 그 위상 에러 분석에 기초하여 디지털 PLL의 폐루프 응답을 조정한다. 예를 들어, 적응성 루프 필터는, 큰 위상 에러가 검출되는 경우마다 그 디지털 PLL이 보다 빨리 큰 위상 에러를 트랙킹할 수 있도록 루프 대역폭을 넓힐 수 있다. 반대로, 적응성 루프 필터는, 작은 평균 위상 에러가 검출되는 경우마다 공급 노이즈 유도 지터 (supply noise induced jitter) 를 최소화하도록 루프 대역폭을 좁게 할 수 있다.
iDAC는 적응성 루프 필터의 출력을 수신하여 아날로그 전류로 변환한다. iDAC는 전력 소모와 스위칭 노이즈 모두를 최소화하도록 설계될 수 있다. 이것은 조종 (steered) 전류 소스를 갖는 iDAC의 L 개의 LSB (least significant bit) 와 단일-종단 (single-ended) 전류 소스를 갖는 M 개의 MSB (most significant bit) 를 구현함으로써 달성된다. 개선된 iDAC의 선형성 (linearity) 은 이하에 기술된 바와 같이, 바이너리 디코딩 대신에 열 (thermal) 디코딩으로 M 개의 MSB를 구현함으로써 달성될 수도 있다. ICO는 iDAC로부터의 출력을 수신하고 iDAC 출력에 의해 결정된 위상을 갖는 발진기 신호를 제공한다. 디바이더는 발진기 신호를 팩터 N으로 주파수 분할하고 피드백 신호를 제공한다.
일반적으로, 디지털 PLL은 양호한 성능을 달성하기 위하여 여기 기술된 하나, 다수 또는 모든 기술을 구현하도록 설계될 수 있다. 디지털 PLL은 하나 이상의 집적 회로로 구현될 수도 있고, 시스템-온-어-칩 설계를 위해 바람직하게 이용될 수 있다. 디지털 PLL은 무선 장치 (예를 들어, 셀룰러 폰) 및 다른 전자 장치들 내에서 구현될 수도 있다. 본 발명의 다양한 양태 및 실시형태를 이하 상세히 설명하기로 한다.
도면의 간단한 설명
도면과 함께 이하 설명하는 상세한 설명으로부터 본 발명의 특징, 본질은 보다 명백할 것이고, 유사한 참조 부호가 도면 전반적으로 대응하게 식별한다.
도 1 은 고전적인 PLL을 도시한다.
도 2 는 컴팩트, 저-전력, 저-지터 디지털 PLL을 도시한다.
도 3 은 디지털 PLL 내의 적응성 PFD를 도시한다.
도 4 는 적응성 PFD 내의 PFD의 동작을 나타내는 타이밍도이다.
도 5 는 주파수의 바이너리 튜닝을 위한 프로세스의 흐름도이다.
도 6 은 디지털 PLL 내의 적응성 루프 필터를 도시한다.
도 7 은 CLA를 갖는 적응성 루프 필터의 구현예를 도시한다.
도 8 은 지터를 감소시키기 위한 디지털 PLL의 폐루프 특성을 조정하기 위한 프로세스의 흐름도이다.
도 9 는 디지털 PLL 내의 iDAC를 도시한다.
도 10 은 디지털 PLL 내의 ICO를 도시한다.
도 11 은 디지털 PLL의 단순화된 모델을 도시한다.
도 12 는 디지털 PLL을 갖는 무선 장치를 도시한다.
상세한 설명
여기서 "예시"란 단어는 "예, 경우, 실례로서 제공하는"의 의미로 사용되었다. 여기에 "예시"로서 기술된 임의의 실시형태나 설계는 다른 실시형태들이나 설계들에 비하여 바람직하거나 유리한 것으로 해석될 필요는 없다.
도 2 는 컴팩트, 저-전력, 저-지터 디지털 PLL (200) 의 블록도를 도시한다. 디지털 PLL (200) 은 적응성 PFD (210), 적응성 루프 필터 (220), iDAC (230), ICO (240), 및 디바이더 (250) 를 포함한다.
적응성 PFD (210) 는 기준 신호와 피드백 신호를 수신하고, 그 기준 신호와 피드백 신호의 위상들을 비교하여 PFD 출력을 제공한다. PFD 출력은 일련의 PFD 값들로 이루어지며, 각각의 PFD 값은 기준 신호와 피드백 신호 사이에 검출된 위상 차이 또는 에러, 그리고 검출기 이득에 의존한다. 또한, 적응성 PFD (210) 는 일련의 위상 에러 값들로 이루어진 검출기 출력을 제공한다. 각각의 위상 에러 값은 기준 신호가 피드백 신호의 위상에 비하여 빠른지 또는 늦는지 여부를 나타낸다. 이하에 설명된 바와 같이, 적응성 PFD (210) 는 고속 주파수 튜닝, 적은 지터, 및 다른 이점들을 제공한다.
적응성 루프 필터 (220) 는 적응성 PFD (210) 로부터 PFD 출력을 수신하고, 적응성 루프 필터 응답으로 PFD 출력을 필터링하며 루프 필터 (LF) 출력을 제공한다. 또한, 적응성 루프 필터 (220) 는 검출기 출력을 수신하고 (1) 기준 신호와 피드백 신호 사이의 큰 위상 에러 및 (2) 기준 신호와 피드백 신호 사이의 작은 평균 위상 에러를 검출한다. 적응성 루프 필터 (220) 는 후술하는 바와 같이, 위상 에러 분석의 결과, 디지털 PLL (200) 의 동작 상태 등과 같은 다양한 팩터들에 기초하여 디지털 PLL의 폐루프 응답 (예를 들어, 루프 대역폭 및/또는 댐핑 (dapping))을 조정한다. 또한, 적응성 루프 필터 (220) 는, 넓은 루프 대역폭 및 개선된 루프 안정성이 달성될 수 있도록 작은 지연을 부과한다.
iDAC (230) 는 LF 출력을 수신하고, 멀티 비트의 디지털 LF 출력을 아날로그 전류로 변환하고, iDAC 출력을 제공한다. iDAC (230) 는 후술하는 바와 같이, 전력 소모 및 스위칭 노이즈 모두를 최소화하기 위해 설계된다. ICO (240) 는 iDAC (230) 로부터 iDAC 출력을 수신하고 iDAC 출력에 의해 결정된 위상을 갖는 발진기 신호를 제공한다. ICO (240) 는 전원으로부터의 노이즈에 대한 양호한 내성 (immunity) 과 전류-주파수 전달 함수를 위한 양호한 선형 범위를 갖도록 설계된다. 디바이더 (250) 는 ICO (240) 로부터 발진기 신호를 수신하고, 그 발진기 신호의 주파수를 팩터 N으로 분할하고, 피드백 신호를 제공한다. N은 1이상의 임의의 값이 될 수도 있으며 (N≥1), 정수이거나 정수가 아닐 수 있다.
도 2 는 예시적인 디지털 PLL을 도시한다. 또한, 다른 디지털 PLL은 도 2에 도시된 것에 비하여 더 적은, 추가적인, 및/또는 상이한 유닛들로 구현될 수도 있다. 예를 들어, iDAC (230) 와 ICO (240) 는 VOC에 의해 대체될 수 있다. 또한, 종래의 PFD는 적응성 PFD (210) 를 위해 이용될 수도 있으며, 종래의 루프 필터는 적응성 루프 필터 (220) 를 위해 이용될 수도 있다. 이하, 적응성 PFD (210) , 적응성 루프 필터 (220), iDAC (230) 및 ICO (240) 에 대한 예시적인 설계를 설명한다.
도 3 은 적응성 PFD (210) 의 실시형태를 도시하며 이는 PFD (310), 스케일링 유닛 (340), 및 제어 회로 (350) 를 포함한다. PFD (310) 내에서, 기준 신호와 피드백 신호가 D 플립-플롭들 (DFF; 312a, 312b) 의 클럭 입력으로 각각 제공된다. DFF들 (312a, 312b) 의 데이터 (D) 입력은 전원에 결합되며 로직 하이 (logic high) 를 수신한다. DFF들 (312a, 312b) 의 출력들은 S1 신호와 S2 신호를 각각 제공한다. 인버터 (314a) 는 S1 신호를 수신하고 인버팅하여, S1b 신호를 래치 (316a) 의 데이터 입력과 래치 (316b) 의 클럭 입력에 제공한다. 인버터 (314b) 는 S2 신호를 수신하고 인버팅하여, S2b 신호를 래치 (316b) 의 데이터 입력과 래치 (316a) 의 클럭 입력에 제공한다. 따라서, 래치 (316a, 316b) 는 S1b 신호 및 S2b 신호에 의해 크로스-결합된다. 래치 (316a) 의 Q 출력은 INC 신호를 제공하고, 래치 (316b) 의 Q 출력은 DEC 신호를 제공한다.
리셋 회로 (320) 는 DFF (312a, 312b) 를 리셋하며 래치 (316a, 316b) 를 인에이블한다. 리셋 회로 (320) 내에서, AND 게이트 (322) 는 S1b 및 S2b 신호와 로직 유닛 (334) 으로부터 Restart 신호를 수신하고, 3개의 입력에 대하여 로직 AND를 수행하여, S3 신호를 제공한다. 지연 유닛 (324) 은 S3 신호를 수신하여 △T만큼 지연시키고 S4 신호를 제공한다. OR 게이트 (326) 는 S4 신호와 PFD Reset 신호를 수신하여, 2개의 입력에 대하여 로직 OR을 수행하고, Reset 신호를 DFF (312a, 312b) 의 리셋 (R) 입력에 제공한다. OR 게이트 (332) 는 S1b 및 S2b 신호를 수신하고, 2개의 입력에 대하여 로직 OR을 수행하여, CLK 신호를 제공한다. 로직 유닛 (334) 은 CLK 신호를 수신하고 디지털 PLL (200) 의 다른 유닛들에 Restart 신호와 클럭 신호 (예를 들어, CLKout) 를 제공한다. 각각의 클럭 신호는 PFD 출력에 대한 PFD 값의 시작에 대하여 특정량의 시간만큼 지연된 각각의 클럭 신호에 대한 트리거링 에지를 갖는 CLK 신호의 상이한 지연 버전이다. 다른 유닛들은 적응성 PFD (210) 로부터의 PFD 값을 래치하기 위하여 이들 클럭 신호들을 이용한다.
도 4 는 PFD (310) 의 동작을 나타내는 타이밍도이다. 디지털 PLL (200) 이 먼저 활성화되면, 시간 T1에서 PFD Reset 신호에 로직 하이 펄스를 인가함으로써 DFF (312a 및 312b) 의 출력 (따라서, S1 신호 및 S2 신호) 들은 로직 하이로 설정된다. 래치 (316a 및 316b) 는 S1 및 S2 신호의 로직 하이에 의해 인에이블되고, S1b 및 S2b 신호에 대하여 로직 로우를 래치하여 로직 로우를 INC 신호와 DEC 신호에 제공한다.
도 4 에 도시된 예에서, 리딩 에지 (leading edge) 는 피드백 신호의 리딩 에지 전에, 시간 T2에서 기준 신호에 나타난다. 기준 신호의 리딩 에지는 DFF (312a) 의 출력과 S1신호가 로직 로우로 변화되도록 야기하며, 이는 래치 (316a) 가 S1b 신호에 로직 하이를 래치하도록 야기하고 INC 신호에 로직 하이를 제공한다. S1 신호의 로직 로우는 래치 (316b) 를 디스에이블 시키며, S1b 신호의 로직 하이는 CLK 신호가 로직 하이로 변화되도록 야기한다.
리딩 에지가 시간 T3에서 피드백 신호 상에 나타난다. 이 리딩 에지는 S2 신호가 로직 로우로 변화되도록 야기하며 S2b 신호가 로직 하이로 변화되도록 야기한다. 래치 (316b) 가 S1 신호 상의 로직 로우에 의해 디스에이블 되기 때문에, S2b 신호가 로직 하이로 변화할 때, DEC 신호는 상태를 변화시키지 않는다.
Restart 신호는 CLK 신호의 지연된 버전이다. CLK 신호의 리딩 에지로부터 △Trestart의 지연 이후에, Restart 신호는 시간 T4에서 로직 하이로 변화한다. S1b, S2b 및 Restart 신호의 로직 하이는 AND 게이트 (322) 로부터의 S3 신호가 로직 하이로 변화되도록 야기한다. S4 신호는 S3 신호의 지연된 버전이며 △T의 지연 이후에 로직 하이로 변화한다. 그 후에, Reset 신호는 시간 T5에서 로직 하이로 변화하고 DFF (312a, 312b) 를 리셋하며, 이것은 S1 신호 및 S2 신호가 로직 하이가 되고, S1b 및 S2b 신호가 로직 로우로 변화하도록 야기한다. S1b 및 S2b 신호 상의 로직 로우는 CLK 신호 및 S3 신호가 로직 로우로 변화하도록 야기한다. S3 신호 상의 로직 로우는 S4 신호 및 Reset 신호가 △T 이후에 로직 로우로 변화하도록 야기한다.
시간 T5 직후에 S1 및 S2 신호 상의 로직 하이는 래치 (316a, 316b) 가 INC 신호 및 DEC 신호를 리셋하도록 야기한다. 이제, PFD (310) 는 기준 신호 또는 피드백 신호의 다른 리딩 에지를 수신할 준비가 된다. 만일 리딩 에지가 기준 신호의 리딩 에지 이전에 피드백 신호에서 나타나면 상보적인 액션이 발생한다.
INC 신호 및 DEC 신호는 기준 신호와 피드백 신호 사이의 위상 에러를 나타낸다. 도 4 에 도시된 바와 같이, 리딩 에지가 기준 신호에서 먼저 나타나면 (즉, 기준 신호의 위상이 피드백 신호의 위상에 비하여 빠르면), INC 신호는 로직 하이로 설정된다. 도 4 에 미도시하였지만, 리딩 에지가 피드백 신호에서 먼저 나타나면 (즉, 기준 신호의 위상이 느리면), DEC 신호는 로직 하이로 설정된다. 따라서, INC 신호 및 DEC 신호는 (위상 에러의 크기가 아닌) 위상 에러의 부호 또는 극성을 나타낸다. INC 신호 및 DEC 신호 상의 로직 값은 CLK 신호의 지연된 버전으로 래치될 수도 있다.
다시 도 3 을 참조하면, PFD (310) 는 S3 신호 상의 로직 하이에 의해 리셋되며, 이는 S1b, S2b, 및 Reset 신호가 로직 하이에 있도록 요구한다. S1b 신호 및 S2b 신호는 각각 기준 신호 및 피드백 신호 상의 리딩 에지에 의해 로직 하이로 된다. Restart 신호는 CLK 신호의 지연된 버전이며, 이는 기준 신호 또는 피드백 신호 상의 최초 리딩 에지에 의해 로직 하이로 된다. 지연 △Trestart는 고정된 값이며 각각의 PFD 값을 프로세스하기 위한 충분한 양의 시간이 적응성 루프 필터 (220) 및 iDAC (230) 에 주어지도록 선택된다. 도 4 에서, 피드백 신호 상의 리딩 에지 이전에 Restart 신호가 로직 하이로 변화하면, 리셋 회로 (320) 는 PFD (310) 를 리셋하기 전에 피드백 신호 상의 리딩 에지를 대기한다. PFD (310) 가 리셋될 때마다, 새로운 위상 비교 기간 (period) 이 시작된다. 각각의 위상 비교 기간은 일반적으로 기준 신호 및 피드백 신호 중에서 더 느린 신호의 하나의 기간에 대응한다. 각각의 위상 비교 기간은 더 느린 신호 상의 하나의 리딩 에지 및 더 빠른 신호 상의 하나 이상의 리딩 에지를 포함한다. 예를 들어, 피드백 신호가 기준 신호보다 훨씬 더 느리다면, 하나의 위상 비교 기간은 기준 신호의 다수의 기간들을 스팬 (span) 할 수 있다. 따라서, PFD (210) 의 출력 레이트는 기준 신호의 주파수보다 더 느리게 될 수도 있다 (예를 들어, 피드백 신호가 기준 신호보다 훨씬 더 느리다면, 하나의 PFD 값이 기준 신호의 다수의 기간에 대하여 제공될 수도 있다).
래치 (316a 및 316b) 는 기준 신호와 피드백 신호 사이의 위상 에러의 극성 또는 부호를 효과적으로 검출하고, 검출된 위상 에러 극성을 나타내는 로직 값을 제공한다. 디지털 PLL (200) 이 동기되는 (locked) 경우, 기준 신호와 피드백 신호의 리딩 에지는 대략 시간-정렬되고, S1 신호 및 S2 신호가 거의 동일한 시간에 토글한다 (toggle). 래치 (316a 및 316b) 의 출력은 S1 신호 및 S2 신호가 동시에 토글하는 것에 기인한 메타-안정 (meta-stability) 을 회피하기 위하여 다른 세트의 래치들 (도 3 에서는 미도시) 로 재래치될 수도 있다.
INC 신호 및 DEC 신호는 검출기 신호를 형성하며, 이는 각각의 위상 비교 기간에 대하여 하나의 위상 에러 값을 포함한다. 각각의 위상 에러 값은 INC 값, DEC 값, 또는 널 (null) 값이 될 수 있다. 기준 신호의 위상이 피드백 신호의 위상에 비하여 빠르면, 위상 에러 값은 INC 값이고, 이는 도 4 에 도시된 바와 같이, INC 신호에 대해 로직 하이이고 DEC 값에 대해 로직 로우로 표시된다. 기준 신호의 위상이 피드백 신호의 위상에 비하여 늦다면, 위상 에러 값은 DEC 값이고, 이는 DEC 신호에 대해 로직 하이이고 INC 신호에 대해 로직 로우로 표시된다. 기준 신호의 위상이 피드백 신호의 위상과 거의 근접하게 정렬되고 PFD (310) 가 어느 신호가 빠른지 여부를 분별할 수 없으면, 위상 에러 값은 널 값이다. 널 값은 동일한 로직 값을 갖는 INC 신호 및 DEC 신호에 의해 표시된다. PFD가 그 위상 에러를 해결할 수 없는 위상 차이 또는 에러의 범위는 종종 PFD의 "데드 존 (dead zone)"으로 지칭된다.
스케일링 유닛 (340) 은 PFD (310) 로부터 INC 신호 및 DEC 신호를 수신하고 제어 유닛 (350) 으로부터 검출기 이득 KD 를 수신하여, 이들 입력들에 기초하여 PFD 출력을 유도한다. 스케일링 유닛 (340) 내에서, 합산기 (342; summer) 는 INC 신호로부터 DEC 신호를 차감하여 이들 두 신호 사이의 차이를 제공한다. 승산기(344) 는 합산기 (342) 로부터의 출력을 수신하고 검출기 이득 KD 로 스케일링하여 그 PFD 출력을 제공한다.
적응성 PFD (210) 는 각각의 위상 비교 기간 동안에 멀티-비트 PFD 값을 PFD 출력에 제공한다. PFD 값의 부호 (즉, + 또는 -) 는 기준 신호와 피드백 신호 사이의 위상 에러의 부호에 의존한다. PFD 값은 포지티브 위상 에러에 대하여 포지티브 값이며, 도 4 에 도시된 바와 같이, 이것은 기준 신호의 위상이 피드백 신호의 위상에 비하여 빠른 경우이다. PFD 값은 네거티브 위상 에러에 대하여 네거티브 값이다. 위상 에러가 포지티브인지 네거티브인지 여부는 INC 신호와 DEC 신호의 로직 값에 의해 결정될 수 있다. PFD 값의 크기는 검출기 이득 KD 에 의해 결정된다. PFD 값 (PFDout) 은,
식(1)
과 같이 표현될 수도 있다.
제어 회로 (350) 는 스케일링 유닛 (340) 에 검출기 이득 KD을 제공한다. 디지털 PLL (200) 이 먼저 활성화 되거나 명령받을 때마다 진입하게 되는 획득 (acquision) 위상 동안에, 기준 신호와 피드백 신호 사이의 위상 에러는 증가될 수도 있다. 그 후, 큰 검출기 이득이 그 획득을 고속화하기 위해 이용될 수도 있다. 일단 디지털 PLL이 기준 신호로 동기되면, 위상 에러는 통상적으로 작고 +와 - 극성 사이를 계속하여 토클한다. 그 후, 작은 검출기 이득은 지터를 감소시키기 위해 PFD 출력에 이용될 수 있다.
일 실시형태에서, 제어 회로 (350) 는 고속 주파수 획득 달성을 위하여 주파수의 바이너리 튜닝을 수행한다. 바이너리 주파수 튜닝은 디지털 PLL이 획득모드로 동작 중이거나 어떤 다른 이벤트에 의해 트리거되는 중일 때 인에이블될 수도 있다. 바이너리 주파수 튜닝에 의해, 검출기 이득 KD 는 처음에는 PFD 출력에 큰 PFD 값을 제공하기 위하여 최대값 KDmax으로 설정된다. 이것은 디지털 PLL이 위상 에러를 트랙하기 위하여 ICO를 보다 빨리 조정하도록 허용한다. 위상 에러의 극성에서 변화가 검출될 때마다, 검출기 이득 KD 은 감소된다. (1) 기준 신호의 위상이 피드백 신호의 위상에 비하여 빠른 상태에서 늦은 상태로 변화하는 경우, 또는 (2) 기준 신호의 위상이 늦은 상태에서 빠른 상태로 변화하는 경우에, 위상 에러 극성의 변화가 발생한다. 위상 에러 극성의 변화는 INC 신호와 DEC 신호의 로직 값에 기초하여 검출될 수 있다. 어떤 경우에는, 보다 작은 검출기 이득 KD 는 PFD 값의 크기를 그에 대응하게 감소시키고, 디지털 PLL 은 ICO 를 보다 느리게 조정한다. 그 프로세스는, 검출기 이득 KD 이 최소값 KDmin에 도달할 때까지 계속된다. 이때, 검출기 이득 KD 는 다른 이벤트가 검출기 이득의 조정을 트리거할 때까지 KDmin 에서 유지된다. 일단 디지털 PLL이 동기되면, PFD (310) 로부터의 위상 에러는 작은 것으로 가정되고, 그 후, 작은 값은 검출기 이득을 위하여 이용될 수 있다.
도 5 는 주파수의 바이너리 튜닝을 위하여 제어 유닛 (350) 에 의해 수행되는 프로세스 500 의 흐름도를 도시한다. 먼저, 검출기 이득 KD 는 최대값인 KDmax 로 설정된다 (단계 510). 위상 에러가 PFD (310) 로부터 수신되고 (단계 512), 위상 에러 값이 결정된다 (단계 514). 이러한 프로세스는 위상 에러가 DEC 값이라면 단계 520 로 진행하고 위상 에러가 INC 값이라면 단계 530 으로 진행한다.
단계 520 은 단계 514 또는 단계 536 으로부터 도달될 수 있으며, 최종 위상 에러가 DEC 값인 상태에 대응한다. 단계 520 에서, 다음의 위상 에러는 PFD (310) 로부터 수신된다. 그 후, 이러한 위상 에러값이 결정된다 (단계 522). 위상 에러가 위상 에러 극성에서의 변화가 없음을 나타내는 DEC 값이라면, 프로세스는 단계 520 로 복귀한다. 그렇지 않고, 위상 에러가 위상 에러에서의 극성에 변화 및 어쩌면 피드백 신호의 위상의 오버 조정 (over adjustment) 을 나타내는 INC 값이라면, 검출기 이득 KD 는 감소한다 (단계 524). 그 후, 검출기 이득 KD 가 KDmin 의 최소값과 동일한지 여부에 대한 결정이 이루어진다 (단계 526). 응답이 '예' 이라면, 바이너리 주파수 튜닝은 완료되고 프로세스는 종료된다. 그렇지 않으면, 프로세스는 단계 530 으로 진행한다.
단계 530 은 단계 514 또는 단계 526 으로부터 도달될 수 있으며 최종 위상 에러가 INC 값인 상태에 대응한다. 단계 530 에서, 다음의 위상 에러는 PFD (310) 로부터 수신된다. 그 후, 이러한 위상 에러 값이 결정된다 (단계 532). 위상 에러가 위상 에러 극성에서의 변화가 없음을 나타내는 INC 값이라면, 프로세스는 단계 530 로 복귀한다. 그렇지 않고, 위상 에러가 위상 에러 극성에 변화 및 어쩌면 피드백 신호의 위상의 오버 조정을 나타내는 DEC 값이라면, 검출기 이득 KD 는 감소한다 (단계 534). 그 후, 검출기 이득 KD 가 KDmin 의 최소 값과 동일한지 여부에 대한 결정이 이루어진다 (단계 536). 응답이 '예' 이라면, 프로세스는 종료되며 그렇지 않으면 단계 520 으로 진행한다.
바이너리 튜닝 알고리즘의 구현을 간단하게 하기 위하여, 검출기 이득 KD 는 2 의 자승이 되도록 선택될 수도 있다. 검출기 이득 KD 는 위상 에러 극성의 변화가 검출될 때마다 2 의 팩터 만큼 (factor of two) 만큼 감소될 수도 있다. 그러나, 검출기 이득 KD 는 어떤 다른 양만큼 감소될 수도 있다. 만일 PFD 값이 B-bit 값이라면, 최대값 KDmax 는 (포지티브 및 네그티브의 PFD 값을 나타내는) 최상위 비트의 1/2 과 같도록 설정할 수도 있으며, 최소값 KDmin 은 최하위 비트와 같도록 설정할 수도 있다. 또한, 검출기 이득 KD 에 대해 다른 최대 및 최소값이 이용될 수도 있다.
적응성 PFD (210) 는 PFD 값을 전술한 바와 같이 기준 신호의 주파수 및 피드백 신호의 주파수에 의해 결정되는 레이트로 제공한다. 디지털 PLL 에 먼저파워 온되는 경우일 수도 있는 피드백 신호의 주파수가 매우 느린 경우에, 적응성 PFD (210) 는 PFD 값을 기준 신호의 주파수보다 느린 레이트로 제공한다. 이는 디지털 PLL 에 대해 보다 높은 주파수 분해능을 제공할 수 있다. 그러나, 빠른 획득은 보다 큰 검출기 이득 KD 의 이용을 통해서도 여전히 가능하다. 디지털 PLL 이 동기된 (locking) 경우, 적응성 PFD (210) 는 PFD 값을 기준 신호의 주파수와 근사한 레이트로 제공한다. 동기 상태에서, 위상 에러는 기준 신호의 각 기간에 대한 극성에서 이상적으로 토글링 (toggling) 하지만, 노이즈 및 다른 인공물로 인해 보통은 낮은 레이트로 토글링한다. 그러나, 지터 (jitter) 는 작은 검출기 이득 KD 의 이용을 통해 감소한다.
도 6 은 적응성 루프 필터 (220a) 의 실시형태를 도시하며, 이는 도 2 의 루프 필터 (220) 의 일 실시형태이다. 적응성 루프 필터 (220a) 는 루프 필터 (610) 및 이득 계산/대역폭 제어 유닛 (630) 을 포함한다. 루프 필터 (610) 는 PFD 값이 PFD 출력상에 수신될 때마다 LF 출력을 업데이트한다.
루프 필터 (610) 내에서, 적응성 PFD (210) 로부터의 PFD 출력 (이를 LF 입력이라고도 함) 은 누산기 (ACC) (612) 및 승산기 (multiplier) (620) 에 제공된다. 누산기 (612) 는 PFD 출력 내의 PFD 값과 누산기 (612) 로부터 현재 누산된 값을 합산하여 업데이트된 누산 값을 제공하는데, 이는 누산기 (612) 에 의해 저장된다. 승산기 (616) 는 현재 누산 값을 수신하고 루프 필터 이득 KI 로 스케일링 (scaling) 하여, 스케일링된 누산 값을 합산기 (618) 에 제공한다. 이와 유사하게, 승산기 (620) 는 PFD 값을 루프 필터 이득 KR 로 스케일링하여 스케일링된 PFD 값을 합산기 (618) 에 제공한다. KI 및 KR 를 각각 누산기 경로이득, 및 순방향 또는 직접 경로이득이라 한다. 합산기 (618) 는 스케일링된 누산 값을 스케일링된 PFD 값과 결합하여 LF 출력을 제공한다.
도 2 에 나타낸 바와 같이, 디지털 PLL (200) 의 폐루프 응답은 디지털 PLL 을 이루는 다양한 유닛에 의해 도입되는 지연에 의해 영향받는다. 특히, 디지털 PLL 의 루프 대역폭은 디지털 PLL 의 폐루프 내에서 모든 유닛에 대한 전체 지연에 의해 제한된다. 또한, 소정의 루프 대역폭에 대하여, 보다 큰 지연은 루프 불안정 가능성을 증가시킬 수도 있다. 따라서, 넓은 루프 대역폭 및 개선된 루프 안정성을 달성하기 위하여 디지털 PLL 내의 각 유닛의 지연을 최소화하는 것이 바람직하다.
몇가지 기술이 루프 필터 (220) 의 설계를 간단하게 하고 루프 필터의 지연을 감소시키는데 이용될 수도 있다. 첫째로, 루프 필터 이득 KI 및 KR 는 승산기 (616, 620) 가 멀티플렉서로 구현될 수 있도록 2 의 자승으로 선택될 수도 있다. 둘째로, 비동기 타이밍 메커니즘이 적응성 PFD (210) 으로부터 PFD 값을 래칭 (latching) 시키는데 이용된다. 비동기 타이밍 메커니즘에 대하여, 각 PFD 값은 적응성 PFD (210) 에 의해 제공되는 CLK출력 신호상의 대응하는 펄스로 래칭된다. 이러한 펄스는 PFD 값의 시작에 비해 상당히 지연되어 적절한 로직동작을 보장하지만, 통상 다음의 위상 비교 기간의 시작보다 매우 이르다. 종래의 동기 디지털 PLL 에 대하여, 루프 필터는 통상 다음의 위상 비교 기간에 대한 클럭 펄스로 업데이트한다. 세번째로, 누산기 (612) 및 합산기 (618) 는 캐리 룩-어헤드 가산기 (CLAs : carry look-ahead adders) 로 구현될 수도 있다. 보다 넓은 폐루프 대역폭 및 개선된 루프 안정성은 비동기 타이밍 메커니즘 및 CLA 의 이용으로부터 생성된 보다 작은 지연으로 획득될 수도 있다.
도 7 은 비동기 타이밍 메커니즘을 이용하고 CLA 로 구현되는 적응성 루프 필터 (220b) 의 실시형태를 도시한다. 적응성 루프 필터 (220b) 는 루프 필터 (220) 의 다른 실시형태이며, 루프 필터 (710) 및 이득계산/대역폭 제어유닛 (630) 을 포함한다.
루프 필터 (710) 내에서, 적응성 PFD (210) 로부터의 PFD 출력은 CLA (712) 및 승산기 (720) 에 제공된다. CLA (712) 는 PFD 출력의 PFD 값과 멀티-비트 래치 (714) 로부터의 출력을 합하여 그 결과를 다시 래치 (714) 에 제공한다. (또한, 레지스터가 래치 (714) 로 이용될 수도 있다.) 래치 (714) 는 적응성 PFD (210) 으로부터의 CLK출력 신호에 의해 활성화되는데, 이는 도 4 에 도시한 CLK 신호의 단순히 지연된 버전 (version) 이다. 따라서, 루프 필터 (710) 는 새로운 PFD 값이 적응성 PFD (210) 로부터 수신된 직후에 업데이트된다. 승산기 (716) 는 래치 (714) 로부터의 출력값을 수신하고 루프 필터 이득 KI 로 스케일링하여 스케일링된 누산 값을 CLA (718) 에 제공한다. 이와 유사하게, 승산기 (720) 는 PFD 값을 루프 필터 이득 KR 로 스케일링하여 스케일링된 PFD 값을 CLA (718) 에 제공한다. CLA (718) 는 스케일링된 누산 값과 스케일링된 PFD 값을 결합하여 LF 출력을 제공한다. CLA (712, 718) 는 당해 기술분야에 알려진 방식으로 구현될 수 있다. 캐리 룩-어헤드 가산기의 예시적인 구현은 Bellaoular 등에 의한 1995 년 Kluwer Academic Publishers 의 "Low-Power Digital VLSI Design," 에 설명되어 있다.
도 6 및 도 7 에서, 이득 계산/대역폭 제어 유닛 (630) 은 각각 누산기 및 순방향 경로용으로 루프 필터 이득 KI 및 KR 를 제공한다. 이러한 2 개의 이득은 디지털 PLL 폐루프 응답- 즉 루프 대역폭 및 댐핑 (damping) 팩터의 특성을 결정한다. 이득 KI 및 KR 은 (1) 원하는 루프 특성 (예컨대, 획득용의 넓은 루프 대역폭 및 트랙킹용의 좁은 루프 대역폭), (2) 기준 신호의 특성 (예컨대, 기준 신호가 깨끗한지 또는 노이즈가 있는지 여부), (3) 발진기 신호의 특성 등과 같은 다양한 팩터에 기초하여 설정될 수도 있다. 링 발진기를 갖는 PLL 에 있어서, 지터의 대부분은 통상적으로 링 발진기로부터의 노이즈에 기인한다. 넓은 루프 대역폭은 보통 발진기 노이즈에 기인하는 지터를 감소시킨다. 그러나, 루프 대역폭이 과도하게 넓다면, 기준 신호로 인한 지터가 우세해지기 시작할 수도 있다.
일 실시형태에서, 이득계산/대역폭 제어 유닛 (630) 은 지터를 감소시키기 위해 적응성 폐루프 대역폭 메커니즘을 구현한다. 디지털 PLL 이 고정된 경우, PFD (310) 는 연속적인 INC 또는 DEC 값들을 너무 많이 생성하지는 않는다. 지터는 연속적인 INC 또는 DEC 값의 넘버 (number) 를 카운팅함으로써 추정될 수 있다. (KI 및/또는 KR 이득값을 변화시킴으로써) 루프 대역폭 및/또는 댐핑은 조정되어, 지터가 감소한다.
도 8 은 지터를 감소시키기 위하여 디지털 PLL 의 폐루프 특성을 조정하는 프로세스 800 의 흐름도를 도시한다. 프로세스 800 은 도 6 및 도 7 의 이득계산/대역폭 제어 유닛 (630) 에 의하여 구현될 수도 있다. 프로세스 800 은 PFD (310) 으로부터 위상 에러를 분석하는 블록 (810) 과 위상 에러 분석의 결과에 기초하여 루프 대역폭 및/또는 댐핑을 조정하는 블록 (830) 을 포함한다.
위상 에러는 PFD (310) 로부터 수신되고 위상 에러 값이 INC 값인지 또는 DEC 값인지 여부가 결정된다 (단계 812). 그 후, 기준 신호와 피드백 신호 사이의 큰 위상 에러가 검출된다 (단계 814). 일 실시형태에서, 큰 위상 에러는 연속적인 INC 및 DEC 값의 넘버를 카운팅함으로써 검출된다. 이러한 실시형태에서, 카운터 Ncons 은 위상 에러 극성의 변화가 검출될 때마다 '0' 으로 재설정되며, 위상 에러 극성의 변화가 검출되지 않는다면, 1 만큼 증가된다. 그 후 큰 위상 에러가 검출되었는지 여부에 대한 결정이 이루어진다 (단계 816). 전술한 실시형태에 있어서, 카운터 Ncons 이 지정값 Nmax 와 동일하다면, 큰 위상 에러가 선언될 수도 있다. 값 Nmax 은 컴퓨터 분석 또는 디지털 PLL 폐루프 성능의 경험상의 측정에 기초하여 결정될 수도 있다. 일예로서, Nmax 은 4 로 설정될 수도 있다.
큰 위상 에러가 단계 816 에서 검출된다면 (예컨대, Ncons=Nmax 이라면), 루프 대역폭은 넓어질 수도 있고/있거나 댐핑은 디지털 PLL 으로 하여금 Nmax 연속적 INC 또는 DEC 값이 발생되게 하는 큰 위상 에러를 보다 신속하게 트랙킹하게끔 조정될 수도 있다. 첫째로 루프 필터 이득 (KI 및/또는 KR) 이 이러한 이득에 허용되는 최대값 (KImax 및 KRmax) 보다 작은지 여부에 대한 결정이 이루어진다. 그 응답이 '아니오' 라면, 루프 필터 이득에 대한 어떠한 조정도 이루어지지 않으며 프로세스는 단계 812 로 복귀한다. 그렇지 않다면, 누산기 경로 이득 KI 을 팩터 GIup 만큼 증가시키고/증가시키거나 순방향 경로이득 KR 를 팩터 GRup 만큼 증가시킴으로써, 루프 대역폭은 넓어질 수도 있고/있거나 댐핑은 조정될 수도 있다 (단계 834). 루프 필터 설계를 간단히 하기 위해, GIup 및 GRup 은 각각 2 의 자승일 수도 있다 (예를 들어, 2, 4, 등). 팩터 GIup 및 GRup 는 정적인 값일 수도 있다. 또한, 팩터 GIup 및 GRup 는 KI 및 KR 이득값, LF 출력 등에 의존할 수도 있다. ICO (240) 의 전류-주파수 (current-to-frequcncy) 전달 함수는 통상 ICO 의 전체 주파수 범위에 걸쳐 선형적이지 않으므로, 상이한 LF 출력값에 대하여 양호한 루프 성능을 제공하는 KI 및 KR 이득값이 결정되고 룩업 테이블에 저장될 수도 있다. 그 후, 이용될 특정의 KI 및 KR 이득값은 현재의 LF 출력값에 의존한다. 어떠한 경우이든, 이득 KI 및/또는 KR 이 증가된 이후, 프로세스는 단계 812 로 복귀한다. 단계 814 로 돌아가서, 연속적인 INC 및 DEC 값의 넘버가 단계 834 에서의 루프 필터 이득 조정 후에 새롭게 카운팅될 수 있도록, 카운터 Ncons 가 Nmax 에 이를때마다 '0' 으로 재설정될 수도 있다.
단계 816 으로 돌아가서, 큰 위상 에러가 검출되지 않는다면 (예컨대, Ncons ≠Nmax), 작은 평균 위상 에러가 검출된다 (단계 818). 일 실시형태에서, 이것은 지정된 시간 윈도우 내의 INC 및 DEC 값의 넘버를 카운팅함으로써 획득된다. 이러한 지정된 시간 윈도우는 Nwin 위상 비교 기간들을 (예컨대, Nwin =10) 스팬하고 (span), 현재의 위상 에러 값에 직전의 선행 위상 에러 값들 Nwin -1 을 더한 값을 포함하는 슬라이딩 윈도우일 수 있다. 작은 평균 위상 에러는 INC 값의 넘버가 DEC 값의 넘버와 동일한 경우에 검출된다.
작은 평균 위상 에러가 단계 820 에서 검출되지 않는다면, 프로세스는 단계 812 로 복귀한다. 그렇지 않다면, 루프 대역폭은 아주 적은 (nominal) 루프 대역폭을 향해 좁아질 수도 있는데, 이는 보다 적은 지터를 초래한다 (단계 836). 우선, 루프 필터 이득 (KI 및/또는 KR) 이 이러한 이득에 허용되는 최소값 (KImin 및 KRmin) 보다 큰지 여부에 대한 결정이 이루어진다 (단계 836). 응답이 '아니오' 라면, 루프 필터 이득에 어떠한 조정도 이루어지지 않고 프로세스는 단계 812 로 복귀한다. 그렇지 않다면, 루프 대역폭은 누산기 경로이득 KI 를 팩터 GIdn 만큼 감소시키고/감소시키거나 순방향 경로이득 KR 을 팩터 GRdn 만큼 감소시킴으로써 좁아질 수도 있다. GIdn 및 GRdn 는 각각 GIup 및 GRup 와 동일하거나 또는 다를 수도 있다. 예를 들어, GIup 및 GRup 가 보다 큰 값으로 설정되어, 큰 위상 에러가 검출될 때 루프 대역폭은 급격하게 넓어질 수도 있다. GIdn 및 GRdn 는 보다 작은 값으로 설정되어, 큰 위상 에러로 인해 넓어진 이후, 루프 대역폭은 아주 적은 루프 대역폭으로 다시 서서히 작아질 수도 있다. 루프 필터 이득이 감소된 이후, 프로세스는 단계 812 로 복귀한다.
이득 KI 및/또는 KR 의 과도한 조정을 방지하기 위하여 메커니즘이 단계 814 및/또는 818 에서 유지될 수도 있다. 예컨대, 이득 KI 및/또는 KR 의 각각의 조정 이후에, 위상 비교 기간들 중 일부 비교 기간들 동안 다른 이득 조정이 방지될 수도 있다.
도 9 는 iDAC (230) 의 실시형태를 도시하는데, 이는 루프 필터 (220) 로부터 LF 출력을 수신하고 ICO (240) 에 iDAC 출력을 제공한다. 이러한 실시형태에서, iDAC (230) 는 2 개의 섹션 (910, 930) 으로 분할된다. 섹션 910 은 iDAC 의 L 개의 최하위 비트 (LSB) 를 구현하고, 섹션 930 은 iDAC 의 M 개의 최상위 비트 (MSB) 를 구현하는데, 여기에서 L+M 은 LF 출력 및 iDAC 에 대한 비트 개수이다. D[L+M-1:0] 로 표기된 LF 출력은 섹션 910 에 대해 L-비트 제어 D[L-1:0] 및 섹션 930 에 대해 M-비트 제어 D[L+M-1:L] 로 분할된다.
디지털 PLL 이 동기된 경우, LF 출력의 약간의 LSB 들 만이 시간에 대한 작은 지터 변화를 트랙킹하도록 토글링되는 경향이 있으며, LF 출력의 나머지 MSB 는 고정되는 (fix) 경향이 있다. 전력 소비를 절감하기 위하여, iDAC 의 L 개의 LSB 는 조종 (steered) 전류 소스로 구현되며 iDAC 의 M 개의 MSB 는 단일-종단 (single-ended) 의 전류 소스로 구현된다. 조종 전류 소스는 스위칭 온되는 경우 그 전류를 iDAC 출력에 제공하고, 스위칭 오프되는 경우 회로 그라운드로 제공한다. 조종 전류 소스는 항상 그 전류를 iDAC 출력 또는 회로 그라운드에 제공하므로 낮은 스위칭 리플 (ripple) (따라서, 적은 지터) 을 제공할 수 있다. 단일-종단 전류 소스는 스위칭 온되는 경우 그 전류를 iDAC 출력에 제공하고, 스위칭 오프되는 경우 어떠한 전류도 소비하지 않는다. L 개의 LSB 에 대한 조종 전류 소스의 이용은 지터 성능의 개선을 제공하는 한편, 이는 LF 출력의 L 개의 LSB 이므로 소량의 전류를 소비한다. M 개의 MSB 에 대한 단일-종단 전류 소스는 전력 소비를 감소시킬 수 있는 한편, MSB 는 보다 적게 토글하는 경향이 있으므로 리플을 제한한다.
iDAC 선형성을 개선시키기 위하여, M 개의 MSB 는 바이너리 디코딩 대신에 "열 (thermal)" 디코딩으로 구현된다. M 비트의 바이너리 디코딩에 있어서, M 개의 전류 소스가 이용되고, 제 1 전류 소스는 I 의 전류를 제공하고, 제 2 전류 소스는 2I 의 전류를 제공하는 등, 최후 전류 소스는 2M-1·I 의 전류를 제공한다. 특히 M 이 커져감에 따라 작은 전류 소스 (예컨대, I 의 전류를 제공하는 하나의 소스) 에 대하여 큰 전류 소스 (예컨대, 2M-1·I 의 전류를 제공하는 하나의 소스) 를 정확하게 매칭시키는 것은 곤란하다. 전류 스케일링에 있어서 임의의 에러는 iDAC 출력에 있어서의 비선형에 대응한다.
M 비트의 열 디코딩에 있어서, 2M-1 의 전류 소스가 이용되며, 각각의 전류 소스는 전류 I 를 제공한다. 이러한 전류 소스는 모두 동일량의 전류를 제공하도록 설계되어 있으므로 보다 용이하게 매칭될 수 있다. 따라서, 보다 작은 매칭 에러에 직면되고 보다 큰 iDAC 선형성이 획득된다. 2M-1 과 동일 개수의 전류 소스가 M 개의 MSB 의 값에 기초하여 필요할 때 스위칭 온된다. 스위칭 온되는 전류 소스는 2M-1 개의 전류 소스 사이에서 분포되어 (예를 들어, 랜덤하게 선택됨), 임의의 그래디언트 (gradient) 선형성 에러를 감소시키는데, 이는 제조에 의해 유발되는 IC 다이 (die) 에 걸친 시스템 에러이다.
열 디코딩은 M 개의 MSB 에 대하여 구현되는데, M 개의 MSB 의 각 스텝은 상대적으로 큰 스텝이므로, iDAC 의 선형성에 보다 중요하다. 열 디코딩은 L 개의 LSB 에 대하여 구현되거나 구현되지 않을 수도 있는데, L 개의 LSB 의 각 스텝은 비교적 작은 스텝이므로 보다 덜 중요하다.
iDAC 출력은 주요 캐리 (carry) 사이 (예컨대, L=5 라면 31 과 32 사이) 에서 토글링할 수도 있다. 이러한 경우에, M 개의 MSB 가 열 디코딩으로 구현된다면 MSB 섹션의 단지 하나의 조종 전류 소스가 토글링할 것이다. 또한, 회로는 L 개의 LSB 가 주요 캐리 부근에 있는 상태를 검출하고 MSB 전류 소스의 토글링을 회피하기 위해 보조 전류 소스를 턴 온시킬 수 있다. 예컨대, L=5 이고 L 개의 LSB 가 25 내지 31 의 범위 내에서 검출된다면, 16 의 값은 iDAC 에 의해 수신된 디지털 값으로부터 감산되고, 16 의 가중치를 가지는 보조 조종 전류 소스가 턴 온될 수 있다. 더 낮은 종단에서, L 개의 LSBs 가 0 내지 6 의 범위 내에서 검출된다면, 16 의 값이 iDAC 에 의해 수신된 디지털 값에 더해질 수 있고, 16 의 가중치를 가지는 보조 N-MOS 전류 소스가 iDAC 출력으로부터 전류를 효과적으로 감산할 수 있도록 턴 온될 수 있다. 전술한 예시적인 범위 대신에 다른 범위가 이용될 수도 있다. 보조 전류 소스를 턴 온시키는 것은 MSB 토글링을 회피하기 위해 L 개의 LSB 의 값을 센터링 (centering) 하는 효과를 가진다.
도 9 에 도시한 실시형태에 있어서, LSB 섹션 (910) 은 바이너리 디코딩을 구현하고 MSB 섹션은 열 코딩을 구현한다. 섹션 (910) 은 912a 내지 912l 의 L 개의 전류 소스를 포함한다. 전류 소스 (912a) 는 전류 I 를 제공하고 전류 소스 912b (도 9 에 미도시) 는 2·I 의 전류를 제공하는 등, 전류 소스 (912l) 는 2L-1·I 의 전류를 제공한다. 각 전류 소스 (912) 는 전원에 결합된 일단과 스위치 (914, 916) 의 일단에 결합된 타단을 가진다. 스위치 (914) 의 타단은 회로 그라운드에 결합되고, 스위치 (916) 의 타단은 iDAC 출력에 결합된다. 조종전류 소스는 전류 소스 (912) 및 그 스위치 (914, 916) 로 이루어진다. 스위치 (914, 916) 는 D[i] 및 [i] 신호에 의해 제어되는데, 여기에서 i 는 섹션 (910) 의 i 번째 전류 소스를 나타낸다. 소정의 임의의 순간에 단지 하나의 스위치 (즉, 스위치 914 또는 916 중 하나) 만이 턴 온된다. 스위치 (914) 가 턴 온되면 전류 소스 (912) 의 전류는 회로 그라운드로 조종되고 스위치 (916) 가 턴 온되면 iDAC 출력으로 조종된다. 섹션 (910) 의 스위치들 (914, 916) 의 L 쌍들 각각은 섹션 (910) 에 대한 L-비트 제어 D[L-1:0] 의 각각의 비트에 의해 제어된다.
섹션 (930) 은 P 개의 전류 소스 (932a 내지 932p) 를 포함하는데, 여기서 P=2M-1 이다. 전류 소스 (932) 각각은 2L·I 의 전류를 제공하도록 설계된다. 각각의 전류 소스 (932) 는 전원에 결합된 일단과 연관 스위치 (934) 의 일단에 결합된 타단을 가진다. 스위치 (934) 의 타단은 iDAC 출력에 결합된다. 섹션 (930) 에 대한 M-비트 제어 D[L+M-1:L] 는 섹션 (930) 의 전류 소스 각각에 대한 Dj 및 신호를 획득하기 위하여 디코딩되는데, 여기에서 j 는 섹션 (930) 의 j 번째 전류 소스를 나타낸다. 전류 소스 및 그 연관 스위치로 이루어지는 각 셀마다 국부적인 디코딩이 수행된다.
섹션 (910) 의 전류 소스 (912a 내지 912l) 및 섹션 (930) 의 전류 소스 (934a 내지 934p) 는 캐스케이드 (cascade) P-채널 금속 산화물 반도체 (P-MOS) 전류 소스로 구현될 수도 있다. 캐스케이드 P-MOS 전류 소스는 iDAC 선형성을 향상시킬 수 있고, 저주파 공급 노이즈에 대한 양호한 내성을 제공한다.
도 10 은 ICO (240) 의 일 실시형태를 도시하는데, 이는 3-스테이지 (stage) 링 발진기이다. ICO (240) 는 3 개의 지연 스테이지 (1010a, 1010b, 및 1010c) 를 포함한다. 각각의 지연 스테이지 (1010) 는 입력 차동쌍 (1012), 바이어스 전류 소스 (1018), 및 회로 로드 (1014, 1016) 를 포함한다.
각 지연 스테이지 (1010) 에 있어서, 입력 차동쌍 (1012) 은 (1) 함께 결합하여 바이어스 전류 소스 (1018) 에 결합하는 소스, (2) 각 지연 스테이지에 대하여 차동 입력인 VI 및 를 형성하는 게이트, 및 (3) 회로 로드 (1014, 1016) 각각에 결합된 드레인을 가지는 N-채널 전계효과 트랜지스터 (N-FETs) 를 구비한다. 또한, N-FET (1012a, 1012b) 의 드레인은 각 지연 스테이지에 대하여 차동 출력 Vo 및 를 제공한다. 회로 로드 (1014) 는 (1)함께 결합하여 N-FET (1012b) 의 드레인에 결합하는 소스, 및 (2) 전원에 결합된 드레인을 가지는 P-채널 전계효과 트랜지스터 (P-FET) (1014a, 1014b) 를 구비한다. 이와 유사하게, 회로 로드 (1016) 는 (1)함께 결합하여 N-FET (1012b) 의 드레인에 결합하는 소스, 및 (2) 전력 공급기에 결합된 드레인을 가지는 P-FET (1016a, 1016b) 를 구비한다. P-FET (1014a, 1016a) 의 게이트는 P-FET (1014a, 1016a) 의 소스에 각각 결합된다. P-FETs (1014b, 1016b) 의 게이트는 함께 결합하고 Vbp 제어신호를 수신한다. 바이어스 전류 소스 (1018) 는 Vbn 제어신호를 수신하는 게이트, 회로 그라운드 결합된 소스, 및 N-FET (1012a, 1012b) 의 소스에 결합된 드레인을 구비한다. 또한 지연 스테이지 (1010) 는 Maneatis, J.G 에 의해 1996 년 11월 Solid-State Circuit IEEE 의 제 31 권 No.11 의 "Low-Jitter Process-Independent DLL and PLL Based on Self-Biased Techniques," 라는 제목의 논문에 설명되어 있다.
3 개의 지연 스테이지 (1010a, 1010b, 및 1010c) 는 도 10 에 도시한 바와 같이, 후속 지연 스테이지의 차동 입력에 결합되는 각 지연 스테이지의 차동 출력을 가지는 링 구성으로 결합된다. 레플리커 (replica) 바이어스 회로 (1030) 는 iDAC 출력을 수신하고 3 개의 모든 지연 스테이지에 대하여 Vbp 및 Vbn 제어신호를 제공한다. iDAC (230) 와 ICO (240) 사이에는 어떠한 필터링도 요구되지 않는다. 도 10 에 도시한 ICO 구성은 전력 공급상의 노이즈에 대한 양호한 내성 및 높은 선형성 범위를 제공할 수 있다.
다시 도 2 를 참조하면, 디바이더 (250) 는 카운터, 레지스터 등으로 구현될 수도 있다. 또한, 디바이더 (250) 는 당해 기술분야에 알려진 바와 같이 N 이 정수가 아니라면 스왈로우 (swallow) 카운터를 구현할 수도 있다.
도 11 은 디지털 PLL (200) 의 모델 (1100) 을 도시한다. 동기된 경우에, 디지털 PLL (200) 은 선형 이산-시간 시스템으로 동작한다. 모델 (1100) 에 있어서, PFD (210) 는 합산기 (1110) 에 의해 모델링되고, 루프 필터 (220) 는 F(z) 의 전달함수를 가지는 유닛 (1120) 에 의해 모델링되며, iDAC (230) 는 KiDAC 의 이득 소자 (1134) 를 가지는 0차 홀드 (ZOH) 필터 (1132) 에 의해 모델링되고, ICO (240) 는 G(z) 의 전달함수를 가지는 유닛 (1140) 에 의해 모델링되며, 디바이더 (250) 는 1/N 의 이득을 가지는 이득 소자 (1150) 에 의해 모델링된다. KiDAC 는 iDAC (230) 의 이득을 나타내고 N 은 주파수 분할율이다.
루프 필터 전달함수 F(z) 는
식(2) 와 같이 표현될 수도 있다. ICO 전달함수 G(z) 는
식(3) 과 같이 표현될 수도 있는데, 여기에서 KICO 는 ICO (240) 의 이득을 나타내고 (즉, 전류대 주파수 전달함수의 기울기이다). 디지털 PLL (200) 에 대한 폐루프 전달함수 H(z) 는
식(4) 와 같이 표현되는데, 여기에서 K=KiDAC·KICO 이다.
폐루프 전달함수 H(z) 는 다양한 값들의 루프 필터 이득 KI 및 KR 에 대하여 플롯될 수도 있다. 순방향 경로 이득 KR 은 루프 대역폭상에 작은 영향을 미치지만, 폐루프 응답의 댐핑 팩터의 제어에 이용될 수도 있으며, 따라서 디지털 PLL 의 동기 특성을 제어하는데 이용될 수도 있다. 누산기 경로 이득 KI 는 루프 대역폭 및 댐핑 팩터 모두에 영향을 미친다. 루프 대역폭은 누산기 경로이득 KI 의 강력한 함수이며, 보다 큰 KI 이득 값들과 함께 증가한다.
디지털 PLL (200) 은 낮은 영역, 낮은 전력, 및 낮은 지터이다. 낮은 영역은 큰 아날로그-기반 루프 필터을 제거함으로서 획득되는데, 이는 집적회로상에 구현되는 아날로그 PLL 의 전체영역의 50% 만큼을 점유한다. 낮은 전력은 전하 펌프를 위한 전류, 전류 생성기, 전압-전류 변환기, 등과 같은 보통 아날로그 PLL 와 연관되는 여분의 오버헤드를 제거함으로써 획득된다. 낮은 지터는 전술한 바와 같이 적응성 PFD 및 적응성 루프 필터로서 획득된다.
도 12 는 무선 통신 시스템에서의 무선 장치 (1200) 의 블록도를 나타낸다. 무선 통신 장치 (1200) 는 셀룰러 전화기, 단말기, 핸드셋, 또는 일부 다른 장치들 또는 설계들일 수도 있다. 무선 통신 시스템은 코드 분할 다중 접속 (CDMA) 시스템, 이동 통신 시스템용 글로벌 (GSM) 시스템, 다중-입력 다중-출력 (MIMO) 시스템, 직교 주파수 분할 멀티플렉싱 (OFDM) 시스템, 직교 주파수 분할 다중 접속 (OFDMA) 시스템 등일 수도 있다. 무선 장치 (1200) 는 수신 경로 및 송신 경로를 통해 양방향 통신을 제공할 수 있다.
수신 경로의 경우, 기지국에 의해 송신된 신호들은 안테나 (1212) 에 의해 수신되고, 듀플렉서 (D; 1214) 를 통해 라우팅되어, 수신기 유닛 (RCVR; 1216) 으로 제공된다. 수신기 유닛 (1216) 은 수신 신호를 조절하여 (예를 들어, 필터링하고, 증폭하며, 주파수 하향변환하여) 그 조정된 신호를 디지털화시켜 데이터 샘플을 제공하며, 그 데이터 샘플들은 추가적 프로세싱을 위해 디지털 신호 프로세서 (DSP; 1220) 로 제공된다. 송신 경로의 경우, 무선 디바이스 (1200) 으로부터 송신될 데이터는 DSP (1220) 에 의해 송신기 유닛 (TMTR; 1218) 으로 제공된다. 송신기 유닛 (1218) 은 그 데이터를 조절하여 (예를 들어, 필터링하고, 증폭시키며, 주파수 상향변환시켜) 변조 신호를 생성하며, 이 변조 신호는 듀플렉서 (1214) 를 통해 라우팅되어 안테나 (1212) 를 경유하여 기지국들로 송신된다.
DSP (1220) 는 예를 들어, 곱셈 누산 (MACC; Multiply-Accumulate) 유닛 (1222), 산술 논리 유닛 (ALU; 1224), 내부 제어기 (1226), 프로세서 (1228), 메모리 유닛 (1230), 및 버스 제어 유닛 (1232) 과 같은 여러가지의 프로세싱 유닛을 포함하며, 이들 모두는 버스 (1236) 을 통해 연결된다. 또한, DSP (1220) 는 디지털 PLL (200) 으로 구현될 수도 있는 디지털 PLL (1234) 을 포함한다. 디지털 PLL (1234) 은 (예를 들어, 온도 보상 크리스탈 발진기 (TCXO) 로부터) 기준 신호를 수신하고 DSP (1220) 내의 프로세싱 유닛들 및 가능하면 DSP (1220) 외부의 프로세싱 유닛들 (예를 들어, 메인 제어기 (1240) 및 메인 메모리 유닛 (1242)) 에 대한 클럭 신호들을 생성한다. DSP (1220) 는 송신 경로에 대해 인코딩, 인터리빙, 변조, (예를 들어, 왈쉬 코드를 사용한) 채널화, 스펙트럼 확산 등을 수행한다. DSP (1220) 는 수신 경로에 대해 역확산, 채널화, 복조, 디인터리빙, 디코딩 등을 수행할 수도 있다. DSP (1220) 에 의한 프로세싱은 통신 시스템에 의해 결정된다.
도 12 는, 본 명세서에서 설명된 디지털 PLL 이 구현될 수도 있는 무선 디바이스의 예시적인 설계를 나타낸다. 또한, 본 명세서에서 설명된 디지털 PLL 은 다른 전자 디바이스들에서도 구현될 수도 있다.
본 명세서에서 설명된 디지털 PLL 은 주문형 집적 회로 (ASIC), 디지털 신호 프로세서 (DSP), 디지털 신호 프로세싱 장치 (DSPD), 프로그래머블 로직 장치 (PLD), 필드 프로그래머블 게이트 어레이 (FPGA), 프로세서, 제어기, 마이크로-콘트롤러, 마이크로프로세서, 및 다른 전자 유닛들로 구현될 수도 있다. 디지털 PLL 은 하나 또는 복수의 집적회로 (IC) 다이 (dies) 내에서 그리고 하나 또는 복수의 IC 로 구현될 수도 있다. 예를 들어, 디지털 PLL 의 모든 유닛들은 하나의 IC 다이상에서 구현될 수도 있다. 또 다른 예로서, PFD, 루프 필터 및 디바이더는 하나의 IC 다이상에서 구현될 수도 있고, iDAC 및 ICO 는 또 다른 IC 다이들상에서 구현될 수도 있다.
또한, 본 명세서에서 설명된 디지털 PLL 은 CMOS, NMOS, BJT 등과 같은 다양한 IC 프로세스 기술들을 사용하여 제조될 수도 있다. CMOS 기술은 동일한 다이상에서 N-FET 및 P-FET 장치들을 제조할 수 있고 그 반면, NMOS 기술은 단지 N-FET 장치들만을 제조할 수 있다. 또한 본 명세서에서 설명된 디지털 PLL 은 사이한 장치 사이즈 기술 (예를 들어, 0.13mm, 30nm 등) 을 사용하여 제조될 수도 있다.
디지털 PLL 의 부분들 (예를 들어, 도 5 에서의 프로세스 500, 도 8 에서의 프로세스 800, 디지털 PLL 동작 제어 등) 은 소프트웨어로 구현될 수도 있다. 소프트웨어 구현의 경우, 본 명세서에서 설명된 기능들을 수행하는 모듈들 (예를 들어, 절차, 기능 등) 을 통해 프로세스 및 제어가 구현될 수도 있다. 소프트웨어 코드는 메모리 유닛 (예를 들어, 도 12 에서의 메모리 유닛 (1230 또는 1242)) 에 저장되어 프로세서 (예를 들어, 프로세서 (1228) 또는 제어기 (1240)) 에 의해 실행될 수도 있다. 메모리 유닛은 프로세서 내에서 또는 프로세서의 외부에서 구현될 수도 있고, 어느 경우에서나 그것은 당해 기술분야에서 공지된 다양한 수단들을 통해 프로세서로 통신가능하게 연결될 수 있다.
전술한 실시형태들에 대한 상세한 설명은 당업자가 본 발명의 이용 또는 제조가 가능하도록 제공된 것이다. 이들 실시형태들의 여러 변형도 가능하며, 본 명세서내에 규정된 일반 원리는 본 발명의 범위를 벗어나지 않고 또 다른 실시형태들에 적용할 수도 있다. 따라서, 본 발명은 상기 실시형태들로 제한되는 것은 아니며, 명세서내의 원리와 신규 특징들에 부합하는 폭넓은 의미로 해석해야 한다.