飞卡日常进度之K60时钟

举报
ReCclay 发表于 2022/02/21 23:44:51 2022/02/21
【摘要】 刚听说到K60的时钟时,相信你也会感觉到乱花渐欲迷人眼,无从下手的感觉,我的51不过就一个晶振而已嘛!!!(雾QAQ) Kinetis 时钟分类 Kinetis 系列单片机,有四个时钟:内核时钟...

刚听说到K60的时钟时,相信你也会感觉到乱花渐欲迷人眼,无从下手的感觉,我的51不过就一个晶振而已嘛!!!(雾QAQ)


Kinetis 时钟分类

Kinetis 系列单片机,有四个时钟:内核时钟(core)、总线时钟(bus)、外部
总线时钟(FlexBus)【Flex意思是用户可配置的(或灵活的)的意思)】、Flash 时钟(Flash clock)

KL系列是没有FlexBus时钟,而且Bus时钟和Flash时钟是相等的。

这些时钟是可以设置的。
K60的在 pll_init 里面,有个设置分频的 set_sys_dividers 函数。

设置系统分频因子选项:set_sys_dividers(a,b,c,d);
那样的话, MCG=PLL:
core = MCG/(a + 1), bus = MCG/(b + 1),
FlexBus = MCG/(c + 1), Flash clock= MCG/(d + 1)

各种时钟的用途

内核时钟 ,顾名思义是cortex-M4 内核的工作频率,主要是 运算,滴答定时器,串口0、1 的工作频率
bus频率,是kinetis 的外围模块工作频率,例如 串口2~4 ,I2C ,PIT定时器。
flex bus,是芯片外围的工作频率,例如驱动 片外 SDRAM 等
flash 频率,就是 flash 模块的工作频率,代码都保存在 flash 里的。

山外K60超频

山外K60库 的超频设置非常简单,只需要修改宏定义即可,在k60_fire.h文件夹下:(新版本 5.0 在 Board/inc/FIRE_MK60_conf.h里, 5.1 在 App/inc/MK60_conf.h里)KL26 在 App/inc/MKL_conf.h
提示:超频会提高性能,但同时也会带来不稳定的情况发生。不建议超频到极限,得留一点空余,否则会出现各种莫名其妙的情况发生。

#define MCG_CLK_MHZ         PLL100      // 设置时钟频率
#define MAX_BUS_CLK         50         // bus不要超过200M,这里设为50M
#define MAX_FLASH_CLK       25          // flash不能超过32M,这里设为不超过25M
  
 
  • 1
  • 2
  • 3

假设 CORE 频率设为 100M (上述的代码PLL100就是设为 100M),那么bus 的可选值为 100、100/2、100/3、……、100/16。
程序中#define MAX_BUS_CLK 50 就是限定 bus最大为 50M,上述的取值中符合这一条件的最大值为 100/2 = 50 ,所以bus为50M。

修改地方:
这里写图片描述

Kinetis单片机是三级流水线,单指令周期执行。内核时钟越快,那么代码的执行速度越快。

KL26 需要配置 PLL 、CORE 、和 BUS(flash) 时钟。配置方法与K60基本相同。


参考:http://www.vcan123.com/forum.php?mod=viewthread&tid=81&ctid=1

文章来源: recclay.blog.csdn.net,作者:ReCclay,版权归原作者所有,如需转载,请联系作者。

原文链接:recclay.blog.csdn.net/article/details/79514001

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。