S3C2440系统时钟架构与400MHz提升详解

需积分: 10 3 下载量 199 浏览量 更新于2024-09-12 收藏 236KB DOC 举报
本文档详细解析了三星S3C2440系统时钟架构以及如何从初始的12MHz晶振提升到400MHz的工作频率。S3C2440是一款基于ARM920T内核的处理器,其工作时钟频率主要包括四个部分:FCLK(CPU主频)、HCLK(AHB总线频率)、PCLK(APB总线频率)和USB工作频率。 1. **系统启动与基础频率**: 开发板在启动初期,仅依靠12MHz的晶振运行。当MPLLCON寄存器被正确配置并启用MPLL(多路分频器)后,处理器能工作在400MHz的高频率状态。 2. **工作频率结构**: - FCLK(400MHz): 主要为ARM920T内核提供工作频率,代表CPU的核心速度。 - HCLK(100MHz或50MHz): 为高级高性能总线(AHB)上的硬件提供工作频率,如内存、NAND闪存和LCD控制器。 - PCLK(50MHz): 提供给APB总线,用于连接像UART和Watchdog这样的控制器。 3. **时钟比率设置**: FCLK、HCLK和PCLK之间的关系可通过CLKDIVN寄存器调整。当HDIV(HCLK分频器)和PDIV(PCLK分频器)设置不同值时,会改变HCLK和PCLK的频率。例如,当HDIV=1时,HCLK减半;当PDIV=1时,PCLK也减半。 4. **异步总线模式**: 当需要将CPU工作模式从fastbusmode切换到asynchronousbusmode(异步总线模式)时,需要通过嵌入式汇编代码修改CP15C1寄存器来调整总线模式,因为当HDIV设置非零时,FCLK和HCLK不再相同。 5. **相机时钟分割**: CAMDIVN寄存器(0X4C000018)用于设置相机时钟的分割,其中HCLK4_HALF和HCLK3_HALF分别对应寄存器的[9:8]位,提供了不同的时钟比例选择。 本文档详述了S3C2440系统时钟的原理、配置步骤以及如何根据应用需求调整不同频率,这对于理解和优化S3C2440的性能和系统设计至关重要。