打印
[Kinetis]

关于ICS_C3如何设置以获得想要的时钟

[复制链接]
3844|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
andyliu|  楼主 | 2015-6-10 14:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void Clk_Init()

{
       
        ICS_C1|=ICS_C1_IRCLKEN_MASK;                 /* Enable the internal reference clock*/
        ICS_C3= 0x90;                                                /* Reference clock frequency = 39.0625 KHz*/               
        while(!(ICS_S & ICS_S_LOCK_MASK));   /* Wait for PLL lock, now running at 40 MHz (1024 * 39.0625Khz) */               
ICS_C2|=ICS_C2_BDIV(1)  ;                         /*BDIV=2, Bus clock = 20 MHz*/
ICS_S |= ICS_S_LOCK_MASK ;                         /* Clear Loss of lock sticky bit */       

}为什么设置ICS_C3= 0x90就对应39.0625 KHz,用户手册上也没说SCTRIM是如何调整的

相关帖子

沙发
FSL_TICS_Robin| | 2015-6-10 15:52 | 只看该作者
注释是不准确的。
请问你是哪款型号的芯片?

使用特权

评论回复
板凳
GGBOND| | 2015-6-10 16:23 | 只看该作者
同样的问题,请教版主,我用的是KE04系列

使用特权

评论回复
地板
GGBOND| | 2015-6-10 16:23 | 只看该作者
ICS_C3= 0x90; 表示什么意思?

使用特权

评论回复
5
FSL_TICS_Robin| | 2015-6-10 16:45 | 只看该作者
GGBOND 发表于 2015-6-10 16:23
同样的问题,请教版主,我用的是KE04系列

下次注意点击我那层楼里的回复按钮,这样我才能收到系统提示及时答复你。:)

使用特权

评论回复
6
FSL_TICS_Robin| | 2015-6-10 16:47 | 只看该作者
GGBOND 发表于 2015-6-10 16:23
ICS_C3= 0x90; 表示什么意思?

如果是Kinetis E、EA系列的微控制器,那么建议大家看一下【经验分享】KE02芯片OpenSDA调试时IRC频率问题
每个芯片的内部RC振荡器特性稍有不同,所以给ICS_C3写同样的值是不行的。

使用特权

评论回复
7
summer_zq| | 2015-6-10 16:50 | 只看该作者
我也有兴趣知道一下:)

使用特权

评论回复
8
GGBOND| | 2015-6-10 16:54 | 只看该作者
FSL_TICS_Robin 发表于 2015-6-10 16:47
如果是Kinetis E、EA系列的微控制器,那么建议大家看一下【经验分享】KE02芯片OpenSDA调试时IRC频率问题
...

也就是说ICS_C3的值可以默认不填???

使用特权

评论回复
9
GGBOND| | 2015-6-10 16:58 | 只看该作者
FSL_TICS_Robin 发表于 2015-6-10 16:47
如果是Kinetis E、EA系列的微控制器,那么建议大家看一下【经验分享】KE02芯片OpenSDA调试时IRC频率问题
...

我发的回复,怎么不见了。看了你发的那片**写的很详细。

那么也就是说ICS_C3我可以默认不用给他填值,是吗?

使用特权

评论回复
10
FSL_TICS_Robin| | 2015-6-10 16:59 | 只看该作者
GGBOND 发表于 2015-6-10 16:54
也就是说ICS_C3的值可以默认不填???

每块芯片ICS_C3装载的默认值的就会让内部RC振荡器对应芯片数据手册上标明的频率。

使用特权

评论回复
11
FSL_TICS_Robin| | 2015-6-10 17:02 | 只看该作者
GGBOND 发表于 2015-6-10 16:58
我发的回复,怎么不见了。看了你发的那片**写的很详细。

那么也就是说ICS_C3我可以默认不用给他填值, ...

如果你的内部RC振荡器不想用数据手册上标明的统一频率,这时候才需要去修改芯片ICS_C3值。
但修改ICS_C3就要结合PEmicro公司的仿真器实现了。

使用特权

评论回复
12
GGBOND| | 2015-6-10 17:08 | 只看该作者
FSL_TICS_Robin 发表于 2015-6-10 17:02
如果你的内部RC振荡器不想用数据手册上标明的统一频率,这时候才需要去修改芯片ICS_C3值。
但修改ICS_C3 ...

是否可以这样理解:

ICS_C3内的值实际是对RC振荡器频率的一个补偿?

使用特权

评论回复
13
FSL_TICS_Robin| | 2015-6-10 17:12 | 只看该作者
GGBOND 发表于 2015-6-10 17:08
是否可以这样理解:

ICS_C3内的值实际是对RC振荡器频率的一个补偿?

可以这样理解
由于每块芯片的RC振荡器性能参数均稍有不同,所以为了达到相同频率的补偿值也不同。
所以编程时直接给ICS_C3一个固定值的做法是不准确的。

使用特权

评论回复
14
GGBOND| | 2015-6-10 17:19 | 只看该作者
FSL_TICS_Robin 发表于 2015-6-10 17:12
可以这样理解
由于每块芯片的RC振荡器性能参数均稍有不同,所以为了达到相同频率的补偿值也不同。
所以编 ...

谢谢,你的回答完美的解决了我的疑惑!

使用特权

评论回复
15
andyliu|  楼主 | 2015-6-10 19:33 | 只看该作者
FSL_TICS_Robin 发表于 2015-6-10 15:52
注释是不准确的。
请问你是哪款型号的芯片?

使用的是MKE02Z64VLC4

使用特权

评论回复
16
FSL_TICS_Robin| | 2015-6-11 09:20 | 只看该作者
andyliu 发表于 2015-6-10 19:33
使用的是MKE02Z64VLC4

请先看帖子内容是否能够解决你的问题,如果有什么不明白的地方在帖子里回复我。

使用特权

评论回复
17
andyliu|  楼主 | 2015-6-11 15:31 | 只看该作者
FSL_TICS_Robin 发表于 2015-6-11 09:20
请先看帖子内容是否能够解决你的问题,如果有什么不明白的地方在帖子里回复我。 ...

ICS_C3的设置值如何对应实际的调整频率,手册没讲到。只有用PE的仿真器才能改变ICS_C3的值?如何利用u-multilink来修改ICS_C3

使用特权

评论回复
18
FSL_TICS_Robin| | 2015-6-11 15:36 | 只看该作者
andyliu 发表于 2015-6-11 15:31
ICS_C3的设置值如何对应实际的调整频率,手册没讲到。只有用PE的仿真器才能改变ICS_C3的值?如何利用u-mu ...

PEmicro的仿真器几乎都有这个功能的,你找一下通常是让你输入所需频率仿真器自动给你修改的。

使用特权

评论回复
19
andyliu|  楼主 | 2015-6-11 15:45 | 只看该作者
FSL_TICS_Robin 发表于 2015-6-11 15:36
PEmicro的仿真器几乎都有这个功能的,你找一下通常是让你输入所需频率仿真器自动给你修改的。 ...

那批量时怎么办?也要用仿真器来修改?

使用特权

评论回复
20
FSL_TICS_Robin| | 2015-6-11 15:57 | 只看该作者
andyliu 发表于 2015-6-11 15:45
那批量时怎么办?也要用仿真器来修改?

Kinetis E系列就这点比较麻烦,需要用到PEmicro公司的仿真器或烧录器实现。

使用特权

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

本版积分规则

11

主题

34

帖子

0

粉丝