PLL的启动设置顺序:此序列非常重要不能出现错误。
1,如果PLL已经连接,通过喂食序列断开连接。
2,通过喂食序列断开使能。
3,如果需要加快无锁相时的速度,改变CPU分频器的设置。
4,写The PCLKSRCSEL register以选择相应的时钟源驱动PLL。
5,写PLLCFG,喂食序列保证生效。此时PLL是不使能状态。
6,使能PLL, 喂食序列保证生效。
7,在使能PLL的条件下,改变CPU分频器的设置。在连接PLL之前这一点非常重要。
8,等待PLL稳定。通过监视PLOCK(the PLLSTAT register)是否置位确定。或者通过中断实现,或者等待固定时间。
9,连接PLL,喂食序列保证生效。
PLL输出的时钟通过分频用于CPU和USB等模块。当USB接口使时,CPU频率必须大于18MZ。USB接口频率必须是48MZ的整数倍。
CPU Clock Configuration register (CCLKCFG ),配置寄存器控制PLL输出给CPU分频的大小。当PLL无连接时,CCLKCFG取值为1。CCLKSEL取值为0,1,3,5……255。此值加1为实际分频大小。
USB Clock Configuration register (USBCLKCFG),配置寄存器控制PLL输出给USB分频的大小。当PLL无连接时,CCLKCFG取值为1。USBCLKCFG取值为0,1,2,3,4,5,6,7。此值加1为实际分频大小。
IRC Trim Register (IRCTRIM) 该寄存器是用来调整片内的4 MHz振荡器。
Peripheral Clock Selection registers 0 and 1 (PCLKSEL0 and PCLKSEL1)该寄存器用来设置外围模块的时钟。(数据手册P58)