 
					
				
		
Hi,
I'm trying to achive STOP3 mode power consumption as low as shown in the MC9S08SH datasheet.
It says that in STOP3 + RTC enabled it should be 1.5uA + 500nA = 2uA but currently I can achieve only 100uA.
Below I have included my code.
void main(void) {
 
  EnableInterrupts; /* enable interrupts */
 
  /* Set all pins as output and low */
  PTADD = 0xFF;
  PTBDD = 0xFF;
  PTAD  = 0x00;
  PTBD  = 0x00; 
               
  /* Configure LED */
  PTBDD_PTBDD2 = 1;
  PTBD_PTBD2 = 1;
   
    /* 1 second RTC */
  RTCSC_RTCLKS  = 0x00;   // Internal Clock
  RTCSC_RTIE    = 1;      // Interrupt Enable
  RTCSC_RTCPS   = 0x0F;   // 10^3
 
  /* Interrupt every 1 sec */
  RTCMOD       = 0x00;   
 
  /* Enable STOP mode */
  SOPT1_STOPE = 1;
 
  /* Disable LVD when STOP */
  SPMSC1_LVDE = 1;
  SPMSC1_LVDRE = 1;
          
  for(;;) {
    __RESET_WATCHDOG();    
    
    /* Enter STOP mode */
    _Stop;
   
    /* Toggle LED */
    PTBD_PTBD2 = 0;
    WaitNms(50);
    PTBD_PTBD2 = 1;    
  }
}
I will appreciate any help to achieve lower power consumption.
Thanks!
Janis
Solved! Go to Solution.
 
					
				
		
Solved the problem! 
It finds out that I hadn't set LVDSE to 0, which disables LVD while MCU is in STOP mode.
Janis
 
					
				
		
Hi Janis,
Welcome to the forum.
I do not see you seting port C to outputs. Could the extra current draw be from port C inputs floating?
 
					
				
		
Oh, forgot to mention that I use 16 pin version of MC9S08SH series microcontroller. So it has just port A and B.
Janis
 
					
				
		
Hello again Janis,
Just because you can't see them doesn't mean they are not there . . .
More specifically, just because Freescale does not bond-out those pins doesn't mean that they remove them from the die. Trust me, port C is there. Just like it shows in the data-sheet. You just can't physically get to them.
Try setting port C to output, and see if your current consumption goes down. It may not be your only problem, but it is certainly one of them. If you search for power-consumption topics on this board, you will find you are not alone. There are many things that can cause higher-than-expected current consumption.
 
					
				
		
Thanks rocco!
Didn't know they put the same die in different pin count packages. Sadly, port C didn't solve the problem.
Well, I looked through some topics but couldn't find any useful information.
Janis
 
					
				
		
Solved the problem! 
It finds out that I hadn't set LVDSE to 0, which disables LVD while MCU is in STOP mode.
Janis
