S3C2440 PLL时钟配置与CPU频率设置解析
需积分: 15 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的时钟系统对于开发基于该处理器的嵌入式系统至关重要,因为它直接影响到系统的响应速度、功耗以及设备间的同步。正确配置这些寄存器可以优化系统性能,同时确保各个组件稳定运行。在实际应用中,开发者需要根据具体的应用场景和性能需求来调整这些参数。
2011-08-04 上传
2011-05-01 上传
点击了解资源详情
2022-09-23 上传
2022-09-14 上传
2022-09-14 上传
2022-09-19 上传
2022-09-24 上传
2022-09-21 上传
求佛_ce123
- 粉丝: 4168
- 资源: 24
最新资源
- XX物业北京市西城区文化中心项目物业管理服务方案
- Ambre972ppm.github.io
- neji_calculator:计算调整表并导出用于近等准音调(NEJI)调整系统的Scala文件
- Emacs:我的 .emacs 文件和我的 .emacs_plugins 目录
- go-jsonschema:Go中的JSON模式解析器和工具
- xlsx_2_lua.zip
- microbenchmark:准确测量和比较R表达式执行时间的基础架构
- CacheSimulator
- cloudcomputing:云计算研讨会
- DownloadProgressViewDemo:下载ProgressViewDemo
- 基于java的netty实现的可靠udp网络库java-Kcp-master.zip
- Budget-Class:这是预算应用程序的测试代码。 仍在进行中。 如果可以的话改善它
- three.js展示nrrd+vtk3D模型-html展示
- svg:一个简单的仅标头库,用于从C ++生成SVG文件
- PSO粒子群算法matlab实现
- udacity_data_analyst_nd:2021年2月同类群组