1.省电(Ide) 为了减少功耗,可使时钟发生器处于省电(Ide)状态; ●当时钟发生器退出省电状态时,若进入Idle前是旁路 模式,仍返回旁路模式;若进入Idle前是锁定模式,仍返 回锁定模式,返回到锁定模式的方式与时钟模式寄 存器的省电位IAI(Initialize-After-Idle)有关: ◆IAI=0:PLL将使用与进入Idle状态之前相同的锁定 设置进行锁定,不需重新启动锁定序列过程; ◆IAI=1:PLL将重新启动锁定序列过程。 14
1.省电(Idle) ⚫为了减少功耗, 可使时钟发生器处于省电(Idle)状态 ; ⚫当时钟发生器退出省电状态时,若进入Idle前是旁路 模式,仍返回旁路模式;若进入Idle前是锁定模式,仍返 回锁定模式,返回到锁定模式的方式与时钟模式寄 存器的省电位IAI (Initialize-After-Idle)有关: ◆IAI =0: PLL将使用与进入Idle状态之前相同的锁定 设置进行锁定, 不需重新启动锁定序列过程; ◆ IAI =1: PLL将重新启动锁定序列过程 。 14
2.DSP复位 ●在DSP复位期间和复位之后,PLL工作于旁路模式, 输出的时钟频率由CLKMD引脚(TMS320C5510 芯片上有)上的电平确定: ◆如果CLKMD引脚为低电平,则输出频率等于输 入频率; ◆如果CLKMD引脚为高电平,则输出频率等于输 入频率的1/2。 输出频率=输入频率 注意:5509(A)等无CLKMD引脚! 复位值:BYPASS DIV=O0 15
2.DSP复位 ⚫在DSP复位期间和复位之后,PLL工作于旁路模式, 输出的时钟频率由CLKMD引脚(TMS320C5510 芯片上有)上的电平确定: ◆ 如果CLKMD引脚为低电平,则输出频率等于输 入频率; ◆ 如果CLKMD引脚为高电平,则输出频率等于输 入频率的1/2。 注意: 5509(A)等无CLKMD引脚! 15 输出频率=输入频率 复位值: BYPASS DIV=00
3.失锁 ·锁相环对输入时钟跟踪锁定之后,可能会由于其他 原因使其输出时钟相位发生偏移,导致失锁。 ·出现失锁现象后,PLL的动作由时钟模式寄存器中 的IOB确定: ◆I0B=0:时钟发生器不中断PLL,PLL继续输出时钟; ◆I0B=1:时钟发生器切换到旁路模式,重新启动锁 定序列过程。 16
3.失锁 ⚫ 锁相环对输入时钟跟踪锁定之后, 可能会由于其他 原因使其输出时钟相位发生偏移, 导致失锁。 ⚫ 出现失锁现象后, PLL的动作由时钟模式寄存器中 的IOB确定: ◆ IOB=0: 时钟发生器不中断PLL,PLL继续输出时钟; ◆ IOB=1: 时钟发生器切换到旁路模式,重新启动锁 定序列过程。 16
例8-1,TMS320VC5509A系统的晶体振荡器频率为12MHz。 通过设置DPLL,使系统时钟时钟频率为144MHz。 (1)原理:使DPLL工作在锁定模式:D4(PLL ENABLE)=1b。 PLLMULT PLLMULT 144MHZ= ×12MHz 即 =12 PLLDIV+1 PLLDIV+1 取PLLDIV=0,PLL MULT=12,即寄存器CLKMD的位: D6D5(PLL DIV)=00b,D11~D7PLL MULT)=12=01100b; 时钟模式寄存器(CLKMD)的其它位均取为0。 (2)汇编语言实现: MOV#0000011000010000b,pot(#1c00h) MOV #0610h,port(#1c00h) :1c00h为时钟模式寄存器(CLKMD)的地址。 17
12MHz PLLDIV 1 PLLMULT 144MHz= + =12 PLLDIV 1 PLLMULT + (1)原理:使DPLL工作在锁定模式: D4(PLL ENABLE)=1b。 即: 取PLL DIV=0, PLL MULT=12, 即寄存器CLKMD的位 : D6D5(PLL DIV)=00b, D11~D7(PLL MULT)=12=01100b; 时钟模式寄存器(CLKMD)的其它位均取为0。 (2)汇编语言实现: MOV #0000 0110 0001 0000b, port(#1c00h) 或MOV #0610h, port(#1c00h) ;1c00h为时钟模式寄存器(CLKMD)的地址。 例8-1,TMS320VC5509A系统的晶体振荡器频率为12MHz。 通过设置DPLL, 使系统时钟时钟频率为144MHz。 17
(3)C语言实现: (例8-1) ioport unsigned int *clkmd; CSL安装程序: clkmd=(unsigned int *)0x1c00; TMS320C55x Chip *clkmd =0x0610; Support Library 在头文件中需要 (4)使用csl实现: (sprc133.zip)(含 包含该PLL库文件 #include csl_pll.h; c5500.exe及说明文件) PLL Config Config_PLL= CSL使用参考文献: 01 *iai* TMS320C55x Chip 0 *iob* Support Library API 在头文件中 Reference Guide 12, /*pllmult*/ 进行配置 SPRU433J,A) 0 *div 在C程序(通常在初始化部分)中执 行该函数,完成对DPLL的设置 PLL_config(&Config._PLL)参考8.9.3节PLL config0函数 也可用PLL setFreq(Uint16mul,Uint16diw函数直接设置DPL 18
(3) C语言实现: ioport unsigned int *clkmd; clkmd=(unsigned int *)0x1c00; *clkmd =0x0610; (4) 使用csl实现: #include csl_pll.h; PLL_Config Config_PLL={ 0, /*iai*/ 0, /*iob*/ 12, /*pllmult*/ 0 /*div */ } PLL_config(&Config_PLL);参考8.9.3节PLL_config ()函数 在头文件中 进行配置 在头文件中需要 包含该PLL库文件 在C程序(通常在初始化部分)中执 行该函数,完成对DPLL的设置 (例8-1) 18 CSL安装程序: TMS320C55x Chip Support Library (sprc133.zip) (含 C5500.exe及说明文件) 也可用PLL_setFreq (Uint16 mul, Uint16 div)函数直接设置DPLL. CSL使用参考文献: TMS320C55x Chip Support Library API Reference Guide (SPRU433J,A)