LPC111x/11Cxx系统时钟配置:set_pll子程序详解

需积分: 50 62 下载量 37 浏览量 更新于2024-08-10 收藏 2.49MB PDF 举报
在LPC11Cxx系列微控制器的用户手册中,章节5.5讨论了"时钟子程序",特别是set_pll功能。set_pll是一个关键的低功耗配置子程序,用于调整系统 PLL (Phase-Locked Loop,锁相环) 的工作状态。当需要通过简单分频得到所需的时钟时,set_pll会启用旁路模式,从而减少系统的功耗。 在调用set_pll之前,必须确保PLL时钟源已设置为IRC (Internal Reference Clock) 或系统振荡器,并且主时钟源已设置为PLL输入时钟。此外,系统AHB时钟分频值应设置为1,以保持基本配置。set_pll的主要目标是寻找合适的PLL设置,包括反馈分频器值(SYSPLLCTRL,M)、后分频器值(SYSPLLCTRL,P)以及系统AHB分频器值,以达到所需的系统时钟频率。 当set_pll成功执行时,它会载入这些配置并设置系统时钟,同时返回一个结果代码(PLL_CMD_SUCCESS)以确认操作成功。若出现错误,代码将包含错误信息。应用程序需要根据返回的结果来调整其他设备的时钟,如ssp、uatr和/或输出时钟。例如,WDt_osc_clk可能就是通过set_pll设置后的时钟之一。 图7展示了LPC111x/102/202/302功耗服务程序中的时钟配置结构,其中包括了系统PLL、主要时钟源、分频器控制寄存器等组件。这部分内容对于理解和优化微控制器的性能和功耗管理至关重要,尤其是在嵌入式系统设计中,精确的时钟管理有助于提高系统响应速度和降低能耗。 需要注意的是,该手册翻译版仅供参考,原文档以英文为准。版权属于NXP B.V.,所有权利受保留。手册的修订历史记录显示,该文档在2011年6月进行了多次更新,添加了新的功能和改进,包括深度掉电模式支持、UART串行时钟选项、IOCON寄存器的更新和Windowed Watchdog Timer(WDT)章等内容。对于具体应用中遇到的问题,建议查阅最新版本的手册以获取最准确的信息。