S3C2440-时钟

  1)FLCK、HCLK和PCLK的关系

S3C2440A 中包含三个时钟信号,FCLK、HCLK 、PCLK。

两个锁相环(PLL):一提供给FCLK、HCLK 和PCLK,另一个专用于USB 模块(48MHz)。

FCLK:用于CPU核

HCLK:用于高速外设总线(如SDRAM、中断、LCD、DMA、USB)

PLCK:用于低速外设总线(如UART、IIS、I2C、PWM、MMC、ADC、GPIO、RTC、SPI、WATCHDOG)

UPLL:用于USB设备
S3C2440A 还支持对FCLK、HCLK 和PCLK 之间分频比例的选择。该比例由CLKDIVN 控制寄存器中的HDIVN和 PDIVN 所决定。

这三个时钟通常设置为1:4:8,1:3:6的分频关系,也就说如果主频FLCK是400MHz,按照1:4:8的设置,那么HLCK是100MHz,PLCK是50MHz

寄存器CLKDIVN表明并设置了这三个时钟的关系

输入时钟FIN与主频FCLK的关系:

现代的CPU基本上都使用了比主频低的多的时钟输入,在CPU内部使用锁相环进行倍频。对于S3C2440,常用的输入时钟FIN有两种:12MHz和16.9344MHz,那么CPU是如何将FIN倍频为FCLK的呢?

S3C2440使用了三个倍频因子MDIV、PDIV和SDIV来设置将FIN倍频为MPLL,也就是FCLK

寄存器MPLLCON就是用来设置倍频因子的

例如,假设输入时钟FIN=16.9344M,MDIV=110, PDIV=3, SDIV=1,

利用上面的公式,FCLK=2*16.9344*(110+8)/((2+3)*2)=399.65

3)关于USB时钟

S3C2440有两个锁相环,一个主锁相环MPLL提供给FCLK的,另外一个UPLL是提供给USB时钟(48MHz)的,与MPLL一样,UPLL的产生也是通过UPLLCON寄存器设置分频因子得到,计算公式稍有不同:

UPLL=(m*FIN)/(p*2^s) where m=(MDIV+8), p=(PDIV+2), s=SDIV,同样,可以通过查表得到一个合适的值。

最后值得一提的是,在CLKDIVN的第三位DIVN_UPLL用来设置USB时钟UCLK和UPLL的关系,如果UPLL已经是48Mhz了,那么这一位应该设置为0,表示1:1的关系,否则是1:2的关系

 

4)最后,给出我的TQ2440开发板的时钟设置

FIN=16.9344

MDIV:110 HDIV:3 SDIV:1,比例为1:4:8

CLKDIVN: 5

因此,FCLK=399.65MHZ  HCLK=99.91MHZ PCLK=49.95MHZ

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值