K60锁相环225M时钟配置详解
需积分: 9 113 浏览量
更新于2024-07-26
收藏 160KB DOC 举报
本文档主要介绍了在基于K60微控制器平台上的时钟设置过程,具体涉及到了锁相环(PLL)的初始化和配置。"hw_pll.c" 文件的核心部分是 pllinit225M 函数,用于将系统时钟设置为 225 MHz。以下是详细的步骤解析:
1. **启用IO端口时钟**:
首先,函数设置了SIM_SCGC5寄存器,以激活PORTA、PORTB、PORTC、PORTD和PORTE的时钟,这确保了所需的硬件资源可以被正确驱动。
2. **频率扩展模式转换**:
MCG_C2寄存器被用来控制时钟源的选择和模式。原始状态可能是FEI模式,通过将MCG_C2设置为MCG_C2_RANGE(2) | MCG_C2_HGO_MASK | MCG_C2_EREFS_MASK,功能从FEI(Fast External Input)模式切换到FBE(Fast Baud Rate External)模式,以便使用外部时钟源。
3. **晶振初始化和释放锁定状态**:
在进入FBE模式之前,SIM_SCGC4寄存器中的LLWU_MASK被设置,允许外部晶振和GPIO接口的初始化。LLWU_CS寄存器也被操作以清除IREFS信号,从而启动外部晶振。
4. **外部晶振选择与分频器配置**:
MCG_C1寄存器用于设置分频器(FRDIV)和时钟来源(CLKS)。选择外部晶振作为参考,DivideFactor设置为256,意味着外部晶振频率被除以256来得到系统的时钟频率。
5. **等待时钟稳定和锁相环初始化**:
使用循环结构检查MCG_S寄存器的标志位,确认晶振稳定(MCG_S_OSCINIT_MASK)和锁相环初始化完成(MCG_S_IREFST_MASK)。
6. **时钟源切换和频率调整**:
通过设置MCG_C5寄存器的PRDIV(Predivider),将外部参考时钟进一步分频,选择一个特定的频率值,这里是20分频(2.5 MHz),以便达到最终目标225 MHz。
7. **复位MCG_C6寄存器**:
为了确保PLL和其他时钟控制器在使用前被正确初始化,MCG_C6需要保持在复位状态,通过相应的设置禁止LOLIE(Low Latency Oscillator Interface Enable)、PLL和时钟控制器的其他功能。
该文档详细描述了如何在K60微控制器上通过锁相环技术实现对225 MHz时钟源的配置和管理,包括外部时钟源的选择、分频器的设定以及相关寄存器的操作,这对于理解和调整微控制器的时钟系统具有重要意义。
点击了解资源详情
点击了解资源详情
点击了解资源详情
164 浏览量
120 浏览量
2022-07-07 上传
dahaiyidi
- 粉丝: 18
最新资源
- Ubuntu/Mac工作站的Ansible自动化配置手册
- 掌握核心,JAVA初级面试题解析大全
- 自我测试指南:成功方法与技巧大公开
- ReactSortableHOC实现动画化可排序的触摸友好列表
- SAE开源平台:整合Spring与SMS通讯功能
- 温尼伯公交信息实时查询系统开发
- JAVA实现的可部署仓储管理信息系统详解
- ArquitecturaClass软件:探讨JavaScript的架构设计
- 掌握React项目构建与部署的capstone3指南
- 详细解读车辆购置附加费征收办法
- Java实现学生成绩管理系统的设计与功能
- 易语言实现的MDB网络数据库模块源码解析
- 艺佰设计提供清新企业Discuz模板下载
- 掌握Python中的MLEnsemble实现高效集成学习
- Java实现读取搜狗细胞词库scel文件教程
- 探索城市星球的崛起:Nature & Science精选论文