打印

请教教主

[复制链接]
1664|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
王培1|  楼主 | 2007-11-25 18:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小生最近在熟悉QG8,想用它来做个小东东,目前在QG8的晶振方面还有些疑问,根据我目前的理解.
1:QG8可以使用内部的震荡32K经过FLL,也就是ICSOUT=32K*512=16M,那么总线的频率在16M/2=8M,
2:但手册上面说因为半导体的离散性32K并不一定准确,有一定变化的.需要(ICSTRM)+FTRIM来调整,上电的时候默认是0x100.
3:我要问的是怎么校这个内部的时钟,有C的代码吗,我看见应用笔记里面有个汇编的,小生最近刚学习freescale,所以看不懂,可否提供一下.

相关帖子

沙发
ayb_ice| | 2007-11-26 08:56 | 只看该作者

你改变它频率就会变

校准需要有参考源,这些可能要自己解决,比如输出一固定信号,然后测试与理论值的误差,再调整。。。
以上随便说说,因为我也在学FS

使用特权

评论回复
板凳
王培1|  楼主 | 2007-11-26 12:32 | 只看该作者

感谢ayb_ice

是的,您说的有道理,但那个管脚我已经使用掉了,没有办法再外接一颗晶体振荡了呀,还有点麻烦,为什么FS不先校这个振荡器

使用特权

评论回复
地板
张明峰| | 2007-11-26 13:02 | 只看该作者

"为什么FS不先校这个振荡器"?

所有带内部时钟的芯片出厂时其内部时钟频率都是校准过的,以保准其频率精度满足指标之规定。该校准值存放在Flash空间的某一单元,所以它会在芯片被擦除时一起擦掉。好的烧写器在对芯片进行擦除时会先将此校准值读出来,然后随代码一起再写回去;有的烧写器(如P&E公司的CyclonePro)能在编程时进行实时校准;用户也可以自己编写代码在程序运行时对内部时钟进行校准,这时必须要有一个相对稳定的外部时钟(如50Hz市电频率)做参考。

使用特权

评论回复
5
王培1|  楼主 | 2007-11-26 14:24 | 只看该作者

回张教主

我现在用的free_tech公司的BDM调试的,那我还需要自己编写程序校这个振荡器吗?

使用特权

评论回复
6
ayb_ice| | 2007-11-26 14:25 | 只看该作者

C8051F的校准值根本就不允许(会)被擦除

这点比其它的要强,读再回写也可能有问题,如果我只擦除呢,以后再烧录呢或中间掉电呢,这样都会丢失校准值,也没有必要重新校准,厂家的设备肯定更好。

使用特权

评论回复
7
王培1|  楼主 | 2007-11-26 15:12 | 只看该作者

回ayb_ice

C8051我不清楚,不过我赞同你的说法,如果是MCU内部的一些关键参数应该采用OTP方式的保存方式,只能读不可以写,或则单独开启一些flash空间只能读不能写,如果振荡不能解决,这个小东西还不敢做下去

使用特权

评论回复
8
张明峰| | 2007-11-26 18:54 | 只看该作者

用BDM调试时的方法:

第一次调试前先读一次整个Flash,记下内部时钟校准值,然后直接在程序内对微调寄存器赋此值就可以了。一般一个批号的芯片此校准值比较一致,小范围调试不必每一个芯片都这样验证。调试通过记得把程序改过来。
批量生产时BDM显然不是一个理想的烧录工具,新买的芯片都是空的,没必要先擦除;就算要擦,很多工具都能把校准值先读出来;CyclonePro等还可以提供现场标定;用户应用程序中自标定可以随时进行,所以应无此虞。

使用特权

评论回复
9
ulsii| | 2007-11-26 22:07 | 只看该作者

大家都没有好好看freescale的RM啊

freescale出厂前都校调过了,然后把结果放在如图所示地址,你可以把这个地址内容传给ICS的寄存器

使用特权

评论回复
10
ayb_ice| | 2007-11-27 08:09 | 只看该作者

9L

就你会看资料啊。
搞清楚别人在说什么没有?

使用特权

评论回复
11
王培1|  楼主 | 2007-11-27 08:43 | 只看该作者

to ulsii

我知道那个flash的地址是保存内部振荡的参数,但是在烧写程序的时候,就象张教主说的有些烧写器会回读后再回写,象我们现在玩的BDM就不能做到回读回写,所以一旦烧程序,这个值就变成了0x100,所以呢如果用BDM就只能个个调了.
1:不过我对教主说的第一次调试前先读一下flash,不知道是怎么操作

使用特权

评论回复
12
free_tech| | 2007-11-27 09:34 | 只看该作者

关于时钟

我们目前提供的BDM的确存在上述情况,因为上位机的软件FREESCALE是不公开的,所以很难解决,如果用它当做编成器,的确不方便.我们自制的编程器这个问题就可以解决了,第一批马上会生产出来.

使用特权

评论回复
13
ulsii| | 2007-11-27 10:43 | 只看该作者

最新的s08据说trim已经写入一个不会被擦除的地方了

上电就自动load到ics的trim寄存器,同事保留flash这两个地址.
的确没好好看前面讨论,呵呵.

使用特权

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

本版积分规则

37

主题

142

帖子

0

粉丝