查看: 3119|回复: 3

[已解决] KL05内部时钟校准问题(已解决)

[复制链接]

该用户从未签到

196

主题

495

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1482
最后登录
2020-12-3
发表于 2013-9-5 11:16:30 | 显示全部楼层 |阅读模式
我想校准一下KL05Z32的内部时钟。看数据手册,发现了一个Auto Trim Machine

1,这个模块校准内部时钟时,必须要接一个外部时钟吗?如果我的板子没有外部时钟我还能校准吗?
2,从数据手册看,这些内部时钟都是经过校准的,那他们的校准方法是不是外接一个晶振然后利用Auto Trim Machine进行校准?
    这个校准的结果寄存器是16位的,而内部的两个校准寄存器分别是9位的和4位的,校准的结果如何对应?并且校准的结果也是存放在

这几个地址里吗?
更疑惑的是,我烧写了一个程序到板子中,观察flash的寄存器的内容,发现:
1),上述存放校准值的地址内容都为0xff

而几个校准寄存器的值,却不为0xff

校准寄存器不是上电后就去那几个地址读数据吗?
3,每次烧写新程序的时候,会不会擦掉存放校准值的flash的内容?
 
我知道答案 目前已有2人回答

KL05Z32_ADDRESS.rar

268.19 KB, 下载次数: 0, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

35

主题

508

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2167
最后登录
1970-1-1
发表于 2013-9-6 14:17:26 | 显示全部楼层

回复:KL05内部时钟校准问题

 1.在校准内部时钟的时候不能同时使用内部时钟作为校准参考时钟,所以不需要外接时钟,产生总线时钟在规定的频率范围内。
如果没有外接时钟,可以通过外部的P&E Multilink工具来校准内部时钟。
你可以参考下面的链接关于如何使用外部的调试器来做校准。
http://community.freescale.com/docs/DOC-95356
2.内部时钟在出厂前是通过工厂校准的,应该类似使用外部调试器校准一样。工厂的校准值放置在内部空间内,每次芯片复位时会自动将工厂校准值放到校准寄存器中。
下面的代码就是如何将校准值拷贝到寄存器中:
  if ( *((uint8_t*) 0x03FFU) != 0xFFU) {
    MCG_C3 = *((uint8_t*) 0x03FFU);
    MCG_C4 = (MCG_C4 & 0xFEU) | ((*((uint8_t*) 0x03FEU)) & 0x01U);
  }
3.烧写新程序是会擦掉客户设置校准值的位置。
祝顺利。
回复 支持 反对

使用道具 举报

该用户从未签到

196

主题

495

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1482
最后登录
2020-12-3
 楼主| 发表于 2013-9-9 10:17:28 | 显示全部楼层

回复:KL05内部时钟校准问题

回复第 2 楼 于2013-09-06 14:17:26发表:
 1.在校准内部时钟的时候不能同时使用内部时钟作为校准参考时钟,所以不需要外接时钟,产生总线时钟在规定的频率范围内。
如果没有外接时钟,可以通过外部的P&E Multilink工具来校准内部时钟。
你可以参考下面的链接关于如何使用外部的调试器来做校准。
http://community.freescale.com/docs/DOC-95356
2.内部时钟在出厂前是通过工厂校准的,应该类似使用外部调试器校准一样。工厂的校准值放置在内部空间内,每次芯片复位时会自动将工厂校准值放到校准寄存器中。
下面的代码就是如何将校准值拷贝到寄存器中:
  if ( *((uint8_t*) 0x03FFU) != 0xFFU) {
    MCG_C3 = *((uint8_t*) 0x03FFU);
    MCG_C4 = (MCG_C4 & 0xFEU) | ((*((uint8_t*) 0x03FEU)) & 0x01U);
  }
3.烧写新程序是会擦掉客户设置校准值的位置。
祝顺利。
 

1,我用codewarrior建立了一个工程,我并没有看到
  if ( *((uint8_t*) 0x03FFU) != 0xFFU) {
    MCG_C3 = *((uint8_t*) 0x03FFU);
    MCG_C4 = (MCG_C4 & 0xFEU) | ((*((uint8_t*) 0x03FEU)) & 0x01U);
  }
类似拷贝的代码。
2,如果烧写新程序是会擦掉客户设置校准值的位置,那出厂时校准还有什么意义呢?用户肯定是要写新程序的。
出厂校准的值,也会被擦掉。
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
发表于 2013-9-9 15:55:40 | 显示全部楼层

RE:KL05内部时钟校准问题

你如果不是用PE建立工程的话,是没有这段拷贝的代码的。校准的值是不会被擦除的。因为工厂校准值存放的地址是被保护的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-8-5 18:54 , Processed in 0.103191 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表