Power consumption at shutdown with extended heap

Power consumption of the SCM20260N with and without extended heap at shutdown is different.

Tested on custom board with SCM20260N, FW RC1.

Power consumption at shutdown:

  • with extended heap: 21 mA
  • without extended heap: 1 mA

Is it bug? Any solution without waiting for a new FW?

I can see why. We will investigate and get back to you.

It seems that the problem persists, sometimes the consumption is low and sometimes high. Please check again.

Do you have a way to reproduce the issue with some consistency?

Is it a custom board? any special component added? and show us your code?

Just tested again on 20260D Dev and FEZ Portal with few different ways, could not reproduce.

We are releasing an updated firmware soon, so if you have time, provide a way to reproduce the issue.

Many thanks.

I have revisited the problem with two custom SCM20260N boards and one SCM20260D Dev board with the latest firmware 2.1.0.6500. I measured the following power consumption after shutdown:

#1 SCM20260N custom board:
With enabled Extend heap: irregularly alternated value of 1 mA and 4 mA sometimes 8 mA , 16 mA
Without enabled Extend heap: always 1 mA

#2 SCM20260N custom board:
With enabled Extend heap: irregularly alternated value of 1 mA and 19 mA
Without enabled Extend heap: always 1 mA

SCM20260D Dev board with display disconnected:
With enabled Extend heap: irregularly alternated value of 34 mA and 38 mA
Without enabled Extend heap: always 34 mA

Test code:

RtcController.GetDefault().Now = new DateTime(2021, 1, 1, 0, 0, 0);

GpioPin ledDBG = GpioController.GetDefault().OpenPin(SC20260.GpioPin.PH11);
ledDBG.SetDriveMode(GpioPinDriveMode.Output);
ledDBG.Write(GpioPinValue.High);

Thread.Sleep(1000);

Power.WakeupEdge = WakeupEdge.Falling;
DateTime wakeupTime = RtcController.GetDefault().Now.AddSeconds(4);
Power.Shutdown(true, wakeupTime);

We will check in shortly

1 Like

Hi,

We just test again with your code, not modified. The result is always 25.5mA (powered by 3.3v) and 26.4mA (powered 5.0v) on Dev board, on two different SITCore modules, no matter enabled extend heap or not.

Actually, enabled heap or not, external / internal ram are always initialized same way and ready to use.

Problem could be voltmeter :d. We had few problems with our old voltmeter.
Also, make sure wakeup pin is not floating. With only 4 seconds timeout and this pin floating, cause system up, down, up, down …a lot and value didn’t make sense to me.

here is the one we use to test.

2 Likes

I tried again with the new FW on six custom boards with 20260N. I logged the consumption, every single one of about 1400 shutdowns ended up with 1mA consumption (without extend heap). I did the same with extend heap enabled, about half of the shutdowns ended up consuming 20mA. I tried the test with multiple meters. I added the following code to fill the whole RAM, I test anything anymore, I don’t know how the memory block startup/shutdown works. After this change, the 20mA shutdown repeated significantly more often. We have a pull-up resistor on the wake-up pin.

RtcController.GetDefault().Now = new DateTime(2021, 1, 1, 0, 0, 0);

GpioPin ledDBG = GpioController.GetDefault().OpenPin(SC20260.GpioPin.PH10);
ledDBG.SetDriveMode(GpioPinDriveMode.Output);
ledDBG.Write(GpioPinValue.High);

Thread.Sleep(1000);

Random rand = new Random();
ArrayList arrayList = new ArrayList();

while (Memory.ManagedMemory.FreeBytes > 70)
{
     arrayList.Add(new byte[(int)Math.Min(Memory.ManagedMemory.FreeBytes - 70, rand.Next(1024))]);
}           

Power.WakeupEdge = WakeupEdge.Falling;
DateTime wakeupTime = RtcController.GetDefault().Now.AddSeconds(4);
Power.Shutdown(true, wakeupTime);

Hi, is there any way we can have your module or your custom board?

Also, try one at the time. Sometime 260D, sometime 260N, sometime custom board, sometime Dev board. It is very hard for you to find exactly problem.

We will test two custom boards with 260N without our peripherals and then send them to you.

Thanks. Keep the example or extract to tca file for us, please :)).

  • The example source code
  • The boards with example installed that you could reproduce
  • Optional: tca file with key 00-00-00-… :)))