打印
[Kinetis]

关于USB时钟的问题

[复制链接]
2536|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luckyJeck|  楼主 | 2014-10-29 18:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
芯片:MK60DX256VLL10
我的开发板用的是一个50MHz的有源振荡器
首先,设置 MCG_5 中 PRDIV0 为 25 将频率降低至 2 MHz,然后再设置 MCG_C6 的 VDIV0 为 0 将频率 PLL 升至 48MHz,最后设置 USB 模块时钟频率 SIM_CLKDIV2 = 0x02,此时的USB时钟频率应该为24MHz吧,USB竟然能够正常工作?

第二次,想着把内核频率升到 96MHz提高效率,设置 MCG_5 中 PRDIV0 为 25 将频率降低至 2 MHz,然后再设置 MCG_C6 的 VDIV0 为 24 将频率 PLL 升至 96MHz,最后就不知道怎么设置 USB 模块的时钟频率啦?试过很多方法都不行。

求解:
1、PLL频率为48MHz,为什么设置 SIM_CLKDIV2 = 0x02 USB 模块可以正常工作?
2、PLL频率为96MHz时,如何设置 SIM_CLKDIV2 才能让 USB 模块可以正常工作?




相关帖子

沙发
FSL_TICS_ZJJ| | 2014-10-30 10:00 | 只看该作者
楼主你好,要想USB模块工作,就需要给USB的时钟配置为24Mhz,而你选择的USB时钟源为PLL,那么就需要将PLL通过SIM_CLKDIV2的分频,使得USB输出的时钟为24M,如果PLL是96M,那么你就需要4分频,也就是USBDIV=3.

使用特权

评论回复
板凳
luckyJeck|  楼主 | 2014-10-30 17:00 | 只看该作者
问题已经解决,USB模块必须48MHz才能工作,
问题原因是我原来的设置顺序是设置 SIMSCGC4 打开 USB Clock Gate,然后才设置 SIM_SOPT2 和 SIM_CLKDIV2,
所以当打开 USB Clock Gate 的时候,芯片就以上电后的分频值进行时钟切换,即使后来修改了分频值,修改后的分频值对原来的时钟没有影响。
将 USB Clock Gate 打开的语句放到后面就可以了。


usb.JPG (104.14 KB )

usb.JPG

使用特权

评论回复
地板
FSL_TICS_ZJJ| | 2014-10-31 10:38 | 只看该作者
luckyJeck 发表于 2014-10-30 17:00
问题已经解决,USB模块必须48MHz才能工作,
问题原因是我原来的设置顺序是设置 SIMSCGC4 打开 USB Clock Ga ...

是的,USB的工作时钟需要48MHZ,通常都是先配置好相关分频再打开USB时钟。
楼主如果还有问题,欢迎继续交流。
如果问题解决了,还请帮我们及时结贴。

使用特权

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

本版积分规则

31

主题

138

帖子

2

粉丝