打印
[资料分享与下载]

简单验证K60内部时钟运行频率

[复制链接]
631|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
新的一年,开个好头~K60凉在手里好多天了,好久没弄了,今天又拿出来当宝贝似的玩了玩,捣鼓了一上午,有点小收获,跟大家分享一下,因为只是一种小技巧,所以就不单独列入从零入手系列了。

相关帖子

沙发
niuyaliang|  楼主 | 2015-2-27 21:00 | 只看该作者
其实以前看启动代码的时候就注意过这个,不过那时候没亲手试验过,老觉着空有理论,然而不实践一下怎么能行呢是吧,呵呵。其实现在发现好多人都有这个毛病,觉着看那点东西就那么回事儿,小菜儿,往往就懒得去动手去验证一下,个人觉着这个陋习不只是在刚入门的人身上有体现,很多高手也有这个毛病。个人建议下尽量去克服这个陋习(虽然我也有这个毛病,汗,正在改_ing),因为我们搞电子的、搞工程的不就是靠的动手能力吗,咱靠着吃饭的家伙可不能冷落了它,觉着有理的顶一个哈,哈哈~

使用特权

评论回复
板凳
niuyaliang|  楼主 | 2015-2-27 21:01 | 只看该作者
下面进入正题,我们在通过MCG模块设置系统时钟的时候,往往无法去准确确定设置后系统的运行时钟跟自己的设置是否对应。到这里可能会有人提出通过软件延时不断翻转某个IO状态来验证,好吧,我只能微微一笑了,呵呵~既然飞思卡尔给咱提供了方便的方式(不只是飞思卡尔,其实很多单片机都提供这个功能,这里用飞思卡尔人家的东西就替人家吹吹吧),咱们何乐而不为呢。

使用特权

评论回复
地板
niuyaliang|  楼主 | 2015-2-27 21:01 | 只看该作者
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即总线时钟。

使用特权

评论回复
5
niuyaliang|  楼主 | 2015-2-27 21:02 | 只看该作者
文字啰嗦,下面还是上图(管脚复用图),呵呵~

使用特权

评论回复
6
niuyaliang|  楼主 | 2015-2-27 21:03 | 只看该作者
上面是硬件上的复用情况,可以看到,trace clock 为第七个复用功能(ALT7),FB_Clock为第五个复用功能(ALT5)。现在硬件上的配置我们已经了然了,下面看看飞思卡尔官方给出的软件上是怎么实现的。这部分软件需要到启动代码文件之一sysinit.c文件(这里再抱怨一下,飞思卡尔官方给出的太麻烦了,哎)里找到。

使用特权

评论回复
7
niuyaliang|  楼主 | 2015-2-27 21:05 | 只看该作者
在最后面可以看到两个子函数及在程序之中的调用,下图:

使用特权

评论回复
8
niuyaliang|  楼主 | 2015-2-27 21:06 | 只看该作者
软件上如上图所示设置之后就可以正常输出了。在软件MCG初始化里,我设置的内核时钟为100MHz(所以trace clock为50MHz,上面有说到),总线时钟为50MHz(FB_Clock),下面看下我照下来的波形(汗,用手机照的,效果一般,没带U盘没法从示波器里直接导出,凑合着先看着,下次一定不要忘了带U盘啊,呵呵):

使用特权

评论回复
9
niuyaliang|  楼主 | 2015-2-27 21:06 | 只看该作者

使用特权

评论回复
10
niuyaliang|  楼主 | 2015-2-27 21:07 | 只看该作者

使用特权

评论回复
11
niuyaliang|  楼主 | 2015-2-27 21:08 | 只看该作者
通过上面简单的步骤就可以实现对K60内部时钟的运行频率验证了,非常方便。不过从图上看,波形有一定的直流分量,而且我测试过频率越低,这个直流分量越小,没想明白,希望有高手遇到过这个问题的指点一下,谢谢了。

使用特权

评论回复
12
ccw1986| | 2015-2-28 08:40 | 只看该作者
楼主可以合作吗

使用特权

评论回复
13
quray1985| | 2015-2-28 10:32 | 只看该作者
楼主你真有耐心,学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

2427

帖子

7

粉丝