winbond w90p710中pll的相关设置

来源:互联网 发布:linux 最大文件打开数 编辑:程序博客网 时间:2024/05/22 07:05

pll的设置是这样的:

因为可以选择extal作为时钟源,通过设置CLKSEL寄存器中的ECLKS位,当其为1时指定通过pll处理的时钟作

为内部时钟,否则就直接用extal作为内部时钟,即extal不做相应处理就使用.

假设,ECLKS=1,那么extal时钟源被处理过程的参数就要通过PLLCON寄存器来设置,它们的关系是
      NF  1
Fout=Fin * ------- * -------
      NR  NO
在默认情况下PLLCON=0x0000_2F01,又因为extal输入默认为15MHz,即Fin=15MHz,根据PLLCON中相应位的

设置情况,可以计算出Fout=480MHz.

但这个值还不是直接用到内部时钟的,而要经过一个被称为PLL output clock select的逻辑,通过CLKSEL

中的位[3:1]来指定,

在Fout=480MHz的情况下,有下列对应关系:
 CLK[3:1]  System clock
 0  0  0   58.594KHz
 0  0  1   24MHz
 0  1  0    48MHz
 0  1  1   60MHz
 1  0  0   80MHz
 1  0  1   Reserved
 1  1  0   Reserved
 1  1  1   Reserved

可以得到一个对应关系:
当CLK=1时,System clock = Fout/20
当CLK=2时,System clock = Fout/10
......

所以,如果想让System clock=40MHz的话,只需将Fout=240MHz,CLK[3:1]=100.
反推回去,就可以得到PLLCON里面的这位的设置.

当然得注意其他寄存器位的设置。