总结这几天的locks的总结,初始化时钟就用到了三类寄存器,xPLL_CON0(x为A/M/P等)、CLK_DIV0 、CLK_SRC0
下面我找出了,这几个寄存器的详细信息,就是出去保留位的其他有效位:
锁相环-----倍频器
APLL_CON0 = 0xE010_0100
ENABLE [31] PLL enable control (0: disable, 1: enable) 0
LOCKED [29] PLL locking indicatio 0 = Unlocked 1 = Locked Read Only n 0
MDIV [25:16] PLL M divide value 0xC8
PDIV [13:8] PLL P divide value 0x3
SDIV [2:0] PLL S divide value 0x1
分频器
CLK_DIV0 = 0xE010_0300
PCLK_PSYS_RATIO [30:28] DIVPCLKP clock divider ratio, PCLK_PSYS = HCLK_PSYS / (PCLK_PSYS_RATIO + 1) 0x0
HCLK_PSYS_RATIO [27:24] DIVHCLKP clock divider ratio, HCLK_PSYS = MOUT_PSYS / (HCLK_PSYS_RATIO + 1) 0x0
PCLK_DSYS_RATIO [22:20] DIVPCLKD clock divider ratio, PCLK_DSYS = HCLK_DSYS / (PCLK_DSYS_RATIO + 1) 0x0
HCLK_DSYS_RATIO [19:16] DIVHCLKD clock divider ratio, HCLK_DSYS = MOUT_DSYS / (HCLK_DSYS_RATIO + 1) 0x0
PCLK_MSYS_RATIO [14:12] DIVPCLKM clock divider ratio, PCLK_MSYS = HCLK_MSYS / (PCLK_MSYS_RATIO + 1) 0x0
HCLK_MSYS_RATIO [10:8] DIVHCLKM clock divider ratio, HCLK_MSYS = ARMCLK / (HCLK_MSYS_RATIO + 1) 0x0
A2M_RATIO [6:4] DIVA2M clock divider ratio, SCLKA2M = SCLKAPLL / (A2M_RATIO + 1) 0x0
APLL_RATIO [2:0] DIVAPLL clock divider ratio, ARMCLK = MOUT_MSYS / (APLL_RATIO + 1) 0x0
选择器
CLK_SRC0 = 0xE010_0200
ONENAND_SEL [28] Control MUXFL ASH (0:HCLK_PSYS, 1:HCLK_DSYS) 0
MUX_PSYS_SEL [24] Control MUX_PSYS (0:SCLKMPLL, 1:SCLKA2M) 0
MUX_DSYS_SEL [20] Control MUX_D SYS (0:SCLKMPLL, 1:SCLKA2M) 0
MUX_MSYS_SEL [16] Control MUX_MSYS (0:SCLKAPLL, 1:SCLKMPLL) 0
VPLL_SEL [12] Control MUXVPLL (0: FINVPLL, 1: FOUTVPLL) 0
EPLL_SEL [8] Control MUXEPLL (0:FINPLL, 1:FOUTEPLL) 0
MPLL_SEL [4] Control MUXMPLL (0:FINPLL, 1:FOUTMPLL) 0
APLL_SEL [0] Control MUXAPLL (0:FINPLL, 1:FOUTAPLL) 0
上面的是寄存器的几个位,没有列出的是寄存器的保留位,
要实现时钟的初始化,我们需要做一下几个步骤:
第一步: 打开一个PLL,如:APLL_CON[31] = 1
第二步: 等待lock的上锁时间,APLL_LOCK[0-15] = 0xFFFF
第三步: 选择PLL的输出时钟代替参考的输入时钟,在PLL输出时钟稳定的时,如APLL_SEL = 1、CLK_SRC0 = 0x10001111
第四步: 设置PLL的输出频率,即PMS,这几位的值,如:APLL_CON0的M=0x7d,P=0x3,S=0x1
第五步: 用除法器改变系统的输出频率,即设置寄存器如:CLK_DIV0 =0x14131440
下面我在附一张芯片手册里边的寄存器设置步骤的图片:
……
这几天终于把我这个计划第一步的理论部分学习完毕了,
……
加油!