VLLSx on Coldefile+

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

VLLSx on Coldefile+

跳至解决方案
930 次查看
nz_developer
Contributor II

Trying to get a coldfire+ into VLLS3 mode but when I measure the current it is not dropping (3uA according to datasheet. I am at several mA.)

 

Any Ideas? I call the Sleep function to put into low power mode

 

void deepsleep (void)

{

/* Set the SLEEPDEEP bit to enable deep sleep mode (STOP) */

    asm (  stop #0x2000; );

}

 

void Sleep(void){

    u8 dummyread;

    SetAlarm(10); // wake up in 10 seconds

   

    SetLLWU(); // setup wakeup events

        SMC_PMPROT = SMC_PMPROT_AVLLS_MASK;

           

         SMC_PMCTRL &= ~SMC_PMCTRL_STOPM_MASK ;

         SMC_PMCTRL |= SMC_PMCTRL_STOPM(0x4) ;

         dummyread = SMC_PMCTRL_STOPM(0x4);

         SMC_VLLSCTRL =  BIT2; 

        /*wait for write to complete to SMC before stopping core */

         dummyread = SMC_VLLSCTRL;

        dummyread = SMC_PMCTRL;

           deepsleep();

}

 


标签 (1)
0 项奖励
1 解答
745 次查看
nz_developer
Contributor II

Found the problem, it was a register to enable stop mode had not been set right. Used Processor expert to setup and that solved it. Got 3uA draw and wake on timer or one of my 3 buttons, very nice.

在原帖中查看解决方案

0 项奖励
6 回复数
745 次查看
Nouchi
Senior Contributor II

Hello,

You have to take care about unused pins, they must be configured as output, or tied to vdd, because floating pin may draw current.

Emmanuel

745 次查看
nz_developer
Contributor II

Hi Thanks,

Can I just set to output low? some of my pins need to be low while in Sleep mode.

Thanks again

0 项奖励
745 次查看
Nouchi
Senior Contributor II

Yes but, if you have some pull-up on it, it will drawn current, so you have to take to disable internals pull-up and remove external if needed.

0 项奖励
745 次查看
nz_developer
Contributor II

Tried lots of port configeration settings including disabling all ports etc. Got the current down to 360uA about 100x what I should be getting from the datasheet. Not too easy to solve, I will request support from Freescale through distributor.

0 项奖励
745 次查看
Nouchi
Senior Contributor II

You have maybe something still powered or clocked.

When you begin to play with micro amps, you have to hunt for leaks.

0 项奖励
746 次查看
nz_developer
Contributor II

Found the problem, it was a register to enable stop mode had not been set right. Used Processor expert to setup and that solved it. Got 3uA draw and wake on timer or one of my 3 buttons, very nice.

0 项奖励