ARM时钟问题

          在ARM中要有一个统一的时钟信号,在这个时钟下,各个部件才能有条不紊,按部就班的运行,这个时钟有两种来源,一种是内部晶振,这种晶振频率固定,不利于各个部件的需要,因为不同部件需要的频率可能不相同;另一种是通过外部晶振,这种晶振可以通过锁相环PLL进行控制,在MPLL的控制下,可以分出三种时钟频率,FCLK给CPU,HCLK给高速外设,PCLK给低速外设,在UPLL的控制下,可以得到USB的时钟为UCLK.

通过PLL控制,主要是通过以下三种寄存器来控制

1.LOCKTIME.MPLL启动后需要等待一段时间(LOCK TIME),使得其输出稳定.位[31:16]用于UPLL,位[15:0]用于MPLL.使用缺省值0xffffffff即可.

2.MPLLCON.此寄存器主要是设置FCLK与Fin的关系倍数(Fin是时钟源固有频率)

 位[19:12]的值称为MDIV   位[9:4]的值称为PDIV 位[1:0]的值称为SDIV

FCLK与Fin的计算关系式为

MPLL(FCLK)=(2*m*Fin)/(p*2^s)

其中m=MDIV+8;p=PDIV+2;s=SDIV;

3.CLKDIV.此寄存器主要是配置HCLK,PCLK与FCLK的关系,所以应该先配置MPLLCON再配置CLKDIV

HDIVN:位[2:1],用来设置HCLK与FCLK的比例关系

PDIVN:位[0],用来设置PCLK与HCLK比例关系

具体详见我的图书馆http://www.360doc.com/myfiles.aspx?app=7&type=2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值