S3C2440 PLL时钟配置与CPU频率设置解析

需积分: 15 10 下载量 37 浏览量 更新于2024-09-26 收藏 495KB PDF 举报
"S3C2440时钟系统详解" S3C2440是一款广泛应用的嵌入式处理器,其内部包含了复杂的时钟管理机制,这对于理解和优化系统的性能至关重要。该处理器默认工作在12MHz或16.9344MHz的时钟频率,但通过内部的多相锁环(PLL)电路,可以生成更高频率的时钟信号以支持CPU和其他外围设备的高速运行。 S3C2440有两个独立的PLL单元:MPLL(Main PLL)和UPLL(USB PLL)。MPLL主要服务于CPU和除USB外的其他外围设备,而UPLL专为USB设备提供时钟。这两个PLL允许系统灵活地配置不同部分的工作频率,以满足各种功能的需求。 在S3C2440中,MPLL生成的时钟被分为三个部分:FCLK、HCLK和PCLK。FCLK是CPU核心使用的时钟,HCLK服务于先进高性能总线(AHB)上的设备,如SDRAM,而PCLK则供给先进外围总线(APB)上的设备,例如UART。每个设备根据其工作需求使用特定的时钟源,这有助于减少不必要的电源消耗和提高系统效率。 MPLL的启动流程包括几个关键步骤。首先,上电后,晶振开始稳定输出,FCLK等于晶振频率。然后,当nRESET信号变为高电平时,CPU开始执行指令。接下来,通过编程设置MPLL的相关寄存器,如LOCKTIME、CLKDIVN和MPLLCON,来启动MPLL并调整系统时钟。在设置MPLL期间,有一个锁定时间(Lock Time),在此期间,FCLK会暂停,CPU也会停止工作,直到MPLL输出稳定。 具体到寄存器设置: 1. LOCKTIME寄存器:其位[23:12]用于UPLL,位[11:0]用于MPLL,设置为0x00ffffff以确保足够的锁定时间。 2. CLKDIVN寄存器:用于设定FCLK、HCLK和PCLK之间的比例。设置为0x03时,FCLK:HCLK:PCLK的比例为1:2:4,这意味着HCLK是FCLK的两倍,PCLK是FCLK的四倍。不同的设置会影响系统中各部分的运行速度。 3. MPLLCON寄存器:用于控制MPLL的具体工作状态和频率设定。具体的设置方法是(0x5c<<12)|... 理解S3C2440的时钟系统对于开发基于该处理器的嵌入式系统至关重要,因为它直接影响到系统的响应速度、功耗以及设备间的同步。正确配置这些寄存器可以优化系统性能,同时确保各个组件稳定运行。在实际应用中,开发者需要根据具体的应用场景和性能需求来调整这些参数。