注:芯片的时钟设置在一些情况下是于其电源模式有关的。但是博主也是在学习阶段,对实际开发不了解,韦东山老师的视频也只讲了normal模式,所以就重点看了芯片手册的normal模式下的时钟设置。以下内容均是针对normal模式。
一、时钟的工作流程和原理:
s3c2440的工作时钟,分为给CPU工作的时钟FCLK,给AHB(high bus 高速时钟线)供应的时钟HCLK,给APB(peripheral bus 外设时钟线)供应的中/低速时钟PCLK,还有专门为USB安排的时钟(UCLK,所用的锁相环是UPLL)。
先说下整体的工作流程吧。s3c2440没有内置晶振,所以时钟信号要通过外部得到。时钟源有两个:OSC(晶振 Crystal Oscillator )和外部脉冲(EXTCLK)。(一般都使用晶振,12M的)通过引脚OM高低电平选择好时钟后,时钟源进入到芯片之后,经过MPLL锁相环提高频率,形成FCLK(FCLK频率<= MPLL的输出频率,也是寄存器设置)给CPU;再从FCLK经HDIVN 和PDIVN分别分频给HCLK和PCLK,分给AHB和APB。再由这两个线分给挂载在上面对应的设备/单元(学过stm32,就知道这个过程和32是一样的)。