- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi I am Anthony. Current I am working on a project in which I used CYBLE_014008_00 Module. When in active mode, I measured the current and it shows 17mA. But when I put MCU into deepsleep mode, the current consumption inucreases to 23mA.
That's very strange. I'd already put all LED pins into ALG_HIZ drive mode and make these GPIO sleep.I also set the DebugSelect option to GPIO mode and stop ECO clk before go to Deep Sleep mode.
What should be the problem? Please help me. It's very urgent.
the Code I have written for the deepsleep function,
MOTOR_EN_Write(0); //Motor driver GPIO_out
MOTOR_IN1_Write(0); //Motor driver GPIO_out
MOTOR_IN2_Write(0); //Motor driver GPIO_out
isr_Timeout_Disable(); // Timer Counter module Interrupt
UART_FP_Stop();// UART Module to communicate with fingerprint module
FP_PWR_Write(0);//GPIO_out to Fingerprint module power
COUNTER_Sleep();//Timer Counter
Pin_LEDR_SetDriveMode(Pin_LEDR_DM_ALG_HIZ);
Pin_LEDG_SetDriveMode(Pin_LEDG_DM_ALG_HIZ);
Pin_LEDB_SetDriveMode(Pin_LEDR_DM_ALG_HIZ);
MOTOR_EN_SetDriveMode(MOTOR_EN_DM_ALG_HIZ);
MOTOR_IN1_SetDriveMode(MOTOR_IN1_DM_ALG_HIZ);
MOTOR_IN1_SetDriveMode(MOTOR_IN1_DM_ALG_HIZ);
Pin_LEDR_Sleep();
Pin_LEDG_Sleep();
Pin_LEDB_Sleep();
MOTOR_EN_Sleep();
MOTOR_IN1_Sleep();
MOTOR_IN2_Sleep();
CySysClkEcoStop(); // Stop ECO First
CySysPmDeepSleep();
Solved! Go to Solution.
- Labels:
-
BLE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Pratt, apology for my late response and I found the problem. Actually when I measured the current , the power supply comes from the USB and I measured from the USB supply. But when I supplied from battery and measured through it, the current consumptoon went down to 800uA and it’s acceptable in my project. Thanks for the reply and sorry for the inconvenience.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try entering deep sleep without turning off the ECO clock first. The CPU might be using the ECO to clock the wakeup interrupts from deep sleep.
Also, if you missed a _sleep() call for a peripheral, or the peripheral doesn't support deep sleep, then it could be drawing the extra current due to corrupted/invalid state when entering deep sleep mode.
I believe in my own project, the BLE component requires the ECO to operate, perhaps another peripheral you are using has the same stipulation? Double checking which clocks are running or off when you enter/exit deep sleep might be useful.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Pratt, apology for my late response and I found the problem. Actually when I measured the current , the power supply comes from the USB and I measured from the USB supply. But when I supplied from battery and measured through it, the current consumptoon went down to 800uA and it’s acceptable in my project. Thanks for the reply and sorry for the inconvenience.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No Problem, glad you found the issue