Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections,
modifications, enhancements, improvements, and other changes to its products and services at
any time and to discontinue any product or service without notice. Customers should obtain the
latest relevant information before placing orders and should verify that such information is current
and complete. All products are sold subject to TI’s terms and conditions of sale supplied at the
time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of
sale in accordance with TI’s standard warranty . Testing and other quality control techniques are
used to the extent TI deems necessary to support this warranty. Except where mandated by
government requirements, testing of all parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are
responsible for their products and applications using TI components. To minimize the risks
associated with customer products and applications, customers should provide adequate design
and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any
TI patent right, copyright, mask work right, or other TI intellectual property right relating to any
combination, machine, or process in which TI products or services are used. Information
published by TI regarding third party products or services does not constitute a license from TI
to use such products or services or a warranty or endorsement thereof. Use of such information
may require a license from a third party under the patents or other intellectual property of that third
party , or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction
is without alteration and is accompanied by all associated warranties, conditions, limitations, and
notices. Reproduction of this information with alteration is an unfair and deceptive business
practice. TI is not responsible or liable for such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated
by TI for that product or service voids all express and any implied warranties for the associated
TI product or service and is an unfair and deceptive business practice. TI is not responsible or
liable for any such statements.
Mailing Address:
Texas Instruments
Post Office Box 655303
Dallas, Texas 75265
Copyright 2003, Texas Instruments Incorporated
About This Manual
This document describes the operation of the software-programmable phaselocked loop (PLL) controller in the digital signal processors (DSPs) of the
TMS320C6000 DSP family. This type of controller is used on the following
devices:
- TMS320C6711C
- TMS320C6712C
- TMS320C6713
Notational Conventions
This document uses the following conventions.
- Hexadecimal numbers are shown with the suffix h. For example, the
Preface
Read This First
following number is 40 hexadecimal (decimal 64): 40h.
Related Documentation From Texas Instruments
The following documents describe the C6000 devices and related support
tools. Copies of these documents are available on the Internet at www.ti.com.
Tip: Enter the literature number in the search box provided at www .ti.com.
TMS320C6000 CPU and Instruction Set Reference Guide (literature
number SPRU189) describes the TMS320C6000 CPU architecture,
instruction set, pipeline, and interrupts for these digital signal processors.
TMS320C6000 Peripherals Reference Guide (literature number SPRU190)
describes the peripherals available on the TMS320C6000 DSPs.
TMS320C6000 Technical Brief (literature number SPRU197) gives an
introduction to the TMS320C62x and TMS320C67x DSPs, develop-
ment tools, and third-party support.
TMS320C64x Technical Overview (SPRU395) gives an introduction to the
TMS320C64x DSP and discusses the application areas that are
enhanced by the TMS320C64x VelociTI.
3Title of DocSPRU233A
Trademarks
Related Documentation From Texas Instruments / Trademarks
TMS320C6000 Programmer’s Guide (literature number SPRU198)
describes ways to optimize C and assembly code for the
TMS320C6000 DSPs and includes application program examples.
TMS320C6000 Code Composer Studio Tutorial (literature number
SPRU301) introduces the Code Composer Studio integrated development environment and software tools.
Code Composer Studio Application Programming Interface Reference
Guide (literature number SPRU321) describes the Code Composer
Studio application programming interface (API), which allows you to
program custom plug-ins for Code Composer.
TMS320C6x Peripheral Support Library Programmer’s Reference
(literature number SPRU273) describes the contents of the
TMS320C6000 peripheral support library of functions and macros. It
lists functions and macros both by header file and alphabetically,
provides a complete description of each, and gives code examples to
show how they are used.
TMS320C6000 Chip Support Library API Reference Guide (literature
number SPRU401) describes a set of application programming interfaces
(APIs) used to configure and control the on-chip peripherals.
Trademarks
Code Composer Studio, C6000, C62x, C64x, C67x, TMS320C6000,
TMS320C62x, TMS320C64x, TMS320C67x, and VelociTI are trademarks of
Texas Instruments.
This document describes the operation of the software-programmable phaselocked loop (PLL) controller in the digital signal processors (DSPs) of the
TMS320C6000 DSP family. This type of controller is used on the following
devices:
- TMS320C6711C
- TMS320C6712C
- TMS320C6713
The PLL controller (Figure 1) features software-configurable PLL multiplier
controller, dividers (OSCDIV1, D0, D1, D2, and D3), and reset controller. The
PLL controller accepts an input clock, as determined by the logic state on the
CLKMODE0 pin, from the CLKIN pin or from the on-chip oscillator output
signal OSCIN. The PLL controller offers flexibility and convenience by way of
software-configurable multiplier and dividers to modify the input signal internally . The resulting clock outputs are passed to the DSP core, peripherals, and
other modules inside the C6000 DSP.
- The input reference clocks to the PLL controller:
J CLKIN: input signal from external oscillator (3.3V), CLKMODE0 = 1
J OSCIN: output signal from on-chip oscillator (1.2V), CLKMODE0 = 0
- The resulting output clocks from the PLL controller:
J AUXCLK: internal clock output signal directly from CLKIN or OSCIN.
J CLKOUT3: output of divider OSCDIV1.
J SYSCLK1: internal clock output of divider D1.
J SYSCLK2: internal clock output of divider D2.
J SYSCLK3: internal clock output of divider D3.
Refer to your device-specific datasheet on how these inputs and outputs of the
PLL controller are used.
7Phase-Locked Loop (PLL) ControllerSPRU233A
Overview
Figure 1.PLL Controller Block Diagram
CLKMODE0
CLKIN
1
PLL controller
Divider D0
÷1, ÷2,...÷32
Reset
0
Divider D1Divider D2
÷1, ÷2,...÷32
OSCIN
CLKOUT3
OSCDIV1
÷1, ÷2,...÷32
controller
AUXCLKSYSCLK1SYSCLK2SYSCLK3
†
See the device-specific datasheet for more details about the PLL.
PLL
PLLM
×1, ×2,...×32
÷1, ÷2,...÷32
†
Divider D3
÷1, ÷2,...÷32
PLLOUT
10
PLLEN
Phase-Locked Loop (PLL) Controller8SPRU233A
2Functional Description
The following sections describe the multiplier, dividers, and reset controller in
the PLL controller.
2.1Multiplier and Dividers
The PLL controller is capable of programming the PLL through the PLL multiplier
control register (PLLM) from a ×1 to ×32 multiplier rate (see the device-specific
datasheet for the PLL multiplier rates supported on your device). The clock
dividers (OSCDIV1, D0, D1, D2, and D3) are programmable from ÷1 to ÷32
divider ratio and may be disabled. The oscillator divider enable bit (OD1EN)
in the oscillator divider 1 register (OSCDIV1) determines the oscillator divider
output mode. When OD1EN = 0, the oscillator divider is disabled and no clock
is output; when OD1EN = 1, the oscillator divider is enabled and a clock is output. The divider enable bit (DnEN) in the PLL controller divider registers
(PLLDIVn) determines the divider output mode. When DnEN = 0, the divider
is disabled and no clock is output; when DnEN = 1, the divider is enabled and
a clock is output.
The input reference clock (either CLKIN or OSCIN) is directly output as the
auxiliary clock (AUXCLK) for use by some peripherals. For example, the multichannel audio serial port (McASP) uses AUXCLK to generate audio clocks. In
addition to AUXCLK, the input reference clock is directly input to the oscillator
divider (OSCDIV1). If OSCDIV1 is enabled, OD1EN = 1, the input reference
clock is divided down by the value in the oscillator divider ratio bits (RA TIO) in
OSCDIV1. The output from OSCDIV1 is the output clock CLKOUT3.
Functional Description
The divider D0 and the PLL may also be bypassed. The PLL enable bit
(PLLEN) in the PLL control/status register (PLLCSR) determines the PLL
controller mode. When PLLEN = 1, PLL mode, D0 and PLL are used; when
PLLEN = 0, bypass mode, D0 and PLL are bypassed and the input reference
clock is directly input to dividers D1, D2, and D3.
When in PLL mode (PLLEN = 1), the input reference clock is supplied to divider D0. If D0 is enabled, D0EN =1, the input reference clock is divided down by
the value in the PLL divider ratio bits (RATIO) in PLLDIV0. The output from
divider D0 is input to the PLL. The PLL multiplies the clock by the value in the
PLL multiplier bits (PLLM) in the PLL multiplier control register (PLLM). The
output from the PLL (PLLOUT) is input to dividers D1, D2, and D3.
When enabled (DnEN = 1), the dividers D1, D2, and D3 divide down by the
value in RA TIO in PLLDIVn the output clock of the PLL. The output clocks of
dividers D1, D2, and D3 have 50% duty cycle and are SYSCLK1, SYSCLK2,
and SYSCLK3, respectively .
9Phase-Locked Loop (PLL) ControllerSPRU233A
Functional Description
2.2Reset Controller
At power up, the device RESET signal may not be asserted long enough to
wait for the on-chip or off-chip oscillator to stabilize. This means the input reference clock (either CLKIN or OSCIN) may be a bad clock when a device RESET
signal is deasserted high. After RESET is deasserted, the reset controller
lengthens the asynchronous internal reset signal to ensure that the input clock
source is stable.
The reset controller resides within the PLL controller and the main function is
to internally lengthen the reset signal from the RESET
clock source is stable (after 512 CLKIN cycles or 4096 OSCIN cycles). This
is to ensure that the rest of the device will see the internal reset deasserted only
after the input clock is stabilized. Figure 2 shows the lengthening of the internal
reset signal.
The PLL controller multiplier and dividers are bypassed when the internal reset
signal is low. The frequency of all clock outputs of the PLL controller (AUXCLK,
SYSCLK1, SYSCLK2, SYSCLK3, and CLKOUT3) are fixed to the input
reference clock (CLKIN or OSCIN) divided by 8. After 512 CLKIN cycles or
4096 OSCIN cycles, the reset controller brings the device out of reset and sets
the oscillator input stable bit (STABLE) in the PLL control/status register
(PLLCSR). The dividers are used after this point and are set to their default
divide ratio.
input pin until the input
Values are latched into the registers at the rising edge of RESET
Phase-Locked Loop (PLL) Controller10SPRU233A
.
Figure 2.Reset Controller Lengthening the Internal Reset Signal
Input clock not yet
stabilized. Internal
reset stays asserted.
Register values latched.
N input clock cycles
†
1.2 V CV
Asynchronous
internal reset
Input reference
RESET
Crystal
clock
DD
pin
123
Core power stabilizedDevice released from reset
Clock may not stabilize yet
†
Invalid
Functional Description
Clock now stable,
STABLE bit asserted
Output clocks are input reference clock/8
with dividers in bypass mode
Output clocks
†
N = 512 × CLKIN cycles when CLKMODE = 1 (input reference clock is CLKIN);
N = 4096 × OSCIN cycles when CLKMODE = 0 (input reference clock is OSCIN)
‡
Output clocks include AUXCLK, SYSCLK1, SYSCLK2, SYSCLK3, and CLKOUT3
‡
Invalid
†
Dividers now used with default
divide ratio. Output clocks are
divider output.
11Phase-Locked Loop (PLL) ControllerSPRU233A
Configuration
3Configuration
The following sections provide procedures for initialization, power down, and
wake up of the PLL controller.
3.1Initialization
The PLL and PLL controller are to be initialized by software after reset. The
PLL controller registers should be modified only by the CPU or via emulation.
The HPI should not be used to directly access the PLL controller registers. The
initialization of the PLL controller should be performed as soon as possible at
the beginning of the program, before initializing any peripherals. Upon device
reset, one of the following two software initialization procedures must be done
to properly set up the PLL and PLL controller.
3.1.1PLL Mode (PLLEN = 1)
If the system intends to use divider D0 and PLL, perform the following:
1) In PLLCSR, write PLLEN = 0 (bypass mode).
2) Wait 4 cycles of the slowest of PLLOUT, CLKIN (if CLKMODE = 1), and
OSCIN (if CLKMODE = 0).
3) In PLLCSR, write PLLRST = 1 (PLL is reset).
4) Program PLLDIV0, PLLM, and OSCDIV1.
5) Program PLLDIV1–3. Note that there must be wait states between
accesses to PLLDIV1–3. Each wait state is 8 cycles of the slowest of the
old and new SYSCLK1–3 clock rates. Some devices may also require
users to program the PLLDIV1–3 registers in a particular order, to ensure
no violation of system clock ratios. See PLL Controller section of the
device-specific datasheet for other restrictions.
6) Wait for PLL to properly reset. See device-specific datasheet for PLL reset
time.
7) In PLLCSR, write PLLRST = 0 to bring PLL out of reset.
8) Wait for PLL to lock. See device-specific datasheet for PLL lock time.
9) In PLLCSR, write PLLEN = 1 to enable PLL mode.
Steps 1, 2, and 3 are required when PLLEN and PLLRST bits are not already
0 and 1, respectively . These steps are not required when the device is coming
out of reset (they are performed by hardware).
Phase-Locked Loop (PLL) Controller12SPRU233A
3.1.2Bypass Mode (PLLEN = 0)
If the system intends to bypass divider D0 and PLL, perform the following:
1) In PLLCSR, write PLLEN = 0 (bypass mode).
2) Wait 4 cycles of the slowest of PLLOUT, CLKIN (if CLKMODE = 1), and
OSCIN (if CLKMODE = 0).
3) In PLLCSR, write PLLRST = 1 (PLL is reset).
4) Program OSCDIV1.
5) Program PLLDIV1–3. Note that there must be wait states between
accesses to PLLDIV1–3. Each wait state is 8 cycles of the slowest of the
old and new SYSCLK1–3 clock rates. See PLL Controller section of the
device-specific datasheet for other restrictions.
Steps 1, 2, and 3 are required when PLLEN and PLLRST bits are not already
0 and 1, respectively . These steps are not required when the device is coming
out of reset (they are performed by hardware).
Configuration
3.2Power Down
The PLL may be powered down, in which case the PLL controller is in bypass
mode and the DSP runs from a divided down version of the input reference clock.
The DSP is still able to respond to events because it is still being clocked by the
bypass clock (directly from CLKIN or OSCIN), although at a lower frequency.
Perform the following procedure to power down the PLL:
1) In PLLCSR, write PLLEN = 0 (bypass mode).
2) Wait 4 cycles of the slowest of PLLOUT, CLKIN (if CLKMODE = 1), and
3) In PLLCSR, write PLLPWRDN = 1 to power down the PLL.
OSCIN (if CLKMODE = 0).
13Phase-Locked Loop (PLL) ControllerSPRU233A
Registers
Configuration / Registers
3.3Power Wake Up
Perform the following procedure to wake up the PLL from its power-down mode:
1) In PLLCSR, write PLLEN = 0 (bypass mode).
2) Wait 4 cycles of the slowest of PLLOUT, CLKIN (if CLKMODE = 1), and
OSCIN (if CLKMODE = 0).
3) In PLLCSR, write PLLPWRDN = 0 to wake up the PLL.
4) Follow the reset sequence described in section 3.1.
4Registers
The PLL controller registers configure the operation of the PLL controller. The
PLL controller registers are listed in T able 1. See the device- specifi c datashe et
for the memory address of these registers.
The PLL controller peripheral identification register (PLLPID) contains identification code for the PLL controller . PLLPID is shown in Figure 3 and described
in Table 2.
See the device-specific datasheet for the default value of this field.
TYPE
†
Table 2.PLL Controller Peripheral Identification Register (PLLPID) Field Descriptions
Bitfield
31–24 Reserved –0These reserved bit locations are always read as 0. A value written
23–16 TYPEOF(value)Identifies type of peripheral.
15–8
7–0
†
For CSL implementation, use the notation PLL_PID_field_symval
†
CLASSOF(value)Identifies class of peripheral.
REVOF(value)Identifies revision of peripheral.
symval†Value Description
to this field has no effect.
10hPLL controller
1Serial port
xSee the device-specific datasheet for the value.
15Phase-Locked Loop (PLL) ControllerSPRU233A
Registers
4.2PLL Control/Status Register (PLLCSR)
The PLL control/status register (PLLCSR) is shown in Figure 4 and described
in Table 3.
Figure 4.PLL Control/Status Register (PLLCSR)
3116
Reserved
R-0
1576543210
Reserved
R-0R-1R/W-0R/W-1R/W-0R/W-0R/W-0
Legend: R = Read only; R/W = Read/write; -n = value after reset
STABLEReservedPLLRST—PLLPWRDN PLLEN
Table 3.PLL Control/Status Register (PLLCSR) Field Descriptions
Bitfield
31–7Reserved–0Reserved. The reserved bit location is always read as 0. A
6STABLEOF(value)Oscillator input stable bit indicates if the OSCIN/CLKIN input
5–4Reserved–0Reserved. The reserved bit location is always read as 0.
3PLLRSTPLL reset bit.
2Reserved–0Reserved. The reserved bit location is always read as 0.
†
For CSL implementation, use the notation PLL_PLLCSR_field_symval
†
†
symval
00PLL reset is released.
11PLL reset is asserted.
Value Description
value written to this field has no effect.
has stabilized. The ST ABLE bit is set to 1 after the reset
controller counts 4096 input clock cycles after the RESET
signal is asserted high.
0OSCIN/CLKIN input is not yet stable. Oscillator counter is not
finished counting.
1OSCIN/CLKIN input is stable.
Always write a 0 to this location.
Always write a 0 to this location.
Phase-Locked Loop (PLL) Controller16SPRU233A
Table 3.PLL Control/Status Register (PLLCSR) Field Descriptions (Continued)
Registers
Bit
field
†
†
DescriptionValuesymval
1PLLPWRDNPLL power-down mode select bit.
NO0PLL is operational.
YES1PLL is placed in power-down state.
0PLLENPLL enable bit.
BYPASS0Bypass mode. Divider D0 and PLL are bypassed.
SYSCLK1/SYSCLK2/SYSCLK3 are divided down directly from
input reference clock.
ENABLE1PLL mode. PLL output path is enabled. Divider D0 and PLL are
not bypassed. SYSCLK1/SYSCLK2/SYSCLK3 are divided
down from PLL output.
†
For CSL implementation, use the notation PLL_PLLCSR_field_symval
17Phase-Locked Loop (PLL) ControllerSPRU233A
Registers
4.3PLL Multiplier Control Register (PLLM)
The P LL multiplier control register (PLLM) is shown in Figure 5 and described
in Table 4. The PLL M defines the input reference clock frequency multiplier in
conjunction with the PLL divider ratio bits (RA TIO) in the PLL controller divider 0 register (PLLDIV0).
Figure 5.PLL Multiplier Control Register (PLLM)
3116
Reserved
R-0
155 40
Reserved
R-0R/W-0 0111
Legend: R = Read only; R/W = Read/write; -n = value after reset
PLLM
Table 4.PLL Multiplier Control Register (PLLM) Field Descriptions
BitFieldsymval
31–5Reserved –0Reserved. The reserved bit location is always read as 0. A value
4–0PLLMOF(value)0–1FhPLL multiplier bits. Defines the frequency multiplier of the input
†
For CSL implementation, use the notation PLL_PLLM_PLLM_symval
†
ValueDescription
written to this field has no effect.
reference clock in conjunction with the PLL divider ratio bits
(RATIO) in PLLDIV0. See the device-specific datasheet for the
PLL multiplier rates supported on your device.
Phase-Locked Loop (PLL) Controller18SPRU233A
Registers
4.4PLL Controller Divider Registers (PLLDIV0–3)
The P LL c ont rol ler d iv ide r reg ist er (P LL DIV ) is shown in Figure 6 and described
in Table 5.
Figure 6.PLL Controller Divider Register (PLLDIV)
3116
Reserved
R-0
15145 40
DnEN
R/W-1R-0R/W-0
Legend: R = Read only; R/W = Read/write; -n = value after reset
†
For PLLDIV0 and PLLDIV1; for PLLDIV2 and PLLDIV3, reset value is 0 0001.
ReservedRATIO
†
Table 5.PLL Controller Divider Register (PLLDIV) Field Descriptions
Bitfield
31–16 Reserved –0Reserved. The reserved bit location is always read as 0. A value
15DnENDivider Dn enable bit.
14–5Reserved –0Reserved. The reserved bit location is always read as 0. A value
4–0RA TIOOF(value)PLL divider ratio bits. For PLLDIV0, defines the input reference
†
For CSL implementation, use the notation PLL_PLLDIVn_field_symval
†
symval
DISABLE0Divider n is disabled. No clock output.
ENABLE1Divider n is enabled.
†
ValueDescription
written to this field has no effect.
written to this field has no effect.
clock frequency multiplier in conjunction with the PLL multiplier
bits (PLLM) in PLLM. For PLLDIV1–3, defines the PLL output
clock frequency divider ratio.
0÷1. Divide frequency by 1.
1h÷2. Divide frequency by 2.
2h–1Fh ÷3 to ÷32. Divide frequency by 3 to divide frequency by 32.
19Phase-Locked Loop (PLL) ControllerSPRU233A
Registers
4.5Oscillator Divider 1 Register (OSCDIV1)
The oscillator divider 1 register (OSCDIV1) is shown in Figure 7 and described
in Table 6.
Figure 7.Oscillator Divider 1 Register (OSCDIV1)
3116
Reserved
R-0
15145 40
OD1ENReservedRATIO
R/W-1R-0R/W-0 0111
Legend: R = Read only; R/W = Read/write; -n = value after reset
Table 6.Oscillator Divider 1 Register (OSCDIV1) Field Descriptions
Bitfield
31–16 Reserved –0Reserved. The reserved bit location is always read as 0. A value
15OD1ENOscillator divider 1 enable bit.
14–5Reserved –0Reserved. The reserved bit location is always read as 0. A value
4–0RA TIOOF(value)Oscillator divider 1 ratio bits. Defines the input reference clock
†
For CSL implementation, use the notation PLL_OSCDIV1_field_symval
†
†
symval
DISABLE0Oscillator divider 1 is disabled. No clock output.
ENABLE1Oscillator divider 1 is enabled.
ValueDescription
written to this field has no effect.
written to this field has no effect.
frequency divider ratio for output clock CLKOUT3.
0÷1. Divide input reference clock frequency by 1.
1h÷2. Divide input reference clock frequency by 2.
2h–1Fh ÷3 to ÷32. Divide input reference clock frequency by 3 to divide