由于某些原因不小心一滴焊锡将晶体两个引脚和外壳粘在一起了,剔除焊锡的时候是不是烫坏了?结果好像不起振呀,错误标志位置1啦
可是我现在换了一个家用石英钟的晶体(应该也是32Khz的吧?),也不起振
反正开发环境中显示上电起振失效标志位就是置1了,这不是表示没有起振么?程序很简单,已经最小化
不是看到说有内部补偿电容不用接外部电容么?
我现在正准备清洁电路板
可能是什么原因呢?
网上搜索看到有网友这样说:我也出现过这个情况,一般情况下,有可能是初始化的时候出现端口设置为输出方向,而某个端口又是使用了该管脚的第二功能,这时这种情况可能就会发生!!
我也设置端口大部分为输出的
Young Hu:
首先你接的那个家用石英钟的晶体规格得符合MSP430的要求;
另外,你调整一下内部电容试试。
Fuchong Wang:
回复 Young Hu:
晶体是LaunchPad附带的,金黄色的金属外壳,一看就是正规货,标称20ppm,我正心疼是否烫了会损坏或者影响精度呢
我将内部电容设置为6pf和12.5pf试过,起振不了
Young Hu:
回复 Fuchong Wang:
用示波器打下看看起振了没?是振幅太小了,还是怎么的。
Fuchong Wang:
回复 Young Hu:
不好意思,我使用的示波器是老式的20M模拟示波器,昨天测过一次,没仔细看,打了一下,XIN电压高,Xout电压低,短暂接触,没发现起振。今天晚上在看您帖子前,我测量过p1.0,因为我为了看时钟,将p1.0配置为ACLK输出,奇怪的是有50HZ左右的脉冲,不是方波,占空比不是50%,高电平窄,但是波形完整。看过您上面的要求后我用示波器仔细看了,XIN有较高的正弦波,Xout幅度较小,不规则波形,但是大致也是大的频率和XIN脚一样,50Hz左右。
奇怪的是为什么是50Hz呢?(模拟示波器,没法准确取得频率)
想到您在我另外一个帖子中提供的链接,我去e2e去搜索了一下,看到一个相关帖子:e2e.ti.com/…/136634.aspx
我英文不好,麻烦告知大致是什么意思?是否我这个现象的原因是否有点相关?谢谢
Fuchong Wang:
回复 Fuchong Wang:
另外,我将附带的那个正规的晶体换了回去,结果波形一样,这说明晶体可能不一定坏了。
我准备将晶体直接焊接在cpu管脚之上,因为cpu是在插座上的。不过我怀疑可能也不是这个原因
Fuchong Wang:
回复 Young Hu:
我回复过我第一次用示波器测的时候就打了一下,没仔细看频率,一者,因为当时我的示波器就设在32khz的测量范围,没看到波形,二者,我想当然猜想用示波器探头测量是否有干扰?可能有没有波形都不能说明结果。现在我正在看贵公司的相关文档,我的疑虑应该是有道理的
It is strongly recommended not to measure the oscillator frequency directly at the crystal pins. The
capacitance at the crystal pins is in the range of 10 pF, and the impedance on this signal line is several
megaohms. A typical passive probe has a capacitance in the range of 10 pF and an input impedance of
about 10 MΩ. Both values are in the range of the oscillator characteristics and heavily influence the
behavior of the crystal oscillators. The MSP430 internal digital ACLK clock signal always carries the clock
signal of the 32-kHz crystal oscillator. All MSP430 devices have the capability to output ALCK at one of
the I/O pins. Measuring at this digital ACLK output does not influence the crystal oscillator in any way.
ACLK still gives all necessary information to determine the stability and performance of the setup.
我后来的测试我已经说过,我通过设定ACLK输出引脚P1.0用示波器看,这也符合贵公司官方文档的提示,我英文不太好,应该没理解错吧
至于我的不起振的原因,我现在正准备仔细地排查,包括软件,开始我使用的Grace,不过后来我也用过手动设置,不过很匆忙,我再仔细检查一下。如果还解决不了,我可能上传极其短的软件请您们看一下,软件配置有无问题。
谢谢
Fuchong Wang:
回复 Fuchong Wang:
晕
查了下LaunchPad附带的晶体的操作温度:
Thru-hole mounting
Wave or hand soldering
Max. 280°C / 5 sec. leads only
是不是只能引脚焊?我还焊了外壳呀,那是多少温度?
Fuchong Wang:
回复 Fuchong Wang:
终于起振了
解决过程:又从头看了下LaunchPad的指导说明,看到了一个低级错误,就是那两个o欧姆电路,急急忙忙就是忘了这回事。晚上不久前去手机修理点找熟人去除了这两个电阻,并且把原装的晶体规整地重新焊接上去,结果回来一试,还是50Hz,去掉USB电源,用电池,还是不行。再清洁电路板,还是不行。只好把cpu那两只引脚拔开,不插入插座,点上焊锡膏,将我在坏的家用石英钟的晶体直接焊接在cpu的那两个引脚上,接上电池,用示波器一量p1.0口,出来了,一估算,就是32Khz左右呀。
原因在哪里?是我的晶体有问题了(烫坏了?)还是电路板脏了还是没有清洁干净?还是cpu这样插在插座上晶体焊在电路上有潜在的问题?
Fuchong Wang:
回复 Fuchong Wang:
再请问一例子中
#pragma vector=NMI_VECTOR
__interrupt void nmi_ (void)
{
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFFF; i > 0; i–); // Time for flag to set
P1OUT ^= 0x01; // Toggle P1.0 using exclusive-OR
}
while (IFG1 & OFIFG); // OSCFault flag still set?
IE1 |= OFIE; // Enable Osc Fault
}
这样起振失效以后等待一段时间有作用么?有第一次起振失败但是第二次肯定会成功的么?
我上面帖子中出现50Hz左右的周期窄脉冲?
Fuchong Wang:
回复 Fuchong Wang:
在e2e看到这个帖子:http://e2e.ti.com/support/microcontrollers/msp43016-bit_ultra-low_power_mcus/f/166/p/118647/421973.aspx#421973
其中最好一个回帖中写道:
The crystal is working now (I had shorted one pin to the ground cap while soldering 🙁 )
这句话确切的意思是什么呀?