Clock Controller Module for IMX31

转自:coryxie.blogspot.com

CCM包括FPM(频率预乘)和PLL控制,时钟分布,复位信号产生,以及高级功耗管理等;
第一部分)FPM(频率预乘)和PLL控制
IMX31有3个独立的DPLL,利用PLL时钟源的频率产生3个独立的输出时钟频率,用于3个
不同的时钟域的时钟,包括MCU CLK,USB CLK,SERIAL CLK三个时钟域;时钟源
可以是外部直接的高频时钟(CKIH),或者对低频外部时钟(CKIL)通过FPM来产生高
频时钟源,这种选择是通过对DPLL的寄存器编程来完成的。这种选择可以通过外部管
脚ipp_clkss在复位时的状态或者通过设置CCMR寄存器的PRCS域值来完成。

第二部分)时钟分布
下面我们结合上图来详细分析IMX31的时钟分布情况。
1)CKIL可以是32 kHz, 32.768 kHz 或者 38.4 kHz 的crystal,一方面直接供给RTC时钟;
另一方面接FPM,产生1024*CKIL的输出,作为pll_ref_clk的选项之一。
2)MCU时钟域的关键是MCU Clock Domain Clock Source Switch Unit,该单元的输出
mcu_main_clk可能来自于pll_ref_clk,mpl_dpdgck_clk (MCU PLL output), and
spl_dpdgck_clk (SRPLL output)之一。在pll_ref_clk,mpl_dpdgck_clk之间的选择是通过
设置CCMR寄存器的MPE(使能MCU PLL)和MDS(时钟源选择)来完成的。通过DVFS
(dynamic voltage frequency scaling)的使能来进一步选择是否使用spl_dpdgck_clk作为mcu_main_clk输出。
A)mcu_clk (ipg_clk_arm),用于ARM核,
可达532MHz,用PDR0寄存器MCU_PODF
域来控制;
B)max_clk sub-domain (ipg_clk_ahb),
用于ARM的内部的外设,如十字开关;最大
133MHz,通过PDR0寄存器的MAX_PDOF
来控制;
C)hsp_clk is the clock for the IPU;最大
133MHz,通过PDR0寄存器的HSP_PDOF
来控制;
D)ipg_clk sub-domain clk用于片上的IP外设,
最大62.5MHz,用PDR0寄存器的IPG_PDOF
来控制;
E)nfc_clk (ipg_clk_nfc_20m)通过PDR0寄存器的NFC_PDOF来控制;
F)ckil_mcu_sync_ipg is for the peripheral modules,32-kHz clock。
G)ipg_clk_gacc_mbx_clk is for the MBX module. It is 1/2 of the ipg_ahb_clk,66 MHz.
3)USB 时钟域和SERIAL时钟域和MCU时钟域的分布方法类似,此处略去。

转载于:https://www.cnblogs.com/harber/archive/2007/12/19/1006423.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值