TI中文支持网
TI专业的中文技术问题搜集分享网站

430单片机用外部晶振功耗很高问题

我使用是MSP430F5510,原本我是用低频振荡器32Khz倍频到8Mhz作为系统时钟,整块电路板在待机的时候功耗约为40uA(单片机在LPM3),因为我用内部时钟,如果我在定时器B中断函数里面退出低功耗模式,就会导致单片机复位,此时SYSRSTTV=0x0002,即复位类型为BOR,但是用外部晶振就不会有这个问题,对于这个问题,我严重怀疑是芯片的BUG!!!!!

为了避免上面所提到的问题,我现在用外部晶振,但是发现整块电路板功耗奇高,整块电路板待机电流为330uA(单片机在LPM3),这是什么问题,是不是进入低功耗模式之前要操作一下XT2高频振荡器,但是我以前做MSP430F149的时候没有这个问题,我的本意是让MCLK=SMCLK=8Mhz,即外部晶振时钟。下面我贴上我的时钟初始化程序,及晶振相关电路,希望大家帮我解决一下这个功耗问题!

P5SEL |= BIT2+BIT3; // Port select XT2
P5SEL |= BIT4+BIT5; // Port select XT1
UCSCTL6 |= XCAP_3;
UCSCTL6 &= ~(XT2OFF + XT1OFF); // Set XT2,XT1 On
UCSCTL6 |= (XT2DRIVE1 + XT1DRIVE0); // Internal load cap

do
{
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);
// Clear XT2,XT1,DCO fault flags
SFRIFG1 &= ~OFIFG; // Clear fault flags
}while (SFRIFG1&OFIFG); // Test oscillator fault flag
//UCSCTL6 &= ~XT2DRIVE1; // Decrease XT2 Drive according to
// expected frequency
UCSCTL4 |= SELA_0 + SELM_5 + SELS_5; // Select SMCLK, ACLK source and DCO source


Heng Zhao:

对于F5xx 系列的芯片 控制位 XT1OFF 和 XT2OFF 并不是晶振开启位,而是强制开启位,就是说,如果你把这两位清零,那么就会导致系统进入任何低功耗模式包括LPMx.5在内 相应的晶振都是开启的(见手册 http://www.ti.com.cn/cn/lit/ug/slau208k/slau208k.pdf 第161页-162页),晶振开启是要消耗电流的(XT2开启至少消耗200uA),电流消耗见手册 http://www.ti.com.cn/cn/lit/ds/symlink/msp430f5510.pdf 第53页-54页

手册一定要仔细看。

Leon Yan:

关于功耗的问题,二楼已经回答,你仔细看看。

关于BOR的问题,看其来比较奇怪,不知道你系统供电电压多少?建议用示波器仔细查看一下MCU供电电压的状况;

Hanson He:

回复 Leon Yan:

在5510 中(包括XT1 和 XT2), PLL 使用 XT2. 如果使用PLL, 没有配置XT2 ,有可能会产生 BOR

另外, 如果没有使用PLL,需要设置Vcore为2或者3

在开启PLL前,有没有设置Vcore?是否有完整代码?

赞(0)
未经允许不得转载:TI中文支持网 » 430单片机用外部晶振功耗很高问题
分享到: 更多 (0)

© 2026 TI中文支持网   网站地图 鲁ICP备2022002796号-1