关于clock的发生过程分析,我们结合两个具体过程进行分析
1.对于时钟ARMCLK的发生过程进行分析,下附图一张(P361):
总体来讲,对于ARMCLK的发生过程可以分为4个过程,与五个部件相关联,相关过程分析如下:
1.由XOM[0]的信号选择时钟输入(FINPLL)为:XXTI或者XusbXTI
2.由
CLK_SRC0的第0位APLL_SEL (
0xE010_0200)控制MUXAPLL选择APLL(1)或者FINPLL(0),这里选择APLL
3.
APLL_CON0 (
0xE010_0100)控制FOUTAPLL的输出频率:这里为1000MHZ
4.由
CLK_SRC0的16位MUX_MSYS_SEL (
0xE010_0200)控制MUXMSYS选择SCLKAPLL(0)或者SCLKMPLL(1),这里选择SCLKAPLL.
5.SCKLAPLL频率为1000MHZ,经过分频器DIV之后的ARMCLK也应该为1000MHZ故
CLK_DIV0(
0xE010_0300)的设置:ARMCLK = MOUT_MSYS / (APLL_RATIO + 1) ,APLL_RATIO 为0
2.对于串口时钟的 发生过程:
也可以简单的分为五个步骤,具体的分析过程和armclk的分析过程基本相似
涉及寄存器:CLK_SRC0的4位设置输出1选择FOUTMPLL--------------MPLL_CON设置Fout_mpll的频率--------------CLK_SRC0的24位输出0选择FOUTMPLL------DIV_HCLKP: CLK_DIV0, 0xE0100300: 14131440 [27:24]=> 0100 = /5 -> 667/5 = 133Mhz------------DIV_PCLKP: CLK_DIV0, 0xE0100300: 14131440 [30:28]=> 001 = /2 -> 133/2 = 66Mhz