Fast start-up processor clock generation method and system

Abstract: A PLL based clock generation circuit that enables processor execution during phase locking is provided. A PLL (310) generates a PLL clock output to a divider (330), which divides the PLL clock at a system clock output. PLL (310) outputs a frequency lock signal upon acquiring a desired output frequency that initiates a counter (320) and enables execution in a CPU (350) being clocked by the system clock. CPU (350) is thereby enabled to execute during phase locking at a divided frequency without risk of frequency overshoot induced failures. A phase lock signal, indicating PLL (310) has achieved phase lock, output by counter (320) is logically combined (340) with a signal output from CPU (350) requesting maximum frequency operation. The combined signal selects divider (330) to enable a maximum frequency system clock, thereby enabling CPU (350) to execute at maximum frequency when the PLL (310) is safely phase locked.

Description: The present invention relates in general to a phase-locked loop (PLL) based clock generation system, and in particular the present invention relates to a dual bandwidth PLL based clock generation system such as those used in battery powered devices. Background of the Invention In low power electronic applications such as portable cellular phones or laptop computers, an important design goal is to minimize power consumption to increase the electronic device's battery lifetime. Such battery powered devices typically operate in a low power mode when the device is not operational or being utilized by the user to conserve battery power. In portable devices having a PLL based clock generation circuit, the PLL is commonly disabled during the low power mode. When switching from low power mode to an operational mode, the PLL is reenabled to provide a system clock for clocking the portable device. When reacquiring phase-lock after being reenabled or at startup of the system, the PLL will overshoot the target frequency when initially attempting to acquire the programmed system frequency. If the PLL's targeted output frequency is at the maximum specified frequency of the system's processor, the PLL overshoot will cause memory access failures or execution failures in the processor. To prevent these problems in prior art systems, execution control circuitry is included that delays execution within the system's processor until after the PLL acquires phase-lock. As will be appreciated, a portable device is consuming battery power at an operational level during this delay without the processor being operational. Therefore, it would be desirable to provide a PLL clock generation system that does not introduce the delay in processor execution without risk of overshoot related failures, thus decreasing the time spent in a full power mode. US Patent Number 4,893,271 discusses a system which, when first turned on or energized, selects the output of the crystal oscillator as the clock signal applied to the clock input terminals of the microcomputer. Upon energizing the system, the frequency synthesizer within the system is turned on with its phase-locked loop in a wide bandwidth mode to lock to a desired value. However, upon achieving the desired value with the phase-locked loop in the wide band mode, the output of the frequency synthesizer contains too much noise and frequency jitter to be useable as a stable clock time base. Therefore, the phase-locked loop is placed in a narrow band mode. Then, after a delay, the output of the frequency synthesizer is stable and suitable for use as a clock source. Only after this point can the output of the frequency synthesizer be used rather than the crystal oscillator as the clock source. Brief Description of the Drawings FIG. 1 shows a conventional microcontroller system having a PLL based clock generation circuit. FIG. 2 graphs system clock frequency (SYSTEM CLOCK) over time during a start up period for the system in FIG. 1. FIG. 3 shows a microcontroller system having a PLL based clock generation circuit, in accordance with a preferred embodiment of the present invention. FIG. 4 illustrates a graph of the system clock frequency (SYSTEM CLOCK) over time in one example of a start up period of the system of FIG. 3, in accordance with a preferred embodiment of the present invention. Description of a Preferred Embodiment The present invention provides dual bandwidth PLL circuitry that allows an associated central processing unit (CPU) to begin execution of instructions prior to acquiring phase/frequency-lock. As will be appreciated, the present invention substantially enhances the power savings of the portable battery by allowing the processor to operate during the phase/frequency-locking phase of the PLL. By eliminating the time spent waiting for the PLL to relock before allowing processor operation, a reduction of overall system power is achieved by increasing the time spent in the power saving mode. This is especially useful in applications where the system is repeatedly brought from a low power mode to an active mode such as in cellular phones, which periodically query the cellular system. With reference now to the figures, and in particular with reference to FIG. 1, there is shown a conventional microcontroller system having a PLL based clock generation circuit. A microcontroller based system 100 includes a dual bandwidth PLL clock generation circuit 105. A dual bandwidth PLL is used in systems requiring a fast startup time but having a low frequency input reference to the PLL, for example. A dual bandwidth PLL has two phases of operation: 1) a wide bandwidth (high gain) phase and 2) a narrow bandwidth (low gain) phase. As used in power conscious designs, a low frequency reference clock (REF) is input into PLL 110 within circuit 105, which synthesizes the reference clock to produce the PLL circuit output (PLL CLOCK) as a function of a multiplication factor input (N). In some systems, PLL 110 is a dual bandwidth PLL to decrease lock time. PLL 110 outputs the PLL CLOCK to a divider 130 and outputs a FREQUENCY Lock signal to a counter 120. The FREQUENCY LOCK signal indicates when the PLL clock has reached the programmed frequency of the PLL to within a selected bandwidth, while the PLL is operating in a wide bandwidth mode. However, because the PLL must still reach a phase locked condition before the PLL can switch from the wide bandwidth to narrow bandwidth operation, an empirically derived settling time, for example 10 milliseconds, is counted off by counter 120 to ensure that the PLL has phase-locked. After the 10 milliseconds has been counted, counter 120 outputs a PHASE LOCK signal to CPU 140 to allow CPU 140 to begin execution while being clocked by the system clock (SYSTEM CLOCK). Divider 130 is controlled by a register bit (X BIT) output by CPU 140. Divider 130 is programmed to divide the PLL CLOCK to one of two desired operating frequencies as set by an input M and selected by X BIT. In the prior art, divider 130 will typically produce a system clock equal to or half the frequency of PLL CLOCK. The programmable feature of Divider 130 is particularly useful in applications where the CPU 140 transitions the system clock from one operating frequency to another. The divider 130 prevents frequency overshoot of the system clock occurring at the transition between frequencies, which can cause CPU execution errors or memory access failures, among other problems. Such frequency overshoots can be seen in FIG. 2, which graphs system clock frequency (SYSTEM CLOCK) versus time during a start up period for the system in FIG. 1. At time t 0 , the system 100 is switching from a low power mode to an active mode and the reference clock is input into PLL 110. At time t 1 , PLL 110 recognizes the reference clock and begins to acquire the target frequency. Because PLL 110 is initially operating in the wide bandwidth mode, a large overshoot in frequency occurs as PLL 100 rapidly attempts to acquire frequency lock to the reference clock, as can be seen in the graph of FIG. 2. Divider 130 divides the PLL clock by half to generate the system clock during this start-up mode but the CPU does not begin execution at this point. When PLL 110 determines that it has reached the programmed frequency, the FREQUENCY LOCK signal is output to counter 120, which initiates the 10 millisecond count based on the reference clock. The end of the count indicates when the PLL has sufficiently settled to transition to the narrow bandwidth operating mode. At time t 2 , counter 120 outputs the PHASE LOCK signal to CPU 140 to enable CPU 140 to begin execution. Also, PHASE LOCK is received by PLL 110 (connection not shown) to switch PLL 110 to narrow bandwidth operation. At time t 3 , CPU 140 provides a X BIT to select the unity divisor of divider 130, which switches the SYSTEM CLOCK to the frequency of PLL CLOCK. As can be seen, during the 10 milliseconds period between t 1 and t 2 , CPU 140 is not allowed to execute code and therefore is not operational. However, clock generation circuit 100 and other circuits within the system have been switched from the low power mode into an active mode and are inefficiently consuming power. The present invention provides a method and system for reducing this inefficiency in systems having a low frequency reference clock by allowing the CPU to operate during the phase locking period at an useful operating frequency without allowing the system clock to exceed the system's maximum specified operating frequency. With reference now to FIG. 3, there is shown a microcontroller system having a PLL based clock generation circuit, in accordance with a preferred embodiment of the present invention. System 300 includes CPU 350 and CLOCK GENERATION CIRCUIT 305. A low frequency reference clock (REF) is input into dual bandwidth PLL 310 within circuit 305. PLL 310 operates in a wide bandwidth mode (highgain) when acquiring phaselock and a narrow bandwidth mode (lowgain) to maintain phaselock. PLL 310 synthesizes the reference clock to produce the PLL CLOCK as a function of a multiplication factor (N). In one embodiment, where the reference clock is a low frequency clock at 33 kilohertz, N is equal to 512. PLL 310 outputs the PLL CLOCK to a divider 330. Divider 330 is controlled by a SELECT signal output by AND gate 340 and is programmed to divide the PLL CLOCK to one of two desired operating frequencies as set by an input M as a SYSTEM CLOCK output. PLL 310 also outputs a FREQUENCY LOCK signal to a counter 320 and CPU 350. The FREQUENCY LOCK signal indicates when the PLL CLOCK has reached the programmed output frequency of the CLOCK GENERATION CIRCUIT to within a selected bandwidth. However, because the PLL must still reach a phase locked condition to allow the PLL to switch from the wide bandwidth to narrow bandwidth operation and reach a stable frequency, a settling period indicated by a PHASE LOCK signal is counted off by counter 320 to ensure that the PLL has phase-locked. The FREQUENCY LOCK signal initiates the target frequency enable counter 320 to count off the preset period from t 1 to t 2 . Counter 320 generates the PHASE LOCK signal input into AND gate 340 at the end of the count. The FREQUENCY LOCK signal also enables CPU 350 to begin operation and perform programmed tasks during the phase locking period. Because the processor is being clocked by SYSTEM CLOCK at a divided frequency, there is no danger of exceeding the maximum specified frequency during the phase/frequency lock period. CPU 350 can be programmed to assert the X BIT from a read/write register to request maximum speed operation at any desired time. The X BIT and the PHASE LOCK signal are input into AND gate 340. The SELECT output of AND gate 340 controls divider 330, where the SELECT signal selects the target frequency M to equal 1 or n. Thus, as will be appreciated, the SELECT signal selects the divider function of divider 330 as a selected divisor n until both the CPU 350 has requested full speed operation by asserting the X BIT and the settling period counted by counter 320 has expired. When the SELECT signal is generated, divider 330 switches to produce a SYSTEM CLOCK at the full frequency of the PLL CLOCK (or some fraction thereof as desired). FIG. 4 shows a graph of the system clock frequency (SYSTEM CLOCK) over time in one example of a start up period of the system of FIG. 3. At time t 0 , the portable device 300 is switching from the low power mode to an active mode and the reference clock is input into PLL 310. At time t 1 , PLL 310 recognizes the reference clock and begins to acquire the target frequency. Because PLL 310 is initially operating in the wide bandwidth mode, a large overshoot in frequency occurs as PLL 310 rapidly attempts to acquire frequency lock to the reference clock. Divider 330 divides the PLL clock by the divisor M to generate the system clock during this start-up mode. When PLL 310 determines that it has reached the average frequency of the expected output, which occurs very soon after time t 1 , a FREQUENCY LOCK signal is output to counter 320, which begins to count a period (for example, a 10 millisecond period requiring 328 counts of counter 320) based on the reference clock. The FREQUENCY LOCK simultaneously enables CPU 350 to begin operation at around time t 1 , rather than t 2 as was seen in the prior art. This might allow a portable system such as a cellular phone to potentially complete the work required during that cellular cycle prior to the system reaching the maximum frequency operation at time t 2 . Because CPU 350 operates at half the maximum operating frequency while PLL 310 is phase locking, there is no danger of exceeding maximum frequency. At time t 2 , counter 320 outputs the PHASE LOCK signal to AND gate 340, indicating the PLL has sufficiently settled to transition into narrow bandwidth phase. Also, PHASE LOCK is received by PLL 310 (connection not shown) to switch PLL 310 to narrow bandwidth operation. At or prior to time t 2 (or after t 2 in another example), CPU 350 asserts the X BIT to select the unity divisor of divider 330, which switches the SYSTEM CLOCK to the frequency of PLL CLOCK. In a preferred embodiment, the frequency of PLL CLOCK would be the system's specified maximum frequency. As seen in FIG. 4, the system of the present invention is able to achieve maximum operating frequency at time t 2 because CPU 350 has been executing at half frequency during the period t 1 -t 2 so that it is operational at the time phase lock occurs and can issue the X BIT immediately. Thus, as FIG. 4 illustrates, the system of the preferred embodiment operates at half operating frequency during period t 1 -t 2 and full operating frequency between time t 2 and t 3 to allow the system to complete its operating tasks and return to low power mode sooner. The prior art system does not even begin to execute code until after t 3 . Therefore, it will now be appreciated that the present invention provides a PLL based clock generation circuit that enables processor execution during phase locking of the system clock. This will substantially improve power conservation and increase processing capabilities. A PLL generates a PLL clock output to a divider, which divides the PLL clock to a system clock output. The PLL outputs a frequency lock signal upon acquiring a desired output frequency, which initiates a counter and enables execution in a CPU being clocked by the system clock. The CPU is thereby enabled to execute at a divided frequency during phase locking without risk of frequency overshoot induced failures. When the counter expires and the CPU requests maximum frequency operation, a select signal is produced that switches the divider to output a maximum frequency system clock, thereby enabling the CPU to execute at maximum frequency when the PLL is safely phase locked.

Claims: A system (300) comprising: a Phase Locked Loop (PLL) (310) generating a frequency lock signal and a PLL clock based on a reference clock, wherein: the PLL comprises a charge pump having a narrow bandwidth mode and a wide bandwidth mode, the frequency lock signal is generated based on the PLL achieving an expected frequency within a predefined bandwidth, and the expected frequency is a specified multiple of the reference clock; a divider circuit (330) receiving the PLL clock and a select signal and generating a system clock, wherein: the divider circuit generates the system clock at a first frequency if the select signal is in a first state and generates the system clock at a second frequency if the select signal is in a second state, wherein the second frequency is a reduced frequency as compared to the first frequency; characterized in that it further comprises: an enable circuit (320) receiving the frequency lock signal and generating a phase lock signal wherein the enable circuit comprises a counter; a processor (350) receiving the frequency lock signal and selectively generating a frequency request signal, wherein the processor is enabled to execute instructions at the second frequency in response to the frequency lock signal; and a select circuit (340) receiving the phase lock signal and the frequency request signal and generating the select signal in response to the phase lock signal and the frequency request signal, wherein the select signal is in the first state when both the phase lock signal and the frequency request signal are asserted, and in the second state otherwise. The system of claim 1, wherein the first frequency is twice the second frequency. A method of operation for a data processing system, the method comprising the following steps: generating a PLL clock based on a reference clock; generating a PLL frequency lock signal based on the PLL achieving an expected frequency within a predefined bandwidth, wherein the PLL has a charge pump having a narrow bandwidth mode and a wide bandwidth mode, and wherein the expected frequency is a specified multiple of the reference clock; generating a system clock based on the PLL clock and a select signal, wherein this step further comprises: generating the system clock at a first frequency if the select signal is in a first state and generating the system clock at a second frequency if the select signal is in a second state, wherein the second frequency is a reduced frequency as compared to the first frequency; characterized in that it comprises the steps of: generating a PLL phase lock signal upon expiration of a delay count after reception of the PLL frequency lock signal; selectively generating a frequency request signal, wherein a processor is enabled to execute instructions at the second frequency in response to the PLL frequency lock signal; and generating the select signal in response to the PLL phase lock signal and the frequency request signal, wherein the select signal is in the first state when both the PLL phase lock signal and the frequency request signal are asserted, and in the second state otherwise. The method in claim 3 wherein: the frequency request signal is generated by the processor based on a value of a bit in a register. The method in claim 3 wherein the first frequency is twice the second frequency.

Inventors: HALL GEOFFREY, HARDESTY JEFFREY R, MCCOLLOUGH KELVIN, HALL, GEOFFREY, HARDESTY, JEFFREY R., MCCOLLOUGH, KELVIN
Applicants: MOTOROLA INC, MOTOROLA, INC.
Application year: 1998
Main classification: H03L7
IPC codes: H03L7, G06F1, H03K21