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

求教:MSP430F5418A SVS/SVM设置LPM3唤醒时间

最近项目中发现一个问题, 就是使用JTAG debug时候, 程序从LPM3唤醒到AM工作正常, 但是不接JTAG就不正常, 查DataSheet发现是TEST pin的关系:

看到这段描述 ,我的理解是当TEST为高时,唤醒时间为wake-up-fast,如果为低,则是由SVS(L)和SVM(L)来设置,

继续查找datasheet相关设置的资料:

看了这个表我有点疑惑, 为了让唤醒时间达到fast的效果, 是同时需要SVS(L)和SVM(L)为t(wake-up-fast)还是只需要其中一个?

比较自己的代码:

void SetVcoreUp (unsigned int level)
{
    // Open PMM registers for write
    PMMCTL0_H = PMMPW_H;     // Set SVS/SVM high side new level
    SVSMHCTL = SVSHE + SVSHRVL0 * level + SVMHE + SVSMHRRL0 * level;
    // Set SVM low side to new level
    SVSMLCTL = SVSLE + SVMLE + SVSMLRRL0 * level;
    // Wait till SVM is settled
    while ((PMMIFG & SVSMLDLYIFG) == 0);
    // Clear already set flags
    PMMIFG &= ~(SVMLVLRIFG + SVMLIFG);
    // Set VCore to new level
    PMMCTL0_L = PMMCOREV0 * level;
    // Wait till new level reached
    if ((PMMIFG & SVMLIFG))
    while ((PMMIFG & SVMLVLRIFG) == 0);
    // Set SVS/SVM low side to new level
    SVSMLCTL = SVSLE + SVSLRVL0 * level + SVMLE + SVSMLRRL0 * level;
    // Lock PMM registers for write access
    PMMCTL0_H = 0x00;
}

其中SVSMLACE=0, 为手动模式,

SVSLE=1,SVSLMD=0,SVSLFP=0;  SVS(L)为t(wake-up-slow)

SVMLE=1,SVMLFP=0; SVM(L)为t(wake-up-slow)

为了让SVS(L)和SVM(L)都为t(wake-up-fast), 需要将SVSLFP=1,SVMLFP=1;

也就是:

SVSLE=1,SVSLMD=0,SVSLFP=1

SVMLE=1,SVMLFP=1

但这种情况下, 从AM进入LPM3, 直接关机了(也有可能是reset了)

如果单单只设置一个SVSLFP或是SVMLFP, 那么进入LPM3没问题,但是唤醒时间还是wake-up-slow的, 

到底如何配置才能正确的让LPM3唤醒时间为fast,求教.

注: 我也测试过SVSLE=0和SVMLE=0的情况, 唤醒时间确实为fast,但在LPM3模式下有时唤不醒,不太稳定,也不知道原因

Ho Cong:

另外还发现个有意思的现象, 我使用的板子是没有用外部晶振的,用的是内部DCO, 频率是24Mhz,

P5.2/P5.3是默认为GPIO, 这样的配置LPM3唤醒会出问题.

但是将P5.2/P5.3改成XT2IN / XT2OUT功能, LPM3唤醒就正常了, 但是耗电流就增加了3mA, 不知道对解决这个问题有没有帮助 

灰小子:

回复 Ho Cong:

方便的话,建议提供下工程文件或者完整代码

Ho Cong:

回复 灰小子:

你好,不方便提供完整代码,您需要看哪部分的代码?

HG:

偶觉得产品出去的时候一般不会接JTAG调试接口的,而且连着仿真器调低功耗意义也不是很大。为啥要去纠结这个唤醒时间呢?

Ho Cong:

回复 HG:

不知道你是不是没有仔细看完我的问题:

现在是连着JTAG正常, 不连就不正常….所以才纠结啊..

看文档,接着JTAG是 t(wake-up-fast).(实际上就是一个TEST的电位问题,我单独上拉测试过,就是这个脚影响),

我现在就想做到不接JTAG也设置成t(wake-up-fast), 但是设置不起作用,想请教如何设置才是正确

Ho Cong:

回复 Ho Cong:

顶一下, 希望大大们能解答一下关于SVS/SVM的设置问题

HG:

回复 Ho Cong:

如果要手动模式,首先要设置SVSMLACE=0;SVSLMD=1。然后再按照Table 2.7和2.9来设置。手动模式已经和自动模式的配置没关系了。

Ho Cong:

回复 HG:

HG

如果要手动模式,首先要设置SVSMLACE=0;SVSLMD=1。然后再按照Table 2.7和2.9来设置。手动模式已经和自动模式的配置没关系了。

赞(0)
未经允许不得转载:TI中文支持网 » 求教:MSP430F5418A SVS/SVM设置LPM3唤醒时间
分享到: 更多 (0)