最近项目中使用FREESCALE,K60的芯片,在小批量试产的时候出现了部分晶振不能起振的情况,搞了几天,一直没有搞定,怀疑过晶振品质的问题,后来查阅低频32768Hz的晶振为西铁城手表晶振,内阻60k,外部负载电容为12.5p,现实的电路班上使用了18P的晶振进行匹配,出现设备外部时钟不能起振的情况,查找原因,去掉外部晶振依然是同样的问题,笔者非常困惑,出现的现象是时候时不好,很多朋友使用过ST的芯片的时候可能也出现了同样的问题和困惑,后来经过艰苦卓绝的努力很付出两个不眠夜的代价来研究这个现场,来发表一下个人的观点和看法欢迎拍砖,驻足看完全文分析。
先谈低频手表晶振,一般来说外部负载电容为12.5pF,匹配晶振的时候有相关方法,我简要谈一下。理论上匹配电容越大在起振后会越加稳定,但是带来的风险是晶振起振困难。
接下来我们来看单片机内部的起振电路,为什么低频低功耗单片机不容易起振,原因分析如下:低频晶振的等效阻抗一般都较大,有些单片机的晶振引脚的内部阻抗不大,导致不易起振。解决方法如下:
freescale设计中带有内部电容,我们可以利用改变内部匹配电容来使得晶振起振,观察起振电路为一个自激式启动方式,需要对源有扰动才能产生振荡,我们假设我们的电源信号一点噪声都没有,那么理论上晶振是不会起振的,因为没有满足正反馈自激的条件,这样的结果非常可悲,你的晶振再也跑不起来了。
对于k60的不起振问题或者是起振不稳定的问题,我的解决方法是,在程序启动后,软件配置匹配电容,每配置一次电容,就去检查一下时钟有没有走,如果没有走,继续通过软件更换匹配电容,直到起振。
文章评论(0条评论)
登录后参与讨论