PLL可以用来提供芯片时钟,是由PLLSTAT(PLL状态寄存器)来控制的,由第9位来控制,用来读出PLL的连接位。当第8位PLLE和第9位PLLC都为1时,PLL作为时钟源连接到处理器。当PLLC或PLLE为0时,PLL被旁路,处理器直接使用振荡器时钟。
由此处可以得到,有两种方法来提供板子的时钟源。
PLL的频率计算:
PLL的频率计算使用下列参数:
Fosc the frequency from the crystal oscillator/external oscillator 晶振频率
Fcco the frequency of the PLL current controlled oscillator PLL电流控制振荡器的频率
Fcclk the PLL output frequency(also the processor clock frequency) PLL输出频率(也是处理器的时钟频率)
M PLL Multiplier value from the MSEL bits in the PLLCFG register PLLCFG寄存器中MSEL位的倍频器值
P PLL Divider value from the PSEL bits in the PLLCFG register PLLCFG寄存器中PSEL位的分频器值
PLL输出频率 (当PLL激活并连接时):
Fcclk = M × Fosc 或者Fcclk = Fcco / (2 × P)
CCO频率:
Fcco = Fcclk × 2 × P 或者 Fcco= Fosc× M × 2 × P
PLL操作方法
1)查询方式
>>PLLCON=1,设定PLL之前,必须先使能PLL,但不能连接PLL;
>>设定P和M的值(PLLCFG);
>>发送PLL馈送序列;
>>等待PLL锁定,PLLSTAT,10=1;
>>PLL使能和连接,PLLCON=3;
。
2)中断方式
主程序:
>>PLLCON=1,设定PLL之前,必须先使能PLL,但不能连接PLL;
>>设定P和M的值(PLLCFG);
>>发送PLL馈送序列;
PLL中断服务程序:
>>PLL使能和连接,PLLCON=3;
>>发送PLL的馈送序列,把P和M的值写入硬件;
>>禁止PLL中断,返回;