高温引起的ACLK停振问题,将近100C的温度差居然没有温飘造成的频偏??而且在没有任何征兆的情况下突然停振了。
采用-EP级别的MSP430(测试过能在140C下运行的),ACLK选择外部32.768晶体,当然这个32.768晶体标称最高能到125C的,之后从MSP430-EP的P1.0管脚输出ACLK,连接到外部示波器实时监测。
奇怪的是,从35C到126C,示波器观察到ACLK的输出一直保持着32.76xK,将近100C的温差居然没有看出来有温飘照成的频率偏移?温度上升到127C左右时,P1.0管脚输出的ACLK突然消失了(0KHz),我就郁闷了,我们知道外部的32K晶体的频率是受温度影响很大的,温度高到一定程度造成频率偏移过大才会引起停振,而停振前我观察到还是32.76xK的输出频率,根本没有观察到明显的频率偏移,为何会突然停振啊??是MCU的问题?还是32.768晶体的问题?
不在乎ACLK频率有偏差的条件下(能起振就行),如何保证ACLK在140C的高温下也能正常输出? 本帖最后由 helloxieyu 于 2014-8-9 11:56 编辑
都超过标定的额定最大工作温度了,不起振很正常的。既然不要求精度,用内部的晶振不就可以了?
楼主注明了:32.768晶体标称最高能到125C的。
再用内部时钟工作对比验证一下。
也许楼主需要更好性能的晶振;
希望用内部时钟应该可以避免停振问题。
http://weibo.com/u/1391449055
谢谢“armcu”
谢谢“sacq”
内部DCO是可以到达140C而且温飘很小的,关键是不能进入LPM3模式啊,MSP430不用LPM3模式就没意思了。
内部VLO不敢用,那个起始时钟误差就大的吓人(4K-20K),这还不止,看看pdf,内部VLO的温飘还大的吓人,
好像都在50%以上啊!
我总觉得我的外部32K晶体再提高那么一点点性能就能胜任了。我比较怀疑我的外部32K晶体是好的(从高温前的一刻还没有发生频偏来推断),有可能是MSP430这边的内部什么条件限制了ACLK的输出,但是我又想不到是什么原因。
那你可以用32.768作为定时器的时钟源,用定时器输出PWM,然后测PWM的频率,看看是不是准确。这样就能确认32.768有没有工作了
用这样的方法跟用P1.0管脚直接输出ACLK的方法没有区别吧。我之前用过ACLK作为定时器的时钟定时1秒执行中断函数,也是到达125C以上就
不工作了。
可能我的表达方式有问题吧,我是想知道是MCU本身的问题造成ACLK停止输出还是外部32K晶体的性能问题造成ACLK停止输出。
比如改变晶体外接的谐振电容的大小能否使能正常工作的温度提高一点。当然,我试过是没有效果的。贴与不贴谐振电容都一个样。
之后还想知道,32.768这类晶体,是不是温度上升到一定值造成了严重的频偏才会停止工作,如果频偏在一定范围内是不会停止工作的?
这个问题你的咨询晶振生产厂商了,他们应该有做过这样的实验
问晶振的厂家几乎是不可能的啦,我好不容易才买到这么几颗高温晶体,人家不会鸟我的。
我到时觉得MSP430-EP这边能发现什么线索(说不定是430自身的问题)。
有在高温下测试过LPM3的大大出来说一下啦。