
Data Sheet
July 2000
DSP16210 Digital Signal Processor
Lucent Technologies Inc.
DRAFT COPY
67
Hardware Architecture
(continued)
Power Management
(continued)
Software Stop, PLL Enabled and Not Selected
. The PLL is enabled to run at 100 MHz, assuming a constant
CKI input clock of 10 MHz. Prior to performing a software stop by setting the NOCK bit (
powerc
[9]), the program
reduces power by turning off all the peripherals and holding the CKO pin low. Setting the NOCK bit shuts off the
internal clock and stops program execution until an interrupt on the INT0 pin restarts the internal clock. (Alterna-
tively, INT1 or RSTB can be used to restart the clock.) The device restarts with CKI as the internal clock before the
program reselects the PLL clock. The PLL remains enabled during software stop and continues to dissipate
power.
di
pllc=0xa9f2
/* Globally disable interrupts for PLL lock.
/* pllc[15]=1 enables the PLL to run at 100 MHz
/* with CKI=10 MHz. CKI must remain running.
/* Assure time for PLL to lock
if lock goto select_pll
goto pll_buzz
*/
*/
*/
*/
pll_buzz:
select_pll:
pllc=0xe9f2
ei
/* pllc[14]=1 selects the PLL.
/* Globally re-enable interrupts.
*/
*/
.
.
.
/* user code with CLK = 100 MHz
*/
pllc=0xa9f2
powerc=0x189f
2*nop
di
inc0=NO_INT0
ei
ioc = 0x0040
powerc=0x1e9f
/* Prepare for stop--deselect PLL (select CKI),
/* set INT0EN, turn off peripherals.
/* Wait for it to take effect.
*/
*/
*/
/* Disable the INT0 interrupt (Clear inc0[11:10]).
*/
/* Hold CKO low.
/* Set NOCK to stop internal clock.
/* Minimum switching power consumed here.
/* Some nops are needed.
/* INT0 pin clears the NOCK bit; clocking resumes.
/* User code executes here.
/* Clear INT0EN bit, select high-speed clock,
/* turn on peripherals
/* Wait for it to take effect
/* Reselect the PLL - PLL already locked.
/* Clear the INT0 status bit.
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
_nock:
3*nop
cont:
...
powerc=0x0000
2*nop
pllc=0xe9f2
ins 0x0020
di
inc0=INT0
ei
ioc=0x0000
/* Safe to reenable the INT0 interrupt.
*/
/* CKO is free-running PLL clock.
*/