OTP burn with second boot loader ,run in SPI Flash ,large power consumption

2 posts / 0 new
Last post
Bruce Liu
Offline
Last seen:3 years 10 months ago
加入:2016-03-08 03:08
OTP burn with second boot loader ,run in SPI Flash ,large power consumption

hello support team

i test 4 cases
1. OTP BLANK ,OTP Header BLANK
run in sysRAM , very good .
sleep mode power consumption about 1.x uA,normally working status about 200 uA build with #define ARCH_EXT_SLEEP_ON ,CFG_MEM_MAP_EXT_SLEEP,#undef CFG_DEVELOPMENT_DEBUG
2. burn app hex to OTP
very good .
sleep power consumption about 0.6 uA build with #define ARCH_DEEP_SLEEP_ON ,CFG_MEM_MAP_DEEP_SLEEP,#undef CFG_DEVELOPMENT_DEBUG

3. burn second boot loader to OTP ,erase the SPI Flash
run in sysRAM
sleep mode power consumption about 3mA ,normally working status more than 3mA build with #define ARCH_EXT_SLEEP_ON ,CFG_MEM_MAP_EXT_SLEEP,#undef CFG_DEVELOPMENT_DEBUG

4. burn second boot loader to OTP ,program app hex to the SPI Flash
power up board.in the first 10 seconds ,working power consumption about 200uA ,10s later ,the power consumption raise up,power consumption about 3mA , build with #define ARCH_EXT_SLEEP_ON ,CFG_MEM_MAP_EXT_SLEEP,#undef CFG_DEVELOPMENT_DEBUG
i have already disable the SPI IO at system init and below two function. if i comment the below two function ,about 3 seconds the power consumption will raise up .
that means ,these to function call can keep system more than 7 seconds in low power status . i'm very confuse on these ,can you help give some advise.
thanks.
void app_before_sleep(void){

GPIO_ConfigurePin( SPI_CS_PORT, SPI_CS_PIN, INPUT, PID_GPIO, false );
GPIO_ConfigurePin( SPI_CLK_PORT, SPI_CLK_PIN, INPUT, PID_GPIO, false );
GPIO_ConfigurePin( SPI_DO_PORT, SPI_DO_PIN, INPUT, PID_GPIO, false );
GPIO_ConfigurePin( SPI_DI_PORT, SPI_DI_PIN, INPUT, PID_GPIO, false );

}
void app_resume_from_sleep(void){

GPIO_ConfigurePin( SPI_CS_PORT, SPI_CS_PIN, INPUT, PID_GPIO, false );
GPIO_ConfigurePin( SPI_CLK_PORT, SPI_CLK_PIN, INPUT, PID_GPIO, false );
GPIO_ConfigurePin( SPI_DO_PORT, SPI_DO_PIN, INPUT, PID_GPIO, false );
GPIO_ConfigurePin( SPI_DI_PORT, SPI_DI_PIN, INPUT, PID_GPIO, false );

}
SDK 5.03 with custom board,3.0V power supply

Best Regards
Bruce Liu

Device:
MT_dialog
Offline
Last seen:2 months 1 week ago
Staff
加入:2015-06-08 11:34
嗨,布鲁斯·刘

嗨,布鲁斯·刘

额外的电流,你ee, is the flash that is still enabled. The fact that you are setting the da's pins to false state doesn't mean that the SPI will be disabled, as a matter a fact by setting the CS low this will activate the spi and will prepare it for access. You have to power down your SPI after you device has finished the booting procedure by sending a power down command to the memory module from your application.

Thanks MT_dialog