KR20030017527A - 프로그램가능한 주파수 분주기 및 이를 포함하는마이크로프세서 시스템 - Google Patents
프로그램가능한 주파수 분주기 및 이를 포함하는마이크로프세서 시스템 Download PDFInfo
- Publication number
- KR20030017527A KR20030017527A KR1020027016258A KR20027016258A KR20030017527A KR 20030017527 A KR20030017527 A KR 20030017527A KR 1020027016258 A KR1020027016258 A KR 1020027016258A KR 20027016258 A KR20027016258 A KR 20027016258A KR 20030017527 A KR20030017527 A KR 20030017527A
- Authority
- KR
- South Korea
- Prior art keywords
- output
- counter
- fractional
- logic
- accumulator
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/68—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using pulse rate multipliers or dividers pulse rate multipliers or dividers per se
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
- H03K23/64—Pulse counters comprising counting chains; Frequency dividers comprising counting chains with a base or radix other than a power of two
- H03K23/68—Pulse counters comprising counting chains; Frequency dividers comprising counting chains with a base or radix other than a power of two with a base which is a non-integer
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Manipulation Of Pulses (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
프로그램가능한 분수 주파수 분주기(a programmable fractional frequency divider)는 통상적인 정수 주파수 분주기보다 출력 주파수의 보다 정밀한 분해능을 생성한다. 본 발명의 프로그램가능한 분수 주파수 분주기는 정수 제수 뿐만 아니라 분수 성분의 프로그램가능성을 허용한다. 이 분수 주파수 분주기로부터 출력된 신호의 평균 주파수는 정수 제수 및 분수 성분에 의존하며, 이로써 출력 신호의 평균 주파수에 대한 보다 정밀한 분해능을 제공한다. 이러한 정수 주파수 분할 및 분수 주파수 분할의 조합은 특히 실질적으로 지터에 대해 내성이 있는 시스템을 위한 신호의 생성에 매우 적합하다.
Description
디지털 시스템은 통상적으로 주기적 신호를 제공하는 클록킹 신호 및 알려진 기간의 신호를 포함한다. 말하자면, 클록킹 신호는 다른 타이밍되는 동작이 의존하는 시간 기준을 제공한다. 동일한 시스템 내에서, 다중 시간 기준이 종종 요구된다. 가령, 마이크로프로세서 시스템에서, 마이크로프로세서는 통상적으로 중앙 처리 장치(CPU)의 속도, 메모리 액세스의 속도 및 타이밍, 다른 고속 이벤트를 조절하는 고속 클록을 필요로 한다. 추가적으로, 모뎀 또는 프린터와 같은 외부 디바이스와의 통신의 경우에, 마이크로프로세서는 비교적 저속 클록을 필요로 한다.
전 싸이클 주파수 분주기(whole-cycle frequency dividers)는 주파수 생성기에 비해 비교적 간단한 디바이스이기 때문에, 다중 시간 기준을 갖는 시스템은 통상적으로 고속 클록을 다운 분할(dividing-down)함으로써 다중 시간 기준을 제공한다. 도 1은 통상적인 주파수 분주기(100)를 포함하는 마이크로프로세서 시스템을 도시한다. 분주기(100)는 저속 클록 신호, 즉 "보 레이트 클록(Baud Rate Clock)"을 고속 클록 신호, 즉 "Xtal Osc Clock(수정 발진기 클록:crystal oscillator clock)"으로부터 제공하도록 프로그래밍가능하다. 고속 클록 신호는 바람직하게는 프로세싱 시스템 내의 최고속 클록 신호이며, 이 최고속 클록 신호는 일반적으로 코어 프로세서 또는 CPU(150)에 의해 사용되는 클록 신호와 동일한 클록 신호이다. 예시적인 분주기(100)는 재로딩가능한 카운트 다운 카운터(re-loadable count-down counter)(110), 재로딩 값을 카운터(110)에 제공하는 레지스터(120)를 포함한다. 동작 시에, 레지스터(120)는 이하에 기술될 바처럼 바람직한 저속 클록 주파수 대 고속 클록 주파수의 비율에 대응하는 값으로 로딩되며, 이후에 저속 클록이 코어 프로세서(150)가 달리 개입하지 않고 바람직한 주파수에서 자동적으로 생성된다.
카운트 다운 카운터는 고속 클록 신호에 의해 클록킹되며 자신이 제로에 도달할 때 마다 출력 신호를 생성한다. 출력 신호는 카운터(110)의 재로딩 입력에 접속되어, 카운터(110)로 하여금 고속 클록 신호의 다음 클록 싸이클에서 레지스터(120)의 내용으로 재로딩되게 한다. 이로써, 레지스터(120)가 N 값을 포함한다면, 제로 신호는 고속 클록의 각 N+1 번째 싸이클(N 값을 로딩함에 있어서 1 싸이클 + 카운트를 제로로 감소시킴에 있어서 N 싸이클)에서 어서트될 것이며, 이로써 적합한 N 값을 레지스터(120) 내부로 로딩함으로써 특정 분할에 대해 프로그램될 수 있는 "(N+1)로 분할하는" 주파수 분주기를 제공한다. 도 1에는 12 비트 레지스터(120) 및 12 비트 카운터(110)가 도시되어 있는데, 이로써 주파수 분주기(110)는 2 내지 8192 범위 내에 있는 임의의 정수배로 고속 클록을 분할할 수 있다.
고속 클록이 대략적으로 저속 클록의 정수배가 아니다면, 주파수 분주기(100)는 정확한 저속 클록 주파수를 제공할 수 없다. 저속 클록 주파수 대 고속 클록 주파수 비율이 높으면 높을 수록 사용가능한 분해능(resolution)이 보다 정밀해진다. 가령, 100MHz의 고속 클록 주파수 및 18KHz의 바람직한 저속 클록 주파수를 고려해보자. 5555의 비율은 18,001.8 Hz의 저속 클록을 제공하며, 5556의 비율은 17,998.5 Hz의 저속 클록을 제공한다. 이러한 실례에서는, 5556이 선택될 것이며, 저속 클록 주파수는 바람직한 18KHz의 1.5 Hz 오차 내에 존재할 것이다(0.01% 오차보다 작음). 그러나, 100KHz의 고속 클록 주파수 및 동일한 18KHz의 바람직한 저속 클록 주파수를 고려해보자. 5의 비율은 20,000.0Hz의 저속 클록을 제공하며, 6의 비율은 16,666.7Hz의 저속 클록을 제공한다. 이 실례에서는, 최적 선택 비율(6의 비율)이 1,333 Hz 이상의 오차(7% 이상의 오차)를 생성할 것이며, 이는 허용가능하지 않는 오차가 될 것이다. 일반적으로, 허용가능한 주파수 정확도에 대해 말하자면, 50:1의 최소 비율이 개별 고속 클록 주파수 및 저속 클록 주파수를 지원하기 위해 필요하다. 고속 클록 주파수는 통상적으로 코어 프로세서(150) 또는 마이크로프로세서 시스템 내의 다른 구성 요소의 설계자에 의해 선택되며, 저속 클록 주파수는 통상적으로 기준 통신 표준을 기초로 하여 또는마이크로프로세서로의 외부 디바이스의 특성을 기초로 하여 결정된다. 위에서 말한 바와 같이, 고속 클록 주파수 및 저속 클록 주파수는 일반적으로 서로 독립적이어서, 고속 클록 및 저속 클록 간의 정수배 관계는 가정될 수 없다. 임의의 저속 클록 주파수의 프그래밍을 가능하게 하기 위해, 고속 클록 주파수 및 저속 클록 주파수 간의 50:1의 비율이 최저 요구 수준으로 일반적으로 간주된다.
프로그램가능한 주파수 분주기의 범용 애플리케이션에 대해서 50:1의 최저 비율은 통상적인 마이크로프로세서 설계 시에 중요한 제한 사항은 아니었는데, 그 이유는 마스터 CPU 클록은 통상적으로 직렬 통신에 대해서 또는 다른 유도된 클록의 애플리케이션에 대해서 필요한 클록보다 실질적으로 빠르기 때문이다. 그러나, 저전력 프로세서(낮은 프로세서 클록 속도) 및 고속 통신(높은 인터페이싱 클록 속도)에 대한 필요가 점점 증가함에 따라, CPU 클록 속도와 유도된 클록 속도 간의 차가 점점 좁아지고 있다.
발명의 개요
본 발명의 목적은 저속 클록 주파수 및 주파수 분주기로의 입력을 제공하는 클록 주파수 간에 최저 차를 갖는 정확한 저속 클록 주파수들을 제공할 수 있는 주파수 분주기를 제공하는 것이다. 본 발명의 다른 목적은 통상적인 주파수 분주기보다 높은 클록 주파수 및 낮은 클록 주파수 간의 차에 실질적으로 덜 의존하는 분해능을 갖는 프로그램가능한 주파수 분주기를 제공하는 것이다.
이들 목적 및 다른 목적은 통상적인 주파수 분주기보다 정밀한 출력 주파수분해능을 구현할 수 있는 프로그램가능한 분수 주파수 분주기(a programmable fractional frequency divider)를 제공함으로써 성취될 수 있다. 본 발명의 프로그램가능한 분수 주파수 분주기는 정수 제수(an integer divisor) 뿐만 아니라 분수 성분(fraction component)에 대해서도 프로그램가능하다. 이 분수 주파수로부터 출력된 신호의 평균 주파수는 정수 제수 및 분수 성분 모두에 의존하며, 이로써 출력 신호의 평균 주파수에 대한 보다 정밀한 분해능을 제공하게 된다. 이러한 정수 주파수 분할 및 분수 주파수 분할의 조합은 실질적으로 지터(jitter)에 대해 내성을 갖는 시스템을 위한 신호의 생성에 있어서 특히 적합하다.
본 발명은 첨부 도면을 참조하여 예시적으로 보다 상세하게 설명될 것이다.
도면 전체에서, 동일한 참조 부호는 동일한 특징부 또는 기능부를 나타낸다.
본 발명은 전자 회로 분야에 관한 것이며, 특히 가령 직렬 통신에서 사용되는 저속 보 레이트(lower-speed baud rates)를 마이크로프로세서 클록과 같은 고속 발진기로부터 생성하는 회로에 관한 것이다.
도 1은 통상적인 프로그램가능한 주파수 분주기를 갖는 예시적인 마이크로프로세서 시스템의 도면,
도 2는 본 발명에 따른 예시적인 프로그램가능한 분수 주파수 분주기를 갖는 마이크로프로세서 시스템의 도면,
도 3은 본 발명에 따른 분수 주파수 분주기의 출력 주기를 조절하는 예시적인 로직 구조의 도면,
도 4는 본 발명에 따른 다른 예시적인 프로그램가능한 분수 주파수 분주기의 도면,
도 5는 본 발명에 따른 분수 주파수 분주기의 출력 주기를 조절하는 다른 예시적인 로직 구조의 도면.
본 발명은 통상적인 마이크로제어기 및 마이크로프로세서 상의 다수의 유도된 클록 시스템 및 특히 유도된 직렬 포트 클록 시스템이 지터에 대해 내성을 갖는 애플리케이션에서 사용되기 위해 설계된다는 사실을 기초로 하고 있다. 상술한 바처럼, URAT(Universal Asynchronous Receiver-Transmitter) 시스템과 같은 통상적인 비동기 직렬 통신 시스템은 실질적인 중간 주파수 변화 또는 변형을 도입할 수 있는 노이즈 통신 경로를 허용하도록 설계된다. 가령, 통신 경로의 감쇠는 전송된 신호의 전이 에지를 "라운드 오프(round off)"하여, 전송된 신호들 중 어느 하나 이상의 신호의 각 에지의 검출을 지연되게 한다. 수신 시스템에서, 상기 라운드 오프 에지가 입력 신호의 각 상태 전이를 식별하는 수신기 내의 임계치 검출기를 트리거하거나 트리거하지 못할 때, 이와 같이 에지를 라운딩하는 것은 축소되거나 연장된 펄스를 생성할 수 있다. 이렇게 영향을 받은 각각의 전이는 수신기에 의해 해석되는 바와 같은, 수신된 신호의 주기 또는 펄스 폭에서의 효과적인 변화에 대응한다. 임의의 시간 지점에서의 감쇠의 정도에 따라, 수신된 신호의 상이한 펄스는 상이한 수신 펄스 폭을 보이며, 통상적인 수신 시스템은 이들 변하는 펄스 폭을 수용하도록 설계된다. 한편, 비동기식 통신 시스템은 정의상 송신기 및 수신기에 대해서는 공통적인 기준 클록을 가지지 않기 때문에, 상기 시스템은 실질적으로 동일한 펄스 주파수를 갖는 송신기 및 수신기에 의존한다. 말하자면, 통상적인 비동기 통신 시스템은 공통적인 펄스 레이트를 가정하지만, 실질적으로 변하는 펄스 기간을 허용한다. 이와 다른 측면에서, 통상적인 비동기 통신 시스템은 공통 평균 주파수를 가정하지만, 이 공통 평균 주파수 근방에서의 실질적인 지터를 허용한다. 본 발명은 정확한 평균 주파수를 요하지만 이 평균 주파수 근방의 지터를 허용하는 시스템에서 특히 적합하다.
도 2는 본 발명에 따른 예시적인 프로그램가능한 분수 주파수 분주기(200)를 구비한 마이크로프세서 시스템을 도시한다. 프로그램가능한 분수 주파수 분주기(200)는 도 1의 종래 기술 분주기(100)의 카운터(110) 및 레지스터(120)를 포함할 뿐만 아니라 가산기(240)로 입력되는 캐리 신호(carry signal)의 상태에 따라 카운터(110) 내부로 로딩되는 값을 선택적으로 변화시키는 가산기(240)를 포함한다. 캐리 입력 신호가 어서트되면, 카운트 다운 카운터(110)에 제공되는 값은 현재 레지스터(120) 내에 존재하는 값보다 큰 값이다. 말하자면, 레지스터(120) 내의 값이 N이면, 카운터(110)로부터 출력된 보 레이트 클록 신호는 가산기(240)로 입력된 캐리 신호가 제로가 되는 때인 (도 1를 참조하여 상술된 바와 같은) Xtal Osc 클록 입력 신호의 N+1 싸이클 후에 발생할 것이며, 가산기(240)로 입력된 캐리 신호가 1일 때인 Xtal Osc 클록 신호의 N+2 싸이클 후에 발생할 것이다. 이러한 방식으로, 카운터(110)로부터 출력된 신호는 입력 클록 신호을 "N+1로 분할한 신호" 또는 "N+2로 분할한 신호" 중 하나이다.
가령, 출력 보 레이트 클록이 어서트되는 싸이클을 한번 걸러서가산기(240)로 입력된 캐리 신호가 어서트된다고 가정해보자. 캐리 입력 신호가 제로가 될 때, 클록 입력은 N+1로 분할되며, 캐리 입력 신호가 1이 될 때, 클록은 N+2로 분할된다. 이는 N+1+0.5의 배로 클록 입력 신호를 평균 분할하는 것에 대응한다. 캐리 입력 신호가 출력 신호의 매 4 번째 싸이클 마다 어서트된다면, 평균 분할은 N+1+0.25의 배로 분할하는 것에 대응하며, 이러한 법칙이 계속 적용된다. 캐리 입력 신호를 어서트하는 것은 캐리 입력 신호가 어서트되지 않을 경우의 펄스 기간에 비해 펄스 기간을 연장한다. 평균 펄스 주파수에 비해, 캐리 입력 신호를 어서트하는 것은 보다 느린 중간 펄스 주파수를 도입하며, 캐리 입력 신호를 어서트하지 않는 것은 보다 빠른 중간 펄스 주파수를 도입한다. 말하자면, 캐리 입력 신호는 평균 펄스 주파수 근방에서의 포지티브 또는 네거티브 지터를 도입한다.
레지스터(120,220) 및 카운터(110,210)의 크기(정수 분할의 경우에는 12 비트이며 분수 분할의 경우에는 4 비트임)는 통상적인 크기로 도시되었지만, 본 발명의 원리는 레지스터 및 카운터의 특정 크기와는 상관없이 적용될 수 있음을 본 기술의 당업자는 알 것이다.
입력 클록 주파수의 정수 분할과는 다른 평균 출력 주파수를 제공하는 캐리 입력 신호를 어서트하는 시기를 결정하기 위해 임의의 다양한 기술들이 사용될 수 있다. 카운터(210), 분할 레지스터(fraction register)(220), 가산기(240)로 입력된 캐리 신호가 어서트되는 여부를 결정하는 "+1" 로직 블록(230)이 도 2에 도시된다. 이 실시예에서, 레지스터(220)는 0 내지 15 범위 내에 존재하는 값 F를 포함하는 4 비트 레지스터이며, +1 로직 블록(230)은 출력 보 레이트 클록의 매 F/16 번째 싸이클마다 캐리 입력 신호를 어서트한다. 이러한 방식으로, 분주기(200)의 평균 출력 주파수로 성취될 수 있는 분해능은 도 1의 종래 기술 분주기에 의해 성취될 수 있는 분해능 보다 1/16 만큼 정밀하다. 이로써, 높은 클록 주파수 대 낮은 클록 주파수의 최저 비율이 프로그램가능한 분주기(100)의 범용 애플리케이션에 대해서는 50:1이다면, 본 발명에 따른 프로그램가능한 분주기(200)는 평균 출력 주파수에서 동일한 분해능을 성취하기 위해 단지 3:1(50/16:1) 비율을 요한다.
도 2의 실시예에서, 고주파수 클록은 100KHz이며, 저주파수 클록은 18KHz이며, 레지스터는 4 비트의 값으로 로딩되며, 분할 레지스터(220)는 9 비트의 값으로 로딩되며, 이로써 4+1+9/16로 분할하는 효과적인 분할을 제공하여, 17,977.5Hz(100KHz/5.5625)가 평균 출력 주파수가 되고, 이는 1333Hz(7.4%)의 오차에 비해, 바람직한 저주파수 클록 출력 주파수의 23Hz(0.13%) 오차 내에 존재한다. 동작시에, 카운터(110)는 16 개의 출력 싸이클 중 9 개의 출력 싸이클에 대해서는 입력 싸이클의 매 6 번째 싸이클 마다 출력을 제공하며, 16 개의 출력 싸이클 중 남아 있는 7 개의 출력 싸이클에 대해서는 입력 싸이클의 매 5 번째 싸이클 마다 출력을 제공한다. 바람직하게는, +1 로직 블록(230)은 6 싸이클 주기 및 5 싸이클 주기가 각 16 출력 싸이클 내에서 가능한한 균일하게 발생하여, 주파수(100KHz/5)의 긴 주기가 주파수(100KHz/6)의 긴 주기를 후행하는 것을 방지하도록 구성된다.
도 3은 가능한한 상이한 주파수 주기를 균일하게 분포시키기 위해 본 발명에따른 분수 주파수 분주기(200)의 출력 주기를 조절하는 예시적인 로직 구조를 도시한다. F3-F0은 분할 레지스터(220)의 내용을 나타내며, C3-C0은 카운터(210)의 내용을 최상위 비트에서 최하위 비트로 나타낸다. 접미사 "b" ("bar")는 표시된 신호의 보(complement) 신호를 나타낸다.
16 개의 출력 싸이클 중 8 개의 출력 싸이클은 N+1로 분할되며 나머지 8 개의 출력 싸이클은 N+2로 분할되며, 평균 분할 비율은 N+1.5임을 나타내는 "1000"(F3=1,F2-F0=0)의 분할값을 고려해보자. 게이트(310)는 F3(로직-1)와 카운터(210)의 최하위 비트(매 두번째 싸이클에서의 로직-1)의 AND 게이트이다. 다른 AND 게이트(320,330,340) 각각은 로직-0 출력을 갖는데, 그 이유는 F2-F0이 로직-0이기 때문이다. 그러므로, 게이트(350)의 "+1 출력"은 카운터(210)의 매 두번째 싸이클에서의 로직-1을 어서트하며, 이로써 "N+1로의 분할"의 싸이클 시리즈와 이를 따르는 "N+2로의 분할"의 싸이클 시리즈보다는, "N+1로의 분할" 과 "N+2로의 분할"이 교번하는 싸이클 시리즈를 제공한다. 이러한 방식으로, 비트 F2가 로직-1로 세팅되면, 게이트(350)의 "+1 출력"은 카운터(210)의 하위 비트(C1-C0)가 "10"이 될 때마다 게이트(320)를 통해 어서트되며, 이로써 카운터(210)의 16 개의 카운트 중 매 4 번째의 카운트 마다 로직-1을 제공한다. 비트 F2 및 F3가 설정되고, F1 및 F2가 클리어되면(즉,1100), 16 개의 싸이클 중 총 12(4+8) 개의 싸이클에 대해 매 2 번째, 매 4 번째 싸이클 마다 "N+1로의 분할"이 발생한다. 이러한 방식으로, 게이트(330,340)는 각기 매 8 번째 싸이클 및 매 16 번째 싸이클 마다 "+1 출력"의 어서트를 가능하게 한다.
출력 펄스 간의 보다 긴 기간의 주기를 선택적으로 유발하는 다른 로직 구조는 이러한 개시 내용으로부터 본 기술의 당업자에게 자명해질 것이다.
도 4는 본 발명에 따른 다른 예시적인 프로그램가능한 분수 주파수 분주기(400)를 도시한다. 이 실시예는 도 2의 가산기(240)의 기능을 대신하는 로직 게이트(410,420,430)를 포함한다. 출력 펄스 간의 보다 긴 기간의 주기가 바람직한 평균 출력 주파수를 성취하기 위해 필요할 때마다 동일한 "+1 로직" 블록(230)은 출력 신호를 어서트한다. 그러나, 이 실시예에서는, "+1 출력"이 어서트될 때, 로직-1이 AND 게이트(410)를 통해 지연 플립 플롭(420)의 입력에 제공된다. 상기 어서트된 "+1 출력"에 대응하는 지연 플립 플롭(420)의 출력은 한 싸이클 후에 OR 게이트(430)에 제공된다. 이는 카운터(110)가 연속적으로 두 번, 즉 출력 보 레이트 클록이 어서트될 때 한 번, 그 이후에 상기 플립 플롭(420)으로부터의 지연된 출력이 어서트될 때 한 번, 재로딩되게 한다. 이러한 각 재로딩은 한 클록 싸이클을 소비하기 때문에, 연속적인 재로딩은 카운터(110)의 다운 카운트 싸이클에 추가 클록 싸이클을 더하며, 이로써 출력 펄스 간의 선택적인 보다 긴 기간의 주기를 제공한다.
도 5는 본 발명에 따른 분수 주파수 분주기의 출력 주기를 조절하는 다른 예시적인 로직 구조(500)를 도시한다. 싸이클 피드백을 구비한 누산기(530)가 도 2의 카운터(210) 및 "+1 로직" 블록(230)을 대신한다. 이 실시예에서, 분할 레지스터(220)의 값은 출력 보 레이트 클록의 각 싸이클에서 반복적으로 누산된다. 누산기(530)가 오버플로우하여 캐리 출력을 생성할 때마다, 출력 펄스 간의 보다 긴기간의 주기가 제공되며, 이는 상술된 "+1 출력" 신호의 기능에 대응한다. 누산기(530)는 분할 레지스터(220)의 폭과 동일한 폭을 가지며, 이로써 레지스터(220)의 최대 값을 모두가 초과하는 누산 결과를 갖는 오버플로우가 발생한다. 가령, 분할 레지스터(220)가 "1000"의 값을 포함하면, 오버플로우는 반 싸이클 마다 발생할 것이다. 한편, 분할 레지스터(220)가 "0001" 값을 포함하면, 오버플로우는 오직 매 16번째 싸이클마다 발생하며, 분할 레지스터(220)가 "1010" 값을 포함하면, 오버플로우는 16 개의 싸이클 중 매 10 번째 싸이클에서 발생할 것이다. 레지스터(220)로부터의 "1010" 값의 입력을 갖는 누산기(530)의 출력을 표시하기 위해 통상적인 "(C) SUM"을 이용하면, 출력 시퀀스는 {(0)1010,(1)0100,(0)1110,(1)1000,(1)0010,(0)1100,(1)0110,(1)0000,(0)1010,(1)0100,(0)1110,(1)1000,(1)0010,(0)1100,(1)0110,(1)0000}가 될 것이며, 이는 10 개의 캐리 (1)을 어서트하는 것과, 6 개의 캐리 (0)을 어서트하는 것이며, 이러한 캐리 (1) 및 (0) 어서트는 매우 균일하게 분포되어 있다.
상술한 내용은 본 발명의 원리를 단지 설명할 뿐이다. 본 명세서에서는 분명하게 기술되거나 도시되지 않았지만, 본 발명을 구현하며 다음의 청구 범위 내에 존재하는 다양한 장치를 고안하는 것은 본 기술의 당업자에게 가능하다.
Claims (14)
- 프로그램가능한 주파수 분주기(200,400)에 있어서,제 1 주파수의 입력 클록 신호를 수신하여 선택된 수의 입력 클록 신호 싸이클 후에 출력 펄스를 생성하는 제 1 카운터(110)와,정수 제수(an integer divisor)를 포함하는 제 1 레지스터(120)와,분수 성분(a fraction component)을 포함하는 제 2 레지스터(220)와,상기 정수 제수 및 상기 분수 성분을 기초로 하여, 상기 선택된 수를 상기 제 1 카운터(110)에 제공하는 제어 디바이스(210-240,410-430)를 포함하는프로그램가능한 주파수 분주기.
- 제 1 항에 있어서,상기 제어 디바이스(210-240,410-430)는캐리 입력 신호(a carry-input signal)를 기초로 하여 상기 선택된 수를 제공하도록 상기 정수 제수를 선택적으로 증분하는 가산기(240)와,상기 분수 성분 및 이전의 출력 펄스들의 시퀀스를 기초로 하여, 상기 캐리 입력 신호를 제공하는 로직 디바이스(210-230)를 포함하는프로그램가능한 주파수 분주기.
- 제 2 항에 있어서,상기 로직 디바이스(210-230)는상기 출력 펄스들의 카운트를 관리하는 제 2 카운터(210)와,상기 분수 성분을 기초로 하여, 선택된 카운트의 출력 펄스들에서의 상기 캐리 입력 신호를 제공하는 로직 게이트(230)를 포함하는프로그램가능한 주파수 분주기.
- 제 2 항에 있어서,상기 로직 디바이스(210-230)는 각각의 이전의 출력 펄스들과 관계된 분수 성분들의 합산치를 누산하는 누산기(530)를 포함하되,상기 누산기(530)는 상기 상기 합산치가 상기 누산기(530)의 로직 크기를 초과할 때 마다 상기 캐리 입력 신호를 생성하는프로그램가능한 주파수 분주기.
- 제 1 항에 있어서,상기 제어 디바이스(210-240,410-430)는상기 분수 성분을 기초로 하여, 상기 제 1 카운터로 하여금 상기 입력 클록신호 싸이클들의 싸이클을 선택적으로 반복하게 하여, 상기 제 1 카운터에 대해 상기 선택된 수를 선택적으로 증분시키는 지연 디바이스(420)를 포함하는프로그램가능한 주파수 분주기.
- 제 5 항에 있어서,상기 로직 디바이스(210-230)는상기 출력 펄스들의 카운트를 관리하는 제 2 카운터(210)와,상기 분수 성분을 기초로 하여, 선택된 카운트의 출력 펄스에서의 상기 지연 디바이스(420)로의 선택 입력 값을 어서트하는 로직 게이트(230)를 포함하는프로그램가능한 주파수 분주기.
- 제 5 항에 있어서,상기 로직 디바이스(210-230)는 각각이 이전의 출력 펄스들과 관계된 분수 성분의 합산치를 누산하는 누산기(530)를 포함하되,상기 누산기(530)는 상기 합산치가 상기 누산기(530)의 로직 크기를 초과할 때 마다 상기 지연 디바이스(420)로의 선택 입력 값을 어서트하는프로그램가능한 주파수 분주기.
- 마이크로프로세서 시스템(200)에 있어서,제 1 주파수의 입력 클록 신호를 수신하는 프로세서(150)와,제 2 주파수의 출력 클록 신호를 제공하는 프로그램가능한 주파수 분주기(200,400)를 포함하되,상기 프르그램가능한 주파수 분주기(200,400)는상기 제 1 주파수의 입력 클록 신호를 수신하여 선택된 수의 입력 클록 신호 싸이클 후에 상기 출력 클록 신호의 전이를 생성하는 제 1 카운터(110)와,정수 제수(an integer divisor)를 포함하는 제 1 레지스터(120)와,분수 성분(a fraction component)을 포함하는 제 2 레지스터(220)와,상기 정수 제수 및 상기 분수 성분을 기초로 하여, 상기 선택된 수를 상기 제 1 카운터(110)에 제공하는 제어 디바이스(210-240,410-430)를 포함하는마이크로프로세서 시스템.
- 제 8 항에 있어서,상기 제어 디바이스(210-240,410-430)는캐리 입력 신호(a carry-input signal)를 기초로 하여 상기 선택된 수를 제공하도록 상기 정수 제수를 선택적으로 증분하는 가산기(240)와,상기 분수 성분 및 이전의 출력 전이들의 시퀀스를 기초로 하여, 상기 캐리입력 신호를 제공하는 로직 디바이스(210-230)를 포함하는마이크로프로세서 시스템.
- 제 9 항에 있어서,상기 로직 디바이스(210-230)는상기 이전의 출력 전이들의 카운트를 관리하는 제 2 카운터(210)와,상기 분수 성분을 기초로 하여, 선택된 카운트의 상기 출력 전이들에서의 상기 캐리 입력 신호를 제공하는 로직 게이트(230)를 포함하는마이크로프로세서 시스템.
- 제 9 항에 있어서,상기 로직 디바이스(210-230)는 상기 이전의 출력 전이들에 대응하는 분수 성분의 합산치를 누산하는 누산기(530)를 포함하되,상기 누산기(530)는 상기 상기 합산치가 상기 누산기(530)의 로직 크기를 초과할 때 마다 상기 캐리 입력 신호를 생성하는마이크로프로세서 시스템.
- 제 8 항에 있어서,상기 제어 디바이스(210-240,410-430)는상기 분수 성분을 기초로 하여, 상기 제 1 카운터로 하여금 상기 입력 클록 신호 싸이클들의 싸이클을 선택적으로 반복하게 하여, 상기 제 1 카운터에 대해 상기 선택된 수를 선택적으로 증분시키는 지연 디바이스(420)를 포함하는마이크로프로세서 시스템.
- 제 12 항에 있어서,상기 로직 디바이스(210-230)는상기 이전 출력 전이들의 카운트를 관리하는 제 2 카운터(210)와,상기 분수 성분을 기초로 하여, 선택된 카운트의 출력 전이에서의 상기 지연 디바이스(420)로의 선택 입력 값을 어서트하는 로직 게이트(230)를 포함하는마이크로프로세서 시스템.
- 제 12 항에 있어서,상기 로직 디바이스(210-230)는 상기 이전의 출력 전이들에 대응하는 분수 성분의 합산치를 누산하는 누산기(530)를 포함하되,상기 누산기(530)는 상기 합산치가 상기 누산기(530)의 로직 크기를 초과할 때 마다 상기 지연 디바이스(420)로의 선택 입력 값을 어서트하는마이크로프로세서 시스템.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28041001P | 2001-03-30 | 2001-03-30 | |
US60/280,410 | 2001-03-30 | ||
US09/881,003 | 2001-06-14 | ||
US09/881,003 US6392455B1 (en) | 2001-03-30 | 2001-06-14 | Baud rate generator with fractional divider |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030017527A true KR20030017527A (ko) | 2003-03-03 |
Family
ID=26960287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020027016258A KR20030017527A (ko) | 2001-03-30 | 2002-03-25 | 프로그램가능한 주파수 분주기 및 이를 포함하는마이크로프세서 시스템 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6392455B1 (ko) |
JP (1) | JP2004519958A (ko) |
KR (1) | KR20030017527A (ko) |
CN (1) | CN1460328A (ko) |
WO (1) | WO2002080369A2 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI254882B (en) | 2003-11-07 | 2006-05-11 | Via Tech Inc | Rate multiplication method and rate multiplier |
CN100371885C (zh) * | 2003-11-17 | 2008-02-27 | 威盛电子股份有限公司 | 比率乘法的方法及比率乘法器 |
TWI245178B (en) * | 2004-01-16 | 2005-12-11 | Realtek Semiconductor Corp | Clock generation method and apparatus |
JP4251640B2 (ja) * | 2004-12-17 | 2009-04-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | クロック生成回路及びその方法 |
JP5272627B2 (ja) * | 2008-09-30 | 2013-08-28 | パナソニック株式会社 | 半導体集積回路、通信装置 |
CN104158538B (zh) * | 2014-08-22 | 2017-04-05 | 深圳芯邦科技股份有限公司 | 波特率生成方法、波特率发生器及通信设备 |
CN104363015A (zh) * | 2014-10-08 | 2015-02-18 | 四川和芯微电子股份有限公司 | 小数分频器电路 |
CN105653238B (zh) * | 2015-12-08 | 2018-10-02 | 沈阳东软医疗系统有限公司 | 一种计时方法及装置 |
CN110618729A (zh) * | 2018-06-19 | 2019-12-27 | 迈普通信技术股份有限公司 | 波特率发生器、通信设备及波特率时钟信号的生成方法 |
TWI677190B (zh) * | 2018-11-09 | 2019-11-11 | 瑞昱半導體股份有限公司 | 時脈產生裝置及時脈產生方法 |
CN110413558A (zh) * | 2019-07-15 | 2019-11-05 | 广芯微电子(广州)股份有限公司 | 一种实现低功耗串口模块动态分频方法 |
US11251784B2 (en) | 2020-03-09 | 2022-02-15 | Stmicroelectronics International N.V. | Programmable-on-the-fly fractional divider in accordance with this disclosure |
CN111600604A (zh) * | 2020-07-24 | 2020-08-28 | 山东北斗院物联科技有限公司 | 一种数字芯片外设时钟的产生方法及系统 |
CN114138053B (zh) * | 2021-11-15 | 2024-05-28 | 中科芯集成电路有限公司 | 一种波特率生成器 |
CN114518781B (zh) * | 2022-01-07 | 2024-05-14 | 西安电子科技大学 | 一种双模可调高精度波特率时钟发生器及分频方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1560233A (en) * | 1977-02-02 | 1980-01-30 | Marconi Co Ltd | Frequency synthesisers |
US4638498A (en) * | 1980-06-20 | 1987-01-20 | Rca Corporation | Digital timing system |
GB2140232B (en) * | 1983-05-17 | 1986-10-29 | Marconi Instruments Ltd | Frequency synthesisers |
JPH04336308A (ja) * | 1991-05-13 | 1992-11-24 | Nec Corp | マイクロコンピュータ |
US5224132A (en) * | 1992-01-17 | 1993-06-29 | Sciteq Electronics, Inc. | Programmable fractional-n frequency synthesizer |
JP3536073B2 (ja) * | 1995-05-24 | 2004-06-07 | アジレント・テクノロジーズ・インク | 分周器 |
FR2757001B1 (fr) * | 1996-12-05 | 1999-02-05 | Sgs Thomson Microelectronics | Dispositif de decoupage de la periode d'un signal en n parties quasi-egales |
US5834987A (en) * | 1997-07-30 | 1998-11-10 | Ercisson Inc. | Frequency synthesizer systems and methods for three-point modulation with a DC response |
US5777521A (en) * | 1997-08-12 | 1998-07-07 | Motorola Inc. | Parallel accumulator fractional-n frequency synthesizer |
-
2001
- 2001-06-14 US US09/881,003 patent/US6392455B1/en not_active Expired - Fee Related
-
2002
- 2002-03-25 JP JP2002578657A patent/JP2004519958A/ja not_active Withdrawn
- 2002-03-25 WO PCT/IB2002/001054 patent/WO2002080369A2/en active Application Filing
- 2002-03-25 KR KR1020027016258A patent/KR20030017527A/ko not_active Application Discontinuation
- 2002-03-25 CN CN02800951A patent/CN1460328A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2002080369A3 (en) | 2002-12-27 |
JP2004519958A (ja) | 2004-07-02 |
CN1460328A (zh) | 2003-12-03 |
US6392455B1 (en) | 2002-05-21 |
WO2002080369A2 (en) | 2002-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6914460B1 (en) | Counter-based clock doubler circuits and methods | |
KR20030017527A (ko) | 프로그램가능한 주파수 분주기 및 이를 포함하는마이크로프세서 시스템 | |
US4339722A (en) | Digital frequency multiplier | |
US5748949A (en) | Counter having programmable periods and method therefor | |
KR940007543B1 (ko) | 고속 프로그램가능 분주기 | |
US8924765B2 (en) | Method and apparatus for low jitter distributed clock calibration | |
US6225840B1 (en) | Clock generation circuit which reduces a transition time period and semiconductor device using the same | |
US6788120B1 (en) | Counter-based duty cycle correction systems and methods | |
EP1776764B1 (en) | Frequency divider | |
CN107402597B (zh) | 一种数据与时钟对齐的方法、装置、介质及磁共振设备 | |
US8675810B2 (en) | Programmable low power multi-modulus divider with 50/50 duty cycle | |
US5592659A (en) | Timing signal generator | |
US7310751B2 (en) | Timeout event trigger generation | |
KR19990078113A (ko) | 데이터 전송 장치 | |
JP3764560B2 (ja) | デジタル遅延回路及びデジタルpll回路 | |
US10742220B1 (en) | Method and apparatus for operating programmable clock divider using reset paths | |
KR100236088B1 (ko) | 클럭 분배기 | |
JP3649874B2 (ja) | 分周回路 | |
US9036754B2 (en) | Circuit for a radio system, use and method for operation | |
US7366943B1 (en) | Low-latency synchronous-mode sync buffer circuitry having programmable margin | |
US8498373B2 (en) | Generating a regularly synchronised count value | |
US6967510B2 (en) | Time-base implementation for correcting accumulative error with chip frequency scaling | |
GB2052815A (en) | Digital frequency multiplier | |
US9564904B2 (en) | Asynchronous high-speed programmable divider | |
US5966421A (en) | Emulation of an m bit counter driven by a desired clock frequency given a central clock frequency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |