简单验证K60内部时钟运行频率
2014-11-13 23:09
218 查看
/article/1647169.html
下面进入正题,我们在通过MCG模块设置系统时钟的时候,往往无法去准确确定设置后系统的运行时钟跟自己的设置是否对应。到这里可能会有人提出通过软件延时不断翻转某个IO状态来验证,好吧,我只能微微一笑了,呵呵~既然飞思卡尔给咱提供了方便的方式(不只是飞思卡尔,其实很多单片机都提供这个功能,这里用飞思卡尔人家的东西就替人家吹吹吧),咱们何乐而不为呢。
K60(144pin的,因为有些型号由于管脚数量限制,可能会被裁减掉,这里为了严谨提一下)提供了两个复用IO管脚(PTA6和PTC3)用来输出trace_clock
和FB_Clock,其中trace_clock为调试用的跟踪时钟,通过软件可以设置成为MCG_Clock_Out或者Core_Clock/System_Clock(注意trace
clock实际输出为内部时钟的2分频);FB_Clock为FlexBus
clock即总线时钟。文字啰嗦,下面还是上图(管脚复用图),呵呵~
上面是硬件上的复用情况,可以看到,trace clock
为第七个复用功能(ALT7),FB_Clock为第五个复用功能(ALT5)。现在硬件上的配置我们已经了然了,下面看看飞思卡尔官方给出的软件上是怎么实现的。这部分软件需要到启动代码文件之一sysinit.c文件(这里再抱怨一下,飞思卡尔官方给出的太麻烦了,哎)里找到。在最后面可以看到两个子函数及在程序之中的调用,下图:
软件上如上图所示设置之后就可以正常输出了。在软件MCG初始化里,我设置的内核时钟为100MHz(所以trace
clock为50MHz,上面有说到),总线时钟为50MHz(FB_Clock),下面看下我照下来的波形(汗,用手机照的,效果一般,没带U盘没法从示波器里直接导出,凑合着先看着,下次一定不要忘了带U盘啊,呵呵):
trace
clock 波形图
FB_Clock
波形图
通过上面简单的步骤就可以实现对K60内部时钟的运行频率验证了,非常方便。不过从图上看,波形有一定的直流分量,而且我测试过频率越低,这个直流分量越小,没想明白,希望有高手遇到过这个问题的指点一下,谢谢了。
上一篇飞思卡尔Kinetis
60(K60)时钟系统分析
下一篇片外SRAM芯片IS61LV25616研究
下面进入正题,我们在通过MCG模块设置系统时钟的时候,往往无法去准确确定设置后系统的运行时钟跟自己的设置是否对应。到这里可能会有人提出通过软件延时不断翻转某个IO状态来验证,好吧,我只能微微一笑了,呵呵~既然飞思卡尔给咱提供了方便的方式(不只是飞思卡尔,其实很多单片机都提供这个功能,这里用飞思卡尔人家的东西就替人家吹吹吧),咱们何乐而不为呢。
K60(144pin的,因为有些型号由于管脚数量限制,可能会被裁减掉,这里为了严谨提一下)提供了两个复用IO管脚(PTA6和PTC3)用来输出trace_clock
和FB_Clock,其中trace_clock为调试用的跟踪时钟,通过软件可以设置成为MCG_Clock_Out或者Core_Clock/System_Clock(注意trace
clock实际输出为内部时钟的2分频);FB_Clock为FlexBus
clock即总线时钟。文字啰嗦,下面还是上图(管脚复用图),呵呵~
上面是硬件上的复用情况,可以看到,trace clock
为第七个复用功能(ALT7),FB_Clock为第五个复用功能(ALT5)。现在硬件上的配置我们已经了然了,下面看看飞思卡尔官方给出的软件上是怎么实现的。这部分软件需要到启动代码文件之一sysinit.c文件(这里再抱怨一下,飞思卡尔官方给出的太麻烦了,哎)里找到。在最后面可以看到两个子函数及在程序之中的调用,下图:
软件上如上图所示设置之后就可以正常输出了。在软件MCG初始化里,我设置的内核时钟为100MHz(所以trace
clock为50MHz,上面有说到),总线时钟为50MHz(FB_Clock),下面看下我照下来的波形(汗,用手机照的,效果一般,没带U盘没法从示波器里直接导出,凑合着先看着,下次一定不要忘了带U盘啊,呵呵):
trace
clock 波形图
FB_Clock
波形图
通过上面简单的步骤就可以实现对K60内部时钟的运行频率验证了,非常方便。不过从图上看,波形有一定的直流分量,而且我测试过频率越低,这个直流分量越小,没想明白,希望有高手遇到过这个问题的指点一下,谢谢了。
上一篇飞思卡尔Kinetis
60(K60)时钟系统分析
下一篇片外SRAM芯片IS61LV25616研究
相关文章推荐
- 简单验证K60内部时钟运行频率
- 简单验证K60内部时钟运行频率 .
- 简单验证K60内部时钟运行频率
- 《php---ajax简单示例---jquery内部运行原理》---jquery只是就ajax的一些功能进行了封装
- 透过Javascript一些变量定义及简单运算实验看JS内部运行机制
- struts1的运行原理,我们以一个简单的用户登录验证为例
- 20180302JS的深入学习:函数的深入用法、函数的参数、JS内置对象、动态时钟及验证表单的练习、JS原型链的简单了解
- STM32时钟设置和运行频率
- TQ2440开发板学习纪实(3)--- 设置时钟频率,让CPU运行的更快
- WebServices 简单安全验证以及调用频率限制
- 运行aspnet时要求启用windows集成身份验证
- 孙鑫VC++讲座笔记-(1)Windows程序内部运行机制
- 十分钟在jb里面运行hibernate的简单例子
- J2ME游戏开发中时钟的简单实现
- Lesson1 Windows程序内部运行原理 ---孙鑫VC++教程
- 用Javascript 验证表单提交&css简单认识
- J2ME游戏开发中时钟的简单实现
- Win2000 Server 上安装配置JDK,Tomcat,SqlServer2000和JDBC,运行管理JSP简单网站的实验
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)
- VBScript与窗体 简单验证