0 原理
0.1 时钟源自哪里
所谓的时钟,就是电压高低的变化,只有不断的0,1交替变化,CPU才能被驱动运行。S3C2440支持多种时钟源,这通过CPU针脚OM3和OM3来选择。对于QT2440板子来说,OM3和OM2均直接接地,这就意味着时钟源来自针脚XTIpll和XTOpll,这两个针脚在TQ2440的核心板上被连接上了一个12MHz的晶振。
0.2 S3C2440的时钟原理与设置
CPU、RAM、UART等不同的设备运行时需要不同的时钟频率,这些不同的频率需要通过变频电路来提供,在电子行业这个变频电路叫做PLL(Phase Locked Loop)。作为软件出身的程序员,不太可能精通电路设计,只需要知道这个PLL可以把输入的时钟转换为很多其他不同的时钟供系统使用。
Fin(12MHz)——>(PLL变频)——–>FCLK、HCLK、PCLK
而输出频率和输入频率的关系则通过响应的寄存器进行控制。控制参数的设置在s3c2440数据手册上有详细说明。这里只列出特别需要注意的地方。
If HDIVN is not 0, the CPU bus mode has to be changed from the fast bus mode to the asynchronous
bus mode using following instructions(S3C2440 does not support synchronous bus mode).
MMU_SetAsyncBusMode
mrc p15,0,r0,c1,c0,0
orr r0,r0,#R1_nF:OR:R1_iA
mcr p15,0,r0,c1,c0,0
If HDIVN is